diff --git a/404.html b/404.html index d50ce488..d65efd80 100644 --- a/404.html +++ b/404.html @@ -7,7 +7,12 @@ window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); - gtag('config', 'G-S982VZS08T'); + gtag('config', 'G-S982VZS08T', { + theme: localStorage.getItem('theme') || 'default', + version: localStorage.getItem('schema_version') || '1.18.2', + locale: localStorage.getItem('language') || 'en', + prefers_color_scheme: matchMedia('(prefers-color-scheme: light)').matches ? 'light' : matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'none', + }); - + diff --git a/advancement/index.html b/advancement/index.html index 61862a04..1afd365a 100644 --- a/advancement/index.html +++ b/advancement/index.html @@ -7,7 +7,12 @@ window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); - gtag('config', 'G-S982VZS08T'); + gtag('config', 'G-S982VZS08T', { + theme: localStorage.getItem('theme') || 'default', + version: localStorage.getItem('schema_version') || '1.18.2', + locale: localStorage.getItem('language') || 'en', + prefers_color_scheme: matchMedia('(prefers-color-scheme: light)').matches ? 'light' : matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'none', + }); - Advancement Generator Minecraft 1.18, 1.18.2, 1.19 + Advancement Generator - Minecraft 1.18, 1.18.2, 1.19 - + diff --git a/assets/blockstate/index.html b/assets/blockstate/index.html index 49e53e6b..62411fbf 100644 --- a/assets/blockstate/index.html +++ b/assets/blockstate/index.html @@ -7,7 +7,12 @@ window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); - gtag('config', 'G-S982VZS08T'); + gtag('config', 'G-S982VZS08T', { + theme: localStorage.getItem('theme') || 'default', + version: localStorage.getItem('schema_version') || '1.18.2', + locale: localStorage.getItem('language') || 'en', + prefers_color_scheme: matchMedia('(prefers-color-scheme: light)').matches ? 'light' : matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'none', + }); - Blockstate Generator Minecraft 1.18, 1.18.2, 1.19 + Blockstate Generator - Minecraft 1.18, 1.18.2, 1.19 - + diff --git a/assets/deepslate.esm.4804555b.js b/assets/deepslate.esm.722e0796.js similarity index 99% rename from assets/deepslate.esm.4804555b.js rename to assets/deepslate.esm.722e0796.js index 16b36293..e6e51c76 100644 --- a/assets/deepslate.esm.4804555b.js +++ b/assets/deepslate.esm.722e0796.js @@ -1,4 +1,4 @@ -import{p as Se,c as et,i as zt,t as nt,r as De,a as Me,s as Ee,f as bt,b as Oe,d as jt,n as Le,e as Ue,g as Ge,h as Ye,j as He,k as Ve,l as he,m as ze,o as je}from"./vec3.7a0b0b73.js";import{e as Ie}from"./index.b990f5f5.js";var F;(function(a){a.UP="up",a.DOWN="down",a.NORTH="north",a.EAST="east",a.SOUTH="south",a.WEST="west"})(F||(F={}));const Je={[F.UP]:[0,1,0],[F.DOWN]:[0,-1,0],[F.NORTH]:[0,0,-1],[F.EAST]:[1,0,0],[F.SOUTH]:[0,0,1],[F.WEST]:[-1,0,0]};var rt;(function(a){a.ALL=[a.UP,a.DOWN,a.NORTH,a.EAST,a.SOUTH,a.WEST],a.normal=function(t){return Je[t]}})(F||(F={})),function(a){a.create=function(t,e,s){return[t,e,s]},a.offset=function(t,e,s,i){return[t[0]+e,t[1]+s,t[2]+i]},a.towards=function(t,e){return a.offset(t,...F.normal(e))}}(rt||(rt={}));const ut={end:0,byte:1,short:2,int:3,long:4,float:5,double:6,byteArray:7,string:8,list:9,compound:10,intArray:11,longArray:12},ue=["end","byte","short","int","long","float","double","byteArray","string","list","compound","intArray","longArray"];class Xe{constructor(t,e=!1){this.byte=this.readNum.bind(this,"getInt8",1),this.short=this.readNum.bind(this,"getInt16",2),this.int=this.readNum.bind(this,"getInt32",4),this.float=this.readNum.bind(this,"getFloat32",4),this.double=this.readNum.bind(this,"getFloat64",8),this.offset=0,this.littleEndian=e,this.arrayView=t,this.dataView=new DataView(t.buffer,t.byteOffset)}end(){return null}readNum(t,e){const s=this.dataView[t](this.offset,this.littleEndian);return this.offset+=e,s}long(){return[this.int(),this.int()]}byteArray(){const t=this.int(),e=[];for(let s=0;s=e)return;let s=this.buffer.byteLength;for(;sthis.buffer.byteLength&&n.fill(0,this.buffer.byteLength,this.offset),this.buffer=i,this.dataView=new DataView(i),this.arrayView=n}getData(){return this.accommodate(0),this.arrayView.slice(0,this.offset)}end(t){}writeNum(t,e,s){this.accommodate(e),this.dataView[t](this.offset,s,this.littleEndian),this.offset+=e}long(t){this.int(t[0]),this.int(t[1])}byteArray(t){this.int(t.length),this.accommodate(t.length),this.arrayView.set(t,this.offset),this.offset+=t.length}intArray(t){this.int(t.length);for(let e=0;e>6),r.push(128|63&n)):n<65536?(r.push(224|n>>12),r.push(128|n>>6&63),r.push(128|63&n)):(r.push(240|n>>18&7),r.push(128|n>>12&63),r.push(128|n>>6&63),r.push(128|63&n));return r}(t);this.short(e.length),this.accommodate(e.length),this.arrayView.set(e,this.offset),this.offset+=e.length}list(t){this.byte(ut[t.type]),this.int(t.value.length),t.value;for(let e=0;e>16),s.setInt16(r+1,65535&i),s.setInt8(r+3,o),s.setInt32(r+4096,n.timestamp);const h=4096*i;s.setInt32(h,n.data.length+1),s.setInt8(h+4,n.compression),e.set(n.data,h+5),i+=o}return e}function bs(a,t,e,s){const i=Ne(a,t,e);switch(i.compression){case 1:i.data=Jt(s);break;case 2:i.data=Jt(s,!1,!0);break;case 3:i.data=ne(s);break;default:throw new Error(`Invalid compression mode ${i.compression}`)}return i}function Ne(a,t,e){const s=a.find(i=>i.x===t&&i.z===e);if(s===void 0)throw new Error(`Cannot find chunk [${t}, ${e}]`);return s}function st(a,t,e){if(!a[t])throw new Error(`Missing ${t} tag`);if(a[t].type!==e)throw new Error(`Expected ${t} to be of type ${e}, but found ${a[t].type}`);return a[t].value}function vt(a,t,e,s){const i=st(a,t,"list");if(i.type!==e)throw new Error(`Expected ${t} to be a list of ${e}s, but found ${i.type}s`);if(s&&i.value.length!==s)throw new Error(`Expected ${t} to be a list of length ${s}, but found length ${i.value.length}`);return i.value}function Ae(a,t){try{return a()}catch{return t}}var p,H,Xt,it,ct;(function(a){function t(e){return typeof e=="object"&&e!==null?e:void 0}a.readNumber=function(e){return typeof e=="number"?e:void 0},a.readInt=function(e){return typeof e=="number"?Math.floor(e):void 0},a.readString=function(e){return typeof e=="string"?e:void 0},a.readBoolean=function(e){return typeof e=="boolean"?e:void 0},a.readObject=t,a.readArray=function(e,s){if(Array.isArray(e))return e.map(i=>s(i))},a.readMap=function(e,s){var i;const n=(i=t(e))!==null&&i!==void 0?i:{};return Object.fromEntries(Object.entries(n).map(([r,o])=>[r,s(o)]))},a.compose=function(e,s,i){const n=s(e);return n?i(n):void 0}})(p||(p={}));class M{constructor(t,e={}){this.name=t,this.properties=e}getName(){return this.name}getProperties(){return this.properties}getProperty(t){return this.properties[t]}isFluid(){return this.name==="minecraft:water"||this.name==="minecraft:lava"}equals(t){return this.name===t.name&&Object.keys(this.properties).every(e=>t.properties[e]===this.properties[e])}toString(){return Object.keys(this.properties).length===0?this.name:`${this.name}[${Object.entries(this.properties).map(([t,e])=>t+"="+e).join(",")}]`}static fromNbt(t){const e=st(t.value,"Name","string"),s=Ae(()=>st(t.value,"Properties","compound"),{}),i=Object.keys(s).reduce((n,r)=>Object.assign(Object.assign({},n),{[r]:st(s,r,"string")}),{});return new M(e,i)}static fromJson(t){var e,s;const i=(e=p.readObject(t))!==null&&e!==void 0?e:{},n=(s=p.readString(i.Name))!==null&&s!==void 0?s:"minecraft:stone",r=p.readMap(i.Properties,o=>{var h;return(h=p.readString(o))!==null&&h!==void 0?h:""});return new M(n,r)}}M.AIR=new M("minecraft:air");class ${constructor(t){this.minY=t,this.storage=Array($.SIZE),this.palette=[M.AIR]}get minBlockY(){return this.minY<<4}index(t,e,s){return(t<<8)+(e<<4)+s}getBlockState(t,e,s){var i;const n=this.storage[this.index(t,e,s)];return(i=this.palette[n])!==null&&i!==void 0?i:M.AIR}setBlockState(t,e,s,i){let n=this.palette.findIndex(r=>r.equals(i));n===-1&&(n=this.palette.length,this.palette.push(i)),this.storage[this.index(t,e,s)]=n}}$.WIDTH=16,$.SIZE=$.WIDTH*$.WIDTH*$.WIDTH;class Ss{constructor(t,e,s){this.minY=t,this.height=e,this.pos=s,this.sections=Array(this.sectionsCount).fill(null)}get maxY(){return this.minY+this.height}get minSection(){return this.minY>>4}get maxSection(){return 1+(this.maxY-1>>4)}get sectionsCount(){return this.maxSection-this.minSection}getSectionIndex(t){return(t>>4)-this.minSection}getBlockState(t){var e;const[s,i,n]=t,r=this.sections[this.getSectionIndex(i)];return(e=r==null?void 0:r.getBlockState(15&s,15&i,15&n))!==null&&e!==void 0?e:M.AIR}setBlockState(t,e){const[s,i,n]=t,r=this.getSectionIndex(i);let o=this.sections[r];if(o===null){if(e.equals(M.AIR))return;o=this.getOrCreateSection(r)}o.setBlockState(15&s,15&i,15&n,e)}getOrCreateSection(t){return this.sections[t]==null&&(this.sections[t]=new $(this.minSection+t)),this.sections[t]}}(function(a){function t(e,s){return BigInt(4294967295&e)|BigInt(4294967295&s)<>4,e[2]>>4]},a.fromLong=function(e){return[4294967295&Number(e),Number(e>>BigInt(32))]},a.toLong=function(e){return t(e[0],e[1])},a.asLong=t,a.minBlockX=function(e){return e[0]<<4},a.minBlockZ=function(e){return e[1]<<4},a.maxBlockX=function(e){return 15+(e[0]<<4)},a.maxBlockZ=function(e){return 15+(e[1]<<4)}})(H||(H={}));class ye{constructor(t,e=[],s=[]){this.size=t,this.palette=e,this.blocks=s,this.blocksMap=[],s.forEach(i=>{if(!this.isInside(i.pos))throw new Error(`Found block at ${i.pos} which is outside the structure bounds ${this.size}`);this.blocksMap[i.pos[0]*t[1]*t[2]+i.pos[1]*t[2]+i.pos[2]]=i})}getSize(){return this.size}addBlock(t,e,s,i){if(!this.isInside(t))throw new Error(`Cannot add block at ${t} outside the structure bounds ${this.size}`);const n=new M(e,s);let r=this.palette.findIndex(o=>o.equals(n));return r===-1&&(r=this.palette.length,this.palette.push(n)),this.blocks.push({pos:t,state:r,nbt:i}),this.blocksMap[t[0]*this.size[1]*this.size[2]+t[1]*this.size[2]+t[2]]={pos:t,state:r,nbt:i},this}getBlocks(){return this.blocks.map(t=>({pos:t.pos,state:this.palette[t.state],nbt:t.nbt}))}getBlock(t){if(!this.isInside(t))return null;const e=this.blocksMap[t[0]*this.size[1]*this.size[2]+t[1]*this.size[2]+t[2]];return e?{pos:e.pos,state:this.palette[e.state],nbt:e.nbt}:null}isInside(t){return t[0]>=0&&t[0]=0&&t[1]=0&&t[2]M.fromNbt({name:"",value:n})),i=vt(t.value,"blocks","compound").map(n=>({pos:vt(n,"pos","int",3),state:st(n,"state","int"),nbt:Ae(()=>st(n,"nbt","compound"),void 0)}));return new ye(e,s,i)}}function Lt(a){let t=null;return()=>(t==null&&(t=a()),t)}function re(a,t,e){const s=a.get(t);if(s)return s;const i=e(t);return a.set(t,i),i}function j(a){return a*a}function Z(a,t,e){return Math.max(t,Math.min(e,a))}function k(a,t,e){return t+a*(e-t)}function Zt(a,t,e,s,i,n){return k(t,k(a,e,s),k(a,i,n))}function We(a,t,e,s,i,n,r,o,h,c,l){return k(e,Zt(a,t,s,i,n,r),Zt(a,t,o,h,c,l))}function ft(a,t,e){return e<0?a:e>1?t:k(e,a,t)}function Pe(a,t,e){return(a-t)/(e-t)}function Ut(a){return a*a*a*(a*(6*a-15)+10)}function W(a,t,e,s,i){return k(Pe(a,t,e),s,i)}function $e(a,t,e,s,i){return ft(s,i,Pe(a,t,e))}function qe(a,t,e){let s=t-a;for(;s>0;){const i=Math.floor(s/2),n=a+i;e(n)?s=i:(a=n+1,s-=i+1)}return a}function Fe(a,t,e){let s=BigInt(3129871*a)^BigInt(e)*BigInt(116129781)^BigInt(t);return s=s*s*BigInt(42317861)+s*BigInt(11),s>>BigInt(16)}function Wt(a,t,e,s,i,n,r,o){return BigInt(a)<>BigInt(R.MODULUS_BITS-t));return e>2147483647?e-4294967296:e}nextInt(t){if(t===void 0)return this.next(32);if((t&t-1)==0)return Number(BigInt(t)*BigInt(this.next(31))>>BigInt(31));let e,s;for(;(e=this.next(31))-(s=e%t)+(t-1)<0;);return s}nextLong(){return(BigInt(this.next(32))<>BigInt(30))*BigInt("-4658895280553007687")&BigInt("0xFFFFFFFFFFFFFFFF"))^t>>BigInt(27))*BigInt("-7723592293110705685")&BigInt("0xFFFFFFFFFFFFFFFF"))^t>>BigInt(31))&BigInt("0xFFFFFFFFFFFFFFFF")}static upgradeSeedTo128bit(t){t<0&&(t+=BigInt("0x10000000000000000"));const e=t^P.SILVER_RATIO_64,s=e+P.GOLDEN_RATIO_64&BigInt("0xFFFFFFFFFFFFFFFF");return[P.mixStafford13(e),P.mixStafford13(s)]}static rotateLeft(t,e){return t<>BigInt(64)-e}setSeed(t){this.seed=P.upgradeSeedTo128bit(t)}fork(){return new P([this.next(),this.next()])}forkPositional(){return new Ke(this.next(),this.next())}next(){const t=this.seed[0];let e=this.seed[1];const s=P.rotateLeft(t+e&BigInt("0xFFFFFFFFFFFFFFFF"),BigInt(17))+t&BigInt("0xFFFFFFFFFFFFFFFF");return e^=t,this.seed=[P.rotateLeft(t,BigInt(49))^e^e<BigInt("0x8000000000000000")&&(t-=BigInt("0x10000000000000000")),t}consume(t){let e=this.seed[0],s=this.seed[1];for(let i=0;i>BigInt(64-t)}nextInt(t){let e=this.next()&BigInt(4294967295);if(t){const s=BigInt(t);let i=e*s,n=i&BigInt(4294967295);if(n>BigInt(32);return Number(r)}{let s=Number(e);return s>=2147483648&&(s-=4294967296),s}}nextFloat(){return Number(this.nextBits(24))*P.FLOAT_MULTIPLIER}nextDouble(){return Number(this.nextBits(53))*P.DOUBLE_MULTIPLIER}parityConfigString(){return"seedLo: "+this.seed[0]+", seedHi: "+this.seed[1]}}P.SILVER_RATIO_64=BigInt("7640891576956012809"),P.GOLDEN_RATIO_64=BigInt("-7046029254386353131"),P.FLOAT_MULTIPLIER=1/Math.pow(2,24),P.DOUBLE_MULTIPLIER=11102230246251565e-32;class Ke{constructor(t,e){this.seedLo=t,this.seedHi=e}at(t,e,s){const i=Fe(t,e,s)^this.seedLo;return new P([i,this.seedHi])}fromHashOf(t){const e=Ie(t,{asBytes:!0}),s=Wt(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7]),i=Wt(e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15]);return new P([s^this.seedLo,i^this.seedHi])}}class x{constructor(t){this.xo=256*t.nextDouble(),this.yo=256*t.nextDouble(),this.zo=256*t.nextDouble(),this.p=Array(256);for(let e=0;e<256;e+=1)this.p[e]=e;for(let e=0;e<256;e+=1){const s=t.nextInt(256-e),i=this.p[e];this.p[e]=this.p[e+s],this.p[e+s]=i}}sample2D(t,e){let s,i,n;const r=(t+e)*x.F2,o=Math.floor(t+r),h=t-(o-(s=(o+(i=Math.floor(e+r)))*x.G2));let c,l;h>(n=e-(i-s))?(c=1,l=0):(c=0,l=1);const u=h-c+x.G2,d=n-l+x.G2,f=h-1+2*x.G2,g=n-1+2*x.G2,m=255&o,b=255&i,E=this.P(m+this.P(b))%12,I=this.P(m+c+this.P(b+l))%12,N=this.P(m+1+this.P(b+1))%12;return 70*(this.getCornerNoise3D(E,h,n,0,.5)+this.getCornerNoise3D(I,u,d,0,.5)+this.getCornerNoise3D(N,f,g,0,.5))}sample(t,e,s){const i=.3333333333333333*(t+e+s),n=Math.floor(t+i),r=Math.floor(e+i),o=Math.floor(s+i),h=.16666666666666666*(n+r+o),c=t-(n-h),l=e-(r-h),u=s-(o-h);let d,f,g,m,b,E;c>=l?l>=u?(d=1,f=0,g=0,m=1,b=1,E=0):c>=u?(d=1,f=0,g=0,m=1,b=0,E=1):(d=0,f=0,g=1,m=1,b=0,E=1):l127?e-256:e;for(let e=0;e<256;e+=1){const s=t.nextInt(256-e),i=this.p[e];this.p[e]=this.p[e+s],this.p[e+s]=i}}sample(t,e,s,i=0,n=0){const r=t+this.xo,o=e+this.yo,h=s+this.zo,c=Math.floor(r),l=Math.floor(o),u=Math.floor(h),d=r-c,f=o-l,g=h-u;let m=0;if(i!==0){const b=n>=0&&n=0;i-=1)i0&&(i=this.maxLimitNoise.getOctaveNoise(c))&&(h+=i.sample(d,f,g,u,e*u)/r),r/=2}return ft(o/512,h/512,n)/128}}(function(a){a.fromJson=function(t){var e,s,i,n,r;const o=(e=p.readObject(t))!==null&&e!==void 0?e:{};return{xzScale:(s=p.readNumber(o.xz_scale))!==null&&s!==void 0?s:1,yScale:(i=p.readNumber(o.y_scale))!==null&&i!==void 0?i:1,xzFactor:(n=p.readNumber(o.xz_factor))!==null&&n!==void 0?n:80,yFactor:(r=p.readNumber(o.y_factor))!==null&&r!==void 0?r:80}}})(Xt||(Xt={}));class J{constructor(t,{firstOctave:e,amplitudes:s}){this.first=new L(t,e,s),this.second=new L(t,e,s);let i=1/0,n=-1/0;for(let o=0;o{var o;return(o=p.readNumber(r))!==null&&o!==void 0?o:0}))!==null&&i!==void 0?i:[]}}}(it||(it={}));class Es{constructor(t,e){const s=e[e.length-1],i=-e[0]+s+1,n=new Set(e),r=new x(t);this.noiseLevels=Array(i),s>=0&&s=0&&n.has(s-o)?this.noiseLevels[o]=new x(t):t.consume(262);if(s>0)throw new Error("Positive octaves are not allowed");this.highestFreqInputFactor=Math.pow(2,s),this.highestFreqValueFactor=1/(Math.pow(2,i)-1)}sample(t,e,s){let i=0,n=this.highestFreqInputFactor,r=this.highestFreqValueFactor;for(let o=0;o{var u;return(u=p.readObject(l))!==null&&u!==void 0?u:{}}))!==null&&i!==void 0?i:[];if(c.length===0)return new $t(0);for(const l of c){const u=(n=p.readNumber(l.location))!==null&&n!==void 0?n:0,d=a.fromJson(l.value,e),f=(r=p.readNumber(l.derivative))!==null&&r!==void 0?r:0;h.addPoint(u,d,f)}return h}})(ct||(ct={}));class $t{constructor(t){this.value=t}apply(){return this.value}toJson(){return this.value}}class _{constructor(t,e=[],s=[],i=[]){this.coordinate=t,this.locations=e,this.values=s,this.derivatives=i}apply(t){const e=this.coordinate.apply(t),s=qe(0,this.locations.length,g=>e({location:t,value:this.values[e].toJson(),derivative:this.derivatives[e]}))}}}const ot=a=>[(a>>16&255)/256,(a>>8&255)/256,(255&a)/256],q=[124/256,189/256,107/256],ts=ot(6396257),es=ot(8431445),ht=ot(4764952),Gt=ot(4159204),fe=ot(8431445),ss=ot(2129968),ge=a=>[a/8,1-a/32,64*a],pe={large_fern:()=>q,tall_grass:()=>q,grass_block:()=>q,fern:()=>q,grass:()=>q,potted_fern:()=>q,spruce_leaves:()=>ts,birch_leaves:()=>es,oak_leaves:()=>ht,jungle_leaves:()=>ht,acacia_leaves:()=>ht,dark_oak_leaves:()=>ht,vine:()=>ht,water:()=>Gt,bubble_column:()=>Gt,cauldron:()=>Gt,redstone_wire:a=>{var t;return(e=>{const s=e/15;return[.6*s+(s>0?.4:.3),Z(s*s*.7-.5,0,1),Z(s*s*.6-.7,0,1)]})(parseInt((t=a.power)!==null&&t!==void 0?t:"0"))},sugar_cane:()=>q,attached_melon_stem:()=>fe,attached_pumpkin_stem:()=>fe,melon_stem:a=>{var t;return ge(parseInt((t=a.age)!==null&&t!==void 0?t:"0"))},pumpkin_stem:a=>{var t;return ge(parseInt((t=a.age)!==null&&t!==void 0?t:"0"))},lily_pad:()=>ss};var qt;function Et(...a){let t=0;for(const i of a)t+=i.length;const e=new Float32Array(t);let s=0;for(const i of a)e.set(i,s),s+=i.length;return e}function It(a,t){const e=He();for(let s=0;sthis.matchesVariant(i,t));if(e.length===0)return[];const s=this.variants[e[0]];return[Array.isArray(s)?s[0]:s]}return this.multipart?this.multipart.filter(e=>!e.when||this.matchesCase(e.when,t)).map(e=>Array.isArray(e.apply)?e.apply[0]:e.apply):[]}getBuffers(t,e,s,i,n,r){var o,h,c,l;const u=this.getModelVariants(e),d=[],f=[],g=[],m=[];for(const I of u){const N=qt.rotate(r,(o=I.x)!==null&&o!==void 0?o:0,(h=I.y)!==null&&h!==void 0?h:0),w=i.getBlockModel(I.model).getBuffers(t,e,s,n,N);if(I.x||I.y){const S=et();zt(S),nt(S,S,[8,8,8]),De(S,S,-jt((c=I.y)!==null&&c!==void 0?c:0)),Me(S,S,-jt((l=I.x)!==null&&l!==void 0?l:0)),nt(S,S,[-8,-8,-8]),It(w.position,S)}d.push(w.position),f.push(...w.texCoord),g.push(...w.tintColor),m.push(...w.index),n+=w.texCoord.length/2}const b=et();zt(b),Ee(b,b,[.0625,.0625,.0625]);const E=Et(...d);return It(E,b),{position:E,texCoord:f,tintColor:g,index:m}}matchesVariant(t,e){return t.split(",").every(s=>{const[i,n]=s.split("=");return e[i]===n})}matchesCase(t,e){if(Array.isArray(t.OR))return t.OR.some(i=>this.matchesCase(i,e));const s=t;return Object.keys(s).every(i=>s[i].split("|").includes(e[i]))}static fromJson(t,e){return new oe(t,e.variants,e.multipart)}}const is={0:[0,3,2,3,2,1,0,1],90:[2,3,2,1,0,1,0,3],180:[2,1,0,1,0,3,2,3],270:[0,1,0,3,2,3,2,1]},ns={x:[1,0,0],y:[0,1,0],z:[0,0,1]},K=1.41421356237,rs={x:[1,K,K],y:[K,1,K],z:[K,K,1]};class Nt{constructor(t,e,s,i){this.id=t,this.parent=e,this.textures=s,this.elements=i,this.flattened=!1}getBuffers(t,e,s,i,n){var r;const o=[],h=[],c=[],l=[];for(const u of(r=this.elements)!==null&&r!==void 0?r:[]){const d=this.getElementBuffers(t,e,u,i,s,n);o.push(d.position),h.push(...d.texCoord),c.push(...d.tintColor),l.push(...d.index),i+=d.texCoord.length/2}return{position:Et(...o),texCoord:h,tintColor:c,index:l}}getElementBuffers(t,e,s,i,n,r){var o,h,c,l,u,d,f,g,m,b,E,I;const N=s.from[0],w=s.from[1],S=s.from[2],A=s.to[0],y=s.to[1],T=s.to[2],Q=[],V=[],Y=[],z=[],G=(U,D,Ce)=>{var At,yt,Pt,Ft,Rt,Bt,xt,Tt,Ct,_t,kt,Dt;const[at,lt,_e,ke]=n.getTextureUV(this.getTexture(U.texture)),Mt=(_e-at)/16,Ot=(ke-lt)/16,ae=Mt/16,le=Ot/16;D[0]=((yt=(At=U.uv)===null||At===void 0?void 0:At[0])!==null&&yt!==void 0?yt:D[0])*Mt+ae,D[1]=((Ft=(Pt=U.uv)===null||Pt===void 0?void 0:Pt[1])!==null&&Ft!==void 0?Ft:D[1])*Ot+le,D[2]=((Bt=(Rt=U.uv)===null||Rt===void 0?void 0:Rt[2])!==null&&Bt!==void 0?Bt:D[2])*Mt-ae,D[3]=((Tt=(xt=U.uv)===null||xt===void 0?void 0:xt[3])!==null&&Tt!==void 0?Tt:D[3])*Ot-le;const X=is[(Ct=U.rotation)!==null&&Ct!==void 0?Ct:0];V.push(at+D[X[0]],lt+D[X[1]],at+D[X[2]],lt+D[X[3]],at+D[X[4]],lt+D[X[5]],at+D[X[6]],lt+D[X[7]]);const mt=((_t=U.tintindex)!==null&&_t!==void 0?_t:-1)>=0&&(Dt=(kt=pe[t.slice(10)])===null||kt===void 0?void 0:kt.call(pe,e))!==null&&Dt!==void 0?Dt:[1,1,1];Y.push(...mt,...mt,...mt,...mt),Q.push(...Ce),z.push(i,i+1,i+2,i,i+2,i+3),i+=4};!(!((h=(o=s.faces)===null||o===void 0?void 0:o.up)===null||h===void 0)&&h.texture)||s.faces.up.cullface&&r[s.faces.up.cullface]||G(s.faces.up,[N,16-T,A,16-S],[N,y,T,A,y,T,A,y,S,N,y,S]),!(!((l=(c=s.faces)===null||c===void 0?void 0:c.down)===null||l===void 0)&&l.texture)||s.faces.down.cullface&&r[s.faces.down.cullface]||G(s.faces.down,[16-T,16-A,16-S,16-N],[N,w,S,A,w,S,A,w,T,N,w,T]),!(!((d=(u=s.faces)===null||u===void 0?void 0:u.south)===null||d===void 0)&&d.texture)||s.faces.south.cullface&&r[s.faces.south.cullface]||G(s.faces.south,[N,16-y,A,16-w],[N,w,T,A,w,T,A,y,T,N,y,T]),!(!((g=(f=s.faces)===null||f===void 0?void 0:f.north)===null||g===void 0)&&g.texture)||s.faces.north.cullface&&r[s.faces.north.cullface]||G(s.faces.north,[16-A,16-y,16-N,16-w],[A,w,S,N,w,S,N,y,S,A,y,S]),!(!((b=(m=s.faces)===null||m===void 0?void 0:m.east)===null||b===void 0)&&b.texture)||s.faces.east.cullface&&r[s.faces.east.cullface]||G(s.faces.east,[16-T,16-y,16-S,16-w],[A,w,T,A,w,S,A,y,S,A,y,T]),!(!((I=(E=s.faces)===null||E===void 0?void 0:E.west)===null||I===void 0)&&I.texture)||s.faces.west.cullface&&r[s.faces.west.cullface]||G(s.faces.west,[S,16-y,T,16-w],[N,w,S,N,w,T,N,y,T,N,y,S]);const O=et();if(zt(O),s.rotation){const U=bt(...s.rotation.origin);nt(O,O,U),Oe(O,O,jt(s.rotation.angle),ns[s.rotation.axis]),s.rotation.rescale&&Ee(O,O,rs[s.rotation.axis]),Le(U,U),nt(O,O,U)}const pt=new Float32Array(Q);return It(pt,O),{position:pt,texCoord:V,tintColor:Y,index:z}}getTexture(t){for(var e,s;t.startsWith("#");)t=(s=(e=this.textures)===null||e===void 0?void 0:e[t.slice(1)])!==null&&s!==void 0?s:"";return t.startsWith("minecraft:")||(t="minecraft:"+t),t}flatten(t){var e;if(!this.flattened&&this.parent){const s=t.getBlockModel(this.parent);if(!s)return console.warn(`parent ${this.parent} does not exist!`),void(this.flattened=!0);s.flatten(t),this.elements||(this.elements=s.elements),this.textures||(this.textures={}),Object.keys((e=s.textures)!==null&&e!==void 0?e:{}).forEach(i=>{this.textures[i]||(this.textures[i]=s.textures[i])}),this.flattened=!0}}static fromJson(t,e){let s=e.parent;return s&&!s.startsWith("minecraft:")&&(s="minecraft:"+s),new Nt(t,s,e.textures,e.elements)}}class Yt{constructor(t,e,s){this.gl=t,this.program=this.initShaderProgram(e,s)}getProgram(){return this.program}initShaderProgram(t,e){const s=this.loadShader(this.gl.VERTEX_SHADER,t),i=this.loadShader(this.gl.FRAGMENT_SHADER,e),n=this.gl.createProgram();if(this.gl.attachShader(n,s),this.gl.attachShader(n,i),this.gl.linkProgram(n),!this.gl.getProgramParameter(n,this.gl.LINK_STATUS))throw new Error(`Unable to link shader program: ${this.gl.getProgramInfoLog(n)}`);return n}loadShader(t,e){const s=this.gl.createShader(t);if(this.gl.shaderSource(s,e),this.gl.compileShader(s),!this.gl.getShaderParameter(s,this.gl.COMPILE_STATUS)){const i=new Error(`Compiling ${t===this.gl.VERTEX_SHADER?"vertex":"fragment"} shader: ${this.gl.getShaderInfoLog(s)}`);throw this.gl.deleteShader(s),i}return s}}function Re(a,t,e,s,i){const n=new oe("",{"":{model:""}},void 0),r={getBlockModel:()=>i};return i.flatten(r),n.getBuffers(a,{},t,r,e,s)}function me(a,t,e,s,i,n){const r=i.up?16:[14.2,12.5,10.5,9,7,5.3,3.7,1.9,16,16,16,16,16,16,16,16][e];return Re(`minecraft:${a}`,s,t,i,new Nt("","",{still:`minecraft:block/${a}_still`,flow:`minecraft:block/${a}_flow`},[{from:[0,0,0],to:[16,r,16],faces:{up:{texture:"#still",tintindex:n,cullface:F.UP},down:{texture:"#still",tintindex:n,cullface:F.DOWN},north:{texture:"#flow",tintindex:n,cullface:F.NORTH},east:{texture:"#flow",tintindex:n,cullface:F.EAST},south:{texture:"#flow",tintindex:n,cullface:F.SOUTH},west:{texture:"#flow",tintindex:n,cullface:F.WEST}}}]))}const Be={"minecraft:water":(a,t,e,s)=>me("water",a,parseInt(t.level),e,s,0),"minecraft:lava":(a,t,e,s)=>me("lava",a,parseInt(t.level),e,s),"minecraft:chest":(a,t,e)=>function(s,i,n,r){return Re("minecraft:chest",r,s,{},new Nt("","",{0:"minecraft:block/chest"},[{from:[1,0,1],to:[15,14,15],faces:{up:{texture:"#0"},down:{texture:"#0"},north:{texture:"#0"},east:{texture:"#0"},south:{texture:"#0"},west:{texture:"#0"}}}]))}(a,t.facing,t.type,e)},os=new Set(Object.keys(Be));class Is{constructor(t,e,s,i){var n,r;this.gl=t,this.structure=e,this.resources=s,this.chunks=[],i!=null&&i.facesPerBuffer&&console.warn("webgl render warning: facesPerBuffer option has been removed in favor of chunkSize"),this.chunkSize=(n=i==null?void 0:i.chunkSize)!==null&&n!==void 0?n:16,this.useInvisibleBlockBuffer=(r=i==null?void 0:i.useInvisibleBlockBuffer)===null||r===void 0||r,this.shaderProgram=new Yt(t,` +import{p as Se,c as et,i as zt,t as nt,r as De,a as Me,s as Ee,f as bt,b as Oe,d as jt,n as Le,e as Ue,g as Ge,h as Ye,j as He,k as Ve,l as he,m as ze,o as je}from"./vec3.7a0b0b73.js";import{e as Ie}from"./index.38fdde83.js";var F;(function(a){a.UP="up",a.DOWN="down",a.NORTH="north",a.EAST="east",a.SOUTH="south",a.WEST="west"})(F||(F={}));const Je={[F.UP]:[0,1,0],[F.DOWN]:[0,-1,0],[F.NORTH]:[0,0,-1],[F.EAST]:[1,0,0],[F.SOUTH]:[0,0,1],[F.WEST]:[-1,0,0]};var rt;(function(a){a.ALL=[a.UP,a.DOWN,a.NORTH,a.EAST,a.SOUTH,a.WEST],a.normal=function(t){return Je[t]}})(F||(F={})),function(a){a.create=function(t,e,s){return[t,e,s]},a.offset=function(t,e,s,i){return[t[0]+e,t[1]+s,t[2]+i]},a.towards=function(t,e){return a.offset(t,...F.normal(e))}}(rt||(rt={}));const ut={end:0,byte:1,short:2,int:3,long:4,float:5,double:6,byteArray:7,string:8,list:9,compound:10,intArray:11,longArray:12},ue=["end","byte","short","int","long","float","double","byteArray","string","list","compound","intArray","longArray"];class Xe{constructor(t,e=!1){this.byte=this.readNum.bind(this,"getInt8",1),this.short=this.readNum.bind(this,"getInt16",2),this.int=this.readNum.bind(this,"getInt32",4),this.float=this.readNum.bind(this,"getFloat32",4),this.double=this.readNum.bind(this,"getFloat64",8),this.offset=0,this.littleEndian=e,this.arrayView=t,this.dataView=new DataView(t.buffer,t.byteOffset)}end(){return null}readNum(t,e){const s=this.dataView[t](this.offset,this.littleEndian);return this.offset+=e,s}long(){return[this.int(),this.int()]}byteArray(){const t=this.int(),e=[];for(let s=0;s=e)return;let s=this.buffer.byteLength;for(;sthis.buffer.byteLength&&n.fill(0,this.buffer.byteLength,this.offset),this.buffer=i,this.dataView=new DataView(i),this.arrayView=n}getData(){return this.accommodate(0),this.arrayView.slice(0,this.offset)}end(t){}writeNum(t,e,s){this.accommodate(e),this.dataView[t](this.offset,s,this.littleEndian),this.offset+=e}long(t){this.int(t[0]),this.int(t[1])}byteArray(t){this.int(t.length),this.accommodate(t.length),this.arrayView.set(t,this.offset),this.offset+=t.length}intArray(t){this.int(t.length);for(let e=0;e>6),r.push(128|63&n)):n<65536?(r.push(224|n>>12),r.push(128|n>>6&63),r.push(128|63&n)):(r.push(240|n>>18&7),r.push(128|n>>12&63),r.push(128|n>>6&63),r.push(128|63&n));return r}(t);this.short(e.length),this.accommodate(e.length),this.arrayView.set(e,this.offset),this.offset+=e.length}list(t){this.byte(ut[t.type]),this.int(t.value.length),t.value;for(let e=0;e>16),s.setInt16(r+1,65535&i),s.setInt8(r+3,o),s.setInt32(r+4096,n.timestamp);const h=4096*i;s.setInt32(h,n.data.length+1),s.setInt8(h+4,n.compression),e.set(n.data,h+5),i+=o}return e}function bs(a,t,e,s){const i=Ne(a,t,e);switch(i.compression){case 1:i.data=Jt(s);break;case 2:i.data=Jt(s,!1,!0);break;case 3:i.data=ne(s);break;default:throw new Error(`Invalid compression mode ${i.compression}`)}return i}function Ne(a,t,e){const s=a.find(i=>i.x===t&&i.z===e);if(s===void 0)throw new Error(`Cannot find chunk [${t}, ${e}]`);return s}function st(a,t,e){if(!a[t])throw new Error(`Missing ${t} tag`);if(a[t].type!==e)throw new Error(`Expected ${t} to be of type ${e}, but found ${a[t].type}`);return a[t].value}function vt(a,t,e,s){const i=st(a,t,"list");if(i.type!==e)throw new Error(`Expected ${t} to be a list of ${e}s, but found ${i.type}s`);if(s&&i.value.length!==s)throw new Error(`Expected ${t} to be a list of length ${s}, but found length ${i.value.length}`);return i.value}function Ae(a,t){try{return a()}catch{return t}}var p,H,Xt,it,ct;(function(a){function t(e){return typeof e=="object"&&e!==null?e:void 0}a.readNumber=function(e){return typeof e=="number"?e:void 0},a.readInt=function(e){return typeof e=="number"?Math.floor(e):void 0},a.readString=function(e){return typeof e=="string"?e:void 0},a.readBoolean=function(e){return typeof e=="boolean"?e:void 0},a.readObject=t,a.readArray=function(e,s){if(Array.isArray(e))return e.map(i=>s(i))},a.readMap=function(e,s){var i;const n=(i=t(e))!==null&&i!==void 0?i:{};return Object.fromEntries(Object.entries(n).map(([r,o])=>[r,s(o)]))},a.compose=function(e,s,i){const n=s(e);return n?i(n):void 0}})(p||(p={}));class M{constructor(t,e={}){this.name=t,this.properties=e}getName(){return this.name}getProperties(){return this.properties}getProperty(t){return this.properties[t]}isFluid(){return this.name==="minecraft:water"||this.name==="minecraft:lava"}equals(t){return this.name===t.name&&Object.keys(this.properties).every(e=>t.properties[e]===this.properties[e])}toString(){return Object.keys(this.properties).length===0?this.name:`${this.name}[${Object.entries(this.properties).map(([t,e])=>t+"="+e).join(",")}]`}static fromNbt(t){const e=st(t.value,"Name","string"),s=Ae(()=>st(t.value,"Properties","compound"),{}),i=Object.keys(s).reduce((n,r)=>Object.assign(Object.assign({},n),{[r]:st(s,r,"string")}),{});return new M(e,i)}static fromJson(t){var e,s;const i=(e=p.readObject(t))!==null&&e!==void 0?e:{},n=(s=p.readString(i.Name))!==null&&s!==void 0?s:"minecraft:stone",r=p.readMap(i.Properties,o=>{var h;return(h=p.readString(o))!==null&&h!==void 0?h:""});return new M(n,r)}}M.AIR=new M("minecraft:air");class ${constructor(t){this.minY=t,this.storage=Array($.SIZE),this.palette=[M.AIR]}get minBlockY(){return this.minY<<4}index(t,e,s){return(t<<8)+(e<<4)+s}getBlockState(t,e,s){var i;const n=this.storage[this.index(t,e,s)];return(i=this.palette[n])!==null&&i!==void 0?i:M.AIR}setBlockState(t,e,s,i){let n=this.palette.findIndex(r=>r.equals(i));n===-1&&(n=this.palette.length,this.palette.push(i)),this.storage[this.index(t,e,s)]=n}}$.WIDTH=16,$.SIZE=$.WIDTH*$.WIDTH*$.WIDTH;class Ss{constructor(t,e,s){this.minY=t,this.height=e,this.pos=s,this.sections=Array(this.sectionsCount).fill(null)}get maxY(){return this.minY+this.height}get minSection(){return this.minY>>4}get maxSection(){return 1+(this.maxY-1>>4)}get sectionsCount(){return this.maxSection-this.minSection}getSectionIndex(t){return(t>>4)-this.minSection}getBlockState(t){var e;const[s,i,n]=t,r=this.sections[this.getSectionIndex(i)];return(e=r==null?void 0:r.getBlockState(15&s,15&i,15&n))!==null&&e!==void 0?e:M.AIR}setBlockState(t,e){const[s,i,n]=t,r=this.getSectionIndex(i);let o=this.sections[r];if(o===null){if(e.equals(M.AIR))return;o=this.getOrCreateSection(r)}o.setBlockState(15&s,15&i,15&n,e)}getOrCreateSection(t){return this.sections[t]==null&&(this.sections[t]=new $(this.minSection+t)),this.sections[t]}}(function(a){function t(e,s){return BigInt(4294967295&e)|BigInt(4294967295&s)<>4,e[2]>>4]},a.fromLong=function(e){return[4294967295&Number(e),Number(e>>BigInt(32))]},a.toLong=function(e){return t(e[0],e[1])},a.asLong=t,a.minBlockX=function(e){return e[0]<<4},a.minBlockZ=function(e){return e[1]<<4},a.maxBlockX=function(e){return 15+(e[0]<<4)},a.maxBlockZ=function(e){return 15+(e[1]<<4)}})(H||(H={}));class ye{constructor(t,e=[],s=[]){this.size=t,this.palette=e,this.blocks=s,this.blocksMap=[],s.forEach(i=>{if(!this.isInside(i.pos))throw new Error(`Found block at ${i.pos} which is outside the structure bounds ${this.size}`);this.blocksMap[i.pos[0]*t[1]*t[2]+i.pos[1]*t[2]+i.pos[2]]=i})}getSize(){return this.size}addBlock(t,e,s,i){if(!this.isInside(t))throw new Error(`Cannot add block at ${t} outside the structure bounds ${this.size}`);const n=new M(e,s);let r=this.palette.findIndex(o=>o.equals(n));return r===-1&&(r=this.palette.length,this.palette.push(n)),this.blocks.push({pos:t,state:r,nbt:i}),this.blocksMap[t[0]*this.size[1]*this.size[2]+t[1]*this.size[2]+t[2]]={pos:t,state:r,nbt:i},this}getBlocks(){return this.blocks.map(t=>({pos:t.pos,state:this.palette[t.state],nbt:t.nbt}))}getBlock(t){if(!this.isInside(t))return null;const e=this.blocksMap[t[0]*this.size[1]*this.size[2]+t[1]*this.size[2]+t[2]];return e?{pos:e.pos,state:this.palette[e.state],nbt:e.nbt}:null}isInside(t){return t[0]>=0&&t[0]=0&&t[1]=0&&t[2]M.fromNbt({name:"",value:n})),i=vt(t.value,"blocks","compound").map(n=>({pos:vt(n,"pos","int",3),state:st(n,"state","int"),nbt:Ae(()=>st(n,"nbt","compound"),void 0)}));return new ye(e,s,i)}}function Lt(a){let t=null;return()=>(t==null&&(t=a()),t)}function re(a,t,e){const s=a.get(t);if(s)return s;const i=e(t);return a.set(t,i),i}function j(a){return a*a}function Z(a,t,e){return Math.max(t,Math.min(e,a))}function k(a,t,e){return t+a*(e-t)}function Zt(a,t,e,s,i,n){return k(t,k(a,e,s),k(a,i,n))}function We(a,t,e,s,i,n,r,o,h,c,l){return k(e,Zt(a,t,s,i,n,r),Zt(a,t,o,h,c,l))}function ft(a,t,e){return e<0?a:e>1?t:k(e,a,t)}function Pe(a,t,e){return(a-t)/(e-t)}function Ut(a){return a*a*a*(a*(6*a-15)+10)}function W(a,t,e,s,i){return k(Pe(a,t,e),s,i)}function $e(a,t,e,s,i){return ft(s,i,Pe(a,t,e))}function qe(a,t,e){let s=t-a;for(;s>0;){const i=Math.floor(s/2),n=a+i;e(n)?s=i:(a=n+1,s-=i+1)}return a}function Fe(a,t,e){let s=BigInt(3129871*a)^BigInt(e)*BigInt(116129781)^BigInt(t);return s=s*s*BigInt(42317861)+s*BigInt(11),s>>BigInt(16)}function Wt(a,t,e,s,i,n,r,o){return BigInt(a)<>BigInt(R.MODULUS_BITS-t));return e>2147483647?e-4294967296:e}nextInt(t){if(t===void 0)return this.next(32);if((t&t-1)==0)return Number(BigInt(t)*BigInt(this.next(31))>>BigInt(31));let e,s;for(;(e=this.next(31))-(s=e%t)+(t-1)<0;);return s}nextLong(){return(BigInt(this.next(32))<>BigInt(30))*BigInt("-4658895280553007687")&BigInt("0xFFFFFFFFFFFFFFFF"))^t>>BigInt(27))*BigInt("-7723592293110705685")&BigInt("0xFFFFFFFFFFFFFFFF"))^t>>BigInt(31))&BigInt("0xFFFFFFFFFFFFFFFF")}static upgradeSeedTo128bit(t){t<0&&(t+=BigInt("0x10000000000000000"));const e=t^P.SILVER_RATIO_64,s=e+P.GOLDEN_RATIO_64&BigInt("0xFFFFFFFFFFFFFFFF");return[P.mixStafford13(e),P.mixStafford13(s)]}static rotateLeft(t,e){return t<>BigInt(64)-e}setSeed(t){this.seed=P.upgradeSeedTo128bit(t)}fork(){return new P([this.next(),this.next()])}forkPositional(){return new Ke(this.next(),this.next())}next(){const t=this.seed[0];let e=this.seed[1];const s=P.rotateLeft(t+e&BigInt("0xFFFFFFFFFFFFFFFF"),BigInt(17))+t&BigInt("0xFFFFFFFFFFFFFFFF");return e^=t,this.seed=[P.rotateLeft(t,BigInt(49))^e^e<BigInt("0x8000000000000000")&&(t-=BigInt("0x10000000000000000")),t}consume(t){let e=this.seed[0],s=this.seed[1];for(let i=0;i>BigInt(64-t)}nextInt(t){let e=this.next()&BigInt(4294967295);if(t){const s=BigInt(t);let i=e*s,n=i&BigInt(4294967295);if(n>BigInt(32);return Number(r)}{let s=Number(e);return s>=2147483648&&(s-=4294967296),s}}nextFloat(){return Number(this.nextBits(24))*P.FLOAT_MULTIPLIER}nextDouble(){return Number(this.nextBits(53))*P.DOUBLE_MULTIPLIER}parityConfigString(){return"seedLo: "+this.seed[0]+", seedHi: "+this.seed[1]}}P.SILVER_RATIO_64=BigInt("7640891576956012809"),P.GOLDEN_RATIO_64=BigInt("-7046029254386353131"),P.FLOAT_MULTIPLIER=1/Math.pow(2,24),P.DOUBLE_MULTIPLIER=11102230246251565e-32;class Ke{constructor(t,e){this.seedLo=t,this.seedHi=e}at(t,e,s){const i=Fe(t,e,s)^this.seedLo;return new P([i,this.seedHi])}fromHashOf(t){const e=Ie(t,{asBytes:!0}),s=Wt(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7]),i=Wt(e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15]);return new P([s^this.seedLo,i^this.seedHi])}}class x{constructor(t){this.xo=256*t.nextDouble(),this.yo=256*t.nextDouble(),this.zo=256*t.nextDouble(),this.p=Array(256);for(let e=0;e<256;e+=1)this.p[e]=e;for(let e=0;e<256;e+=1){const s=t.nextInt(256-e),i=this.p[e];this.p[e]=this.p[e+s],this.p[e+s]=i}}sample2D(t,e){let s,i,n;const r=(t+e)*x.F2,o=Math.floor(t+r),h=t-(o-(s=(o+(i=Math.floor(e+r)))*x.G2));let c,l;h>(n=e-(i-s))?(c=1,l=0):(c=0,l=1);const u=h-c+x.G2,d=n-l+x.G2,f=h-1+2*x.G2,g=n-1+2*x.G2,m=255&o,b=255&i,E=this.P(m+this.P(b))%12,I=this.P(m+c+this.P(b+l))%12,N=this.P(m+1+this.P(b+1))%12;return 70*(this.getCornerNoise3D(E,h,n,0,.5)+this.getCornerNoise3D(I,u,d,0,.5)+this.getCornerNoise3D(N,f,g,0,.5))}sample(t,e,s){const i=.3333333333333333*(t+e+s),n=Math.floor(t+i),r=Math.floor(e+i),o=Math.floor(s+i),h=.16666666666666666*(n+r+o),c=t-(n-h),l=e-(r-h),u=s-(o-h);let d,f,g,m,b,E;c>=l?l>=u?(d=1,f=0,g=0,m=1,b=1,E=0):c>=u?(d=1,f=0,g=0,m=1,b=0,E=1):(d=0,f=0,g=1,m=1,b=0,E=1):l127?e-256:e;for(let e=0;e<256;e+=1){const s=t.nextInt(256-e),i=this.p[e];this.p[e]=this.p[e+s],this.p[e+s]=i}}sample(t,e,s,i=0,n=0){const r=t+this.xo,o=e+this.yo,h=s+this.zo,c=Math.floor(r),l=Math.floor(o),u=Math.floor(h),d=r-c,f=o-l,g=h-u;let m=0;if(i!==0){const b=n>=0&&n=0;i-=1)i0&&(i=this.maxLimitNoise.getOctaveNoise(c))&&(h+=i.sample(d,f,g,u,e*u)/r),r/=2}return ft(o/512,h/512,n)/128}}(function(a){a.fromJson=function(t){var e,s,i,n,r;const o=(e=p.readObject(t))!==null&&e!==void 0?e:{};return{xzScale:(s=p.readNumber(o.xz_scale))!==null&&s!==void 0?s:1,yScale:(i=p.readNumber(o.y_scale))!==null&&i!==void 0?i:1,xzFactor:(n=p.readNumber(o.xz_factor))!==null&&n!==void 0?n:80,yFactor:(r=p.readNumber(o.y_factor))!==null&&r!==void 0?r:80}}})(Xt||(Xt={}));class J{constructor(t,{firstOctave:e,amplitudes:s}){this.first=new L(t,e,s),this.second=new L(t,e,s);let i=1/0,n=-1/0;for(let o=0;o{var o;return(o=p.readNumber(r))!==null&&o!==void 0?o:0}))!==null&&i!==void 0?i:[]}}}(it||(it={}));class Es{constructor(t,e){const s=e[e.length-1],i=-e[0]+s+1,n=new Set(e),r=new x(t);this.noiseLevels=Array(i),s>=0&&s=0&&n.has(s-o)?this.noiseLevels[o]=new x(t):t.consume(262);if(s>0)throw new Error("Positive octaves are not allowed");this.highestFreqInputFactor=Math.pow(2,s),this.highestFreqValueFactor=1/(Math.pow(2,i)-1)}sample(t,e,s){let i=0,n=this.highestFreqInputFactor,r=this.highestFreqValueFactor;for(let o=0;o{var u;return(u=p.readObject(l))!==null&&u!==void 0?u:{}}))!==null&&i!==void 0?i:[];if(c.length===0)return new $t(0);for(const l of c){const u=(n=p.readNumber(l.location))!==null&&n!==void 0?n:0,d=a.fromJson(l.value,e),f=(r=p.readNumber(l.derivative))!==null&&r!==void 0?r:0;h.addPoint(u,d,f)}return h}})(ct||(ct={}));class $t{constructor(t){this.value=t}apply(){return this.value}toJson(){return this.value}}class _{constructor(t,e=[],s=[],i=[]){this.coordinate=t,this.locations=e,this.values=s,this.derivatives=i}apply(t){const e=this.coordinate.apply(t),s=qe(0,this.locations.length,g=>e({location:t,value:this.values[e].toJson(),derivative:this.derivatives[e]}))}}}const ot=a=>[(a>>16&255)/256,(a>>8&255)/256,(255&a)/256],q=[124/256,189/256,107/256],ts=ot(6396257),es=ot(8431445),ht=ot(4764952),Gt=ot(4159204),fe=ot(8431445),ss=ot(2129968),ge=a=>[a/8,1-a/32,64*a],pe={large_fern:()=>q,tall_grass:()=>q,grass_block:()=>q,fern:()=>q,grass:()=>q,potted_fern:()=>q,spruce_leaves:()=>ts,birch_leaves:()=>es,oak_leaves:()=>ht,jungle_leaves:()=>ht,acacia_leaves:()=>ht,dark_oak_leaves:()=>ht,vine:()=>ht,water:()=>Gt,bubble_column:()=>Gt,cauldron:()=>Gt,redstone_wire:a=>{var t;return(e=>{const s=e/15;return[.6*s+(s>0?.4:.3),Z(s*s*.7-.5,0,1),Z(s*s*.6-.7,0,1)]})(parseInt((t=a.power)!==null&&t!==void 0?t:"0"))},sugar_cane:()=>q,attached_melon_stem:()=>fe,attached_pumpkin_stem:()=>fe,melon_stem:a=>{var t;return ge(parseInt((t=a.age)!==null&&t!==void 0?t:"0"))},pumpkin_stem:a=>{var t;return ge(parseInt((t=a.age)!==null&&t!==void 0?t:"0"))},lily_pad:()=>ss};var qt;function Et(...a){let t=0;for(const i of a)t+=i.length;const e=new Float32Array(t);let s=0;for(const i of a)e.set(i,s),s+=i.length;return e}function It(a,t){const e=He();for(let s=0;sthis.matchesVariant(i,t));if(e.length===0)return[];const s=this.variants[e[0]];return[Array.isArray(s)?s[0]:s]}return this.multipart?this.multipart.filter(e=>!e.when||this.matchesCase(e.when,t)).map(e=>Array.isArray(e.apply)?e.apply[0]:e.apply):[]}getBuffers(t,e,s,i,n,r){var o,h,c,l;const u=this.getModelVariants(e),d=[],f=[],g=[],m=[];for(const I of u){const N=qt.rotate(r,(o=I.x)!==null&&o!==void 0?o:0,(h=I.y)!==null&&h!==void 0?h:0),w=i.getBlockModel(I.model).getBuffers(t,e,s,n,N);if(I.x||I.y){const S=et();zt(S),nt(S,S,[8,8,8]),De(S,S,-jt((c=I.y)!==null&&c!==void 0?c:0)),Me(S,S,-jt((l=I.x)!==null&&l!==void 0?l:0)),nt(S,S,[-8,-8,-8]),It(w.position,S)}d.push(w.position),f.push(...w.texCoord),g.push(...w.tintColor),m.push(...w.index),n+=w.texCoord.length/2}const b=et();zt(b),Ee(b,b,[.0625,.0625,.0625]);const E=Et(...d);return It(E,b),{position:E,texCoord:f,tintColor:g,index:m}}matchesVariant(t,e){return t.split(",").every(s=>{const[i,n]=s.split("=");return e[i]===n})}matchesCase(t,e){if(Array.isArray(t.OR))return t.OR.some(i=>this.matchesCase(i,e));const s=t;return Object.keys(s).every(i=>s[i].split("|").includes(e[i]))}static fromJson(t,e){return new oe(t,e.variants,e.multipart)}}const is={0:[0,3,2,3,2,1,0,1],90:[2,3,2,1,0,1,0,3],180:[2,1,0,1,0,3,2,3],270:[0,1,0,3,2,3,2,1]},ns={x:[1,0,0],y:[0,1,0],z:[0,0,1]},K=1.41421356237,rs={x:[1,K,K],y:[K,1,K],z:[K,K,1]};class Nt{constructor(t,e,s,i){this.id=t,this.parent=e,this.textures=s,this.elements=i,this.flattened=!1}getBuffers(t,e,s,i,n){var r;const o=[],h=[],c=[],l=[];for(const u of(r=this.elements)!==null&&r!==void 0?r:[]){const d=this.getElementBuffers(t,e,u,i,s,n);o.push(d.position),h.push(...d.texCoord),c.push(...d.tintColor),l.push(...d.index),i+=d.texCoord.length/2}return{position:Et(...o),texCoord:h,tintColor:c,index:l}}getElementBuffers(t,e,s,i,n,r){var o,h,c,l,u,d,f,g,m,b,E,I;const N=s.from[0],w=s.from[1],S=s.from[2],A=s.to[0],y=s.to[1],T=s.to[2],Q=[],V=[],Y=[],z=[],G=(U,D,Ce)=>{var At,yt,Pt,Ft,Rt,Bt,xt,Tt,Ct,_t,kt,Dt;const[at,lt,_e,ke]=n.getTextureUV(this.getTexture(U.texture)),Mt=(_e-at)/16,Ot=(ke-lt)/16,ae=Mt/16,le=Ot/16;D[0]=((yt=(At=U.uv)===null||At===void 0?void 0:At[0])!==null&&yt!==void 0?yt:D[0])*Mt+ae,D[1]=((Ft=(Pt=U.uv)===null||Pt===void 0?void 0:Pt[1])!==null&&Ft!==void 0?Ft:D[1])*Ot+le,D[2]=((Bt=(Rt=U.uv)===null||Rt===void 0?void 0:Rt[2])!==null&&Bt!==void 0?Bt:D[2])*Mt-ae,D[3]=((Tt=(xt=U.uv)===null||xt===void 0?void 0:xt[3])!==null&&Tt!==void 0?Tt:D[3])*Ot-le;const X=is[(Ct=U.rotation)!==null&&Ct!==void 0?Ct:0];V.push(at+D[X[0]],lt+D[X[1]],at+D[X[2]],lt+D[X[3]],at+D[X[4]],lt+D[X[5]],at+D[X[6]],lt+D[X[7]]);const mt=((_t=U.tintindex)!==null&&_t!==void 0?_t:-1)>=0&&(Dt=(kt=pe[t.slice(10)])===null||kt===void 0?void 0:kt.call(pe,e))!==null&&Dt!==void 0?Dt:[1,1,1];Y.push(...mt,...mt,...mt,...mt),Q.push(...Ce),z.push(i,i+1,i+2,i,i+2,i+3),i+=4};!(!((h=(o=s.faces)===null||o===void 0?void 0:o.up)===null||h===void 0)&&h.texture)||s.faces.up.cullface&&r[s.faces.up.cullface]||G(s.faces.up,[N,16-T,A,16-S],[N,y,T,A,y,T,A,y,S,N,y,S]),!(!((l=(c=s.faces)===null||c===void 0?void 0:c.down)===null||l===void 0)&&l.texture)||s.faces.down.cullface&&r[s.faces.down.cullface]||G(s.faces.down,[16-T,16-A,16-S,16-N],[N,w,S,A,w,S,A,w,T,N,w,T]),!(!((d=(u=s.faces)===null||u===void 0?void 0:u.south)===null||d===void 0)&&d.texture)||s.faces.south.cullface&&r[s.faces.south.cullface]||G(s.faces.south,[N,16-y,A,16-w],[N,w,T,A,w,T,A,y,T,N,y,T]),!(!((g=(f=s.faces)===null||f===void 0?void 0:f.north)===null||g===void 0)&&g.texture)||s.faces.north.cullface&&r[s.faces.north.cullface]||G(s.faces.north,[16-A,16-y,16-N,16-w],[A,w,S,N,w,S,N,y,S,A,y,S]),!(!((b=(m=s.faces)===null||m===void 0?void 0:m.east)===null||b===void 0)&&b.texture)||s.faces.east.cullface&&r[s.faces.east.cullface]||G(s.faces.east,[16-T,16-y,16-S,16-w],[A,w,T,A,w,S,A,y,S,A,y,T]),!(!((I=(E=s.faces)===null||E===void 0?void 0:E.west)===null||I===void 0)&&I.texture)||s.faces.west.cullface&&r[s.faces.west.cullface]||G(s.faces.west,[S,16-y,T,16-w],[N,w,S,N,w,T,N,y,T,N,y,S]);const O=et();if(zt(O),s.rotation){const U=bt(...s.rotation.origin);nt(O,O,U),Oe(O,O,jt(s.rotation.angle),ns[s.rotation.axis]),s.rotation.rescale&&Ee(O,O,rs[s.rotation.axis]),Le(U,U),nt(O,O,U)}const pt=new Float32Array(Q);return It(pt,O),{position:pt,texCoord:V,tintColor:Y,index:z}}getTexture(t){for(var e,s;t.startsWith("#");)t=(s=(e=this.textures)===null||e===void 0?void 0:e[t.slice(1)])!==null&&s!==void 0?s:"";return t.startsWith("minecraft:")||(t="minecraft:"+t),t}flatten(t){var e;if(!this.flattened&&this.parent){const s=t.getBlockModel(this.parent);if(!s)return console.warn(`parent ${this.parent} does not exist!`),void(this.flattened=!0);s.flatten(t),this.elements||(this.elements=s.elements),this.textures||(this.textures={}),Object.keys((e=s.textures)!==null&&e!==void 0?e:{}).forEach(i=>{this.textures[i]||(this.textures[i]=s.textures[i])}),this.flattened=!0}}static fromJson(t,e){let s=e.parent;return s&&!s.startsWith("minecraft:")&&(s="minecraft:"+s),new Nt(t,s,e.textures,e.elements)}}class Yt{constructor(t,e,s){this.gl=t,this.program=this.initShaderProgram(e,s)}getProgram(){return this.program}initShaderProgram(t,e){const s=this.loadShader(this.gl.VERTEX_SHADER,t),i=this.loadShader(this.gl.FRAGMENT_SHADER,e),n=this.gl.createProgram();if(this.gl.attachShader(n,s),this.gl.attachShader(n,i),this.gl.linkProgram(n),!this.gl.getProgramParameter(n,this.gl.LINK_STATUS))throw new Error(`Unable to link shader program: ${this.gl.getProgramInfoLog(n)}`);return n}loadShader(t,e){const s=this.gl.createShader(t);if(this.gl.shaderSource(s,e),this.gl.compileShader(s),!this.gl.getShaderParameter(s,this.gl.COMPILE_STATUS)){const i=new Error(`Compiling ${t===this.gl.VERTEX_SHADER?"vertex":"fragment"} shader: ${this.gl.getShaderInfoLog(s)}`);throw this.gl.deleteShader(s),i}return s}}function Re(a,t,e,s,i){const n=new oe("",{"":{model:""}},void 0),r={getBlockModel:()=>i};return i.flatten(r),n.getBuffers(a,{},t,r,e,s)}function me(a,t,e,s,i,n){const r=i.up?16:[14.2,12.5,10.5,9,7,5.3,3.7,1.9,16,16,16,16,16,16,16,16][e];return Re(`minecraft:${a}`,s,t,i,new Nt("","",{still:`minecraft:block/${a}_still`,flow:`minecraft:block/${a}_flow`},[{from:[0,0,0],to:[16,r,16],faces:{up:{texture:"#still",tintindex:n,cullface:F.UP},down:{texture:"#still",tintindex:n,cullface:F.DOWN},north:{texture:"#flow",tintindex:n,cullface:F.NORTH},east:{texture:"#flow",tintindex:n,cullface:F.EAST},south:{texture:"#flow",tintindex:n,cullface:F.SOUTH},west:{texture:"#flow",tintindex:n,cullface:F.WEST}}}]))}const Be={"minecraft:water":(a,t,e,s)=>me("water",a,parseInt(t.level),e,s,0),"minecraft:lava":(a,t,e,s)=>me("lava",a,parseInt(t.level),e,s),"minecraft:chest":(a,t,e)=>function(s,i,n,r){return Re("minecraft:chest",r,s,{},new Nt("","",{0:"minecraft:block/chest"},[{from:[1,0,1],to:[15,14,15],faces:{up:{texture:"#0"},down:{texture:"#0"},north:{texture:"#0"},east:{texture:"#0"},south:{texture:"#0"},west:{texture:"#0"}}}]))}(a,t.facing,t.type,e)},os=new Set(Object.keys(Be));class Is{constructor(t,e,s,i){var n,r;this.gl=t,this.structure=e,this.resources=s,this.chunks=[],i!=null&&i.facesPerBuffer&&console.warn("webgl render warning: facesPerBuffer option has been removed in favor of chunkSize"),this.chunkSize=(n=i==null?void 0:i.chunkSize)!==null&&n!==void 0?n:16,this.useInvisibleBlockBuffer=(r=i==null?void 0:i.useInvisibleBlockBuffer)===null||r===void 0||r,this.shaderProgram=new Yt(t,` attribute vec4 vertPos; attribute vec2 texCoord; attribute vec3 tintColor; @@ -84,4 +84,4 @@ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ***************************************************************************** */function ve(a,t,e,s){return new(e||(e=Promise))(function(i,n){function r(c){try{h(s.next(c))}catch(l){n(l)}}function o(c){try{h(s.throw(c))}catch(l){n(l)}}function h(c){var l;c.done?i(c.value):(l=c.value,l instanceof e?l:new e(function(u){u(l)})).then(r,o)}h((s=s.apply(a,t||[])).next())})}class St{constructor(t,e){this.img=t,this.idMap=e,this.part=16/t.width}getTextureAtlas(){return this.img}getTextureUV(t){var e;return(e=this.idMap[t])!==null&&e!==void 0?e:[0,0,this.part,this.part]}static fromBlobs(t){return ve(this,void 0,void 0,function*(){const e=Math.sqrt(Object.keys(t).length+1),s=Math.pow(2,Math.ceil(Math.log(e)/Math.log(2))),i=16*s,n=1/s,r=document.createElement("canvas");r.width=i,r.height=i;const o=r.getContext("2d");this.drawInvalidTexture(o);const h={};let c=1;return yield Promise.all(Object.keys(t).map(l=>ve(this,void 0,void 0,function*(){const u=c%s,d=Math.floor(c/s);c+=1,h[l]=[n*u,n*d,n*u+n,n*d+n];const f=yield createImageBitmap(t[l]);o.drawImage(f,0,0,16,16,16*u,16*d,16,16)}))),new St(o.getImageData(0,0,i,i),h)})}static empty(){const t=document.createElement("canvas");t.width=16,t.height=16;const e=t.getContext("2d");return St.drawInvalidTexture(e),new St(e.getImageData(0,0,16,16),{})}static drawInvalidTexture(t){t.fillStyle="black",t.fillRect(0,0,16,16),t.fillStyle="magenta",t.fillRect(0,0,8,8),t.fillRect(8,8,8,8)}}var gt,Qt,B,tt,Kt,v,te,dt,ee,se,Ht,be,Vt;(function(a){function t(c,l){return typeof c=="number"?new e(c,l!=null?l:c):c}a.target=function(c,l,u,d,f,g){return new i(c,l,u,d,f,g)},a.parameters=function(c,l,u,d,f,g,m){return new s(t(c),t(l),t(u),t(d),t(f),t(g),m)},a.param=t;class e{constructor(l,u){this.min=l,this.max=u}distance(l){const u=(typeof l=="number"?l:l.min)-this.max,d=this.min-(typeof l=="number"?l:l.max);return u>0?u:Math.max(d,0)}union(l){return new e(Math.min(this.min,l.min),Math.max(this.max,l.max))}static fromJson(l){var u;if(typeof l=="number")return new e(l,l);const[d,f]=(u=p.readArray(l,g=>p.readNumber(g)))!==null&&u!==void 0?u:[];return new e(d!=null?d:0,f!=null?f:0)}}a.Param=e;class s{constructor(l,u,d,f,g,m,b){this.temperature=l,this.humidity=u,this.continentalness=d,this.erosion=f,this.depth=g,this.weirdness=m,this.offset=b}fittness(l){return j(this.temperature.distance(l.temperature))+j(this.humidity.distance(l.humidity))+j(this.continentalness.distance(l.continentalness))+j(this.erosion.distance(l.erosion))+j(this.depth.distance(l.depth))+j(this.weirdness.distance(l.weirdness))+j(this.offset-l.offset)}space(){return[this.temperature,this.humidity,this.continentalness,this.erosion,this.depth,this.weirdness,new e(this.offset,this.offset)]}static fromJson(l){var u,d;const f=(u=p.readObject(l))!==null&&u!==void 0?u:{};return new s(e.fromJson(f.temperature),e.fromJson(f.humidity),e.fromJson(f.continentalness),e.fromJson(f.erosion),e.fromJson(f.depth),e.fromJson(f.weirdness),(d=p.readInt(f.offset))!==null&&d!==void 0?d:0)}}a.ParamPoint=s;class i{constructor(l,u,d,f,g,m){this.temperature=l,this.humidity=u,this.continentalness=d,this.erosion=f,this.depth=g,this.weirdness=m}get offset(){return 0}toArray(){return[this.temperature,this.humidity,this.continentalness,this.erosion,this.depth,this.weirdness,this.offset]}}a.TargetPoint=i,a.Parameters=class{constructor(c){this.things=c,this.index=new n(c)}find(c){return this.index.search(c,(l,u)=>l.distance(u))}};class n{constructor(l){this.root=n.build(l.map(([u,d])=>new h(u,d)))}static build(l){if(l.length===1)return l[0];if(l.length<=n.CHILDREN_PER_NODE){const g=l.map(m=>{let b=0;for(let E=0;E<7;E+=1){const I=m.space[E];b+=Math.abs((I.min+I.max)/2)}return{key:b,node:m}}).sort((m,b)=>m.key-b.key).map(({node:m})=>m);return new o(g)}let u=1/0,d=-1,f=[];for(let g=0;g<7;++g){l=n.sort(l,g,!1),f=n.bucketize(l);let m=0;for(const b of f)m+=n.area(b.space);u>m&&(u=m,d=g)}return l=n.sort(l,d,!1),f=n.bucketize(l),f=n.sort(f,d,!0),new o(f.map(g=>n.build(g.children)))}static sort(l,u,d){return l.map(f=>{const g=f.space[u],m=(g.min+g.max)/2;return{key:d?Math.abs(m):m,node:f}}).sort((f,g)=>f.key-g.key).map(({node:f})=>f)}static bucketize(l){const u=[];let d=[];const f=Math.pow(10,Math.floor(Math.log(l.length-.01)/Math.log(10)));for(const g of l)d.push(g),d.lengthnew e(1/0,-1/0));for(const d of l)u=[...Array(7)].map((f,g)=>u[g].union(d.space[g]));return u}search(l,u){let d=1/0,f=null;for(const g of this.children){const m=u(g,l);if(d<=m)continue;const b=g.search(l,u),E=g==b?m:u(b,l);d<=E||(d=E,f=b)}return f}}a.RSubTree=o;class h extends r{constructor(l,u){super(l.space()),this.thing=u}search(){return this}}a.RLeaf=h})(gt||(gt={}));class xe{constructor(t){this.biome=t}getBiome(){return this.biome}static fromJson(t){var e,s;const i=(e=p.readObject(t))!==null&&e!==void 0?e:{},n=(s=p.readString(i.biome))!==null&&s!==void 0?s:"minecraft:the_void";return new xe(n)}}class Te{constructor(t){this.parameters=t}getBiome(t,e,s,i){const n=i(t,e,s);return this.parameters.find(n)}static fromJson(t){var e,s;const i=(e=p.readObject(t))!==null&&e!==void 0?e:{},n=((s=p.readArray(i.biomes,r=>{var o;return(h=>{var c;return{biome:(c=p.readString(h.biome))!==null&&c!==void 0?c:"minecraft:the_void",parameters:gt.ParamPoint.fromJson(h.parameters)}})((o=p.readObject(r))!==null&&o!==void 0?o:{})}))!==null&&s!==void 0?s:[]).map(r=>[r.parameters,()=>r.biome]);return new Te(new gt.Parameters(n))}}class C{constructor(t,e,s){this.offsetSampler=t,this.factorSampler=e,this.jaggednessSampler=s}static extractor(t){return{apply:e=>e[t],toJson:()=>t}}static fromJson(t){var e;const s=(e=p.readObject(t))!==null&&e!==void 0?e:{};return new C(ct.fromJson(s.offset,this.EXTRACTOR),ct.fromJson(s.factor,this.EXTRACTOR),ct.fromJson(s.jaggedness,this.EXTRACTOR))}toJson(){return{offset:this.offsetSampler.toJson(),factor:this.factorSampler.toJson(),jaggedness:this.jaggednessSampler.toJson()}}offset(t){return this.offsetSampler.apply(t)+C.GLOBAL_OFFSET}factor(t){return this.factorSampler.apply(t)}jaggedness(t){return this.jaggednessSampler.apply(t)}static point(t,e,s){return{continents:t,erosion:e,weirdness:s,ridges:this.peaksAndValleys(s)}}static peaksAndValleys(t){return 3*-(Math.abs(Math.abs(t)-.6666667)-.33333334)}static overworld(){const t=this.buildErosionOffsetSpline(-.05,0,0,.1,0,-.03,!1,!1),e=this.buildErosionOffsetSpline(-.1,.03,.1,.1,.01,-.03,!1,!1),s=this.buildErosionOffsetSpline(-.1,.03,.1,.7,.01,-.03,!0,!0),i=this.buildErosionOffsetSpline(.3,.03,.1,1,.01,.01,!0,!0),n=new _(this.CONTINENTS).addPoint(-1.1,.044).addPoint(-1.02,-.2222).addPoint(-.51,-.2222).addPoint(-.44,-.12).addPoint(-.18,-.12).addPoint(-.16,t).addPoint(-.15,t).addPoint(-.1,e).addPoint(.25,s).addPoint(1,i),r=new _(this.CONTINENTS).addPoint(-.19,3.95).addPoint(-.15,this.getErosionFactor(6.25,!0)).addPoint(-.1,this.getErosionFactor(5.47,!0)).addPoint(.03,this.getErosionFactor(5.08,!0)).addPoint(.06,this.getErosionFactor(4.69,!1)),o=new _(this.CONTINENTS).addPoint(.11,0).addPoint(.03,this.buildErosionJaggednessSpline(1,.5,0,0)).addPoint(.65,this.buildErosionJaggednessSpline(1,1,1,0));return new C(n,r,o)}static getErosionFactor(t,e){const s=new _(this.WEIRDNESS).addPoint(-.2,6.3).addPoint(.2,t),i=new _(this.EROSION).addPoint(-.6,s).addPoint(-.5,new _(this.WEIRDNESS).addPoint(-.05,6.3).addPoint(.05,2.67)).addPoint(-.35,s).addPoint(-.25,s).addPoint(-.1,new _(this.WEIRDNESS).addPoint(-.05,2.67).addPoint(.05,6.3)).addPoint(.03,s);if(e){const n=new _(this.WEIRDNESS).addPoint(0,t).addPoint(.1,.625),r=new _(this.RIDGES).addPoint(-.9,t).addPoint(-.69,n);i.addPoint(.35,t).addPoint(.45,r).addPoint(.55,r).addPoint(.62,t)}else{const n=new _(this.RIDGES).addPoint(-.7,s).addPoint(-.15,1.37),r=new _(this.RIDGES).addPoint(.45,s).addPoint(.7,1.56);i.addPoint(.05,r).addPoint(.4,r).addPoint(.45,n).addPoint(.55,n).addPoint(.58,t)}return i}static buildErosionOffsetSpline(t,e,s,i,n,r,o,h){const c=this.buildMountainRidgeSplineWithPoints(k(i,.6,1.5),h),l=this.buildMountainRidgeSplineWithPoints(k(i,.6,1),h),u=this.buildMountainRidgeSplineWithPoints(i,h),d=this.ridgeSpline(t-.15,.5*i,k(.5,.5,.5)*i,.5*i,.6*i,.5),f=this.ridgeSpline(t,n*i,e*i,.5*i,.6*i,.5),g=this.ridgeSpline(t,n,n,e,s,.5),m=this.ridgeSpline(t,n,n,e,s,.5),b=new _(this.RIDGES).addPoint(-1,t).addPoint(-.4,g).addPoint(0,s+.07),E=this.ridgeSpline(-.02,r,r,e,s,0),I=new _(this.EROSION).addPoint(-.85,c).addPoint(-.7,l).addPoint(-.4,u).addPoint(-.35,d).addPoint(-.1,f).addPoint(.2,g);return o&&I.addPoint(.4,m).addPoint(.45,b).addPoint(.55,b).addPoint(.58,m),I.addPoint(.7,E),I}static buildMountainRidgeSplineWithPoints(t,e){const s=new _(this.RIDGES),i=this.mountainContinentalness(-1,t,-.7),n=this.mountainContinentalness(1,t,-.7),r=this.calculateMountainRidgeZeroContinentalnessPoint(t);if(-.650?this.buildWeirdnessJaggednessSpline(e):0).addPoint(1,t>0?this.buildWeirdnessJaggednessSpline(t):0)}static buildWeirdnessJaggednessSpline(t){return new _(C.WEIRDNESS).addPoint(-.01,.63*t).addPoint(.01,.3*t)}}C.GLOBAL_OFFSET=-.50375,C.EXTRACTOR=a=>{var t;const e=(t=p.readString(a))!==null&&t!==void 0?t:"continents";return C.extractor(e)},C.CONTINENTS=C.extractor("continents"),C.EROSION=C.extractor("erosion"),C.WEIRDNESS=C.extractor("weirdness"),C.RIDGES=C.extractor("ridges"),function(a){a.fromList=function(t){return(e,s,i,n)=>{for(const r of t){const o=r(e,s,i,n);if(o)return o}return null}}}(Qt||(Qt={})),function(a){function t(e){return e.ySize<<2}a.fromJson=function(e){var s,i,n,r,o,h,c,l;const u=(s=p.readObject(e))!==null&&s!==void 0?s:{};return{minY:(i=p.readInt(u.min_y))!==null&&i!==void 0?i:0,height:(n=p.readInt(u.height))!==null&&n!==void 0?n:256,xzSize:(r=p.readInt(u.size_horizontal))!==null&&r!==void 0?r:1,ySize:(o=p.readInt(u.size_vertical))!==null&&o!==void 0?o:1,sampling:Xt.fromJson(u.sampling),topSlide:tt.fromJson(u.top_slide),bottomSlide:tt.fromJson(u.bottom_slide),terrainShaper:C.fromJson(u.terrain_shaper),islandNoiseOverride:(h=p.readBoolean(u.island_noise_override))!==null&&h!==void 0&&h,isAmplified:(c=p.readBoolean(u.amplified))!==null&&c!==void 0&&c,hasLargeBiomes:(l=p.readBoolean(u.large_biomes))!==null&&l!==void 0&&l}},a.cellHeight=t,a.cellWidth=function(e){return e.xzSize<<2},a.cellCountY=function(e){return e.height/t(e)},a.minCellY=function(e){return Math.floor(e.minY/t(e))}}(B||(B={})),function(a){a.fromJson=function(t){var e,s,i,n;const r=(e=p.readObject(t))!==null&&e!==void 0?e:{};return{target:(s=p.readNumber(r.target))!==null&&s!==void 0?s:0,size:(i=p.readInt(r.size))!==null&&i!==void 0?i:0,offset:(n=p.readInt(r.offset))!==null&&n!==void 0?n:0}},a.apply=function(t,e,s){if(t.size<=0)return e;const i=(s-t.offset)/t.size;return ft(t.target,e,i)}}(tt||(tt={}));class wt{constructor(t,e){this.chunk=t,this.filler=e,this.noise000=0,this.noise001=0,this.noise100=0,this.noise101=0,this.noise010=0,this.noise011=0,this.noise110=0,this.noise111=0,this.valueXZ00=0,this.valueXZ10=0,this.valueXZ01=0,this.valueXZ11=0,this.valueZ0=0,this.valueZ1=0,this.value=0,this.slice0=wt.allocateSlice(t.cellCountY,t.cellCountXZ),this.slice1=wt.allocateSlice(t.cellCountY,t.cellCountXZ)}static allocateSlice(t,e){const s=Array(e+1);for(let i=0;i>2,this.firstNoiseZ=r>>2,this.interpolators=[];const l=t*c>>2;this.noiseData=Array(l+1);for(let u=0;u<=l;u+=1){const d=this.firstNoiseX+u;this.noiseData[u]=Array(l+1);for(let f=0;f<=l;f+=1){const g=this.firstNoiseZ+f;this.noiseData[u][f]=i.noiseData(d,g)}}this.preliminarySurfaceLevel=new Map,this.baseNoise=i.makeBaseNoiseFiller(this,o,h.noodleCavesEnabled)}getNoiseData(t,e){return this.noiseData[t-this.firstNoiseX][e-this.firstNoiseZ]}getPreliminarySurfaceLevel(t,e){return re(this.preliminarySurfaceLevel,H.asLong(t,e),()=>{const s=t-this.firstNoiseX,i=e-this.firstNoiseZ,n=this.noiseData.length,r=s>=0&&i>=0&&st.initializeForFirstCellX())}advanceCellX(t){this.interpolators.forEach(e=>e.advanceCellX(t))}selectCellYZ(t,e){this.interpolators.forEach(s=>s.selectCellYZ(t,e))}updateForY(t){this.interpolators.forEach(e=>e.updateForY(t))}updateForX(t){this.interpolators.forEach(e=>e.updateForX(t))}updateForZ(t){this.interpolators.forEach(e=>e.updateForZ(t))}swapSlices(){this.interpolators.forEach(t=>t.swapSlices())}updateNoiseAndGenerateBaseState(t,e,s){return this.baseNoise(t,e,s)}}(function(a){a.create=function(t,e,s){return{offset:t,factor:e,jaggedness:s}}})(Kt||(Kt={})),function(a){const t=new Map;function e(s,i,n){const r=Object.assign({name:`minecraft:${s}`},it.create(i,n));return t.set(s,r),r}a.TEMPERATURE=e("temperature",-10,[1.5,0,1,0,0,0]),a.VEGETATION=e("vegetation",-8,[1,1,0,0,0,0]),a.CONTINENTALNESS=e("continentalness",-9,[1,1,2,2,2,1,1,1,1]),a.EROSION=e("erosion",-9,[1,1,0,1,1]),a.TEMPERATURE_LARGE=e("temperature_large",-12,[1.5,0,1,0,0,0]),a.VEGETATION_LARGE=e("vegetation_large",-10,[1,1,0,0,0,0]),a.CONTINENTALNESS_LARGE=e("continentalness_large",-11,[1,1,2,2,2,1,1,1,1]),a.EROSION_LARGE=e("erosion_large",-11,[1,1,0,1,1]),a.RIDGE=e("ridge",-7,[1,2,1,0,0,0]),a.SHIFT=e("offset",-3,[1,1,1,0]),a.PILLAR=e("pillar",-7,[1,1]),a.PILLAR_RARENESS=e("pillar_rareness",-8,[1]),a.PILLAR_THICKNESS=e("pillar_thickness",-8,[1]),a.SPAGHETTI_2D=e("spaghetti_2d",-8,[1]),a.SPAGHETTI_2D_ELEVATION=e("spaghetti_2d_elevation",-8,[1]),a.SPAGHETTI_2D_MODULATOR=e("spaghetti_2d_modulator",-8,[1]),a.SPAGHETTI_2D_THICKNESS=e("spaghetti_2d_thickness",-8,[1]),a.SPAGHETTI_3D_1=e("spaghetti_3d_1",-8,[1]),a.SPAGHETTI_3D_2=e("spaghetti_3d_2",-8,[1]),a.SPAGHETTI_3D_RARITY=e("spaghetti_3d_rarity",-8,[1]),a.SPAGHETTI_3D_THICKNESS=e("spaghetti_3d_thickness",-8,[1]),a.SPAGHETTI_ROUGHNESS=e("spaghetti_roughness",-8,[1]),a.SPAGHETTI_ROUGHNESS_MODULATOR=e("spaghetti_roughness_modulator",-8,[1]),a.CAVE_ENTRANCE=e("cave_entrance",-7,[.4,.5,1]),a.CAVE_LAYER=e("cave_layer",-8,[1]),a.CAVE_CHEESE=e("cave_cheese",-8,[.5,1,2,1,2,1,0,2,0]),a.NOODLE=e("noodle",-8,[1]),a.NOODLE_THICKNESS=e("noodle_thickness",-8,[1]),a.NOODLE_RIDGE_A=e("noodle_ridge_a",-7,[1]),a.NOODLE_RIDGE_B=e("noodle_ridge_b",-7,[1]),a.JAGGED=e("jagged",-16,[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]),a.SURFACE=e("surface",-6,[1,1,1]),a.SURFACE_SECONDARY=e("surface_secondary",-6,[1,1,0,1]),a.instantiate=function(s,i){return new J(s.fromHashOf(i.name),i)}}(v||(v={}));class ls{constructor(t,e,s,i=!1){this.settings=t,this.isNoiseCavesEnabled=e;const n=t.hasLargeBiomes,r=(i?new R(s):P.create(s)).forkPositional();i?(this.blendedNoise=new de(new R(s),t.sampling,B.cellWidth(t),B.cellHeight(t)),this.temperatureNoise=new J(new R(s),it.create(-7,[1,1])),this.humidityNoise=new J(new R(s+BigInt(1)),it.create(-7,[1,1])),this.offsetNoise=new J(new R(s+BigInt(5)),it.create(0,[0]))):(this.blendedNoise=new de(r.fromHashOf("minecraft:terrain"),t.sampling,B.cellWidth(t),B.cellHeight(t)),this.temperatureNoise=v.instantiate(r,n?v.TEMPERATURE_LARGE:v.TEMPERATURE),this.humidityNoise=v.instantiate(r,n?v.VEGETATION_LARGE:v.VEGETATION),this.offsetNoise=v.instantiate(r,v.SHIFT)),this.continentalnessNoise=v.instantiate(r,n?v.CONTINENTALNESS_LARGE:v.CONTINENTALNESS),this.erosionNoise=v.instantiate(r,n?v.EROSION_LARGE:v.EROSION),this.weirdnessNoise=v.instantiate(r,v.RIDGE),this.pillarNoise=v.instantiate(r,v.PILLAR),this.pillarRarenessModulator=v.instantiate(r,v.PILLAR_RARENESS),this.pillarThicknessModulator=v.instantiate(r,v.PILLAR_THICKNESS),this.spaghetti2DNoise=v.instantiate(r,v.SPAGHETTI_2D),this.spaghetti2DElevationModulator=v.instantiate(r,v.SPAGHETTI_2D_ELEVATION),this.spaghetti2DRarityModulator=v.instantiate(r,v.SPAGHETTI_2D_MODULATOR),this.spaghetti2DThicknessModulator=v.instantiate(r,v.SPAGHETTI_2D_THICKNESS),this.spaghetti3DNoise1=v.instantiate(r,v.SPAGHETTI_3D_1),this.spaghetti3DNoise2=v.instantiate(r,v.SPAGHETTI_3D_2),this.spaghetti3DRarityModulator=v.instantiate(r,v.SPAGHETTI_3D_RARITY),this.spaghetti3DThicknessModulator=v.instantiate(r,v.SPAGHETTI_3D_THICKNESS),this.spaghettiRoughnessNoise=v.instantiate(r,v.SPAGHETTI_ROUGHNESS),this.spaghettiRoughnessModulator=v.instantiate(r,v.SPAGHETTI_ROUGHNESS_MODULATOR),this.bigEntranceNoise=v.instantiate(r,v.CAVE_ENTRANCE),this.layerNoise=v.instantiate(r,v.CAVE_LAYER),this.cheeseNoise=v.instantiate(r,v.CAVE_CHEESE);const o=t.minY+4,h=o+t.height;this.noodleToggleNoise=this.yLimitedInterpolatable(v.instantiate(r,v.NOODLE),o,h,-1,1),this.noodleThicknessNoise=this.yLimitedInterpolatable(v.instantiate(r,v.NOODLE_THICKNESS),o,h,0,1),this.noodleRidgeANoise=this.yLimitedInterpolatable(v.instantiate(r,v.NOODLE_RIDGE_A),o,h,0,8/3),this.noodleRidgeBNoise=this.yLimitedInterpolatable(v.instantiate(r,v.NOODLE_RIDGE_B),o,h,0,8/3),this.jaggedNoise=v.instantiate(r,v.JAGGED),this.shaper=t.terrainShaper,this.baseNoise=c=>c.createNoiseInterpolator((l,u,d)=>this.calculateBlendedBaseNoise(l,u,d,c.getNoiseData(l>>2,d>>2).terrainInfo))}yLimitedInterpolatable(t,e,s,i,n){const r=(o,h,c)=>h>s||ho.createNoiseInterpolator(r)}noiseData(t,e){const s=t+this.getOffset(t,0,e),i=e+this.getOffset(e,t,0),n=this.getContinentalness(s,i),r=this.getErosion(s,i),o=this.getWeirdness(s,i),h=this.terrainInfo(n,r,o);return te.create(s,i,n,r,o,h)}sample(t,e,s){return this.target(t,e,s,this.noiseData(t,s))}target(t,e,s,i){const n=i.shiftedX,r=e+this.getOffset(e,s,t),o=i.shiftedZ,h=this.getTemperature(n,r,o),c=this.getHumidity(n,r,o),l=this.computeDimensionDensity(e<<2,i.terrainInfo);return gt.target(h,c,i.continentalness,i.erosion,l,i.weirdness)}terrainInfo(t,e,s){const i=C.point(t,e,s),n=this.shaper.offset(i),r=this.shaper.factor(i),o=this.shaper.jaggedness(i);return Kt.create(n,r,o)}getOffset(t,e,s){return 4*this.offsetNoise.sample(t,e,s)}getTemperature(t,e,s){return this.temperatureNoise.sample(t,e,s)}getHumidity(t,e,s){return this.humidityNoise.sample(t,e,s)}getContinentalness(t,e){return this.continentalnessNoise.sample(t,0,e)}getErosion(t,e){return this.erosionNoise.sample(t,0,e)}getWeirdness(t,e){return this.weirdnessNoise.sample(t,0,e)}makeBaseNoiseFiller(t,e,s){const i=this.baseNoise(t),n=s?this.noodleToggleNoise(t):()=>-1,r=s?this.noodleThicknessNoise(t):()=>0,o=s?this.noodleRidgeANoise(t):()=>0,h=s?this.noodleRidgeBNoise(t):()=>0;return(c,l,u)=>{let d=i();if(d=Z(.64*d,-1,1),d=d/2-d*d*d/24,n()>=0){const f=$e(r(),-1,1,.05,.1),g=Math.abs(1.5*o())-f,m=Math.abs(1.5*h())-f;d=Math.min(d,Math.max(g,m))}return d+=e(c,l,u),d>0?null:M.AIR}}calculateBlendedBaseNoise(t,e,s,i){const n=this.blendedNoise.sample(t,e,s);return this.calculateBaseNoise(t,e,s,i,n,!this.isNoiseCavesEnabled,!0)}calculateBaseNoise(t,e,s,i,n,r,o){if(!this.settings.islandNoiseOverride){const l=o?this.sampleJaggedNoise(i.jaggedness,t,s):0,u=this.computeDimensionDensity(e,i),d=i.factor*(l+u);n+=d>0?4*d:d}let h=-64,c=64;if(!r&&n>=-64){const l=n-1.5625,u=this.getBigEntrances(t,e,s),d=this.getSpaghettiRoughness(t,e,s),f=this.getSpaghetti3D(t,e,s),g=Math.min(u,f+d);if(l<0)c=g;else{const m=this.getLayerizedCaverns(t,e,s);m>64?n=64:n=this.getCheese(t,e,s)+m+ft(.5,0,1.28*l);const b=this.getSpaghetti2D(t,e,s);h=this.getPillars(t,e,s),c=Math.min(g,b+d)}}return n=Z(n,h,c),n=Z(n=this.applySlide(n,e/B.cellHeight(this.settings)),-64,64)}sampleJaggedNoise(t,e,s){if(t===0)return 0;const i=this.jaggedNoise.sample(1500*e,0,1500*s);return i>0?t*i:t/2*i}computeDimensionDensity(t,e){return 1-t/128+e.offset}getBigEntrances(t,e,s){return this.bigEntranceNoise.sample(.75*t,.5*e,.75*s)+.37+ft(.3,0,(e+10)/40)}getSpaghettiRoughness(t,e,s){const i=this.spaghettiRoughnessNoise.sample(t,e,s),n=W(this.spaghettiRoughnessModulator.sample(t,e,s),-1,1,0,1);return(.4-Math.abs(i))*n}getSpaghetti2D(t,e,s){const i=this.quantizeSpaghettiRarity2D(this.spaghetti2DRarityModulator.sample(2*t,e,2*s)),n=W(this.spaghetti2DThicknessModulator.sample(2*t,e,2*s),-1,1,.6,1.3),r=this.sampleWithRarity(this.spaghetti2DNoise,t,e,s,i),o=Math.abs(i*r)-.083*n,h=B.minCellY(this.settings),c=W(this.spaghetti2DElevationModulator.sample(t,0,s),-1,1,h,8),l=Math.abs(c-e/8)-1*n;return Z(Math.max(l,o),-1,1)}getSpaghetti3D(t,e,s){const i=this.quantizeSpaghettiRarity3D(this.spaghetti3DRarityModulator.sample(2*t,e,2*s)),n=W(this.spaghetti3DThicknessModulator.sample(t,e,s),-1,1,.065,.088),r=this.sampleWithRarity(this.spaghetti3DNoise1,t,e,s,i),o=Math.abs(i*r)-n,h=this.sampleWithRarity(this.spaghetti3DNoise2,t,e,s,i),c=Math.abs(i*h)-n;return Z(Math.max(o,c),-1,1)}quantizeSpaghettiRarity2D(t){return t<-.75?.5:t<-.5?.75:t<.5?1:t<.75?2:3}quantizeSpaghettiRarity3D(t){return t<-.5?.75:t<0?1:t<.5?1.5:2}sampleWithRarity(t,e,s,i,n){return t.sample(e/n,s/n,i/n)}getLayerizedCaverns(t,e,s){return 4*j(this.layerNoise.sample(t,8*e,s))}getCheese(t,e,s){return Z(this.cheeseNoise.sample(t,e/1.5,s)+.27,-1,1)}getPillars(t,e,s){const i=W(this.pillarRarenessModulator.sample(t,e,s),-1,1,0,2),n=W(this.pillarThicknessModulator.sample(t,e,s),-1,1,0,1.1),r=this.pillarNoise.sample(25*t,.3*e,25*s),o=Math.pow(n,3)*(2*r-i);return o<=.03?Number.MIN_SAFE_INTEGER:o}applySlide(t,e){const s=e-B.minCellY(this.settings);return t=tt.apply(this.settings.topSlide,t,B.cellCountY(this.settings)-s),t=tt.apply(this.settings.bottomSlide,t,s)}getPreliminarySurfaceLevel(t,e,s){const i=B.minCellY(this.settings)+B.cellCountY(this.settings),n=B.minCellY(this.settings),r=B.cellHeight(this.settings);for(let o=i;o>=n;o-=1){const h=o*r;if(this.calculateBaseNoise(t,h,e,s,-.703125,!0,!1)>=.390625)return h}return Number.MAX_SAFE_INTEGER}}(function(a){a.create=function(t,e,s,i,n,r){return{shiftedX:t,shiftedZ:e,continentalness:s,weirdness:i,erosion:n,terrainInfo:r}}})(te||(te={})),function(a){a.fromJson=function(t){var e,s,i,n;const r=(e=p.readObject(t))!==null&&e!==void 0?e:{};return r.absolute!==void 0?(o=(s=p.readNumber(r.absolute))!==null&&s!==void 0?s:0,()=>o):r.above_bottom!==void 0?function(h){return c=>c.minY+h}((i=p.readNumber(r.above_bottom))!==null&&i!==void 0?i:0):r.below_top!==void 0?function(h){return c=>c.maxY-h}((n=p.readNumber(r.below_top))!==null&&n!==void 0?n:0):()=>0;var o}}(dt||(dt={})),function(a){a.create=function(t,e){return{minY:t,height:e,maxY:t+e-1}}}(ee||(ee={}));class hs{constructor(t,e,s){this.rule=t,this.defaultBlock=e,this.random=P.create(s).forkPositional(),this.surfaceNoise=v.instantiate(this.random,v.SURFACE),this.surfaceSecondaryNoise=v.instantiate(this.random,v.SURFACE_SECONDARY),this.positionalRandoms=new Map}buildSurface(t,e,s,i){const n=H.minBlockX(t.pos),r=H.minBlockZ(t.pos),o=new us(this,t,e,s,i),h=this.rule(o);for(let c=0;c<16;c+=1){const l=n+c;for(let u=0;u<1;u+=1){const d=r+u;o.updateXZ(l,d);let f=0,g=Number.MIN_SAFE_INTEGER,m=Number.MAX_SAFE_INTEGER;for(let b=t.maxY;b>=t.minY;b-=1){const E=rt.create(l,b,d),I=t.getBlockState(E);if(I.equals(M.AIR)){f=0,g=Number.MIN_SAFE_INTEGER;continue}if(I.isFluid()){g===Number.MIN_SAFE_INTEGER&&(g=b+1);continue}if(m>=b){m=Number.MIN_SAFE_INTEGER;for(let S=b-1;S>=t.minY;S-=1){const A=t.getBlockState(rt.create(l,S,d));if(A.equals(M.AIR)||A.isFluid()){m=S+1;break}}}f+=1;const N=b-m+1;if(!I.equals(this.defaultBlock))continue;o.updateY(f,N,g,b);const w=h(l,b,d);w&&t.setBlockState(E,w)}}}}getSurfaceDepth(t,e){return 2.75*this.surfaceNoise.sample(t,0,e)+3+.25*this.random.at(t,0,e).nextDouble()}getSurfaceSecondary(t,e){return this.surfaceSecondaryNoise.sample(t,0,e)}getRandom(t){return re(this.positionalRandoms,t,()=>this.random.fromHashOf(t))}}class us{constructor(t,e,s,i,n){this.system=t,this.chunk=e,this.noiseChunk=s,this.context=i,this.getBiome=n,this.blockX=0,this.blockY=0,this.blockZ=0,this.stoneDepthAbove=0,this.stoneDepthBelow=0,this.surfaceDepth=0,this.waterHeight=0,this.biome=()=>"",this.surfaceSecondary=()=>0,this.minSurfaceLevel=()=>0}updateXZ(t,e){this.blockX=t,this.blockZ=e,this.surfaceDepth=this.system.getSurfaceDepth(t,e),this.surfaceSecondary=Lt(()=>this.system.getSurfaceSecondary(t,e)),this.minSurfaceLevel=Lt(()=>this.calculateMinSurfaceLevel(t,e))}updateY(t,e,s,i){this.blockY=i,this.stoneDepthAbove=t,this.stoneDepthBelow=e,this.waterHeight=s,this.biome=Lt(()=>this.getBiome(rt.create(this.blockX,this.blockY,this.blockZ)))}calculateMinSurfaceLevel(t,e){const s=t>>4,i=e>>4,n=this.noiseChunk.getPreliminarySurfaceLevel(s<<4,i<<4),r=this.noiseChunk.getPreliminarySurfaceLevel(s+1<<4,i<<4),o=this.noiseChunk.getPreliminarySurfaceLevel(s<<4,i+1<<4),h=this.noiseChunk.getPreliminarySurfaceLevel(s+1<<4,i+1<<4);return Math.floor(Zt((15&t)/16,(15&e)/16,n,r,o,h))+this.surfaceDepth-8}}(function(a){function t(i){return()=>()=>i}function e(i){return n=>{const r=i.map(o=>o(n));return(o,h,c)=>{for(const l of r){const u=l(o,h,c);if(u)return u}}}}function s(i,n){return r=>(o,h,c)=>{if(i(r))return n(r)(o,h,c)}}a.NOOP=()=>()=>{},a.fromJson=function(i){var n,r,o;const h=(n=p.readObject(i))!==null&&n!==void 0?n:{};switch((r=p.readString(h.type))===null||r===void 0?void 0:r.replace(/^minecraft:/,"")){case"block":return t(M.fromJson(h.result_state));case"sequence":return e((o=p.readArray(h.sequence,a.fromJson))!==null&&o!==void 0?o:[]);case"condition":return s(Ht.fromJson(h.if_true),a.fromJson(h.then_run))}return a.NOOP},a.block=t,a.sequence=e,a.condition=s})(se||(se={})),function(a){function t(){return h=>h.blockY>=h.minSurfaceLevel()}function e(h){const c=new Set(h);return l=>c.has(l.biome())}function s(h){return c=>!h(c)}function i(h,c,l,u){return d=>{const f=u?d.stoneDepthBelow:d.stoneDepthAbove,g=c?d.surfaceDepth:0,m=l===0?0:W(d.surfaceSecondary(),-1,1,0,l);return f<=1+h+g+m}}function n(h,c,l){return u=>{const d=c(u.context),f=l(u.context);if(u.blockY<=d)return!0;if(u.blockY>=f)return!1;const g=u.system.getRandom(h),m=W(u.blockY,d,f,1,0);return g.nextFloat(){if(u.waterHeight===Number.MIN_SAFE_INTEGER)return!0;const d=l?u.stoneDepthAbove:0;return u.blockY+d>=u.waterHeight+h+u.surfaceDepth*c}}function o(h,c,l){return u=>{const d=l?u.stoneDepthAbove:0;return u.blockY+d>=h(u.context)+u.surfaceDepth*c}}a.FALSE=()=>!1,a.TRUE=()=>!0,a.fromJson=function(h){var c,l,u,d,f,g,m,b,E,I,N,w;const S=(c=p.readObject(h))!==null&&c!==void 0?c:{};switch((l=p.readString(S.type))===null||l===void 0?void 0:l.replace(/^minecraft:/,"")){case"above_preliminary_surface":return A=>A.blockY>=A.minSurfaceLevel();case"biome":return e((u=p.readArray(S.biome_is,A=>{var y;return(y=p.readString(A))!==null&&y!==void 0?y:""}))!==null&&u!==void 0?u:[]);case"not":return s(a.fromJson(S.invert));case"stone_depth":return i((d=p.readInt(S.offset))!==null&&d!==void 0?d:0,(f=p.readBoolean(S.add_surface_depth))!==null&&f!==void 0&&f,(g=p.readInt(S.secondary_depth_range))!==null&&g!==void 0?g:0,p.readString(S.surface_type)==="ceiling");case"vertical_gradient":return n((m=p.readString(S.random_name))!==null&&m!==void 0?m:"",dt.fromJson(S.true_at_and_below),dt.fromJson(S.false_at_and_above));case"water":return r((b=p.readInt(S.offset))!==null&&b!==void 0?b:0,(E=p.readInt(S.surface_depth_multiplier))!==null&&E!==void 0?E:0,(I=p.readBoolean(S.add_surface_depth))!==null&&I!==void 0&&I);case"y_above":return o(dt.fromJson(S.anchor),(N=p.readInt(S.surface_depth_multiplier))!==null&&N!==void 0?N:0,(w=p.readBoolean(S.add_surface_depth))!==null&&w!==void 0&&w)}return a.FALSE},a.abovePreliminarySurface=t,a.biome=e,a.not=s,a.stoneDepth=i,a.verticalGradient=n,a.water=r,a.yAbove=o}(Ht||(Ht={}));class ws{constructor(t,e,s){this.biomeSource=e,this.settings=s,this.sampler=new ls(s.noise,s.noiseCavesEnabled,t,s.legacyRandomSource),this.noiseChunkCache=new Map,this.materialRule=Qt.fromList([(i,n,r,o)=>i.updateNoiseAndGenerateBaseState(n,r,o)]),this.surfaceSystem=new hs(s.surfaceRule,s.defaultBlock,t)}fill(t){var e;const s=Math.max(t.minY,this.settings.noise.minY),i=Math.min(t.maxY,this.settings.noise.minY+this.settings.noise.height),n=B.cellWidth(this.settings.noise),r=B.cellHeight(this.settings.noise),o=Math.floor(16/n),h=Math.floor(s/r),c=Math.floor((i-s)/r),l=H.minBlockX(t.pos),u=H.minBlockZ(t.pos),d=this.getNoiseChunk(t);d.initializeForFirstCellX();for(let f=0;f=0;b-=1){d.selectCellYZ(b,g);for(let E=r-1;E>=0;E-=1){const I=(h+b)*r+E,N=15&I,w=t.getSectionIndex(I);t.getSectionIndex(m.minBlockY)!==w&&(m=t.getOrCreateSection(w));const S=E/r;d.updateForY(S);for(let A=0;Ae)}getNoiseChunk(t){return re(this.noiseChunkCache,H.toLong(t.pos),()=>{const e=Math.max(t.minY,this.settings.noise.minY),s=Math.min(t.maxY,this.settings.noise.minY+this.settings.noise.height),i=B.cellWidth(this.settings.noise),n=B.cellHeight(this.settings.noise),r=Math.floor(16/i),o=Math.floor(e/n),h=Math.floor((s-e)/n),c=H.minBlockX(t.pos),l=H.minBlockZ(t.pos);return new as(r,h,o,this.sampler,c,l,()=>0,this.settings)})}}(function(a){a.fromJson=function(t){var e,s,i,n,r,o,h,c,l,u,d;const f=(e=p.readObject(t))!==null&&e!==void 0?e:{};return{structures:Vt.fromJson(f.structures),surfaceRule:se.fromJson(f.surface_rule),noise:B.fromJson(f.noise),defaultBlock:M.fromJson(f.default_block),defaultFluid:M.fromJson(f.default_fluid),bedrockRoofPosition:(s=p.readInt(f.bedrock_roof_position))!==null&&s!==void 0?s:0,bedrockFloorPosition:(i=p.readInt(f.bedrock_floor_position))!==null&&i!==void 0?i:0,seaLevel:(n=p.readInt(f.sea_level))!==null&&n!==void 0?n:0,disableMobGeneration:(r=p.readBoolean(f.disable_mob_generation))!==null&&r!==void 0&&r,aquifersEnabled:(o=p.readBoolean(f.aquifers_enabled))!==null&&o!==void 0&&o,noiseCavesEnabled:(h=p.readBoolean(f.noise_caves_enabled))!==null&&h!==void 0&&h,deepslateEnabled:(c=p.readBoolean(f.deepslate_enabled))!==null&&c!==void 0&&c,oreVeinsEnabled:(l=p.readBoolean(f.ore_veins_enabled))!==null&&l!==void 0&&l,noodleCavesEnabled:(u=p.readBoolean(f.noodle_caves_enabled))!==null&&u!==void 0&&u,legacyRandomSource:(d=p.readBoolean(f.legacy_random_source))!==null&&d!==void 0&&d}}})(be||(be={})),function(a){a.fromJson=function(t){var e;const s=(e=p.readObject(t))!==null&&e!==void 0?e:{};return{stronghold:p.compose(s.stronghold,p.readObject,i=>{var n,r,o;return{distance:(n=p.readInt(i.distance))!==null&&n!==void 0?n:0,spread:(r=p.readInt(i.spread))!==null&&r!==void 0?r:0,count:(o=p.readInt(i.count))!==null&&o!==void 0?o:0}}),structures:p.readMap(s.structures,i=>{var n;return(r=>{var o,h,c;return{spacing:(o=p.readInt(r.spacing))!==null&&o!==void 0?o:0,separation:(h=p.readInt(r.separation))!==null&&h!==void 0?h:0,salt:(c=p.readInt(r.salt))!==null&&c!==void 0?c:0}})((n=p.readObject(i))!==null&&n!==void 0?n:{})})}}}(Vt||(Vt={}));export{de as BlendedNoise,pe as BlockColors,oe as BlockDefinition,Nt as BlockModel,rt as BlockPos,M as BlockState,Ss as Chunk,H as ChunkPos,$ as ChunkSection,gt as Climate,$t as ConstantProvider,F as Direction,xe as FixedBiome,te as FlatNoiseData,ce as ImprovedNoise,p as Json,Qe as LegacyPositionalRandom,R as LegacyRandom,Qt as MaterialRule,Te as MultiNoise,Xe as NbtReader,Ze as NbtWriter,as as NoiseChunk,ws as NoiseChunkGenerator,be as NoiseGeneratorSettings,wt as NoiseInterpolator,it as NoiseParameters,ls as NoiseSampler,Xt as NoiseSamplingSettings,B as NoiseSettings,tt as NoiseSlideSettings,v as Noises,J as NormalNoise,ct as NumberProvider,L as PerlinNoise,Es as PerlinSimplexNoise,x as SimplexNoise,_ as Spline,ye as Structure,Is as StructureRenderer,Vt as StructureSettings,Ht as SurfaceCondition,us as SurfaceContext,se as SurfaceRule,hs as SurfaceSystem,Kt as TerrainInfo,C as TerrainShaper,St as TextureAtlas,dt as VerticalAnchor,ee as WorldgenContext,Ke as XoroshiroPositionalRandom,P as XoroshiroRandom,qe as binarySearch,Z as clamp,ft as clampedLerp,$e as clampedMap,re as computeIfAbsent,vt as getListTag,Ae as getOptional,Fe as getSeed,st as getTag,Pe as inverseLerp,Lt as lazy,k as lerp,Zt as lerp2,We as lerp3,Wt as longfromBytes,W as map,fs as read,ps as readChunk,we as readCompressed,gs as readRegion,ie as readUncompressed,Ut as smoothstep,j as square,ue as tagNames,ut as tagTypes,ms as write,bs as writeChunk,Jt as writeCompressed,vs as writeRegion,ne as writeUncompressed}; -//# sourceMappingURL=deepslate.esm.4804555b.js.map +//# sourceMappingURL=deepslate.esm.722e0796.js.map diff --git a/assets/deepslate.esm.4804555b.js.map b/assets/deepslate.esm.722e0796.js.map similarity index 99% rename from assets/deepslate.esm.4804555b.js.map rename to assets/deepslate.esm.722e0796.js.map index 56633e50..0d8c121e 100644 --- a/assets/deepslate.esm.4804555b.js.map +++ b/assets/deepslate.esm.722e0796.js.map @@ -1 +1 @@ -{"version":3,"file":"deepslate.esm.4804555b.js","sources":["../../node_modules/deepslate-1.18/dist/deepslate.esm.js"],"sourcesContent":["import t from\"pako\";import e from\"md5\";import{vec3 as i,mat4 as s,glMatrix as n}from\"gl-matrix\";var r;!function(t){t.UP=\"up\",t.DOWN=\"down\",t.NORTH=\"north\",t.EAST=\"east\",t.SOUTH=\"south\",t.WEST=\"west\"}(r||(r={}));const o={[r.UP]:[0,1,0],[r.DOWN]:[0,-1,0],[r.NORTH]:[0,0,-1],[r.EAST]:[1,0,0],[r.SOUTH]:[0,0,1],[r.WEST]:[-1,0,0]};var a;!function(t){t.ALL=[t.UP,t.DOWN,t.NORTH,t.EAST,t.SOUTH,t.WEST],t.normal=function(t){return o[t]}}(r||(r={})),function(t){t.create=function(t,e,i){return[t,e,i]},t.offset=function(t,e,i,s){return[t[0]+e,t[1]+i,t[2]+s]},t.towards=function(e,i){return t.offset(e,...r.normal(i))}}(a||(a={}));const l={end:0,byte:1,short:2,int:3,long:4,float:5,double:6,byteArray:7,string:8,list:9,compound:10,intArray:11,longArray:12},h=[\"end\",\"byte\",\"short\",\"int\",\"long\",\"float\",\"double\",\"byteArray\",\"string\",\"list\",\"compound\",\"intArray\",\"longArray\"];class u{constructor(t,e=!1){this.byte=this.readNum.bind(this,\"getInt8\",1),this.short=this.readNum.bind(this,\"getInt16\",2),this.int=this.readNum.bind(this,\"getInt32\",4),this.float=this.readNum.bind(this,\"getFloat32\",4),this.double=this.readNum.bind(this,\"getFloat64\",8),this.offset=0,this.littleEndian=e,this.arrayView=t,this.dataView=new DataView(t.buffer,t.byteOffset)}end(){return null}readNum(t,e){const i=this.dataView[t](this.offset,this.littleEndian);return this.offset+=e,i}long(){return[this.int(),this.int()]}byteArray(){const t=this.int(),e=[];for(let i=0;i=e)return;let i=this.buffer.byteLength;for(;ithis.buffer.byteLength&&n.fill(0,this.buffer.byteLength,this.offset),this.buffer=s,this.dataView=new DataView(s),this.arrayView=n}getData(){return this.accommodate(0),this.arrayView.slice(0,this.offset)}end(t){}writeNum(t,e,i){this.accommodate(e),this.dataView[t](this.offset,i,this.littleEndian),this.offset+=e}long(t){this.int(t[0]),this.int(t[1])}byteArray(t){this.int(t.length),this.accommodate(t.length),this.arrayView.set(t,this.offset),this.offset+=t.length}intArray(t){this.int(t.length);for(let e=0;e>6),s.push(128|63&i)):i<65536?(s.push(224|i>>12),s.push(128|i>>6&63),s.push(128|63&i)):(s.push(240|i>>18&7),s.push(128|i>>12&63),s.push(128|i>>6&63),s.push(128|63&i));return s}(t);this.short(e.length),this.accommodate(e.length),this.arrayView.set(e,this.offset),this.offset+=e.length}list(t){this.byte(l[t.type]),this.int(t.value.length),t.value;for(let e=0;e>16),s.setInt16(t+1,65535&n),s.setInt8(t+3,r),s.setInt32(t+4096,e.timestamp);const o=4096*n;s.setInt32(o,e.data.length+1),s.setInt8(o+4,e.compression),i.set(e.data,o+5),n+=r}return i}function I(t,e,i,s){const n=w(t,e,i);switch(n.compression){case 1:n.data=b(s);break;case 2:n.data=b(s,!1,!0);break;case 3:n.data=v(s);break;default:throw new Error(`Invalid compression mode ${n.compression}`)}return n}function w(t,e,i){const s=t.find((t=>t.x===e&&t.z===i));if(void 0===s)throw new Error(`Cannot find chunk [${e}, ${i}]`);return s}function A(t,e,i){if(!t[e])throw new Error(`Missing ${e} tag`);if(t[e].type!==i)throw new Error(`Expected ${e} to be of type ${i}, but found ${t[e].type}`);return t[e].value}function N(t,e,i,s){const n=A(t,e,\"list\");if(n.type!==i)throw new Error(`Expected ${e} to be a list of ${i}s, but found ${n.type}s`);if(s&&n.value.length!==s)throw new Error(`Expected ${e} to be a list of length ${s}, but found length ${n.value.length}`);return n.value}function F(t,e){try{return t()}catch(t){return e}}var _,y,P,R,B;!function(t){function e(t){return\"object\"==typeof t&&null!==t?t:void 0}t.readNumber=function(t){return\"number\"==typeof t?t:void 0},t.readInt=function(t){return\"number\"==typeof t?Math.floor(t):void 0},t.readString=function(t){return\"string\"==typeof t?t:void 0},t.readBoolean=function(t){return\"boolean\"==typeof t?t:void 0},t.readObject=e,t.readArray=function(t,e){if(Array.isArray(t))return t.map((t=>e(t)))},t.readMap=function(t,i){var s;const n=null!==(s=e(t))&&void 0!==s?s:{};return Object.fromEntries(Object.entries(n).map((([t,e])=>[t,i(e)])))},t.compose=function(t,e,i){const s=e(t);return s?i(s):void 0}}(_||(_={}));class x{constructor(t,e={}){this.name=t,this.properties=e}getName(){return this.name}getProperties(){return this.properties}getProperty(t){return this.properties[t]}isFluid(){return\"minecraft:water\"===this.name||\"minecraft:lava\"===this.name}equals(t){return this.name===t.name&&Object.keys(this.properties).every((e=>t.properties[e]===this.properties[e]))}toString(){return 0===Object.keys(this.properties).length?this.name:`${this.name}[${Object.entries(this.properties).map((([t,e])=>t+\"=\"+e)).join(\",\")}]`}static fromNbt(t){const e=A(t.value,\"Name\",\"string\"),i=F((()=>A(t.value,\"Properties\",\"compound\")),{}),s=Object.keys(i).reduce(((t,e)=>Object.assign(Object.assign({},t),{[e]:A(i,e,\"string\")})),{});return new x(e,s)}static fromJson(t){var e,i;const s=null!==(e=_.readObject(t))&&void 0!==e?e:{},n=null!==(i=_.readString(s.Name))&&void 0!==i?i:\"minecraft:stone\",r=_.readMap(s.Properties,(t=>{var e;return null!==(e=_.readString(t))&&void 0!==e?e:\"\"}));return new x(n,r)}}x.AIR=new x(\"minecraft:air\");class T{constructor(t){this.minY=t,this.storage=Array(T.SIZE),this.palette=[x.AIR]}get minBlockY(){return this.minY<<4}index(t,e,i){return(t<<8)+(e<<4)+i}getBlockState(t,e,i){var s;const n=this.storage[this.index(t,e,i)];return null!==(s=this.palette[n])&&void 0!==s?s:x.AIR}setBlockState(t,e,i,s){let n=this.palette.findIndex((t=>t.equals(s)));-1===n&&(n=this.palette.length,this.palette.push(s)),this.storage[this.index(t,e,i)]=n}}T.WIDTH=16,T.SIZE=T.WIDTH*T.WIDTH*T.WIDTH;class C{constructor(t,e,i){this.minY=t,this.height=e,this.pos=i,this.sections=Array(this.sectionsCount).fill(null)}get maxY(){return this.minY+this.height}get minSection(){return this.minY>>4}get maxSection(){return 1+(this.maxY-1>>4)}get sectionsCount(){return this.maxSection-this.minSection}getSectionIndex(t){return(t>>4)-this.minSection}getBlockState(t){var e;const[i,s,n]=t,r=this.sections[this.getSectionIndex(s)];return null!==(e=null==r?void 0:r.getBlockState(15&i,15&s,15&n))&&void 0!==e?e:x.AIR}setBlockState(t,e){const[i,s,n]=t,r=this.getSectionIndex(s);let o=this.sections[r];if(null===o){if(e.equals(x.AIR))return;o=this.getOrCreateSection(r)}o.setBlockState(15&i,15&s,15&n,e)}getOrCreateSection(t){return null==this.sections[t]&&(this.sections[t]=new T(this.minSection+t)),this.sections[t]}}!function(t){function e(t,e){return BigInt(4294967295&t)|BigInt(4294967295&e)<>4,t[2]>>4]},t.fromLong=function(t){return[4294967295&Number(t),Number(t>>BigInt(32))]},t.toLong=function(t){return e(t[0],t[1])},t.asLong=e,t.minBlockX=function(t){return t[0]<<4},t.minBlockZ=function(t){return t[1]<<4},t.maxBlockX=function(t){return 15+(t[0]<<4)},t.maxBlockZ=function(t){return 15+(t[1]<<4)}}(y||(y={}));class k{constructor(t,e=[],i=[]){this.size=t,this.palette=e,this.blocks=i,this.blocksMap=[],i.forEach((e=>{if(!this.isInside(e.pos))throw new Error(`Found block at ${e.pos} which is outside the structure bounds ${this.size}`);this.blocksMap[e.pos[0]*t[1]*t[2]+e.pos[1]*t[2]+e.pos[2]]=e}))}getSize(){return this.size}addBlock(t,e,i,s){if(!this.isInside(t))throw new Error(`Cannot add block at ${t} outside the structure bounds ${this.size}`);const n=new x(e,i);let r=this.palette.findIndex((t=>t.equals(n)));return-1===r&&(r=this.palette.length,this.palette.push(n)),this.blocks.push({pos:t,state:r,nbt:s}),this.blocksMap[t[0]*this.size[1]*this.size[2]+t[1]*this.size[2]+t[2]]={pos:t,state:r,nbt:s},this}getBlocks(){return this.blocks.map((t=>({pos:t.pos,state:this.palette[t.state],nbt:t.nbt})))}getBlock(t){if(!this.isInside(t))return null;const e=this.blocksMap[t[0]*this.size[1]*this.size[2]+t[1]*this.size[2]+t[2]];if(!e)return null;return{pos:e.pos,state:this.palette[e.state],nbt:e.nbt}}isInside(t){return t[0]>=0&&t[0]=0&&t[1]=0&&t[2]x.fromNbt({name:\"\",value:t}))),s=N(t.value,\"blocks\",\"compound\").map((t=>({pos:N(t,\"pos\",\"int\",3),state:A(t,\"state\",\"int\"),nbt:F((()=>A(t,\"nbt\",\"compound\")),void 0)})));return new k(e,i,s)}}function D(t){let e=null;return()=>(null==e&&(e=t()),e)}function M(t,e,i){const s=t.get(e);if(s)return s;const n=i(e);return t.set(e,n),n}function O(t){return t*t}function L(t,e,i){return Math.max(e,Math.min(i,t))}function U(t,e,i){return e+t*(i-e)}function Y(t,e,i,s,n,r){return U(e,U(t,i,s),U(t,n,r))}function G(t,e,i,s,n,r,o,a,l,h,u){return U(i,Y(t,e,s,n,r,o),Y(t,e,a,l,h,u))}function H(t,e,i){return i<0?t:i>1?e:U(i,t,e)}function V(t,e,i){return(t-e)/(i-e)}function z(t){return t*t*t*(t*(6*t-15)+10)}function j(t,e,i,s,n){return U(V(t,e,i),s,n)}function J(t,e,i,s,n){return H(s,n,V(t,e,i))}function X(t,e,i){let s=e-t;for(;s>0;){const e=Math.floor(s/2),n=t+e;i(n)?s=e:(t=n+1,s-=e+1)}return t}function Z(t,e,i){let s=BigInt(3129871*t)^BigInt(i)*BigInt(116129781)^BigInt(e);return s=s*s*BigInt(42317861)+s*BigInt(11),s>>BigInt(16)}function W(t,e,i,s,n,r,o,a){return BigInt(t)<>BigInt(q.MODULUS_BITS-t));return e>2147483647?e-4294967296:e}nextInt(t){if(void 0===t)return this.next(32);if(0==(t&t-1))return Number(BigInt(t)*BigInt(this.next(31))>>BigInt(31));let e,i;for(;(e=this.next(31))-(i=e%t)+(t-1)<0;);return i}nextLong(){return(BigInt(this.next(32))<>BigInt(30))*BigInt(\"-4658895280553007687\")&BigInt(\"0xFFFFFFFFFFFFFFFF\"))^t>>BigInt(27))*BigInt(\"-7723592293110705685\")&BigInt(\"0xFFFFFFFFFFFFFFFF\"))^t>>BigInt(31))&BigInt(\"0xFFFFFFFFFFFFFFFF\")}static upgradeSeedTo128bit(t){t<0&&(t+=BigInt(\"0x10000000000000000\"));const e=t^K.SILVER_RATIO_64,i=e+K.GOLDEN_RATIO_64&BigInt(\"0xFFFFFFFFFFFFFFFF\");return[K.mixStafford13(e),K.mixStafford13(i)]}static rotateLeft(t,e){return t<>BigInt(64)-e}setSeed(t){this.seed=K.upgradeSeedTo128bit(t)}fork(){return new K([this.next(),this.next()])}forkPositional(){return new Q(this.next(),this.next())}next(){const t=this.seed[0];let e=this.seed[1];const i=K.rotateLeft(t+e&BigInt(\"0xFFFFFFFFFFFFFFFF\"),BigInt(17))+t&BigInt(\"0xFFFFFFFFFFFFFFFF\");return e^=t,this.seed=[K.rotateLeft(t,BigInt(49))^e^e<BigInt(\"0x8000000000000000\")&&(t-=BigInt(\"0x10000000000000000\")),t}consume(t){let e=this.seed[0],i=this.seed[1];for(let s=0;s>BigInt(64-t)}nextInt(t){let e=this.next()&BigInt(4294967295);if(t){const i=BigInt(t);let s=e*i,n=s&BigInt(4294967295);if(n>BigInt(32);return Number(r)}{let t=Number(e);return t>=2147483648&&(t-=4294967296),t}}nextFloat(){return Number(this.nextBits(24))*K.FLOAT_MULTIPLIER}nextDouble(){return Number(this.nextBits(53))*K.DOUBLE_MULTIPLIER}parityConfigString(){return\"seedLo: \"+this.seed[0]+\", seedHi: \"+this.seed[1]}}K.SILVER_RATIO_64=BigInt(\"7640891576956012809\"),K.GOLDEN_RATIO_64=BigInt(\"-7046029254386353131\"),K.FLOAT_MULTIPLIER=1/Math.pow(2,24),K.DOUBLE_MULTIPLIER=11102230246251565e-32;class Q{constructor(t,e){this.seedLo=t,this.seedHi=e}at(t,e,i){const s=Z(t,e,i)^this.seedLo;return new K([s,this.seedHi])}fromHashOf(t){const i=e(t,{asBytes:!0}),s=W(i[0],i[1],i[2],i[3],i[4],i[5],i[6],i[7]),n=W(i[8],i[9],i[10],i[11],i[12],i[13],i[14],i[15]);return new K([s^this.seedLo,n^this.seedHi])}}class tt{constructor(t){this.xo=256*t.nextDouble(),this.yo=256*t.nextDouble(),this.zo=256*t.nextDouble(),this.p=Array(256);for(let t=0;t<256;t+=1)this.p[t]=t;for(let e=0;e<256;e+=1){const i=t.nextInt(256-e),s=this.p[e];this.p[e]=this.p[e+i],this.p[e+i]=s}}sample2D(t,e){let i,s,n;const r=(t+e)*tt.F2,o=Math.floor(t+r),a=t-(o-(i=(o+(s=Math.floor(e+r)))*tt.G2));let l,h;a>(n=e-(s-i))?(l=1,h=0):(l=0,h=1);const u=a-l+tt.G2,c=n-h+tt.G2,d=a-1+2*tt.G2,f=n-1+2*tt.G2,g=255&o,p=255&s,m=this.P(g+this.P(p))%12,v=this.P(g+l+this.P(p+h))%12,b=this.P(g+1+this.P(p+1))%12;return 70*(this.getCornerNoise3D(m,a,n,0,.5)+this.getCornerNoise3D(v,u,c,0,.5)+this.getCornerNoise3D(b,d,f,0,.5))}sample(t,e,i){const s=.3333333333333333*(t+e+i),n=Math.floor(t+s),r=Math.floor(e+s),o=Math.floor(i+s),a=.16666666666666666*(n+r+o),l=t-(n-a),h=e-(r-a),u=i-(o-a);let c,d,f,g,p,m;l>=h?h>=u?(c=1,d=0,f=0,g=1,p=1,m=0):l>=u?(c=1,d=0,f=0,g=1,p=0,m=1):(c=0,d=0,f=1,g=1,p=0,m=1):h127?t-256:t;for(let e=0;e<256;e+=1){const i=t.nextInt(256-e),s=this.p[e];this.p[e]=this.p[e+i],this.p[e+i]=s}}sample(t,e,i,s=0,n=0){const r=t+this.xo,o=e+this.yo,a=i+this.zo,l=Math.floor(r),h=Math.floor(o),u=Math.floor(a),c=r-l,d=o-h,f=a-u;let g=0;if(0!==s){const t=n>=0&&n=0;s-=1)s0&&(s=this.maxLimitNoise.getOctaveNoise(l))&&(a+=s.sample(c,d,f,u,e*u)/r),r/=2}return H(o/512,a/512,n)/128}}!function(t){t.fromJson=function(t){var e,i,s,n,r;const o=null!==(e=_.readObject(t))&&void 0!==e?e:{};return{xzScale:null!==(i=_.readNumber(o.xz_scale))&&void 0!==i?i:1,yScale:null!==(s=_.readNumber(o.y_scale))&&void 0!==s?s:1,xzFactor:null!==(n=_.readNumber(o.xz_factor))&&void 0!==n?n:80,yFactor:null!==(r=_.readNumber(o.y_factor))&&void 0!==r?r:80}}}(P||(P={}));class nt{constructor(t,{firstOctave:e,amplitudes:i}){this.first=new it(t,e,i),this.second=new it(t,e,i);let s=1/0,n=-1/0;for(let t=0;t{var e;return null!==(e=_.readNumber(t))&&void 0!==e?e:0})))&&void 0!==s?s:[]}}}(R||(R={}));class rt{constructor(t,e){const i=e[e.length-1],s=-e[0]+i+1,n=new Set(e),r=new tt(t);this.noiseLevels=Array(s),i>=0&&i=0&&n.has(i-e)?this.noiseLevels[e]=new tt(t):t.consume(262);if(i>0)throw new Error(\"Positive octaves are not allowed\");this.highestFreqInputFactor=Math.pow(2,i),this.highestFreqValueFactor=1/(Math.pow(2,s)-1)}sample(t,e,i){let s=0,n=this.highestFreqInputFactor,r=this.highestFreqValueFactor;for(let o=0;o{var e;return null!==(e=_.readObject(t))&&void 0!==e?e:{}})))&&void 0!==n?n:[];if(0===h.length)return new ot(0);for(const e of h){const s=null!==(r=_.readNumber(e.location))&&void 0!==r?r:0,n=t.fromJson(e.value,i),a=null!==(o=_.readNumber(e.derivative))&&void 0!==o?o:0;l.addPoint(s,n,a)}return l}}(B||(B={}));class ot{constructor(t){this.value=t}apply(){return this.value}toJson(){return this.value}}class at{constructor(t,e=[],i=[],s=[]){this.coordinate=t,this.locations=e,this.values=i,this.derivatives=s}apply(t){const e=this.coordinate.apply(t),i=X(0,this.locations.length,(t=>e({location:t,value:this.values[e].toJson(),derivative:this.derivatives[e]})))}}}const lt=t=>[(t>>16&255)/256,(t>>8&255)/256,(255&t)/256],ht=[124/256,189/256,107/256],ut=lt(6396257),ct=lt(8431445),dt=lt(4764952),ft=lt(4159204),gt=lt(8431445),pt=lt(2129968),mt=t=>[t/8,1-t/32,64*t],vt={large_fern:()=>ht,tall_grass:()=>ht,grass_block:()=>ht,fern:()=>ht,grass:()=>ht,potted_fern:()=>ht,spruce_leaves:()=>ut,birch_leaves:()=>ct,oak_leaves:()=>dt,jungle_leaves:()=>dt,acacia_leaves:()=>dt,dark_oak_leaves:()=>dt,vine:()=>dt,water:()=>ft,bubble_column:()=>ft,cauldron:()=>ft,redstone_wire:t=>{var e;return(t=>{const e=t/15;return[.6*e+(e>0?.4:.3),L(e*e*.7-.5,0,1),L(e*e*.6-.7,0,1)]})(parseInt(null!==(e=t.power)&&void 0!==e?e:\"0\"))},sugar_cane:()=>ht,attached_melon_stem:()=>gt,attached_pumpkin_stem:()=>gt,melon_stem:t=>{var e;return mt(parseInt(null!==(e=t.age)&&void 0!==e?e:\"0\"))},pumpkin_stem:t=>{var e;return mt(parseInt(null!==(e=t.age)&&void 0!==e?e:\"0\"))},lily_pad:()=>pt};var bt;function St(...t){let e=0;for(const i of t)e+=i.length;const i=new Float32Array(e);let s=0;for(const e of t)i.set(e,s),s+=e.length;return i}function Et(t,e){const s=i.create();for(let n=0;nthis.matchesVariant(e,t)));if(0===e.length)return[];const i=this.variants[e[0]];return[Array.isArray(i)?i[0]:i]}if(this.multipart){return this.multipart.filter((e=>!e.when||this.matchesCase(e.when,t))).map((t=>Array.isArray(t.apply)?t.apply[0]:t.apply))}return[]}getBuffers(t,e,i,r,o,a){var l,h,u,c;const d=this.getModelVariants(e),f=[],g=[],p=[],m=[];for(const v of d){const d=bt.rotate(a,null!==(l=v.x)&&void 0!==l?l:0,null!==(h=v.y)&&void 0!==h?h:0),b=r.getBlockModel(v.model).getBuffers(t,e,i,o,d);if(v.x||v.y){const t=s.create();s.identity(t),s.translate(t,t,[8,8,8]),s.rotateY(t,t,-n.toRadian(null!==(u=v.y)&&void 0!==u?u:0)),s.rotateX(t,t,-n.toRadian(null!==(c=v.x)&&void 0!==c?c:0)),s.translate(t,t,[-8,-8,-8]),Et(b.position,t)}f.push(b.position),g.push(...b.texCoord),p.push(...b.tintColor),m.push(...b.index),o+=b.texCoord.length/2}const v=s.create();s.identity(v),s.scale(v,v,[.0625,.0625,.0625]);const b=St(...f);return Et(b,v),{position:b,texCoord:g,tintColor:p,index:m}}matchesVariant(t,e){return t.split(\",\").every((t=>{const[i,s]=t.split(\"=\");return e[i]===s}))}matchesCase(t,e){if(Array.isArray(t.OR))return t.OR.some((t=>this.matchesCase(t,e)));const i=t;return Object.keys(i).every((t=>i[t].split(\"|\").includes(e[t])))}static fromJson(t,e){return new It(t,e.variants,e.multipart)}}const wt={0:[0,3,2,3,2,1,0,1],90:[2,3,2,1,0,1,0,3],180:[2,1,0,1,0,3,2,3],270:[0,1,0,3,2,3,2,1]},At={x:[1,0,0],y:[0,1,0],z:[0,0,1]},Nt=1.41421356237,Ft={x:[1,Nt,Nt],y:[Nt,1,Nt],z:[Nt,Nt,1]};class _t{constructor(t,e,i,s){this.id=t,this.parent=e,this.textures=i,this.elements=s,this.flattened=!1}getBuffers(t,e,i,s,n){var r;const o=[],a=[],l=[],h=[];for(const u of null!==(r=this.elements)&&void 0!==r?r:[]){const r=this.getElementBuffers(t,e,u,s,i,n);o.push(r.position),a.push(...r.texCoord),l.push(...r.tintColor),h.push(...r.index),s+=r.texCoord.length/2}return{position:St(...o),texCoord:a,tintColor:l,index:h}}getElementBuffers(t,e,r,o,a,l){var h,u,c,d,f,g,p,m,v,b,S,E;const I=r.from[0],w=r.from[1],A=r.from[2],N=r.to[0],F=r.to[1],_=r.to[2],y=[],P=[],R=[],B=[],x=(i,s,n)=>{var r,l,h,u,c,d,f,g,p,m,v,b;const[S,E,I,w]=a.getTextureUV(this.getTexture(i.texture)),A=(I-S)/16,N=(w-E)/16,F=A/16,_=N/16;s[0]=(null!==(l=null===(r=i.uv)||void 0===r?void 0:r[0])&&void 0!==l?l:s[0])*A+F,s[1]=(null!==(u=null===(h=i.uv)||void 0===h?void 0:h[1])&&void 0!==u?u:s[1])*N+_,s[2]=(null!==(d=null===(c=i.uv)||void 0===c?void 0:c[2])&&void 0!==d?d:s[2])*A-F,s[3]=(null!==(g=null===(f=i.uv)||void 0===f?void 0:f[3])&&void 0!==g?g:s[3])*N-_;const x=wt[null!==(p=i.rotation)&&void 0!==p?p:0];P.push(S+s[x[0]],E+s[x[1]],S+s[x[2]],E+s[x[3]],S+s[x[4]],E+s[x[5]],S+s[x[6]],E+s[x[7]]);const T=(null!==(m=i.tintindex)&&void 0!==m?m:-1)>=0&&null!==(b=null===(v=vt[t.slice(10)])||void 0===v?void 0:v.call(vt,e))&&void 0!==b?b:[1,1,1];R.push(...T,...T,...T,...T),y.push(...n),B.push(o,o+1,o+2,o,o+2,o+3),o+=4};!(null===(u=null===(h=r.faces)||void 0===h?void 0:h.up)||void 0===u?void 0:u.texture)||r.faces.up.cullface&&l[r.faces.up.cullface]||x(r.faces.up,[I,16-_,N,16-A],[I,F,_,N,F,_,N,F,A,I,F,A]),!(null===(d=null===(c=r.faces)||void 0===c?void 0:c.down)||void 0===d?void 0:d.texture)||r.faces.down.cullface&&l[r.faces.down.cullface]||x(r.faces.down,[16-_,16-N,16-A,16-I],[I,w,A,N,w,A,N,w,_,I,w,_]),!(null===(g=null===(f=r.faces)||void 0===f?void 0:f.south)||void 0===g?void 0:g.texture)||r.faces.south.cullface&&l[r.faces.south.cullface]||x(r.faces.south,[I,16-F,N,16-w],[I,w,_,N,w,_,N,F,_,I,F,_]),!(null===(m=null===(p=r.faces)||void 0===p?void 0:p.north)||void 0===m?void 0:m.texture)||r.faces.north.cullface&&l[r.faces.north.cullface]||x(r.faces.north,[16-N,16-F,16-I,16-w],[N,w,A,I,w,A,I,F,A,N,F,A]),!(null===(b=null===(v=r.faces)||void 0===v?void 0:v.east)||void 0===b?void 0:b.texture)||r.faces.east.cullface&&l[r.faces.east.cullface]||x(r.faces.east,[16-_,16-F,16-A,16-w],[N,w,_,N,w,A,N,F,A,N,F,_]),!(null===(E=null===(S=r.faces)||void 0===S?void 0:S.west)||void 0===E?void 0:E.texture)||r.faces.west.cullface&&l[r.faces.west.cullface]||x(r.faces.west,[A,16-F,_,16-w],[I,w,A,I,w,_,I,F,_,I,F,A]);const T=s.create();if(s.identity(T),r.rotation){const t=i.fromValues(...r.rotation.origin);s.translate(T,T,t),s.rotate(T,T,n.toRadian(r.rotation.angle),At[r.rotation.axis]),r.rotation.rescale&&s.scale(T,T,Ft[r.rotation.axis]),i.negate(t,t),s.translate(T,T,t)}const C=new Float32Array(y);return Et(C,T),{position:C,texCoord:P,tintColor:R,index:B}}getTexture(t){for(var e,i;t.startsWith(\"#\");)t=null!==(i=null===(e=this.textures)||void 0===e?void 0:e[t.slice(1)])&&void 0!==i?i:\"\";return t.startsWith(\"minecraft:\")||(t=\"minecraft:\"+t),t}flatten(t){var e;if(!this.flattened&&this.parent){const i=t.getBlockModel(this.parent);if(!i)return console.warn(`parent ${this.parent} does not exist!`),void(this.flattened=!0);i.flatten(t),this.elements||(this.elements=i.elements),this.textures||(this.textures={}),Object.keys(null!==(e=i.textures)&&void 0!==e?e:{}).forEach((t=>{this.textures[t]||(this.textures[t]=i.textures[t])})),this.flattened=!0}}static fromJson(t,e){let i=e.parent;return i&&!i.startsWith(\"minecraft:\")&&(i=\"minecraft:\"+i),new _t(t,i,e.textures,e.elements)}}class yt{constructor(t,e,i){this.gl=t,this.program=this.initShaderProgram(e,i)}getProgram(){return this.program}initShaderProgram(t,e){const i=this.loadShader(this.gl.VERTEX_SHADER,t),s=this.loadShader(this.gl.FRAGMENT_SHADER,e),n=this.gl.createProgram();if(this.gl.attachShader(n,i),this.gl.attachShader(n,s),this.gl.linkProgram(n),!this.gl.getProgramParameter(n,this.gl.LINK_STATUS))throw new Error(`Unable to link shader program: ${this.gl.getProgramInfoLog(n)}`);return n}loadShader(t,e){const i=this.gl.createShader(t);if(this.gl.shaderSource(i,e),this.gl.compileShader(i),!this.gl.getShaderParameter(i,this.gl.COMPILE_STATUS)){const e=new Error(`Compiling ${t===this.gl.VERTEX_SHADER?\"vertex\":\"fragment\"} shader: ${this.gl.getShaderInfoLog(i)}`);throw this.gl.deleteShader(i),e}return i}}function Pt(t,e,i,s,n){const r=new It(\"\",{\"\":{model:\"\"}},void 0),o={getBlockModel:()=>n};return n.flatten(o),r.getBuffers(t,{},e,o,i,s)}function Rt(t,e,i,s,n,o){const a=n.up?16:[14.2,12.5,10.5,9,7,5.3,3.7,1.9,16,16,16,16,16,16,16,16][i];return Pt(`minecraft:${t}`,s,e,n,new _t(\"\",\"\",{still:`minecraft:block/${t}_still`,flow:`minecraft:block/${t}_flow`},[{from:[0,0,0],to:[16,a,16],faces:{up:{texture:\"#still\",tintindex:o,cullface:r.UP},down:{texture:\"#still\",tintindex:o,cullface:r.DOWN},north:{texture:\"#flow\",tintindex:o,cullface:r.NORTH},east:{texture:\"#flow\",tintindex:o,cullface:r.EAST},south:{texture:\"#flow\",tintindex:o,cullface:r.SOUTH},west:{texture:\"#flow\",tintindex:o,cullface:r.WEST}}}]))}const Bt={\"minecraft:water\":(t,e,i,s)=>Rt(\"water\",t,parseInt(e.level),i,s,0),\"minecraft:lava\":(t,e,i,s)=>Rt(\"lava\",t,parseInt(e.level),i,s),\"minecraft:chest\":(t,e,i)=>function(t,e,i,s){return Pt(\"minecraft:chest\",s,t,{},new _t(\"\",\"\",{0:\"minecraft:block/chest\"},[{from:[1,0,1],to:[15,14,15],faces:{up:{texture:\"#0\"},down:{texture:\"#0\"},north:{texture:\"#0\"},east:{texture:\"#0\"},south:{texture:\"#0\"},west:{texture:\"#0\"}}}]))}(t,e.facing,e.type,i)},xt=new Set(Object.keys(Bt));class Tt{constructor(t,e,i,s){var n,r;this.gl=t,this.structure=e,this.resources=i,this.chunks=[],(null==s?void 0:s.facesPerBuffer)&&console.warn(\"webgl render warning: facesPerBuffer option has been removed in favor of chunkSize\"),this.chunkSize=null!==(n=null==s?void 0:s.chunkSize)&&void 0!==n?n:16,this.useInvisibleBlockBuffer=null===(r=null==s?void 0:s.useInvisibleBlockBuffer)||void 0===r||r,this.shaderProgram=new yt(t,\"\\n attribute vec4 vertPos;\\n attribute vec2 texCoord;\\n attribute vec3 tintColor;\\n attribute vec3 normal;\\n\\n uniform mat4 mView;\\n uniform mat4 mProj;\\n\\n varying highp vec2 vTexCoord;\\n varying highp vec3 vTintColor;\\n varying highp float vLighting;\\n\\n void main(void) {\\n gl_Position = mProj * mView * vertPos;\\n vTexCoord = texCoord;\\n vTintColor = tintColor;\\n vLighting = normal.y * 0.2 + abs(normal.z) * 0.1 + 0.8;\\n }\\n\",\"\\n precision highp float;\\n varying highp vec2 vTexCoord;\\n varying highp vec3 vTintColor;\\n varying highp float vLighting;\\n\\n uniform sampler2D sampler;\\n\\n void main(void) {\\n vec4 texColor = texture2D(sampler, vTexCoord);\\n if(texColor.a < 0.01) discard;\\n gl_FragColor = vec4(texColor.xyz * vTintColor * vLighting, texColor.a);\\n }\\n\").getProgram(),this.gridShaderProgram=new yt(t,\"\\n attribute vec4 vertPos;\\n attribute vec3 vertColor;\\n\\n uniform mat4 mView;\\n uniform mat4 mProj;\\n\\n varying highp vec3 vColor;\\n\\n void main(void) {\\n gl_Position = mProj * mView * vertPos;\\n vColor = vertColor;\\n }\\n\",\"\\n precision highp float;\\n varying highp vec3 vColor;\\n\\n void main(void) {\\n gl_FragColor = vec4(vColor, 1.0);\\n }\\n\").getProgram(),this.colorShaderProgram=new yt(t,\"\\n attribute vec4 vertPos;\\n attribute vec3 blockPos;\\n\\n uniform mat4 mView;\\n uniform mat4 mProj;\\n\\n varying highp vec3 vColor;\\n\\n void main(void) {\\n gl_Position = mProj * mView * vertPos;\\n vColor = blockPos / 256.0;\\n }\\n\",\"\\n precision highp float;\\n varying highp vec3 vColor;\\n\\n void main(void) {\\n gl_FragColor = vec4(vColor, 1.0);\\n }\\n\").getProgram(),this.updateStructureBuffers(),this.gridBuffers=this.getGridBuffers(),this.outlineBuffers=this.getOutlineBuffers(),this.invisibleBlockBuffers=this.getInvisibleBlockBuffers(),this.atlasTexture=this.getBlockTexture(),this.projMatrix=this.getPerspective(),this.activeShader=this.shaderProgram,this.initialize()}setStructure(t){this.structure=t,this.updateStructureBuffers(),this.gridBuffers=this.getGridBuffers(),this.invisibleBlockBuffers=this.getInvisibleBlockBuffers()}initialize(){this.gl.enable(this.gl.DEPTH_TEST),this.gl.depthFunc(this.gl.LEQUAL),this.gl.enable(this.gl.BLEND),this.gl.blendFunc(this.gl.SRC_ALPHA,this.gl.ONE_MINUS_SRC_ALPHA),this.gl.enable(this.gl.CULL_FACE),this.gl.cullFace(this.gl.BACK)}getBlockTexture(){const t=this.gl.createTexture();return this.gl.bindTexture(this.gl.TEXTURE_2D,t),this.gl.texImage2D(this.gl.TEXTURE_2D,0,this.gl.RGBA,this.gl.RGBA,this.gl.UNSIGNED_BYTE,this.resources.getTextureAtlas()),this.gl.generateMipmap(this.gl.TEXTURE_2D),this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_MAG_FILTER,this.gl.NEAREST),t}getPerspective(){const t=70*Math.PI/180,e=this.gl.canvas.clientWidth/this.gl.canvas.clientHeight,i=s.create();return s.perspective(i,t,e,.1,500),i}getChunk(t){const e=2*Math.abs(t[0])+(t[0]<0?1:0),i=2*Math.abs(t[1])+(t[1]<0?1:0),s=2*Math.abs(t[2])+(t[2]<0?1:0);return this.chunks[e]||(this.chunks[e]=[]),this.chunks[e][i]||(this.chunks[e][i]=[]),this.chunks[e][i][s]||(this.chunks[e][i][s]={positions:[],textureCoordinates:[],tintColors:[],blockPositions:[],normals:[],indices:[],indexOffset:0}),this.chunks[e][i][s]}updateStructureBuffers(t){var e;const n=(t,e,n)=>{const r=s.create();s.translate(r,r,e),Et(t.position,r),n.positions.push(t.position),n.textureCoordinates.push(...t.texCoord),n.tintColors.push(...t.tintColor);for(let e=0;e{t.positions=[],t.textureCoordinates=[],t.tintColors=[],t.blockPositions=[],t.normals=[],t.indices=[],t.indexOffset=0},a=t=>{t.buffer?(this.updateBuffer(t.buffer.position,this.gl.ARRAY_BUFFER,St(...t.positions)),this.updateBuffer(t.buffer.texCoord,this.gl.ARRAY_BUFFER,new Float32Array(t.textureCoordinates)),this.updateBuffer(t.buffer.tintColor,this.gl.ARRAY_BUFFER,new Float32Array(t.tintColors)),this.updateBuffer(t.buffer.normal,this.gl.ARRAY_BUFFER,new Float32Array(t.normals)),this.updateBuffer(t.buffer.blockPos,this.gl.ARRAY_BUFFER,new Float32Array(t.blockPositions)),this.updateBuffer(t.buffer.index,this.gl.ELEMENT_ARRAY_BUFFER,new Uint16Array(t.indices)),t.buffer.length=t.indices.length):t.buffer={position:this.createBuffer(this.gl.ARRAY_BUFFER,St(...t.positions)),texCoord:this.createBuffer(this.gl.ARRAY_BUFFER,new Float32Array(t.textureCoordinates)),tintColor:this.createBuffer(this.gl.ARRAY_BUFFER,new Float32Array(t.tintColors)),blockPos:this.createBuffer(this.gl.ARRAY_BUFFER,new Float32Array(t.blockPositions)),normal:this.createBuffer(this.gl.ARRAY_BUFFER,new Float32Array(t.normals)),index:this.createBuffer(this.gl.ELEMENT_ARRAY_BUFFER,new Uint16Array(t.indices)),length:t.indices.length}};let l;t?t.forEach((t=>{const e=this.getChunk(t);o(e)})):this.chunks.forEach((t=>t.forEach((t=>t.forEach((t=>{o(t)}))))));for(const s of this.structure.getBlocks()){const o=s.state.getName(),a=s.state.getProperties(),h=null!==(e=this.resources.getDefaultBlockProperties(o))&&void 0!==e?e:{};Object.entries(h).forEach((([t,e])=>{a[t]||(a[t]=e)}));const u=[Math.floor(s.pos[0]/this.chunkSize),Math.floor(s.pos[1]/this.chunkSize),Math.floor(s.pos[2]/this.chunkSize)];if(t&&!t.some((t=>i.equals(t,u))))continue;const c=this.getChunk(u);try{const t=this.resources.getBlockDefinition(o),e={up:this.needsCull(s,r.UP),down:this.needsCull(s,r.DOWN),west:this.needsCull(s,r.WEST),east:this.needsCull(s,r.EAST),north:this.needsCull(s,r.NORTH),south:this.needsCull(s,r.SOUTH)};t&&(l=t.getBuffers(o,a,this.resources,this.resources,c.indexOffset,e),n(l,s.pos,c)),xt.has(o)&&(l=Bt[o](c.indexOffset,a,this.resources,e),n(l,s.pos,c))}catch(t){console.error(`Error rendering block ${o}`,t)}}t?t.forEach((t=>{const e=this.getChunk(t);a(e)})):this.chunks.forEach((t=>t.forEach((t=>t.forEach((t=>{a(t)}))))))}needsCull(t,e){var i,s;const n=null===(i=this.structure.getBlock(a.towards(t.pos,e)))||void 0===i?void 0:i.state;return!!n&&((null===(s=this.resources.getBlockFlags(n.getName()))||void 0===s?void 0:s.opaque)?!(e===r.UP&&t.state.isFluid()):t.state.isFluid()&&n.isFluid())}getGridBuffers(){const[t,e,i]=this.structure.getSize(),s=[],n=[];s.push(0,0,0,t,0,0),n.push(1,0,0,1,0,0),s.push(0,0,0,0,0,i),n.push(0,0,1,0,0,1),s.push(0,0,0,0,e,0),s.push(t,0,0,t,e,0),s.push(0,0,i,0,e,i),s.push(t,0,i,t,e,i),s.push(0,e,0,0,e,i),s.push(t,e,0,t,e,i),s.push(0,e,0,t,e,0),s.push(0,e,i,t,e,i);for(let e=1;e<=t;e+=1)s.push(e,0,0,e,0,i);for(let e=1;e<=i;e+=1)s.push(0,0,e,t,0,e);for(let e=0;e<8+t+i;e+=1)n.push(.8,.8,.8,.8,.8,.8);return{position:this.createBuffer(this.gl.ARRAY_BUFFER,new Float32Array(s)),color:this.createBuffer(this.gl.ARRAY_BUFFER,new Float32Array(n)),length:s.length/3}}getOutlineBuffers(){const t=[],e=[];return this.addCube(t,e,[1,1,1],[0,0,0],[1,1,1]),{position:this.createBuffer(this.gl.ARRAY_BUFFER,new Float32Array(t)),color:this.createBuffer(this.gl.ARRAY_BUFFER,new Float32Array(e)),length:t.length/3}}getInvisibleBlockBuffers(){if(!this.useInvisibleBlockBuffer)return;const t=this.structure.getSize(),e=[],i=[];for(let s=0;s{t.forEach((t=>{t.forEach((t=>{t.buffer&&(this.setVertexAttr(\"vertPos\",3,t.buffer.position),this.setVertexAttr(\"texCoord\",2,t.buffer.texCoord),this.setVertexAttr(\"tintColor\",3,t.buffer.tintColor),this.setVertexAttr(\"normal\",3,t.buffer.normal),this.gl.bindBuffer(this.gl.ELEMENT_ARRAY_BUFFER,t.buffer.index),this.gl.drawElements(this.gl.TRIANGLES,t.buffer.length,this.gl.UNSIGNED_SHORT,0))}))}))}))}drawColoredStructure(t){this.setShader(this.colorShaderProgram),this.setUniform(\"mView\",t),this.setUniform(\"mProj\",this.projMatrix),this.chunks.forEach((t=>{t.forEach((t=>{t.forEach((t=>{t.buffer&&(this.setVertexAttr(\"vertPos\",3,t.buffer.position),this.setVertexAttr(\"blockPos\",3,t.buffer.blockPos),this.gl.bindBuffer(this.gl.ELEMENT_ARRAY_BUFFER,t.buffer.index),this.gl.drawElements(this.gl.TRIANGLES,t.buffer.length,this.gl.UNSIGNED_SHORT,0))}))}))}))}drawOutline(t,e){this.setShader(this.gridShaderProgram),this.setVertexAttr(\"vertPos\",3,this.outlineBuffers.position),this.setVertexAttr(\"vertColor\",3,this.outlineBuffers.color);const i=s.create();s.copy(i,t),s.translate(i,i,e),this.setUniform(\"mView\",i),this.setUniform(\"mProj\",this.projMatrix),this.gl.drawArrays(this.gl.LINES,0,this.outlineBuffers.length)}setViewport(t,e,i,s){this.gl.viewport(t,e,i,s),this.projMatrix=this.getPerspective()}setShader(t){this.gl.useProgram(t),this.activeShader=t}setVertexAttr(t,e,i){const s=this.gl.getAttribLocation(this.activeShader,t);this.gl.bindBuffer(this.gl.ARRAY_BUFFER,i),this.gl.vertexAttribPointer(s,e,this.gl.FLOAT,!1,0,0),this.gl.enableVertexAttribArray(s)}setUniform(t,e){const i=this.gl.getUniformLocation(this.activeShader,t);this.gl.uniformMatrix4fv(i,!1,e)}}\n/*! *****************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */function Ct(t,e,i,s){return new(i||(i=Promise))((function(n,r){function o(t){try{l(s.next(t))}catch(t){r(t)}}function a(t){try{l(s.throw(t))}catch(t){r(t)}}function l(t){var e;t.done?n(t.value):(e=t.value,e instanceof i?e:new i((function(t){t(e)}))).then(o,a)}l((s=s.apply(t,e||[])).next())}))}class kt{constructor(t,e){this.img=t,this.idMap=e,this.part=16/t.width}getTextureAtlas(){return this.img}getTextureUV(t){var e;return null!==(e=this.idMap[t])&&void 0!==e?e:[0,0,this.part,this.part]}static fromBlobs(t){return Ct(this,void 0,void 0,(function*(){const e=Math.sqrt(Object.keys(t).length+1),i=Math.pow(2,Math.ceil(Math.log(e)/Math.log(2))),s=16*i,n=1/i,r=document.createElement(\"canvas\");r.width=s,r.height=s;const o=r.getContext(\"2d\");this.drawInvalidTexture(o);const a={};let l=1;return yield Promise.all(Object.keys(t).map((e=>Ct(this,void 0,void 0,(function*(){const s=l%i,r=Math.floor(l/i);l+=1,a[e]=[n*s,n*r,n*s+n,n*r+n];const h=yield createImageBitmap(t[e]);o.drawImage(h,0,0,16,16,16*s,16*r,16,16)}))))),new kt(o.getImageData(0,0,s,s),a)}))}static empty(){const t=document.createElement(\"canvas\");t.width=16,t.height=16;const e=t.getContext(\"2d\");return kt.drawInvalidTexture(e),new kt(e.getImageData(0,0,16,16),{})}static drawInvalidTexture(t){t.fillStyle=\"black\",t.fillRect(0,0,16,16),t.fillStyle=\"magenta\",t.fillRect(0,0,8,8),t.fillRect(8,8,8,8)}}var Dt,Mt,Ot,Lt,Ut,Yt,Gt,Ht,Vt,zt,jt,Jt,Xt;!function(t){function e(t,e){return\"number\"==typeof t?new i(t,null!=e?e:t):t}t.target=function(t,e,i,s,r,o){return new n(t,e,i,s,r,o)},t.parameters=function(t,i,n,r,o,a,l){return new s(e(t),e(i),e(n),e(r),e(o),e(a),l)},t.param=e;class i{constructor(t,e){this.min=t,this.max=e}distance(t){const e=(\"number\"==typeof t?t:t.min)-this.max,i=this.min-(\"number\"==typeof t?t:t.max);return e>0?e:Math.max(i,0)}union(t){return new i(Math.min(this.min,t.min),Math.max(this.max,t.max))}static fromJson(t){var e;if(\"number\"==typeof t)return new i(t,t);const[s,n]=null!==(e=_.readArray(t,(t=>_.readNumber(t))))&&void 0!==e?e:[];return new i(null!=s?s:0,null!=n?n:0)}}t.Param=i;class s{constructor(t,e,i,s,n,r,o){this.temperature=t,this.humidity=e,this.continentalness=i,this.erosion=s,this.depth=n,this.weirdness=r,this.offset=o}fittness(t){return O(this.temperature.distance(t.temperature))+O(this.humidity.distance(t.humidity))+O(this.continentalness.distance(t.continentalness))+O(this.erosion.distance(t.erosion))+O(this.depth.distance(t.depth))+O(this.weirdness.distance(t.weirdness))+O(this.offset-t.offset)}space(){return[this.temperature,this.humidity,this.continentalness,this.erosion,this.depth,this.weirdness,new i(this.offset,this.offset)]}static fromJson(t){var e,n;const r=null!==(e=_.readObject(t))&&void 0!==e?e:{};return new s(i.fromJson(r.temperature),i.fromJson(r.humidity),i.fromJson(r.continentalness),i.fromJson(r.erosion),i.fromJson(r.depth),i.fromJson(r.weirdness),null!==(n=_.readInt(r.offset))&&void 0!==n?n:0)}}t.ParamPoint=s;class n{constructor(t,e,i,s,n,r){this.temperature=t,this.humidity=e,this.continentalness=i,this.erosion=s,this.depth=n,this.weirdness=r}get offset(){return 0}toArray(){return[this.temperature,this.humidity,this.continentalness,this.erosion,this.depth,this.weirdness,this.offset]}}t.TargetPoint=n;t.Parameters=class{constructor(t){this.things=t,this.index=new r(t)}find(t){return this.index.search(t,((t,e)=>t.distance(e)))}};class r{constructor(t){this.root=r.build(t.map((([t,e])=>new l(t,e))))}static build(t){if(1===t.length)return t[0];if(t.length<=r.CHILDREN_PER_NODE){const e=t.map((t=>{let e=0;for(let i=0;i<7;i+=1){const s=t.space[i];e+=Math.abs((s.min+s.max)/2)}return{key:e,node:t}})).sort(((t,e)=>t.key-e.key)).map((({node:t})=>t));return new a(e)}let e=1/0,i=-1,s=[];for(let n=0;n<7;++n){t=r.sort(t,n,!1),s=r.bucketize(t);let o=0;for(const t of s)o+=r.area(t.space);e>o&&(e=o,i=n)}return t=r.sort(t,i,!1),s=r.bucketize(t),s=r.sort(s,i,!0),new a(s.map((t=>r.build(t.children))))}static sort(t,e,i){return t.map((t=>{const s=t.space[e],n=(s.min+s.max)/2;return{key:i?Math.abs(n):n,node:t}})).sort(((t,e)=>t.key-e.key)).map((({node:t})=>t))}static bucketize(t){const e=[];let i=[];const s=Math.pow(10,Math.floor(Math.log(t.length-.01)/Math.log(10)));for(const n of t)i.push(n),i.lengthnew i(1/0,-1/0)));for(const i of t)e=[...Array(7)].map(((t,s)=>e[s].union(i.space[s])));return e}search(t,e){let i=1/0,s=null;for(const n of this.children){const r=e(n,t);if(i<=r)continue;const o=n.search(t,e),a=n==o?r:e(o,t);i<=a||(i=a,s=o)}return s}}t.RSubTree=a;class l extends o{constructor(t,e){super(t.space()),this.thing=e}search(){return this}}t.RLeaf=l}(Dt||(Dt={}));class Zt{constructor(t){this.biome=t}getBiome(){return this.biome}static fromJson(t){var e,i;const s=null!==(e=_.readObject(t))&&void 0!==e?e:{},n=null!==(i=_.readString(s.biome))&&void 0!==i?i:\"minecraft:the_void\";return new Zt(n)}}class Wt{constructor(t){this.parameters=t}getBiome(t,e,i,s){const n=s(t,e,i);return this.parameters.find(n)}static fromJson(t){var e,i;const s=null!==(e=_.readObject(t))&&void 0!==e?e:{},n=(null!==(i=_.readArray(s.biomes,(t=>{var e;return(t=>{var e;return{biome:null!==(e=_.readString(t.biome))&&void 0!==e?e:\"minecraft:the_void\",parameters:Dt.ParamPoint.fromJson(t.parameters)}})(null!==(e=_.readObject(t))&&void 0!==e?e:{})})))&&void 0!==i?i:[]).map((t=>[t.parameters,()=>t.biome]));return new Wt(new Dt.Parameters(n))}}class qt{constructor(t,e,i){this.offsetSampler=t,this.factorSampler=e,this.jaggednessSampler=i}static extractor(t){return{apply:e=>e[t],toJson:()=>t}}static fromJson(t){var e;const i=null!==(e=_.readObject(t))&&void 0!==e?e:{};return new qt(B.fromJson(i.offset,this.EXTRACTOR),B.fromJson(i.factor,this.EXTRACTOR),B.fromJson(i.jaggedness,this.EXTRACTOR))}toJson(){return{offset:this.offsetSampler.toJson(),factor:this.factorSampler.toJson(),jaggedness:this.jaggednessSampler.toJson()}}offset(t){return this.offsetSampler.apply(t)+qt.GLOBAL_OFFSET}factor(t){return this.factorSampler.apply(t)}jaggedness(t){return this.jaggednessSampler.apply(t)}static point(t,e,i){return{continents:t,erosion:e,weirdness:i,ridges:this.peaksAndValleys(i)}}static peaksAndValleys(t){return 3*-(Math.abs(Math.abs(t)-.6666667)-.33333334)}static overworld(){const t=this.buildErosionOffsetSpline(-.05,0,0,.1,0,-.03,!1,!1),e=this.buildErosionOffsetSpline(-.1,.03,.1,.1,.01,-.03,!1,!1),i=this.buildErosionOffsetSpline(-.1,.03,.1,.7,.01,-.03,!0,!0),s=this.buildErosionOffsetSpline(.3,.03,.1,1,.01,.01,!0,!0),n=new at(this.CONTINENTS).addPoint(-1.1,.044).addPoint(-1.02,-.2222).addPoint(-.51,-.2222).addPoint(-.44,-.12).addPoint(-.18,-.12).addPoint(-.16,t).addPoint(-.15,t).addPoint(-.1,e).addPoint(.25,i).addPoint(1,s),r=new at(this.CONTINENTS).addPoint(-.19,3.95).addPoint(-.15,this.getErosionFactor(6.25,!0)).addPoint(-.1,this.getErosionFactor(5.47,!0)).addPoint(.03,this.getErosionFactor(5.08,!0)).addPoint(.06,this.getErosionFactor(4.69,!1)),o=new at(this.CONTINENTS).addPoint(.11,0).addPoint(.03,this.buildErosionJaggednessSpline(1,.5,0,0)).addPoint(.65,this.buildErosionJaggednessSpline(1,1,1,0));return new qt(n,r,o)}static getErosionFactor(t,e){const i=new at(this.WEIRDNESS).addPoint(-.2,6.3).addPoint(.2,t),s=new at(this.EROSION).addPoint(-.6,i).addPoint(-.5,new at(this.WEIRDNESS).addPoint(-.05,6.3).addPoint(.05,2.67)).addPoint(-.35,i).addPoint(-.25,i).addPoint(-.1,new at(this.WEIRDNESS).addPoint(-.05,2.67).addPoint(.05,6.3)).addPoint(.03,i);if(e){const e=new at(this.WEIRDNESS).addPoint(0,t).addPoint(.1,.625),i=new at(this.RIDGES).addPoint(-.9,t).addPoint(-.69,e);s.addPoint(.35,t).addPoint(.45,i).addPoint(.55,i).addPoint(.62,t)}else{const e=new at(this.RIDGES).addPoint(-.7,i).addPoint(-.15,1.37),n=new at(this.RIDGES).addPoint(.45,i).addPoint(.7,1.56);s.addPoint(.05,n).addPoint(.4,n).addPoint(.45,e).addPoint(.55,e).addPoint(.58,t)}return s}static buildErosionOffsetSpline(t,e,i,s,n,r,o,a){const l=this.buildMountainRidgeSplineWithPoints(U(s,.6,1.5),a),h=this.buildMountainRidgeSplineWithPoints(U(s,.6,1),a),u=this.buildMountainRidgeSplineWithPoints(s,a),c=this.ridgeSpline(t-.15,.5*s,U(.5,.5,.5)*s,.5*s,.6*s,.5),d=this.ridgeSpline(t,n*s,e*s,.5*s,.6*s,.5),f=this.ridgeSpline(t,n,n,e,i,.5),g=this.ridgeSpline(t,n,n,e,i,.5),p=new at(this.RIDGES).addPoint(-1,t).addPoint(-.4,f).addPoint(0,i+.07),m=this.ridgeSpline(-.02,r,r,e,i,0),v=new at(this.EROSION).addPoint(-.85,l).addPoint(-.7,h).addPoint(-.4,u).addPoint(-.35,c).addPoint(-.1,d).addPoint(.2,f);return o&&v.addPoint(.4,g).addPoint(.45,p).addPoint(.55,p).addPoint(.58,g),v.addPoint(.7,m),v}static buildMountainRidgeSplineWithPoints(t,e){const i=new at(this.RIDGES),s=this.mountainContinentalness(-1,t,-.7),n=this.mountainContinentalness(1,t,-.7),r=this.calculateMountainRidgeZeroContinentalnessPoint(t);if(-.650?this.buildWeirdnessJaggednessSpline(e):0).addPoint(1,t>0?this.buildWeirdnessJaggednessSpline(t):0)}static buildWeirdnessJaggednessSpline(t){return new at(qt.WEIRDNESS).addPoint(-.01,.63*t).addPoint(.01,.3*t)}}qt.GLOBAL_OFFSET=-.50375,qt.EXTRACTOR=t=>{var e;const i=null!==(e=_.readString(t))&&void 0!==e?e:\"continents\";return qt.extractor(i)},qt.CONTINENTS=qt.extractor(\"continents\"),qt.EROSION=qt.extractor(\"erosion\"),qt.WEIRDNESS=qt.extractor(\"weirdness\"),qt.RIDGES=qt.extractor(\"ridges\"),function(t){t.fromList=function(t){return(e,i,s,n)=>{for(const r of t){const t=r(e,i,s,n);if(t)return t}return null}}}(Mt||(Mt={})),function(t){function e(t){return t.ySize<<2}t.fromJson=function(t){var e,i,s,n,r,o,a,l;const h=null!==(e=_.readObject(t))&&void 0!==e?e:{};return{minY:null!==(i=_.readInt(h.min_y))&&void 0!==i?i:0,height:null!==(s=_.readInt(h.height))&&void 0!==s?s:256,xzSize:null!==(n=_.readInt(h.size_horizontal))&&void 0!==n?n:1,ySize:null!==(r=_.readInt(h.size_vertical))&&void 0!==r?r:1,sampling:P.fromJson(h.sampling),topSlide:Lt.fromJson(h.top_slide),bottomSlide:Lt.fromJson(h.bottom_slide),terrainShaper:qt.fromJson(h.terrain_shaper),islandNoiseOverride:null!==(o=_.readBoolean(h.island_noise_override))&&void 0!==o&&o,isAmplified:null!==(a=_.readBoolean(h.amplified))&&void 0!==a&&a,hasLargeBiomes:null!==(l=_.readBoolean(h.large_biomes))&&void 0!==l&&l}},t.cellHeight=e,t.cellWidth=function(t){return t.xzSize<<2},t.cellCountY=function(t){return t.height/e(t)},t.minCellY=function(t){return Math.floor(t.minY/e(t))}}(Ot||(Ot={})),function(t){t.fromJson=function(t){var e,i,s,n;const r=null!==(e=_.readObject(t))&&void 0!==e?e:{};return{target:null!==(i=_.readNumber(r.target))&&void 0!==i?i:0,size:null!==(s=_.readInt(r.size))&&void 0!==s?s:0,offset:null!==(n=_.readInt(r.offset))&&void 0!==n?n:0}},t.apply=function(t,e,i){if(t.size<=0)return e;const s=(i-t.offset)/t.size;return H(t.target,e,s)}}(Lt||(Lt={}));class $t{constructor(t,e){this.chunk=t,this.filler=e,this.noise000=0,this.noise001=0,this.noise100=0,this.noise101=0,this.noise010=0,this.noise011=0,this.noise110=0,this.noise111=0,this.valueXZ00=0,this.valueXZ10=0,this.valueXZ01=0,this.valueXZ11=0,this.valueZ0=0,this.valueZ1=0,this.value=0,this.slice0=$t.allocateSlice(t.cellCountY,t.cellCountXZ),this.slice1=$t.allocateSlice(t.cellCountY,t.cellCountXZ)}static allocateSlice(t,e){const i=Array(e+1);for(let s=0;s>2,this.firstNoiseZ=r>>2,this.interpolators=[];const h=t*l>>2;this.noiseData=Array(h+1);for(let t=0;t<=h;t+=1){const e=this.firstNoiseX+t;this.noiseData[t]=Array(h+1);for(let i=0;i<=h;i+=1){const n=this.firstNoiseZ+i;this.noiseData[t][i]=s.noiseData(e,n)}}this.preliminarySurfaceLevel=new Map,this.baseNoise=s.makeBaseNoiseFiller(this,o,a.noodleCavesEnabled)}getNoiseData(t,e){return this.noiseData[t-this.firstNoiseX][e-this.firstNoiseZ]}getPreliminarySurfaceLevel(t,e){return M(this.preliminarySurfaceLevel,y.asLong(t,e),(()=>{const i=t-this.firstNoiseX,s=e-this.firstNoiseZ,n=this.noiseData.length,r=i>=0&&s>=0&&it.initializeForFirstCellX()))}advanceCellX(t){this.interpolators.forEach((e=>e.advanceCellX(t)))}selectCellYZ(t,e){this.interpolators.forEach((i=>i.selectCellYZ(t,e)))}updateForY(t){this.interpolators.forEach((e=>e.updateForY(t)))}updateForX(t){this.interpolators.forEach((e=>e.updateForX(t)))}updateForZ(t){this.interpolators.forEach((e=>e.updateForZ(t)))}swapSlices(){this.interpolators.forEach((t=>t.swapSlices()))}updateNoiseAndGenerateBaseState(t,e,i){return this.baseNoise(t,e,i)}}!function(t){t.create=function(t,e,i){return{offset:t,factor:e,jaggedness:i}}}(Ut||(Ut={})),function(t){const e=new Map;function i(t,i,s){const n=Object.assign({name:`minecraft:${t}`},R.create(i,s));return e.set(t,n),n}t.TEMPERATURE=i(\"temperature\",-10,[1.5,0,1,0,0,0]),t.VEGETATION=i(\"vegetation\",-8,[1,1,0,0,0,0]),t.CONTINENTALNESS=i(\"continentalness\",-9,[1,1,2,2,2,1,1,1,1]),t.EROSION=i(\"erosion\",-9,[1,1,0,1,1]),t.TEMPERATURE_LARGE=i(\"temperature_large\",-12,[1.5,0,1,0,0,0]),t.VEGETATION_LARGE=i(\"vegetation_large\",-10,[1,1,0,0,0,0]),t.CONTINENTALNESS_LARGE=i(\"continentalness_large\",-11,[1,1,2,2,2,1,1,1,1]),t.EROSION_LARGE=i(\"erosion_large\",-11,[1,1,0,1,1]),t.RIDGE=i(\"ridge\",-7,[1,2,1,0,0,0]),t.SHIFT=i(\"offset\",-3,[1,1,1,0]),t.PILLAR=i(\"pillar\",-7,[1,1]),t.PILLAR_RARENESS=i(\"pillar_rareness\",-8,[1]),t.PILLAR_THICKNESS=i(\"pillar_thickness\",-8,[1]),t.SPAGHETTI_2D=i(\"spaghetti_2d\",-8,[1]),t.SPAGHETTI_2D_ELEVATION=i(\"spaghetti_2d_elevation\",-8,[1]),t.SPAGHETTI_2D_MODULATOR=i(\"spaghetti_2d_modulator\",-8,[1]),t.SPAGHETTI_2D_THICKNESS=i(\"spaghetti_2d_thickness\",-8,[1]),t.SPAGHETTI_3D_1=i(\"spaghetti_3d_1\",-8,[1]),t.SPAGHETTI_3D_2=i(\"spaghetti_3d_2\",-8,[1]),t.SPAGHETTI_3D_RARITY=i(\"spaghetti_3d_rarity\",-8,[1]),t.SPAGHETTI_3D_THICKNESS=i(\"spaghetti_3d_thickness\",-8,[1]),t.SPAGHETTI_ROUGHNESS=i(\"spaghetti_roughness\",-8,[1]),t.SPAGHETTI_ROUGHNESS_MODULATOR=i(\"spaghetti_roughness_modulator\",-8,[1]),t.CAVE_ENTRANCE=i(\"cave_entrance\",-7,[.4,.5,1]),t.CAVE_LAYER=i(\"cave_layer\",-8,[1]),t.CAVE_CHEESE=i(\"cave_cheese\",-8,[.5,1,2,1,2,1,0,2,0]),t.NOODLE=i(\"noodle\",-8,[1]),t.NOODLE_THICKNESS=i(\"noodle_thickness\",-8,[1]),t.NOODLE_RIDGE_A=i(\"noodle_ridge_a\",-7,[1]),t.NOODLE_RIDGE_B=i(\"noodle_ridge_b\",-7,[1]),t.JAGGED=i(\"jagged\",-16,[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]),t.SURFACE=i(\"surface\",-6,[1,1,1]),t.SURFACE_SECONDARY=i(\"surface_secondary\",-6,[1,1,0,1]),t.instantiate=function(t,e){return new nt(t.fromHashOf(e.name),e)}}(Yt||(Yt={}));class Qt{constructor(t,e,i,s=!1){this.settings=t,this.isNoiseCavesEnabled=e;const n=t.hasLargeBiomes,r=(s?new q(i):K.create(i)).forkPositional();s?(this.blendedNoise=new st(new q(i),t.sampling,Ot.cellWidth(t),Ot.cellHeight(t)),this.temperatureNoise=new nt(new q(i),R.create(-7,[1,1])),this.humidityNoise=new nt(new q(i+BigInt(1)),R.create(-7,[1,1])),this.offsetNoise=new nt(new q(i+BigInt(5)),R.create(0,[0]))):(this.blendedNoise=new st(r.fromHashOf(\"minecraft:terrain\"),t.sampling,Ot.cellWidth(t),Ot.cellHeight(t)),this.temperatureNoise=Yt.instantiate(r,n?Yt.TEMPERATURE_LARGE:Yt.TEMPERATURE),this.humidityNoise=Yt.instantiate(r,n?Yt.VEGETATION_LARGE:Yt.VEGETATION),this.offsetNoise=Yt.instantiate(r,Yt.SHIFT)),this.continentalnessNoise=Yt.instantiate(r,n?Yt.CONTINENTALNESS_LARGE:Yt.CONTINENTALNESS),this.erosionNoise=Yt.instantiate(r,n?Yt.EROSION_LARGE:Yt.EROSION),this.weirdnessNoise=Yt.instantiate(r,Yt.RIDGE),this.pillarNoise=Yt.instantiate(r,Yt.PILLAR),this.pillarRarenessModulator=Yt.instantiate(r,Yt.PILLAR_RARENESS),this.pillarThicknessModulator=Yt.instantiate(r,Yt.PILLAR_THICKNESS),this.spaghetti2DNoise=Yt.instantiate(r,Yt.SPAGHETTI_2D),this.spaghetti2DElevationModulator=Yt.instantiate(r,Yt.SPAGHETTI_2D_ELEVATION),this.spaghetti2DRarityModulator=Yt.instantiate(r,Yt.SPAGHETTI_2D_MODULATOR),this.spaghetti2DThicknessModulator=Yt.instantiate(r,Yt.SPAGHETTI_2D_THICKNESS),this.spaghetti3DNoise1=Yt.instantiate(r,Yt.SPAGHETTI_3D_1),this.spaghetti3DNoise2=Yt.instantiate(r,Yt.SPAGHETTI_3D_2),this.spaghetti3DRarityModulator=Yt.instantiate(r,Yt.SPAGHETTI_3D_RARITY),this.spaghetti3DThicknessModulator=Yt.instantiate(r,Yt.SPAGHETTI_3D_THICKNESS),this.spaghettiRoughnessNoise=Yt.instantiate(r,Yt.SPAGHETTI_ROUGHNESS),this.spaghettiRoughnessModulator=Yt.instantiate(r,Yt.SPAGHETTI_ROUGHNESS_MODULATOR),this.bigEntranceNoise=Yt.instantiate(r,Yt.CAVE_ENTRANCE),this.layerNoise=Yt.instantiate(r,Yt.CAVE_LAYER),this.cheeseNoise=Yt.instantiate(r,Yt.CAVE_CHEESE);const o=t.minY+4,a=o+t.height;this.noodleToggleNoise=this.yLimitedInterpolatable(Yt.instantiate(r,Yt.NOODLE),o,a,-1,1),this.noodleThicknessNoise=this.yLimitedInterpolatable(Yt.instantiate(r,Yt.NOODLE_THICKNESS),o,a,0,1),this.noodleRidgeANoise=this.yLimitedInterpolatable(Yt.instantiate(r,Yt.NOODLE_RIDGE_A),o,a,0,8/3),this.noodleRidgeBNoise=this.yLimitedInterpolatable(Yt.instantiate(r,Yt.NOODLE_RIDGE_B),o,a,0,8/3),this.jaggedNoise=Yt.instantiate(r,Yt.JAGGED),this.shaper=t.terrainShaper,this.baseNoise=t=>t.createNoiseInterpolator(((e,i,s)=>this.calculateBlendedBaseNoise(e,i,s,t.getNoiseData(e>>2,s>>2).terrainInfo)))}yLimitedInterpolatable(t,e,i,s,n){const r=(r,o,a)=>o>i||ot.createNoiseInterpolator(r)}noiseData(t,e){const i=t+this.getOffset(t,0,e),s=e+this.getOffset(e,t,0),n=this.getContinentalness(i,s),r=this.getErosion(i,s),o=this.getWeirdness(i,s),a=this.terrainInfo(n,r,o);return Gt.create(i,s,n,r,o,a)}sample(t,e,i){return this.target(t,e,i,this.noiseData(t,i))}target(t,e,i,s){const n=s.shiftedX,r=e+this.getOffset(e,i,t),o=s.shiftedZ,a=this.getTemperature(n,r,o),l=this.getHumidity(n,r,o),h=this.computeDimensionDensity(e<<2,s.terrainInfo);return Dt.target(a,l,s.continentalness,s.erosion,h,s.weirdness)}terrainInfo(t,e,i){const s=qt.point(t,e,i),n=this.shaper.offset(s),r=this.shaper.factor(s),o=this.shaper.jaggedness(s);return Ut.create(n,r,o)}getOffset(t,e,i){return 4*this.offsetNoise.sample(t,e,i)}getTemperature(t,e,i){return this.temperatureNoise.sample(t,e,i)}getHumidity(t,e,i){return this.humidityNoise.sample(t,e,i)}getContinentalness(t,e){return this.continentalnessNoise.sample(t,0,e)}getErosion(t,e){return this.erosionNoise.sample(t,0,e)}getWeirdness(t,e){return this.weirdnessNoise.sample(t,0,e)}makeBaseNoiseFiller(t,e,i){const s=this.baseNoise(t),n=i?this.noodleToggleNoise(t):()=>-1,r=i?this.noodleThicknessNoise(t):()=>0,o=i?this.noodleRidgeANoise(t):()=>0,a=i?this.noodleRidgeBNoise(t):()=>0;return(t,i,l)=>{let h=s();if(h=L(.64*h,-1,1),h=h/2-h*h*h/24,n()>=0){const t=J(r(),-1,1,.05,.1),e=Math.abs(1.5*o())-t,i=Math.abs(1.5*a())-t;h=Math.min(h,Math.max(e,i))}return h+=e(t,i,l),h>0?null:x.AIR}}calculateBlendedBaseNoise(t,e,i,s){const n=this.blendedNoise.sample(t,e,i);return this.calculateBaseNoise(t,e,i,s,n,!this.isNoiseCavesEnabled,!0)}calculateBaseNoise(t,e,i,s,n,r,o){if(!this.settings.islandNoiseOverride){const r=o?this.sampleJaggedNoise(s.jaggedness,t,i):0,a=this.computeDimensionDensity(e,s),l=s.factor*(r+a);n+=l>0?4*l:l}let a=-64,l=64;if(!r&&n>=-64){const s=n-1.5625,r=this.getBigEntrances(t,e,i),o=this.getSpaghettiRoughness(t,e,i),h=this.getSpaghetti3D(t,e,i),u=Math.min(r,h+o);if(s<0)l=u;else{const r=this.getLayerizedCaverns(t,e,i);if(r>64)n=64;else{n=this.getCheese(t,e,i)+r+H(.5,0,1.28*s)}const h=this.getSpaghetti2D(t,e,i);a=this.getPillars(t,e,i),l=Math.min(u,h+o)}}return n=L(n,a,l),n=L(n=this.applySlide(n,e/Ot.cellHeight(this.settings)),-64,64)}sampleJaggedNoise(t,e,i){if(0===t)return 0;const s=this.jaggedNoise.sample(1500*e,0,1500*i);return s>0?t*s:t/2*s}computeDimensionDensity(t,e){return 1-t/128+e.offset}getBigEntrances(t,e,i){return this.bigEntranceNoise.sample(.75*t,.5*e,.75*i)+.37+H(.3,0,(e+10)/40)}getSpaghettiRoughness(t,e,i){const s=this.spaghettiRoughnessNoise.sample(t,e,i),n=j(this.spaghettiRoughnessModulator.sample(t,e,i),-1,1,0,1);return(.4-Math.abs(s))*n}getSpaghetti2D(t,e,i){const s=this.quantizeSpaghettiRarity2D(this.spaghetti2DRarityModulator.sample(2*t,e,2*i)),n=j(this.spaghetti2DThicknessModulator.sample(2*t,e,2*i),-1,1,.6,1.3),r=this.sampleWithRarity(this.spaghetti2DNoise,t,e,i,s),o=Math.abs(s*r)-.083*n,a=Ot.minCellY(this.settings),l=j(this.spaghetti2DElevationModulator.sample(t,0,i),-1,1,a,8),h=Math.abs(l-e/8)-1*n;return L(Math.max(h,o),-1,1)}getSpaghetti3D(t,e,i){const s=this.quantizeSpaghettiRarity3D(this.spaghetti3DRarityModulator.sample(2*t,e,2*i)),n=j(this.spaghetti3DThicknessModulator.sample(t,e,i),-1,1,.065,.088),r=this.sampleWithRarity(this.spaghetti3DNoise1,t,e,i,s),o=Math.abs(s*r)-n,a=this.sampleWithRarity(this.spaghetti3DNoise2,t,e,i,s),l=Math.abs(s*a)-n;return L(Math.max(o,l),-1,1)}quantizeSpaghettiRarity2D(t){return t<-.75?.5:t<-.5?.75:t<.5?1:t<.75?2:3}quantizeSpaghettiRarity3D(t){return t<-.5?.75:t<0?1:t<.5?1.5:2}sampleWithRarity(t,e,i,s,n){return t.sample(e/n,i/n,s/n)}getLayerizedCaverns(t,e,i){return 4*O(this.layerNoise.sample(t,8*e,i))}getCheese(t,e,i){return L(this.cheeseNoise.sample(t,e/1.5,i)+.27,-1,1)}getPillars(t,e,i){const s=j(this.pillarRarenessModulator.sample(t,e,i),-1,1,0,2),n=j(this.pillarThicknessModulator.sample(t,e,i),-1,1,0,1.1),r=this.pillarNoise.sample(25*t,.3*e,25*i),o=Math.pow(n,3)*(2*r-s);return o<=.03?Number.MIN_SAFE_INTEGER:o}applySlide(t,e){const i=e-Ot.minCellY(this.settings);return t=Lt.apply(this.settings.topSlide,t,Ot.cellCountY(this.settings)-i),t=Lt.apply(this.settings.bottomSlide,t,i)}getPreliminarySurfaceLevel(t,e,i){const s=Ot.minCellY(this.settings)+Ot.cellCountY(this.settings),n=Ot.minCellY(this.settings),r=Ot.cellHeight(this.settings);for(let o=s;o>=n;o-=1){const s=o*r;if(this.calculateBaseNoise(t,s,e,i,-.703125,!0,!1)>=.390625)return s}return Number.MAX_SAFE_INTEGER}}!function(t){t.create=function(t,e,i,s,n,r){return{shiftedX:t,shiftedZ:e,continentalness:i,weirdness:s,erosion:n,terrainInfo:r}}}(Gt||(Gt={})),function(t){t.fromJson=function(t){var e,i,s,n;const r=null!==(e=_.readObject(t))&&void 0!==e?e:{};return void 0!==r.absolute?(o=null!==(i=_.readNumber(r.absolute))&&void 0!==i?i:0,()=>o):void 0!==r.above_bottom?function(t){return e=>e.minY+t}(null!==(s=_.readNumber(r.above_bottom))&&void 0!==s?s:0):void 0!==r.below_top?function(t){return e=>e.maxY-t}(null!==(n=_.readNumber(r.below_top))&&void 0!==n?n:0):()=>0;var o}}(Ht||(Ht={})),function(t){t.create=function(t,e){return{minY:t,height:e,maxY:t+e-1}}}(Vt||(Vt={}));class te{constructor(t,e,i){this.rule=t,this.defaultBlock=e,this.random=K.create(i).forkPositional(),this.surfaceNoise=Yt.instantiate(this.random,Yt.SURFACE),this.surfaceSecondaryNoise=Yt.instantiate(this.random,Yt.SURFACE_SECONDARY),this.positionalRandoms=new Map}buildSurface(t,e,i,s){const n=y.minBlockX(t.pos),r=y.minBlockZ(t.pos),o=new ee(this,t,e,i,s),l=this.rule(o);for(let e=0;e<16;e+=1){const i=n+e;for(let e=0;e<1;e+=1){const s=r+e;o.updateXZ(i,s);let n=0,h=Number.MIN_SAFE_INTEGER,u=Number.MAX_SAFE_INTEGER;for(let e=t.maxY;e>=t.minY;e-=1){const r=a.create(i,e,s),c=t.getBlockState(r);if(c.equals(x.AIR)){n=0,h=Number.MIN_SAFE_INTEGER;continue}if(c.isFluid()){h===Number.MIN_SAFE_INTEGER&&(h=e+1);continue}if(u>=e){u=Number.MIN_SAFE_INTEGER;for(let n=e-1;n>=t.minY;n-=1){const e=t.getBlockState(a.create(i,n,s));if(e.equals(x.AIR)||e.isFluid()){u=n+1;break}}}n+=1;const d=e-u+1;if(!c.equals(this.defaultBlock))continue;o.updateY(n,d,h,e);const f=l(i,e,s);f&&t.setBlockState(r,f)}}}}getSurfaceDepth(t,e){return 2.75*this.surfaceNoise.sample(t,0,e)+3+.25*this.random.at(t,0,e).nextDouble()}getSurfaceSecondary(t,e){return this.surfaceSecondaryNoise.sample(t,0,e)}getRandom(t){return M(this.positionalRandoms,t,(()=>this.random.fromHashOf(t)))}}class ee{constructor(t,e,i,s,n){this.system=t,this.chunk=e,this.noiseChunk=i,this.context=s,this.getBiome=n,this.blockX=0,this.blockY=0,this.blockZ=0,this.stoneDepthAbove=0,this.stoneDepthBelow=0,this.surfaceDepth=0,this.waterHeight=0,this.biome=()=>\"\",this.surfaceSecondary=()=>0,this.minSurfaceLevel=()=>0}updateXZ(t,e){this.blockX=t,this.blockZ=e,this.surfaceDepth=this.system.getSurfaceDepth(t,e),this.surfaceSecondary=D((()=>this.system.getSurfaceSecondary(t,e))),this.minSurfaceLevel=D((()=>this.calculateMinSurfaceLevel(t,e)))}updateY(t,e,i,s){this.blockY=s,this.stoneDepthAbove=t,this.stoneDepthBelow=e,this.waterHeight=i,this.biome=D((()=>this.getBiome(a.create(this.blockX,this.blockY,this.blockZ))))}calculateMinSurfaceLevel(t,e){const i=t>>4,s=e>>4,n=this.noiseChunk.getPreliminarySurfaceLevel(i<<4,s<<4),r=this.noiseChunk.getPreliminarySurfaceLevel(i+1<<4,s<<4),o=this.noiseChunk.getPreliminarySurfaceLevel(i<<4,s+1<<4),a=this.noiseChunk.getPreliminarySurfaceLevel(i+1<<4,s+1<<4);return Math.floor(Y((15&t)/16,(15&e)/16,n,r,o,a))+this.surfaceDepth-8}}!function(t){function e(t){return()=>()=>t}function i(t){return e=>{const i=t.map((t=>t(e)));return(t,e,s)=>{for(const n of i){const i=n(t,e,s);if(i)return i}}}}function s(t,e){return i=>(s,n,r)=>{if(t(i))return e(i)(s,n,r)}}t.NOOP=()=>()=>{},t.fromJson=function(n){var r,o,a;const l=null!==(r=_.readObject(n))&&void 0!==r?r:{};switch(null===(o=_.readString(l.type))||void 0===o?void 0:o.replace(/^minecraft:/,\"\")){case\"block\":return e(x.fromJson(l.result_state));case\"sequence\":return i(null!==(a=_.readArray(l.sequence,t.fromJson))&&void 0!==a?a:[]);case\"condition\":return s(jt.fromJson(l.if_true),t.fromJson(l.then_run))}return t.NOOP},t.block=e,t.sequence=i,t.condition=s}(zt||(zt={})),function(t){function e(){return t=>t.blockY>=t.minSurfaceLevel()}function i(t){const e=new Set(t);return t=>e.has(t.biome())}function s(t){return e=>!t(e)}function n(t,e,i,s){return n=>{const r=s?n.stoneDepthBelow:n.stoneDepthAbove,o=e?n.surfaceDepth:0,a=0===i?0:j(n.surfaceSecondary(),-1,1,0,i);return r<=1+t+o+a}}function r(t,e,i){return s=>{const n=e(s.context),r=i(s.context);if(s.blockY<=n)return!0;if(s.blockY>=r)return!1;const o=s.system.getRandom(t),a=j(s.blockY,n,r,1,0);return o.nextFloat(){if(s.waterHeight===Number.MIN_SAFE_INTEGER)return!0;const n=i?s.stoneDepthAbove:0;return s.blockY+n>=s.waterHeight+t+s.surfaceDepth*e}}function a(t,e,i){return s=>{const n=i?s.stoneDepthAbove:0;return s.blockY+n>=t(s.context)+s.surfaceDepth*e}}t.FALSE=()=>!1,t.TRUE=()=>!0,t.fromJson=function(e){var l,h,u,c,d,f,g,p,m,v,b,S;const E=null!==(l=_.readObject(e))&&void 0!==l?l:{};switch(null===(h=_.readString(E.type))||void 0===h?void 0:h.replace(/^minecraft:/,\"\")){case\"above_preliminary_surface\":return t=>t.blockY>=t.minSurfaceLevel();case\"biome\":return i(null!==(u=_.readArray(E.biome_is,(t=>{var e;return null!==(e=_.readString(t))&&void 0!==e?e:\"\"})))&&void 0!==u?u:[]);case\"not\":return s(t.fromJson(E.invert));case\"stone_depth\":return n(null!==(c=_.readInt(E.offset))&&void 0!==c?c:0,null!==(d=_.readBoolean(E.add_surface_depth))&&void 0!==d&&d,null!==(f=_.readInt(E.secondary_depth_range))&&void 0!==f?f:0,\"ceiling\"===_.readString(E.surface_type));case\"vertical_gradient\":return r(null!==(g=_.readString(E.random_name))&&void 0!==g?g:\"\",Ht.fromJson(E.true_at_and_below),Ht.fromJson(E.false_at_and_above));case\"water\":return o(null!==(p=_.readInt(E.offset))&&void 0!==p?p:0,null!==(m=_.readInt(E.surface_depth_multiplier))&&void 0!==m?m:0,null!==(v=_.readBoolean(E.add_surface_depth))&&void 0!==v&&v);case\"y_above\":return a(Ht.fromJson(E.anchor),null!==(b=_.readInt(E.surface_depth_multiplier))&&void 0!==b?b:0,null!==(S=_.readBoolean(E.add_surface_depth))&&void 0!==S&&S)}return t.FALSE},t.abovePreliminarySurface=e,t.biome=i,t.not=s,t.stoneDepth=n,t.verticalGradient=r,t.water=o,t.yAbove=a}(jt||(jt={}));class ie{constructor(t,e,i){this.biomeSource=e,this.settings=i,this.sampler=new Qt(i.noise,i.noiseCavesEnabled,t,i.legacyRandomSource),this.noiseChunkCache=new Map,this.materialRule=Mt.fromList([(t,e,i,s)=>t.updateNoiseAndGenerateBaseState(e,i,s)]),this.surfaceSystem=new te(i.surfaceRule,i.defaultBlock,t)}fill(t){var e;const i=Math.max(t.minY,this.settings.noise.minY),s=Math.min(t.maxY,this.settings.noise.minY+this.settings.noise.height),n=Ot.cellWidth(this.settings.noise),r=Ot.cellHeight(this.settings.noise),o=Math.floor(16/n),a=Math.floor(i/r),l=Math.floor((s-i)/r),h=y.minBlockX(t.pos),u=y.minBlockZ(t.pos),c=this.getNoiseChunk(t);c.initializeForFirstCellX();for(let i=0;i=0;d-=1){c.selectCellYZ(d,s);for(let l=r-1;l>=0;l-=1){const f=(a+d)*r+l,g=15&f,p=t.getSectionIndex(f);t.getSectionIndex(o.minBlockY)!==p&&(o=t.getOrCreateSection(p));const m=l/r;c.updateForY(m);for(let t=0;te))}getNoiseChunk(t){return M(this.noiseChunkCache,y.toLong(t.pos),(()=>{const e=Math.max(t.minY,this.settings.noise.minY),i=Math.min(t.maxY,this.settings.noise.minY+this.settings.noise.height),s=Ot.cellWidth(this.settings.noise),n=Ot.cellHeight(this.settings.noise),r=Math.floor(16/s),o=Math.floor(e/n),a=Math.floor((i-e)/n),l=y.minBlockX(t.pos),h=y.minBlockZ(t.pos);return new Kt(r,a,o,this.sampler,l,h,(()=>0),this.settings)}))}}!function(t){t.fromJson=function(t){var e,i,s,n,r,o,a,l,h,u,c;const d=null!==(e=_.readObject(t))&&void 0!==e?e:{};return{structures:Xt.fromJson(d.structures),surfaceRule:zt.fromJson(d.surface_rule),noise:Ot.fromJson(d.noise),defaultBlock:x.fromJson(d.default_block),defaultFluid:x.fromJson(d.default_fluid),bedrockRoofPosition:null!==(i=_.readInt(d.bedrock_roof_position))&&void 0!==i?i:0,bedrockFloorPosition:null!==(s=_.readInt(d.bedrock_floor_position))&&void 0!==s?s:0,seaLevel:null!==(n=_.readInt(d.sea_level))&&void 0!==n?n:0,disableMobGeneration:null!==(r=_.readBoolean(d.disable_mob_generation))&&void 0!==r&&r,aquifersEnabled:null!==(o=_.readBoolean(d.aquifers_enabled))&&void 0!==o&&o,noiseCavesEnabled:null!==(a=_.readBoolean(d.noise_caves_enabled))&&void 0!==a&&a,deepslateEnabled:null!==(l=_.readBoolean(d.deepslate_enabled))&&void 0!==l&&l,oreVeinsEnabled:null!==(h=_.readBoolean(d.ore_veins_enabled))&&void 0!==h&&h,noodleCavesEnabled:null!==(u=_.readBoolean(d.noodle_caves_enabled))&&void 0!==u&&u,legacyRandomSource:null!==(c=_.readBoolean(d.legacy_random_source))&&void 0!==c&&c}}}(Jt||(Jt={})),function(t){t.fromJson=function(t){var e;const i=null!==(e=_.readObject(t))&&void 0!==e?e:{};return{stronghold:_.compose(i.stronghold,_.readObject,(t=>{var e,i,s;return{distance:null!==(e=_.readInt(t.distance))&&void 0!==e?e:0,spread:null!==(i=_.readInt(t.spread))&&void 0!==i?i:0,count:null!==(s=_.readInt(t.count))&&void 0!==s?s:0}})),structures:_.readMap(i.structures,(t=>{var e;return(t=>{var e,i,s;return{spacing:null!==(e=_.readInt(t.spacing))&&void 0!==e?e:0,separation:null!==(i=_.readInt(t.separation))&&void 0!==i?i:0,salt:null!==(s=_.readInt(t.salt))&&void 0!==s?s:0}})(null!==(e=_.readObject(t))&&void 0!==e?e:{})}))}}}(Xt||(Xt={}));export{st as BlendedNoise,vt as BlockColors,It as BlockDefinition,_t as BlockModel,a as BlockPos,x as BlockState,C as Chunk,y as ChunkPos,T as ChunkSection,Dt as Climate,ot as ConstantProvider,r as Direction,Zt as FixedBiome,Gt as FlatNoiseData,et as ImprovedNoise,_ as Json,$ as LegacyPositionalRandom,q as LegacyRandom,Mt as MaterialRule,Wt as MultiNoise,u as NbtReader,c as NbtWriter,Kt as NoiseChunk,ie as NoiseChunkGenerator,Jt as NoiseGeneratorSettings,$t as NoiseInterpolator,R as NoiseParameters,Qt as NoiseSampler,P as NoiseSamplingSettings,Ot as NoiseSettings,Lt as NoiseSlideSettings,Yt as Noises,nt as NormalNoise,B as NumberProvider,it as PerlinNoise,rt as PerlinSimplexNoise,tt as SimplexNoise,at as Spline,k as Structure,Tt as StructureRenderer,Xt as StructureSettings,jt as SurfaceCondition,ee as SurfaceContext,zt as SurfaceRule,te as SurfaceSystem,Ut as TerrainInfo,qt as TerrainShaper,kt as TextureAtlas,Ht as VerticalAnchor,Vt as WorldgenContext,Q as XoroshiroPositionalRandom,K as XoroshiroRandom,X as binarySearch,L as clamp,H as clampedLerp,J as clampedMap,M as computeIfAbsent,N as getListTag,F as getOptional,Z as getSeed,A as getTag,V as inverseLerp,D as lazy,U as lerp,Y as lerp2,G as lerp3,W as longfromBytes,j as map,g as read,m as readChunk,f as readCompressed,p as readRegion,d as readUncompressed,z as smoothstep,O as square,h as tagNames,l as tagTypes,S as write,I as writeChunk,b as writeCompressed,E as writeRegion,v as writeUncompressed};\n//# sourceMappingURL=deepslate.esm.js.map\n"],"names":["t","i.create","i.transformMat4","s.create","s.identity","s.translate","s.rotateY","n.toRadian","s.rotateX","s.scale","i.fromValues","s.rotate","i.negate","s.perspective","i.subtract","i.cross","i.normalize","i.equals","s.copy"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"deepslate.esm.722e0796.js","sources":["../../node_modules/deepslate-1.18/dist/deepslate.esm.js"],"sourcesContent":["import t from\"pako\";import e from\"md5\";import{vec3 as i,mat4 as s,glMatrix as n}from\"gl-matrix\";var r;!function(t){t.UP=\"up\",t.DOWN=\"down\",t.NORTH=\"north\",t.EAST=\"east\",t.SOUTH=\"south\",t.WEST=\"west\"}(r||(r={}));const o={[r.UP]:[0,1,0],[r.DOWN]:[0,-1,0],[r.NORTH]:[0,0,-1],[r.EAST]:[1,0,0],[r.SOUTH]:[0,0,1],[r.WEST]:[-1,0,0]};var a;!function(t){t.ALL=[t.UP,t.DOWN,t.NORTH,t.EAST,t.SOUTH,t.WEST],t.normal=function(t){return o[t]}}(r||(r={})),function(t){t.create=function(t,e,i){return[t,e,i]},t.offset=function(t,e,i,s){return[t[0]+e,t[1]+i,t[2]+s]},t.towards=function(e,i){return t.offset(e,...r.normal(i))}}(a||(a={}));const l={end:0,byte:1,short:2,int:3,long:4,float:5,double:6,byteArray:7,string:8,list:9,compound:10,intArray:11,longArray:12},h=[\"end\",\"byte\",\"short\",\"int\",\"long\",\"float\",\"double\",\"byteArray\",\"string\",\"list\",\"compound\",\"intArray\",\"longArray\"];class u{constructor(t,e=!1){this.byte=this.readNum.bind(this,\"getInt8\",1),this.short=this.readNum.bind(this,\"getInt16\",2),this.int=this.readNum.bind(this,\"getInt32\",4),this.float=this.readNum.bind(this,\"getFloat32\",4),this.double=this.readNum.bind(this,\"getFloat64\",8),this.offset=0,this.littleEndian=e,this.arrayView=t,this.dataView=new DataView(t.buffer,t.byteOffset)}end(){return null}readNum(t,e){const i=this.dataView[t](this.offset,this.littleEndian);return this.offset+=e,i}long(){return[this.int(),this.int()]}byteArray(){const t=this.int(),e=[];for(let i=0;i=e)return;let i=this.buffer.byteLength;for(;ithis.buffer.byteLength&&n.fill(0,this.buffer.byteLength,this.offset),this.buffer=s,this.dataView=new DataView(s),this.arrayView=n}getData(){return this.accommodate(0),this.arrayView.slice(0,this.offset)}end(t){}writeNum(t,e,i){this.accommodate(e),this.dataView[t](this.offset,i,this.littleEndian),this.offset+=e}long(t){this.int(t[0]),this.int(t[1])}byteArray(t){this.int(t.length),this.accommodate(t.length),this.arrayView.set(t,this.offset),this.offset+=t.length}intArray(t){this.int(t.length);for(let e=0;e>6),s.push(128|63&i)):i<65536?(s.push(224|i>>12),s.push(128|i>>6&63),s.push(128|63&i)):(s.push(240|i>>18&7),s.push(128|i>>12&63),s.push(128|i>>6&63),s.push(128|63&i));return s}(t);this.short(e.length),this.accommodate(e.length),this.arrayView.set(e,this.offset),this.offset+=e.length}list(t){this.byte(l[t.type]),this.int(t.value.length),t.value;for(let e=0;e>16),s.setInt16(t+1,65535&n),s.setInt8(t+3,r),s.setInt32(t+4096,e.timestamp);const o=4096*n;s.setInt32(o,e.data.length+1),s.setInt8(o+4,e.compression),i.set(e.data,o+5),n+=r}return i}function I(t,e,i,s){const n=w(t,e,i);switch(n.compression){case 1:n.data=b(s);break;case 2:n.data=b(s,!1,!0);break;case 3:n.data=v(s);break;default:throw new Error(`Invalid compression mode ${n.compression}`)}return n}function w(t,e,i){const s=t.find((t=>t.x===e&&t.z===i));if(void 0===s)throw new Error(`Cannot find chunk [${e}, ${i}]`);return s}function A(t,e,i){if(!t[e])throw new Error(`Missing ${e} tag`);if(t[e].type!==i)throw new Error(`Expected ${e} to be of type ${i}, but found ${t[e].type}`);return t[e].value}function N(t,e,i,s){const n=A(t,e,\"list\");if(n.type!==i)throw new Error(`Expected ${e} to be a list of ${i}s, but found ${n.type}s`);if(s&&n.value.length!==s)throw new Error(`Expected ${e} to be a list of length ${s}, but found length ${n.value.length}`);return n.value}function F(t,e){try{return t()}catch(t){return e}}var _,y,P,R,B;!function(t){function e(t){return\"object\"==typeof t&&null!==t?t:void 0}t.readNumber=function(t){return\"number\"==typeof t?t:void 0},t.readInt=function(t){return\"number\"==typeof t?Math.floor(t):void 0},t.readString=function(t){return\"string\"==typeof t?t:void 0},t.readBoolean=function(t){return\"boolean\"==typeof t?t:void 0},t.readObject=e,t.readArray=function(t,e){if(Array.isArray(t))return t.map((t=>e(t)))},t.readMap=function(t,i){var s;const n=null!==(s=e(t))&&void 0!==s?s:{};return Object.fromEntries(Object.entries(n).map((([t,e])=>[t,i(e)])))},t.compose=function(t,e,i){const s=e(t);return s?i(s):void 0}}(_||(_={}));class x{constructor(t,e={}){this.name=t,this.properties=e}getName(){return this.name}getProperties(){return this.properties}getProperty(t){return this.properties[t]}isFluid(){return\"minecraft:water\"===this.name||\"minecraft:lava\"===this.name}equals(t){return this.name===t.name&&Object.keys(this.properties).every((e=>t.properties[e]===this.properties[e]))}toString(){return 0===Object.keys(this.properties).length?this.name:`${this.name}[${Object.entries(this.properties).map((([t,e])=>t+\"=\"+e)).join(\",\")}]`}static fromNbt(t){const e=A(t.value,\"Name\",\"string\"),i=F((()=>A(t.value,\"Properties\",\"compound\")),{}),s=Object.keys(i).reduce(((t,e)=>Object.assign(Object.assign({},t),{[e]:A(i,e,\"string\")})),{});return new x(e,s)}static fromJson(t){var e,i;const s=null!==(e=_.readObject(t))&&void 0!==e?e:{},n=null!==(i=_.readString(s.Name))&&void 0!==i?i:\"minecraft:stone\",r=_.readMap(s.Properties,(t=>{var e;return null!==(e=_.readString(t))&&void 0!==e?e:\"\"}));return new x(n,r)}}x.AIR=new x(\"minecraft:air\");class T{constructor(t){this.minY=t,this.storage=Array(T.SIZE),this.palette=[x.AIR]}get minBlockY(){return this.minY<<4}index(t,e,i){return(t<<8)+(e<<4)+i}getBlockState(t,e,i){var s;const n=this.storage[this.index(t,e,i)];return null!==(s=this.palette[n])&&void 0!==s?s:x.AIR}setBlockState(t,e,i,s){let n=this.palette.findIndex((t=>t.equals(s)));-1===n&&(n=this.palette.length,this.palette.push(s)),this.storage[this.index(t,e,i)]=n}}T.WIDTH=16,T.SIZE=T.WIDTH*T.WIDTH*T.WIDTH;class C{constructor(t,e,i){this.minY=t,this.height=e,this.pos=i,this.sections=Array(this.sectionsCount).fill(null)}get maxY(){return this.minY+this.height}get minSection(){return this.minY>>4}get maxSection(){return 1+(this.maxY-1>>4)}get sectionsCount(){return this.maxSection-this.minSection}getSectionIndex(t){return(t>>4)-this.minSection}getBlockState(t){var e;const[i,s,n]=t,r=this.sections[this.getSectionIndex(s)];return null!==(e=null==r?void 0:r.getBlockState(15&i,15&s,15&n))&&void 0!==e?e:x.AIR}setBlockState(t,e){const[i,s,n]=t,r=this.getSectionIndex(s);let o=this.sections[r];if(null===o){if(e.equals(x.AIR))return;o=this.getOrCreateSection(r)}o.setBlockState(15&i,15&s,15&n,e)}getOrCreateSection(t){return null==this.sections[t]&&(this.sections[t]=new T(this.minSection+t)),this.sections[t]}}!function(t){function e(t,e){return BigInt(4294967295&t)|BigInt(4294967295&e)<>4,t[2]>>4]},t.fromLong=function(t){return[4294967295&Number(t),Number(t>>BigInt(32))]},t.toLong=function(t){return e(t[0],t[1])},t.asLong=e,t.minBlockX=function(t){return t[0]<<4},t.minBlockZ=function(t){return t[1]<<4},t.maxBlockX=function(t){return 15+(t[0]<<4)},t.maxBlockZ=function(t){return 15+(t[1]<<4)}}(y||(y={}));class k{constructor(t,e=[],i=[]){this.size=t,this.palette=e,this.blocks=i,this.blocksMap=[],i.forEach((e=>{if(!this.isInside(e.pos))throw new Error(`Found block at ${e.pos} which is outside the structure bounds ${this.size}`);this.blocksMap[e.pos[0]*t[1]*t[2]+e.pos[1]*t[2]+e.pos[2]]=e}))}getSize(){return this.size}addBlock(t,e,i,s){if(!this.isInside(t))throw new Error(`Cannot add block at ${t} outside the structure bounds ${this.size}`);const n=new x(e,i);let r=this.palette.findIndex((t=>t.equals(n)));return-1===r&&(r=this.palette.length,this.palette.push(n)),this.blocks.push({pos:t,state:r,nbt:s}),this.blocksMap[t[0]*this.size[1]*this.size[2]+t[1]*this.size[2]+t[2]]={pos:t,state:r,nbt:s},this}getBlocks(){return this.blocks.map((t=>({pos:t.pos,state:this.palette[t.state],nbt:t.nbt})))}getBlock(t){if(!this.isInside(t))return null;const e=this.blocksMap[t[0]*this.size[1]*this.size[2]+t[1]*this.size[2]+t[2]];if(!e)return null;return{pos:e.pos,state:this.palette[e.state],nbt:e.nbt}}isInside(t){return t[0]>=0&&t[0]=0&&t[1]=0&&t[2]x.fromNbt({name:\"\",value:t}))),s=N(t.value,\"blocks\",\"compound\").map((t=>({pos:N(t,\"pos\",\"int\",3),state:A(t,\"state\",\"int\"),nbt:F((()=>A(t,\"nbt\",\"compound\")),void 0)})));return new k(e,i,s)}}function D(t){let e=null;return()=>(null==e&&(e=t()),e)}function M(t,e,i){const s=t.get(e);if(s)return s;const n=i(e);return t.set(e,n),n}function O(t){return t*t}function L(t,e,i){return Math.max(e,Math.min(i,t))}function U(t,e,i){return e+t*(i-e)}function Y(t,e,i,s,n,r){return U(e,U(t,i,s),U(t,n,r))}function G(t,e,i,s,n,r,o,a,l,h,u){return U(i,Y(t,e,s,n,r,o),Y(t,e,a,l,h,u))}function H(t,e,i){return i<0?t:i>1?e:U(i,t,e)}function V(t,e,i){return(t-e)/(i-e)}function z(t){return t*t*t*(t*(6*t-15)+10)}function j(t,e,i,s,n){return U(V(t,e,i),s,n)}function J(t,e,i,s,n){return H(s,n,V(t,e,i))}function X(t,e,i){let s=e-t;for(;s>0;){const e=Math.floor(s/2),n=t+e;i(n)?s=e:(t=n+1,s-=e+1)}return t}function Z(t,e,i){let s=BigInt(3129871*t)^BigInt(i)*BigInt(116129781)^BigInt(e);return s=s*s*BigInt(42317861)+s*BigInt(11),s>>BigInt(16)}function W(t,e,i,s,n,r,o,a){return BigInt(t)<>BigInt(q.MODULUS_BITS-t));return e>2147483647?e-4294967296:e}nextInt(t){if(void 0===t)return this.next(32);if(0==(t&t-1))return Number(BigInt(t)*BigInt(this.next(31))>>BigInt(31));let e,i;for(;(e=this.next(31))-(i=e%t)+(t-1)<0;);return i}nextLong(){return(BigInt(this.next(32))<>BigInt(30))*BigInt(\"-4658895280553007687\")&BigInt(\"0xFFFFFFFFFFFFFFFF\"))^t>>BigInt(27))*BigInt(\"-7723592293110705685\")&BigInt(\"0xFFFFFFFFFFFFFFFF\"))^t>>BigInt(31))&BigInt(\"0xFFFFFFFFFFFFFFFF\")}static upgradeSeedTo128bit(t){t<0&&(t+=BigInt(\"0x10000000000000000\"));const e=t^K.SILVER_RATIO_64,i=e+K.GOLDEN_RATIO_64&BigInt(\"0xFFFFFFFFFFFFFFFF\");return[K.mixStafford13(e),K.mixStafford13(i)]}static rotateLeft(t,e){return t<>BigInt(64)-e}setSeed(t){this.seed=K.upgradeSeedTo128bit(t)}fork(){return new K([this.next(),this.next()])}forkPositional(){return new Q(this.next(),this.next())}next(){const t=this.seed[0];let e=this.seed[1];const i=K.rotateLeft(t+e&BigInt(\"0xFFFFFFFFFFFFFFFF\"),BigInt(17))+t&BigInt(\"0xFFFFFFFFFFFFFFFF\");return e^=t,this.seed=[K.rotateLeft(t,BigInt(49))^e^e<BigInt(\"0x8000000000000000\")&&(t-=BigInt(\"0x10000000000000000\")),t}consume(t){let e=this.seed[0],i=this.seed[1];for(let s=0;s>BigInt(64-t)}nextInt(t){let e=this.next()&BigInt(4294967295);if(t){const i=BigInt(t);let s=e*i,n=s&BigInt(4294967295);if(n>BigInt(32);return Number(r)}{let t=Number(e);return t>=2147483648&&(t-=4294967296),t}}nextFloat(){return Number(this.nextBits(24))*K.FLOAT_MULTIPLIER}nextDouble(){return Number(this.nextBits(53))*K.DOUBLE_MULTIPLIER}parityConfigString(){return\"seedLo: \"+this.seed[0]+\", seedHi: \"+this.seed[1]}}K.SILVER_RATIO_64=BigInt(\"7640891576956012809\"),K.GOLDEN_RATIO_64=BigInt(\"-7046029254386353131\"),K.FLOAT_MULTIPLIER=1/Math.pow(2,24),K.DOUBLE_MULTIPLIER=11102230246251565e-32;class Q{constructor(t,e){this.seedLo=t,this.seedHi=e}at(t,e,i){const s=Z(t,e,i)^this.seedLo;return new K([s,this.seedHi])}fromHashOf(t){const i=e(t,{asBytes:!0}),s=W(i[0],i[1],i[2],i[3],i[4],i[5],i[6],i[7]),n=W(i[8],i[9],i[10],i[11],i[12],i[13],i[14],i[15]);return new K([s^this.seedLo,n^this.seedHi])}}class tt{constructor(t){this.xo=256*t.nextDouble(),this.yo=256*t.nextDouble(),this.zo=256*t.nextDouble(),this.p=Array(256);for(let t=0;t<256;t+=1)this.p[t]=t;for(let e=0;e<256;e+=1){const i=t.nextInt(256-e),s=this.p[e];this.p[e]=this.p[e+i],this.p[e+i]=s}}sample2D(t,e){let i,s,n;const r=(t+e)*tt.F2,o=Math.floor(t+r),a=t-(o-(i=(o+(s=Math.floor(e+r)))*tt.G2));let l,h;a>(n=e-(s-i))?(l=1,h=0):(l=0,h=1);const u=a-l+tt.G2,c=n-h+tt.G2,d=a-1+2*tt.G2,f=n-1+2*tt.G2,g=255&o,p=255&s,m=this.P(g+this.P(p))%12,v=this.P(g+l+this.P(p+h))%12,b=this.P(g+1+this.P(p+1))%12;return 70*(this.getCornerNoise3D(m,a,n,0,.5)+this.getCornerNoise3D(v,u,c,0,.5)+this.getCornerNoise3D(b,d,f,0,.5))}sample(t,e,i){const s=.3333333333333333*(t+e+i),n=Math.floor(t+s),r=Math.floor(e+s),o=Math.floor(i+s),a=.16666666666666666*(n+r+o),l=t-(n-a),h=e-(r-a),u=i-(o-a);let c,d,f,g,p,m;l>=h?h>=u?(c=1,d=0,f=0,g=1,p=1,m=0):l>=u?(c=1,d=0,f=0,g=1,p=0,m=1):(c=0,d=0,f=1,g=1,p=0,m=1):h127?t-256:t;for(let e=0;e<256;e+=1){const i=t.nextInt(256-e),s=this.p[e];this.p[e]=this.p[e+i],this.p[e+i]=s}}sample(t,e,i,s=0,n=0){const r=t+this.xo,o=e+this.yo,a=i+this.zo,l=Math.floor(r),h=Math.floor(o),u=Math.floor(a),c=r-l,d=o-h,f=a-u;let g=0;if(0!==s){const t=n>=0&&n=0;s-=1)s0&&(s=this.maxLimitNoise.getOctaveNoise(l))&&(a+=s.sample(c,d,f,u,e*u)/r),r/=2}return H(o/512,a/512,n)/128}}!function(t){t.fromJson=function(t){var e,i,s,n,r;const o=null!==(e=_.readObject(t))&&void 0!==e?e:{};return{xzScale:null!==(i=_.readNumber(o.xz_scale))&&void 0!==i?i:1,yScale:null!==(s=_.readNumber(o.y_scale))&&void 0!==s?s:1,xzFactor:null!==(n=_.readNumber(o.xz_factor))&&void 0!==n?n:80,yFactor:null!==(r=_.readNumber(o.y_factor))&&void 0!==r?r:80}}}(P||(P={}));class nt{constructor(t,{firstOctave:e,amplitudes:i}){this.first=new it(t,e,i),this.second=new it(t,e,i);let s=1/0,n=-1/0;for(let t=0;t{var e;return null!==(e=_.readNumber(t))&&void 0!==e?e:0})))&&void 0!==s?s:[]}}}(R||(R={}));class rt{constructor(t,e){const i=e[e.length-1],s=-e[0]+i+1,n=new Set(e),r=new tt(t);this.noiseLevels=Array(s),i>=0&&i=0&&n.has(i-e)?this.noiseLevels[e]=new tt(t):t.consume(262);if(i>0)throw new Error(\"Positive octaves are not allowed\");this.highestFreqInputFactor=Math.pow(2,i),this.highestFreqValueFactor=1/(Math.pow(2,s)-1)}sample(t,e,i){let s=0,n=this.highestFreqInputFactor,r=this.highestFreqValueFactor;for(let o=0;o{var e;return null!==(e=_.readObject(t))&&void 0!==e?e:{}})))&&void 0!==n?n:[];if(0===h.length)return new ot(0);for(const e of h){const s=null!==(r=_.readNumber(e.location))&&void 0!==r?r:0,n=t.fromJson(e.value,i),a=null!==(o=_.readNumber(e.derivative))&&void 0!==o?o:0;l.addPoint(s,n,a)}return l}}(B||(B={}));class ot{constructor(t){this.value=t}apply(){return this.value}toJson(){return this.value}}class at{constructor(t,e=[],i=[],s=[]){this.coordinate=t,this.locations=e,this.values=i,this.derivatives=s}apply(t){const e=this.coordinate.apply(t),i=X(0,this.locations.length,(t=>e({location:t,value:this.values[e].toJson(),derivative:this.derivatives[e]})))}}}const lt=t=>[(t>>16&255)/256,(t>>8&255)/256,(255&t)/256],ht=[124/256,189/256,107/256],ut=lt(6396257),ct=lt(8431445),dt=lt(4764952),ft=lt(4159204),gt=lt(8431445),pt=lt(2129968),mt=t=>[t/8,1-t/32,64*t],vt={large_fern:()=>ht,tall_grass:()=>ht,grass_block:()=>ht,fern:()=>ht,grass:()=>ht,potted_fern:()=>ht,spruce_leaves:()=>ut,birch_leaves:()=>ct,oak_leaves:()=>dt,jungle_leaves:()=>dt,acacia_leaves:()=>dt,dark_oak_leaves:()=>dt,vine:()=>dt,water:()=>ft,bubble_column:()=>ft,cauldron:()=>ft,redstone_wire:t=>{var e;return(t=>{const e=t/15;return[.6*e+(e>0?.4:.3),L(e*e*.7-.5,0,1),L(e*e*.6-.7,0,1)]})(parseInt(null!==(e=t.power)&&void 0!==e?e:\"0\"))},sugar_cane:()=>ht,attached_melon_stem:()=>gt,attached_pumpkin_stem:()=>gt,melon_stem:t=>{var e;return mt(parseInt(null!==(e=t.age)&&void 0!==e?e:\"0\"))},pumpkin_stem:t=>{var e;return mt(parseInt(null!==(e=t.age)&&void 0!==e?e:\"0\"))},lily_pad:()=>pt};var bt;function St(...t){let e=0;for(const i of t)e+=i.length;const i=new Float32Array(e);let s=0;for(const e of t)i.set(e,s),s+=e.length;return i}function Et(t,e){const s=i.create();for(let n=0;nthis.matchesVariant(e,t)));if(0===e.length)return[];const i=this.variants[e[0]];return[Array.isArray(i)?i[0]:i]}if(this.multipart){return this.multipart.filter((e=>!e.when||this.matchesCase(e.when,t))).map((t=>Array.isArray(t.apply)?t.apply[0]:t.apply))}return[]}getBuffers(t,e,i,r,o,a){var l,h,u,c;const d=this.getModelVariants(e),f=[],g=[],p=[],m=[];for(const v of d){const d=bt.rotate(a,null!==(l=v.x)&&void 0!==l?l:0,null!==(h=v.y)&&void 0!==h?h:0),b=r.getBlockModel(v.model).getBuffers(t,e,i,o,d);if(v.x||v.y){const t=s.create();s.identity(t),s.translate(t,t,[8,8,8]),s.rotateY(t,t,-n.toRadian(null!==(u=v.y)&&void 0!==u?u:0)),s.rotateX(t,t,-n.toRadian(null!==(c=v.x)&&void 0!==c?c:0)),s.translate(t,t,[-8,-8,-8]),Et(b.position,t)}f.push(b.position),g.push(...b.texCoord),p.push(...b.tintColor),m.push(...b.index),o+=b.texCoord.length/2}const v=s.create();s.identity(v),s.scale(v,v,[.0625,.0625,.0625]);const b=St(...f);return Et(b,v),{position:b,texCoord:g,tintColor:p,index:m}}matchesVariant(t,e){return t.split(\",\").every((t=>{const[i,s]=t.split(\"=\");return e[i]===s}))}matchesCase(t,e){if(Array.isArray(t.OR))return t.OR.some((t=>this.matchesCase(t,e)));const i=t;return Object.keys(i).every((t=>i[t].split(\"|\").includes(e[t])))}static fromJson(t,e){return new It(t,e.variants,e.multipart)}}const wt={0:[0,3,2,3,2,1,0,1],90:[2,3,2,1,0,1,0,3],180:[2,1,0,1,0,3,2,3],270:[0,1,0,3,2,3,2,1]},At={x:[1,0,0],y:[0,1,0],z:[0,0,1]},Nt=1.41421356237,Ft={x:[1,Nt,Nt],y:[Nt,1,Nt],z:[Nt,Nt,1]};class _t{constructor(t,e,i,s){this.id=t,this.parent=e,this.textures=i,this.elements=s,this.flattened=!1}getBuffers(t,e,i,s,n){var r;const o=[],a=[],l=[],h=[];for(const u of null!==(r=this.elements)&&void 0!==r?r:[]){const r=this.getElementBuffers(t,e,u,s,i,n);o.push(r.position),a.push(...r.texCoord),l.push(...r.tintColor),h.push(...r.index),s+=r.texCoord.length/2}return{position:St(...o),texCoord:a,tintColor:l,index:h}}getElementBuffers(t,e,r,o,a,l){var h,u,c,d,f,g,p,m,v,b,S,E;const I=r.from[0],w=r.from[1],A=r.from[2],N=r.to[0],F=r.to[1],_=r.to[2],y=[],P=[],R=[],B=[],x=(i,s,n)=>{var r,l,h,u,c,d,f,g,p,m,v,b;const[S,E,I,w]=a.getTextureUV(this.getTexture(i.texture)),A=(I-S)/16,N=(w-E)/16,F=A/16,_=N/16;s[0]=(null!==(l=null===(r=i.uv)||void 0===r?void 0:r[0])&&void 0!==l?l:s[0])*A+F,s[1]=(null!==(u=null===(h=i.uv)||void 0===h?void 0:h[1])&&void 0!==u?u:s[1])*N+_,s[2]=(null!==(d=null===(c=i.uv)||void 0===c?void 0:c[2])&&void 0!==d?d:s[2])*A-F,s[3]=(null!==(g=null===(f=i.uv)||void 0===f?void 0:f[3])&&void 0!==g?g:s[3])*N-_;const x=wt[null!==(p=i.rotation)&&void 0!==p?p:0];P.push(S+s[x[0]],E+s[x[1]],S+s[x[2]],E+s[x[3]],S+s[x[4]],E+s[x[5]],S+s[x[6]],E+s[x[7]]);const T=(null!==(m=i.tintindex)&&void 0!==m?m:-1)>=0&&null!==(b=null===(v=vt[t.slice(10)])||void 0===v?void 0:v.call(vt,e))&&void 0!==b?b:[1,1,1];R.push(...T,...T,...T,...T),y.push(...n),B.push(o,o+1,o+2,o,o+2,o+3),o+=4};!(null===(u=null===(h=r.faces)||void 0===h?void 0:h.up)||void 0===u?void 0:u.texture)||r.faces.up.cullface&&l[r.faces.up.cullface]||x(r.faces.up,[I,16-_,N,16-A],[I,F,_,N,F,_,N,F,A,I,F,A]),!(null===(d=null===(c=r.faces)||void 0===c?void 0:c.down)||void 0===d?void 0:d.texture)||r.faces.down.cullface&&l[r.faces.down.cullface]||x(r.faces.down,[16-_,16-N,16-A,16-I],[I,w,A,N,w,A,N,w,_,I,w,_]),!(null===(g=null===(f=r.faces)||void 0===f?void 0:f.south)||void 0===g?void 0:g.texture)||r.faces.south.cullface&&l[r.faces.south.cullface]||x(r.faces.south,[I,16-F,N,16-w],[I,w,_,N,w,_,N,F,_,I,F,_]),!(null===(m=null===(p=r.faces)||void 0===p?void 0:p.north)||void 0===m?void 0:m.texture)||r.faces.north.cullface&&l[r.faces.north.cullface]||x(r.faces.north,[16-N,16-F,16-I,16-w],[N,w,A,I,w,A,I,F,A,N,F,A]),!(null===(b=null===(v=r.faces)||void 0===v?void 0:v.east)||void 0===b?void 0:b.texture)||r.faces.east.cullface&&l[r.faces.east.cullface]||x(r.faces.east,[16-_,16-F,16-A,16-w],[N,w,_,N,w,A,N,F,A,N,F,_]),!(null===(E=null===(S=r.faces)||void 0===S?void 0:S.west)||void 0===E?void 0:E.texture)||r.faces.west.cullface&&l[r.faces.west.cullface]||x(r.faces.west,[A,16-F,_,16-w],[I,w,A,I,w,_,I,F,_,I,F,A]);const T=s.create();if(s.identity(T),r.rotation){const t=i.fromValues(...r.rotation.origin);s.translate(T,T,t),s.rotate(T,T,n.toRadian(r.rotation.angle),At[r.rotation.axis]),r.rotation.rescale&&s.scale(T,T,Ft[r.rotation.axis]),i.negate(t,t),s.translate(T,T,t)}const C=new Float32Array(y);return Et(C,T),{position:C,texCoord:P,tintColor:R,index:B}}getTexture(t){for(var e,i;t.startsWith(\"#\");)t=null!==(i=null===(e=this.textures)||void 0===e?void 0:e[t.slice(1)])&&void 0!==i?i:\"\";return t.startsWith(\"minecraft:\")||(t=\"minecraft:\"+t),t}flatten(t){var e;if(!this.flattened&&this.parent){const i=t.getBlockModel(this.parent);if(!i)return console.warn(`parent ${this.parent} does not exist!`),void(this.flattened=!0);i.flatten(t),this.elements||(this.elements=i.elements),this.textures||(this.textures={}),Object.keys(null!==(e=i.textures)&&void 0!==e?e:{}).forEach((t=>{this.textures[t]||(this.textures[t]=i.textures[t])})),this.flattened=!0}}static fromJson(t,e){let i=e.parent;return i&&!i.startsWith(\"minecraft:\")&&(i=\"minecraft:\"+i),new _t(t,i,e.textures,e.elements)}}class yt{constructor(t,e,i){this.gl=t,this.program=this.initShaderProgram(e,i)}getProgram(){return this.program}initShaderProgram(t,e){const i=this.loadShader(this.gl.VERTEX_SHADER,t),s=this.loadShader(this.gl.FRAGMENT_SHADER,e),n=this.gl.createProgram();if(this.gl.attachShader(n,i),this.gl.attachShader(n,s),this.gl.linkProgram(n),!this.gl.getProgramParameter(n,this.gl.LINK_STATUS))throw new Error(`Unable to link shader program: ${this.gl.getProgramInfoLog(n)}`);return n}loadShader(t,e){const i=this.gl.createShader(t);if(this.gl.shaderSource(i,e),this.gl.compileShader(i),!this.gl.getShaderParameter(i,this.gl.COMPILE_STATUS)){const e=new Error(`Compiling ${t===this.gl.VERTEX_SHADER?\"vertex\":\"fragment\"} shader: ${this.gl.getShaderInfoLog(i)}`);throw this.gl.deleteShader(i),e}return i}}function Pt(t,e,i,s,n){const r=new It(\"\",{\"\":{model:\"\"}},void 0),o={getBlockModel:()=>n};return n.flatten(o),r.getBuffers(t,{},e,o,i,s)}function Rt(t,e,i,s,n,o){const a=n.up?16:[14.2,12.5,10.5,9,7,5.3,3.7,1.9,16,16,16,16,16,16,16,16][i];return Pt(`minecraft:${t}`,s,e,n,new _t(\"\",\"\",{still:`minecraft:block/${t}_still`,flow:`minecraft:block/${t}_flow`},[{from:[0,0,0],to:[16,a,16],faces:{up:{texture:\"#still\",tintindex:o,cullface:r.UP},down:{texture:\"#still\",tintindex:o,cullface:r.DOWN},north:{texture:\"#flow\",tintindex:o,cullface:r.NORTH},east:{texture:\"#flow\",tintindex:o,cullface:r.EAST},south:{texture:\"#flow\",tintindex:o,cullface:r.SOUTH},west:{texture:\"#flow\",tintindex:o,cullface:r.WEST}}}]))}const Bt={\"minecraft:water\":(t,e,i,s)=>Rt(\"water\",t,parseInt(e.level),i,s,0),\"minecraft:lava\":(t,e,i,s)=>Rt(\"lava\",t,parseInt(e.level),i,s),\"minecraft:chest\":(t,e,i)=>function(t,e,i,s){return Pt(\"minecraft:chest\",s,t,{},new _t(\"\",\"\",{0:\"minecraft:block/chest\"},[{from:[1,0,1],to:[15,14,15],faces:{up:{texture:\"#0\"},down:{texture:\"#0\"},north:{texture:\"#0\"},east:{texture:\"#0\"},south:{texture:\"#0\"},west:{texture:\"#0\"}}}]))}(t,e.facing,e.type,i)},xt=new Set(Object.keys(Bt));class Tt{constructor(t,e,i,s){var n,r;this.gl=t,this.structure=e,this.resources=i,this.chunks=[],(null==s?void 0:s.facesPerBuffer)&&console.warn(\"webgl render warning: facesPerBuffer option has been removed in favor of chunkSize\"),this.chunkSize=null!==(n=null==s?void 0:s.chunkSize)&&void 0!==n?n:16,this.useInvisibleBlockBuffer=null===(r=null==s?void 0:s.useInvisibleBlockBuffer)||void 0===r||r,this.shaderProgram=new yt(t,\"\\n attribute vec4 vertPos;\\n attribute vec2 texCoord;\\n attribute vec3 tintColor;\\n attribute vec3 normal;\\n\\n uniform mat4 mView;\\n uniform mat4 mProj;\\n\\n varying highp vec2 vTexCoord;\\n varying highp vec3 vTintColor;\\n varying highp float vLighting;\\n\\n void main(void) {\\n gl_Position = mProj * mView * vertPos;\\n vTexCoord = texCoord;\\n vTintColor = tintColor;\\n vLighting = normal.y * 0.2 + abs(normal.z) * 0.1 + 0.8;\\n }\\n\",\"\\n precision highp float;\\n varying highp vec2 vTexCoord;\\n varying highp vec3 vTintColor;\\n varying highp float vLighting;\\n\\n uniform sampler2D sampler;\\n\\n void main(void) {\\n vec4 texColor = texture2D(sampler, vTexCoord);\\n if(texColor.a < 0.01) discard;\\n gl_FragColor = vec4(texColor.xyz * vTintColor * vLighting, texColor.a);\\n }\\n\").getProgram(),this.gridShaderProgram=new yt(t,\"\\n attribute vec4 vertPos;\\n attribute vec3 vertColor;\\n\\n uniform mat4 mView;\\n uniform mat4 mProj;\\n\\n varying highp vec3 vColor;\\n\\n void main(void) {\\n gl_Position = mProj * mView * vertPos;\\n vColor = vertColor;\\n }\\n\",\"\\n precision highp float;\\n varying highp vec3 vColor;\\n\\n void main(void) {\\n gl_FragColor = vec4(vColor, 1.0);\\n }\\n\").getProgram(),this.colorShaderProgram=new yt(t,\"\\n attribute vec4 vertPos;\\n attribute vec3 blockPos;\\n\\n uniform mat4 mView;\\n uniform mat4 mProj;\\n\\n varying highp vec3 vColor;\\n\\n void main(void) {\\n gl_Position = mProj * mView * vertPos;\\n vColor = blockPos / 256.0;\\n }\\n\",\"\\n precision highp float;\\n varying highp vec3 vColor;\\n\\n void main(void) {\\n gl_FragColor = vec4(vColor, 1.0);\\n }\\n\").getProgram(),this.updateStructureBuffers(),this.gridBuffers=this.getGridBuffers(),this.outlineBuffers=this.getOutlineBuffers(),this.invisibleBlockBuffers=this.getInvisibleBlockBuffers(),this.atlasTexture=this.getBlockTexture(),this.projMatrix=this.getPerspective(),this.activeShader=this.shaderProgram,this.initialize()}setStructure(t){this.structure=t,this.updateStructureBuffers(),this.gridBuffers=this.getGridBuffers(),this.invisibleBlockBuffers=this.getInvisibleBlockBuffers()}initialize(){this.gl.enable(this.gl.DEPTH_TEST),this.gl.depthFunc(this.gl.LEQUAL),this.gl.enable(this.gl.BLEND),this.gl.blendFunc(this.gl.SRC_ALPHA,this.gl.ONE_MINUS_SRC_ALPHA),this.gl.enable(this.gl.CULL_FACE),this.gl.cullFace(this.gl.BACK)}getBlockTexture(){const t=this.gl.createTexture();return this.gl.bindTexture(this.gl.TEXTURE_2D,t),this.gl.texImage2D(this.gl.TEXTURE_2D,0,this.gl.RGBA,this.gl.RGBA,this.gl.UNSIGNED_BYTE,this.resources.getTextureAtlas()),this.gl.generateMipmap(this.gl.TEXTURE_2D),this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_MAG_FILTER,this.gl.NEAREST),t}getPerspective(){const t=70*Math.PI/180,e=this.gl.canvas.clientWidth/this.gl.canvas.clientHeight,i=s.create();return s.perspective(i,t,e,.1,500),i}getChunk(t){const e=2*Math.abs(t[0])+(t[0]<0?1:0),i=2*Math.abs(t[1])+(t[1]<0?1:0),s=2*Math.abs(t[2])+(t[2]<0?1:0);return this.chunks[e]||(this.chunks[e]=[]),this.chunks[e][i]||(this.chunks[e][i]=[]),this.chunks[e][i][s]||(this.chunks[e][i][s]={positions:[],textureCoordinates:[],tintColors:[],blockPositions:[],normals:[],indices:[],indexOffset:0}),this.chunks[e][i][s]}updateStructureBuffers(t){var e;const n=(t,e,n)=>{const r=s.create();s.translate(r,r,e),Et(t.position,r),n.positions.push(t.position),n.textureCoordinates.push(...t.texCoord),n.tintColors.push(...t.tintColor);for(let e=0;e{t.positions=[],t.textureCoordinates=[],t.tintColors=[],t.blockPositions=[],t.normals=[],t.indices=[],t.indexOffset=0},a=t=>{t.buffer?(this.updateBuffer(t.buffer.position,this.gl.ARRAY_BUFFER,St(...t.positions)),this.updateBuffer(t.buffer.texCoord,this.gl.ARRAY_BUFFER,new Float32Array(t.textureCoordinates)),this.updateBuffer(t.buffer.tintColor,this.gl.ARRAY_BUFFER,new Float32Array(t.tintColors)),this.updateBuffer(t.buffer.normal,this.gl.ARRAY_BUFFER,new Float32Array(t.normals)),this.updateBuffer(t.buffer.blockPos,this.gl.ARRAY_BUFFER,new Float32Array(t.blockPositions)),this.updateBuffer(t.buffer.index,this.gl.ELEMENT_ARRAY_BUFFER,new Uint16Array(t.indices)),t.buffer.length=t.indices.length):t.buffer={position:this.createBuffer(this.gl.ARRAY_BUFFER,St(...t.positions)),texCoord:this.createBuffer(this.gl.ARRAY_BUFFER,new Float32Array(t.textureCoordinates)),tintColor:this.createBuffer(this.gl.ARRAY_BUFFER,new Float32Array(t.tintColors)),blockPos:this.createBuffer(this.gl.ARRAY_BUFFER,new Float32Array(t.blockPositions)),normal:this.createBuffer(this.gl.ARRAY_BUFFER,new Float32Array(t.normals)),index:this.createBuffer(this.gl.ELEMENT_ARRAY_BUFFER,new Uint16Array(t.indices)),length:t.indices.length}};let l;t?t.forEach((t=>{const e=this.getChunk(t);o(e)})):this.chunks.forEach((t=>t.forEach((t=>t.forEach((t=>{o(t)}))))));for(const s of this.structure.getBlocks()){const o=s.state.getName(),a=s.state.getProperties(),h=null!==(e=this.resources.getDefaultBlockProperties(o))&&void 0!==e?e:{};Object.entries(h).forEach((([t,e])=>{a[t]||(a[t]=e)}));const u=[Math.floor(s.pos[0]/this.chunkSize),Math.floor(s.pos[1]/this.chunkSize),Math.floor(s.pos[2]/this.chunkSize)];if(t&&!t.some((t=>i.equals(t,u))))continue;const c=this.getChunk(u);try{const t=this.resources.getBlockDefinition(o),e={up:this.needsCull(s,r.UP),down:this.needsCull(s,r.DOWN),west:this.needsCull(s,r.WEST),east:this.needsCull(s,r.EAST),north:this.needsCull(s,r.NORTH),south:this.needsCull(s,r.SOUTH)};t&&(l=t.getBuffers(o,a,this.resources,this.resources,c.indexOffset,e),n(l,s.pos,c)),xt.has(o)&&(l=Bt[o](c.indexOffset,a,this.resources,e),n(l,s.pos,c))}catch(t){console.error(`Error rendering block ${o}`,t)}}t?t.forEach((t=>{const e=this.getChunk(t);a(e)})):this.chunks.forEach((t=>t.forEach((t=>t.forEach((t=>{a(t)}))))))}needsCull(t,e){var i,s;const n=null===(i=this.structure.getBlock(a.towards(t.pos,e)))||void 0===i?void 0:i.state;return!!n&&((null===(s=this.resources.getBlockFlags(n.getName()))||void 0===s?void 0:s.opaque)?!(e===r.UP&&t.state.isFluid()):t.state.isFluid()&&n.isFluid())}getGridBuffers(){const[t,e,i]=this.structure.getSize(),s=[],n=[];s.push(0,0,0,t,0,0),n.push(1,0,0,1,0,0),s.push(0,0,0,0,0,i),n.push(0,0,1,0,0,1),s.push(0,0,0,0,e,0),s.push(t,0,0,t,e,0),s.push(0,0,i,0,e,i),s.push(t,0,i,t,e,i),s.push(0,e,0,0,e,i),s.push(t,e,0,t,e,i),s.push(0,e,0,t,e,0),s.push(0,e,i,t,e,i);for(let e=1;e<=t;e+=1)s.push(e,0,0,e,0,i);for(let e=1;e<=i;e+=1)s.push(0,0,e,t,0,e);for(let e=0;e<8+t+i;e+=1)n.push(.8,.8,.8,.8,.8,.8);return{position:this.createBuffer(this.gl.ARRAY_BUFFER,new Float32Array(s)),color:this.createBuffer(this.gl.ARRAY_BUFFER,new Float32Array(n)),length:s.length/3}}getOutlineBuffers(){const t=[],e=[];return this.addCube(t,e,[1,1,1],[0,0,0],[1,1,1]),{position:this.createBuffer(this.gl.ARRAY_BUFFER,new Float32Array(t)),color:this.createBuffer(this.gl.ARRAY_BUFFER,new Float32Array(e)),length:t.length/3}}getInvisibleBlockBuffers(){if(!this.useInvisibleBlockBuffer)return;const t=this.structure.getSize(),e=[],i=[];for(let s=0;s{t.forEach((t=>{t.forEach((t=>{t.buffer&&(this.setVertexAttr(\"vertPos\",3,t.buffer.position),this.setVertexAttr(\"texCoord\",2,t.buffer.texCoord),this.setVertexAttr(\"tintColor\",3,t.buffer.tintColor),this.setVertexAttr(\"normal\",3,t.buffer.normal),this.gl.bindBuffer(this.gl.ELEMENT_ARRAY_BUFFER,t.buffer.index),this.gl.drawElements(this.gl.TRIANGLES,t.buffer.length,this.gl.UNSIGNED_SHORT,0))}))}))}))}drawColoredStructure(t){this.setShader(this.colorShaderProgram),this.setUniform(\"mView\",t),this.setUniform(\"mProj\",this.projMatrix),this.chunks.forEach((t=>{t.forEach((t=>{t.forEach((t=>{t.buffer&&(this.setVertexAttr(\"vertPos\",3,t.buffer.position),this.setVertexAttr(\"blockPos\",3,t.buffer.blockPos),this.gl.bindBuffer(this.gl.ELEMENT_ARRAY_BUFFER,t.buffer.index),this.gl.drawElements(this.gl.TRIANGLES,t.buffer.length,this.gl.UNSIGNED_SHORT,0))}))}))}))}drawOutline(t,e){this.setShader(this.gridShaderProgram),this.setVertexAttr(\"vertPos\",3,this.outlineBuffers.position),this.setVertexAttr(\"vertColor\",3,this.outlineBuffers.color);const i=s.create();s.copy(i,t),s.translate(i,i,e),this.setUniform(\"mView\",i),this.setUniform(\"mProj\",this.projMatrix),this.gl.drawArrays(this.gl.LINES,0,this.outlineBuffers.length)}setViewport(t,e,i,s){this.gl.viewport(t,e,i,s),this.projMatrix=this.getPerspective()}setShader(t){this.gl.useProgram(t),this.activeShader=t}setVertexAttr(t,e,i){const s=this.gl.getAttribLocation(this.activeShader,t);this.gl.bindBuffer(this.gl.ARRAY_BUFFER,i),this.gl.vertexAttribPointer(s,e,this.gl.FLOAT,!1,0,0),this.gl.enableVertexAttribArray(s)}setUniform(t,e){const i=this.gl.getUniformLocation(this.activeShader,t);this.gl.uniformMatrix4fv(i,!1,e)}}\n/*! *****************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */function Ct(t,e,i,s){return new(i||(i=Promise))((function(n,r){function o(t){try{l(s.next(t))}catch(t){r(t)}}function a(t){try{l(s.throw(t))}catch(t){r(t)}}function l(t){var e;t.done?n(t.value):(e=t.value,e instanceof i?e:new i((function(t){t(e)}))).then(o,a)}l((s=s.apply(t,e||[])).next())}))}class kt{constructor(t,e){this.img=t,this.idMap=e,this.part=16/t.width}getTextureAtlas(){return this.img}getTextureUV(t){var e;return null!==(e=this.idMap[t])&&void 0!==e?e:[0,0,this.part,this.part]}static fromBlobs(t){return Ct(this,void 0,void 0,(function*(){const e=Math.sqrt(Object.keys(t).length+1),i=Math.pow(2,Math.ceil(Math.log(e)/Math.log(2))),s=16*i,n=1/i,r=document.createElement(\"canvas\");r.width=s,r.height=s;const o=r.getContext(\"2d\");this.drawInvalidTexture(o);const a={};let l=1;return yield Promise.all(Object.keys(t).map((e=>Ct(this,void 0,void 0,(function*(){const s=l%i,r=Math.floor(l/i);l+=1,a[e]=[n*s,n*r,n*s+n,n*r+n];const h=yield createImageBitmap(t[e]);o.drawImage(h,0,0,16,16,16*s,16*r,16,16)}))))),new kt(o.getImageData(0,0,s,s),a)}))}static empty(){const t=document.createElement(\"canvas\");t.width=16,t.height=16;const e=t.getContext(\"2d\");return kt.drawInvalidTexture(e),new kt(e.getImageData(0,0,16,16),{})}static drawInvalidTexture(t){t.fillStyle=\"black\",t.fillRect(0,0,16,16),t.fillStyle=\"magenta\",t.fillRect(0,0,8,8),t.fillRect(8,8,8,8)}}var Dt,Mt,Ot,Lt,Ut,Yt,Gt,Ht,Vt,zt,jt,Jt,Xt;!function(t){function e(t,e){return\"number\"==typeof t?new i(t,null!=e?e:t):t}t.target=function(t,e,i,s,r,o){return new n(t,e,i,s,r,o)},t.parameters=function(t,i,n,r,o,a,l){return new s(e(t),e(i),e(n),e(r),e(o),e(a),l)},t.param=e;class i{constructor(t,e){this.min=t,this.max=e}distance(t){const e=(\"number\"==typeof t?t:t.min)-this.max,i=this.min-(\"number\"==typeof t?t:t.max);return e>0?e:Math.max(i,0)}union(t){return new i(Math.min(this.min,t.min),Math.max(this.max,t.max))}static fromJson(t){var e;if(\"number\"==typeof t)return new i(t,t);const[s,n]=null!==(e=_.readArray(t,(t=>_.readNumber(t))))&&void 0!==e?e:[];return new i(null!=s?s:0,null!=n?n:0)}}t.Param=i;class s{constructor(t,e,i,s,n,r,o){this.temperature=t,this.humidity=e,this.continentalness=i,this.erosion=s,this.depth=n,this.weirdness=r,this.offset=o}fittness(t){return O(this.temperature.distance(t.temperature))+O(this.humidity.distance(t.humidity))+O(this.continentalness.distance(t.continentalness))+O(this.erosion.distance(t.erosion))+O(this.depth.distance(t.depth))+O(this.weirdness.distance(t.weirdness))+O(this.offset-t.offset)}space(){return[this.temperature,this.humidity,this.continentalness,this.erosion,this.depth,this.weirdness,new i(this.offset,this.offset)]}static fromJson(t){var e,n;const r=null!==(e=_.readObject(t))&&void 0!==e?e:{};return new s(i.fromJson(r.temperature),i.fromJson(r.humidity),i.fromJson(r.continentalness),i.fromJson(r.erosion),i.fromJson(r.depth),i.fromJson(r.weirdness),null!==(n=_.readInt(r.offset))&&void 0!==n?n:0)}}t.ParamPoint=s;class n{constructor(t,e,i,s,n,r){this.temperature=t,this.humidity=e,this.continentalness=i,this.erosion=s,this.depth=n,this.weirdness=r}get offset(){return 0}toArray(){return[this.temperature,this.humidity,this.continentalness,this.erosion,this.depth,this.weirdness,this.offset]}}t.TargetPoint=n;t.Parameters=class{constructor(t){this.things=t,this.index=new r(t)}find(t){return this.index.search(t,((t,e)=>t.distance(e)))}};class r{constructor(t){this.root=r.build(t.map((([t,e])=>new l(t,e))))}static build(t){if(1===t.length)return t[0];if(t.length<=r.CHILDREN_PER_NODE){const e=t.map((t=>{let e=0;for(let i=0;i<7;i+=1){const s=t.space[i];e+=Math.abs((s.min+s.max)/2)}return{key:e,node:t}})).sort(((t,e)=>t.key-e.key)).map((({node:t})=>t));return new a(e)}let e=1/0,i=-1,s=[];for(let n=0;n<7;++n){t=r.sort(t,n,!1),s=r.bucketize(t);let o=0;for(const t of s)o+=r.area(t.space);e>o&&(e=o,i=n)}return t=r.sort(t,i,!1),s=r.bucketize(t),s=r.sort(s,i,!0),new a(s.map((t=>r.build(t.children))))}static sort(t,e,i){return t.map((t=>{const s=t.space[e],n=(s.min+s.max)/2;return{key:i?Math.abs(n):n,node:t}})).sort(((t,e)=>t.key-e.key)).map((({node:t})=>t))}static bucketize(t){const e=[];let i=[];const s=Math.pow(10,Math.floor(Math.log(t.length-.01)/Math.log(10)));for(const n of t)i.push(n),i.lengthnew i(1/0,-1/0)));for(const i of t)e=[...Array(7)].map(((t,s)=>e[s].union(i.space[s])));return e}search(t,e){let i=1/0,s=null;for(const n of this.children){const r=e(n,t);if(i<=r)continue;const o=n.search(t,e),a=n==o?r:e(o,t);i<=a||(i=a,s=o)}return s}}t.RSubTree=a;class l extends o{constructor(t,e){super(t.space()),this.thing=e}search(){return this}}t.RLeaf=l}(Dt||(Dt={}));class Zt{constructor(t){this.biome=t}getBiome(){return this.biome}static fromJson(t){var e,i;const s=null!==(e=_.readObject(t))&&void 0!==e?e:{},n=null!==(i=_.readString(s.biome))&&void 0!==i?i:\"minecraft:the_void\";return new Zt(n)}}class Wt{constructor(t){this.parameters=t}getBiome(t,e,i,s){const n=s(t,e,i);return this.parameters.find(n)}static fromJson(t){var e,i;const s=null!==(e=_.readObject(t))&&void 0!==e?e:{},n=(null!==(i=_.readArray(s.biomes,(t=>{var e;return(t=>{var e;return{biome:null!==(e=_.readString(t.biome))&&void 0!==e?e:\"minecraft:the_void\",parameters:Dt.ParamPoint.fromJson(t.parameters)}})(null!==(e=_.readObject(t))&&void 0!==e?e:{})})))&&void 0!==i?i:[]).map((t=>[t.parameters,()=>t.biome]));return new Wt(new Dt.Parameters(n))}}class qt{constructor(t,e,i){this.offsetSampler=t,this.factorSampler=e,this.jaggednessSampler=i}static extractor(t){return{apply:e=>e[t],toJson:()=>t}}static fromJson(t){var e;const i=null!==(e=_.readObject(t))&&void 0!==e?e:{};return new qt(B.fromJson(i.offset,this.EXTRACTOR),B.fromJson(i.factor,this.EXTRACTOR),B.fromJson(i.jaggedness,this.EXTRACTOR))}toJson(){return{offset:this.offsetSampler.toJson(),factor:this.factorSampler.toJson(),jaggedness:this.jaggednessSampler.toJson()}}offset(t){return this.offsetSampler.apply(t)+qt.GLOBAL_OFFSET}factor(t){return this.factorSampler.apply(t)}jaggedness(t){return this.jaggednessSampler.apply(t)}static point(t,e,i){return{continents:t,erosion:e,weirdness:i,ridges:this.peaksAndValleys(i)}}static peaksAndValleys(t){return 3*-(Math.abs(Math.abs(t)-.6666667)-.33333334)}static overworld(){const t=this.buildErosionOffsetSpline(-.05,0,0,.1,0,-.03,!1,!1),e=this.buildErosionOffsetSpline(-.1,.03,.1,.1,.01,-.03,!1,!1),i=this.buildErosionOffsetSpline(-.1,.03,.1,.7,.01,-.03,!0,!0),s=this.buildErosionOffsetSpline(.3,.03,.1,1,.01,.01,!0,!0),n=new at(this.CONTINENTS).addPoint(-1.1,.044).addPoint(-1.02,-.2222).addPoint(-.51,-.2222).addPoint(-.44,-.12).addPoint(-.18,-.12).addPoint(-.16,t).addPoint(-.15,t).addPoint(-.1,e).addPoint(.25,i).addPoint(1,s),r=new at(this.CONTINENTS).addPoint(-.19,3.95).addPoint(-.15,this.getErosionFactor(6.25,!0)).addPoint(-.1,this.getErosionFactor(5.47,!0)).addPoint(.03,this.getErosionFactor(5.08,!0)).addPoint(.06,this.getErosionFactor(4.69,!1)),o=new at(this.CONTINENTS).addPoint(.11,0).addPoint(.03,this.buildErosionJaggednessSpline(1,.5,0,0)).addPoint(.65,this.buildErosionJaggednessSpline(1,1,1,0));return new qt(n,r,o)}static getErosionFactor(t,e){const i=new at(this.WEIRDNESS).addPoint(-.2,6.3).addPoint(.2,t),s=new at(this.EROSION).addPoint(-.6,i).addPoint(-.5,new at(this.WEIRDNESS).addPoint(-.05,6.3).addPoint(.05,2.67)).addPoint(-.35,i).addPoint(-.25,i).addPoint(-.1,new at(this.WEIRDNESS).addPoint(-.05,2.67).addPoint(.05,6.3)).addPoint(.03,i);if(e){const e=new at(this.WEIRDNESS).addPoint(0,t).addPoint(.1,.625),i=new at(this.RIDGES).addPoint(-.9,t).addPoint(-.69,e);s.addPoint(.35,t).addPoint(.45,i).addPoint(.55,i).addPoint(.62,t)}else{const e=new at(this.RIDGES).addPoint(-.7,i).addPoint(-.15,1.37),n=new at(this.RIDGES).addPoint(.45,i).addPoint(.7,1.56);s.addPoint(.05,n).addPoint(.4,n).addPoint(.45,e).addPoint(.55,e).addPoint(.58,t)}return s}static buildErosionOffsetSpline(t,e,i,s,n,r,o,a){const l=this.buildMountainRidgeSplineWithPoints(U(s,.6,1.5),a),h=this.buildMountainRidgeSplineWithPoints(U(s,.6,1),a),u=this.buildMountainRidgeSplineWithPoints(s,a),c=this.ridgeSpline(t-.15,.5*s,U(.5,.5,.5)*s,.5*s,.6*s,.5),d=this.ridgeSpline(t,n*s,e*s,.5*s,.6*s,.5),f=this.ridgeSpline(t,n,n,e,i,.5),g=this.ridgeSpline(t,n,n,e,i,.5),p=new at(this.RIDGES).addPoint(-1,t).addPoint(-.4,f).addPoint(0,i+.07),m=this.ridgeSpline(-.02,r,r,e,i,0),v=new at(this.EROSION).addPoint(-.85,l).addPoint(-.7,h).addPoint(-.4,u).addPoint(-.35,c).addPoint(-.1,d).addPoint(.2,f);return o&&v.addPoint(.4,g).addPoint(.45,p).addPoint(.55,p).addPoint(.58,g),v.addPoint(.7,m),v}static buildMountainRidgeSplineWithPoints(t,e){const i=new at(this.RIDGES),s=this.mountainContinentalness(-1,t,-.7),n=this.mountainContinentalness(1,t,-.7),r=this.calculateMountainRidgeZeroContinentalnessPoint(t);if(-.650?this.buildWeirdnessJaggednessSpline(e):0).addPoint(1,t>0?this.buildWeirdnessJaggednessSpline(t):0)}static buildWeirdnessJaggednessSpline(t){return new at(qt.WEIRDNESS).addPoint(-.01,.63*t).addPoint(.01,.3*t)}}qt.GLOBAL_OFFSET=-.50375,qt.EXTRACTOR=t=>{var e;const i=null!==(e=_.readString(t))&&void 0!==e?e:\"continents\";return qt.extractor(i)},qt.CONTINENTS=qt.extractor(\"continents\"),qt.EROSION=qt.extractor(\"erosion\"),qt.WEIRDNESS=qt.extractor(\"weirdness\"),qt.RIDGES=qt.extractor(\"ridges\"),function(t){t.fromList=function(t){return(e,i,s,n)=>{for(const r of t){const t=r(e,i,s,n);if(t)return t}return null}}}(Mt||(Mt={})),function(t){function e(t){return t.ySize<<2}t.fromJson=function(t){var e,i,s,n,r,o,a,l;const h=null!==(e=_.readObject(t))&&void 0!==e?e:{};return{minY:null!==(i=_.readInt(h.min_y))&&void 0!==i?i:0,height:null!==(s=_.readInt(h.height))&&void 0!==s?s:256,xzSize:null!==(n=_.readInt(h.size_horizontal))&&void 0!==n?n:1,ySize:null!==(r=_.readInt(h.size_vertical))&&void 0!==r?r:1,sampling:P.fromJson(h.sampling),topSlide:Lt.fromJson(h.top_slide),bottomSlide:Lt.fromJson(h.bottom_slide),terrainShaper:qt.fromJson(h.terrain_shaper),islandNoiseOverride:null!==(o=_.readBoolean(h.island_noise_override))&&void 0!==o&&o,isAmplified:null!==(a=_.readBoolean(h.amplified))&&void 0!==a&&a,hasLargeBiomes:null!==(l=_.readBoolean(h.large_biomes))&&void 0!==l&&l}},t.cellHeight=e,t.cellWidth=function(t){return t.xzSize<<2},t.cellCountY=function(t){return t.height/e(t)},t.minCellY=function(t){return Math.floor(t.minY/e(t))}}(Ot||(Ot={})),function(t){t.fromJson=function(t){var e,i,s,n;const r=null!==(e=_.readObject(t))&&void 0!==e?e:{};return{target:null!==(i=_.readNumber(r.target))&&void 0!==i?i:0,size:null!==(s=_.readInt(r.size))&&void 0!==s?s:0,offset:null!==(n=_.readInt(r.offset))&&void 0!==n?n:0}},t.apply=function(t,e,i){if(t.size<=0)return e;const s=(i-t.offset)/t.size;return H(t.target,e,s)}}(Lt||(Lt={}));class $t{constructor(t,e){this.chunk=t,this.filler=e,this.noise000=0,this.noise001=0,this.noise100=0,this.noise101=0,this.noise010=0,this.noise011=0,this.noise110=0,this.noise111=0,this.valueXZ00=0,this.valueXZ10=0,this.valueXZ01=0,this.valueXZ11=0,this.valueZ0=0,this.valueZ1=0,this.value=0,this.slice0=$t.allocateSlice(t.cellCountY,t.cellCountXZ),this.slice1=$t.allocateSlice(t.cellCountY,t.cellCountXZ)}static allocateSlice(t,e){const i=Array(e+1);for(let s=0;s>2,this.firstNoiseZ=r>>2,this.interpolators=[];const h=t*l>>2;this.noiseData=Array(h+1);for(let t=0;t<=h;t+=1){const e=this.firstNoiseX+t;this.noiseData[t]=Array(h+1);for(let i=0;i<=h;i+=1){const n=this.firstNoiseZ+i;this.noiseData[t][i]=s.noiseData(e,n)}}this.preliminarySurfaceLevel=new Map,this.baseNoise=s.makeBaseNoiseFiller(this,o,a.noodleCavesEnabled)}getNoiseData(t,e){return this.noiseData[t-this.firstNoiseX][e-this.firstNoiseZ]}getPreliminarySurfaceLevel(t,e){return M(this.preliminarySurfaceLevel,y.asLong(t,e),(()=>{const i=t-this.firstNoiseX,s=e-this.firstNoiseZ,n=this.noiseData.length,r=i>=0&&s>=0&&it.initializeForFirstCellX()))}advanceCellX(t){this.interpolators.forEach((e=>e.advanceCellX(t)))}selectCellYZ(t,e){this.interpolators.forEach((i=>i.selectCellYZ(t,e)))}updateForY(t){this.interpolators.forEach((e=>e.updateForY(t)))}updateForX(t){this.interpolators.forEach((e=>e.updateForX(t)))}updateForZ(t){this.interpolators.forEach((e=>e.updateForZ(t)))}swapSlices(){this.interpolators.forEach((t=>t.swapSlices()))}updateNoiseAndGenerateBaseState(t,e,i){return this.baseNoise(t,e,i)}}!function(t){t.create=function(t,e,i){return{offset:t,factor:e,jaggedness:i}}}(Ut||(Ut={})),function(t){const e=new Map;function i(t,i,s){const n=Object.assign({name:`minecraft:${t}`},R.create(i,s));return e.set(t,n),n}t.TEMPERATURE=i(\"temperature\",-10,[1.5,0,1,0,0,0]),t.VEGETATION=i(\"vegetation\",-8,[1,1,0,0,0,0]),t.CONTINENTALNESS=i(\"continentalness\",-9,[1,1,2,2,2,1,1,1,1]),t.EROSION=i(\"erosion\",-9,[1,1,0,1,1]),t.TEMPERATURE_LARGE=i(\"temperature_large\",-12,[1.5,0,1,0,0,0]),t.VEGETATION_LARGE=i(\"vegetation_large\",-10,[1,1,0,0,0,0]),t.CONTINENTALNESS_LARGE=i(\"continentalness_large\",-11,[1,1,2,2,2,1,1,1,1]),t.EROSION_LARGE=i(\"erosion_large\",-11,[1,1,0,1,1]),t.RIDGE=i(\"ridge\",-7,[1,2,1,0,0,0]),t.SHIFT=i(\"offset\",-3,[1,1,1,0]),t.PILLAR=i(\"pillar\",-7,[1,1]),t.PILLAR_RARENESS=i(\"pillar_rareness\",-8,[1]),t.PILLAR_THICKNESS=i(\"pillar_thickness\",-8,[1]),t.SPAGHETTI_2D=i(\"spaghetti_2d\",-8,[1]),t.SPAGHETTI_2D_ELEVATION=i(\"spaghetti_2d_elevation\",-8,[1]),t.SPAGHETTI_2D_MODULATOR=i(\"spaghetti_2d_modulator\",-8,[1]),t.SPAGHETTI_2D_THICKNESS=i(\"spaghetti_2d_thickness\",-8,[1]),t.SPAGHETTI_3D_1=i(\"spaghetti_3d_1\",-8,[1]),t.SPAGHETTI_3D_2=i(\"spaghetti_3d_2\",-8,[1]),t.SPAGHETTI_3D_RARITY=i(\"spaghetti_3d_rarity\",-8,[1]),t.SPAGHETTI_3D_THICKNESS=i(\"spaghetti_3d_thickness\",-8,[1]),t.SPAGHETTI_ROUGHNESS=i(\"spaghetti_roughness\",-8,[1]),t.SPAGHETTI_ROUGHNESS_MODULATOR=i(\"spaghetti_roughness_modulator\",-8,[1]),t.CAVE_ENTRANCE=i(\"cave_entrance\",-7,[.4,.5,1]),t.CAVE_LAYER=i(\"cave_layer\",-8,[1]),t.CAVE_CHEESE=i(\"cave_cheese\",-8,[.5,1,2,1,2,1,0,2,0]),t.NOODLE=i(\"noodle\",-8,[1]),t.NOODLE_THICKNESS=i(\"noodle_thickness\",-8,[1]),t.NOODLE_RIDGE_A=i(\"noodle_ridge_a\",-7,[1]),t.NOODLE_RIDGE_B=i(\"noodle_ridge_b\",-7,[1]),t.JAGGED=i(\"jagged\",-16,[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]),t.SURFACE=i(\"surface\",-6,[1,1,1]),t.SURFACE_SECONDARY=i(\"surface_secondary\",-6,[1,1,0,1]),t.instantiate=function(t,e){return new nt(t.fromHashOf(e.name),e)}}(Yt||(Yt={}));class Qt{constructor(t,e,i,s=!1){this.settings=t,this.isNoiseCavesEnabled=e;const n=t.hasLargeBiomes,r=(s?new q(i):K.create(i)).forkPositional();s?(this.blendedNoise=new st(new q(i),t.sampling,Ot.cellWidth(t),Ot.cellHeight(t)),this.temperatureNoise=new nt(new q(i),R.create(-7,[1,1])),this.humidityNoise=new nt(new q(i+BigInt(1)),R.create(-7,[1,1])),this.offsetNoise=new nt(new q(i+BigInt(5)),R.create(0,[0]))):(this.blendedNoise=new st(r.fromHashOf(\"minecraft:terrain\"),t.sampling,Ot.cellWidth(t),Ot.cellHeight(t)),this.temperatureNoise=Yt.instantiate(r,n?Yt.TEMPERATURE_LARGE:Yt.TEMPERATURE),this.humidityNoise=Yt.instantiate(r,n?Yt.VEGETATION_LARGE:Yt.VEGETATION),this.offsetNoise=Yt.instantiate(r,Yt.SHIFT)),this.continentalnessNoise=Yt.instantiate(r,n?Yt.CONTINENTALNESS_LARGE:Yt.CONTINENTALNESS),this.erosionNoise=Yt.instantiate(r,n?Yt.EROSION_LARGE:Yt.EROSION),this.weirdnessNoise=Yt.instantiate(r,Yt.RIDGE),this.pillarNoise=Yt.instantiate(r,Yt.PILLAR),this.pillarRarenessModulator=Yt.instantiate(r,Yt.PILLAR_RARENESS),this.pillarThicknessModulator=Yt.instantiate(r,Yt.PILLAR_THICKNESS),this.spaghetti2DNoise=Yt.instantiate(r,Yt.SPAGHETTI_2D),this.spaghetti2DElevationModulator=Yt.instantiate(r,Yt.SPAGHETTI_2D_ELEVATION),this.spaghetti2DRarityModulator=Yt.instantiate(r,Yt.SPAGHETTI_2D_MODULATOR),this.spaghetti2DThicknessModulator=Yt.instantiate(r,Yt.SPAGHETTI_2D_THICKNESS),this.spaghetti3DNoise1=Yt.instantiate(r,Yt.SPAGHETTI_3D_1),this.spaghetti3DNoise2=Yt.instantiate(r,Yt.SPAGHETTI_3D_2),this.spaghetti3DRarityModulator=Yt.instantiate(r,Yt.SPAGHETTI_3D_RARITY),this.spaghetti3DThicknessModulator=Yt.instantiate(r,Yt.SPAGHETTI_3D_THICKNESS),this.spaghettiRoughnessNoise=Yt.instantiate(r,Yt.SPAGHETTI_ROUGHNESS),this.spaghettiRoughnessModulator=Yt.instantiate(r,Yt.SPAGHETTI_ROUGHNESS_MODULATOR),this.bigEntranceNoise=Yt.instantiate(r,Yt.CAVE_ENTRANCE),this.layerNoise=Yt.instantiate(r,Yt.CAVE_LAYER),this.cheeseNoise=Yt.instantiate(r,Yt.CAVE_CHEESE);const o=t.minY+4,a=o+t.height;this.noodleToggleNoise=this.yLimitedInterpolatable(Yt.instantiate(r,Yt.NOODLE),o,a,-1,1),this.noodleThicknessNoise=this.yLimitedInterpolatable(Yt.instantiate(r,Yt.NOODLE_THICKNESS),o,a,0,1),this.noodleRidgeANoise=this.yLimitedInterpolatable(Yt.instantiate(r,Yt.NOODLE_RIDGE_A),o,a,0,8/3),this.noodleRidgeBNoise=this.yLimitedInterpolatable(Yt.instantiate(r,Yt.NOODLE_RIDGE_B),o,a,0,8/3),this.jaggedNoise=Yt.instantiate(r,Yt.JAGGED),this.shaper=t.terrainShaper,this.baseNoise=t=>t.createNoiseInterpolator(((e,i,s)=>this.calculateBlendedBaseNoise(e,i,s,t.getNoiseData(e>>2,s>>2).terrainInfo)))}yLimitedInterpolatable(t,e,i,s,n){const r=(r,o,a)=>o>i||ot.createNoiseInterpolator(r)}noiseData(t,e){const i=t+this.getOffset(t,0,e),s=e+this.getOffset(e,t,0),n=this.getContinentalness(i,s),r=this.getErosion(i,s),o=this.getWeirdness(i,s),a=this.terrainInfo(n,r,o);return Gt.create(i,s,n,r,o,a)}sample(t,e,i){return this.target(t,e,i,this.noiseData(t,i))}target(t,e,i,s){const n=s.shiftedX,r=e+this.getOffset(e,i,t),o=s.shiftedZ,a=this.getTemperature(n,r,o),l=this.getHumidity(n,r,o),h=this.computeDimensionDensity(e<<2,s.terrainInfo);return Dt.target(a,l,s.continentalness,s.erosion,h,s.weirdness)}terrainInfo(t,e,i){const s=qt.point(t,e,i),n=this.shaper.offset(s),r=this.shaper.factor(s),o=this.shaper.jaggedness(s);return Ut.create(n,r,o)}getOffset(t,e,i){return 4*this.offsetNoise.sample(t,e,i)}getTemperature(t,e,i){return this.temperatureNoise.sample(t,e,i)}getHumidity(t,e,i){return this.humidityNoise.sample(t,e,i)}getContinentalness(t,e){return this.continentalnessNoise.sample(t,0,e)}getErosion(t,e){return this.erosionNoise.sample(t,0,e)}getWeirdness(t,e){return this.weirdnessNoise.sample(t,0,e)}makeBaseNoiseFiller(t,e,i){const s=this.baseNoise(t),n=i?this.noodleToggleNoise(t):()=>-1,r=i?this.noodleThicknessNoise(t):()=>0,o=i?this.noodleRidgeANoise(t):()=>0,a=i?this.noodleRidgeBNoise(t):()=>0;return(t,i,l)=>{let h=s();if(h=L(.64*h,-1,1),h=h/2-h*h*h/24,n()>=0){const t=J(r(),-1,1,.05,.1),e=Math.abs(1.5*o())-t,i=Math.abs(1.5*a())-t;h=Math.min(h,Math.max(e,i))}return h+=e(t,i,l),h>0?null:x.AIR}}calculateBlendedBaseNoise(t,e,i,s){const n=this.blendedNoise.sample(t,e,i);return this.calculateBaseNoise(t,e,i,s,n,!this.isNoiseCavesEnabled,!0)}calculateBaseNoise(t,e,i,s,n,r,o){if(!this.settings.islandNoiseOverride){const r=o?this.sampleJaggedNoise(s.jaggedness,t,i):0,a=this.computeDimensionDensity(e,s),l=s.factor*(r+a);n+=l>0?4*l:l}let a=-64,l=64;if(!r&&n>=-64){const s=n-1.5625,r=this.getBigEntrances(t,e,i),o=this.getSpaghettiRoughness(t,e,i),h=this.getSpaghetti3D(t,e,i),u=Math.min(r,h+o);if(s<0)l=u;else{const r=this.getLayerizedCaverns(t,e,i);if(r>64)n=64;else{n=this.getCheese(t,e,i)+r+H(.5,0,1.28*s)}const h=this.getSpaghetti2D(t,e,i);a=this.getPillars(t,e,i),l=Math.min(u,h+o)}}return n=L(n,a,l),n=L(n=this.applySlide(n,e/Ot.cellHeight(this.settings)),-64,64)}sampleJaggedNoise(t,e,i){if(0===t)return 0;const s=this.jaggedNoise.sample(1500*e,0,1500*i);return s>0?t*s:t/2*s}computeDimensionDensity(t,e){return 1-t/128+e.offset}getBigEntrances(t,e,i){return this.bigEntranceNoise.sample(.75*t,.5*e,.75*i)+.37+H(.3,0,(e+10)/40)}getSpaghettiRoughness(t,e,i){const s=this.spaghettiRoughnessNoise.sample(t,e,i),n=j(this.spaghettiRoughnessModulator.sample(t,e,i),-1,1,0,1);return(.4-Math.abs(s))*n}getSpaghetti2D(t,e,i){const s=this.quantizeSpaghettiRarity2D(this.spaghetti2DRarityModulator.sample(2*t,e,2*i)),n=j(this.spaghetti2DThicknessModulator.sample(2*t,e,2*i),-1,1,.6,1.3),r=this.sampleWithRarity(this.spaghetti2DNoise,t,e,i,s),o=Math.abs(s*r)-.083*n,a=Ot.minCellY(this.settings),l=j(this.spaghetti2DElevationModulator.sample(t,0,i),-1,1,a,8),h=Math.abs(l-e/8)-1*n;return L(Math.max(h,o),-1,1)}getSpaghetti3D(t,e,i){const s=this.quantizeSpaghettiRarity3D(this.spaghetti3DRarityModulator.sample(2*t,e,2*i)),n=j(this.spaghetti3DThicknessModulator.sample(t,e,i),-1,1,.065,.088),r=this.sampleWithRarity(this.spaghetti3DNoise1,t,e,i,s),o=Math.abs(s*r)-n,a=this.sampleWithRarity(this.spaghetti3DNoise2,t,e,i,s),l=Math.abs(s*a)-n;return L(Math.max(o,l),-1,1)}quantizeSpaghettiRarity2D(t){return t<-.75?.5:t<-.5?.75:t<.5?1:t<.75?2:3}quantizeSpaghettiRarity3D(t){return t<-.5?.75:t<0?1:t<.5?1.5:2}sampleWithRarity(t,e,i,s,n){return t.sample(e/n,i/n,s/n)}getLayerizedCaverns(t,e,i){return 4*O(this.layerNoise.sample(t,8*e,i))}getCheese(t,e,i){return L(this.cheeseNoise.sample(t,e/1.5,i)+.27,-1,1)}getPillars(t,e,i){const s=j(this.pillarRarenessModulator.sample(t,e,i),-1,1,0,2),n=j(this.pillarThicknessModulator.sample(t,e,i),-1,1,0,1.1),r=this.pillarNoise.sample(25*t,.3*e,25*i),o=Math.pow(n,3)*(2*r-s);return o<=.03?Number.MIN_SAFE_INTEGER:o}applySlide(t,e){const i=e-Ot.minCellY(this.settings);return t=Lt.apply(this.settings.topSlide,t,Ot.cellCountY(this.settings)-i),t=Lt.apply(this.settings.bottomSlide,t,i)}getPreliminarySurfaceLevel(t,e,i){const s=Ot.minCellY(this.settings)+Ot.cellCountY(this.settings),n=Ot.minCellY(this.settings),r=Ot.cellHeight(this.settings);for(let o=s;o>=n;o-=1){const s=o*r;if(this.calculateBaseNoise(t,s,e,i,-.703125,!0,!1)>=.390625)return s}return Number.MAX_SAFE_INTEGER}}!function(t){t.create=function(t,e,i,s,n,r){return{shiftedX:t,shiftedZ:e,continentalness:i,weirdness:s,erosion:n,terrainInfo:r}}}(Gt||(Gt={})),function(t){t.fromJson=function(t){var e,i,s,n;const r=null!==(e=_.readObject(t))&&void 0!==e?e:{};return void 0!==r.absolute?(o=null!==(i=_.readNumber(r.absolute))&&void 0!==i?i:0,()=>o):void 0!==r.above_bottom?function(t){return e=>e.minY+t}(null!==(s=_.readNumber(r.above_bottom))&&void 0!==s?s:0):void 0!==r.below_top?function(t){return e=>e.maxY-t}(null!==(n=_.readNumber(r.below_top))&&void 0!==n?n:0):()=>0;var o}}(Ht||(Ht={})),function(t){t.create=function(t,e){return{minY:t,height:e,maxY:t+e-1}}}(Vt||(Vt={}));class te{constructor(t,e,i){this.rule=t,this.defaultBlock=e,this.random=K.create(i).forkPositional(),this.surfaceNoise=Yt.instantiate(this.random,Yt.SURFACE),this.surfaceSecondaryNoise=Yt.instantiate(this.random,Yt.SURFACE_SECONDARY),this.positionalRandoms=new Map}buildSurface(t,e,i,s){const n=y.minBlockX(t.pos),r=y.minBlockZ(t.pos),o=new ee(this,t,e,i,s),l=this.rule(o);for(let e=0;e<16;e+=1){const i=n+e;for(let e=0;e<1;e+=1){const s=r+e;o.updateXZ(i,s);let n=0,h=Number.MIN_SAFE_INTEGER,u=Number.MAX_SAFE_INTEGER;for(let e=t.maxY;e>=t.minY;e-=1){const r=a.create(i,e,s),c=t.getBlockState(r);if(c.equals(x.AIR)){n=0,h=Number.MIN_SAFE_INTEGER;continue}if(c.isFluid()){h===Number.MIN_SAFE_INTEGER&&(h=e+1);continue}if(u>=e){u=Number.MIN_SAFE_INTEGER;for(let n=e-1;n>=t.minY;n-=1){const e=t.getBlockState(a.create(i,n,s));if(e.equals(x.AIR)||e.isFluid()){u=n+1;break}}}n+=1;const d=e-u+1;if(!c.equals(this.defaultBlock))continue;o.updateY(n,d,h,e);const f=l(i,e,s);f&&t.setBlockState(r,f)}}}}getSurfaceDepth(t,e){return 2.75*this.surfaceNoise.sample(t,0,e)+3+.25*this.random.at(t,0,e).nextDouble()}getSurfaceSecondary(t,e){return this.surfaceSecondaryNoise.sample(t,0,e)}getRandom(t){return M(this.positionalRandoms,t,(()=>this.random.fromHashOf(t)))}}class ee{constructor(t,e,i,s,n){this.system=t,this.chunk=e,this.noiseChunk=i,this.context=s,this.getBiome=n,this.blockX=0,this.blockY=0,this.blockZ=0,this.stoneDepthAbove=0,this.stoneDepthBelow=0,this.surfaceDepth=0,this.waterHeight=0,this.biome=()=>\"\",this.surfaceSecondary=()=>0,this.minSurfaceLevel=()=>0}updateXZ(t,e){this.blockX=t,this.blockZ=e,this.surfaceDepth=this.system.getSurfaceDepth(t,e),this.surfaceSecondary=D((()=>this.system.getSurfaceSecondary(t,e))),this.minSurfaceLevel=D((()=>this.calculateMinSurfaceLevel(t,e)))}updateY(t,e,i,s){this.blockY=s,this.stoneDepthAbove=t,this.stoneDepthBelow=e,this.waterHeight=i,this.biome=D((()=>this.getBiome(a.create(this.blockX,this.blockY,this.blockZ))))}calculateMinSurfaceLevel(t,e){const i=t>>4,s=e>>4,n=this.noiseChunk.getPreliminarySurfaceLevel(i<<4,s<<4),r=this.noiseChunk.getPreliminarySurfaceLevel(i+1<<4,s<<4),o=this.noiseChunk.getPreliminarySurfaceLevel(i<<4,s+1<<4),a=this.noiseChunk.getPreliminarySurfaceLevel(i+1<<4,s+1<<4);return Math.floor(Y((15&t)/16,(15&e)/16,n,r,o,a))+this.surfaceDepth-8}}!function(t){function e(t){return()=>()=>t}function i(t){return e=>{const i=t.map((t=>t(e)));return(t,e,s)=>{for(const n of i){const i=n(t,e,s);if(i)return i}}}}function s(t,e){return i=>(s,n,r)=>{if(t(i))return e(i)(s,n,r)}}t.NOOP=()=>()=>{},t.fromJson=function(n){var r,o,a;const l=null!==(r=_.readObject(n))&&void 0!==r?r:{};switch(null===(o=_.readString(l.type))||void 0===o?void 0:o.replace(/^minecraft:/,\"\")){case\"block\":return e(x.fromJson(l.result_state));case\"sequence\":return i(null!==(a=_.readArray(l.sequence,t.fromJson))&&void 0!==a?a:[]);case\"condition\":return s(jt.fromJson(l.if_true),t.fromJson(l.then_run))}return t.NOOP},t.block=e,t.sequence=i,t.condition=s}(zt||(zt={})),function(t){function e(){return t=>t.blockY>=t.minSurfaceLevel()}function i(t){const e=new Set(t);return t=>e.has(t.biome())}function s(t){return e=>!t(e)}function n(t,e,i,s){return n=>{const r=s?n.stoneDepthBelow:n.stoneDepthAbove,o=e?n.surfaceDepth:0,a=0===i?0:j(n.surfaceSecondary(),-1,1,0,i);return r<=1+t+o+a}}function r(t,e,i){return s=>{const n=e(s.context),r=i(s.context);if(s.blockY<=n)return!0;if(s.blockY>=r)return!1;const o=s.system.getRandom(t),a=j(s.blockY,n,r,1,0);return o.nextFloat(){if(s.waterHeight===Number.MIN_SAFE_INTEGER)return!0;const n=i?s.stoneDepthAbove:0;return s.blockY+n>=s.waterHeight+t+s.surfaceDepth*e}}function a(t,e,i){return s=>{const n=i?s.stoneDepthAbove:0;return s.blockY+n>=t(s.context)+s.surfaceDepth*e}}t.FALSE=()=>!1,t.TRUE=()=>!0,t.fromJson=function(e){var l,h,u,c,d,f,g,p,m,v,b,S;const E=null!==(l=_.readObject(e))&&void 0!==l?l:{};switch(null===(h=_.readString(E.type))||void 0===h?void 0:h.replace(/^minecraft:/,\"\")){case\"above_preliminary_surface\":return t=>t.blockY>=t.minSurfaceLevel();case\"biome\":return i(null!==(u=_.readArray(E.biome_is,(t=>{var e;return null!==(e=_.readString(t))&&void 0!==e?e:\"\"})))&&void 0!==u?u:[]);case\"not\":return s(t.fromJson(E.invert));case\"stone_depth\":return n(null!==(c=_.readInt(E.offset))&&void 0!==c?c:0,null!==(d=_.readBoolean(E.add_surface_depth))&&void 0!==d&&d,null!==(f=_.readInt(E.secondary_depth_range))&&void 0!==f?f:0,\"ceiling\"===_.readString(E.surface_type));case\"vertical_gradient\":return r(null!==(g=_.readString(E.random_name))&&void 0!==g?g:\"\",Ht.fromJson(E.true_at_and_below),Ht.fromJson(E.false_at_and_above));case\"water\":return o(null!==(p=_.readInt(E.offset))&&void 0!==p?p:0,null!==(m=_.readInt(E.surface_depth_multiplier))&&void 0!==m?m:0,null!==(v=_.readBoolean(E.add_surface_depth))&&void 0!==v&&v);case\"y_above\":return a(Ht.fromJson(E.anchor),null!==(b=_.readInt(E.surface_depth_multiplier))&&void 0!==b?b:0,null!==(S=_.readBoolean(E.add_surface_depth))&&void 0!==S&&S)}return t.FALSE},t.abovePreliminarySurface=e,t.biome=i,t.not=s,t.stoneDepth=n,t.verticalGradient=r,t.water=o,t.yAbove=a}(jt||(jt={}));class ie{constructor(t,e,i){this.biomeSource=e,this.settings=i,this.sampler=new Qt(i.noise,i.noiseCavesEnabled,t,i.legacyRandomSource),this.noiseChunkCache=new Map,this.materialRule=Mt.fromList([(t,e,i,s)=>t.updateNoiseAndGenerateBaseState(e,i,s)]),this.surfaceSystem=new te(i.surfaceRule,i.defaultBlock,t)}fill(t){var e;const i=Math.max(t.minY,this.settings.noise.minY),s=Math.min(t.maxY,this.settings.noise.minY+this.settings.noise.height),n=Ot.cellWidth(this.settings.noise),r=Ot.cellHeight(this.settings.noise),o=Math.floor(16/n),a=Math.floor(i/r),l=Math.floor((s-i)/r),h=y.minBlockX(t.pos),u=y.minBlockZ(t.pos),c=this.getNoiseChunk(t);c.initializeForFirstCellX();for(let i=0;i=0;d-=1){c.selectCellYZ(d,s);for(let l=r-1;l>=0;l-=1){const f=(a+d)*r+l,g=15&f,p=t.getSectionIndex(f);t.getSectionIndex(o.minBlockY)!==p&&(o=t.getOrCreateSection(p));const m=l/r;c.updateForY(m);for(let t=0;te))}getNoiseChunk(t){return M(this.noiseChunkCache,y.toLong(t.pos),(()=>{const e=Math.max(t.minY,this.settings.noise.minY),i=Math.min(t.maxY,this.settings.noise.minY+this.settings.noise.height),s=Ot.cellWidth(this.settings.noise),n=Ot.cellHeight(this.settings.noise),r=Math.floor(16/s),o=Math.floor(e/n),a=Math.floor((i-e)/n),l=y.minBlockX(t.pos),h=y.minBlockZ(t.pos);return new Kt(r,a,o,this.sampler,l,h,(()=>0),this.settings)}))}}!function(t){t.fromJson=function(t){var e,i,s,n,r,o,a,l,h,u,c;const d=null!==(e=_.readObject(t))&&void 0!==e?e:{};return{structures:Xt.fromJson(d.structures),surfaceRule:zt.fromJson(d.surface_rule),noise:Ot.fromJson(d.noise),defaultBlock:x.fromJson(d.default_block),defaultFluid:x.fromJson(d.default_fluid),bedrockRoofPosition:null!==(i=_.readInt(d.bedrock_roof_position))&&void 0!==i?i:0,bedrockFloorPosition:null!==(s=_.readInt(d.bedrock_floor_position))&&void 0!==s?s:0,seaLevel:null!==(n=_.readInt(d.sea_level))&&void 0!==n?n:0,disableMobGeneration:null!==(r=_.readBoolean(d.disable_mob_generation))&&void 0!==r&&r,aquifersEnabled:null!==(o=_.readBoolean(d.aquifers_enabled))&&void 0!==o&&o,noiseCavesEnabled:null!==(a=_.readBoolean(d.noise_caves_enabled))&&void 0!==a&&a,deepslateEnabled:null!==(l=_.readBoolean(d.deepslate_enabled))&&void 0!==l&&l,oreVeinsEnabled:null!==(h=_.readBoolean(d.ore_veins_enabled))&&void 0!==h&&h,noodleCavesEnabled:null!==(u=_.readBoolean(d.noodle_caves_enabled))&&void 0!==u&&u,legacyRandomSource:null!==(c=_.readBoolean(d.legacy_random_source))&&void 0!==c&&c}}}(Jt||(Jt={})),function(t){t.fromJson=function(t){var e;const i=null!==(e=_.readObject(t))&&void 0!==e?e:{};return{stronghold:_.compose(i.stronghold,_.readObject,(t=>{var e,i,s;return{distance:null!==(e=_.readInt(t.distance))&&void 0!==e?e:0,spread:null!==(i=_.readInt(t.spread))&&void 0!==i?i:0,count:null!==(s=_.readInt(t.count))&&void 0!==s?s:0}})),structures:_.readMap(i.structures,(t=>{var e;return(t=>{var e,i,s;return{spacing:null!==(e=_.readInt(t.spacing))&&void 0!==e?e:0,separation:null!==(i=_.readInt(t.separation))&&void 0!==i?i:0,salt:null!==(s=_.readInt(t.salt))&&void 0!==s?s:0}})(null!==(e=_.readObject(t))&&void 0!==e?e:{})}))}}}(Xt||(Xt={}));export{st as BlendedNoise,vt as BlockColors,It as BlockDefinition,_t as BlockModel,a as BlockPos,x as BlockState,C as Chunk,y as ChunkPos,T as ChunkSection,Dt as Climate,ot as ConstantProvider,r as Direction,Zt as FixedBiome,Gt as FlatNoiseData,et as ImprovedNoise,_ as Json,$ as LegacyPositionalRandom,q as LegacyRandom,Mt as MaterialRule,Wt as MultiNoise,u as NbtReader,c as NbtWriter,Kt as NoiseChunk,ie as NoiseChunkGenerator,Jt as NoiseGeneratorSettings,$t as NoiseInterpolator,R as NoiseParameters,Qt as NoiseSampler,P as NoiseSamplingSettings,Ot as NoiseSettings,Lt as NoiseSlideSettings,Yt as Noises,nt as NormalNoise,B as NumberProvider,it as PerlinNoise,rt as PerlinSimplexNoise,tt as SimplexNoise,at as Spline,k as Structure,Tt as StructureRenderer,Xt as StructureSettings,jt as SurfaceCondition,ee as SurfaceContext,zt as SurfaceRule,te as SurfaceSystem,Ut as TerrainInfo,qt as TerrainShaper,kt as TextureAtlas,Ht as VerticalAnchor,Vt as WorldgenContext,Q as XoroshiroPositionalRandom,K as XoroshiroRandom,X as binarySearch,L as clamp,H as clampedLerp,J as clampedMap,M as computeIfAbsent,N as getListTag,F as getOptional,Z as getSeed,A as getTag,V as inverseLerp,D as lazy,U as lerp,Y as lerp2,G as lerp3,W as longfromBytes,j as map,g as read,m as readChunk,f as readCompressed,p as readRegion,d as readUncompressed,z as smoothstep,O as square,h as tagNames,l as tagTypes,S as write,I as writeChunk,b as writeCompressed,E as writeRegion,v as writeUncompressed};\n//# sourceMappingURL=deepslate.esm.js.map\n"],"names":["t","i.create","i.transformMat4","s.create","s.identity","s.translate","s.rotateY","n.toRadian","s.rotateX","s.scale","i.fromValues","s.rotate","i.negate","s.perspective","i.subtract","i.cross","i.normalize","i.equals","s.copy"],"mappings":"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"} \ No newline at end of file diff --git a/assets/deepslate.esm.ae3661e1.js b/assets/deepslate.esm.b3232c19.js similarity index 99% rename from assets/deepslate.esm.ae3661e1.js rename to assets/deepslate.esm.b3232c19.js index ce5b8b8c..71d49132 100644 --- a/assets/deepslate.esm.ae3661e1.js +++ b/assets/deepslate.esm.b3232c19.js @@ -1,4 +1,4 @@ -import{p as jt,c as Re,i as ft,t as Ce,r as ls,a as us,s as Zt,f as Ze,b as hs,d as mt,n as cs,e as fs,g as ms,h as ds,j as ps,k as gs,l as Tt,m as vs,o as ws}from"./vec3.7a0b0b73.js";import{e as qt}from"./index.b990f5f5.js";var F,Ee;(Ee=F||(F={})).UP="up",Ee.DOWN="down",Ee.NORTH="north",Ee.EAST="east",Ee.SOUTH="south",Ee.WEST="west";const bs={[F.UP]:[0,1,0],[F.DOWN]:[0,-1,0],[F.NORTH]:[0,0,-1],[F.EAST]:[1,0,0],[F.SOUTH]:[0,0,1],[F.WEST]:[-1,0,0]};var J,me;(function(s){s.ALL=[s.UP,s.DOWN,s.NORTH,s.EAST,s.SOUTH,s.WEST],s.normal=function(e){return bs[e]}})(F||(F={})),(me=J||(J={})).create=function(s,e,t){return[s,e,t]},me.ZERO=me.create(0,0,0),me.offset=function(s,e,t,i){return[s[0]+e,s[1]+t,s[2]+i]},me.towards=function(s,e){return me.offset(s,...F.normal(e))},me.equals=function(s,e){return s===e||s[0]===e[0]&&s[1]===e[1]&&s[2]===e[2]},me.magnitude=function(s){return s[0]*s[0]+s[1]*s[1]+s[2]*s[2]};const Ve={end:0,byte:1,short:2,int:3,long:4,float:5,double:6,byteArray:7,string:8,list:9,compound:10,intArray:11,longArray:12},Ct=["end","byte","short","int","long","float","double","byteArray","string","list","compound","intArray","longArray"];class Ss{constructor(e,t=!1){this.byte=this.readNum.bind(this,"getInt8",1),this.short=this.readNum.bind(this,"getInt16",2),this.int=this.readNum.bind(this,"getInt32",4),this.float=this.readNum.bind(this,"getFloat32",4),this.double=this.readNum.bind(this,"getFloat64",8),this.offset=0,this.littleEndian=t,this.arrayView=e,this.dataView=new DataView(e.buffer,e.byteOffset)}end(){return null}readNum(e,t){const i=this.dataView[e](this.offset,this.littleEndian);return this.offset+=t,i}long(){return[this.int(),this.int()]}byteArray(){const e=this.int(),t=[];for(let i=0;i=t)return;let i=this.buffer.byteLength;for(;ithis.buffer.byteLength&&n.fill(0,this.buffer.byteLength,this.offset),this.buffer=r,this.dataView=new DataView(r),this.arrayView=n}getData(){return this.accommodate(0),this.arrayView.slice(0,this.offset)}end(e){}writeNum(e,t,i){this.accommodate(t),this.dataView[e](this.offset,i,this.littleEndian),this.offset+=t}long(e){this.int(e[0]),this.int(e[1])}byteArray(e){this.int(e.length),this.accommodate(e.length),this.arrayView.set(e,this.offset),this.offset+=e.length}intArray(e){this.int(e.length);for(let t=0;t>6),a.push(128|63&n)):n<65536?(a.push(224|n>>12),a.push(128|n>>6&63),a.push(128|63&n)):(a.push(240|n>>18&7),a.push(128|n>>12&63),a.push(128|n>>6&63),a.push(128|63&n));return a}(e);this.short(t.length),this.accommodate(t.length),this.arrayView.set(t,this.offset),this.offset+=t.length}list(e){this.byte(Ve[e.type]),this.int(e.value.length),e.value;for(let t=0;t>16),i.setInt16(a+1,65535&r),i.setInt8(a+3,o),i.setInt32(a+4096,n.timestamp);const u=4096*r;i.setInt32(u,n.data.length+1),i.setInt8(u+4,n.compression),t.set(n.data,u+5),r+=o}return t}function ti(s,e,t,i){const r=Jt(s,e,t);switch(r.compression){case 1:r.data=dt(i);break;case 2:r.data=dt(i,!1,!0);break;case 3:r.data=It(i);break;default:throw new Error(`Invalid compression mode ${r.compression}`)}return r}function Jt(s,e,t){const i=s.find(r=>r.x===e&&r.z===t);if(i===void 0)throw new Error(`Cannot find chunk [${e}, ${t}]`);return i}function Be(s,e,t){if(!s[e])throw new Error(`Missing ${e} tag`);if(s[e].type!==t)throw new Error(`Expected ${e} to be of type ${t}, but found ${s[e].type}`);return s[e].value}function He(s,e,t,i){const r=Be(s,e,"list");if(r.type!==t)throw new Error(`Expected ${e} to be a list of ${t}s, but found ${r.type}s`);if(i&&r.value.length!==i)throw new Error(`Expected ${e} to be a list of length ${i}, but found length ${r.value.length}`);return r.value}function $t(s,e){try{return s()}catch{return e}}var v;function qe(s){let e=null;return()=>(e==null&&(e=s()),e)}function nt(s,e,t){const i=s.get(e);if(i)return i;const r=t(e);return s.set(e,r),r}(function(s){function e(t){return typeof t=="object"&&t!==null?t:void 0}s.readNumber=function(t){return typeof t=="number"?t:void 0},s.readInt=function(t){return typeof t=="number"?Math.floor(t):void 0},s.readString=function(t){return typeof t=="string"?t:void 0},s.readBoolean=function(t){return typeof t=="boolean"?t:void 0},s.readObject=e,s.readArray=function(t,i){if(Array.isArray(t))return t.map(r=>i(r))},s.readMap=function(t,i){var r;const n=(r=e(t))!=null?r:{};return Object.fromEntries(Object.entries(n).map(([a,o])=>[a,i(o)]))},s.compose=function(t,i,r){const n=i(t);return n?r(n):void 0},s.readEnum=function(t,i){return typeof t!="string"?i[0]:i.includes(t)?t:i[0]}})(v||(v={}));const We=class{constructor(s,e){if(this.namespace=s,this.path=e,!s.match(/^[a-z0-9._-]+$/))throw new Error(`Non [a-z0-9._-] character in namespace of ${s}:${e}`);if(!e.match(/^[a-z0-9/._-]+$/))throw new Error(`Non [a-z0-9/._-] character in path of ${s}:${e}`)}equals(s){return this===s||this.namespace===s.namespace&&this.path===s.path}toString(){return`${this.namespace}:${this.path}`}static create(s){return new We(this.DEFAULT_NAMESPACE,s)}static parse(s){const e=s.indexOf(this.SEPARATOR);if(e>=0){const t=e>=1?s.substring(0,e):this.DEFAULT_NAMESPACE,i=s.substring(e+1);return new We(t,i)}return new We(this.DEFAULT_NAMESPACE,s)}};let D=We;D.DEFAULT_NAMESPACE="minecraft",D.SEPARATOR=":";var As=Object.defineProperty,ys=Object.defineProperties,_s=Object.getOwnPropertyDescriptors,Mt=Object.getOwnPropertySymbols,Es=Object.prototype.hasOwnProperty,Is=Object.prototype.propertyIsEnumerable,kt=(s,e,t)=>e in s?As(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t;const oe=class{constructor(s,e={}){this.properties=e,this.name=typeof s=="string"?D.parse(s):s}getName(){return this.name}getProperties(){return this.properties}getProperty(s){return this.properties[s]}isFluid(){return this.is(oe.WATER)||this.is(oe.LAVA)}equals(s){return!!this.name.equals(s.name)&&Object.keys(this.properties).every(e=>s.properties[e]===this.properties[e])}is(s){return this.name.equals(s.name)}toString(){return Object.keys(this.properties).length===0?this.name.toString():`${this.name.toString()}[${Object.entries(this.properties).map(([s,e])=>s+"="+e).join(",")}]`}static fromNbt(s){const e=D.parse(Be(s.value,"Name","string")),t=$t(()=>Be(s.value,"Properties","compound"),{}),i=Object.keys(t).reduce((r,n)=>{return a=((u,f)=>{for(var c in f||(f={}))Es.call(f,c)&&kt(u,c,f[c]);if(Mt)for(var c of Mt(f))Is.call(f,c)&&kt(u,c,f[c]);return u})({},r),o={[n]:Be(t,n,"string")},ys(a,_s(o));var a,o},{});return new oe(e,i)}static fromJson(s){var e,t;const i=(e=v.readObject(s))!=null?e:{},r=D.parse((t=v.readString(i.Name))!=null?t:oe.STONE.name.toString()),n=v.readMap(i.Properties,a=>{var o;return(o=v.readString(a))!=null?o:""});return new oe(r,n)}};let P=oe;P.AIR=new oe(D.create("air")),P.STONE=new oe(D.create("stone")),P.WATER=new oe(D.create("water"),{level:"0"}),P.LAVA=new oe(D.create("lava"),{level:"0"});const Ue=class{constructor(s){this.minY=s,this.storage=Array(Ue.SIZE).fill(0),this.palette=[P.AIR]}get minBlockY(){return this.minY<<4}index(s,e,t){return(s<<8)+(e<<4)+t}getBlockState(s,e,t){var i;const r=this.storage[this.index(s,e,t)];return(i=this.palette[r])!=null?i:P.AIR}setBlockState(s,e,t,i){let r=this.palette.findIndex(n=>n.equals(i));r===-1&&(r=this.palette.length,this.palette.push(i)),this.storage[this.index(s,e,t)]=r}};let pt=Ue;pt.WIDTH=16,pt.SIZE=Ue.WIDTH*Ue.WIDTH*Ue.WIDTH;class si{constructor(e,t,i){this.minY=e,this.height=t,this.pos=i,this.sections=Array(this.sectionsCount).fill(null)}get maxY(){return this.minY+this.height}get minSection(){return this.minY>>4}get maxSection(){return 1+(this.maxY-1>>4)}get sectionsCount(){return this.maxSection-this.minSection}getSectionIndex(e){return(e>>4)-this.minSection}getBlockState(e){var t;const[i,r,n]=e,a=this.sections[this.getSectionIndex(r)];return(t=a==null?void 0:a.getBlockState(15&i,15&r,15&n))!=null?t:P.AIR}setBlockState(e,t){const[i,r,n]=e,a=this.getSectionIndex(r);let o=this.sections[a];if(o===null){if(t.equals(P.AIR))return;o=this.getOrCreateSection(a)}o.setBlockState(15&i,15&r,15&n,t)}getOrCreateSection(e){return this.sections[e]==null&&(this.sections[e]=new pt(this.minSection+e)),this.sections[e]}}var $,Me;(function(s){function e(t,i){return BigInt(4294967295&t)|BigInt(4294967295&i)<>4,t[2]>>4]},s.fromLong=function(t){return[4294967295&Number(t),Number(t>>BigInt(32))]},s.toLong=function(t){return e(t[0],t[1])},s.asLong=e,s.minBlockX=function(t){return t[0]<<4},s.minBlockZ=function(t){return t[1]<<4},s.maxBlockX=function(t){return 15+(t[0]<<4)},s.maxBlockZ=function(t){return 15+(t[1]<<4)}})($||($={})),function(s){function e(i){return{value:()=>i,key:()=>{}}}function t(i,r){return{value:()=>i.getOrThrow(r),key:()=>r}}s.parser=function(i,r){return n=>typeof n=="string"?t(i,D.parse(n)):e(r(n))},s.direct=e,s.reference=t}(Me||(Me={}));const Nt=class{constructor(s,e){this.key=s,this.parser=e,this.storage=new Map,this.builtin=new Map}register(s,e,t){return this.storage.set(s.toString(),e),t&&this.builtin.set(s.toString(),e),Me.reference(this,s)}keys(){return[...this.storage.keys()].map(s=>D.parse(s))}get(s){return this.storage.get(s.toString())}getOrThrow(s){const e=this.storage.get(s.toString());if(e===void 0)throw new Error(`Missing key in ${this.key.toString()}: ${s.toString()}`);return e}parse(s){if(!this.parser)throw new Error(`No parser exists for ${this.key.toString()}`);return this.parser(s)}clear(){this.storage.clear();for(const[s,e]of this.builtin.entries())this.storage.set(s,e);return this}assign(s){if(!this.key.equals(s.key))throw new Error(`Cannot assign registry of type ${s.key.toString()} to registry of type ${this.key.toString()}`);for(const e of s.keys())this.storage.set(e.toString(),s.getOrThrow(e));return this}cloneEmpty(){return new Nt(this.key,this.parser)}};let gt=Nt;gt.REGISTRY=new Nt(D.create("root"));class Kt{constructor(e,t=[],i=[]){this.size=e,this.palette=t,this.blocks=i,this.blocksMap=[],i.forEach(r=>{if(!this.isInside(r.pos))throw new Error(`Found block at ${r.pos} which is outside the structure bounds ${this.size}`);this.blocksMap[r.pos[0]*e[1]*e[2]+r.pos[1]*e[2]+r.pos[2]]=r})}getSize(){return this.size}addBlock(e,t,i,r){if(!this.isInside(e))throw new Error(`Cannot add block at ${e} outside the structure bounds ${this.size}`);const n=new P(t,i);let a=this.palette.findIndex(o=>o.equals(n));return a===-1&&(a=this.palette.length,this.palette.push(n)),this.blocks.push({pos:e,state:a,nbt:r}),this.blocksMap[e[0]*this.size[1]*this.size[2]+e[1]*this.size[2]+e[2]]={pos:e,state:a,nbt:r},this}getBlocks(){return this.blocks.map(e=>({pos:e.pos,state:this.palette[e.state],nbt:e.nbt}))}getBlock(e){if(!this.isInside(e))return null;const t=this.blocksMap[e[0]*this.size[1]*this.size[2]+e[1]*this.size[2]+e[2]];return t?{pos:t.pos,state:this.palette[t.state],nbt:t.nbt}:null}isInside(e){return e[0]>=0&&e[0]=0&&e[1]=0&&e[2]P.fromNbt({name:"",value:n})),r=He(e.value,"blocks","compound").map(n=>({pos:He(n,"pos","int",3),state:Be(n,"state","int"),nbt:$t(()=>Be(n,"nbt","compound"),void 0)}));return new Kt(t,i,r)}}function de(s){return s*s}function ve(s,e,t){return Math.max(e,Math.min(t,s))}function we(s,e,t){return e+s*(t-e)}function vt(s,e,t,i,r,n){return we(e,we(s,t,i),we(s,r,n))}function Ns(s,e,t,i,r,n,a,o,u,f,c){return we(t,vt(s,e,i,r,n,a),vt(s,e,o,u,f,c))}function Je(s,e,t){return s===0?e():s===1?t():e()+s*(t()-e())}function Ot(s,e,t,i,r,n){return Je(e,()=>Je(s,t,i),()=>Je(s,r,n))}function Rs(s,e,t,i,r,n,a,o,u,f,c){return Je(t,()=>Ot(s,e,i,r,n,a),()=>Ot(s,e,o,u,f,c))}function Rt(s,e,t){return t<0?s:t>1?e:we(t,s,e)}function Qt(s,e,t){return(s-e)/(t-e)}function lt(s){return s*s*s*(s*(6*s-15)+10)}function Qe(s,e,t,i,r){return we(Qt(s,e,t),i,r)}function es(s,e,t,i,r){return Rt(i,r,Qt(s,e,t))}function Bs(s,e,t){let i=e-s;for(;i>0;){const r=Math.floor(i/2),n=s+r;t(n)?i=r:(s=n+1,i-=r+1)}return s}function ts(s,e,t){let i=BigInt(3129871*s)^BigInt(t)*BigInt(116129781)^BigInt(e);return i=i*i*BigInt(42317861)+i*BigInt(11),i>>BigInt(16)}function wt(s,e,t,i,r,n,a,o){return BigInt(s)<{var g;return(g=v.readObject(d))!=null?g:{}}))!=null?o:[];if(m.length===0)return new e(0);for(const d of m){const g=(u=v.readNumber(d.location))!=null?u:0,w=i(d.value,n),S=(f=v.readNumber(d.derivative))!=null?f:0;h.addPoint(g,w,S)}return h};class e{constructor(r){this.value=r}compute(){return this.value}min(){return this.value}max(){return this.value}mapAll(){return this}}s.Constant=e;class t{constructor(r,n=[],a=[],o=[]){this.coordinate=r,this.locations=n,this.values=a,this.derivatives=o}compute(r){const n=this.coordinate.compute(r),a=Bs(0,this.locations.length,I=>nr.min()))}max(){return Math.max(...this.values.map(r=>r.max()))}mapAll(r){return new t(r(this.coordinate),this.locations,this.values.map(n=>n.mapAll(r)),this.derivatives)}addPoint(r,n,a=0){return this.locations.push(r),this.values.push(typeof n=="number"?new s.Constant(n):n),this.derivatives.push(a),this}}s.MultiPoint=t})(Te||(Te={}));const ae=class{constructor(s){this.seed=BigInt(0),this.setSeed(s)}fork(){return new ae(this.nextLong())}forkPositional(){return new Ts(this.nextLong())}setSeed(s){this.seed=s^ae.MULTIPLIER&ae.MODULUS_MASK}advance(){this.seed=this.seed*ae.MULTIPLIER+ae.INCREMENT&ae.MODULUS_MASK}consume(s){for(let e=0;e>BigInt(ae.MODULUS_BITS-s));return e>2147483647?e-4294967296:e}nextInt(s){if(s===void 0)return this.next(32);if((s&s-1)==0)return Number(BigInt(s)*BigInt(this.next(31))>>BigInt(31));let e,t;for(;(e=this.next(31))-(t=e%s)+(s-1)<0;);return t}nextLong(){return(BigInt(this.next(32))<>N.BIGINT_30)*N.STAFFORD_1&N.MAX_ULONG)^s>>N.BIGINT_27)*N.STAFFORD_2&N.MAX_ULONG)^s>>N.BIGINT_31)&N.MAX_ULONG}static upgradeSeedTo128bit(s){s<0&&(s+=N.POW2_60);const e=s^N.SILVER_RATIO_64,t=e+N.GOLDEN_RATIO_64&N.MAX_ULONG;return[N.mixStafford13(e),N.mixStafford13(t)]}static rotateLeft(s,e){return s<>N.BIGINT_64-e}setSeed(s){this.seed=N.upgradeSeedTo128bit(s)}fork(){return new N([this.next(),this.next()])}forkPositional(){return new Cs(this.next(),this.next())}next(){const s=this.seed[0];let e=this.seed[1];const t=N.rotateLeft(s+e&N.MAX_ULONG,N.BIGINT_17)+s&N.MAX_ULONG;return e^=s,this.seed=[N.rotateLeft(s,N.BIGINT_49)^e^e<N.POW2_63&&(s-=N.POW2_60),s}consume(s){let e=this.seed[0],t=this.seed[1];for(let i=0;i>BigInt(64-s)}nextInt(s){let e=this.next()&N.MAX_UINT;if(s){const t=BigInt(s);let i=e*t,r=i&N.MAX_UINT;if(r>N.BIGINT_32;return Number(n)}{let t=Number(e);return t>=2147483648&&(t-=4294967296),t}}nextFloat(){return Number(this.nextBits(24))*N.FLOAT_MULTIPLIER}nextDouble(){return Number(this.nextBits(53))*N.DOUBLE_MULTIPLIER}parityConfigString(){return"seedLo: "+this.seed[0]+", seedHi: "+this.seed[1]}};let L=N;L.SILVER_RATIO_64=BigInt("7640891576956012809"),L.GOLDEN_RATIO_64=BigInt("-7046029254386353131"),L.FLOAT_MULTIPLIER=1/Math.pow(2,24),L.DOUBLE_MULTIPLIER=11102230246251565e-32,L.BIGINT_1=BigInt(1),L.BIGINT_17=BigInt(17),L.BIGINT_21=BigInt(21),L.BIGINT_27=BigInt(27),L.BIGINT_28=BigInt(28),L.BIGINT_30=BigInt(30),L.BIGINT_31=BigInt(31),L.BIGINT_32=BigInt(32),L.BIGINT_49=BigInt(49),L.BIGINT_64=BigInt(64),L.STAFFORD_1=BigInt("-4658895280553007687"),L.STAFFORD_2=BigInt("-7723592293110705685"),L.MAX_ULONG=BigInt("0xFFFFFFFFFFFFFFFF"),L.POW2_60=BigInt("0x10000000000000000"),L.POW2_63=BigInt("0x8000000000000000"),L.MAX_UINT=BigInt(4294967295);class Cs{constructor(e,t){this.seedLo=e,this.seedHi=t}at(e,t,i){const r=ts(e,t,i)^this.seedLo;return new L([r,this.seedHi])}fromHashOf(e){const t=qt(e,{asBytes:!0}),i=wt(t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),r=wt(t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15]);return new L([i^this.seedLo,r^this.seedHi])}seedKey(){return[this.seedLo,this.seedHi]}}const ue=class{constructor(s){this.xo=256*s.nextDouble(),this.yo=256*s.nextDouble(),this.zo=256*s.nextDouble(),this.p=Array(256);for(let e=0;e<256;e+=1)this.p[e]=e;for(let e=0;e<256;e+=1){const t=s.nextInt(256-e),i=this.p[e];this.p[e]=this.p[e+t],this.p[e+t]=i}}sample2D(s,e){let t,i,r;const n=(s+e)*ue.F2,a=Math.floor(s+n),o=s-(a-(t=(a+(i=Math.floor(e+n)))*ue.G2));let u,f;o>(r=e-(i-t))?(u=1,f=0):(u=0,f=1);const c=o-u+ue.G2,h=r-f+ue.G2,m=o-1+2*ue.G2,d=r-1+2*ue.G2,g=255&a,w=255&i,S=this.P(g+this.P(w))%12,I=this.P(g+u+this.P(w+f))%12,B=this.P(g+1+this.P(w+1))%12;return 70*(this.getCornerNoise3D(S,o,r,0,.5)+this.getCornerNoise3D(I,c,h,0,.5)+this.getCornerNoise3D(B,m,d,0,.5))}sample(s,e,t){const i=.3333333333333333*(s+e+t),r=Math.floor(s+i),n=Math.floor(e+i),a=Math.floor(t+i),o=.16666666666666666*(r+n+a),u=s-(r-o),f=e-(n-o),c=t-(a-o);let h,m,d,g,w,S;u>=f?f>=c?(h=1,m=0,d=0,g=1,w=1,S=0):u>=c?(h=1,m=0,d=0,g=1,w=0,S=1):(h=0,m=0,d=1,g=1,w=0,S=1):f127?t-256:t;for(let t=0;t<256;t+=1){const i=e.nextInt(256-t),r=this.p[t];this.p[t]=this.p[t+i],this.p[t+i]=r}}sample(e,t,i,r=0,n=0){const a=e+this.xo,o=t+this.yo,u=i+this.zo,f=Math.floor(a),c=Math.floor(o),h=Math.floor(u),m=a-f,d=o-c,g=u-h;let w=0;if(r!==0){const S=n>=0&&n=0;r-=1)r0&&(r=this.maxLimitNoise.getOctaveNoise(f))&&(u+=r.sample(m,d,g,h,t*h)/a),a/=2}return Rt(o/512,u/512,n)/128}}var bt;(bt||(bt={})).fromJson=function(s){var e,t,i,r,n;const a=(e=v.readObject(s))!=null?e:{};return{xzScale:(t=v.readNumber(a.xz_scale))!=null?t:1,yScale:(i=v.readNumber(a.y_scale))!=null?i:1,xzFactor:(r=v.readNumber(a.xz_factor))!=null?r:80,yFactor:(n=v.readNumber(a.y_factor))!=null?n:80}};const $e=class{constructor(s,{firstOctave:e,amplitudes:t}){this.first=new X(s,e,t),this.second=new X(s,e,t);let i=1/0,r=-1/0;for(let a=0;a{var a;return(a=v.readNumber(n))!=null?a:0}))!=null?i:[]}};class ii{constructor(e,t){const i=t[t.length-1],r=-t[0]+i+1,n=new Set(t),a=new te(e);this.noiseLevels=Array(r),i>=0&&i=0&&n.has(i-o)?this.noiseLevels[o]=new te(e):e.consume(262);if(i>0)throw new Error("Positive octaves are not allowed");this.highestFreqInputFactor=Math.pow(2,i),this.highestFreqValueFactor=1/(Math.pow(2,r)-1)}sample(e,t,i){let r=0,n=this.highestFreqInputFactor,a=this.highestFreqValueFactor;for(let o=0;o[(s>>16&255)/256,(s>>8&255)/256,(255&s)/256],xe=[124/256,189/256,107/256],Ms=Oe(6396257),ks=Oe(8431445),De=Oe(4764952),ut=Oe(4159204),Ft=Oe(8431445),Os=Oe(2129968),Dt=s=>[s/8,1-s/32,64*s],Ps={large_fern:()=>xe,tall_grass:()=>xe,grass_block:()=>xe,fern:()=>xe,grass:()=>xe,potted_fern:()=>xe,spruce_leaves:()=>Ms,birch_leaves:()=>ks,oak_leaves:()=>De,jungle_leaves:()=>De,acacia_leaves:()=>De,dark_oak_leaves:()=>De,vine:()=>De,water:()=>ut,bubble_column:()=>ut,cauldron:()=>ut,redstone_wire:s=>{var e;return(t=>{const i=t/15;return[.6*i+(i>0?.4:.3),ve(i*i*.7-.5,0,1),ve(i*i*.6-.7,0,1)]})(parseInt((e=s.power)!=null?e:"0"))},sugar_cane:()=>xe,attached_melon_stem:()=>Ft,attached_pumpkin_stem:()=>Ft,melon_stem:s=>{var e;return Dt(parseInt((e=s.age)!=null?e:"0"))},pumpkin_stem:s=>{var e;return Dt(parseInt((e=s.age)!=null?e:"0"))},lily_pad:()=>Os};var St;function tt(...s){let e=0;for(const r of s)e+=r.length;const t=new Float32Array(e);let i=0;for(const r of s)t.set(r,i),i+=r.length;return t}function st(s,e){const t=ps();for(let i=0;ithis.matchesVariant(r,e));if(t.length===0)return[];const i=this.variants[t[0]];return[Array.isArray(i)?i[0]:i]}return this.multipart?this.multipart.filter(t=>!t.when||this.matchesCase(t.when,e)).map(t=>Array.isArray(t.apply)?t.apply[0]:t.apply):[]}getBuffers(e,t,i,r,n,a){var o,u,f,c;const h=this.getModelVariants(t),m=[],d=[],g=[],w=[];for(const B of h){const R=St.rotate(a,(o=B.x)!=null?o:0,(u=B.y)!=null?u:0),_=r.getBlockModel(B.model).getBuffers(e,t,i,n,R);if(B.x||B.y){const x=Re();ft(x),Ce(x,x,[8,8,8]),ls(x,x,-mt((f=B.y)!=null?f:0)),us(x,x,-mt((c=B.x)!=null?c:0)),Ce(x,x,[-8,-8,-8]),st(_.position,x)}m.push(_.position),d.push(..._.texCoord),g.push(..._.tintColor),w.push(..._.index),n+=_.texCoord.length/2}const S=Re();ft(S),Zt(S,S,[.0625,.0625,.0625]);const I=tt(...m);return st(I,S),{position:I,texCoord:d,tintColor:g,index:w}}matchesVariant(e,t){return e.split(",").every(i=>{const[r,n]=i.split("=");return t[r]===n})}matchesCase(e,t){if(Array.isArray(e.OR))return e.OR.some(r=>this.matchesCase(r,t));const i=e;return Object.keys(i).every(r=>i[r].split("|").includes(t[r]))}static fromJson(e,t){return new Bt(e,t.variants,t.multipart)}}const Ls={0:[0,3,2,3,2,1,0,1],90:[2,3,2,1,0,1,0,3],180:[2,1,0,1,0,3,2,3],270:[0,1,0,3,2,3,2,1]},Fs={x:[1,0,0],y:[0,1,0],z:[0,0,1]},Ie=1.41421356237,Ds={x:[1,Ie,Ie],y:[Ie,1,Ie],z:[Ie,Ie,1]};class at{constructor(e,t,i,r){this.id=e,this.parent=t,this.textures=i,this.elements=r,this.flattened=!1}getBuffers(e,t,i,r,n){var a;const o=[],u=[],f=[],c=[];for(const h of(a=this.elements)!=null?a:[]){const m=this.getElementBuffers(e,t,h,r,i,n);o.push(m.position),u.push(...m.texCoord),f.push(...m.tintColor),c.push(...m.index),r+=m.texCoord.length/2}return{position:tt(...o),texCoord:u,tintColor:f,index:c}}getElementBuffers(e,t,i,r,n,a){var o,u,f,c,h,m,d,g,w,S,I,B;const R=i.from[0],_=i.from[1],x=i.from[2],T=i.to[0],M=i.to[1],k=i.to[2],K=[],Y=[],H=[],Q=[],ee=(V,z,Ae)=>{var Pe,b,l,p,A,y,O,U,se,be,Z,q,W;const[ce,fe,Ye,Xe]=n.getTextureUV(this.getTexture(V.texture)),ye=(Ye-ce)/16,_e=(Xe-fe)/16,Le=ye/16,Fe=_e/16;z[0]=((b=(Pe=V.uv)==null?void 0:Pe[0])!=null?b:z[0])*ye+Le,z[1]=((p=(l=V.uv)==null?void 0:l[1])!=null?p:z[1])*_e+Fe,z[2]=((y=(A=V.uv)==null?void 0:A[2])!=null?y:z[2])*ye-Le,z[3]=((U=(O=V.uv)==null?void 0:O[3])!=null?U:z[3])*_e-Fe;const ie=Ls[(se=V.rotation)!=null?se:0];Y.push(ce+z[ie[0]],fe+z[ie[1]],ce+z[ie[2]],fe+z[ie[3]],ce+z[ie[4]],fe+z[ie[5]],ce+z[ie[6]],fe+z[ie[7]]);const Se=((be=V.tintindex)!=null?be:-1)>=0&&(W=(q=(Z=Ps)[e.path])==null?void 0:q.call(Z,t))!=null?W:[1,1,1];H.push(...Se,...Se,...Se,...Se),K.push(...Ae),Q.push(r,r+1,r+2,r,r+2,r+3),r+=4};!((u=(o=i.faces)==null?void 0:o.up)!=null&&u.texture)||i.faces.up.cullface&&a[i.faces.up.cullface]||ee(i.faces.up,[R,16-k,T,16-x],[R,M,k,T,M,k,T,M,x,R,M,x]),!((c=(f=i.faces)==null?void 0:f.down)!=null&&c.texture)||i.faces.down.cullface&&a[i.faces.down.cullface]||ee(i.faces.down,[16-k,16-T,16-x,16-R],[R,_,x,T,_,x,T,_,k,R,_,k]),!((m=(h=i.faces)==null?void 0:h.south)!=null&&m.texture)||i.faces.south.cullface&&a[i.faces.south.cullface]||ee(i.faces.south,[R,16-M,T,16-_],[R,_,k,T,_,k,T,M,k,R,M,k]),!((g=(d=i.faces)==null?void 0:d.north)!=null&&g.texture)||i.faces.north.cullface&&a[i.faces.north.cullface]||ee(i.faces.north,[16-T,16-M,16-R,16-_],[T,_,x,R,_,x,R,M,x,T,M,x]),!((S=(w=i.faces)==null?void 0:w.east)!=null&&S.texture)||i.faces.east.cullface&&a[i.faces.east.cullface]||ee(i.faces.east,[16-k,16-M,16-x,16-_],[T,_,k,T,_,x,T,M,x,T,M,k]),!((B=(I=i.faces)==null?void 0:I.west)!=null&&B.texture)||i.faces.west.cullface&&a[i.faces.west.cullface]||ee(i.faces.west,[x,16-M,k,16-_],[R,_,x,R,_,k,R,M,k,R,M,x]);const j=Re();if(ft(j),i.rotation){const V=Ze(...i.rotation.origin);Ce(j,j,V),hs(j,j,mt(i.rotation.angle),Fs[i.rotation.axis]),i.rotation.rescale&&Zt(j,j,Ds[i.rotation.axis]),cs(V,V),Ce(j,j,V)}const ne=new Float32Array(K);return st(ne,j),{position:ne,texCoord:Y,tintColor:H,index:Q}}getTexture(e){for(var t,i;e.startsWith("#");)e=(i=(t=this.textures)==null?void 0:t[e.slice(1)])!=null?i:"";return e.startsWith("minecraft:")||(e="minecraft:"+e),e}flatten(e){var t;if(!this.flattened&&this.parent){const i=e.getBlockModel(this.parent);if(!i)return console.warn(`parent ${this.parent} does not exist!`),void(this.flattened=!0);i.flatten(e),this.elements||(this.elements=i.elements),this.textures||(this.textures={}),Object.keys((t=i.textures)!=null?t:{}).forEach(r=>{this.textures[r]||(this.textures[r]=i.textures[r])}),this.flattened=!0}}static fromJson(e,t){let i=t.parent;return i&&!i.startsWith("minecraft:")&&(i="minecraft:"+i),new at(e,i,t.textures,t.elements)}}class ht{constructor(e,t,i){this.gl=e,this.program=this.initShaderProgram(t,i)}getProgram(){return this.program}initShaderProgram(e,t){const i=this.loadShader(this.gl.VERTEX_SHADER,e),r=this.loadShader(this.gl.FRAGMENT_SHADER,t),n=this.gl.createProgram();if(this.gl.attachShader(n,i),this.gl.attachShader(n,r),this.gl.linkProgram(n),!this.gl.getProgramParameter(n,this.gl.LINK_STATUS))throw new Error(`Unable to link shader program: ${this.gl.getProgramInfoLog(n)}`);return n}loadShader(e,t){const i=this.gl.createShader(e);if(this.gl.shaderSource(i,t),this.gl.compileShader(i),!this.gl.getShaderParameter(i,this.gl.COMPILE_STATUS)){const r=new Error(`Compiling ${e===this.gl.VERTEX_SHADER?"vertex":"fragment"} shader: ${this.gl.getShaderInfoLog(i)}`);throw this.gl.deleteShader(i),r}return i}}function rs(s,e,t,i,r){const n=new Bt("",{"":{model:""}},void 0),a={getBlockModel:()=>r};return r.flatten(a),n.getBuffers(s,{},e,a,t,i)}function Vt(s,e,t,i,r,n){const a=r.up?16:[14.2,12.5,10.5,9,7,5.3,3.7,1.9,16,16,16,16,16,16,16,16][t];return rs(D.create(s),i,e,r,new at("","",{still:`minecraft:block/${s}_still`,flow:`minecraft:block/${s}_flow`},[{from:[0,0,0],to:[16,a,16],faces:{up:{texture:"#still",tintindex:n,cullface:F.UP},down:{texture:"#still",tintindex:n,cullface:F.DOWN},north:{texture:"#flow",tintindex:n,cullface:F.NORTH},east:{texture:"#flow",tintindex:n,cullface:F.EAST},south:{texture:"#flow",tintindex:n,cullface:F.SOUTH},west:{texture:"#flow",tintindex:n,cullface:F.WEST}}}]))}const ns={"minecraft:water":(s,e,t,i)=>Vt("water",s,parseInt(e.level),t,i,0),"minecraft:lava":(s,e,t,i)=>Vt("lava",s,parseInt(e.level),t,i),"minecraft:chest":(s,e,t)=>function(i,r,n,a){return rs(D.create("chest"),a,i,{},new at("","",{0:"minecraft:block/chest"},[{from:[1,0,1],to:[15,14,15],faces:{up:{texture:"#0"},down:{texture:"#0"},north:{texture:"#0"},east:{texture:"#0"},south:{texture:"#0"},west:{texture:"#0"}}}]))}(s,e.facing,e.type,t)},Vs=new Set(Object.keys(ns));class ri{constructor(e,t,i,r){var n,a;this.gl=e,this.structure=t,this.resources=i,this.chunks=[],r!=null&&r.facesPerBuffer&&console.warn("webgl render warning: facesPerBuffer option has been removed in favor of chunkSize"),this.chunkSize=(n=r==null?void 0:r.chunkSize)!=null?n:16,this.useInvisibleBlockBuffer=(a=r==null?void 0:r.useInvisibleBlockBuffer)==null||a,this.shaderProgram=new ht(e,` +import{p as jt,c as Re,i as ft,t as Ce,r as ls,a as us,s as Zt,f as Ze,b as hs,d as mt,n as cs,e as fs,g as ms,h as ds,j as ps,k as gs,l as Tt,m as vs,o as ws}from"./vec3.7a0b0b73.js";import{e as qt}from"./index.38fdde83.js";var F,Ee;(Ee=F||(F={})).UP="up",Ee.DOWN="down",Ee.NORTH="north",Ee.EAST="east",Ee.SOUTH="south",Ee.WEST="west";const bs={[F.UP]:[0,1,0],[F.DOWN]:[0,-1,0],[F.NORTH]:[0,0,-1],[F.EAST]:[1,0,0],[F.SOUTH]:[0,0,1],[F.WEST]:[-1,0,0]};var J,me;(function(s){s.ALL=[s.UP,s.DOWN,s.NORTH,s.EAST,s.SOUTH,s.WEST],s.normal=function(e){return bs[e]}})(F||(F={})),(me=J||(J={})).create=function(s,e,t){return[s,e,t]},me.ZERO=me.create(0,0,0),me.offset=function(s,e,t,i){return[s[0]+e,s[1]+t,s[2]+i]},me.towards=function(s,e){return me.offset(s,...F.normal(e))},me.equals=function(s,e){return s===e||s[0]===e[0]&&s[1]===e[1]&&s[2]===e[2]},me.magnitude=function(s){return s[0]*s[0]+s[1]*s[1]+s[2]*s[2]};const Ve={end:0,byte:1,short:2,int:3,long:4,float:5,double:6,byteArray:7,string:8,list:9,compound:10,intArray:11,longArray:12},Ct=["end","byte","short","int","long","float","double","byteArray","string","list","compound","intArray","longArray"];class Ss{constructor(e,t=!1){this.byte=this.readNum.bind(this,"getInt8",1),this.short=this.readNum.bind(this,"getInt16",2),this.int=this.readNum.bind(this,"getInt32",4),this.float=this.readNum.bind(this,"getFloat32",4),this.double=this.readNum.bind(this,"getFloat64",8),this.offset=0,this.littleEndian=t,this.arrayView=e,this.dataView=new DataView(e.buffer,e.byteOffset)}end(){return null}readNum(e,t){const i=this.dataView[e](this.offset,this.littleEndian);return this.offset+=t,i}long(){return[this.int(),this.int()]}byteArray(){const e=this.int(),t=[];for(let i=0;i=t)return;let i=this.buffer.byteLength;for(;ithis.buffer.byteLength&&n.fill(0,this.buffer.byteLength,this.offset),this.buffer=r,this.dataView=new DataView(r),this.arrayView=n}getData(){return this.accommodate(0),this.arrayView.slice(0,this.offset)}end(e){}writeNum(e,t,i){this.accommodate(t),this.dataView[e](this.offset,i,this.littleEndian),this.offset+=t}long(e){this.int(e[0]),this.int(e[1])}byteArray(e){this.int(e.length),this.accommodate(e.length),this.arrayView.set(e,this.offset),this.offset+=e.length}intArray(e){this.int(e.length);for(let t=0;t>6),a.push(128|63&n)):n<65536?(a.push(224|n>>12),a.push(128|n>>6&63),a.push(128|63&n)):(a.push(240|n>>18&7),a.push(128|n>>12&63),a.push(128|n>>6&63),a.push(128|63&n));return a}(e);this.short(t.length),this.accommodate(t.length),this.arrayView.set(t,this.offset),this.offset+=t.length}list(e){this.byte(Ve[e.type]),this.int(e.value.length),e.value;for(let t=0;t>16),i.setInt16(a+1,65535&r),i.setInt8(a+3,o),i.setInt32(a+4096,n.timestamp);const u=4096*r;i.setInt32(u,n.data.length+1),i.setInt8(u+4,n.compression),t.set(n.data,u+5),r+=o}return t}function ti(s,e,t,i){const r=Jt(s,e,t);switch(r.compression){case 1:r.data=dt(i);break;case 2:r.data=dt(i,!1,!0);break;case 3:r.data=It(i);break;default:throw new Error(`Invalid compression mode ${r.compression}`)}return r}function Jt(s,e,t){const i=s.find(r=>r.x===e&&r.z===t);if(i===void 0)throw new Error(`Cannot find chunk [${e}, ${t}]`);return i}function Be(s,e,t){if(!s[e])throw new Error(`Missing ${e} tag`);if(s[e].type!==t)throw new Error(`Expected ${e} to be of type ${t}, but found ${s[e].type}`);return s[e].value}function He(s,e,t,i){const r=Be(s,e,"list");if(r.type!==t)throw new Error(`Expected ${e} to be a list of ${t}s, but found ${r.type}s`);if(i&&r.value.length!==i)throw new Error(`Expected ${e} to be a list of length ${i}, but found length ${r.value.length}`);return r.value}function $t(s,e){try{return s()}catch{return e}}var v;function qe(s){let e=null;return()=>(e==null&&(e=s()),e)}function nt(s,e,t){const i=s.get(e);if(i)return i;const r=t(e);return s.set(e,r),r}(function(s){function e(t){return typeof t=="object"&&t!==null?t:void 0}s.readNumber=function(t){return typeof t=="number"?t:void 0},s.readInt=function(t){return typeof t=="number"?Math.floor(t):void 0},s.readString=function(t){return typeof t=="string"?t:void 0},s.readBoolean=function(t){return typeof t=="boolean"?t:void 0},s.readObject=e,s.readArray=function(t,i){if(Array.isArray(t))return t.map(r=>i(r))},s.readMap=function(t,i){var r;const n=(r=e(t))!=null?r:{};return Object.fromEntries(Object.entries(n).map(([a,o])=>[a,i(o)]))},s.compose=function(t,i,r){const n=i(t);return n?r(n):void 0},s.readEnum=function(t,i){return typeof t!="string"?i[0]:i.includes(t)?t:i[0]}})(v||(v={}));const We=class{constructor(s,e){if(this.namespace=s,this.path=e,!s.match(/^[a-z0-9._-]+$/))throw new Error(`Non [a-z0-9._-] character in namespace of ${s}:${e}`);if(!e.match(/^[a-z0-9/._-]+$/))throw new Error(`Non [a-z0-9/._-] character in path of ${s}:${e}`)}equals(s){return this===s||this.namespace===s.namespace&&this.path===s.path}toString(){return`${this.namespace}:${this.path}`}static create(s){return new We(this.DEFAULT_NAMESPACE,s)}static parse(s){const e=s.indexOf(this.SEPARATOR);if(e>=0){const t=e>=1?s.substring(0,e):this.DEFAULT_NAMESPACE,i=s.substring(e+1);return new We(t,i)}return new We(this.DEFAULT_NAMESPACE,s)}};let D=We;D.DEFAULT_NAMESPACE="minecraft",D.SEPARATOR=":";var As=Object.defineProperty,ys=Object.defineProperties,_s=Object.getOwnPropertyDescriptors,Mt=Object.getOwnPropertySymbols,Es=Object.prototype.hasOwnProperty,Is=Object.prototype.propertyIsEnumerable,kt=(s,e,t)=>e in s?As(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t;const oe=class{constructor(s,e={}){this.properties=e,this.name=typeof s=="string"?D.parse(s):s}getName(){return this.name}getProperties(){return this.properties}getProperty(s){return this.properties[s]}isFluid(){return this.is(oe.WATER)||this.is(oe.LAVA)}equals(s){return!!this.name.equals(s.name)&&Object.keys(this.properties).every(e=>s.properties[e]===this.properties[e])}is(s){return this.name.equals(s.name)}toString(){return Object.keys(this.properties).length===0?this.name.toString():`${this.name.toString()}[${Object.entries(this.properties).map(([s,e])=>s+"="+e).join(",")}]`}static fromNbt(s){const e=D.parse(Be(s.value,"Name","string")),t=$t(()=>Be(s.value,"Properties","compound"),{}),i=Object.keys(t).reduce((r,n)=>{return a=((u,f)=>{for(var c in f||(f={}))Es.call(f,c)&&kt(u,c,f[c]);if(Mt)for(var c of Mt(f))Is.call(f,c)&&kt(u,c,f[c]);return u})({},r),o={[n]:Be(t,n,"string")},ys(a,_s(o));var a,o},{});return new oe(e,i)}static fromJson(s){var e,t;const i=(e=v.readObject(s))!=null?e:{},r=D.parse((t=v.readString(i.Name))!=null?t:oe.STONE.name.toString()),n=v.readMap(i.Properties,a=>{var o;return(o=v.readString(a))!=null?o:""});return new oe(r,n)}};let P=oe;P.AIR=new oe(D.create("air")),P.STONE=new oe(D.create("stone")),P.WATER=new oe(D.create("water"),{level:"0"}),P.LAVA=new oe(D.create("lava"),{level:"0"});const Ue=class{constructor(s){this.minY=s,this.storage=Array(Ue.SIZE).fill(0),this.palette=[P.AIR]}get minBlockY(){return this.minY<<4}index(s,e,t){return(s<<8)+(e<<4)+t}getBlockState(s,e,t){var i;const r=this.storage[this.index(s,e,t)];return(i=this.palette[r])!=null?i:P.AIR}setBlockState(s,e,t,i){let r=this.palette.findIndex(n=>n.equals(i));r===-1&&(r=this.palette.length,this.palette.push(i)),this.storage[this.index(s,e,t)]=r}};let pt=Ue;pt.WIDTH=16,pt.SIZE=Ue.WIDTH*Ue.WIDTH*Ue.WIDTH;class si{constructor(e,t,i){this.minY=e,this.height=t,this.pos=i,this.sections=Array(this.sectionsCount).fill(null)}get maxY(){return this.minY+this.height}get minSection(){return this.minY>>4}get maxSection(){return 1+(this.maxY-1>>4)}get sectionsCount(){return this.maxSection-this.minSection}getSectionIndex(e){return(e>>4)-this.minSection}getBlockState(e){var t;const[i,r,n]=e,a=this.sections[this.getSectionIndex(r)];return(t=a==null?void 0:a.getBlockState(15&i,15&r,15&n))!=null?t:P.AIR}setBlockState(e,t){const[i,r,n]=e,a=this.getSectionIndex(r);let o=this.sections[a];if(o===null){if(t.equals(P.AIR))return;o=this.getOrCreateSection(a)}o.setBlockState(15&i,15&r,15&n,t)}getOrCreateSection(e){return this.sections[e]==null&&(this.sections[e]=new pt(this.minSection+e)),this.sections[e]}}var $,Me;(function(s){function e(t,i){return BigInt(4294967295&t)|BigInt(4294967295&i)<>4,t[2]>>4]},s.fromLong=function(t){return[4294967295&Number(t),Number(t>>BigInt(32))]},s.toLong=function(t){return e(t[0],t[1])},s.asLong=e,s.minBlockX=function(t){return t[0]<<4},s.minBlockZ=function(t){return t[1]<<4},s.maxBlockX=function(t){return 15+(t[0]<<4)},s.maxBlockZ=function(t){return 15+(t[1]<<4)}})($||($={})),function(s){function e(i){return{value:()=>i,key:()=>{}}}function t(i,r){return{value:()=>i.getOrThrow(r),key:()=>r}}s.parser=function(i,r){return n=>typeof n=="string"?t(i,D.parse(n)):e(r(n))},s.direct=e,s.reference=t}(Me||(Me={}));const Nt=class{constructor(s,e){this.key=s,this.parser=e,this.storage=new Map,this.builtin=new Map}register(s,e,t){return this.storage.set(s.toString(),e),t&&this.builtin.set(s.toString(),e),Me.reference(this,s)}keys(){return[...this.storage.keys()].map(s=>D.parse(s))}get(s){return this.storage.get(s.toString())}getOrThrow(s){const e=this.storage.get(s.toString());if(e===void 0)throw new Error(`Missing key in ${this.key.toString()}: ${s.toString()}`);return e}parse(s){if(!this.parser)throw new Error(`No parser exists for ${this.key.toString()}`);return this.parser(s)}clear(){this.storage.clear();for(const[s,e]of this.builtin.entries())this.storage.set(s,e);return this}assign(s){if(!this.key.equals(s.key))throw new Error(`Cannot assign registry of type ${s.key.toString()} to registry of type ${this.key.toString()}`);for(const e of s.keys())this.storage.set(e.toString(),s.getOrThrow(e));return this}cloneEmpty(){return new Nt(this.key,this.parser)}};let gt=Nt;gt.REGISTRY=new Nt(D.create("root"));class Kt{constructor(e,t=[],i=[]){this.size=e,this.palette=t,this.blocks=i,this.blocksMap=[],i.forEach(r=>{if(!this.isInside(r.pos))throw new Error(`Found block at ${r.pos} which is outside the structure bounds ${this.size}`);this.blocksMap[r.pos[0]*e[1]*e[2]+r.pos[1]*e[2]+r.pos[2]]=r})}getSize(){return this.size}addBlock(e,t,i,r){if(!this.isInside(e))throw new Error(`Cannot add block at ${e} outside the structure bounds ${this.size}`);const n=new P(t,i);let a=this.palette.findIndex(o=>o.equals(n));return a===-1&&(a=this.palette.length,this.palette.push(n)),this.blocks.push({pos:e,state:a,nbt:r}),this.blocksMap[e[0]*this.size[1]*this.size[2]+e[1]*this.size[2]+e[2]]={pos:e,state:a,nbt:r},this}getBlocks(){return this.blocks.map(e=>({pos:e.pos,state:this.palette[e.state],nbt:e.nbt}))}getBlock(e){if(!this.isInside(e))return null;const t=this.blocksMap[e[0]*this.size[1]*this.size[2]+e[1]*this.size[2]+e[2]];return t?{pos:t.pos,state:this.palette[t.state],nbt:t.nbt}:null}isInside(e){return e[0]>=0&&e[0]=0&&e[1]=0&&e[2]P.fromNbt({name:"",value:n})),r=He(e.value,"blocks","compound").map(n=>({pos:He(n,"pos","int",3),state:Be(n,"state","int"),nbt:$t(()=>Be(n,"nbt","compound"),void 0)}));return new Kt(t,i,r)}}function de(s){return s*s}function ve(s,e,t){return Math.max(e,Math.min(t,s))}function we(s,e,t){return e+s*(t-e)}function vt(s,e,t,i,r,n){return we(e,we(s,t,i),we(s,r,n))}function Ns(s,e,t,i,r,n,a,o,u,f,c){return we(t,vt(s,e,i,r,n,a),vt(s,e,o,u,f,c))}function Je(s,e,t){return s===0?e():s===1?t():e()+s*(t()-e())}function Ot(s,e,t,i,r,n){return Je(e,()=>Je(s,t,i),()=>Je(s,r,n))}function Rs(s,e,t,i,r,n,a,o,u,f,c){return Je(t,()=>Ot(s,e,i,r,n,a),()=>Ot(s,e,o,u,f,c))}function Rt(s,e,t){return t<0?s:t>1?e:we(t,s,e)}function Qt(s,e,t){return(s-e)/(t-e)}function lt(s){return s*s*s*(s*(6*s-15)+10)}function Qe(s,e,t,i,r){return we(Qt(s,e,t),i,r)}function es(s,e,t,i,r){return Rt(i,r,Qt(s,e,t))}function Bs(s,e,t){let i=e-s;for(;i>0;){const r=Math.floor(i/2),n=s+r;t(n)?i=r:(s=n+1,i-=r+1)}return s}function ts(s,e,t){let i=BigInt(3129871*s)^BigInt(t)*BigInt(116129781)^BigInt(e);return i=i*i*BigInt(42317861)+i*BigInt(11),i>>BigInt(16)}function wt(s,e,t,i,r,n,a,o){return BigInt(s)<{var g;return(g=v.readObject(d))!=null?g:{}}))!=null?o:[];if(m.length===0)return new e(0);for(const d of m){const g=(u=v.readNumber(d.location))!=null?u:0,w=i(d.value,n),S=(f=v.readNumber(d.derivative))!=null?f:0;h.addPoint(g,w,S)}return h};class e{constructor(r){this.value=r}compute(){return this.value}min(){return this.value}max(){return this.value}mapAll(){return this}}s.Constant=e;class t{constructor(r,n=[],a=[],o=[]){this.coordinate=r,this.locations=n,this.values=a,this.derivatives=o}compute(r){const n=this.coordinate.compute(r),a=Bs(0,this.locations.length,I=>nr.min()))}max(){return Math.max(...this.values.map(r=>r.max()))}mapAll(r){return new t(r(this.coordinate),this.locations,this.values.map(n=>n.mapAll(r)),this.derivatives)}addPoint(r,n,a=0){return this.locations.push(r),this.values.push(typeof n=="number"?new s.Constant(n):n),this.derivatives.push(a),this}}s.MultiPoint=t})(Te||(Te={}));const ae=class{constructor(s){this.seed=BigInt(0),this.setSeed(s)}fork(){return new ae(this.nextLong())}forkPositional(){return new Ts(this.nextLong())}setSeed(s){this.seed=s^ae.MULTIPLIER&ae.MODULUS_MASK}advance(){this.seed=this.seed*ae.MULTIPLIER+ae.INCREMENT&ae.MODULUS_MASK}consume(s){for(let e=0;e>BigInt(ae.MODULUS_BITS-s));return e>2147483647?e-4294967296:e}nextInt(s){if(s===void 0)return this.next(32);if((s&s-1)==0)return Number(BigInt(s)*BigInt(this.next(31))>>BigInt(31));let e,t;for(;(e=this.next(31))-(t=e%s)+(s-1)<0;);return t}nextLong(){return(BigInt(this.next(32))<>N.BIGINT_30)*N.STAFFORD_1&N.MAX_ULONG)^s>>N.BIGINT_27)*N.STAFFORD_2&N.MAX_ULONG)^s>>N.BIGINT_31)&N.MAX_ULONG}static upgradeSeedTo128bit(s){s<0&&(s+=N.POW2_60);const e=s^N.SILVER_RATIO_64,t=e+N.GOLDEN_RATIO_64&N.MAX_ULONG;return[N.mixStafford13(e),N.mixStafford13(t)]}static rotateLeft(s,e){return s<>N.BIGINT_64-e}setSeed(s){this.seed=N.upgradeSeedTo128bit(s)}fork(){return new N([this.next(),this.next()])}forkPositional(){return new Cs(this.next(),this.next())}next(){const s=this.seed[0];let e=this.seed[1];const t=N.rotateLeft(s+e&N.MAX_ULONG,N.BIGINT_17)+s&N.MAX_ULONG;return e^=s,this.seed=[N.rotateLeft(s,N.BIGINT_49)^e^e<N.POW2_63&&(s-=N.POW2_60),s}consume(s){let e=this.seed[0],t=this.seed[1];for(let i=0;i>BigInt(64-s)}nextInt(s){let e=this.next()&N.MAX_UINT;if(s){const t=BigInt(s);let i=e*t,r=i&N.MAX_UINT;if(r>N.BIGINT_32;return Number(n)}{let t=Number(e);return t>=2147483648&&(t-=4294967296),t}}nextFloat(){return Number(this.nextBits(24))*N.FLOAT_MULTIPLIER}nextDouble(){return Number(this.nextBits(53))*N.DOUBLE_MULTIPLIER}parityConfigString(){return"seedLo: "+this.seed[0]+", seedHi: "+this.seed[1]}};let L=N;L.SILVER_RATIO_64=BigInt("7640891576956012809"),L.GOLDEN_RATIO_64=BigInt("-7046029254386353131"),L.FLOAT_MULTIPLIER=1/Math.pow(2,24),L.DOUBLE_MULTIPLIER=11102230246251565e-32,L.BIGINT_1=BigInt(1),L.BIGINT_17=BigInt(17),L.BIGINT_21=BigInt(21),L.BIGINT_27=BigInt(27),L.BIGINT_28=BigInt(28),L.BIGINT_30=BigInt(30),L.BIGINT_31=BigInt(31),L.BIGINT_32=BigInt(32),L.BIGINT_49=BigInt(49),L.BIGINT_64=BigInt(64),L.STAFFORD_1=BigInt("-4658895280553007687"),L.STAFFORD_2=BigInt("-7723592293110705685"),L.MAX_ULONG=BigInt("0xFFFFFFFFFFFFFFFF"),L.POW2_60=BigInt("0x10000000000000000"),L.POW2_63=BigInt("0x8000000000000000"),L.MAX_UINT=BigInt(4294967295);class Cs{constructor(e,t){this.seedLo=e,this.seedHi=t}at(e,t,i){const r=ts(e,t,i)^this.seedLo;return new L([r,this.seedHi])}fromHashOf(e){const t=qt(e,{asBytes:!0}),i=wt(t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]),r=wt(t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15]);return new L([i^this.seedLo,r^this.seedHi])}seedKey(){return[this.seedLo,this.seedHi]}}const ue=class{constructor(s){this.xo=256*s.nextDouble(),this.yo=256*s.nextDouble(),this.zo=256*s.nextDouble(),this.p=Array(256);for(let e=0;e<256;e+=1)this.p[e]=e;for(let e=0;e<256;e+=1){const t=s.nextInt(256-e),i=this.p[e];this.p[e]=this.p[e+t],this.p[e+t]=i}}sample2D(s,e){let t,i,r;const n=(s+e)*ue.F2,a=Math.floor(s+n),o=s-(a-(t=(a+(i=Math.floor(e+n)))*ue.G2));let u,f;o>(r=e-(i-t))?(u=1,f=0):(u=0,f=1);const c=o-u+ue.G2,h=r-f+ue.G2,m=o-1+2*ue.G2,d=r-1+2*ue.G2,g=255&a,w=255&i,S=this.P(g+this.P(w))%12,I=this.P(g+u+this.P(w+f))%12,B=this.P(g+1+this.P(w+1))%12;return 70*(this.getCornerNoise3D(S,o,r,0,.5)+this.getCornerNoise3D(I,c,h,0,.5)+this.getCornerNoise3D(B,m,d,0,.5))}sample(s,e,t){const i=.3333333333333333*(s+e+t),r=Math.floor(s+i),n=Math.floor(e+i),a=Math.floor(t+i),o=.16666666666666666*(r+n+a),u=s-(r-o),f=e-(n-o),c=t-(a-o);let h,m,d,g,w,S;u>=f?f>=c?(h=1,m=0,d=0,g=1,w=1,S=0):u>=c?(h=1,m=0,d=0,g=1,w=0,S=1):(h=0,m=0,d=1,g=1,w=0,S=1):f127?t-256:t;for(let t=0;t<256;t+=1){const i=e.nextInt(256-t),r=this.p[t];this.p[t]=this.p[t+i],this.p[t+i]=r}}sample(e,t,i,r=0,n=0){const a=e+this.xo,o=t+this.yo,u=i+this.zo,f=Math.floor(a),c=Math.floor(o),h=Math.floor(u),m=a-f,d=o-c,g=u-h;let w=0;if(r!==0){const S=n>=0&&n=0;r-=1)r0&&(r=this.maxLimitNoise.getOctaveNoise(f))&&(u+=r.sample(m,d,g,h,t*h)/a),a/=2}return Rt(o/512,u/512,n)/128}}var bt;(bt||(bt={})).fromJson=function(s){var e,t,i,r,n;const a=(e=v.readObject(s))!=null?e:{};return{xzScale:(t=v.readNumber(a.xz_scale))!=null?t:1,yScale:(i=v.readNumber(a.y_scale))!=null?i:1,xzFactor:(r=v.readNumber(a.xz_factor))!=null?r:80,yFactor:(n=v.readNumber(a.y_factor))!=null?n:80}};const $e=class{constructor(s,{firstOctave:e,amplitudes:t}){this.first=new X(s,e,t),this.second=new X(s,e,t);let i=1/0,r=-1/0;for(let a=0;a{var a;return(a=v.readNumber(n))!=null?a:0}))!=null?i:[]}};class ii{constructor(e,t){const i=t[t.length-1],r=-t[0]+i+1,n=new Set(t),a=new te(e);this.noiseLevels=Array(r),i>=0&&i=0&&n.has(i-o)?this.noiseLevels[o]=new te(e):e.consume(262);if(i>0)throw new Error("Positive octaves are not allowed");this.highestFreqInputFactor=Math.pow(2,i),this.highestFreqValueFactor=1/(Math.pow(2,r)-1)}sample(e,t,i){let r=0,n=this.highestFreqInputFactor,a=this.highestFreqValueFactor;for(let o=0;o[(s>>16&255)/256,(s>>8&255)/256,(255&s)/256],xe=[124/256,189/256,107/256],Ms=Oe(6396257),ks=Oe(8431445),De=Oe(4764952),ut=Oe(4159204),Ft=Oe(8431445),Os=Oe(2129968),Dt=s=>[s/8,1-s/32,64*s],Ps={large_fern:()=>xe,tall_grass:()=>xe,grass_block:()=>xe,fern:()=>xe,grass:()=>xe,potted_fern:()=>xe,spruce_leaves:()=>Ms,birch_leaves:()=>ks,oak_leaves:()=>De,jungle_leaves:()=>De,acacia_leaves:()=>De,dark_oak_leaves:()=>De,vine:()=>De,water:()=>ut,bubble_column:()=>ut,cauldron:()=>ut,redstone_wire:s=>{var e;return(t=>{const i=t/15;return[.6*i+(i>0?.4:.3),ve(i*i*.7-.5,0,1),ve(i*i*.6-.7,0,1)]})(parseInt((e=s.power)!=null?e:"0"))},sugar_cane:()=>xe,attached_melon_stem:()=>Ft,attached_pumpkin_stem:()=>Ft,melon_stem:s=>{var e;return Dt(parseInt((e=s.age)!=null?e:"0"))},pumpkin_stem:s=>{var e;return Dt(parseInt((e=s.age)!=null?e:"0"))},lily_pad:()=>Os};var St;function tt(...s){let e=0;for(const r of s)e+=r.length;const t=new Float32Array(e);let i=0;for(const r of s)t.set(r,i),i+=r.length;return t}function st(s,e){const t=ps();for(let i=0;ithis.matchesVariant(r,e));if(t.length===0)return[];const i=this.variants[t[0]];return[Array.isArray(i)?i[0]:i]}return this.multipart?this.multipart.filter(t=>!t.when||this.matchesCase(t.when,e)).map(t=>Array.isArray(t.apply)?t.apply[0]:t.apply):[]}getBuffers(e,t,i,r,n,a){var o,u,f,c;const h=this.getModelVariants(t),m=[],d=[],g=[],w=[];for(const B of h){const R=St.rotate(a,(o=B.x)!=null?o:0,(u=B.y)!=null?u:0),_=r.getBlockModel(B.model).getBuffers(e,t,i,n,R);if(B.x||B.y){const x=Re();ft(x),Ce(x,x,[8,8,8]),ls(x,x,-mt((f=B.y)!=null?f:0)),us(x,x,-mt((c=B.x)!=null?c:0)),Ce(x,x,[-8,-8,-8]),st(_.position,x)}m.push(_.position),d.push(..._.texCoord),g.push(..._.tintColor),w.push(..._.index),n+=_.texCoord.length/2}const S=Re();ft(S),Zt(S,S,[.0625,.0625,.0625]);const I=tt(...m);return st(I,S),{position:I,texCoord:d,tintColor:g,index:w}}matchesVariant(e,t){return e.split(",").every(i=>{const[r,n]=i.split("=");return t[r]===n})}matchesCase(e,t){if(Array.isArray(e.OR))return e.OR.some(r=>this.matchesCase(r,t));const i=e;return Object.keys(i).every(r=>i[r].split("|").includes(t[r]))}static fromJson(e,t){return new Bt(e,t.variants,t.multipart)}}const Ls={0:[0,3,2,3,2,1,0,1],90:[2,3,2,1,0,1,0,3],180:[2,1,0,1,0,3,2,3],270:[0,1,0,3,2,3,2,1]},Fs={x:[1,0,0],y:[0,1,0],z:[0,0,1]},Ie=1.41421356237,Ds={x:[1,Ie,Ie],y:[Ie,1,Ie],z:[Ie,Ie,1]};class at{constructor(e,t,i,r){this.id=e,this.parent=t,this.textures=i,this.elements=r,this.flattened=!1}getBuffers(e,t,i,r,n){var a;const o=[],u=[],f=[],c=[];for(const h of(a=this.elements)!=null?a:[]){const m=this.getElementBuffers(e,t,h,r,i,n);o.push(m.position),u.push(...m.texCoord),f.push(...m.tintColor),c.push(...m.index),r+=m.texCoord.length/2}return{position:tt(...o),texCoord:u,tintColor:f,index:c}}getElementBuffers(e,t,i,r,n,a){var o,u,f,c,h,m,d,g,w,S,I,B;const R=i.from[0],_=i.from[1],x=i.from[2],T=i.to[0],M=i.to[1],k=i.to[2],K=[],Y=[],H=[],Q=[],ee=(V,z,Ae)=>{var Pe,b,l,p,A,y,O,U,se,be,Z,q,W;const[ce,fe,Ye,Xe]=n.getTextureUV(this.getTexture(V.texture)),ye=(Ye-ce)/16,_e=(Xe-fe)/16,Le=ye/16,Fe=_e/16;z[0]=((b=(Pe=V.uv)==null?void 0:Pe[0])!=null?b:z[0])*ye+Le,z[1]=((p=(l=V.uv)==null?void 0:l[1])!=null?p:z[1])*_e+Fe,z[2]=((y=(A=V.uv)==null?void 0:A[2])!=null?y:z[2])*ye-Le,z[3]=((U=(O=V.uv)==null?void 0:O[3])!=null?U:z[3])*_e-Fe;const ie=Ls[(se=V.rotation)!=null?se:0];Y.push(ce+z[ie[0]],fe+z[ie[1]],ce+z[ie[2]],fe+z[ie[3]],ce+z[ie[4]],fe+z[ie[5]],ce+z[ie[6]],fe+z[ie[7]]);const Se=((be=V.tintindex)!=null?be:-1)>=0&&(W=(q=(Z=Ps)[e.path])==null?void 0:q.call(Z,t))!=null?W:[1,1,1];H.push(...Se,...Se,...Se,...Se),K.push(...Ae),Q.push(r,r+1,r+2,r,r+2,r+3),r+=4};!((u=(o=i.faces)==null?void 0:o.up)!=null&&u.texture)||i.faces.up.cullface&&a[i.faces.up.cullface]||ee(i.faces.up,[R,16-k,T,16-x],[R,M,k,T,M,k,T,M,x,R,M,x]),!((c=(f=i.faces)==null?void 0:f.down)!=null&&c.texture)||i.faces.down.cullface&&a[i.faces.down.cullface]||ee(i.faces.down,[16-k,16-T,16-x,16-R],[R,_,x,T,_,x,T,_,k,R,_,k]),!((m=(h=i.faces)==null?void 0:h.south)!=null&&m.texture)||i.faces.south.cullface&&a[i.faces.south.cullface]||ee(i.faces.south,[R,16-M,T,16-_],[R,_,k,T,_,k,T,M,k,R,M,k]),!((g=(d=i.faces)==null?void 0:d.north)!=null&&g.texture)||i.faces.north.cullface&&a[i.faces.north.cullface]||ee(i.faces.north,[16-T,16-M,16-R,16-_],[T,_,x,R,_,x,R,M,x,T,M,x]),!((S=(w=i.faces)==null?void 0:w.east)!=null&&S.texture)||i.faces.east.cullface&&a[i.faces.east.cullface]||ee(i.faces.east,[16-k,16-M,16-x,16-_],[T,_,k,T,_,x,T,M,x,T,M,k]),!((B=(I=i.faces)==null?void 0:I.west)!=null&&B.texture)||i.faces.west.cullface&&a[i.faces.west.cullface]||ee(i.faces.west,[x,16-M,k,16-_],[R,_,x,R,_,k,R,M,k,R,M,x]);const j=Re();if(ft(j),i.rotation){const V=Ze(...i.rotation.origin);Ce(j,j,V),hs(j,j,mt(i.rotation.angle),Fs[i.rotation.axis]),i.rotation.rescale&&Zt(j,j,Ds[i.rotation.axis]),cs(V,V),Ce(j,j,V)}const ne=new Float32Array(K);return st(ne,j),{position:ne,texCoord:Y,tintColor:H,index:Q}}getTexture(e){for(var t,i;e.startsWith("#");)e=(i=(t=this.textures)==null?void 0:t[e.slice(1)])!=null?i:"";return e.startsWith("minecraft:")||(e="minecraft:"+e),e}flatten(e){var t;if(!this.flattened&&this.parent){const i=e.getBlockModel(this.parent);if(!i)return console.warn(`parent ${this.parent} does not exist!`),void(this.flattened=!0);i.flatten(e),this.elements||(this.elements=i.elements),this.textures||(this.textures={}),Object.keys((t=i.textures)!=null?t:{}).forEach(r=>{this.textures[r]||(this.textures[r]=i.textures[r])}),this.flattened=!0}}static fromJson(e,t){let i=t.parent;return i&&!i.startsWith("minecraft:")&&(i="minecraft:"+i),new at(e,i,t.textures,t.elements)}}class ht{constructor(e,t,i){this.gl=e,this.program=this.initShaderProgram(t,i)}getProgram(){return this.program}initShaderProgram(e,t){const i=this.loadShader(this.gl.VERTEX_SHADER,e),r=this.loadShader(this.gl.FRAGMENT_SHADER,t),n=this.gl.createProgram();if(this.gl.attachShader(n,i),this.gl.attachShader(n,r),this.gl.linkProgram(n),!this.gl.getProgramParameter(n,this.gl.LINK_STATUS))throw new Error(`Unable to link shader program: ${this.gl.getProgramInfoLog(n)}`);return n}loadShader(e,t){const i=this.gl.createShader(e);if(this.gl.shaderSource(i,t),this.gl.compileShader(i),!this.gl.getShaderParameter(i,this.gl.COMPILE_STATUS)){const r=new Error(`Compiling ${e===this.gl.VERTEX_SHADER?"vertex":"fragment"} shader: ${this.gl.getShaderInfoLog(i)}`);throw this.gl.deleteShader(i),r}return i}}function rs(s,e,t,i,r){const n=new Bt("",{"":{model:""}},void 0),a={getBlockModel:()=>r};return r.flatten(a),n.getBuffers(s,{},e,a,t,i)}function Vt(s,e,t,i,r,n){const a=r.up?16:[14.2,12.5,10.5,9,7,5.3,3.7,1.9,16,16,16,16,16,16,16,16][t];return rs(D.create(s),i,e,r,new at("","",{still:`minecraft:block/${s}_still`,flow:`minecraft:block/${s}_flow`},[{from:[0,0,0],to:[16,a,16],faces:{up:{texture:"#still",tintindex:n,cullface:F.UP},down:{texture:"#still",tintindex:n,cullface:F.DOWN},north:{texture:"#flow",tintindex:n,cullface:F.NORTH},east:{texture:"#flow",tintindex:n,cullface:F.EAST},south:{texture:"#flow",tintindex:n,cullface:F.SOUTH},west:{texture:"#flow",tintindex:n,cullface:F.WEST}}}]))}const ns={"minecraft:water":(s,e,t,i)=>Vt("water",s,parseInt(e.level),t,i,0),"minecraft:lava":(s,e,t,i)=>Vt("lava",s,parseInt(e.level),t,i),"minecraft:chest":(s,e,t)=>function(i,r,n,a){return rs(D.create("chest"),a,i,{},new at("","",{0:"minecraft:block/chest"},[{from:[1,0,1],to:[15,14,15],faces:{up:{texture:"#0"},down:{texture:"#0"},north:{texture:"#0"},east:{texture:"#0"},south:{texture:"#0"},west:{texture:"#0"}}}]))}(s,e.facing,e.type,t)},Vs=new Set(Object.keys(ns));class ri{constructor(e,t,i,r){var n,a;this.gl=e,this.structure=t,this.resources=i,this.chunks=[],r!=null&&r.facesPerBuffer&&console.warn("webgl render warning: facesPerBuffer option has been removed in favor of chunkSize"),this.chunkSize=(n=r==null?void 0:r.chunkSize)!=null?n:16,this.useInvisibleBlockBuffer=(a=r==null?void 0:r.useInvisibleBlockBuffer)==null||a,this.shaderProgram=new ht(e,` attribute vec4 vertPos; attribute vec2 texCoord; attribute vec3 tintColor; @@ -71,4 +71,4 @@ import{p as jt,c as Re,i as ft,t as Ce,r as ls,a as us,s as Zt,f as Ze,b as hs,d gl_FragColor = vec4(vColor, 1.0); } `).getProgram(),this.updateStructureBuffers(),this.gridBuffers=this.getGridBuffers(),this.outlineBuffers=this.getOutlineBuffers(),this.invisibleBlockBuffers=this.getInvisibleBlockBuffers(),this.atlasTexture=this.getBlockTexture(),this.projMatrix=this.getPerspective(),this.activeShader=this.shaderProgram,this.initialize()}setStructure(e){this.structure=e,this.updateStructureBuffers(),this.gridBuffers=this.getGridBuffers(),this.invisibleBlockBuffers=this.getInvisibleBlockBuffers()}initialize(){this.gl.enable(this.gl.DEPTH_TEST),this.gl.depthFunc(this.gl.LEQUAL),this.gl.enable(this.gl.BLEND),this.gl.blendFunc(this.gl.SRC_ALPHA,this.gl.ONE_MINUS_SRC_ALPHA),this.gl.enable(this.gl.CULL_FACE),this.gl.cullFace(this.gl.BACK)}getBlockTexture(){const e=this.gl.createTexture();return this.gl.bindTexture(this.gl.TEXTURE_2D,e),this.gl.texImage2D(this.gl.TEXTURE_2D,0,this.gl.RGBA,this.gl.RGBA,this.gl.UNSIGNED_BYTE,this.resources.getTextureAtlas()),this.gl.generateMipmap(this.gl.TEXTURE_2D),this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_MAG_FILTER,this.gl.NEAREST),e}getPerspective(){const e=70*Math.PI/180,t=this.gl.canvas.clientWidth/this.gl.canvas.clientHeight,i=Re();return fs(i,e,t,.1,500),i}getChunk(e){const t=2*Math.abs(e[0])+(e[0]<0?1:0),i=2*Math.abs(e[1])+(e[1]<0?1:0),r=2*Math.abs(e[2])+(e[2]<0?1:0);return this.chunks[t]||(this.chunks[t]=[]),this.chunks[t][i]||(this.chunks[t][i]=[]),this.chunks[t][i][r]||(this.chunks[t][i][r]={positions:[],textureCoordinates:[],tintColors:[],blockPositions:[],normals:[],indices:[],indexOffset:0}),this.chunks[t][i][r]}updateStructureBuffers(e){var t;const i=(o,u,f)=>{const c=Re();Ce(c,c,u),st(o.position,c),f.positions.push(o.position),f.textureCoordinates.push(...o.texCoord),f.tintColors.push(...o.tintColor);for(let h=0;h{o.positions=[],o.textureCoordinates=[],o.tintColors=[],o.blockPositions=[],o.normals=[],o.indices=[],o.indexOffset=0},n=o=>{o.buffer?(this.updateBuffer(o.buffer.position,this.gl.ARRAY_BUFFER,tt(...o.positions)),this.updateBuffer(o.buffer.texCoord,this.gl.ARRAY_BUFFER,new Float32Array(o.textureCoordinates)),this.updateBuffer(o.buffer.tintColor,this.gl.ARRAY_BUFFER,new Float32Array(o.tintColors)),this.updateBuffer(o.buffer.normal,this.gl.ARRAY_BUFFER,new Float32Array(o.normals)),this.updateBuffer(o.buffer.blockPos,this.gl.ARRAY_BUFFER,new Float32Array(o.blockPositions)),this.updateBuffer(o.buffer.index,this.gl.ELEMENT_ARRAY_BUFFER,new Uint16Array(o.indices)),o.buffer.length=o.indices.length):o.buffer={position:this.createBuffer(this.gl.ARRAY_BUFFER,tt(...o.positions)),texCoord:this.createBuffer(this.gl.ARRAY_BUFFER,new Float32Array(o.textureCoordinates)),tintColor:this.createBuffer(this.gl.ARRAY_BUFFER,new Float32Array(o.tintColors)),blockPos:this.createBuffer(this.gl.ARRAY_BUFFER,new Float32Array(o.blockPositions)),normal:this.createBuffer(this.gl.ARRAY_BUFFER,new Float32Array(o.normals)),index:this.createBuffer(this.gl.ELEMENT_ARRAY_BUFFER,new Uint16Array(o.indices)),length:o.indices.length}};let a;e?e.forEach(o=>{const u=this.getChunk(o);r(u)}):this.chunks.forEach(o=>o.forEach(u=>u.forEach(f=>{r(f)})));for(const o of this.structure.getBlocks()){const u=o.state.getName(),f=o.state.getProperties(),c=(t=this.resources.getDefaultBlockProperties(u))!=null?t:{};Object.entries(c).forEach(([d,g])=>{f[d]||(f[d]=g)});const h=[Math.floor(o.pos[0]/this.chunkSize),Math.floor(o.pos[1]/this.chunkSize),Math.floor(o.pos[2]/this.chunkSize)];if(e&&!e.some(d=>ms(d,h)))continue;const m=this.getChunk(h);try{const d=this.resources.getBlockDefinition(u),g={up:this.needsCull(o,F.UP),down:this.needsCull(o,F.DOWN),west:this.needsCull(o,F.WEST),east:this.needsCull(o,F.EAST),north:this.needsCull(o,F.NORTH),south:this.needsCull(o,F.SOUTH)};d&&(a=d.getBuffers(u,f,this.resources,this.resources,m.indexOffset,g),i(a,o.pos,m)),Vs.has(u.toString())&&(a=ns[u.toString()](m.indexOffset,f,this.resources,g),i(a,o.pos,m))}catch(d){console.error(`Error rendering block ${u}`,d)}}e?e.forEach(o=>{const u=this.getChunk(o);n(u)}):this.chunks.forEach(o=>o.forEach(u=>u.forEach(f=>{n(f)})))}needsCull(e,t){var i,r;const n=(i=this.structure.getBlock(J.towards(e.pos,t)))==null?void 0:i.state;return!!n&&((r=this.resources.getBlockFlags(n.getName()))!=null&&r.opaque?!(t===F.UP&&e.state.isFluid()):e.state.isFluid()&&n.isFluid())}getGridBuffers(){const[e,t,i]=this.structure.getSize(),r=[],n=[];r.push(0,0,0,e,0,0),n.push(1,0,0,1,0,0),r.push(0,0,0,0,0,i),n.push(0,0,1,0,0,1),r.push(0,0,0,0,t,0),r.push(e,0,0,e,t,0),r.push(0,0,i,0,t,i),r.push(e,0,i,e,t,i),r.push(0,t,0,0,t,i),r.push(e,t,0,e,t,i),r.push(0,t,0,e,t,0),r.push(0,t,i,e,t,i);for(let a=1;a<=e;a+=1)r.push(a,0,0,a,0,i);for(let a=1;a<=i;a+=1)r.push(0,0,a,e,0,a);for(let a=0;a<8+e+i;a+=1)n.push(.8,.8,.8,.8,.8,.8);return{position:this.createBuffer(this.gl.ARRAY_BUFFER,new Float32Array(r)),color:this.createBuffer(this.gl.ARRAY_BUFFER,new Float32Array(n)),length:r.length/3}}getOutlineBuffers(){const e=[],t=[];return this.addCube(e,t,[1,1,1],[0,0,0],[1,1,1]),{position:this.createBuffer(this.gl.ARRAY_BUFFER,new Float32Array(e)),color:this.createBuffer(this.gl.ARRAY_BUFFER,new Float32Array(t)),length:e.length/3}}getInvisibleBlockBuffers(){if(!this.useInvisibleBlockBuffer)return;const e=this.structure.getSize(),t=[],i=[];for(let r=0;r{t.forEach(i=>{i.forEach(r=>{r.buffer&&(this.setVertexAttr("vertPos",3,r.buffer.position),this.setVertexAttr("texCoord",2,r.buffer.texCoord),this.setVertexAttr("tintColor",3,r.buffer.tintColor),this.setVertexAttr("normal",3,r.buffer.normal),this.gl.bindBuffer(this.gl.ELEMENT_ARRAY_BUFFER,r.buffer.index),this.gl.drawElements(this.gl.TRIANGLES,r.buffer.length,this.gl.UNSIGNED_SHORT,0))})})})}drawColoredStructure(e){this.setShader(this.colorShaderProgram),this.setUniform("mView",e),this.setUniform("mProj",this.projMatrix),this.chunks.forEach(t=>{t.forEach(i=>{i.forEach(r=>{r.buffer&&(this.setVertexAttr("vertPos",3,r.buffer.position),this.setVertexAttr("blockPos",3,r.buffer.blockPos),this.gl.bindBuffer(this.gl.ELEMENT_ARRAY_BUFFER,r.buffer.index),this.gl.drawElements(this.gl.TRIANGLES,r.buffer.length,this.gl.UNSIGNED_SHORT,0))})})})}drawOutline(e,t){this.setShader(this.gridShaderProgram),this.setVertexAttr("vertPos",3,this.outlineBuffers.position),this.setVertexAttr("vertColor",3,this.outlineBuffers.color);const i=Re();ds(i,e),Ce(i,i,t),this.setUniform("mView",i),this.setUniform("mProj",this.projMatrix),this.gl.drawArrays(this.gl.LINES,0,this.outlineBuffers.length)}setViewport(e,t,i,r){this.gl.viewport(e,t,i,r),this.projMatrix=this.getPerspective()}setShader(e){this.gl.useProgram(e),this.activeShader=e}setVertexAttr(e,t,i){const r=this.gl.getAttribLocation(this.activeShader,e);this.gl.bindBuffer(this.gl.ARRAY_BUFFER,i),this.gl.vertexAttribPointer(r,t,this.gl.FLOAT,!1,0,0),this.gl.enableVertexAttribArray(r)}setUniform(e,t){const i=this.gl.getUniformLocation(this.activeShader,e);this.gl.uniformMatrix4fv(i,!1,t)}}var Ut=(s,e,t)=>new Promise((i,r)=>{var n=u=>{try{o(t.next(u))}catch(f){r(f)}},a=u=>{try{o(t.throw(u))}catch(f){r(f)}},o=u=>u.done?i(u.value):Promise.resolve(u.value).then(n,a);o((t=t.apply(s,e)).next())});class Ke{constructor(e,t){this.img=e,this.idMap=t,this.part=16/e.width}getTextureAtlas(){return this.img}getTextureUV(e){var t;return(t=this.idMap[e])!=null?t:[0,0,this.part,this.part]}static fromBlobs(e){return Ut(this,null,function*(){const t=Math.sqrt(Object.keys(e).length+1),i=Math.pow(2,Math.ceil(Math.log(t)/Math.log(2))),r=16*i,n=1/i,a=document.createElement("canvas");a.width=r,a.height=r;const o=a.getContext("2d");this.drawInvalidTexture(o);const u={};let f=1;return yield Promise.all(Object.keys(e).map(c=>Ut(this,null,function*(){const h=f%i,m=Math.floor(f/i);f+=1,u[c]=[n*h,n*m,n*h+n,n*m+n];const d=yield createImageBitmap(e[c]);o.drawImage(d,0,0,16,16,16*h,16*m,16,16)}))),new Ke(o.getImageData(0,0,r,r),u)})}static empty(){const e=document.createElement("canvas");e.width=16,e.height=16;const t=e.getContext("2d");return Ke.drawInvalidTexture(t),new Ke(t.getImageData(0,0,16,16),{})}static drawInvalidTexture(e){e.fillStyle="black",e.fillRect(0,0,16,16),e.fillStyle="magenta",e.fillRect(0,0,8,8),e.fillRect(8,8,8,8)}}const ge=class{constructor(s,e,t){this.offsetSampler=s,this.factorSampler=e,this.jaggednessSampler=t}static extractor(s){return{compute:e=>e[s]}}static fromJson(s){var e;const t=(e=v.readObject(s))!=null?e:{};return new ge(Te.fromJson(t.offset,this.EXTRACTOR),Te.fromJson(t.factor,this.EXTRACTOR),Te.fromJson(t.jaggedness,this.EXTRACTOR))}offset(s){return this.offsetSampler.compute(s)+ge.GLOBAL_OFFSET}factor(s){return this.factorSampler.compute(s)}jaggedness(s){return this.jaggednessSampler.compute(s)}static point(s,e,t){return{continents:s,erosion:e,weirdness:t,ridges:this.peaksAndValleys(t)}}static peaksAndValleys(s){return 3*-(Math.abs(Math.abs(s)-.6666667)-.33333334)}};let pe=ge;var G,Ne,Gt,ke,xt;pe.GLOBAL_OFFSET=-.50375,pe.EXTRACTOR=s=>{var e;const t=(e=v.readString(s))!=null?e:"continents";return ge.extractor(t)},pe.CONTINENTS=ge.extractor("continents"),pe.EROSION=ge.extractor("erosion"),pe.WEIRDNESS=ge.extractor("weirdness"),pe.RIDGES=ge.extractor("ridges"),function(s){function e(t){return t.ySize<<2}s.fromJson=function(t){var i,r,n,a,o;const u=(i=v.readObject(t))!=null?i:{};return{minY:(r=v.readInt(u.min_y))!=null?r:0,height:(n=v.readInt(u.height))!=null?n:256,xzSize:(a=v.readInt(u.size_horizontal))!=null?a:1,ySize:(o=v.readInt(u.size_vertical))!=null?o:1,sampling:bt.fromJson(u.sampling),topSlide:Ne.fromJson(u.top_slide),bottomSlide:Ne.fromJson(u.bottom_slide),terrainShaper:pe.fromJson(u.terrain_shaper)}},s.cellHeight=e,s.cellWidth=function(t){return t.xzSize<<2},s.cellCountY=function(t){return t.height/e(t)},s.minCellY=function(t){return Math.floor(t.minY/e(t))},s.applySlides=function(t,i,r){const n=Math.floor(r/e(t))-s.minCellY(t);return i=Ne.apply(t.topSlide,i,s.cellCountY(t)-n),i=Ne.apply(t.bottomSlide,i,n)}}(G||(G={})),(Gt=Ne||(Ne={})).fromJson=function(s){var e,t,i,r;const n=(e=v.readObject(s))!=null?e:{};return{target:(t=v.readNumber(n.target))!=null?t:0,size:(i=v.readInt(n.size))!=null?i:0,offset:(r=v.readInt(n.offset))!=null?r:0}},Gt.apply=function(s,e,t){if(s.size<=0)return e;const i=(t-s.offset)/s.size;return Rt(s.target,e,i)},function(s){function e(t){const i=new gt(D.create(t));return gt.REGISTRY.register(i.key,i),i}s.NOISE=e("worldgen/noise"),s.DENSITY_FUNCTION=e("worldgen/density_function")}(ke||(ke={}));class C{minValue(){return-this.maxValue()}mapAll(e){return e.map(this)}}(function(s){s.context=function(b,l,p){return{x:b,y:l,z:p}};class e extends s{constructor(l){super(),this.input=l}compute(l){return this.transform(l,this.input.compute(l))}}const t=Me.parser(ke.NOISE,et.fromJson);s.fromJson=function b(l,p=b){var A,y,O,U,se,be,Z,q,W,ce,fe,Ye,Xe,ye,_e,Le,Fe,ie,Se;if(typeof l=="string")return new n(Me.reference(ke.DENSITY_FUNCTION,D.parse(l)));if(typeof l=="number")return new r(l);const E=(A=v.readObject(l))!=null?A:{},ot=(y=v.readString(E.type))==null?void 0:y.replace(/^minecraft:/,"");switch(ot){case"blend_alpha":return new a(1,0,1);case"blend_offset":case"beardifier":return new a(0,-1/0,1/0);case"old_blended_noise":return new o;case"flat_cache":return new f(p(E.argument));case"interpolated":return new d(p(E.argument));case"cache_2d":return new h(p(E.argument));case"cache_once":return new m(p(E.argument));case"cache_all_in_cell":return new c(p(E.argument));case"noise":return new g((O=v.readNumber(E.xz_scale))!=null?O:1,(U=v.readNumber(E.y_scale))!=null?U:1,t(E.noise));case"end_islands":return new w;case"weird_scaled_sampler":return new B(p(E.input),v.readEnum(E.rarity_value_mapper,S),t(E.noise));case"shifted_noise":return new R(p(E.shift_x),p(E.shift_y),p(E.shift_z),(se=v.readNumber(E.xz_scale))!=null?se:1,(be=v.readNumber(E.y_scale))!=null?be:1,t(E.noise));case"range_choice":return new _(p(E.input),(Z=v.readNumber(E.min_inclusive))!=null?Z:0,(q=v.readNumber(E.max_exclusive))!=null?q:1,p(E.when_in_range),p(E.when_out_of_range));case"shift_a":return new T(t(E.argument));case"shift_b":return new M(t(E.argument));case"shift":return new k(t(E.argument));case"blend_density":return new K(p(E.argument));case"clamp":return new Y(p(E.input),(W=v.readNumber(E.min))!=null?W:0,(ce=v.readNumber(E.max))!=null?ce:1);case"abs":case"square":case"cube":case"half_negative":case"quarter_negative":case"squeeze":return new Q(ot,p(E.argument));case"slide":return new ee(p(E.argument));case"add":case"mul":case"min":case"max":return new ne(v.readEnum(ot,j),p(E.argument1),p(E.argument2));case"spline":return new V(Te.fromJson(E.spline,p),(fe=v.readNumber(E.min_value))!=null?fe:0,(Ye=v.readNumber(E.max_value))!=null?Ye:1);case"terrain_shaper_spline":return new Ae(p(E.continentalness),p(E.erosion),p(E.weirdness),v.readEnum(E.spline,z),(Xe=v.readNumber(E.min_value))!=null?Xe:0,(ye=v.readNumber(E.max_value))!=null?ye:1);case"constant":return new r((_e=v.readNumber(E.argument))!=null?_e:0);case"y_clamped_gradient":return new Pe((Le=v.readInt(E.from_y))!=null?Le:-4064,(Fe=v.readInt(E.to_y))!=null?Fe:4062,(ie=v.readNumber(E.from_value))!=null?ie:-4064,(Se=v.readNumber(E.to_value))!=null?Se:4062)}return r.ZERO};const i=class extends s{constructor(b){super(),this.value=b}compute(){return this.value}minValue(){return this.value}maxValue(){return this.value}};let r=i;r.ZERO=new i(0),r.ONE=new i(1),s.Constant=r;class n extends s{constructor(l){super(),this.holder=l}compute(l){return this.holder.value().compute(l)}minValue(){return this.holder.value().minValue()}maxValue(){return this.holder.value().maxValue()}}s.HolderHolder=n;class a extends s.Constant{constructor(l,p,A){super(l),this.min=p,this.max=A}minValue(){return this.min}maxValue(){return this.max}}s.ConstantMinMax=a;class o extends s{constructor(l){super(),this.blendedNoise=l!=null?l:new ss(L.create(BigInt(0)),{xzScale:1,yScale:1,xzFactor:80,yFactor:160},4,8)}compute(l){return this.blendedNoise.sample(l.x,l.y,l.z)}maxValue(){return this.blendedNoise.maxValue}}s.OldBlendedNoise=o;class u extends s{constructor(l){super(),this.wrapped=l}minValue(){return this.wrapped.minValue()}maxValue(){return this.wrapped.maxValue()}}class f extends u{constructor(l){super(l),this.lastValue=0}compute(l){const p=l.x>>2,A=l.z>>2;return this.lastQuartX===p&&this.lastQuartZ===A||(this.lastValue=this.wrapped.compute(s.context(p<<2,0,A<<2)),this.lastQuartX=p,this.lastQuartZ=A),this.lastValue}mapAll(l){return l.map(new f(this.wrapped.mapAll(l)))}}s.FlatCache=f;class c extends u{constructor(l){super(l)}compute(l){return this.wrapped.compute(l)}mapAll(l){return l.map(new c(this.wrapped.mapAll(l)))}}s.CacheAllInCell=c;class h extends u{constructor(l){super(l),this.lastValue=0}compute(l){const p=l.x,A=l.z;return this.lastBlockX===p&&this.lastBlockZ===A||(this.lastValue=this.wrapped.compute(l),this.lastBlockX=p,this.lastBlockZ=A),this.lastValue}mapAll(l){return l.map(new h(this.wrapped.mapAll(l)))}}s.Cache2D=h;class m extends u{constructor(l){super(l),this.lastValue=0}compute(l){const p=l.x,A=l.y,y=l.z;return this.lastBlockX===p&&this.lastBlockY===A&&this.lastBlockZ===y||(this.lastValue=this.wrapped.compute(l),this.lastBlockX=p,this.lastBlockY=A,this.lastBlockZ=y),this.lastValue}mapAll(l){return l.map(new m(this.wrapped.mapAll(l)))}}s.CacheOnce=m;class d extends u{constructor(l,p=4,A=4){super(l),this.cellWidth=p,this.cellHeight=A,this.values=new Map}compute({x:l,y:p,z:A}){const y=this.cellWidth,O=this.cellHeight,U=(l%y+y)%y/y,se=(p%O+O)%O/O,be=(A%y+y)%y/y,Z=Math.floor(l/y)*y,q=Math.floor(p/O)*O,W=Math.floor(A/y)*y;return Rs(U,se,be,()=>this.computeCorner(Z,q,W),()=>this.computeCorner(Z+y,q,W),()=>this.computeCorner(Z,q+O,W),()=>this.computeCorner(Z+y,q+O,W),()=>this.computeCorner(Z,q,W+y),()=>this.computeCorner(Z+y,q,W+y),()=>this.computeCorner(Z,q+O,W+y),()=>this.computeCorner(Z+y,q+O,W+y))}computeCorner(l,p,A){return nt(this.values,`${l} ${p} ${A}`,()=>this.wrapped.compute(s.context(l,p,A)))}mapAll(l){return l.map(new d(this.wrapped.mapAll(l)))}withCellSize(l,p){return new d(this.wrapped,l,p)}}s.Interpolated=d;class g extends s{constructor(l,p,A,y){super(),this.xzScale=l,this.yScale=p,this.noiseData=A,this.noise=y}compute(l){var p,A;return(A=(p=this.noise)==null?void 0:p.sample(l.x*this.xzScale,l.y*this.yScale,l.z*this.xzScale))!=null?A:0}maxValue(){var l,p;return(p=(l=this.noise)==null?void 0:l.maxValue)!=null?p:2}}s.Noise=g;class w extends s{compute(){return 0}minValue(){return-.84375}maxValue(){return .5625}}const S=["type_1","type_2"],I=class extends e{constructor(b,l,p,A){super(b),this.rarityValueMapper=l,this.noiseData=p,this.noise=A,this.mapper=I.ValueMapper[this.rarityValueMapper]}transform(b,l){if(!this.noise)return 0;const p=this.mapper(l);return p*Math.abs(this.noise.sample(b.x/p,b.y/p,b.z/p))}mapAll(b){return b.map(new I(this.input.mapAll(b),this.rarityValueMapper,this.noiseData,this.noise))}minValue(){return 0}maxValue(){return this.rarityValueMapper==="type_1"?2:3}static rarityValueMapper1(b){return b<-.5?.75:b<0?1:b<.5?1.5:2}static rarityValueMapper2(b){return b<-.75?.5:b<-.5?.75:b<.5?1:b<.75?2:3}};let B=I;B.ValueMapper={type_1:I.rarityValueMapper1,type_2:I.rarityValueMapper2},s.WeirdScaledSampler=B;class R extends g{constructor(l,p,A,y,O,U,se){super(y,O,U,se),this.shiftX=l,this.shiftY=p,this.shiftZ=A}compute(l){var p,A;const y=l.x*this.xzScale+this.shiftX.compute(l),O=l.y*this.yScale+this.shiftY.compute(l),U=l.z*this.xzScale+this.shiftZ.compute(l);return(A=(p=this.noise)==null?void 0:p.sample(y,O,U))!=null?A:0}mapAll(l){return l.map(new R(this.shiftX.mapAll(l),this.shiftY.mapAll(l),this.shiftZ.mapAll(l),this.xzScale,this.yScale,this.noiseData,this.noise))}}s.ShiftedNoise=R;class _ extends s{constructor(l,p,A,y,O){super(),this.input=l,this.minInclusive=p,this.maxExclusive=A,this.whenInRange=y,this.whenOutOfRange=O}compute(l){const p=this.input.compute(l);return this.minInclusive<=p&&pMath.abs(b),square:b=>b*b,cube:b=>b*b*b,half_negative:b=>b>0?b:.5*b,quarter_negative:b=>b>0?b:.25*b,squeeze:b=>{const l=ve(b,-1,1);return l/2-l*l*l/24}},s.Mapped=Q;class ee extends e{constructor(l,p){super(l),this.settings=p}transform(l,p){return this.settings?G.applySlides(this.settings,p,l.y):p}mapAll(l){return l.map(new ee(this.input.mapAll(l),this.settings))}minValue(){return this.settings?Math.min(this.input.minValue(),this.settings.bottomSlide.target,this.settings.topSlide.target):this.input.minValue()}maxValue(){return this.settings?Math.max(this.input.maxValue(),this.settings.bottomSlide.target,this.settings.topSlide.target):this.input.maxValue()}}s.Slide=ee;const j=["add","mul","min","max"];class ne extends s{constructor(l,p,A,y,O){super(),this.type=l,this.argument1=p,this.argument2=A,this.min=y,this.max=O}compute(l){const p=this.argument1.compute(l);switch(this.type){case"add":return p+this.argument2.compute(l);case"mul":return p===0?0:p*this.argument2.compute(l);case"min":return pthis.argument2.maxValue()?p:Math.max(p,this.argument2.compute(l))}}mapAll(l){return l.map(new ne(this.type,this.argument1.mapAll(l),this.argument2.mapAll(l)))}minValue(){var l;return(l=this.min)!=null?l:-1/0}maxValue(){var l;return(l=this.max)!=null?l:1/0}withMinMax(){const l=this.argument1.minValue(),p=this.argument2.minValue(),A=this.argument1.maxValue(),y=this.argument2.maxValue();let O,U;switch(this.type!=="min"&&this.type!=="max"||!(l>=y||p>=A)||console.warn(`Creating a ${this.type} function between two non-overlapping inputs`),this.type){case"add":O=l+p,U=A+y;break;case"mul":O=l>0&&p>0?l*p||0:A<0&&y<0?A*y||0:Math.min(l*y||0,p*A||0),U=l>0&&p>0?A*y||0:A<0&&y<0?l*p||0:Math.max(l*p||0,A*y||0);break;case"min":O=Math.min(l,p),U=Math.min(A,y);break;case"max":O=Math.max(l,p),U=Math.max(A,y)}return new ne(this.type,this.argument1,this.argument2,O,U)}}s.Ap2=ne;class V extends s{constructor(l,p,A){super(),this.spline=l,this.min=p,this.max=A}compute(l){return ve(this.spline.compute(l),this.min,this.max)}mapAll(l){return l.map(new V(this.spline.mapAll(p=>p instanceof s?p.mapAll(l):p),this.min,this.max))}minValue(){return this.min}maxValue(){return this.max}}s.Spline=V;const z=["offset","factor","jaggedness"];class Ae extends s{constructor(l,p,A,y,O,U,se){super(),this.continentalness=l,this.erosion=p,this.weirdness=A,this.spline=y,this.min=O,this.max=U,this.shaper=se}compute(l){if(!this.shaper)return 0;const p=pe.point(this.continentalness.compute(l),this.erosion.compute(l),this.weirdness.compute(l));return ve(this.shaper[this.spline](p),this.min,this.max)}mapAll(l){return l.map(new Ae(this.continentalness.mapAll(l),this.erosion.mapAll(l),this.weirdness.mapAll(l),this.spline,this.min,this.max,this.shaper))}minValue(){return this.min}maxValue(){return this.max}}s.TerrainShaperSpline=Ae;class Pe extends s{constructor(l,p,A,y){super(),this.fromY=l,this.toY=p,this.fromValue=A,this.toValue=y}compute(l){return es(l.y,this.fromY,this.toY,this.fromValue,this.toValue)}minValue(){return Math.min(this.fromValue,this.toValue)}maxValue(){return Math.max(this.fromValue,this.toValue)}}s.YClampedGradient=Pe})(C||(C={}));class it{constructor(e,t){this.level=e,this.type=t}at(e){return e0))return s(e,t,i).at(t)}}};const re=class{constructor(s,e,t,i,r,n,a,o,u,f){this.noiseChunk=s,this.barrierNoise=t,this.fluidLevelFloodednessNoise=i,this.fluidLevelSpreadNoise=r,this.lavaNoise=n,this.random=a,this.globalFluidPicker=f,this.minGridX=this.gridX($.minBlockX(e))-1,this.gridSizeX=this.gridX($.maxBlockX(e))+1-this.minGridX+1,this.minGridY=this.gridY(o)-1,this.minGridZ=this.gridZ($.minBlockZ(e))-1,this.gridSizeZ=this.gridZ($.maxBlockZ(e))+1-this.minGridZ+1;const c=this.gridY(o+u)+1-this.minGridY+1;this.gridSize=this.gridSizeX*c*this.gridSizeZ,this.aquiferCache=Array(this.gridSize).fill(void 0),this.aquiferLocationCache=Array(this.gridSize).fill(J.ZERO)}compute({x:s,y:e,z:t},i){if(i<=0){if(this.globalFluidPicker(s,e,t).at(e).is(P.LAVA))return P.LAVA;{const r=this.gridX(s-5),n=this.gridY(e+1),a=this.gridZ(t-5);let o=Number.MAX_SAFE_INTEGER,u=Number.MAX_SAFE_INTEGER,f=Number.MAX_SAFE_INTEGER,c=J.ZERO,h=J.ZERO,m=J.ZERO;for(let _=0;_<=1;_+=1)for(let x=-1;x<=1;x+=1)for(let T=0;T<=1;T+=1){const M=this.getLocation(r+_,n+x,a+T),k=J.magnitude(M);o>=k?(m=h,h=c,c=M,f=u,u=o,o=k):u>=k?(m=h,h=M,f=u,u=k):f>=k&&(m=M,f=k)}const d=this.getStatus(c),g=this.getStatus(h),w=this.getStatus(m),S=re.similarity(o,u),I=re.similarity(o,f),B=re.similarity(u,f);let R;if(d.at(e).is(P.WATER)&&this.globalFluidPicker(s,e-1,t).at(e-1).is(P.LAVA))R=1;else if(S>-1){const _=qe(()=>this.barrierNoise.compute(C.context(s,.5*e,t))),x=this.calculatePressure(e,d,g,_),T=this.calculatePressure(e,d,w,_),M=this.calculatePressure(e,g,w,_),k=Math.max(x,T*Math.max(0,I),M*Math.max(B));R=Math.max(0,2*Math.max(0,S)*k)}else R=0;if(i+R<=0)return d.at(e)}}}static similarity(s,e){return 1-Math.abs(e-s)/25}calculatePressure(s,e,t,i){const r=e.at(s),n=t.at(s);if(r.is(P.LAVA)&&n.is(P.WATER)||r.is(P.WATER)&&n.is(P.LAVA))return 1;const a=Math.abs(e.level-t.level);if(a===0)return 0;const o=s+.5-(e.level+t.level)/2,u=a/2-Math.abs(o),f=o>0?u>0?u/1.5:u/2.5:u>-3?(u+3)/3:(u+3)/10;return f<-2||f>2?f:f+i()}getStatus(s){const[e,t,i]=s,r=this.getIndex(this.gridX(e),this.gridY(t),this.gridZ(i)),n=this.aquiferCache[r];if(n!==void 0)return n;const a=this.computeStatus(e,t,i);return this.aquiferCache[r]=a,a}computeStatus(s,e,t){const i=this.globalFluidPicker(s,e,t);let r=Number.MAX_SAFE_INTEGER,n=!1;for(const[d,g]of re.SURFACE_SAMPLING){const w=s+(g<<4),S=t+(g<<4),I=this.noiseChunk.getPreliminarySurfaceLevel(w,S);r=Math.min(r,I);const B=d===0&&g===0;if(B&&e-12>I+8)return i;if(B||e+12>I+8){const R=this.globalFluidPicker(w,I+8,S);if(!R.at(I+8).is(P.AIR)){if(B)return R;n=!0}}}const a=n?es(r+8-e,0,64,1,0):0,o=ve(this.fluidLevelFloodednessNoise.compute(C.context(s,.67*e,t)),-1,1);if(o>Qe(a,1,0,-.3,.8))return i;if(o<=Qe(a,1,0,-.8,.4))return new it(Number.MIN_SAFE_INTEGER,i.type);const u=Math.floor(e/40),f=this.fluidLevelSpreadNoise.compute(C.context(Math.floor(s/16),u,Math.floor(t/16))),c=40*u+20+3*Math.floor(f/3),h=Math.min(r,c),m=this.getFluidType(s,e,t,i.type,c);return new it(h,m)}getFluidType(s,e,t,i,r){if(r<=-10){const n=this.lavaNoise.compute(C.context(Math.floor(s/64),Math.floor(e/40),Math.floor(t/64)));if(Math.abs(n)>.3)return P.LAVA}return i}getLocation(s,e,t){const i=this.getIndex(s,e,t),r=this.aquiferLocationCache[i];if(J.equals(r,J.ZERO))return r;const n=this.random.at(s,e,t),a=J.create(s*re.X_SPACING+n.nextInt(10),e*re.Y_SPACING+n.nextInt(9),t*re.Z_SPACING+n.nextInt(10));return this.aquiferLocationCache[i]=a,a}getIndex(s,e,t){const i=s-this.minGridX,r=e-this.minGridY,n=t-this.minGridZ,a=(r*this.gridSizeZ+n)*this.gridSizeX+i;if(a<0||a>=this.gridSize)throw new Error(`Invalid aquifer index at ${s} ${e} ${t}: 0 <= ${a} < ${this.gridSize}`);return a}gridX(s){return Math.floor(s/re.X_SPACING)}gridY(s){return Math.floor(s/re.Y_SPACING)}gridZ(s){return Math.floor(s/re.Z_SPACING)}};let je=re;var rt,le;je.X_SPACING=16,je.Y_SPACING=12,je.Z_SPACING=16,je.SURFACE_SAMPLING=[[-2,-1],[-1,-1],[0,-1],[1,-1],[-3,0],[-2,0],[-1,0],[0,0],[1,0],[-2,1],[-1,1],[0,1],[1,1]],function(s){function e(c,h){return typeof c=="number"?new t(c,h!=null?h:c):c}s.target=function(c,h,m,d,g,w){return new r(c,h,m,d,g,w)},s.parameters=function(c,h,m,d,g,w,S){return new i(e(c),e(h),e(m),e(d),e(g),e(w),S)},s.param=e;class t{constructor(h,m){this.min=h,this.max=m}distance(h){const m=(typeof h=="number"?h:h.min)-this.max,d=this.min-(typeof h=="number"?h:h.max);return m>0?m:Math.max(d,0)}union(h){return new t(Math.min(this.min,h.min),Math.max(this.max,h.max))}static fromJson(h){var m;if(typeof h=="number")return new t(h,h);const[d,g]=(m=v.readArray(h,w=>v.readNumber(w)))!=null?m:[];return new t(d!=null?d:0,g!=null?g:0)}}s.Param=t;class i{constructor(h,m,d,g,w,S,I){this.temperature=h,this.humidity=m,this.continentalness=d,this.erosion=g,this.depth=w,this.weirdness=S,this.offset=I}fittness(h){return de(this.temperature.distance(h.temperature))+de(this.humidity.distance(h.humidity))+de(this.continentalness.distance(h.continentalness))+de(this.erosion.distance(h.erosion))+de(this.depth.distance(h.depth))+de(this.weirdness.distance(h.weirdness))+de(this.offset-h.offset)}space(){return[this.temperature,this.humidity,this.continentalness,this.erosion,this.depth,this.weirdness,new t(this.offset,this.offset)]}static fromJson(h){var m,d;const g=(m=v.readObject(h))!=null?m:{};return new i(t.fromJson(g.temperature),t.fromJson(g.humidity),t.fromJson(g.continentalness),t.fromJson(g.erosion),t.fromJson(g.depth),t.fromJson(g.weirdness),(d=v.readInt(g.offset))!=null?d:0)}}s.ParamPoint=i;class r{constructor(h,m,d,g,w,S){this.temperature=h,this.humidity=m,this.continentalness=d,this.erosion=g,this.depth=w,this.weirdness=S}get offset(){return 0}toArray(){return[this.temperature,this.humidity,this.continentalness,this.erosion,this.depth,this.weirdness,this.offset]}}s.TargetPoint=r,s.Parameters=class{constructor(c){this.things=c,this.index=new a(c)}find(c){return this.index.search(c,(h,m)=>h.distance(m))}},s.Sampler=class{constructor(c,h,m,d,g,w){this.temperature=c,this.humidity=h,this.continentalness=m,this.erosion=d,this.depth=g,this.weirdness=w}static fromRouter(c){return new s.Sampler(c.temperature,c.vegetation,c.continents,c.erosion,c.depth,c.ridges)}sample(c,h,m){const d=C.context(c<<2,h<<2,m<<2);return s.target(this.temperature.compute(d),this.humidity.compute(d),this.continentalness.compute(d),this.erosion.compute(d),this.depth.compute(d),this.weirdness.compute(d))}};const n=class{constructor(c){this.root=n.build(c.map(([h,m])=>new f(h,m)))}static build(c){if(c.length===1)return c[0];if(c.length<=n.CHILDREN_PER_NODE){const g=c.map(w=>{let S=0;for(let I=0;I<7;I+=1){const B=w.space[I];S+=Math.abs((B.min+B.max)/2)}return{key:S,node:w}}).sort((w,S)=>w.key-S.key).map(({node:w})=>w);return new u(g)}let h=1/0,m=-1,d=[];for(let g=0;g<7;++g){c=n.sort(c,g,!1),d=n.bucketize(c);let w=0;for(const S of d)w+=n.area(S.space);h>w&&(h=w,m=g)}return c=n.sort(c,m,!1),d=n.bucketize(c),d=n.sort(d,m,!0),new u(d.map(g=>n.build(g.children)))}static sort(c,h,m){return c.map(d=>{const g=d.space[h],w=(g.min+g.max)/2;return{key:m?Math.abs(w):w,node:d}}).sort((d,g)=>d.key-g.key).map(({node:d})=>d)}static bucketize(c){const h=[];let m=[];const d=Math.pow(10,Math.floor(Math.log(c.length-.01)/Math.log(10)));for(const g of c)m.push(g),m.lengthnew t(1/0,-1/0));for(const d of h)m=[...Array(7)].map((g,w)=>m[w].union(d.space[w]));return m}search(h,m){let d=1/0,g=null;for(const w of this.children){const S=m(w,h);if(d<=S)continue;const I=w.search(h,m),B=w==I?S:m(I,h);d<=B||(d=B,g=I)}return g}}s.RSubTree=u;class f extends o{constructor(h,m){super(h.space()),this.thing=m}search(){return this}}s.RLeaf=f}(rt||(rt={}));class as{constructor(e){this.biome=e}getBiome(){return this.biome}static fromJson(e){var t,i;const r=(t=v.readObject(e))!=null?t:{},n=D.parse((i=v.readString(r.biome))!=null?i:"minecraft:the_void");return new as(n)}}class os{constructor(e){this.parameters=e}getBiome(e,t,i,r){const n=r.sample(e,t,i);return this.parameters.find(n)}static fromJson(e){var t,i;const r=(t=v.readObject(e))!=null?t:{},n=((i=v.readArray(r.biomes,a=>{var o,u,f;return u=(o=v.readObject(a))!=null?o:{},{biome:D.parse((f=v.readString(u.biome))!=null?f:"minecraft:the_void"),parameters:rt.ParamPoint.fromJson(u.parameters)}}))!=null?i:[]).map(a=>[a.parameters,()=>a.biome]);return new os(new rt.Parameters(n))}}(function(s){function e(i,r,n){return ke.NOISE.register(D.create(i),et.create(r,n))}s.TEMPERATURE=e("temperature",-10,[1.5,0,1,0,0,0]),s.VEGETATION=e("vegetation",-8,[1,1,0,0,0,0]),s.CONTINENTALNESS=e("continentalness",-9,[1,1,2,2,2,1,1,1,1]),s.EROSION=e("erosion",-9,[1,1,0,1,1]),s.TEMPERATURE_LARGE=e("temperature_large",-12,[1.5,0,1,0,0,0]),s.VEGETATION_LARGE=e("vegetation_large",-10,[1,1,0,0,0,0]),s.CONTINENTALNESS_LARGE=e("continentalness_large",-11,[1,1,2,2,2,1,1,1,1]),s.EROSION_LARGE=e("erosion_large",-11,[1,1,0,1,1]),s.RIDGE=e("ridge",-7,[1,2,1,0,0,0]),s.SHIFT=e("offset",-3,[1,1,1,0]),s.AQUIFER_BARRIER=e("aquifer_barrier",-3,[1]),s.AQUIFER_FLUID_LEVEL_FLOODEDNESS=e("aquifer_fluid_level_floodedness",-7,[1]),s.AQUIFER_FLUID_LEVEL_SPREAD=e("aquifer_fluid_level_spread",-5,[1]),s.AQUIFER_LAVA=e("aquifer_lava",-1,[1]),s.PILLAR=e("pillar",-7,[1,1]),s.PILLAR_RARENESS=e("pillar_rareness",-8,[1]),s.PILLAR_THICKNESS=e("pillar_thickness",-8,[1]),s.SPAGHETTI_2D=e("spaghetti_2d",-8,[1]),s.SPAGHETTI_2D_ELEVATION=e("spaghetti_2d_elevation",-8,[1]),s.SPAGHETTI_2D_MODULATOR=e("spaghetti_2d_modulator",-8,[1]),s.SPAGHETTI_2D_THICKNESS=e("spaghetti_2d_thickness",-8,[1]),s.SPAGHETTI_3D_1=e("spaghetti_3d_1",-8,[1]),s.SPAGHETTI_3D_2=e("spaghetti_3d_2",-8,[1]),s.SPAGHETTI_3D_RARITY=e("spaghetti_3d_rarity",-8,[1]),s.SPAGHETTI_3D_THICKNESS=e("spaghetti_3d_thickness",-8,[1]),s.SPAGHETTI_ROUGHNESS=e("spaghetti_roughness",-8,[1]),s.SPAGHETTI_ROUGHNESS_MODULATOR=e("spaghetti_roughness_modulator",-8,[1]),s.CAVE_ENTRANCE=e("cave_entrance",-7,[.4,.5,1]),s.CAVE_LAYER=e("cave_layer",-8,[1]),s.CAVE_CHEESE=e("cave_cheese",-8,[.5,1,2,1,2,1,0,2,0]),s.NOODLE=e("noodle",-8,[1]),s.NOODLE_THICKNESS=e("noodle_thickness",-8,[1]),s.NOODLE_RIDGE_A=e("noodle_ridge_a",-7,[1]),s.NOODLE_RIDGE_B=e("noodle_ridge_b",-7,[1]),s.JAGGED=e("jagged",-16,[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]),s.SURFACE=e("surface",-6,[1,1,1]),s.SURFACE_SECONDARY=e("surface_secondary",-6,[1,1,0,1]);const t=new Map;s.instantiate=function(i,r){var n;const a=(n=r.key())==null?void 0:n.toString();if(!a)throw new Error("Cannot instantiate noise from direct holder");const o=i.seedKey(),u=t.get(a);if(u&&u[0]===o[0]&&u[1]===o[1])return u[2];const f=new is(i.fromHashOf(a),r.value());return t.set(a,[o[0],o[1],f]),f}})(le||(le={}));var ze,At,Ge,yt,_t,ct,zt,Us=Object.defineProperty,Gs=Object.defineProperties,zs=Object.getOwnPropertyDescriptors,Yt=Object.getOwnPropertySymbols,Ys=Object.prototype.hasOwnProperty,Xs=Object.prototype.propertyIsEnumerable,Xt=(s,e,t)=>e in s?Us(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t,Ht=(s,e)=>{for(var t in e||(e={}))Ys.call(e,t)&&Xt(s,t,e[t]);if(Yt)for(var t of Yt(e))Xs.call(e,t)&&Xt(s,t,e[t]);return s};(function(s){const e=i=>Me.parser(ke.DENSITY_FUNCTION,C.fromJson)(i).value();s.fromJson=function(i){var r;const n=(r=v.readObject(i))!=null?r:{};return{barrier:e(n.barrier),fluidLevelFloodedness:e(n.fluid_level_floodedness),fluidLevelSpread:e(n.fluid_level_spread),lava:e(n.lava),temperature:e(n.temperature),vegetation:e(n.vegetation),continents:e(n.continents),erosion:e(n.erosion),depth:e(n.depth),ridges:e(n.ridges),initialDensityWithoutJaggedness:e(n.initial_density_without_jaggedness),finalDensity:e(n.final_density),veinToggle:e(n.vein_toggle),veinRidged:e(n.vein_ridged),veinGap:e(n.vein_gap)}},s.create=function(i){return Ht({barrier:C.Constant.ZERO,fluidLevelFloodedness:C.Constant.ZERO,fluidLevelSpread:C.Constant.ZERO,lava:C.Constant.ZERO,temperature:C.Constant.ZERO,vegetation:C.Constant.ZERO,continents:C.Constant.ZERO,erosion:C.Constant.ZERO,depth:C.Constant.ZERO,ridges:C.Constant.ZERO,initialDensityWithoutJaggedness:C.Constant.ZERO,finalDensity:C.Constant.ZERO,veinToggle:C.Constant.ZERO,veinRidged:C.Constant.ZERO,veinGap:C.Constant.ZERO},i)},s.withSettings=function(i,r,n,a=!1){const o=(a?new he(n):L.create(n)).forkPositional(),u=new t(o,r);return f=Ht({},u.mapAll(i)),c={aquiferPositionalRandomFactory:o.fromHashOf(D.create("aquifer").toString()).forkPositional(),oreVeinsPositionalRandomFactory:o.fromHashOf(D.create("ore").toString()).forkPositional()},Gs(f,zs(c));var f,c};class t{constructor(r,n){this.random=r,this.settings=n,this.mapped=new Map}map(r){if(r instanceof C.HolderHolder){const n=r.holder.key();if(n!==void 0&&this.mapped.has(n.toString()))return this.mapped.get(n.toString());{const a=r.holder.value().mapAll(this);return n!==void 0&&this.mapped.set(n.toString(),a),a}}if(r instanceof C.Interpolated)return r.withCellSize(G.cellWidth(this.settings),G.cellHeight(this.settings));if(r instanceof C.Noise)return new C.Noise(r.xzScale,r.yScale,r.noiseData,le.instantiate(this.random,r.noiseData));if(r instanceof C.ShiftNoise)return r.withNewNoise(le.instantiate(this.random,r.noiseData));if(r instanceof C.ShiftedNoise){const n=le.instantiate(this.random,r.noiseData);return new C.ShiftedNoise(r.shiftX,r.shiftY,r.shiftZ,r.xzScale,r.yScale,r.noiseData,n)}return r instanceof C.WeirdScaledSampler?new C.WeirdScaledSampler(r.input,r.rarityValueMapper,r.noiseData,le.instantiate(this.random,r.noiseData)):r instanceof C.OldBlendedNoise?new C.OldBlendedNoise(new ss(this.random.fromHashOf(D.create("terrain").toString()),this.settings.sampling,G.cellWidth(this.settings),G.cellHeight(this.settings))):r instanceof C.Mapped||r instanceof C.Ap2?r.withMinMax():r instanceof C.TerrainShaperSpline?new C.TerrainShaperSpline(r.continentalness,r.erosion,r.weirdness,r.spline,r.min,r.max,this.settings.terrainShaper):r instanceof C.Slide?new C.Slide(r.input,this.settings):r}mapAll(r){return{barrier:r.barrier.mapAll(this),fluidLevelFloodedness:r.fluidLevelFloodedness.mapAll(this),fluidLevelSpread:r.fluidLevelSpread.mapAll(this),lava:r.lava.mapAll(this),temperature:r.temperature.mapAll(this),vegetation:r.vegetation.mapAll(this),continents:r.continents.mapAll(this),erosion:r.erosion.mapAll(this),depth:r.depth.mapAll(this),ridges:r.ridges.mapAll(this),initialDensityWithoutJaggedness:r.initialDensityWithoutJaggedness.mapAll(this),finalDensity:r.finalDensity.mapAll(this),veinToggle:r.veinToggle.mapAll(this),veinRidged:r.veinRidged.mapAll(this),veinGap:r.veinGap.mapAll(this)}}}s.Visitor=t,s.computePreliminarySurfaceLevelScanning=function(i,r,n,a){const o=G.minCellY(i)+G.cellCountY(i),u=G.minCellY(i),f=G.cellHeight(i);for(let c=o;c>=u;c-=1){const h=c*f,m=ve(r.compute(C.context(n,h,a)),-64,64);if(G.applySlides(i,m,h)>=.390625)return h}return Number.MAX_SAFE_INTEGER}})(ze||(ze={}));class Hs{constructor(e,t,i,r,n,a,o,u,f){this.cellCountXZ=e,this.cellCountY=t,this.cellNoiseMinY=i,this.router=r,this.minX=n,this.minZ=a,this.settings=o,this.preliminarySurfaceLevel=new Map,this.cellWidth=G.cellWidth(o),this.cellHeight=G.cellHeight(o),this.firstCellX=Math.floor(n/this.cellWidth),this.firstCellZ=Math.floor(a/this.cellWidth),this.firstNoiseX=n>>2,this.firstNoiseZ=a>>2,this.noiseSizeXZ=e*this.cellWidth>>2,this.aquifer=xt.createDisabled(f);const c=this.router.finalDensity;this.materialRule=At.fromList([h=>this.aquifer.compute(h,c.compute(h))]),this.initialDensityWithoutJaggedness=this.router.initialDensityWithoutJaggedness}getFinalState(e,t,i){return this.materialRule({x:e,y:t,z:i})}getPreliminarySurfaceLevel(e,t){return nt(this.preliminarySurfaceLevel,$.asLong(e,t),()=>ze.computePreliminarySurfaceLevelScanning(this.settings,this.initialDensityWithoutJaggedness,e<<2,t<<2))}getAquifer(){return this.aquifer}}(At||(At={})).fromList=function(s){return e=>{for(const t of s){const i=t(e);if(i)return i}}},(Ge||(Ge={})).fromJson=function(s){var e,t,i,r;const n=(e=v.readObject(s))!=null?e:{};return n.absolute!==void 0?(a=(t=v.readNumber(n.absolute))!=null?t:0,()=>a):n.above_bottom!==void 0?function(o){return u=>u.minY+o}((i=v.readNumber(n.above_bottom))!=null?i:0):n.below_top!==void 0?function(o){return u=>u.maxY-o}((r=v.readNumber(n.below_top))!=null?r:0):()=>0;var a},(yt||(yt={})).create=function(s,e){return{minY:s,height:e,maxY:s+e-1}};class js{constructor(e,t,i){this.rule=e,this.defaultBlock=t,this.random=L.create(i).forkPositional(),this.surfaceNoise=le.instantiate(this.random,le.SURFACE),this.surfaceSecondaryNoise=le.instantiate(this.random,le.SURFACE_SECONDARY),this.positionalRandoms=new Map}buildSurface(e,t,i,r){const n=$.minBlockX(e.pos),a=$.minBlockZ(e.pos),o=new Zs(this,e,t,i,r),u=this.rule(o);for(let f=0;f<16;f+=1){const c=n+f;for(let h=0;h<1;h+=1){const m=a+h;o.updateXZ(c,m);let d=0,g=Number.MIN_SAFE_INTEGER,w=Number.MAX_SAFE_INTEGER;for(let S=e.maxY;S>=e.minY;S-=1){const I=J.create(c,S,m),B=e.getBlockState(I);if(B.equals(P.AIR)){d=0,g=Number.MIN_SAFE_INTEGER;continue}if(B.isFluid()){g===Number.MIN_SAFE_INTEGER&&(g=S+1);continue}if(w>=S){w=Number.MIN_SAFE_INTEGER;for(let x=S-1;x>=e.minY;x-=1){const T=e.getBlockState(J.create(c,x,m));if(T.equals(P.AIR)||T.isFluid()){w=x+1;break}}}d+=1;const R=S-w+1;if(!B.equals(this.defaultBlock))continue;o.updateY(d,R,g,S);const _=u(c,S,m);_&&e.setBlockState(I,_)}}}}getSurfaceDepth(e,t){return 2.75*this.surfaceNoise.sample(e,0,t)+3+.25*this.random.at(e,0,t).nextDouble()}getSurfaceSecondary(e,t){return this.surfaceSecondaryNoise.sample(e,0,t)}getRandom(e){return nt(this.positionalRandoms,e,()=>this.random.fromHashOf(e))}}class Zs{constructor(e,t,i,r,n){this.system=e,this.chunk=t,this.noiseChunk=i,this.context=r,this.getBiome=n,this.blockX=0,this.blockY=0,this.blockZ=0,this.stoneDepthAbove=0,this.stoneDepthBelow=0,this.surfaceDepth=0,this.waterHeight=0,this.biome=()=>"",this.surfaceSecondary=()=>0,this.minSurfaceLevel=()=>0}updateXZ(e,t){this.blockX=e,this.blockZ=t,this.surfaceDepth=this.system.getSurfaceDepth(e,t),this.surfaceSecondary=qe(()=>this.system.getSurfaceSecondary(e,t)),this.minSurfaceLevel=qe(()=>this.calculateMinSurfaceLevel(e,t))}updateY(e,t,i,r){this.blockY=r,this.stoneDepthAbove=e,this.stoneDepthBelow=t,this.waterHeight=i,this.biome=qe(()=>this.getBiome(J.create(this.blockX,this.blockY,this.blockZ)))}calculateMinSurfaceLevel(e,t){const i=e>>4,r=t>>4,n=this.noiseChunk.getPreliminarySurfaceLevel(i<<4,r<<4),a=this.noiseChunk.getPreliminarySurfaceLevel(i+1<<4,r<<4),o=this.noiseChunk.getPreliminarySurfaceLevel(i<<4,r+1<<4),u=this.noiseChunk.getPreliminarySurfaceLevel(i+1<<4,r+1<<4);return Math.floor(vt((15&e)/16,(15&t)/16,n,a,o,u))+this.surfaceDepth-8}}(function(s){function e(r){return()=>()=>r}function t(r){return n=>{const a=r.map(o=>o(n));return(o,u,f)=>{for(const c of a){const h=c(o,u,f);if(h)return h}}}}function i(r,n){return a=>(o,u,f)=>{if(r(a))return n(a)(o,u,f)}}s.NOOP=()=>()=>{},s.fromJson=function(r){var n,a,o;const u=(n=v.readObject(r))!=null?n:{};switch((a=v.readString(u.type))==null?void 0:a.replace(/^minecraft:/,"")){case"block":return e(P.fromJson(u.result_state));case"sequence":return t((o=v.readArray(u.sequence,s.fromJson))!=null?o:[]);case"condition":return i(ct.fromJson(u.if_true),s.fromJson(u.then_run))}return s.NOOP},s.block=e,s.sequence=t,s.condition=i})(_t||(_t={})),function(s){function e(){return u=>u.blockY>=u.minSurfaceLevel()}function t(u){const f=new Set(u);return c=>f.has(c.biome())}function i(u){return f=>!u(f)}function r(u,f,c,h){return m=>{const d=h?m.stoneDepthBelow:m.stoneDepthAbove,g=f?m.surfaceDepth:0,w=c===0?0:Qe(m.surfaceSecondary(),-1,1,0,c);return d<=1+u+g+w}}function n(u,f,c){return h=>{const m=f(h.context),d=c(h.context);if(h.blockY<=m)return!0;if(h.blockY>=d)return!1;const g=h.system.getRandom(u),w=Qe(h.blockY,m,d,1,0);return g.nextFloat(){if(h.waterHeight===Number.MIN_SAFE_INTEGER)return!0;const m=c?h.stoneDepthAbove:0;return h.blockY+m>=h.waterHeight+u+h.surfaceDepth*f}}function o(u,f,c){return h=>{const m=c?h.stoneDepthAbove:0;return h.blockY+m>=u(h.context)+h.surfaceDepth*f}}s.FALSE=()=>!1,s.TRUE=()=>!0,s.fromJson=function(u){var f,c,h,m,d,g,w,S,I,B,R,_;const x=(f=v.readObject(u))!=null?f:{};switch((c=v.readString(x.type))==null?void 0:c.replace(/^minecraft:/,"")){case"above_preliminary_surface":return T=>T.blockY>=T.minSurfaceLevel();case"biome":return t((h=v.readArray(x.biome_is,T=>{var M;return(M=v.readString(T))!=null?M:""}))!=null?h:[]);case"not":return i(s.fromJson(x.invert));case"stone_depth":return r((m=v.readInt(x.offset))!=null?m:0,(d=v.readBoolean(x.add_surface_depth))!=null&&d,(g=v.readInt(x.secondary_depth_range))!=null?g:0,v.readString(x.surface_type)==="ceiling");case"vertical_gradient":return n((w=v.readString(x.random_name))!=null?w:"",Ge.fromJson(x.true_at_and_below),Ge.fromJson(x.false_at_and_above));case"water":return a((S=v.readInt(x.offset))!=null?S:0,(I=v.readInt(x.surface_depth_multiplier))!=null?I:0,(B=v.readBoolean(x.add_surface_depth))!=null&&B);case"y_above":return o(Ge.fromJson(x.anchor),(R=v.readInt(x.surface_depth_multiplier))!=null?R:0,(_=v.readBoolean(x.add_surface_depth))!=null&&_)}return s.FALSE},s.abovePreliminarySurface=e,s.biome=t,s.not=i,s.stoneDepth=r,s.verticalGradient=n,s.water=a,s.yAbove=o}(ct||(ct={}));class ni{constructor(e,t,i){this.biomeSource=t,this.settings=i,this.router=ze.withSettings(i.noiseRouter,i.noise,e,i.legacyRandomSource),this.noiseChunkCache=new Map,this.surfaceSystem=new js(i.surfaceRule,i.defaultBlock,e);const r=new it(-54,P.LAVA),n=new it(i.seaLevel,i.defaultFluid);this.globalFluidPicker=(a,o,u)=>o=0;I-=1)for(let B=o-1;B>=0;B-=1){const R=(f+I)*o+B,_=15&R,x=e.getSectionIndex(R);e.getSectionIndex(S.minBlockY)!==x&&(S=e.getOrCreateSection(x));for(let T=0;Tt)}getNoiseChunk(e){return nt(this.noiseChunkCache,$.toLong(e.pos),()=>{const t=Math.max(e.minY,this.settings.noise.minY),i=Math.min(e.maxY,this.settings.noise.minY+this.settings.noise.height),r=G.cellWidth(this.settings.noise),n=G.cellHeight(this.settings.noise),a=Math.floor(16/r),o=Math.floor(t/n),u=Math.floor((i-t)/n),f=$.minBlockX(e.pos),c=$.minBlockZ(e.pos);return new Hs(a,u,o,this.router,f,c,this.settings.noise,this.settings.aquifersEnabled,this.globalFluidPicker)})}}(zt||(zt={})).fromJson=function(s){var e,t,i,r,n,a;const o=(e=v.readObject(s))!=null?e:{};return{surfaceRule:_t.fromJson(o.surface_rule),noise:G.fromJson(o.noise),defaultBlock:P.fromJson(o.default_block),defaultFluid:P.fromJson(o.default_fluid),noiseRouter:ze.fromJson(o.noise_router),seaLevel:(t=v.readInt(o.sea_level))!=null?t:0,disableMobGeneration:(i=v.readBoolean(o.disable_mob_generation))!=null&&i,aquifersEnabled:(r=v.readBoolean(o.aquifers_enabled))!=null&&r,oreVeinsEnabled:(n=v.readBoolean(o.ore_veins_enabled))!=null&&n,legacyRandomSource:(a=v.readBoolean(o.legacy_random_source))!=null&&a}};export{xt as Aquifer,ss as BlendedNoise,Ps as BlockColors,Bt as BlockDefinition,at as BlockModel,J as BlockPos,P as BlockState,si as Chunk,$ as ChunkPos,pt as ChunkSection,rt as Climate,Te as CubicSpline,C as DensityFunction,F as Direction,as as FixedBiome,it as FluidStatus,Me as Holder,D as Identifier,Pt as ImprovedNoise,Ts as LegacyPositionalRandom,he as LegacyRandom,At as MaterialRule,os as MultiNoise,Ss as NbtReader,xs as NbtWriter,je as NoiseAquifer,Hs as NoiseChunk,ni as NoiseChunkGenerator,zt as NoiseGeneratorSettings,et as NoiseParameters,ze as NoiseRouter,bt as NoiseSamplingSettings,G as NoiseSettings,Ne as NoiseSlideSettings,le as Noises,is as NormalNoise,X as PerlinNoise,ii as PerlinSimplexNoise,gt as Registry,te as SimplexNoise,Kt as Structure,ri as StructureRenderer,ct as SurfaceCondition,Zs as SurfaceContext,_t as SurfaceRule,js as SurfaceSystem,pe as TerrainShaper,Ke as TextureAtlas,Ge as VerticalAnchor,yt as WorldgenContext,ke as WorldgenRegistries,Cs as XoroshiroPositionalRandom,L as XoroshiroRandom,Bs as binarySearch,ve as clamp,Rt as clampedLerp,es as clampedMap,He as getListTag,$t as getOptional,ts as getSeed,Be as getTag,Qt as inverseLerp,Je as lazyLerp,Ot as lazyLerp2,Rs as lazyLerp3,we as lerp,vt as lerp2,Ns as lerp3,wt as longfromBytes,Qe as map,Js as read,Ks as readChunk,Wt as readCompressed,$s as readRegion,Et as readUncompressed,lt as smoothstep,de as square,Ct as tagNames,Ve as tagTypes,Qs as write,ti as writeChunk,dt as writeCompressed,ei as writeRegion,It as writeUncompressed}; -//# sourceMappingURL=deepslate.esm.ae3661e1.js.map +//# sourceMappingURL=deepslate.esm.b3232c19.js.map diff --git a/assets/deepslate.esm.ae3661e1.js.map b/assets/deepslate.esm.b3232c19.js.map similarity index 99% rename from assets/deepslate.esm.ae3661e1.js.map rename to assets/deepslate.esm.b3232c19.js.map index a1689126..63d152f1 100644 --- a/assets/deepslate.esm.ae3661e1.js.map +++ b/assets/deepslate.esm.b3232c19.js.map @@ -1 +1 @@ -{"version":3,"file":"deepslate.esm.ae3661e1.js","sources":["../../node_modules/deepslate-1.18.2/dist/deepslate.esm.js"],"sourcesContent":["import t from\"pako\";import e from\"md5\";import{vec3 as s,mat4 as r,glMatrix as i}from\"gl-matrix\";var n,o;(o=n||(n={})).UP=\"up\",o.DOWN=\"down\",o.NORTH=\"north\",o.EAST=\"east\",o.SOUTH=\"south\",o.WEST=\"west\";const a={[n.UP]:[0,1,0],[n.DOWN]:[0,-1,0],[n.NORTH]:[0,0,-1],[n.EAST]:[1,0,0],[n.SOUTH]:[0,0,1],[n.WEST]:[-1,0,0]};var l,u;!function(t){t.ALL=[t.UP,t.DOWN,t.NORTH,t.EAST,t.SOUTH,t.WEST],t.normal=function(t){return a[t]}}(n||(n={})),(u=l||(l={})).create=function(t,e,s){return[t,e,s]},u.ZERO=u.create(0,0,0),u.offset=function(t,e,s,r){return[t[0]+e,t[1]+s,t[2]+r]},u.towards=function(t,e){return u.offset(t,...n.normal(e))},u.equals=function(t,e){return t===e||t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]},u.magnitude=function(t){return t[0]*t[0]+t[1]*t[1]+t[2]*t[2]};const h={end:0,byte:1,short:2,int:3,long:4,float:5,double:6,byteArray:7,string:8,list:9,compound:10,intArray:11,longArray:12},c=[\"end\",\"byte\",\"short\",\"int\",\"long\",\"float\",\"double\",\"byteArray\",\"string\",\"list\",\"compound\",\"intArray\",\"longArray\"];class f{constructor(t,e=!1){this.byte=this.readNum.bind(this,\"getInt8\",1),this.short=this.readNum.bind(this,\"getInt16\",2),this.int=this.readNum.bind(this,\"getInt32\",4),this.float=this.readNum.bind(this,\"getFloat32\",4),this.double=this.readNum.bind(this,\"getFloat64\",8),this.offset=0,this.littleEndian=e,this.arrayView=t,this.dataView=new DataView(t.buffer,t.byteOffset)}end(){return null}readNum(t,e){const s=this.dataView[t](this.offset,this.littleEndian);return this.offset+=e,s}long(){return[this.int(),this.int()]}byteArray(){const t=this.int(),e=[];for(let s=0;s=e)return;let s=this.buffer.byteLength;for(;sthis.buffer.byteLength&&i.fill(0,this.buffer.byteLength,this.offset),this.buffer=r,this.dataView=new DataView(r),this.arrayView=i}getData(){return this.accommodate(0),this.arrayView.slice(0,this.offset)}end(t){}writeNum(t,e,s){this.accommodate(e),this.dataView[t](this.offset,s,this.littleEndian),this.offset+=e}long(t){this.int(t[0]),this.int(t[1])}byteArray(t){this.int(t.length),this.accommodate(t.length),this.arrayView.set(t,this.offset),this.offset+=t.length}intArray(t){this.int(t.length);for(let e=0;e>6),r.push(128|63&s)):s<65536?(r.push(224|s>>12),r.push(128|s>>6&63),r.push(128|63&s)):(r.push(240|s>>18&7),r.push(128|s>>12&63),r.push(128|s>>6&63),r.push(128|63&s));return r}(t);this.short(e.length),this.accommodate(e.length),this.arrayView.set(e,this.offset),this.offset+=e.length}list(t){this.byte(h[t.type]),this.int(t.value.length),t.value;for(let e=0;e>16),r.setInt16(t+1,65535&i),r.setInt8(t+3,n),r.setInt32(t+4096,e.timestamp);const o=4096*i;r.setInt32(o,e.data.length+1),r.setInt8(o+4,e.compression),s.set(e.data,o+5),i+=n}return s}function A(t,e,s,r){const i=y(t,e,s);switch(i.compression){case 1:i.data=x(r);break;case 2:i.data=x(r,!1,!0);break;case 3:i.data=b(r);break;default:throw new Error(`Invalid compression mode ${i.compression}`)}return i}function y(t,e,s){const r=t.find((t=>t.x===e&&t.z===s));if(void 0===r)throw new Error(`Cannot find chunk [${e}, ${s}]`);return r}function E(t,e,s){if(!t[e])throw new Error(`Missing ${e} tag`);if(t[e].type!==s)throw new Error(`Expected ${e} to be of type ${s}, but found ${t[e].type}`);return t[e].value}function I(t,e,s,r){const i=E(t,e,\"list\");if(i.type!==s)throw new Error(`Expected ${e} to be a list of ${s}s, but found ${i.type}s`);if(r&&i.value.length!==r)throw new Error(`Expected ${e} to be a list of length ${r}, but found length ${i.value.length}`);return i.value}function N(t,e){try{return t()}catch(t){return e}}var B;function R(t){let e=null;return()=>(null==e&&(e=t()),e)}function T(t,e,s){const r=t.get(e);if(r)return r;const i=s(e);return t.set(e,i),i}!function(t){function e(t){return\"object\"==typeof t&&null!==t?t:void 0}t.readNumber=function(t){return\"number\"==typeof t?t:void 0},t.readInt=function(t){return\"number\"==typeof t?Math.floor(t):void 0},t.readString=function(t){return\"string\"==typeof t?t:void 0},t.readBoolean=function(t){return\"boolean\"==typeof t?t:void 0},t.readObject=e,t.readArray=function(t,e){if(Array.isArray(t))return t.map((t=>e(t)))},t.readMap=function(t,s){var r;const i=null!=(r=e(t))?r:{};return Object.fromEntries(Object.entries(i).map((([t,e])=>[t,s(e)])))},t.compose=function(t,e,s){const r=e(t);return r?s(r):void 0},t.readEnum=function(t,e){return\"string\"!=typeof t?e[0]:e.includes(t)?t:e[0]}}(B||(B={}));const M=class{constructor(t,e){if(this.namespace=t,this.path=e,!t.match(/^[a-z0-9._-]+$/))throw new Error(`Non [a-z0-9._-] character in namespace of ${t}:${e}`);if(!e.match(/^[a-z0-9/._-]+$/))throw new Error(`Non [a-z0-9/._-] character in path of ${t}:${e}`)}equals(t){return this===t||this.namespace===t.namespace&&this.path===t.path}toString(){return`${this.namespace}:${this.path}`}static create(t){return new M(this.DEFAULT_NAMESPACE,t)}static parse(t){const e=t.indexOf(this.SEPARATOR);if(e>=0){const s=e>=1?t.substring(0,e):this.DEFAULT_NAMESPACE,r=t.substring(e+1);return new M(s,r)}return new M(this.DEFAULT_NAMESPACE,t)}};let C=M;C.DEFAULT_NAMESPACE=\"minecraft\",C.SEPARATOR=\":\";var O=Object.defineProperty,k=Object.defineProperties,P=Object.getOwnPropertyDescriptors,L=Object.getOwnPropertySymbols,F=Object.prototype.hasOwnProperty,V=Object.prototype.propertyIsEnumerable,D=(t,e,s)=>e in t?O(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s;const U=class{constructor(t,e={}){this.properties=e,this.name=\"string\"==typeof t?C.parse(t):t}getName(){return this.name}getProperties(){return this.properties}getProperty(t){return this.properties[t]}isFluid(){return this.is(U.WATER)||this.is(U.LAVA)}equals(t){return!!this.name.equals(t.name)&&Object.keys(this.properties).every((e=>t.properties[e]===this.properties[e]))}is(t){return this.name.equals(t.name)}toString(){return 0===Object.keys(this.properties).length?this.name.toString():`${this.name.toString()}[${Object.entries(this.properties).map((([t,e])=>t+\"=\"+e)).join(\",\")}]`}static fromNbt(t){const e=C.parse(E(t.value,\"Name\",\"string\")),s=N((()=>E(t.value,\"Properties\",\"compound\")),{}),r=Object.keys(s).reduce(((t,e)=>{return r=((t,e)=>{for(var s in e||(e={}))F.call(e,s)&&D(t,s,e[s]);if(L)for(var s of L(e))V.call(e,s)&&D(t,s,e[s]);return t})({},t),i={[e]:E(s,e,\"string\")},k(r,P(i));var r,i}),{});return new U(e,r)}static fromJson(t){var e,s;const r=null!=(e=B.readObject(t))?e:{},i=C.parse(null!=(s=B.readString(r.Name))?s:U.STONE.name.toString()),n=B.readMap(r.Properties,(t=>{var e;return null!=(e=B.readString(t))?e:\"\"}));return new U(i,n)}};let G=U;G.AIR=new U(C.create(\"air\")),G.STONE=new U(C.create(\"stone\")),G.WATER=new U(C.create(\"water\"),{level:\"0\"}),G.LAVA=new U(C.create(\"lava\"),{level:\"0\"});const z=class{constructor(t){this.minY=t,this.storage=Array(z.SIZE).fill(0),this.palette=[G.AIR]}get minBlockY(){return this.minY<<4}index(t,e,s){return(t<<8)+(e<<4)+s}getBlockState(t,e,s){var r;const i=this.storage[this.index(t,e,s)];return null!=(r=this.palette[i])?r:G.AIR}setBlockState(t,e,s,r){let i=this.palette.findIndex((t=>t.equals(r)));-1===i&&(i=this.palette.length,this.palette.push(r)),this.storage[this.index(t,e,s)]=i}};let Y=z;Y.WIDTH=16,Y.SIZE=z.WIDTH*z.WIDTH*z.WIDTH;class H{constructor(t,e,s){this.minY=t,this.height=e,this.pos=s,this.sections=Array(this.sectionsCount).fill(null)}get maxY(){return this.minY+this.height}get minSection(){return this.minY>>4}get maxSection(){return 1+(this.maxY-1>>4)}get sectionsCount(){return this.maxSection-this.minSection}getSectionIndex(t){return(t>>4)-this.minSection}getBlockState(t){var e;const[s,r,i]=t,n=this.sections[this.getSectionIndex(r)];return null!=(e=null==n?void 0:n.getBlockState(15&s,15&r,15&i))?e:G.AIR}setBlockState(t,e){const[s,r,i]=t,n=this.getSectionIndex(r);let o=this.sections[n];if(null===o){if(e.equals(G.AIR))return;o=this.getOrCreateSection(n)}o.setBlockState(15&s,15&r,15&i,e)}getOrCreateSection(t){return null==this.sections[t]&&(this.sections[t]=new Y(this.minSection+t)),this.sections[t]}}var X,j;!function(t){function e(t,e){return BigInt(4294967295&t)|BigInt(4294967295&e)<>4,t[2]>>4]},t.fromLong=function(t){return[4294967295&Number(t),Number(t>>BigInt(32))]},t.toLong=function(t){return e(t[0],t[1])},t.asLong=e,t.minBlockX=function(t){return t[0]<<4},t.minBlockZ=function(t){return t[1]<<4},t.maxBlockX=function(t){return 15+(t[0]<<4)},t.maxBlockZ=function(t){return 15+(t[1]<<4)}}(X||(X={})),function(t){function e(t){return{value:()=>t,key:()=>{}}}function s(t,e){return{value:()=>t.getOrThrow(e),key:()=>e}}t.parser=function(t,r){return i=>\"string\"==typeof i?s(t,C.parse(i)):e(r(i))},t.direct=e,t.reference=s}(j||(j={}));const Z=class{constructor(t,e){this.key=t,this.parser=e,this.storage=new Map,this.builtin=new Map}register(t,e,s){return this.storage.set(t.toString(),e),s&&this.builtin.set(t.toString(),e),j.reference(this,t)}keys(){return[...this.storage.keys()].map((t=>C.parse(t)))}get(t){return this.storage.get(t.toString())}getOrThrow(t){const e=this.storage.get(t.toString());if(void 0===e)throw new Error(`Missing key in ${this.key.toString()}: ${t.toString()}`);return e}parse(t){if(!this.parser)throw new Error(`No parser exists for ${this.key.toString()}`);return this.parser(t)}clear(){this.storage.clear();for(const[t,e]of this.builtin.entries())this.storage.set(t,e);return this}assign(t){if(!this.key.equals(t.key))throw new Error(`Cannot assign registry of type ${t.key.toString()} to registry of type ${this.key.toString()}`);for(const e of t.keys())this.storage.set(e.toString(),t.getOrThrow(e));return this}cloneEmpty(){return new Z(this.key,this.parser)}};let q=Z;q.REGISTRY=new Z(C.create(\"root\"));class J{constructor(t,e=[],s=[]){this.size=t,this.palette=e,this.blocks=s,this.blocksMap=[],s.forEach((e=>{if(!this.isInside(e.pos))throw new Error(`Found block at ${e.pos} which is outside the structure bounds ${this.size}`);this.blocksMap[e.pos[0]*t[1]*t[2]+e.pos[1]*t[2]+e.pos[2]]=e}))}getSize(){return this.size}addBlock(t,e,s,r){if(!this.isInside(t))throw new Error(`Cannot add block at ${t} outside the structure bounds ${this.size}`);const i=new G(e,s);let n=this.palette.findIndex((t=>t.equals(i)));return-1===n&&(n=this.palette.length,this.palette.push(i)),this.blocks.push({pos:t,state:n,nbt:r}),this.blocksMap[t[0]*this.size[1]*this.size[2]+t[1]*this.size[2]+t[2]]={pos:t,state:n,nbt:r},this}getBlocks(){return this.blocks.map((t=>({pos:t.pos,state:this.palette[t.state],nbt:t.nbt})))}getBlock(t){if(!this.isInside(t))return null;const e=this.blocksMap[t[0]*this.size[1]*this.size[2]+t[1]*this.size[2]+t[2]];if(!e)return null;return{pos:e.pos,state:this.palette[e.state],nbt:e.nbt}}isInside(t){return t[0]>=0&&t[0]=0&&t[1]=0&&t[2]G.fromNbt({name:\"\",value:t}))),r=I(t.value,\"blocks\",\"compound\").map((t=>({pos:I(t,\"pos\",\"int\",3),state:E(t,\"state\",\"int\"),nbt:N((()=>E(t,\"nbt\",\"compound\")),void 0)})));return new J(e,s,r)}}function W(t){return t*t}function $(t,e,s){return Math.max(e,Math.min(s,t))}function K(t,e,s){return e+t*(s-e)}function Q(t,e,s,r,i,n){return K(e,K(t,s,r),K(t,i,n))}function tt(t,e,s,r,i,n,o,a,l,u,h){return K(s,Q(t,e,r,i,n,o),Q(t,e,a,l,u,h))}function et(t,e,s){return 0===t?e():1===t?s():e()+t*(s()-e())}function st(t,e,s,r,i,n){return et(e,(()=>et(t,s,r)),(()=>et(t,i,n)))}function rt(t,e,s,r,i,n,o,a,l,u,h){return et(s,(()=>st(t,e,r,i,n,o)),(()=>st(t,e,a,l,u,h)))}function it(t,e,s){return s<0?t:s>1?e:K(s,t,e)}function nt(t,e,s){return(t-e)/(s-e)}function ot(t){return t*t*t*(t*(6*t-15)+10)}function at(t,e,s,r,i){return K(nt(t,e,s),r,i)}function lt(t,e,s,r,i){return it(r,i,nt(t,e,s))}function ut(t,e,s){let r=e-t;for(;r>0;){const e=Math.floor(r/2),i=t+e;s(i)?r=e:(t=i+1,r-=e+1)}return t}function ht(t,e,s){let r=BigInt(3129871*t)^BigInt(s)*BigInt(116129781)^BigInt(e);return r=r*r*BigInt(42317861)+r*BigInt(11),r>>BigInt(16)}function ct(t,e,s,r,i,n,o,a){return BigInt(t)<{var e;return null!=(e=B.readObject(t))?e:{}})))?o:[];if(0===c.length)return new e(0);for(const e of c){const s=null!=(a=B.readNumber(e.location))?a:0,r=t(e.value,i),n=null!=(l=B.readNumber(e.derivative))?l:0;h.addPoint(s,r,n)}return h};class e{constructor(t){this.value=t}compute(){return this.value}min(){return this.value}max(){return this.value}mapAll(){return this}}t.Constant=e;class s{constructor(t,e=[],s=[],r=[]){this.coordinate=t,this.locations=e,this.values=s,this.derivatives=r}compute(t){const e=this.coordinate.compute(t),s=ut(0,this.locations.length,(t=>et.min())))}max(){return Math.max(...this.values.map((t=>t.max())))}mapAll(t){return new s(t(this.coordinate),this.locations,this.values.map((e=>e.mapAll(t))),this.derivatives)}addPoint(e,s,r=0){return this.locations.push(e),this.values.push(\"number\"==typeof s?new t.Constant(s):s),this.derivatives.push(r),this}}t.MultiPoint=s}(ft||(ft={}));const mt=class{constructor(t){this.seed=BigInt(0),this.setSeed(t)}fork(){return new mt(this.nextLong())}forkPositional(){return new pt(this.nextLong())}setSeed(t){this.seed=t^mt.MULTIPLIER&mt.MODULUS_MASK}advance(){this.seed=this.seed*mt.MULTIPLIER+mt.INCREMENT&mt.MODULUS_MASK}consume(t){for(let e=0;e>BigInt(mt.MODULUS_BITS-t));return e>2147483647?e-4294967296:e}nextInt(t){if(void 0===t)return this.next(32);if(0==(t&t-1))return Number(BigInt(t)*BigInt(this.next(31))>>BigInt(31));let e,s;for(;(e=this.next(31))-(s=e%t)+(t-1)<0;);return s}nextLong(){return(BigInt(this.next(32))<>gt.BIGINT_30)*gt.STAFFORD_1>.MAX_ULONG)^t>>gt.BIGINT_27)*gt.STAFFORD_2>.MAX_ULONG)^t>>gt.BIGINT_31)>.MAX_ULONG}static upgradeSeedTo128bit(t){t<0&&(t+=gt.POW2_60);const e=t^gt.SILVER_RATIO_64,s=e+gt.GOLDEN_RATIO_64>.MAX_ULONG;return[gt.mixStafford13(e),gt.mixStafford13(s)]}static rotateLeft(t,e){return t<>gt.BIGINT_64-e}setSeed(t){this.seed=gt.upgradeSeedTo128bit(t)}fork(){return new gt([this.next(),this.next()])}forkPositional(){return new wt(this.next(),this.next())}next(){const t=this.seed[0];let e=this.seed[1];const s=gt.rotateLeft(t+e>.MAX_ULONG,gt.BIGINT_17)+t>.MAX_ULONG;return e^=t,this.seed=[gt.rotateLeft(t,gt.BIGINT_49)^e^e<gt.POW2_63&&(t-=gt.POW2_60),t}consume(t){let e=this.seed[0],s=this.seed[1];for(let r=0;r>BigInt(64-t)}nextInt(t){let e=this.next()>.MAX_UINT;if(t){const s=BigInt(t);let r=e*s,i=r>.MAX_UINT;if(i>gt.BIGINT_32;return Number(n)}{let t=Number(e);return t>=2147483648&&(t-=4294967296),t}}nextFloat(){return Number(this.nextBits(24))*gt.FLOAT_MULTIPLIER}nextDouble(){return Number(this.nextBits(53))*gt.DOUBLE_MULTIPLIER}parityConfigString(){return\"seedLo: \"+this.seed[0]+\", seedHi: \"+this.seed[1]}};let vt=gt;vt.SILVER_RATIO_64=BigInt(\"7640891576956012809\"),vt.GOLDEN_RATIO_64=BigInt(\"-7046029254386353131\"),vt.FLOAT_MULTIPLIER=1/Math.pow(2,24),vt.DOUBLE_MULTIPLIER=11102230246251565e-32,vt.BIGINT_1=BigInt(1),vt.BIGINT_17=BigInt(17),vt.BIGINT_21=BigInt(21),vt.BIGINT_27=BigInt(27),vt.BIGINT_28=BigInt(28),vt.BIGINT_30=BigInt(30),vt.BIGINT_31=BigInt(31),vt.BIGINT_32=BigInt(32),vt.BIGINT_49=BigInt(49),vt.BIGINT_64=BigInt(64),vt.STAFFORD_1=BigInt(\"-4658895280553007687\"),vt.STAFFORD_2=BigInt(\"-7723592293110705685\"),vt.MAX_ULONG=BigInt(\"0xFFFFFFFFFFFFFFFF\"),vt.POW2_60=BigInt(\"0x10000000000000000\"),vt.POW2_63=BigInt(\"0x8000000000000000\"),vt.MAX_UINT=BigInt(4294967295);class wt{constructor(t,e){this.seedLo=t,this.seedHi=e}at(t,e,s){const r=ht(t,e,s)^this.seedLo;return new vt([r,this.seedHi])}fromHashOf(t){const s=e(t,{asBytes:!0}),r=ct(s[0],s[1],s[2],s[3],s[4],s[5],s[6],s[7]),i=ct(s[8],s[9],s[10],s[11],s[12],s[13],s[14],s[15]);return new vt([r^this.seedLo,i^this.seedHi])}seedKey(){return[this.seedLo,this.seedHi]}}const bt=class{constructor(t){this.xo=256*t.nextDouble(),this.yo=256*t.nextDouble(),this.zo=256*t.nextDouble(),this.p=Array(256);for(let t=0;t<256;t+=1)this.p[t]=t;for(let e=0;e<256;e+=1){const s=t.nextInt(256-e),r=this.p[e];this.p[e]=this.p[e+s],this.p[e+s]=r}}sample2D(t,e){let s,r,i;const n=(t+e)*bt.F2,o=Math.floor(t+n),a=t-(o-(s=(o+(r=Math.floor(e+n)))*bt.G2));let l,u;a>(i=e-(r-s))?(l=1,u=0):(l=0,u=1);const h=a-l+bt.G2,c=i-u+bt.G2,f=a-1+2*bt.G2,m=i-1+2*bt.G2,d=255&o,p=255&r,g=this.P(d+this.P(p))%12,v=this.P(d+l+this.P(p+u))%12,w=this.P(d+1+this.P(p+1))%12;return 70*(this.getCornerNoise3D(g,a,i,0,.5)+this.getCornerNoise3D(v,h,c,0,.5)+this.getCornerNoise3D(w,f,m,0,.5))}sample(t,e,s){const r=.3333333333333333*(t+e+s),i=Math.floor(t+r),n=Math.floor(e+r),o=Math.floor(s+r),a=.16666666666666666*(i+n+o),l=t-(i-a),u=e-(n-a),h=s-(o-a);let c,f,m,d,p,g;l>=u?u>=h?(c=1,f=0,m=0,d=1,p=1,g=0):l>=h?(c=1,f=0,m=0,d=1,p=0,g=1):(c=0,f=0,m=1,d=1,p=0,g=1):u127?t-256:t;for(let e=0;e<256;e+=1){const s=t.nextInt(256-e),r=this.p[e];this.p[e]=this.p[e+s],this.p[e+s]=r}}sample(t,e,s,r=0,i=0){const n=t+this.xo,o=e+this.yo,a=s+this.zo,l=Math.floor(n),u=Math.floor(o),h=Math.floor(a),c=n-l,f=o-u,m=a-h;let d=0;if(0!==r){const t=i>=0&&i=0;r-=1)r0&&(r=this.maxLimitNoise.getOctaveNoise(l))&&(a+=r.sample(c,f,m,h,e*h)/n),n/=2}return it(o/512,a/512,i)/128}}var yt;(yt||(yt={})).fromJson=function(t){var e,s,r,i,n;const o=null!=(e=B.readObject(t))?e:{};return{xzScale:null!=(s=B.readNumber(o.xz_scale))?s:1,yScale:null!=(r=B.readNumber(o.y_scale))?r:1,xzFactor:null!=(i=B.readNumber(o.xz_factor))?i:80,yFactor:null!=(n=B.readNumber(o.y_factor))?n:80}};const Et=class{constructor(t,{firstOctave:e,amplitudes:s}){this.first=new _t(t,e,s),this.second=new _t(t,e,s);let r=1/0,i=-1/0;for(let t=0;t{var e;return null!=(e=B.readNumber(t))?e:0})))?r:[]}};class Rt{constructor(t,e){const s=e[e.length-1],r=-e[0]+s+1,i=new Set(e),n=new xt(t);this.noiseLevels=Array(r),s>=0&&s=0&&i.has(s-e)?this.noiseLevels[e]=new xt(t):t.consume(262);if(s>0)throw new Error(\"Positive octaves are not allowed\");this.highestFreqInputFactor=Math.pow(2,s),this.highestFreqValueFactor=1/(Math.pow(2,r)-1)}sample(t,e,s){let r=0,i=this.highestFreqInputFactor,n=this.highestFreqValueFactor;for(let o=0;o[(t>>16&255)/256,(t>>8&255)/256,(255&t)/256],Mt=[124/256,189/256,107/256],Ct=Tt(6396257),Ot=Tt(8431445),kt=Tt(4764952),Pt=Tt(4159204),Lt=Tt(8431445),Ft=Tt(2129968),Vt=t=>[t/8,1-t/32,64*t],Dt={large_fern:()=>Mt,tall_grass:()=>Mt,grass_block:()=>Mt,fern:()=>Mt,grass:()=>Mt,potted_fern:()=>Mt,spruce_leaves:()=>Ct,birch_leaves:()=>Ot,oak_leaves:()=>kt,jungle_leaves:()=>kt,acacia_leaves:()=>kt,dark_oak_leaves:()=>kt,vine:()=>kt,water:()=>Pt,bubble_column:()=>Pt,cauldron:()=>Pt,redstone_wire:t=>{var e;return(t=>{const e=t/15;return[.6*e+(e>0?.4:.3),$(e*e*.7-.5,0,1),$(e*e*.6-.7,0,1)]})(parseInt(null!=(e=t.power)?e:\"0\"))},sugar_cane:()=>Mt,attached_melon_stem:()=>Lt,attached_pumpkin_stem:()=>Lt,melon_stem:t=>{var e;return Vt(parseInt(null!=(e=t.age)?e:\"0\"))},pumpkin_stem:t=>{var e;return Vt(parseInt(null!=(e=t.age)?e:\"0\"))},lily_pad:()=>Ft};var Ut;function Gt(...t){let e=0;for(const s of t)e+=s.length;const s=new Float32Array(e);let r=0;for(const e of t)s.set(e,r),r+=e.length;return s}function zt(t,e){const r=s.create();for(let i=0;ithis.matchesVariant(e,t)));if(0===e.length)return[];const s=this.variants[e[0]];return[Array.isArray(s)?s[0]:s]}if(this.multipart){return this.multipart.filter((e=>!e.when||this.matchesCase(e.when,t))).map((t=>Array.isArray(t.apply)?t.apply[0]:t.apply))}return[]}getBuffers(t,e,s,n,o,a){var l,u,h,c;const f=this.getModelVariants(e),m=[],d=[],p=[],g=[];for(const v of f){const f=Ut.rotate(a,null!=(l=v.x)?l:0,null!=(u=v.y)?u:0),w=n.getBlockModel(v.model).getBuffers(t,e,s,o,f);if(v.x||v.y){const t=r.create();r.identity(t),r.translate(t,t,[8,8,8]),r.rotateY(t,t,-i.toRadian(null!=(h=v.y)?h:0)),r.rotateX(t,t,-i.toRadian(null!=(c=v.x)?c:0)),r.translate(t,t,[-8,-8,-8]),zt(w.position,t)}m.push(w.position),d.push(...w.texCoord),p.push(...w.tintColor),g.push(...w.index),o+=w.texCoord.length/2}const v=r.create();r.identity(v),r.scale(v,v,[.0625,.0625,.0625]);const w=Gt(...m);return zt(w,v),{position:w,texCoord:d,tintColor:p,index:g}}matchesVariant(t,e){return t.split(\",\").every((t=>{const[s,r]=t.split(\"=\");return e[s]===r}))}matchesCase(t,e){if(Array.isArray(t.OR))return t.OR.some((t=>this.matchesCase(t,e)));const s=t;return Object.keys(s).every((t=>s[t].split(\"|\").includes(e[t])))}static fromJson(t,e){return new Yt(t,e.variants,e.multipart)}}const Ht={0:[0,3,2,3,2,1,0,1],90:[2,3,2,1,0,1,0,3],180:[2,1,0,1,0,3,2,3],270:[0,1,0,3,2,3,2,1]},Xt={x:[1,0,0],y:[0,1,0],z:[0,0,1]},jt=1.41421356237,Zt={x:[1,jt,jt],y:[jt,1,jt],z:[jt,jt,1]};class qt{constructor(t,e,s,r){this.id=t,this.parent=e,this.textures=s,this.elements=r,this.flattened=!1}getBuffers(t,e,s,r,i){var n;const o=[],a=[],l=[],u=[];for(const h of null!=(n=this.elements)?n:[]){const n=this.getElementBuffers(t,e,h,r,s,i);o.push(n.position),a.push(...n.texCoord),l.push(...n.tintColor),u.push(...n.index),r+=n.texCoord.length/2}return{position:Gt(...o),texCoord:a,tintColor:l,index:u}}getElementBuffers(t,e,n,o,a,l){var u,h,c,f,m,d,p,g,v,w,b,x;const S=n.from[0],_=n.from[1],A=n.from[2],y=n.to[0],E=n.to[1],I=n.to[2],N=[],B=[],R=[],T=[],M=(s,r,i)=>{var n,l,u,h,c,f,m,d,p,g,v,w,b;const[x,S,_,A]=a.getTextureUV(this.getTexture(s.texture)),y=(_-x)/16,E=(A-S)/16,I=y/16,M=E/16;r[0]=(null!=(l=null==(n=s.uv)?void 0:n[0])?l:r[0])*y+I,r[1]=(null!=(h=null==(u=s.uv)?void 0:u[1])?h:r[1])*E+M,r[2]=(null!=(f=null==(c=s.uv)?void 0:c[2])?f:r[2])*y-I,r[3]=(null!=(d=null==(m=s.uv)?void 0:m[3])?d:r[3])*E-M;const C=Ht[null!=(p=s.rotation)?p:0];B.push(x+r[C[0]],S+r[C[1]],x+r[C[2]],S+r[C[3]],x+r[C[4]],S+r[C[5]],x+r[C[6]],S+r[C[7]]);const O=(null!=(g=s.tintindex)?g:-1)>=0&&null!=(b=null==(w=(v=Dt)[t.path])?void 0:w.call(v,e))?b:[1,1,1];R.push(...O,...O,...O,...O),N.push(...i),T.push(o,o+1,o+2,o,o+2,o+3),o+=4};!(null==(h=null==(u=n.faces)?void 0:u.up)?void 0:h.texture)||n.faces.up.cullface&&l[n.faces.up.cullface]||M(n.faces.up,[S,16-I,y,16-A],[S,E,I,y,E,I,y,E,A,S,E,A]),!(null==(f=null==(c=n.faces)?void 0:c.down)?void 0:f.texture)||n.faces.down.cullface&&l[n.faces.down.cullface]||M(n.faces.down,[16-I,16-y,16-A,16-S],[S,_,A,y,_,A,y,_,I,S,_,I]),!(null==(d=null==(m=n.faces)?void 0:m.south)?void 0:d.texture)||n.faces.south.cullface&&l[n.faces.south.cullface]||M(n.faces.south,[S,16-E,y,16-_],[S,_,I,y,_,I,y,E,I,S,E,I]),!(null==(g=null==(p=n.faces)?void 0:p.north)?void 0:g.texture)||n.faces.north.cullface&&l[n.faces.north.cullface]||M(n.faces.north,[16-y,16-E,16-S,16-_],[y,_,A,S,_,A,S,E,A,y,E,A]),!(null==(w=null==(v=n.faces)?void 0:v.east)?void 0:w.texture)||n.faces.east.cullface&&l[n.faces.east.cullface]||M(n.faces.east,[16-I,16-E,16-A,16-_],[y,_,I,y,_,A,y,E,A,y,E,I]),!(null==(x=null==(b=n.faces)?void 0:b.west)?void 0:x.texture)||n.faces.west.cullface&&l[n.faces.west.cullface]||M(n.faces.west,[A,16-E,I,16-_],[S,_,A,S,_,I,S,E,I,S,E,A]);const C=r.create();if(r.identity(C),n.rotation){const t=s.fromValues(...n.rotation.origin);r.translate(C,C,t),r.rotate(C,C,i.toRadian(n.rotation.angle),Xt[n.rotation.axis]),n.rotation.rescale&&r.scale(C,C,Zt[n.rotation.axis]),s.negate(t,t),r.translate(C,C,t)}const O=new Float32Array(N);return zt(O,C),{position:O,texCoord:B,tintColor:R,index:T}}getTexture(t){for(var e,s;t.startsWith(\"#\");)t=null!=(s=null==(e=this.textures)?void 0:e[t.slice(1)])?s:\"\";return t.startsWith(\"minecraft:\")||(t=\"minecraft:\"+t),t}flatten(t){var e;if(!this.flattened&&this.parent){const s=t.getBlockModel(this.parent);if(!s)return console.warn(`parent ${this.parent} does not exist!`),void(this.flattened=!0);s.flatten(t),this.elements||(this.elements=s.elements),this.textures||(this.textures={}),Object.keys(null!=(e=s.textures)?e:{}).forEach((t=>{this.textures[t]||(this.textures[t]=s.textures[t])})),this.flattened=!0}}static fromJson(t,e){let s=e.parent;return s&&!s.startsWith(\"minecraft:\")&&(s=\"minecraft:\"+s),new qt(t,s,e.textures,e.elements)}}class Jt{constructor(t,e,s){this.gl=t,this.program=this.initShaderProgram(e,s)}getProgram(){return this.program}initShaderProgram(t,e){const s=this.loadShader(this.gl.VERTEX_SHADER,t),r=this.loadShader(this.gl.FRAGMENT_SHADER,e),i=this.gl.createProgram();if(this.gl.attachShader(i,s),this.gl.attachShader(i,r),this.gl.linkProgram(i),!this.gl.getProgramParameter(i,this.gl.LINK_STATUS))throw new Error(`Unable to link shader program: ${this.gl.getProgramInfoLog(i)}`);return i}loadShader(t,e){const s=this.gl.createShader(t);if(this.gl.shaderSource(s,e),this.gl.compileShader(s),!this.gl.getShaderParameter(s,this.gl.COMPILE_STATUS)){const e=new Error(`Compiling ${t===this.gl.VERTEX_SHADER?\"vertex\":\"fragment\"} shader: ${this.gl.getShaderInfoLog(s)}`);throw this.gl.deleteShader(s),e}return s}}function Wt(t,e,s,r,i){const n=new Yt(\"\",{\"\":{model:\"\"}},void 0),o={getBlockModel:()=>i};return i.flatten(o),n.getBuffers(t,{},e,o,s,r)}function $t(t,e,s,r,i,o){const a=i.up?16:[14.2,12.5,10.5,9,7,5.3,3.7,1.9,16,16,16,16,16,16,16,16][s];return Wt(C.create(t),r,e,i,new qt(\"\",\"\",{still:`minecraft:block/${t}_still`,flow:`minecraft:block/${t}_flow`},[{from:[0,0,0],to:[16,a,16],faces:{up:{texture:\"#still\",tintindex:o,cullface:n.UP},down:{texture:\"#still\",tintindex:o,cullface:n.DOWN},north:{texture:\"#flow\",tintindex:o,cullface:n.NORTH},east:{texture:\"#flow\",tintindex:o,cullface:n.EAST},south:{texture:\"#flow\",tintindex:o,cullface:n.SOUTH},west:{texture:\"#flow\",tintindex:o,cullface:n.WEST}}}]))}const Kt={\"minecraft:water\":(t,e,s,r)=>$t(\"water\",t,parseInt(e.level),s,r,0),\"minecraft:lava\":(t,e,s,r)=>$t(\"lava\",t,parseInt(e.level),s,r),\"minecraft:chest\":(t,e,s)=>function(t,e,s,r){return Wt(C.create(\"chest\"),r,t,{},new qt(\"\",\"\",{0:\"minecraft:block/chest\"},[{from:[1,0,1],to:[15,14,15],faces:{up:{texture:\"#0\"},down:{texture:\"#0\"},north:{texture:\"#0\"},east:{texture:\"#0\"},south:{texture:\"#0\"},west:{texture:\"#0\"}}}]))}(t,e.facing,e.type,s)},Qt=new Set(Object.keys(Kt));class te{constructor(t,e,s,r){var i,n;this.gl=t,this.structure=e,this.resources=s,this.chunks=[],(null==r?void 0:r.facesPerBuffer)&&console.warn(\"webgl render warning: facesPerBuffer option has been removed in favor of chunkSize\"),this.chunkSize=null!=(i=null==r?void 0:r.chunkSize)?i:16,this.useInvisibleBlockBuffer=null==(n=null==r?void 0:r.useInvisibleBlockBuffer)||n,this.shaderProgram=new Jt(t,\"\\n attribute vec4 vertPos;\\n attribute vec2 texCoord;\\n attribute vec3 tintColor;\\n attribute vec3 normal;\\n\\n uniform mat4 mView;\\n uniform mat4 mProj;\\n\\n varying highp vec2 vTexCoord;\\n varying highp vec3 vTintColor;\\n varying highp float vLighting;\\n\\n void main(void) {\\n gl_Position = mProj * mView * vertPos;\\n vTexCoord = texCoord;\\n vTintColor = tintColor;\\n vLighting = normal.y * 0.2 + abs(normal.z) * 0.1 + 0.8;\\n }\\n\",\"\\n precision highp float;\\n varying highp vec2 vTexCoord;\\n varying highp vec3 vTintColor;\\n varying highp float vLighting;\\n\\n uniform sampler2D sampler;\\n\\n void main(void) {\\n vec4 texColor = texture2D(sampler, vTexCoord);\\n if(texColor.a < 0.01) discard;\\n gl_FragColor = vec4(texColor.xyz * vTintColor * vLighting, texColor.a);\\n }\\n\").getProgram(),this.gridShaderProgram=new Jt(t,\"\\n attribute vec4 vertPos;\\n attribute vec3 vertColor;\\n\\n uniform mat4 mView;\\n uniform mat4 mProj;\\n\\n varying highp vec3 vColor;\\n\\n void main(void) {\\n gl_Position = mProj * mView * vertPos;\\n vColor = vertColor;\\n }\\n\",\"\\n precision highp float;\\n varying highp vec3 vColor;\\n\\n void main(void) {\\n gl_FragColor = vec4(vColor, 1.0);\\n }\\n\").getProgram(),this.colorShaderProgram=new Jt(t,\"\\n attribute vec4 vertPos;\\n attribute vec3 blockPos;\\n\\n uniform mat4 mView;\\n uniform mat4 mProj;\\n\\n varying highp vec3 vColor;\\n\\n void main(void) {\\n gl_Position = mProj * mView * vertPos;\\n vColor = blockPos / 256.0;\\n }\\n\",\"\\n precision highp float;\\n varying highp vec3 vColor;\\n\\n void main(void) {\\n gl_FragColor = vec4(vColor, 1.0);\\n }\\n\").getProgram(),this.updateStructureBuffers(),this.gridBuffers=this.getGridBuffers(),this.outlineBuffers=this.getOutlineBuffers(),this.invisibleBlockBuffers=this.getInvisibleBlockBuffers(),this.atlasTexture=this.getBlockTexture(),this.projMatrix=this.getPerspective(),this.activeShader=this.shaderProgram,this.initialize()}setStructure(t){this.structure=t,this.updateStructureBuffers(),this.gridBuffers=this.getGridBuffers(),this.invisibleBlockBuffers=this.getInvisibleBlockBuffers()}initialize(){this.gl.enable(this.gl.DEPTH_TEST),this.gl.depthFunc(this.gl.LEQUAL),this.gl.enable(this.gl.BLEND),this.gl.blendFunc(this.gl.SRC_ALPHA,this.gl.ONE_MINUS_SRC_ALPHA),this.gl.enable(this.gl.CULL_FACE),this.gl.cullFace(this.gl.BACK)}getBlockTexture(){const t=this.gl.createTexture();return this.gl.bindTexture(this.gl.TEXTURE_2D,t),this.gl.texImage2D(this.gl.TEXTURE_2D,0,this.gl.RGBA,this.gl.RGBA,this.gl.UNSIGNED_BYTE,this.resources.getTextureAtlas()),this.gl.generateMipmap(this.gl.TEXTURE_2D),this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_MAG_FILTER,this.gl.NEAREST),t}getPerspective(){const t=70*Math.PI/180,e=this.gl.canvas.clientWidth/this.gl.canvas.clientHeight,s=r.create();return r.perspective(s,t,e,.1,500),s}getChunk(t){const e=2*Math.abs(t[0])+(t[0]<0?1:0),s=2*Math.abs(t[1])+(t[1]<0?1:0),r=2*Math.abs(t[2])+(t[2]<0?1:0);return this.chunks[e]||(this.chunks[e]=[]),this.chunks[e][s]||(this.chunks[e][s]=[]),this.chunks[e][s][r]||(this.chunks[e][s][r]={positions:[],textureCoordinates:[],tintColors:[],blockPositions:[],normals:[],indices:[],indexOffset:0}),this.chunks[e][s][r]}updateStructureBuffers(t){var e;const i=(t,e,i)=>{const n=r.create();r.translate(n,n,e),zt(t.position,n),i.positions.push(t.position),i.textureCoordinates.push(...t.texCoord),i.tintColors.push(...t.tintColor);for(let e=0;e{t.positions=[],t.textureCoordinates=[],t.tintColors=[],t.blockPositions=[],t.normals=[],t.indices=[],t.indexOffset=0},a=t=>{t.buffer?(this.updateBuffer(t.buffer.position,this.gl.ARRAY_BUFFER,Gt(...t.positions)),this.updateBuffer(t.buffer.texCoord,this.gl.ARRAY_BUFFER,new Float32Array(t.textureCoordinates)),this.updateBuffer(t.buffer.tintColor,this.gl.ARRAY_BUFFER,new Float32Array(t.tintColors)),this.updateBuffer(t.buffer.normal,this.gl.ARRAY_BUFFER,new Float32Array(t.normals)),this.updateBuffer(t.buffer.blockPos,this.gl.ARRAY_BUFFER,new Float32Array(t.blockPositions)),this.updateBuffer(t.buffer.index,this.gl.ELEMENT_ARRAY_BUFFER,new Uint16Array(t.indices)),t.buffer.length=t.indices.length):t.buffer={position:this.createBuffer(this.gl.ARRAY_BUFFER,Gt(...t.positions)),texCoord:this.createBuffer(this.gl.ARRAY_BUFFER,new Float32Array(t.textureCoordinates)),tintColor:this.createBuffer(this.gl.ARRAY_BUFFER,new Float32Array(t.tintColors)),blockPos:this.createBuffer(this.gl.ARRAY_BUFFER,new Float32Array(t.blockPositions)),normal:this.createBuffer(this.gl.ARRAY_BUFFER,new Float32Array(t.normals)),index:this.createBuffer(this.gl.ELEMENT_ARRAY_BUFFER,new Uint16Array(t.indices)),length:t.indices.length}};let l;t?t.forEach((t=>{const e=this.getChunk(t);o(e)})):this.chunks.forEach((t=>t.forEach((t=>t.forEach((t=>{o(t)}))))));for(const r of this.structure.getBlocks()){const o=r.state.getName(),a=r.state.getProperties(),u=null!=(e=this.resources.getDefaultBlockProperties(o))?e:{};Object.entries(u).forEach((([t,e])=>{a[t]||(a[t]=e)}));const h=[Math.floor(r.pos[0]/this.chunkSize),Math.floor(r.pos[1]/this.chunkSize),Math.floor(r.pos[2]/this.chunkSize)];if(t&&!t.some((t=>s.equals(t,h))))continue;const c=this.getChunk(h);try{const t=this.resources.getBlockDefinition(o),e={up:this.needsCull(r,n.UP),down:this.needsCull(r,n.DOWN),west:this.needsCull(r,n.WEST),east:this.needsCull(r,n.EAST),north:this.needsCull(r,n.NORTH),south:this.needsCull(r,n.SOUTH)};t&&(l=t.getBuffers(o,a,this.resources,this.resources,c.indexOffset,e),i(l,r.pos,c)),Qt.has(o.toString())&&(l=Kt[o.toString()](c.indexOffset,a,this.resources,e),i(l,r.pos,c))}catch(t){console.error(`Error rendering block ${o}`,t)}}t?t.forEach((t=>{const e=this.getChunk(t);a(e)})):this.chunks.forEach((t=>t.forEach((t=>t.forEach((t=>{a(t)}))))))}needsCull(t,e){var s,r;const i=null==(s=this.structure.getBlock(l.towards(t.pos,e)))?void 0:s.state;return!!i&&((null==(r=this.resources.getBlockFlags(i.getName()))?void 0:r.opaque)?!(e===n.UP&&t.state.isFluid()):t.state.isFluid()&&i.isFluid())}getGridBuffers(){const[t,e,s]=this.structure.getSize(),r=[],i=[];r.push(0,0,0,t,0,0),i.push(1,0,0,1,0,0),r.push(0,0,0,0,0,s),i.push(0,0,1,0,0,1),r.push(0,0,0,0,e,0),r.push(t,0,0,t,e,0),r.push(0,0,s,0,e,s),r.push(t,0,s,t,e,s),r.push(0,e,0,0,e,s),r.push(t,e,0,t,e,s),r.push(0,e,0,t,e,0),r.push(0,e,s,t,e,s);for(let e=1;e<=t;e+=1)r.push(e,0,0,e,0,s);for(let e=1;e<=s;e+=1)r.push(0,0,e,t,0,e);for(let e=0;e<8+t+s;e+=1)i.push(.8,.8,.8,.8,.8,.8);return{position:this.createBuffer(this.gl.ARRAY_BUFFER,new Float32Array(r)),color:this.createBuffer(this.gl.ARRAY_BUFFER,new Float32Array(i)),length:r.length/3}}getOutlineBuffers(){const t=[],e=[];return this.addCube(t,e,[1,1,1],[0,0,0],[1,1,1]),{position:this.createBuffer(this.gl.ARRAY_BUFFER,new Float32Array(t)),color:this.createBuffer(this.gl.ARRAY_BUFFER,new Float32Array(e)),length:t.length/3}}getInvisibleBlockBuffers(){if(!this.useInvisibleBlockBuffer)return;const t=this.structure.getSize(),e=[],s=[];for(let r=0;r{t.forEach((t=>{t.forEach((t=>{t.buffer&&(this.setVertexAttr(\"vertPos\",3,t.buffer.position),this.setVertexAttr(\"texCoord\",2,t.buffer.texCoord),this.setVertexAttr(\"tintColor\",3,t.buffer.tintColor),this.setVertexAttr(\"normal\",3,t.buffer.normal),this.gl.bindBuffer(this.gl.ELEMENT_ARRAY_BUFFER,t.buffer.index),this.gl.drawElements(this.gl.TRIANGLES,t.buffer.length,this.gl.UNSIGNED_SHORT,0))}))}))}))}drawColoredStructure(t){this.setShader(this.colorShaderProgram),this.setUniform(\"mView\",t),this.setUniform(\"mProj\",this.projMatrix),this.chunks.forEach((t=>{t.forEach((t=>{t.forEach((t=>{t.buffer&&(this.setVertexAttr(\"vertPos\",3,t.buffer.position),this.setVertexAttr(\"blockPos\",3,t.buffer.blockPos),this.gl.bindBuffer(this.gl.ELEMENT_ARRAY_BUFFER,t.buffer.index),this.gl.drawElements(this.gl.TRIANGLES,t.buffer.length,this.gl.UNSIGNED_SHORT,0))}))}))}))}drawOutline(t,e){this.setShader(this.gridShaderProgram),this.setVertexAttr(\"vertPos\",3,this.outlineBuffers.position),this.setVertexAttr(\"vertColor\",3,this.outlineBuffers.color);const s=r.create();r.copy(s,t),r.translate(s,s,e),this.setUniform(\"mView\",s),this.setUniform(\"mProj\",this.projMatrix),this.gl.drawArrays(this.gl.LINES,0,this.outlineBuffers.length)}setViewport(t,e,s,r){this.gl.viewport(t,e,s,r),this.projMatrix=this.getPerspective()}setShader(t){this.gl.useProgram(t),this.activeShader=t}setVertexAttr(t,e,s){const r=this.gl.getAttribLocation(this.activeShader,t);this.gl.bindBuffer(this.gl.ARRAY_BUFFER,s),this.gl.vertexAttribPointer(r,e,this.gl.FLOAT,!1,0,0),this.gl.enableVertexAttribArray(r)}setUniform(t,e){const s=this.gl.getUniformLocation(this.activeShader,t);this.gl.uniformMatrix4fv(s,!1,e)}}var ee=(t,e,s)=>new Promise(((r,i)=>{var n=t=>{try{a(s.next(t))}catch(t){i(t)}},o=t=>{try{a(s.throw(t))}catch(t){i(t)}},a=t=>t.done?r(t.value):Promise.resolve(t.value).then(n,o);a((s=s.apply(t,e)).next())}));class se{constructor(t,e){this.img=t,this.idMap=e,this.part=16/t.width}getTextureAtlas(){return this.img}getTextureUV(t){var e;return null!=(e=this.idMap[t])?e:[0,0,this.part,this.part]}static fromBlobs(t){return ee(this,null,(function*(){const e=Math.sqrt(Object.keys(t).length+1),s=Math.pow(2,Math.ceil(Math.log(e)/Math.log(2))),r=16*s,i=1/s,n=document.createElement(\"canvas\");n.width=r,n.height=r;const o=n.getContext(\"2d\");this.drawInvalidTexture(o);const a={};let l=1;return yield Promise.all(Object.keys(t).map((e=>ee(this,null,(function*(){const r=l%s,n=Math.floor(l/s);l+=1,a[e]=[i*r,i*n,i*r+i,i*n+i];const u=yield createImageBitmap(t[e]);o.drawImage(u,0,0,16,16,16*r,16*n,16,16)}))))),new se(o.getImageData(0,0,r,r),a)}))}static empty(){const t=document.createElement(\"canvas\");t.width=16,t.height=16;const e=t.getContext(\"2d\");return se.drawInvalidTexture(e),new se(e.getImageData(0,0,16,16),{})}static drawInvalidTexture(t){t.fillStyle=\"black\",t.fillRect(0,0,16,16),t.fillStyle=\"magenta\",t.fillRect(0,0,8,8),t.fillRect(8,8,8,8)}}const re=class{constructor(t,e,s){this.offsetSampler=t,this.factorSampler=e,this.jaggednessSampler=s}static extractor(t){return{compute:e=>e[t]}}static fromJson(t){var e;const s=null!=(e=B.readObject(t))?e:{};return new re(ft.fromJson(s.offset,this.EXTRACTOR),ft.fromJson(s.factor,this.EXTRACTOR),ft.fromJson(s.jaggedness,this.EXTRACTOR))}offset(t){return this.offsetSampler.compute(t)+re.GLOBAL_OFFSET}factor(t){return this.factorSampler.compute(t)}jaggedness(t){return this.jaggednessSampler.compute(t)}static point(t,e,s){return{continents:t,erosion:e,weirdness:s,ridges:this.peaksAndValleys(s)}}static peaksAndValleys(t){return 3*-(Math.abs(Math.abs(t)-.6666667)-.33333334)}};let ie=re;var ne,oe,ae,le,ue;ie.GLOBAL_OFFSET=-.50375,ie.EXTRACTOR=t=>{var e;const s=null!=(e=B.readString(t))?e:\"continents\";return re.extractor(s)},ie.CONTINENTS=re.extractor(\"continents\"),ie.EROSION=re.extractor(\"erosion\"),ie.WEIRDNESS=re.extractor(\"weirdness\"),ie.RIDGES=re.extractor(\"ridges\"),function(t){function e(t){return t.ySize<<2}t.fromJson=function(t){var e,s,r,i,n;const o=null!=(e=B.readObject(t))?e:{};return{minY:null!=(s=B.readInt(o.min_y))?s:0,height:null!=(r=B.readInt(o.height))?r:256,xzSize:null!=(i=B.readInt(o.size_horizontal))?i:1,ySize:null!=(n=B.readInt(o.size_vertical))?n:1,sampling:yt.fromJson(o.sampling),topSlide:oe.fromJson(o.top_slide),bottomSlide:oe.fromJson(o.bottom_slide),terrainShaper:ie.fromJson(o.terrain_shaper)}},t.cellHeight=e,t.cellWidth=function(t){return t.xzSize<<2},t.cellCountY=function(t){return t.height/e(t)},t.minCellY=function(t){return Math.floor(t.minY/e(t))},t.applySlides=function(s,r,i){const n=Math.floor(i/e(s))-t.minCellY(s);return r=oe.apply(s.topSlide,r,t.cellCountY(s)-n),r=oe.apply(s.bottomSlide,r,n)}}(ne||(ne={})),(ae=oe||(oe={})).fromJson=function(t){var e,s,r,i;const n=null!=(e=B.readObject(t))?e:{};return{target:null!=(s=B.readNumber(n.target))?s:0,size:null!=(r=B.readInt(n.size))?r:0,offset:null!=(i=B.readInt(n.offset))?i:0}},ae.apply=function(t,e,s){if(t.size<=0)return e;const r=(s-t.offset)/t.size;return it(t.target,e,r)},function(t){function e(t){const e=new q(C.create(t));return q.REGISTRY.register(e.key,e),e}t.NOISE=e(\"worldgen/noise\"),t.DENSITY_FUNCTION=e(\"worldgen/density_function\")}(le||(le={}));class he{minValue(){return-this.maxValue()}mapAll(t){return t.map(this)}}!function(t){t.context=function(t,e,s){return{x:t,y:e,z:s}};class e extends t{constructor(t){super(),this.input=t}compute(t){return this.transform(t,this.input.compute(t))}}const s=j.parser(le.NOISE,Nt.fromJson);t.fromJson=function t(e,r=t){var l,v,S,N,T,D,U,G,z,Y,H,X,Z,q,J,W,$,K,Q;if(\"string\"==typeof e)return new n(j.reference(le.DENSITY_FUNCTION,C.parse(e)));if(\"number\"==typeof e)return new i(e);const tt=null!=(l=B.readObject(e))?l:{},et=null==(v=B.readString(tt.type))?void 0:v.replace(/^minecraft:/,\"\");switch(et){case\"blend_alpha\":return new o(1,0,1);case\"blend_offset\":case\"beardifier\":return new o(0,-1/0,1/0);case\"old_blended_noise\":return new a;case\"flat_cache\":return new u(r(tt.argument));case\"interpolated\":return new m(r(tt.argument));case\"cache_2d\":return new c(r(tt.argument));case\"cache_once\":return new f(r(tt.argument));case\"cache_all_in_cell\":return new h(r(tt.argument));case\"noise\":return new d(null!=(S=B.readNumber(tt.xz_scale))?S:1,null!=(N=B.readNumber(tt.y_scale))?N:1,s(tt.noise));case\"end_islands\":return new p;case\"weird_scaled_sampler\":return new w(r(tt.input),B.readEnum(tt.rarity_value_mapper,g),s(tt.noise));case\"shifted_noise\":return new b(r(tt.shift_x),r(tt.shift_y),r(tt.shift_z),null!=(T=B.readNumber(tt.xz_scale))?T:1,null!=(D=B.readNumber(tt.y_scale))?D:1,s(tt.noise));case\"range_choice\":return new x(r(tt.input),null!=(U=B.readNumber(tt.min_inclusive))?U:0,null!=(G=B.readNumber(tt.max_exclusive))?G:1,r(tt.when_in_range),r(tt.when_out_of_range));case\"shift_a\":return new _(s(tt.argument));case\"shift_b\":return new A(s(tt.argument));case\"shift\":return new y(s(tt.argument));case\"blend_density\":return new E(r(tt.argument));case\"clamp\":return new I(r(tt.input),null!=(z=B.readNumber(tt.min))?z:0,null!=(Y=B.readNumber(tt.max))?Y:1);case\"abs\":case\"square\":case\"cube\":case\"half_negative\":case\"quarter_negative\":case\"squeeze\":return new R(et,r(tt.argument));case\"slide\":return new M(r(tt.argument));case\"add\":case\"mul\":case\"min\":case\"max\":return new k(B.readEnum(et,O),r(tt.argument1),r(tt.argument2));case\"spline\":return new P(ft.fromJson(tt.spline,r),null!=(H=B.readNumber(tt.min_value))?H:0,null!=(X=B.readNumber(tt.max_value))?X:1);case\"terrain_shaper_spline\":return new F(r(tt.continentalness),r(tt.erosion),r(tt.weirdness),B.readEnum(tt.spline,L),null!=(Z=B.readNumber(tt.min_value))?Z:0,null!=(q=B.readNumber(tt.max_value))?q:1);case\"constant\":return new i(null!=(J=B.readNumber(tt.argument))?J:0);case\"y_clamped_gradient\":return new V(null!=(W=B.readInt(tt.from_y))?W:-4064,null!=($=B.readInt(tt.to_y))?$:4062,null!=(K=B.readNumber(tt.from_value))?K:-4064,null!=(Q=B.readNumber(tt.to_value))?Q:4062)}return i.ZERO};const r=class extends t{constructor(t){super(),this.value=t}compute(){return this.value}minValue(){return this.value}maxValue(){return this.value}};let i=r;i.ZERO=new r(0),i.ONE=new r(1),t.Constant=i;class n extends t{constructor(t){super(),this.holder=t}compute(t){return this.holder.value().compute(t)}minValue(){return this.holder.value().minValue()}maxValue(){return this.holder.value().maxValue()}}t.HolderHolder=n;class o extends t.Constant{constructor(t,e,s){super(t),this.min=e,this.max=s}minValue(){return this.min}maxValue(){return this.max}}t.ConstantMinMax=o;class a extends t{constructor(t){super(),this.blendedNoise=null!=t?t:new At(vt.create(BigInt(0)),{xzScale:1,yScale:1,xzFactor:80,yFactor:160},4,8)}compute(t){return this.blendedNoise.sample(t.x,t.y,t.z)}maxValue(){return this.blendedNoise.maxValue}}t.OldBlendedNoise=a;class l extends t{constructor(t){super(),this.wrapped=t}minValue(){return this.wrapped.minValue()}maxValue(){return this.wrapped.maxValue()}}class u extends l{constructor(t){super(t),this.lastValue=0}compute(e){const s=e.x>>2,r=e.z>>2;return this.lastQuartX===s&&this.lastQuartZ===r||(this.lastValue=this.wrapped.compute(t.context(s<<2,0,r<<2)),this.lastQuartX=s,this.lastQuartZ=r),this.lastValue}mapAll(t){return t.map(new u(this.wrapped.mapAll(t)))}}t.FlatCache=u;class h extends l{constructor(t){super(t)}compute(t){return this.wrapped.compute(t)}mapAll(t){return t.map(new h(this.wrapped.mapAll(t)))}}t.CacheAllInCell=h;class c extends l{constructor(t){super(t),this.lastValue=0}compute(t){const e=t.x,s=t.z;return this.lastBlockX===e&&this.lastBlockZ===s||(this.lastValue=this.wrapped.compute(t),this.lastBlockX=e,this.lastBlockZ=s),this.lastValue}mapAll(t){return t.map(new c(this.wrapped.mapAll(t)))}}t.Cache2D=c;class f extends l{constructor(t){super(t),this.lastValue=0}compute(t){const e=t.x,s=t.y,r=t.z;return this.lastBlockX===e&&this.lastBlockY===s&&this.lastBlockZ===r||(this.lastValue=this.wrapped.compute(t),this.lastBlockX=e,this.lastBlockY=s,this.lastBlockZ=r),this.lastValue}mapAll(t){return t.map(new f(this.wrapped.mapAll(t)))}}t.CacheOnce=f;class m extends l{constructor(t,e=4,s=4){super(t),this.cellWidth=e,this.cellHeight=s,this.values=new Map}compute({x:t,y:e,z:s}){const r=this.cellWidth,i=this.cellHeight,n=(t%r+r)%r/r,o=(e%i+i)%i/i,a=(s%r+r)%r/r,l=Math.floor(t/r)*r,u=Math.floor(e/i)*i,h=Math.floor(s/r)*r;return rt(n,o,a,(()=>this.computeCorner(l,u,h)),(()=>this.computeCorner(l+r,u,h)),(()=>this.computeCorner(l,u+i,h)),(()=>this.computeCorner(l+r,u+i,h)),(()=>this.computeCorner(l,u,h+r)),(()=>this.computeCorner(l+r,u,h+r)),(()=>this.computeCorner(l,u+i,h+r)),(()=>this.computeCorner(l+r,u+i,h+r)))}computeCorner(e,s,r){return T(this.values,`${e} ${s} ${r}`,(()=>this.wrapped.compute(t.context(e,s,r))))}mapAll(t){return t.map(new m(this.wrapped.mapAll(t)))}withCellSize(t,e){return new m(this.wrapped,t,e)}}t.Interpolated=m;class d extends t{constructor(t,e,s,r){super(),this.xzScale=t,this.yScale=e,this.noiseData=s,this.noise=r}compute(t){var e,s;return null!=(s=null==(e=this.noise)?void 0:e.sample(t.x*this.xzScale,t.y*this.yScale,t.z*this.xzScale))?s:0}maxValue(){var t,e;return null!=(e=null==(t=this.noise)?void 0:t.maxValue)?e:2}}t.Noise=d;class p extends t{compute(){return 0}minValue(){return-.84375}maxValue(){return.5625}}const g=[\"type_1\",\"type_2\"],v=class extends e{constructor(t,e,s,r){super(t),this.rarityValueMapper=e,this.noiseData=s,this.noise=r,this.mapper=v.ValueMapper[this.rarityValueMapper]}transform(t,e){if(!this.noise)return 0;const s=this.mapper(e);return s*Math.abs(this.noise.sample(t.x/s,t.y/s,t.z/s))}mapAll(t){return t.map(new v(this.input.mapAll(t),this.rarityValueMapper,this.noiseData,this.noise))}minValue(){return 0}maxValue(){return\"type_1\"===this.rarityValueMapper?2:3}static rarityValueMapper1(t){return t<-.5?.75:t<0?1:t<.5?1.5:2}static rarityValueMapper2(t){return t<-.75?.5:t<-.5?.75:t<.5?1:t<.75?2:3}};let w=v;w.ValueMapper={type_1:v.rarityValueMapper1,type_2:v.rarityValueMapper2},t.WeirdScaledSampler=w;class b extends d{constructor(t,e,s,r,i,n,o){super(r,i,n,o),this.shiftX=t,this.shiftY=e,this.shiftZ=s}compute(t){var e,s;const r=t.x*this.xzScale+this.shiftX.compute(t),i=t.y*this.yScale+this.shiftY.compute(t),n=t.z*this.xzScale+this.shiftZ.compute(t);return null!=(s=null==(e=this.noise)?void 0:e.sample(r,i,n))?s:0}mapAll(t){return t.map(new b(this.shiftX.mapAll(t),this.shiftY.mapAll(t),this.shiftZ.mapAll(t),this.xzScale,this.yScale,this.noiseData,this.noise))}}t.ShiftedNoise=b;class x extends t{constructor(t,e,s,r,i){super(),this.input=t,this.minInclusive=e,this.maxExclusive=s,this.whenInRange=r,this.whenOutOfRange=i}compute(t){const e=this.input.compute(t);return this.minInclusive<=e&&eMath.abs(t),square:t=>t*t,cube:t=>t*t*t,half_negative:t=>t>0?t:.5*t,quarter_negative:t=>t>0?t:.25*t,squeeze:t=>{const e=$(t,-1,1);return e/2-e*e*e/24}},t.Mapped=R;class M extends e{constructor(t,e){super(t),this.settings=e}transform(t,e){return this.settings?ne.applySlides(this.settings,e,t.y):e}mapAll(t){return t.map(new M(this.input.mapAll(t),this.settings))}minValue(){return this.settings?Math.min(this.input.minValue(),this.settings.bottomSlide.target,this.settings.topSlide.target):this.input.minValue()}maxValue(){return this.settings?Math.max(this.input.maxValue(),this.settings.bottomSlide.target,this.settings.topSlide.target):this.input.maxValue()}}t.Slide=M;const O=[\"add\",\"mul\",\"min\",\"max\"];class k extends t{constructor(t,e,s,r,i){super(),this.type=t,this.argument1=e,this.argument2=s,this.min=r,this.max=i}compute(t){const e=this.argument1.compute(t);switch(this.type){case\"add\":return e+this.argument2.compute(t);case\"mul\":return 0===e?0:e*this.argument2.compute(t);case\"min\":return ethis.argument2.maxValue()?e:Math.max(e,this.argument2.compute(t))}}mapAll(t){return t.map(new k(this.type,this.argument1.mapAll(t),this.argument2.mapAll(t)))}minValue(){var t;return null!=(t=this.min)?t:-1/0}maxValue(){var t;return null!=(t=this.max)?t:1/0}withMinMax(){const t=this.argument1.minValue(),e=this.argument2.minValue(),s=this.argument1.maxValue(),r=this.argument2.maxValue();let i,n;switch(\"min\"!==this.type&&\"max\"!==this.type||!(t>=r||e>=s)||console.warn(`Creating a ${this.type} function between two non-overlapping inputs`),this.type){case\"add\":i=t+e,n=s+r;break;case\"mul\":i=t>0&&e>0?t*e||0:s<0&&r<0?s*r||0:Math.min(t*r||0,e*s||0),n=t>0&&e>0?s*r||0:s<0&&r<0?t*e||0:Math.max(t*e||0,s*r||0);break;case\"min\":i=Math.min(t,e),n=Math.min(s,r);break;case\"max\":i=Math.max(t,e),n=Math.max(s,r)}return new k(this.type,this.argument1,this.argument2,i,n)}}t.Ap2=k;class P extends t{constructor(t,e,s){super(),this.spline=t,this.min=e,this.max=s}compute(t){return $(this.spline.compute(t),this.min,this.max)}mapAll(e){return e.map(new P(this.spline.mapAll((s=>s instanceof t?s.mapAll(e):s)),this.min,this.max))}minValue(){return this.min}maxValue(){return this.max}}t.Spline=P;const L=[\"offset\",\"factor\",\"jaggedness\"];class F extends t{constructor(t,e,s,r,i,n,o){super(),this.continentalness=t,this.erosion=e,this.weirdness=s,this.spline=r,this.min=i,this.max=n,this.shaper=o}compute(t){if(!this.shaper)return 0;const e=ie.point(this.continentalness.compute(t),this.erosion.compute(t),this.weirdness.compute(t));return $(this.shaper[this.spline](e),this.min,this.max)}mapAll(t){return t.map(new F(this.continentalness.mapAll(t),this.erosion.mapAll(t),this.weirdness.mapAll(t),this.spline,this.min,this.max,this.shaper))}minValue(){return this.min}maxValue(){return this.max}}t.TerrainShaperSpline=F;class V extends t{constructor(t,e,s,r){super(),this.fromY=t,this.toY=e,this.fromValue=s,this.toValue=r}compute(t){return lt(t.y,this.fromY,this.toY,this.fromValue,this.toValue)}minValue(){return Math.min(this.fromValue,this.toValue)}maxValue(){return Math.max(this.fromValue,this.toValue)}}t.YClampedGradient=V}(he||(he={}));class ce{constructor(t,e){this.level=t,this.type=e}at(t){return t0))return t(e,s,r).at(s)}}};const fe=class{constructor(t,e,s,r,i,n,o,a,u,h){this.noiseChunk=t,this.barrierNoise=s,this.fluidLevelFloodednessNoise=r,this.fluidLevelSpreadNoise=i,this.lavaNoise=n,this.random=o,this.globalFluidPicker=h,this.minGridX=this.gridX(X.minBlockX(e))-1,this.gridSizeX=this.gridX(X.maxBlockX(e))+1-this.minGridX+1,this.minGridY=this.gridY(a)-1,this.minGridZ=this.gridZ(X.minBlockZ(e))-1,this.gridSizeZ=this.gridZ(X.maxBlockZ(e))+1-this.minGridZ+1;const c=this.gridY(a+u)+1-this.minGridY+1;this.gridSize=this.gridSizeX*c*this.gridSizeZ,this.aquiferCache=Array(this.gridSize).fill(void 0),this.aquiferLocationCache=Array(this.gridSize).fill(l.ZERO)}compute({x:t,y:e,z:s},r){if(r<=0){if(this.globalFluidPicker(t,e,s).at(e).is(G.LAVA))return G.LAVA;{const i=this.gridX(t-5),n=this.gridY(e+1),o=this.gridZ(s-5);let a=Number.MAX_SAFE_INTEGER,u=Number.MAX_SAFE_INTEGER,h=Number.MAX_SAFE_INTEGER,c=l.ZERO,f=l.ZERO,m=l.ZERO;for(let t=0;t<=1;t+=1)for(let e=-1;e<=1;e+=1)for(let s=0;s<=1;s+=1){const r=this.getLocation(i+t,n+e,o+s),d=l.magnitude(r);a>=d?(m=f,f=c,c=r,h=u,u=a,a=d):u>=d?(m=f,f=r,h=u,u=d):h>=d&&(m=r,h=d)}const d=this.getStatus(c),p=this.getStatus(f),g=this.getStatus(m),v=fe.similarity(a,u),w=fe.similarity(a,h),b=fe.similarity(u,h);let x;if(d.at(e).is(G.WATER)&&this.globalFluidPicker(t,e-1,s).at(e-1).is(G.LAVA))x=1;else if(v>-1){const r=R((()=>this.barrierNoise.compute(he.context(t,.5*e,s)))),i=this.calculatePressure(e,d,p,r),n=this.calculatePressure(e,d,g,r),o=this.calculatePressure(e,p,g,r),a=Math.max(i,n*Math.max(0,w),o*Math.max(b));x=Math.max(0,2*Math.max(0,v)*a)}else x=0;if(r+x<=0)return d.at(e)}}}static similarity(t,e){return 1-Math.abs(e-t)/25}calculatePressure(t,e,s,r){const i=e.at(t),n=s.at(t);if(i.is(G.LAVA)&&n.is(G.WATER)||i.is(G.WATER)&&n.is(G.LAVA))return 1;const o=Math.abs(e.level-s.level);if(0===o)return 0;const a=t+.5-(e.level+s.level)/2,l=o/2-Math.abs(a),u=a>0?l>0?l/1.5:l/2.5:l>-3?(l+3)/3:(l+3)/10;return u<-2||u>2?u:u+r()}getStatus(t){const[e,s,r]=t,i=this.getIndex(this.gridX(e),this.gridY(s),this.gridZ(r)),n=this.aquiferCache[i];if(void 0!==n)return n;const o=this.computeStatus(e,s,r);return this.aquiferCache[i]=o,o}computeStatus(t,e,s){const r=this.globalFluidPicker(t,e,s);let i=Number.MAX_SAFE_INTEGER,n=!1;for(const[o,a]of fe.SURFACE_SAMPLING){const l=t+(a<<4),u=s+(a<<4),h=this.noiseChunk.getPreliminarySurfaceLevel(l,u);i=Math.min(i,h);const c=0===o&&0===a;if(c&&e-12>h+8)return r;if(c||e+12>h+8){const t=this.globalFluidPicker(l,h+8,u);if(!t.at(h+8).is(G.AIR)){if(c)return t;n=!0}}}const o=n?lt(i+8-e,0,64,1,0):0,a=$(this.fluidLevelFloodednessNoise.compute(he.context(t,.67*e,s)),-1,1);if(a>at(o,1,0,-.3,.8))return r;if(a<=at(o,1,0,-.8,.4))return new ce(Number.MIN_SAFE_INTEGER,r.type);const l=Math.floor(e/40),u=this.fluidLevelSpreadNoise.compute(he.context(Math.floor(t/16),l,Math.floor(s/16))),h=40*l+20+3*Math.floor(u/3),c=Math.min(i,h),f=this.getFluidType(t,e,s,r.type,h);return new ce(c,f)}getFluidType(t,e,s,r,i){if(i<=-10){const r=this.lavaNoise.compute(he.context(Math.floor(t/64),Math.floor(e/40),Math.floor(s/64)));if(Math.abs(r)>.3)return G.LAVA}return r}getLocation(t,e,s){const r=this.getIndex(t,e,s),i=this.aquiferLocationCache[r];if(l.equals(i,l.ZERO))return i;const n=this.random.at(t,e,s),o=l.create(t*fe.X_SPACING+n.nextInt(10),e*fe.Y_SPACING+n.nextInt(9),s*fe.Z_SPACING+n.nextInt(10));return this.aquiferLocationCache[r]=o,o}getIndex(t,e,s){const r=t-this.minGridX,i=e-this.minGridY,n=s-this.minGridZ,o=(i*this.gridSizeZ+n)*this.gridSizeX+r;if(o<0||o>=this.gridSize)throw new Error(`Invalid aquifer index at ${t} ${e} ${s}: 0 <= ${o} < ${this.gridSize}`);return o}gridX(t){return Math.floor(t/fe.X_SPACING)}gridY(t){return Math.floor(t/fe.Y_SPACING)}gridZ(t){return Math.floor(t/fe.Z_SPACING)}};let me=fe;var de,pe;me.X_SPACING=16,me.Y_SPACING=12,me.Z_SPACING=16,me.SURFACE_SAMPLING=[[-2,-1],[-1,-1],[0,-1],[1,-1],[-3,0],[-2,0],[-1,0],[0,0],[1,0],[-2,1],[-1,1],[0,1],[1,1]],function(t){function e(t,e){return\"number\"==typeof t?new s(t,null!=e?e:t):t}t.target=function(t,e,s,r,n,o){return new i(t,e,s,r,n,o)},t.parameters=function(t,s,i,n,o,a,l){return new r(e(t),e(s),e(i),e(n),e(o),e(a),l)},t.param=e;class s{constructor(t,e){this.min=t,this.max=e}distance(t){const e=(\"number\"==typeof t?t:t.min)-this.max,s=this.min-(\"number\"==typeof t?t:t.max);return e>0?e:Math.max(s,0)}union(t){return new s(Math.min(this.min,t.min),Math.max(this.max,t.max))}static fromJson(t){var e;if(\"number\"==typeof t)return new s(t,t);const[r,i]=null!=(e=B.readArray(t,(t=>B.readNumber(t))))?e:[];return new s(null!=r?r:0,null!=i?i:0)}}t.Param=s;class r{constructor(t,e,s,r,i,n,o){this.temperature=t,this.humidity=e,this.continentalness=s,this.erosion=r,this.depth=i,this.weirdness=n,this.offset=o}fittness(t){return W(this.temperature.distance(t.temperature))+W(this.humidity.distance(t.humidity))+W(this.continentalness.distance(t.continentalness))+W(this.erosion.distance(t.erosion))+W(this.depth.distance(t.depth))+W(this.weirdness.distance(t.weirdness))+W(this.offset-t.offset)}space(){return[this.temperature,this.humidity,this.continentalness,this.erosion,this.depth,this.weirdness,new s(this.offset,this.offset)]}static fromJson(t){var e,i;const n=null!=(e=B.readObject(t))?e:{};return new r(s.fromJson(n.temperature),s.fromJson(n.humidity),s.fromJson(n.continentalness),s.fromJson(n.erosion),s.fromJson(n.depth),s.fromJson(n.weirdness),null!=(i=B.readInt(n.offset))?i:0)}}t.ParamPoint=r;class i{constructor(t,e,s,r,i,n){this.temperature=t,this.humidity=e,this.continentalness=s,this.erosion=r,this.depth=i,this.weirdness=n}get offset(){return 0}toArray(){return[this.temperature,this.humidity,this.continentalness,this.erosion,this.depth,this.weirdness,this.offset]}}t.TargetPoint=i;t.Parameters=class{constructor(t){this.things=t,this.index=new o(t)}find(t){return this.index.search(t,((t,e)=>t.distance(e)))}};t.Sampler=class{constructor(t,e,s,r,i,n){this.temperature=t,this.humidity=e,this.continentalness=s,this.erosion=r,this.depth=i,this.weirdness=n}static fromRouter(e){return new t.Sampler(e.temperature,e.vegetation,e.continents,e.erosion,e.depth,e.ridges)}sample(e,s,r){const i=he.context(e<<2,s<<2,r<<2);return t.target(this.temperature.compute(i),this.humidity.compute(i),this.continentalness.compute(i),this.erosion.compute(i),this.depth.compute(i),this.weirdness.compute(i))}};const n=class{constructor(t){this.root=n.build(t.map((([t,e])=>new u(t,e))))}static build(t){if(1===t.length)return t[0];if(t.length<=n.CHILDREN_PER_NODE){const e=t.map((t=>{let e=0;for(let s=0;s<7;s+=1){const r=t.space[s];e+=Math.abs((r.min+r.max)/2)}return{key:e,node:t}})).sort(((t,e)=>t.key-e.key)).map((({node:t})=>t));return new l(e)}let e=1/0,s=-1,r=[];for(let i=0;i<7;++i){t=n.sort(t,i,!1),r=n.bucketize(t);let o=0;for(const t of r)o+=n.area(t.space);e>o&&(e=o,s=i)}return t=n.sort(t,s,!1),r=n.bucketize(t),r=n.sort(r,s,!0),new l(r.map((t=>n.build(t.children))))}static sort(t,e,s){return t.map((t=>{const r=t.space[e],i=(r.min+r.max)/2;return{key:s?Math.abs(i):i,node:t}})).sort(((t,e)=>t.key-e.key)).map((({node:t})=>t))}static bucketize(t){const e=[];let s=[];const r=Math.pow(10,Math.floor(Math.log(t.length-.01)/Math.log(10)));for(const i of t)s.push(i),s.lengthnew s(1/0,-1/0)));for(const s of t)e=[...Array(7)].map(((t,r)=>e[r].union(s.space[r])));return e}search(t,e){let s=1/0,r=null;for(const i of this.children){const n=e(i,t);if(s<=n)continue;const o=i.search(t,e),a=i==o?n:e(o,t);s<=a||(s=a,r=o)}return r}}t.RSubTree=l;class u extends a{constructor(t,e){super(t.space()),this.thing=e}search(){return this}}t.RLeaf=u}(de||(de={}));class ge{constructor(t){this.biome=t}getBiome(){return this.biome}static fromJson(t){var e,s;const r=null!=(e=B.readObject(t))?e:{},i=C.parse(null!=(s=B.readString(r.biome))?s:\"minecraft:the_void\");return new ge(i)}}class ve{constructor(t){this.parameters=t}getBiome(t,e,s,r){const i=r.sample(t,e,s);return this.parameters.find(i)}static fromJson(t){var e,s;const r=null!=(e=B.readObject(t))?e:{},i=(null!=(s=B.readArray(r.biomes,(t=>{var e,s,r;return s=null!=(e=B.readObject(t))?e:{},{biome:C.parse(null!=(r=B.readString(s.biome))?r:\"minecraft:the_void\"),parameters:de.ParamPoint.fromJson(s.parameters)}})))?s:[]).map((t=>[t.parameters,()=>t.biome]));return new ve(new de.Parameters(i))}}!function(t){function e(t,e,s){return le.NOISE.register(C.create(t),Nt.create(e,s))}t.TEMPERATURE=e(\"temperature\",-10,[1.5,0,1,0,0,0]),t.VEGETATION=e(\"vegetation\",-8,[1,1,0,0,0,0]),t.CONTINENTALNESS=e(\"continentalness\",-9,[1,1,2,2,2,1,1,1,1]),t.EROSION=e(\"erosion\",-9,[1,1,0,1,1]),t.TEMPERATURE_LARGE=e(\"temperature_large\",-12,[1.5,0,1,0,0,0]),t.VEGETATION_LARGE=e(\"vegetation_large\",-10,[1,1,0,0,0,0]),t.CONTINENTALNESS_LARGE=e(\"continentalness_large\",-11,[1,1,2,2,2,1,1,1,1]),t.EROSION_LARGE=e(\"erosion_large\",-11,[1,1,0,1,1]),t.RIDGE=e(\"ridge\",-7,[1,2,1,0,0,0]),t.SHIFT=e(\"offset\",-3,[1,1,1,0]),t.AQUIFER_BARRIER=e(\"aquifer_barrier\",-3,[1]),t.AQUIFER_FLUID_LEVEL_FLOODEDNESS=e(\"aquifer_fluid_level_floodedness\",-7,[1]),t.AQUIFER_FLUID_LEVEL_SPREAD=e(\"aquifer_fluid_level_spread\",-5,[1]),t.AQUIFER_LAVA=e(\"aquifer_lava\",-1,[1]),t.PILLAR=e(\"pillar\",-7,[1,1]),t.PILLAR_RARENESS=e(\"pillar_rareness\",-8,[1]),t.PILLAR_THICKNESS=e(\"pillar_thickness\",-8,[1]),t.SPAGHETTI_2D=e(\"spaghetti_2d\",-8,[1]),t.SPAGHETTI_2D_ELEVATION=e(\"spaghetti_2d_elevation\",-8,[1]),t.SPAGHETTI_2D_MODULATOR=e(\"spaghetti_2d_modulator\",-8,[1]),t.SPAGHETTI_2D_THICKNESS=e(\"spaghetti_2d_thickness\",-8,[1]),t.SPAGHETTI_3D_1=e(\"spaghetti_3d_1\",-8,[1]),t.SPAGHETTI_3D_2=e(\"spaghetti_3d_2\",-8,[1]),t.SPAGHETTI_3D_RARITY=e(\"spaghetti_3d_rarity\",-8,[1]),t.SPAGHETTI_3D_THICKNESS=e(\"spaghetti_3d_thickness\",-8,[1]),t.SPAGHETTI_ROUGHNESS=e(\"spaghetti_roughness\",-8,[1]),t.SPAGHETTI_ROUGHNESS_MODULATOR=e(\"spaghetti_roughness_modulator\",-8,[1]),t.CAVE_ENTRANCE=e(\"cave_entrance\",-7,[.4,.5,1]),t.CAVE_LAYER=e(\"cave_layer\",-8,[1]),t.CAVE_CHEESE=e(\"cave_cheese\",-8,[.5,1,2,1,2,1,0,2,0]),t.NOODLE=e(\"noodle\",-8,[1]),t.NOODLE_THICKNESS=e(\"noodle_thickness\",-8,[1]),t.NOODLE_RIDGE_A=e(\"noodle_ridge_a\",-7,[1]),t.NOODLE_RIDGE_B=e(\"noodle_ridge_b\",-7,[1]),t.JAGGED=e(\"jagged\",-16,[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]),t.SURFACE=e(\"surface\",-6,[1,1,1]),t.SURFACE_SECONDARY=e(\"surface_secondary\",-6,[1,1,0,1]);const s=new Map;t.instantiate=function(t,e){var r;const i=null==(r=e.key())?void 0:r.toString();if(!i)throw new Error(\"Cannot instantiate noise from direct holder\");const n=t.seedKey(),o=s.get(i);if(o&&o[0]===n[0]&&o[1]===n[1])return o[2];const a=new It(t.fromHashOf(i),e.value());return s.set(i,[n[0],n[1],a]),a}}(pe||(pe={}));var we,be,xe,Se,_e,Ae,ye,Ee=Object.defineProperty,Ie=Object.defineProperties,Ne=Object.getOwnPropertyDescriptors,Be=Object.getOwnPropertySymbols,Re=Object.prototype.hasOwnProperty,Te=Object.prototype.propertyIsEnumerable,Me=(t,e,s)=>e in t?Ee(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,Ce=(t,e)=>{for(var s in e||(e={}))Re.call(e,s)&&Me(t,s,e[s]);if(Be)for(var s of Be(e))Te.call(e,s)&&Me(t,s,e[s]);return t};!function(t){const e=t=>j.parser(le.DENSITY_FUNCTION,he.fromJson)(t).value();t.fromJson=function(t){var s;const r=null!=(s=B.readObject(t))?s:{};return{barrier:e(r.barrier),fluidLevelFloodedness:e(r.fluid_level_floodedness),fluidLevelSpread:e(r.fluid_level_spread),lava:e(r.lava),temperature:e(r.temperature),vegetation:e(r.vegetation),continents:e(r.continents),erosion:e(r.erosion),depth:e(r.depth),ridges:e(r.ridges),initialDensityWithoutJaggedness:e(r.initial_density_without_jaggedness),finalDensity:e(r.final_density),veinToggle:e(r.vein_toggle),veinRidged:e(r.vein_ridged),veinGap:e(r.vein_gap)}},t.create=function(t){return Ce({barrier:he.Constant.ZERO,fluidLevelFloodedness:he.Constant.ZERO,fluidLevelSpread:he.Constant.ZERO,lava:he.Constant.ZERO,temperature:he.Constant.ZERO,vegetation:he.Constant.ZERO,continents:he.Constant.ZERO,erosion:he.Constant.ZERO,depth:he.Constant.ZERO,ridges:he.Constant.ZERO,initialDensityWithoutJaggedness:he.Constant.ZERO,finalDensity:he.Constant.ZERO,veinToggle:he.Constant.ZERO,veinRidged:he.Constant.ZERO,veinGap:he.Constant.ZERO},t)},t.withSettings=function(t,e,r,i=!1){const n=(i?new dt(r):vt.create(r)).forkPositional(),o=new s(n,e);return a=Ce({},o.mapAll(t)),l={aquiferPositionalRandomFactory:n.fromHashOf(C.create(\"aquifer\").toString()).forkPositional(),oreVeinsPositionalRandomFactory:n.fromHashOf(C.create(\"ore\").toString()).forkPositional()},Ie(a,Ne(l));var a,l};class s{constructor(t,e){this.random=t,this.settings=e,this.mapped=new Map}map(t){if(t instanceof he.HolderHolder){const e=t.holder.key();if(void 0!==e&&this.mapped.has(e.toString()))return this.mapped.get(e.toString());{const s=t.holder.value().mapAll(this);return void 0!==e&&this.mapped.set(e.toString(),s),s}}if(t instanceof he.Interpolated)return t.withCellSize(ne.cellWidth(this.settings),ne.cellHeight(this.settings));if(t instanceof he.Noise)return new he.Noise(t.xzScale,t.yScale,t.noiseData,pe.instantiate(this.random,t.noiseData));if(t instanceof he.ShiftNoise)return t.withNewNoise(pe.instantiate(this.random,t.noiseData));if(t instanceof he.ShiftedNoise){const e=pe.instantiate(this.random,t.noiseData);return new he.ShiftedNoise(t.shiftX,t.shiftY,t.shiftZ,t.xzScale,t.yScale,t.noiseData,e)}return t instanceof he.WeirdScaledSampler?new he.WeirdScaledSampler(t.input,t.rarityValueMapper,t.noiseData,pe.instantiate(this.random,t.noiseData)):t instanceof he.OldBlendedNoise?new he.OldBlendedNoise(new At(this.random.fromHashOf(C.create(\"terrain\").toString()),this.settings.sampling,ne.cellWidth(this.settings),ne.cellHeight(this.settings))):t instanceof he.Mapped||t instanceof he.Ap2?t.withMinMax():t instanceof he.TerrainShaperSpline?new he.TerrainShaperSpline(t.continentalness,t.erosion,t.weirdness,t.spline,t.min,t.max,this.settings.terrainShaper):t instanceof he.Slide?new he.Slide(t.input,this.settings):t}mapAll(t){return{barrier:t.barrier.mapAll(this),fluidLevelFloodedness:t.fluidLevelFloodedness.mapAll(this),fluidLevelSpread:t.fluidLevelSpread.mapAll(this),lava:t.lava.mapAll(this),temperature:t.temperature.mapAll(this),vegetation:t.vegetation.mapAll(this),continents:t.continents.mapAll(this),erosion:t.erosion.mapAll(this),depth:t.depth.mapAll(this),ridges:t.ridges.mapAll(this),initialDensityWithoutJaggedness:t.initialDensityWithoutJaggedness.mapAll(this),finalDensity:t.finalDensity.mapAll(this),veinToggle:t.veinToggle.mapAll(this),veinRidged:t.veinRidged.mapAll(this),veinGap:t.veinGap.mapAll(this)}}}t.Visitor=s,t.computePreliminarySurfaceLevelScanning=function(t,e,s,r){const i=ne.minCellY(t)+ne.cellCountY(t),n=ne.minCellY(t),o=ne.cellHeight(t);for(let a=i;a>=n;a-=1){const i=a*o,n=$(e.compute(he.context(s,i,r)),-64,64);if(ne.applySlides(t,n,i)>=.390625)return i}return Number.MAX_SAFE_INTEGER}}(we||(we={}));class Oe{constructor(t,e,s,r,i,n,o,a,l){this.cellCountXZ=t,this.cellCountY=e,this.cellNoiseMinY=s,this.router=r,this.minX=i,this.minZ=n,this.settings=o,this.preliminarySurfaceLevel=new Map,this.cellWidth=ne.cellWidth(o),this.cellHeight=ne.cellHeight(o),this.firstCellX=Math.floor(i/this.cellWidth),this.firstCellZ=Math.floor(n/this.cellWidth),this.firstNoiseX=i>>2,this.firstNoiseZ=n>>2,this.noiseSizeXZ=t*this.cellWidth>>2,this.aquifer=ue.createDisabled(l);const u=this.router.finalDensity;this.materialRule=be.fromList([t=>this.aquifer.compute(t,u.compute(t))]),this.initialDensityWithoutJaggedness=this.router.initialDensityWithoutJaggedness}getFinalState(t,e,s){return this.materialRule({x:t,y:e,z:s})}getPreliminarySurfaceLevel(t,e){return T(this.preliminarySurfaceLevel,X.asLong(t,e),(()=>we.computePreliminarySurfaceLevelScanning(this.settings,this.initialDensityWithoutJaggedness,t<<2,e<<2)))}getAquifer(){return this.aquifer}}(be||(be={})).fromList=function(t){return e=>{for(const s of t){const t=s(e);if(t)return t}}},(xe||(xe={})).fromJson=function(t){var e,s,r,i;const n=null!=(e=B.readObject(t))?e:{};return void 0!==n.absolute?(o=null!=(s=B.readNumber(n.absolute))?s:0,()=>o):void 0!==n.above_bottom?function(t){return e=>e.minY+t}(null!=(r=B.readNumber(n.above_bottom))?r:0):void 0!==n.below_top?function(t){return e=>e.maxY-t}(null!=(i=B.readNumber(n.below_top))?i:0):()=>0;var o},(Se||(Se={})).create=function(t,e){return{minY:t,height:e,maxY:t+e-1}};class ke{constructor(t,e,s){this.rule=t,this.defaultBlock=e,this.random=vt.create(s).forkPositional(),this.surfaceNoise=pe.instantiate(this.random,pe.SURFACE),this.surfaceSecondaryNoise=pe.instantiate(this.random,pe.SURFACE_SECONDARY),this.positionalRandoms=new Map}buildSurface(t,e,s,r){const i=X.minBlockX(t.pos),n=X.minBlockZ(t.pos),o=new Pe(this,t,e,s,r),a=this.rule(o);for(let e=0;e<16;e+=1){const s=i+e;for(let e=0;e<1;e+=1){const r=n+e;o.updateXZ(s,r);let i=0,u=Number.MIN_SAFE_INTEGER,h=Number.MAX_SAFE_INTEGER;for(let e=t.maxY;e>=t.minY;e-=1){const n=l.create(s,e,r),c=t.getBlockState(n);if(c.equals(G.AIR)){i=0,u=Number.MIN_SAFE_INTEGER;continue}if(c.isFluid()){u===Number.MIN_SAFE_INTEGER&&(u=e+1);continue}if(h>=e){h=Number.MIN_SAFE_INTEGER;for(let i=e-1;i>=t.minY;i-=1){const e=t.getBlockState(l.create(s,i,r));if(e.equals(G.AIR)||e.isFluid()){h=i+1;break}}}i+=1;const f=e-h+1;if(!c.equals(this.defaultBlock))continue;o.updateY(i,f,u,e);const m=a(s,e,r);m&&t.setBlockState(n,m)}}}}getSurfaceDepth(t,e){return 2.75*this.surfaceNoise.sample(t,0,e)+3+.25*this.random.at(t,0,e).nextDouble()}getSurfaceSecondary(t,e){return this.surfaceSecondaryNoise.sample(t,0,e)}getRandom(t){return T(this.positionalRandoms,t,(()=>this.random.fromHashOf(t)))}}class Pe{constructor(t,e,s,r,i){this.system=t,this.chunk=e,this.noiseChunk=s,this.context=r,this.getBiome=i,this.blockX=0,this.blockY=0,this.blockZ=0,this.stoneDepthAbove=0,this.stoneDepthBelow=0,this.surfaceDepth=0,this.waterHeight=0,this.biome=()=>\"\",this.surfaceSecondary=()=>0,this.minSurfaceLevel=()=>0}updateXZ(t,e){this.blockX=t,this.blockZ=e,this.surfaceDepth=this.system.getSurfaceDepth(t,e),this.surfaceSecondary=R((()=>this.system.getSurfaceSecondary(t,e))),this.minSurfaceLevel=R((()=>this.calculateMinSurfaceLevel(t,e)))}updateY(t,e,s,r){this.blockY=r,this.stoneDepthAbove=t,this.stoneDepthBelow=e,this.waterHeight=s,this.biome=R((()=>this.getBiome(l.create(this.blockX,this.blockY,this.blockZ))))}calculateMinSurfaceLevel(t,e){const s=t>>4,r=e>>4,i=this.noiseChunk.getPreliminarySurfaceLevel(s<<4,r<<4),n=this.noiseChunk.getPreliminarySurfaceLevel(s+1<<4,r<<4),o=this.noiseChunk.getPreliminarySurfaceLevel(s<<4,r+1<<4),a=this.noiseChunk.getPreliminarySurfaceLevel(s+1<<4,r+1<<4);return Math.floor(Q((15&t)/16,(15&e)/16,i,n,o,a))+this.surfaceDepth-8}}!function(t){function e(t){return()=>()=>t}function s(t){return e=>{const s=t.map((t=>t(e)));return(t,e,r)=>{for(const i of s){const s=i(t,e,r);if(s)return s}}}}function r(t,e){return s=>(r,i,n)=>{if(t(s))return e(s)(r,i,n)}}t.NOOP=()=>()=>{},t.fromJson=function(i){var n,o,a;const l=null!=(n=B.readObject(i))?n:{};switch(null==(o=B.readString(l.type))?void 0:o.replace(/^minecraft:/,\"\")){case\"block\":return e(G.fromJson(l.result_state));case\"sequence\":return s(null!=(a=B.readArray(l.sequence,t.fromJson))?a:[]);case\"condition\":return r(Ae.fromJson(l.if_true),t.fromJson(l.then_run))}return t.NOOP},t.block=e,t.sequence=s,t.condition=r}(_e||(_e={})),function(t){function e(){return t=>t.blockY>=t.minSurfaceLevel()}function s(t){const e=new Set(t);return t=>e.has(t.biome())}function r(t){return e=>!t(e)}function i(t,e,s,r){return i=>{const n=r?i.stoneDepthBelow:i.stoneDepthAbove,o=e?i.surfaceDepth:0,a=0===s?0:at(i.surfaceSecondary(),-1,1,0,s);return n<=1+t+o+a}}function n(t,e,s){return r=>{const i=e(r.context),n=s(r.context);if(r.blockY<=i)return!0;if(r.blockY>=n)return!1;const o=r.system.getRandom(t),a=at(r.blockY,i,n,1,0);return o.nextFloat(){if(r.waterHeight===Number.MIN_SAFE_INTEGER)return!0;const i=s?r.stoneDepthAbove:0;return r.blockY+i>=r.waterHeight+t+r.surfaceDepth*e}}function a(t,e,s){return r=>{const i=s?r.stoneDepthAbove:0;return r.blockY+i>=t(r.context)+r.surfaceDepth*e}}t.FALSE=()=>!1,t.TRUE=()=>!0,t.fromJson=function(e){var l,u,h,c,f,m,d,p,g,v,w,b;const x=null!=(l=B.readObject(e))?l:{};switch(null==(u=B.readString(x.type))?void 0:u.replace(/^minecraft:/,\"\")){case\"above_preliminary_surface\":return t=>t.blockY>=t.minSurfaceLevel();case\"biome\":return s(null!=(h=B.readArray(x.biome_is,(t=>{var e;return null!=(e=B.readString(t))?e:\"\"})))?h:[]);case\"not\":return r(t.fromJson(x.invert));case\"stone_depth\":return i(null!=(c=B.readInt(x.offset))?c:0,null!=(f=B.readBoolean(x.add_surface_depth))&&f,null!=(m=B.readInt(x.secondary_depth_range))?m:0,\"ceiling\"===B.readString(x.surface_type));case\"vertical_gradient\":return n(null!=(d=B.readString(x.random_name))?d:\"\",xe.fromJson(x.true_at_and_below),xe.fromJson(x.false_at_and_above));case\"water\":return o(null!=(p=B.readInt(x.offset))?p:0,null!=(g=B.readInt(x.surface_depth_multiplier))?g:0,null!=(v=B.readBoolean(x.add_surface_depth))&&v);case\"y_above\":return a(xe.fromJson(x.anchor),null!=(w=B.readInt(x.surface_depth_multiplier))?w:0,null!=(b=B.readBoolean(x.add_surface_depth))&&b)}return t.FALSE},t.abovePreliminarySurface=e,t.biome=s,t.not=r,t.stoneDepth=i,t.verticalGradient=n,t.water=o,t.yAbove=a}(Ae||(Ae={}));class Le{constructor(t,e,s){this.biomeSource=e,this.settings=s,this.router=we.withSettings(s.noiseRouter,s.noise,t,s.legacyRandomSource),this.noiseChunkCache=new Map,this.surfaceSystem=new ke(s.surfaceRule,s.defaultBlock,t);const r=new ce(-54,G.LAVA),i=new ce(s.seaLevel,s.defaultFluid);this.globalFluidPicker=(t,e,n)=>e=0;m-=1)for(let u=o-1;u>=0;u-=1){const d=(l+m)*o+u,p=15&d,g=t.getSectionIndex(d);t.getSectionIndex(a.minBlockY)!==g&&(a=t.getOrCreateSection(g));for(let t=0;te))}getNoiseChunk(t){return T(this.noiseChunkCache,X.toLong(t.pos),(()=>{const e=Math.max(t.minY,this.settings.noise.minY),s=Math.min(t.maxY,this.settings.noise.minY+this.settings.noise.height),r=ne.cellWidth(this.settings.noise),i=ne.cellHeight(this.settings.noise),n=Math.floor(16/r),o=Math.floor(e/i),a=Math.floor((s-e)/i),l=X.minBlockX(t.pos),u=X.minBlockZ(t.pos);return new Oe(n,a,o,this.router,l,u,this.settings.noise,this.settings.aquifersEnabled,this.globalFluidPicker)}))}}(ye||(ye={})).fromJson=function(t){var e,s,r,i,n,o;const a=null!=(e=B.readObject(t))?e:{};return{surfaceRule:_e.fromJson(a.surface_rule),noise:ne.fromJson(a.noise),defaultBlock:G.fromJson(a.default_block),defaultFluid:G.fromJson(a.default_fluid),noiseRouter:we.fromJson(a.noise_router),seaLevel:null!=(s=B.readInt(a.sea_level))?s:0,disableMobGeneration:null!=(r=B.readBoolean(a.disable_mob_generation))&&r,aquifersEnabled:null!=(i=B.readBoolean(a.aquifers_enabled))&&i,oreVeinsEnabled:null!=(n=B.readBoolean(a.ore_veins_enabled))&&n,legacyRandomSource:null!=(o=B.readBoolean(a.legacy_random_source))&&o}};export{ue as Aquifer,At as BlendedNoise,Dt as BlockColors,Yt as BlockDefinition,qt as BlockModel,l as BlockPos,G as BlockState,H as Chunk,X as ChunkPos,Y as ChunkSection,de as Climate,ft as CubicSpline,he as DensityFunction,n as Direction,ge as FixedBiome,ce as FluidStatus,j as Holder,C as Identifier,St as ImprovedNoise,pt as LegacyPositionalRandom,dt as LegacyRandom,be as MaterialRule,ve as MultiNoise,f as NbtReader,m as NbtWriter,me as NoiseAquifer,Oe as NoiseChunk,Le as NoiseChunkGenerator,ye as NoiseGeneratorSettings,Nt as NoiseParameters,we as NoiseRouter,yt as NoiseSamplingSettings,ne as NoiseSettings,oe as NoiseSlideSettings,pe as Noises,It as NormalNoise,_t as PerlinNoise,Rt as PerlinSimplexNoise,q as Registry,xt as SimplexNoise,J as Structure,te as StructureRenderer,Ae as SurfaceCondition,Pe as SurfaceContext,_e as SurfaceRule,ke as SurfaceSystem,ie as TerrainShaper,se as TextureAtlas,xe as VerticalAnchor,Se as WorldgenContext,le as WorldgenRegistries,wt as XoroshiroPositionalRandom,vt as XoroshiroRandom,ut as binarySearch,$ as clamp,it as clampedLerp,lt as clampedMap,I as getListTag,N as getOptional,ht as getSeed,E as getTag,nt as inverseLerp,et as lazyLerp,st as lazyLerp2,rt as lazyLerp3,K as lerp,Q as lerp2,tt as lerp3,ct as longfromBytes,at as map,g as read,w as readChunk,p as readCompressed,v as readRegion,d as readUncompressed,ot as smoothstep,W as square,c as tagNames,h as tagTypes,S as write,A as writeChunk,x as writeCompressed,_ as writeRegion,b as writeUncompressed};\n//# sourceMappingURL=deepslate.esm.js.map\n"],"names":["t","s.create","s.transformMat4","r.create","r.identity","r.translate","r.rotateY","i.toRadian","r.rotateX","r.scale","s.fromValues","r.rotate","s.negate","r.perspective","s.subtract","s.cross","s.normalize","s.equals","r.copy"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"deepslate.esm.b3232c19.js","sources":["../../node_modules/deepslate-1.18.2/dist/deepslate.esm.js"],"sourcesContent":["import t from\"pako\";import e from\"md5\";import{vec3 as s,mat4 as r,glMatrix as i}from\"gl-matrix\";var n,o;(o=n||(n={})).UP=\"up\",o.DOWN=\"down\",o.NORTH=\"north\",o.EAST=\"east\",o.SOUTH=\"south\",o.WEST=\"west\";const a={[n.UP]:[0,1,0],[n.DOWN]:[0,-1,0],[n.NORTH]:[0,0,-1],[n.EAST]:[1,0,0],[n.SOUTH]:[0,0,1],[n.WEST]:[-1,0,0]};var l,u;!function(t){t.ALL=[t.UP,t.DOWN,t.NORTH,t.EAST,t.SOUTH,t.WEST],t.normal=function(t){return a[t]}}(n||(n={})),(u=l||(l={})).create=function(t,e,s){return[t,e,s]},u.ZERO=u.create(0,0,0),u.offset=function(t,e,s,r){return[t[0]+e,t[1]+s,t[2]+r]},u.towards=function(t,e){return u.offset(t,...n.normal(e))},u.equals=function(t,e){return t===e||t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]},u.magnitude=function(t){return t[0]*t[0]+t[1]*t[1]+t[2]*t[2]};const h={end:0,byte:1,short:2,int:3,long:4,float:5,double:6,byteArray:7,string:8,list:9,compound:10,intArray:11,longArray:12},c=[\"end\",\"byte\",\"short\",\"int\",\"long\",\"float\",\"double\",\"byteArray\",\"string\",\"list\",\"compound\",\"intArray\",\"longArray\"];class f{constructor(t,e=!1){this.byte=this.readNum.bind(this,\"getInt8\",1),this.short=this.readNum.bind(this,\"getInt16\",2),this.int=this.readNum.bind(this,\"getInt32\",4),this.float=this.readNum.bind(this,\"getFloat32\",4),this.double=this.readNum.bind(this,\"getFloat64\",8),this.offset=0,this.littleEndian=e,this.arrayView=t,this.dataView=new DataView(t.buffer,t.byteOffset)}end(){return null}readNum(t,e){const s=this.dataView[t](this.offset,this.littleEndian);return this.offset+=e,s}long(){return[this.int(),this.int()]}byteArray(){const t=this.int(),e=[];for(let s=0;s=e)return;let s=this.buffer.byteLength;for(;sthis.buffer.byteLength&&i.fill(0,this.buffer.byteLength,this.offset),this.buffer=r,this.dataView=new DataView(r),this.arrayView=i}getData(){return this.accommodate(0),this.arrayView.slice(0,this.offset)}end(t){}writeNum(t,e,s){this.accommodate(e),this.dataView[t](this.offset,s,this.littleEndian),this.offset+=e}long(t){this.int(t[0]),this.int(t[1])}byteArray(t){this.int(t.length),this.accommodate(t.length),this.arrayView.set(t,this.offset),this.offset+=t.length}intArray(t){this.int(t.length);for(let e=0;e>6),r.push(128|63&s)):s<65536?(r.push(224|s>>12),r.push(128|s>>6&63),r.push(128|63&s)):(r.push(240|s>>18&7),r.push(128|s>>12&63),r.push(128|s>>6&63),r.push(128|63&s));return r}(t);this.short(e.length),this.accommodate(e.length),this.arrayView.set(e,this.offset),this.offset+=e.length}list(t){this.byte(h[t.type]),this.int(t.value.length),t.value;for(let e=0;e>16),r.setInt16(t+1,65535&i),r.setInt8(t+3,n),r.setInt32(t+4096,e.timestamp);const o=4096*i;r.setInt32(o,e.data.length+1),r.setInt8(o+4,e.compression),s.set(e.data,o+5),i+=n}return s}function A(t,e,s,r){const i=y(t,e,s);switch(i.compression){case 1:i.data=x(r);break;case 2:i.data=x(r,!1,!0);break;case 3:i.data=b(r);break;default:throw new Error(`Invalid compression mode ${i.compression}`)}return i}function y(t,e,s){const r=t.find((t=>t.x===e&&t.z===s));if(void 0===r)throw new Error(`Cannot find chunk [${e}, ${s}]`);return r}function E(t,e,s){if(!t[e])throw new Error(`Missing ${e} tag`);if(t[e].type!==s)throw new Error(`Expected ${e} to be of type ${s}, but found ${t[e].type}`);return t[e].value}function I(t,e,s,r){const i=E(t,e,\"list\");if(i.type!==s)throw new Error(`Expected ${e} to be a list of ${s}s, but found ${i.type}s`);if(r&&i.value.length!==r)throw new Error(`Expected ${e} to be a list of length ${r}, but found length ${i.value.length}`);return i.value}function N(t,e){try{return t()}catch(t){return e}}var B;function R(t){let e=null;return()=>(null==e&&(e=t()),e)}function T(t,e,s){const r=t.get(e);if(r)return r;const i=s(e);return t.set(e,i),i}!function(t){function e(t){return\"object\"==typeof t&&null!==t?t:void 0}t.readNumber=function(t){return\"number\"==typeof t?t:void 0},t.readInt=function(t){return\"number\"==typeof t?Math.floor(t):void 0},t.readString=function(t){return\"string\"==typeof t?t:void 0},t.readBoolean=function(t){return\"boolean\"==typeof t?t:void 0},t.readObject=e,t.readArray=function(t,e){if(Array.isArray(t))return t.map((t=>e(t)))},t.readMap=function(t,s){var r;const i=null!=(r=e(t))?r:{};return Object.fromEntries(Object.entries(i).map((([t,e])=>[t,s(e)])))},t.compose=function(t,e,s){const r=e(t);return r?s(r):void 0},t.readEnum=function(t,e){return\"string\"!=typeof t?e[0]:e.includes(t)?t:e[0]}}(B||(B={}));const M=class{constructor(t,e){if(this.namespace=t,this.path=e,!t.match(/^[a-z0-9._-]+$/))throw new Error(`Non [a-z0-9._-] character in namespace of ${t}:${e}`);if(!e.match(/^[a-z0-9/._-]+$/))throw new Error(`Non [a-z0-9/._-] character in path of ${t}:${e}`)}equals(t){return this===t||this.namespace===t.namespace&&this.path===t.path}toString(){return`${this.namespace}:${this.path}`}static create(t){return new M(this.DEFAULT_NAMESPACE,t)}static parse(t){const e=t.indexOf(this.SEPARATOR);if(e>=0){const s=e>=1?t.substring(0,e):this.DEFAULT_NAMESPACE,r=t.substring(e+1);return new M(s,r)}return new M(this.DEFAULT_NAMESPACE,t)}};let C=M;C.DEFAULT_NAMESPACE=\"minecraft\",C.SEPARATOR=\":\";var O=Object.defineProperty,k=Object.defineProperties,P=Object.getOwnPropertyDescriptors,L=Object.getOwnPropertySymbols,F=Object.prototype.hasOwnProperty,V=Object.prototype.propertyIsEnumerable,D=(t,e,s)=>e in t?O(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s;const U=class{constructor(t,e={}){this.properties=e,this.name=\"string\"==typeof t?C.parse(t):t}getName(){return this.name}getProperties(){return this.properties}getProperty(t){return this.properties[t]}isFluid(){return this.is(U.WATER)||this.is(U.LAVA)}equals(t){return!!this.name.equals(t.name)&&Object.keys(this.properties).every((e=>t.properties[e]===this.properties[e]))}is(t){return this.name.equals(t.name)}toString(){return 0===Object.keys(this.properties).length?this.name.toString():`${this.name.toString()}[${Object.entries(this.properties).map((([t,e])=>t+\"=\"+e)).join(\",\")}]`}static fromNbt(t){const e=C.parse(E(t.value,\"Name\",\"string\")),s=N((()=>E(t.value,\"Properties\",\"compound\")),{}),r=Object.keys(s).reduce(((t,e)=>{return r=((t,e)=>{for(var s in e||(e={}))F.call(e,s)&&D(t,s,e[s]);if(L)for(var s of L(e))V.call(e,s)&&D(t,s,e[s]);return t})({},t),i={[e]:E(s,e,\"string\")},k(r,P(i));var r,i}),{});return new U(e,r)}static fromJson(t){var e,s;const r=null!=(e=B.readObject(t))?e:{},i=C.parse(null!=(s=B.readString(r.Name))?s:U.STONE.name.toString()),n=B.readMap(r.Properties,(t=>{var e;return null!=(e=B.readString(t))?e:\"\"}));return new U(i,n)}};let G=U;G.AIR=new U(C.create(\"air\")),G.STONE=new U(C.create(\"stone\")),G.WATER=new U(C.create(\"water\"),{level:\"0\"}),G.LAVA=new U(C.create(\"lava\"),{level:\"0\"});const z=class{constructor(t){this.minY=t,this.storage=Array(z.SIZE).fill(0),this.palette=[G.AIR]}get minBlockY(){return this.minY<<4}index(t,e,s){return(t<<8)+(e<<4)+s}getBlockState(t,e,s){var r;const i=this.storage[this.index(t,e,s)];return null!=(r=this.palette[i])?r:G.AIR}setBlockState(t,e,s,r){let i=this.palette.findIndex((t=>t.equals(r)));-1===i&&(i=this.palette.length,this.palette.push(r)),this.storage[this.index(t,e,s)]=i}};let Y=z;Y.WIDTH=16,Y.SIZE=z.WIDTH*z.WIDTH*z.WIDTH;class H{constructor(t,e,s){this.minY=t,this.height=e,this.pos=s,this.sections=Array(this.sectionsCount).fill(null)}get maxY(){return this.minY+this.height}get minSection(){return this.minY>>4}get maxSection(){return 1+(this.maxY-1>>4)}get sectionsCount(){return this.maxSection-this.minSection}getSectionIndex(t){return(t>>4)-this.minSection}getBlockState(t){var e;const[s,r,i]=t,n=this.sections[this.getSectionIndex(r)];return null!=(e=null==n?void 0:n.getBlockState(15&s,15&r,15&i))?e:G.AIR}setBlockState(t,e){const[s,r,i]=t,n=this.getSectionIndex(r);let o=this.sections[n];if(null===o){if(e.equals(G.AIR))return;o=this.getOrCreateSection(n)}o.setBlockState(15&s,15&r,15&i,e)}getOrCreateSection(t){return null==this.sections[t]&&(this.sections[t]=new Y(this.minSection+t)),this.sections[t]}}var X,j;!function(t){function e(t,e){return BigInt(4294967295&t)|BigInt(4294967295&e)<>4,t[2]>>4]},t.fromLong=function(t){return[4294967295&Number(t),Number(t>>BigInt(32))]},t.toLong=function(t){return e(t[0],t[1])},t.asLong=e,t.minBlockX=function(t){return t[0]<<4},t.minBlockZ=function(t){return t[1]<<4},t.maxBlockX=function(t){return 15+(t[0]<<4)},t.maxBlockZ=function(t){return 15+(t[1]<<4)}}(X||(X={})),function(t){function e(t){return{value:()=>t,key:()=>{}}}function s(t,e){return{value:()=>t.getOrThrow(e),key:()=>e}}t.parser=function(t,r){return i=>\"string\"==typeof i?s(t,C.parse(i)):e(r(i))},t.direct=e,t.reference=s}(j||(j={}));const Z=class{constructor(t,e){this.key=t,this.parser=e,this.storage=new Map,this.builtin=new Map}register(t,e,s){return this.storage.set(t.toString(),e),s&&this.builtin.set(t.toString(),e),j.reference(this,t)}keys(){return[...this.storage.keys()].map((t=>C.parse(t)))}get(t){return this.storage.get(t.toString())}getOrThrow(t){const e=this.storage.get(t.toString());if(void 0===e)throw new Error(`Missing key in ${this.key.toString()}: ${t.toString()}`);return e}parse(t){if(!this.parser)throw new Error(`No parser exists for ${this.key.toString()}`);return this.parser(t)}clear(){this.storage.clear();for(const[t,e]of this.builtin.entries())this.storage.set(t,e);return this}assign(t){if(!this.key.equals(t.key))throw new Error(`Cannot assign registry of type ${t.key.toString()} to registry of type ${this.key.toString()}`);for(const e of t.keys())this.storage.set(e.toString(),t.getOrThrow(e));return this}cloneEmpty(){return new Z(this.key,this.parser)}};let q=Z;q.REGISTRY=new Z(C.create(\"root\"));class J{constructor(t,e=[],s=[]){this.size=t,this.palette=e,this.blocks=s,this.blocksMap=[],s.forEach((e=>{if(!this.isInside(e.pos))throw new Error(`Found block at ${e.pos} which is outside the structure bounds ${this.size}`);this.blocksMap[e.pos[0]*t[1]*t[2]+e.pos[1]*t[2]+e.pos[2]]=e}))}getSize(){return this.size}addBlock(t,e,s,r){if(!this.isInside(t))throw new Error(`Cannot add block at ${t} outside the structure bounds ${this.size}`);const i=new G(e,s);let n=this.palette.findIndex((t=>t.equals(i)));return-1===n&&(n=this.palette.length,this.palette.push(i)),this.blocks.push({pos:t,state:n,nbt:r}),this.blocksMap[t[0]*this.size[1]*this.size[2]+t[1]*this.size[2]+t[2]]={pos:t,state:n,nbt:r},this}getBlocks(){return this.blocks.map((t=>({pos:t.pos,state:this.palette[t.state],nbt:t.nbt})))}getBlock(t){if(!this.isInside(t))return null;const e=this.blocksMap[t[0]*this.size[1]*this.size[2]+t[1]*this.size[2]+t[2]];if(!e)return null;return{pos:e.pos,state:this.palette[e.state],nbt:e.nbt}}isInside(t){return t[0]>=0&&t[0]=0&&t[1]=0&&t[2]G.fromNbt({name:\"\",value:t}))),r=I(t.value,\"blocks\",\"compound\").map((t=>({pos:I(t,\"pos\",\"int\",3),state:E(t,\"state\",\"int\"),nbt:N((()=>E(t,\"nbt\",\"compound\")),void 0)})));return new J(e,s,r)}}function W(t){return t*t}function $(t,e,s){return Math.max(e,Math.min(s,t))}function K(t,e,s){return e+t*(s-e)}function Q(t,e,s,r,i,n){return K(e,K(t,s,r),K(t,i,n))}function tt(t,e,s,r,i,n,o,a,l,u,h){return K(s,Q(t,e,r,i,n,o),Q(t,e,a,l,u,h))}function et(t,e,s){return 0===t?e():1===t?s():e()+t*(s()-e())}function st(t,e,s,r,i,n){return et(e,(()=>et(t,s,r)),(()=>et(t,i,n)))}function rt(t,e,s,r,i,n,o,a,l,u,h){return et(s,(()=>st(t,e,r,i,n,o)),(()=>st(t,e,a,l,u,h)))}function it(t,e,s){return s<0?t:s>1?e:K(s,t,e)}function nt(t,e,s){return(t-e)/(s-e)}function ot(t){return t*t*t*(t*(6*t-15)+10)}function at(t,e,s,r,i){return K(nt(t,e,s),r,i)}function lt(t,e,s,r,i){return it(r,i,nt(t,e,s))}function ut(t,e,s){let r=e-t;for(;r>0;){const e=Math.floor(r/2),i=t+e;s(i)?r=e:(t=i+1,r-=e+1)}return t}function ht(t,e,s){let r=BigInt(3129871*t)^BigInt(s)*BigInt(116129781)^BigInt(e);return r=r*r*BigInt(42317861)+r*BigInt(11),r>>BigInt(16)}function ct(t,e,s,r,i,n,o,a){return BigInt(t)<{var e;return null!=(e=B.readObject(t))?e:{}})))?o:[];if(0===c.length)return new e(0);for(const e of c){const s=null!=(a=B.readNumber(e.location))?a:0,r=t(e.value,i),n=null!=(l=B.readNumber(e.derivative))?l:0;h.addPoint(s,r,n)}return h};class e{constructor(t){this.value=t}compute(){return this.value}min(){return this.value}max(){return this.value}mapAll(){return this}}t.Constant=e;class s{constructor(t,e=[],s=[],r=[]){this.coordinate=t,this.locations=e,this.values=s,this.derivatives=r}compute(t){const e=this.coordinate.compute(t),s=ut(0,this.locations.length,(t=>et.min())))}max(){return Math.max(...this.values.map((t=>t.max())))}mapAll(t){return new s(t(this.coordinate),this.locations,this.values.map((e=>e.mapAll(t))),this.derivatives)}addPoint(e,s,r=0){return this.locations.push(e),this.values.push(\"number\"==typeof s?new t.Constant(s):s),this.derivatives.push(r),this}}t.MultiPoint=s}(ft||(ft={}));const mt=class{constructor(t){this.seed=BigInt(0),this.setSeed(t)}fork(){return new mt(this.nextLong())}forkPositional(){return new pt(this.nextLong())}setSeed(t){this.seed=t^mt.MULTIPLIER&mt.MODULUS_MASK}advance(){this.seed=this.seed*mt.MULTIPLIER+mt.INCREMENT&mt.MODULUS_MASK}consume(t){for(let e=0;e>BigInt(mt.MODULUS_BITS-t));return e>2147483647?e-4294967296:e}nextInt(t){if(void 0===t)return this.next(32);if(0==(t&t-1))return Number(BigInt(t)*BigInt(this.next(31))>>BigInt(31));let e,s;for(;(e=this.next(31))-(s=e%t)+(t-1)<0;);return s}nextLong(){return(BigInt(this.next(32))<>gt.BIGINT_30)*gt.STAFFORD_1>.MAX_ULONG)^t>>gt.BIGINT_27)*gt.STAFFORD_2>.MAX_ULONG)^t>>gt.BIGINT_31)>.MAX_ULONG}static upgradeSeedTo128bit(t){t<0&&(t+=gt.POW2_60);const e=t^gt.SILVER_RATIO_64,s=e+gt.GOLDEN_RATIO_64>.MAX_ULONG;return[gt.mixStafford13(e),gt.mixStafford13(s)]}static rotateLeft(t,e){return t<>gt.BIGINT_64-e}setSeed(t){this.seed=gt.upgradeSeedTo128bit(t)}fork(){return new gt([this.next(),this.next()])}forkPositional(){return new wt(this.next(),this.next())}next(){const t=this.seed[0];let e=this.seed[1];const s=gt.rotateLeft(t+e>.MAX_ULONG,gt.BIGINT_17)+t>.MAX_ULONG;return e^=t,this.seed=[gt.rotateLeft(t,gt.BIGINT_49)^e^e<gt.POW2_63&&(t-=gt.POW2_60),t}consume(t){let e=this.seed[0],s=this.seed[1];for(let r=0;r>BigInt(64-t)}nextInt(t){let e=this.next()>.MAX_UINT;if(t){const s=BigInt(t);let r=e*s,i=r>.MAX_UINT;if(i>gt.BIGINT_32;return Number(n)}{let t=Number(e);return t>=2147483648&&(t-=4294967296),t}}nextFloat(){return Number(this.nextBits(24))*gt.FLOAT_MULTIPLIER}nextDouble(){return Number(this.nextBits(53))*gt.DOUBLE_MULTIPLIER}parityConfigString(){return\"seedLo: \"+this.seed[0]+\", seedHi: \"+this.seed[1]}};let vt=gt;vt.SILVER_RATIO_64=BigInt(\"7640891576956012809\"),vt.GOLDEN_RATIO_64=BigInt(\"-7046029254386353131\"),vt.FLOAT_MULTIPLIER=1/Math.pow(2,24),vt.DOUBLE_MULTIPLIER=11102230246251565e-32,vt.BIGINT_1=BigInt(1),vt.BIGINT_17=BigInt(17),vt.BIGINT_21=BigInt(21),vt.BIGINT_27=BigInt(27),vt.BIGINT_28=BigInt(28),vt.BIGINT_30=BigInt(30),vt.BIGINT_31=BigInt(31),vt.BIGINT_32=BigInt(32),vt.BIGINT_49=BigInt(49),vt.BIGINT_64=BigInt(64),vt.STAFFORD_1=BigInt(\"-4658895280553007687\"),vt.STAFFORD_2=BigInt(\"-7723592293110705685\"),vt.MAX_ULONG=BigInt(\"0xFFFFFFFFFFFFFFFF\"),vt.POW2_60=BigInt(\"0x10000000000000000\"),vt.POW2_63=BigInt(\"0x8000000000000000\"),vt.MAX_UINT=BigInt(4294967295);class wt{constructor(t,e){this.seedLo=t,this.seedHi=e}at(t,e,s){const r=ht(t,e,s)^this.seedLo;return new vt([r,this.seedHi])}fromHashOf(t){const s=e(t,{asBytes:!0}),r=ct(s[0],s[1],s[2],s[3],s[4],s[5],s[6],s[7]),i=ct(s[8],s[9],s[10],s[11],s[12],s[13],s[14],s[15]);return new vt([r^this.seedLo,i^this.seedHi])}seedKey(){return[this.seedLo,this.seedHi]}}const bt=class{constructor(t){this.xo=256*t.nextDouble(),this.yo=256*t.nextDouble(),this.zo=256*t.nextDouble(),this.p=Array(256);for(let t=0;t<256;t+=1)this.p[t]=t;for(let e=0;e<256;e+=1){const s=t.nextInt(256-e),r=this.p[e];this.p[e]=this.p[e+s],this.p[e+s]=r}}sample2D(t,e){let s,r,i;const n=(t+e)*bt.F2,o=Math.floor(t+n),a=t-(o-(s=(o+(r=Math.floor(e+n)))*bt.G2));let l,u;a>(i=e-(r-s))?(l=1,u=0):(l=0,u=1);const h=a-l+bt.G2,c=i-u+bt.G2,f=a-1+2*bt.G2,m=i-1+2*bt.G2,d=255&o,p=255&r,g=this.P(d+this.P(p))%12,v=this.P(d+l+this.P(p+u))%12,w=this.P(d+1+this.P(p+1))%12;return 70*(this.getCornerNoise3D(g,a,i,0,.5)+this.getCornerNoise3D(v,h,c,0,.5)+this.getCornerNoise3D(w,f,m,0,.5))}sample(t,e,s){const r=.3333333333333333*(t+e+s),i=Math.floor(t+r),n=Math.floor(e+r),o=Math.floor(s+r),a=.16666666666666666*(i+n+o),l=t-(i-a),u=e-(n-a),h=s-(o-a);let c,f,m,d,p,g;l>=u?u>=h?(c=1,f=0,m=0,d=1,p=1,g=0):l>=h?(c=1,f=0,m=0,d=1,p=0,g=1):(c=0,f=0,m=1,d=1,p=0,g=1):u127?t-256:t;for(let e=0;e<256;e+=1){const s=t.nextInt(256-e),r=this.p[e];this.p[e]=this.p[e+s],this.p[e+s]=r}}sample(t,e,s,r=0,i=0){const n=t+this.xo,o=e+this.yo,a=s+this.zo,l=Math.floor(n),u=Math.floor(o),h=Math.floor(a),c=n-l,f=o-u,m=a-h;let d=0;if(0!==r){const t=i>=0&&i=0;r-=1)r0&&(r=this.maxLimitNoise.getOctaveNoise(l))&&(a+=r.sample(c,f,m,h,e*h)/n),n/=2}return it(o/512,a/512,i)/128}}var yt;(yt||(yt={})).fromJson=function(t){var e,s,r,i,n;const o=null!=(e=B.readObject(t))?e:{};return{xzScale:null!=(s=B.readNumber(o.xz_scale))?s:1,yScale:null!=(r=B.readNumber(o.y_scale))?r:1,xzFactor:null!=(i=B.readNumber(o.xz_factor))?i:80,yFactor:null!=(n=B.readNumber(o.y_factor))?n:80}};const Et=class{constructor(t,{firstOctave:e,amplitudes:s}){this.first=new _t(t,e,s),this.second=new _t(t,e,s);let r=1/0,i=-1/0;for(let t=0;t{var e;return null!=(e=B.readNumber(t))?e:0})))?r:[]}};class Rt{constructor(t,e){const s=e[e.length-1],r=-e[0]+s+1,i=new Set(e),n=new xt(t);this.noiseLevels=Array(r),s>=0&&s=0&&i.has(s-e)?this.noiseLevels[e]=new xt(t):t.consume(262);if(s>0)throw new Error(\"Positive octaves are not allowed\");this.highestFreqInputFactor=Math.pow(2,s),this.highestFreqValueFactor=1/(Math.pow(2,r)-1)}sample(t,e,s){let r=0,i=this.highestFreqInputFactor,n=this.highestFreqValueFactor;for(let o=0;o[(t>>16&255)/256,(t>>8&255)/256,(255&t)/256],Mt=[124/256,189/256,107/256],Ct=Tt(6396257),Ot=Tt(8431445),kt=Tt(4764952),Pt=Tt(4159204),Lt=Tt(8431445),Ft=Tt(2129968),Vt=t=>[t/8,1-t/32,64*t],Dt={large_fern:()=>Mt,tall_grass:()=>Mt,grass_block:()=>Mt,fern:()=>Mt,grass:()=>Mt,potted_fern:()=>Mt,spruce_leaves:()=>Ct,birch_leaves:()=>Ot,oak_leaves:()=>kt,jungle_leaves:()=>kt,acacia_leaves:()=>kt,dark_oak_leaves:()=>kt,vine:()=>kt,water:()=>Pt,bubble_column:()=>Pt,cauldron:()=>Pt,redstone_wire:t=>{var e;return(t=>{const e=t/15;return[.6*e+(e>0?.4:.3),$(e*e*.7-.5,0,1),$(e*e*.6-.7,0,1)]})(parseInt(null!=(e=t.power)?e:\"0\"))},sugar_cane:()=>Mt,attached_melon_stem:()=>Lt,attached_pumpkin_stem:()=>Lt,melon_stem:t=>{var e;return Vt(parseInt(null!=(e=t.age)?e:\"0\"))},pumpkin_stem:t=>{var e;return Vt(parseInt(null!=(e=t.age)?e:\"0\"))},lily_pad:()=>Ft};var Ut;function Gt(...t){let e=0;for(const s of t)e+=s.length;const s=new Float32Array(e);let r=0;for(const e of t)s.set(e,r),r+=e.length;return s}function zt(t,e){const r=s.create();for(let i=0;ithis.matchesVariant(e,t)));if(0===e.length)return[];const s=this.variants[e[0]];return[Array.isArray(s)?s[0]:s]}if(this.multipart){return this.multipart.filter((e=>!e.when||this.matchesCase(e.when,t))).map((t=>Array.isArray(t.apply)?t.apply[0]:t.apply))}return[]}getBuffers(t,e,s,n,o,a){var l,u,h,c;const f=this.getModelVariants(e),m=[],d=[],p=[],g=[];for(const v of f){const f=Ut.rotate(a,null!=(l=v.x)?l:0,null!=(u=v.y)?u:0),w=n.getBlockModel(v.model).getBuffers(t,e,s,o,f);if(v.x||v.y){const t=r.create();r.identity(t),r.translate(t,t,[8,8,8]),r.rotateY(t,t,-i.toRadian(null!=(h=v.y)?h:0)),r.rotateX(t,t,-i.toRadian(null!=(c=v.x)?c:0)),r.translate(t,t,[-8,-8,-8]),zt(w.position,t)}m.push(w.position),d.push(...w.texCoord),p.push(...w.tintColor),g.push(...w.index),o+=w.texCoord.length/2}const v=r.create();r.identity(v),r.scale(v,v,[.0625,.0625,.0625]);const w=Gt(...m);return zt(w,v),{position:w,texCoord:d,tintColor:p,index:g}}matchesVariant(t,e){return t.split(\",\").every((t=>{const[s,r]=t.split(\"=\");return e[s]===r}))}matchesCase(t,e){if(Array.isArray(t.OR))return t.OR.some((t=>this.matchesCase(t,e)));const s=t;return Object.keys(s).every((t=>s[t].split(\"|\").includes(e[t])))}static fromJson(t,e){return new Yt(t,e.variants,e.multipart)}}const Ht={0:[0,3,2,3,2,1,0,1],90:[2,3,2,1,0,1,0,3],180:[2,1,0,1,0,3,2,3],270:[0,1,0,3,2,3,2,1]},Xt={x:[1,0,0],y:[0,1,0],z:[0,0,1]},jt=1.41421356237,Zt={x:[1,jt,jt],y:[jt,1,jt],z:[jt,jt,1]};class qt{constructor(t,e,s,r){this.id=t,this.parent=e,this.textures=s,this.elements=r,this.flattened=!1}getBuffers(t,e,s,r,i){var n;const o=[],a=[],l=[],u=[];for(const h of null!=(n=this.elements)?n:[]){const n=this.getElementBuffers(t,e,h,r,s,i);o.push(n.position),a.push(...n.texCoord),l.push(...n.tintColor),u.push(...n.index),r+=n.texCoord.length/2}return{position:Gt(...o),texCoord:a,tintColor:l,index:u}}getElementBuffers(t,e,n,o,a,l){var u,h,c,f,m,d,p,g,v,w,b,x;const S=n.from[0],_=n.from[1],A=n.from[2],y=n.to[0],E=n.to[1],I=n.to[2],N=[],B=[],R=[],T=[],M=(s,r,i)=>{var n,l,u,h,c,f,m,d,p,g,v,w,b;const[x,S,_,A]=a.getTextureUV(this.getTexture(s.texture)),y=(_-x)/16,E=(A-S)/16,I=y/16,M=E/16;r[0]=(null!=(l=null==(n=s.uv)?void 0:n[0])?l:r[0])*y+I,r[1]=(null!=(h=null==(u=s.uv)?void 0:u[1])?h:r[1])*E+M,r[2]=(null!=(f=null==(c=s.uv)?void 0:c[2])?f:r[2])*y-I,r[3]=(null!=(d=null==(m=s.uv)?void 0:m[3])?d:r[3])*E-M;const C=Ht[null!=(p=s.rotation)?p:0];B.push(x+r[C[0]],S+r[C[1]],x+r[C[2]],S+r[C[3]],x+r[C[4]],S+r[C[5]],x+r[C[6]],S+r[C[7]]);const O=(null!=(g=s.tintindex)?g:-1)>=0&&null!=(b=null==(w=(v=Dt)[t.path])?void 0:w.call(v,e))?b:[1,1,1];R.push(...O,...O,...O,...O),N.push(...i),T.push(o,o+1,o+2,o,o+2,o+3),o+=4};!(null==(h=null==(u=n.faces)?void 0:u.up)?void 0:h.texture)||n.faces.up.cullface&&l[n.faces.up.cullface]||M(n.faces.up,[S,16-I,y,16-A],[S,E,I,y,E,I,y,E,A,S,E,A]),!(null==(f=null==(c=n.faces)?void 0:c.down)?void 0:f.texture)||n.faces.down.cullface&&l[n.faces.down.cullface]||M(n.faces.down,[16-I,16-y,16-A,16-S],[S,_,A,y,_,A,y,_,I,S,_,I]),!(null==(d=null==(m=n.faces)?void 0:m.south)?void 0:d.texture)||n.faces.south.cullface&&l[n.faces.south.cullface]||M(n.faces.south,[S,16-E,y,16-_],[S,_,I,y,_,I,y,E,I,S,E,I]),!(null==(g=null==(p=n.faces)?void 0:p.north)?void 0:g.texture)||n.faces.north.cullface&&l[n.faces.north.cullface]||M(n.faces.north,[16-y,16-E,16-S,16-_],[y,_,A,S,_,A,S,E,A,y,E,A]),!(null==(w=null==(v=n.faces)?void 0:v.east)?void 0:w.texture)||n.faces.east.cullface&&l[n.faces.east.cullface]||M(n.faces.east,[16-I,16-E,16-A,16-_],[y,_,I,y,_,A,y,E,A,y,E,I]),!(null==(x=null==(b=n.faces)?void 0:b.west)?void 0:x.texture)||n.faces.west.cullface&&l[n.faces.west.cullface]||M(n.faces.west,[A,16-E,I,16-_],[S,_,A,S,_,I,S,E,I,S,E,A]);const C=r.create();if(r.identity(C),n.rotation){const t=s.fromValues(...n.rotation.origin);r.translate(C,C,t),r.rotate(C,C,i.toRadian(n.rotation.angle),Xt[n.rotation.axis]),n.rotation.rescale&&r.scale(C,C,Zt[n.rotation.axis]),s.negate(t,t),r.translate(C,C,t)}const O=new Float32Array(N);return zt(O,C),{position:O,texCoord:B,tintColor:R,index:T}}getTexture(t){for(var e,s;t.startsWith(\"#\");)t=null!=(s=null==(e=this.textures)?void 0:e[t.slice(1)])?s:\"\";return t.startsWith(\"minecraft:\")||(t=\"minecraft:\"+t),t}flatten(t){var e;if(!this.flattened&&this.parent){const s=t.getBlockModel(this.parent);if(!s)return console.warn(`parent ${this.parent} does not exist!`),void(this.flattened=!0);s.flatten(t),this.elements||(this.elements=s.elements),this.textures||(this.textures={}),Object.keys(null!=(e=s.textures)?e:{}).forEach((t=>{this.textures[t]||(this.textures[t]=s.textures[t])})),this.flattened=!0}}static fromJson(t,e){let s=e.parent;return s&&!s.startsWith(\"minecraft:\")&&(s=\"minecraft:\"+s),new qt(t,s,e.textures,e.elements)}}class Jt{constructor(t,e,s){this.gl=t,this.program=this.initShaderProgram(e,s)}getProgram(){return this.program}initShaderProgram(t,e){const s=this.loadShader(this.gl.VERTEX_SHADER,t),r=this.loadShader(this.gl.FRAGMENT_SHADER,e),i=this.gl.createProgram();if(this.gl.attachShader(i,s),this.gl.attachShader(i,r),this.gl.linkProgram(i),!this.gl.getProgramParameter(i,this.gl.LINK_STATUS))throw new Error(`Unable to link shader program: ${this.gl.getProgramInfoLog(i)}`);return i}loadShader(t,e){const s=this.gl.createShader(t);if(this.gl.shaderSource(s,e),this.gl.compileShader(s),!this.gl.getShaderParameter(s,this.gl.COMPILE_STATUS)){const e=new Error(`Compiling ${t===this.gl.VERTEX_SHADER?\"vertex\":\"fragment\"} shader: ${this.gl.getShaderInfoLog(s)}`);throw this.gl.deleteShader(s),e}return s}}function Wt(t,e,s,r,i){const n=new Yt(\"\",{\"\":{model:\"\"}},void 0),o={getBlockModel:()=>i};return i.flatten(o),n.getBuffers(t,{},e,o,s,r)}function $t(t,e,s,r,i,o){const a=i.up?16:[14.2,12.5,10.5,9,7,5.3,3.7,1.9,16,16,16,16,16,16,16,16][s];return Wt(C.create(t),r,e,i,new qt(\"\",\"\",{still:`minecraft:block/${t}_still`,flow:`minecraft:block/${t}_flow`},[{from:[0,0,0],to:[16,a,16],faces:{up:{texture:\"#still\",tintindex:o,cullface:n.UP},down:{texture:\"#still\",tintindex:o,cullface:n.DOWN},north:{texture:\"#flow\",tintindex:o,cullface:n.NORTH},east:{texture:\"#flow\",tintindex:o,cullface:n.EAST},south:{texture:\"#flow\",tintindex:o,cullface:n.SOUTH},west:{texture:\"#flow\",tintindex:o,cullface:n.WEST}}}]))}const Kt={\"minecraft:water\":(t,e,s,r)=>$t(\"water\",t,parseInt(e.level),s,r,0),\"minecraft:lava\":(t,e,s,r)=>$t(\"lava\",t,parseInt(e.level),s,r),\"minecraft:chest\":(t,e,s)=>function(t,e,s,r){return Wt(C.create(\"chest\"),r,t,{},new qt(\"\",\"\",{0:\"minecraft:block/chest\"},[{from:[1,0,1],to:[15,14,15],faces:{up:{texture:\"#0\"},down:{texture:\"#0\"},north:{texture:\"#0\"},east:{texture:\"#0\"},south:{texture:\"#0\"},west:{texture:\"#0\"}}}]))}(t,e.facing,e.type,s)},Qt=new Set(Object.keys(Kt));class te{constructor(t,e,s,r){var i,n;this.gl=t,this.structure=e,this.resources=s,this.chunks=[],(null==r?void 0:r.facesPerBuffer)&&console.warn(\"webgl render warning: facesPerBuffer option has been removed in favor of chunkSize\"),this.chunkSize=null!=(i=null==r?void 0:r.chunkSize)?i:16,this.useInvisibleBlockBuffer=null==(n=null==r?void 0:r.useInvisibleBlockBuffer)||n,this.shaderProgram=new Jt(t,\"\\n attribute vec4 vertPos;\\n attribute vec2 texCoord;\\n attribute vec3 tintColor;\\n attribute vec3 normal;\\n\\n uniform mat4 mView;\\n uniform mat4 mProj;\\n\\n varying highp vec2 vTexCoord;\\n varying highp vec3 vTintColor;\\n varying highp float vLighting;\\n\\n void main(void) {\\n gl_Position = mProj * mView * vertPos;\\n vTexCoord = texCoord;\\n vTintColor = tintColor;\\n vLighting = normal.y * 0.2 + abs(normal.z) * 0.1 + 0.8;\\n }\\n\",\"\\n precision highp float;\\n varying highp vec2 vTexCoord;\\n varying highp vec3 vTintColor;\\n varying highp float vLighting;\\n\\n uniform sampler2D sampler;\\n\\n void main(void) {\\n vec4 texColor = texture2D(sampler, vTexCoord);\\n if(texColor.a < 0.01) discard;\\n gl_FragColor = vec4(texColor.xyz * vTintColor * vLighting, texColor.a);\\n }\\n\").getProgram(),this.gridShaderProgram=new Jt(t,\"\\n attribute vec4 vertPos;\\n attribute vec3 vertColor;\\n\\n uniform mat4 mView;\\n uniform mat4 mProj;\\n\\n varying highp vec3 vColor;\\n\\n void main(void) {\\n gl_Position = mProj * mView * vertPos;\\n vColor = vertColor;\\n }\\n\",\"\\n precision highp float;\\n varying highp vec3 vColor;\\n\\n void main(void) {\\n gl_FragColor = vec4(vColor, 1.0);\\n }\\n\").getProgram(),this.colorShaderProgram=new Jt(t,\"\\n attribute vec4 vertPos;\\n attribute vec3 blockPos;\\n\\n uniform mat4 mView;\\n uniform mat4 mProj;\\n\\n varying highp vec3 vColor;\\n\\n void main(void) {\\n gl_Position = mProj * mView * vertPos;\\n vColor = blockPos / 256.0;\\n }\\n\",\"\\n precision highp float;\\n varying highp vec3 vColor;\\n\\n void main(void) {\\n gl_FragColor = vec4(vColor, 1.0);\\n }\\n\").getProgram(),this.updateStructureBuffers(),this.gridBuffers=this.getGridBuffers(),this.outlineBuffers=this.getOutlineBuffers(),this.invisibleBlockBuffers=this.getInvisibleBlockBuffers(),this.atlasTexture=this.getBlockTexture(),this.projMatrix=this.getPerspective(),this.activeShader=this.shaderProgram,this.initialize()}setStructure(t){this.structure=t,this.updateStructureBuffers(),this.gridBuffers=this.getGridBuffers(),this.invisibleBlockBuffers=this.getInvisibleBlockBuffers()}initialize(){this.gl.enable(this.gl.DEPTH_TEST),this.gl.depthFunc(this.gl.LEQUAL),this.gl.enable(this.gl.BLEND),this.gl.blendFunc(this.gl.SRC_ALPHA,this.gl.ONE_MINUS_SRC_ALPHA),this.gl.enable(this.gl.CULL_FACE),this.gl.cullFace(this.gl.BACK)}getBlockTexture(){const t=this.gl.createTexture();return this.gl.bindTexture(this.gl.TEXTURE_2D,t),this.gl.texImage2D(this.gl.TEXTURE_2D,0,this.gl.RGBA,this.gl.RGBA,this.gl.UNSIGNED_BYTE,this.resources.getTextureAtlas()),this.gl.generateMipmap(this.gl.TEXTURE_2D),this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_MAG_FILTER,this.gl.NEAREST),t}getPerspective(){const t=70*Math.PI/180,e=this.gl.canvas.clientWidth/this.gl.canvas.clientHeight,s=r.create();return r.perspective(s,t,e,.1,500),s}getChunk(t){const e=2*Math.abs(t[0])+(t[0]<0?1:0),s=2*Math.abs(t[1])+(t[1]<0?1:0),r=2*Math.abs(t[2])+(t[2]<0?1:0);return this.chunks[e]||(this.chunks[e]=[]),this.chunks[e][s]||(this.chunks[e][s]=[]),this.chunks[e][s][r]||(this.chunks[e][s][r]={positions:[],textureCoordinates:[],tintColors:[],blockPositions:[],normals:[],indices:[],indexOffset:0}),this.chunks[e][s][r]}updateStructureBuffers(t){var e;const i=(t,e,i)=>{const n=r.create();r.translate(n,n,e),zt(t.position,n),i.positions.push(t.position),i.textureCoordinates.push(...t.texCoord),i.tintColors.push(...t.tintColor);for(let e=0;e{t.positions=[],t.textureCoordinates=[],t.tintColors=[],t.blockPositions=[],t.normals=[],t.indices=[],t.indexOffset=0},a=t=>{t.buffer?(this.updateBuffer(t.buffer.position,this.gl.ARRAY_BUFFER,Gt(...t.positions)),this.updateBuffer(t.buffer.texCoord,this.gl.ARRAY_BUFFER,new Float32Array(t.textureCoordinates)),this.updateBuffer(t.buffer.tintColor,this.gl.ARRAY_BUFFER,new Float32Array(t.tintColors)),this.updateBuffer(t.buffer.normal,this.gl.ARRAY_BUFFER,new Float32Array(t.normals)),this.updateBuffer(t.buffer.blockPos,this.gl.ARRAY_BUFFER,new Float32Array(t.blockPositions)),this.updateBuffer(t.buffer.index,this.gl.ELEMENT_ARRAY_BUFFER,new Uint16Array(t.indices)),t.buffer.length=t.indices.length):t.buffer={position:this.createBuffer(this.gl.ARRAY_BUFFER,Gt(...t.positions)),texCoord:this.createBuffer(this.gl.ARRAY_BUFFER,new Float32Array(t.textureCoordinates)),tintColor:this.createBuffer(this.gl.ARRAY_BUFFER,new Float32Array(t.tintColors)),blockPos:this.createBuffer(this.gl.ARRAY_BUFFER,new Float32Array(t.blockPositions)),normal:this.createBuffer(this.gl.ARRAY_BUFFER,new Float32Array(t.normals)),index:this.createBuffer(this.gl.ELEMENT_ARRAY_BUFFER,new Uint16Array(t.indices)),length:t.indices.length}};let l;t?t.forEach((t=>{const e=this.getChunk(t);o(e)})):this.chunks.forEach((t=>t.forEach((t=>t.forEach((t=>{o(t)}))))));for(const r of this.structure.getBlocks()){const o=r.state.getName(),a=r.state.getProperties(),u=null!=(e=this.resources.getDefaultBlockProperties(o))?e:{};Object.entries(u).forEach((([t,e])=>{a[t]||(a[t]=e)}));const h=[Math.floor(r.pos[0]/this.chunkSize),Math.floor(r.pos[1]/this.chunkSize),Math.floor(r.pos[2]/this.chunkSize)];if(t&&!t.some((t=>s.equals(t,h))))continue;const c=this.getChunk(h);try{const t=this.resources.getBlockDefinition(o),e={up:this.needsCull(r,n.UP),down:this.needsCull(r,n.DOWN),west:this.needsCull(r,n.WEST),east:this.needsCull(r,n.EAST),north:this.needsCull(r,n.NORTH),south:this.needsCull(r,n.SOUTH)};t&&(l=t.getBuffers(o,a,this.resources,this.resources,c.indexOffset,e),i(l,r.pos,c)),Qt.has(o.toString())&&(l=Kt[o.toString()](c.indexOffset,a,this.resources,e),i(l,r.pos,c))}catch(t){console.error(`Error rendering block ${o}`,t)}}t?t.forEach((t=>{const e=this.getChunk(t);a(e)})):this.chunks.forEach((t=>t.forEach((t=>t.forEach((t=>{a(t)}))))))}needsCull(t,e){var s,r;const i=null==(s=this.structure.getBlock(l.towards(t.pos,e)))?void 0:s.state;return!!i&&((null==(r=this.resources.getBlockFlags(i.getName()))?void 0:r.opaque)?!(e===n.UP&&t.state.isFluid()):t.state.isFluid()&&i.isFluid())}getGridBuffers(){const[t,e,s]=this.structure.getSize(),r=[],i=[];r.push(0,0,0,t,0,0),i.push(1,0,0,1,0,0),r.push(0,0,0,0,0,s),i.push(0,0,1,0,0,1),r.push(0,0,0,0,e,0),r.push(t,0,0,t,e,0),r.push(0,0,s,0,e,s),r.push(t,0,s,t,e,s),r.push(0,e,0,0,e,s),r.push(t,e,0,t,e,s),r.push(0,e,0,t,e,0),r.push(0,e,s,t,e,s);for(let e=1;e<=t;e+=1)r.push(e,0,0,e,0,s);for(let e=1;e<=s;e+=1)r.push(0,0,e,t,0,e);for(let e=0;e<8+t+s;e+=1)i.push(.8,.8,.8,.8,.8,.8);return{position:this.createBuffer(this.gl.ARRAY_BUFFER,new Float32Array(r)),color:this.createBuffer(this.gl.ARRAY_BUFFER,new Float32Array(i)),length:r.length/3}}getOutlineBuffers(){const t=[],e=[];return this.addCube(t,e,[1,1,1],[0,0,0],[1,1,1]),{position:this.createBuffer(this.gl.ARRAY_BUFFER,new Float32Array(t)),color:this.createBuffer(this.gl.ARRAY_BUFFER,new Float32Array(e)),length:t.length/3}}getInvisibleBlockBuffers(){if(!this.useInvisibleBlockBuffer)return;const t=this.structure.getSize(),e=[],s=[];for(let r=0;r{t.forEach((t=>{t.forEach((t=>{t.buffer&&(this.setVertexAttr(\"vertPos\",3,t.buffer.position),this.setVertexAttr(\"texCoord\",2,t.buffer.texCoord),this.setVertexAttr(\"tintColor\",3,t.buffer.tintColor),this.setVertexAttr(\"normal\",3,t.buffer.normal),this.gl.bindBuffer(this.gl.ELEMENT_ARRAY_BUFFER,t.buffer.index),this.gl.drawElements(this.gl.TRIANGLES,t.buffer.length,this.gl.UNSIGNED_SHORT,0))}))}))}))}drawColoredStructure(t){this.setShader(this.colorShaderProgram),this.setUniform(\"mView\",t),this.setUniform(\"mProj\",this.projMatrix),this.chunks.forEach((t=>{t.forEach((t=>{t.forEach((t=>{t.buffer&&(this.setVertexAttr(\"vertPos\",3,t.buffer.position),this.setVertexAttr(\"blockPos\",3,t.buffer.blockPos),this.gl.bindBuffer(this.gl.ELEMENT_ARRAY_BUFFER,t.buffer.index),this.gl.drawElements(this.gl.TRIANGLES,t.buffer.length,this.gl.UNSIGNED_SHORT,0))}))}))}))}drawOutline(t,e){this.setShader(this.gridShaderProgram),this.setVertexAttr(\"vertPos\",3,this.outlineBuffers.position),this.setVertexAttr(\"vertColor\",3,this.outlineBuffers.color);const s=r.create();r.copy(s,t),r.translate(s,s,e),this.setUniform(\"mView\",s),this.setUniform(\"mProj\",this.projMatrix),this.gl.drawArrays(this.gl.LINES,0,this.outlineBuffers.length)}setViewport(t,e,s,r){this.gl.viewport(t,e,s,r),this.projMatrix=this.getPerspective()}setShader(t){this.gl.useProgram(t),this.activeShader=t}setVertexAttr(t,e,s){const r=this.gl.getAttribLocation(this.activeShader,t);this.gl.bindBuffer(this.gl.ARRAY_BUFFER,s),this.gl.vertexAttribPointer(r,e,this.gl.FLOAT,!1,0,0),this.gl.enableVertexAttribArray(r)}setUniform(t,e){const s=this.gl.getUniformLocation(this.activeShader,t);this.gl.uniformMatrix4fv(s,!1,e)}}var ee=(t,e,s)=>new Promise(((r,i)=>{var n=t=>{try{a(s.next(t))}catch(t){i(t)}},o=t=>{try{a(s.throw(t))}catch(t){i(t)}},a=t=>t.done?r(t.value):Promise.resolve(t.value).then(n,o);a((s=s.apply(t,e)).next())}));class se{constructor(t,e){this.img=t,this.idMap=e,this.part=16/t.width}getTextureAtlas(){return this.img}getTextureUV(t){var e;return null!=(e=this.idMap[t])?e:[0,0,this.part,this.part]}static fromBlobs(t){return ee(this,null,(function*(){const e=Math.sqrt(Object.keys(t).length+1),s=Math.pow(2,Math.ceil(Math.log(e)/Math.log(2))),r=16*s,i=1/s,n=document.createElement(\"canvas\");n.width=r,n.height=r;const o=n.getContext(\"2d\");this.drawInvalidTexture(o);const a={};let l=1;return yield Promise.all(Object.keys(t).map((e=>ee(this,null,(function*(){const r=l%s,n=Math.floor(l/s);l+=1,a[e]=[i*r,i*n,i*r+i,i*n+i];const u=yield createImageBitmap(t[e]);o.drawImage(u,0,0,16,16,16*r,16*n,16,16)}))))),new se(o.getImageData(0,0,r,r),a)}))}static empty(){const t=document.createElement(\"canvas\");t.width=16,t.height=16;const e=t.getContext(\"2d\");return se.drawInvalidTexture(e),new se(e.getImageData(0,0,16,16),{})}static drawInvalidTexture(t){t.fillStyle=\"black\",t.fillRect(0,0,16,16),t.fillStyle=\"magenta\",t.fillRect(0,0,8,8),t.fillRect(8,8,8,8)}}const re=class{constructor(t,e,s){this.offsetSampler=t,this.factorSampler=e,this.jaggednessSampler=s}static extractor(t){return{compute:e=>e[t]}}static fromJson(t){var e;const s=null!=(e=B.readObject(t))?e:{};return new re(ft.fromJson(s.offset,this.EXTRACTOR),ft.fromJson(s.factor,this.EXTRACTOR),ft.fromJson(s.jaggedness,this.EXTRACTOR))}offset(t){return this.offsetSampler.compute(t)+re.GLOBAL_OFFSET}factor(t){return this.factorSampler.compute(t)}jaggedness(t){return this.jaggednessSampler.compute(t)}static point(t,e,s){return{continents:t,erosion:e,weirdness:s,ridges:this.peaksAndValleys(s)}}static peaksAndValleys(t){return 3*-(Math.abs(Math.abs(t)-.6666667)-.33333334)}};let ie=re;var ne,oe,ae,le,ue;ie.GLOBAL_OFFSET=-.50375,ie.EXTRACTOR=t=>{var e;const s=null!=(e=B.readString(t))?e:\"continents\";return re.extractor(s)},ie.CONTINENTS=re.extractor(\"continents\"),ie.EROSION=re.extractor(\"erosion\"),ie.WEIRDNESS=re.extractor(\"weirdness\"),ie.RIDGES=re.extractor(\"ridges\"),function(t){function e(t){return t.ySize<<2}t.fromJson=function(t){var e,s,r,i,n;const o=null!=(e=B.readObject(t))?e:{};return{minY:null!=(s=B.readInt(o.min_y))?s:0,height:null!=(r=B.readInt(o.height))?r:256,xzSize:null!=(i=B.readInt(o.size_horizontal))?i:1,ySize:null!=(n=B.readInt(o.size_vertical))?n:1,sampling:yt.fromJson(o.sampling),topSlide:oe.fromJson(o.top_slide),bottomSlide:oe.fromJson(o.bottom_slide),terrainShaper:ie.fromJson(o.terrain_shaper)}},t.cellHeight=e,t.cellWidth=function(t){return t.xzSize<<2},t.cellCountY=function(t){return t.height/e(t)},t.minCellY=function(t){return Math.floor(t.minY/e(t))},t.applySlides=function(s,r,i){const n=Math.floor(i/e(s))-t.minCellY(s);return r=oe.apply(s.topSlide,r,t.cellCountY(s)-n),r=oe.apply(s.bottomSlide,r,n)}}(ne||(ne={})),(ae=oe||(oe={})).fromJson=function(t){var e,s,r,i;const n=null!=(e=B.readObject(t))?e:{};return{target:null!=(s=B.readNumber(n.target))?s:0,size:null!=(r=B.readInt(n.size))?r:0,offset:null!=(i=B.readInt(n.offset))?i:0}},ae.apply=function(t,e,s){if(t.size<=0)return e;const r=(s-t.offset)/t.size;return it(t.target,e,r)},function(t){function e(t){const e=new q(C.create(t));return q.REGISTRY.register(e.key,e),e}t.NOISE=e(\"worldgen/noise\"),t.DENSITY_FUNCTION=e(\"worldgen/density_function\")}(le||(le={}));class he{minValue(){return-this.maxValue()}mapAll(t){return t.map(this)}}!function(t){t.context=function(t,e,s){return{x:t,y:e,z:s}};class e extends t{constructor(t){super(),this.input=t}compute(t){return this.transform(t,this.input.compute(t))}}const s=j.parser(le.NOISE,Nt.fromJson);t.fromJson=function t(e,r=t){var l,v,S,N,T,D,U,G,z,Y,H,X,Z,q,J,W,$,K,Q;if(\"string\"==typeof e)return new n(j.reference(le.DENSITY_FUNCTION,C.parse(e)));if(\"number\"==typeof e)return new i(e);const tt=null!=(l=B.readObject(e))?l:{},et=null==(v=B.readString(tt.type))?void 0:v.replace(/^minecraft:/,\"\");switch(et){case\"blend_alpha\":return new o(1,0,1);case\"blend_offset\":case\"beardifier\":return new o(0,-1/0,1/0);case\"old_blended_noise\":return new a;case\"flat_cache\":return new u(r(tt.argument));case\"interpolated\":return new m(r(tt.argument));case\"cache_2d\":return new c(r(tt.argument));case\"cache_once\":return new f(r(tt.argument));case\"cache_all_in_cell\":return new h(r(tt.argument));case\"noise\":return new d(null!=(S=B.readNumber(tt.xz_scale))?S:1,null!=(N=B.readNumber(tt.y_scale))?N:1,s(tt.noise));case\"end_islands\":return new p;case\"weird_scaled_sampler\":return new w(r(tt.input),B.readEnum(tt.rarity_value_mapper,g),s(tt.noise));case\"shifted_noise\":return new b(r(tt.shift_x),r(tt.shift_y),r(tt.shift_z),null!=(T=B.readNumber(tt.xz_scale))?T:1,null!=(D=B.readNumber(tt.y_scale))?D:1,s(tt.noise));case\"range_choice\":return new x(r(tt.input),null!=(U=B.readNumber(tt.min_inclusive))?U:0,null!=(G=B.readNumber(tt.max_exclusive))?G:1,r(tt.when_in_range),r(tt.when_out_of_range));case\"shift_a\":return new _(s(tt.argument));case\"shift_b\":return new A(s(tt.argument));case\"shift\":return new y(s(tt.argument));case\"blend_density\":return new E(r(tt.argument));case\"clamp\":return new I(r(tt.input),null!=(z=B.readNumber(tt.min))?z:0,null!=(Y=B.readNumber(tt.max))?Y:1);case\"abs\":case\"square\":case\"cube\":case\"half_negative\":case\"quarter_negative\":case\"squeeze\":return new R(et,r(tt.argument));case\"slide\":return new M(r(tt.argument));case\"add\":case\"mul\":case\"min\":case\"max\":return new k(B.readEnum(et,O),r(tt.argument1),r(tt.argument2));case\"spline\":return new P(ft.fromJson(tt.spline,r),null!=(H=B.readNumber(tt.min_value))?H:0,null!=(X=B.readNumber(tt.max_value))?X:1);case\"terrain_shaper_spline\":return new F(r(tt.continentalness),r(tt.erosion),r(tt.weirdness),B.readEnum(tt.spline,L),null!=(Z=B.readNumber(tt.min_value))?Z:0,null!=(q=B.readNumber(tt.max_value))?q:1);case\"constant\":return new i(null!=(J=B.readNumber(tt.argument))?J:0);case\"y_clamped_gradient\":return new V(null!=(W=B.readInt(tt.from_y))?W:-4064,null!=($=B.readInt(tt.to_y))?$:4062,null!=(K=B.readNumber(tt.from_value))?K:-4064,null!=(Q=B.readNumber(tt.to_value))?Q:4062)}return i.ZERO};const r=class extends t{constructor(t){super(),this.value=t}compute(){return this.value}minValue(){return this.value}maxValue(){return this.value}};let i=r;i.ZERO=new r(0),i.ONE=new r(1),t.Constant=i;class n extends t{constructor(t){super(),this.holder=t}compute(t){return this.holder.value().compute(t)}minValue(){return this.holder.value().minValue()}maxValue(){return this.holder.value().maxValue()}}t.HolderHolder=n;class o extends t.Constant{constructor(t,e,s){super(t),this.min=e,this.max=s}minValue(){return this.min}maxValue(){return this.max}}t.ConstantMinMax=o;class a extends t{constructor(t){super(),this.blendedNoise=null!=t?t:new At(vt.create(BigInt(0)),{xzScale:1,yScale:1,xzFactor:80,yFactor:160},4,8)}compute(t){return this.blendedNoise.sample(t.x,t.y,t.z)}maxValue(){return this.blendedNoise.maxValue}}t.OldBlendedNoise=a;class l extends t{constructor(t){super(),this.wrapped=t}minValue(){return this.wrapped.minValue()}maxValue(){return this.wrapped.maxValue()}}class u extends l{constructor(t){super(t),this.lastValue=0}compute(e){const s=e.x>>2,r=e.z>>2;return this.lastQuartX===s&&this.lastQuartZ===r||(this.lastValue=this.wrapped.compute(t.context(s<<2,0,r<<2)),this.lastQuartX=s,this.lastQuartZ=r),this.lastValue}mapAll(t){return t.map(new u(this.wrapped.mapAll(t)))}}t.FlatCache=u;class h extends l{constructor(t){super(t)}compute(t){return this.wrapped.compute(t)}mapAll(t){return t.map(new h(this.wrapped.mapAll(t)))}}t.CacheAllInCell=h;class c extends l{constructor(t){super(t),this.lastValue=0}compute(t){const e=t.x,s=t.z;return this.lastBlockX===e&&this.lastBlockZ===s||(this.lastValue=this.wrapped.compute(t),this.lastBlockX=e,this.lastBlockZ=s),this.lastValue}mapAll(t){return t.map(new c(this.wrapped.mapAll(t)))}}t.Cache2D=c;class f extends l{constructor(t){super(t),this.lastValue=0}compute(t){const e=t.x,s=t.y,r=t.z;return this.lastBlockX===e&&this.lastBlockY===s&&this.lastBlockZ===r||(this.lastValue=this.wrapped.compute(t),this.lastBlockX=e,this.lastBlockY=s,this.lastBlockZ=r),this.lastValue}mapAll(t){return t.map(new f(this.wrapped.mapAll(t)))}}t.CacheOnce=f;class m extends l{constructor(t,e=4,s=4){super(t),this.cellWidth=e,this.cellHeight=s,this.values=new Map}compute({x:t,y:e,z:s}){const r=this.cellWidth,i=this.cellHeight,n=(t%r+r)%r/r,o=(e%i+i)%i/i,a=(s%r+r)%r/r,l=Math.floor(t/r)*r,u=Math.floor(e/i)*i,h=Math.floor(s/r)*r;return rt(n,o,a,(()=>this.computeCorner(l,u,h)),(()=>this.computeCorner(l+r,u,h)),(()=>this.computeCorner(l,u+i,h)),(()=>this.computeCorner(l+r,u+i,h)),(()=>this.computeCorner(l,u,h+r)),(()=>this.computeCorner(l+r,u,h+r)),(()=>this.computeCorner(l,u+i,h+r)),(()=>this.computeCorner(l+r,u+i,h+r)))}computeCorner(e,s,r){return T(this.values,`${e} ${s} ${r}`,(()=>this.wrapped.compute(t.context(e,s,r))))}mapAll(t){return t.map(new m(this.wrapped.mapAll(t)))}withCellSize(t,e){return new m(this.wrapped,t,e)}}t.Interpolated=m;class d extends t{constructor(t,e,s,r){super(),this.xzScale=t,this.yScale=e,this.noiseData=s,this.noise=r}compute(t){var e,s;return null!=(s=null==(e=this.noise)?void 0:e.sample(t.x*this.xzScale,t.y*this.yScale,t.z*this.xzScale))?s:0}maxValue(){var t,e;return null!=(e=null==(t=this.noise)?void 0:t.maxValue)?e:2}}t.Noise=d;class p extends t{compute(){return 0}minValue(){return-.84375}maxValue(){return.5625}}const g=[\"type_1\",\"type_2\"],v=class extends e{constructor(t,e,s,r){super(t),this.rarityValueMapper=e,this.noiseData=s,this.noise=r,this.mapper=v.ValueMapper[this.rarityValueMapper]}transform(t,e){if(!this.noise)return 0;const s=this.mapper(e);return s*Math.abs(this.noise.sample(t.x/s,t.y/s,t.z/s))}mapAll(t){return t.map(new v(this.input.mapAll(t),this.rarityValueMapper,this.noiseData,this.noise))}minValue(){return 0}maxValue(){return\"type_1\"===this.rarityValueMapper?2:3}static rarityValueMapper1(t){return t<-.5?.75:t<0?1:t<.5?1.5:2}static rarityValueMapper2(t){return t<-.75?.5:t<-.5?.75:t<.5?1:t<.75?2:3}};let w=v;w.ValueMapper={type_1:v.rarityValueMapper1,type_2:v.rarityValueMapper2},t.WeirdScaledSampler=w;class b extends d{constructor(t,e,s,r,i,n,o){super(r,i,n,o),this.shiftX=t,this.shiftY=e,this.shiftZ=s}compute(t){var e,s;const r=t.x*this.xzScale+this.shiftX.compute(t),i=t.y*this.yScale+this.shiftY.compute(t),n=t.z*this.xzScale+this.shiftZ.compute(t);return null!=(s=null==(e=this.noise)?void 0:e.sample(r,i,n))?s:0}mapAll(t){return t.map(new b(this.shiftX.mapAll(t),this.shiftY.mapAll(t),this.shiftZ.mapAll(t),this.xzScale,this.yScale,this.noiseData,this.noise))}}t.ShiftedNoise=b;class x extends t{constructor(t,e,s,r,i){super(),this.input=t,this.minInclusive=e,this.maxExclusive=s,this.whenInRange=r,this.whenOutOfRange=i}compute(t){const e=this.input.compute(t);return this.minInclusive<=e&&eMath.abs(t),square:t=>t*t,cube:t=>t*t*t,half_negative:t=>t>0?t:.5*t,quarter_negative:t=>t>0?t:.25*t,squeeze:t=>{const e=$(t,-1,1);return e/2-e*e*e/24}},t.Mapped=R;class M extends e{constructor(t,e){super(t),this.settings=e}transform(t,e){return this.settings?ne.applySlides(this.settings,e,t.y):e}mapAll(t){return t.map(new M(this.input.mapAll(t),this.settings))}minValue(){return this.settings?Math.min(this.input.minValue(),this.settings.bottomSlide.target,this.settings.topSlide.target):this.input.minValue()}maxValue(){return this.settings?Math.max(this.input.maxValue(),this.settings.bottomSlide.target,this.settings.topSlide.target):this.input.maxValue()}}t.Slide=M;const O=[\"add\",\"mul\",\"min\",\"max\"];class k extends t{constructor(t,e,s,r,i){super(),this.type=t,this.argument1=e,this.argument2=s,this.min=r,this.max=i}compute(t){const e=this.argument1.compute(t);switch(this.type){case\"add\":return e+this.argument2.compute(t);case\"mul\":return 0===e?0:e*this.argument2.compute(t);case\"min\":return ethis.argument2.maxValue()?e:Math.max(e,this.argument2.compute(t))}}mapAll(t){return t.map(new k(this.type,this.argument1.mapAll(t),this.argument2.mapAll(t)))}minValue(){var t;return null!=(t=this.min)?t:-1/0}maxValue(){var t;return null!=(t=this.max)?t:1/0}withMinMax(){const t=this.argument1.minValue(),e=this.argument2.minValue(),s=this.argument1.maxValue(),r=this.argument2.maxValue();let i,n;switch(\"min\"!==this.type&&\"max\"!==this.type||!(t>=r||e>=s)||console.warn(`Creating a ${this.type} function between two non-overlapping inputs`),this.type){case\"add\":i=t+e,n=s+r;break;case\"mul\":i=t>0&&e>0?t*e||0:s<0&&r<0?s*r||0:Math.min(t*r||0,e*s||0),n=t>0&&e>0?s*r||0:s<0&&r<0?t*e||0:Math.max(t*e||0,s*r||0);break;case\"min\":i=Math.min(t,e),n=Math.min(s,r);break;case\"max\":i=Math.max(t,e),n=Math.max(s,r)}return new k(this.type,this.argument1,this.argument2,i,n)}}t.Ap2=k;class P extends t{constructor(t,e,s){super(),this.spline=t,this.min=e,this.max=s}compute(t){return $(this.spline.compute(t),this.min,this.max)}mapAll(e){return e.map(new P(this.spline.mapAll((s=>s instanceof t?s.mapAll(e):s)),this.min,this.max))}minValue(){return this.min}maxValue(){return this.max}}t.Spline=P;const L=[\"offset\",\"factor\",\"jaggedness\"];class F extends t{constructor(t,e,s,r,i,n,o){super(),this.continentalness=t,this.erosion=e,this.weirdness=s,this.spline=r,this.min=i,this.max=n,this.shaper=o}compute(t){if(!this.shaper)return 0;const e=ie.point(this.continentalness.compute(t),this.erosion.compute(t),this.weirdness.compute(t));return $(this.shaper[this.spline](e),this.min,this.max)}mapAll(t){return t.map(new F(this.continentalness.mapAll(t),this.erosion.mapAll(t),this.weirdness.mapAll(t),this.spline,this.min,this.max,this.shaper))}minValue(){return this.min}maxValue(){return this.max}}t.TerrainShaperSpline=F;class V extends t{constructor(t,e,s,r){super(),this.fromY=t,this.toY=e,this.fromValue=s,this.toValue=r}compute(t){return lt(t.y,this.fromY,this.toY,this.fromValue,this.toValue)}minValue(){return Math.min(this.fromValue,this.toValue)}maxValue(){return Math.max(this.fromValue,this.toValue)}}t.YClampedGradient=V}(he||(he={}));class ce{constructor(t,e){this.level=t,this.type=e}at(t){return t0))return t(e,s,r).at(s)}}};const fe=class{constructor(t,e,s,r,i,n,o,a,u,h){this.noiseChunk=t,this.barrierNoise=s,this.fluidLevelFloodednessNoise=r,this.fluidLevelSpreadNoise=i,this.lavaNoise=n,this.random=o,this.globalFluidPicker=h,this.minGridX=this.gridX(X.minBlockX(e))-1,this.gridSizeX=this.gridX(X.maxBlockX(e))+1-this.minGridX+1,this.minGridY=this.gridY(a)-1,this.minGridZ=this.gridZ(X.minBlockZ(e))-1,this.gridSizeZ=this.gridZ(X.maxBlockZ(e))+1-this.minGridZ+1;const c=this.gridY(a+u)+1-this.minGridY+1;this.gridSize=this.gridSizeX*c*this.gridSizeZ,this.aquiferCache=Array(this.gridSize).fill(void 0),this.aquiferLocationCache=Array(this.gridSize).fill(l.ZERO)}compute({x:t,y:e,z:s},r){if(r<=0){if(this.globalFluidPicker(t,e,s).at(e).is(G.LAVA))return G.LAVA;{const i=this.gridX(t-5),n=this.gridY(e+1),o=this.gridZ(s-5);let a=Number.MAX_SAFE_INTEGER,u=Number.MAX_SAFE_INTEGER,h=Number.MAX_SAFE_INTEGER,c=l.ZERO,f=l.ZERO,m=l.ZERO;for(let t=0;t<=1;t+=1)for(let e=-1;e<=1;e+=1)for(let s=0;s<=1;s+=1){const r=this.getLocation(i+t,n+e,o+s),d=l.magnitude(r);a>=d?(m=f,f=c,c=r,h=u,u=a,a=d):u>=d?(m=f,f=r,h=u,u=d):h>=d&&(m=r,h=d)}const d=this.getStatus(c),p=this.getStatus(f),g=this.getStatus(m),v=fe.similarity(a,u),w=fe.similarity(a,h),b=fe.similarity(u,h);let x;if(d.at(e).is(G.WATER)&&this.globalFluidPicker(t,e-1,s).at(e-1).is(G.LAVA))x=1;else if(v>-1){const r=R((()=>this.barrierNoise.compute(he.context(t,.5*e,s)))),i=this.calculatePressure(e,d,p,r),n=this.calculatePressure(e,d,g,r),o=this.calculatePressure(e,p,g,r),a=Math.max(i,n*Math.max(0,w),o*Math.max(b));x=Math.max(0,2*Math.max(0,v)*a)}else x=0;if(r+x<=0)return d.at(e)}}}static similarity(t,e){return 1-Math.abs(e-t)/25}calculatePressure(t,e,s,r){const i=e.at(t),n=s.at(t);if(i.is(G.LAVA)&&n.is(G.WATER)||i.is(G.WATER)&&n.is(G.LAVA))return 1;const o=Math.abs(e.level-s.level);if(0===o)return 0;const a=t+.5-(e.level+s.level)/2,l=o/2-Math.abs(a),u=a>0?l>0?l/1.5:l/2.5:l>-3?(l+3)/3:(l+3)/10;return u<-2||u>2?u:u+r()}getStatus(t){const[e,s,r]=t,i=this.getIndex(this.gridX(e),this.gridY(s),this.gridZ(r)),n=this.aquiferCache[i];if(void 0!==n)return n;const o=this.computeStatus(e,s,r);return this.aquiferCache[i]=o,o}computeStatus(t,e,s){const r=this.globalFluidPicker(t,e,s);let i=Number.MAX_SAFE_INTEGER,n=!1;for(const[o,a]of fe.SURFACE_SAMPLING){const l=t+(a<<4),u=s+(a<<4),h=this.noiseChunk.getPreliminarySurfaceLevel(l,u);i=Math.min(i,h);const c=0===o&&0===a;if(c&&e-12>h+8)return r;if(c||e+12>h+8){const t=this.globalFluidPicker(l,h+8,u);if(!t.at(h+8).is(G.AIR)){if(c)return t;n=!0}}}const o=n?lt(i+8-e,0,64,1,0):0,a=$(this.fluidLevelFloodednessNoise.compute(he.context(t,.67*e,s)),-1,1);if(a>at(o,1,0,-.3,.8))return r;if(a<=at(o,1,0,-.8,.4))return new ce(Number.MIN_SAFE_INTEGER,r.type);const l=Math.floor(e/40),u=this.fluidLevelSpreadNoise.compute(he.context(Math.floor(t/16),l,Math.floor(s/16))),h=40*l+20+3*Math.floor(u/3),c=Math.min(i,h),f=this.getFluidType(t,e,s,r.type,h);return new ce(c,f)}getFluidType(t,e,s,r,i){if(i<=-10){const r=this.lavaNoise.compute(he.context(Math.floor(t/64),Math.floor(e/40),Math.floor(s/64)));if(Math.abs(r)>.3)return G.LAVA}return r}getLocation(t,e,s){const r=this.getIndex(t,e,s),i=this.aquiferLocationCache[r];if(l.equals(i,l.ZERO))return i;const n=this.random.at(t,e,s),o=l.create(t*fe.X_SPACING+n.nextInt(10),e*fe.Y_SPACING+n.nextInt(9),s*fe.Z_SPACING+n.nextInt(10));return this.aquiferLocationCache[r]=o,o}getIndex(t,e,s){const r=t-this.minGridX,i=e-this.minGridY,n=s-this.minGridZ,o=(i*this.gridSizeZ+n)*this.gridSizeX+r;if(o<0||o>=this.gridSize)throw new Error(`Invalid aquifer index at ${t} ${e} ${s}: 0 <= ${o} < ${this.gridSize}`);return o}gridX(t){return Math.floor(t/fe.X_SPACING)}gridY(t){return Math.floor(t/fe.Y_SPACING)}gridZ(t){return Math.floor(t/fe.Z_SPACING)}};let me=fe;var de,pe;me.X_SPACING=16,me.Y_SPACING=12,me.Z_SPACING=16,me.SURFACE_SAMPLING=[[-2,-1],[-1,-1],[0,-1],[1,-1],[-3,0],[-2,0],[-1,0],[0,0],[1,0],[-2,1],[-1,1],[0,1],[1,1]],function(t){function e(t,e){return\"number\"==typeof t?new s(t,null!=e?e:t):t}t.target=function(t,e,s,r,n,o){return new i(t,e,s,r,n,o)},t.parameters=function(t,s,i,n,o,a,l){return new r(e(t),e(s),e(i),e(n),e(o),e(a),l)},t.param=e;class s{constructor(t,e){this.min=t,this.max=e}distance(t){const e=(\"number\"==typeof t?t:t.min)-this.max,s=this.min-(\"number\"==typeof t?t:t.max);return e>0?e:Math.max(s,0)}union(t){return new s(Math.min(this.min,t.min),Math.max(this.max,t.max))}static fromJson(t){var e;if(\"number\"==typeof t)return new s(t,t);const[r,i]=null!=(e=B.readArray(t,(t=>B.readNumber(t))))?e:[];return new s(null!=r?r:0,null!=i?i:0)}}t.Param=s;class r{constructor(t,e,s,r,i,n,o){this.temperature=t,this.humidity=e,this.continentalness=s,this.erosion=r,this.depth=i,this.weirdness=n,this.offset=o}fittness(t){return W(this.temperature.distance(t.temperature))+W(this.humidity.distance(t.humidity))+W(this.continentalness.distance(t.continentalness))+W(this.erosion.distance(t.erosion))+W(this.depth.distance(t.depth))+W(this.weirdness.distance(t.weirdness))+W(this.offset-t.offset)}space(){return[this.temperature,this.humidity,this.continentalness,this.erosion,this.depth,this.weirdness,new s(this.offset,this.offset)]}static fromJson(t){var e,i;const n=null!=(e=B.readObject(t))?e:{};return new r(s.fromJson(n.temperature),s.fromJson(n.humidity),s.fromJson(n.continentalness),s.fromJson(n.erosion),s.fromJson(n.depth),s.fromJson(n.weirdness),null!=(i=B.readInt(n.offset))?i:0)}}t.ParamPoint=r;class i{constructor(t,e,s,r,i,n){this.temperature=t,this.humidity=e,this.continentalness=s,this.erosion=r,this.depth=i,this.weirdness=n}get offset(){return 0}toArray(){return[this.temperature,this.humidity,this.continentalness,this.erosion,this.depth,this.weirdness,this.offset]}}t.TargetPoint=i;t.Parameters=class{constructor(t){this.things=t,this.index=new o(t)}find(t){return this.index.search(t,((t,e)=>t.distance(e)))}};t.Sampler=class{constructor(t,e,s,r,i,n){this.temperature=t,this.humidity=e,this.continentalness=s,this.erosion=r,this.depth=i,this.weirdness=n}static fromRouter(e){return new t.Sampler(e.temperature,e.vegetation,e.continents,e.erosion,e.depth,e.ridges)}sample(e,s,r){const i=he.context(e<<2,s<<2,r<<2);return t.target(this.temperature.compute(i),this.humidity.compute(i),this.continentalness.compute(i),this.erosion.compute(i),this.depth.compute(i),this.weirdness.compute(i))}};const n=class{constructor(t){this.root=n.build(t.map((([t,e])=>new u(t,e))))}static build(t){if(1===t.length)return t[0];if(t.length<=n.CHILDREN_PER_NODE){const e=t.map((t=>{let e=0;for(let s=0;s<7;s+=1){const r=t.space[s];e+=Math.abs((r.min+r.max)/2)}return{key:e,node:t}})).sort(((t,e)=>t.key-e.key)).map((({node:t})=>t));return new l(e)}let e=1/0,s=-1,r=[];for(let i=0;i<7;++i){t=n.sort(t,i,!1),r=n.bucketize(t);let o=0;for(const t of r)o+=n.area(t.space);e>o&&(e=o,s=i)}return t=n.sort(t,s,!1),r=n.bucketize(t),r=n.sort(r,s,!0),new l(r.map((t=>n.build(t.children))))}static sort(t,e,s){return t.map((t=>{const r=t.space[e],i=(r.min+r.max)/2;return{key:s?Math.abs(i):i,node:t}})).sort(((t,e)=>t.key-e.key)).map((({node:t})=>t))}static bucketize(t){const e=[];let s=[];const r=Math.pow(10,Math.floor(Math.log(t.length-.01)/Math.log(10)));for(const i of t)s.push(i),s.lengthnew s(1/0,-1/0)));for(const s of t)e=[...Array(7)].map(((t,r)=>e[r].union(s.space[r])));return e}search(t,e){let s=1/0,r=null;for(const i of this.children){const n=e(i,t);if(s<=n)continue;const o=i.search(t,e),a=i==o?n:e(o,t);s<=a||(s=a,r=o)}return r}}t.RSubTree=l;class u extends a{constructor(t,e){super(t.space()),this.thing=e}search(){return this}}t.RLeaf=u}(de||(de={}));class ge{constructor(t){this.biome=t}getBiome(){return this.biome}static fromJson(t){var e,s;const r=null!=(e=B.readObject(t))?e:{},i=C.parse(null!=(s=B.readString(r.biome))?s:\"minecraft:the_void\");return new ge(i)}}class ve{constructor(t){this.parameters=t}getBiome(t,e,s,r){const i=r.sample(t,e,s);return this.parameters.find(i)}static fromJson(t){var e,s;const r=null!=(e=B.readObject(t))?e:{},i=(null!=(s=B.readArray(r.biomes,(t=>{var e,s,r;return s=null!=(e=B.readObject(t))?e:{},{biome:C.parse(null!=(r=B.readString(s.biome))?r:\"minecraft:the_void\"),parameters:de.ParamPoint.fromJson(s.parameters)}})))?s:[]).map((t=>[t.parameters,()=>t.biome]));return new ve(new de.Parameters(i))}}!function(t){function e(t,e,s){return le.NOISE.register(C.create(t),Nt.create(e,s))}t.TEMPERATURE=e(\"temperature\",-10,[1.5,0,1,0,0,0]),t.VEGETATION=e(\"vegetation\",-8,[1,1,0,0,0,0]),t.CONTINENTALNESS=e(\"continentalness\",-9,[1,1,2,2,2,1,1,1,1]),t.EROSION=e(\"erosion\",-9,[1,1,0,1,1]),t.TEMPERATURE_LARGE=e(\"temperature_large\",-12,[1.5,0,1,0,0,0]),t.VEGETATION_LARGE=e(\"vegetation_large\",-10,[1,1,0,0,0,0]),t.CONTINENTALNESS_LARGE=e(\"continentalness_large\",-11,[1,1,2,2,2,1,1,1,1]),t.EROSION_LARGE=e(\"erosion_large\",-11,[1,1,0,1,1]),t.RIDGE=e(\"ridge\",-7,[1,2,1,0,0,0]),t.SHIFT=e(\"offset\",-3,[1,1,1,0]),t.AQUIFER_BARRIER=e(\"aquifer_barrier\",-3,[1]),t.AQUIFER_FLUID_LEVEL_FLOODEDNESS=e(\"aquifer_fluid_level_floodedness\",-7,[1]),t.AQUIFER_FLUID_LEVEL_SPREAD=e(\"aquifer_fluid_level_spread\",-5,[1]),t.AQUIFER_LAVA=e(\"aquifer_lava\",-1,[1]),t.PILLAR=e(\"pillar\",-7,[1,1]),t.PILLAR_RARENESS=e(\"pillar_rareness\",-8,[1]),t.PILLAR_THICKNESS=e(\"pillar_thickness\",-8,[1]),t.SPAGHETTI_2D=e(\"spaghetti_2d\",-8,[1]),t.SPAGHETTI_2D_ELEVATION=e(\"spaghetti_2d_elevation\",-8,[1]),t.SPAGHETTI_2D_MODULATOR=e(\"spaghetti_2d_modulator\",-8,[1]),t.SPAGHETTI_2D_THICKNESS=e(\"spaghetti_2d_thickness\",-8,[1]),t.SPAGHETTI_3D_1=e(\"spaghetti_3d_1\",-8,[1]),t.SPAGHETTI_3D_2=e(\"spaghetti_3d_2\",-8,[1]),t.SPAGHETTI_3D_RARITY=e(\"spaghetti_3d_rarity\",-8,[1]),t.SPAGHETTI_3D_THICKNESS=e(\"spaghetti_3d_thickness\",-8,[1]),t.SPAGHETTI_ROUGHNESS=e(\"spaghetti_roughness\",-8,[1]),t.SPAGHETTI_ROUGHNESS_MODULATOR=e(\"spaghetti_roughness_modulator\",-8,[1]),t.CAVE_ENTRANCE=e(\"cave_entrance\",-7,[.4,.5,1]),t.CAVE_LAYER=e(\"cave_layer\",-8,[1]),t.CAVE_CHEESE=e(\"cave_cheese\",-8,[.5,1,2,1,2,1,0,2,0]),t.NOODLE=e(\"noodle\",-8,[1]),t.NOODLE_THICKNESS=e(\"noodle_thickness\",-8,[1]),t.NOODLE_RIDGE_A=e(\"noodle_ridge_a\",-7,[1]),t.NOODLE_RIDGE_B=e(\"noodle_ridge_b\",-7,[1]),t.JAGGED=e(\"jagged\",-16,[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]),t.SURFACE=e(\"surface\",-6,[1,1,1]),t.SURFACE_SECONDARY=e(\"surface_secondary\",-6,[1,1,0,1]);const s=new Map;t.instantiate=function(t,e){var r;const i=null==(r=e.key())?void 0:r.toString();if(!i)throw new Error(\"Cannot instantiate noise from direct holder\");const n=t.seedKey(),o=s.get(i);if(o&&o[0]===n[0]&&o[1]===n[1])return o[2];const a=new It(t.fromHashOf(i),e.value());return s.set(i,[n[0],n[1],a]),a}}(pe||(pe={}));var we,be,xe,Se,_e,Ae,ye,Ee=Object.defineProperty,Ie=Object.defineProperties,Ne=Object.getOwnPropertyDescriptors,Be=Object.getOwnPropertySymbols,Re=Object.prototype.hasOwnProperty,Te=Object.prototype.propertyIsEnumerable,Me=(t,e,s)=>e in t?Ee(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,Ce=(t,e)=>{for(var s in e||(e={}))Re.call(e,s)&&Me(t,s,e[s]);if(Be)for(var s of Be(e))Te.call(e,s)&&Me(t,s,e[s]);return t};!function(t){const e=t=>j.parser(le.DENSITY_FUNCTION,he.fromJson)(t).value();t.fromJson=function(t){var s;const r=null!=(s=B.readObject(t))?s:{};return{barrier:e(r.barrier),fluidLevelFloodedness:e(r.fluid_level_floodedness),fluidLevelSpread:e(r.fluid_level_spread),lava:e(r.lava),temperature:e(r.temperature),vegetation:e(r.vegetation),continents:e(r.continents),erosion:e(r.erosion),depth:e(r.depth),ridges:e(r.ridges),initialDensityWithoutJaggedness:e(r.initial_density_without_jaggedness),finalDensity:e(r.final_density),veinToggle:e(r.vein_toggle),veinRidged:e(r.vein_ridged),veinGap:e(r.vein_gap)}},t.create=function(t){return Ce({barrier:he.Constant.ZERO,fluidLevelFloodedness:he.Constant.ZERO,fluidLevelSpread:he.Constant.ZERO,lava:he.Constant.ZERO,temperature:he.Constant.ZERO,vegetation:he.Constant.ZERO,continents:he.Constant.ZERO,erosion:he.Constant.ZERO,depth:he.Constant.ZERO,ridges:he.Constant.ZERO,initialDensityWithoutJaggedness:he.Constant.ZERO,finalDensity:he.Constant.ZERO,veinToggle:he.Constant.ZERO,veinRidged:he.Constant.ZERO,veinGap:he.Constant.ZERO},t)},t.withSettings=function(t,e,r,i=!1){const n=(i?new dt(r):vt.create(r)).forkPositional(),o=new s(n,e);return a=Ce({},o.mapAll(t)),l={aquiferPositionalRandomFactory:n.fromHashOf(C.create(\"aquifer\").toString()).forkPositional(),oreVeinsPositionalRandomFactory:n.fromHashOf(C.create(\"ore\").toString()).forkPositional()},Ie(a,Ne(l));var a,l};class s{constructor(t,e){this.random=t,this.settings=e,this.mapped=new Map}map(t){if(t instanceof he.HolderHolder){const e=t.holder.key();if(void 0!==e&&this.mapped.has(e.toString()))return this.mapped.get(e.toString());{const s=t.holder.value().mapAll(this);return void 0!==e&&this.mapped.set(e.toString(),s),s}}if(t instanceof he.Interpolated)return t.withCellSize(ne.cellWidth(this.settings),ne.cellHeight(this.settings));if(t instanceof he.Noise)return new he.Noise(t.xzScale,t.yScale,t.noiseData,pe.instantiate(this.random,t.noiseData));if(t instanceof he.ShiftNoise)return t.withNewNoise(pe.instantiate(this.random,t.noiseData));if(t instanceof he.ShiftedNoise){const e=pe.instantiate(this.random,t.noiseData);return new he.ShiftedNoise(t.shiftX,t.shiftY,t.shiftZ,t.xzScale,t.yScale,t.noiseData,e)}return t instanceof he.WeirdScaledSampler?new he.WeirdScaledSampler(t.input,t.rarityValueMapper,t.noiseData,pe.instantiate(this.random,t.noiseData)):t instanceof he.OldBlendedNoise?new he.OldBlendedNoise(new At(this.random.fromHashOf(C.create(\"terrain\").toString()),this.settings.sampling,ne.cellWidth(this.settings),ne.cellHeight(this.settings))):t instanceof he.Mapped||t instanceof he.Ap2?t.withMinMax():t instanceof he.TerrainShaperSpline?new he.TerrainShaperSpline(t.continentalness,t.erosion,t.weirdness,t.spline,t.min,t.max,this.settings.terrainShaper):t instanceof he.Slide?new he.Slide(t.input,this.settings):t}mapAll(t){return{barrier:t.barrier.mapAll(this),fluidLevelFloodedness:t.fluidLevelFloodedness.mapAll(this),fluidLevelSpread:t.fluidLevelSpread.mapAll(this),lava:t.lava.mapAll(this),temperature:t.temperature.mapAll(this),vegetation:t.vegetation.mapAll(this),continents:t.continents.mapAll(this),erosion:t.erosion.mapAll(this),depth:t.depth.mapAll(this),ridges:t.ridges.mapAll(this),initialDensityWithoutJaggedness:t.initialDensityWithoutJaggedness.mapAll(this),finalDensity:t.finalDensity.mapAll(this),veinToggle:t.veinToggle.mapAll(this),veinRidged:t.veinRidged.mapAll(this),veinGap:t.veinGap.mapAll(this)}}}t.Visitor=s,t.computePreliminarySurfaceLevelScanning=function(t,e,s,r){const i=ne.minCellY(t)+ne.cellCountY(t),n=ne.minCellY(t),o=ne.cellHeight(t);for(let a=i;a>=n;a-=1){const i=a*o,n=$(e.compute(he.context(s,i,r)),-64,64);if(ne.applySlides(t,n,i)>=.390625)return i}return Number.MAX_SAFE_INTEGER}}(we||(we={}));class Oe{constructor(t,e,s,r,i,n,o,a,l){this.cellCountXZ=t,this.cellCountY=e,this.cellNoiseMinY=s,this.router=r,this.minX=i,this.minZ=n,this.settings=o,this.preliminarySurfaceLevel=new Map,this.cellWidth=ne.cellWidth(o),this.cellHeight=ne.cellHeight(o),this.firstCellX=Math.floor(i/this.cellWidth),this.firstCellZ=Math.floor(n/this.cellWidth),this.firstNoiseX=i>>2,this.firstNoiseZ=n>>2,this.noiseSizeXZ=t*this.cellWidth>>2,this.aquifer=ue.createDisabled(l);const u=this.router.finalDensity;this.materialRule=be.fromList([t=>this.aquifer.compute(t,u.compute(t))]),this.initialDensityWithoutJaggedness=this.router.initialDensityWithoutJaggedness}getFinalState(t,e,s){return this.materialRule({x:t,y:e,z:s})}getPreliminarySurfaceLevel(t,e){return T(this.preliminarySurfaceLevel,X.asLong(t,e),(()=>we.computePreliminarySurfaceLevelScanning(this.settings,this.initialDensityWithoutJaggedness,t<<2,e<<2)))}getAquifer(){return this.aquifer}}(be||(be={})).fromList=function(t){return e=>{for(const s of t){const t=s(e);if(t)return t}}},(xe||(xe={})).fromJson=function(t){var e,s,r,i;const n=null!=(e=B.readObject(t))?e:{};return void 0!==n.absolute?(o=null!=(s=B.readNumber(n.absolute))?s:0,()=>o):void 0!==n.above_bottom?function(t){return e=>e.minY+t}(null!=(r=B.readNumber(n.above_bottom))?r:0):void 0!==n.below_top?function(t){return e=>e.maxY-t}(null!=(i=B.readNumber(n.below_top))?i:0):()=>0;var o},(Se||(Se={})).create=function(t,e){return{minY:t,height:e,maxY:t+e-1}};class ke{constructor(t,e,s){this.rule=t,this.defaultBlock=e,this.random=vt.create(s).forkPositional(),this.surfaceNoise=pe.instantiate(this.random,pe.SURFACE),this.surfaceSecondaryNoise=pe.instantiate(this.random,pe.SURFACE_SECONDARY),this.positionalRandoms=new Map}buildSurface(t,e,s,r){const i=X.minBlockX(t.pos),n=X.minBlockZ(t.pos),o=new Pe(this,t,e,s,r),a=this.rule(o);for(let e=0;e<16;e+=1){const s=i+e;for(let e=0;e<1;e+=1){const r=n+e;o.updateXZ(s,r);let i=0,u=Number.MIN_SAFE_INTEGER,h=Number.MAX_SAFE_INTEGER;for(let e=t.maxY;e>=t.minY;e-=1){const n=l.create(s,e,r),c=t.getBlockState(n);if(c.equals(G.AIR)){i=0,u=Number.MIN_SAFE_INTEGER;continue}if(c.isFluid()){u===Number.MIN_SAFE_INTEGER&&(u=e+1);continue}if(h>=e){h=Number.MIN_SAFE_INTEGER;for(let i=e-1;i>=t.minY;i-=1){const e=t.getBlockState(l.create(s,i,r));if(e.equals(G.AIR)||e.isFluid()){h=i+1;break}}}i+=1;const f=e-h+1;if(!c.equals(this.defaultBlock))continue;o.updateY(i,f,u,e);const m=a(s,e,r);m&&t.setBlockState(n,m)}}}}getSurfaceDepth(t,e){return 2.75*this.surfaceNoise.sample(t,0,e)+3+.25*this.random.at(t,0,e).nextDouble()}getSurfaceSecondary(t,e){return this.surfaceSecondaryNoise.sample(t,0,e)}getRandom(t){return T(this.positionalRandoms,t,(()=>this.random.fromHashOf(t)))}}class Pe{constructor(t,e,s,r,i){this.system=t,this.chunk=e,this.noiseChunk=s,this.context=r,this.getBiome=i,this.blockX=0,this.blockY=0,this.blockZ=0,this.stoneDepthAbove=0,this.stoneDepthBelow=0,this.surfaceDepth=0,this.waterHeight=0,this.biome=()=>\"\",this.surfaceSecondary=()=>0,this.minSurfaceLevel=()=>0}updateXZ(t,e){this.blockX=t,this.blockZ=e,this.surfaceDepth=this.system.getSurfaceDepth(t,e),this.surfaceSecondary=R((()=>this.system.getSurfaceSecondary(t,e))),this.minSurfaceLevel=R((()=>this.calculateMinSurfaceLevel(t,e)))}updateY(t,e,s,r){this.blockY=r,this.stoneDepthAbove=t,this.stoneDepthBelow=e,this.waterHeight=s,this.biome=R((()=>this.getBiome(l.create(this.blockX,this.blockY,this.blockZ))))}calculateMinSurfaceLevel(t,e){const s=t>>4,r=e>>4,i=this.noiseChunk.getPreliminarySurfaceLevel(s<<4,r<<4),n=this.noiseChunk.getPreliminarySurfaceLevel(s+1<<4,r<<4),o=this.noiseChunk.getPreliminarySurfaceLevel(s<<4,r+1<<4),a=this.noiseChunk.getPreliminarySurfaceLevel(s+1<<4,r+1<<4);return Math.floor(Q((15&t)/16,(15&e)/16,i,n,o,a))+this.surfaceDepth-8}}!function(t){function e(t){return()=>()=>t}function s(t){return e=>{const s=t.map((t=>t(e)));return(t,e,r)=>{for(const i of s){const s=i(t,e,r);if(s)return s}}}}function r(t,e){return s=>(r,i,n)=>{if(t(s))return e(s)(r,i,n)}}t.NOOP=()=>()=>{},t.fromJson=function(i){var n,o,a;const l=null!=(n=B.readObject(i))?n:{};switch(null==(o=B.readString(l.type))?void 0:o.replace(/^minecraft:/,\"\")){case\"block\":return e(G.fromJson(l.result_state));case\"sequence\":return s(null!=(a=B.readArray(l.sequence,t.fromJson))?a:[]);case\"condition\":return r(Ae.fromJson(l.if_true),t.fromJson(l.then_run))}return t.NOOP},t.block=e,t.sequence=s,t.condition=r}(_e||(_e={})),function(t){function e(){return t=>t.blockY>=t.minSurfaceLevel()}function s(t){const e=new Set(t);return t=>e.has(t.biome())}function r(t){return e=>!t(e)}function i(t,e,s,r){return i=>{const n=r?i.stoneDepthBelow:i.stoneDepthAbove,o=e?i.surfaceDepth:0,a=0===s?0:at(i.surfaceSecondary(),-1,1,0,s);return n<=1+t+o+a}}function n(t,e,s){return r=>{const i=e(r.context),n=s(r.context);if(r.blockY<=i)return!0;if(r.blockY>=n)return!1;const o=r.system.getRandom(t),a=at(r.blockY,i,n,1,0);return o.nextFloat(){if(r.waterHeight===Number.MIN_SAFE_INTEGER)return!0;const i=s?r.stoneDepthAbove:0;return r.blockY+i>=r.waterHeight+t+r.surfaceDepth*e}}function a(t,e,s){return r=>{const i=s?r.stoneDepthAbove:0;return r.blockY+i>=t(r.context)+r.surfaceDepth*e}}t.FALSE=()=>!1,t.TRUE=()=>!0,t.fromJson=function(e){var l,u,h,c,f,m,d,p,g,v,w,b;const x=null!=(l=B.readObject(e))?l:{};switch(null==(u=B.readString(x.type))?void 0:u.replace(/^minecraft:/,\"\")){case\"above_preliminary_surface\":return t=>t.blockY>=t.minSurfaceLevel();case\"biome\":return s(null!=(h=B.readArray(x.biome_is,(t=>{var e;return null!=(e=B.readString(t))?e:\"\"})))?h:[]);case\"not\":return r(t.fromJson(x.invert));case\"stone_depth\":return i(null!=(c=B.readInt(x.offset))?c:0,null!=(f=B.readBoolean(x.add_surface_depth))&&f,null!=(m=B.readInt(x.secondary_depth_range))?m:0,\"ceiling\"===B.readString(x.surface_type));case\"vertical_gradient\":return n(null!=(d=B.readString(x.random_name))?d:\"\",xe.fromJson(x.true_at_and_below),xe.fromJson(x.false_at_and_above));case\"water\":return o(null!=(p=B.readInt(x.offset))?p:0,null!=(g=B.readInt(x.surface_depth_multiplier))?g:0,null!=(v=B.readBoolean(x.add_surface_depth))&&v);case\"y_above\":return a(xe.fromJson(x.anchor),null!=(w=B.readInt(x.surface_depth_multiplier))?w:0,null!=(b=B.readBoolean(x.add_surface_depth))&&b)}return t.FALSE},t.abovePreliminarySurface=e,t.biome=s,t.not=r,t.stoneDepth=i,t.verticalGradient=n,t.water=o,t.yAbove=a}(Ae||(Ae={}));class Le{constructor(t,e,s){this.biomeSource=e,this.settings=s,this.router=we.withSettings(s.noiseRouter,s.noise,t,s.legacyRandomSource),this.noiseChunkCache=new Map,this.surfaceSystem=new ke(s.surfaceRule,s.defaultBlock,t);const r=new ce(-54,G.LAVA),i=new ce(s.seaLevel,s.defaultFluid);this.globalFluidPicker=(t,e,n)=>e=0;m-=1)for(let u=o-1;u>=0;u-=1){const d=(l+m)*o+u,p=15&d,g=t.getSectionIndex(d);t.getSectionIndex(a.minBlockY)!==g&&(a=t.getOrCreateSection(g));for(let t=0;te))}getNoiseChunk(t){return T(this.noiseChunkCache,X.toLong(t.pos),(()=>{const e=Math.max(t.minY,this.settings.noise.minY),s=Math.min(t.maxY,this.settings.noise.minY+this.settings.noise.height),r=ne.cellWidth(this.settings.noise),i=ne.cellHeight(this.settings.noise),n=Math.floor(16/r),o=Math.floor(e/i),a=Math.floor((s-e)/i),l=X.minBlockX(t.pos),u=X.minBlockZ(t.pos);return new Oe(n,a,o,this.router,l,u,this.settings.noise,this.settings.aquifersEnabled,this.globalFluidPicker)}))}}(ye||(ye={})).fromJson=function(t){var e,s,r,i,n,o;const a=null!=(e=B.readObject(t))?e:{};return{surfaceRule:_e.fromJson(a.surface_rule),noise:ne.fromJson(a.noise),defaultBlock:G.fromJson(a.default_block),defaultFluid:G.fromJson(a.default_fluid),noiseRouter:we.fromJson(a.noise_router),seaLevel:null!=(s=B.readInt(a.sea_level))?s:0,disableMobGeneration:null!=(r=B.readBoolean(a.disable_mob_generation))&&r,aquifersEnabled:null!=(i=B.readBoolean(a.aquifers_enabled))&&i,oreVeinsEnabled:null!=(n=B.readBoolean(a.ore_veins_enabled))&&n,legacyRandomSource:null!=(o=B.readBoolean(a.legacy_random_source))&&o}};export{ue as Aquifer,At as BlendedNoise,Dt as BlockColors,Yt as BlockDefinition,qt as BlockModel,l as BlockPos,G as BlockState,H as Chunk,X as ChunkPos,Y as ChunkSection,de as Climate,ft as CubicSpline,he as DensityFunction,n as Direction,ge as FixedBiome,ce as FluidStatus,j as Holder,C as Identifier,St as ImprovedNoise,pt as LegacyPositionalRandom,dt as LegacyRandom,be as MaterialRule,ve as MultiNoise,f as NbtReader,m as NbtWriter,me as NoiseAquifer,Oe as NoiseChunk,Le as NoiseChunkGenerator,ye as NoiseGeneratorSettings,Nt as NoiseParameters,we as NoiseRouter,yt as NoiseSamplingSettings,ne as NoiseSettings,oe as NoiseSlideSettings,pe as Noises,It as NormalNoise,_t as PerlinNoise,Rt as PerlinSimplexNoise,q as Registry,xt as SimplexNoise,J as Structure,te as StructureRenderer,Ae as SurfaceCondition,Pe as SurfaceContext,_e as SurfaceRule,ke as SurfaceSystem,ie as TerrainShaper,se as TextureAtlas,xe as VerticalAnchor,Se as WorldgenContext,le as WorldgenRegistries,wt as XoroshiroPositionalRandom,vt as XoroshiroRandom,ut as binarySearch,$ as clamp,it as clampedLerp,lt as clampedMap,I as getListTag,N as getOptional,ht as getSeed,E as getTag,nt as inverseLerp,et as lazyLerp,st as lazyLerp2,rt as lazyLerp3,K as lerp,Q as lerp2,tt as lerp3,ct as longfromBytes,at as map,g as read,w as readChunk,p as readCompressed,v as readRegion,d as readUncompressed,ot as smoothstep,W as square,c as tagNames,h as tagTypes,S as write,A as writeChunk,x as writeCompressed,_ as writeRegion,b as writeUncompressed};\n//# sourceMappingURL=deepslate.esm.js.map\n"],"names":["t","s.create","s.transformMat4","r.create","r.identity","r.translate","r.rotateY","i.toRadian","r.rotateX","r.scale","s.fromValues","r.rotate","s.negate","r.perspective","s.subtract","s.cross","s.normalize","s.equals","r.copy"],"mappings":"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"} \ No newline at end of file diff --git a/assets/howler.97e6844a.js b/assets/howler.f611c948.js similarity index 99% rename from assets/howler.97e6844a.js rename to assets/howler.f611c948.js index 79b224c2..96bfc63f 100644 --- a/assets/howler.97e6844a.js +++ b/assets/howler.f611c948.js @@ -1,4 +1,4 @@ -import{c as S}from"./index.b990f5f5.js";function L(b,g){return g.forEach(function(r){r&&typeof r!="string"&&!Array.isArray(r)&&Object.keys(r).forEach(function(u){if(u!=="default"&&!(u in b)){var i=Object.getOwnPropertyDescriptor(r,u);Object.defineProperty(b,u,i.get?i:{enumerable:!0,get:function(){return r[u]}})}})}),Object.freeze(Object.defineProperty(b,Symbol.toStringTag,{value:"Module"}))}var O={};/*! +import{c as S}from"./index.38fdde83.js";function L(b,g){return g.forEach(function(r){r&&typeof r!="string"&&!Array.isArray(r)&&Object.keys(r).forEach(function(u){if(u!=="default"&&!(u in b)){var i=Object.getOwnPropertyDescriptor(r,u);Object.defineProperty(b,u,i.get?i:{enumerable:!0,get:function(){return r[u]}})}})}),Object.freeze(Object.defineProperty(b,Symbol.toStringTag,{value:"Module"}))}var O={};/*! * howler.js v2.2.3 * howlerjs.com * @@ -17,4 +17,4 @@ import{c as S}from"./index.b990f5f5.js";function L(b,g){return g.forEach(functio * * MIT License */(function(){HowlerGlobal.prototype._pos=[0,0,0],HowlerGlobal.prototype._orientation=[0,0,-1,0,1,0],HowlerGlobal.prototype.stereo=function(r){var u=this;if(!u.ctx||!u.ctx.listener)return u;for(var i=u._howls.length-1;i>=0;i--)u._howls[i].stereo(r);return u},HowlerGlobal.prototype.pos=function(r,u,i){var c=this;if(!c.ctx||!c.ctx.listener)return c;if(u=typeof u!="number"?c._pos[1]:u,i=typeof i!="number"?c._pos[2]:i,typeof r=="number")c._pos=[r,u,i],typeof c.ctx.listener.positionX!="undefined"?(c.ctx.listener.positionX.setTargetAtTime(c._pos[0],Howler.ctx.currentTime,.1),c.ctx.listener.positionY.setTargetAtTime(c._pos[1],Howler.ctx.currentTime,.1),c.ctx.listener.positionZ.setTargetAtTime(c._pos[2],Howler.ctx.currentTime,.1)):c.ctx.listener.setPosition(c._pos[0],c._pos[1],c._pos[2]);else return c._pos;return c},HowlerGlobal.prototype.orientation=function(r,u,i,c,d,h){var p=this;if(!p.ctx||!p.ctx.listener)return p;var s=p._orientation;if(u=typeof u!="number"?s[1]:u,i=typeof i!="number"?s[2]:i,c=typeof c!="number"?s[3]:c,d=typeof d!="number"?s[4]:d,h=typeof h!="number"?s[5]:h,typeof r=="number")p._orientation=[r,u,i,c,d,h],typeof p.ctx.listener.forwardX!="undefined"?(p.ctx.listener.forwardX.setTargetAtTime(r,Howler.ctx.currentTime,.1),p.ctx.listener.forwardY.setTargetAtTime(u,Howler.ctx.currentTime,.1),p.ctx.listener.forwardZ.setTargetAtTime(i,Howler.ctx.currentTime,.1),p.ctx.listener.upX.setTargetAtTime(c,Howler.ctx.currentTime,.1),p.ctx.listener.upY.setTargetAtTime(d,Howler.ctx.currentTime,.1),p.ctx.listener.upZ.setTargetAtTime(h,Howler.ctx.currentTime,.1)):p.ctx.listener.setOrientation(r,u,i,c,d,h);else return s;return p},Howl.prototype.init=function(r){return function(u){var i=this;return i._orientation=u.orientation||[1,0,0],i._stereo=u.stereo||null,i._pos=u.pos||null,i._pannerAttr={coneInnerAngle:typeof u.coneInnerAngle!="undefined"?u.coneInnerAngle:360,coneOuterAngle:typeof u.coneOuterAngle!="undefined"?u.coneOuterAngle:360,coneOuterGain:typeof u.coneOuterGain!="undefined"?u.coneOuterGain:0,distanceModel:typeof u.distanceModel!="undefined"?u.distanceModel:"inverse",maxDistance:typeof u.maxDistance!="undefined"?u.maxDistance:1e4,panningModel:typeof u.panningModel!="undefined"?u.panningModel:"HRTF",refDistance:typeof u.refDistance!="undefined"?u.refDistance:1,rolloffFactor:typeof u.rolloffFactor!="undefined"?u.rolloffFactor:1},i._onstereo=u.onstereo?[{fn:u.onstereo}]:[],i._onpos=u.onpos?[{fn:u.onpos}]:[],i._onorientation=u.onorientation?[{fn:u.onorientation}]:[],r.call(this,u)}}(Howl.prototype.init),Howl.prototype.stereo=function(r,u){var i=this;if(!i._webAudio)return i;if(i._state!=="loaded")return i._queue.push({event:"stereo",action:function(){i.stereo(r,u)}}),i;var c=typeof Howler.ctx.createStereoPanner=="undefined"?"spatial":"stereo";if(typeof u=="undefined")if(typeof r=="number")i._stereo=r,i._pos=[r,0,0];else return i._stereo;for(var d=i._getSoundIds(u),h=0;h= 0 && vol <= 1) {\n self._volume = vol;\n\n // Don't update any of the nodes if we are muted.\n if (self._muted) {\n return self;\n }\n\n // When using Web Audio, we just need to adjust the master gain.\n if (self.usingWebAudio) {\n self.masterGain.gain.setValueAtTime(vol, Howler.ctx.currentTime);\n }\n\n // Loop through and change volume for all HTML5 audio nodes.\n for (var i=0; i=0; i--) {\n self._howls[i].unload();\n }\n\n // Create a new AudioContext to make sure it is fully reset.\n if (self.usingWebAudio && self.ctx && typeof self.ctx.close !== 'undefined') {\n self.ctx.close();\n self.ctx = null;\n setupAudioContext();\n }\n\n return self;\n },\n\n /**\n * Check for codec support of specific extension.\n * @param {String} ext Audio file extention.\n * @return {Boolean}\n */\n codecs: function(ext) {\n return (this || Howler)._codecs[ext.replace(/^x-/, '')];\n },\n\n /**\n * Setup various state values for global tracking.\n * @return {Howler}\n */\n _setup: function() {\n var self = this || Howler;\n\n // Keeps track of the suspend/resume state of the AudioContext.\n self.state = self.ctx ? self.ctx.state || 'suspended' : 'suspended';\n\n // Automatically begin the 30-second suspend process\n self._autoSuspend();\n\n // Check if audio is available.\n if (!self.usingWebAudio) {\n // No audio is available on this system if noAudio is set to true.\n if (typeof Audio !== 'undefined') {\n try {\n var test = new Audio();\n\n // Check if the canplaythrough event is available.\n if (typeof test.oncanplaythrough === 'undefined') {\n self._canPlayEvent = 'canplay';\n }\n } catch(e) {\n self.noAudio = true;\n }\n } else {\n self.noAudio = true;\n }\n }\n\n // Test to make sure audio isn't disabled in Internet Explorer.\n try {\n var test = new Audio();\n if (test.muted) {\n self.noAudio = true;\n }\n } catch (e) {}\n\n // Check for supported codecs.\n if (!self.noAudio) {\n self._setupCodecs();\n }\n\n return self;\n },\n\n /**\n * Check for browser support for various codecs and cache the results.\n * @return {Howler}\n */\n _setupCodecs: function() {\n var self = this || Howler;\n var audioTest = null;\n\n // Must wrap in a try/catch because IE11 in server mode throws an error.\n try {\n audioTest = (typeof Audio !== 'undefined') ? new Audio() : null;\n } catch (err) {\n return self;\n }\n\n if (!audioTest || typeof audioTest.canPlayType !== 'function') {\n return self;\n }\n\n var mpegTest = audioTest.canPlayType('audio/mpeg;').replace(/^no$/, '');\n\n // Opera version <33 has mixed MP3 support, so we need to check for and block it.\n var ua = self._navigator ? self._navigator.userAgent : '';\n var checkOpera = ua.match(/OPR\\/([0-6].)/g);\n var isOldOpera = (checkOpera && parseInt(checkOpera[0].split('/')[1], 10) < 33);\n var checkSafari = ua.indexOf('Safari') !== -1 && ua.indexOf('Chrome') === -1;\n var safariVersion = ua.match(/Version\\/(.*?) /);\n var isOldSafari = (checkSafari && safariVersion && parseInt(safariVersion[1], 10) < 15);\n\n self._codecs = {\n mp3: !!(!isOldOpera && (mpegTest || audioTest.canPlayType('audio/mp3;').replace(/^no$/, ''))),\n mpeg: !!mpegTest,\n opus: !!audioTest.canPlayType('audio/ogg; codecs=\"opus\"').replace(/^no$/, ''),\n ogg: !!audioTest.canPlayType('audio/ogg; codecs=\"vorbis\"').replace(/^no$/, ''),\n oga: !!audioTest.canPlayType('audio/ogg; codecs=\"vorbis\"').replace(/^no$/, ''),\n wav: !!(audioTest.canPlayType('audio/wav; codecs=\"1\"') || audioTest.canPlayType('audio/wav')).replace(/^no$/, ''),\n aac: !!audioTest.canPlayType('audio/aac;').replace(/^no$/, ''),\n caf: !!audioTest.canPlayType('audio/x-caf;').replace(/^no$/, ''),\n m4a: !!(audioTest.canPlayType('audio/x-m4a;') || audioTest.canPlayType('audio/m4a;') || audioTest.canPlayType('audio/aac;')).replace(/^no$/, ''),\n m4b: !!(audioTest.canPlayType('audio/x-m4b;') || audioTest.canPlayType('audio/m4b;') || audioTest.canPlayType('audio/aac;')).replace(/^no$/, ''),\n mp4: !!(audioTest.canPlayType('audio/x-mp4;') || audioTest.canPlayType('audio/mp4;') || audioTest.canPlayType('audio/aac;')).replace(/^no$/, ''),\n weba: !!(!isOldSafari && audioTest.canPlayType('audio/webm; codecs=\"vorbis\"').replace(/^no$/, '')),\n webm: !!(!isOldSafari && audioTest.canPlayType('audio/webm; codecs=\"vorbis\"').replace(/^no$/, '')),\n dolby: !!audioTest.canPlayType('audio/mp4; codecs=\"ec-3\"').replace(/^no$/, ''),\n flac: !!(audioTest.canPlayType('audio/x-flac;') || audioTest.canPlayType('audio/flac;')).replace(/^no$/, '')\n };\n\n return self;\n },\n\n /**\n * Some browsers/devices will only allow audio to be played after a user interaction.\n * Attempt to automatically unlock audio on the first user interaction.\n * Concept from: http://paulbakaus.com/tutorials/html5/web-audio-on-ios/\n * @return {Howler}\n */\n _unlockAudio: function() {\n var self = this || Howler;\n\n // Only run this if Web Audio is supported and it hasn't already been unlocked.\n if (self._audioUnlocked || !self.ctx) {\n return;\n }\n\n self._audioUnlocked = false;\n self.autoUnlock = false;\n\n // Some mobile devices/platforms have distortion issues when opening/closing tabs and/or web views.\n // Bugs in the browser (especially Mobile Safari) can cause the sampleRate to change from 44100 to 48000.\n // By calling Howler.unload(), we create a new AudioContext with the correct sampleRate.\n if (!self._mobileUnloaded && self.ctx.sampleRate !== 44100) {\n self._mobileUnloaded = true;\n self.unload();\n }\n\n // Scratch buffer for enabling iOS to dispose of web audio buffers correctly, as per:\n // http://stackoverflow.com/questions/24119684\n self._scratchBuffer = self.ctx.createBuffer(1, 1, 22050);\n\n // Call this method on touch start to create and play a buffer,\n // then check if the audio actually played to determine if\n // audio has now been unlocked on iOS, Android, etc.\n var unlock = function(e) {\n // Create a pool of unlocked HTML5 Audio objects that can\n // be used for playing sounds without user interaction. HTML5\n // Audio objects must be individually unlocked, as opposed\n // to the WebAudio API which only needs a single activation.\n // This must occur before WebAudio setup or the source.onended\n // event will not fire.\n while (self._html5AudioPool.length < self.html5PoolSize) {\n try {\n var audioNode = new Audio();\n\n // Mark this Audio object as unlocked to ensure it can get returned\n // to the unlocked pool when released.\n audioNode._unlocked = true;\n\n // Add the audio node to the pool.\n self._releaseHtml5Audio(audioNode);\n } catch (e) {\n self.noAudio = true;\n break;\n }\n }\n\n // Loop through any assigned audio nodes and unlock them.\n for (var i=0; i= 55.\n if (typeof self.ctx.resume === 'function') {\n self.ctx.resume();\n }\n\n // Setup a timeout to check that we are unlocked on the next event loop.\n source.onended = function() {\n source.disconnect(0);\n\n // Update the unlocked state and prevent this check from happening again.\n self._audioUnlocked = true;\n\n // Remove the touch start listener.\n document.removeEventListener('touchstart', unlock, true);\n document.removeEventListener('touchend', unlock, true);\n document.removeEventListener('click', unlock, true);\n document.removeEventListener('keydown', unlock, true);\n\n // Let all sounds know that audio has been unlocked.\n for (var i=0; i 0 ? sound._seek : self._sprite[sprite][0] / 1000);\n var duration = Math.max(0, ((self._sprite[sprite][0] + self._sprite[sprite][1]) / 1000) - seek);\n var timeout = (duration * 1000) / Math.abs(sound._rate);\n var start = self._sprite[sprite][0] / 1000;\n var stop = (self._sprite[sprite][0] + self._sprite[sprite][1]) / 1000;\n sound._sprite = sprite;\n\n // Mark the sound as ended instantly so that this async playback\n // doesn't get grabbed by another call to play while this one waits to start.\n sound._ended = false;\n\n // Update the parameters of the sound.\n var setParams = function() {\n sound._paused = false;\n sound._seek = seek;\n sound._start = start;\n sound._stop = stop;\n sound._loop = !!(sound._loop || self._sprite[sprite][2]);\n };\n\n // End the sound instantly if seek is at the end.\n if (seek >= stop) {\n self._ended(sound);\n return;\n }\n\n // Begin the actual playback.\n var node = sound._node;\n if (self._webAudio) {\n // Fire this when the sound is ready to play to begin Web Audio playback.\n var playWebAudio = function() {\n self._playLock = false;\n setParams();\n self._refreshBuffer(sound);\n\n // Setup the playback params.\n var vol = (sound._muted || self._muted) ? 0 : sound._volume;\n node.gain.setValueAtTime(vol, Howler.ctx.currentTime);\n sound._playStart = Howler.ctx.currentTime;\n\n // Play the sound using the supported method.\n if (typeof node.bufferSource.start === 'undefined') {\n sound._loop ? node.bufferSource.noteGrainOn(0, seek, 86400) : node.bufferSource.noteGrainOn(0, seek, duration);\n } else {\n sound._loop ? node.bufferSource.start(0, seek, 86400) : node.bufferSource.start(0, seek, duration);\n }\n\n // Start a new timer if none is present.\n if (timeout !== Infinity) {\n self._endTimers[sound._id] = setTimeout(self._ended.bind(self, sound), timeout);\n }\n\n if (!internal) {\n setTimeout(function() {\n self._emit('play', sound._id);\n self._loadQueue();\n }, 0);\n }\n };\n\n if (Howler.state === 'running' && Howler.ctx.state !== 'interrupted') {\n playWebAudio();\n } else {\n self._playLock = true;\n\n // Wait for the audio context to resume before playing.\n self.once('resume', playWebAudio);\n\n // Cancel the end timer.\n self._clearTimer(sound._id);\n }\n } else {\n // Fire this when the sound is ready to play to begin HTML5 Audio playback.\n var playHtml5 = function() {\n node.currentTime = seek;\n node.muted = sound._muted || self._muted || Howler._muted || node.muted;\n node.volume = sound._volume * Howler.volume();\n node.playbackRate = sound._rate;\n\n // Some browsers will throw an error if this is called without user interaction.\n try {\n var play = node.play();\n\n // Support older browsers that don't support promises, and thus don't have this issue.\n if (play && typeof Promise !== 'undefined' && (play instanceof Promise || typeof play.then === 'function')) {\n // Implements a lock to prevent DOMException: The play() request was interrupted by a call to pause().\n self._playLock = true;\n\n // Set param values immediately.\n setParams();\n\n // Releases the lock and executes queued actions.\n play\n .then(function() {\n self._playLock = false;\n node._unlocked = true;\n if (!internal) {\n self._emit('play', sound._id);\n } else {\n self._loadQueue();\n }\n })\n .catch(function() {\n self._playLock = false;\n self._emit('playerror', sound._id, 'Playback was unable to start. This is most commonly an issue ' +\n 'on mobile devices and Chrome where playback was not within a user interaction.');\n\n // Reset the ended and paused values.\n sound._ended = true;\n sound._paused = true;\n });\n } else if (!internal) {\n self._playLock = false;\n setParams();\n self._emit('play', sound._id);\n }\n\n // Setting rate before playing won't work in IE, so we set it again here.\n node.playbackRate = sound._rate;\n\n // If the node is still paused, then we can assume there was a playback issue.\n if (node.paused) {\n self._emit('playerror', sound._id, 'Playback was unable to start. This is most commonly an issue ' +\n 'on mobile devices and Chrome where playback was not within a user interaction.');\n return;\n }\n\n // Setup the end timer on sprites or listen for the ended event.\n if (sprite !== '__default' || sound._loop) {\n self._endTimers[sound._id] = setTimeout(self._ended.bind(self, sound), timeout);\n } else {\n self._endTimers[sound._id] = function() {\n // Fire ended on this audio node.\n self._ended(sound);\n\n // Clear this listener.\n node.removeEventListener('ended', self._endTimers[sound._id], false);\n };\n node.addEventListener('ended', self._endTimers[sound._id], false);\n }\n } catch (err) {\n self._emit('playerror', sound._id, err);\n }\n };\n\n // If this is streaming audio, make sure the src is set and load again.\n if (node.src === 'data:audio/wav;base64,UklGRigAAABXQVZFZm10IBIAAAABAAEARKwAAIhYAQACABAAAABkYXRhAgAAAAEA') {\n node.src = self._src;\n node.load();\n }\n\n // Play immediately if ready, or wait for the 'canplaythrough'e vent.\n var loadedNoReadyState = (window && window.ejecta) || (!node.readyState && Howler._navigator.isCocoonJS);\n if (node.readyState >= 3 || loadedNoReadyState) {\n playHtml5();\n } else {\n self._playLock = true;\n self._state = 'loading';\n\n var listener = function() {\n self._state = 'loaded';\n \n // Begin playback.\n playHtml5();\n\n // Clear this listener.\n node.removeEventListener(Howler._canPlayEvent, listener, false);\n };\n node.addEventListener(Howler._canPlayEvent, listener, false);\n\n // Cancel the end timer.\n self._clearTimer(sound._id);\n }\n }\n\n return sound._id;\n },\n\n /**\n * Pause playback and save current position.\n * @param {Number} id The sound ID (empty to pause all in group).\n * @return {Howl}\n */\n pause: function(id) {\n var self = this;\n\n // If the sound hasn't loaded or a play() promise is pending, add it to the load queue to pause when capable.\n if (self._state !== 'loaded' || self._playLock) {\n self._queue.push({\n event: 'pause',\n action: function() {\n self.pause(id);\n }\n });\n\n return self;\n }\n\n // If no id is passed, get all ID's to be paused.\n var ids = self._getSoundIds(id);\n\n for (var i=0; i Returns the group's volume value.\n * volume(id) -> Returns the sound id's current volume.\n * volume(vol) -> Sets the volume of all sounds in this Howl group.\n * volume(vol, id) -> Sets the volume of passed sound id.\n * @return {Howl/Number} Returns self or current volume.\n */\n volume: function() {\n var self = this;\n var args = arguments;\n var vol, id;\n\n // Determine the values based on arguments.\n if (args.length === 0) {\n // Return the value of the groups' volume.\n return self._volume;\n } else if (args.length === 1 || args.length === 2 && typeof args[1] === 'undefined') {\n // First check if this is an ID, and if not, assume it is a new volume.\n var ids = self._getSoundIds();\n var index = ids.indexOf(args[0]);\n if (index >= 0) {\n id = parseInt(args[0], 10);\n } else {\n vol = parseFloat(args[0]);\n }\n } else if (args.length >= 2) {\n vol = parseFloat(args[0]);\n id = parseInt(args[1], 10);\n }\n\n // Update the volume or return the current volume.\n var sound;\n if (typeof vol !== 'undefined' && vol >= 0 && vol <= 1) {\n // If the sound hasn't loaded, add it to the load queue to change volume when capable.\n if (self._state !== 'loaded'|| self._playLock) {\n self._queue.push({\n event: 'volume',\n action: function() {\n self.volume.apply(self, args);\n }\n });\n\n return self;\n }\n\n // Set the group volume.\n if (typeof id === 'undefined') {\n self._volume = vol;\n }\n\n // Update one or all volumes.\n id = self._getSoundIds(id);\n for (var i=0; i 0) ? len / steps : len);\n var lastTick = Date.now();\n\n // Store the value being faded to.\n sound._fadeTo = to;\n\n // Update the volume value on each interval tick.\n sound._interval = setInterval(function() {\n // Update the volume based on the time since the last tick.\n var tick = (Date.now() - lastTick) / len;\n lastTick = Date.now();\n vol += diff * tick;\n\n // Round to within 2 decimal points.\n vol = Math.round(vol * 100) / 100;\n\n // Make sure the volume is in the right bounds.\n if (diff < 0) {\n vol = Math.max(to, vol);\n } else {\n vol = Math.min(to, vol);\n }\n\n // Change the volume.\n if (self._webAudio) {\n sound._volume = vol;\n } else {\n self.volume(vol, sound._id, true);\n }\n\n // Set the group's volume.\n if (isGroup) {\n self._volume = vol;\n }\n\n // When the fade is complete, stop it and fire event.\n if ((to < from && vol <= to) || (to > from && vol >= to)) {\n clearInterval(sound._interval);\n sound._interval = null;\n sound._fadeTo = null;\n self.volume(to, sound._id);\n self._emit('fade', sound._id);\n }\n }, stepLen);\n },\n\n /**\n * Internal method that stops the currently playing fade when\n * a new fade starts, volume is changed or the sound is stopped.\n * @param {Number} id The sound id.\n * @return {Howl}\n */\n _stopFade: function(id) {\n var self = this;\n var sound = self._soundById(id);\n\n if (sound && sound._interval) {\n if (self._webAudio) {\n sound._node.gain.cancelScheduledValues(Howler.ctx.currentTime);\n }\n\n clearInterval(sound._interval);\n sound._interval = null;\n self.volume(sound._fadeTo, id);\n sound._fadeTo = null;\n self._emit('fade', id);\n }\n\n return self;\n },\n\n /**\n * Get/set the loop parameter on a sound. This method can optionally take 0, 1 or 2 arguments.\n * loop() -> Returns the group's loop value.\n * loop(id) -> Returns the sound id's loop value.\n * loop(loop) -> Sets the loop value for all sounds in this Howl group.\n * loop(loop, id) -> Sets the loop value of passed sound id.\n * @return {Howl/Boolean} Returns self or current loop value.\n */\n loop: function() {\n var self = this;\n var args = arguments;\n var loop, id, sound;\n\n // Determine the values for loop and id.\n if (args.length === 0) {\n // Return the grou's loop value.\n return self._loop;\n } else if (args.length === 1) {\n if (typeof args[0] === 'boolean') {\n loop = args[0];\n self._loop = loop;\n } else {\n // Return this sound's loop value.\n sound = self._soundById(parseInt(args[0], 10));\n return sound ? sound._loop : false;\n }\n } else if (args.length === 2) {\n loop = args[0];\n id = parseInt(args[1], 10);\n }\n\n // If no id is passed, get all ID's to be looped.\n var ids = self._getSoundIds(id);\n for (var i=0; i Returns the first sound node's current playback rate.\n * rate(id) -> Returns the sound id's current playback rate.\n * rate(rate) -> Sets the playback rate of all sounds in this Howl group.\n * rate(rate, id) -> Sets the playback rate of passed sound id.\n * @return {Howl/Number} Returns self or the current playback rate.\n */\n rate: function() {\n var self = this;\n var args = arguments;\n var rate, id;\n\n // Determine the values based on arguments.\n if (args.length === 0) {\n // We will simply return the current rate of the first node.\n id = self._sounds[0]._id;\n } else if (args.length === 1) {\n // First check if this is an ID, and if not, assume it is a new rate value.\n var ids = self._getSoundIds();\n var index = ids.indexOf(args[0]);\n if (index >= 0) {\n id = parseInt(args[0], 10);\n } else {\n rate = parseFloat(args[0]);\n }\n } else if (args.length === 2) {\n rate = parseFloat(args[0]);\n id = parseInt(args[1], 10);\n }\n\n // Update the playback rate or return the current value.\n var sound;\n if (typeof rate === 'number') {\n // If the sound hasn't loaded, add it to the load queue to change playback rate when capable.\n if (self._state !== 'loaded' || self._playLock) {\n self._queue.push({\n event: 'rate',\n action: function() {\n self.rate.apply(self, args);\n }\n });\n\n return self;\n }\n\n // Set the group rate.\n if (typeof id === 'undefined') {\n self._rate = rate;\n }\n\n // Update one or all volumes.\n id = self._getSoundIds(id);\n for (var i=0; i Returns the first sound node's current seek position.\n * seek(id) -> Returns the sound id's current seek position.\n * seek(seek) -> Sets the seek position of the first sound node.\n * seek(seek, id) -> Sets the seek position of passed sound id.\n * @return {Howl/Number} Returns self or the current seek position.\n */\n seek: function() {\n var self = this;\n var args = arguments;\n var seek, id;\n\n // Determine the values based on arguments.\n if (args.length === 0) {\n // We will simply return the current position of the first node.\n if (self._sounds.length) {\n id = self._sounds[0]._id;\n }\n } else if (args.length === 1) {\n // First check if this is an ID, and if not, assume it is a new seek position.\n var ids = self._getSoundIds();\n var index = ids.indexOf(args[0]);\n if (index >= 0) {\n id = parseInt(args[0], 10);\n } else if (self._sounds.length) {\n id = self._sounds[0]._id;\n seek = parseFloat(args[0]);\n }\n } else if (args.length === 2) {\n seek = parseFloat(args[0]);\n id = parseInt(args[1], 10);\n }\n\n // If there is no ID, bail out.\n if (typeof id === 'undefined') {\n return 0;\n }\n\n // If the sound hasn't loaded, add it to the load queue to seek when capable.\n if (typeof seek === 'number' && (self._state !== 'loaded' || self._playLock)) {\n self._queue.push({\n event: 'seek',\n action: function() {\n self.seek.apply(self, args);\n }\n });\n\n return self;\n }\n\n // Get the sound.\n var sound = self._soundById(id);\n\n if (sound) {\n if (typeof seek === 'number' && seek >= 0) {\n // Pause the sound and update position for restarting playback.\n var playing = self.playing(id);\n if (playing) {\n self.pause(id, true);\n }\n\n // Move the position of the track and cancel timer.\n sound._seek = seek;\n sound._ended = false;\n self._clearTimer(id);\n\n // Update the seek position for HTML5 Audio.\n if (!self._webAudio && sound._node && !isNaN(sound._node.duration)) {\n sound._node.currentTime = seek;\n }\n\n // Seek and emit when ready.\n var seekAndEmit = function() {\n // Restart the playback if the sound was playing.\n if (playing) {\n self.play(id, true);\n }\n\n self._emit('seek', id);\n };\n\n // Wait for the play lock to be unset before emitting (HTML5 Audio).\n if (playing && !self._webAudio) {\n var emitSeek = function() {\n if (!self._playLock) {\n seekAndEmit();\n } else {\n setTimeout(emitSeek, 0);\n }\n };\n setTimeout(emitSeek, 0);\n } else {\n seekAndEmit();\n }\n } else {\n if (self._webAudio) {\n var realTime = self.playing(id) ? Howler.ctx.currentTime - sound._playStart : 0;\n var rateSeek = sound._rateSeek ? sound._rateSeek - sound._seek : 0;\n return sound._seek + (rateSeek + realTime * Math.abs(sound._rate));\n } else {\n return sound._node.currentTime;\n }\n }\n }\n\n return self;\n },\n\n /**\n * Check if a specific sound is currently playing or not (if id is provided), or check if at least one of the sounds in the group is playing or not.\n * @param {Number} id The sound id to check. If none is passed, the whole sound group is checked.\n * @return {Boolean} True if playing and false if not.\n */\n playing: function(id) {\n var self = this;\n\n // Check the passed sound ID (if any).\n if (typeof id === 'number') {\n var sound = self._soundById(id);\n return sound ? !sound._paused : false;\n }\n\n // Otherwise, loop through all sounds and check if any are playing.\n for (var i=0; i= 0) {\n Howler._howls.splice(index, 1);\n }\n\n // Delete this sound from the cache (if no other Howl is using it).\n var remCache = true;\n for (i=0; i= 0) {\n remCache = false;\n break;\n }\n }\n\n if (cache && remCache) {\n delete cache[self._src];\n }\n\n // Clear global errors.\n Howler.noAudio = false;\n\n // Clear out `self`.\n self._state = 'unloaded';\n self._sounds = [];\n self = null;\n\n return null;\n },\n\n /**\n * Listen to a custom event.\n * @param {String} event Event name.\n * @param {Function} fn Listener to call.\n * @param {Number} id (optional) Only listen to events for this sound.\n * @param {Number} once (INTERNAL) Marks event to fire only once.\n * @return {Howl}\n */\n on: function(event, fn, id, once) {\n var self = this;\n var events = self['_on' + event];\n\n if (typeof fn === 'function') {\n events.push(once ? {id: id, fn: fn, once: once} : {id: id, fn: fn});\n }\n\n return self;\n },\n\n /**\n * Remove a custom event. Call without parameters to remove all events.\n * @param {String} event Event name.\n * @param {Function} fn Listener to remove. Leave empty to remove all.\n * @param {Number} id (optional) Only remove events for this sound.\n * @return {Howl}\n */\n off: function(event, fn, id) {\n var self = this;\n var events = self['_on' + event];\n var i = 0;\n\n // Allow passing just an event and ID.\n if (typeof fn === 'number') {\n id = fn;\n fn = null;\n }\n\n if (fn || id) {\n // Loop through event store and remove the passed function.\n for (i=0; i=0; i--) {\n // Only fire the listener if the correct ID is used.\n if (!events[i].id || events[i].id === id || event === 'load') {\n setTimeout(function(fn) {\n fn.call(this, id, msg);\n }.bind(self, events[i].fn), 0);\n\n // If this event was setup with `once`, remove it.\n if (events[i].once) {\n self.off(event, events[i].fn, events[i].id);\n }\n }\n }\n\n // Pass the event type into load queue so that it can continue stepping.\n self._loadQueue(event);\n\n return self;\n },\n\n /**\n * Queue of actions initiated before the sound has loaded.\n * These will be called in sequence, with the next only firing\n * after the previous has finished executing (even if async like play).\n * @return {Howl}\n */\n _loadQueue: function(event) {\n var self = this;\n\n if (self._queue.length > 0) {\n var task = self._queue[0];\n\n // Remove this task if a matching event was passed.\n if (task.event === event) {\n self._queue.shift();\n self._loadQueue();\n }\n\n // Run the task if no event type is passed.\n if (!event) {\n task.action();\n }\n }\n\n return self;\n },\n\n /**\n * Fired when playback ends at the end of the duration.\n * @param {Sound} sound The sound object to work with.\n * @return {Howl}\n */\n _ended: function(sound) {\n var self = this;\n var sprite = sound._sprite;\n\n // If we are using IE and there was network latency we may be clipping\n // audio before it completes playing. Lets check the node to make sure it\n // believes it has completed, before ending the playback.\n if (!self._webAudio && sound._node && !sound._node.paused && !sound._node.ended && sound._node.currentTime < sound._stop) {\n setTimeout(self._ended.bind(self, sound), 100);\n return self;\n }\n\n // Should this sound loop?\n var loop = !!(sound._loop || self._sprite[sprite][2]);\n\n // Fire the ended event.\n self._emit('end', sound._id);\n\n // Restart the playback for HTML5 Audio loop.\n if (!self._webAudio && loop) {\n self.stop(sound._id, true).play(sound._id);\n }\n\n // Restart this timer if on a Web Audio loop.\n if (self._webAudio && loop) {\n self._emit('play', sound._id);\n sound._seek = sound._start || 0;\n sound._rateSeek = 0;\n sound._playStart = Howler.ctx.currentTime;\n\n var timeout = ((sound._stop - sound._start) * 1000) / Math.abs(sound._rate);\n self._endTimers[sound._id] = setTimeout(self._ended.bind(self, sound), timeout);\n }\n\n // Mark the node as paused.\n if (self._webAudio && !loop) {\n sound._paused = true;\n sound._ended = true;\n sound._seek = sound._start || 0;\n sound._rateSeek = 0;\n self._clearTimer(sound._id);\n\n // Clean up the buffer source.\n self._cleanBuffer(sound._node);\n\n // Attempt to auto-suspend AudioContext if no sounds are still playing.\n Howler._autoSuspend();\n }\n\n // When using a sprite, end the track.\n if (!self._webAudio && !loop) {\n self.stop(sound._id, true);\n }\n\n return self;\n },\n\n /**\n * Clear the end timer for a sound playback.\n * @param {Number} id The sound ID.\n * @return {Howl}\n */\n _clearTimer: function(id) {\n var self = this;\n\n if (self._endTimers[id]) {\n // Clear the timeout or remove the ended listener.\n if (typeof self._endTimers[id] !== 'function') {\n clearTimeout(self._endTimers[id]);\n } else {\n var sound = self._soundById(id);\n if (sound && sound._node) {\n sound._node.removeEventListener('ended', self._endTimers[id], false);\n }\n }\n\n delete self._endTimers[id];\n }\n\n return self;\n },\n\n /**\n * Return the sound identified by this ID, or return null.\n * @param {Number} id Sound ID\n * @return {Object} Sound object or null.\n */\n _soundById: function(id) {\n var self = this;\n\n // Loop through all sounds and find the one with this ID.\n for (var i=0; i=0; i--) {\n if (cnt <= limit) {\n return;\n }\n\n if (self._sounds[i]._ended) {\n // Disconnect the audio source when using Web Audio.\n if (self._webAudio && self._sounds[i]._node) {\n self._sounds[i]._node.disconnect(0);\n }\n\n // Remove sounds until we have the pool size.\n self._sounds.splice(i, 1);\n cnt--;\n }\n }\n },\n\n /**\n * Get all ID's from the sounds pool.\n * @param {Number} id Only return one ID if one is passed.\n * @return {Array} Array of IDs.\n */\n _getSoundIds: function(id) {\n var self = this;\n\n if (typeof id === 'undefined') {\n var ids = [];\n for (var i=0; i= 0;\n\n if (Howler._scratchBuffer && node.bufferSource) {\n node.bufferSource.onended = null;\n node.bufferSource.disconnect(0);\n if (isIOS) {\n try { node.bufferSource.buffer = Howler._scratchBuffer; } catch(e) {}\n }\n }\n node.bufferSource = null;\n\n return self;\n },\n\n /**\n * Set the source to a 0-second silence to stop any downloading (except in IE).\n * @param {Object} node Audio node to clear.\n */\n _clearSound: function(node) {\n var checkIE = /MSIE |Trident\\//.test(Howler._navigator && Howler._navigator.userAgent);\n if (!checkIE) {\n node.src = 'data:audio/wav;base64,UklGRigAAABXQVZFZm10IBIAAAABAAEARKwAAIhYAQACABAAAABkYXRhAgAAAAEA';\n }\n }\n };\n\n /** Single Sound Methods **/\n /***************************************************************************/\n\n /**\n * Setup the sound object, which each node attached to a Howl group is contained in.\n * @param {Object} howl The Howl parent group.\n */\n var Sound = function(howl) {\n this._parent = howl;\n this.init();\n };\n Sound.prototype = {\n /**\n * Initialize a new Sound object.\n * @return {Sound}\n */\n init: function() {\n var self = this;\n var parent = self._parent;\n\n // Setup the default parameters.\n self._muted = parent._muted;\n self._loop = parent._loop;\n self._volume = parent._volume;\n self._rate = parent._rate;\n self._seek = 0;\n self._paused = true;\n self._ended = true;\n self._sprite = '__default';\n\n // Generate a unique ID for this sound.\n self._id = ++Howler._counter;\n\n // Add itself to the parent's pool.\n parent._sounds.push(self);\n\n // Create the new node.\n self.create();\n\n return self;\n },\n\n /**\n * Create and setup a new sound object, whether HTML5 Audio or Web Audio.\n * @return {Sound}\n */\n create: function() {\n var self = this;\n var parent = self._parent;\n var volume = (Howler._muted || self._muted || self._parent._muted) ? 0 : self._volume;\n\n if (parent._webAudio) {\n // Create the gain node for controlling volume (the source will connect to this).\n self._node = (typeof Howler.ctx.createGain === 'undefined') ? Howler.ctx.createGainNode() : Howler.ctx.createGain();\n self._node.gain.setValueAtTime(volume, Howler.ctx.currentTime);\n self._node.paused = true;\n self._node.connect(Howler.masterGain);\n } else if (!Howler.noAudio) {\n // Get an unlocked Audio object from the pool.\n self._node = Howler._obtainHtml5Audio();\n\n // Listen for errors (http://dev.w3.org/html5/spec-author-view/spec.html#mediaerror).\n self._errorFn = self._errorListener.bind(self);\n self._node.addEventListener('error', self._errorFn, false);\n\n // Listen for 'canplaythrough' event to let us know the sound is ready.\n self._loadFn = self._loadListener.bind(self);\n self._node.addEventListener(Howler._canPlayEvent, self._loadFn, false);\n\n // Listen for the 'ended' event on the sound to account for edge-case where\n // a finite sound has a duration of Infinity.\n self._endFn = self._endListener.bind(self);\n self._node.addEventListener('ended', self._endFn, false);\n\n // Setup the new audio node.\n self._node.src = parent._src;\n self._node.preload = parent._preload === true ? 'auto' : parent._preload;\n self._node.volume = volume * Howler.volume();\n\n // Begin loading the source.\n self._node.load();\n }\n\n return self;\n },\n\n /**\n * Reset the parameters of this sound to the original state (for recycle).\n * @return {Sound}\n */\n reset: function() {\n var self = this;\n var parent = self._parent;\n\n // Reset all of the parameters of this sound.\n self._muted = parent._muted;\n self._loop = parent._loop;\n self._volume = parent._volume;\n self._rate = parent._rate;\n self._seek = 0;\n self._rateSeek = 0;\n self._paused = true;\n self._ended = true;\n self._sprite = '__default';\n\n // Generate a new ID so that it isn't confused with the previous sound.\n self._id = ++Howler._counter;\n\n return self;\n },\n\n /**\n * HTML5 Audio error listener callback.\n */\n _errorListener: function() {\n var self = this;\n\n // Fire an error event and pass back the code.\n self._parent._emit('loaderror', self._id, self._node.error ? self._node.error.code : 0);\n\n // Clear the event listener.\n self._node.removeEventListener('error', self._errorFn, false);\n },\n\n /**\n * HTML5 Audio canplaythrough listener callback.\n */\n _loadListener: function() {\n var self = this;\n var parent = self._parent;\n\n // Round up the duration to account for the lower precision in HTML5 Audio.\n parent._duration = Math.ceil(self._node.duration * 10) / 10;\n\n // Setup a sprite if none is defined.\n if (Object.keys(parent._sprite).length === 0) {\n parent._sprite = {__default: [0, parent._duration * 1000]};\n }\n\n if (parent._state !== 'loaded') {\n parent._state = 'loaded';\n parent._emit('load');\n parent._loadQueue();\n }\n\n // Clear the event listener.\n self._node.removeEventListener(Howler._canPlayEvent, self._loadFn, false);\n },\n\n /**\n * HTML5 Audio ended listener callback.\n */\n _endListener: function() {\n var self = this;\n var parent = self._parent;\n\n // Only handle the `ended`` event if the duration is Infinity.\n if (parent._duration === Infinity) {\n // Update the parent duration to match the real audio duration.\n // Round up the duration to account for the lower precision in HTML5 Audio.\n parent._duration = Math.ceil(self._node.duration * 10) / 10;\n\n // Update the sprite that corresponds to the real duration.\n if (parent._sprite.__default[1] === Infinity) {\n parent._sprite.__default[1] = parent._duration * 1000;\n }\n\n // Run the regular ended method.\n parent._ended(self);\n }\n\n // Clear the event listener since the duration is now correct.\n self._node.removeEventListener('ended', self._endFn, false);\n }\n };\n\n /** Helper Methods **/\n /***************************************************************************/\n\n var cache = {};\n\n /**\n * Buffer a sound from URL, Data URI or cache and decode to audio source (Web Audio API).\n * @param {Howl} self\n */\n var loadBuffer = function(self) {\n var url = self._src;\n\n // Check if the buffer has already been cached and use it instead.\n if (cache[url]) {\n // Set the duration from the cache.\n self._duration = cache[url].duration;\n\n // Load the sound into this Howl.\n loadSound(self);\n\n return;\n }\n\n if (/^data:[^;]+;base64,/.test(url)) {\n // Decode the base64 data URI without XHR, since some browsers don't support it.\n var data = atob(url.split(',')[1]);\n var dataView = new Uint8Array(data.length);\n for (var i=0; i 0) {\n cache[self._src] = buffer;\n loadSound(self, buffer);\n } else {\n error();\n }\n };\n\n // Decode the buffer into an audio source.\n if (typeof Promise !== 'undefined' && Howler.ctx.decodeAudioData.length === 1) {\n Howler.ctx.decodeAudioData(arraybuffer).then(success).catch(error);\n } else {\n Howler.ctx.decodeAudioData(arraybuffer, success, error);\n }\n }\n\n /**\n * Sound is now loaded, so finish setting everything up and fire the loaded event.\n * @param {Howl} self\n * @param {Object} buffer The decoded buffer sound source.\n */\n var loadSound = function(self, buffer) {\n // Set the duration.\n if (buffer && !self._duration) {\n self._duration = buffer.duration;\n }\n\n // Setup a sprite if none is defined.\n if (Object.keys(self._sprite).length === 0) {\n self._sprite = {__default: [0, self._duration * 1000]};\n }\n\n // Fire the loaded event.\n if (self._state !== 'loaded') {\n self._state = 'loaded';\n self._emit('load');\n self._loadQueue();\n }\n };\n\n /**\n * Setup the audio context when available, or switch to HTML5 Audio mode.\n */\n var setupAudioContext = function() {\n // If we have already detected that Web Audio isn't supported, don't run this step again.\n if (!Howler.usingWebAudio) {\n return;\n }\n\n // Check if we are using Web Audio and setup the AudioContext if we are.\n try {\n if (typeof AudioContext !== 'undefined') {\n Howler.ctx = new AudioContext();\n } else if (typeof webkitAudioContext !== 'undefined') {\n Howler.ctx = new webkitAudioContext();\n } else {\n Howler.usingWebAudio = false;\n }\n } catch(e) {\n Howler.usingWebAudio = false;\n }\n\n // If the audio context creation still failed, set using web audio to false.\n if (!Howler.ctx) {\n Howler.usingWebAudio = false;\n }\n\n // Check if a webview is being used on iOS8 or earlier (rather than the browser).\n // If it is, disable Web Audio as it causes crashing.\n var iOS = (/iP(hone|od|ad)/.test(Howler._navigator && Howler._navigator.platform));\n var appVersion = Howler._navigator && Howler._navigator.appVersion.match(/OS (\\d+)_(\\d+)_?(\\d+)?/);\n var version = appVersion ? parseInt(appVersion[1], 10) : null;\n if (iOS && version && version < 9) {\n var safari = /safari/.test(Howler._navigator && Howler._navigator.userAgent.toLowerCase());\n if (Howler._navigator && !safari) {\n Howler.usingWebAudio = false;\n }\n }\n\n // Create and expose the master GainNode when using Web Audio (useful for plugins or advanced usage).\n if (Howler.usingWebAudio) {\n Howler.masterGain = (typeof Howler.ctx.createGain === 'undefined') ? Howler.ctx.createGainNode() : Howler.ctx.createGain();\n Howler.masterGain.gain.setValueAtTime(Howler._muted ? 0 : Howler._volume, Howler.ctx.currentTime);\n Howler.masterGain.connect(Howler.ctx.destination);\n }\n\n // Re-run the setup on Howler.\n Howler._setup();\n };\n\n // Add support for AMD (Asynchronous Module Definition) libraries such as require.js.\n if (typeof define === 'function' && define.amd) {\n define([], function() {\n return {\n Howler: Howler,\n Howl: Howl\n };\n });\n }\n\n // Add support for CommonJS libraries such as browserify.\n if (typeof exports !== 'undefined') {\n exports.Howler = Howler;\n exports.Howl = Howl;\n }\n\n // Add to global in Node.js (for testing, etc).\n if (typeof global !== 'undefined') {\n global.HowlerGlobal = HowlerGlobal;\n global.Howler = Howler;\n global.Howl = Howl;\n global.Sound = Sound;\n } else if (typeof window !== 'undefined') { // Define globally in case AMD is not available or unused.\n window.HowlerGlobal = HowlerGlobal;\n window.Howler = Howler;\n window.Howl = Howl;\n window.Sound = Sound;\n }\n})();\n\n\n/*!\n * Spatial Plugin - Adds support for stereo and 3D audio where Web Audio is supported.\n * \n * howler.js v2.2.3\n * howlerjs.com\n *\n * (c) 2013-2020, James Simpson of GoldFire Studios\n * goldfirestudios.com\n *\n * MIT License\n */\n\n(function() {\n\n 'use strict';\n\n // Setup default properties.\n HowlerGlobal.prototype._pos = [0, 0, 0];\n HowlerGlobal.prototype._orientation = [0, 0, -1, 0, 1, 0];\n\n /** Global Methods **/\n /***************************************************************************/\n\n /**\n * Helper method to update the stereo panning position of all current Howls.\n * Future Howls will not use this value unless explicitly set.\n * @param {Number} pan A value of -1.0 is all the way left and 1.0 is all the way right.\n * @return {Howler/Number} Self or current stereo panning value.\n */\n HowlerGlobal.prototype.stereo = function(pan) {\n var self = this;\n\n // Stop right here if not using Web Audio.\n if (!self.ctx || !self.ctx.listener) {\n return self;\n }\n\n // Loop through all Howls and update their stereo panning.\n for (var i=self._howls.length-1; i>=0; i--) {\n self._howls[i].stereo(pan);\n }\n\n return self;\n };\n\n /**\n * Get/set the position of the listener in 3D cartesian space. Sounds using\n * 3D position will be relative to the listener's position.\n * @param {Number} x The x-position of the listener.\n * @param {Number} y The y-position of the listener.\n * @param {Number} z The z-position of the listener.\n * @return {Howler/Array} Self or current listener position.\n */\n HowlerGlobal.prototype.pos = function(x, y, z) {\n var self = this;\n\n // Stop right here if not using Web Audio.\n if (!self.ctx || !self.ctx.listener) {\n return self;\n }\n\n // Set the defaults for optional 'y' & 'z'.\n y = (typeof y !== 'number') ? self._pos[1] : y;\n z = (typeof z !== 'number') ? self._pos[2] : z;\n\n if (typeof x === 'number') {\n self._pos = [x, y, z];\n\n if (typeof self.ctx.listener.positionX !== 'undefined') {\n self.ctx.listener.positionX.setTargetAtTime(self._pos[0], Howler.ctx.currentTime, 0.1);\n self.ctx.listener.positionY.setTargetAtTime(self._pos[1], Howler.ctx.currentTime, 0.1);\n self.ctx.listener.positionZ.setTargetAtTime(self._pos[2], Howler.ctx.currentTime, 0.1);\n } else {\n self.ctx.listener.setPosition(self._pos[0], self._pos[1], self._pos[2]);\n }\n } else {\n return self._pos;\n }\n\n return self;\n };\n\n /**\n * Get/set the direction the listener is pointing in the 3D cartesian space.\n * A front and up vector must be provided. The front is the direction the\n * face of the listener is pointing, and up is the direction the top of the\n * listener is pointing. Thus, these values are expected to be at right angles\n * from each other.\n * @param {Number} x The x-orientation of the listener.\n * @param {Number} y The y-orientation of the listener.\n * @param {Number} z The z-orientation of the listener.\n * @param {Number} xUp The x-orientation of the top of the listener.\n * @param {Number} yUp The y-orientation of the top of the listener.\n * @param {Number} zUp The z-orientation of the top of the listener.\n * @return {Howler/Array} Returns self or the current orientation vectors.\n */\n HowlerGlobal.prototype.orientation = function(x, y, z, xUp, yUp, zUp) {\n var self = this;\n\n // Stop right here if not using Web Audio.\n if (!self.ctx || !self.ctx.listener) {\n return self;\n }\n\n // Set the defaults for optional 'y' & 'z'.\n var or = self._orientation;\n y = (typeof y !== 'number') ? or[1] : y;\n z = (typeof z !== 'number') ? or[2] : z;\n xUp = (typeof xUp !== 'number') ? or[3] : xUp;\n yUp = (typeof yUp !== 'number') ? or[4] : yUp;\n zUp = (typeof zUp !== 'number') ? or[5] : zUp;\n\n if (typeof x === 'number') {\n self._orientation = [x, y, z, xUp, yUp, zUp];\n\n if (typeof self.ctx.listener.forwardX !== 'undefined') {\n self.ctx.listener.forwardX.setTargetAtTime(x, Howler.ctx.currentTime, 0.1);\n self.ctx.listener.forwardY.setTargetAtTime(y, Howler.ctx.currentTime, 0.1);\n self.ctx.listener.forwardZ.setTargetAtTime(z, Howler.ctx.currentTime, 0.1);\n self.ctx.listener.upX.setTargetAtTime(xUp, Howler.ctx.currentTime, 0.1);\n self.ctx.listener.upY.setTargetAtTime(yUp, Howler.ctx.currentTime, 0.1);\n self.ctx.listener.upZ.setTargetAtTime(zUp, Howler.ctx.currentTime, 0.1);\n } else {\n self.ctx.listener.setOrientation(x, y, z, xUp, yUp, zUp);\n }\n } else {\n return or;\n }\n\n return self;\n };\n\n /** Group Methods **/\n /***************************************************************************/\n\n /**\n * Add new properties to the core init.\n * @param {Function} _super Core init method.\n * @return {Howl}\n */\n Howl.prototype.init = (function(_super) {\n return function(o) {\n var self = this;\n\n // Setup user-defined default properties.\n self._orientation = o.orientation || [1, 0, 0];\n self._stereo = o.stereo || null;\n self._pos = o.pos || null;\n self._pannerAttr = {\n coneInnerAngle: typeof o.coneInnerAngle !== 'undefined' ? o.coneInnerAngle : 360,\n coneOuterAngle: typeof o.coneOuterAngle !== 'undefined' ? o.coneOuterAngle : 360,\n coneOuterGain: typeof o.coneOuterGain !== 'undefined' ? o.coneOuterGain : 0,\n distanceModel: typeof o.distanceModel !== 'undefined' ? o.distanceModel : 'inverse',\n maxDistance: typeof o.maxDistance !== 'undefined' ? o.maxDistance : 10000,\n panningModel: typeof o.panningModel !== 'undefined' ? o.panningModel : 'HRTF',\n refDistance: typeof o.refDistance !== 'undefined' ? o.refDistance : 1,\n rolloffFactor: typeof o.rolloffFactor !== 'undefined' ? o.rolloffFactor : 1\n };\n\n // Setup event listeners.\n self._onstereo = o.onstereo ? [{fn: o.onstereo}] : [];\n self._onpos = o.onpos ? [{fn: o.onpos}] : [];\n self._onorientation = o.onorientation ? [{fn: o.onorientation}] : [];\n\n // Complete initilization with howler.js core's init function.\n return _super.call(this, o);\n };\n })(Howl.prototype.init);\n\n /**\n * Get/set the stereo panning of the audio source for this sound or all in the group.\n * @param {Number} pan A value of -1.0 is all the way left and 1.0 is all the way right.\n * @param {Number} id (optional) The sound ID. If none is passed, all in group will be updated.\n * @return {Howl/Number} Returns self or the current stereo panning value.\n */\n Howl.prototype.stereo = function(pan, id) {\n var self = this;\n\n // Stop right here if not using Web Audio.\n if (!self._webAudio) {\n return self;\n }\n\n // If the sound hasn't loaded, add it to the load queue to change stereo pan when capable.\n if (self._state !== 'loaded') {\n self._queue.push({\n event: 'stereo',\n action: function() {\n self.stereo(pan, id);\n }\n });\n\n return self;\n }\n\n // Check for PannerStereoNode support and fallback to PannerNode if it doesn't exist.\n var pannerType = (typeof Howler.ctx.createStereoPanner === 'undefined') ? 'spatial' : 'stereo';\n\n // Setup the group's stereo panning if no ID is passed.\n if (typeof id === 'undefined') {\n // Return the group's stereo panning if no parameters are passed.\n if (typeof pan === 'number') {\n self._stereo = pan;\n self._pos = [pan, 0, 0];\n } else {\n return self._stereo;\n }\n }\n\n // Change the streo panning of one or all sounds in group.\n var ids = self._getSoundIds(id);\n for (var i=0; i Returns the group's values.\n * pannerAttr(id) -> Returns the sound id's values.\n * pannerAttr(o) -> Set's the values of all sounds in this Howl group.\n * pannerAttr(o, id) -> Set's the values of passed sound id.\n *\n * Attributes:\n * coneInnerAngle - (360 by default) A parameter for directional audio sources, this is an angle, in degrees,\n * inside of which there will be no volume reduction.\n * coneOuterAngle - (360 by default) A parameter for directional audio sources, this is an angle, in degrees,\n * outside of which the volume will be reduced to a constant value of `coneOuterGain`.\n * coneOuterGain - (0 by default) A parameter for directional audio sources, this is the gain outside of the\n * `coneOuterAngle`. It is a linear value in the range `[0, 1]`.\n * distanceModel - ('inverse' by default) Determines algorithm used to reduce volume as audio moves away from\n * listener. Can be `linear`, `inverse` or `exponential.\n * maxDistance - (10000 by default) The maximum distance between source and listener, after which the volume\n * will not be reduced any further.\n * refDistance - (1 by default) A reference distance for reducing volume as source moves further from the listener.\n * This is simply a variable of the distance model and has a different effect depending on which model\n * is used and the scale of your coordinates. Generally, volume will be equal to 1 at this distance.\n * rolloffFactor - (1 by default) How quickly the volume reduces as source moves from listener. This is simply a\n * variable of the distance model and can be in the range of `[0, 1]` with `linear` and `[0, ∞]`\n * with `inverse` and `exponential`.\n * panningModel - ('HRTF' by default) Determines which spatialization algorithm is used to position audio.\n * Can be `HRTF` or `equalpower`.\n *\n * @return {Howl/Object} Returns self or current panner attributes.\n */\n Howl.prototype.pannerAttr = function() {\n var self = this;\n var args = arguments;\n var o, id, sound;\n\n // Stop right here if not using Web Audio.\n if (!self._webAudio) {\n return self;\n }\n\n // Determine the values based on arguments.\n if (args.length === 0) {\n // Return the group's panner attribute values.\n return self._pannerAttr;\n } else if (args.length === 1) {\n if (typeof args[0] === 'object') {\n o = args[0];\n\n // Set the grou's panner attribute values.\n if (typeof id === 'undefined') {\n if (!o.pannerAttr) {\n o.pannerAttr = {\n coneInnerAngle: o.coneInnerAngle,\n coneOuterAngle: o.coneOuterAngle,\n coneOuterGain: o.coneOuterGain,\n distanceModel: o.distanceModel,\n maxDistance: o.maxDistance,\n refDistance: o.refDistance,\n rolloffFactor: o.rolloffFactor,\n panningModel: o.panningModel\n };\n }\n\n self._pannerAttr = {\n coneInnerAngle: typeof o.pannerAttr.coneInnerAngle !== 'undefined' ? o.pannerAttr.coneInnerAngle : self._coneInnerAngle,\n coneOuterAngle: typeof o.pannerAttr.coneOuterAngle !== 'undefined' ? o.pannerAttr.coneOuterAngle : self._coneOuterAngle,\n coneOuterGain: typeof o.pannerAttr.coneOuterGain !== 'undefined' ? o.pannerAttr.coneOuterGain : self._coneOuterGain,\n distanceModel: typeof o.pannerAttr.distanceModel !== 'undefined' ? o.pannerAttr.distanceModel : self._distanceModel,\n maxDistance: typeof o.pannerAttr.maxDistance !== 'undefined' ? o.pannerAttr.maxDistance : self._maxDistance,\n refDistance: typeof o.pannerAttr.refDistance !== 'undefined' ? o.pannerAttr.refDistance : self._refDistance,\n rolloffFactor: typeof o.pannerAttr.rolloffFactor !== 'undefined' ? o.pannerAttr.rolloffFactor : self._rolloffFactor,\n panningModel: typeof o.pannerAttr.panningModel !== 'undefined' ? o.pannerAttr.panningModel : self._panningModel\n };\n }\n } else {\n // Return this sound's panner attribute values.\n sound = self._soundById(parseInt(args[0], 10));\n return sound ? sound._pannerAttr : self._pannerAttr;\n }\n } else if (args.length === 2) {\n o = args[0];\n id = parseInt(args[1], 10);\n }\n\n // Update the values of the specified sounds.\n var ids = self._getSoundIds(id);\n for (var i=0; i= 0 && vol <= 1) {\n self._volume = vol;\n\n // Don't update any of the nodes if we are muted.\n if (self._muted) {\n return self;\n }\n\n // When using Web Audio, we just need to adjust the master gain.\n if (self.usingWebAudio) {\n self.masterGain.gain.setValueAtTime(vol, Howler.ctx.currentTime);\n }\n\n // Loop through and change volume for all HTML5 audio nodes.\n for (var i=0; i=0; i--) {\n self._howls[i].unload();\n }\n\n // Create a new AudioContext to make sure it is fully reset.\n if (self.usingWebAudio && self.ctx && typeof self.ctx.close !== 'undefined') {\n self.ctx.close();\n self.ctx = null;\n setupAudioContext();\n }\n\n return self;\n },\n\n /**\n * Check for codec support of specific extension.\n * @param {String} ext Audio file extention.\n * @return {Boolean}\n */\n codecs: function(ext) {\n return (this || Howler)._codecs[ext.replace(/^x-/, '')];\n },\n\n /**\n * Setup various state values for global tracking.\n * @return {Howler}\n */\n _setup: function() {\n var self = this || Howler;\n\n // Keeps track of the suspend/resume state of the AudioContext.\n self.state = self.ctx ? self.ctx.state || 'suspended' : 'suspended';\n\n // Automatically begin the 30-second suspend process\n self._autoSuspend();\n\n // Check if audio is available.\n if (!self.usingWebAudio) {\n // No audio is available on this system if noAudio is set to true.\n if (typeof Audio !== 'undefined') {\n try {\n var test = new Audio();\n\n // Check if the canplaythrough event is available.\n if (typeof test.oncanplaythrough === 'undefined') {\n self._canPlayEvent = 'canplay';\n }\n } catch(e) {\n self.noAudio = true;\n }\n } else {\n self.noAudio = true;\n }\n }\n\n // Test to make sure audio isn't disabled in Internet Explorer.\n try {\n var test = new Audio();\n if (test.muted) {\n self.noAudio = true;\n }\n } catch (e) {}\n\n // Check for supported codecs.\n if (!self.noAudio) {\n self._setupCodecs();\n }\n\n return self;\n },\n\n /**\n * Check for browser support for various codecs and cache the results.\n * @return {Howler}\n */\n _setupCodecs: function() {\n var self = this || Howler;\n var audioTest = null;\n\n // Must wrap in a try/catch because IE11 in server mode throws an error.\n try {\n audioTest = (typeof Audio !== 'undefined') ? new Audio() : null;\n } catch (err) {\n return self;\n }\n\n if (!audioTest || typeof audioTest.canPlayType !== 'function') {\n return self;\n }\n\n var mpegTest = audioTest.canPlayType('audio/mpeg;').replace(/^no$/, '');\n\n // Opera version <33 has mixed MP3 support, so we need to check for and block it.\n var ua = self._navigator ? self._navigator.userAgent : '';\n var checkOpera = ua.match(/OPR\\/([0-6].)/g);\n var isOldOpera = (checkOpera && parseInt(checkOpera[0].split('/')[1], 10) < 33);\n var checkSafari = ua.indexOf('Safari') !== -1 && ua.indexOf('Chrome') === -1;\n var safariVersion = ua.match(/Version\\/(.*?) /);\n var isOldSafari = (checkSafari && safariVersion && parseInt(safariVersion[1], 10) < 15);\n\n self._codecs = {\n mp3: !!(!isOldOpera && (mpegTest || audioTest.canPlayType('audio/mp3;').replace(/^no$/, ''))),\n mpeg: !!mpegTest,\n opus: !!audioTest.canPlayType('audio/ogg; codecs=\"opus\"').replace(/^no$/, ''),\n ogg: !!audioTest.canPlayType('audio/ogg; codecs=\"vorbis\"').replace(/^no$/, ''),\n oga: !!audioTest.canPlayType('audio/ogg; codecs=\"vorbis\"').replace(/^no$/, ''),\n wav: !!(audioTest.canPlayType('audio/wav; codecs=\"1\"') || audioTest.canPlayType('audio/wav')).replace(/^no$/, ''),\n aac: !!audioTest.canPlayType('audio/aac;').replace(/^no$/, ''),\n caf: !!audioTest.canPlayType('audio/x-caf;').replace(/^no$/, ''),\n m4a: !!(audioTest.canPlayType('audio/x-m4a;') || audioTest.canPlayType('audio/m4a;') || audioTest.canPlayType('audio/aac;')).replace(/^no$/, ''),\n m4b: !!(audioTest.canPlayType('audio/x-m4b;') || audioTest.canPlayType('audio/m4b;') || audioTest.canPlayType('audio/aac;')).replace(/^no$/, ''),\n mp4: !!(audioTest.canPlayType('audio/x-mp4;') || audioTest.canPlayType('audio/mp4;') || audioTest.canPlayType('audio/aac;')).replace(/^no$/, ''),\n weba: !!(!isOldSafari && audioTest.canPlayType('audio/webm; codecs=\"vorbis\"').replace(/^no$/, '')),\n webm: !!(!isOldSafari && audioTest.canPlayType('audio/webm; codecs=\"vorbis\"').replace(/^no$/, '')),\n dolby: !!audioTest.canPlayType('audio/mp4; codecs=\"ec-3\"').replace(/^no$/, ''),\n flac: !!(audioTest.canPlayType('audio/x-flac;') || audioTest.canPlayType('audio/flac;')).replace(/^no$/, '')\n };\n\n return self;\n },\n\n /**\n * Some browsers/devices will only allow audio to be played after a user interaction.\n * Attempt to automatically unlock audio on the first user interaction.\n * Concept from: http://paulbakaus.com/tutorials/html5/web-audio-on-ios/\n * @return {Howler}\n */\n _unlockAudio: function() {\n var self = this || Howler;\n\n // Only run this if Web Audio is supported and it hasn't already been unlocked.\n if (self._audioUnlocked || !self.ctx) {\n return;\n }\n\n self._audioUnlocked = false;\n self.autoUnlock = false;\n\n // Some mobile devices/platforms have distortion issues when opening/closing tabs and/or web views.\n // Bugs in the browser (especially Mobile Safari) can cause the sampleRate to change from 44100 to 48000.\n // By calling Howler.unload(), we create a new AudioContext with the correct sampleRate.\n if (!self._mobileUnloaded && self.ctx.sampleRate !== 44100) {\n self._mobileUnloaded = true;\n self.unload();\n }\n\n // Scratch buffer for enabling iOS to dispose of web audio buffers correctly, as per:\n // http://stackoverflow.com/questions/24119684\n self._scratchBuffer = self.ctx.createBuffer(1, 1, 22050);\n\n // Call this method on touch start to create and play a buffer,\n // then check if the audio actually played to determine if\n // audio has now been unlocked on iOS, Android, etc.\n var unlock = function(e) {\n // Create a pool of unlocked HTML5 Audio objects that can\n // be used for playing sounds without user interaction. HTML5\n // Audio objects must be individually unlocked, as opposed\n // to the WebAudio API which only needs a single activation.\n // This must occur before WebAudio setup or the source.onended\n // event will not fire.\n while (self._html5AudioPool.length < self.html5PoolSize) {\n try {\n var audioNode = new Audio();\n\n // Mark this Audio object as unlocked to ensure it can get returned\n // to the unlocked pool when released.\n audioNode._unlocked = true;\n\n // Add the audio node to the pool.\n self._releaseHtml5Audio(audioNode);\n } catch (e) {\n self.noAudio = true;\n break;\n }\n }\n\n // Loop through any assigned audio nodes and unlock them.\n for (var i=0; i= 55.\n if (typeof self.ctx.resume === 'function') {\n self.ctx.resume();\n }\n\n // Setup a timeout to check that we are unlocked on the next event loop.\n source.onended = function() {\n source.disconnect(0);\n\n // Update the unlocked state and prevent this check from happening again.\n self._audioUnlocked = true;\n\n // Remove the touch start listener.\n document.removeEventListener('touchstart', unlock, true);\n document.removeEventListener('touchend', unlock, true);\n document.removeEventListener('click', unlock, true);\n document.removeEventListener('keydown', unlock, true);\n\n // Let all sounds know that audio has been unlocked.\n for (var i=0; i 0 ? sound._seek : self._sprite[sprite][0] / 1000);\n var duration = Math.max(0, ((self._sprite[sprite][0] + self._sprite[sprite][1]) / 1000) - seek);\n var timeout = (duration * 1000) / Math.abs(sound._rate);\n var start = self._sprite[sprite][0] / 1000;\n var stop = (self._sprite[sprite][0] + self._sprite[sprite][1]) / 1000;\n sound._sprite = sprite;\n\n // Mark the sound as ended instantly so that this async playback\n // doesn't get grabbed by another call to play while this one waits to start.\n sound._ended = false;\n\n // Update the parameters of the sound.\n var setParams = function() {\n sound._paused = false;\n sound._seek = seek;\n sound._start = start;\n sound._stop = stop;\n sound._loop = !!(sound._loop || self._sprite[sprite][2]);\n };\n\n // End the sound instantly if seek is at the end.\n if (seek >= stop) {\n self._ended(sound);\n return;\n }\n\n // Begin the actual playback.\n var node = sound._node;\n if (self._webAudio) {\n // Fire this when the sound is ready to play to begin Web Audio playback.\n var playWebAudio = function() {\n self._playLock = false;\n setParams();\n self._refreshBuffer(sound);\n\n // Setup the playback params.\n var vol = (sound._muted || self._muted) ? 0 : sound._volume;\n node.gain.setValueAtTime(vol, Howler.ctx.currentTime);\n sound._playStart = Howler.ctx.currentTime;\n\n // Play the sound using the supported method.\n if (typeof node.bufferSource.start === 'undefined') {\n sound._loop ? node.bufferSource.noteGrainOn(0, seek, 86400) : node.bufferSource.noteGrainOn(0, seek, duration);\n } else {\n sound._loop ? node.bufferSource.start(0, seek, 86400) : node.bufferSource.start(0, seek, duration);\n }\n\n // Start a new timer if none is present.\n if (timeout !== Infinity) {\n self._endTimers[sound._id] = setTimeout(self._ended.bind(self, sound), timeout);\n }\n\n if (!internal) {\n setTimeout(function() {\n self._emit('play', sound._id);\n self._loadQueue();\n }, 0);\n }\n };\n\n if (Howler.state === 'running' && Howler.ctx.state !== 'interrupted') {\n playWebAudio();\n } else {\n self._playLock = true;\n\n // Wait for the audio context to resume before playing.\n self.once('resume', playWebAudio);\n\n // Cancel the end timer.\n self._clearTimer(sound._id);\n }\n } else {\n // Fire this when the sound is ready to play to begin HTML5 Audio playback.\n var playHtml5 = function() {\n node.currentTime = seek;\n node.muted = sound._muted || self._muted || Howler._muted || node.muted;\n node.volume = sound._volume * Howler.volume();\n node.playbackRate = sound._rate;\n\n // Some browsers will throw an error if this is called without user interaction.\n try {\n var play = node.play();\n\n // Support older browsers that don't support promises, and thus don't have this issue.\n if (play && typeof Promise !== 'undefined' && (play instanceof Promise || typeof play.then === 'function')) {\n // Implements a lock to prevent DOMException: The play() request was interrupted by a call to pause().\n self._playLock = true;\n\n // Set param values immediately.\n setParams();\n\n // Releases the lock and executes queued actions.\n play\n .then(function() {\n self._playLock = false;\n node._unlocked = true;\n if (!internal) {\n self._emit('play', sound._id);\n } else {\n self._loadQueue();\n }\n })\n .catch(function() {\n self._playLock = false;\n self._emit('playerror', sound._id, 'Playback was unable to start. This is most commonly an issue ' +\n 'on mobile devices and Chrome where playback was not within a user interaction.');\n\n // Reset the ended and paused values.\n sound._ended = true;\n sound._paused = true;\n });\n } else if (!internal) {\n self._playLock = false;\n setParams();\n self._emit('play', sound._id);\n }\n\n // Setting rate before playing won't work in IE, so we set it again here.\n node.playbackRate = sound._rate;\n\n // If the node is still paused, then we can assume there was a playback issue.\n if (node.paused) {\n self._emit('playerror', sound._id, 'Playback was unable to start. This is most commonly an issue ' +\n 'on mobile devices and Chrome where playback was not within a user interaction.');\n return;\n }\n\n // Setup the end timer on sprites or listen for the ended event.\n if (sprite !== '__default' || sound._loop) {\n self._endTimers[sound._id] = setTimeout(self._ended.bind(self, sound), timeout);\n } else {\n self._endTimers[sound._id] = function() {\n // Fire ended on this audio node.\n self._ended(sound);\n\n // Clear this listener.\n node.removeEventListener('ended', self._endTimers[sound._id], false);\n };\n node.addEventListener('ended', self._endTimers[sound._id], false);\n }\n } catch (err) {\n self._emit('playerror', sound._id, err);\n }\n };\n\n // If this is streaming audio, make sure the src is set and load again.\n if (node.src === 'data:audio/wav;base64,UklGRigAAABXQVZFZm10IBIAAAABAAEARKwAAIhYAQACABAAAABkYXRhAgAAAAEA') {\n node.src = self._src;\n node.load();\n }\n\n // Play immediately if ready, or wait for the 'canplaythrough'e vent.\n var loadedNoReadyState = (window && window.ejecta) || (!node.readyState && Howler._navigator.isCocoonJS);\n if (node.readyState >= 3 || loadedNoReadyState) {\n playHtml5();\n } else {\n self._playLock = true;\n self._state = 'loading';\n\n var listener = function() {\n self._state = 'loaded';\n \n // Begin playback.\n playHtml5();\n\n // Clear this listener.\n node.removeEventListener(Howler._canPlayEvent, listener, false);\n };\n node.addEventListener(Howler._canPlayEvent, listener, false);\n\n // Cancel the end timer.\n self._clearTimer(sound._id);\n }\n }\n\n return sound._id;\n },\n\n /**\n * Pause playback and save current position.\n * @param {Number} id The sound ID (empty to pause all in group).\n * @return {Howl}\n */\n pause: function(id) {\n var self = this;\n\n // If the sound hasn't loaded or a play() promise is pending, add it to the load queue to pause when capable.\n if (self._state !== 'loaded' || self._playLock) {\n self._queue.push({\n event: 'pause',\n action: function() {\n self.pause(id);\n }\n });\n\n return self;\n }\n\n // If no id is passed, get all ID's to be paused.\n var ids = self._getSoundIds(id);\n\n for (var i=0; i Returns the group's volume value.\n * volume(id) -> Returns the sound id's current volume.\n * volume(vol) -> Sets the volume of all sounds in this Howl group.\n * volume(vol, id) -> Sets the volume of passed sound id.\n * @return {Howl/Number} Returns self or current volume.\n */\n volume: function() {\n var self = this;\n var args = arguments;\n var vol, id;\n\n // Determine the values based on arguments.\n if (args.length === 0) {\n // Return the value of the groups' volume.\n return self._volume;\n } else if (args.length === 1 || args.length === 2 && typeof args[1] === 'undefined') {\n // First check if this is an ID, and if not, assume it is a new volume.\n var ids = self._getSoundIds();\n var index = ids.indexOf(args[0]);\n if (index >= 0) {\n id = parseInt(args[0], 10);\n } else {\n vol = parseFloat(args[0]);\n }\n } else if (args.length >= 2) {\n vol = parseFloat(args[0]);\n id = parseInt(args[1], 10);\n }\n\n // Update the volume or return the current volume.\n var sound;\n if (typeof vol !== 'undefined' && vol >= 0 && vol <= 1) {\n // If the sound hasn't loaded, add it to the load queue to change volume when capable.\n if (self._state !== 'loaded'|| self._playLock) {\n self._queue.push({\n event: 'volume',\n action: function() {\n self.volume.apply(self, args);\n }\n });\n\n return self;\n }\n\n // Set the group volume.\n if (typeof id === 'undefined') {\n self._volume = vol;\n }\n\n // Update one or all volumes.\n id = self._getSoundIds(id);\n for (var i=0; i 0) ? len / steps : len);\n var lastTick = Date.now();\n\n // Store the value being faded to.\n sound._fadeTo = to;\n\n // Update the volume value on each interval tick.\n sound._interval = setInterval(function() {\n // Update the volume based on the time since the last tick.\n var tick = (Date.now() - lastTick) / len;\n lastTick = Date.now();\n vol += diff * tick;\n\n // Round to within 2 decimal points.\n vol = Math.round(vol * 100) / 100;\n\n // Make sure the volume is in the right bounds.\n if (diff < 0) {\n vol = Math.max(to, vol);\n } else {\n vol = Math.min(to, vol);\n }\n\n // Change the volume.\n if (self._webAudio) {\n sound._volume = vol;\n } else {\n self.volume(vol, sound._id, true);\n }\n\n // Set the group's volume.\n if (isGroup) {\n self._volume = vol;\n }\n\n // When the fade is complete, stop it and fire event.\n if ((to < from && vol <= to) || (to > from && vol >= to)) {\n clearInterval(sound._interval);\n sound._interval = null;\n sound._fadeTo = null;\n self.volume(to, sound._id);\n self._emit('fade', sound._id);\n }\n }, stepLen);\n },\n\n /**\n * Internal method that stops the currently playing fade when\n * a new fade starts, volume is changed or the sound is stopped.\n * @param {Number} id The sound id.\n * @return {Howl}\n */\n _stopFade: function(id) {\n var self = this;\n var sound = self._soundById(id);\n\n if (sound && sound._interval) {\n if (self._webAudio) {\n sound._node.gain.cancelScheduledValues(Howler.ctx.currentTime);\n }\n\n clearInterval(sound._interval);\n sound._interval = null;\n self.volume(sound._fadeTo, id);\n sound._fadeTo = null;\n self._emit('fade', id);\n }\n\n return self;\n },\n\n /**\n * Get/set the loop parameter on a sound. This method can optionally take 0, 1 or 2 arguments.\n * loop() -> Returns the group's loop value.\n * loop(id) -> Returns the sound id's loop value.\n * loop(loop) -> Sets the loop value for all sounds in this Howl group.\n * loop(loop, id) -> Sets the loop value of passed sound id.\n * @return {Howl/Boolean} Returns self or current loop value.\n */\n loop: function() {\n var self = this;\n var args = arguments;\n var loop, id, sound;\n\n // Determine the values for loop and id.\n if (args.length === 0) {\n // Return the grou's loop value.\n return self._loop;\n } else if (args.length === 1) {\n if (typeof args[0] === 'boolean') {\n loop = args[0];\n self._loop = loop;\n } else {\n // Return this sound's loop value.\n sound = self._soundById(parseInt(args[0], 10));\n return sound ? sound._loop : false;\n }\n } else if (args.length === 2) {\n loop = args[0];\n id = parseInt(args[1], 10);\n }\n\n // If no id is passed, get all ID's to be looped.\n var ids = self._getSoundIds(id);\n for (var i=0; i Returns the first sound node's current playback rate.\n * rate(id) -> Returns the sound id's current playback rate.\n * rate(rate) -> Sets the playback rate of all sounds in this Howl group.\n * rate(rate, id) -> Sets the playback rate of passed sound id.\n * @return {Howl/Number} Returns self or the current playback rate.\n */\n rate: function() {\n var self = this;\n var args = arguments;\n var rate, id;\n\n // Determine the values based on arguments.\n if (args.length === 0) {\n // We will simply return the current rate of the first node.\n id = self._sounds[0]._id;\n } else if (args.length === 1) {\n // First check if this is an ID, and if not, assume it is a new rate value.\n var ids = self._getSoundIds();\n var index = ids.indexOf(args[0]);\n if (index >= 0) {\n id = parseInt(args[0], 10);\n } else {\n rate = parseFloat(args[0]);\n }\n } else if (args.length === 2) {\n rate = parseFloat(args[0]);\n id = parseInt(args[1], 10);\n }\n\n // Update the playback rate or return the current value.\n var sound;\n if (typeof rate === 'number') {\n // If the sound hasn't loaded, add it to the load queue to change playback rate when capable.\n if (self._state !== 'loaded' || self._playLock) {\n self._queue.push({\n event: 'rate',\n action: function() {\n self.rate.apply(self, args);\n }\n });\n\n return self;\n }\n\n // Set the group rate.\n if (typeof id === 'undefined') {\n self._rate = rate;\n }\n\n // Update one or all volumes.\n id = self._getSoundIds(id);\n for (var i=0; i Returns the first sound node's current seek position.\n * seek(id) -> Returns the sound id's current seek position.\n * seek(seek) -> Sets the seek position of the first sound node.\n * seek(seek, id) -> Sets the seek position of passed sound id.\n * @return {Howl/Number} Returns self or the current seek position.\n */\n seek: function() {\n var self = this;\n var args = arguments;\n var seek, id;\n\n // Determine the values based on arguments.\n if (args.length === 0) {\n // We will simply return the current position of the first node.\n if (self._sounds.length) {\n id = self._sounds[0]._id;\n }\n } else if (args.length === 1) {\n // First check if this is an ID, and if not, assume it is a new seek position.\n var ids = self._getSoundIds();\n var index = ids.indexOf(args[0]);\n if (index >= 0) {\n id = parseInt(args[0], 10);\n } else if (self._sounds.length) {\n id = self._sounds[0]._id;\n seek = parseFloat(args[0]);\n }\n } else if (args.length === 2) {\n seek = parseFloat(args[0]);\n id = parseInt(args[1], 10);\n }\n\n // If there is no ID, bail out.\n if (typeof id === 'undefined') {\n return 0;\n }\n\n // If the sound hasn't loaded, add it to the load queue to seek when capable.\n if (typeof seek === 'number' && (self._state !== 'loaded' || self._playLock)) {\n self._queue.push({\n event: 'seek',\n action: function() {\n self.seek.apply(self, args);\n }\n });\n\n return self;\n }\n\n // Get the sound.\n var sound = self._soundById(id);\n\n if (sound) {\n if (typeof seek === 'number' && seek >= 0) {\n // Pause the sound and update position for restarting playback.\n var playing = self.playing(id);\n if (playing) {\n self.pause(id, true);\n }\n\n // Move the position of the track and cancel timer.\n sound._seek = seek;\n sound._ended = false;\n self._clearTimer(id);\n\n // Update the seek position for HTML5 Audio.\n if (!self._webAudio && sound._node && !isNaN(sound._node.duration)) {\n sound._node.currentTime = seek;\n }\n\n // Seek and emit when ready.\n var seekAndEmit = function() {\n // Restart the playback if the sound was playing.\n if (playing) {\n self.play(id, true);\n }\n\n self._emit('seek', id);\n };\n\n // Wait for the play lock to be unset before emitting (HTML5 Audio).\n if (playing && !self._webAudio) {\n var emitSeek = function() {\n if (!self._playLock) {\n seekAndEmit();\n } else {\n setTimeout(emitSeek, 0);\n }\n };\n setTimeout(emitSeek, 0);\n } else {\n seekAndEmit();\n }\n } else {\n if (self._webAudio) {\n var realTime = self.playing(id) ? Howler.ctx.currentTime - sound._playStart : 0;\n var rateSeek = sound._rateSeek ? sound._rateSeek - sound._seek : 0;\n return sound._seek + (rateSeek + realTime * Math.abs(sound._rate));\n } else {\n return sound._node.currentTime;\n }\n }\n }\n\n return self;\n },\n\n /**\n * Check if a specific sound is currently playing or not (if id is provided), or check if at least one of the sounds in the group is playing or not.\n * @param {Number} id The sound id to check. If none is passed, the whole sound group is checked.\n * @return {Boolean} True if playing and false if not.\n */\n playing: function(id) {\n var self = this;\n\n // Check the passed sound ID (if any).\n if (typeof id === 'number') {\n var sound = self._soundById(id);\n return sound ? !sound._paused : false;\n }\n\n // Otherwise, loop through all sounds and check if any are playing.\n for (var i=0; i= 0) {\n Howler._howls.splice(index, 1);\n }\n\n // Delete this sound from the cache (if no other Howl is using it).\n var remCache = true;\n for (i=0; i= 0) {\n remCache = false;\n break;\n }\n }\n\n if (cache && remCache) {\n delete cache[self._src];\n }\n\n // Clear global errors.\n Howler.noAudio = false;\n\n // Clear out `self`.\n self._state = 'unloaded';\n self._sounds = [];\n self = null;\n\n return null;\n },\n\n /**\n * Listen to a custom event.\n * @param {String} event Event name.\n * @param {Function} fn Listener to call.\n * @param {Number} id (optional) Only listen to events for this sound.\n * @param {Number} once (INTERNAL) Marks event to fire only once.\n * @return {Howl}\n */\n on: function(event, fn, id, once) {\n var self = this;\n var events = self['_on' + event];\n\n if (typeof fn === 'function') {\n events.push(once ? {id: id, fn: fn, once: once} : {id: id, fn: fn});\n }\n\n return self;\n },\n\n /**\n * Remove a custom event. Call without parameters to remove all events.\n * @param {String} event Event name.\n * @param {Function} fn Listener to remove. Leave empty to remove all.\n * @param {Number} id (optional) Only remove events for this sound.\n * @return {Howl}\n */\n off: function(event, fn, id) {\n var self = this;\n var events = self['_on' + event];\n var i = 0;\n\n // Allow passing just an event and ID.\n if (typeof fn === 'number') {\n id = fn;\n fn = null;\n }\n\n if (fn || id) {\n // Loop through event store and remove the passed function.\n for (i=0; i=0; i--) {\n // Only fire the listener if the correct ID is used.\n if (!events[i].id || events[i].id === id || event === 'load') {\n setTimeout(function(fn) {\n fn.call(this, id, msg);\n }.bind(self, events[i].fn), 0);\n\n // If this event was setup with `once`, remove it.\n if (events[i].once) {\n self.off(event, events[i].fn, events[i].id);\n }\n }\n }\n\n // Pass the event type into load queue so that it can continue stepping.\n self._loadQueue(event);\n\n return self;\n },\n\n /**\n * Queue of actions initiated before the sound has loaded.\n * These will be called in sequence, with the next only firing\n * after the previous has finished executing (even if async like play).\n * @return {Howl}\n */\n _loadQueue: function(event) {\n var self = this;\n\n if (self._queue.length > 0) {\n var task = self._queue[0];\n\n // Remove this task if a matching event was passed.\n if (task.event === event) {\n self._queue.shift();\n self._loadQueue();\n }\n\n // Run the task if no event type is passed.\n if (!event) {\n task.action();\n }\n }\n\n return self;\n },\n\n /**\n * Fired when playback ends at the end of the duration.\n * @param {Sound} sound The sound object to work with.\n * @return {Howl}\n */\n _ended: function(sound) {\n var self = this;\n var sprite = sound._sprite;\n\n // If we are using IE and there was network latency we may be clipping\n // audio before it completes playing. Lets check the node to make sure it\n // believes it has completed, before ending the playback.\n if (!self._webAudio && sound._node && !sound._node.paused && !sound._node.ended && sound._node.currentTime < sound._stop) {\n setTimeout(self._ended.bind(self, sound), 100);\n return self;\n }\n\n // Should this sound loop?\n var loop = !!(sound._loop || self._sprite[sprite][2]);\n\n // Fire the ended event.\n self._emit('end', sound._id);\n\n // Restart the playback for HTML5 Audio loop.\n if (!self._webAudio && loop) {\n self.stop(sound._id, true).play(sound._id);\n }\n\n // Restart this timer if on a Web Audio loop.\n if (self._webAudio && loop) {\n self._emit('play', sound._id);\n sound._seek = sound._start || 0;\n sound._rateSeek = 0;\n sound._playStart = Howler.ctx.currentTime;\n\n var timeout = ((sound._stop - sound._start) * 1000) / Math.abs(sound._rate);\n self._endTimers[sound._id] = setTimeout(self._ended.bind(self, sound), timeout);\n }\n\n // Mark the node as paused.\n if (self._webAudio && !loop) {\n sound._paused = true;\n sound._ended = true;\n sound._seek = sound._start || 0;\n sound._rateSeek = 0;\n self._clearTimer(sound._id);\n\n // Clean up the buffer source.\n self._cleanBuffer(sound._node);\n\n // Attempt to auto-suspend AudioContext if no sounds are still playing.\n Howler._autoSuspend();\n }\n\n // When using a sprite, end the track.\n if (!self._webAudio && !loop) {\n self.stop(sound._id, true);\n }\n\n return self;\n },\n\n /**\n * Clear the end timer for a sound playback.\n * @param {Number} id The sound ID.\n * @return {Howl}\n */\n _clearTimer: function(id) {\n var self = this;\n\n if (self._endTimers[id]) {\n // Clear the timeout or remove the ended listener.\n if (typeof self._endTimers[id] !== 'function') {\n clearTimeout(self._endTimers[id]);\n } else {\n var sound = self._soundById(id);\n if (sound && sound._node) {\n sound._node.removeEventListener('ended', self._endTimers[id], false);\n }\n }\n\n delete self._endTimers[id];\n }\n\n return self;\n },\n\n /**\n * Return the sound identified by this ID, or return null.\n * @param {Number} id Sound ID\n * @return {Object} Sound object or null.\n */\n _soundById: function(id) {\n var self = this;\n\n // Loop through all sounds and find the one with this ID.\n for (var i=0; i=0; i--) {\n if (cnt <= limit) {\n return;\n }\n\n if (self._sounds[i]._ended) {\n // Disconnect the audio source when using Web Audio.\n if (self._webAudio && self._sounds[i]._node) {\n self._sounds[i]._node.disconnect(0);\n }\n\n // Remove sounds until we have the pool size.\n self._sounds.splice(i, 1);\n cnt--;\n }\n }\n },\n\n /**\n * Get all ID's from the sounds pool.\n * @param {Number} id Only return one ID if one is passed.\n * @return {Array} Array of IDs.\n */\n _getSoundIds: function(id) {\n var self = this;\n\n if (typeof id === 'undefined') {\n var ids = [];\n for (var i=0; i= 0;\n\n if (Howler._scratchBuffer && node.bufferSource) {\n node.bufferSource.onended = null;\n node.bufferSource.disconnect(0);\n if (isIOS) {\n try { node.bufferSource.buffer = Howler._scratchBuffer; } catch(e) {}\n }\n }\n node.bufferSource = null;\n\n return self;\n },\n\n /**\n * Set the source to a 0-second silence to stop any downloading (except in IE).\n * @param {Object} node Audio node to clear.\n */\n _clearSound: function(node) {\n var checkIE = /MSIE |Trident\\//.test(Howler._navigator && Howler._navigator.userAgent);\n if (!checkIE) {\n node.src = 'data:audio/wav;base64,UklGRigAAABXQVZFZm10IBIAAAABAAEARKwAAIhYAQACABAAAABkYXRhAgAAAAEA';\n }\n }\n };\n\n /** Single Sound Methods **/\n /***************************************************************************/\n\n /**\n * Setup the sound object, which each node attached to a Howl group is contained in.\n * @param {Object} howl The Howl parent group.\n */\n var Sound = function(howl) {\n this._parent = howl;\n this.init();\n };\n Sound.prototype = {\n /**\n * Initialize a new Sound object.\n * @return {Sound}\n */\n init: function() {\n var self = this;\n var parent = self._parent;\n\n // Setup the default parameters.\n self._muted = parent._muted;\n self._loop = parent._loop;\n self._volume = parent._volume;\n self._rate = parent._rate;\n self._seek = 0;\n self._paused = true;\n self._ended = true;\n self._sprite = '__default';\n\n // Generate a unique ID for this sound.\n self._id = ++Howler._counter;\n\n // Add itself to the parent's pool.\n parent._sounds.push(self);\n\n // Create the new node.\n self.create();\n\n return self;\n },\n\n /**\n * Create and setup a new sound object, whether HTML5 Audio or Web Audio.\n * @return {Sound}\n */\n create: function() {\n var self = this;\n var parent = self._parent;\n var volume = (Howler._muted || self._muted || self._parent._muted) ? 0 : self._volume;\n\n if (parent._webAudio) {\n // Create the gain node for controlling volume (the source will connect to this).\n self._node = (typeof Howler.ctx.createGain === 'undefined') ? Howler.ctx.createGainNode() : Howler.ctx.createGain();\n self._node.gain.setValueAtTime(volume, Howler.ctx.currentTime);\n self._node.paused = true;\n self._node.connect(Howler.masterGain);\n } else if (!Howler.noAudio) {\n // Get an unlocked Audio object from the pool.\n self._node = Howler._obtainHtml5Audio();\n\n // Listen for errors (http://dev.w3.org/html5/spec-author-view/spec.html#mediaerror).\n self._errorFn = self._errorListener.bind(self);\n self._node.addEventListener('error', self._errorFn, false);\n\n // Listen for 'canplaythrough' event to let us know the sound is ready.\n self._loadFn = self._loadListener.bind(self);\n self._node.addEventListener(Howler._canPlayEvent, self._loadFn, false);\n\n // Listen for the 'ended' event on the sound to account for edge-case where\n // a finite sound has a duration of Infinity.\n self._endFn = self._endListener.bind(self);\n self._node.addEventListener('ended', self._endFn, false);\n\n // Setup the new audio node.\n self._node.src = parent._src;\n self._node.preload = parent._preload === true ? 'auto' : parent._preload;\n self._node.volume = volume * Howler.volume();\n\n // Begin loading the source.\n self._node.load();\n }\n\n return self;\n },\n\n /**\n * Reset the parameters of this sound to the original state (for recycle).\n * @return {Sound}\n */\n reset: function() {\n var self = this;\n var parent = self._parent;\n\n // Reset all of the parameters of this sound.\n self._muted = parent._muted;\n self._loop = parent._loop;\n self._volume = parent._volume;\n self._rate = parent._rate;\n self._seek = 0;\n self._rateSeek = 0;\n self._paused = true;\n self._ended = true;\n self._sprite = '__default';\n\n // Generate a new ID so that it isn't confused with the previous sound.\n self._id = ++Howler._counter;\n\n return self;\n },\n\n /**\n * HTML5 Audio error listener callback.\n */\n _errorListener: function() {\n var self = this;\n\n // Fire an error event and pass back the code.\n self._parent._emit('loaderror', self._id, self._node.error ? self._node.error.code : 0);\n\n // Clear the event listener.\n self._node.removeEventListener('error', self._errorFn, false);\n },\n\n /**\n * HTML5 Audio canplaythrough listener callback.\n */\n _loadListener: function() {\n var self = this;\n var parent = self._parent;\n\n // Round up the duration to account for the lower precision in HTML5 Audio.\n parent._duration = Math.ceil(self._node.duration * 10) / 10;\n\n // Setup a sprite if none is defined.\n if (Object.keys(parent._sprite).length === 0) {\n parent._sprite = {__default: [0, parent._duration * 1000]};\n }\n\n if (parent._state !== 'loaded') {\n parent._state = 'loaded';\n parent._emit('load');\n parent._loadQueue();\n }\n\n // Clear the event listener.\n self._node.removeEventListener(Howler._canPlayEvent, self._loadFn, false);\n },\n\n /**\n * HTML5 Audio ended listener callback.\n */\n _endListener: function() {\n var self = this;\n var parent = self._parent;\n\n // Only handle the `ended`` event if the duration is Infinity.\n if (parent._duration === Infinity) {\n // Update the parent duration to match the real audio duration.\n // Round up the duration to account for the lower precision in HTML5 Audio.\n parent._duration = Math.ceil(self._node.duration * 10) / 10;\n\n // Update the sprite that corresponds to the real duration.\n if (parent._sprite.__default[1] === Infinity) {\n parent._sprite.__default[1] = parent._duration * 1000;\n }\n\n // Run the regular ended method.\n parent._ended(self);\n }\n\n // Clear the event listener since the duration is now correct.\n self._node.removeEventListener('ended', self._endFn, false);\n }\n };\n\n /** Helper Methods **/\n /***************************************************************************/\n\n var cache = {};\n\n /**\n * Buffer a sound from URL, Data URI or cache and decode to audio source (Web Audio API).\n * @param {Howl} self\n */\n var loadBuffer = function(self) {\n var url = self._src;\n\n // Check if the buffer has already been cached and use it instead.\n if (cache[url]) {\n // Set the duration from the cache.\n self._duration = cache[url].duration;\n\n // Load the sound into this Howl.\n loadSound(self);\n\n return;\n }\n\n if (/^data:[^;]+;base64,/.test(url)) {\n // Decode the base64 data URI without XHR, since some browsers don't support it.\n var data = atob(url.split(',')[1]);\n var dataView = new Uint8Array(data.length);\n for (var i=0; i 0) {\n cache[self._src] = buffer;\n loadSound(self, buffer);\n } else {\n error();\n }\n };\n\n // Decode the buffer into an audio source.\n if (typeof Promise !== 'undefined' && Howler.ctx.decodeAudioData.length === 1) {\n Howler.ctx.decodeAudioData(arraybuffer).then(success).catch(error);\n } else {\n Howler.ctx.decodeAudioData(arraybuffer, success, error);\n }\n }\n\n /**\n * Sound is now loaded, so finish setting everything up and fire the loaded event.\n * @param {Howl} self\n * @param {Object} buffer The decoded buffer sound source.\n */\n var loadSound = function(self, buffer) {\n // Set the duration.\n if (buffer && !self._duration) {\n self._duration = buffer.duration;\n }\n\n // Setup a sprite if none is defined.\n if (Object.keys(self._sprite).length === 0) {\n self._sprite = {__default: [0, self._duration * 1000]};\n }\n\n // Fire the loaded event.\n if (self._state !== 'loaded') {\n self._state = 'loaded';\n self._emit('load');\n self._loadQueue();\n }\n };\n\n /**\n * Setup the audio context when available, or switch to HTML5 Audio mode.\n */\n var setupAudioContext = function() {\n // If we have already detected that Web Audio isn't supported, don't run this step again.\n if (!Howler.usingWebAudio) {\n return;\n }\n\n // Check if we are using Web Audio and setup the AudioContext if we are.\n try {\n if (typeof AudioContext !== 'undefined') {\n Howler.ctx = new AudioContext();\n } else if (typeof webkitAudioContext !== 'undefined') {\n Howler.ctx = new webkitAudioContext();\n } else {\n Howler.usingWebAudio = false;\n }\n } catch(e) {\n Howler.usingWebAudio = false;\n }\n\n // If the audio context creation still failed, set using web audio to false.\n if (!Howler.ctx) {\n Howler.usingWebAudio = false;\n }\n\n // Check if a webview is being used on iOS8 or earlier (rather than the browser).\n // If it is, disable Web Audio as it causes crashing.\n var iOS = (/iP(hone|od|ad)/.test(Howler._navigator && Howler._navigator.platform));\n var appVersion = Howler._navigator && Howler._navigator.appVersion.match(/OS (\\d+)_(\\d+)_?(\\d+)?/);\n var version = appVersion ? parseInt(appVersion[1], 10) : null;\n if (iOS && version && version < 9) {\n var safari = /safari/.test(Howler._navigator && Howler._navigator.userAgent.toLowerCase());\n if (Howler._navigator && !safari) {\n Howler.usingWebAudio = false;\n }\n }\n\n // Create and expose the master GainNode when using Web Audio (useful for plugins or advanced usage).\n if (Howler.usingWebAudio) {\n Howler.masterGain = (typeof Howler.ctx.createGain === 'undefined') ? Howler.ctx.createGainNode() : Howler.ctx.createGain();\n Howler.masterGain.gain.setValueAtTime(Howler._muted ? 0 : Howler._volume, Howler.ctx.currentTime);\n Howler.masterGain.connect(Howler.ctx.destination);\n }\n\n // Re-run the setup on Howler.\n Howler._setup();\n };\n\n // Add support for AMD (Asynchronous Module Definition) libraries such as require.js.\n if (typeof define === 'function' && define.amd) {\n define([], function() {\n return {\n Howler: Howler,\n Howl: Howl\n };\n });\n }\n\n // Add support for CommonJS libraries such as browserify.\n if (typeof exports !== 'undefined') {\n exports.Howler = Howler;\n exports.Howl = Howl;\n }\n\n // Add to global in Node.js (for testing, etc).\n if (typeof global !== 'undefined') {\n global.HowlerGlobal = HowlerGlobal;\n global.Howler = Howler;\n global.Howl = Howl;\n global.Sound = Sound;\n } else if (typeof window !== 'undefined') { // Define globally in case AMD is not available or unused.\n window.HowlerGlobal = HowlerGlobal;\n window.Howler = Howler;\n window.Howl = Howl;\n window.Sound = Sound;\n }\n})();\n\n\n/*!\n * Spatial Plugin - Adds support for stereo and 3D audio where Web Audio is supported.\n * \n * howler.js v2.2.3\n * howlerjs.com\n *\n * (c) 2013-2020, James Simpson of GoldFire Studios\n * goldfirestudios.com\n *\n * MIT License\n */\n\n(function() {\n\n 'use strict';\n\n // Setup default properties.\n HowlerGlobal.prototype._pos = [0, 0, 0];\n HowlerGlobal.prototype._orientation = [0, 0, -1, 0, 1, 0];\n\n /** Global Methods **/\n /***************************************************************************/\n\n /**\n * Helper method to update the stereo panning position of all current Howls.\n * Future Howls will not use this value unless explicitly set.\n * @param {Number} pan A value of -1.0 is all the way left and 1.0 is all the way right.\n * @return {Howler/Number} Self or current stereo panning value.\n */\n HowlerGlobal.prototype.stereo = function(pan) {\n var self = this;\n\n // Stop right here if not using Web Audio.\n if (!self.ctx || !self.ctx.listener) {\n return self;\n }\n\n // Loop through all Howls and update their stereo panning.\n for (var i=self._howls.length-1; i>=0; i--) {\n self._howls[i].stereo(pan);\n }\n\n return self;\n };\n\n /**\n * Get/set the position of the listener in 3D cartesian space. Sounds using\n * 3D position will be relative to the listener's position.\n * @param {Number} x The x-position of the listener.\n * @param {Number} y The y-position of the listener.\n * @param {Number} z The z-position of the listener.\n * @return {Howler/Array} Self or current listener position.\n */\n HowlerGlobal.prototype.pos = function(x, y, z) {\n var self = this;\n\n // Stop right here if not using Web Audio.\n if (!self.ctx || !self.ctx.listener) {\n return self;\n }\n\n // Set the defaults for optional 'y' & 'z'.\n y = (typeof y !== 'number') ? self._pos[1] : y;\n z = (typeof z !== 'number') ? self._pos[2] : z;\n\n if (typeof x === 'number') {\n self._pos = [x, y, z];\n\n if (typeof self.ctx.listener.positionX !== 'undefined') {\n self.ctx.listener.positionX.setTargetAtTime(self._pos[0], Howler.ctx.currentTime, 0.1);\n self.ctx.listener.positionY.setTargetAtTime(self._pos[1], Howler.ctx.currentTime, 0.1);\n self.ctx.listener.positionZ.setTargetAtTime(self._pos[2], Howler.ctx.currentTime, 0.1);\n } else {\n self.ctx.listener.setPosition(self._pos[0], self._pos[1], self._pos[2]);\n }\n } else {\n return self._pos;\n }\n\n return self;\n };\n\n /**\n * Get/set the direction the listener is pointing in the 3D cartesian space.\n * A front and up vector must be provided. The front is the direction the\n * face of the listener is pointing, and up is the direction the top of the\n * listener is pointing. Thus, these values are expected to be at right angles\n * from each other.\n * @param {Number} x The x-orientation of the listener.\n * @param {Number} y The y-orientation of the listener.\n * @param {Number} z The z-orientation of the listener.\n * @param {Number} xUp The x-orientation of the top of the listener.\n * @param {Number} yUp The y-orientation of the top of the listener.\n * @param {Number} zUp The z-orientation of the top of the listener.\n * @return {Howler/Array} Returns self or the current orientation vectors.\n */\n HowlerGlobal.prototype.orientation = function(x, y, z, xUp, yUp, zUp) {\n var self = this;\n\n // Stop right here if not using Web Audio.\n if (!self.ctx || !self.ctx.listener) {\n return self;\n }\n\n // Set the defaults for optional 'y' & 'z'.\n var or = self._orientation;\n y = (typeof y !== 'number') ? or[1] : y;\n z = (typeof z !== 'number') ? or[2] : z;\n xUp = (typeof xUp !== 'number') ? or[3] : xUp;\n yUp = (typeof yUp !== 'number') ? or[4] : yUp;\n zUp = (typeof zUp !== 'number') ? or[5] : zUp;\n\n if (typeof x === 'number') {\n self._orientation = [x, y, z, xUp, yUp, zUp];\n\n if (typeof self.ctx.listener.forwardX !== 'undefined') {\n self.ctx.listener.forwardX.setTargetAtTime(x, Howler.ctx.currentTime, 0.1);\n self.ctx.listener.forwardY.setTargetAtTime(y, Howler.ctx.currentTime, 0.1);\n self.ctx.listener.forwardZ.setTargetAtTime(z, Howler.ctx.currentTime, 0.1);\n self.ctx.listener.upX.setTargetAtTime(xUp, Howler.ctx.currentTime, 0.1);\n self.ctx.listener.upY.setTargetAtTime(yUp, Howler.ctx.currentTime, 0.1);\n self.ctx.listener.upZ.setTargetAtTime(zUp, Howler.ctx.currentTime, 0.1);\n } else {\n self.ctx.listener.setOrientation(x, y, z, xUp, yUp, zUp);\n }\n } else {\n return or;\n }\n\n return self;\n };\n\n /** Group Methods **/\n /***************************************************************************/\n\n /**\n * Add new properties to the core init.\n * @param {Function} _super Core init method.\n * @return {Howl}\n */\n Howl.prototype.init = (function(_super) {\n return function(o) {\n var self = this;\n\n // Setup user-defined default properties.\n self._orientation = o.orientation || [1, 0, 0];\n self._stereo = o.stereo || null;\n self._pos = o.pos || null;\n self._pannerAttr = {\n coneInnerAngle: typeof o.coneInnerAngle !== 'undefined' ? o.coneInnerAngle : 360,\n coneOuterAngle: typeof o.coneOuterAngle !== 'undefined' ? o.coneOuterAngle : 360,\n coneOuterGain: typeof o.coneOuterGain !== 'undefined' ? o.coneOuterGain : 0,\n distanceModel: typeof o.distanceModel !== 'undefined' ? o.distanceModel : 'inverse',\n maxDistance: typeof o.maxDistance !== 'undefined' ? o.maxDistance : 10000,\n panningModel: typeof o.panningModel !== 'undefined' ? o.panningModel : 'HRTF',\n refDistance: typeof o.refDistance !== 'undefined' ? o.refDistance : 1,\n rolloffFactor: typeof o.rolloffFactor !== 'undefined' ? o.rolloffFactor : 1\n };\n\n // Setup event listeners.\n self._onstereo = o.onstereo ? [{fn: o.onstereo}] : [];\n self._onpos = o.onpos ? [{fn: o.onpos}] : [];\n self._onorientation = o.onorientation ? [{fn: o.onorientation}] : [];\n\n // Complete initilization with howler.js core's init function.\n return _super.call(this, o);\n };\n })(Howl.prototype.init);\n\n /**\n * Get/set the stereo panning of the audio source for this sound or all in the group.\n * @param {Number} pan A value of -1.0 is all the way left and 1.0 is all the way right.\n * @param {Number} id (optional) The sound ID. If none is passed, all in group will be updated.\n * @return {Howl/Number} Returns self or the current stereo panning value.\n */\n Howl.prototype.stereo = function(pan, id) {\n var self = this;\n\n // Stop right here if not using Web Audio.\n if (!self._webAudio) {\n return self;\n }\n\n // If the sound hasn't loaded, add it to the load queue to change stereo pan when capable.\n if (self._state !== 'loaded') {\n self._queue.push({\n event: 'stereo',\n action: function() {\n self.stereo(pan, id);\n }\n });\n\n return self;\n }\n\n // Check for PannerStereoNode support and fallback to PannerNode if it doesn't exist.\n var pannerType = (typeof Howler.ctx.createStereoPanner === 'undefined') ? 'spatial' : 'stereo';\n\n // Setup the group's stereo panning if no ID is passed.\n if (typeof id === 'undefined') {\n // Return the group's stereo panning if no parameters are passed.\n if (typeof pan === 'number') {\n self._stereo = pan;\n self._pos = [pan, 0, 0];\n } else {\n return self._stereo;\n }\n }\n\n // Change the streo panning of one or all sounds in group.\n var ids = self._getSoundIds(id);\n for (var i=0; i Returns the group's values.\n * pannerAttr(id) -> Returns the sound id's values.\n * pannerAttr(o) -> Set's the values of all sounds in this Howl group.\n * pannerAttr(o, id) -> Set's the values of passed sound id.\n *\n * Attributes:\n * coneInnerAngle - (360 by default) A parameter for directional audio sources, this is an angle, in degrees,\n * inside of which there will be no volume reduction.\n * coneOuterAngle - (360 by default) A parameter for directional audio sources, this is an angle, in degrees,\n * outside of which the volume will be reduced to a constant value of `coneOuterGain`.\n * coneOuterGain - (0 by default) A parameter for directional audio sources, this is the gain outside of the\n * `coneOuterAngle`. It is a linear value in the range `[0, 1]`.\n * distanceModel - ('inverse' by default) Determines algorithm used to reduce volume as audio moves away from\n * listener. Can be `linear`, `inverse` or `exponential.\n * maxDistance - (10000 by default) The maximum distance between source and listener, after which the volume\n * will not be reduced any further.\n * refDistance - (1 by default) A reference distance for reducing volume as source moves further from the listener.\n * This is simply a variable of the distance model and has a different effect depending on which model\n * is used and the scale of your coordinates. Generally, volume will be equal to 1 at this distance.\n * rolloffFactor - (1 by default) How quickly the volume reduces as source moves from listener. This is simply a\n * variable of the distance model and can be in the range of `[0, 1]` with `linear` and `[0, ∞]`\n * with `inverse` and `exponential`.\n * panningModel - ('HRTF' by default) Determines which spatialization algorithm is used to position audio.\n * Can be `HRTF` or `equalpower`.\n *\n * @return {Howl/Object} Returns self or current panner attributes.\n */\n Howl.prototype.pannerAttr = function() {\n var self = this;\n var args = arguments;\n var o, id, sound;\n\n // Stop right here if not using Web Audio.\n if (!self._webAudio) {\n return self;\n }\n\n // Determine the values based on arguments.\n if (args.length === 0) {\n // Return the group's panner attribute values.\n return self._pannerAttr;\n } else if (args.length === 1) {\n if (typeof args[0] === 'object') {\n o = args[0];\n\n // Set the grou's panner attribute values.\n if (typeof id === 'undefined') {\n if (!o.pannerAttr) {\n o.pannerAttr = {\n coneInnerAngle: o.coneInnerAngle,\n coneOuterAngle: o.coneOuterAngle,\n coneOuterGain: o.coneOuterGain,\n distanceModel: o.distanceModel,\n maxDistance: o.maxDistance,\n refDistance: o.refDistance,\n rolloffFactor: o.rolloffFactor,\n panningModel: o.panningModel\n };\n }\n\n self._pannerAttr = {\n coneInnerAngle: typeof o.pannerAttr.coneInnerAngle !== 'undefined' ? o.pannerAttr.coneInnerAngle : self._coneInnerAngle,\n coneOuterAngle: typeof o.pannerAttr.coneOuterAngle !== 'undefined' ? o.pannerAttr.coneOuterAngle : self._coneOuterAngle,\n coneOuterGain: typeof o.pannerAttr.coneOuterGain !== 'undefined' ? o.pannerAttr.coneOuterGain : self._coneOuterGain,\n distanceModel: typeof o.pannerAttr.distanceModel !== 'undefined' ? o.pannerAttr.distanceModel : self._distanceModel,\n maxDistance: typeof o.pannerAttr.maxDistance !== 'undefined' ? o.pannerAttr.maxDistance : self._maxDistance,\n refDistance: typeof o.pannerAttr.refDistance !== 'undefined' ? o.pannerAttr.refDistance : self._refDistance,\n rolloffFactor: typeof o.pannerAttr.rolloffFactor !== 'undefined' ? o.pannerAttr.rolloffFactor : self._rolloffFactor,\n panningModel: typeof o.pannerAttr.panningModel !== 'undefined' ? o.pannerAttr.panningModel : self._panningModel\n };\n }\n } else {\n // Return this sound's panner attribute values.\n sound = self._soundById(parseInt(args[0], 10));\n return sound ? sound._pannerAttr : self._pannerAttr;\n }\n } else if (args.length === 2) {\n o = args[0];\n id = parseInt(args[1], 10);\n }\n\n // Update the values of the specified sounds.\n var ids = self._getSoundIds(id);\n for (var i=0; it in o?Ee(o,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):o[t]=e,g=(o,t)=>{for(var e in t||(t={}))Ve.call(t,e)&&$e(o,e,t[e]);if(Be)for(var e of Be(t))Ge.call(t,e)&&$e(o,e,t[e]);return o},D=(o,t)=>We(o,Ue(t));import{l as S,c as re}from"./index.b990f5f5.js";function He(o,t){return t.forEach(function(e){e&&typeof e!="string"&&!Array.isArray(e)&&Object.keys(e).forEach(function(r){if(r!=="default"&&!(r in o)){var d=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(o,r,d.get?d:{enumerable:!0,get:function(){return e[r]}})}})}),Object.freeze(Object.defineProperty(o,Symbol.toStringTag,{value:"Module"}))}var G={},ne={};Object.defineProperty(ne,"__esModule",{value:!0});ne.initCollections=void 0;function Ke(o){o.register("advancement_trigger",["minecraft:bee_nest_destroyed","minecraft:bred_animals","minecraft:brewed_potion","minecraft:changed_dimension","minecraft:channeled_lightning","minecraft:construct_beacon","minecraft:consume_item","minecraft:cured_zombie_villager","minecraft:effects_changed","minecraft:enchanted_item","minecraft:enter_block","minecraft:entity_hurt_player","minecraft:entity_killed_player","minecraft:fall_from_height","minecraft:filled_bucket","minecraft:fishing_rod_hooked","minecraft:hero_of_the_village","minecraft:impossible","minecraft:inventory_changed","minecraft:item_durability_changed","minecraft:item_used_on_block","minecraft:killed_by_crossbow","minecraft:levitation","minecraft:lightning_strike","minecraft:location","minecraft:nether_travel","minecraft:placed_block","minecraft:player_generates_container_loot","minecraft:player_hurt_entity","minecraft:player_interacted_with_entity","minecraft:player_killed_entity","minecraft:recipe_unlocked","minecraft:ride_entity_in_lava","minecraft:shot_crossbow","minecraft:slept_in_bed","minecraft:slide_down_block","minecraft:started_riding","minecraft:summoned_entity","minecraft:tame_animal","minecraft:target_hit","minecraft:tick","minecraft:thrown_item_picked_up_by_entity","minecraft:used_ender_eye","minecraft:used_totem","minecraft:using_item","minecraft:villager_trade","minecraft:voluntary_exile"]),o.register("keybind",["key.advancements","key.attack","key.back","key.chat","key.command","key.drop","key.forward","key.fullscreen","key.hotbar.1","key.hotbar.2","key.hotbar.3","key.hotbar.4","key.hotbar.5","key.hotbar.6","key.hotbar.7","key.hotbar.8","key.hotbar.9","key.inventory","key.jump","key.left","key.loadToolbarActivator","key.pickItem","key.playerlist","key.right","key.saveToolbarActivator","key.screenshot","key.smoothCamera","key.sneak","key.spectatorOutlines","key.sprint","key.swapOffhand","key.togglePerspective","key.use"]),o.register("slot",["mainhand","offhand","head","chest","legs","feet"]),o.register("gamemode",["survival","creative","adventure","spectator"]),o.register("entity_source",["this","killer","direct_killer","killer_player"]),o.register("copy_source",["block_entity","this","killer","killer_player"]),o.register("loot_table_apply_bonus_formula",["minecraft:uniform_bonus_count","minecraft:binomial_with_bonus_count","minecraft:ore_drops"]),o.register("map_decoration",["mansion","monument","player","frame","red_marker","blue_marker","target_x","target_point","player_off_map","player_off_limits","red_x","banner_white","banner_orange","banner_magenta","banner_light_blue","banner_yellow","banner_lime","banner_pink","banner_gray","banner_light_gray","banner_cyan","banner_purple","banner_blue","banner_brown","banner_green","banner_red","banner_black"]),o.register("map_feature",["bastion_remnant","buried_treasure","desert_pyramid","endcity","fortress","igloo","jungle_pyramid","mansion","mineshaft","monument","nether_fossil","ocean_ruin","pillager_outpost","ruined_portal","shipwreck","stronghold","swamp_hut","village"]),o.register("recipe_group",["bed","light_gray_dye","iron_ingot","wooden_stairs","black_dye","stained_terracotta","dyed_bed","magenta_dye","bark","rabbit_stew","light_blue_dye","wooden_fence_gate","planks","stained_glass","wooden_door","stained_glass_pane","wooden_fence","sticks","concrete_powder","wooden_pressure_plate","boat","brown_dye","yellow_dye","bonemeal","red_dye","wooden_trapdoor","wooden_button","gold_ingot","pink_dye","wooden_slab","orange_dye","carpet","sign","wool","sugar","blue_dye","white_dye","banner","netherite_ingot"]),o.register("biome_category",["beach","desert","extreme_hills","forest","icy","jungle","mesa","mountain","mushroom","nether","none","ocean","plains","river","savanna","swamp","taiga","the_end","underground"]),o.register("heightmap_type",["MOTION_BLOCKING","MOTION_BLOCKING_NO_LEAVES","OCEAN_FLOOR","OCEAN_FLOOR_WG","WORLD_SURFACE","WORLD_SURFACE_WG"]),o.register("generation_step",["air","liquid"]),o.register("loot_context_type",["minecraft:empty","minecraft:chest","minecraft:command","minecraft:selector","minecraft:fishing","minecraft:entity","minecraft:gift","minecraft:barter","minecraft:advancement_reward","minecraft:advancement_entity","minecraft:generic","minecraft:block"]),o.register("banner_pattern",["base","square_bottom_left","square_bottom_right","square_top_left","square_top_right","stripe_bottom","stripe_top","stripe_left","stripe_right","stripe_center","stripe_middle","stripe_downright","stripe_downleft","small_stripes","cross","straight_cross","triangle_bottom","triangle_top","triangles_bottom","triangles_top","diagonal_left","diagonal_up_right","diagonal_up_left","diagonal_right","circle","rhombus","half_vertical","half_horizontal","half_vertical_right","half_horizontal_bottom","border","curly_border","gradient","gradient_up","bricks","globe","creeper","skull","flower","mojang","piglin"]),o.register("dye_color",["white","orange","magenta","light_blue","yellow","lime","pink","gray","light_gray","cyan","purple","blue","brown","green","red","black"]),o.register("cave_surface",["floor","ceiling"]),o.register("direction",["down","up","north","east","south","west"]),o.register("axis",["x","y","z"]),o.register("display_position",["firstperson_righthand","firstperson_lefthand","thirdperson_righthand","thirdperson_lefthand","gui","head","ground","fixed"]),o.register("gui_light",["front","side"]),o.register("item_model_predicates",["angle","blocking","broken","cast","charged","cooldown","custom_model_data","damage","damaged","firework","lefthanded","pull","pulling","throwing","time"]),o.register("cat_texture",["textures/entity/cat/tabby.png","textures/entity/cat/black.png","textures/entity/cat/red.png","textures/entity/cat/siamese.png","textures/entity/cat/british_shorthair.png","textures/entity/cat/calico.png","textures/entity/cat/persian.png","textures/entity/cat/ragdoll.png","textures/entity/cat/white.png","textures/entity/cat/jellie.png","textures/entity/cat/all_black.png"])}ne.initCollections=Ke;var ae={},ce={};Object.defineProperty(ce,"__esModule",{value:!0});ce.initAdvancementSchemas=void 0;const s=S;function Xe(o,t){const e=s.Reference.bind(void 0,o),r=s.StringNode.bind(void 0,t),d=(0,s.ChoiceNode)([{type:"object",node:(0,s.Opt)(e("entity_predicate")),change:n=>{var a,l;return(l=(a=n[0])===null||a===void 0?void 0:a.predicate)!==null&&l!==void 0?l:{}}},{type:"list",node:(0,s.ListNode)(e("condition")),change:n=>[{condition:"minecraft:entity_properties",predicate:n}]}],{context:"conditions"});o.register("advancement",(0,s.Mod)((0,s.ObjectNode)({display:(0,s.Opt)((0,s.Mod)((0,s.ObjectNode)({icon:(0,s.ObjectNode)({item:r({validator:"resource",params:{pool:"item"}}),nbt:(0,s.Opt)(r({validator:"nbt",params:{registry:{category:"minecraft:item",id:["pop",{push:"item"}]}}}))}),title:e("text_component"),description:e("text_component"),background:(0,s.Opt)(r()),frame:(0,s.Opt)(r({enum:["task","challenge","goal"]})),show_toast:(0,s.Opt)((0,s.BooleanNode)()),announce_to_chat:(0,s.Opt)((0,s.BooleanNode)()),hidden:(0,s.Opt)((0,s.BooleanNode)())}),{default:()=>({icon:{item:"minecraft:stone"},title:"",description:""})})),parent:(0,s.Opt)(r({validator:"resource",params:{pool:"$advancement"}})),criteria:(0,s.MapNode)(r(),e("advancement_criteria")),requirements:(0,s.Opt)((0,s.ListNode)((0,s.ListNode)(r()))),rewards:(0,s.Opt)((0,s.ObjectNode)({function:(0,s.Opt)(r({validator:"resource",params:{pool:"$function"}})),loot:(0,s.Opt)((0,s.ListNode)(r({validator:"resource",params:{pool:"$loot_table"}}))),recipes:(0,s.Opt)((0,s.ListNode)(r({validator:"resource",params:{pool:"$recipe"}}))),experience:(0,s.Opt)((0,s.NumberNode)({integer:!0}))}))},{context:"advancement"}),{default:()=>({criteria:{requirement:{trigger:"minecraft:location"}}})})),o.register("advancement_criteria",(0,s.ObjectNode)({trigger:r({validator:"resource",params:{pool:t.get("advancement_trigger")}}),conditions:(0,s.Opt)((0,s.ObjectNode)({player:(0,s.Mod)(d,{enabled:n=>n.pop().push("trigger").get()!=="minecraft:impossible"}),[s.Switch]:["pop",{push:"trigger"}],[s.Case]:{"minecraft:bee_nest_destroyed":{block:(0,s.Opt)(r({validator:"resource",params:{pool:"block"}})),num_bees_inside:(0,s.Opt)((0,s.NumberNode)({integer:!0})),item:(0,s.Opt)(e("item_predicate"))},"minecraft:bred_animals":{parent:d,partner:d,child:d},"minecraft:brewed_potion":{potion:(0,s.Opt)(r({validator:"resource",params:{pool:"potion"}}))},"minecraft:changed_dimension":{from:(0,s.Opt)(r({validator:"resource",params:{pool:"$dimension"}})),to:(0,s.Opt)(r({validator:"resource",params:{pool:"$dimension"}}))},"minecraft:channeled_lightning":{victims:(0,s.Opt)((0,s.ListNode)(d))},"minecraft:construct_beacon":{level:e("int_bounds")},"minecraft:consume_item":{item:(0,s.Opt)(e("item_predicate"))},"minecraft:cured_zombie_villager":{villager:d,zombie:d},"minecraft:effects_changed":{effects:(0,s.Opt)((0,s.MapNode)(r({validator:"resource",params:{pool:"mob_effect"}}),(0,s.ObjectNode)({amplifier:e("int_bounds"),duration:e("int_bounds")}))),source:(0,s.Opt)(d)},"minecraft:enter_block":{block:(0,s.Opt)(r({validator:"resource",params:{pool:"block"}})),state:(0,s.Opt)((0,s.MapNode)(r(),r(),{validation:{validator:"block_state_map",params:{id:["pop",{push:"block"}]}}}))},"minecraft:enchanted_item":{levels:e("int_bounds"),item:(0,s.Opt)(e("item_predicate"))},"minecraft:entity_hurt_player":{damage:(0,s.Opt)(e("damage_predicate"))},"minecraft:entity_killed_player":{entity:d,killing_blow:(0,s.Opt)(e("damage_source_predicate"))},"minecraft:fall_from_height":{start_position:(0,s.Opt)(e("location_predicate")),distance:(0,s.Opt)(e("distance_predicate"))},"minecraft:filled_bucket":{item:(0,s.Opt)(e("item_predicate"))},"minecraft:fishing_rod_hooked":{entity:d,item:(0,s.Opt)(e("item_predicate"))},"minecraft:hero_of_the_village":{location:(0,s.Opt)(e("location_predicate"))},"minecraft:inventory_changed":{slots:(0,s.Opt)((0,s.ObjectNode)({empty:e("int_bounds"),occupied:e("int_bounds"),full:e("int_bounds")})),items:(0,s.Opt)((0,s.ListNode)(e("item_predicate")))},"minecraft:item_durability_changed":{delta:e("int_bounds"),durability:e("int_bounds"),item:(0,s.Opt)(e("item_predicate"))},"minecraft:item_used_on_block":{item:(0,s.Opt)(e("item_predicate")),location:(0,s.Opt)(e("location_predicate"))},"minecraft:killed_by_crossbow":{unique_entity_types:e("int_bounds"),victims:(0,s.Opt)((0,s.ListNode)(d))},"minecraft:levitation":{distance:(0,s.Opt)(e("distance_predicate")),duration:e("int_bounds")},"minecraft:lightning_strike":{lightning:d,bystander:d},"minecraft:location":{location:(0,s.Opt)(e("location_predicate"))},"minecraft:nether_travel":{start_position:(0,s.Opt)(e("location_predicate")),distance:(0,s.Opt)(e("distance_predicate"))},"minecraft:placed_block":{block:(0,s.Opt)(r({validator:"resource",params:{pool:"block"}})),state:(0,s.Opt)((0,s.MapNode)(r(),r(),{validation:{validator:"block_state_map",params:{id:["pop",{push:"block"}]}}})),item:(0,s.Opt)(e("item_predicate")),location:(0,s.Opt)(e("location_predicate"))},"minecraft:player_generates_container_loot":{loot_table:r({validator:"resource",params:{pool:"$loot_table"}})},"minecraft:player_hurt_entity":{damage:(0,s.Opt)(e("damage_predicate")),entity:d},"minecraft:player_interacted_with_entity":{item:(0,s.Opt)(e("item_predicate")),entity:d},"minecraft:player_killed_entity":{entity:d,killing_blow:(0,s.Opt)(e("damage_source_predicate"))},"minecraft:recipe_unlocked":{recipe:r({validator:"resource",params:{pool:"$recipe"}})},"minecraft:ride_entity_in_lava":{start_position:(0,s.Opt)(e("location_predicate")),distance:(0,s.Opt)(e("distance_predicate"))},"minecraft:slept_in_bed":{location:(0,s.Opt)(e("location_predicate"))},"minecraft:slide_down_block":{block:(0,s.Opt)(r({validator:"resource",params:{pool:"block"}}))},"minecraft:shot_crossbow":{item:(0,s.Opt)(e("item_predicate"))},"minecraft:summoned_entity":{entity:d},"minecraft:tame_animal":{entity:d},"minecraft:target_hit":{projectile:d,shooter:d,signal_strength:e("int_bounds")},"minecraft:thrown_item_picked_up_by_entity":{entity:d,item:(0,s.Opt)(e("item_predicate"))},"minecraft:used_ender_eye":{distance:(0,s.Opt)(e("float_bounds"))},"minecraft:used_totem":{item:(0,s.Opt)(e("item_predicate"))},"minecraft:using_item":{item:(0,s.Opt)(e("item_predicate"))},"minecraft:villager_trade":{villager:d,item:(0,s.Opt)(e("item_predicate"))},"minecraft:voluntary_exile":{location:(0,s.Opt)(e("location_predicate"))}}},{context:"criterion"}))},{category:"predicate",context:"criterion"}))}ce.initAdvancementSchemas=Xe;var de={},se={};Object.defineProperty(se,"__esModule",{value:!0});se.initModelSchemas=void 0;const N=S;function Ze(o,t){N.Reference.bind(void 0,o);const e=N.StringNode.bind(void 0,t),r=(n,a,l)=>(0,N.ListNode)((0,N.NumberNode)({min:a,max:l}),{minLength:n,maxLength:n}),d=(0,N.ChoiceNode)([{type:"alias",match:n=>typeof n=="string"&&n.startsWith("#"),node:e(),change:n=>typeof n=="string"?`#${n}`:"#0"},{type:"reference",match:n=>typeof n=="string",node:e({validator:"resource",params:{pool:"$texture"}}),change:n=>typeof n=="string"?n.replace(/^#/,""):""}],{choiceContext:"texture"});o.register("model",(0,N.Mod)((0,N.ObjectNode)({parent:(0,N.Opt)(e({validator:"resource",params:{pool:"$model"}})),ambientocclusion:(0,N.Opt)((0,N.BooleanNode)()),gui_light:(0,N.Opt)(e({enum:"gui_light"})),textures:(0,N.Opt)((0,N.MapNode)(e(),d)),elements:(0,N.Opt)((0,N.ListNode)((0,N.ObjectNode)({from:r(3,-16,32),to:r(3,-16,32),rotation:(0,N.Opt)((0,N.ObjectNode)({origin:r(3),axis:e({enum:"axis"}),angle:(0,N.NumberEnum)({values:[-45,-22.5,0,22.5,45]}),rescale:(0,N.Opt)((0,N.BooleanNode)())})),shade:(0,N.Opt)((0,N.BooleanNode)()),faces:(0,N.MapNode)(e({enum:"direction"}),(0,N.ObjectNode)({texture:d,uv:(0,N.Opt)(r(4)),cullface:(0,N.Opt)(e({enum:"direction"})),rotation:(0,N.Opt)((0,N.NumberNode)({integer:!0})),tintindex:(0,N.Opt)((0,N.NumberNode)({integer:!0}))}))},{context:"model_element"}))),display:(0,N.Opt)((0,N.MapNode)(e({enum:"display_position"}),(0,N.ObjectNode)({rotation:r(3),translation:r(3,-80,80),scale:r(3,-4,4)},{context:"item_transform"}))),overrides:(0,N.Opt)((0,N.ListNode)((0,N.ObjectNode)({predicate:(0,N.MapNode)(e({enum:"item_model_predicates"}),(0,N.NumberNode)()),model:e({validator:"resource",params:{pool:"$model"}})},{context:"model_override"})))},{context:"model"}),{default:()=>({parent:"minecraft:item/generated",textures:{layer0:"minecraft:item/diamond"}})}))}se.initModelSchemas=Ze;var le={};Object.defineProperty(le,"__esModule",{value:!0});le.initBlockDefinitionSchemas=void 0;const x=S;function Ye(o,t){const e=x.Reference.bind(void 0,o),r=x.StringNode.bind(void 0,t);o.register("block_definition",(0,x.Mod)((0,x.ChoiceNode)([{type:"variants",match:n=>n.variants!==void 0,node:(0,x.ObjectNode)({variants:(0,x.MapNode)(r(),e("model_variant"))}),change:n=>({variants:{"":{}}})},{type:"multipart",match:n=>n.multipart!==void 0,node:(0,x.ObjectNode)({multipart:(0,x.ListNode)((0,x.ObjectNode)({when:(0,x.Opt)(e("multipart_condition")),apply:e("model_variant")}))}),change:n=>({multipart:{when:{},apply:{}}})}],{context:"block_definition"}),{default:()=>({variants:{"":{model:"minecraft:block/stone"}}})}));const d={model:r({validator:"resource",params:{pool:"$model"}}),x:(0,x.Opt)((0,x.NumberEnum)({integer:!0,values:[0,90,180,270]})),y:(0,x.Opt)((0,x.NumberEnum)({integer:!0,values:[0,90,180,270]})),uvlock:(0,x.Opt)((0,x.BooleanNode)())};o.register("model_variant",(0,x.ChoiceNode)([{type:"object",node:(0,x.ObjectNode)(d),change:n=>Array.isArray(n)&&n.length>0?n[0]:{}},{type:"list",node:(0,x.ListNode)((0,x.ObjectNode)(D(g({},d),{weight:(0,x.Opt)((0,x.NumberNode)({integer:!0,min:1}))}),{context:"model_variant"})),change:n=>[g({weight:1},n)]}],{context:"model_variant"})),o.register("multipart_condition",(0,x.ChoiceNode)([{type:"object",priority:-1,match:()=>!0,node:(0,x.MapNode)(r(),r()),change:n=>typeof n=="object"&&Array.isArray(n==null?void 0:n.OR)&&n.OR.length>0?n.OR[0]:{}},{type:"or",match:n=>typeof n=="object"&&(n==null?void 0:n.OR)!==void 0,node:(0,x.ObjectNode)({OR:(0,x.ListNode)(e("multipart_condition"))}),change:n=>({OR:[n!=null?n:{}]})}],{context:"multipart_condition"}))}le.initBlockDefinitionSchemas=Ye;Object.defineProperty(de,"__esModule",{value:!0});de.initAssetsSchemas=void 0;const Je=se,Qe=le;function et(o,t){(0,Qe.initBlockDefinitionSchemas)(o,t),(0,Je.initModelSchemas)(o,t)}de.initAssetsSchemas=et;var F={};(function(o){Object.defineProperty(o,"__esModule",{value:!0}),o.initCommonSchemas=o.InclusiveRange=o.IntProvider=o.FloatProvider=o.NoiseSettingsPresets=o.DefaultNoiseSettings=o.DimensionTypePresets=o.DefaultDimensionType=o.FunctionCases=o.ConditionCases=void 0;const t=S;o.DefaultDimensionType={ultrawarm:!1,natural:!0,piglin_safe:!1,respawn_anchor_works:!1,bed_works:!0,has_raids:!0,has_skylight:!0,has_ceiling:!1,coordinate_scale:1,ambient_light:0,logical_height:256,infiniburn:"minecraft:infiniburn_overworld",min_y:0,height:256};const e={"minecraft:igloo":{spacing:32,separation:8,salt:14357618},"minecraft:mansion":{spacing:80,separation:20,salt:10387319},"minecraft:jungle_pyramid":{spacing:32,separation:8,salt:14357619},"minecraft:nether_fossil":{spacing:2,separation:1,salt:14357921},"minecraft:stronghold":{spacing:1,separation:0,salt:0},"minecraft:shipwreck":{spacing:24,separation:4,salt:165745295},"minecraft:mineshaft":{spacing:1,separation:0,salt:0},"minecraft:desert_pyramid":{spacing:32,separation:8,salt:14357617},"minecraft:ruined_portal":{spacing:40,separation:15,salt:34222645},"minecraft:fortress":{spacing:27,separation:4,salt:30084232},"minecraft:pillager_outpost":{spacing:32,separation:8,salt:165745296},"minecraft:village":{spacing:32,separation:8,salt:10387312},"minecraft:endcity":{spacing:20,separation:11,salt:10387313},"minecraft:buried_treasure":{spacing:1,separation:0,salt:0},"minecraft:ocean_ruin":{spacing:20,separation:8,salt:14357621},"minecraft:bastion_remnant":{spacing:27,separation:4,salt:30084232},"minecraft:swamp_hut":{spacing:32,separation:8,salt:14357620},"minecraft:monument":{spacing:32,separation:5,salt:10387313}};o.DefaultNoiseSettings={bedrock_roof_position:-2147483648,bedrock_floor_position:0,sea_level:63,noise_caves_enabled:!0,deepslate_enabled:!0,ore_veins_enabled:!0,noodle_caves_enabled:!0,disable_mob_generation:!1,aquifers_enabled:!0,default_block:{Name:"minecraft:stone"},default_fluid:{Properties:{level:"0"},Name:"minecraft:water"},noise:{min_y:-64,height:384,size_horizontal:1,size_vertical:2,density_factor:1,density_offset:-.51875,top_slide:{target:-.078125,size:2,offset:8},bottom_slide:{target:.1171875,size:3,offset:0},sampling:{xz_scale:.9999999814507745,y_scale:.9999999814507745,xz_factor:80,y_factor:160},terrain_shaper:{offset:0,factor:0,jaggedness:0}},surface_rule:{type:"minecraft:sequence",sequence:[]},structures:{stronghold:{distance:32,spread:3,count:128},structures:e}};function r(d,n){const a=t.StringNode.bind(void 0,n),l=t.Reference.bind(void 0,d);d.register("block_state",(0,t.Mod)((0,t.ObjectNode)({Name:a({validator:"resource",params:{pool:"block"}}),Properties:(0,t.Opt)((0,t.MapNode)(a(),a(),{validation:{validator:"block_state_map",params:{id:["pop",{push:"Name"}]}}}))},{context:"block_state"}),{default:()=>({Name:"minecraft:stone"})})),d.register("fluid_state",(0,t.Mod)((0,t.ObjectNode)({Name:a({validator:"resource",params:{pool:"fluid"}}),Properties:(0,t.Opt)((0,t.MapNode)(a(),a()))},{context:"fluid_state"}),{default:()=>({Name:"minecraft:water",Properties:{level:"0"}})})),d.register("block_pos",(0,t.Mod)((0,t.ListNode)((0,t.NumberNode)({integer:!0}),{minLength:3,maxLength:3}),{default:()=>[0,0,0]}));const I=f=>(0,t.Opt)((0,t.ChoiceNode)([{type:"number",node:(0,t.NumberNode)({integer:f}),change:O=>{var h,w;return O===void 0?0:(w=(h=O.min)!==null&&h!==void 0?h:O.max)!==null&&w!==void 0?w:0}},{type:"object",node:(0,t.ObjectNode)({min:(0,t.Opt)((0,t.NumberNode)({integer:f})),max:(0,t.Opt)((0,t.NumberNode)({integer:f}))},{context:"range"}),change:O=>({min:O!=null?O:0,max:O!=null?O:0})}]));d.register("int_bounds",I(!0)),d.register("float_bounds",I()),d.register("int_range",(0,t.ChoiceNode)([{type:"object",node:(0,t.ObjectNode)({min:(0,t.Opt)(l("number_provider")),max:(0,t.Opt)(l("number_provider"))})},{type:"number",node:(0,t.NumberNode)({integer:!0})}],{context:"range"}));const B=(f,O,h,w,$,L,Y)=>{let J={};$&&Object.keys(Y[$]).forEach(E=>{J[E]=(0,t.Mod)(Y[$][E],{enabled:R=>R.push("type").get()===void 0})});const te=(0,t.ObjectNode)(g({type:(0,t.Mod)((0,t.Opt)(a({validator:"resource",params:{pool:f}})),{hidden:()=>!0}),[t.Switch]:[{push:"type"}],[t.Case]:Y},J),{context:L,disableSwitchContext:!0}),A=[{type:O,node:Y[w][h]}];return $&&A.push({type:"object",priority:-1,node:te}),Object.keys(Y).forEach(E=>{A.push({type:E,match:R=>{var Le;if("minecraft:"+((Le=R==null?void 0:R.type)===null||Le===void 0?void 0:Le.replace(/^minecraft:/,""))===E)return!0;const W=R?Object.keys(R):[];return typeof R=="object"&&((W==null?void 0:W.length)===0||(W==null?void 0:W.length)===1&&(W==null?void 0:W[0])==="type")},node:te,change:R=>({type:E})})}),(0,t.ChoiceNode)(A,{context:L,choiceContext:`${L}.type`})};d.register("number_provider",B("loot_number_provider_type","number","value","minecraft:constant","minecraft:uniform","number_provider",{"minecraft:constant":{value:(0,t.NumberNode)()},"minecraft:uniform":{min:l("number_provider"),max:l("number_provider")},"minecraft:binomial":{n:l("number_provider"),p:l("number_provider")},"minecraft:score":{target:l("scoreboard_name_provider"),score:a({validator:"objective"}),scale:(0,t.Opt)((0,t.NumberNode)())}})),d.register("scoreboard_name_provider",B("loot_score_provider_type","string","target","minecraft:context",null,"score_provider",{"minecraft:fixed":{name:a({validator:"entity",params:{amount:"multiple",type:"entities",isScoreHolder:!0}})},"minecraft:context":{target:(0,t.Mod)(a({enum:"entity_source"}),{default:()=>"this"})}})),d.register("nbt_provider",B("loot_nbt_provider_type","string","target","minecraft:context",null,"nbt_provider",{"minecraft:storage":{source:a({validator:"resource",params:{pool:"$storage"}})},"minecraft:context":{target:(0,t.Mod)(a({enum:"copy_source"}),{default:()=>"this"})}})),o.FloatProvider=f=>B("float_provider_type","number","value","minecraft:constant",null,"float_provider",{"minecraft:constant":{value:(0,t.NumberNode)(f)},"minecraft:uniform":{value:(0,t.ObjectNode)({min_inclusive:(0,t.NumberNode)(f),max_exclusive:(0,t.NumberNode)(f)})},"minecraft:clamped_normal":{value:(0,t.ObjectNode)({min:(0,t.NumberNode)(),max:(0,t.NumberNode)(),mean:(0,t.NumberNode)(),deviation:(0,t.NumberNode)()})},"minecraft:trapezoid":{value:(0,t.ObjectNode)({min:(0,t.NumberNode)(),max:(0,t.NumberNode)(),plateau:(0,t.NumberNode)()})}}),d.register("float_provider",(0,o.FloatProvider)()),o.IntProvider=f=>B("int_provider_type","number","value","minecraft:constant",null,"int_provider",{"minecraft:constant":{value:(0,t.NumberNode)(g({integer:!0},f))},"minecraft:uniform":{value:(0,t.ObjectNode)({min_inclusive:(0,t.NumberNode)(g({integer:!0},f)),max_inclusive:(0,t.NumberNode)(g({integer:!0},f))})},"minecraft:biased_to_bottom":{value:(0,t.ObjectNode)({min_inclusive:(0,t.NumberNode)(g({integer:!0},f)),max_inclusive:(0,t.NumberNode)(g({integer:!0},f))})},"minecraft:clamped":{value:(0,t.ObjectNode)({min_inclusive:(0,t.NumberNode)(g({integer:!0},f)),max_inclusive:(0,t.NumberNode)(g({integer:!0},f)),source:l("int_provider")})},"minecraft:clamped_normal":{value:(0,t.ObjectNode)({min_inclusive:(0,t.NumberNode)(g({integer:!0},f)),max_inclusive:(0,t.NumberNode)(g({integer:!0},f)),mean:(0,t.NumberNode)(),deviation:(0,t.NumberNode)()})},"minecraft:weighted_list":{distribution:(0,t.ListNode)((0,t.ObjectNode)({weight:(0,t.NumberNode)({integer:!0}),data:l("int_provider")}))}}),d.register("int_provider",(0,o.IntProvider)()),d.register("vertical_anchor",(0,t.ChoiceNode)(["absolute","above_bottom","below_top"].map(f=>({type:f,match:O=>(O==null?void 0:O[f])!==void 0,change:O=>{var h,w,$;return{[f]:($=(w=(h=O.absolute)!==null&&h!==void 0?h:O.above_bottom)!==null&&w!==void 0?w:O.below_top)!==null&&$!==void 0?$:0}},node:(0,t.ObjectNode)({[f]:(0,t.NumberNode)({integer:!0,min:-2048,max:2047})})})),{context:"vertical_anchor"})),d.register("height_provider",B("height_provider_type","number","value","minecraft:constant",null,"height_provider",{"minecraft:constant":{value:l("vertical_anchor")},"minecraft:uniform":{min_inclusive:l("vertical_anchor"),max_inclusive:l("vertical_anchor")},"minecraft:biased_to_bottom":{min_inclusive:l("vertical_anchor"),max_inclusive:l("vertical_anchor"),inner:(0,t.Opt)((0,t.NumberNode)({integer:!0,min:1}))},"minecraft:very_biased_to_bottom":{min_inclusive:l("vertical_anchor"),max_inclusive:l("vertical_anchor"),inner:(0,t.Opt)((0,t.NumberNode)({integer:!0,min:1}))},"minecraft:trapezoid":{min_inclusive:l("vertical_anchor"),max_inclusive:l("vertical_anchor"),plateau:(0,t.Opt)((0,t.NumberNode)({integer:!0}))},"minecraft:weighted_list":{distribution:(0,t.ListNode)((0,t.ObjectNode)({weight:(0,t.NumberNode)({integer:!0}),data:l("height_provider")}))}})),o.InclusiveRange=f=>(0,t.ObjectNode)({min_inclusive:(0,t.NumberNode)(f),max_inclusive:(0,t.NumberNode)(f)},{context:"range"}),d.register("noise_parameters",(0,t.Mod)((0,t.ObjectNode)({firstOctave:(0,t.NumberNode)({integer:!0}),amplitudes:(0,t.ListNode)((0,t.NumberNode)())},{context:"noise_parameters"}),{default:()=>({firstOctave:-7,amplitudes:[1,1]})})),o.ConditionCases=(f=a({enum:"entity_source"}))=>({"minecraft:alternative":{terms:(0,t.ListNode)(l("condition"))},"minecraft:block_state_property":{block:a({validator:"resource",params:{pool:"block"}}),properties:(0,t.MapNode)(a(),a(),{validation:{validator:"block_state_map",params:{id:["pop",{push:"block"}]}}})},"minecraft:damage_source_properties":{predicate:l("damage_source_predicate")},"minecraft:entity_properties":{entity:f,predicate:l("entity_predicate")},"minecraft:entity_scores":{entity:f,scores:(0,t.MapNode)(a({validator:"objective"}),l("int_range"))},"minecraft:inverted":{term:l("condition")},"minecraft:killed_by_player":{inverse:(0,t.Opt)((0,t.BooleanNode)())},"minecraft:location_check":{offsetX:(0,t.Opt)((0,t.NumberNode)({integer:!0})),offsetY:(0,t.Opt)((0,t.NumberNode)({integer:!0})),offsetZ:(0,t.Opt)((0,t.NumberNode)({integer:!0})),predicate:l("location_predicate")},"minecraft:match_tool":{predicate:l("item_predicate")},"minecraft:random_chance":{chance:(0,t.NumberNode)({min:0,max:1})},"minecraft:random_chance_with_looting":{chance:(0,t.NumberNode)({min:0,max:1}),looting_multiplier:(0,t.NumberNode)()},"minecraft:reference":{name:a({validator:"resource",params:{pool:"$predicate"}})},"minecraft:table_bonus":{enchantment:a({validator:"resource",params:{pool:"enchantment"}}),chances:(0,t.ListNode)((0,t.NumberNode)({min:0,max:1}))},"minecraft:time_check":{value:l("int_range"),period:(0,t.Opt)((0,t.NumberNode)({integer:!0}))},"minecraft:value_check":{value:l("number_provider"),range:l("int_range")},"minecraft:weather_check":{raining:(0,t.Opt)((0,t.BooleanNode)()),thundering:(0,t.Opt)((0,t.BooleanNode)())}}),o.FunctionCases=(f,O=a({enum:"copy_source"}),h=a({enum:"entity_source"}))=>{const w={"minecraft:apply_bonus":{enchantment:a({validator:"resource",params:{pool:"enchantment"}}),formula:a({validator:"resource",params:{pool:n.get("loot_table_apply_bonus_formula")}}),parameters:(0,t.Mod)((0,t.ObjectNode)({bonusMultiplier:(0,t.Mod)((0,t.NumberNode)(),{enabled:L=>L.pop().push("formula").get()==="minecraft:uniform_bonus_count"}),extra:(0,t.Mod)((0,t.NumberNode)(),{enabled:L=>L.pop().push("formula").get()==="minecraft:binomial_with_bonus_count"}),probability:(0,t.Mod)((0,t.NumberNode)(),{enabled:L=>L.pop().push("formula").get()==="minecraft:binomial_with_bonus_count"})}),{enabled:L=>L.push("formula").get()!=="minecraft:ore_drops"})},"minecraft:copy_name":{source:O},"minecraft:copy_nbt":{source:l("nbt_provider"),ops:(0,t.ListNode)((0,t.ObjectNode)({source:a({validator:"nbt_path",params:{category:{getter:"copy_source",path:["pop","pop","pop",{push:"source"}]}}}),target:a({validator:"nbt_path",params:{category:"minecraft:item"}}),op:a({enum:["replace","append","merge"]})},{context:"nbt_operation"}))},"minecraft:copy_state":{block:a({validator:"resource",params:{pool:"block"}}),properties:(0,t.ListNode)(a({validator:"block_state_key",params:{id:["pop","pop",{push:"block"}]}}))},"minecraft:enchant_randomly":{enchantments:(0,t.Opt)((0,t.ListNode)(a({validator:"resource",params:{pool:"enchantment"}})))},"minecraft:enchant_with_levels":{levels:l("number_provider"),treasure:(0,t.Opt)((0,t.BooleanNode)())},"minecraft:exploration_map":{destination:(0,t.Opt)(a({enum:"map_feature"})),decoration:(0,t.Opt)(a({enum:"map_decoration"})),zoom:(0,t.Opt)((0,t.NumberNode)({integer:!0})),search_radius:(0,t.Opt)((0,t.NumberNode)({integer:!0})),skip_existing_chunks:(0,t.Opt)((0,t.BooleanNode)())},"minecraft:fill_player_head":{entity:h},"minecraft:limit_count":{limit:l("int_range")},"minecraft:looting_enchant":{count:l("number_provider"),limit:(0,t.Opt)((0,t.NumberNode)({integer:!0}))},"minecraft:set_attributes":{modifiers:(0,t.ListNode)(l("attribute_modifier"))},"minecraft:set_banner_pattern":{patterns:(0,t.ListNode)((0,t.ObjectNode)({pattern:a({enum:"banner_pattern"}),color:a({enum:"dye_color"})})),append:(0,t.Opt)((0,t.BooleanNode)())},"minecraft:set_contents":{type:a({validator:"resource",params:{pool:"block_entity_type"}}),entries:(0,t.ListNode)(l("loot_entry"))},"minecraft:set_count":{count:l("number_provider"),add:(0,t.Opt)((0,t.BooleanNode)())},"minecraft:set_damage":{damage:l("number_provider"),add:(0,t.Opt)((0,t.BooleanNode)())},"minecraft:set_enchantments":{enchantments:(0,t.MapNode)(a({validator:"resource",params:{pool:"enchantment"}}),l("number_provider")),add:(0,t.Opt)((0,t.BooleanNode)())},"minecraft:set_loot_table":{type:a({validator:"resource",params:{pool:"block_entity_type"}}),name:a({validator:"resource",params:{pool:"$loot_table"}}),seed:(0,t.Opt)((0,t.NumberNode)({integer:!0}))},"minecraft:set_lore":{entity:(0,t.Opt)(h),lore:(0,t.ListNode)(l("text_component")),replace:(0,t.Opt)((0,t.BooleanNode)())},"minecraft:set_name":{entity:(0,t.Opt)(h),name:(0,t.Opt)(l("text_component"))},"minecraft:set_nbt":{tag:a({validator:"nbt",params:{registry:{category:"minecraft:item"}}})},"minecraft:set_potion":{id:a({validator:"resource",params:{pool:"potion"}})},"minecraft:set_stew_effect":{effects:(0,t.Opt)((0,t.ListNode)((0,t.ObjectNode)({type:a({validator:"resource",params:{pool:"mob_effect"}}),duration:l("number_provider")})))}},$={};return n.get("loot_function_type").forEach(L=>{$[L]=g(g({},w[L]),f)}),$},o.DimensionTypePresets=f=>(0,t.ObjectOrPreset)(a({validator:"resource",params:{pool:"$dimension_type"}}),f,{"minecraft:overworld":o.DefaultDimensionType,"minecraft:the_nether":{name:"minecraft:the_nether",ultrawarm:!0,natural:!1,shrunk:!0,piglin_safe:!0,respawn_anchor_works:!0,bed_works:!1,has_raids:!1,has_skylight:!1,has_ceiling:!0,ambient_light:.1,fixed_time:18e3,logical_height:128,effects:"minecraft:the_nether",infiniburn:"minecraft:infiniburn_nether",min_y:0,height:256},"minecraft:the_end":{name:"minecraft:the_end",ultrawarm:!1,natural:!1,shrunk:!1,piglin_safe:!1,respawn_anchor_works:!1,bed_works:!1,has_raids:!0,has_skylight:!1,has_ceiling:!1,ambient_light:0,fixed_time:6e3,logical_height:256,effects:"minecraft:the_end",infiniburn:"minecraft:infiniburn_end",min_y:0,height:256}}),o.NoiseSettingsPresets=f=>(0,t.ObjectOrPreset)(a({validator:"resource",params:{pool:"$worldgen/noise_settings"}}),f,{"minecraft:overworld":o.DefaultNoiseSettings,"minecraft:nether":{bedrock_roof_position:0,bedrock_floor_position:0,sea_level:32,noise_caves_enabled:!1,deepslate_enabled:!1,ore_veins_enabled:!1,noodle_caves_enabled:!1,disable_mob_generation:!1,aquifers_enabled:!1,default_block:{Name:"minecraft:netherrack"},default_fluid:{Properties:{level:"0"},Name:"minecraft:lava"},noise:{min_y:0,height:128,size_horizontal:1,size_vertical:2,density_factor:0,density_offset:-.030078125,top_slide:{target:.9375,size:3,offset:0},bottom_slide:{target:2.5,size:4,offset:-1},sampling:{xz_scale:1,y_scale:3,xz_factor:80,y_factor:60},terrain_shaper:{offset:0,factor:0,jaggedness:0}},surface_rule:{type:"minecraft:sequence",sequence:[]},structures:{structures:e}},"minecraft:end":{bedrock_roof_position:-2147483648,bedrock_floor_position:-2147483648,sea_level:0,noise_caves_enabled:!1,deepslate_enabled:!1,ore_veins_enabled:!1,noodle_caves_enabled:!1,disable_mob_generation:!1,aquifers_enabled:!1,default_block:{Name:"minecraft:end_stone"},default_fluid:{Name:"minecraft:air"},noise:{min_y:0,height:128,size_horizontal:2,size_vertical:1,density_factor:0,density_offset:0,island_noise_override:!0,top_slide:{target:-23.4375,size:64,offset:-46},bottom_slide:{target:-.234375,size:7,offset:1},sampling:{xz_scale:2,y_scale:1,xz_factor:80,y_factor:160},terrain_shaper:{offset:0,factor:1,jaggedness:0}},surface_rule:{type:"minecraft:sequence",sequence:[]},structures:{structures:e}},"minecraft:amplified":{bedrock_roof_position:-2147483648,bedrock_floor_position:0,sea_level:63,noise_caves_enabled:!0,deepslate_enabled:!0,ore_veins_enabled:!0,noodle_caves_enabled:!0,disable_mob_generation:!1,aquifers_enabled:!0,default_block:{Name:"minecraft:stone"},default_fluid:{Properties:{level:"0"},Name:"minecraft:water"},noise:{min_y:-64,height:384,size_horizontal:1,size_vertical:2,density_factor:1,density_offset:-.51875,amplified:!0,top_slide:{target:-.078125,size:2,offset:8},bottom_slide:{target:.1171875,size:3,offset:0},sampling:{xz_scale:.9999999814507745,y_scale:.9999999814507745,xz_factor:80,y_factor:160},terrain_shaper:{offset:0,factor:0,jaggedness:0}},surface_rule:{type:"minecraft:sequence",sequence:[]},structures:{stronghold:{distance:32,spread:3,count:128},structures:e}},"minecraft:caves":{bedrock_roof_position:0,bedrock_floor_position:0,sea_level:32,noise_caves_enabled:!1,deepslate_enabled:!1,ore_veins_enabled:!1,noodle_caves_enabled:!1,disable_mob_generation:!1,aquifers_enabled:!1,default_block:{Name:"minecraft:stone"},default_fluid:{Properties:{level:"0"},Name:"minecraft:water"},noise:{min_y:0,height:128,size_horizontal:1,size_vertical:2,density_factor:0,density_offset:-.030078125,top_slide:{target:.9375,size:3,offset:0},bottom_slide:{target:2.5,size:4,offset:-1},sampling:{xz_scale:1,y_scale:3,xz_factor:80,y_factor:60},terrain_shaper:{offset:0,factor:0,jaggedness:0}},surface_rule:{type:"minecraft:sequence",sequence:[]},structures:{stronghold:{distance:32,spread:3,count:128},structures:e}},"minecraft:floating_islands":{bedrock_roof_position:-2147483648,bedrock_floor_position:-2147483648,sea_level:0,noise_caves_enabled:!1,deepslate_enabled:!1,ore_veins_enabled:!1,noodle_caves_enabled:!1,disable_mob_generation:!1,aquifers_enabled:!1,default_block:{Name:"minecraft:stone"},default_fluid:{Properties:{level:"0"},Name:"minecraft:water"},noise:{min_y:0,height:128,size_horizontal:2,size_vertical:1,density_factor:0,density_offset:0,island_noise_override:!0,top_slide:{target:-23.4375,size:64,offset:-46},bottom_slide:{target:-.234375,size:7,offset:1},sampling:{xz_scale:2,y_scale:1,xz_factor:80,y_factor:160},terrain_shaper:{offset:0,factor:1,jaggedness:0}},surface_rule:{type:"minecraft:sequence",sequence:[]},structures:{stronghold:{distance:32,spread:3,count:128},structures:e}}})}o.initCommonSchemas=r})(F);var me={};Object.defineProperty(me,"__esModule",{value:!0});me.initConditionSchemas=void 0;const Q=S,tt=F;function rt(o,t){const e=Q.Reference.bind(void 0,o),r=Q.StringNode.bind(void 0,t);o.register("predicate",(0,Q.ObjectOrList)(e("condition"),{choiceContext:"condition"})),o.register("condition",(0,Q.Mod)((0,Q.ObjectNode)({condition:r({validator:"resource",params:{pool:"loot_condition_type"}}),[Q.Switch]:[{push:"condition"}],[Q.Case]:(0,tt.ConditionCases)()},{category:"predicate",context:"condition"}),{default:()=>({condition:"minecraft:entity_properties",entity:"this"})}))}me.initConditionSchemas=rt;var _e={};Object.defineProperty(_e,"__esModule",{value:!0});_e.initDimensionSchemas=void 0;const v=S,ze=F;function ot(o,t){const e=v.Reference.bind(void 0,o),r=v.StringNode.bind(void 0,t);o.register("dimension",(0,v.Mod)((0,v.ObjectNode)({type:(0,ze.DimensionTypePresets)(e("dimension_type")),generator:(0,v.ObjectNode)({type:r({validator:"resource",params:{pool:"worldgen/chunk_generator"}}),[v.Switch]:[{push:"type"}],[v.Case]:{"minecraft:noise":{seed:(0,v.NumberNode)({integer:!0}),settings:(0,ze.NoiseSettingsPresets)(e("noise_settings")),biome_source:(0,v.ObjectNode)({type:r({validator:"resource",params:{pool:"worldgen/biome_source"}}),[v.Switch]:[{push:"type"}],[v.Case]:{"minecraft:fixed":{biome:r({validator:"resource",params:{pool:"$worldgen/biome"}})},"minecraft:multi_noise":{preset:(0,v.Opt)(r({validator:"resource",params:{pool:["minecraft:overworld","minecraft:nether"]}})),biomes:(0,v.Mod)((0,v.ListNode)(e("generator_biome")),{enabled:n=>n.push("preset").get()===void 0,default:()=>[{biome:"minecraft:plains"}]})},"minecraft:checkerboard":{scale:(0,v.Opt)((0,v.NumberNode)({integer:!0,min:0,max:62})),biomes:(0,v.ListNode)(r({validator:"resource",params:{pool:"$worldgen/biome"}}))},"minecraft:the_end":{seed:(0,v.NumberNode)({integer:!0})}}},{category:"predicate",disableSwitchContext:!0})},"minecraft:flat":{settings:(0,v.ObjectNode)({biome:(0,v.Opt)(r({validator:"resource",params:{pool:"$worldgen/biome"}})),lakes:(0,v.Opt)((0,v.BooleanNode)()),features:(0,v.Opt)((0,v.BooleanNode)()),layers:(0,v.ListNode)(e("generator_layer")),structures:e("generator_structures")})}}},{disableSwitchContext:!0})},{category:"pool",context:"dimension"}),{default:()=>{const n=Math.floor(Math.random()*4294967296)-2147483648;return{type:"minecraft:overworld",generator:{type:"minecraft:noise",seed:n,biome_source:{type:"minecraft:fixed",seed:n,biome:"minecraft:plains"},settings:"minecraft:overworld"}}}}));const d=(0,v.ChoiceNode)([{type:"number",node:(0,v.NumberNode)({min:-2,max:2}),change:n=>{var a;return(a=n[0])!==null&&a!==void 0?a:0}},{type:"list",node:(0,v.ListNode)((0,v.NumberNode)({min:-2,max:2}),{minLength:2,maxLength:2}),change:n=>[n!=null?n:0,n!=null?n:0]}]);o.register("generator_biome",(0,v.Mod)((0,v.ObjectNode)({biome:r({validator:"resource",params:{pool:"$worldgen/biome"}}),parameters:(0,v.ObjectNode)({temperature:d,humidity:d,continentalness:d,erosion:d,weirdness:d,depth:d,offset:(0,v.NumberNode)({min:0,max:1})})},{context:"generator_biome"}),{default:()=>({biome:"minecraft:plains",parameters:{altitude:0,temperature:0,humidity:0,weirdness:0,offset:0}})}))}_e.initDimensionSchemas=ot;var pe={};Object.defineProperty(pe,"__esModule",{value:!0});pe.initDimensionTypeSchemas=void 0;const P=S,it=F;function nt(o,t){const e=P.StringNode.bind(void 0,t);o.register("dimension_type",(0,P.Mod)((0,P.ObjectNode)({ultrawarm:(0,P.BooleanNode)(),natural:(0,P.BooleanNode)(),piglin_safe:(0,P.BooleanNode)(),respawn_anchor_works:(0,P.BooleanNode)(),bed_works:(0,P.BooleanNode)(),has_raids:(0,P.BooleanNode)(),has_skylight:(0,P.BooleanNode)(),has_ceiling:(0,P.BooleanNode)(),coordinate_scale:(0,P.NumberNode)({min:1e-5,max:3e7}),ambient_light:(0,P.NumberNode)(),fixed_time:(0,P.Opt)((0,P.NumberNode)({integer:!0})),logical_height:(0,P.NumberNode)({integer:!0,min:0,max:4096}),effects:(0,P.Opt)(e({enum:["minecraft:overworld","minecraft:the_nether","minecraft:the_end"]})),infiniburn:e({validator:"resource",params:{pool:"$tag/block"}}),min_y:(0,P.NumberNode)({integer:!0,min:-2048,max:2047}),height:(0,P.NumberNode)({integer:!0,min:0,max:4096})},{context:"dimension_type"}),r=>({default:()=>it.DefaultDimensionType,validate:(d,n,a,l)=>(n=r.validate(d,n,a,l),(n==null?void 0:n.min_y)+(n==null?void 0:n.height)>2047&&a.add(d.push("height"),"error.min_y_plus_height",2047),(n==null?void 0:n.logical_height)>(n==null?void 0:n.height)&&a.add(d.push("logical_height"),"error.logical_height"),(n==null?void 0:n.height)%16!==0&&a.add(d.push("height"),"error.height_multiple",16),(n==null?void 0:n.min_y)%16!==0&&a.add(d.push("min_y"),"error.min_y_multiple",16),n)})))}pe.initDimensionTypeSchemas=nt;var ue={};Object.defineProperty(ue,"__esModule",{value:!0});ue.initItemModifierSchemas=void 0;const U=S,at=F;function ct(o,t){const e=U.Reference.bind(void 0,o),r=U.StringNode.bind(void 0,t);o.register("item_modifier",(0,U.ObjectOrList)(e("function"),{choiceContext:"function"}));const d={conditions:(0,U.Opt)((0,U.ListNode)(e("condition")))};o.register("function",(0,U.Mod)((0,U.ObjectNode)({function:r({validator:"resource",params:{pool:"loot_function_type"}}),[U.Switch]:[{push:"function"}],[U.Case]:(0,at.FunctionCases)(d)},{category:"function",context:"function"}),{default:()=>[{function:"minecraft:set_count",count:1}]}))}ue.initItemModifierSchemas=ct;var fe={},q={};Object.defineProperty(q,"__esModule",{value:!0});q.LootFunctions=q.LootConditions=q.LootCopySources=q.LootEntitySources=q.LootTableTypes=void 0;q.LootTableTypes=new Map([["minecraft:advancement_entity",{requires:[7,8],allows:[]}],["minecraft:advancement_reward",{requires:[7,8],allows:[]}],["minecraft:barter",{requires:[8],allows:[]}],["minecraft:block",{requires:[1,7,9],allows:[0,4,8]}],["minecraft:chest",{requires:[7],allows:[8]}],["minecraft:command",{requires:[7],allows:[8]}],["minecraft:empty",{requires:[],allows:[]}],["minecraft:entity",{requires:[2,7,8],allows:[3,5,6]}],["minecraft:fishing",{requires:[7,9],allows:[8]}],["minecraft:generic",{requires:[2,0,1,3,4,5,6,7,8,9],allows:[]}],["minecraft:gift",{requires:[7,8],allows:[]}],["minecraft:selector",{requires:[7],allows:[8]}]]);q.LootEntitySources=new Map([["direct_killer",[3]],["killer",[5]],["killer_player",[5]],["this",[8]]]);q.LootCopySources=new Map([["block_entity",[0]],["killer",[5]],["killer_player",[5]],["this",[8]]]);q.LootConditions=new Map([["minecraft:alternative",[]],["minecraft:block_state_property",[1]],["minecraft:damage_source_properties",[2]],["minecraft:entity_properties",[7]],["minecraft:entity_scores",[]],["minecraft:inverted",[]],["minecraft:killed_by_player",[6]],["minecraft:location_check",[]],["minecraft:match_tool",[9]],["minecraft:random_chance",[]],["minecraft:random_chance_with_looting",[5]],["minecraft:reference",[]],["minecraft:survives_explosion",[4]],["minecraft:table_bonus",[9]],["minecraft:time_check",[]],["minecraft:weather_check",[]]]);q.LootFunctions=new Map([["minecraft:apply_bonus",[9]],["minecraft:copy_name",[]],["minecraft:copy_nbt",[]],["minecraft:copy_state",[1]],["minecraft:enchant_randomly",[]],["minecraft:enchant_with_levels",[]],["minecraft:exploration_map",[7]],["minecraft:explosion_decay",[]],["minecraft:fill_player_head",[]],["minecraft:furnace_smelt",[]],["minecraft:limit_count",[]],["minecraft:looting_enchant",[5]],["minecraft:set_attributes",[]],["minecraft:set_banner_pattern",[]],["minecraft:set_contents",[]],["minecraft:set_count",[]],["minecraft:set_damage",[]],["minecraft:set_loot_table",[]],["minecraft:set_lore",[]],["minecraft:set_name",[]],["minecraft:set_nbt",[]],["minecraft:set_stew_effect",[]]]);Object.defineProperty(fe,"__esModule",{value:!0});fe.initLootTableSchemas=void 0;const b=S,oe=q,Re=F;function dt(o,t){const e=b.Reference.bind(void 0,o),r=b.StringNode.bind(void 0,t),d={conditions:(0,b.Opt)((0,b.ListNode)(e("loot_condition")))},n=g({functions:(0,b.Opt)((0,b.ListNode)(e("loot_function")))},d);function a(h,w,$){const L=[],Y=J=>t.get(w).filter(te=>{var A;return((A=h.get(te))!==null&&A!==void 0?A:[]).every(R=>J.includes(R))});for(const[J,{allows:te,requires:A}]of oe.LootTableTypes){const E=[...te,...A];L.push({match:R=>R.getModel().get(new b.Path(["type"]))===J,node:$(Y(E))})}return L.push({match:J=>!0,node:$(w)}),(0,b.SwitchNode)(L)}const l=a(oe.LootConditions,"loot_condition_type",h=>r({validator:"resource",params:{pool:h instanceof Array?h:"loot_condition_type"}})),I=a(oe.LootFunctions,"loot_function_type",h=>r({validator:"resource",params:{pool:h instanceof Array?h:"loot_function_type"}})),B=a(oe.LootEntitySources,"entity_source",h=>r({enum:h})),f=a(oe.LootCopySources,"copy_source",h=>r({enum:h}));o.register("loot_table",(0,b.Mod)((0,b.ObjectNode)({type:(0,b.Opt)(r({validator:"resource",params:{pool:t.get("loot_context_type")}})),pools:(0,b.Opt)((0,b.ListNode)((0,b.Mod)((0,b.ObjectNode)(g({rolls:e("number_provider"),bonus_rolls:(0,b.Opt)(e("number_provider")),entries:(0,b.ListNode)(e("loot_entry"))},n),{category:"pool",context:"loot_pool"}),{default:()=>({rolls:1,entries:[{type:"minecraft:item",name:"minecraft:stone"}]})}))),functions:(0,b.Opt)((0,b.ListNode)(e("loot_function")))},{context:"loot_table"}),{default:()=>({pools:[{rolls:1,entries:[{type:"minecraft:item",name:"minecraft:stone"}]}]})}));const O={enabled:h=>{var w;return((w=h.pop().get())===null||w===void 0?void 0:w.length)>1&&!["minecraft:alternatives","minecraft:group","minecraft:sequence"].includes(h.push("type").get())}};o.register("loot_entry",(0,b.Mod)((0,b.ObjectNode)({type:r({validator:"resource",params:{pool:"loot_pool_entry_type"}}),weight:(0,b.Opt)((0,b.Mod)((0,b.NumberNode)({integer:!0,min:1}),O)),quality:(0,b.Opt)((0,b.Mod)((0,b.NumberNode)({integer:!0}),O)),[b.Switch]:[{push:"type"}],[b.Case]:{"minecraft:alternatives":g({children:(0,b.ListNode)(e("loot_entry"))},n),"minecraft:dynamic":g({name:r()},n),"minecraft:group":g({children:(0,b.ListNode)(e("loot_entry"))},n),"minecraft:item":g({name:r({validator:"resource",params:{pool:"item"}})},n),"minecraft:loot_table":g({name:r({validator:"resource",params:{pool:"$loot_table"}})},n),"minecraft:sequence":g({children:(0,b.ListNode)(e("loot_entry"))},n),"minecraft:tag":g({name:r({validator:"resource",params:{pool:"$tag/item"}}),expand:(0,b.Opt)((0,b.BooleanNode)())},n)}},{context:"loot_entry"}),{default:()=>({type:"minecraft:item",name:"minecraft:stone"})})),o.register("loot_function",(0,b.Mod)((0,b.ObjectNode)({function:I,[b.Switch]:[{push:"function"}],[b.Case]:(0,Re.FunctionCases)(d,f,B)},{category:"function",context:"function"}),{default:()=>({function:"minecraft:set_count",count:1})})),o.register("loot_condition",(0,b.Mod)((0,b.ObjectNode)({condition:l,[b.Switch]:[{push:"condition"}],[b.Case]:(0,Re.ConditionCases)(B)},{category:"predicate",context:"condition"}),{default:()=>({condition:"minecraft:random_chance",chance:.5})})),o.register("attribute_modifier",(0,b.Mod)((0,b.ObjectNode)({attribute:r({validator:"resource",params:{pool:"attribute"}}),name:r(),amount:e("number_provider"),operation:r({enum:["addition","multiply_base","multiply_total"]}),slot:(0,b.StringOrList)(r({enum:"slot"}))},{context:"attribute_modifier"}),{default:()=>({attribute:"minecraft:generic.max_health",name:"",amount:1,operation:"addition",slot:"mainhand"})}))}fe.initLootTableSchemas=dt;var be={};Object.defineProperty(be,"__esModule",{value:!0});be.initPackMcmetaSchemas=void 0;const ee=S,H=8;function st(o,t){o.register("pack_mcmeta",(0,ee.Mod)((0,ee.ObjectNode)({pack:(0,ee.Mod)((0,ee.ObjectNode)({pack_format:(0,ee.Mod)((0,ee.NumberNode)({integer:!0,min:H,max:H}),{default:()=>H,canUpdate:(e,r)=>r!==H,update:()=>[{name:"pack_format",params:[H],newValue:H}]}),description:(0,ee.Reference)(o,"text_component")}),{default:()=>({pack_format:H,description:""})})}),{default:()=>({pack:{pack_format:H,description:""}})}))}be.initPackMcmetaSchemas=st;var ge={};Object.defineProperty(ge,"__esModule",{value:!0});ge.initPredicatesSchemas=void 0;const c=S;function lt(o,t){const e=c.Reference.bind(void 0,o),r=c.StringNode.bind(void 0,t),d=(0,c.ChoiceNode)([{type:"string",node:r(),change:n=>typeof n=="boolean"||typeof n=="number"?n.toString():""},{type:"number",node:(0,c.NumberNode)(),change:n=>typeof n=="string"?parseInt(n):0},{type:"object",node:(0,c.ObjectNode)({min:(0,c.Opt)((0,c.NumberNode)({integer:!0})),max:(0,c.Opt)((0,c.NumberNode)({integer:!0}))}),change:n=>typeof n=="number"?{min:n,max:n}:{}},{type:"boolean",node:(0,c.BooleanNode)(),change:n=>n==="true"||n===1}]);o.register("item_predicate",(0,c.ObjectNode)({items:(0,c.Opt)((0,c.ListNode)(r({validator:"resource",params:{pool:"item"}}))),tag:(0,c.Opt)(r({validator:"resource",params:{pool:"$tag/item"}})),count:e("int_bounds"),durability:e("int_bounds"),potion:(0,c.Opt)(r({validator:"resource",params:{pool:"potion"}})),nbt:(0,c.Opt)(r({validator:"nbt",params:{registry:{category:"minecraft:item",id:["pop",{push:"item"}]}}})),enchantments:(0,c.Opt)((0,c.ListNode)(e("enchantment_predicate")))},{context:"item"})),o.register("enchantment_predicate",(0,c.ObjectNode)({enchantment:(0,c.Opt)(r({validator:"resource",params:{pool:"enchantment"}})),levels:e("int_bounds")},{context:"enchantment"})),o.register("block_predicate",(0,c.ObjectNode)({blocks:(0,c.Opt)((0,c.ListNode)(r({validator:"resource",params:{pool:"block"}}))),tag:(0,c.Opt)(r({validator:"resource",params:{pool:"$tag/block"}})),nbt:(0,c.Opt)(r({validator:"nbt",params:{registry:{category:"minecraft:block",id:["pop",{push:"block"}]}}})),state:(0,c.Opt)((0,c.MapNode)(r(),d,{validation:{validator:"block_state_map",params:{id:["pop",{push:"block"}]}}}))},{context:"block"})),o.register("fluid_predicate",(0,c.ObjectNode)({fluid:(0,c.Opt)(r({validator:"resource",params:{pool:"fluid"}})),tag:(0,c.Opt)(r({validator:"resource",params:{pool:"$tag/fluid"}})),state:(0,c.Opt)((0,c.MapNode)(r(),d))},{context:"fluid"})),o.register("location_predicate",(0,c.ObjectNode)({position:(0,c.Opt)((0,c.ObjectNode)({x:e("float_bounds"),y:e("float_bounds"),z:e("float_bounds")})),biome:(0,c.Opt)(r({validator:"resource",params:{pool:"$worldgen/biome"}})),feature:(0,c.Opt)(r({enum:t.get("worldgen/structure_feature").map(n=>n.slice(10))})),dimension:(0,c.Opt)(r({validator:"resource",params:{pool:"$dimension"}})),light:(0,c.Opt)((0,c.ObjectNode)({light:e("int_bounds")})),smokey:(0,c.Opt)((0,c.BooleanNode)()),block:(0,c.Opt)(e("block_predicate")),fluid:(0,c.Opt)(e("fluid_predicate"))},{context:"location"})),o.register("statistic_predicate",(0,c.ObjectNode)({type:r({validator:"resource",params:{pool:"stat_type"}}),stat:r(),value:e("int_bounds"),[c.Switch]:[{push:"type"}],[c.Case]:{"minecraft:mined":{stat:r({validator:"resource",params:{pool:"block"}})},"minecraft:crafted":{stat:r({validator:"resource",params:{pool:"item"}})},"minecraft:used":{stat:r({validator:"resource",params:{pool:"item"}})},"minecraft:broken":{stat:r({validator:"resource",params:{pool:"item"}})},"minecraft:picked_up":{stat:r({validator:"resource",params:{pool:"item"}})},"minecraft:dropped":{stat:r({validator:"resource",params:{pool:"item"}})},"minecraft:killed":{stat:r({validator:"resource",params:{pool:"entity_type"}})},"minecraft:killed_by":{stat:r({validator:"resource",params:{pool:"entity_type"}})},"minecraft:custom":{stat:r({validator:"resource",params:{pool:"custom_stat"}})}}})),o.register("player_predicate",(0,c.ObjectNode)({gamemode:(0,c.Opt)(r({enum:"gamemode"})),level:e("int_bounds"),advancements:(0,c.Opt)((0,c.MapNode)(r({validator:"resource",params:{pool:"$advancement"}}),(0,c.ChoiceNode)([{type:"boolean",node:(0,c.BooleanNode)(),change:n=>!0},{type:"object",node:(0,c.MapNode)(r(),(0,c.BooleanNode)())}]))),recipes:(0,c.Opt)((0,c.MapNode)(r({validator:"resource",params:{pool:"$recipe"}}),(0,c.BooleanNode)())),stats:(0,c.Opt)((0,c.ListNode)(e("statistic_predicate"))),looking_at:(0,c.Opt)(e("entity_predicate"))},{context:"player"})),o.register("status_effect_predicate",(0,c.ObjectNode)({amplifier:e("int_bounds"),duration:e("int_bounds"),ambient:(0,c.Opt)((0,c.BooleanNode)()),visible:(0,c.Opt)((0,c.BooleanNode)())},{context:"status_effect"})),o.register("distance_predicate",(0,c.ObjectNode)({x:e("float_bounds"),y:e("float_bounds"),z:e("float_bounds"),absolute:e("float_bounds"),horizontal:e("float_bounds")},{context:"distance"})),o.register("entity_predicate",(0,c.ObjectNode)({type:(0,c.Opt)(r({validator:"resource",params:{pool:"entity_type",allowTag:!0}})),nbt:(0,c.Opt)(r({validator:"nbt",params:{registry:{category:"minecraft:entity",id:["pop",{push:"type"}]}}})),team:(0,c.Opt)(r({validator:"team"})),location:(0,c.Opt)(e("location_predicate")),stepping_on:(0,c.Opt)(e("location_predicate")),distance:(0,c.Opt)(e("distance_predicate")),flags:(0,c.Opt)((0,c.ObjectNode)({is_on_fire:(0,c.Opt)((0,c.BooleanNode)()),is_sneaking:(0,c.Opt)((0,c.BooleanNode)()),is_sprinting:(0,c.Opt)((0,c.BooleanNode)()),is_swimming:(0,c.Opt)((0,c.BooleanNode)()),is_baby:(0,c.Opt)((0,c.BooleanNode)())})),equipment:(0,c.Opt)((0,c.MapNode)(r({enum:"slot"}),e("item_predicate"))),vehicle:(0,c.Opt)(e("entity_predicate")),passenger:(0,c.Opt)(e("entity_predicate")),targeted_entity:(0,c.Opt)(e("entity_predicate")),player:(0,c.Opt)(e("player_predicate")),lightning_bolt:(0,c.Opt)((0,c.ObjectNode)({blocks_set_on_fire:(0,c.Opt)(e("int_bounds")),entity_struck:(0,c.Opt)(e("entity_predicate"))})),fishing_hook:(0,c.Opt)((0,c.ObjectNode)({in_open_water:(0,c.Opt)((0,c.BooleanNode)())})),catType:(0,c.Opt)(r({enum:"cat_texture"})),effects:(0,c.Opt)((0,c.MapNode)(r({validator:"resource",params:{pool:"mob_effect"}}),e("status_effect_predicate")))},{context:"entity"})),o.register("damage_source_predicate",(0,c.ObjectNode)({is_explosion:(0,c.Opt)((0,c.BooleanNode)()),is_fire:(0,c.Opt)((0,c.BooleanNode)()),is_magic:(0,c.Opt)((0,c.BooleanNode)()),is_projectile:(0,c.Opt)((0,c.BooleanNode)()),is_lightning:(0,c.Opt)((0,c.BooleanNode)()),bypasses_armor:(0,c.Opt)((0,c.BooleanNode)()),bypasses_invulnerability:(0,c.Opt)((0,c.BooleanNode)()),bypasses_magic:(0,c.Opt)((0,c.BooleanNode)()),source_entity:(0,c.Opt)(e("entity_predicate")),direct_entity:(0,c.Opt)(e("entity_predicate"))},{context:"damage_source"})),o.register("damage_predicate",(0,c.ObjectNode)({dealt:e("float_bounds"),taken:e("float_bounds"),blocked:(0,c.Opt)((0,c.BooleanNode)()),source_entity:(0,c.Opt)(e("entity_predicate")),type:(0,c.Opt)(e("damage_source_predicate"))},{context:"damage"}))}ge.initPredicatesSchemas=lt;var Ne={};Object.defineProperty(Ne,"__esModule",{value:!0});Ne.initRecipeSchemas=void 0;const u=S;function mt(o,t){const e=u.Reference.bind(void 0,o),r=u.StringNode.bind(void 0,t);o.register("recipe",(0,u.Mod)((0,u.ObjectNode)({type:r({validator:"resource",params:{pool:"recipe_serializer"}}),[u.Switch]:[{push:"type"}],[u.Case]:{"minecraft:crafting_shaped":{group:(0,u.Opt)(r({enum:"recipe_group",additional:!0})),pattern:(0,u.ListNode)(r()),key:(0,u.MapNode)(r(),e("recipe_ingredient")),result:e("recipe_result")},"minecraft:crafting_shapeless":{group:(0,u.Opt)(r()),ingredients:(0,u.ListNode)(e("recipe_ingredient")),result:e("recipe_result")},"minecraft:smelting":{group:(0,u.Opt)(r()),ingredient:e("recipe_ingredient"),result:r({validator:"resource",params:{pool:"item"}}),experience:(0,u.Opt)((0,u.NumberNode)()),cookingtime:(0,u.Opt)((0,u.Mod)((0,u.NumberNode)({integer:!0}),{default:()=>200}))},"minecraft:blasting":{group:(0,u.Opt)(r()),ingredient:e("recipe_ingredient"),result:r({validator:"resource",params:{pool:"item"}}),experience:(0,u.Opt)((0,u.NumberNode)()),cookingtime:(0,u.Opt)((0,u.Mod)((0,u.NumberNode)({integer:!0}),{default:()=>100}))},"minecraft:smoking":{group:(0,u.Opt)(r()),ingredient:e("recipe_ingredient"),result:r({validator:"resource",params:{pool:"item"}}),experience:(0,u.Opt)((0,u.NumberNode)()),cookingtime:(0,u.Opt)((0,u.Mod)((0,u.NumberNode)({integer:!0}),{default:()=>100}))},"minecraft:campfire_cooking":{group:(0,u.Opt)(r()),ingredient:e("recipe_ingredient"),result:r({validator:"resource",params:{pool:"item"}}),experience:(0,u.Opt)((0,u.NumberNode)()),cookingtime:(0,u.Opt)((0,u.Mod)((0,u.NumberNode)({integer:!0}),{default:()=>100}))},"minecraft:stonecutting":{group:(0,u.Opt)(r()),ingredient:e("recipe_ingredient"),result:r({validator:"resource",params:{pool:"item"}}),count:(0,u.NumberNode)({integer:!0})},"minecraft:smithing":{group:(0,u.Opt)(r()),base:e("recipe_ingredient_object"),addition:e("recipe_ingredient_object"),result:e("recipe_result")}}},{context:"recipe",disableSwitchContext:!0}),{default:()=>({type:"minecraft:crafting_shaped"})})),o.register("recipe_ingredient",(0,u.Mod)((0,u.ChoiceNode)([{type:"object",node:e("recipe_ingredient_object"),change:d=>d[0]},{type:"list",node:(0,u.ListNode)(e("recipe_ingredient_object")),change:d=>[d]}]),{default:()=>({item:"minecraft:stone"})})),o.register("recipe_ingredient_object",(0,u.Mod)((0,u.ObjectNode)({item:(0,u.Opt)(r({validator:"resource",params:{pool:"item"}})),tag:(0,u.Opt)(r({validator:"resource",params:{pool:"$tag/item"}}))}),{default:()=>({item:"minecraft:stone"})})),o.register("recipe_result",(0,u.Mod)((0,u.ObjectNode)({item:r({validator:"resource",params:{pool:"item"}}),count:(0,u.Opt)((0,u.Mod)((0,u.NumberNode)({integer:!0}),{default:()=>1}))}),{default:()=>({item:"minecraft:stone"})}))}Ne.initRecipeSchemas=mt;var he={};Object.defineProperty(he,"__esModule",{value:!0});he.initTagsSchemas=void 0;const V=S;function _t(o,t){const e=V.StringNode.bind(void 0,t),r=d=>(0,V.Mod)((0,V.ObjectNode)({replace:(0,V.Opt)((0,V.BooleanNode)()),values:(0,V.ListNode)((0,V.ChoiceNode)([{type:"string",node:e({validator:"resource",params:{pool:d,allowTag:!0}}),change:n=>n.id},{type:"object",node:(0,V.ObjectNode)({id:e({validator:"resource",params:{pool:d,allowTag:!0,allowUnknown:!0}}),required:(0,V.BooleanNode)()}),change:n=>({id:n})}]))},{context:"tag"}),{default:()=>({values:[]})});o.register("block_tag",r("block")),o.register("entity_type_tag",r("entity_type")),o.register("fluid_tag",r("fluid")),o.register("function_tag",r("$function")),o.register("game_event_tag",r("game_event")),o.register("item_tag",r("item"))}he.initTagsSchemas=_t;var ye={};Object.defineProperty(ye,"__esModule",{value:!0});ye.initTextComponentSchemas=void 0;const m=S;function pt(o,t){const e=m.Reference.bind(void 0,o),r=m.StringNode.bind(void 0,t),d=a=>{var l;return a instanceof Array?d(a[0]):(l=a==null?void 0:a.text)!==null&&l!==void 0?l:typeof a=="object"?"":a==null?void 0:a.toString()};o.register("text_component",(0,m.Mod)((0,m.ChoiceNode)([{type:"object",node:e("text_component_object"),change:a=>a instanceof Array?typeof a[0]=="object"?a[0]:{text:d(a[0])}:typeof a=="object"?a:{text:d(a)}},{type:"list",node:e("text_component_list"),change:a=>[a]},{type:"string",priority:1,node:r(),change:d},{type:"number",node:(0,m.NumberNode)(),change:a=>{const l=parseFloat(d(a));return isFinite(l)?l:a?1:0}},{type:"boolean",node:(0,m.BooleanNode)(),change:a=>{const l=d(a);return l==="true"||l==="false"?l==="true":!!l}}],{context:"text_component"}),{default:()=>({text:""})}));const n={color:(0,m.Opt)(r()),font:(0,m.Opt)(r()),bold:(0,m.Opt)((0,m.BooleanNode)()),italic:(0,m.Opt)((0,m.BooleanNode)()),underlined:(0,m.Opt)((0,m.BooleanNode)()),strikethrough:(0,m.Opt)((0,m.BooleanNode)()),obfuscated:(0,m.Opt)((0,m.BooleanNode)()),insertion:(0,m.Opt)(r()),clickEvent:(0,m.Opt)((0,m.ObjectNode)({action:r({enum:["open_url","open_file","run_command","suggest_command","change_page","copy_to_clipboard"]}),[m.Switch]:[{push:"action"}],[m.Case]:{change_page:{value:r()},copy_to_clipboard:{value:r()},open_file:{value:r()},open_url:{value:r()},run_command:{value:r({validator:"command",params:{leadingSlash:!0,allowPartial:!0}})},suggest_command:{value:r({validator:"command",params:{leadingSlash:!0,allowPartial:!0}})}}})),hoverEvent:(0,m.Opt)((0,m.ObjectNode)({action:r({enum:["show_text","show_item","show_entity"]}),[m.Switch]:[{push:"action"}],[m.Case]:{show_text:{value:(0,m.Opt)(e("text_component")),contents:(0,m.Opt)(e("text_component"))},show_item:{value:(0,m.Opt)(r({validator:"nbt",params:{module:"util::InventoryItem"}})),contents:(0,m.Opt)((0,m.ObjectNode)({id:r({validator:"resource",params:{pool:"item"}}),count:(0,m.Opt)((0,m.NumberNode)({integer:!0})),tag:(0,m.Opt)(r({validator:"nbt",params:{registry:{category:"minecraft:item",id:["pop",{push:"id"}]}}}))}))},show_entity:{value:(0,m.Opt)((0,m.ObjectNode)({name:(0,m.Opt)(r()),type:(0,m.Opt)(r()),id:(0,m.Opt)(r())})),contents:(0,m.Opt)((0,m.Mod)((0,m.ObjectNode)({name:(0,m.Opt)(e("text_component")),type:r({validator:"resource",params:{pool:"entity_type"}}),id:r({validator:"uuid"})}),{default:()=>({type:"minecraft:pig",id:"00000001-0001-0001-0001-000000000001"})}))}}})),extra:(0,m.Opt)(e("text_component_list"))};o.register("text_component_object",(0,m.Mod)((0,m.ChoiceNode)([{type:"text",match:a=>typeof a=="object",change:a=>({text:""}),priority:-1,node:(0,m.ObjectNode)(g({text:r()},n))},{type:"translation",match:a=>(a==null?void 0:a.translate)!==void 0,change:a=>({translate:""}),node:(0,m.ObjectNode)(g({translate:r(),with:(0,m.Opt)(e("text_component_list"))},n))},{type:"score",match:a=>(a==null?void 0:a.score)!==void 0,change:a=>({score:{}}),node:(0,m.ObjectNode)(g({score:(0,m.ObjectNode)({name:r({validator:"entity",params:{amount:"single",type:"entities",isScoreHolder:!0}}),objective:r({validator:"objective"}),value:(0,m.Opt)(r())})},n))},{type:"selector",match:a=>(a==null?void 0:a.selector)!==void 0,change:a=>({selector:""}),node:(0,m.ObjectNode)(g({selector:r({validator:"entity",params:{amount:"multiple",type:"entities"}}),separator:(0,m.Opt)(e("text_component"))},n))},{type:"keybind",match:a=>(a==null?void 0:a.keybind)!==void 0,change:a=>({keybind:""}),node:(0,m.ObjectNode)(g({keybind:r({enum:"keybind",additional:!0})},n))},{type:"nbt",match:a=>(a==null?void 0:a.nbt)!==void 0,change:a=>({nbt:""}),node:(0,m.ObjectNode)(g({nbt:r({validator:"nbt_path"}),block:(0,m.Opt)(r({validator:"vector",params:{dimension:3,isInteger:!0}})),entity:(0,m.Opt)(r({validator:"entity",params:{amount:"multiple",type:"entities"}})),storage:(0,m.Opt)(r({validator:"resource",params:{pool:"$storage"}})),interpret:(0,m.Opt)((0,m.BooleanNode)()),separator:(0,m.Opt)(e("text_component"))},n))}],{context:"text_component_object",choiceContext:"text_component.object"}),{default:()=>({text:""})})),o.register("text_component_list",(0,m.Mod)((0,m.ListNode)(e("text_component")),{default:()=>[{text:""}]}))}ye.initTextComponentSchemas=pt;var ve={},Oe={};Object.defineProperty(Oe,"__esModule",{value:!0});Oe.initBiomeSchemas=void 0;const p=S;function ut(o,t){const e=p.StringNode.bind(void 0,t);o.register("biome",(0,p.Mod)((0,p.ObjectNode)({temperature:(0,p.NumberNode)(),downfall:(0,p.NumberNode)(),precipitation:e({enum:["none","rain","snow"]}),temperature_modifier:(0,p.Opt)(e({enum:["none","frozen"]})),category:e({enum:"biome_category"}),creature_spawn_probability:(0,p.Opt)((0,p.NumberNode)({min:0,max:1})),effects:(0,p.ObjectNode)({sky_color:(0,p.NumberNode)({color:!0}),fog_color:(0,p.NumberNode)({color:!0}),water_color:(0,p.NumberNode)({color:!0}),water_fog_color:(0,p.NumberNode)({color:!0}),grass_color:(0,p.Opt)((0,p.NumberNode)({color:!0})),foliage_color:(0,p.Opt)((0,p.NumberNode)({color:!0})),grass_color_modifier:(0,p.Opt)(e({enum:["none","dark_forest","swamp"]})),ambient_sound:(0,p.Opt)(e()),mood_sound:(0,p.Opt)((0,p.ObjectNode)({sound:e(),tick_delay:(0,p.NumberNode)({integer:!0}),block_search_extent:(0,p.NumberNode)({integer:!0}),offset:(0,p.NumberNode)()})),additions_sound:(0,p.Opt)((0,p.ObjectNode)({sound:e(),tick_chance:(0,p.NumberNode)({min:0,max:1})})),music:(0,p.Opt)((0,p.ObjectNode)({sound:e(),min_delay:(0,p.NumberNode)({integer:!0,min:0}),max_delay:(0,p.NumberNode)({integer:!0,min:0}),replace_current_music:(0,p.BooleanNode)()})),particle:(0,p.Opt)((0,p.ObjectNode)({options:(0,p.ObjectNode)({type:e()}),probability:(0,p.NumberNode)({min:0,max:1})}))}),spawners:(0,p.MapNode)(e({enum:["monster","creature","ambient","axolotls","underground_water_creature","water_creature","water_ambient","misc"]}),(0,p.Mod)((0,p.ListNode)((0,p.ObjectNode)({type:e({validator:"resource",params:{pool:"entity_type"}}),weight:(0,p.NumberNode)({integer:!0}),minCount:(0,p.NumberNode)({integer:!0}),maxCount:(0,p.NumberNode)({integer:!0})})),{category:()=>"pool",default:()=>[{type:"minecraft:bat",weight:1}]})),spawn_costs:(0,p.MapNode)(e({validator:"resource",params:{pool:"entity_type"}}),(0,p.Mod)((0,p.ObjectNode)({energy_budget:(0,p.NumberNode)(),charge:(0,p.NumberNode)()},{category:"function"}),{default:()=>({energy_budget:.12,charge:1})})),carvers:(0,p.MapNode)(e({enum:["air","liquid"]}),(0,p.Mod)((0,p.ListNode)(e({validator:"resource",params:{pool:"$worldgen/configured_carver"}})),{default:()=>["minecraft:cave"]})),features:(0,p.ListNode)((0,p.Mod)((0,p.ListNode)(e({validator:"resource",params:{pool:"$worldgen/placed_feature"}})),{category:()=>"predicate"}),{maxLength:11})},{context:"biome"}),{default:()=>({temperature:.8,downfall:.4,precipitation:"rain",category:"plains",effects:{sky_color:7907327,fog_color:12638463,water_color:4159204,water_fog_color:329011}})}))}Oe.initBiomeSchemas=ut;var ke={};Object.defineProperty(ke,"__esModule",{value:!0});ke.initCarverSchemas=void 0;const M=S,K=F;function ft(o,t){const e=M.Reference.bind(void 0,o),r=M.StringNode.bind(void 0,t),d={vertical_rotation:(0,K.FloatProvider)(),shape:(0,M.ObjectNode)({distance_factor:(0,K.FloatProvider)(),thickness:(0,K.FloatProvider)(),width_smoothness:(0,M.NumberNode)({integer:!0,min:0}),horizontal_radius_factor:(0,K.FloatProvider)(),vertical_radius_default_factor:(0,M.NumberNode)(),vertical_radius_center_factor:(0,M.NumberNode)()})},n={horizontal_radius_multiplier:(0,K.FloatProvider)(),vertical_radius_multiplier:(0,K.FloatProvider)(),floor_level:(0,K.FloatProvider)({min:-1,max:1})};o.register("configured_carver",(0,M.Mod)((0,M.ObjectNode)({type:r({validator:"resource",params:{pool:"worldgen/carver"}}),config:(0,M.ObjectNode)({probability:(0,M.NumberNode)({min:0,max:1}),y:e("height_provider"),yScale:(0,K.FloatProvider)(),lava_level:e("vertical_anchor"),debug_settings:(0,M.Opt)((0,M.ObjectNode)({debug_mode:(0,M.Opt)((0,M.BooleanNode)()),air_state:(0,M.Opt)(e("block_state")),water_state:(0,M.Opt)(e("block_state")),lava_state:(0,M.Opt)(e("block_state")),barrier_state:(0,M.Opt)(e("block_state"))})),[M.Switch]:["pop",{push:"type"}],[M.Case]:{"minecraft:canyon":d,"minecraft:cave":n,"minecraft:nether_cave":n}})},{context:"carver"}),{default:()=>({type:"minecraft:cave",config:{probability:.1}})}))}ke.initCarverSchemas=ft;var xe={};Object.defineProperty(xe,"__esModule",{value:!0});xe.initDecoratorSchemas=void 0;const C=S,ie=F;function bt(o,t){const e=C.Reference.bind(void 0,o),r=C.StringNode.bind(void 0,t);o.register("decorator",(0,C.ObjectNode)({type:r({validator:"resource",params:{pool:"worldgen/placement_modifier_type"}}),[C.Switch]:[{push:"type"}],[C.Case]:{"minecraft:block_predicate_filter":{predicate:e("block_predicate_worldgen")},"minecraft:carving_mask":{step:r({enum:"generation_step"})},"minecraft:rarity_filter":{chance:(0,C.NumberNode)({integer:!0,min:0})},"minecraft:count":{count:(0,ie.IntProvider)({min:0,max:256})},"minecraft:count_on_every_layer":{count:(0,ie.IntProvider)({min:0,max:256})},"minecraft:noise_threshold_count":{noise_level:(0,C.NumberNode)(),below_noise:(0,C.NumberNode)({integer:!0}),above_noise:(0,C.NumberNode)({integer:!0})},"minecraft:noise_based_count":{noise_to_count_ratio:(0,C.NumberNode)({integer:!0}),noise_factor:(0,C.NumberNode)(),noise_offset:(0,C.Opt)((0,C.NumberNode)())},"minecraft:environment_scan":{direction_of_search:r({enum:["up","down"]}),max_steps:(0,C.NumberNode)({integer:!0,min:1,max:32}),target_condition:e("block_predicate_worldgen"),allowed_search_condition:(0,C.Opt)(e("block_predicate_worldgen"))},"minecraft:heightmap":{heightmap:r({enum:"heightmap_type"})},"minecraft:height_range":{height:e("height_provider")},"minecraft:random_offset":{xz_spread:(0,ie.IntProvider)({min:-16,max:16}),y_spread:(0,ie.IntProvider)({min:-16,max:16})},"minecraft:surface_relative_threshold_filter":{heightmap:r({enum:"heightmap_type"}),min_inclusive:(0,C.Opt)((0,C.NumberNode)({integer:!0})),max_inclusive:(0,C.Opt)((0,C.NumberNode)({integer:!0}))},"minecraft:surface_water_depth_filter":{max_water_depth:(0,C.NumberNode)({integer:!0})}}},{context:"decorator",category:"predicate"}))}xe.initDecoratorSchemas=bt;var we={},Z={};Object.defineProperty(Z,"__esModule",{value:!0});Z.initProcessorListSchemas=Z.Processors=void 0;const y=S;function gt(o,t){const e=y.Reference.bind(void 0,o),r=y.StringNode.bind(void 0,t);Z.Processors=(0,y.ChoiceNode)([{type:"string",node:r({validator:"resource",params:{pool:"$worldgen/processor_list"}}),change:n=>{}},{type:"object",node:e("processor_list"),change:n=>({processors:[{processor_type:"minecraft:nop"}]})}]),o.register("processor_list",(0,y.Mod)((0,y.ObjectNode)({processors:(0,y.ListNode)(e("processor"))},{context:"processor_list"}),{default:()=>({processors:[{processor_type:"minecraft:rule",rules:[{location_predicate:{predicate_type:"minecraft:always_true"},input_predicate:{predicate_type:"minecraft:always_true"}}]}]})})),o.register("processor",(0,y.Mod)((0,y.ObjectNode)({processor_type:r({validator:"resource",params:{pool:"worldgen/structure_processor"}}),[y.Switch]:[{push:"processor_type"}],[y.Case]:{"minecraft:block_age":{mossiness:(0,y.NumberNode)()},"minecraft:block_ignore":{blocks:(0,y.ListNode)(e("block_state"))},"minecraft:block_rot":{integrity:(0,y.NumberNode)({min:0,max:1})},"minecraft:gravity":{heightmap:r({enum:"heightmap_type"}),offset:(0,y.NumberNode)({integer:!0})},"minecraft:protected_blocks":{value:r({validator:"resource",params:{pool:"$tag/block"}})},"minecraft:rule":{rules:(0,y.ListNode)(e("processor_rule"))}}},{category:"function",context:"processor"}),{default:()=>({processor_type:"minecraft:rule",rules:[{location_predicate:{predicate_type:"minecraft:always_true"},input_predicate:{predicate_type:"minecraft:always_true"}}]})})),o.register("processor_rule",(0,y.Mod)((0,y.ObjectNode)({position_predicate:(0,y.Opt)(e("pos_rule_test")),location_predicate:e("rule_test"),input_predicate:e("rule_test"),output_state:e("block_state"),output_nbt:(0,y.Opt)(r({validator:"nbt",params:{registry:{category:"minecraft:block"}}}))},{category:"predicate",context:"processor_rule"}),{default:()=>({location_predicate:{predicate_type:"minecraft:always_true"},input_predicate:{predicate_type:"minecraft:always_true"}})}));const d={min_dist:(0,y.Opt)((0,y.NumberNode)({min:0,max:255,integer:!0})),max_dist:(0,y.Opt)((0,y.NumberNode)({min:0,max:255,integer:!0})),min_chance:(0,y.Opt)((0,y.NumberNode)({min:0,max:1})),max_chance:(0,y.Opt)((0,y.NumberNode)({min:0,max:1}))};o.register("pos_rule_test",(0,y.ObjectNode)({predicate_type:r({validator:"resource",params:{pool:"pos_rule_test"}}),[y.Switch]:[{push:"predicate_type"}],[y.Case]:{"minecraft:axis_aligned_linear_pos":g({axis:r({enum:["x","y","z"]})},d),"minecraft:linear_pos":d}},{context:"pos_rule_test",disableSwitchContext:!0})),o.register("rule_test",(0,y.ObjectNode)({predicate_type:r({validator:"resource",params:{pool:"rule_test"}}),[y.Switch]:[{push:"predicate_type"}],[y.Case]:{"minecraft:block_match":{block:r({validator:"resource",params:{pool:"block"}})},"minecraft:blockstate_match":{block_state:e("block_state")},"minecraft:random_block_match":{block:r({validator:"resource",params:{pool:"block"}}),probability:(0,y.NumberNode)({min:0,max:1})},"minecraft:random_blockstate_match":{block_state:e("block_state"),probability:(0,y.NumberNode)({min:0,max:1})},"minecraft:tag_match":{tag:r({validator:"resource",params:{pool:"$tag/block"}})}}},{context:"rule_test",disableSwitchContext:!0}))}Z.initProcessorListSchemas=gt;Object.defineProperty(we,"__esModule",{value:!0});we.initFeatureSchemas=void 0;const i=S,k=F,Te=Z;function Nt(o,t){const e=i.Reference.bind(void 0,o),r=i.StringNode.bind(void 0,t),d=(0,i.ChoiceNode)([{type:"string",node:r({validator:"resource",params:{pool:"$worldgen/configured_feature"}})},{type:"object",node:e("configured_feature")}],{choiceContext:"feature"}),n=(0,i.ChoiceNode)([{type:"string",node:r({validator:"resource",params:{pool:"$worldgen/placed_feature"}})},{type:"object",node:e("placed_feature")}],{choiceContext:"placed_feature"}),a={tries:(0,i.Opt)((0,i.NumberNode)({integer:!0,min:1})),xz_spread:(0,i.Opt)((0,i.NumberNode)({integer:!0,min:0})),y_spread:(0,i.Opt)((0,i.NumberNode)({integer:!0,min:0})),feature:n},l={state:e("block_state"),radius:(0,k.IntProvider)({min:0,max:8}),half_height:(0,i.NumberNode)({integer:!0,min:0,max:4}),targets:(0,i.ListNode)(e("block_state"))},I={cap_provider:e("block_state_provider"),stem_provider:e("block_state_provider"),foliage_radius:(0,i.Opt)((0,i.NumberNode)({integer:!0}))},B=(0,i.ObjectNode)({target:e("rule_test"),state:e("block_state")}),f={size:(0,i.NumberNode)({integer:!0,min:0,max:64}),discard_chance_on_air_exposure:(0,i.NumberNode)({min:0,max:1}),targets:(0,i.ListNode)(B)},O={surface:r({enum:"cave_surface"}),depth:(0,k.IntProvider)({min:1,max:128}),vertical_range:(0,i.NumberNode)({integer:!0,min:1,max:256}),extra_bottom_block_chance:(0,i.NumberNode)({min:0,max:1}),extra_edge_column_chance:(0,i.NumberNode)({min:0,max:1}),vegetation_chance:(0,i.NumberNode)({min:0,max:1}),xz_radius:(0,k.IntProvider)(),replaceable:r({validator:"resource",params:{pool:"$tag/block"}}),ground_state:e("block_state_provider"),vegetation_feature:n};o.register("configured_feature",(0,i.Mod)((0,i.ObjectNode)({type:r({validator:"resource",params:{pool:"worldgen/feature"}}),config:(0,i.ObjectNode)({[i.Switch]:["pop",{push:"type"}],[i.Case]:{"minecraft:bamboo":{probability:(0,i.NumberNode)({min:0,max:1})},"minecraft:basalt_columns":{reach:(0,k.IntProvider)({min:0,max:3}),height:(0,k.IntProvider)({min:1,max:10})},"minecraft:block_column":{direction:r({enum:["up","down","north","east","south","west"]}),allowed_placement:e("block_predicate_worldgen"),prioritize_tip:(0,i.BooleanNode)(),layers:(0,i.ListNode)((0,i.ObjectNode)({height:(0,k.IntProvider)({min:0}),provider:e("block_state_provider")}))},"minecraft:block_pile":{state_provider:e("block_state_provider")},"minecraft:delta_feature":{contents:e("block_state"),rim:e("block_state"),size:(0,k.IntProvider)({min:0,max:16}),rim_size:(0,k.IntProvider)({min:0,max:16})},"minecraft:disk":l,"minecraft:dripstone_cluster":{floor_to_ceiling_search_range:(0,i.NumberNode)({integer:!0,min:1,max:512}),height:(0,k.IntProvider)({min:0,max:128}),radius:(0,k.IntProvider)({min:0,max:128}),max_stalagmite_stalactite_height_diff:(0,i.NumberNode)({integer:!0,min:0,max:64}),height_deviation:(0,i.NumberNode)({integer:!0,min:1,max:64}),dripstone_block_layer_thickness:(0,k.IntProvider)({min:0,max:128}),density:(0,k.FloatProvider)({min:0,max:2}),wetness:(0,k.FloatProvider)({min:0,max:2}),chance_of_dripstone_column_at_max_distance_from_center:(0,i.NumberNode)({min:0,max:1}),max_distance_from_edge_affecting_chance_of_dripstone_column:(0,i.NumberNode)({integer:!0,min:1,max:64}),max_distance_from_center_affecting_height_bias:(0,i.NumberNode)({integer:!0,min:1,max:64})},"minecraft:end_gateway":{exact:(0,i.BooleanNode)(),exit:(0,i.Opt)(e("block_pos"))},"minecraft:end_spike":{crystal_invulnerable:(0,i.Opt)((0,i.BooleanNode)()),crystal_beam_target:(0,i.Opt)(e("block_pos")),spikes:(0,i.ListNode)((0,i.ObjectNode)({centerX:(0,i.Opt)((0,i.NumberNode)({integer:!0})),centerZ:(0,i.Opt)((0,i.NumberNode)({integer:!0})),radius:(0,i.Opt)((0,i.NumberNode)({integer:!0})),height:(0,i.Opt)((0,i.NumberNode)({integer:!0})),guarded:(0,i.Opt)((0,i.BooleanNode)())}))},"minecraft:fill_layer":{state:e("block_state"),height:(0,i.NumberNode)({integer:!0,min:0,max:255})},"minecraft:flower":a,"minecraft:forest_rock":{state:e("block_state")},"minecraft:fossil":{max_empty_corners_allowed:(0,i.NumberNode)({integer:!0,min:0,max:7}),fossil_structures:(0,i.ListNode)(r({validator:"resource",params:{pool:"$structure"}})),overlay_structures:(0,i.ListNode)(r({validator:"resource",params:{pool:"$structure"}})),fossil_processors:Te.Processors,overlay_processors:Te.Processors},"minecraft:geode":{blocks:(0,i.ObjectNode)({filling_provider:e("block_state_provider"),inner_layer_provider:e("block_state_provider"),alternate_inner_layer_provider:e("block_state_provider"),middle_layer_provider:e("block_state_provider"),outer_layer_provider:e("block_state_provider"),inner_placements:(0,i.ListNode)(e("block_state")),cannot_replace:r({validator:"resource",params:{pool:"$tag/block"}}),invalid_blocks:r({validator:"resource",params:{pool:"$tag/block"}})}),layers:(0,i.ObjectNode)({filling:(0,i.Opt)((0,i.NumberNode)({min:.01,max:50})),inner_layer:(0,i.Opt)((0,i.NumberNode)({min:.01,max:50})),middle_layer:(0,i.Opt)((0,i.NumberNode)({min:.01,max:50})),outer_layer:(0,i.Opt)((0,i.NumberNode)({min:.01,max:50}))}),crack:(0,i.ObjectNode)({generate_crack_chance:(0,i.Opt)((0,i.NumberNode)({min:0,max:1})),base_crack_size:(0,i.Opt)((0,i.NumberNode)({min:0,max:5})),crack_point_offset:(0,i.Opt)((0,i.NumberNode)({min:0,max:10}))}),noise_multiplier:(0,i.Opt)((0,i.NumberNode)({min:0,max:1})),use_potential_placements_chance:(0,i.Opt)((0,i.NumberNode)({min:0,max:1})),use_alternate_layer0_chance:(0,i.Opt)((0,i.NumberNode)({min:0,max:1})),placements_require_layer0_alternate:(0,i.Opt)((0,i.BooleanNode)()),outer_wall_distance:(0,i.Opt)((0,k.IntProvider)({min:1,max:20})),distribution_points:(0,i.Opt)((0,k.IntProvider)({min:1,max:20})),point_offset:(0,i.Opt)((0,k.IntProvider)({min:0,max:10})),min_gen_offset:(0,i.Opt)((0,i.NumberNode)({integer:!0})),max_gen_offset:(0,i.Opt)((0,i.NumberNode)({integer:!0})),invalid_blocks_threshold:(0,i.NumberNode)({integer:!0})},"minecraft:glow_lichen":{search_range:(0,i.Opt)((0,i.NumberNode)({min:1,max:64,integer:!0})),chance_of_spreading:(0,i.Opt)((0,i.NumberNode)({min:0,max:1})),can_place_on_floor:(0,i.Opt)((0,i.BooleanNode)()),can_place_on_ceiling:(0,i.Opt)((0,i.BooleanNode)()),can_place_on_wall:(0,i.Opt)((0,i.BooleanNode)()),can_be_placed_on:(0,i.ListNode)(r({validator:"resource",params:{pool:"block"}}))},"minecraft:huge_brown_mushroom":I,"minecraft:huge_fungus":{hat_state:e("block_state"),decor_state:e("block_state"),stem_state:e("block_state"),valid_base_block:e("block_state"),planted:(0,i.Opt)((0,i.BooleanNode)())},"minecraft:huge_red_mushroom":I,"minecraft:ice_patch":l,"minecraft:iceberg":{state:e("block_state")},"minecraft:lake":{fluid:e("block_state_provider"),barrier:e("block_state_provider")},"minecraft:large_dripstone":{floor_to_ceiling_search_range:(0,i.Opt)((0,i.NumberNode)({integer:!0,min:1,max:512})),column_radius:(0,k.IntProvider)({min:0,max:60}),height_scale:(0,k.FloatProvider)({min:0,max:20}),max_column_radius_to_cave_height_ratio:(0,i.NumberNode)({min:0,max:1}),stalactite_bluntness:(0,k.FloatProvider)({min:.1,max:10}),stalagmite_bluntness:(0,k.FloatProvider)({min:.1,max:10}),wind_speed:(0,k.FloatProvider)({min:0,max:2}),min_radius_for_wind:(0,i.NumberNode)({integer:!0,min:0,max:100}),min_bluntness_for_wind:(0,i.NumberNode)({min:0,max:5})},"minecraft:nether_forest_vegetation":{state_provider:e("block_state_provider"),spread_width:(0,i.NumberNode)({integer:!0,min:1}),spread_height:(0,i.NumberNode)({integer:!0,min:1})},"minecraft:netherrack_replace_blobs":{state:e("block_state"),target:e("block_state"),radius:(0,k.IntProvider)({min:0,max:12})},"minecraft:no_bonemeal_flower":a,"minecraft:ore":f,"minecraft:pointed_dripstone":{chance_of_taller_dripstone:(0,i.Opt)((0,i.NumberNode)({min:0,max:1})),chance_of_directional_spread:(0,i.Opt)((0,i.NumberNode)({min:0,max:1})),chance_of_spread_radius2:(0,i.Opt)((0,i.NumberNode)({min:0,max:1})),chance_of_spread_radius3:(0,i.Opt)((0,i.NumberNode)({min:0,max:1}))},"minecraft:random_patch":a,"minecraft:random_boolean_selector":{feature_false:n,feature_true:n},"minecraft:random_selector":{features:(0,i.ListNode)((0,i.ObjectNode)({chance:(0,i.NumberNode)({min:0,max:1}),feature:n})),default:n},"minecraft:replace_single_block":{targets:(0,i.ListNode)(B)},"minecraft:root_system":{required_vertical_space_for_tree:(0,i.NumberNode)({integer:!0,min:1,max:64}),root_radius:(0,i.NumberNode)({integer:!0,min:1,max:64}),root_placement_attempts:(0,i.NumberNode)({integer:!0,min:1,max:256}),root_column_max_height:(0,i.NumberNode)({integer:!0,min:1,max:4096}),hanging_root_radius:(0,i.NumberNode)({integer:!0,min:1,max:64}),hanging_roots_vertical_span:(0,i.NumberNode)({integer:!0,min:0,max:16}),hanging_root_placement_attempts:(0,i.NumberNode)({integer:!0,min:0,max:256}),allowed_vertical_water_for_tree:(0,i.NumberNode)({integer:!0,min:1,max:64}),root_replaceable:r({validator:"resource",params:{pool:"$tag/block"}}),root_state_provider:e("block_state_provider"),hanging_root_state_provider:e("block_state_provider"),allowed_tree_position:e("block_predicate_worldgen"),feature:n},"minecraft:scattered_ore":f,"minecraft:sea_pickle":{count:(0,k.IntProvider)({min:0,max:256})},"minecraft:seagrass":{probability:(0,i.NumberNode)({min:0,max:1})},"minecraft:simple_block":{to_place:e("block_state_provider")},"minecraft:simple_random_selector":{features:(0,i.ListNode)(n)},"minecraft:spring_feature":{state:e("fluid_state"),rock_count:(0,i.NumberNode)({integer:!0}),hole_count:(0,i.NumberNode)({integer:!0}),requires_block_below:(0,i.BooleanNode)(),valid_blocks:(0,i.ListNode)(r({validator:"resource",params:{pool:"block"}}))},"minecraft:tree":{ignore_vines:(0,i.Opt)((0,i.BooleanNode)()),force_dirt:(0,i.Opt)((0,i.BooleanNode)()),minimum_size:e("feature_size"),dirt_provider:e("block_state_provider"),trunk_provider:e("block_state_provider"),foliage_provider:e("block_state_provider"),trunk_placer:(0,i.ObjectNode)({type:r({validator:"resource",params:{pool:"worldgen/trunk_placer_type"}}),base_height:(0,i.NumberNode)({integer:!0,min:0,max:32}),height_rand_a:(0,i.NumberNode)({integer:!0,min:0,max:24}),height_rand_b:(0,i.NumberNode)({integer:!0,min:0,max:24}),[i.Switch]:[{push:"type"}],[i.Case]:{"minecraft:bending_trunk_placer":{bend_length:(0,k.IntProvider)({min:1,max:64}),min_height_for_leaves:(0,i.Opt)((0,i.NumberNode)({integer:!0,min:1}))}}},{context:"trunk_placer"}),foliage_placer:(0,i.ObjectNode)({type:r({validator:"resource",params:{pool:"worldgen/foliage_placer_type"}}),radius:(0,k.IntProvider)({min:0,max:16}),offset:(0,k.IntProvider)({min:0,max:16}),[i.Switch]:[{push:"type"}],[i.Case]:{"minecraft:blob_foliage_placer":{height:(0,i.NumberNode)({integer:!0,min:0,max:16})},"minecraft:bush_foliage_placer":{height:(0,i.NumberNode)({integer:!0,min:0,max:16})},"minecraft:fancy_foliage_placer":{height:(0,i.NumberNode)({integer:!0,min:0,max:16})},"minecraft:jungle_foliage_placer":{height:(0,i.NumberNode)({integer:!0,min:0,max:16})},"minecraft:mega_pine_foliage_placer":{crown_height:(0,k.IntProvider)({min:0,max:24})},"minecraft:pine_foliage_placer":{height:(0,k.IntProvider)({min:0,max:24})},"minecraft:random_spread_foliage_placer":{foliage_height:(0,k.IntProvider)({min:1,max:512}),leaf_placement_attempts:(0,i.NumberNode)({integer:!0,min:0,max:256})},"minecraft:spruce_foliage_placer":{trunk_height:(0,k.IntProvider)({min:0,max:24})}}},{context:"foliage_placer",disableSwitchContext:!0}),decorators:(0,i.ListNode)((0,i.ObjectNode)({type:r({validator:"resource",params:{pool:"worldgen/tree_decorator_type"}}),[i.Switch]:[{push:"type"}],[i.Case]:{"minecraft:alter_ground":{provider:e("block_state_provider")},"minecraft:beehive":{probability:(0,i.NumberNode)({min:0,max:1})},"minecraft:cocoa":{probability:(0,i.NumberNode)({min:0,max:1})}}},{context:"tree_decorator"}))},"minecraft:twisting_vines":{spread_width:(0,i.NumberNode)({integer:!0,min:1}),spread_height:(0,i.NumberNode)({integer:!0,min:1}),max_height:(0,i.NumberNode)({integer:!0,min:1})},"minecraft:underwater_magma":{floor_search_range:(0,i.NumberNode)({integer:!0,min:0,max:512}),placement_radius_around_floor:(0,i.NumberNode)({integer:!0,min:0,max:64}),placement_probability_per_valid_position:(0,i.NumberNode)({min:0,max:1})},"minecraft:vegetation_patch":O,"minecraft:waterlogged_vegetation_patch":O}},{context:"feature"})},{context:"feature"}),{default:()=>({type:"minecraft:tree",config:{minimum_size:{type:"minecraft:two_layers_feature_size"},trunk_placer:{type:"minecraft:straight_trunk_placer",base_height:5,height_rand_a:2,height_rand_b:0},foliage_placer:{type:"minecraft:blob_foliage_placer",radius:2,offset:0,height:3}}})})),o.register("placed_feature",(0,i.Mod)((0,i.ObjectNode)({feature:d,placement:(0,i.ListNode)(e("decorator"))},{context:"placed_feature"}),{default:()=>({feature:"minecraft:oak",placement:[{type:"minecraft:count",count:4},{type:"minecraft:in_square"},{type:"minecraft:heightmap",heightmap:"OCEAN_FLOOR"}]})})),o.register("feature_size",(0,i.Mod)((0,i.ObjectNode)({type:r({validator:"resource",params:{pool:"worldgen/feature_size_type"}}),min_clipped_height:(0,i.Opt)((0,i.NumberNode)({min:0,max:80})),[i.Switch]:[{push:"type"}],[i.Case]:{"minecraft:two_layers_feature_size":{limit:(0,i.Opt)((0,i.NumberNode)({integer:!0,min:0,max:81})),lower_size:(0,i.Opt)((0,i.NumberNode)({integer:!0,min:0,max:16})),upper_size:(0,i.Opt)((0,i.NumberNode)({integer:!0,min:0,max:16}))},"minecraft:three_layers_feature_size":{limit:(0,i.Opt)((0,i.NumberNode)({integer:!0,min:0,max:80})),upper_limit:(0,i.Opt)((0,i.NumberNode)({integer:!0,min:0,max:80})),lower_size:(0,i.Opt)((0,i.NumberNode)({integer:!0,min:0,max:16})),middle_size:(0,i.Opt)((0,i.NumberNode)({integer:!0,min:0,max:16})),upper_size:(0,i.Opt)((0,i.NumberNode)({integer:!0,min:0,max:16}))}}},{disableSwitchContext:!0}),{default:()=>({type:"minecraft:two_layers_feature_size"})}));const h={seed:(0,i.NumberNode)({integer:!0}),noise:e("noise_parameters"),scale:(0,i.Mod)((0,i.NumberNode)({min:Number.MIN_VALUE}),{default:()=>1})};o.register("block_state_provider",(0,i.Mod)((0,i.ObjectNode)({type:r({validator:"resource",params:{pool:"worldgen/block_state_provider_type"}}),[i.Switch]:[{push:"type"}],[i.Case]:{"minecraft:dual_noise_provider":D(g({},h),{variety:(0,k.InclusiveRange)({integer:!0,min:1,max:64}),slow_noise:e("noise_parameters"),slow_scale:(0,i.Mod)((0,i.NumberNode)({min:Number.MIN_VALUE}),{default:()=>1}),states:(0,i.ListNode)(e("block_state"))}),"minecraft:noise_threshold_provider":D(g({},h),{threshold:(0,i.NumberNode)({min:-1,max:1}),high_chance:(0,i.NumberNode)({min:0,max:1}),default_state:e("block_state"),low_states:(0,i.ListNode)(e("block_state")),high_states:(0,i.ListNode)(e("block_state"))}),"minecraft:noise_provider":D(g({},h),{states:(0,i.ListNode)(e("block_state"))}),"minecraft:randomized_int_state_provider":{property:r(),values:(0,k.IntProvider)(),source:e("block_state_provider")},"minecraft:rotated_block_provider":{state:e("block_state")},"minecraft:simple_state_provider":{state:e("block_state")},"minecraft:weighted_state_provider":{entries:(0,i.ListNode)((0,i.Mod)((0,i.ObjectNode)({weight:(0,i.NumberNode)({integer:!0,min:1}),data:e("block_state")}),{default:()=>({data:{}})}))}}},{context:"block_state_provider"}),{default:()=>({type:"minecraft:simple_state_provider"})}));const w={offset:(0,i.Opt)((0,i.ListNode)((0,i.NumberNode)({integer:!0,min:-16,max:16}),{minLength:3,maxLength:3}))};o.register("block_predicate_worldgen",(0,i.Mod)((0,i.ObjectNode)({type:r({validator:"resource",params:{pool:"block_predicate_type"}}),[i.Switch]:[{push:"type"}],[i.Case]:{"minecraft:all_of":{predicates:(0,i.ListNode)(e("block_predicate_worldgen"))},"minecraft:any_of":{predicates:(0,i.ListNode)(e("block_predicate_worldgen"))},"minecraft:has_sturdy_face":D(g({},w),{direction:r({enum:"direction"})}),"minecraft:inside_world_bounds":g({},w),"minecraft:matching_block_tag":D(g({},w),{tag:r({validator:"resource",params:{pool:"$tag/block"}})}),"minecraft:matching_blocks":D(g({},w),{blocks:(0,i.ListNode)(r({validator:"resource",params:{pool:"block"}}))}),"minecraft:matching_fluids":D(g({},w),{fluids:(0,i.ListNode)(r({validator:"resource",params:{pool:"fluid"}}))}),"minecraft:not":{predicate:e("block_predicate_worldgen")},"minecraft:would_survive":D(g({},w),{state:e("block_state")})}},{context:"block_predicate"}),{default:()=>({type:"minecraft:true"})}))}we.initFeatureSchemas=Nt;var Se={};Object.defineProperty(Se,"__esModule",{value:!0});Se.initNoiseSettingsSchemas=void 0;const _=S,ht=F;function yt(o,t){const e=_.Reference.bind(void 0,o),r=_.StringNode.bind(void 0,t);o.register("noise_settings",(0,_.Mod)((0,_.ObjectNode)({sea_level:(0,_.NumberNode)({integer:!0}),disable_mob_generation:(0,_.BooleanNode)(),noise_caves_enabled:(0,_.BooleanNode)(),noodle_caves_enabled:(0,_.BooleanNode)(),aquifers_enabled:(0,_.BooleanNode)(),ore_veins_enabled:(0,_.BooleanNode)(),legacy_random_source:(0,_.BooleanNode)(),default_block:e("block_state"),default_fluid:e("block_state"),noise:(0,_.ObjectNode)({min_y:(0,_.NumberNode)({integer:!0,min:-2048,max:2047}),height:(0,_.NumberNode)({integer:!0,min:0,max:4096}),size_horizontal:(0,_.NumberNode)({integer:!0}),size_vertical:(0,_.NumberNode)({integer:!0}),island_noise_override:(0,_.Opt)((0,_.BooleanNode)()),amplified:(0,_.Opt)((0,_.BooleanNode)()),large_biomes:(0,_.Opt)((0,_.BooleanNode)()),sampling:(0,_.ObjectNode)({xz_scale:(0,_.NumberNode)(),y_scale:(0,_.NumberNode)(),xz_factor:(0,_.NumberNode)(),y_factor:(0,_.NumberNode)()}),bottom_slide:e("noise_slider"),top_slide:e("noise_slider"),terrain_shaper:e("terrain_shaper")}),surface_rule:e("material_rule"),structures:e("generator_structures")},{context:"noise_settings"}),d=>({default:()=>ht.DefaultNoiseSettings,validate:(n,a,l,I)=>{var B,f,O,h;return a=d.validate(n,a,l,I),((B=a==null?void 0:a.noise)===null||B===void 0?void 0:B.min_y)+((f=a==null?void 0:a.noise)===null||f===void 0?void 0:f.height)>2047&&l.add(n.push("noise").push("height"),"error.min_y_plus_height",2047),((O=a==null?void 0:a.noise)===null||O===void 0?void 0:O.height)%16!==0&&l.add(n.push("noise").push("height"),"error.height_multiple",16),((h=a==null?void 0:a.noise)===null||h===void 0?void 0:h.min_y)%16!==0&&l.add(n.push("noise").push("min_y"),"error.min_y_multiple",16),a}}))),o.register("noise_slider",(0,_.ObjectNode)({target:(0,_.NumberNode)(),size:(0,_.NumberNode)({integer:!0,min:0}),offset:(0,_.NumberNode)({integer:!0})})),o.register("generator_structures",(0,_.ObjectNode)({stronghold:(0,_.Opt)((0,_.ObjectNode)({distance:(0,_.NumberNode)({integer:!0,min:0,max:1023}),spread:(0,_.NumberNode)({integer:!0,min:0,max:1023}),count:(0,_.NumberNode)({integer:!0,min:1,max:4095})})),structures:(0,_.MapNode)(r({validator:"resource",params:{pool:"worldgen/structure_feature"}}),(0,_.Mod)((0,_.ObjectNode)({spacing:(0,_.NumberNode)({integer:!0,min:0,max:4096}),separation:(0,_.Mod)((0,_.NumberNode)({integer:!0,min:0,max:4096}),d=>({validate:(n,a,l,I)=>(n.pop().push("spacing").get()<=a&&l.add(n,"error.separation_smaller_spacing"),d.validate(n,a,l,I))})),salt:(0,_.NumberNode)({integer:!0,min:0})},{context:"generator_structure"}),{default:()=>({spacing:10,separation:5,salt:0})}))})),o.register("generator_layer",(0,_.Mod)((0,_.ObjectNode)({block:r({validator:"resource",params:{pool:"block"}}),height:(0,_.NumberNode)({integer:!0,min:1})}),{default:()=>({block:"minecraft:stone",height:1})})),o.register("terrain_shaper",(0,_.Mod)((0,_.ObjectNode)({offset:e("terrain_spline"),factor:e("terrain_spline"),jaggedness:e("terrain_spline")},{context:"terrain_shaper"}),{default:()=>({offset:0,factor:0,jaggedness:0})})),o.register("terrain_spline",(0,_.Mod)((0,_.ChoiceNode)([{type:"number",node:(0,_.NumberNode)()},{type:"object",node:(0,_.ObjectNode)({coordinate:(0,_.Mod)(r({enum:["continents","erosion","weirdness","ridges"]}),{default:()=>"continents"}),points:(0,_.ListNode)((0,_.ObjectNode)({location:(0,_.NumberNode)(),derivative:(0,_.NumberNode)(),value:e("terrain_spline")}))},{category:"function"})}],{context:"terrain_spline",choiceContext:"terrain_spline"}),{default:()=>0}))}Se.initNoiseSettingsSchemas=yt;var je={};Object.defineProperty(je,"__esModule",{value:!0});je.initStructureFeatureSchemas=void 0;const z=S;function vt(o,t){const e=z.StringNode.bind(void 0,t),r=z.Reference.bind(void 0,o),d={start_pool:e({validator:"resource",params:{pool:"$worldgen/template_pool"}}),size:(0,z.NumberNode)({integer:!0})};o.register("configured_structure_feature",(0,z.Mod)((0,z.ObjectNode)({type:e({validator:"resource",params:{pool:"worldgen/structure_feature"}}),config:(0,z.ObjectNode)({[z.Switch]:["pop",{push:"type"}],[z.Case]:{"minecraft:bastion_remnant":d,"minecraft:buried_treasure":{probability:(0,z.NumberNode)({min:0,max:1})},"minecraft:mineshaft":{type:e({enum:["normal","mesa"]}),probability:(0,z.NumberNode)({min:0,max:1})},"minecraft:nether_fossil":{height:r("height_provider")},"minecraft:ocean_ruin":{biome_temp:e({enum:["cold","warm"]}),large_probability:(0,z.NumberNode)({min:0,max:1}),cluster_probability:(0,z.NumberNode)({min:0,max:1})},"minecraft:pillager_outpost":d,"minecraft:ruined_portal":{portal_type:e({enum:["standard","desert","jungle","mountain","nether","ocean","swamp"]})},"minecraft:shipwreck":{is_beached:(0,z.Opt)((0,z.BooleanNode)())},"minecraft:village":d}},{context:"structure_feature",disableSwitchContext:!0})},{context:"structure_feature"}),{default:()=>({type:"minecraft:bastion_remnant",config:{start_pool:"minecraft:bastion/starts",size:6}})}))}je.initStructureFeatureSchemas=vt;var Me={};Object.defineProperty(Me,"__esModule",{value:!0});Me.initSurfaceRuleSchemas=void 0;const j=S;function Ot(o,t){const e=j.StringNode.bind(void 0,t),r=j.Reference.bind(void 0,o);o.register("material_rule",(0,j.Mod)((0,j.ObjectNode)({type:e({validator:"resource",params:{pool:"worldgen/material_rule"}}),[j.Switch]:[{push:"type"}],[j.Case]:{"minecraft:block":{result_state:r("block_state")},"minecraft:condition":{if_true:r("material_condition"),then_run:r("material_rule")},"minecraft:sequence":{sequence:(0,j.ListNode)(r("material_rule"))}}},{context:"material_rule",category:"pool"}),{default:()=>({type:"minecraft:block",result_state:{Name:"minecraft:stone"}})})),o.register("material_condition",(0,j.Mod)((0,j.ObjectNode)({type:e({validator:"resource",params:{pool:"worldgen/material_condition"}}),[j.Switch]:[{push:"type"}],[j.Case]:{"minecraft:biome":{biome_is:(0,j.ListNode)(e({validator:"resource",params:{pool:"$worldgen/biome"}}))},"minecraft:noise_threshold":{noise:e({validator:"resource",params:{pool:"$worldgen/noise"}}),min_threshold:(0,j.NumberNode)(),max_threshold:(0,j.NumberNode)()},"minecraft:not":{invert:r("material_condition")},"minecraft:stone_depth":{offset:(0,j.NumberNode)({integer:!0}),surface_type:e({enum:"cave_surface"}),add_surface_depth:(0,j.BooleanNode)(),add_surface_secondary_depth:(0,j.BooleanNode)()},"minecraft:vertical_gradient":{random_name:e(),true_at_and_below:r("vertical_anchor"),false_at_and_above:r("vertical_anchor")},"minecraft:water":{offset:(0,j.NumberNode)({integer:!0}),surface_depth_multiplier:(0,j.NumberNode)({integer:!0,min:-20,max:20}),add_stone_depth:(0,j.BooleanNode)()},"minecraft:y_above":{anchor:r("vertical_anchor"),surface_depth_multiplier:(0,j.NumberNode)({integer:!0,min:-20,max:20}),add_stone_depth:(0,j.BooleanNode)()}}},{context:"material_condition"}),{default:()=>({type:"minecraft:biome",is_biome:"minecraft:plains"})}))}Me.initSurfaceRuleSchemas=Ot;var Ce={};Object.defineProperty(Ce,"__esModule",{value:!0});Ce.initTemplatePoolSchemas=void 0;const T=S,qe=Z;function kt(o,t){const e=T.Reference.bind(void 0,o),r=T.StringNode.bind(void 0,t);o.register("template_pool",(0,T.Mod)((0,T.ObjectNode)({name:r(),fallback:r(),elements:(0,T.ListNode)(e("template_weighted_element"))},{context:"template_pool"}),{default:()=>({fallback:"minecraft:empty",elements:[{weight:1,element:{element_type:"minecraft:single_pool_element",projection:"rigid",processors:"minecraft:empty"}}]})})),o.register("template_weighted_element",(0,T.Mod)((0,T.ObjectNode)({weight:(0,T.NumberNode)({integer:!0,min:1}),element:e("template_element")},{category:"pool"}),{default:()=>({weight:1,element:{element_type:"minecraft:single_pool_element",projection:"rigid",processors:"minecraft:empty"}})})),o.register("template_element",(0,T.Mod)((0,T.ObjectNode)({element_type:r({validator:"resource",params:{pool:"worldgen/structure_pool_element"}}),projection:r({enum:["rigid","terrain_matching"]}),[T.Switch]:[{push:"element_type"}],[T.Case]:{"minecraft:feature_pool_element":{feature:r({validator:"resource",params:{pool:"$worldgen/placed_feature"}})},"minecraft:legacy_single_pool_element":{location:r({validator:"resource",params:{pool:"$structure"}}),processors:qe.Processors},"minecraft:list_pool_element":{elements:(0,T.ListNode)(e("template_element"))},"minecraft:single_pool_element":{location:r({validator:"resource",params:{pool:"$structure"}}),processors:qe.Processors}}},{context:"template_element",disableSwitchContext:!0}),{default:()=>({element_type:"minecraft:single_pool_element",projection:"rigid",processors:"minecraft:empty"})}))}Ce.initTemplatePoolSchemas=kt;Object.defineProperty(ve,"__esModule",{value:!0});ve.initWorldgenSchemas=void 0;const xt=Oe,wt=ke,St=xe,jt=we,Mt=Se,Ct=Z,Pt=je,Lt=Me,Bt=Ce;function $t(o,t){(0,Ct.initProcessorListSchemas)(o,t),(0,xt.initBiomeSchemas)(o,t),(0,wt.initCarverSchemas)(o,t),(0,St.initDecoratorSchemas)(o,t),(0,jt.initFeatureSchemas)(o,t),(0,Mt.initNoiseSettingsSchemas)(o,t),(0,Pt.initStructureFeatureSchemas)(o,t),(0,Lt.initSurfaceRuleSchemas)(o,t),(0,Bt.initTemplatePoolSchemas)(o,t)}ve.initWorldgenSchemas=$t;var Pe={};Object.defineProperty(Pe,"__esModule",{value:!0});Pe.initWorldSettingsSchemas=void 0;const X=S;function zt(o,t){const e=X.Reference.bind(void 0,o),r=X.StringNode.bind(void 0,t);o.register("world_settings",(0,X.Mod)((0,X.ObjectNode)({generate_features:(0,X.BooleanNode)(),bonus_chest:(0,X.BooleanNode)(),seed:(0,X.NumberNode)({integer:!0}),dimensions:(0,X.MapNode)(r({validator:"resource",params:{pool:"$dimension"}}),e("dimension"))},{context:"world_settings"}),{default:()=>{const d=Math.floor(Math.random()*4294967296)-2147483648;return{generate_features:!0,bonus_chest:!1,seed:d,dimensions:{"minecraft:overworld":{type:"minecraft:overworld",generator:{type:"minecraft:noise",seed:d,biome_source:{type:"minecraft:multi_noise",preset:"minecraft:overworld"},settings:"minecraft:overworld"}},"minecraft:the_nether":{type:"minecraft:the_nether",generator:{type:"minecraft:noise",seed:d,biome_source:{type:"minecraft:multi_noise",preset:"minecraft:nether"},settings:"minecraft:nether"}},"minecraft:the_end":{type:"minecraft:the_end",generator:{type:"minecraft:noise",seed:d,biome_source:{type:"minecraft:the_end",seed:d},settings:"minecraft:end"}}}}}}))}Pe.initWorldSettingsSchemas=zt;Object.defineProperty(ae,"__esModule",{value:!0});ae.initSchemas=void 0;const Rt=ce,Tt=de,qt=F,It=me,Ft=_e,Dt=pe,At=ue,Et=fe,Wt=be,Ut=ge,Vt=Ne,Gt=he,Ht=ye,Kt=ve,Xt=Pe;function Zt(o,t){(0,qt.initCommonSchemas)(o,t),(0,Rt.initAdvancementSchemas)(o,t),(0,Tt.initAssetsSchemas)(o,t),(0,It.initConditionSchemas)(o,t),(0,Dt.initDimensionTypeSchemas)(o,t),(0,Ft.initDimensionSchemas)(o,t),(0,At.initItemModifierSchemas)(o,t),(0,Et.initLootTableSchemas)(o,t),(0,Wt.initPackMcmetaSchemas)(o,t),(0,Ut.initPredicatesSchemas)(o,t),(0,Vt.initRecipeSchemas)(o,t),(0,Gt.initTagsSchemas)(o,t),(0,Ht.initTextComponentSchemas)(o,t),(0,Kt.initWorldgenSchemas)(o,t),(0,Xt.initWorldSettingsSchemas)(o,t)}ae.initSchemas=Zt;var Yt=re&&re.__createBinding||(Object.create?function(o,t,e,r){r===void 0&&(r=e);var d=Object.getOwnPropertyDescriptor(t,e);(!d||("get"in d?!t.__esModule:d.writable||d.configurable))&&(d={enumerable:!0,get:function(){return t[e]}}),Object.defineProperty(o,r,d)}:function(o,t,e,r){r===void 0&&(r=e),o[r]=t[e]}),Jt=re&&re.__setModuleDefault||(Object.create?function(o,t){Object.defineProperty(o,"default",{enumerable:!0,value:t})}:function(o,t){o.default=t}),Qt=re&&re.__importStar||function(o){if(o&&o.__esModule)return o;var t={};if(o!=null)for(var e in o)e!=="default"&&Object.prototype.hasOwnProperty.call(o,e)&&Yt(t,o,e);return Jt(t,o),t};Object.defineProperty(G,"__esModule",{value:!0});var Ie=G.getSchemas=Ae=G.getCollections=De=G.lootContext=void 0;const Fe=S,er=ne,tr=ae;var De=G.lootContext=Qt(q);function rr(){const o=new Fe.CollectionRegistry;return(0,er.initCollections)(o),o}var Ae=G.getCollections=rr;function or(o){const t=new Fe.SchemaRegistry;return(0,tr.initSchemas)(t,o),t}Ie=G.getSchemas=or;var cr=He({__proto__:null,get getSchemas(){return Ie},get getCollections(){return Ae},get lootContext(){return De},default:G},[G]);export{cr as i}; -//# sourceMappingURL=index.626a14e3.js.map +var Ee=Object.defineProperty,We=Object.defineProperties;var Ue=Object.getOwnPropertyDescriptors;var Be=Object.getOwnPropertySymbols;var Ve=Object.prototype.hasOwnProperty,Ge=Object.prototype.propertyIsEnumerable;var $e=(o,t,e)=>t in o?Ee(o,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):o[t]=e,g=(o,t)=>{for(var e in t||(t={}))Ve.call(t,e)&&$e(o,e,t[e]);if(Be)for(var e of Be(t))Ge.call(t,e)&&$e(o,e,t[e]);return o},D=(o,t)=>We(o,Ue(t));import{l as S,c as re}from"./index.38fdde83.js";function He(o,t){return t.forEach(function(e){e&&typeof e!="string"&&!Array.isArray(e)&&Object.keys(e).forEach(function(r){if(r!=="default"&&!(r in o)){var d=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(o,r,d.get?d:{enumerable:!0,get:function(){return e[r]}})}})}),Object.freeze(Object.defineProperty(o,Symbol.toStringTag,{value:"Module"}))}var G={},ne={};Object.defineProperty(ne,"__esModule",{value:!0});ne.initCollections=void 0;function Ke(o){o.register("advancement_trigger",["minecraft:bee_nest_destroyed","minecraft:bred_animals","minecraft:brewed_potion","minecraft:changed_dimension","minecraft:channeled_lightning","minecraft:construct_beacon","minecraft:consume_item","minecraft:cured_zombie_villager","minecraft:effects_changed","minecraft:enchanted_item","minecraft:enter_block","minecraft:entity_hurt_player","minecraft:entity_killed_player","minecraft:fall_from_height","minecraft:filled_bucket","minecraft:fishing_rod_hooked","minecraft:hero_of_the_village","minecraft:impossible","minecraft:inventory_changed","minecraft:item_durability_changed","minecraft:item_used_on_block","minecraft:killed_by_crossbow","minecraft:levitation","minecraft:lightning_strike","minecraft:location","minecraft:nether_travel","minecraft:placed_block","minecraft:player_generates_container_loot","minecraft:player_hurt_entity","minecraft:player_interacted_with_entity","minecraft:player_killed_entity","minecraft:recipe_unlocked","minecraft:ride_entity_in_lava","minecraft:shot_crossbow","minecraft:slept_in_bed","minecraft:slide_down_block","minecraft:started_riding","minecraft:summoned_entity","minecraft:tame_animal","minecraft:target_hit","minecraft:tick","minecraft:thrown_item_picked_up_by_entity","minecraft:used_ender_eye","minecraft:used_totem","minecraft:using_item","minecraft:villager_trade","minecraft:voluntary_exile"]),o.register("keybind",["key.advancements","key.attack","key.back","key.chat","key.command","key.drop","key.forward","key.fullscreen","key.hotbar.1","key.hotbar.2","key.hotbar.3","key.hotbar.4","key.hotbar.5","key.hotbar.6","key.hotbar.7","key.hotbar.8","key.hotbar.9","key.inventory","key.jump","key.left","key.loadToolbarActivator","key.pickItem","key.playerlist","key.right","key.saveToolbarActivator","key.screenshot","key.smoothCamera","key.sneak","key.spectatorOutlines","key.sprint","key.swapOffhand","key.togglePerspective","key.use"]),o.register("slot",["mainhand","offhand","head","chest","legs","feet"]),o.register("gamemode",["survival","creative","adventure","spectator"]),o.register("entity_source",["this","killer","direct_killer","killer_player"]),o.register("copy_source",["block_entity","this","killer","killer_player"]),o.register("loot_table_apply_bonus_formula",["minecraft:uniform_bonus_count","minecraft:binomial_with_bonus_count","minecraft:ore_drops"]),o.register("map_decoration",["mansion","monument","player","frame","red_marker","blue_marker","target_x","target_point","player_off_map","player_off_limits","red_x","banner_white","banner_orange","banner_magenta","banner_light_blue","banner_yellow","banner_lime","banner_pink","banner_gray","banner_light_gray","banner_cyan","banner_purple","banner_blue","banner_brown","banner_green","banner_red","banner_black"]),o.register("map_feature",["bastion_remnant","buried_treasure","desert_pyramid","endcity","fortress","igloo","jungle_pyramid","mansion","mineshaft","monument","nether_fossil","ocean_ruin","pillager_outpost","ruined_portal","shipwreck","stronghold","swamp_hut","village"]),o.register("recipe_group",["bed","light_gray_dye","iron_ingot","wooden_stairs","black_dye","stained_terracotta","dyed_bed","magenta_dye","bark","rabbit_stew","light_blue_dye","wooden_fence_gate","planks","stained_glass","wooden_door","stained_glass_pane","wooden_fence","sticks","concrete_powder","wooden_pressure_plate","boat","brown_dye","yellow_dye","bonemeal","red_dye","wooden_trapdoor","wooden_button","gold_ingot","pink_dye","wooden_slab","orange_dye","carpet","sign","wool","sugar","blue_dye","white_dye","banner","netherite_ingot"]),o.register("biome_category",["beach","desert","extreme_hills","forest","icy","jungle","mesa","mountain","mushroom","nether","none","ocean","plains","river","savanna","swamp","taiga","the_end","underground"]),o.register("heightmap_type",["MOTION_BLOCKING","MOTION_BLOCKING_NO_LEAVES","OCEAN_FLOOR","OCEAN_FLOOR_WG","WORLD_SURFACE","WORLD_SURFACE_WG"]),o.register("generation_step",["air","liquid"]),o.register("loot_context_type",["minecraft:empty","minecraft:chest","minecraft:command","minecraft:selector","minecraft:fishing","minecraft:entity","minecraft:gift","minecraft:barter","minecraft:advancement_reward","minecraft:advancement_entity","minecraft:generic","minecraft:block"]),o.register("banner_pattern",["base","square_bottom_left","square_bottom_right","square_top_left","square_top_right","stripe_bottom","stripe_top","stripe_left","stripe_right","stripe_center","stripe_middle","stripe_downright","stripe_downleft","small_stripes","cross","straight_cross","triangle_bottom","triangle_top","triangles_bottom","triangles_top","diagonal_left","diagonal_up_right","diagonal_up_left","diagonal_right","circle","rhombus","half_vertical","half_horizontal","half_vertical_right","half_horizontal_bottom","border","curly_border","gradient","gradient_up","bricks","globe","creeper","skull","flower","mojang","piglin"]),o.register("dye_color",["white","orange","magenta","light_blue","yellow","lime","pink","gray","light_gray","cyan","purple","blue","brown","green","red","black"]),o.register("cave_surface",["floor","ceiling"]),o.register("direction",["down","up","north","east","south","west"]),o.register("axis",["x","y","z"]),o.register("display_position",["firstperson_righthand","firstperson_lefthand","thirdperson_righthand","thirdperson_lefthand","gui","head","ground","fixed"]),o.register("gui_light",["front","side"]),o.register("item_model_predicates",["angle","blocking","broken","cast","charged","cooldown","custom_model_data","damage","damaged","firework","lefthanded","pull","pulling","throwing","time"]),o.register("cat_texture",["textures/entity/cat/tabby.png","textures/entity/cat/black.png","textures/entity/cat/red.png","textures/entity/cat/siamese.png","textures/entity/cat/british_shorthair.png","textures/entity/cat/calico.png","textures/entity/cat/persian.png","textures/entity/cat/ragdoll.png","textures/entity/cat/white.png","textures/entity/cat/jellie.png","textures/entity/cat/all_black.png"])}ne.initCollections=Ke;var ae={},ce={};Object.defineProperty(ce,"__esModule",{value:!0});ce.initAdvancementSchemas=void 0;const s=S;function Xe(o,t){const e=s.Reference.bind(void 0,o),r=s.StringNode.bind(void 0,t),d=(0,s.ChoiceNode)([{type:"object",node:(0,s.Opt)(e("entity_predicate")),change:n=>{var a,l;return(l=(a=n[0])===null||a===void 0?void 0:a.predicate)!==null&&l!==void 0?l:{}}},{type:"list",node:(0,s.ListNode)(e("condition")),change:n=>[{condition:"minecraft:entity_properties",predicate:n}]}],{context:"conditions"});o.register("advancement",(0,s.Mod)((0,s.ObjectNode)({display:(0,s.Opt)((0,s.Mod)((0,s.ObjectNode)({icon:(0,s.ObjectNode)({item:r({validator:"resource",params:{pool:"item"}}),nbt:(0,s.Opt)(r({validator:"nbt",params:{registry:{category:"minecraft:item",id:["pop",{push:"item"}]}}}))}),title:e("text_component"),description:e("text_component"),background:(0,s.Opt)(r()),frame:(0,s.Opt)(r({enum:["task","challenge","goal"]})),show_toast:(0,s.Opt)((0,s.BooleanNode)()),announce_to_chat:(0,s.Opt)((0,s.BooleanNode)()),hidden:(0,s.Opt)((0,s.BooleanNode)())}),{default:()=>({icon:{item:"minecraft:stone"},title:"",description:""})})),parent:(0,s.Opt)(r({validator:"resource",params:{pool:"$advancement"}})),criteria:(0,s.MapNode)(r(),e("advancement_criteria")),requirements:(0,s.Opt)((0,s.ListNode)((0,s.ListNode)(r()))),rewards:(0,s.Opt)((0,s.ObjectNode)({function:(0,s.Opt)(r({validator:"resource",params:{pool:"$function"}})),loot:(0,s.Opt)((0,s.ListNode)(r({validator:"resource",params:{pool:"$loot_table"}}))),recipes:(0,s.Opt)((0,s.ListNode)(r({validator:"resource",params:{pool:"$recipe"}}))),experience:(0,s.Opt)((0,s.NumberNode)({integer:!0}))}))},{context:"advancement"}),{default:()=>({criteria:{requirement:{trigger:"minecraft:location"}}})})),o.register("advancement_criteria",(0,s.ObjectNode)({trigger:r({validator:"resource",params:{pool:t.get("advancement_trigger")}}),conditions:(0,s.Opt)((0,s.ObjectNode)({player:(0,s.Mod)(d,{enabled:n=>n.pop().push("trigger").get()!=="minecraft:impossible"}),[s.Switch]:["pop",{push:"trigger"}],[s.Case]:{"minecraft:bee_nest_destroyed":{block:(0,s.Opt)(r({validator:"resource",params:{pool:"block"}})),num_bees_inside:(0,s.Opt)((0,s.NumberNode)({integer:!0})),item:(0,s.Opt)(e("item_predicate"))},"minecraft:bred_animals":{parent:d,partner:d,child:d},"minecraft:brewed_potion":{potion:(0,s.Opt)(r({validator:"resource",params:{pool:"potion"}}))},"minecraft:changed_dimension":{from:(0,s.Opt)(r({validator:"resource",params:{pool:"$dimension"}})),to:(0,s.Opt)(r({validator:"resource",params:{pool:"$dimension"}}))},"minecraft:channeled_lightning":{victims:(0,s.Opt)((0,s.ListNode)(d))},"minecraft:construct_beacon":{level:e("int_bounds")},"minecraft:consume_item":{item:(0,s.Opt)(e("item_predicate"))},"minecraft:cured_zombie_villager":{villager:d,zombie:d},"minecraft:effects_changed":{effects:(0,s.Opt)((0,s.MapNode)(r({validator:"resource",params:{pool:"mob_effect"}}),(0,s.ObjectNode)({amplifier:e("int_bounds"),duration:e("int_bounds")}))),source:(0,s.Opt)(d)},"minecraft:enter_block":{block:(0,s.Opt)(r({validator:"resource",params:{pool:"block"}})),state:(0,s.Opt)((0,s.MapNode)(r(),r(),{validation:{validator:"block_state_map",params:{id:["pop",{push:"block"}]}}}))},"minecraft:enchanted_item":{levels:e("int_bounds"),item:(0,s.Opt)(e("item_predicate"))},"minecraft:entity_hurt_player":{damage:(0,s.Opt)(e("damage_predicate"))},"minecraft:entity_killed_player":{entity:d,killing_blow:(0,s.Opt)(e("damage_source_predicate"))},"minecraft:fall_from_height":{start_position:(0,s.Opt)(e("location_predicate")),distance:(0,s.Opt)(e("distance_predicate"))},"minecraft:filled_bucket":{item:(0,s.Opt)(e("item_predicate"))},"minecraft:fishing_rod_hooked":{entity:d,item:(0,s.Opt)(e("item_predicate"))},"minecraft:hero_of_the_village":{location:(0,s.Opt)(e("location_predicate"))},"minecraft:inventory_changed":{slots:(0,s.Opt)((0,s.ObjectNode)({empty:e("int_bounds"),occupied:e("int_bounds"),full:e("int_bounds")})),items:(0,s.Opt)((0,s.ListNode)(e("item_predicate")))},"minecraft:item_durability_changed":{delta:e("int_bounds"),durability:e("int_bounds"),item:(0,s.Opt)(e("item_predicate"))},"minecraft:item_used_on_block":{item:(0,s.Opt)(e("item_predicate")),location:(0,s.Opt)(e("location_predicate"))},"minecraft:killed_by_crossbow":{unique_entity_types:e("int_bounds"),victims:(0,s.Opt)((0,s.ListNode)(d))},"minecraft:levitation":{distance:(0,s.Opt)(e("distance_predicate")),duration:e("int_bounds")},"minecraft:lightning_strike":{lightning:d,bystander:d},"minecraft:location":{location:(0,s.Opt)(e("location_predicate"))},"minecraft:nether_travel":{start_position:(0,s.Opt)(e("location_predicate")),distance:(0,s.Opt)(e("distance_predicate"))},"minecraft:placed_block":{block:(0,s.Opt)(r({validator:"resource",params:{pool:"block"}})),state:(0,s.Opt)((0,s.MapNode)(r(),r(),{validation:{validator:"block_state_map",params:{id:["pop",{push:"block"}]}}})),item:(0,s.Opt)(e("item_predicate")),location:(0,s.Opt)(e("location_predicate"))},"minecraft:player_generates_container_loot":{loot_table:r({validator:"resource",params:{pool:"$loot_table"}})},"minecraft:player_hurt_entity":{damage:(0,s.Opt)(e("damage_predicate")),entity:d},"minecraft:player_interacted_with_entity":{item:(0,s.Opt)(e("item_predicate")),entity:d},"minecraft:player_killed_entity":{entity:d,killing_blow:(0,s.Opt)(e("damage_source_predicate"))},"minecraft:recipe_unlocked":{recipe:r({validator:"resource",params:{pool:"$recipe"}})},"minecraft:ride_entity_in_lava":{start_position:(0,s.Opt)(e("location_predicate")),distance:(0,s.Opt)(e("distance_predicate"))},"minecraft:slept_in_bed":{location:(0,s.Opt)(e("location_predicate"))},"minecraft:slide_down_block":{block:(0,s.Opt)(r({validator:"resource",params:{pool:"block"}}))},"minecraft:shot_crossbow":{item:(0,s.Opt)(e("item_predicate"))},"minecraft:summoned_entity":{entity:d},"minecraft:tame_animal":{entity:d},"minecraft:target_hit":{projectile:d,shooter:d,signal_strength:e("int_bounds")},"minecraft:thrown_item_picked_up_by_entity":{entity:d,item:(0,s.Opt)(e("item_predicate"))},"minecraft:used_ender_eye":{distance:(0,s.Opt)(e("float_bounds"))},"minecraft:used_totem":{item:(0,s.Opt)(e("item_predicate"))},"minecraft:using_item":{item:(0,s.Opt)(e("item_predicate"))},"minecraft:villager_trade":{villager:d,item:(0,s.Opt)(e("item_predicate"))},"minecraft:voluntary_exile":{location:(0,s.Opt)(e("location_predicate"))}}},{context:"criterion"}))},{category:"predicate",context:"criterion"}))}ce.initAdvancementSchemas=Xe;var de={},se={};Object.defineProperty(se,"__esModule",{value:!0});se.initModelSchemas=void 0;const N=S;function Ze(o,t){N.Reference.bind(void 0,o);const e=N.StringNode.bind(void 0,t),r=(n,a,l)=>(0,N.ListNode)((0,N.NumberNode)({min:a,max:l}),{minLength:n,maxLength:n}),d=(0,N.ChoiceNode)([{type:"alias",match:n=>typeof n=="string"&&n.startsWith("#"),node:e(),change:n=>typeof n=="string"?`#${n}`:"#0"},{type:"reference",match:n=>typeof n=="string",node:e({validator:"resource",params:{pool:"$texture"}}),change:n=>typeof n=="string"?n.replace(/^#/,""):""}],{choiceContext:"texture"});o.register("model",(0,N.Mod)((0,N.ObjectNode)({parent:(0,N.Opt)(e({validator:"resource",params:{pool:"$model"}})),ambientocclusion:(0,N.Opt)((0,N.BooleanNode)()),gui_light:(0,N.Opt)(e({enum:"gui_light"})),textures:(0,N.Opt)((0,N.MapNode)(e(),d)),elements:(0,N.Opt)((0,N.ListNode)((0,N.ObjectNode)({from:r(3,-16,32),to:r(3,-16,32),rotation:(0,N.Opt)((0,N.ObjectNode)({origin:r(3),axis:e({enum:"axis"}),angle:(0,N.NumberEnum)({values:[-45,-22.5,0,22.5,45]}),rescale:(0,N.Opt)((0,N.BooleanNode)())})),shade:(0,N.Opt)((0,N.BooleanNode)()),faces:(0,N.MapNode)(e({enum:"direction"}),(0,N.ObjectNode)({texture:d,uv:(0,N.Opt)(r(4)),cullface:(0,N.Opt)(e({enum:"direction"})),rotation:(0,N.Opt)((0,N.NumberNode)({integer:!0})),tintindex:(0,N.Opt)((0,N.NumberNode)({integer:!0}))}))},{context:"model_element"}))),display:(0,N.Opt)((0,N.MapNode)(e({enum:"display_position"}),(0,N.ObjectNode)({rotation:r(3),translation:r(3,-80,80),scale:r(3,-4,4)},{context:"item_transform"}))),overrides:(0,N.Opt)((0,N.ListNode)((0,N.ObjectNode)({predicate:(0,N.MapNode)(e({enum:"item_model_predicates"}),(0,N.NumberNode)()),model:e({validator:"resource",params:{pool:"$model"}})},{context:"model_override"})))},{context:"model"}),{default:()=>({parent:"minecraft:item/generated",textures:{layer0:"minecraft:item/diamond"}})}))}se.initModelSchemas=Ze;var le={};Object.defineProperty(le,"__esModule",{value:!0});le.initBlockDefinitionSchemas=void 0;const x=S;function Ye(o,t){const e=x.Reference.bind(void 0,o),r=x.StringNode.bind(void 0,t);o.register("block_definition",(0,x.Mod)((0,x.ChoiceNode)([{type:"variants",match:n=>n.variants!==void 0,node:(0,x.ObjectNode)({variants:(0,x.MapNode)(r(),e("model_variant"))}),change:n=>({variants:{"":{}}})},{type:"multipart",match:n=>n.multipart!==void 0,node:(0,x.ObjectNode)({multipart:(0,x.ListNode)((0,x.ObjectNode)({when:(0,x.Opt)(e("multipart_condition")),apply:e("model_variant")}))}),change:n=>({multipart:{when:{},apply:{}}})}],{context:"block_definition"}),{default:()=>({variants:{"":{model:"minecraft:block/stone"}}})}));const d={model:r({validator:"resource",params:{pool:"$model"}}),x:(0,x.Opt)((0,x.NumberEnum)({integer:!0,values:[0,90,180,270]})),y:(0,x.Opt)((0,x.NumberEnum)({integer:!0,values:[0,90,180,270]})),uvlock:(0,x.Opt)((0,x.BooleanNode)())};o.register("model_variant",(0,x.ChoiceNode)([{type:"object",node:(0,x.ObjectNode)(d),change:n=>Array.isArray(n)&&n.length>0?n[0]:{}},{type:"list",node:(0,x.ListNode)((0,x.ObjectNode)(D(g({},d),{weight:(0,x.Opt)((0,x.NumberNode)({integer:!0,min:1}))}),{context:"model_variant"})),change:n=>[g({weight:1},n)]}],{context:"model_variant"})),o.register("multipart_condition",(0,x.ChoiceNode)([{type:"object",priority:-1,match:()=>!0,node:(0,x.MapNode)(r(),r()),change:n=>typeof n=="object"&&Array.isArray(n==null?void 0:n.OR)&&n.OR.length>0?n.OR[0]:{}},{type:"or",match:n=>typeof n=="object"&&(n==null?void 0:n.OR)!==void 0,node:(0,x.ObjectNode)({OR:(0,x.ListNode)(e("multipart_condition"))}),change:n=>({OR:[n!=null?n:{}]})}],{context:"multipart_condition"}))}le.initBlockDefinitionSchemas=Ye;Object.defineProperty(de,"__esModule",{value:!0});de.initAssetsSchemas=void 0;const Je=se,Qe=le;function et(o,t){(0,Qe.initBlockDefinitionSchemas)(o,t),(0,Je.initModelSchemas)(o,t)}de.initAssetsSchemas=et;var F={};(function(o){Object.defineProperty(o,"__esModule",{value:!0}),o.initCommonSchemas=o.InclusiveRange=o.IntProvider=o.FloatProvider=o.NoiseSettingsPresets=o.DefaultNoiseSettings=o.DimensionTypePresets=o.DefaultDimensionType=o.FunctionCases=o.ConditionCases=void 0;const t=S;o.DefaultDimensionType={ultrawarm:!1,natural:!0,piglin_safe:!1,respawn_anchor_works:!1,bed_works:!0,has_raids:!0,has_skylight:!0,has_ceiling:!1,coordinate_scale:1,ambient_light:0,logical_height:256,infiniburn:"minecraft:infiniburn_overworld",min_y:0,height:256};const e={"minecraft:igloo":{spacing:32,separation:8,salt:14357618},"minecraft:mansion":{spacing:80,separation:20,salt:10387319},"minecraft:jungle_pyramid":{spacing:32,separation:8,salt:14357619},"minecraft:nether_fossil":{spacing:2,separation:1,salt:14357921},"minecraft:stronghold":{spacing:1,separation:0,salt:0},"minecraft:shipwreck":{spacing:24,separation:4,salt:165745295},"minecraft:mineshaft":{spacing:1,separation:0,salt:0},"minecraft:desert_pyramid":{spacing:32,separation:8,salt:14357617},"minecraft:ruined_portal":{spacing:40,separation:15,salt:34222645},"minecraft:fortress":{spacing:27,separation:4,salt:30084232},"minecraft:pillager_outpost":{spacing:32,separation:8,salt:165745296},"minecraft:village":{spacing:32,separation:8,salt:10387312},"minecraft:endcity":{spacing:20,separation:11,salt:10387313},"minecraft:buried_treasure":{spacing:1,separation:0,salt:0},"minecraft:ocean_ruin":{spacing:20,separation:8,salt:14357621},"minecraft:bastion_remnant":{spacing:27,separation:4,salt:30084232},"minecraft:swamp_hut":{spacing:32,separation:8,salt:14357620},"minecraft:monument":{spacing:32,separation:5,salt:10387313}};o.DefaultNoiseSettings={bedrock_roof_position:-2147483648,bedrock_floor_position:0,sea_level:63,noise_caves_enabled:!0,deepslate_enabled:!0,ore_veins_enabled:!0,noodle_caves_enabled:!0,disable_mob_generation:!1,aquifers_enabled:!0,default_block:{Name:"minecraft:stone"},default_fluid:{Properties:{level:"0"},Name:"minecraft:water"},noise:{min_y:-64,height:384,size_horizontal:1,size_vertical:2,density_factor:1,density_offset:-.51875,top_slide:{target:-.078125,size:2,offset:8},bottom_slide:{target:.1171875,size:3,offset:0},sampling:{xz_scale:.9999999814507745,y_scale:.9999999814507745,xz_factor:80,y_factor:160},terrain_shaper:{offset:0,factor:0,jaggedness:0}},surface_rule:{type:"minecraft:sequence",sequence:[]},structures:{stronghold:{distance:32,spread:3,count:128},structures:e}};function r(d,n){const a=t.StringNode.bind(void 0,n),l=t.Reference.bind(void 0,d);d.register("block_state",(0,t.Mod)((0,t.ObjectNode)({Name:a({validator:"resource",params:{pool:"block"}}),Properties:(0,t.Opt)((0,t.MapNode)(a(),a(),{validation:{validator:"block_state_map",params:{id:["pop",{push:"Name"}]}}}))},{context:"block_state"}),{default:()=>({Name:"minecraft:stone"})})),d.register("fluid_state",(0,t.Mod)((0,t.ObjectNode)({Name:a({validator:"resource",params:{pool:"fluid"}}),Properties:(0,t.Opt)((0,t.MapNode)(a(),a()))},{context:"fluid_state"}),{default:()=>({Name:"minecraft:water",Properties:{level:"0"}})})),d.register("block_pos",(0,t.Mod)((0,t.ListNode)((0,t.NumberNode)({integer:!0}),{minLength:3,maxLength:3}),{default:()=>[0,0,0]}));const I=f=>(0,t.Opt)((0,t.ChoiceNode)([{type:"number",node:(0,t.NumberNode)({integer:f}),change:O=>{var h,w;return O===void 0?0:(w=(h=O.min)!==null&&h!==void 0?h:O.max)!==null&&w!==void 0?w:0}},{type:"object",node:(0,t.ObjectNode)({min:(0,t.Opt)((0,t.NumberNode)({integer:f})),max:(0,t.Opt)((0,t.NumberNode)({integer:f}))},{context:"range"}),change:O=>({min:O!=null?O:0,max:O!=null?O:0})}]));d.register("int_bounds",I(!0)),d.register("float_bounds",I()),d.register("int_range",(0,t.ChoiceNode)([{type:"object",node:(0,t.ObjectNode)({min:(0,t.Opt)(l("number_provider")),max:(0,t.Opt)(l("number_provider"))})},{type:"number",node:(0,t.NumberNode)({integer:!0})}],{context:"range"}));const B=(f,O,h,w,$,L,Y)=>{let J={};$&&Object.keys(Y[$]).forEach(E=>{J[E]=(0,t.Mod)(Y[$][E],{enabled:R=>R.push("type").get()===void 0})});const te=(0,t.ObjectNode)(g({type:(0,t.Mod)((0,t.Opt)(a({validator:"resource",params:{pool:f}})),{hidden:()=>!0}),[t.Switch]:[{push:"type"}],[t.Case]:Y},J),{context:L,disableSwitchContext:!0}),A=[{type:O,node:Y[w][h]}];return $&&A.push({type:"object",priority:-1,node:te}),Object.keys(Y).forEach(E=>{A.push({type:E,match:R=>{var Le;if("minecraft:"+((Le=R==null?void 0:R.type)===null||Le===void 0?void 0:Le.replace(/^minecraft:/,""))===E)return!0;const W=R?Object.keys(R):[];return typeof R=="object"&&((W==null?void 0:W.length)===0||(W==null?void 0:W.length)===1&&(W==null?void 0:W[0])==="type")},node:te,change:R=>({type:E})})}),(0,t.ChoiceNode)(A,{context:L,choiceContext:`${L}.type`})};d.register("number_provider",B("loot_number_provider_type","number","value","minecraft:constant","minecraft:uniform","number_provider",{"minecraft:constant":{value:(0,t.NumberNode)()},"minecraft:uniform":{min:l("number_provider"),max:l("number_provider")},"minecraft:binomial":{n:l("number_provider"),p:l("number_provider")},"minecraft:score":{target:l("scoreboard_name_provider"),score:a({validator:"objective"}),scale:(0,t.Opt)((0,t.NumberNode)())}})),d.register("scoreboard_name_provider",B("loot_score_provider_type","string","target","minecraft:context",null,"score_provider",{"minecraft:fixed":{name:a({validator:"entity",params:{amount:"multiple",type:"entities",isScoreHolder:!0}})},"minecraft:context":{target:(0,t.Mod)(a({enum:"entity_source"}),{default:()=>"this"})}})),d.register("nbt_provider",B("loot_nbt_provider_type","string","target","minecraft:context",null,"nbt_provider",{"minecraft:storage":{source:a({validator:"resource",params:{pool:"$storage"}})},"minecraft:context":{target:(0,t.Mod)(a({enum:"copy_source"}),{default:()=>"this"})}})),o.FloatProvider=f=>B("float_provider_type","number","value","minecraft:constant",null,"float_provider",{"minecraft:constant":{value:(0,t.NumberNode)(f)},"minecraft:uniform":{value:(0,t.ObjectNode)({min_inclusive:(0,t.NumberNode)(f),max_exclusive:(0,t.NumberNode)(f)})},"minecraft:clamped_normal":{value:(0,t.ObjectNode)({min:(0,t.NumberNode)(),max:(0,t.NumberNode)(),mean:(0,t.NumberNode)(),deviation:(0,t.NumberNode)()})},"minecraft:trapezoid":{value:(0,t.ObjectNode)({min:(0,t.NumberNode)(),max:(0,t.NumberNode)(),plateau:(0,t.NumberNode)()})}}),d.register("float_provider",(0,o.FloatProvider)()),o.IntProvider=f=>B("int_provider_type","number","value","minecraft:constant",null,"int_provider",{"minecraft:constant":{value:(0,t.NumberNode)(g({integer:!0},f))},"minecraft:uniform":{value:(0,t.ObjectNode)({min_inclusive:(0,t.NumberNode)(g({integer:!0},f)),max_inclusive:(0,t.NumberNode)(g({integer:!0},f))})},"minecraft:biased_to_bottom":{value:(0,t.ObjectNode)({min_inclusive:(0,t.NumberNode)(g({integer:!0},f)),max_inclusive:(0,t.NumberNode)(g({integer:!0},f))})},"minecraft:clamped":{value:(0,t.ObjectNode)({min_inclusive:(0,t.NumberNode)(g({integer:!0},f)),max_inclusive:(0,t.NumberNode)(g({integer:!0},f)),source:l("int_provider")})},"minecraft:clamped_normal":{value:(0,t.ObjectNode)({min_inclusive:(0,t.NumberNode)(g({integer:!0},f)),max_inclusive:(0,t.NumberNode)(g({integer:!0},f)),mean:(0,t.NumberNode)(),deviation:(0,t.NumberNode)()})},"minecraft:weighted_list":{distribution:(0,t.ListNode)((0,t.ObjectNode)({weight:(0,t.NumberNode)({integer:!0}),data:l("int_provider")}))}}),d.register("int_provider",(0,o.IntProvider)()),d.register("vertical_anchor",(0,t.ChoiceNode)(["absolute","above_bottom","below_top"].map(f=>({type:f,match:O=>(O==null?void 0:O[f])!==void 0,change:O=>{var h,w,$;return{[f]:($=(w=(h=O.absolute)!==null&&h!==void 0?h:O.above_bottom)!==null&&w!==void 0?w:O.below_top)!==null&&$!==void 0?$:0}},node:(0,t.ObjectNode)({[f]:(0,t.NumberNode)({integer:!0,min:-2048,max:2047})})})),{context:"vertical_anchor"})),d.register("height_provider",B("height_provider_type","number","value","minecraft:constant",null,"height_provider",{"minecraft:constant":{value:l("vertical_anchor")},"minecraft:uniform":{min_inclusive:l("vertical_anchor"),max_inclusive:l("vertical_anchor")},"minecraft:biased_to_bottom":{min_inclusive:l("vertical_anchor"),max_inclusive:l("vertical_anchor"),inner:(0,t.Opt)((0,t.NumberNode)({integer:!0,min:1}))},"minecraft:very_biased_to_bottom":{min_inclusive:l("vertical_anchor"),max_inclusive:l("vertical_anchor"),inner:(0,t.Opt)((0,t.NumberNode)({integer:!0,min:1}))},"minecraft:trapezoid":{min_inclusive:l("vertical_anchor"),max_inclusive:l("vertical_anchor"),plateau:(0,t.Opt)((0,t.NumberNode)({integer:!0}))},"minecraft:weighted_list":{distribution:(0,t.ListNode)((0,t.ObjectNode)({weight:(0,t.NumberNode)({integer:!0}),data:l("height_provider")}))}})),o.InclusiveRange=f=>(0,t.ObjectNode)({min_inclusive:(0,t.NumberNode)(f),max_inclusive:(0,t.NumberNode)(f)},{context:"range"}),d.register("noise_parameters",(0,t.Mod)((0,t.ObjectNode)({firstOctave:(0,t.NumberNode)({integer:!0}),amplitudes:(0,t.ListNode)((0,t.NumberNode)())},{context:"noise_parameters"}),{default:()=>({firstOctave:-7,amplitudes:[1,1]})})),o.ConditionCases=(f=a({enum:"entity_source"}))=>({"minecraft:alternative":{terms:(0,t.ListNode)(l("condition"))},"minecraft:block_state_property":{block:a({validator:"resource",params:{pool:"block"}}),properties:(0,t.MapNode)(a(),a(),{validation:{validator:"block_state_map",params:{id:["pop",{push:"block"}]}}})},"minecraft:damage_source_properties":{predicate:l("damage_source_predicate")},"minecraft:entity_properties":{entity:f,predicate:l("entity_predicate")},"minecraft:entity_scores":{entity:f,scores:(0,t.MapNode)(a({validator:"objective"}),l("int_range"))},"minecraft:inverted":{term:l("condition")},"minecraft:killed_by_player":{inverse:(0,t.Opt)((0,t.BooleanNode)())},"minecraft:location_check":{offsetX:(0,t.Opt)((0,t.NumberNode)({integer:!0})),offsetY:(0,t.Opt)((0,t.NumberNode)({integer:!0})),offsetZ:(0,t.Opt)((0,t.NumberNode)({integer:!0})),predicate:l("location_predicate")},"minecraft:match_tool":{predicate:l("item_predicate")},"minecraft:random_chance":{chance:(0,t.NumberNode)({min:0,max:1})},"minecraft:random_chance_with_looting":{chance:(0,t.NumberNode)({min:0,max:1}),looting_multiplier:(0,t.NumberNode)()},"minecraft:reference":{name:a({validator:"resource",params:{pool:"$predicate"}})},"minecraft:table_bonus":{enchantment:a({validator:"resource",params:{pool:"enchantment"}}),chances:(0,t.ListNode)((0,t.NumberNode)({min:0,max:1}))},"minecraft:time_check":{value:l("int_range"),period:(0,t.Opt)((0,t.NumberNode)({integer:!0}))},"minecraft:value_check":{value:l("number_provider"),range:l("int_range")},"minecraft:weather_check":{raining:(0,t.Opt)((0,t.BooleanNode)()),thundering:(0,t.Opt)((0,t.BooleanNode)())}}),o.FunctionCases=(f,O=a({enum:"copy_source"}),h=a({enum:"entity_source"}))=>{const w={"minecraft:apply_bonus":{enchantment:a({validator:"resource",params:{pool:"enchantment"}}),formula:a({validator:"resource",params:{pool:n.get("loot_table_apply_bonus_formula")}}),parameters:(0,t.Mod)((0,t.ObjectNode)({bonusMultiplier:(0,t.Mod)((0,t.NumberNode)(),{enabled:L=>L.pop().push("formula").get()==="minecraft:uniform_bonus_count"}),extra:(0,t.Mod)((0,t.NumberNode)(),{enabled:L=>L.pop().push("formula").get()==="minecraft:binomial_with_bonus_count"}),probability:(0,t.Mod)((0,t.NumberNode)(),{enabled:L=>L.pop().push("formula").get()==="minecraft:binomial_with_bonus_count"})}),{enabled:L=>L.push("formula").get()!=="minecraft:ore_drops"})},"minecraft:copy_name":{source:O},"minecraft:copy_nbt":{source:l("nbt_provider"),ops:(0,t.ListNode)((0,t.ObjectNode)({source:a({validator:"nbt_path",params:{category:{getter:"copy_source",path:["pop","pop","pop",{push:"source"}]}}}),target:a({validator:"nbt_path",params:{category:"minecraft:item"}}),op:a({enum:["replace","append","merge"]})},{context:"nbt_operation"}))},"minecraft:copy_state":{block:a({validator:"resource",params:{pool:"block"}}),properties:(0,t.ListNode)(a({validator:"block_state_key",params:{id:["pop","pop",{push:"block"}]}}))},"minecraft:enchant_randomly":{enchantments:(0,t.Opt)((0,t.ListNode)(a({validator:"resource",params:{pool:"enchantment"}})))},"minecraft:enchant_with_levels":{levels:l("number_provider"),treasure:(0,t.Opt)((0,t.BooleanNode)())},"minecraft:exploration_map":{destination:(0,t.Opt)(a({enum:"map_feature"})),decoration:(0,t.Opt)(a({enum:"map_decoration"})),zoom:(0,t.Opt)((0,t.NumberNode)({integer:!0})),search_radius:(0,t.Opt)((0,t.NumberNode)({integer:!0})),skip_existing_chunks:(0,t.Opt)((0,t.BooleanNode)())},"minecraft:fill_player_head":{entity:h},"minecraft:limit_count":{limit:l("int_range")},"minecraft:looting_enchant":{count:l("number_provider"),limit:(0,t.Opt)((0,t.NumberNode)({integer:!0}))},"minecraft:set_attributes":{modifiers:(0,t.ListNode)(l("attribute_modifier"))},"minecraft:set_banner_pattern":{patterns:(0,t.ListNode)((0,t.ObjectNode)({pattern:a({enum:"banner_pattern"}),color:a({enum:"dye_color"})})),append:(0,t.Opt)((0,t.BooleanNode)())},"minecraft:set_contents":{type:a({validator:"resource",params:{pool:"block_entity_type"}}),entries:(0,t.ListNode)(l("loot_entry"))},"minecraft:set_count":{count:l("number_provider"),add:(0,t.Opt)((0,t.BooleanNode)())},"minecraft:set_damage":{damage:l("number_provider"),add:(0,t.Opt)((0,t.BooleanNode)())},"minecraft:set_enchantments":{enchantments:(0,t.MapNode)(a({validator:"resource",params:{pool:"enchantment"}}),l("number_provider")),add:(0,t.Opt)((0,t.BooleanNode)())},"minecraft:set_loot_table":{type:a({validator:"resource",params:{pool:"block_entity_type"}}),name:a({validator:"resource",params:{pool:"$loot_table"}}),seed:(0,t.Opt)((0,t.NumberNode)({integer:!0}))},"minecraft:set_lore":{entity:(0,t.Opt)(h),lore:(0,t.ListNode)(l("text_component")),replace:(0,t.Opt)((0,t.BooleanNode)())},"minecraft:set_name":{entity:(0,t.Opt)(h),name:(0,t.Opt)(l("text_component"))},"minecraft:set_nbt":{tag:a({validator:"nbt",params:{registry:{category:"minecraft:item"}}})},"minecraft:set_potion":{id:a({validator:"resource",params:{pool:"potion"}})},"minecraft:set_stew_effect":{effects:(0,t.Opt)((0,t.ListNode)((0,t.ObjectNode)({type:a({validator:"resource",params:{pool:"mob_effect"}}),duration:l("number_provider")})))}},$={};return n.get("loot_function_type").forEach(L=>{$[L]=g(g({},w[L]),f)}),$},o.DimensionTypePresets=f=>(0,t.ObjectOrPreset)(a({validator:"resource",params:{pool:"$dimension_type"}}),f,{"minecraft:overworld":o.DefaultDimensionType,"minecraft:the_nether":{name:"minecraft:the_nether",ultrawarm:!0,natural:!1,shrunk:!0,piglin_safe:!0,respawn_anchor_works:!0,bed_works:!1,has_raids:!1,has_skylight:!1,has_ceiling:!0,ambient_light:.1,fixed_time:18e3,logical_height:128,effects:"minecraft:the_nether",infiniburn:"minecraft:infiniburn_nether",min_y:0,height:256},"minecraft:the_end":{name:"minecraft:the_end",ultrawarm:!1,natural:!1,shrunk:!1,piglin_safe:!1,respawn_anchor_works:!1,bed_works:!1,has_raids:!0,has_skylight:!1,has_ceiling:!1,ambient_light:0,fixed_time:6e3,logical_height:256,effects:"minecraft:the_end",infiniburn:"minecraft:infiniburn_end",min_y:0,height:256}}),o.NoiseSettingsPresets=f=>(0,t.ObjectOrPreset)(a({validator:"resource",params:{pool:"$worldgen/noise_settings"}}),f,{"minecraft:overworld":o.DefaultNoiseSettings,"minecraft:nether":{bedrock_roof_position:0,bedrock_floor_position:0,sea_level:32,noise_caves_enabled:!1,deepslate_enabled:!1,ore_veins_enabled:!1,noodle_caves_enabled:!1,disable_mob_generation:!1,aquifers_enabled:!1,default_block:{Name:"minecraft:netherrack"},default_fluid:{Properties:{level:"0"},Name:"minecraft:lava"},noise:{min_y:0,height:128,size_horizontal:1,size_vertical:2,density_factor:0,density_offset:-.030078125,top_slide:{target:.9375,size:3,offset:0},bottom_slide:{target:2.5,size:4,offset:-1},sampling:{xz_scale:1,y_scale:3,xz_factor:80,y_factor:60},terrain_shaper:{offset:0,factor:0,jaggedness:0}},surface_rule:{type:"minecraft:sequence",sequence:[]},structures:{structures:e}},"minecraft:end":{bedrock_roof_position:-2147483648,bedrock_floor_position:-2147483648,sea_level:0,noise_caves_enabled:!1,deepslate_enabled:!1,ore_veins_enabled:!1,noodle_caves_enabled:!1,disable_mob_generation:!1,aquifers_enabled:!1,default_block:{Name:"minecraft:end_stone"},default_fluid:{Name:"minecraft:air"},noise:{min_y:0,height:128,size_horizontal:2,size_vertical:1,density_factor:0,density_offset:0,island_noise_override:!0,top_slide:{target:-23.4375,size:64,offset:-46},bottom_slide:{target:-.234375,size:7,offset:1},sampling:{xz_scale:2,y_scale:1,xz_factor:80,y_factor:160},terrain_shaper:{offset:0,factor:1,jaggedness:0}},surface_rule:{type:"minecraft:sequence",sequence:[]},structures:{structures:e}},"minecraft:amplified":{bedrock_roof_position:-2147483648,bedrock_floor_position:0,sea_level:63,noise_caves_enabled:!0,deepslate_enabled:!0,ore_veins_enabled:!0,noodle_caves_enabled:!0,disable_mob_generation:!1,aquifers_enabled:!0,default_block:{Name:"minecraft:stone"},default_fluid:{Properties:{level:"0"},Name:"minecraft:water"},noise:{min_y:-64,height:384,size_horizontal:1,size_vertical:2,density_factor:1,density_offset:-.51875,amplified:!0,top_slide:{target:-.078125,size:2,offset:8},bottom_slide:{target:.1171875,size:3,offset:0},sampling:{xz_scale:.9999999814507745,y_scale:.9999999814507745,xz_factor:80,y_factor:160},terrain_shaper:{offset:0,factor:0,jaggedness:0}},surface_rule:{type:"minecraft:sequence",sequence:[]},structures:{stronghold:{distance:32,spread:3,count:128},structures:e}},"minecraft:caves":{bedrock_roof_position:0,bedrock_floor_position:0,sea_level:32,noise_caves_enabled:!1,deepslate_enabled:!1,ore_veins_enabled:!1,noodle_caves_enabled:!1,disable_mob_generation:!1,aquifers_enabled:!1,default_block:{Name:"minecraft:stone"},default_fluid:{Properties:{level:"0"},Name:"minecraft:water"},noise:{min_y:0,height:128,size_horizontal:1,size_vertical:2,density_factor:0,density_offset:-.030078125,top_slide:{target:.9375,size:3,offset:0},bottom_slide:{target:2.5,size:4,offset:-1},sampling:{xz_scale:1,y_scale:3,xz_factor:80,y_factor:60},terrain_shaper:{offset:0,factor:0,jaggedness:0}},surface_rule:{type:"minecraft:sequence",sequence:[]},structures:{stronghold:{distance:32,spread:3,count:128},structures:e}},"minecraft:floating_islands":{bedrock_roof_position:-2147483648,bedrock_floor_position:-2147483648,sea_level:0,noise_caves_enabled:!1,deepslate_enabled:!1,ore_veins_enabled:!1,noodle_caves_enabled:!1,disable_mob_generation:!1,aquifers_enabled:!1,default_block:{Name:"minecraft:stone"},default_fluid:{Properties:{level:"0"},Name:"minecraft:water"},noise:{min_y:0,height:128,size_horizontal:2,size_vertical:1,density_factor:0,density_offset:0,island_noise_override:!0,top_slide:{target:-23.4375,size:64,offset:-46},bottom_slide:{target:-.234375,size:7,offset:1},sampling:{xz_scale:2,y_scale:1,xz_factor:80,y_factor:160},terrain_shaper:{offset:0,factor:1,jaggedness:0}},surface_rule:{type:"minecraft:sequence",sequence:[]},structures:{stronghold:{distance:32,spread:3,count:128},structures:e}}})}o.initCommonSchemas=r})(F);var me={};Object.defineProperty(me,"__esModule",{value:!0});me.initConditionSchemas=void 0;const Q=S,tt=F;function rt(o,t){const e=Q.Reference.bind(void 0,o),r=Q.StringNode.bind(void 0,t);o.register("predicate",(0,Q.ObjectOrList)(e("condition"),{choiceContext:"condition"})),o.register("condition",(0,Q.Mod)((0,Q.ObjectNode)({condition:r({validator:"resource",params:{pool:"loot_condition_type"}}),[Q.Switch]:[{push:"condition"}],[Q.Case]:(0,tt.ConditionCases)()},{category:"predicate",context:"condition"}),{default:()=>({condition:"minecraft:entity_properties",entity:"this"})}))}me.initConditionSchemas=rt;var _e={};Object.defineProperty(_e,"__esModule",{value:!0});_e.initDimensionSchemas=void 0;const v=S,ze=F;function ot(o,t){const e=v.Reference.bind(void 0,o),r=v.StringNode.bind(void 0,t);o.register("dimension",(0,v.Mod)((0,v.ObjectNode)({type:(0,ze.DimensionTypePresets)(e("dimension_type")),generator:(0,v.ObjectNode)({type:r({validator:"resource",params:{pool:"worldgen/chunk_generator"}}),[v.Switch]:[{push:"type"}],[v.Case]:{"minecraft:noise":{seed:(0,v.NumberNode)({integer:!0}),settings:(0,ze.NoiseSettingsPresets)(e("noise_settings")),biome_source:(0,v.ObjectNode)({type:r({validator:"resource",params:{pool:"worldgen/biome_source"}}),[v.Switch]:[{push:"type"}],[v.Case]:{"minecraft:fixed":{biome:r({validator:"resource",params:{pool:"$worldgen/biome"}})},"minecraft:multi_noise":{preset:(0,v.Opt)(r({validator:"resource",params:{pool:["minecraft:overworld","minecraft:nether"]}})),biomes:(0,v.Mod)((0,v.ListNode)(e("generator_biome")),{enabled:n=>n.push("preset").get()===void 0,default:()=>[{biome:"minecraft:plains"}]})},"minecraft:checkerboard":{scale:(0,v.Opt)((0,v.NumberNode)({integer:!0,min:0,max:62})),biomes:(0,v.ListNode)(r({validator:"resource",params:{pool:"$worldgen/biome"}}))},"minecraft:the_end":{seed:(0,v.NumberNode)({integer:!0})}}},{category:"predicate",disableSwitchContext:!0})},"minecraft:flat":{settings:(0,v.ObjectNode)({biome:(0,v.Opt)(r({validator:"resource",params:{pool:"$worldgen/biome"}})),lakes:(0,v.Opt)((0,v.BooleanNode)()),features:(0,v.Opt)((0,v.BooleanNode)()),layers:(0,v.ListNode)(e("generator_layer")),structures:e("generator_structures")})}}},{disableSwitchContext:!0})},{category:"pool",context:"dimension"}),{default:()=>{const n=Math.floor(Math.random()*4294967296)-2147483648;return{type:"minecraft:overworld",generator:{type:"minecraft:noise",seed:n,biome_source:{type:"minecraft:fixed",seed:n,biome:"minecraft:plains"},settings:"minecraft:overworld"}}}}));const d=(0,v.ChoiceNode)([{type:"number",node:(0,v.NumberNode)({min:-2,max:2}),change:n=>{var a;return(a=n[0])!==null&&a!==void 0?a:0}},{type:"list",node:(0,v.ListNode)((0,v.NumberNode)({min:-2,max:2}),{minLength:2,maxLength:2}),change:n=>[n!=null?n:0,n!=null?n:0]}]);o.register("generator_biome",(0,v.Mod)((0,v.ObjectNode)({biome:r({validator:"resource",params:{pool:"$worldgen/biome"}}),parameters:(0,v.ObjectNode)({temperature:d,humidity:d,continentalness:d,erosion:d,weirdness:d,depth:d,offset:(0,v.NumberNode)({min:0,max:1})})},{context:"generator_biome"}),{default:()=>({biome:"minecraft:plains",parameters:{altitude:0,temperature:0,humidity:0,weirdness:0,offset:0}})}))}_e.initDimensionSchemas=ot;var pe={};Object.defineProperty(pe,"__esModule",{value:!0});pe.initDimensionTypeSchemas=void 0;const P=S,it=F;function nt(o,t){const e=P.StringNode.bind(void 0,t);o.register("dimension_type",(0,P.Mod)((0,P.ObjectNode)({ultrawarm:(0,P.BooleanNode)(),natural:(0,P.BooleanNode)(),piglin_safe:(0,P.BooleanNode)(),respawn_anchor_works:(0,P.BooleanNode)(),bed_works:(0,P.BooleanNode)(),has_raids:(0,P.BooleanNode)(),has_skylight:(0,P.BooleanNode)(),has_ceiling:(0,P.BooleanNode)(),coordinate_scale:(0,P.NumberNode)({min:1e-5,max:3e7}),ambient_light:(0,P.NumberNode)(),fixed_time:(0,P.Opt)((0,P.NumberNode)({integer:!0})),logical_height:(0,P.NumberNode)({integer:!0,min:0,max:4096}),effects:(0,P.Opt)(e({enum:["minecraft:overworld","minecraft:the_nether","minecraft:the_end"]})),infiniburn:e({validator:"resource",params:{pool:"$tag/block"}}),min_y:(0,P.NumberNode)({integer:!0,min:-2048,max:2047}),height:(0,P.NumberNode)({integer:!0,min:0,max:4096})},{context:"dimension_type"}),r=>({default:()=>it.DefaultDimensionType,validate:(d,n,a,l)=>(n=r.validate(d,n,a,l),(n==null?void 0:n.min_y)+(n==null?void 0:n.height)>2047&&a.add(d.push("height"),"error.min_y_plus_height",2047),(n==null?void 0:n.logical_height)>(n==null?void 0:n.height)&&a.add(d.push("logical_height"),"error.logical_height"),(n==null?void 0:n.height)%16!==0&&a.add(d.push("height"),"error.height_multiple",16),(n==null?void 0:n.min_y)%16!==0&&a.add(d.push("min_y"),"error.min_y_multiple",16),n)})))}pe.initDimensionTypeSchemas=nt;var ue={};Object.defineProperty(ue,"__esModule",{value:!0});ue.initItemModifierSchemas=void 0;const U=S,at=F;function ct(o,t){const e=U.Reference.bind(void 0,o),r=U.StringNode.bind(void 0,t);o.register("item_modifier",(0,U.ObjectOrList)(e("function"),{choiceContext:"function"}));const d={conditions:(0,U.Opt)((0,U.ListNode)(e("condition")))};o.register("function",(0,U.Mod)((0,U.ObjectNode)({function:r({validator:"resource",params:{pool:"loot_function_type"}}),[U.Switch]:[{push:"function"}],[U.Case]:(0,at.FunctionCases)(d)},{category:"function",context:"function"}),{default:()=>[{function:"minecraft:set_count",count:1}]}))}ue.initItemModifierSchemas=ct;var fe={},q={};Object.defineProperty(q,"__esModule",{value:!0});q.LootFunctions=q.LootConditions=q.LootCopySources=q.LootEntitySources=q.LootTableTypes=void 0;q.LootTableTypes=new Map([["minecraft:advancement_entity",{requires:[7,8],allows:[]}],["minecraft:advancement_reward",{requires:[7,8],allows:[]}],["minecraft:barter",{requires:[8],allows:[]}],["minecraft:block",{requires:[1,7,9],allows:[0,4,8]}],["minecraft:chest",{requires:[7],allows:[8]}],["minecraft:command",{requires:[7],allows:[8]}],["minecraft:empty",{requires:[],allows:[]}],["minecraft:entity",{requires:[2,7,8],allows:[3,5,6]}],["minecraft:fishing",{requires:[7,9],allows:[8]}],["minecraft:generic",{requires:[2,0,1,3,4,5,6,7,8,9],allows:[]}],["minecraft:gift",{requires:[7,8],allows:[]}],["minecraft:selector",{requires:[7],allows:[8]}]]);q.LootEntitySources=new Map([["direct_killer",[3]],["killer",[5]],["killer_player",[5]],["this",[8]]]);q.LootCopySources=new Map([["block_entity",[0]],["killer",[5]],["killer_player",[5]],["this",[8]]]);q.LootConditions=new Map([["minecraft:alternative",[]],["minecraft:block_state_property",[1]],["minecraft:damage_source_properties",[2]],["minecraft:entity_properties",[7]],["minecraft:entity_scores",[]],["minecraft:inverted",[]],["minecraft:killed_by_player",[6]],["minecraft:location_check",[]],["minecraft:match_tool",[9]],["minecraft:random_chance",[]],["minecraft:random_chance_with_looting",[5]],["minecraft:reference",[]],["minecraft:survives_explosion",[4]],["minecraft:table_bonus",[9]],["minecraft:time_check",[]],["minecraft:weather_check",[]]]);q.LootFunctions=new Map([["minecraft:apply_bonus",[9]],["minecraft:copy_name",[]],["minecraft:copy_nbt",[]],["minecraft:copy_state",[1]],["minecraft:enchant_randomly",[]],["minecraft:enchant_with_levels",[]],["minecraft:exploration_map",[7]],["minecraft:explosion_decay",[]],["minecraft:fill_player_head",[]],["minecraft:furnace_smelt",[]],["minecraft:limit_count",[]],["minecraft:looting_enchant",[5]],["minecraft:set_attributes",[]],["minecraft:set_banner_pattern",[]],["minecraft:set_contents",[]],["minecraft:set_count",[]],["minecraft:set_damage",[]],["minecraft:set_loot_table",[]],["minecraft:set_lore",[]],["minecraft:set_name",[]],["minecraft:set_nbt",[]],["minecraft:set_stew_effect",[]]]);Object.defineProperty(fe,"__esModule",{value:!0});fe.initLootTableSchemas=void 0;const b=S,oe=q,Re=F;function dt(o,t){const e=b.Reference.bind(void 0,o),r=b.StringNode.bind(void 0,t),d={conditions:(0,b.Opt)((0,b.ListNode)(e("loot_condition")))},n=g({functions:(0,b.Opt)((0,b.ListNode)(e("loot_function")))},d);function a(h,w,$){const L=[],Y=J=>t.get(w).filter(te=>{var A;return((A=h.get(te))!==null&&A!==void 0?A:[]).every(R=>J.includes(R))});for(const[J,{allows:te,requires:A}]of oe.LootTableTypes){const E=[...te,...A];L.push({match:R=>R.getModel().get(new b.Path(["type"]))===J,node:$(Y(E))})}return L.push({match:J=>!0,node:$(w)}),(0,b.SwitchNode)(L)}const l=a(oe.LootConditions,"loot_condition_type",h=>r({validator:"resource",params:{pool:h instanceof Array?h:"loot_condition_type"}})),I=a(oe.LootFunctions,"loot_function_type",h=>r({validator:"resource",params:{pool:h instanceof Array?h:"loot_function_type"}})),B=a(oe.LootEntitySources,"entity_source",h=>r({enum:h})),f=a(oe.LootCopySources,"copy_source",h=>r({enum:h}));o.register("loot_table",(0,b.Mod)((0,b.ObjectNode)({type:(0,b.Opt)(r({validator:"resource",params:{pool:t.get("loot_context_type")}})),pools:(0,b.Opt)((0,b.ListNode)((0,b.Mod)((0,b.ObjectNode)(g({rolls:e("number_provider"),bonus_rolls:(0,b.Opt)(e("number_provider")),entries:(0,b.ListNode)(e("loot_entry"))},n),{category:"pool",context:"loot_pool"}),{default:()=>({rolls:1,entries:[{type:"minecraft:item",name:"minecraft:stone"}]})}))),functions:(0,b.Opt)((0,b.ListNode)(e("loot_function")))},{context:"loot_table"}),{default:()=>({pools:[{rolls:1,entries:[{type:"minecraft:item",name:"minecraft:stone"}]}]})}));const O={enabled:h=>{var w;return((w=h.pop().get())===null||w===void 0?void 0:w.length)>1&&!["minecraft:alternatives","minecraft:group","minecraft:sequence"].includes(h.push("type").get())}};o.register("loot_entry",(0,b.Mod)((0,b.ObjectNode)({type:r({validator:"resource",params:{pool:"loot_pool_entry_type"}}),weight:(0,b.Opt)((0,b.Mod)((0,b.NumberNode)({integer:!0,min:1}),O)),quality:(0,b.Opt)((0,b.Mod)((0,b.NumberNode)({integer:!0}),O)),[b.Switch]:[{push:"type"}],[b.Case]:{"minecraft:alternatives":g({children:(0,b.ListNode)(e("loot_entry"))},n),"minecraft:dynamic":g({name:r()},n),"minecraft:group":g({children:(0,b.ListNode)(e("loot_entry"))},n),"minecraft:item":g({name:r({validator:"resource",params:{pool:"item"}})},n),"minecraft:loot_table":g({name:r({validator:"resource",params:{pool:"$loot_table"}})},n),"minecraft:sequence":g({children:(0,b.ListNode)(e("loot_entry"))},n),"minecraft:tag":g({name:r({validator:"resource",params:{pool:"$tag/item"}}),expand:(0,b.Opt)((0,b.BooleanNode)())},n)}},{context:"loot_entry"}),{default:()=>({type:"minecraft:item",name:"minecraft:stone"})})),o.register("loot_function",(0,b.Mod)((0,b.ObjectNode)({function:I,[b.Switch]:[{push:"function"}],[b.Case]:(0,Re.FunctionCases)(d,f,B)},{category:"function",context:"function"}),{default:()=>({function:"minecraft:set_count",count:1})})),o.register("loot_condition",(0,b.Mod)((0,b.ObjectNode)({condition:l,[b.Switch]:[{push:"condition"}],[b.Case]:(0,Re.ConditionCases)(B)},{category:"predicate",context:"condition"}),{default:()=>({condition:"minecraft:random_chance",chance:.5})})),o.register("attribute_modifier",(0,b.Mod)((0,b.ObjectNode)({attribute:r({validator:"resource",params:{pool:"attribute"}}),name:r(),amount:e("number_provider"),operation:r({enum:["addition","multiply_base","multiply_total"]}),slot:(0,b.StringOrList)(r({enum:"slot"}))},{context:"attribute_modifier"}),{default:()=>({attribute:"minecraft:generic.max_health",name:"",amount:1,operation:"addition",slot:"mainhand"})}))}fe.initLootTableSchemas=dt;var be={};Object.defineProperty(be,"__esModule",{value:!0});be.initPackMcmetaSchemas=void 0;const ee=S,H=8;function st(o,t){o.register("pack_mcmeta",(0,ee.Mod)((0,ee.ObjectNode)({pack:(0,ee.Mod)((0,ee.ObjectNode)({pack_format:(0,ee.Mod)((0,ee.NumberNode)({integer:!0,min:H,max:H}),{default:()=>H,canUpdate:(e,r)=>r!==H,update:()=>[{name:"pack_format",params:[H],newValue:H}]}),description:(0,ee.Reference)(o,"text_component")}),{default:()=>({pack_format:H,description:""})})}),{default:()=>({pack:{pack_format:H,description:""}})}))}be.initPackMcmetaSchemas=st;var ge={};Object.defineProperty(ge,"__esModule",{value:!0});ge.initPredicatesSchemas=void 0;const c=S;function lt(o,t){const e=c.Reference.bind(void 0,o),r=c.StringNode.bind(void 0,t),d=(0,c.ChoiceNode)([{type:"string",node:r(),change:n=>typeof n=="boolean"||typeof n=="number"?n.toString():""},{type:"number",node:(0,c.NumberNode)(),change:n=>typeof n=="string"?parseInt(n):0},{type:"object",node:(0,c.ObjectNode)({min:(0,c.Opt)((0,c.NumberNode)({integer:!0})),max:(0,c.Opt)((0,c.NumberNode)({integer:!0}))}),change:n=>typeof n=="number"?{min:n,max:n}:{}},{type:"boolean",node:(0,c.BooleanNode)(),change:n=>n==="true"||n===1}]);o.register("item_predicate",(0,c.ObjectNode)({items:(0,c.Opt)((0,c.ListNode)(r({validator:"resource",params:{pool:"item"}}))),tag:(0,c.Opt)(r({validator:"resource",params:{pool:"$tag/item"}})),count:e("int_bounds"),durability:e("int_bounds"),potion:(0,c.Opt)(r({validator:"resource",params:{pool:"potion"}})),nbt:(0,c.Opt)(r({validator:"nbt",params:{registry:{category:"minecraft:item",id:["pop",{push:"item"}]}}})),enchantments:(0,c.Opt)((0,c.ListNode)(e("enchantment_predicate")))},{context:"item"})),o.register("enchantment_predicate",(0,c.ObjectNode)({enchantment:(0,c.Opt)(r({validator:"resource",params:{pool:"enchantment"}})),levels:e("int_bounds")},{context:"enchantment"})),o.register("block_predicate",(0,c.ObjectNode)({blocks:(0,c.Opt)((0,c.ListNode)(r({validator:"resource",params:{pool:"block"}}))),tag:(0,c.Opt)(r({validator:"resource",params:{pool:"$tag/block"}})),nbt:(0,c.Opt)(r({validator:"nbt",params:{registry:{category:"minecraft:block",id:["pop",{push:"block"}]}}})),state:(0,c.Opt)((0,c.MapNode)(r(),d,{validation:{validator:"block_state_map",params:{id:["pop",{push:"block"}]}}}))},{context:"block"})),o.register("fluid_predicate",(0,c.ObjectNode)({fluid:(0,c.Opt)(r({validator:"resource",params:{pool:"fluid"}})),tag:(0,c.Opt)(r({validator:"resource",params:{pool:"$tag/fluid"}})),state:(0,c.Opt)((0,c.MapNode)(r(),d))},{context:"fluid"})),o.register("location_predicate",(0,c.ObjectNode)({position:(0,c.Opt)((0,c.ObjectNode)({x:e("float_bounds"),y:e("float_bounds"),z:e("float_bounds")})),biome:(0,c.Opt)(r({validator:"resource",params:{pool:"$worldgen/biome"}})),feature:(0,c.Opt)(r({enum:t.get("worldgen/structure_feature").map(n=>n.slice(10))})),dimension:(0,c.Opt)(r({validator:"resource",params:{pool:"$dimension"}})),light:(0,c.Opt)((0,c.ObjectNode)({light:e("int_bounds")})),smokey:(0,c.Opt)((0,c.BooleanNode)()),block:(0,c.Opt)(e("block_predicate")),fluid:(0,c.Opt)(e("fluid_predicate"))},{context:"location"})),o.register("statistic_predicate",(0,c.ObjectNode)({type:r({validator:"resource",params:{pool:"stat_type"}}),stat:r(),value:e("int_bounds"),[c.Switch]:[{push:"type"}],[c.Case]:{"minecraft:mined":{stat:r({validator:"resource",params:{pool:"block"}})},"minecraft:crafted":{stat:r({validator:"resource",params:{pool:"item"}})},"minecraft:used":{stat:r({validator:"resource",params:{pool:"item"}})},"minecraft:broken":{stat:r({validator:"resource",params:{pool:"item"}})},"minecraft:picked_up":{stat:r({validator:"resource",params:{pool:"item"}})},"minecraft:dropped":{stat:r({validator:"resource",params:{pool:"item"}})},"minecraft:killed":{stat:r({validator:"resource",params:{pool:"entity_type"}})},"minecraft:killed_by":{stat:r({validator:"resource",params:{pool:"entity_type"}})},"minecraft:custom":{stat:r({validator:"resource",params:{pool:"custom_stat"}})}}})),o.register("player_predicate",(0,c.ObjectNode)({gamemode:(0,c.Opt)(r({enum:"gamemode"})),level:e("int_bounds"),advancements:(0,c.Opt)((0,c.MapNode)(r({validator:"resource",params:{pool:"$advancement"}}),(0,c.ChoiceNode)([{type:"boolean",node:(0,c.BooleanNode)(),change:n=>!0},{type:"object",node:(0,c.MapNode)(r(),(0,c.BooleanNode)())}]))),recipes:(0,c.Opt)((0,c.MapNode)(r({validator:"resource",params:{pool:"$recipe"}}),(0,c.BooleanNode)())),stats:(0,c.Opt)((0,c.ListNode)(e("statistic_predicate"))),looking_at:(0,c.Opt)(e("entity_predicate"))},{context:"player"})),o.register("status_effect_predicate",(0,c.ObjectNode)({amplifier:e("int_bounds"),duration:e("int_bounds"),ambient:(0,c.Opt)((0,c.BooleanNode)()),visible:(0,c.Opt)((0,c.BooleanNode)())},{context:"status_effect"})),o.register("distance_predicate",(0,c.ObjectNode)({x:e("float_bounds"),y:e("float_bounds"),z:e("float_bounds"),absolute:e("float_bounds"),horizontal:e("float_bounds")},{context:"distance"})),o.register("entity_predicate",(0,c.ObjectNode)({type:(0,c.Opt)(r({validator:"resource",params:{pool:"entity_type",allowTag:!0}})),nbt:(0,c.Opt)(r({validator:"nbt",params:{registry:{category:"minecraft:entity",id:["pop",{push:"type"}]}}})),team:(0,c.Opt)(r({validator:"team"})),location:(0,c.Opt)(e("location_predicate")),stepping_on:(0,c.Opt)(e("location_predicate")),distance:(0,c.Opt)(e("distance_predicate")),flags:(0,c.Opt)((0,c.ObjectNode)({is_on_fire:(0,c.Opt)((0,c.BooleanNode)()),is_sneaking:(0,c.Opt)((0,c.BooleanNode)()),is_sprinting:(0,c.Opt)((0,c.BooleanNode)()),is_swimming:(0,c.Opt)((0,c.BooleanNode)()),is_baby:(0,c.Opt)((0,c.BooleanNode)())})),equipment:(0,c.Opt)((0,c.MapNode)(r({enum:"slot"}),e("item_predicate"))),vehicle:(0,c.Opt)(e("entity_predicate")),passenger:(0,c.Opt)(e("entity_predicate")),targeted_entity:(0,c.Opt)(e("entity_predicate")),player:(0,c.Opt)(e("player_predicate")),lightning_bolt:(0,c.Opt)((0,c.ObjectNode)({blocks_set_on_fire:(0,c.Opt)(e("int_bounds")),entity_struck:(0,c.Opt)(e("entity_predicate"))})),fishing_hook:(0,c.Opt)((0,c.ObjectNode)({in_open_water:(0,c.Opt)((0,c.BooleanNode)())})),catType:(0,c.Opt)(r({enum:"cat_texture"})),effects:(0,c.Opt)((0,c.MapNode)(r({validator:"resource",params:{pool:"mob_effect"}}),e("status_effect_predicate")))},{context:"entity"})),o.register("damage_source_predicate",(0,c.ObjectNode)({is_explosion:(0,c.Opt)((0,c.BooleanNode)()),is_fire:(0,c.Opt)((0,c.BooleanNode)()),is_magic:(0,c.Opt)((0,c.BooleanNode)()),is_projectile:(0,c.Opt)((0,c.BooleanNode)()),is_lightning:(0,c.Opt)((0,c.BooleanNode)()),bypasses_armor:(0,c.Opt)((0,c.BooleanNode)()),bypasses_invulnerability:(0,c.Opt)((0,c.BooleanNode)()),bypasses_magic:(0,c.Opt)((0,c.BooleanNode)()),source_entity:(0,c.Opt)(e("entity_predicate")),direct_entity:(0,c.Opt)(e("entity_predicate"))},{context:"damage_source"})),o.register("damage_predicate",(0,c.ObjectNode)({dealt:e("float_bounds"),taken:e("float_bounds"),blocked:(0,c.Opt)((0,c.BooleanNode)()),source_entity:(0,c.Opt)(e("entity_predicate")),type:(0,c.Opt)(e("damage_source_predicate"))},{context:"damage"}))}ge.initPredicatesSchemas=lt;var Ne={};Object.defineProperty(Ne,"__esModule",{value:!0});Ne.initRecipeSchemas=void 0;const u=S;function mt(o,t){const e=u.Reference.bind(void 0,o),r=u.StringNode.bind(void 0,t);o.register("recipe",(0,u.Mod)((0,u.ObjectNode)({type:r({validator:"resource",params:{pool:"recipe_serializer"}}),[u.Switch]:[{push:"type"}],[u.Case]:{"minecraft:crafting_shaped":{group:(0,u.Opt)(r({enum:"recipe_group",additional:!0})),pattern:(0,u.ListNode)(r()),key:(0,u.MapNode)(r(),e("recipe_ingredient")),result:e("recipe_result")},"minecraft:crafting_shapeless":{group:(0,u.Opt)(r()),ingredients:(0,u.ListNode)(e("recipe_ingredient")),result:e("recipe_result")},"minecraft:smelting":{group:(0,u.Opt)(r()),ingredient:e("recipe_ingredient"),result:r({validator:"resource",params:{pool:"item"}}),experience:(0,u.Opt)((0,u.NumberNode)()),cookingtime:(0,u.Opt)((0,u.Mod)((0,u.NumberNode)({integer:!0}),{default:()=>200}))},"minecraft:blasting":{group:(0,u.Opt)(r()),ingredient:e("recipe_ingredient"),result:r({validator:"resource",params:{pool:"item"}}),experience:(0,u.Opt)((0,u.NumberNode)()),cookingtime:(0,u.Opt)((0,u.Mod)((0,u.NumberNode)({integer:!0}),{default:()=>100}))},"minecraft:smoking":{group:(0,u.Opt)(r()),ingredient:e("recipe_ingredient"),result:r({validator:"resource",params:{pool:"item"}}),experience:(0,u.Opt)((0,u.NumberNode)()),cookingtime:(0,u.Opt)((0,u.Mod)((0,u.NumberNode)({integer:!0}),{default:()=>100}))},"minecraft:campfire_cooking":{group:(0,u.Opt)(r()),ingredient:e("recipe_ingredient"),result:r({validator:"resource",params:{pool:"item"}}),experience:(0,u.Opt)((0,u.NumberNode)()),cookingtime:(0,u.Opt)((0,u.Mod)((0,u.NumberNode)({integer:!0}),{default:()=>100}))},"minecraft:stonecutting":{group:(0,u.Opt)(r()),ingredient:e("recipe_ingredient"),result:r({validator:"resource",params:{pool:"item"}}),count:(0,u.NumberNode)({integer:!0})},"minecraft:smithing":{group:(0,u.Opt)(r()),base:e("recipe_ingredient_object"),addition:e("recipe_ingredient_object"),result:e("recipe_result")}}},{context:"recipe",disableSwitchContext:!0}),{default:()=>({type:"minecraft:crafting_shaped"})})),o.register("recipe_ingredient",(0,u.Mod)((0,u.ChoiceNode)([{type:"object",node:e("recipe_ingredient_object"),change:d=>d[0]},{type:"list",node:(0,u.ListNode)(e("recipe_ingredient_object")),change:d=>[d]}]),{default:()=>({item:"minecraft:stone"})})),o.register("recipe_ingredient_object",(0,u.Mod)((0,u.ObjectNode)({item:(0,u.Opt)(r({validator:"resource",params:{pool:"item"}})),tag:(0,u.Opt)(r({validator:"resource",params:{pool:"$tag/item"}}))}),{default:()=>({item:"minecraft:stone"})})),o.register("recipe_result",(0,u.Mod)((0,u.ObjectNode)({item:r({validator:"resource",params:{pool:"item"}}),count:(0,u.Opt)((0,u.Mod)((0,u.NumberNode)({integer:!0}),{default:()=>1}))}),{default:()=>({item:"minecraft:stone"})}))}Ne.initRecipeSchemas=mt;var he={};Object.defineProperty(he,"__esModule",{value:!0});he.initTagsSchemas=void 0;const V=S;function _t(o,t){const e=V.StringNode.bind(void 0,t),r=d=>(0,V.Mod)((0,V.ObjectNode)({replace:(0,V.Opt)((0,V.BooleanNode)()),values:(0,V.ListNode)((0,V.ChoiceNode)([{type:"string",node:e({validator:"resource",params:{pool:d,allowTag:!0}}),change:n=>n.id},{type:"object",node:(0,V.ObjectNode)({id:e({validator:"resource",params:{pool:d,allowTag:!0,allowUnknown:!0}}),required:(0,V.BooleanNode)()}),change:n=>({id:n})}]))},{context:"tag"}),{default:()=>({values:[]})});o.register("block_tag",r("block")),o.register("entity_type_tag",r("entity_type")),o.register("fluid_tag",r("fluid")),o.register("function_tag",r("$function")),o.register("game_event_tag",r("game_event")),o.register("item_tag",r("item"))}he.initTagsSchemas=_t;var ye={};Object.defineProperty(ye,"__esModule",{value:!0});ye.initTextComponentSchemas=void 0;const m=S;function pt(o,t){const e=m.Reference.bind(void 0,o),r=m.StringNode.bind(void 0,t),d=a=>{var l;return a instanceof Array?d(a[0]):(l=a==null?void 0:a.text)!==null&&l!==void 0?l:typeof a=="object"?"":a==null?void 0:a.toString()};o.register("text_component",(0,m.Mod)((0,m.ChoiceNode)([{type:"object",node:e("text_component_object"),change:a=>a instanceof Array?typeof a[0]=="object"?a[0]:{text:d(a[0])}:typeof a=="object"?a:{text:d(a)}},{type:"list",node:e("text_component_list"),change:a=>[a]},{type:"string",priority:1,node:r(),change:d},{type:"number",node:(0,m.NumberNode)(),change:a=>{const l=parseFloat(d(a));return isFinite(l)?l:a?1:0}},{type:"boolean",node:(0,m.BooleanNode)(),change:a=>{const l=d(a);return l==="true"||l==="false"?l==="true":!!l}}],{context:"text_component"}),{default:()=>({text:""})}));const n={color:(0,m.Opt)(r()),font:(0,m.Opt)(r()),bold:(0,m.Opt)((0,m.BooleanNode)()),italic:(0,m.Opt)((0,m.BooleanNode)()),underlined:(0,m.Opt)((0,m.BooleanNode)()),strikethrough:(0,m.Opt)((0,m.BooleanNode)()),obfuscated:(0,m.Opt)((0,m.BooleanNode)()),insertion:(0,m.Opt)(r()),clickEvent:(0,m.Opt)((0,m.ObjectNode)({action:r({enum:["open_url","open_file","run_command","suggest_command","change_page","copy_to_clipboard"]}),[m.Switch]:[{push:"action"}],[m.Case]:{change_page:{value:r()},copy_to_clipboard:{value:r()},open_file:{value:r()},open_url:{value:r()},run_command:{value:r({validator:"command",params:{leadingSlash:!0,allowPartial:!0}})},suggest_command:{value:r({validator:"command",params:{leadingSlash:!0,allowPartial:!0}})}}})),hoverEvent:(0,m.Opt)((0,m.ObjectNode)({action:r({enum:["show_text","show_item","show_entity"]}),[m.Switch]:[{push:"action"}],[m.Case]:{show_text:{value:(0,m.Opt)(e("text_component")),contents:(0,m.Opt)(e("text_component"))},show_item:{value:(0,m.Opt)(r({validator:"nbt",params:{module:"util::InventoryItem"}})),contents:(0,m.Opt)((0,m.ObjectNode)({id:r({validator:"resource",params:{pool:"item"}}),count:(0,m.Opt)((0,m.NumberNode)({integer:!0})),tag:(0,m.Opt)(r({validator:"nbt",params:{registry:{category:"minecraft:item",id:["pop",{push:"id"}]}}}))}))},show_entity:{value:(0,m.Opt)((0,m.ObjectNode)({name:(0,m.Opt)(r()),type:(0,m.Opt)(r()),id:(0,m.Opt)(r())})),contents:(0,m.Opt)((0,m.Mod)((0,m.ObjectNode)({name:(0,m.Opt)(e("text_component")),type:r({validator:"resource",params:{pool:"entity_type"}}),id:r({validator:"uuid"})}),{default:()=>({type:"minecraft:pig",id:"00000001-0001-0001-0001-000000000001"})}))}}})),extra:(0,m.Opt)(e("text_component_list"))};o.register("text_component_object",(0,m.Mod)((0,m.ChoiceNode)([{type:"text",match:a=>typeof a=="object",change:a=>({text:""}),priority:-1,node:(0,m.ObjectNode)(g({text:r()},n))},{type:"translation",match:a=>(a==null?void 0:a.translate)!==void 0,change:a=>({translate:""}),node:(0,m.ObjectNode)(g({translate:r(),with:(0,m.Opt)(e("text_component_list"))},n))},{type:"score",match:a=>(a==null?void 0:a.score)!==void 0,change:a=>({score:{}}),node:(0,m.ObjectNode)(g({score:(0,m.ObjectNode)({name:r({validator:"entity",params:{amount:"single",type:"entities",isScoreHolder:!0}}),objective:r({validator:"objective"}),value:(0,m.Opt)(r())})},n))},{type:"selector",match:a=>(a==null?void 0:a.selector)!==void 0,change:a=>({selector:""}),node:(0,m.ObjectNode)(g({selector:r({validator:"entity",params:{amount:"multiple",type:"entities"}}),separator:(0,m.Opt)(e("text_component"))},n))},{type:"keybind",match:a=>(a==null?void 0:a.keybind)!==void 0,change:a=>({keybind:""}),node:(0,m.ObjectNode)(g({keybind:r({enum:"keybind",additional:!0})},n))},{type:"nbt",match:a=>(a==null?void 0:a.nbt)!==void 0,change:a=>({nbt:""}),node:(0,m.ObjectNode)(g({nbt:r({validator:"nbt_path"}),block:(0,m.Opt)(r({validator:"vector",params:{dimension:3,isInteger:!0}})),entity:(0,m.Opt)(r({validator:"entity",params:{amount:"multiple",type:"entities"}})),storage:(0,m.Opt)(r({validator:"resource",params:{pool:"$storage"}})),interpret:(0,m.Opt)((0,m.BooleanNode)()),separator:(0,m.Opt)(e("text_component"))},n))}],{context:"text_component_object",choiceContext:"text_component.object"}),{default:()=>({text:""})})),o.register("text_component_list",(0,m.Mod)((0,m.ListNode)(e("text_component")),{default:()=>[{text:""}]}))}ye.initTextComponentSchemas=pt;var ve={},Oe={};Object.defineProperty(Oe,"__esModule",{value:!0});Oe.initBiomeSchemas=void 0;const p=S;function ut(o,t){const e=p.StringNode.bind(void 0,t);o.register("biome",(0,p.Mod)((0,p.ObjectNode)({temperature:(0,p.NumberNode)(),downfall:(0,p.NumberNode)(),precipitation:e({enum:["none","rain","snow"]}),temperature_modifier:(0,p.Opt)(e({enum:["none","frozen"]})),category:e({enum:"biome_category"}),creature_spawn_probability:(0,p.Opt)((0,p.NumberNode)({min:0,max:1})),effects:(0,p.ObjectNode)({sky_color:(0,p.NumberNode)({color:!0}),fog_color:(0,p.NumberNode)({color:!0}),water_color:(0,p.NumberNode)({color:!0}),water_fog_color:(0,p.NumberNode)({color:!0}),grass_color:(0,p.Opt)((0,p.NumberNode)({color:!0})),foliage_color:(0,p.Opt)((0,p.NumberNode)({color:!0})),grass_color_modifier:(0,p.Opt)(e({enum:["none","dark_forest","swamp"]})),ambient_sound:(0,p.Opt)(e()),mood_sound:(0,p.Opt)((0,p.ObjectNode)({sound:e(),tick_delay:(0,p.NumberNode)({integer:!0}),block_search_extent:(0,p.NumberNode)({integer:!0}),offset:(0,p.NumberNode)()})),additions_sound:(0,p.Opt)((0,p.ObjectNode)({sound:e(),tick_chance:(0,p.NumberNode)({min:0,max:1})})),music:(0,p.Opt)((0,p.ObjectNode)({sound:e(),min_delay:(0,p.NumberNode)({integer:!0,min:0}),max_delay:(0,p.NumberNode)({integer:!0,min:0}),replace_current_music:(0,p.BooleanNode)()})),particle:(0,p.Opt)((0,p.ObjectNode)({options:(0,p.ObjectNode)({type:e()}),probability:(0,p.NumberNode)({min:0,max:1})}))}),spawners:(0,p.MapNode)(e({enum:["monster","creature","ambient","axolotls","underground_water_creature","water_creature","water_ambient","misc"]}),(0,p.Mod)((0,p.ListNode)((0,p.ObjectNode)({type:e({validator:"resource",params:{pool:"entity_type"}}),weight:(0,p.NumberNode)({integer:!0}),minCount:(0,p.NumberNode)({integer:!0}),maxCount:(0,p.NumberNode)({integer:!0})})),{category:()=>"pool",default:()=>[{type:"minecraft:bat",weight:1}]})),spawn_costs:(0,p.MapNode)(e({validator:"resource",params:{pool:"entity_type"}}),(0,p.Mod)((0,p.ObjectNode)({energy_budget:(0,p.NumberNode)(),charge:(0,p.NumberNode)()},{category:"function"}),{default:()=>({energy_budget:.12,charge:1})})),carvers:(0,p.MapNode)(e({enum:["air","liquid"]}),(0,p.Mod)((0,p.ListNode)(e({validator:"resource",params:{pool:"$worldgen/configured_carver"}})),{default:()=>["minecraft:cave"]})),features:(0,p.ListNode)((0,p.Mod)((0,p.ListNode)(e({validator:"resource",params:{pool:"$worldgen/placed_feature"}})),{category:()=>"predicate"}),{maxLength:11})},{context:"biome"}),{default:()=>({temperature:.8,downfall:.4,precipitation:"rain",category:"plains",effects:{sky_color:7907327,fog_color:12638463,water_color:4159204,water_fog_color:329011}})}))}Oe.initBiomeSchemas=ut;var ke={};Object.defineProperty(ke,"__esModule",{value:!0});ke.initCarverSchemas=void 0;const M=S,K=F;function ft(o,t){const e=M.Reference.bind(void 0,o),r=M.StringNode.bind(void 0,t),d={vertical_rotation:(0,K.FloatProvider)(),shape:(0,M.ObjectNode)({distance_factor:(0,K.FloatProvider)(),thickness:(0,K.FloatProvider)(),width_smoothness:(0,M.NumberNode)({integer:!0,min:0}),horizontal_radius_factor:(0,K.FloatProvider)(),vertical_radius_default_factor:(0,M.NumberNode)(),vertical_radius_center_factor:(0,M.NumberNode)()})},n={horizontal_radius_multiplier:(0,K.FloatProvider)(),vertical_radius_multiplier:(0,K.FloatProvider)(),floor_level:(0,K.FloatProvider)({min:-1,max:1})};o.register("configured_carver",(0,M.Mod)((0,M.ObjectNode)({type:r({validator:"resource",params:{pool:"worldgen/carver"}}),config:(0,M.ObjectNode)({probability:(0,M.NumberNode)({min:0,max:1}),y:e("height_provider"),yScale:(0,K.FloatProvider)(),lava_level:e("vertical_anchor"),debug_settings:(0,M.Opt)((0,M.ObjectNode)({debug_mode:(0,M.Opt)((0,M.BooleanNode)()),air_state:(0,M.Opt)(e("block_state")),water_state:(0,M.Opt)(e("block_state")),lava_state:(0,M.Opt)(e("block_state")),barrier_state:(0,M.Opt)(e("block_state"))})),[M.Switch]:["pop",{push:"type"}],[M.Case]:{"minecraft:canyon":d,"minecraft:cave":n,"minecraft:nether_cave":n}})},{context:"carver"}),{default:()=>({type:"minecraft:cave",config:{probability:.1}})}))}ke.initCarverSchemas=ft;var xe={};Object.defineProperty(xe,"__esModule",{value:!0});xe.initDecoratorSchemas=void 0;const C=S,ie=F;function bt(o,t){const e=C.Reference.bind(void 0,o),r=C.StringNode.bind(void 0,t);o.register("decorator",(0,C.ObjectNode)({type:r({validator:"resource",params:{pool:"worldgen/placement_modifier_type"}}),[C.Switch]:[{push:"type"}],[C.Case]:{"minecraft:block_predicate_filter":{predicate:e("block_predicate_worldgen")},"minecraft:carving_mask":{step:r({enum:"generation_step"})},"minecraft:rarity_filter":{chance:(0,C.NumberNode)({integer:!0,min:0})},"minecraft:count":{count:(0,ie.IntProvider)({min:0,max:256})},"minecraft:count_on_every_layer":{count:(0,ie.IntProvider)({min:0,max:256})},"minecraft:noise_threshold_count":{noise_level:(0,C.NumberNode)(),below_noise:(0,C.NumberNode)({integer:!0}),above_noise:(0,C.NumberNode)({integer:!0})},"minecraft:noise_based_count":{noise_to_count_ratio:(0,C.NumberNode)({integer:!0}),noise_factor:(0,C.NumberNode)(),noise_offset:(0,C.Opt)((0,C.NumberNode)())},"minecraft:environment_scan":{direction_of_search:r({enum:["up","down"]}),max_steps:(0,C.NumberNode)({integer:!0,min:1,max:32}),target_condition:e("block_predicate_worldgen"),allowed_search_condition:(0,C.Opt)(e("block_predicate_worldgen"))},"minecraft:heightmap":{heightmap:r({enum:"heightmap_type"})},"minecraft:height_range":{height:e("height_provider")},"minecraft:random_offset":{xz_spread:(0,ie.IntProvider)({min:-16,max:16}),y_spread:(0,ie.IntProvider)({min:-16,max:16})},"minecraft:surface_relative_threshold_filter":{heightmap:r({enum:"heightmap_type"}),min_inclusive:(0,C.Opt)((0,C.NumberNode)({integer:!0})),max_inclusive:(0,C.Opt)((0,C.NumberNode)({integer:!0}))},"minecraft:surface_water_depth_filter":{max_water_depth:(0,C.NumberNode)({integer:!0})}}},{context:"decorator",category:"predicate"}))}xe.initDecoratorSchemas=bt;var we={},Z={};Object.defineProperty(Z,"__esModule",{value:!0});Z.initProcessorListSchemas=Z.Processors=void 0;const y=S;function gt(o,t){const e=y.Reference.bind(void 0,o),r=y.StringNode.bind(void 0,t);Z.Processors=(0,y.ChoiceNode)([{type:"string",node:r({validator:"resource",params:{pool:"$worldgen/processor_list"}}),change:n=>{}},{type:"object",node:e("processor_list"),change:n=>({processors:[{processor_type:"minecraft:nop"}]})}]),o.register("processor_list",(0,y.Mod)((0,y.ObjectNode)({processors:(0,y.ListNode)(e("processor"))},{context:"processor_list"}),{default:()=>({processors:[{processor_type:"minecraft:rule",rules:[{location_predicate:{predicate_type:"minecraft:always_true"},input_predicate:{predicate_type:"minecraft:always_true"}}]}]})})),o.register("processor",(0,y.Mod)((0,y.ObjectNode)({processor_type:r({validator:"resource",params:{pool:"worldgen/structure_processor"}}),[y.Switch]:[{push:"processor_type"}],[y.Case]:{"minecraft:block_age":{mossiness:(0,y.NumberNode)()},"minecraft:block_ignore":{blocks:(0,y.ListNode)(e("block_state"))},"minecraft:block_rot":{integrity:(0,y.NumberNode)({min:0,max:1})},"minecraft:gravity":{heightmap:r({enum:"heightmap_type"}),offset:(0,y.NumberNode)({integer:!0})},"minecraft:protected_blocks":{value:r({validator:"resource",params:{pool:"$tag/block"}})},"minecraft:rule":{rules:(0,y.ListNode)(e("processor_rule"))}}},{category:"function",context:"processor"}),{default:()=>({processor_type:"minecraft:rule",rules:[{location_predicate:{predicate_type:"minecraft:always_true"},input_predicate:{predicate_type:"minecraft:always_true"}}]})})),o.register("processor_rule",(0,y.Mod)((0,y.ObjectNode)({position_predicate:(0,y.Opt)(e("pos_rule_test")),location_predicate:e("rule_test"),input_predicate:e("rule_test"),output_state:e("block_state"),output_nbt:(0,y.Opt)(r({validator:"nbt",params:{registry:{category:"minecraft:block"}}}))},{category:"predicate",context:"processor_rule"}),{default:()=>({location_predicate:{predicate_type:"minecraft:always_true"},input_predicate:{predicate_type:"minecraft:always_true"}})}));const d={min_dist:(0,y.Opt)((0,y.NumberNode)({min:0,max:255,integer:!0})),max_dist:(0,y.Opt)((0,y.NumberNode)({min:0,max:255,integer:!0})),min_chance:(0,y.Opt)((0,y.NumberNode)({min:0,max:1})),max_chance:(0,y.Opt)((0,y.NumberNode)({min:0,max:1}))};o.register("pos_rule_test",(0,y.ObjectNode)({predicate_type:r({validator:"resource",params:{pool:"pos_rule_test"}}),[y.Switch]:[{push:"predicate_type"}],[y.Case]:{"minecraft:axis_aligned_linear_pos":g({axis:r({enum:["x","y","z"]})},d),"minecraft:linear_pos":d}},{context:"pos_rule_test",disableSwitchContext:!0})),o.register("rule_test",(0,y.ObjectNode)({predicate_type:r({validator:"resource",params:{pool:"rule_test"}}),[y.Switch]:[{push:"predicate_type"}],[y.Case]:{"minecraft:block_match":{block:r({validator:"resource",params:{pool:"block"}})},"minecraft:blockstate_match":{block_state:e("block_state")},"minecraft:random_block_match":{block:r({validator:"resource",params:{pool:"block"}}),probability:(0,y.NumberNode)({min:0,max:1})},"minecraft:random_blockstate_match":{block_state:e("block_state"),probability:(0,y.NumberNode)({min:0,max:1})},"minecraft:tag_match":{tag:r({validator:"resource",params:{pool:"$tag/block"}})}}},{context:"rule_test",disableSwitchContext:!0}))}Z.initProcessorListSchemas=gt;Object.defineProperty(we,"__esModule",{value:!0});we.initFeatureSchemas=void 0;const i=S,k=F,Te=Z;function Nt(o,t){const e=i.Reference.bind(void 0,o),r=i.StringNode.bind(void 0,t),d=(0,i.ChoiceNode)([{type:"string",node:r({validator:"resource",params:{pool:"$worldgen/configured_feature"}})},{type:"object",node:e("configured_feature")}],{choiceContext:"feature"}),n=(0,i.ChoiceNode)([{type:"string",node:r({validator:"resource",params:{pool:"$worldgen/placed_feature"}})},{type:"object",node:e("placed_feature")}],{choiceContext:"placed_feature"}),a={tries:(0,i.Opt)((0,i.NumberNode)({integer:!0,min:1})),xz_spread:(0,i.Opt)((0,i.NumberNode)({integer:!0,min:0})),y_spread:(0,i.Opt)((0,i.NumberNode)({integer:!0,min:0})),feature:n},l={state:e("block_state"),radius:(0,k.IntProvider)({min:0,max:8}),half_height:(0,i.NumberNode)({integer:!0,min:0,max:4}),targets:(0,i.ListNode)(e("block_state"))},I={cap_provider:e("block_state_provider"),stem_provider:e("block_state_provider"),foliage_radius:(0,i.Opt)((0,i.NumberNode)({integer:!0}))},B=(0,i.ObjectNode)({target:e("rule_test"),state:e("block_state")}),f={size:(0,i.NumberNode)({integer:!0,min:0,max:64}),discard_chance_on_air_exposure:(0,i.NumberNode)({min:0,max:1}),targets:(0,i.ListNode)(B)},O={surface:r({enum:"cave_surface"}),depth:(0,k.IntProvider)({min:1,max:128}),vertical_range:(0,i.NumberNode)({integer:!0,min:1,max:256}),extra_bottom_block_chance:(0,i.NumberNode)({min:0,max:1}),extra_edge_column_chance:(0,i.NumberNode)({min:0,max:1}),vegetation_chance:(0,i.NumberNode)({min:0,max:1}),xz_radius:(0,k.IntProvider)(),replaceable:r({validator:"resource",params:{pool:"$tag/block"}}),ground_state:e("block_state_provider"),vegetation_feature:n};o.register("configured_feature",(0,i.Mod)((0,i.ObjectNode)({type:r({validator:"resource",params:{pool:"worldgen/feature"}}),config:(0,i.ObjectNode)({[i.Switch]:["pop",{push:"type"}],[i.Case]:{"minecraft:bamboo":{probability:(0,i.NumberNode)({min:0,max:1})},"minecraft:basalt_columns":{reach:(0,k.IntProvider)({min:0,max:3}),height:(0,k.IntProvider)({min:1,max:10})},"minecraft:block_column":{direction:r({enum:["up","down","north","east","south","west"]}),allowed_placement:e("block_predicate_worldgen"),prioritize_tip:(0,i.BooleanNode)(),layers:(0,i.ListNode)((0,i.ObjectNode)({height:(0,k.IntProvider)({min:0}),provider:e("block_state_provider")}))},"minecraft:block_pile":{state_provider:e("block_state_provider")},"minecraft:delta_feature":{contents:e("block_state"),rim:e("block_state"),size:(0,k.IntProvider)({min:0,max:16}),rim_size:(0,k.IntProvider)({min:0,max:16})},"minecraft:disk":l,"minecraft:dripstone_cluster":{floor_to_ceiling_search_range:(0,i.NumberNode)({integer:!0,min:1,max:512}),height:(0,k.IntProvider)({min:0,max:128}),radius:(0,k.IntProvider)({min:0,max:128}),max_stalagmite_stalactite_height_diff:(0,i.NumberNode)({integer:!0,min:0,max:64}),height_deviation:(0,i.NumberNode)({integer:!0,min:1,max:64}),dripstone_block_layer_thickness:(0,k.IntProvider)({min:0,max:128}),density:(0,k.FloatProvider)({min:0,max:2}),wetness:(0,k.FloatProvider)({min:0,max:2}),chance_of_dripstone_column_at_max_distance_from_center:(0,i.NumberNode)({min:0,max:1}),max_distance_from_edge_affecting_chance_of_dripstone_column:(0,i.NumberNode)({integer:!0,min:1,max:64}),max_distance_from_center_affecting_height_bias:(0,i.NumberNode)({integer:!0,min:1,max:64})},"minecraft:end_gateway":{exact:(0,i.BooleanNode)(),exit:(0,i.Opt)(e("block_pos"))},"minecraft:end_spike":{crystal_invulnerable:(0,i.Opt)((0,i.BooleanNode)()),crystal_beam_target:(0,i.Opt)(e("block_pos")),spikes:(0,i.ListNode)((0,i.ObjectNode)({centerX:(0,i.Opt)((0,i.NumberNode)({integer:!0})),centerZ:(0,i.Opt)((0,i.NumberNode)({integer:!0})),radius:(0,i.Opt)((0,i.NumberNode)({integer:!0})),height:(0,i.Opt)((0,i.NumberNode)({integer:!0})),guarded:(0,i.Opt)((0,i.BooleanNode)())}))},"minecraft:fill_layer":{state:e("block_state"),height:(0,i.NumberNode)({integer:!0,min:0,max:255})},"minecraft:flower":a,"minecraft:forest_rock":{state:e("block_state")},"minecraft:fossil":{max_empty_corners_allowed:(0,i.NumberNode)({integer:!0,min:0,max:7}),fossil_structures:(0,i.ListNode)(r({validator:"resource",params:{pool:"$structure"}})),overlay_structures:(0,i.ListNode)(r({validator:"resource",params:{pool:"$structure"}})),fossil_processors:Te.Processors,overlay_processors:Te.Processors},"minecraft:geode":{blocks:(0,i.ObjectNode)({filling_provider:e("block_state_provider"),inner_layer_provider:e("block_state_provider"),alternate_inner_layer_provider:e("block_state_provider"),middle_layer_provider:e("block_state_provider"),outer_layer_provider:e("block_state_provider"),inner_placements:(0,i.ListNode)(e("block_state")),cannot_replace:r({validator:"resource",params:{pool:"$tag/block"}}),invalid_blocks:r({validator:"resource",params:{pool:"$tag/block"}})}),layers:(0,i.ObjectNode)({filling:(0,i.Opt)((0,i.NumberNode)({min:.01,max:50})),inner_layer:(0,i.Opt)((0,i.NumberNode)({min:.01,max:50})),middle_layer:(0,i.Opt)((0,i.NumberNode)({min:.01,max:50})),outer_layer:(0,i.Opt)((0,i.NumberNode)({min:.01,max:50}))}),crack:(0,i.ObjectNode)({generate_crack_chance:(0,i.Opt)((0,i.NumberNode)({min:0,max:1})),base_crack_size:(0,i.Opt)((0,i.NumberNode)({min:0,max:5})),crack_point_offset:(0,i.Opt)((0,i.NumberNode)({min:0,max:10}))}),noise_multiplier:(0,i.Opt)((0,i.NumberNode)({min:0,max:1})),use_potential_placements_chance:(0,i.Opt)((0,i.NumberNode)({min:0,max:1})),use_alternate_layer0_chance:(0,i.Opt)((0,i.NumberNode)({min:0,max:1})),placements_require_layer0_alternate:(0,i.Opt)((0,i.BooleanNode)()),outer_wall_distance:(0,i.Opt)((0,k.IntProvider)({min:1,max:20})),distribution_points:(0,i.Opt)((0,k.IntProvider)({min:1,max:20})),point_offset:(0,i.Opt)((0,k.IntProvider)({min:0,max:10})),min_gen_offset:(0,i.Opt)((0,i.NumberNode)({integer:!0})),max_gen_offset:(0,i.Opt)((0,i.NumberNode)({integer:!0})),invalid_blocks_threshold:(0,i.NumberNode)({integer:!0})},"minecraft:glow_lichen":{search_range:(0,i.Opt)((0,i.NumberNode)({min:1,max:64,integer:!0})),chance_of_spreading:(0,i.Opt)((0,i.NumberNode)({min:0,max:1})),can_place_on_floor:(0,i.Opt)((0,i.BooleanNode)()),can_place_on_ceiling:(0,i.Opt)((0,i.BooleanNode)()),can_place_on_wall:(0,i.Opt)((0,i.BooleanNode)()),can_be_placed_on:(0,i.ListNode)(r({validator:"resource",params:{pool:"block"}}))},"minecraft:huge_brown_mushroom":I,"minecraft:huge_fungus":{hat_state:e("block_state"),decor_state:e("block_state"),stem_state:e("block_state"),valid_base_block:e("block_state"),planted:(0,i.Opt)((0,i.BooleanNode)())},"minecraft:huge_red_mushroom":I,"minecraft:ice_patch":l,"minecraft:iceberg":{state:e("block_state")},"minecraft:lake":{fluid:e("block_state_provider"),barrier:e("block_state_provider")},"minecraft:large_dripstone":{floor_to_ceiling_search_range:(0,i.Opt)((0,i.NumberNode)({integer:!0,min:1,max:512})),column_radius:(0,k.IntProvider)({min:0,max:60}),height_scale:(0,k.FloatProvider)({min:0,max:20}),max_column_radius_to_cave_height_ratio:(0,i.NumberNode)({min:0,max:1}),stalactite_bluntness:(0,k.FloatProvider)({min:.1,max:10}),stalagmite_bluntness:(0,k.FloatProvider)({min:.1,max:10}),wind_speed:(0,k.FloatProvider)({min:0,max:2}),min_radius_for_wind:(0,i.NumberNode)({integer:!0,min:0,max:100}),min_bluntness_for_wind:(0,i.NumberNode)({min:0,max:5})},"minecraft:nether_forest_vegetation":{state_provider:e("block_state_provider"),spread_width:(0,i.NumberNode)({integer:!0,min:1}),spread_height:(0,i.NumberNode)({integer:!0,min:1})},"minecraft:netherrack_replace_blobs":{state:e("block_state"),target:e("block_state"),radius:(0,k.IntProvider)({min:0,max:12})},"minecraft:no_bonemeal_flower":a,"minecraft:ore":f,"minecraft:pointed_dripstone":{chance_of_taller_dripstone:(0,i.Opt)((0,i.NumberNode)({min:0,max:1})),chance_of_directional_spread:(0,i.Opt)((0,i.NumberNode)({min:0,max:1})),chance_of_spread_radius2:(0,i.Opt)((0,i.NumberNode)({min:0,max:1})),chance_of_spread_radius3:(0,i.Opt)((0,i.NumberNode)({min:0,max:1}))},"minecraft:random_patch":a,"minecraft:random_boolean_selector":{feature_false:n,feature_true:n},"minecraft:random_selector":{features:(0,i.ListNode)((0,i.ObjectNode)({chance:(0,i.NumberNode)({min:0,max:1}),feature:n})),default:n},"minecraft:replace_single_block":{targets:(0,i.ListNode)(B)},"minecraft:root_system":{required_vertical_space_for_tree:(0,i.NumberNode)({integer:!0,min:1,max:64}),root_radius:(0,i.NumberNode)({integer:!0,min:1,max:64}),root_placement_attempts:(0,i.NumberNode)({integer:!0,min:1,max:256}),root_column_max_height:(0,i.NumberNode)({integer:!0,min:1,max:4096}),hanging_root_radius:(0,i.NumberNode)({integer:!0,min:1,max:64}),hanging_roots_vertical_span:(0,i.NumberNode)({integer:!0,min:0,max:16}),hanging_root_placement_attempts:(0,i.NumberNode)({integer:!0,min:0,max:256}),allowed_vertical_water_for_tree:(0,i.NumberNode)({integer:!0,min:1,max:64}),root_replaceable:r({validator:"resource",params:{pool:"$tag/block"}}),root_state_provider:e("block_state_provider"),hanging_root_state_provider:e("block_state_provider"),allowed_tree_position:e("block_predicate_worldgen"),feature:n},"minecraft:scattered_ore":f,"minecraft:sea_pickle":{count:(0,k.IntProvider)({min:0,max:256})},"minecraft:seagrass":{probability:(0,i.NumberNode)({min:0,max:1})},"minecraft:simple_block":{to_place:e("block_state_provider")},"minecraft:simple_random_selector":{features:(0,i.ListNode)(n)},"minecraft:spring_feature":{state:e("fluid_state"),rock_count:(0,i.NumberNode)({integer:!0}),hole_count:(0,i.NumberNode)({integer:!0}),requires_block_below:(0,i.BooleanNode)(),valid_blocks:(0,i.ListNode)(r({validator:"resource",params:{pool:"block"}}))},"minecraft:tree":{ignore_vines:(0,i.Opt)((0,i.BooleanNode)()),force_dirt:(0,i.Opt)((0,i.BooleanNode)()),minimum_size:e("feature_size"),dirt_provider:e("block_state_provider"),trunk_provider:e("block_state_provider"),foliage_provider:e("block_state_provider"),trunk_placer:(0,i.ObjectNode)({type:r({validator:"resource",params:{pool:"worldgen/trunk_placer_type"}}),base_height:(0,i.NumberNode)({integer:!0,min:0,max:32}),height_rand_a:(0,i.NumberNode)({integer:!0,min:0,max:24}),height_rand_b:(0,i.NumberNode)({integer:!0,min:0,max:24}),[i.Switch]:[{push:"type"}],[i.Case]:{"minecraft:bending_trunk_placer":{bend_length:(0,k.IntProvider)({min:1,max:64}),min_height_for_leaves:(0,i.Opt)((0,i.NumberNode)({integer:!0,min:1}))}}},{context:"trunk_placer"}),foliage_placer:(0,i.ObjectNode)({type:r({validator:"resource",params:{pool:"worldgen/foliage_placer_type"}}),radius:(0,k.IntProvider)({min:0,max:16}),offset:(0,k.IntProvider)({min:0,max:16}),[i.Switch]:[{push:"type"}],[i.Case]:{"minecraft:blob_foliage_placer":{height:(0,i.NumberNode)({integer:!0,min:0,max:16})},"minecraft:bush_foliage_placer":{height:(0,i.NumberNode)({integer:!0,min:0,max:16})},"minecraft:fancy_foliage_placer":{height:(0,i.NumberNode)({integer:!0,min:0,max:16})},"minecraft:jungle_foliage_placer":{height:(0,i.NumberNode)({integer:!0,min:0,max:16})},"minecraft:mega_pine_foliage_placer":{crown_height:(0,k.IntProvider)({min:0,max:24})},"minecraft:pine_foliage_placer":{height:(0,k.IntProvider)({min:0,max:24})},"minecraft:random_spread_foliage_placer":{foliage_height:(0,k.IntProvider)({min:1,max:512}),leaf_placement_attempts:(0,i.NumberNode)({integer:!0,min:0,max:256})},"minecraft:spruce_foliage_placer":{trunk_height:(0,k.IntProvider)({min:0,max:24})}}},{context:"foliage_placer",disableSwitchContext:!0}),decorators:(0,i.ListNode)((0,i.ObjectNode)({type:r({validator:"resource",params:{pool:"worldgen/tree_decorator_type"}}),[i.Switch]:[{push:"type"}],[i.Case]:{"minecraft:alter_ground":{provider:e("block_state_provider")},"minecraft:beehive":{probability:(0,i.NumberNode)({min:0,max:1})},"minecraft:cocoa":{probability:(0,i.NumberNode)({min:0,max:1})}}},{context:"tree_decorator"}))},"minecraft:twisting_vines":{spread_width:(0,i.NumberNode)({integer:!0,min:1}),spread_height:(0,i.NumberNode)({integer:!0,min:1}),max_height:(0,i.NumberNode)({integer:!0,min:1})},"minecraft:underwater_magma":{floor_search_range:(0,i.NumberNode)({integer:!0,min:0,max:512}),placement_radius_around_floor:(0,i.NumberNode)({integer:!0,min:0,max:64}),placement_probability_per_valid_position:(0,i.NumberNode)({min:0,max:1})},"minecraft:vegetation_patch":O,"minecraft:waterlogged_vegetation_patch":O}},{context:"feature"})},{context:"feature"}),{default:()=>({type:"minecraft:tree",config:{minimum_size:{type:"minecraft:two_layers_feature_size"},trunk_placer:{type:"minecraft:straight_trunk_placer",base_height:5,height_rand_a:2,height_rand_b:0},foliage_placer:{type:"minecraft:blob_foliage_placer",radius:2,offset:0,height:3}}})})),o.register("placed_feature",(0,i.Mod)((0,i.ObjectNode)({feature:d,placement:(0,i.ListNode)(e("decorator"))},{context:"placed_feature"}),{default:()=>({feature:"minecraft:oak",placement:[{type:"minecraft:count",count:4},{type:"minecraft:in_square"},{type:"minecraft:heightmap",heightmap:"OCEAN_FLOOR"}]})})),o.register("feature_size",(0,i.Mod)((0,i.ObjectNode)({type:r({validator:"resource",params:{pool:"worldgen/feature_size_type"}}),min_clipped_height:(0,i.Opt)((0,i.NumberNode)({min:0,max:80})),[i.Switch]:[{push:"type"}],[i.Case]:{"minecraft:two_layers_feature_size":{limit:(0,i.Opt)((0,i.NumberNode)({integer:!0,min:0,max:81})),lower_size:(0,i.Opt)((0,i.NumberNode)({integer:!0,min:0,max:16})),upper_size:(0,i.Opt)((0,i.NumberNode)({integer:!0,min:0,max:16}))},"minecraft:three_layers_feature_size":{limit:(0,i.Opt)((0,i.NumberNode)({integer:!0,min:0,max:80})),upper_limit:(0,i.Opt)((0,i.NumberNode)({integer:!0,min:0,max:80})),lower_size:(0,i.Opt)((0,i.NumberNode)({integer:!0,min:0,max:16})),middle_size:(0,i.Opt)((0,i.NumberNode)({integer:!0,min:0,max:16})),upper_size:(0,i.Opt)((0,i.NumberNode)({integer:!0,min:0,max:16}))}}},{disableSwitchContext:!0}),{default:()=>({type:"minecraft:two_layers_feature_size"})}));const h={seed:(0,i.NumberNode)({integer:!0}),noise:e("noise_parameters"),scale:(0,i.Mod)((0,i.NumberNode)({min:Number.MIN_VALUE}),{default:()=>1})};o.register("block_state_provider",(0,i.Mod)((0,i.ObjectNode)({type:r({validator:"resource",params:{pool:"worldgen/block_state_provider_type"}}),[i.Switch]:[{push:"type"}],[i.Case]:{"minecraft:dual_noise_provider":D(g({},h),{variety:(0,k.InclusiveRange)({integer:!0,min:1,max:64}),slow_noise:e("noise_parameters"),slow_scale:(0,i.Mod)((0,i.NumberNode)({min:Number.MIN_VALUE}),{default:()=>1}),states:(0,i.ListNode)(e("block_state"))}),"minecraft:noise_threshold_provider":D(g({},h),{threshold:(0,i.NumberNode)({min:-1,max:1}),high_chance:(0,i.NumberNode)({min:0,max:1}),default_state:e("block_state"),low_states:(0,i.ListNode)(e("block_state")),high_states:(0,i.ListNode)(e("block_state"))}),"minecraft:noise_provider":D(g({},h),{states:(0,i.ListNode)(e("block_state"))}),"minecraft:randomized_int_state_provider":{property:r(),values:(0,k.IntProvider)(),source:e("block_state_provider")},"minecraft:rotated_block_provider":{state:e("block_state")},"minecraft:simple_state_provider":{state:e("block_state")},"minecraft:weighted_state_provider":{entries:(0,i.ListNode)((0,i.Mod)((0,i.ObjectNode)({weight:(0,i.NumberNode)({integer:!0,min:1}),data:e("block_state")}),{default:()=>({data:{}})}))}}},{context:"block_state_provider"}),{default:()=>({type:"minecraft:simple_state_provider"})}));const w={offset:(0,i.Opt)((0,i.ListNode)((0,i.NumberNode)({integer:!0,min:-16,max:16}),{minLength:3,maxLength:3}))};o.register("block_predicate_worldgen",(0,i.Mod)((0,i.ObjectNode)({type:r({validator:"resource",params:{pool:"block_predicate_type"}}),[i.Switch]:[{push:"type"}],[i.Case]:{"minecraft:all_of":{predicates:(0,i.ListNode)(e("block_predicate_worldgen"))},"minecraft:any_of":{predicates:(0,i.ListNode)(e("block_predicate_worldgen"))},"minecraft:has_sturdy_face":D(g({},w),{direction:r({enum:"direction"})}),"minecraft:inside_world_bounds":g({},w),"minecraft:matching_block_tag":D(g({},w),{tag:r({validator:"resource",params:{pool:"$tag/block"}})}),"minecraft:matching_blocks":D(g({},w),{blocks:(0,i.ListNode)(r({validator:"resource",params:{pool:"block"}}))}),"minecraft:matching_fluids":D(g({},w),{fluids:(0,i.ListNode)(r({validator:"resource",params:{pool:"fluid"}}))}),"minecraft:not":{predicate:e("block_predicate_worldgen")},"minecraft:would_survive":D(g({},w),{state:e("block_state")})}},{context:"block_predicate"}),{default:()=>({type:"minecraft:true"})}))}we.initFeatureSchemas=Nt;var Se={};Object.defineProperty(Se,"__esModule",{value:!0});Se.initNoiseSettingsSchemas=void 0;const _=S,ht=F;function yt(o,t){const e=_.Reference.bind(void 0,o),r=_.StringNode.bind(void 0,t);o.register("noise_settings",(0,_.Mod)((0,_.ObjectNode)({sea_level:(0,_.NumberNode)({integer:!0}),disable_mob_generation:(0,_.BooleanNode)(),noise_caves_enabled:(0,_.BooleanNode)(),noodle_caves_enabled:(0,_.BooleanNode)(),aquifers_enabled:(0,_.BooleanNode)(),ore_veins_enabled:(0,_.BooleanNode)(),legacy_random_source:(0,_.BooleanNode)(),default_block:e("block_state"),default_fluid:e("block_state"),noise:(0,_.ObjectNode)({min_y:(0,_.NumberNode)({integer:!0,min:-2048,max:2047}),height:(0,_.NumberNode)({integer:!0,min:0,max:4096}),size_horizontal:(0,_.NumberNode)({integer:!0}),size_vertical:(0,_.NumberNode)({integer:!0}),island_noise_override:(0,_.Opt)((0,_.BooleanNode)()),amplified:(0,_.Opt)((0,_.BooleanNode)()),large_biomes:(0,_.Opt)((0,_.BooleanNode)()),sampling:(0,_.ObjectNode)({xz_scale:(0,_.NumberNode)(),y_scale:(0,_.NumberNode)(),xz_factor:(0,_.NumberNode)(),y_factor:(0,_.NumberNode)()}),bottom_slide:e("noise_slider"),top_slide:e("noise_slider"),terrain_shaper:e("terrain_shaper")}),surface_rule:e("material_rule"),structures:e("generator_structures")},{context:"noise_settings"}),d=>({default:()=>ht.DefaultNoiseSettings,validate:(n,a,l,I)=>{var B,f,O,h;return a=d.validate(n,a,l,I),((B=a==null?void 0:a.noise)===null||B===void 0?void 0:B.min_y)+((f=a==null?void 0:a.noise)===null||f===void 0?void 0:f.height)>2047&&l.add(n.push("noise").push("height"),"error.min_y_plus_height",2047),((O=a==null?void 0:a.noise)===null||O===void 0?void 0:O.height)%16!==0&&l.add(n.push("noise").push("height"),"error.height_multiple",16),((h=a==null?void 0:a.noise)===null||h===void 0?void 0:h.min_y)%16!==0&&l.add(n.push("noise").push("min_y"),"error.min_y_multiple",16),a}}))),o.register("noise_slider",(0,_.ObjectNode)({target:(0,_.NumberNode)(),size:(0,_.NumberNode)({integer:!0,min:0}),offset:(0,_.NumberNode)({integer:!0})})),o.register("generator_structures",(0,_.ObjectNode)({stronghold:(0,_.Opt)((0,_.ObjectNode)({distance:(0,_.NumberNode)({integer:!0,min:0,max:1023}),spread:(0,_.NumberNode)({integer:!0,min:0,max:1023}),count:(0,_.NumberNode)({integer:!0,min:1,max:4095})})),structures:(0,_.MapNode)(r({validator:"resource",params:{pool:"worldgen/structure_feature"}}),(0,_.Mod)((0,_.ObjectNode)({spacing:(0,_.NumberNode)({integer:!0,min:0,max:4096}),separation:(0,_.Mod)((0,_.NumberNode)({integer:!0,min:0,max:4096}),d=>({validate:(n,a,l,I)=>(n.pop().push("spacing").get()<=a&&l.add(n,"error.separation_smaller_spacing"),d.validate(n,a,l,I))})),salt:(0,_.NumberNode)({integer:!0,min:0})},{context:"generator_structure"}),{default:()=>({spacing:10,separation:5,salt:0})}))})),o.register("generator_layer",(0,_.Mod)((0,_.ObjectNode)({block:r({validator:"resource",params:{pool:"block"}}),height:(0,_.NumberNode)({integer:!0,min:1})}),{default:()=>({block:"minecraft:stone",height:1})})),o.register("terrain_shaper",(0,_.Mod)((0,_.ObjectNode)({offset:e("terrain_spline"),factor:e("terrain_spline"),jaggedness:e("terrain_spline")},{context:"terrain_shaper"}),{default:()=>({offset:0,factor:0,jaggedness:0})})),o.register("terrain_spline",(0,_.Mod)((0,_.ChoiceNode)([{type:"number",node:(0,_.NumberNode)()},{type:"object",node:(0,_.ObjectNode)({coordinate:(0,_.Mod)(r({enum:["continents","erosion","weirdness","ridges"]}),{default:()=>"continents"}),points:(0,_.ListNode)((0,_.ObjectNode)({location:(0,_.NumberNode)(),derivative:(0,_.NumberNode)(),value:e("terrain_spline")}))},{category:"function"})}],{context:"terrain_spline",choiceContext:"terrain_spline"}),{default:()=>0}))}Se.initNoiseSettingsSchemas=yt;var je={};Object.defineProperty(je,"__esModule",{value:!0});je.initStructureFeatureSchemas=void 0;const z=S;function vt(o,t){const e=z.StringNode.bind(void 0,t),r=z.Reference.bind(void 0,o),d={start_pool:e({validator:"resource",params:{pool:"$worldgen/template_pool"}}),size:(0,z.NumberNode)({integer:!0})};o.register("configured_structure_feature",(0,z.Mod)((0,z.ObjectNode)({type:e({validator:"resource",params:{pool:"worldgen/structure_feature"}}),config:(0,z.ObjectNode)({[z.Switch]:["pop",{push:"type"}],[z.Case]:{"minecraft:bastion_remnant":d,"minecraft:buried_treasure":{probability:(0,z.NumberNode)({min:0,max:1})},"minecraft:mineshaft":{type:e({enum:["normal","mesa"]}),probability:(0,z.NumberNode)({min:0,max:1})},"minecraft:nether_fossil":{height:r("height_provider")},"minecraft:ocean_ruin":{biome_temp:e({enum:["cold","warm"]}),large_probability:(0,z.NumberNode)({min:0,max:1}),cluster_probability:(0,z.NumberNode)({min:0,max:1})},"minecraft:pillager_outpost":d,"minecraft:ruined_portal":{portal_type:e({enum:["standard","desert","jungle","mountain","nether","ocean","swamp"]})},"minecraft:shipwreck":{is_beached:(0,z.Opt)((0,z.BooleanNode)())},"minecraft:village":d}},{context:"structure_feature",disableSwitchContext:!0})},{context:"structure_feature"}),{default:()=>({type:"minecraft:bastion_remnant",config:{start_pool:"minecraft:bastion/starts",size:6}})}))}je.initStructureFeatureSchemas=vt;var Me={};Object.defineProperty(Me,"__esModule",{value:!0});Me.initSurfaceRuleSchemas=void 0;const j=S;function Ot(o,t){const e=j.StringNode.bind(void 0,t),r=j.Reference.bind(void 0,o);o.register("material_rule",(0,j.Mod)((0,j.ObjectNode)({type:e({validator:"resource",params:{pool:"worldgen/material_rule"}}),[j.Switch]:[{push:"type"}],[j.Case]:{"minecraft:block":{result_state:r("block_state")},"minecraft:condition":{if_true:r("material_condition"),then_run:r("material_rule")},"minecraft:sequence":{sequence:(0,j.ListNode)(r("material_rule"))}}},{context:"material_rule",category:"pool"}),{default:()=>({type:"minecraft:block",result_state:{Name:"minecraft:stone"}})})),o.register("material_condition",(0,j.Mod)((0,j.ObjectNode)({type:e({validator:"resource",params:{pool:"worldgen/material_condition"}}),[j.Switch]:[{push:"type"}],[j.Case]:{"minecraft:biome":{biome_is:(0,j.ListNode)(e({validator:"resource",params:{pool:"$worldgen/biome"}}))},"minecraft:noise_threshold":{noise:e({validator:"resource",params:{pool:"$worldgen/noise"}}),min_threshold:(0,j.NumberNode)(),max_threshold:(0,j.NumberNode)()},"minecraft:not":{invert:r("material_condition")},"minecraft:stone_depth":{offset:(0,j.NumberNode)({integer:!0}),surface_type:e({enum:"cave_surface"}),add_surface_depth:(0,j.BooleanNode)(),add_surface_secondary_depth:(0,j.BooleanNode)()},"minecraft:vertical_gradient":{random_name:e(),true_at_and_below:r("vertical_anchor"),false_at_and_above:r("vertical_anchor")},"minecraft:water":{offset:(0,j.NumberNode)({integer:!0}),surface_depth_multiplier:(0,j.NumberNode)({integer:!0,min:-20,max:20}),add_stone_depth:(0,j.BooleanNode)()},"minecraft:y_above":{anchor:r("vertical_anchor"),surface_depth_multiplier:(0,j.NumberNode)({integer:!0,min:-20,max:20}),add_stone_depth:(0,j.BooleanNode)()}}},{context:"material_condition"}),{default:()=>({type:"minecraft:biome",is_biome:"minecraft:plains"})}))}Me.initSurfaceRuleSchemas=Ot;var Ce={};Object.defineProperty(Ce,"__esModule",{value:!0});Ce.initTemplatePoolSchemas=void 0;const T=S,qe=Z;function kt(o,t){const e=T.Reference.bind(void 0,o),r=T.StringNode.bind(void 0,t);o.register("template_pool",(0,T.Mod)((0,T.ObjectNode)({name:r(),fallback:r(),elements:(0,T.ListNode)(e("template_weighted_element"))},{context:"template_pool"}),{default:()=>({fallback:"minecraft:empty",elements:[{weight:1,element:{element_type:"minecraft:single_pool_element",projection:"rigid",processors:"minecraft:empty"}}]})})),o.register("template_weighted_element",(0,T.Mod)((0,T.ObjectNode)({weight:(0,T.NumberNode)({integer:!0,min:1}),element:e("template_element")},{category:"pool"}),{default:()=>({weight:1,element:{element_type:"minecraft:single_pool_element",projection:"rigid",processors:"minecraft:empty"}})})),o.register("template_element",(0,T.Mod)((0,T.ObjectNode)({element_type:r({validator:"resource",params:{pool:"worldgen/structure_pool_element"}}),projection:r({enum:["rigid","terrain_matching"]}),[T.Switch]:[{push:"element_type"}],[T.Case]:{"minecraft:feature_pool_element":{feature:r({validator:"resource",params:{pool:"$worldgen/placed_feature"}})},"minecraft:legacy_single_pool_element":{location:r({validator:"resource",params:{pool:"$structure"}}),processors:qe.Processors},"minecraft:list_pool_element":{elements:(0,T.ListNode)(e("template_element"))},"minecraft:single_pool_element":{location:r({validator:"resource",params:{pool:"$structure"}}),processors:qe.Processors}}},{context:"template_element",disableSwitchContext:!0}),{default:()=>({element_type:"minecraft:single_pool_element",projection:"rigid",processors:"minecraft:empty"})}))}Ce.initTemplatePoolSchemas=kt;Object.defineProperty(ve,"__esModule",{value:!0});ve.initWorldgenSchemas=void 0;const xt=Oe,wt=ke,St=xe,jt=we,Mt=Se,Ct=Z,Pt=je,Lt=Me,Bt=Ce;function $t(o,t){(0,Ct.initProcessorListSchemas)(o,t),(0,xt.initBiomeSchemas)(o,t),(0,wt.initCarverSchemas)(o,t),(0,St.initDecoratorSchemas)(o,t),(0,jt.initFeatureSchemas)(o,t),(0,Mt.initNoiseSettingsSchemas)(o,t),(0,Pt.initStructureFeatureSchemas)(o,t),(0,Lt.initSurfaceRuleSchemas)(o,t),(0,Bt.initTemplatePoolSchemas)(o,t)}ve.initWorldgenSchemas=$t;var Pe={};Object.defineProperty(Pe,"__esModule",{value:!0});Pe.initWorldSettingsSchemas=void 0;const X=S;function zt(o,t){const e=X.Reference.bind(void 0,o),r=X.StringNode.bind(void 0,t);o.register("world_settings",(0,X.Mod)((0,X.ObjectNode)({generate_features:(0,X.BooleanNode)(),bonus_chest:(0,X.BooleanNode)(),seed:(0,X.NumberNode)({integer:!0}),dimensions:(0,X.MapNode)(r({validator:"resource",params:{pool:"$dimension"}}),e("dimension"))},{context:"world_settings"}),{default:()=>{const d=Math.floor(Math.random()*4294967296)-2147483648;return{generate_features:!0,bonus_chest:!1,seed:d,dimensions:{"minecraft:overworld":{type:"minecraft:overworld",generator:{type:"minecraft:noise",seed:d,biome_source:{type:"minecraft:multi_noise",preset:"minecraft:overworld"},settings:"minecraft:overworld"}},"minecraft:the_nether":{type:"minecraft:the_nether",generator:{type:"minecraft:noise",seed:d,biome_source:{type:"minecraft:multi_noise",preset:"minecraft:nether"},settings:"minecraft:nether"}},"minecraft:the_end":{type:"minecraft:the_end",generator:{type:"minecraft:noise",seed:d,biome_source:{type:"minecraft:the_end",seed:d},settings:"minecraft:end"}}}}}}))}Pe.initWorldSettingsSchemas=zt;Object.defineProperty(ae,"__esModule",{value:!0});ae.initSchemas=void 0;const Rt=ce,Tt=de,qt=F,It=me,Ft=_e,Dt=pe,At=ue,Et=fe,Wt=be,Ut=ge,Vt=Ne,Gt=he,Ht=ye,Kt=ve,Xt=Pe;function Zt(o,t){(0,qt.initCommonSchemas)(o,t),(0,Rt.initAdvancementSchemas)(o,t),(0,Tt.initAssetsSchemas)(o,t),(0,It.initConditionSchemas)(o,t),(0,Dt.initDimensionTypeSchemas)(o,t),(0,Ft.initDimensionSchemas)(o,t),(0,At.initItemModifierSchemas)(o,t),(0,Et.initLootTableSchemas)(o,t),(0,Wt.initPackMcmetaSchemas)(o,t),(0,Ut.initPredicatesSchemas)(o,t),(0,Vt.initRecipeSchemas)(o,t),(0,Gt.initTagsSchemas)(o,t),(0,Ht.initTextComponentSchemas)(o,t),(0,Kt.initWorldgenSchemas)(o,t),(0,Xt.initWorldSettingsSchemas)(o,t)}ae.initSchemas=Zt;var Yt=re&&re.__createBinding||(Object.create?function(o,t,e,r){r===void 0&&(r=e);var d=Object.getOwnPropertyDescriptor(t,e);(!d||("get"in d?!t.__esModule:d.writable||d.configurable))&&(d={enumerable:!0,get:function(){return t[e]}}),Object.defineProperty(o,r,d)}:function(o,t,e,r){r===void 0&&(r=e),o[r]=t[e]}),Jt=re&&re.__setModuleDefault||(Object.create?function(o,t){Object.defineProperty(o,"default",{enumerable:!0,value:t})}:function(o,t){o.default=t}),Qt=re&&re.__importStar||function(o){if(o&&o.__esModule)return o;var t={};if(o!=null)for(var e in o)e!=="default"&&Object.prototype.hasOwnProperty.call(o,e)&&Yt(t,o,e);return Jt(t,o),t};Object.defineProperty(G,"__esModule",{value:!0});var Ie=G.getSchemas=Ae=G.getCollections=De=G.lootContext=void 0;const Fe=S,er=ne,tr=ae;var De=G.lootContext=Qt(q);function rr(){const o=new Fe.CollectionRegistry;return(0,er.initCollections)(o),o}var Ae=G.getCollections=rr;function or(o){const t=new Fe.SchemaRegistry;return(0,tr.initSchemas)(t,o),t}Ie=G.getSchemas=or;var cr=He({__proto__:null,get getSchemas(){return Ie},get getCollections(){return Ae},get lootContext(){return De},default:G},[G]);export{cr as i}; +//# sourceMappingURL=index.01484bab.js.map diff --git a/assets/index.626a14e3.js.map b/assets/index.01484bab.js.map similarity index 99% rename from assets/index.626a14e3.js.map rename to assets/index.01484bab.js.map index a1329bab..e7055228 100644 --- a/assets/index.626a14e3.js.map +++ b/assets/index.01484bab.js.map @@ -1 +1 @@ -{"version":3,"file":"index.626a14e3.js","sources":["../../node_modules/@mcschema/java-1.18/lib/Collections.js","../../node_modules/@mcschema/java-1.18/lib/schemas/Advancement.js","../../node_modules/@mcschema/java-1.18/lib/schemas/assets/Model.js","../../node_modules/@mcschema/java-1.18/lib/schemas/assets/BlockDefinition.js","../../node_modules/@mcschema/java-1.18/lib/schemas/assets/index.js","../../node_modules/@mcschema/java-1.18/lib/schemas/Common.js","../../node_modules/@mcschema/java-1.18/lib/schemas/Condition.js","../../node_modules/@mcschema/java-1.18/lib/schemas/Dimension.js","../../node_modules/@mcschema/java-1.18/lib/schemas/DimensionType.js","../../node_modules/@mcschema/java-1.18/lib/schemas/ItemModifier.js","../../node_modules/@mcschema/java-1.18/lib/LootContext.js","../../node_modules/@mcschema/java-1.18/lib/schemas/LootTable.js","../../node_modules/@mcschema/java-1.18/lib/schemas/PackMcmeta.js","../../node_modules/@mcschema/java-1.18/lib/schemas/Predicates.js","../../node_modules/@mcschema/java-1.18/lib/schemas/Recipe.js","../../node_modules/@mcschema/java-1.18/lib/schemas/Tags.js","../../node_modules/@mcschema/java-1.18/lib/schemas/TextComponent.js","../../node_modules/@mcschema/java-1.18/lib/schemas/worldgen/Biome.js","../../node_modules/@mcschema/java-1.18/lib/schemas/worldgen/Carver.js","../../node_modules/@mcschema/java-1.18/lib/schemas/worldgen/Decorator.js","../../node_modules/@mcschema/java-1.18/lib/schemas/worldgen/ProcessorList.js","../../node_modules/@mcschema/java-1.18/lib/schemas/worldgen/Feature.js","../../node_modules/@mcschema/java-1.18/lib/schemas/worldgen/NoiseSettings.js","../../node_modules/@mcschema/java-1.18/lib/schemas/worldgen/StructureFeature.js","../../node_modules/@mcschema/java-1.18/lib/schemas/worldgen/SurfaceRule.js","../../node_modules/@mcschema/java-1.18/lib/schemas/worldgen/TemplatePool.js","../../node_modules/@mcschema/java-1.18/lib/schemas/worldgen/index.js","../../node_modules/@mcschema/java-1.18/lib/schemas/WorldSettings.js","../../node_modules/@mcschema/java-1.18/lib/schemas/index.js","../../node_modules/@mcschema/java-1.18/lib/index.js"],"sourcesContent":["\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initCollections = void 0;\r\nfunction initCollections(collections) {\r\n collections.register('advancement_trigger', [\r\n 'minecraft:bee_nest_destroyed',\r\n 'minecraft:bred_animals',\r\n 'minecraft:brewed_potion',\r\n 'minecraft:changed_dimension',\r\n 'minecraft:channeled_lightning',\r\n 'minecraft:construct_beacon',\r\n 'minecraft:consume_item',\r\n 'minecraft:cured_zombie_villager',\r\n 'minecraft:effects_changed',\r\n 'minecraft:enchanted_item',\r\n 'minecraft:enter_block',\r\n 'minecraft:entity_hurt_player',\r\n 'minecraft:entity_killed_player',\r\n 'minecraft:fall_from_height',\r\n 'minecraft:filled_bucket',\r\n 'minecraft:fishing_rod_hooked',\r\n 'minecraft:hero_of_the_village',\r\n 'minecraft:impossible',\r\n 'minecraft:inventory_changed',\r\n 'minecraft:item_durability_changed',\r\n 'minecraft:item_used_on_block',\r\n 'minecraft:killed_by_crossbow',\r\n 'minecraft:levitation',\r\n 'minecraft:lightning_strike',\r\n 'minecraft:location',\r\n 'minecraft:nether_travel',\r\n 'minecraft:placed_block',\r\n 'minecraft:player_generates_container_loot',\r\n 'minecraft:player_hurt_entity',\r\n 'minecraft:player_interacted_with_entity',\r\n 'minecraft:player_killed_entity',\r\n 'minecraft:recipe_unlocked',\r\n 'minecraft:ride_entity_in_lava',\r\n 'minecraft:shot_crossbow',\r\n 'minecraft:slept_in_bed',\r\n 'minecraft:slide_down_block',\r\n 'minecraft:started_riding',\r\n 'minecraft:summoned_entity',\r\n 'minecraft:tame_animal',\r\n 'minecraft:target_hit',\r\n 'minecraft:tick',\r\n 'minecraft:thrown_item_picked_up_by_entity',\r\n 'minecraft:used_ender_eye',\r\n 'minecraft:used_totem',\r\n 'minecraft:using_item',\r\n 'minecraft:villager_trade',\r\n 'minecraft:voluntary_exile'\r\n ]);\r\n collections.register('keybind', [\r\n 'key.advancements',\r\n 'key.attack',\r\n 'key.back',\r\n 'key.chat',\r\n 'key.command',\r\n 'key.drop',\r\n 'key.forward',\r\n 'key.fullscreen',\r\n 'key.hotbar.1',\r\n 'key.hotbar.2',\r\n 'key.hotbar.3',\r\n 'key.hotbar.4',\r\n 'key.hotbar.5',\r\n 'key.hotbar.6',\r\n 'key.hotbar.7',\r\n 'key.hotbar.8',\r\n 'key.hotbar.9',\r\n 'key.inventory',\r\n 'key.jump',\r\n 'key.left',\r\n 'key.loadToolbarActivator',\r\n 'key.pickItem',\r\n 'key.playerlist',\r\n 'key.right',\r\n 'key.saveToolbarActivator',\r\n 'key.screenshot',\r\n 'key.smoothCamera',\r\n 'key.sneak',\r\n 'key.spectatorOutlines',\r\n 'key.sprint',\r\n 'key.swapOffhand',\r\n 'key.togglePerspective',\r\n 'key.use'\r\n ]);\r\n collections.register('slot', [\r\n 'mainhand',\r\n 'offhand',\r\n 'head',\r\n 'chest',\r\n 'legs',\r\n 'feet'\r\n ]);\r\n collections.register('gamemode', [\r\n 'survival',\r\n 'creative',\r\n 'adventure',\r\n 'spectator'\r\n ]);\r\n collections.register('entity_source', [\r\n 'this',\r\n 'killer',\r\n 'direct_killer',\r\n 'killer_player'\r\n ]);\r\n collections.register('copy_source', [\r\n 'block_entity',\r\n 'this',\r\n 'killer',\r\n 'killer_player'\r\n ]);\r\n collections.register('loot_table_apply_bonus_formula', [\r\n 'minecraft:uniform_bonus_count',\r\n 'minecraft:binomial_with_bonus_count',\r\n 'minecraft:ore_drops'\r\n ]);\r\n collections.register('map_decoration', [\r\n 'mansion',\r\n 'monument',\r\n 'player',\r\n 'frame',\r\n 'red_marker',\r\n 'blue_marker',\r\n 'target_x',\r\n 'target_point',\r\n 'player_off_map',\r\n 'player_off_limits',\r\n 'red_x',\r\n 'banner_white',\r\n 'banner_orange',\r\n 'banner_magenta',\r\n 'banner_light_blue',\r\n 'banner_yellow',\r\n 'banner_lime',\r\n 'banner_pink',\r\n 'banner_gray',\r\n 'banner_light_gray',\r\n 'banner_cyan',\r\n 'banner_purple',\r\n 'banner_blue',\r\n 'banner_brown',\r\n 'banner_green',\r\n 'banner_red',\r\n 'banner_black'\r\n ]);\r\n collections.register('map_feature', [\r\n 'bastion_remnant',\r\n 'buried_treasure',\r\n 'desert_pyramid',\r\n 'endcity',\r\n 'fortress',\r\n 'igloo',\r\n 'jungle_pyramid',\r\n 'mansion',\r\n 'mineshaft',\r\n 'monument',\r\n 'nether_fossil',\r\n 'ocean_ruin',\r\n 'pillager_outpost',\r\n 'ruined_portal',\r\n 'shipwreck',\r\n 'stronghold',\r\n 'swamp_hut',\r\n 'village'\r\n ]);\r\n collections.register('recipe_group', [\r\n 'bed',\r\n 'light_gray_dye',\r\n 'iron_ingot',\r\n 'wooden_stairs',\r\n 'black_dye',\r\n 'stained_terracotta',\r\n 'dyed_bed',\r\n 'magenta_dye',\r\n 'bark',\r\n 'rabbit_stew',\r\n 'light_blue_dye',\r\n 'wooden_fence_gate',\r\n 'planks',\r\n 'stained_glass',\r\n 'wooden_door',\r\n 'stained_glass_pane',\r\n 'wooden_fence',\r\n 'sticks',\r\n 'concrete_powder',\r\n 'wooden_pressure_plate',\r\n 'boat',\r\n 'brown_dye',\r\n 'yellow_dye',\r\n 'bonemeal',\r\n 'red_dye',\r\n 'wooden_trapdoor',\r\n 'wooden_button',\r\n 'gold_ingot',\r\n 'pink_dye',\r\n 'wooden_slab',\r\n 'orange_dye',\r\n 'carpet',\r\n 'sign',\r\n 'wool',\r\n 'sugar',\r\n 'blue_dye',\r\n 'white_dye',\r\n 'banner',\r\n 'netherite_ingot'\r\n ]);\r\n collections.register('biome_category', [\r\n 'beach',\r\n 'desert',\r\n 'extreme_hills',\r\n 'forest',\r\n 'icy',\r\n 'jungle',\r\n 'mesa',\r\n 'mountain',\r\n 'mushroom',\r\n 'nether',\r\n 'none',\r\n 'ocean',\r\n 'plains',\r\n 'river',\r\n 'savanna',\r\n 'swamp',\r\n 'taiga',\r\n 'the_end',\r\n 'underground'\r\n ]);\r\n collections.register('heightmap_type', [\r\n 'MOTION_BLOCKING',\r\n 'MOTION_BLOCKING_NO_LEAVES',\r\n 'OCEAN_FLOOR',\r\n 'OCEAN_FLOOR_WG',\r\n 'WORLD_SURFACE',\r\n 'WORLD_SURFACE_WG'\r\n ]);\r\n collections.register('generation_step', [\r\n 'air',\r\n 'liquid'\r\n ]);\r\n collections.register('loot_context_type', [\r\n 'minecraft:empty',\r\n 'minecraft:chest',\r\n 'minecraft:command',\r\n 'minecraft:selector',\r\n 'minecraft:fishing',\r\n 'minecraft:entity',\r\n 'minecraft:gift',\r\n 'minecraft:barter',\r\n 'minecraft:advancement_reward',\r\n 'minecraft:advancement_entity',\r\n 'minecraft:generic',\r\n 'minecraft:block'\r\n ]);\r\n collections.register('banner_pattern', [\r\n 'base',\r\n 'square_bottom_left',\r\n 'square_bottom_right',\r\n 'square_top_left',\r\n 'square_top_right',\r\n 'stripe_bottom',\r\n 'stripe_top',\r\n 'stripe_left',\r\n 'stripe_right',\r\n 'stripe_center',\r\n 'stripe_middle',\r\n 'stripe_downright',\r\n 'stripe_downleft',\r\n 'small_stripes',\r\n 'cross',\r\n 'straight_cross',\r\n 'triangle_bottom',\r\n 'triangle_top',\r\n 'triangles_bottom',\r\n 'triangles_top',\r\n 'diagonal_left',\r\n 'diagonal_up_right',\r\n 'diagonal_up_left',\r\n 'diagonal_right',\r\n 'circle',\r\n 'rhombus',\r\n 'half_vertical',\r\n 'half_horizontal',\r\n 'half_vertical_right',\r\n 'half_horizontal_bottom',\r\n 'border',\r\n 'curly_border',\r\n 'gradient',\r\n 'gradient_up',\r\n 'bricks',\r\n 'globe',\r\n 'creeper',\r\n 'skull',\r\n 'flower',\r\n 'mojang',\r\n 'piglin'\r\n ]);\r\n collections.register('dye_color', [\r\n 'white',\r\n 'orange',\r\n 'magenta',\r\n 'light_blue',\r\n 'yellow',\r\n 'lime',\r\n 'pink',\r\n 'gray',\r\n 'light_gray',\r\n 'cyan',\r\n 'purple',\r\n 'blue',\r\n 'brown',\r\n 'green',\r\n 'red',\r\n 'black'\r\n ]);\r\n collections.register('cave_surface', [\r\n 'floor',\r\n 'ceiling'\r\n ]);\r\n collections.register('direction', [\r\n 'down',\r\n 'up',\r\n 'north',\r\n 'east',\r\n 'south',\r\n 'west'\r\n ]);\r\n collections.register('axis', [\r\n 'x',\r\n 'y',\r\n 'z'\r\n ]);\r\n collections.register('display_position', [\r\n 'firstperson_righthand',\r\n 'firstperson_lefthand',\r\n 'thirdperson_righthand',\r\n 'thirdperson_lefthand',\r\n 'gui',\r\n 'head',\r\n 'ground',\r\n 'fixed'\r\n ]);\r\n collections.register('gui_light', [\r\n 'front',\r\n 'side'\r\n ]);\r\n collections.register('item_model_predicates', [\r\n 'angle',\r\n 'blocking',\r\n 'broken',\r\n 'cast',\r\n 'charged',\r\n 'cooldown',\r\n 'custom_model_data',\r\n 'damage',\r\n 'damaged',\r\n 'firework',\r\n 'lefthanded',\r\n 'pull',\r\n 'pulling',\r\n 'throwing',\r\n 'time'\r\n ]);\r\n collections.register('cat_texture', [\r\n 'textures/entity/cat/tabby.png',\r\n 'textures/entity/cat/black.png',\r\n 'textures/entity/cat/red.png',\r\n 'textures/entity/cat/siamese.png',\r\n 'textures/entity/cat/british_shorthair.png',\r\n 'textures/entity/cat/calico.png',\r\n 'textures/entity/cat/persian.png',\r\n 'textures/entity/cat/ragdoll.png',\r\n 'textures/entity/cat/white.png',\r\n 'textures/entity/cat/jellie.png',\r\n 'textures/entity/cat/all_black.png'\r\n ]);\r\n}\r\nexports.initCollections = initCollections;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initAdvancementSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initAdvancementSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const EntityPredicate = (0, core_1.ChoiceNode)([\r\n {\r\n type: 'object',\r\n node: (0, core_1.Opt)(Reference('entity_predicate')),\r\n change: v => { var _a, _b; return (_b = (_a = v[0]) === null || _a === void 0 ? void 0 : _a.predicate) !== null && _b !== void 0 ? _b : ({}); }\r\n },\r\n {\r\n type: 'list',\r\n node: (0, core_1.ListNode)(Reference('condition')),\r\n change: v => [{\r\n condition: 'minecraft:entity_properties',\r\n predicate: v\r\n }]\r\n }\r\n ], { context: 'conditions' });\r\n schemas.register('advancement', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n display: (0, core_1.Opt)((0, core_1.Mod)((0, core_1.ObjectNode)({\r\n icon: (0, core_1.ObjectNode)({\r\n item: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n nbt: (0, core_1.Opt)(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:item', id: ['pop', { push: 'item' }] } } }))\r\n }),\r\n title: Reference('text_component'),\r\n description: Reference('text_component'),\r\n background: (0, core_1.Opt)(StringNode()),\r\n frame: (0, core_1.Opt)(StringNode({ enum: ['task', 'challenge', 'goal'] })),\r\n show_toast: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n announce_to_chat: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n hidden: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n }), {\r\n default: () => ({\r\n icon: {\r\n item: 'minecraft:stone'\r\n },\r\n title: '',\r\n description: ''\r\n })\r\n })),\r\n parent: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$advancement' } })),\r\n criteria: (0, core_1.MapNode)(StringNode(), Reference('advancement_criteria')),\r\n requirements: (0, core_1.Opt)((0, core_1.ListNode)((0, core_1.ListNode)(StringNode() // TODO: add validation\r\n ))),\r\n rewards: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n function: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$function' } })),\r\n loot: (0, core_1.Opt)((0, core_1.ListNode)(StringNode({ validator: 'resource', params: { pool: '$loot_table' } }))),\r\n recipes: (0, core_1.Opt)((0, core_1.ListNode)(StringNode({ validator: 'resource', params: { pool: '$recipe' } }))),\r\n experience: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true }))\r\n })),\r\n }, { context: 'advancement' }), {\r\n default: () => ({\r\n criteria: {\r\n requirement: {\r\n trigger: 'minecraft:location'\r\n }\r\n }\r\n })\r\n }));\r\n schemas.register('advancement_criteria', (0, core_1.ObjectNode)({\r\n trigger: StringNode({ validator: 'resource', params: { pool: collections.get('advancement_trigger') } }),\r\n conditions: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n player: (0, core_1.Mod)(EntityPredicate, {\r\n enabled: path => path.pop().push('trigger').get() !== 'minecraft:impossible'\r\n }),\r\n [core_1.Switch]: ['pop', { push: 'trigger' }],\r\n [core_1.Case]: {\r\n 'minecraft:bee_nest_destroyed': {\r\n block: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: 'block' } })),\r\n num_bees_inside: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n item: (0, core_1.Opt)(Reference('item_predicate'))\r\n },\r\n 'minecraft:bred_animals': {\r\n parent: EntityPredicate,\r\n partner: EntityPredicate,\r\n child: EntityPredicate\r\n },\r\n 'minecraft:brewed_potion': {\r\n potion: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: 'potion' } }))\r\n },\r\n 'minecraft:changed_dimension': {\r\n from: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$dimension' } })),\r\n to: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$dimension' } }))\r\n },\r\n 'minecraft:channeled_lightning': {\r\n victims: (0, core_1.Opt)((0, core_1.ListNode)(EntityPredicate))\r\n },\r\n 'minecraft:construct_beacon': {\r\n level: Reference('int_bounds')\r\n },\r\n 'minecraft:consume_item': {\r\n item: (0, core_1.Opt)(Reference('item_predicate'))\r\n },\r\n 'minecraft:cured_zombie_villager': {\r\n villager: EntityPredicate,\r\n zombie: EntityPredicate\r\n },\r\n 'minecraft:effects_changed': {\r\n effects: (0, core_1.Opt)((0, core_1.MapNode)(StringNode({ validator: 'resource', params: { pool: 'mob_effect' } }), (0, core_1.ObjectNode)({\r\n amplifier: Reference('int_bounds'),\r\n duration: Reference('int_bounds')\r\n }))),\r\n source: (0, core_1.Opt)(EntityPredicate)\r\n },\r\n 'minecraft:enter_block': {\r\n block: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: 'block' } })),\r\n state: (0, core_1.Opt)((0, core_1.MapNode)(StringNode(), StringNode(), { validation: { validator: 'block_state_map', params: { id: ['pop', { push: 'block' }] } } }))\r\n },\r\n 'minecraft:enchanted_item': {\r\n levels: Reference('int_bounds'),\r\n item: (0, core_1.Opt)(Reference('item_predicate'))\r\n },\r\n 'minecraft:entity_hurt_player': {\r\n damage: (0, core_1.Opt)(Reference('damage_predicate'))\r\n },\r\n 'minecraft:entity_killed_player': {\r\n entity: EntityPredicate,\r\n killing_blow: (0, core_1.Opt)(Reference('damage_source_predicate'))\r\n },\r\n 'minecraft:fall_from_height': {\r\n start_position: (0, core_1.Opt)(Reference('location_predicate')),\r\n distance: (0, core_1.Opt)(Reference('distance_predicate'))\r\n },\r\n 'minecraft:filled_bucket': {\r\n item: (0, core_1.Opt)(Reference('item_predicate'))\r\n },\r\n 'minecraft:fishing_rod_hooked': {\r\n entity: EntityPredicate,\r\n item: (0, core_1.Opt)(Reference('item_predicate'))\r\n },\r\n 'minecraft:hero_of_the_village': {\r\n location: (0, core_1.Opt)(Reference('location_predicate'))\r\n },\r\n 'minecraft:inventory_changed': {\r\n slots: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n empty: Reference('int_bounds'),\r\n occupied: Reference('int_bounds'),\r\n full: Reference('int_bounds')\r\n })),\r\n items: (0, core_1.Opt)((0, core_1.ListNode)(Reference('item_predicate')))\r\n },\r\n 'minecraft:item_durability_changed': {\r\n delta: Reference('int_bounds'),\r\n durability: Reference('int_bounds'),\r\n item: (0, core_1.Opt)(Reference('item_predicate'))\r\n },\r\n 'minecraft:item_used_on_block': {\r\n item: (0, core_1.Opt)(Reference('item_predicate')),\r\n location: (0, core_1.Opt)(Reference('location_predicate'))\r\n },\r\n 'minecraft:killed_by_crossbow': {\r\n unique_entity_types: Reference('int_bounds'),\r\n victims: (0, core_1.Opt)((0, core_1.ListNode)(EntityPredicate))\r\n },\r\n 'minecraft:levitation': {\r\n distance: (0, core_1.Opt)(Reference('distance_predicate')),\r\n duration: Reference('int_bounds')\r\n },\r\n 'minecraft:lightning_strike': {\r\n lightning: EntityPredicate,\r\n bystander: EntityPredicate,\r\n },\r\n 'minecraft:location': {\r\n location: (0, core_1.Opt)(Reference('location_predicate'))\r\n },\r\n 'minecraft:nether_travel': {\r\n start_position: (0, core_1.Opt)(Reference('location_predicate')),\r\n distance: (0, core_1.Opt)(Reference('distance_predicate')),\r\n },\r\n 'minecraft:placed_block': {\r\n block: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: 'block' } })),\r\n state: (0, core_1.Opt)((0, core_1.MapNode)(StringNode(), StringNode(), { validation: { validator: 'block_state_map', params: { id: ['pop', { push: 'block' }] } } })),\r\n item: (0, core_1.Opt)(Reference('item_predicate')),\r\n location: (0, core_1.Opt)(Reference('location_predicate'))\r\n },\r\n 'minecraft:player_generates_container_loot': {\r\n loot_table: StringNode({ validator: 'resource', params: { pool: '$loot_table' } })\r\n },\r\n 'minecraft:player_hurt_entity': {\r\n damage: (0, core_1.Opt)(Reference('damage_predicate')),\r\n entity: EntityPredicate\r\n },\r\n 'minecraft:player_interacted_with_entity': {\r\n item: (0, core_1.Opt)(Reference('item_predicate')),\r\n entity: EntityPredicate\r\n },\r\n 'minecraft:player_killed_entity': {\r\n entity: EntityPredicate,\r\n killing_blow: (0, core_1.Opt)(Reference('damage_source_predicate'))\r\n },\r\n 'minecraft:recipe_unlocked': {\r\n recipe: StringNode({ validator: 'resource', params: { pool: '$recipe' } })\r\n },\r\n 'minecraft:ride_entity_in_lava': {\r\n start_position: (0, core_1.Opt)(Reference('location_predicate')),\r\n distance: (0, core_1.Opt)(Reference('distance_predicate'))\r\n },\r\n 'minecraft:slept_in_bed': {\r\n location: (0, core_1.Opt)(Reference('location_predicate'))\r\n },\r\n 'minecraft:slide_down_block': {\r\n block: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: 'block' } }))\r\n },\r\n 'minecraft:shot_crossbow': {\r\n item: (0, core_1.Opt)(Reference('item_predicate'))\r\n },\r\n 'minecraft:summoned_entity': {\r\n entity: EntityPredicate\r\n },\r\n 'minecraft:tame_animal': {\r\n entity: EntityPredicate\r\n },\r\n 'minecraft:target_hit': {\r\n projectile: EntityPredicate,\r\n shooter: EntityPredicate,\r\n signal_strength: Reference('int_bounds')\r\n },\r\n 'minecraft:thrown_item_picked_up_by_entity': {\r\n entity: EntityPredicate,\r\n item: (0, core_1.Opt)(Reference('item_predicate'))\r\n },\r\n 'minecraft:used_ender_eye': {\r\n distance: (0, core_1.Opt)(Reference('float_bounds'))\r\n },\r\n 'minecraft:used_totem': {\r\n item: (0, core_1.Opt)(Reference('item_predicate'))\r\n },\r\n 'minecraft:using_item': {\r\n item: (0, core_1.Opt)(Reference('item_predicate'))\r\n },\r\n 'minecraft:villager_trade': {\r\n villager: EntityPredicate,\r\n item: (0, core_1.Opt)(Reference('item_predicate'))\r\n },\r\n 'minecraft:voluntary_exile': {\r\n location: (0, core_1.Opt)(Reference('location_predicate'))\r\n }\r\n }\r\n }, { context: 'criterion' }))\r\n }, { category: 'predicate', context: 'criterion' }));\r\n}\r\nexports.initAdvancementSchemas = initAdvancementSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initModelSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initModelSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const Vec = (length, min, max) => (0, core_1.ListNode)((0, core_1.NumberNode)({ min, max }), { minLength: length, maxLength: length });\r\n const Texture = (0, core_1.ChoiceNode)([\r\n {\r\n type: 'alias',\r\n match: (v) => typeof v === 'string' && v.startsWith('#'),\r\n node: StringNode(),\r\n change: (v) => typeof v === 'string' ? `#${v}` : \"#0\"\r\n },\r\n {\r\n type: 'reference',\r\n match: (v) => typeof v === 'string',\r\n node: StringNode({ validator: 'resource', params: { pool: '$texture' } }),\r\n change: (v) => typeof v === 'string' ? v.replace(/^#/, '') : \"\"\r\n }\r\n ], { choiceContext: 'texture' });\r\n schemas.register('model', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n parent: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$model' } })),\r\n ambientocclusion: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n gui_light: (0, core_1.Opt)(StringNode({ enum: 'gui_light' })),\r\n textures: (0, core_1.Opt)((0, core_1.MapNode)(StringNode(), Texture)),\r\n elements: (0, core_1.Opt)((0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n from: Vec(3, -16, 32),\r\n to: Vec(3, -16, 32),\r\n rotation: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n origin: Vec(3),\r\n axis: StringNode({ enum: 'axis' }),\r\n angle: (0, core_1.NumberEnum)({ values: [-45, -22.5, 0, 22.5, 45] }),\r\n rescale: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n })),\r\n shade: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n faces: (0, core_1.MapNode)(StringNode({ enum: 'direction' }), (0, core_1.ObjectNode)({\r\n texture: Texture,\r\n uv: (0, core_1.Opt)(Vec(4)),\r\n cullface: (0, core_1.Opt)(StringNode({ enum: 'direction' })),\r\n rotation: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n tintindex: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true }))\r\n }))\r\n }, { context: 'model_element' }))),\r\n display: (0, core_1.Opt)((0, core_1.MapNode)(StringNode({ enum: 'display_position' }), (0, core_1.ObjectNode)({\r\n rotation: Vec(3),\r\n translation: Vec(3, -80, 80),\r\n scale: Vec(3, -4, 4)\r\n }, { context: 'item_transform' }))),\r\n overrides: (0, core_1.Opt)((0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n predicate: (0, core_1.MapNode)(StringNode({ enum: 'item_model_predicates' }), (0, core_1.NumberNode)()),\r\n model: StringNode({ validator: 'resource', params: { pool: '$model' } })\r\n }, { context: 'model_override' })))\r\n }, { context: 'model' }), {\r\n default: () => ({\r\n parent: 'minecraft:item/generated',\r\n textures: {\r\n layer0: 'minecraft:item/diamond'\r\n }\r\n })\r\n }));\r\n}\r\nexports.initModelSchemas = initModelSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initBlockDefinitionSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initBlockDefinitionSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('block_definition', (0, core_1.Mod)((0, core_1.ChoiceNode)([\r\n {\r\n type: 'variants',\r\n match: (v) => v.variants !== undefined,\r\n node: (0, core_1.ObjectNode)({\r\n variants: (0, core_1.MapNode)(StringNode(), Reference('model_variant'))\r\n }),\r\n change: (v) => ({ variants: { \"\": {} } })\r\n },\r\n {\r\n type: 'multipart',\r\n match: (v) => v.multipart !== undefined,\r\n node: (0, core_1.ObjectNode)({\r\n multipart: (0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n when: (0, core_1.Opt)(Reference('multipart_condition')),\r\n apply: Reference('model_variant'),\r\n }))\r\n }),\r\n change: (v) => ({ multipart: { when: {}, apply: {} } })\r\n }\r\n ], { context: 'block_definition' }), {\r\n default: () => ({\r\n variants: {\r\n \"\": {\r\n model: 'minecraft:block/stone'\r\n }\r\n }\r\n })\r\n }));\r\n const VariantChildren = {\r\n model: StringNode({ validator: 'resource', params: { pool: '$model' } }),\r\n x: (0, core_1.Opt)((0, core_1.NumberEnum)({ integer: true, values: [0, 90, 180, 270] })),\r\n y: (0, core_1.Opt)((0, core_1.NumberEnum)({ integer: true, values: [0, 90, 180, 270] })),\r\n uvlock: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n };\r\n schemas.register('model_variant', (0, core_1.ChoiceNode)([\r\n {\r\n type: 'object',\r\n node: (0, core_1.ObjectNode)(VariantChildren),\r\n change: (v) => Array.isArray(v) && v.length > 0 ? v[0] : ({})\r\n },\r\n {\r\n type: 'list',\r\n node: (0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n ...VariantChildren,\r\n weight: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 1 }))\r\n }, { context: 'model_variant' })),\r\n change: (v) => [{ weight: 1, ...v }]\r\n }\r\n ], { context: 'model_variant' }));\r\n schemas.register('multipart_condition', (0, core_1.ChoiceNode)([\r\n {\r\n type: 'object',\r\n priority: -1,\r\n match: () => true,\r\n node: (0, core_1.MapNode)(StringNode(), StringNode()),\r\n change: (v) => typeof v === 'object' && Array.isArray(v === null || v === void 0 ? void 0 : v.OR) && v.OR.length > 0 ? v.OR[0] : ({})\r\n },\r\n {\r\n type: 'or',\r\n match: (v) => typeof v === 'object' && (v === null || v === void 0 ? void 0 : v.OR) !== undefined,\r\n node: (0, core_1.ObjectNode)({\r\n OR: (0, core_1.ListNode)(Reference('multipart_condition'))\r\n }),\r\n change: (v) => ({ OR: [v !== null && v !== void 0 ? v : {}] })\r\n }\r\n ], { context: 'multipart_condition' }));\r\n}\r\nexports.initBlockDefinitionSchemas = initBlockDefinitionSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initAssetsSchemas = void 0;\r\nconst Model_1 = require(\"./Model\");\r\nconst BlockDefinition_1 = require(\"./BlockDefinition\");\r\nfunction initAssetsSchemas(schemas, collections) {\r\n (0, BlockDefinition_1.initBlockDefinitionSchemas)(schemas, collections);\r\n (0, Model_1.initModelSchemas)(schemas, collections);\r\n}\r\nexports.initAssetsSchemas = initAssetsSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initCommonSchemas = exports.InclusiveRange = exports.IntProvider = exports.FloatProvider = exports.NoiseSettingsPresets = exports.DefaultNoiseSettings = exports.DimensionTypePresets = exports.DefaultDimensionType = exports.FunctionCases = exports.ConditionCases = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nexports.DefaultDimensionType = {\r\n ultrawarm: false,\r\n natural: true,\r\n piglin_safe: false,\r\n respawn_anchor_works: false,\r\n bed_works: true,\r\n has_raids: true,\r\n has_skylight: true,\r\n has_ceiling: false,\r\n coordinate_scale: 1,\r\n ambient_light: 0,\r\n logical_height: 256,\r\n infiniburn: 'minecraft:infiniburn_overworld',\r\n min_y: 0,\r\n height: 256,\r\n};\r\nconst DefaultStructureSettings = {\r\n 'minecraft:igloo': {\r\n spacing: 32,\r\n separation: 8,\r\n salt: 14357618\r\n },\r\n 'minecraft:mansion': {\r\n spacing: 80,\r\n separation: 20,\r\n salt: 10387319\r\n },\r\n 'minecraft:jungle_pyramid': {\r\n spacing: 32,\r\n separation: 8,\r\n salt: 14357619\r\n },\r\n 'minecraft:nether_fossil': {\r\n spacing: 2,\r\n separation: 1,\r\n salt: 14357921\r\n },\r\n 'minecraft:stronghold': {\r\n spacing: 1,\r\n separation: 0,\r\n salt: 0\r\n },\r\n 'minecraft:shipwreck': {\r\n spacing: 24,\r\n separation: 4,\r\n salt: 165745295\r\n },\r\n 'minecraft:mineshaft': {\r\n spacing: 1,\r\n separation: 0,\r\n salt: 0\r\n },\r\n 'minecraft:desert_pyramid': {\r\n spacing: 32,\r\n separation: 8,\r\n salt: 14357617\r\n },\r\n 'minecraft:ruined_portal': {\r\n spacing: 40,\r\n separation: 15,\r\n salt: 34222645\r\n },\r\n 'minecraft:fortress': {\r\n spacing: 27,\r\n separation: 4,\r\n salt: 30084232\r\n },\r\n 'minecraft:pillager_outpost': {\r\n spacing: 32,\r\n separation: 8,\r\n salt: 165745296\r\n },\r\n 'minecraft:village': {\r\n spacing: 32,\r\n separation: 8,\r\n salt: 10387312\r\n },\r\n 'minecraft:endcity': {\r\n spacing: 20,\r\n separation: 11,\r\n salt: 10387313\r\n },\r\n 'minecraft:buried_treasure': {\r\n spacing: 1,\r\n separation: 0,\r\n salt: 0\r\n },\r\n 'minecraft:ocean_ruin': {\r\n spacing: 20,\r\n separation: 8,\r\n salt: 14357621\r\n },\r\n 'minecraft:bastion_remnant': {\r\n spacing: 27,\r\n separation: 4,\r\n salt: 30084232\r\n },\r\n 'minecraft:swamp_hut': {\r\n spacing: 32,\r\n separation: 8,\r\n salt: 14357620\r\n },\r\n 'minecraft:monument': {\r\n spacing: 32,\r\n separation: 5,\r\n salt: 10387313\r\n }\r\n};\r\nexports.DefaultNoiseSettings = {\r\n bedrock_roof_position: -2147483648,\r\n bedrock_floor_position: 0,\r\n sea_level: 63,\r\n noise_caves_enabled: true,\r\n deepslate_enabled: true,\r\n ore_veins_enabled: true,\r\n noodle_caves_enabled: true,\r\n disable_mob_generation: false,\r\n aquifers_enabled: true,\r\n default_block: {\r\n Name: 'minecraft:stone'\r\n },\r\n default_fluid: {\r\n Properties: {\r\n level: '0'\r\n },\r\n Name: 'minecraft:water'\r\n },\r\n noise: {\r\n min_y: -64,\r\n height: 384,\r\n size_horizontal: 1,\r\n size_vertical: 2,\r\n density_factor: 1,\r\n density_offset: -0.51875,\r\n top_slide: {\r\n target: -0.078125,\r\n size: 2,\r\n offset: 8\r\n },\r\n bottom_slide: {\r\n target: 0.1171875,\r\n size: 3,\r\n offset: 0\r\n },\r\n sampling: {\r\n xz_scale: 0.9999999814507745,\r\n y_scale: 0.9999999814507745,\r\n xz_factor: 80,\r\n y_factor: 160\r\n },\r\n terrain_shaper: {\r\n offset: 0,\r\n factor: 0,\r\n jaggedness: 0\r\n }\r\n },\r\n surface_rule: {\r\n type: 'minecraft:sequence',\r\n sequence: []\r\n },\r\n structures: {\r\n stronghold: {\r\n distance: 32,\r\n spread: 3,\r\n count: 128\r\n },\r\n structures: DefaultStructureSettings,\r\n }\r\n};\r\nfunction initCommonSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n schemas.register('block_state', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n Name: StringNode({ validator: 'resource', params: { pool: 'block' } }),\r\n Properties: (0, core_1.Opt)((0, core_1.MapNode)(StringNode(), StringNode(), { validation: { validator: 'block_state_map', params: { id: ['pop', { push: 'Name' }] } } }))\r\n }, { context: 'block_state' }), {\r\n default: () => ({\r\n Name: 'minecraft:stone'\r\n })\r\n }));\r\n schemas.register('fluid_state', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n Name: StringNode({ validator: 'resource', params: { pool: 'fluid' } }),\r\n Properties: (0, core_1.Opt)((0, core_1.MapNode)(StringNode(), StringNode()))\r\n }, { context: 'fluid_state' }), {\r\n default: () => ({\r\n Name: 'minecraft:water',\r\n Properties: {\r\n 'level': '0'\r\n }\r\n })\r\n }));\r\n schemas.register('block_pos', (0, core_1.Mod)((0, core_1.ListNode)((0, core_1.NumberNode)({ integer: true }), { minLength: 3, maxLength: 3 }), {\r\n default: () => [0, 0, 0]\r\n }));\r\n const Bounds = (integer) => (0, core_1.Opt)((0, core_1.ChoiceNode)([\r\n {\r\n type: 'number',\r\n node: (0, core_1.NumberNode)({ integer }),\r\n change: (v) => { var _a, _b; return v === undefined ? 0 : (_b = (_a = v.min) !== null && _a !== void 0 ? _a : v.max) !== null && _b !== void 0 ? _b : 0; }\r\n },\r\n {\r\n type: 'object',\r\n node: (0, core_1.ObjectNode)({\r\n min: (0, core_1.Opt)((0, core_1.NumberNode)({ integer })),\r\n max: (0, core_1.Opt)((0, core_1.NumberNode)({ integer }))\r\n }, { context: 'range' }),\r\n change: (v) => ({\r\n min: v !== null && v !== void 0 ? v : 0,\r\n max: v !== null && v !== void 0 ? v : 0\r\n })\r\n }\r\n ]));\r\n schemas.register('int_bounds', Bounds(true));\r\n schemas.register('float_bounds', Bounds());\r\n schemas.register('int_range', (0, core_1.ChoiceNode)([\r\n {\r\n type: 'object',\r\n node: (0, core_1.ObjectNode)({\r\n min: (0, core_1.Opt)(Reference('number_provider')),\r\n max: (0, core_1.Opt)(Reference('number_provider'))\r\n })\r\n },\r\n {\r\n type: 'number',\r\n node: (0, core_1.NumberNode)({ integer: true })\r\n }\r\n ], { context: 'range' }));\r\n const ObjectWithType = (pool, directType, directPath, directDefault, objectDefault, context, cases) => {\r\n let defaultCase = {};\r\n if (objectDefault) {\r\n Object.keys(cases[objectDefault]).forEach(k => {\r\n defaultCase[k] = (0, core_1.Mod)(cases[objectDefault][k], {\r\n enabled: path => path.push('type').get() === undefined\r\n });\r\n });\r\n }\r\n const provider = (0, core_1.ObjectNode)({\r\n type: (0, core_1.Mod)((0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool } })), {\r\n hidden: () => true\r\n }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: cases,\r\n ...defaultCase\r\n }, { context, disableSwitchContext: true });\r\n const choices = [{\r\n type: directType,\r\n node: cases[directDefault][directPath]\r\n }];\r\n if (objectDefault) {\r\n choices.push({\r\n type: 'object',\r\n priority: -1,\r\n node: provider\r\n });\r\n }\r\n Object.keys(cases).forEach(k => {\r\n choices.push({\r\n type: k,\r\n match: (v) => {\r\n var _a;\r\n const type = 'minecraft:' + ((_a = v === null || v === void 0 ? void 0 : v.type) === null || _a === void 0 ? void 0 : _a.replace(/^minecraft:/, ''));\r\n if (type === k)\r\n return true;\r\n const keys = v ? Object.keys(v) : [];\r\n return typeof v === 'object' && ((keys === null || keys === void 0 ? void 0 : keys.length) === 0 || ((keys === null || keys === void 0 ? void 0 : keys.length) === 1 && (keys === null || keys === void 0 ? void 0 : keys[0]) === 'type'));\r\n },\r\n node: provider,\r\n change: (v) => ({ type: k })\r\n });\r\n });\r\n return (0, core_1.ChoiceNode)(choices, { context, choiceContext: `${context}.type` });\r\n };\r\n schemas.register('number_provider', ObjectWithType('loot_number_provider_type', 'number', 'value', 'minecraft:constant', 'minecraft:uniform', 'number_provider', {\r\n 'minecraft:constant': {\r\n value: (0, core_1.NumberNode)()\r\n },\r\n 'minecraft:uniform': {\r\n min: Reference('number_provider'),\r\n max: Reference('number_provider')\r\n },\r\n 'minecraft:binomial': {\r\n n: Reference('number_provider'),\r\n p: Reference('number_provider')\r\n },\r\n 'minecraft:score': {\r\n target: Reference('scoreboard_name_provider'),\r\n score: StringNode({ validator: 'objective' }),\r\n scale: (0, core_1.Opt)((0, core_1.NumberNode)())\r\n }\r\n }));\r\n schemas.register('scoreboard_name_provider', ObjectWithType('loot_score_provider_type', 'string', 'target', 'minecraft:context', null, 'score_provider', {\r\n 'minecraft:fixed': {\r\n name: StringNode({ validator: 'entity', params: { amount: 'multiple', type: 'entities', isScoreHolder: true } }) // FIXME: doesn't support selectors\r\n },\r\n 'minecraft:context': {\r\n target: (0, core_1.Mod)(StringNode({ enum: 'entity_source' }), { default: () => 'this' })\r\n }\r\n }));\r\n schemas.register('nbt_provider', ObjectWithType('loot_nbt_provider_type', 'string', 'target', 'minecraft:context', null, 'nbt_provider', {\r\n 'minecraft:storage': {\r\n source: StringNode({ validator: 'resource', params: { pool: '$storage' } })\r\n },\r\n 'minecraft:context': {\r\n target: (0, core_1.Mod)(StringNode({ enum: 'copy_source' }), { default: () => 'this' })\r\n }\r\n }));\r\n exports.FloatProvider = (config) => ObjectWithType('float_provider_type', 'number', 'value', 'minecraft:constant', null, 'float_provider', {\r\n 'minecraft:constant': {\r\n value: (0, core_1.NumberNode)(config)\r\n },\r\n 'minecraft:uniform': {\r\n value: (0, core_1.ObjectNode)({\r\n min_inclusive: (0, core_1.NumberNode)(config),\r\n max_exclusive: (0, core_1.NumberNode)(config)\r\n })\r\n },\r\n 'minecraft:clamped_normal': {\r\n value: (0, core_1.ObjectNode)({\r\n min: (0, core_1.NumberNode)(),\r\n max: (0, core_1.NumberNode)(),\r\n mean: (0, core_1.NumberNode)(),\r\n deviation: (0, core_1.NumberNode)()\r\n })\r\n },\r\n 'minecraft:trapezoid': {\r\n value: (0, core_1.ObjectNode)({\r\n min: (0, core_1.NumberNode)(),\r\n max: (0, core_1.NumberNode)(),\r\n plateau: (0, core_1.NumberNode)()\r\n })\r\n }\r\n });\r\n schemas.register('float_provider', (0, exports.FloatProvider)());\r\n exports.IntProvider = (config) => ObjectWithType('int_provider_type', 'number', 'value', 'minecraft:constant', null, 'int_provider', {\r\n 'minecraft:constant': {\r\n value: (0, core_1.NumberNode)({ integer: true, ...config })\r\n },\r\n 'minecraft:uniform': {\r\n value: (0, core_1.ObjectNode)({\r\n min_inclusive: (0, core_1.NumberNode)({ integer: true, ...config }),\r\n max_inclusive: (0, core_1.NumberNode)({ integer: true, ...config })\r\n })\r\n },\r\n 'minecraft:biased_to_bottom': {\r\n value: (0, core_1.ObjectNode)({\r\n min_inclusive: (0, core_1.NumberNode)({ integer: true, ...config }),\r\n max_inclusive: (0, core_1.NumberNode)({ integer: true, ...config })\r\n })\r\n },\r\n 'minecraft:clamped': {\r\n value: (0, core_1.ObjectNode)({\r\n min_inclusive: (0, core_1.NumberNode)({ integer: true, ...config }),\r\n max_inclusive: (0, core_1.NumberNode)({ integer: true, ...config }),\r\n source: Reference('int_provider')\r\n })\r\n },\r\n 'minecraft:clamped_normal': {\r\n value: (0, core_1.ObjectNode)({\r\n min_inclusive: (0, core_1.NumberNode)({ integer: true, ...config }),\r\n max_inclusive: (0, core_1.NumberNode)({ integer: true, ...config }),\r\n mean: (0, core_1.NumberNode)(),\r\n deviation: (0, core_1.NumberNode)()\r\n })\r\n },\r\n 'minecraft:weighted_list': {\r\n distribution: (0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n weight: (0, core_1.NumberNode)({ integer: true }),\r\n data: Reference('int_provider'),\r\n }))\r\n }\r\n });\r\n schemas.register('int_provider', (0, exports.IntProvider)());\r\n schemas.register('vertical_anchor', (0, core_1.ChoiceNode)(['absolute', 'above_bottom', 'below_top'].map(t => ({\r\n type: t,\r\n match: v => (v === null || v === void 0 ? void 0 : v[t]) !== undefined,\r\n change: v => { var _a, _b, _c; return ({ [t]: (_c = (_b = (_a = v.absolute) !== null && _a !== void 0 ? _a : v.above_bottom) !== null && _b !== void 0 ? _b : v.below_top) !== null && _c !== void 0 ? _c : 0 }); },\r\n node: (0, core_1.ObjectNode)({\r\n [t]: (0, core_1.NumberNode)({ integer: true, min: -2048, max: 2047 })\r\n })\r\n })), { context: 'vertical_anchor' }));\r\n schemas.register('height_provider', ObjectWithType('height_provider_type', 'number', 'value', 'minecraft:constant', null, 'height_provider', {\r\n 'minecraft:constant': {\r\n value: Reference('vertical_anchor')\r\n },\r\n 'minecraft:uniform': {\r\n min_inclusive: Reference('vertical_anchor'),\r\n max_inclusive: Reference('vertical_anchor')\r\n },\r\n 'minecraft:biased_to_bottom': {\r\n min_inclusive: Reference('vertical_anchor'),\r\n max_inclusive: Reference('vertical_anchor'),\r\n inner: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 1 }))\r\n },\r\n 'minecraft:very_biased_to_bottom': {\r\n min_inclusive: Reference('vertical_anchor'),\r\n max_inclusive: Reference('vertical_anchor'),\r\n inner: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 1 }))\r\n },\r\n 'minecraft:trapezoid': {\r\n min_inclusive: Reference('vertical_anchor'),\r\n max_inclusive: Reference('vertical_anchor'),\r\n plateau: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true }))\r\n },\r\n 'minecraft:weighted_list': {\r\n distribution: (0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n weight: (0, core_1.NumberNode)({ integer: true }),\r\n data: Reference('height_provider'),\r\n }))\r\n }\r\n }));\r\n exports.InclusiveRange = (config) => (0, core_1.ObjectNode)({\r\n min_inclusive: (0, core_1.NumberNode)(config),\r\n max_inclusive: (0, core_1.NumberNode)(config)\r\n }, { context: 'range' });\r\n schemas.register('noise_parameters', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n firstOctave: (0, core_1.NumberNode)({ integer: true }),\r\n amplitudes: (0, core_1.ListNode)((0, core_1.NumberNode)())\r\n }, { context: 'noise_parameters' }), {\r\n default: () => ({\r\n firstOctave: -7,\r\n amplitudes: [1, 1]\r\n })\r\n }));\r\n exports.ConditionCases = (entitySourceNode = StringNode({ enum: 'entity_source' })) => ({\r\n 'minecraft:alternative': {\r\n terms: (0, core_1.ListNode)(Reference('condition'))\r\n },\r\n 'minecraft:block_state_property': {\r\n block: StringNode({ validator: 'resource', params: { pool: 'block' } }),\r\n properties: (0, core_1.MapNode)(StringNode(), StringNode(), { validation: { validator: 'block_state_map', params: { id: ['pop', { push: 'block' }] } } })\r\n },\r\n 'minecraft:damage_source_properties': {\r\n predicate: Reference('damage_source_predicate')\r\n },\r\n 'minecraft:entity_properties': {\r\n entity: entitySourceNode,\r\n predicate: Reference('entity_predicate')\r\n },\r\n 'minecraft:entity_scores': {\r\n entity: entitySourceNode,\r\n scores: (0, core_1.MapNode)(StringNode({ validator: 'objective' }), Reference('int_range'))\r\n },\r\n 'minecraft:inverted': {\r\n term: Reference('condition')\r\n },\r\n 'minecraft:killed_by_player': {\r\n inverse: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n },\r\n 'minecraft:location_check': {\r\n offsetX: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n offsetY: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n offsetZ: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n predicate: Reference('location_predicate')\r\n },\r\n 'minecraft:match_tool': {\r\n predicate: Reference('item_predicate')\r\n },\r\n 'minecraft:random_chance': {\r\n chance: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n },\r\n 'minecraft:random_chance_with_looting': {\r\n chance: (0, core_1.NumberNode)({ min: 0, max: 1 }),\r\n looting_multiplier: (0, core_1.NumberNode)()\r\n },\r\n 'minecraft:reference': {\r\n name: StringNode({ validator: 'resource', params: { pool: '$predicate' } })\r\n },\r\n 'minecraft:table_bonus': {\r\n enchantment: StringNode({ validator: 'resource', params: { pool: 'enchantment' } }),\r\n chances: (0, core_1.ListNode)((0, core_1.NumberNode)({ min: 0, max: 1 }))\r\n },\r\n 'minecraft:time_check': {\r\n value: Reference('int_range'),\r\n period: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true }))\r\n },\r\n 'minecraft:value_check': {\r\n value: Reference('number_provider'),\r\n range: Reference('int_range')\r\n },\r\n 'minecraft:weather_check': {\r\n raining: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n thundering: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n }\r\n });\r\n exports.FunctionCases = (conditions, copySourceNode = StringNode({ enum: 'copy_source' }), entitySourceNode = StringNode({ enum: 'entity_source' })) => {\r\n const cases = {\r\n 'minecraft:apply_bonus': {\r\n enchantment: StringNode({ validator: 'resource', params: { pool: 'enchantment' } }),\r\n formula: StringNode({ validator: 'resource', params: { pool: collections.get('loot_table_apply_bonus_formula') } }),\r\n parameters: (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n bonusMultiplier: (0, core_1.Mod)((0, core_1.NumberNode)(), {\r\n enabled: path => path.pop().push('formula').get() === 'minecraft:uniform_bonus_count'\r\n }),\r\n extra: (0, core_1.Mod)((0, core_1.NumberNode)(), {\r\n enabled: path => path.pop().push('formula').get() === 'minecraft:binomial_with_bonus_count'\r\n }),\r\n probability: (0, core_1.Mod)((0, core_1.NumberNode)(), {\r\n enabled: path => path.pop().push('formula').get() === 'minecraft:binomial_with_bonus_count'\r\n })\r\n }), {\r\n enabled: path => path.push('formula').get() !== 'minecraft:ore_drops'\r\n })\r\n },\r\n 'minecraft:copy_name': {\r\n source: copySourceNode\r\n },\r\n 'minecraft:copy_nbt': {\r\n source: Reference('nbt_provider'),\r\n ops: (0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n source: StringNode({ validator: 'nbt_path', params: { category: { getter: 'copy_source', path: ['pop', 'pop', 'pop', { push: 'source' }] } } }),\r\n target: StringNode({ validator: 'nbt_path', params: { category: 'minecraft:item' } }),\r\n op: StringNode({ enum: ['replace', 'append', 'merge'] })\r\n }, { context: 'nbt_operation' }))\r\n },\r\n 'minecraft:copy_state': {\r\n block: StringNode({ validator: 'resource', params: { pool: 'block' } }),\r\n properties: (0, core_1.ListNode)(StringNode({ validator: 'block_state_key', params: { id: ['pop', 'pop', { push: 'block' }] } }))\r\n },\r\n 'minecraft:enchant_randomly': {\r\n enchantments: (0, core_1.Opt)((0, core_1.ListNode)(StringNode({ validator: 'resource', params: { pool: 'enchantment' } })))\r\n },\r\n 'minecraft:enchant_with_levels': {\r\n levels: Reference('number_provider'),\r\n treasure: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n },\r\n 'minecraft:exploration_map': {\r\n destination: (0, core_1.Opt)(StringNode({ enum: 'map_feature' })),\r\n decoration: (0, core_1.Opt)(StringNode({ enum: 'map_decoration' })),\r\n zoom: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n search_radius: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n skip_existing_chunks: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n },\r\n 'minecraft:fill_player_head': {\r\n entity: entitySourceNode\r\n },\r\n 'minecraft:limit_count': {\r\n limit: Reference('int_range')\r\n },\r\n 'minecraft:looting_enchant': {\r\n count: Reference('number_provider'),\r\n limit: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true }))\r\n },\r\n 'minecraft:set_attributes': {\r\n modifiers: (0, core_1.ListNode)(Reference('attribute_modifier'))\r\n },\r\n 'minecraft:set_banner_pattern': {\r\n patterns: (0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n pattern: StringNode({ enum: 'banner_pattern' }),\r\n color: StringNode({ enum: 'dye_color' })\r\n })),\r\n append: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n },\r\n 'minecraft:set_contents': {\r\n type: StringNode({ validator: 'resource', params: { pool: 'block_entity_type' } }),\r\n entries: (0, core_1.ListNode)(Reference('loot_entry'))\r\n },\r\n 'minecraft:set_count': {\r\n count: Reference('number_provider'),\r\n add: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n },\r\n 'minecraft:set_damage': {\r\n damage: Reference('number_provider'),\r\n add: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n },\r\n 'minecraft:set_enchantments': {\r\n enchantments: (0, core_1.MapNode)(StringNode({ validator: 'resource', params: { pool: 'enchantment' } }), Reference('number_provider')),\r\n add: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n },\r\n 'minecraft:set_loot_table': {\r\n type: StringNode({ validator: 'resource', params: { pool: 'block_entity_type' } }),\r\n name: StringNode({ validator: 'resource', params: { pool: '$loot_table' } }),\r\n seed: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true }))\r\n },\r\n 'minecraft:set_lore': {\r\n entity: (0, core_1.Opt)(entitySourceNode),\r\n lore: (0, core_1.ListNode)(Reference('text_component')),\r\n replace: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n },\r\n 'minecraft:set_name': {\r\n entity: (0, core_1.Opt)(entitySourceNode),\r\n name: (0, core_1.Opt)(Reference('text_component'))\r\n },\r\n 'minecraft:set_nbt': {\r\n tag: StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:item' } } })\r\n },\r\n 'minecraft:set_potion': {\r\n id: StringNode({ validator: 'resource', params: { pool: 'potion' } })\r\n },\r\n 'minecraft:set_stew_effect': {\r\n effects: (0, core_1.Opt)((0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'mob_effect' } }),\r\n duration: Reference('number_provider')\r\n })))\r\n }\r\n };\r\n const res = {};\r\n collections.get('loot_function_type').forEach(f => {\r\n res[f] = { ...cases[f], ...conditions };\r\n });\r\n return res;\r\n };\r\n exports.DimensionTypePresets = (node) => (0, core_1.ObjectOrPreset)(StringNode({ validator: 'resource', params: { pool: '$dimension_type' } }), node, {\r\n 'minecraft:overworld': exports.DefaultDimensionType,\r\n 'minecraft:the_nether': {\r\n name: 'minecraft:the_nether',\r\n ultrawarm: true,\r\n natural: false,\r\n shrunk: true,\r\n piglin_safe: true,\r\n respawn_anchor_works: true,\r\n bed_works: false,\r\n has_raids: false,\r\n has_skylight: false,\r\n has_ceiling: true,\r\n ambient_light: 0.1,\r\n fixed_time: 18000,\r\n logical_height: 128,\r\n effects: 'minecraft:the_nether',\r\n infiniburn: 'minecraft:infiniburn_nether',\r\n min_y: 0,\r\n height: 256,\r\n },\r\n 'minecraft:the_end': {\r\n name: 'minecraft:the_end',\r\n ultrawarm: false,\r\n natural: false,\r\n shrunk: false,\r\n piglin_safe: false,\r\n respawn_anchor_works: false,\r\n bed_works: false,\r\n has_raids: true,\r\n has_skylight: false,\r\n has_ceiling: false,\r\n ambient_light: 0,\r\n fixed_time: 6000,\r\n logical_height: 256,\r\n effects: 'minecraft:the_end',\r\n infiniburn: 'minecraft:infiniburn_end',\r\n min_y: 0,\r\n height: 256,\r\n }\r\n });\r\n exports.NoiseSettingsPresets = (node) => (0, core_1.ObjectOrPreset)(StringNode({ validator: 'resource', params: { pool: '$worldgen/noise_settings' } }), node, {\r\n 'minecraft:overworld': exports.DefaultNoiseSettings,\r\n 'minecraft:nether': {\r\n bedrock_roof_position: 0,\r\n bedrock_floor_position: 0,\r\n sea_level: 32,\r\n noise_caves_enabled: false,\r\n deepslate_enabled: false,\r\n ore_veins_enabled: false,\r\n noodle_caves_enabled: false,\r\n disable_mob_generation: false,\r\n aquifers_enabled: false,\r\n default_block: {\r\n Name: 'minecraft:netherrack'\r\n },\r\n default_fluid: {\r\n Properties: {\r\n level: '0'\r\n },\r\n Name: 'minecraft:lava'\r\n },\r\n noise: {\r\n min_y: 0,\r\n height: 128,\r\n size_horizontal: 1,\r\n size_vertical: 2,\r\n density_factor: 0,\r\n density_offset: -0.030078125,\r\n top_slide: {\r\n target: 0.9375,\r\n size: 3,\r\n offset: 0\r\n },\r\n bottom_slide: {\r\n target: 2.5,\r\n size: 4,\r\n offset: -1\r\n },\r\n sampling: {\r\n xz_scale: 1.0,\r\n y_scale: 3.0,\r\n xz_factor: 80.0,\r\n y_factor: 60.0\r\n },\r\n terrain_shaper: {\r\n offset: 0,\r\n factor: 0,\r\n jaggedness: 0\r\n }\r\n },\r\n surface_rule: {\r\n type: 'minecraft:sequence',\r\n sequence: []\r\n },\r\n structures: {\r\n structures: DefaultStructureSettings,\r\n }\r\n },\r\n 'minecraft:end': {\r\n bedrock_roof_position: -2147483648,\r\n bedrock_floor_position: -2147483648,\r\n sea_level: 0,\r\n noise_caves_enabled: false,\r\n deepslate_enabled: false,\r\n ore_veins_enabled: false,\r\n noodle_caves_enabled: false,\r\n disable_mob_generation: false,\r\n aquifers_enabled: false,\r\n default_block: {\r\n Name: 'minecraft:end_stone'\r\n },\r\n default_fluid: {\r\n Name: 'minecraft:air'\r\n },\r\n noise: {\r\n min_y: 0,\r\n height: 128,\r\n size_horizontal: 2,\r\n size_vertical: 1,\r\n density_factor: 0,\r\n density_offset: 0,\r\n island_noise_override: true,\r\n top_slide: {\r\n target: -23.4375,\r\n size: 64,\r\n offset: -46\r\n },\r\n bottom_slide: {\r\n target: -0.234375,\r\n size: 7,\r\n offset: 1\r\n },\r\n sampling: {\r\n xz_scale: 2.0,\r\n y_scale: 1.0,\r\n xz_factor: 80.0,\r\n y_factor: 160.0\r\n },\r\n terrain_shaper: {\r\n offset: 0,\r\n factor: 1,\r\n jaggedness: 0\r\n }\r\n },\r\n surface_rule: {\r\n type: 'minecraft:sequence',\r\n sequence: []\r\n },\r\n structures: {\r\n structures: DefaultStructureSettings\r\n }\r\n },\r\n 'minecraft:amplified': {\r\n bedrock_roof_position: -2147483648,\r\n bedrock_floor_position: 0,\r\n sea_level: 63,\r\n noise_caves_enabled: true,\r\n deepslate_enabled: true,\r\n ore_veins_enabled: true,\r\n noodle_caves_enabled: true,\r\n disable_mob_generation: false,\r\n aquifers_enabled: true,\r\n default_block: {\r\n Name: 'minecraft:stone'\r\n },\r\n default_fluid: {\r\n Properties: {\r\n level: '0'\r\n },\r\n Name: 'minecraft:water'\r\n },\r\n noise: {\r\n min_y: -64,\r\n height: 384,\r\n size_horizontal: 1,\r\n size_vertical: 2,\r\n density_factor: 1,\r\n density_offset: -0.51875,\r\n amplified: true,\r\n top_slide: {\r\n target: -0.078125,\r\n size: 2,\r\n offset: 8\r\n },\r\n bottom_slide: {\r\n target: 0.1171875,\r\n size: 3,\r\n offset: 0\r\n },\r\n sampling: {\r\n xz_scale: 0.9999999814507745,\r\n y_scale: 0.9999999814507745,\r\n xz_factor: 80,\r\n y_factor: 160\r\n },\r\n terrain_shaper: {\r\n offset: 0,\r\n factor: 0,\r\n jaggedness: 0\r\n }\r\n },\r\n surface_rule: {\r\n type: 'minecraft:sequence',\r\n sequence: []\r\n },\r\n structures: {\r\n stronghold: {\r\n distance: 32,\r\n spread: 3,\r\n count: 128\r\n },\r\n structures: DefaultStructureSettings,\r\n },\r\n },\r\n 'minecraft:caves': {\r\n bedrock_roof_position: 0,\r\n bedrock_floor_position: 0,\r\n sea_level: 32,\r\n noise_caves_enabled: false,\r\n deepslate_enabled: false,\r\n ore_veins_enabled: false,\r\n noodle_caves_enabled: false,\r\n disable_mob_generation: false,\r\n aquifers_enabled: false,\r\n default_block: {\r\n Name: 'minecraft:stone'\r\n },\r\n default_fluid: {\r\n Properties: {\r\n level: '0'\r\n },\r\n Name: 'minecraft:water'\r\n },\r\n noise: {\r\n min_y: 0,\r\n height: 128,\r\n size_horizontal: 1,\r\n size_vertical: 2,\r\n density_factor: 0,\r\n density_offset: -0.030078125,\r\n top_slide: {\r\n target: 0.9375,\r\n size: 3,\r\n offset: 0\r\n },\r\n bottom_slide: {\r\n target: 2.5,\r\n size: 4,\r\n offset: -1\r\n },\r\n sampling: {\r\n xz_scale: 1.0,\r\n y_scale: 3.0,\r\n xz_factor: 80.0,\r\n y_factor: 60.0\r\n },\r\n terrain_shaper: {\r\n offset: 0,\r\n factor: 0,\r\n jaggedness: 0\r\n }\r\n },\r\n surface_rule: {\r\n type: 'minecraft:sequence',\r\n sequence: []\r\n },\r\n structures: {\r\n stronghold: {\r\n distance: 32,\r\n spread: 3,\r\n count: 128\r\n },\r\n structures: DefaultStructureSettings,\r\n }\r\n },\r\n 'minecraft:floating_islands': {\r\n bedrock_roof_position: -2147483648,\r\n bedrock_floor_position: -2147483648,\r\n sea_level: 0,\r\n noise_caves_enabled: false,\r\n deepslate_enabled: false,\r\n ore_veins_enabled: false,\r\n noodle_caves_enabled: false,\r\n disable_mob_generation: false,\r\n aquifers_enabled: false,\r\n default_block: {\r\n Name: 'minecraft:stone'\r\n },\r\n default_fluid: {\r\n Properties: {\r\n level: '0'\r\n },\r\n Name: 'minecraft:water'\r\n },\r\n noise: {\r\n min_y: 0,\r\n height: 128,\r\n size_horizontal: 2,\r\n size_vertical: 1,\r\n density_factor: 0,\r\n density_offset: 0,\r\n island_noise_override: true,\r\n top_slide: {\r\n target: -23.4375,\r\n size: 64,\r\n offset: -46\r\n },\r\n bottom_slide: {\r\n target: -0.234375,\r\n size: 7,\r\n offset: 1\r\n },\r\n sampling: {\r\n xz_scale: 2.0,\r\n y_scale: 1.0,\r\n xz_factor: 80.0,\r\n y_factor: 160.0\r\n },\r\n terrain_shaper: {\r\n offset: 0,\r\n factor: 1,\r\n jaggedness: 0\r\n }\r\n },\r\n surface_rule: {\r\n type: 'minecraft:sequence',\r\n sequence: []\r\n },\r\n structures: {\r\n stronghold: {\r\n distance: 32,\r\n spread: 3,\r\n count: 128\r\n },\r\n structures: DefaultStructureSettings,\r\n }\r\n }\r\n });\r\n}\r\nexports.initCommonSchemas = initCommonSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initConditionSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"./Common\");\r\nfunction initConditionSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('predicate', (0, core_1.ObjectOrList)(Reference('condition'), { choiceContext: 'condition' }));\r\n schemas.register('condition', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n condition: StringNode({ validator: 'resource', params: { pool: 'loot_condition_type' } }),\r\n [core_1.Switch]: [{ push: 'condition' }],\r\n [core_1.Case]: (0, Common_1.ConditionCases)()\r\n }, { category: 'predicate', context: 'condition' }), {\r\n default: () => ({\r\n condition: 'minecraft:entity_properties',\r\n entity: 'this'\r\n })\r\n }));\r\n}\r\nexports.initConditionSchemas = initConditionSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initDimensionSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"./Common\");\r\nfunction initDimensionSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('dimension', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n type: (0, Common_1.DimensionTypePresets)(Reference('dimension_type')),\r\n generator: (0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/chunk_generator' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:noise': {\r\n seed: (0, core_1.NumberNode)({ integer: true }),\r\n settings: (0, Common_1.NoiseSettingsPresets)(Reference('noise_settings')),\r\n biome_source: (0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/biome_source' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:fixed': {\r\n biome: StringNode({ validator: 'resource', params: { pool: '$worldgen/biome' } })\r\n },\r\n 'minecraft:multi_noise': {\r\n preset: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: ['minecraft:overworld', 'minecraft:nether'] } })),\r\n biomes: (0, core_1.Mod)((0, core_1.ListNode)(Reference('generator_biome')), {\r\n enabled: path => path.push('preset').get() === undefined,\r\n default: () => [{\r\n biome: 'minecraft:plains'\r\n }]\r\n })\r\n },\r\n 'minecraft:checkerboard': {\r\n scale: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 0, max: 62 })),\r\n biomes: (0, core_1.ListNode)(StringNode({ validator: 'resource', params: { pool: '$worldgen/biome' } }))\r\n },\r\n 'minecraft:the_end': {\r\n seed: (0, core_1.NumberNode)({ integer: true })\r\n }\r\n }\r\n }, { category: 'predicate', disableSwitchContext: true })\r\n },\r\n 'minecraft:flat': {\r\n settings: (0, core_1.ObjectNode)({\r\n biome: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$worldgen/biome' } })),\r\n lakes: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n features: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n layers: (0, core_1.ListNode)(Reference('generator_layer')),\r\n structures: Reference('generator_structures')\r\n })\r\n }\r\n }\r\n }, { disableSwitchContext: true })\r\n }, { category: 'pool', context: 'dimension' }), {\r\n default: () => {\r\n const seed = Math.floor(Math.random() * (4294967296)) - 2147483648;\r\n return {\r\n type: 'minecraft:overworld',\r\n generator: {\r\n type: 'minecraft:noise',\r\n seed,\r\n biome_source: {\r\n type: 'minecraft:fixed',\r\n seed,\r\n biome: 'minecraft:plains'\r\n },\r\n settings: 'minecraft:overworld'\r\n }\r\n };\r\n }\r\n }));\r\n const ClimateParameter = (0, core_1.ChoiceNode)([\r\n {\r\n type: 'number',\r\n node: (0, core_1.NumberNode)({ min: -2, max: 2 }),\r\n change: (v) => { var _a; return (_a = v[0]) !== null && _a !== void 0 ? _a : 0; }\r\n },\r\n {\r\n type: 'list',\r\n node: (0, core_1.ListNode)((0, core_1.NumberNode)({ min: -2, max: 2 }), { minLength: 2, maxLength: 2 }),\r\n change: (v) => [v !== null && v !== void 0 ? v : 0, v !== null && v !== void 0 ? v : 0]\r\n }\r\n ]);\r\n schemas.register('generator_biome', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n biome: StringNode({ validator: 'resource', params: { pool: '$worldgen/biome' } }),\r\n parameters: (0, core_1.ObjectNode)({\r\n temperature: ClimateParameter,\r\n humidity: ClimateParameter,\r\n continentalness: ClimateParameter,\r\n erosion: ClimateParameter,\r\n weirdness: ClimateParameter,\r\n depth: ClimateParameter,\r\n offset: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n })\r\n }, { context: 'generator_biome' }), {\r\n default: () => ({\r\n biome: 'minecraft:plains',\r\n parameters: {\r\n altitude: 0,\r\n temperature: 0,\r\n humidity: 0,\r\n weirdness: 0,\r\n offset: 0\r\n }\r\n })\r\n }));\r\n}\r\nexports.initDimensionSchemas = initDimensionSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initDimensionTypeSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"./Common\");\r\nfunction initDimensionTypeSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('dimension_type', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n ultrawarm: (0, core_1.BooleanNode)(),\r\n natural: (0, core_1.BooleanNode)(),\r\n piglin_safe: (0, core_1.BooleanNode)(),\r\n respawn_anchor_works: (0, core_1.BooleanNode)(),\r\n bed_works: (0, core_1.BooleanNode)(),\r\n has_raids: (0, core_1.BooleanNode)(),\r\n has_skylight: (0, core_1.BooleanNode)(),\r\n has_ceiling: (0, core_1.BooleanNode)(),\r\n coordinate_scale: (0, core_1.NumberNode)({ min: 0.00001, max: 30000000 }),\r\n ambient_light: (0, core_1.NumberNode)(),\r\n fixed_time: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n logical_height: (0, core_1.NumberNode)({ integer: true, min: 0, max: 4096 }),\r\n effects: (0, core_1.Opt)(StringNode({ enum: ['minecraft:overworld', 'minecraft:the_nether', 'minecraft:the_end'] })),\r\n infiniburn: StringNode({ validator: 'resource', params: { pool: '$tag/block' } }),\r\n min_y: (0, core_1.NumberNode)({ integer: true, min: -2048, max: 2047 }),\r\n height: (0, core_1.NumberNode)({ integer: true, min: 0, max: 4096 })\r\n }, { context: 'dimension_type' }), node => ({\r\n default: () => Common_1.DefaultDimensionType,\r\n validate: (path, value, errors, options) => {\r\n value = node.validate(path, value, errors, options);\r\n if ((value === null || value === void 0 ? void 0 : value.min_y) + (value === null || value === void 0 ? void 0 : value.height) > 2047) {\r\n errors.add(path.push('height'), 'error.min_y_plus_height', 2047);\r\n }\r\n if ((value === null || value === void 0 ? void 0 : value.logical_height) > (value === null || value === void 0 ? void 0 : value.height)) {\r\n errors.add(path.push('logical_height'), 'error.logical_height');\r\n }\r\n if ((value === null || value === void 0 ? void 0 : value.height) % 16 !== 0) {\r\n errors.add(path.push('height'), 'error.height_multiple', 16);\r\n }\r\n if ((value === null || value === void 0 ? void 0 : value.min_y) % 16 !== 0) {\r\n errors.add(path.push('min_y'), 'error.min_y_multiple', 16);\r\n }\r\n return value;\r\n }\r\n })));\r\n}\r\nexports.initDimensionTypeSchemas = initDimensionTypeSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initItemModifierSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"./Common\");\r\nfunction initItemModifierSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('item_modifier', (0, core_1.ObjectOrList)(Reference('function'), { choiceContext: 'function' }));\r\n const conditions = {\r\n conditions: (0, core_1.Opt)((0, core_1.ListNode)(Reference('condition')))\r\n };\r\n schemas.register('function', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n function: StringNode({ validator: 'resource', params: { pool: 'loot_function_type' } }),\r\n [core_1.Switch]: [{ push: 'function' }],\r\n [core_1.Case]: (0, Common_1.FunctionCases)(conditions)\r\n }, { category: 'function', context: 'function' }), {\r\n default: () => [{\r\n function: 'minecraft:set_count',\r\n count: 1\r\n }]\r\n }));\r\n}\r\nexports.initItemModifierSchemas = initItemModifierSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.LootFunctions = exports.LootConditions = exports.LootCopySources = exports.LootEntitySources = exports.LootTableTypes = void 0;\r\nexports.LootTableTypes = new Map([\r\n ['minecraft:advancement_entity', { requires: [7 /* Origin */, 8 /* ThisEntity */], allows: [] }],\r\n ['minecraft:advancement_reward', { requires: [7 /* Origin */, 8 /* ThisEntity */], allows: [] }],\r\n ['minecraft:barter', { requires: [8 /* ThisEntity */], allows: [] }],\r\n ['minecraft:block', { requires: [1 /* BlockState */, 7 /* Origin */, 9 /* Tool */], allows: [0 /* BlockEntity */, 4 /* ExplosionRadius */, 8 /* ThisEntity */] }],\r\n ['minecraft:chest', { requires: [7 /* Origin */], allows: [8 /* ThisEntity */] }],\r\n ['minecraft:command', { requires: [7 /* Origin */], allows: [8 /* ThisEntity */] }],\r\n ['minecraft:empty', { requires: [], allows: [] }],\r\n ['minecraft:entity', { requires: [2 /* DamageSource */, 7 /* Origin */, 8 /* ThisEntity */], allows: [3 /* DirectKillerEntity */, 5 /* KillerEntity */, 6 /* LastDamagePlayer */] }],\r\n ['minecraft:fishing', { requires: [7 /* Origin */, 9 /* Tool */], allows: [8 /* ThisEntity */] }],\r\n ['minecraft:generic', { requires: [2 /* DamageSource */, 0 /* BlockEntity */, 1 /* BlockState */, 3 /* DirectKillerEntity */, 4 /* ExplosionRadius */, 5 /* KillerEntity */, 6 /* LastDamagePlayer */, 7 /* Origin */, 8 /* ThisEntity */, 9 /* Tool */], allows: [] }],\r\n ['minecraft:gift', { requires: [7 /* Origin */, 8 /* ThisEntity */], allows: [] }],\r\n ['minecraft:selector', { requires: [7 /* Origin */], allows: [8 /* ThisEntity */] }]\r\n]);\r\n/**\r\n * A map from loot entity sources to an array of their required context.\r\n */\r\nexports.LootEntitySources = new Map([\r\n ['direct_killer', [3 /* DirectKillerEntity */]],\r\n ['killer', [5 /* KillerEntity */]],\r\n ['killer_player', [5 /* KillerEntity */]],\r\n ['this', [8 /* ThisEntity */]]\r\n]);\r\n/**\r\n * A map from loot copy sources to an array of their required context.\r\n */\r\nexports.LootCopySources = new Map([\r\n ['block_entity', [0 /* BlockEntity */]],\r\n ['killer', [5 /* KillerEntity */]],\r\n ['killer_player', [5 /* KillerEntity */]],\r\n ['this', [8 /* ThisEntity */]]\r\n]);\r\n/**\r\n * A map from loot condition IDs to an array of their required context.\r\n */\r\nexports.LootConditions = new Map([\r\n ['minecraft:alternative', []],\r\n ['minecraft:block_state_property', [1 /* BlockState */]],\r\n ['minecraft:damage_source_properties', [2 /* DamageSource */]],\r\n ['minecraft:entity_properties', [7 /* Origin */]],\r\n ['minecraft:entity_scores', []],\r\n ['minecraft:inverted', []],\r\n ['minecraft:killed_by_player', [6 /* LastDamagePlayer */]],\r\n ['minecraft:location_check', []],\r\n ['minecraft:match_tool', [9 /* Tool */]],\r\n ['minecraft:random_chance', []],\r\n ['minecraft:random_chance_with_looting', [5 /* KillerEntity */]],\r\n ['minecraft:reference', []],\r\n ['minecraft:survives_explosion', [4 /* ExplosionRadius */]],\r\n ['minecraft:table_bonus', [9 /* Tool */]],\r\n ['minecraft:time_check', []],\r\n ['minecraft:weather_check', []]\r\n]);\r\n/**\r\n * A map from loot function IDs to an array of their required context.\r\n */\r\nexports.LootFunctions = new Map([\r\n ['minecraft:apply_bonus', [9 /* Tool */]],\r\n ['minecraft:copy_name', []],\r\n ['minecraft:copy_nbt', []],\r\n ['minecraft:copy_state', [1 /* BlockState */]],\r\n ['minecraft:enchant_randomly', []],\r\n ['minecraft:enchant_with_levels', []],\r\n ['minecraft:exploration_map', [7 /* Origin */]],\r\n ['minecraft:explosion_decay', []],\r\n ['minecraft:fill_player_head', []],\r\n ['minecraft:furnace_smelt', []],\r\n ['minecraft:limit_count', []],\r\n ['minecraft:looting_enchant', [5 /* KillerEntity */]],\r\n ['minecraft:set_attributes', []],\r\n ['minecraft:set_banner_pattern', []],\r\n ['minecraft:set_contents', []],\r\n ['minecraft:set_count', []],\r\n ['minecraft:set_damage', []],\r\n ['minecraft:set_loot_table', []],\r\n ['minecraft:set_lore', []],\r\n ['minecraft:set_name', []],\r\n ['minecraft:set_nbt', []],\r\n ['minecraft:set_stew_effect', []]\r\n]);\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initLootTableSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst LootContext_1 = require(\"../LootContext\");\r\nconst Common_1 = require(\"./Common\");\r\nfunction initLootTableSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const conditions = {\r\n conditions: (0, core_1.Opt)((0, core_1.ListNode)(Reference('loot_condition')))\r\n };\r\n const functionsAndConditions = {\r\n functions: (0, core_1.Opt)((0, core_1.ListNode)(Reference('loot_function'))),\r\n ...conditions\r\n };\r\n function compileSwitchNode(contextMap, collectionID, getNode) {\r\n const cases = [];\r\n const getAvailableOptions = (providedContext) => collections\r\n .get(collectionID)\r\n .filter(t => {\r\n var _a;\r\n const requiredContext = (_a = contextMap.get(t)) !== null && _a !== void 0 ? _a : [];\r\n return requiredContext.every(c => providedContext.includes(c));\r\n });\r\n for (const [tableType, { allows, requires }] of LootContext_1.LootTableTypes) {\r\n const providedContext = [...allows, ...requires];\r\n cases.push({\r\n match: path => path.getModel().get(new core_1.Path(['type'])) === tableType,\r\n node: getNode(getAvailableOptions(providedContext))\r\n });\r\n }\r\n cases.push({ match: _ => true, node: getNode(collectionID) });\r\n return (0, core_1.SwitchNode)(cases);\r\n }\r\n const conditionIDSwtichNode = compileSwitchNode(LootContext_1.LootConditions, 'loot_condition_type', type => StringNode({ validator: 'resource', params: { pool: type instanceof Array ? type : `loot_condition_type` } }));\r\n const functionIDSwtichNode = compileSwitchNode(LootContext_1.LootFunctions, 'loot_function_type', type => StringNode({ validator: 'resource', params: { pool: type instanceof Array ? type : `loot_function_type` } }));\r\n const entitySourceSwtichNode = compileSwitchNode(LootContext_1.LootEntitySources, 'entity_source', type => StringNode({ enum: type }));\r\n const copySourceSwtichNode = compileSwitchNode(LootContext_1.LootCopySources, 'copy_source', type => StringNode({ enum: type }));\r\n schemas.register('loot_table', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n type: (0, core_1.Opt)(StringNode({ validator: \"resource\", params: { pool: collections.get('loot_context_type') } })),\r\n pools: (0, core_1.Opt)((0, core_1.ListNode)((0, core_1.Mod)((0, core_1.ObjectNode)({\r\n rolls: Reference('number_provider'),\r\n bonus_rolls: (0, core_1.Opt)(Reference('number_provider')),\r\n entries: (0, core_1.ListNode)(Reference('loot_entry')),\r\n ...functionsAndConditions\r\n }, { category: 'pool', context: 'loot_pool' }), {\r\n default: () => ({\r\n rolls: 1,\r\n entries: [{\r\n type: 'minecraft:item',\r\n name: 'minecraft:stone'\r\n }]\r\n })\r\n }))),\r\n functions: (0, core_1.Opt)((0, core_1.ListNode)(Reference('loot_function')))\r\n }, { context: 'loot_table' }), {\r\n default: () => ({\r\n pools: [{\r\n rolls: 1,\r\n entries: [{\r\n type: 'minecraft:item',\r\n name: 'minecraft:stone'\r\n }]\r\n }]\r\n })\r\n }));\r\n const weightMod = {\r\n enabled: path => {\r\n var _a;\r\n return ((_a = path.pop().get()) === null || _a === void 0 ? void 0 : _a.length) > 1\r\n && !['minecraft:alternatives', 'minecraft:group', 'minecraft:sequence'].includes(path.push('type').get());\r\n }\r\n };\r\n schemas.register('loot_entry', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'loot_pool_entry_type' } }),\r\n weight: (0, core_1.Opt)((0, core_1.Mod)((0, core_1.NumberNode)({ integer: true, min: 1 }), weightMod)),\r\n quality: (0, core_1.Opt)((0, core_1.Mod)((0, core_1.NumberNode)({ integer: true }), weightMod)),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:alternatives': {\r\n children: (0, core_1.ListNode)(Reference('loot_entry')),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:dynamic': {\r\n name: StringNode(),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:group': {\r\n children: (0, core_1.ListNode)(Reference('loot_entry')),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:item': {\r\n name: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:loot_table': {\r\n name: StringNode({ validator: 'resource', params: { pool: '$loot_table' } }),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:sequence': {\r\n children: (0, core_1.ListNode)(Reference('loot_entry')),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:tag': {\r\n name: StringNode({ validator: 'resource', params: { pool: '$tag/item' } }),\r\n expand: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n ...functionsAndConditions\r\n }\r\n }\r\n }, { context: 'loot_entry' }), {\r\n default: () => ({\r\n type: 'minecraft:item',\r\n name: 'minecraft:stone'\r\n })\r\n }));\r\n schemas.register('loot_function', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n function: functionIDSwtichNode,\r\n [core_1.Switch]: [{ push: 'function' }],\r\n [core_1.Case]: (0, Common_1.FunctionCases)(conditions, copySourceSwtichNode, entitySourceSwtichNode)\r\n }, { category: 'function', context: 'function' }), {\r\n default: () => ({\r\n function: 'minecraft:set_count',\r\n count: 1\r\n })\r\n }));\r\n schemas.register('loot_condition', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n condition: conditionIDSwtichNode,\r\n [core_1.Switch]: [{ push: 'condition' }],\r\n [core_1.Case]: (0, Common_1.ConditionCases)(entitySourceSwtichNode)\r\n }, { category: 'predicate', context: 'condition' }), {\r\n default: () => ({\r\n condition: 'minecraft:random_chance',\r\n chance: 0.5\r\n })\r\n }));\r\n schemas.register('attribute_modifier', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n attribute: StringNode({ validator: 'resource', params: { pool: 'attribute' } }),\r\n name: StringNode(),\r\n amount: Reference('number_provider'),\r\n operation: StringNode({ enum: ['addition', 'multiply_base', 'multiply_total'] }),\r\n slot: (0, core_1.StringOrList)(StringNode({ enum: 'slot' }))\r\n }, { context: 'attribute_modifier' }), {\r\n default: () => ({\r\n attribute: 'minecraft:generic.max_health',\r\n name: '',\r\n amount: 1,\r\n operation: 'addition',\r\n slot: 'mainhand'\r\n })\r\n }));\r\n}\r\nexports.initLootTableSchemas = initLootTableSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initPackMcmetaSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst CURRENT_PACK_FORMAT = 8;\r\nfunction initPackMcmetaSchemas(schemas, _) {\r\n const getSimpleString = (jsonText) => { var _a, _b; return jsonText instanceof Array ? getSimpleString(jsonText[0]) : (_b = (_a = jsonText === null || jsonText === void 0 ? void 0 : jsonText.text) !== null && _a !== void 0 ? _a : jsonText === null || jsonText === void 0 ? void 0 : jsonText.toString()) !== null && _b !== void 0 ? _b : ''; };\r\n schemas.register('pack_mcmeta', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n pack: (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n pack_format: (0, core_1.Mod)((0, core_1.NumberNode)({ integer: true, min: CURRENT_PACK_FORMAT, max: CURRENT_PACK_FORMAT }), {\r\n default: () => CURRENT_PACK_FORMAT,\r\n canUpdate: (_p, v) => v !== CURRENT_PACK_FORMAT,\r\n update: () => [{ name: 'pack_format', params: [CURRENT_PACK_FORMAT], newValue: CURRENT_PACK_FORMAT }]\r\n }),\r\n description: (0, core_1.Reference)(schemas, 'text_component')\r\n }), {\r\n default: () => ({\r\n pack_format: CURRENT_PACK_FORMAT,\r\n description: ''\r\n })\r\n })\r\n }), {\r\n default: () => ({\r\n pack: {\r\n pack_format: CURRENT_PACK_FORMAT,\r\n description: ''\r\n }\r\n })\r\n }));\r\n}\r\nexports.initPackMcmetaSchemas = initPackMcmetaSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initPredicatesSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initPredicatesSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const StateChoice = (0, core_1.ChoiceNode)([\r\n {\r\n type: 'string',\r\n node: StringNode(),\r\n change: v => (typeof v === 'boolean' || typeof v === 'number') ? v.toString() : ''\r\n },\r\n {\r\n type: 'number',\r\n node: (0, core_1.NumberNode)(),\r\n change: v => (typeof v === 'string') ? parseInt(v) : 0\r\n },\r\n {\r\n type: 'object',\r\n node: (0, core_1.ObjectNode)({\r\n min: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n max: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true }))\r\n }),\r\n change: v => (typeof v === 'number') ? ({ min: v, max: v }) : ({})\r\n },\r\n {\r\n type: 'boolean',\r\n node: (0, core_1.BooleanNode)(),\r\n change: v => v === 'true' || v === 1\r\n }\r\n ]);\r\n schemas.register('item_predicate', (0, core_1.ObjectNode)({\r\n items: (0, core_1.Opt)((0, core_1.ListNode)(StringNode({ validator: 'resource', params: { pool: 'item' } }))),\r\n tag: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$tag/item' } })),\r\n count: Reference('int_bounds'),\r\n durability: Reference('int_bounds'),\r\n potion: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: 'potion' } })),\r\n nbt: (0, core_1.Opt)(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:item', id: ['pop', { push: 'item' }] } } })),\r\n enchantments: (0, core_1.Opt)((0, core_1.ListNode)(Reference('enchantment_predicate')))\r\n }, { context: 'item' }));\r\n schemas.register('enchantment_predicate', (0, core_1.ObjectNode)({\r\n enchantment: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: 'enchantment' } })),\r\n levels: Reference('int_bounds')\r\n }, { context: 'enchantment' }));\r\n schemas.register('block_predicate', (0, core_1.ObjectNode)({\r\n blocks: (0, core_1.Opt)((0, core_1.ListNode)(StringNode({ validator: 'resource', params: { pool: 'block' } }))),\r\n tag: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$tag/block' } })),\r\n nbt: (0, core_1.Opt)(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:block', id: ['pop', { push: 'block' }] } } })),\r\n state: (0, core_1.Opt)((0, core_1.MapNode)(StringNode(), StateChoice, { validation: { validator: 'block_state_map', params: { id: ['pop', { push: 'block' }] } } }))\r\n }, { context: 'block' }));\r\n schemas.register('fluid_predicate', (0, core_1.ObjectNode)({\r\n fluid: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: 'fluid' } })),\r\n tag: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$tag/fluid' } })),\r\n state: (0, core_1.Opt)((0, core_1.MapNode)(StringNode(), StateChoice))\r\n }, { context: 'fluid' }));\r\n schemas.register('location_predicate', (0, core_1.ObjectNode)({\r\n position: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n x: Reference('float_bounds'),\r\n y: Reference('float_bounds'),\r\n z: Reference('float_bounds')\r\n })),\r\n biome: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$worldgen/biome' } })),\r\n feature: (0, core_1.Opt)(StringNode({ enum: collections.get('worldgen/structure_feature').map(v => v.slice(10)) })),\r\n dimension: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$dimension' } })),\r\n light: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n light: Reference('int_bounds')\r\n })),\r\n smokey: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n block: (0, core_1.Opt)(Reference('block_predicate')),\r\n fluid: (0, core_1.Opt)(Reference('fluid_predicate'))\r\n }, { context: 'location' }));\r\n schemas.register('statistic_predicate', (0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'stat_type' } }),\r\n stat: StringNode(),\r\n value: Reference('int_bounds'),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:mined': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'block' } })\r\n },\r\n 'minecraft:crafted': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'item' } })\r\n },\r\n 'minecraft:used': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'item' } })\r\n },\r\n 'minecraft:broken': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'item' } })\r\n },\r\n 'minecraft:picked_up': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'item' } })\r\n },\r\n 'minecraft:dropped': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'item' } })\r\n },\r\n 'minecraft:killed': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'entity_type' } })\r\n },\r\n 'minecraft:killed_by': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'entity_type' } })\r\n },\r\n 'minecraft:custom': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'custom_stat' } })\r\n }\r\n }\r\n }));\r\n schemas.register('player_predicate', (0, core_1.ObjectNode)({\r\n gamemode: (0, core_1.Opt)(StringNode({ enum: 'gamemode' })),\r\n level: Reference('int_bounds'),\r\n advancements: (0, core_1.Opt)((0, core_1.MapNode)(StringNode({ validator: 'resource', params: { pool: '$advancement' } }), (0, core_1.ChoiceNode)([\r\n { type: 'boolean', node: (0, core_1.BooleanNode)(), change: _ => true },\r\n {\r\n type: 'object', node: (0, core_1.MapNode)(StringNode(), (0, core_1.BooleanNode)())\r\n }\r\n ]))),\r\n recipes: (0, core_1.Opt)((0, core_1.MapNode)(StringNode({ validator: 'resource', params: { pool: '$recipe' } }), (0, core_1.BooleanNode)())),\r\n stats: (0, core_1.Opt)((0, core_1.ListNode)(Reference('statistic_predicate'))),\r\n looking_at: (0, core_1.Opt)(Reference('entity_predicate'))\r\n }, { context: 'player' }));\r\n schemas.register('status_effect_predicate', (0, core_1.ObjectNode)({\r\n amplifier: Reference('int_bounds'),\r\n duration: Reference('int_bounds'),\r\n ambient: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n visible: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n }, { context: 'status_effect' }));\r\n schemas.register('distance_predicate', (0, core_1.ObjectNode)({\r\n x: Reference('float_bounds'),\r\n y: Reference('float_bounds'),\r\n z: Reference('float_bounds'),\r\n absolute: Reference('float_bounds'),\r\n horizontal: Reference('float_bounds')\r\n }, { context: 'distance' }));\r\n schemas.register('entity_predicate', (0, core_1.ObjectNode)({\r\n type: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: 'entity_type', allowTag: true } })),\r\n nbt: (0, core_1.Opt)(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:entity', id: ['pop', { push: 'type' }] } } })),\r\n team: (0, core_1.Opt)(StringNode({ validator: 'team' })),\r\n location: (0, core_1.Opt)(Reference('location_predicate')),\r\n stepping_on: (0, core_1.Opt)(Reference('location_predicate')),\r\n distance: (0, core_1.Opt)(Reference('distance_predicate')),\r\n flags: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n is_on_fire: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n is_sneaking: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n is_sprinting: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n is_swimming: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n is_baby: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n })),\r\n equipment: (0, core_1.Opt)((0, core_1.MapNode)(StringNode({ enum: 'slot' }), Reference('item_predicate'))),\r\n vehicle: (0, core_1.Opt)(Reference('entity_predicate')),\r\n passenger: (0, core_1.Opt)(Reference('entity_predicate')),\r\n targeted_entity: (0, core_1.Opt)(Reference('entity_predicate')),\r\n player: (0, core_1.Opt)(Reference('player_predicate')),\r\n lightning_bolt: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n blocks_set_on_fire: (0, core_1.Opt)(Reference('int_bounds')),\r\n entity_struck: (0, core_1.Opt)(Reference('entity_predicate'))\r\n })),\r\n fishing_hook: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n in_open_water: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n })),\r\n catType: (0, core_1.Opt)(StringNode({ enum: 'cat_texture' })),\r\n effects: (0, core_1.Opt)((0, core_1.MapNode)(StringNode({ validator: 'resource', params: { pool: 'mob_effect' } }), Reference('status_effect_predicate')))\r\n }, { context: 'entity' }));\r\n schemas.register('damage_source_predicate', (0, core_1.ObjectNode)({\r\n is_explosion: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n is_fire: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n is_magic: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n is_projectile: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n is_lightning: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n bypasses_armor: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n bypasses_invulnerability: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n bypasses_magic: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n source_entity: (0, core_1.Opt)(Reference('entity_predicate')),\r\n direct_entity: (0, core_1.Opt)(Reference('entity_predicate'))\r\n }, { context: 'damage_source' }));\r\n schemas.register('damage_predicate', (0, core_1.ObjectNode)({\r\n dealt: Reference('float_bounds'),\r\n taken: Reference('float_bounds'),\r\n blocked: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n source_entity: (0, core_1.Opt)(Reference('entity_predicate')),\r\n type: (0, core_1.Opt)(Reference('damage_source_predicate'))\r\n }, { context: 'damage' }));\r\n}\r\nexports.initPredicatesSchemas = initPredicatesSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initRecipeSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initRecipeSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('recipe', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'recipe_serializer' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:crafting_shaped': {\r\n group: (0, core_1.Opt)(StringNode({ enum: 'recipe_group', additional: true })),\r\n pattern: (0, core_1.ListNode)(StringNode()),\r\n key: (0, core_1.MapNode)(StringNode(), // TODO: add validation\r\n Reference('recipe_ingredient')),\r\n result: Reference('recipe_result')\r\n },\r\n 'minecraft:crafting_shapeless': {\r\n group: (0, core_1.Opt)(StringNode()),\r\n ingredients: (0, core_1.ListNode)(Reference('recipe_ingredient')),\r\n result: Reference('recipe_result')\r\n },\r\n 'minecraft:smelting': {\r\n group: (0, core_1.Opt)(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n experience: (0, core_1.Opt)((0, core_1.NumberNode)()),\r\n cookingtime: (0, core_1.Opt)((0, core_1.Mod)((0, core_1.NumberNode)({ integer: true }), { default: () => 200 }))\r\n },\r\n 'minecraft:blasting': {\r\n group: (0, core_1.Opt)(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n experience: (0, core_1.Opt)((0, core_1.NumberNode)()),\r\n cookingtime: (0, core_1.Opt)((0, core_1.Mod)((0, core_1.NumberNode)({ integer: true }), { default: () => 100 }))\r\n },\r\n 'minecraft:smoking': {\r\n group: (0, core_1.Opt)(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n experience: (0, core_1.Opt)((0, core_1.NumberNode)()),\r\n cookingtime: (0, core_1.Opt)((0, core_1.Mod)((0, core_1.NumberNode)({ integer: true }), { default: () => 100 }))\r\n },\r\n 'minecraft:campfire_cooking': {\r\n group: (0, core_1.Opt)(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n experience: (0, core_1.Opt)((0, core_1.NumberNode)()),\r\n cookingtime: (0, core_1.Opt)((0, core_1.Mod)((0, core_1.NumberNode)({ integer: true }), { default: () => 100 }))\r\n },\r\n 'minecraft:stonecutting': {\r\n group: (0, core_1.Opt)(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n count: (0, core_1.NumberNode)({ integer: true })\r\n },\r\n 'minecraft:smithing': {\r\n group: (0, core_1.Opt)(StringNode()),\r\n base: Reference('recipe_ingredient_object'),\r\n addition: Reference('recipe_ingredient_object'),\r\n result: Reference('recipe_result')\r\n }\r\n }\r\n }, { context: 'recipe', disableSwitchContext: true }), {\r\n default: () => ({\r\n type: 'minecraft:crafting_shaped'\r\n })\r\n }));\r\n schemas.register('recipe_ingredient', (0, core_1.Mod)((0, core_1.ChoiceNode)([\r\n {\r\n type: 'object',\r\n node: Reference('recipe_ingredient_object'),\r\n change: v => v[0]\r\n },\r\n {\r\n type: 'list',\r\n node: (0, core_1.ListNode)(Reference('recipe_ingredient_object')),\r\n change: v => [v]\r\n }\r\n ]), {\r\n default: () => ({\r\n item: 'minecraft:stone'\r\n })\r\n }));\r\n schemas.register('recipe_ingredient_object', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n item: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: 'item' } })),\r\n tag: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$tag/item' } }))\r\n }), {\r\n default: () => ({\r\n item: 'minecraft:stone'\r\n })\r\n }));\r\n schemas.register('recipe_result', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n item: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n count: (0, core_1.Opt)((0, core_1.Mod)((0, core_1.NumberNode)({ integer: true }), { default: () => 1 }))\r\n }), {\r\n default: () => ({\r\n item: 'minecraft:stone'\r\n })\r\n }));\r\n}\r\nexports.initRecipeSchemas = initRecipeSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initTagsSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initTagsSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const TagBase = (type) => (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n replace: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n values: (0, core_1.ListNode)((0, core_1.ChoiceNode)([\r\n {\r\n type: 'string',\r\n node: StringNode({ validator: 'resource', params: { pool: type, allowTag: true } }),\r\n change: v => v.id\r\n },\r\n {\r\n type: 'object',\r\n node: (0, core_1.ObjectNode)({\r\n id: StringNode({ validator: 'resource', params: { pool: type, allowTag: true, allowUnknown: true } }),\r\n required: (0, core_1.BooleanNode)()\r\n }),\r\n change: v => ({ id: v })\r\n }\r\n ])),\r\n }, { context: 'tag' }), {\r\n default: () => ({\r\n values: []\r\n })\r\n });\r\n schemas.register('block_tag', TagBase('block'));\r\n schemas.register('entity_type_tag', TagBase('entity_type'));\r\n schemas.register('fluid_tag', TagBase('fluid'));\r\n schemas.register('function_tag', TagBase('$function'));\r\n schemas.register('game_event_tag', TagBase('game_event'));\r\n schemas.register('item_tag', TagBase('item'));\r\n}\r\nexports.initTagsSchemas = initTagsSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initTextComponentSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initTextComponentSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const getSimpleString = (v) => { var _a; return v instanceof Array ? getSimpleString(v[0]) : (_a = v === null || v === void 0 ? void 0 : v.text) !== null && _a !== void 0 ? _a : (typeof v === 'object' ? '' : v === null || v === void 0 ? void 0 : v.toString()); };\r\n schemas.register('text_component', (0, core_1.Mod)((0, core_1.ChoiceNode)([\r\n {\r\n type: 'object',\r\n node: Reference('text_component_object'),\r\n change: v => v instanceof Array ? (typeof v[0] === 'object' ? v[0] : { text: getSimpleString(v[0]) }) : typeof v === 'object' ? v : { text: getSimpleString(v) }\r\n },\r\n {\r\n type: 'list',\r\n node: Reference('text_component_list'),\r\n change: v => [v]\r\n },\r\n {\r\n type: 'string',\r\n priority: 1,\r\n node: StringNode(),\r\n change: getSimpleString\r\n },\r\n {\r\n type: 'number',\r\n node: (0, core_1.NumberNode)(),\r\n change: v => {\r\n const n = parseFloat(getSimpleString(v));\r\n return isFinite(n) ? n : (!!v ? 1 : 0);\r\n }\r\n },\r\n {\r\n type: 'boolean',\r\n node: (0, core_1.BooleanNode)(),\r\n change: v => {\r\n const s = getSimpleString(v);\r\n return s === 'true' || s === 'false' ? s === 'true' : !!s;\r\n }\r\n }\r\n ], { context: 'text_component' }), {\r\n default: () => ({\r\n text: \"\"\r\n })\r\n }));\r\n const CommonFields = {\r\n color: (0, core_1.Opt)(StringNode()) /* TODO */,\r\n font: (0, core_1.Opt)(StringNode()),\r\n bold: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n italic: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n underlined: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n strikethrough: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n obfuscated: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n insertion: (0, core_1.Opt)(StringNode()),\r\n clickEvent: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n action: StringNode({ enum: ['open_url', 'open_file', 'run_command', 'suggest_command', 'change_page', 'copy_to_clipboard'] }),\r\n [core_1.Switch]: [{ push: 'action' }],\r\n [core_1.Case]: {\r\n 'change_page': {\r\n value: StringNode()\r\n },\r\n 'copy_to_clipboard': {\r\n value: StringNode()\r\n },\r\n 'open_file': {\r\n value: StringNode()\r\n },\r\n 'open_url': {\r\n value: StringNode()\r\n },\r\n 'run_command': {\r\n value: StringNode({ validator: 'command', params: { leadingSlash: true, allowPartial: true } })\r\n },\r\n 'suggest_command': {\r\n value: StringNode({ validator: 'command', params: { leadingSlash: true, allowPartial: true } })\r\n }\r\n }\r\n })),\r\n hoverEvent: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n action: StringNode({ enum: ['show_text', 'show_item', 'show_entity'] }),\r\n [core_1.Switch]: [{ push: 'action' }],\r\n [core_1.Case]: {\r\n 'show_text': {\r\n value: (0, core_1.Opt)(Reference('text_component')),\r\n contents: (0, core_1.Opt)(Reference('text_component'))\r\n },\r\n 'show_item': {\r\n value: (0, core_1.Opt)(StringNode({ validator: 'nbt', params: { module: 'util::InventoryItem' } })),\r\n contents: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n id: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n count: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n tag: (0, core_1.Opt)(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:item', id: ['pop', { push: 'id' }] } } }))\r\n }))\r\n },\r\n 'show_entity': {\r\n value: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n name: (0, core_1.Opt)(StringNode()),\r\n type: (0, core_1.Opt)(StringNode()),\r\n id: (0, core_1.Opt)(StringNode())\r\n })),\r\n contents: (0, core_1.Opt)((0, core_1.Mod)((0, core_1.ObjectNode)({\r\n name: (0, core_1.Opt)(Reference('text_component')),\r\n type: StringNode({ validator: 'resource', params: { pool: 'entity_type' } }),\r\n id: StringNode({ validator: 'uuid' })\r\n }), {\r\n default: () => ({\r\n type: 'minecraft:pig',\r\n id: '00000001-0001-0001-0001-000000000001'\r\n })\r\n }))\r\n }\r\n }\r\n })),\r\n extra: (0, core_1.Opt)(Reference('text_component_list'))\r\n };\r\n schemas.register('text_component_object', (0, core_1.Mod)((0, core_1.ChoiceNode)([\r\n {\r\n type: 'text',\r\n match: v => typeof v === 'object',\r\n change: v => ({ text: '' }),\r\n priority: -1,\r\n node: (0, core_1.ObjectNode)({\r\n text: StringNode(),\r\n ...CommonFields\r\n })\r\n },\r\n {\r\n type: 'translation',\r\n match: v => (v === null || v === void 0 ? void 0 : v.translate) !== undefined,\r\n change: v => ({ translate: '' }),\r\n node: (0, core_1.ObjectNode)({\r\n translate: StringNode(),\r\n with: (0, core_1.Opt)(Reference('text_component_list')),\r\n ...CommonFields\r\n })\r\n },\r\n {\r\n type: 'score',\r\n match: v => (v === null || v === void 0 ? void 0 : v.score) !== undefined,\r\n change: v => ({ score: {} }),\r\n node: (0, core_1.ObjectNode)({\r\n score: (0, core_1.ObjectNode)({\r\n name: StringNode({ validator: 'entity', params: { amount: 'single', type: 'entities', isScoreHolder: true } }),\r\n objective: StringNode({ validator: 'objective' }),\r\n value: (0, core_1.Opt)(StringNode())\r\n }),\r\n ...CommonFields\r\n })\r\n },\r\n {\r\n type: 'selector',\r\n match: v => (v === null || v === void 0 ? void 0 : v.selector) !== undefined,\r\n change: v => ({ selector: '' }),\r\n node: (0, core_1.ObjectNode)({\r\n selector: StringNode({ validator: 'entity', params: { amount: 'multiple', type: 'entities' } }),\r\n separator: (0, core_1.Opt)(Reference('text_component')),\r\n ...CommonFields\r\n })\r\n },\r\n {\r\n type: 'keybind',\r\n match: v => (v === null || v === void 0 ? void 0 : v.keybind) !== undefined,\r\n change: v => ({ keybind: '' }),\r\n node: (0, core_1.ObjectNode)({\r\n keybind: StringNode({ enum: 'keybind', additional: true }),\r\n ...CommonFields\r\n })\r\n },\r\n {\r\n type: 'nbt',\r\n match: v => (v === null || v === void 0 ? void 0 : v.nbt) !== undefined,\r\n change: v => ({ nbt: '' }),\r\n node: (0, core_1.ObjectNode)({\r\n nbt: StringNode({ validator: 'nbt_path' }),\r\n block: (0, core_1.Opt)(StringNode({ validator: 'vector', params: { dimension: 3, isInteger: true } })),\r\n entity: (0, core_1.Opt)(StringNode({ validator: 'entity', params: { amount: 'multiple', type: 'entities' } })),\r\n storage: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$storage' } })),\r\n interpret: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n separator: (0, core_1.Opt)(Reference('text_component')),\r\n ...CommonFields\r\n })\r\n }\r\n ], { context: 'text_component_object', choiceContext: 'text_component.object' }), {\r\n default: () => ({\r\n text: \"\"\r\n })\r\n }));\r\n schemas.register('text_component_list', (0, core_1.Mod)((0, core_1.ListNode)(Reference('text_component')), {\r\n default: () => [{\r\n text: \"\"\r\n }]\r\n }));\r\n}\r\nexports.initTextComponentSchemas = initTextComponentSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initBiomeSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initBiomeSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('biome', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n temperature: (0, core_1.NumberNode)(),\r\n downfall: (0, core_1.NumberNode)(),\r\n precipitation: StringNode({ enum: ['none', 'rain', 'snow'] }),\r\n temperature_modifier: (0, core_1.Opt)(StringNode({ enum: ['none', 'frozen'] })),\r\n category: StringNode({ enum: 'biome_category' }),\r\n creature_spawn_probability: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 1 })),\r\n effects: (0, core_1.ObjectNode)({\r\n sky_color: (0, core_1.NumberNode)({ color: true }),\r\n fog_color: (0, core_1.NumberNode)({ color: true }),\r\n water_color: (0, core_1.NumberNode)({ color: true }),\r\n water_fog_color: (0, core_1.NumberNode)({ color: true }),\r\n grass_color: (0, core_1.Opt)((0, core_1.NumberNode)({ color: true })),\r\n foliage_color: (0, core_1.Opt)((0, core_1.NumberNode)({ color: true })),\r\n grass_color_modifier: (0, core_1.Opt)(StringNode({ enum: ['none', 'dark_forest', 'swamp'] })),\r\n ambient_sound: (0, core_1.Opt)(StringNode()),\r\n mood_sound: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n sound: StringNode(),\r\n tick_delay: (0, core_1.NumberNode)({ integer: true }),\r\n block_search_extent: (0, core_1.NumberNode)({ integer: true }),\r\n offset: (0, core_1.NumberNode)()\r\n })),\r\n additions_sound: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n sound: StringNode(),\r\n tick_chance: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n })),\r\n music: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n sound: StringNode(),\r\n min_delay: (0, core_1.NumberNode)({ integer: true, min: 0 }),\r\n max_delay: (0, core_1.NumberNode)({ integer: true, min: 0 }),\r\n replace_current_music: (0, core_1.BooleanNode)()\r\n })),\r\n particle: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n options: (0, core_1.ObjectNode)({\r\n type: StringNode()\r\n }),\r\n probability: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n }))\r\n }),\r\n spawners: (0, core_1.MapNode)(StringNode({ enum: [\r\n 'monster',\r\n 'creature',\r\n 'ambient',\r\n 'axolotls',\r\n 'underground_water_creature',\r\n 'water_creature',\r\n 'water_ambient',\r\n 'misc'\r\n ] }), (0, core_1.Mod)((0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'entity_type' } }),\r\n weight: (0, core_1.NumberNode)({ integer: true }),\r\n minCount: (0, core_1.NumberNode)({ integer: true }),\r\n maxCount: (0, core_1.NumberNode)({ integer: true })\r\n })), {\r\n category: () => 'pool',\r\n default: () => [{\r\n type: 'minecraft:bat',\r\n weight: 1\r\n }]\r\n })),\r\n spawn_costs: (0, core_1.MapNode)(StringNode({ validator: 'resource', params: { pool: 'entity_type' } }), (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n energy_budget: (0, core_1.NumberNode)(),\r\n charge: (0, core_1.NumberNode)()\r\n }, { category: 'function' }), {\r\n default: () => ({\r\n energy_budget: 0.12,\r\n charge: 1.0\r\n })\r\n })),\r\n carvers: (0, core_1.MapNode)(StringNode({ enum: ['air', 'liquid'] }), (0, core_1.Mod)((0, core_1.ListNode)(StringNode({ validator: 'resource', params: { pool: '$worldgen/configured_carver' } })), {\r\n default: () => ['minecraft:cave']\r\n })),\r\n features: (0, core_1.ListNode)((0, core_1.Mod)((0, core_1.ListNode)(StringNode({ validator: 'resource', params: { pool: '$worldgen/placed_feature' } })), { category: () => 'predicate' }), { maxLength: 11 })\r\n }, { context: 'biome' }), {\r\n default: () => ({\r\n temperature: 0.8,\r\n downfall: 0.4,\r\n precipitation: 'rain',\r\n category: 'plains',\r\n effects: {\r\n sky_color: 7907327,\r\n fog_color: 12638463,\r\n water_color: 4159204,\r\n water_fog_color: 329011\r\n }\r\n })\r\n }));\r\n}\r\nexports.initBiomeSchemas = initBiomeSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initCarverSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"../Common\");\r\nfunction initCarverSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const CanyonConfig = {\r\n vertical_rotation: (0, Common_1.FloatProvider)(),\r\n shape: (0, core_1.ObjectNode)({\r\n distance_factor: (0, Common_1.FloatProvider)(),\r\n thickness: (0, Common_1.FloatProvider)(),\r\n width_smoothness: (0, core_1.NumberNode)({ integer: true, min: 0 }),\r\n horizontal_radius_factor: (0, Common_1.FloatProvider)(),\r\n vertical_radius_default_factor: (0, core_1.NumberNode)(),\r\n vertical_radius_center_factor: (0, core_1.NumberNode)()\r\n })\r\n };\r\n const CaveConfig = {\r\n horizontal_radius_multiplier: (0, Common_1.FloatProvider)(),\r\n vertical_radius_multiplier: (0, Common_1.FloatProvider)(),\r\n floor_level: (0, Common_1.FloatProvider)({ min: -1, max: 1 }),\r\n };\r\n schemas.register('configured_carver', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/carver' } }),\r\n config: (0, core_1.ObjectNode)({\r\n probability: (0, core_1.NumberNode)({ min: 0, max: 1 }),\r\n y: Reference('height_provider'),\r\n yScale: (0, Common_1.FloatProvider)(),\r\n lava_level: Reference('vertical_anchor'),\r\n debug_settings: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n debug_mode: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n air_state: (0, core_1.Opt)(Reference('block_state')),\r\n water_state: (0, core_1.Opt)(Reference('block_state')),\r\n lava_state: (0, core_1.Opt)(Reference('block_state')),\r\n barrier_state: (0, core_1.Opt)(Reference('block_state'))\r\n })),\r\n [core_1.Switch]: ['pop', { push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:canyon': CanyonConfig,\r\n 'minecraft:cave': CaveConfig,\r\n 'minecraft:nether_cave': CaveConfig\r\n },\r\n })\r\n }, { context: 'carver' }), {\r\n default: () => ({\r\n type: 'minecraft:cave',\r\n config: {\r\n probability: 0.1\r\n }\r\n })\r\n }));\r\n}\r\nexports.initCarverSchemas = initCarverSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initDecoratorSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"../Common\");\r\nfunction initDecoratorSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('decorator', (0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/placement_modifier_type' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:block_predicate_filter': {\r\n predicate: Reference('block_predicate_worldgen')\r\n },\r\n 'minecraft:carving_mask': {\r\n step: StringNode({ enum: 'generation_step' })\r\n },\r\n 'minecraft:rarity_filter': {\r\n chance: (0, core_1.NumberNode)({ integer: true, min: 0 })\r\n },\r\n 'minecraft:count': {\r\n count: (0, Common_1.IntProvider)({ min: 0, max: 256 })\r\n },\r\n 'minecraft:count_on_every_layer': {\r\n count: (0, Common_1.IntProvider)({ min: 0, max: 256 })\r\n },\r\n 'minecraft:noise_threshold_count': {\r\n noise_level: (0, core_1.NumberNode)(),\r\n below_noise: (0, core_1.NumberNode)({ integer: true }),\r\n above_noise: (0, core_1.NumberNode)({ integer: true })\r\n },\r\n 'minecraft:noise_based_count': {\r\n noise_to_count_ratio: (0, core_1.NumberNode)({ integer: true }),\r\n noise_factor: (0, core_1.NumberNode)(),\r\n noise_offset: (0, core_1.Opt)((0, core_1.NumberNode)())\r\n },\r\n 'minecraft:environment_scan': {\r\n direction_of_search: StringNode({ enum: ['up', 'down'] }),\r\n max_steps: (0, core_1.NumberNode)({ integer: true, min: 1, max: 32 }),\r\n target_condition: Reference('block_predicate_worldgen'),\r\n allowed_search_condition: (0, core_1.Opt)(Reference('block_predicate_worldgen'))\r\n },\r\n 'minecraft:heightmap': {\r\n heightmap: StringNode({ enum: 'heightmap_type' })\r\n },\r\n 'minecraft:height_range': {\r\n height: Reference('height_provider')\r\n },\r\n 'minecraft:random_offset': {\r\n xz_spread: (0, Common_1.IntProvider)({ min: -16, max: 16 }),\r\n y_spread: (0, Common_1.IntProvider)({ min: -16, max: 16 }),\r\n },\r\n 'minecraft:surface_relative_threshold_filter': {\r\n heightmap: StringNode({ enum: 'heightmap_type' }),\r\n min_inclusive: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n max_inclusive: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true }))\r\n },\r\n 'minecraft:surface_water_depth_filter': {\r\n max_water_depth: (0, core_1.NumberNode)({ integer: true })\r\n }\r\n }\r\n }, { context: 'decorator', category: 'predicate' }));\r\n}\r\nexports.initDecoratorSchemas = initDecoratorSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initProcessorListSchemas = exports.Processors = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initProcessorListSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n exports.Processors = (0, core_1.ChoiceNode)([\r\n {\r\n type: 'string',\r\n node: StringNode({ validator: 'resource', params: { pool: '$worldgen/processor_list' } }),\r\n change: v => undefined\r\n },\r\n {\r\n type: 'object',\r\n node: Reference('processor_list'),\r\n change: v => ({\r\n processors: [{\r\n \"processor_type\": \"minecraft:nop\"\r\n }]\r\n })\r\n }\r\n ]);\r\n schemas.register('processor_list', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n processors: (0, core_1.ListNode)(Reference('processor'))\r\n }, { context: 'processor_list' }), {\r\n default: () => ({\r\n processors: [{\r\n processor_type: 'minecraft:rule',\r\n rules: [{\r\n location_predicate: {\r\n predicate_type: 'minecraft:always_true'\r\n },\r\n input_predicate: {\r\n predicate_type: 'minecraft:always_true'\r\n }\r\n }]\r\n }]\r\n })\r\n }));\r\n schemas.register('processor', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n processor_type: StringNode({ validator: 'resource', params: { pool: 'worldgen/structure_processor' } }),\r\n [core_1.Switch]: [{ push: 'processor_type' }],\r\n [core_1.Case]: {\r\n 'minecraft:block_age': {\r\n mossiness: (0, core_1.NumberNode)()\r\n },\r\n 'minecraft:block_ignore': {\r\n blocks: (0, core_1.ListNode)(Reference('block_state'))\r\n },\r\n 'minecraft:block_rot': {\r\n integrity: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n },\r\n 'minecraft:gravity': {\r\n heightmap: StringNode({ enum: 'heightmap_type' }),\r\n offset: (0, core_1.NumberNode)({ integer: true })\r\n },\r\n 'minecraft:protected_blocks': {\r\n value: StringNode({ validator: 'resource', params: { pool: '$tag/block' } })\r\n },\r\n 'minecraft:rule': {\r\n rules: (0, core_1.ListNode)(Reference('processor_rule'))\r\n }\r\n }\r\n }, { category: 'function', context: 'processor' }), {\r\n default: () => ({\r\n processor_type: 'minecraft:rule',\r\n rules: [{\r\n location_predicate: {\r\n predicate_type: 'minecraft:always_true'\r\n },\r\n input_predicate: {\r\n predicate_type: 'minecraft:always_true'\r\n }\r\n }]\r\n })\r\n }));\r\n schemas.register('processor_rule', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n position_predicate: (0, core_1.Opt)(Reference('pos_rule_test')),\r\n location_predicate: Reference('rule_test'),\r\n input_predicate: Reference('rule_test'),\r\n output_state: Reference('block_state'),\r\n output_nbt: (0, core_1.Opt)(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:block' } } }))\r\n }, { category: 'predicate', context: 'processor_rule' }), {\r\n default: () => ({\r\n location_predicate: {\r\n predicate_type: 'minecraft:always_true'\r\n },\r\n input_predicate: {\r\n predicate_type: 'minecraft:always_true'\r\n }\r\n })\r\n }));\r\n const posTestFields = {\r\n min_dist: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 255, integer: true })),\r\n max_dist: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 255, integer: true })),\r\n min_chance: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 1 })),\r\n max_chance: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 1 }))\r\n };\r\n schemas.register('pos_rule_test', (0, core_1.ObjectNode)({\r\n predicate_type: StringNode({ validator: 'resource', params: { pool: 'pos_rule_test' } }),\r\n [core_1.Switch]: [{ push: 'predicate_type' }],\r\n [core_1.Case]: {\r\n 'minecraft:axis_aligned_linear_pos': {\r\n axis: StringNode({ enum: ['x', 'y', 'z'] }),\r\n ...posTestFields\r\n },\r\n 'minecraft:linear_pos': posTestFields\r\n }\r\n }, { context: 'pos_rule_test', disableSwitchContext: true }));\r\n schemas.register('rule_test', (0, core_1.ObjectNode)({\r\n predicate_type: StringNode({ validator: 'resource', params: { pool: 'rule_test' } }),\r\n [core_1.Switch]: [{ push: 'predicate_type' }],\r\n [core_1.Case]: {\r\n 'minecraft:block_match': {\r\n block: StringNode({ validator: 'resource', params: { pool: 'block' } })\r\n },\r\n 'minecraft:blockstate_match': {\r\n block_state: Reference('block_state')\r\n },\r\n 'minecraft:random_block_match': {\r\n block: StringNode({ validator: 'resource', params: { pool: 'block' } }),\r\n probability: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n },\r\n 'minecraft:random_blockstate_match': {\r\n block_state: Reference('block_state'),\r\n probability: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n },\r\n 'minecraft:tag_match': {\r\n tag: StringNode({ validator: 'resource', params: { pool: '$tag/block' } })\r\n }\r\n }\r\n }, { context: 'rule_test', disableSwitchContext: true }));\r\n}\r\nexports.initProcessorListSchemas = initProcessorListSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initFeatureSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"../Common\");\r\nrequire(\"./Decorator\");\r\nrequire(\"./ProcessorList\");\r\nconst ProcessorList_1 = require(\"./ProcessorList\");\r\nfunction initFeatureSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const ConfiguredFeature = (0, core_1.ChoiceNode)([\r\n {\r\n type: 'string',\r\n node: StringNode({ validator: 'resource', params: { pool: '$worldgen/configured_feature' } })\r\n },\r\n {\r\n type: 'object',\r\n node: Reference('configured_feature')\r\n }\r\n ], { choiceContext: 'feature' });\r\n const PlacedFeature = (0, core_1.ChoiceNode)([\r\n {\r\n type: 'string',\r\n node: StringNode({ validator: 'resource', params: { pool: '$worldgen/placed_feature' } })\r\n },\r\n {\r\n type: 'object',\r\n node: Reference('placed_feature')\r\n }\r\n ], { choiceContext: 'placed_feature' });\r\n const RandomPatchConfig = {\r\n tries: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 1 })),\r\n xz_spread: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 0 })),\r\n y_spread: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 0 })),\r\n feature: PlacedFeature,\r\n };\r\n const DiskConfig = {\r\n state: Reference('block_state'),\r\n radius: (0, Common_1.IntProvider)({ min: 0, max: 8 }),\r\n half_height: (0, core_1.NumberNode)({ integer: true, min: 0, max: 4 }),\r\n targets: (0, core_1.ListNode)(Reference('block_state'))\r\n };\r\n const HugeMushroomConfig = {\r\n cap_provider: Reference('block_state_provider'),\r\n stem_provider: Reference('block_state_provider'),\r\n foliage_radius: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true }))\r\n };\r\n const TargetBlockState = (0, core_1.ObjectNode)({\r\n target: Reference('rule_test'),\r\n state: Reference('block_state')\r\n });\r\n const OreConfig = {\r\n size: (0, core_1.NumberNode)({ integer: true, min: 0, max: 64 }),\r\n discard_chance_on_air_exposure: (0, core_1.NumberNode)({ min: 0, max: 1 }),\r\n targets: (0, core_1.ListNode)(TargetBlockState)\r\n };\r\n const VegetationPatchConfig = {\r\n surface: StringNode({ enum: 'cave_surface' }),\r\n depth: (0, Common_1.IntProvider)({ min: 1, max: 128 }),\r\n vertical_range: (0, core_1.NumberNode)({ integer: true, min: 1, max: 256 }),\r\n extra_bottom_block_chance: (0, core_1.NumberNode)({ min: 0, max: 1 }),\r\n extra_edge_column_chance: (0, core_1.NumberNode)({ min: 0, max: 1 }),\r\n vegetation_chance: (0, core_1.NumberNode)({ min: 0, max: 1 }),\r\n xz_radius: (0, Common_1.IntProvider)(),\r\n replaceable: StringNode({ validator: 'resource', params: { pool: '$tag/block' } }),\r\n ground_state: Reference('block_state_provider'),\r\n vegetation_feature: PlacedFeature\r\n };\r\n schemas.register('configured_feature', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/feature' } }),\r\n config: (0, core_1.ObjectNode)({\r\n [core_1.Switch]: ['pop', { push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:bamboo': {\r\n probability: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n },\r\n 'minecraft:basalt_columns': {\r\n reach: (0, Common_1.IntProvider)({ min: 0, max: 3 }),\r\n height: (0, Common_1.IntProvider)({ min: 1, max: 10 })\r\n },\r\n 'minecraft:block_column': {\r\n direction: StringNode({ enum: ['up', 'down', 'north', 'east', 'south', 'west'] }),\r\n allowed_placement: Reference('block_predicate_worldgen'),\r\n prioritize_tip: (0, core_1.BooleanNode)(),\r\n layers: (0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n height: (0, Common_1.IntProvider)({ min: 0 }),\r\n provider: Reference('block_state_provider')\r\n }))\r\n },\r\n 'minecraft:block_pile': {\r\n state_provider: Reference('block_state_provider')\r\n },\r\n 'minecraft:delta_feature': {\r\n contents: Reference('block_state'),\r\n rim: Reference('block_state'),\r\n size: (0, Common_1.IntProvider)({ min: 0, max: 16 }),\r\n rim_size: (0, Common_1.IntProvider)({ min: 0, max: 16 })\r\n },\r\n 'minecraft:disk': DiskConfig,\r\n 'minecraft:dripstone_cluster': {\r\n floor_to_ceiling_search_range: (0, core_1.NumberNode)({ integer: true, min: 1, max: 512 }),\r\n height: (0, Common_1.IntProvider)({ min: 0, max: 128 }),\r\n radius: (0, Common_1.IntProvider)({ min: 0, max: 128 }),\r\n max_stalagmite_stalactite_height_diff: (0, core_1.NumberNode)({ integer: true, min: 0, max: 64 }),\r\n height_deviation: (0, core_1.NumberNode)({ integer: true, min: 1, max: 64 }),\r\n dripstone_block_layer_thickness: (0, Common_1.IntProvider)({ min: 0, max: 128 }),\r\n density: (0, Common_1.FloatProvider)({ min: 0, max: 2 }),\r\n wetness: (0, Common_1.FloatProvider)({ min: 0, max: 2 }),\r\n chance_of_dripstone_column_at_max_distance_from_center: (0, core_1.NumberNode)({ min: 0, max: 1 }),\r\n max_distance_from_edge_affecting_chance_of_dripstone_column: (0, core_1.NumberNode)({ integer: true, min: 1, max: 64 }),\r\n max_distance_from_center_affecting_height_bias: (0, core_1.NumberNode)({ integer: true, min: 1, max: 64 })\r\n },\r\n 'minecraft:end_gateway': {\r\n exact: (0, core_1.BooleanNode)(),\r\n exit: (0, core_1.Opt)(Reference('block_pos'))\r\n },\r\n 'minecraft:end_spike': {\r\n crystal_invulnerable: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n crystal_beam_target: (0, core_1.Opt)(Reference('block_pos')),\r\n spikes: (0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n centerX: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n centerZ: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n radius: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n height: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n guarded: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n }))\r\n },\r\n 'minecraft:fill_layer': {\r\n state: Reference('block_state'),\r\n height: (0, core_1.NumberNode)({ integer: true, min: 0, max: 255 })\r\n },\r\n 'minecraft:flower': RandomPatchConfig,\r\n 'minecraft:forest_rock': {\r\n state: Reference('block_state')\r\n },\r\n 'minecraft:fossil': {\r\n max_empty_corners_allowed: (0, core_1.NumberNode)({ integer: true, min: 0, max: 7 }),\r\n fossil_structures: (0, core_1.ListNode)(StringNode({ validator: 'resource', params: { pool: '$structure' } })),\r\n overlay_structures: (0, core_1.ListNode)(StringNode({ validator: 'resource', params: { pool: '$structure' } })),\r\n fossil_processors: ProcessorList_1.Processors,\r\n overlay_processors: ProcessorList_1.Processors,\r\n },\r\n 'minecraft:geode': {\r\n blocks: (0, core_1.ObjectNode)({\r\n filling_provider: Reference('block_state_provider'),\r\n inner_layer_provider: Reference('block_state_provider'),\r\n alternate_inner_layer_provider: Reference('block_state_provider'),\r\n middle_layer_provider: Reference('block_state_provider'),\r\n outer_layer_provider: Reference('block_state_provider'),\r\n inner_placements: (0, core_1.ListNode)(Reference('block_state')),\r\n cannot_replace: StringNode({ validator: 'resource', params: { pool: '$tag/block' } }),\r\n invalid_blocks: StringNode({ validator: 'resource', params: { pool: '$tag/block' } })\r\n }),\r\n layers: (0, core_1.ObjectNode)({\r\n filling: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0.01, max: 50 })),\r\n inner_layer: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0.01, max: 50 })),\r\n middle_layer: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0.01, max: 50 })),\r\n outer_layer: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0.01, max: 50 })),\r\n }),\r\n crack: (0, core_1.ObjectNode)({\r\n generate_crack_chance: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 1 })),\r\n base_crack_size: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 5 })),\r\n crack_point_offset: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 10 })),\r\n }),\r\n noise_multiplier: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 1 })),\r\n use_potential_placements_chance: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 1 })),\r\n use_alternate_layer0_chance: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 1 })),\r\n placements_require_layer0_alternate: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n outer_wall_distance: (0, core_1.Opt)((0, Common_1.IntProvider)({ min: 1, max: 20 })),\r\n distribution_points: (0, core_1.Opt)((0, Common_1.IntProvider)({ min: 1, max: 20 })),\r\n point_offset: (0, core_1.Opt)((0, Common_1.IntProvider)({ min: 0, max: 10 })),\r\n min_gen_offset: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n max_gen_offset: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n invalid_blocks_threshold: (0, core_1.NumberNode)({ integer: true })\r\n },\r\n 'minecraft:glow_lichen': {\r\n search_range: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 1, max: 64, integer: true })),\r\n chance_of_spreading: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 1 })),\r\n can_place_on_floor: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n can_place_on_ceiling: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n can_place_on_wall: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n can_be_placed_on: (0, core_1.ListNode)(StringNode({ validator: 'resource', params: { pool: 'block' } }))\r\n },\r\n 'minecraft:huge_brown_mushroom': HugeMushroomConfig,\r\n 'minecraft:huge_fungus': {\r\n hat_state: Reference('block_state'),\r\n decor_state: Reference('block_state'),\r\n stem_state: Reference('block_state'),\r\n valid_base_block: Reference('block_state'),\r\n planted: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n },\r\n 'minecraft:huge_red_mushroom': HugeMushroomConfig,\r\n 'minecraft:ice_patch': DiskConfig,\r\n 'minecraft:iceberg': {\r\n state: Reference('block_state')\r\n },\r\n 'minecraft:lake': {\r\n fluid: Reference('block_state_provider'),\r\n barrier: Reference('block_state_provider')\r\n },\r\n 'minecraft:large_dripstone': {\r\n floor_to_ceiling_search_range: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 1, max: 512 })),\r\n column_radius: (0, Common_1.IntProvider)({ min: 0, max: 60 }),\r\n height_scale: (0, Common_1.FloatProvider)({ min: 0, max: 20 }),\r\n max_column_radius_to_cave_height_ratio: (0, core_1.NumberNode)({ min: 0, max: 1 }),\r\n stalactite_bluntness: (0, Common_1.FloatProvider)({ min: 0.1, max: 10 }),\r\n stalagmite_bluntness: (0, Common_1.FloatProvider)({ min: 0.1, max: 10 }),\r\n wind_speed: (0, Common_1.FloatProvider)({ min: 0, max: 2 }),\r\n min_radius_for_wind: (0, core_1.NumberNode)({ integer: true, min: 0, max: 100 }),\r\n min_bluntness_for_wind: (0, core_1.NumberNode)({ min: 0, max: 5 })\r\n },\r\n 'minecraft:nether_forest_vegetation': {\r\n state_provider: Reference('block_state_provider'),\r\n spread_width: (0, core_1.NumberNode)({ integer: true, min: 1 }),\r\n spread_height: (0, core_1.NumberNode)({ integer: true, min: 1 })\r\n },\r\n 'minecraft:netherrack_replace_blobs': {\r\n state: Reference('block_state'),\r\n target: Reference('block_state'),\r\n radius: (0, Common_1.IntProvider)({ min: 0, max: 12 })\r\n },\r\n 'minecraft:no_bonemeal_flower': RandomPatchConfig,\r\n 'minecraft:ore': OreConfig,\r\n 'minecraft:pointed_dripstone': {\r\n chance_of_taller_dripstone: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 1 })),\r\n chance_of_directional_spread: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 1 })),\r\n chance_of_spread_radius2: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 1 })),\r\n chance_of_spread_radius3: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 1 })),\r\n },\r\n 'minecraft:random_patch': RandomPatchConfig,\r\n 'minecraft:random_boolean_selector': {\r\n feature_false: PlacedFeature,\r\n feature_true: PlacedFeature\r\n },\r\n 'minecraft:random_selector': {\r\n features: (0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n chance: (0, core_1.NumberNode)({ min: 0, max: 1 }),\r\n feature: PlacedFeature\r\n })),\r\n default: PlacedFeature\r\n },\r\n 'minecraft:replace_single_block': {\r\n targets: (0, core_1.ListNode)(TargetBlockState)\r\n },\r\n 'minecraft:root_system': {\r\n required_vertical_space_for_tree: (0, core_1.NumberNode)({ integer: true, min: 1, max: 64 }),\r\n root_radius: (0, core_1.NumberNode)({ integer: true, min: 1, max: 64 }),\r\n root_placement_attempts: (0, core_1.NumberNode)({ integer: true, min: 1, max: 256 }),\r\n root_column_max_height: (0, core_1.NumberNode)({ integer: true, min: 1, max: 4096 }),\r\n hanging_root_radius: (0, core_1.NumberNode)({ integer: true, min: 1, max: 64 }),\r\n hanging_roots_vertical_span: (0, core_1.NumberNode)({ integer: true, min: 0, max: 16 }),\r\n hanging_root_placement_attempts: (0, core_1.NumberNode)({ integer: true, min: 0, max: 256 }),\r\n allowed_vertical_water_for_tree: (0, core_1.NumberNode)({ integer: true, min: 1, max: 64 }),\r\n root_replaceable: StringNode({ validator: 'resource', params: { pool: '$tag/block' } }),\r\n root_state_provider: Reference('block_state_provider'),\r\n hanging_root_state_provider: Reference('block_state_provider'),\r\n allowed_tree_position: Reference('block_predicate_worldgen'),\r\n feature: PlacedFeature\r\n },\r\n 'minecraft:scattered_ore': OreConfig,\r\n 'minecraft:sea_pickle': {\r\n count: (0, Common_1.IntProvider)({ min: 0, max: 256 })\r\n },\r\n 'minecraft:seagrass': {\r\n probability: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n },\r\n 'minecraft:simple_block': {\r\n to_place: Reference('block_state_provider')\r\n },\r\n 'minecraft:simple_random_selector': {\r\n features: (0, core_1.ListNode)(PlacedFeature)\r\n },\r\n 'minecraft:spring_feature': {\r\n state: Reference('fluid_state'),\r\n rock_count: (0, core_1.NumberNode)({ integer: true }),\r\n hole_count: (0, core_1.NumberNode)({ integer: true }),\r\n requires_block_below: (0, core_1.BooleanNode)(),\r\n valid_blocks: (0, core_1.ListNode)(StringNode({ validator: 'resource', params: { pool: 'block' } }))\r\n },\r\n 'minecraft:tree': {\r\n ignore_vines: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n force_dirt: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n minimum_size: Reference('feature_size'),\r\n dirt_provider: Reference('block_state_provider'),\r\n trunk_provider: Reference('block_state_provider'),\r\n foliage_provider: Reference('block_state_provider'),\r\n trunk_placer: (0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/trunk_placer_type' } }),\r\n base_height: (0, core_1.NumberNode)({ integer: true, min: 0, max: 32 }),\r\n height_rand_a: (0, core_1.NumberNode)({ integer: true, min: 0, max: 24 }),\r\n height_rand_b: (0, core_1.NumberNode)({ integer: true, min: 0, max: 24 }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:bending_trunk_placer': {\r\n bend_length: (0, Common_1.IntProvider)({ min: 1, max: 64 }),\r\n min_height_for_leaves: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 1 }))\r\n }\r\n }\r\n }, { context: 'trunk_placer' }),\r\n foliage_placer: (0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/foliage_placer_type' } }),\r\n radius: (0, Common_1.IntProvider)({ min: 0, max: 16 }),\r\n offset: (0, Common_1.IntProvider)({ min: 0, max: 16 }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:blob_foliage_placer': {\r\n height: (0, core_1.NumberNode)({ integer: true, min: 0, max: 16 })\r\n },\r\n 'minecraft:bush_foliage_placer': {\r\n height: (0, core_1.NumberNode)({ integer: true, min: 0, max: 16 })\r\n },\r\n 'minecraft:fancy_foliage_placer': {\r\n height: (0, core_1.NumberNode)({ integer: true, min: 0, max: 16 })\r\n },\r\n 'minecraft:jungle_foliage_placer': {\r\n height: (0, core_1.NumberNode)({ integer: true, min: 0, max: 16 })\r\n },\r\n 'minecraft:mega_pine_foliage_placer': {\r\n crown_height: (0, Common_1.IntProvider)({ min: 0, max: 24 })\r\n },\r\n 'minecraft:pine_foliage_placer': {\r\n height: (0, Common_1.IntProvider)({ min: 0, max: 24 })\r\n },\r\n 'minecraft:random_spread_foliage_placer': {\r\n foliage_height: (0, Common_1.IntProvider)({ min: 1, max: 512 }),\r\n leaf_placement_attempts: (0, core_1.NumberNode)({ integer: true, min: 0, max: 256 })\r\n },\r\n 'minecraft:spruce_foliage_placer': {\r\n trunk_height: (0, Common_1.IntProvider)({ min: 0, max: 24 })\r\n }\r\n }\r\n }, { context: 'foliage_placer', disableSwitchContext: true }),\r\n decorators: (0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/tree_decorator_type' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:alter_ground': {\r\n provider: Reference('block_state_provider')\r\n },\r\n 'minecraft:beehive': {\r\n probability: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n },\r\n 'minecraft:cocoa': {\r\n probability: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n }\r\n }\r\n }, { context: 'tree_decorator' }))\r\n },\r\n 'minecraft:twisting_vines': {\r\n spread_width: (0, core_1.NumberNode)({ integer: true, min: 1 }),\r\n spread_height: (0, core_1.NumberNode)({ integer: true, min: 1 }),\r\n max_height: (0, core_1.NumberNode)({ integer: true, min: 1 }),\r\n },\r\n 'minecraft:underwater_magma': {\r\n floor_search_range: (0, core_1.NumberNode)({ integer: true, min: 0, max: 512 }),\r\n placement_radius_around_floor: (0, core_1.NumberNode)({ integer: true, min: 0, max: 64 }),\r\n placement_probability_per_valid_position: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n },\r\n 'minecraft:vegetation_patch': VegetationPatchConfig,\r\n 'minecraft:waterlogged_vegetation_patch': VegetationPatchConfig\r\n }\r\n }, { context: 'feature' })\r\n }, { context: 'feature' }), {\r\n default: () => ({\r\n type: 'minecraft:tree',\r\n config: {\r\n minimum_size: {\r\n type: 'minecraft:two_layers_feature_size'\r\n },\r\n trunk_placer: {\r\n type: 'minecraft:straight_trunk_placer',\r\n base_height: 5,\r\n height_rand_a: 2,\r\n height_rand_b: 0\r\n },\r\n foliage_placer: {\r\n type: 'minecraft:blob_foliage_placer',\r\n radius: 2,\r\n offset: 0,\r\n height: 3\r\n }\r\n }\r\n })\r\n }));\r\n schemas.register('placed_feature', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n feature: ConfiguredFeature,\r\n placement: (0, core_1.ListNode)(Reference('decorator'))\r\n }, { context: 'placed_feature' }), {\r\n default: () => ({\r\n feature: 'minecraft:oak',\r\n placement: [\r\n {\r\n type: 'minecraft:count',\r\n count: 4\r\n },\r\n {\r\n type: 'minecraft:in_square'\r\n },\r\n {\r\n type: 'minecraft:heightmap',\r\n heightmap: 'OCEAN_FLOOR'\r\n }\r\n ]\r\n })\r\n }));\r\n schemas.register('feature_size', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/feature_size_type' } }),\r\n min_clipped_height: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 80 })),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:two_layers_feature_size': {\r\n limit: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 0, max: 81 })),\r\n lower_size: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 0, max: 16 })),\r\n upper_size: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 0, max: 16 }))\r\n },\r\n 'minecraft:three_layers_feature_size': {\r\n limit: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 0, max: 80 })),\r\n upper_limit: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 0, max: 80 })),\r\n lower_size: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 0, max: 16 })),\r\n middle_size: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 0, max: 16 })),\r\n upper_size: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 0, max: 16 }))\r\n }\r\n }\r\n }, { disableSwitchContext: true }), {\r\n default: () => ({\r\n type: 'minecraft:two_layers_feature_size'\r\n })\r\n }));\r\n const NoiseProvider = {\r\n seed: (0, core_1.NumberNode)({ integer: true }),\r\n noise: Reference('noise_parameters'),\r\n scale: (0, core_1.Mod)((0, core_1.NumberNode)({ min: Number.MIN_VALUE }), { default: () => 1 })\r\n };\r\n schemas.register('block_state_provider', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/block_state_provider_type' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:dual_noise_provider': {\r\n ...NoiseProvider,\r\n variety: (0, Common_1.InclusiveRange)({ integer: true, min: 1, max: 64 }),\r\n slow_noise: Reference('noise_parameters'),\r\n slow_scale: (0, core_1.Mod)((0, core_1.NumberNode)({ min: Number.MIN_VALUE }), { default: () => 1 }),\r\n states: (0, core_1.ListNode)(Reference('block_state'))\r\n },\r\n 'minecraft:noise_threshold_provider': {\r\n ...NoiseProvider,\r\n threshold: (0, core_1.NumberNode)({ min: -1, max: 1 }),\r\n high_chance: (0, core_1.NumberNode)({ min: 0, max: 1 }),\r\n default_state: Reference('block_state'),\r\n low_states: (0, core_1.ListNode)(Reference('block_state')),\r\n high_states: (0, core_1.ListNode)(Reference('block_state'))\r\n },\r\n 'minecraft:noise_provider': {\r\n ...NoiseProvider,\r\n states: (0, core_1.ListNode)(Reference('block_state'))\r\n },\r\n 'minecraft:randomized_int_state_provider': {\r\n property: StringNode(),\r\n values: (0, Common_1.IntProvider)(),\r\n source: Reference('block_state_provider')\r\n },\r\n 'minecraft:rotated_block_provider': {\r\n state: Reference('block_state')\r\n },\r\n 'minecraft:simple_state_provider': {\r\n state: Reference('block_state')\r\n },\r\n 'minecraft:weighted_state_provider': {\r\n entries: (0, core_1.ListNode)((0, core_1.Mod)((0, core_1.ObjectNode)({\r\n weight: (0, core_1.NumberNode)({ integer: true, min: 1 }),\r\n data: Reference('block_state')\r\n }), {\r\n default: () => ({\r\n data: {}\r\n })\r\n }))\r\n }\r\n }\r\n }, { context: 'block_state_provider' }), {\r\n default: () => ({\r\n type: 'minecraft:simple_state_provider'\r\n })\r\n }));\r\n const Offset = {\r\n offset: (0, core_1.Opt)((0, core_1.ListNode)((0, core_1.NumberNode)({ integer: true, min: -16, max: 16 }), { minLength: 3, maxLength: 3 }))\r\n };\r\n schemas.register('block_predicate_worldgen', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'block_predicate_type' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:all_of': {\r\n predicates: (0, core_1.ListNode)(Reference('block_predicate_worldgen'))\r\n },\r\n 'minecraft:any_of': {\r\n predicates: (0, core_1.ListNode)(Reference('block_predicate_worldgen'))\r\n },\r\n 'minecraft:has_sturdy_face': {\r\n ...Offset,\r\n direction: StringNode({ enum: 'direction' })\r\n },\r\n 'minecraft:inside_world_bounds': {\r\n ...Offset,\r\n },\r\n 'minecraft:matching_block_tag': {\r\n ...Offset,\r\n tag: StringNode({ validator: 'resource', params: { pool: '$tag/block' } })\r\n },\r\n 'minecraft:matching_blocks': {\r\n ...Offset,\r\n blocks: (0, core_1.ListNode)(StringNode({ validator: 'resource', params: { pool: 'block' } }))\r\n },\r\n 'minecraft:matching_fluids': {\r\n ...Offset,\r\n fluids: (0, core_1.ListNode)(StringNode({ validator: 'resource', params: { pool: 'fluid' } }))\r\n },\r\n 'minecraft:not': {\r\n predicate: Reference('block_predicate_worldgen')\r\n },\r\n 'minecraft:would_survive': {\r\n ...Offset,\r\n state: Reference('block_state')\r\n }\r\n }\r\n }, { context: 'block_predicate' }), {\r\n default: () => ({\r\n type: 'minecraft:true'\r\n })\r\n }));\r\n}\r\nexports.initFeatureSchemas = initFeatureSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initNoiseSettingsSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"../Common\");\r\nfunction initNoiseSettingsSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('noise_settings', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n sea_level: (0, core_1.NumberNode)({ integer: true }),\r\n disable_mob_generation: (0, core_1.BooleanNode)(),\r\n noise_caves_enabled: (0, core_1.BooleanNode)(),\r\n noodle_caves_enabled: (0, core_1.BooleanNode)(),\r\n aquifers_enabled: (0, core_1.BooleanNode)(),\r\n ore_veins_enabled: (0, core_1.BooleanNode)(),\r\n legacy_random_source: (0, core_1.BooleanNode)(),\r\n default_block: Reference('block_state'),\r\n default_fluid: Reference('block_state'),\r\n noise: (0, core_1.ObjectNode)({\r\n min_y: (0, core_1.NumberNode)({ integer: true, min: -2048, max: 2047 }),\r\n height: (0, core_1.NumberNode)({ integer: true, min: 0, max: 4096 }),\r\n size_horizontal: (0, core_1.NumberNode)({ integer: true }),\r\n size_vertical: (0, core_1.NumberNode)({ integer: true }),\r\n island_noise_override: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n amplified: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n large_biomes: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n sampling: (0, core_1.ObjectNode)({\r\n xz_scale: (0, core_1.NumberNode)(),\r\n y_scale: (0, core_1.NumberNode)(),\r\n xz_factor: (0, core_1.NumberNode)(),\r\n y_factor: (0, core_1.NumberNode)()\r\n }),\r\n bottom_slide: Reference('noise_slider'),\r\n top_slide: Reference('noise_slider'),\r\n terrain_shaper: Reference('terrain_shaper')\r\n }),\r\n surface_rule: Reference('material_rule'),\r\n structures: Reference('generator_structures')\r\n }, { context: 'noise_settings' }), node => ({\r\n default: () => Common_1.DefaultNoiseSettings,\r\n validate: (path, value, errors, options) => {\r\n var _a, _b, _c, _d;\r\n value = node.validate(path, value, errors, options);\r\n if (((_a = value === null || value === void 0 ? void 0 : value.noise) === null || _a === void 0 ? void 0 : _a.min_y) + ((_b = value === null || value === void 0 ? void 0 : value.noise) === null || _b === void 0 ? void 0 : _b.height) > 2047) {\r\n errors.add(path.push('noise').push('height'), 'error.min_y_plus_height', 2047);\r\n }\r\n if (((_c = value === null || value === void 0 ? void 0 : value.noise) === null || _c === void 0 ? void 0 : _c.height) % 16 !== 0) {\r\n errors.add(path.push('noise').push('height'), 'error.height_multiple', 16);\r\n }\r\n if (((_d = value === null || value === void 0 ? void 0 : value.noise) === null || _d === void 0 ? void 0 : _d.min_y) % 16 !== 0) {\r\n errors.add(path.push('noise').push('min_y'), 'error.min_y_multiple', 16);\r\n }\r\n return value;\r\n }\r\n })));\r\n schemas.register('noise_slider', (0, core_1.ObjectNode)({\r\n target: (0, core_1.NumberNode)(),\r\n size: (0, core_1.NumberNode)({ integer: true, min: 0 }),\r\n offset: (0, core_1.NumberNode)({ integer: true })\r\n }));\r\n schemas.register('generator_structures', (0, core_1.ObjectNode)({\r\n stronghold: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n distance: (0, core_1.NumberNode)({ integer: true, min: 0, max: 1023 }),\r\n spread: (0, core_1.NumberNode)({ integer: true, min: 0, max: 1023 }),\r\n count: (0, core_1.NumberNode)({ integer: true, min: 1, max: 4095 })\r\n })),\r\n structures: (0, core_1.MapNode)(StringNode({ validator: 'resource', params: { pool: 'worldgen/structure_feature' } }), (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n spacing: (0, core_1.NumberNode)({ integer: true, min: 0, max: 4096 }),\r\n separation: (0, core_1.Mod)((0, core_1.NumberNode)({ integer: true, min: 0, max: 4096 }), (node) => ({\r\n validate: (path, value, errors, options) => {\r\n if (path.pop().push('spacing').get() <= value) {\r\n errors.add(path, 'error.separation_smaller_spacing');\r\n }\r\n return node.validate(path, value, errors, options);\r\n }\r\n })),\r\n salt: (0, core_1.NumberNode)({ integer: true, min: 0 })\r\n }, { context: 'generator_structure' }), {\r\n default: () => ({\r\n spacing: 10,\r\n separation: 5,\r\n salt: 0\r\n })\r\n }))\r\n }));\r\n schemas.register('generator_layer', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n block: StringNode({ validator: 'resource', params: { pool: 'block' } }),\r\n height: (0, core_1.NumberNode)({ integer: true, min: 1 })\r\n }), {\r\n default: () => ({\r\n block: 'minecraft:stone',\r\n height: 1\r\n })\r\n }));\r\n schemas.register('terrain_shaper', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n offset: Reference('terrain_spline'),\r\n factor: Reference('terrain_spline'),\r\n jaggedness: Reference('terrain_spline'),\r\n }, { context: 'terrain_shaper' }), {\r\n default: () => ({\r\n offset: 0,\r\n factor: 0,\r\n jaggedness: 0,\r\n })\r\n }));\r\n schemas.register('terrain_spline', (0, core_1.Mod)((0, core_1.ChoiceNode)([\r\n {\r\n type: 'number',\r\n node: (0, core_1.NumberNode)()\r\n },\r\n {\r\n type: 'object',\r\n node: (0, core_1.ObjectNode)({\r\n coordinate: (0, core_1.Mod)(StringNode({ enum: ['continents', 'erosion', 'weirdness', 'ridges'] }), { default: () => 'continents' }),\r\n points: (0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n location: (0, core_1.NumberNode)(),\r\n derivative: (0, core_1.NumberNode)(),\r\n value: Reference('terrain_spline')\r\n }))\r\n }, { category: 'function' })\r\n }\r\n ], { context: 'terrain_spline', choiceContext: 'terrain_spline' }), {\r\n default: () => 0\r\n }));\r\n}\r\nexports.initNoiseSettingsSchemas = initNoiseSettingsSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initStructureFeatureSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initStructureFeatureSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const templatePoolConfig = {\r\n start_pool: StringNode({ validator: 'resource', params: { pool: '$worldgen/template_pool' } }),\r\n size: (0, core_1.NumberNode)({ integer: true })\r\n };\r\n schemas.register('configured_structure_feature', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/structure_feature' } }),\r\n config: (0, core_1.ObjectNode)({\r\n [core_1.Switch]: ['pop', { push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:bastion_remnant': templatePoolConfig,\r\n 'minecraft:buried_treasure': {\r\n probability: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n },\r\n 'minecraft:mineshaft': {\r\n type: StringNode({ enum: ['normal', 'mesa'] }),\r\n probability: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n },\r\n 'minecraft:nether_fossil': {\r\n height: Reference('height_provider')\r\n },\r\n 'minecraft:ocean_ruin': {\r\n biome_temp: StringNode({ enum: ['cold', 'warm'] }),\r\n large_probability: (0, core_1.NumberNode)({ min: 0, max: 1 }),\r\n cluster_probability: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n },\r\n 'minecraft:pillager_outpost': templatePoolConfig,\r\n 'minecraft:ruined_portal': {\r\n portal_type: StringNode({ enum: ['standard', 'desert', 'jungle', 'mountain', 'nether', 'ocean', 'swamp'] })\r\n },\r\n 'minecraft:shipwreck': {\r\n is_beached: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n },\r\n 'minecraft:village': templatePoolConfig\r\n }\r\n }, { context: 'structure_feature', disableSwitchContext: true })\r\n }, { context: 'structure_feature' }), {\r\n default: () => ({\r\n type: 'minecraft:bastion_remnant',\r\n config: {\r\n start_pool: 'minecraft:bastion/starts',\r\n size: 6\r\n }\r\n })\r\n }));\r\n}\r\nexports.initStructureFeatureSchemas = initStructureFeatureSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initSurfaceRuleSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initSurfaceRuleSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n schemas.register('material_rule', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/material_rule' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:block': {\r\n result_state: Reference('block_state'),\r\n },\r\n 'minecraft:condition': {\r\n if_true: Reference('material_condition'),\r\n then_run: Reference('material_rule')\r\n },\r\n 'minecraft:sequence': {\r\n sequence: (0, core_1.ListNode)(Reference('material_rule'))\r\n }\r\n }\r\n }, { context: 'material_rule', category: 'pool' }), {\r\n default: () => ({\r\n type: 'minecraft:block',\r\n result_state: {\r\n Name: 'minecraft:stone'\r\n }\r\n })\r\n }));\r\n schemas.register('material_condition', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/material_condition' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:biome': {\r\n biome_is: (0, core_1.ListNode)(StringNode({ validator: 'resource', params: { pool: '$worldgen/biome' } }))\r\n },\r\n 'minecraft:noise_threshold': {\r\n noise: StringNode({ validator: 'resource', params: { pool: '$worldgen/noise' } }),\r\n min_threshold: (0, core_1.NumberNode)(),\r\n max_threshold: (0, core_1.NumberNode)()\r\n },\r\n 'minecraft:not': {\r\n invert: Reference('material_condition')\r\n },\r\n 'minecraft:stone_depth': {\r\n offset: (0, core_1.NumberNode)({ integer: true }),\r\n surface_type: StringNode({ enum: 'cave_surface' }),\r\n add_surface_depth: (0, core_1.BooleanNode)(),\r\n add_surface_secondary_depth: (0, core_1.BooleanNode)(),\r\n },\r\n 'minecraft:vertical_gradient': {\r\n random_name: StringNode(),\r\n true_at_and_below: Reference('vertical_anchor'),\r\n false_at_and_above: Reference('vertical_anchor'),\r\n },\r\n 'minecraft:water': {\r\n offset: (0, core_1.NumberNode)({ integer: true }),\r\n surface_depth_multiplier: (0, core_1.NumberNode)({ integer: true, min: -20, max: 20 }),\r\n add_stone_depth: (0, core_1.BooleanNode)()\r\n },\r\n 'minecraft:y_above': {\r\n anchor: Reference('vertical_anchor'),\r\n surface_depth_multiplier: (0, core_1.NumberNode)({ integer: true, min: -20, max: 20 }),\r\n add_stone_depth: (0, core_1.BooleanNode)()\r\n }\r\n }\r\n }, { context: 'material_condition' }), {\r\n default: () => ({\r\n type: 'minecraft:biome',\r\n is_biome: 'minecraft:plains'\r\n })\r\n }));\r\n}\r\nexports.initSurfaceRuleSchemas = initSurfaceRuleSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initTemplatePoolSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nrequire(\"./ProcessorList\");\r\nconst ProcessorList_1 = require(\"./ProcessorList\");\r\nfunction initTemplatePoolSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('template_pool', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n name: StringNode(),\r\n fallback: StringNode(),\r\n elements: (0, core_1.ListNode)(Reference('template_weighted_element'))\r\n }, { context: 'template_pool' }), {\r\n default: () => ({\r\n fallback: 'minecraft:empty',\r\n elements: [\r\n {\r\n weight: 1,\r\n element: {\r\n element_type: 'minecraft:single_pool_element',\r\n projection: 'rigid',\r\n processors: 'minecraft:empty'\r\n }\r\n }\r\n ]\r\n })\r\n }));\r\n schemas.register('template_weighted_element', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n weight: (0, core_1.NumberNode)({ integer: true, min: 1 }),\r\n element: Reference('template_element')\r\n }, { category: 'pool' }), {\r\n default: () => ({\r\n weight: 1,\r\n element: {\r\n element_type: 'minecraft:single_pool_element',\r\n projection: 'rigid',\r\n processors: 'minecraft:empty'\r\n }\r\n })\r\n }));\r\n schemas.register('template_element', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n element_type: StringNode({ validator: 'resource', params: { pool: 'worldgen/structure_pool_element' } }),\r\n projection: StringNode({ enum: ['rigid', 'terrain_matching'] }),\r\n [core_1.Switch]: [{ push: 'element_type' }],\r\n [core_1.Case]: {\r\n 'minecraft:feature_pool_element': {\r\n feature: StringNode({ validator: 'resource', params: { pool: '$worldgen/placed_feature' } })\r\n },\r\n 'minecraft:legacy_single_pool_element': {\r\n location: StringNode({ validator: 'resource', params: { pool: '$structure' } }),\r\n processors: ProcessorList_1.Processors\r\n },\r\n 'minecraft:list_pool_element': {\r\n elements: (0, core_1.ListNode)(Reference('template_element'))\r\n },\r\n 'minecraft:single_pool_element': {\r\n location: StringNode({ validator: 'resource', params: { pool: '$structure' } }),\r\n processors: ProcessorList_1.Processors\r\n }\r\n }\r\n }, { context: 'template_element', disableSwitchContext: true }), {\r\n default: () => ({\r\n element_type: 'minecraft:single_pool_element',\r\n projection: 'rigid',\r\n processors: 'minecraft:empty'\r\n })\r\n }));\r\n}\r\nexports.initTemplatePoolSchemas = initTemplatePoolSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initWorldgenSchemas = void 0;\r\nconst Biome_1 = require(\"./Biome\");\r\nconst Carver_1 = require(\"./Carver\");\r\nconst Decorator_1 = require(\"./Decorator\");\r\nconst Feature_1 = require(\"./Feature\");\r\nconst NoiseSettings_1 = require(\"./NoiseSettings\");\r\nconst ProcessorList_1 = require(\"./ProcessorList\");\r\nconst StructureFeature_1 = require(\"./StructureFeature\");\r\nconst SurfaceRule_1 = require(\"./SurfaceRule\");\r\nconst TemplatePool_1 = require(\"./TemplatePool\");\r\nfunction initWorldgenSchemas(schemas, collections) {\r\n // `ProcessorList.ts` has exports. It should be initialized first. \r\n (0, ProcessorList_1.initProcessorListSchemas)(schemas, collections);\r\n (0, Biome_1.initBiomeSchemas)(schemas, collections);\r\n (0, Carver_1.initCarverSchemas)(schemas, collections);\r\n (0, Decorator_1.initDecoratorSchemas)(schemas, collections);\r\n (0, Feature_1.initFeatureSchemas)(schemas, collections);\r\n (0, NoiseSettings_1.initNoiseSettingsSchemas)(schemas, collections);\r\n (0, StructureFeature_1.initStructureFeatureSchemas)(schemas, collections);\r\n (0, SurfaceRule_1.initSurfaceRuleSchemas)(schemas, collections);\r\n (0, TemplatePool_1.initTemplatePoolSchemas)(schemas, collections);\r\n}\r\nexports.initWorldgenSchemas = initWorldgenSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initWorldSettingsSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initWorldSettingsSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('world_settings', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n generate_features: (0, core_1.BooleanNode)(),\r\n bonus_chest: (0, core_1.BooleanNode)(),\r\n seed: (0, core_1.NumberNode)({ integer: true }),\r\n dimensions: (0, core_1.MapNode)(StringNode({ validator: 'resource', params: { pool: '$dimension' } }), Reference('dimension'))\r\n }, { context: 'world_settings' }), {\r\n default: () => {\r\n const seed = Math.floor(Math.random() * (4294967296)) - 2147483648;\r\n return {\r\n generate_features: true,\r\n bonus_chest: false,\r\n seed,\r\n dimensions: {\r\n 'minecraft:overworld': {\r\n type: 'minecraft:overworld',\r\n generator: {\r\n type: 'minecraft:noise',\r\n seed,\r\n biome_source: {\r\n type: 'minecraft:multi_noise',\r\n preset: \"minecraft:overworld\"\r\n },\r\n settings: 'minecraft:overworld',\r\n }\r\n },\r\n 'minecraft:the_nether': {\r\n type: 'minecraft:the_nether',\r\n generator: {\r\n type: 'minecraft:noise',\r\n seed,\r\n biome_source: {\r\n type: 'minecraft:multi_noise',\r\n preset: \"minecraft:nether\"\r\n },\r\n settings: 'minecraft:nether'\r\n }\r\n },\r\n 'minecraft:the_end': {\r\n type: \"minecraft:the_end\",\r\n generator: {\r\n type: \"minecraft:noise\",\r\n seed,\r\n biome_source: {\r\n type: \"minecraft:the_end\",\r\n seed\r\n },\r\n settings: \"minecraft:end\"\r\n }\r\n }\r\n }\r\n };\r\n }\r\n }));\r\n}\r\nexports.initWorldSettingsSchemas = initWorldSettingsSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initSchemas = void 0;\r\nconst Advancement_1 = require(\"./Advancement\");\r\nconst assets_1 = require(\"./assets\");\r\nconst Common_1 = require(\"./Common\");\r\nconst Condition_1 = require(\"./Condition\");\r\nconst Dimension_1 = require(\"./Dimension\");\r\nconst DimensionType_1 = require(\"./DimensionType\");\r\nconst ItemModifier_1 = require(\"./ItemModifier\");\r\nconst LootTable_1 = require(\"./LootTable\");\r\nconst PackMcmeta_1 = require(\"./PackMcmeta\");\r\nconst Predicates_1 = require(\"./Predicates\");\r\nconst Recipe_1 = require(\"./Recipe\");\r\nconst Tags_1 = require(\"./Tags\");\r\nconst TextComponent_1 = require(\"./TextComponent\");\r\nconst worldgen_1 = require(\"./worldgen\");\r\nconst WorldSettings_1 = require(\"./WorldSettings\");\r\nfunction initSchemas(schemas, collections) {\r\n // `Common.ts` is the only file that has exports. It should be initialized first. \r\n (0, Common_1.initCommonSchemas)(schemas, collections);\r\n (0, Advancement_1.initAdvancementSchemas)(schemas, collections);\r\n (0, assets_1.initAssetsSchemas)(schemas, collections);\r\n (0, Condition_1.initConditionSchemas)(schemas, collections);\r\n (0, DimensionType_1.initDimensionTypeSchemas)(schemas, collections);\r\n (0, Dimension_1.initDimensionSchemas)(schemas, collections);\r\n (0, ItemModifier_1.initItemModifierSchemas)(schemas, collections);\r\n (0, LootTable_1.initLootTableSchemas)(schemas, collections);\r\n (0, PackMcmeta_1.initPackMcmetaSchemas)(schemas, collections);\r\n (0, Predicates_1.initPredicatesSchemas)(schemas, collections);\r\n (0, Recipe_1.initRecipeSchemas)(schemas, collections);\r\n (0, Tags_1.initTagsSchemas)(schemas, collections);\r\n (0, TextComponent_1.initTextComponentSchemas)(schemas, collections);\r\n (0, worldgen_1.initWorldgenSchemas)(schemas, collections);\r\n (0, WorldSettings_1.initWorldSettingsSchemas)(schemas, collections);\r\n}\r\nexports.initSchemas = initSchemas;\r\n","\"use strict\";\r\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}));\r\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n});\r\nvar __importStar = (this && this.__importStar) || function (mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.getSchemas = exports.getCollections = exports.lootContext = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Collections_1 = require(\"./Collections\");\r\nconst schemas_1 = require(\"./schemas\");\r\nexports.lootContext = __importStar(require(\"./LootContext\"));\r\nfunction getCollections() {\r\n const collections = new core_1.CollectionRegistry();\r\n (0, Collections_1.initCollections)(collections);\r\n return collections;\r\n}\r\nexports.getCollections = getCollections;\r\n/**\r\n * @param collections The CollectionRegistry for this version. Note that apart from\r\n * the built-in collections, the client of this module is responsible for futhermore\r\n * adding the vanilla registries to it: the collection IDs shouldn't contain the\r\n * namespace (`minecraft:`) part, while the values within the collections should.\r\n *\r\n * @example\r\n * for (const key in VANILLA_REGISTRIES>) {\r\n * collections.register(\r\n * key.replace(/^minecraft:/, ''),\r\n * Object.keys(VANILLA_REGISTRIES[key].entries)\r\n * )\r\n * }\r\n */\r\nfunction getSchemas(collections) {\r\n const schemas = new core_1.SchemaRegistry();\r\n (0, schemas_1.initSchemas)(schemas, collections);\r\n return schemas;\r\n}\r\nexports.getSchemas = getSchemas;\r\n"],"names":["core_1","require$$0","require$$1","Common_1","require$$2","ProcessorList_1","require$$3","require$$4","require$$5","require$$6","require$$7","require$$8","require$$9","require$$10","require$$11","require$$12","require$$13","require$$14","this"],"mappings":"+1BACA,OAAO,eAAe,GAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EACrC,GAAA,gBAAG,OAC1B,YAAyB,EAAa,CAClC,EAAY,SAAS,sBAAuB,CACxC,+BACA,yBACA,0BACA,8BACA,gCACA,6BACA,yBACA,kCACA,4BACA,2BACA,wBACA,+BACA,iCACA,6BACA,0BACA,+BACA,gCACA,uBACA,8BACA,oCACA,+BACA,+BACA,uBACA,6BACA,qBACA,0BACA,yBACA,4CACA,+BACA,0CACA,iCACA,4BACA,gCACA,0BACA,yBACA,6BACA,2BACA,4BACA,wBACA,uBACA,iBACA,4CACA,2BACA,uBACA,uBACA,2BACA,2BACR,CAAK,EACD,EAAY,SAAS,UAAW,CAC5B,mBACA,aACA,WACA,WACA,cACA,WACA,cACA,iBACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,gBACA,WACA,WACA,2BACA,eACA,iBACA,YACA,2BACA,iBACA,mBACA,YACA,wBACA,aACA,kBACA,wBACA,SACR,CAAK,EACD,EAAY,SAAS,OAAQ,CACzB,WACA,UACA,OACA,QACA,OACA,MACR,CAAK,EACD,EAAY,SAAS,WAAY,CAC7B,WACA,WACA,YACA,WACR,CAAK,EACD,EAAY,SAAS,gBAAiB,CAClC,OACA,SACA,gBACA,eACR,CAAK,EACD,EAAY,SAAS,cAAe,CAChC,eACA,OACA,SACA,eACR,CAAK,EACD,EAAY,SAAS,iCAAkC,CACnD,gCACA,sCACA,qBACR,CAAK,EACD,EAAY,SAAS,iBAAkB,CACnC,UACA,WACA,SACA,QACA,aACA,cACA,WACA,eACA,iBACA,oBACA,QACA,eACA,gBACA,iBACA,oBACA,gBACA,cACA,cACA,cACA,oBACA,cACA,gBACA,cACA,eACA,eACA,aACA,cACR,CAAK,EACD,EAAY,SAAS,cAAe,CAChC,kBACA,kBACA,iBACA,UACA,WACA,QACA,iBACA,UACA,YACA,WACA,gBACA,aACA,mBACA,gBACA,YACA,aACA,YACA,SACR,CAAK,EACD,EAAY,SAAS,eAAgB,CACjC,MACA,iBACA,aACA,gBACA,YACA,qBACA,WACA,cACA,OACA,cACA,iBACA,oBACA,SACA,gBACA,cACA,qBACA,eACA,SACA,kBACA,wBACA,OACA,YACA,aACA,WACA,UACA,kBACA,gBACA,aACA,WACA,cACA,aACA,SACA,OACA,OACA,QACA,WACA,YACA,SACA,iBACR,CAAK,EACD,EAAY,SAAS,iBAAkB,CACnC,QACA,SACA,gBACA,SACA,MACA,SACA,OACA,WACA,WACA,SACA,OACA,QACA,SACA,QACA,UACA,QACA,QACA,UACA,aACR,CAAK,EACD,EAAY,SAAS,iBAAkB,CACnC,kBACA,4BACA,cACA,iBACA,gBACA,kBACR,CAAK,EACD,EAAY,SAAS,kBAAmB,CACpC,MACA,QACR,CAAK,EACD,EAAY,SAAS,oBAAqB,CACtC,kBACA,kBACA,oBACA,qBACA,oBACA,mBACA,iBACA,mBACA,+BACA,+BACA,oBACA,iBACR,CAAK,EACD,EAAY,SAAS,iBAAkB,CACnC,OACA,qBACA,sBACA,kBACA,mBACA,gBACA,aACA,cACA,eACA,gBACA,gBACA,mBACA,kBACA,gBACA,QACA,iBACA,kBACA,eACA,mBACA,gBACA,gBACA,oBACA,mBACA,iBACA,SACA,UACA,gBACA,kBACA,sBACA,yBACA,SACA,eACA,WACA,cACA,SACA,QACA,UACA,QACA,SACA,SACA,QACR,CAAK,EACD,EAAY,SAAS,YAAa,CAC9B,QACA,SACA,UACA,aACA,SACA,OACA,OACA,OACA,aACA,OACA,SACA,OACA,QACA,QACA,MACA,OACR,CAAK,EACD,EAAY,SAAS,eAAgB,CACjC,QACA,SACR,CAAK,EACD,EAAY,SAAS,YAAa,CAC9B,OACA,KACA,QACA,OACA,QACA,MACR,CAAK,EACD,EAAY,SAAS,OAAQ,CACzB,IACA,IACA,GACR,CAAK,EACD,EAAY,SAAS,mBAAoB,CACrC,wBACA,uBACA,wBACA,uBACA,MACA,OACA,SACA,OACR,CAAK,EACD,EAAY,SAAS,YAAa,CAC9B,QACA,MACR,CAAK,EA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"} \ No newline at end of file +{"version":3,"file":"index.01484bab.js","sources":["../../node_modules/@mcschema/java-1.18/lib/Collections.js","../../node_modules/@mcschema/java-1.18/lib/schemas/Advancement.js","../../node_modules/@mcschema/java-1.18/lib/schemas/assets/Model.js","../../node_modules/@mcschema/java-1.18/lib/schemas/assets/BlockDefinition.js","../../node_modules/@mcschema/java-1.18/lib/schemas/assets/index.js","../../node_modules/@mcschema/java-1.18/lib/schemas/Common.js","../../node_modules/@mcschema/java-1.18/lib/schemas/Condition.js","../../node_modules/@mcschema/java-1.18/lib/schemas/Dimension.js","../../node_modules/@mcschema/java-1.18/lib/schemas/DimensionType.js","../../node_modules/@mcschema/java-1.18/lib/schemas/ItemModifier.js","../../node_modules/@mcschema/java-1.18/lib/LootContext.js","../../node_modules/@mcschema/java-1.18/lib/schemas/LootTable.js","../../node_modules/@mcschema/java-1.18/lib/schemas/PackMcmeta.js","../../node_modules/@mcschema/java-1.18/lib/schemas/Predicates.js","../../node_modules/@mcschema/java-1.18/lib/schemas/Recipe.js","../../node_modules/@mcschema/java-1.18/lib/schemas/Tags.js","../../node_modules/@mcschema/java-1.18/lib/schemas/TextComponent.js","../../node_modules/@mcschema/java-1.18/lib/schemas/worldgen/Biome.js","../../node_modules/@mcschema/java-1.18/lib/schemas/worldgen/Carver.js","../../node_modules/@mcschema/java-1.18/lib/schemas/worldgen/Decorator.js","../../node_modules/@mcschema/java-1.18/lib/schemas/worldgen/ProcessorList.js","../../node_modules/@mcschema/java-1.18/lib/schemas/worldgen/Feature.js","../../node_modules/@mcschema/java-1.18/lib/schemas/worldgen/NoiseSettings.js","../../node_modules/@mcschema/java-1.18/lib/schemas/worldgen/StructureFeature.js","../../node_modules/@mcschema/java-1.18/lib/schemas/worldgen/SurfaceRule.js","../../node_modules/@mcschema/java-1.18/lib/schemas/worldgen/TemplatePool.js","../../node_modules/@mcschema/java-1.18/lib/schemas/worldgen/index.js","../../node_modules/@mcschema/java-1.18/lib/schemas/WorldSettings.js","../../node_modules/@mcschema/java-1.18/lib/schemas/index.js","../../node_modules/@mcschema/java-1.18/lib/index.js"],"sourcesContent":["\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initCollections = void 0;\r\nfunction initCollections(collections) {\r\n collections.register('advancement_trigger', [\r\n 'minecraft:bee_nest_destroyed',\r\n 'minecraft:bred_animals',\r\n 'minecraft:brewed_potion',\r\n 'minecraft:changed_dimension',\r\n 'minecraft:channeled_lightning',\r\n 'minecraft:construct_beacon',\r\n 'minecraft:consume_item',\r\n 'minecraft:cured_zombie_villager',\r\n 'minecraft:effects_changed',\r\n 'minecraft:enchanted_item',\r\n 'minecraft:enter_block',\r\n 'minecraft:entity_hurt_player',\r\n 'minecraft:entity_killed_player',\r\n 'minecraft:fall_from_height',\r\n 'minecraft:filled_bucket',\r\n 'minecraft:fishing_rod_hooked',\r\n 'minecraft:hero_of_the_village',\r\n 'minecraft:impossible',\r\n 'minecraft:inventory_changed',\r\n 'minecraft:item_durability_changed',\r\n 'minecraft:item_used_on_block',\r\n 'minecraft:killed_by_crossbow',\r\n 'minecraft:levitation',\r\n 'minecraft:lightning_strike',\r\n 'minecraft:location',\r\n 'minecraft:nether_travel',\r\n 'minecraft:placed_block',\r\n 'minecraft:player_generates_container_loot',\r\n 'minecraft:player_hurt_entity',\r\n 'minecraft:player_interacted_with_entity',\r\n 'minecraft:player_killed_entity',\r\n 'minecraft:recipe_unlocked',\r\n 'minecraft:ride_entity_in_lava',\r\n 'minecraft:shot_crossbow',\r\n 'minecraft:slept_in_bed',\r\n 'minecraft:slide_down_block',\r\n 'minecraft:started_riding',\r\n 'minecraft:summoned_entity',\r\n 'minecraft:tame_animal',\r\n 'minecraft:target_hit',\r\n 'minecraft:tick',\r\n 'minecraft:thrown_item_picked_up_by_entity',\r\n 'minecraft:used_ender_eye',\r\n 'minecraft:used_totem',\r\n 'minecraft:using_item',\r\n 'minecraft:villager_trade',\r\n 'minecraft:voluntary_exile'\r\n ]);\r\n collections.register('keybind', [\r\n 'key.advancements',\r\n 'key.attack',\r\n 'key.back',\r\n 'key.chat',\r\n 'key.command',\r\n 'key.drop',\r\n 'key.forward',\r\n 'key.fullscreen',\r\n 'key.hotbar.1',\r\n 'key.hotbar.2',\r\n 'key.hotbar.3',\r\n 'key.hotbar.4',\r\n 'key.hotbar.5',\r\n 'key.hotbar.6',\r\n 'key.hotbar.7',\r\n 'key.hotbar.8',\r\n 'key.hotbar.9',\r\n 'key.inventory',\r\n 'key.jump',\r\n 'key.left',\r\n 'key.loadToolbarActivator',\r\n 'key.pickItem',\r\n 'key.playerlist',\r\n 'key.right',\r\n 'key.saveToolbarActivator',\r\n 'key.screenshot',\r\n 'key.smoothCamera',\r\n 'key.sneak',\r\n 'key.spectatorOutlines',\r\n 'key.sprint',\r\n 'key.swapOffhand',\r\n 'key.togglePerspective',\r\n 'key.use'\r\n ]);\r\n collections.register('slot', [\r\n 'mainhand',\r\n 'offhand',\r\n 'head',\r\n 'chest',\r\n 'legs',\r\n 'feet'\r\n ]);\r\n collections.register('gamemode', [\r\n 'survival',\r\n 'creative',\r\n 'adventure',\r\n 'spectator'\r\n ]);\r\n collections.register('entity_source', [\r\n 'this',\r\n 'killer',\r\n 'direct_killer',\r\n 'killer_player'\r\n ]);\r\n collections.register('copy_source', [\r\n 'block_entity',\r\n 'this',\r\n 'killer',\r\n 'killer_player'\r\n ]);\r\n collections.register('loot_table_apply_bonus_formula', [\r\n 'minecraft:uniform_bonus_count',\r\n 'minecraft:binomial_with_bonus_count',\r\n 'minecraft:ore_drops'\r\n ]);\r\n collections.register('map_decoration', [\r\n 'mansion',\r\n 'monument',\r\n 'player',\r\n 'frame',\r\n 'red_marker',\r\n 'blue_marker',\r\n 'target_x',\r\n 'target_point',\r\n 'player_off_map',\r\n 'player_off_limits',\r\n 'red_x',\r\n 'banner_white',\r\n 'banner_orange',\r\n 'banner_magenta',\r\n 'banner_light_blue',\r\n 'banner_yellow',\r\n 'banner_lime',\r\n 'banner_pink',\r\n 'banner_gray',\r\n 'banner_light_gray',\r\n 'banner_cyan',\r\n 'banner_purple',\r\n 'banner_blue',\r\n 'banner_brown',\r\n 'banner_green',\r\n 'banner_red',\r\n 'banner_black'\r\n ]);\r\n collections.register('map_feature', [\r\n 'bastion_remnant',\r\n 'buried_treasure',\r\n 'desert_pyramid',\r\n 'endcity',\r\n 'fortress',\r\n 'igloo',\r\n 'jungle_pyramid',\r\n 'mansion',\r\n 'mineshaft',\r\n 'monument',\r\n 'nether_fossil',\r\n 'ocean_ruin',\r\n 'pillager_outpost',\r\n 'ruined_portal',\r\n 'shipwreck',\r\n 'stronghold',\r\n 'swamp_hut',\r\n 'village'\r\n ]);\r\n collections.register('recipe_group', [\r\n 'bed',\r\n 'light_gray_dye',\r\n 'iron_ingot',\r\n 'wooden_stairs',\r\n 'black_dye',\r\n 'stained_terracotta',\r\n 'dyed_bed',\r\n 'magenta_dye',\r\n 'bark',\r\n 'rabbit_stew',\r\n 'light_blue_dye',\r\n 'wooden_fence_gate',\r\n 'planks',\r\n 'stained_glass',\r\n 'wooden_door',\r\n 'stained_glass_pane',\r\n 'wooden_fence',\r\n 'sticks',\r\n 'concrete_powder',\r\n 'wooden_pressure_plate',\r\n 'boat',\r\n 'brown_dye',\r\n 'yellow_dye',\r\n 'bonemeal',\r\n 'red_dye',\r\n 'wooden_trapdoor',\r\n 'wooden_button',\r\n 'gold_ingot',\r\n 'pink_dye',\r\n 'wooden_slab',\r\n 'orange_dye',\r\n 'carpet',\r\n 'sign',\r\n 'wool',\r\n 'sugar',\r\n 'blue_dye',\r\n 'white_dye',\r\n 'banner',\r\n 'netherite_ingot'\r\n ]);\r\n collections.register('biome_category', [\r\n 'beach',\r\n 'desert',\r\n 'extreme_hills',\r\n 'forest',\r\n 'icy',\r\n 'jungle',\r\n 'mesa',\r\n 'mountain',\r\n 'mushroom',\r\n 'nether',\r\n 'none',\r\n 'ocean',\r\n 'plains',\r\n 'river',\r\n 'savanna',\r\n 'swamp',\r\n 'taiga',\r\n 'the_end',\r\n 'underground'\r\n ]);\r\n collections.register('heightmap_type', [\r\n 'MOTION_BLOCKING',\r\n 'MOTION_BLOCKING_NO_LEAVES',\r\n 'OCEAN_FLOOR',\r\n 'OCEAN_FLOOR_WG',\r\n 'WORLD_SURFACE',\r\n 'WORLD_SURFACE_WG'\r\n ]);\r\n collections.register('generation_step', [\r\n 'air',\r\n 'liquid'\r\n ]);\r\n collections.register('loot_context_type', [\r\n 'minecraft:empty',\r\n 'minecraft:chest',\r\n 'minecraft:command',\r\n 'minecraft:selector',\r\n 'minecraft:fishing',\r\n 'minecraft:entity',\r\n 'minecraft:gift',\r\n 'minecraft:barter',\r\n 'minecraft:advancement_reward',\r\n 'minecraft:advancement_entity',\r\n 'minecraft:generic',\r\n 'minecraft:block'\r\n ]);\r\n collections.register('banner_pattern', [\r\n 'base',\r\n 'square_bottom_left',\r\n 'square_bottom_right',\r\n 'square_top_left',\r\n 'square_top_right',\r\n 'stripe_bottom',\r\n 'stripe_top',\r\n 'stripe_left',\r\n 'stripe_right',\r\n 'stripe_center',\r\n 'stripe_middle',\r\n 'stripe_downright',\r\n 'stripe_downleft',\r\n 'small_stripes',\r\n 'cross',\r\n 'straight_cross',\r\n 'triangle_bottom',\r\n 'triangle_top',\r\n 'triangles_bottom',\r\n 'triangles_top',\r\n 'diagonal_left',\r\n 'diagonal_up_right',\r\n 'diagonal_up_left',\r\n 'diagonal_right',\r\n 'circle',\r\n 'rhombus',\r\n 'half_vertical',\r\n 'half_horizontal',\r\n 'half_vertical_right',\r\n 'half_horizontal_bottom',\r\n 'border',\r\n 'curly_border',\r\n 'gradient',\r\n 'gradient_up',\r\n 'bricks',\r\n 'globe',\r\n 'creeper',\r\n 'skull',\r\n 'flower',\r\n 'mojang',\r\n 'piglin'\r\n ]);\r\n collections.register('dye_color', [\r\n 'white',\r\n 'orange',\r\n 'magenta',\r\n 'light_blue',\r\n 'yellow',\r\n 'lime',\r\n 'pink',\r\n 'gray',\r\n 'light_gray',\r\n 'cyan',\r\n 'purple',\r\n 'blue',\r\n 'brown',\r\n 'green',\r\n 'red',\r\n 'black'\r\n ]);\r\n collections.register('cave_surface', [\r\n 'floor',\r\n 'ceiling'\r\n ]);\r\n collections.register('direction', [\r\n 'down',\r\n 'up',\r\n 'north',\r\n 'east',\r\n 'south',\r\n 'west'\r\n ]);\r\n collections.register('axis', [\r\n 'x',\r\n 'y',\r\n 'z'\r\n ]);\r\n collections.register('display_position', [\r\n 'firstperson_righthand',\r\n 'firstperson_lefthand',\r\n 'thirdperson_righthand',\r\n 'thirdperson_lefthand',\r\n 'gui',\r\n 'head',\r\n 'ground',\r\n 'fixed'\r\n ]);\r\n collections.register('gui_light', [\r\n 'front',\r\n 'side'\r\n ]);\r\n collections.register('item_model_predicates', [\r\n 'angle',\r\n 'blocking',\r\n 'broken',\r\n 'cast',\r\n 'charged',\r\n 'cooldown',\r\n 'custom_model_data',\r\n 'damage',\r\n 'damaged',\r\n 'firework',\r\n 'lefthanded',\r\n 'pull',\r\n 'pulling',\r\n 'throwing',\r\n 'time'\r\n ]);\r\n collections.register('cat_texture', [\r\n 'textures/entity/cat/tabby.png',\r\n 'textures/entity/cat/black.png',\r\n 'textures/entity/cat/red.png',\r\n 'textures/entity/cat/siamese.png',\r\n 'textures/entity/cat/british_shorthair.png',\r\n 'textures/entity/cat/calico.png',\r\n 'textures/entity/cat/persian.png',\r\n 'textures/entity/cat/ragdoll.png',\r\n 'textures/entity/cat/white.png',\r\n 'textures/entity/cat/jellie.png',\r\n 'textures/entity/cat/all_black.png'\r\n ]);\r\n}\r\nexports.initCollections = initCollections;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initAdvancementSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initAdvancementSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const EntityPredicate = (0, core_1.ChoiceNode)([\r\n {\r\n type: 'object',\r\n node: (0, core_1.Opt)(Reference('entity_predicate')),\r\n change: v => { var _a, _b; return (_b = (_a = v[0]) === null || _a === void 0 ? void 0 : _a.predicate) !== null && _b !== void 0 ? _b : ({}); }\r\n },\r\n {\r\n type: 'list',\r\n node: (0, core_1.ListNode)(Reference('condition')),\r\n change: v => [{\r\n condition: 'minecraft:entity_properties',\r\n predicate: v\r\n }]\r\n }\r\n ], { context: 'conditions' });\r\n schemas.register('advancement', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n display: (0, core_1.Opt)((0, core_1.Mod)((0, core_1.ObjectNode)({\r\n icon: (0, core_1.ObjectNode)({\r\n item: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n nbt: (0, core_1.Opt)(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:item', id: ['pop', { push: 'item' }] } } }))\r\n }),\r\n title: Reference('text_component'),\r\n description: Reference('text_component'),\r\n background: (0, core_1.Opt)(StringNode()),\r\n frame: (0, core_1.Opt)(StringNode({ enum: ['task', 'challenge', 'goal'] })),\r\n show_toast: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n announce_to_chat: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n hidden: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n }), {\r\n default: () => ({\r\n icon: {\r\n item: 'minecraft:stone'\r\n },\r\n title: '',\r\n description: ''\r\n })\r\n })),\r\n parent: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$advancement' } })),\r\n criteria: (0, core_1.MapNode)(StringNode(), Reference('advancement_criteria')),\r\n requirements: (0, core_1.Opt)((0, core_1.ListNode)((0, core_1.ListNode)(StringNode() // TODO: add validation\r\n ))),\r\n rewards: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n function: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$function' } })),\r\n loot: (0, core_1.Opt)((0, core_1.ListNode)(StringNode({ validator: 'resource', params: { pool: '$loot_table' } }))),\r\n recipes: (0, core_1.Opt)((0, core_1.ListNode)(StringNode({ validator: 'resource', params: { pool: '$recipe' } }))),\r\n experience: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true }))\r\n })),\r\n }, { context: 'advancement' }), {\r\n default: () => ({\r\n criteria: {\r\n requirement: {\r\n trigger: 'minecraft:location'\r\n }\r\n }\r\n })\r\n }));\r\n schemas.register('advancement_criteria', (0, core_1.ObjectNode)({\r\n trigger: StringNode({ validator: 'resource', params: { pool: collections.get('advancement_trigger') } }),\r\n conditions: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n player: (0, core_1.Mod)(EntityPredicate, {\r\n enabled: path => path.pop().push('trigger').get() !== 'minecraft:impossible'\r\n }),\r\n [core_1.Switch]: ['pop', { push: 'trigger' }],\r\n [core_1.Case]: {\r\n 'minecraft:bee_nest_destroyed': {\r\n block: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: 'block' } })),\r\n num_bees_inside: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n item: (0, core_1.Opt)(Reference('item_predicate'))\r\n },\r\n 'minecraft:bred_animals': {\r\n parent: EntityPredicate,\r\n partner: EntityPredicate,\r\n child: EntityPredicate\r\n },\r\n 'minecraft:brewed_potion': {\r\n potion: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: 'potion' } }))\r\n },\r\n 'minecraft:changed_dimension': {\r\n from: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$dimension' } })),\r\n to: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$dimension' } }))\r\n },\r\n 'minecraft:channeled_lightning': {\r\n victims: (0, core_1.Opt)((0, core_1.ListNode)(EntityPredicate))\r\n },\r\n 'minecraft:construct_beacon': {\r\n level: Reference('int_bounds')\r\n },\r\n 'minecraft:consume_item': {\r\n item: (0, core_1.Opt)(Reference('item_predicate'))\r\n },\r\n 'minecraft:cured_zombie_villager': {\r\n villager: EntityPredicate,\r\n zombie: EntityPredicate\r\n },\r\n 'minecraft:effects_changed': {\r\n effects: (0, core_1.Opt)((0, core_1.MapNode)(StringNode({ validator: 'resource', params: { pool: 'mob_effect' } }), (0, core_1.ObjectNode)({\r\n amplifier: Reference('int_bounds'),\r\n duration: Reference('int_bounds')\r\n }))),\r\n source: (0, core_1.Opt)(EntityPredicate)\r\n },\r\n 'minecraft:enter_block': {\r\n block: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: 'block' } })),\r\n state: (0, core_1.Opt)((0, core_1.MapNode)(StringNode(), StringNode(), { validation: { validator: 'block_state_map', params: { id: ['pop', { push: 'block' }] } } }))\r\n },\r\n 'minecraft:enchanted_item': {\r\n levels: Reference('int_bounds'),\r\n item: (0, core_1.Opt)(Reference('item_predicate'))\r\n },\r\n 'minecraft:entity_hurt_player': {\r\n damage: (0, core_1.Opt)(Reference('damage_predicate'))\r\n },\r\n 'minecraft:entity_killed_player': {\r\n entity: EntityPredicate,\r\n killing_blow: (0, core_1.Opt)(Reference('damage_source_predicate'))\r\n },\r\n 'minecraft:fall_from_height': {\r\n start_position: (0, core_1.Opt)(Reference('location_predicate')),\r\n distance: (0, core_1.Opt)(Reference('distance_predicate'))\r\n },\r\n 'minecraft:filled_bucket': {\r\n item: (0, core_1.Opt)(Reference('item_predicate'))\r\n },\r\n 'minecraft:fishing_rod_hooked': {\r\n entity: EntityPredicate,\r\n item: (0, core_1.Opt)(Reference('item_predicate'))\r\n },\r\n 'minecraft:hero_of_the_village': {\r\n location: (0, core_1.Opt)(Reference('location_predicate'))\r\n },\r\n 'minecraft:inventory_changed': {\r\n slots: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n empty: Reference('int_bounds'),\r\n occupied: Reference('int_bounds'),\r\n full: Reference('int_bounds')\r\n })),\r\n items: (0, core_1.Opt)((0, core_1.ListNode)(Reference('item_predicate')))\r\n },\r\n 'minecraft:item_durability_changed': {\r\n delta: Reference('int_bounds'),\r\n durability: Reference('int_bounds'),\r\n item: (0, core_1.Opt)(Reference('item_predicate'))\r\n },\r\n 'minecraft:item_used_on_block': {\r\n item: (0, core_1.Opt)(Reference('item_predicate')),\r\n location: (0, core_1.Opt)(Reference('location_predicate'))\r\n },\r\n 'minecraft:killed_by_crossbow': {\r\n unique_entity_types: Reference('int_bounds'),\r\n victims: (0, core_1.Opt)((0, core_1.ListNode)(EntityPredicate))\r\n },\r\n 'minecraft:levitation': {\r\n distance: (0, core_1.Opt)(Reference('distance_predicate')),\r\n duration: Reference('int_bounds')\r\n },\r\n 'minecraft:lightning_strike': {\r\n lightning: EntityPredicate,\r\n bystander: EntityPredicate,\r\n },\r\n 'minecraft:location': {\r\n location: (0, core_1.Opt)(Reference('location_predicate'))\r\n },\r\n 'minecraft:nether_travel': {\r\n start_position: (0, core_1.Opt)(Reference('location_predicate')),\r\n distance: (0, core_1.Opt)(Reference('distance_predicate')),\r\n },\r\n 'minecraft:placed_block': {\r\n block: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: 'block' } })),\r\n state: (0, core_1.Opt)((0, core_1.MapNode)(StringNode(), StringNode(), { validation: { validator: 'block_state_map', params: { id: ['pop', { push: 'block' }] } } })),\r\n item: (0, core_1.Opt)(Reference('item_predicate')),\r\n location: (0, core_1.Opt)(Reference('location_predicate'))\r\n },\r\n 'minecraft:player_generates_container_loot': {\r\n loot_table: StringNode({ validator: 'resource', params: { pool: '$loot_table' } })\r\n },\r\n 'minecraft:player_hurt_entity': {\r\n damage: (0, core_1.Opt)(Reference('damage_predicate')),\r\n entity: EntityPredicate\r\n },\r\n 'minecraft:player_interacted_with_entity': {\r\n item: (0, core_1.Opt)(Reference('item_predicate')),\r\n entity: EntityPredicate\r\n },\r\n 'minecraft:player_killed_entity': {\r\n entity: EntityPredicate,\r\n killing_blow: (0, core_1.Opt)(Reference('damage_source_predicate'))\r\n },\r\n 'minecraft:recipe_unlocked': {\r\n recipe: StringNode({ validator: 'resource', params: { pool: '$recipe' } })\r\n },\r\n 'minecraft:ride_entity_in_lava': {\r\n start_position: (0, core_1.Opt)(Reference('location_predicate')),\r\n distance: (0, core_1.Opt)(Reference('distance_predicate'))\r\n },\r\n 'minecraft:slept_in_bed': {\r\n location: (0, core_1.Opt)(Reference('location_predicate'))\r\n },\r\n 'minecraft:slide_down_block': {\r\n block: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: 'block' } }))\r\n },\r\n 'minecraft:shot_crossbow': {\r\n item: (0, core_1.Opt)(Reference('item_predicate'))\r\n },\r\n 'minecraft:summoned_entity': {\r\n entity: EntityPredicate\r\n },\r\n 'minecraft:tame_animal': {\r\n entity: EntityPredicate\r\n },\r\n 'minecraft:target_hit': {\r\n projectile: EntityPredicate,\r\n shooter: EntityPredicate,\r\n signal_strength: Reference('int_bounds')\r\n },\r\n 'minecraft:thrown_item_picked_up_by_entity': {\r\n entity: EntityPredicate,\r\n item: (0, core_1.Opt)(Reference('item_predicate'))\r\n },\r\n 'minecraft:used_ender_eye': {\r\n distance: (0, core_1.Opt)(Reference('float_bounds'))\r\n },\r\n 'minecraft:used_totem': {\r\n item: (0, core_1.Opt)(Reference('item_predicate'))\r\n },\r\n 'minecraft:using_item': {\r\n item: (0, core_1.Opt)(Reference('item_predicate'))\r\n },\r\n 'minecraft:villager_trade': {\r\n villager: EntityPredicate,\r\n item: (0, core_1.Opt)(Reference('item_predicate'))\r\n },\r\n 'minecraft:voluntary_exile': {\r\n location: (0, core_1.Opt)(Reference('location_predicate'))\r\n }\r\n }\r\n }, { context: 'criterion' }))\r\n }, { category: 'predicate', context: 'criterion' }));\r\n}\r\nexports.initAdvancementSchemas = initAdvancementSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initModelSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initModelSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const Vec = (length, min, max) => (0, core_1.ListNode)((0, core_1.NumberNode)({ min, max }), { minLength: length, maxLength: length });\r\n const Texture = (0, core_1.ChoiceNode)([\r\n {\r\n type: 'alias',\r\n match: (v) => typeof v === 'string' && v.startsWith('#'),\r\n node: StringNode(),\r\n change: (v) => typeof v === 'string' ? `#${v}` : \"#0\"\r\n },\r\n {\r\n type: 'reference',\r\n match: (v) => typeof v === 'string',\r\n node: StringNode({ validator: 'resource', params: { pool: '$texture' } }),\r\n change: (v) => typeof v === 'string' ? v.replace(/^#/, '') : \"\"\r\n }\r\n ], { choiceContext: 'texture' });\r\n schemas.register('model', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n parent: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$model' } })),\r\n ambientocclusion: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n gui_light: (0, core_1.Opt)(StringNode({ enum: 'gui_light' })),\r\n textures: (0, core_1.Opt)((0, core_1.MapNode)(StringNode(), Texture)),\r\n elements: (0, core_1.Opt)((0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n from: Vec(3, -16, 32),\r\n to: Vec(3, -16, 32),\r\n rotation: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n origin: Vec(3),\r\n axis: StringNode({ enum: 'axis' }),\r\n angle: (0, core_1.NumberEnum)({ values: [-45, -22.5, 0, 22.5, 45] }),\r\n rescale: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n })),\r\n shade: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n faces: (0, core_1.MapNode)(StringNode({ enum: 'direction' }), (0, core_1.ObjectNode)({\r\n texture: Texture,\r\n uv: (0, core_1.Opt)(Vec(4)),\r\n cullface: (0, core_1.Opt)(StringNode({ enum: 'direction' })),\r\n rotation: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n tintindex: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true }))\r\n }))\r\n }, { context: 'model_element' }))),\r\n display: (0, core_1.Opt)((0, core_1.MapNode)(StringNode({ enum: 'display_position' }), (0, core_1.ObjectNode)({\r\n rotation: Vec(3),\r\n translation: Vec(3, -80, 80),\r\n scale: Vec(3, -4, 4)\r\n }, { context: 'item_transform' }))),\r\n overrides: (0, core_1.Opt)((0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n predicate: (0, core_1.MapNode)(StringNode({ enum: 'item_model_predicates' }), (0, core_1.NumberNode)()),\r\n model: StringNode({ validator: 'resource', params: { pool: '$model' } })\r\n }, { context: 'model_override' })))\r\n }, { context: 'model' }), {\r\n default: () => ({\r\n parent: 'minecraft:item/generated',\r\n textures: {\r\n layer0: 'minecraft:item/diamond'\r\n }\r\n })\r\n }));\r\n}\r\nexports.initModelSchemas = initModelSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initBlockDefinitionSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initBlockDefinitionSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('block_definition', (0, core_1.Mod)((0, core_1.ChoiceNode)([\r\n {\r\n type: 'variants',\r\n match: (v) => v.variants !== undefined,\r\n node: (0, core_1.ObjectNode)({\r\n variants: (0, core_1.MapNode)(StringNode(), Reference('model_variant'))\r\n }),\r\n change: (v) => ({ variants: { \"\": {} } })\r\n },\r\n {\r\n type: 'multipart',\r\n match: (v) => v.multipart !== undefined,\r\n node: (0, core_1.ObjectNode)({\r\n multipart: (0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n when: (0, core_1.Opt)(Reference('multipart_condition')),\r\n apply: Reference('model_variant'),\r\n }))\r\n }),\r\n change: (v) => ({ multipart: { when: {}, apply: {} } })\r\n }\r\n ], { context: 'block_definition' }), {\r\n default: () => ({\r\n variants: {\r\n \"\": {\r\n model: 'minecraft:block/stone'\r\n }\r\n }\r\n })\r\n }));\r\n const VariantChildren = {\r\n model: StringNode({ validator: 'resource', params: { pool: '$model' } }),\r\n x: (0, core_1.Opt)((0, core_1.NumberEnum)({ integer: true, values: [0, 90, 180, 270] })),\r\n y: (0, core_1.Opt)((0, core_1.NumberEnum)({ integer: true, values: [0, 90, 180, 270] })),\r\n uvlock: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n };\r\n schemas.register('model_variant', (0, core_1.ChoiceNode)([\r\n {\r\n type: 'object',\r\n node: (0, core_1.ObjectNode)(VariantChildren),\r\n change: (v) => Array.isArray(v) && v.length > 0 ? v[0] : ({})\r\n },\r\n {\r\n type: 'list',\r\n node: (0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n ...VariantChildren,\r\n weight: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 1 }))\r\n }, { context: 'model_variant' })),\r\n change: (v) => [{ weight: 1, ...v }]\r\n }\r\n ], { context: 'model_variant' }));\r\n schemas.register('multipart_condition', (0, core_1.ChoiceNode)([\r\n {\r\n type: 'object',\r\n priority: -1,\r\n match: () => true,\r\n node: (0, core_1.MapNode)(StringNode(), StringNode()),\r\n change: (v) => typeof v === 'object' && Array.isArray(v === null || v === void 0 ? void 0 : v.OR) && v.OR.length > 0 ? v.OR[0] : ({})\r\n },\r\n {\r\n type: 'or',\r\n match: (v) => typeof v === 'object' && (v === null || v === void 0 ? void 0 : v.OR) !== undefined,\r\n node: (0, core_1.ObjectNode)({\r\n OR: (0, core_1.ListNode)(Reference('multipart_condition'))\r\n }),\r\n change: (v) => ({ OR: [v !== null && v !== void 0 ? v : {}] })\r\n }\r\n ], { context: 'multipart_condition' }));\r\n}\r\nexports.initBlockDefinitionSchemas = initBlockDefinitionSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initAssetsSchemas = void 0;\r\nconst Model_1 = require(\"./Model\");\r\nconst BlockDefinition_1 = require(\"./BlockDefinition\");\r\nfunction initAssetsSchemas(schemas, collections) {\r\n (0, BlockDefinition_1.initBlockDefinitionSchemas)(schemas, collections);\r\n (0, Model_1.initModelSchemas)(schemas, collections);\r\n}\r\nexports.initAssetsSchemas = initAssetsSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initCommonSchemas = exports.InclusiveRange = exports.IntProvider = exports.FloatProvider = exports.NoiseSettingsPresets = exports.DefaultNoiseSettings = exports.DimensionTypePresets = exports.DefaultDimensionType = exports.FunctionCases = exports.ConditionCases = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nexports.DefaultDimensionType = {\r\n ultrawarm: false,\r\n natural: true,\r\n piglin_safe: false,\r\n respawn_anchor_works: false,\r\n bed_works: true,\r\n has_raids: true,\r\n has_skylight: true,\r\n has_ceiling: false,\r\n coordinate_scale: 1,\r\n ambient_light: 0,\r\n logical_height: 256,\r\n infiniburn: 'minecraft:infiniburn_overworld',\r\n min_y: 0,\r\n height: 256,\r\n};\r\nconst DefaultStructureSettings = {\r\n 'minecraft:igloo': {\r\n spacing: 32,\r\n separation: 8,\r\n salt: 14357618\r\n },\r\n 'minecraft:mansion': {\r\n spacing: 80,\r\n separation: 20,\r\n salt: 10387319\r\n },\r\n 'minecraft:jungle_pyramid': {\r\n spacing: 32,\r\n separation: 8,\r\n salt: 14357619\r\n },\r\n 'minecraft:nether_fossil': {\r\n spacing: 2,\r\n separation: 1,\r\n salt: 14357921\r\n },\r\n 'minecraft:stronghold': {\r\n spacing: 1,\r\n separation: 0,\r\n salt: 0\r\n },\r\n 'minecraft:shipwreck': {\r\n spacing: 24,\r\n separation: 4,\r\n salt: 165745295\r\n },\r\n 'minecraft:mineshaft': {\r\n spacing: 1,\r\n separation: 0,\r\n salt: 0\r\n },\r\n 'minecraft:desert_pyramid': {\r\n spacing: 32,\r\n separation: 8,\r\n salt: 14357617\r\n },\r\n 'minecraft:ruined_portal': {\r\n spacing: 40,\r\n separation: 15,\r\n salt: 34222645\r\n },\r\n 'minecraft:fortress': {\r\n spacing: 27,\r\n separation: 4,\r\n salt: 30084232\r\n },\r\n 'minecraft:pillager_outpost': {\r\n spacing: 32,\r\n separation: 8,\r\n salt: 165745296\r\n },\r\n 'minecraft:village': {\r\n spacing: 32,\r\n separation: 8,\r\n salt: 10387312\r\n },\r\n 'minecraft:endcity': {\r\n spacing: 20,\r\n separation: 11,\r\n salt: 10387313\r\n },\r\n 'minecraft:buried_treasure': {\r\n spacing: 1,\r\n separation: 0,\r\n salt: 0\r\n },\r\n 'minecraft:ocean_ruin': {\r\n spacing: 20,\r\n separation: 8,\r\n salt: 14357621\r\n },\r\n 'minecraft:bastion_remnant': {\r\n spacing: 27,\r\n separation: 4,\r\n salt: 30084232\r\n },\r\n 'minecraft:swamp_hut': {\r\n spacing: 32,\r\n separation: 8,\r\n salt: 14357620\r\n },\r\n 'minecraft:monument': {\r\n spacing: 32,\r\n separation: 5,\r\n salt: 10387313\r\n }\r\n};\r\nexports.DefaultNoiseSettings = {\r\n bedrock_roof_position: -2147483648,\r\n bedrock_floor_position: 0,\r\n sea_level: 63,\r\n noise_caves_enabled: true,\r\n deepslate_enabled: true,\r\n ore_veins_enabled: true,\r\n noodle_caves_enabled: true,\r\n disable_mob_generation: false,\r\n aquifers_enabled: true,\r\n default_block: {\r\n Name: 'minecraft:stone'\r\n },\r\n default_fluid: {\r\n Properties: {\r\n level: '0'\r\n },\r\n Name: 'minecraft:water'\r\n },\r\n noise: {\r\n min_y: -64,\r\n height: 384,\r\n size_horizontal: 1,\r\n size_vertical: 2,\r\n density_factor: 1,\r\n density_offset: -0.51875,\r\n top_slide: {\r\n target: -0.078125,\r\n size: 2,\r\n offset: 8\r\n },\r\n bottom_slide: {\r\n target: 0.1171875,\r\n size: 3,\r\n offset: 0\r\n },\r\n sampling: {\r\n xz_scale: 0.9999999814507745,\r\n y_scale: 0.9999999814507745,\r\n xz_factor: 80,\r\n y_factor: 160\r\n },\r\n terrain_shaper: {\r\n offset: 0,\r\n factor: 0,\r\n jaggedness: 0\r\n }\r\n },\r\n surface_rule: {\r\n type: 'minecraft:sequence',\r\n sequence: []\r\n },\r\n structures: {\r\n stronghold: {\r\n distance: 32,\r\n spread: 3,\r\n count: 128\r\n },\r\n structures: DefaultStructureSettings,\r\n }\r\n};\r\nfunction initCommonSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n schemas.register('block_state', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n Name: StringNode({ validator: 'resource', params: { pool: 'block' } }),\r\n Properties: (0, core_1.Opt)((0, core_1.MapNode)(StringNode(), StringNode(), { validation: { validator: 'block_state_map', params: { id: ['pop', { push: 'Name' }] } } }))\r\n }, { context: 'block_state' }), {\r\n default: () => ({\r\n Name: 'minecraft:stone'\r\n })\r\n }));\r\n schemas.register('fluid_state', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n Name: StringNode({ validator: 'resource', params: { pool: 'fluid' } }),\r\n Properties: (0, core_1.Opt)((0, core_1.MapNode)(StringNode(), StringNode()))\r\n }, { context: 'fluid_state' }), {\r\n default: () => ({\r\n Name: 'minecraft:water',\r\n Properties: {\r\n 'level': '0'\r\n }\r\n })\r\n }));\r\n schemas.register('block_pos', (0, core_1.Mod)((0, core_1.ListNode)((0, core_1.NumberNode)({ integer: true }), { minLength: 3, maxLength: 3 }), {\r\n default: () => [0, 0, 0]\r\n }));\r\n const Bounds = (integer) => (0, core_1.Opt)((0, core_1.ChoiceNode)([\r\n {\r\n type: 'number',\r\n node: (0, core_1.NumberNode)({ integer }),\r\n change: (v) => { var _a, _b; return v === undefined ? 0 : (_b = (_a = v.min) !== null && _a !== void 0 ? _a : v.max) !== null && _b !== void 0 ? _b : 0; }\r\n },\r\n {\r\n type: 'object',\r\n node: (0, core_1.ObjectNode)({\r\n min: (0, core_1.Opt)((0, core_1.NumberNode)({ integer })),\r\n max: (0, core_1.Opt)((0, core_1.NumberNode)({ integer }))\r\n }, { context: 'range' }),\r\n change: (v) => ({\r\n min: v !== null && v !== void 0 ? v : 0,\r\n max: v !== null && v !== void 0 ? v : 0\r\n })\r\n }\r\n ]));\r\n schemas.register('int_bounds', Bounds(true));\r\n schemas.register('float_bounds', Bounds());\r\n schemas.register('int_range', (0, core_1.ChoiceNode)([\r\n {\r\n type: 'object',\r\n node: (0, core_1.ObjectNode)({\r\n min: (0, core_1.Opt)(Reference('number_provider')),\r\n max: (0, core_1.Opt)(Reference('number_provider'))\r\n })\r\n },\r\n {\r\n type: 'number',\r\n node: (0, core_1.NumberNode)({ integer: true })\r\n }\r\n ], { context: 'range' }));\r\n const ObjectWithType = (pool, directType, directPath, directDefault, objectDefault, context, cases) => {\r\n let defaultCase = {};\r\n if (objectDefault) {\r\n Object.keys(cases[objectDefault]).forEach(k => {\r\n defaultCase[k] = (0, core_1.Mod)(cases[objectDefault][k], {\r\n enabled: path => path.push('type').get() === undefined\r\n });\r\n });\r\n }\r\n const provider = (0, core_1.ObjectNode)({\r\n type: (0, core_1.Mod)((0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool } })), {\r\n hidden: () => true\r\n }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: cases,\r\n ...defaultCase\r\n }, { context, disableSwitchContext: true });\r\n const choices = [{\r\n type: directType,\r\n node: cases[directDefault][directPath]\r\n }];\r\n if (objectDefault) {\r\n choices.push({\r\n type: 'object',\r\n priority: -1,\r\n node: provider\r\n });\r\n }\r\n Object.keys(cases).forEach(k => {\r\n choices.push({\r\n type: k,\r\n match: (v) => {\r\n var _a;\r\n const type = 'minecraft:' + ((_a = v === null || v === void 0 ? void 0 : v.type) === null || _a === void 0 ? void 0 : _a.replace(/^minecraft:/, ''));\r\n if (type === k)\r\n return true;\r\n const keys = v ? Object.keys(v) : [];\r\n return typeof v === 'object' && ((keys === null || keys === void 0 ? void 0 : keys.length) === 0 || ((keys === null || keys === void 0 ? void 0 : keys.length) === 1 && (keys === null || keys === void 0 ? void 0 : keys[0]) === 'type'));\r\n },\r\n node: provider,\r\n change: (v) => ({ type: k })\r\n });\r\n });\r\n return (0, core_1.ChoiceNode)(choices, { context, choiceContext: `${context}.type` });\r\n };\r\n schemas.register('number_provider', ObjectWithType('loot_number_provider_type', 'number', 'value', 'minecraft:constant', 'minecraft:uniform', 'number_provider', {\r\n 'minecraft:constant': {\r\n value: (0, core_1.NumberNode)()\r\n },\r\n 'minecraft:uniform': {\r\n min: Reference('number_provider'),\r\n max: Reference('number_provider')\r\n },\r\n 'minecraft:binomial': {\r\n n: Reference('number_provider'),\r\n p: Reference('number_provider')\r\n },\r\n 'minecraft:score': {\r\n target: Reference('scoreboard_name_provider'),\r\n score: StringNode({ validator: 'objective' }),\r\n scale: (0, core_1.Opt)((0, core_1.NumberNode)())\r\n }\r\n }));\r\n schemas.register('scoreboard_name_provider', ObjectWithType('loot_score_provider_type', 'string', 'target', 'minecraft:context', null, 'score_provider', {\r\n 'minecraft:fixed': {\r\n name: StringNode({ validator: 'entity', params: { amount: 'multiple', type: 'entities', isScoreHolder: true } }) // FIXME: doesn't support selectors\r\n },\r\n 'minecraft:context': {\r\n target: (0, core_1.Mod)(StringNode({ enum: 'entity_source' }), { default: () => 'this' })\r\n }\r\n }));\r\n schemas.register('nbt_provider', ObjectWithType('loot_nbt_provider_type', 'string', 'target', 'minecraft:context', null, 'nbt_provider', {\r\n 'minecraft:storage': {\r\n source: StringNode({ validator: 'resource', params: { pool: '$storage' } })\r\n },\r\n 'minecraft:context': {\r\n target: (0, core_1.Mod)(StringNode({ enum: 'copy_source' }), { default: () => 'this' })\r\n }\r\n }));\r\n exports.FloatProvider = (config) => ObjectWithType('float_provider_type', 'number', 'value', 'minecraft:constant', null, 'float_provider', {\r\n 'minecraft:constant': {\r\n value: (0, core_1.NumberNode)(config)\r\n },\r\n 'minecraft:uniform': {\r\n value: (0, core_1.ObjectNode)({\r\n min_inclusive: (0, core_1.NumberNode)(config),\r\n max_exclusive: (0, core_1.NumberNode)(config)\r\n })\r\n },\r\n 'minecraft:clamped_normal': {\r\n value: (0, core_1.ObjectNode)({\r\n min: (0, core_1.NumberNode)(),\r\n max: (0, core_1.NumberNode)(),\r\n mean: (0, core_1.NumberNode)(),\r\n deviation: (0, core_1.NumberNode)()\r\n })\r\n },\r\n 'minecraft:trapezoid': {\r\n value: (0, core_1.ObjectNode)({\r\n min: (0, core_1.NumberNode)(),\r\n max: (0, core_1.NumberNode)(),\r\n plateau: (0, core_1.NumberNode)()\r\n })\r\n }\r\n });\r\n schemas.register('float_provider', (0, exports.FloatProvider)());\r\n exports.IntProvider = (config) => ObjectWithType('int_provider_type', 'number', 'value', 'minecraft:constant', null, 'int_provider', {\r\n 'minecraft:constant': {\r\n value: (0, core_1.NumberNode)({ integer: true, ...config })\r\n },\r\n 'minecraft:uniform': {\r\n value: (0, core_1.ObjectNode)({\r\n min_inclusive: (0, core_1.NumberNode)({ integer: true, ...config }),\r\n max_inclusive: (0, core_1.NumberNode)({ integer: true, ...config })\r\n })\r\n },\r\n 'minecraft:biased_to_bottom': {\r\n value: (0, core_1.ObjectNode)({\r\n min_inclusive: (0, core_1.NumberNode)({ integer: true, ...config }),\r\n max_inclusive: (0, core_1.NumberNode)({ integer: true, ...config })\r\n })\r\n },\r\n 'minecraft:clamped': {\r\n value: (0, core_1.ObjectNode)({\r\n min_inclusive: (0, core_1.NumberNode)({ integer: true, ...config }),\r\n max_inclusive: (0, core_1.NumberNode)({ integer: true, ...config }),\r\n source: Reference('int_provider')\r\n })\r\n },\r\n 'minecraft:clamped_normal': {\r\n value: (0, core_1.ObjectNode)({\r\n min_inclusive: (0, core_1.NumberNode)({ integer: true, ...config }),\r\n max_inclusive: (0, core_1.NumberNode)({ integer: true, ...config }),\r\n mean: (0, core_1.NumberNode)(),\r\n deviation: (0, core_1.NumberNode)()\r\n })\r\n },\r\n 'minecraft:weighted_list': {\r\n distribution: (0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n weight: (0, core_1.NumberNode)({ integer: true }),\r\n data: Reference('int_provider'),\r\n }))\r\n }\r\n });\r\n schemas.register('int_provider', (0, exports.IntProvider)());\r\n schemas.register('vertical_anchor', (0, core_1.ChoiceNode)(['absolute', 'above_bottom', 'below_top'].map(t => ({\r\n type: t,\r\n match: v => (v === null || v === void 0 ? void 0 : v[t]) !== undefined,\r\n change: v => { var _a, _b, _c; return ({ [t]: (_c = (_b = (_a = v.absolute) !== null && _a !== void 0 ? _a : v.above_bottom) !== null && _b !== void 0 ? _b : v.below_top) !== null && _c !== void 0 ? _c : 0 }); },\r\n node: (0, core_1.ObjectNode)({\r\n [t]: (0, core_1.NumberNode)({ integer: true, min: -2048, max: 2047 })\r\n })\r\n })), { context: 'vertical_anchor' }));\r\n schemas.register('height_provider', ObjectWithType('height_provider_type', 'number', 'value', 'minecraft:constant', null, 'height_provider', {\r\n 'minecraft:constant': {\r\n value: Reference('vertical_anchor')\r\n },\r\n 'minecraft:uniform': {\r\n min_inclusive: Reference('vertical_anchor'),\r\n max_inclusive: Reference('vertical_anchor')\r\n },\r\n 'minecraft:biased_to_bottom': {\r\n min_inclusive: Reference('vertical_anchor'),\r\n max_inclusive: Reference('vertical_anchor'),\r\n inner: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 1 }))\r\n },\r\n 'minecraft:very_biased_to_bottom': {\r\n min_inclusive: Reference('vertical_anchor'),\r\n max_inclusive: Reference('vertical_anchor'),\r\n inner: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 1 }))\r\n },\r\n 'minecraft:trapezoid': {\r\n min_inclusive: Reference('vertical_anchor'),\r\n max_inclusive: Reference('vertical_anchor'),\r\n plateau: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true }))\r\n },\r\n 'minecraft:weighted_list': {\r\n distribution: (0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n weight: (0, core_1.NumberNode)({ integer: true }),\r\n data: Reference('height_provider'),\r\n }))\r\n }\r\n }));\r\n exports.InclusiveRange = (config) => (0, core_1.ObjectNode)({\r\n min_inclusive: (0, core_1.NumberNode)(config),\r\n max_inclusive: (0, core_1.NumberNode)(config)\r\n }, { context: 'range' });\r\n schemas.register('noise_parameters', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n firstOctave: (0, core_1.NumberNode)({ integer: true }),\r\n amplitudes: (0, core_1.ListNode)((0, core_1.NumberNode)())\r\n }, { context: 'noise_parameters' }), {\r\n default: () => ({\r\n firstOctave: -7,\r\n amplitudes: [1, 1]\r\n })\r\n }));\r\n exports.ConditionCases = (entitySourceNode = StringNode({ enum: 'entity_source' })) => ({\r\n 'minecraft:alternative': {\r\n terms: (0, core_1.ListNode)(Reference('condition'))\r\n },\r\n 'minecraft:block_state_property': {\r\n block: StringNode({ validator: 'resource', params: { pool: 'block' } }),\r\n properties: (0, core_1.MapNode)(StringNode(), StringNode(), { validation: { validator: 'block_state_map', params: { id: ['pop', { push: 'block' }] } } })\r\n },\r\n 'minecraft:damage_source_properties': {\r\n predicate: Reference('damage_source_predicate')\r\n },\r\n 'minecraft:entity_properties': {\r\n entity: entitySourceNode,\r\n predicate: Reference('entity_predicate')\r\n },\r\n 'minecraft:entity_scores': {\r\n entity: entitySourceNode,\r\n scores: (0, core_1.MapNode)(StringNode({ validator: 'objective' }), Reference('int_range'))\r\n },\r\n 'minecraft:inverted': {\r\n term: Reference('condition')\r\n },\r\n 'minecraft:killed_by_player': {\r\n inverse: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n },\r\n 'minecraft:location_check': {\r\n offsetX: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n offsetY: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n offsetZ: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n predicate: Reference('location_predicate')\r\n },\r\n 'minecraft:match_tool': {\r\n predicate: Reference('item_predicate')\r\n },\r\n 'minecraft:random_chance': {\r\n chance: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n },\r\n 'minecraft:random_chance_with_looting': {\r\n chance: (0, core_1.NumberNode)({ min: 0, max: 1 }),\r\n looting_multiplier: (0, core_1.NumberNode)()\r\n },\r\n 'minecraft:reference': {\r\n name: StringNode({ validator: 'resource', params: { pool: '$predicate' } })\r\n },\r\n 'minecraft:table_bonus': {\r\n enchantment: StringNode({ validator: 'resource', params: { pool: 'enchantment' } }),\r\n chances: (0, core_1.ListNode)((0, core_1.NumberNode)({ min: 0, max: 1 }))\r\n },\r\n 'minecraft:time_check': {\r\n value: Reference('int_range'),\r\n period: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true }))\r\n },\r\n 'minecraft:value_check': {\r\n value: Reference('number_provider'),\r\n range: Reference('int_range')\r\n },\r\n 'minecraft:weather_check': {\r\n raining: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n thundering: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n }\r\n });\r\n exports.FunctionCases = (conditions, copySourceNode = StringNode({ enum: 'copy_source' }), entitySourceNode = StringNode({ enum: 'entity_source' })) => {\r\n const cases = {\r\n 'minecraft:apply_bonus': {\r\n enchantment: StringNode({ validator: 'resource', params: { pool: 'enchantment' } }),\r\n formula: StringNode({ validator: 'resource', params: { pool: collections.get('loot_table_apply_bonus_formula') } }),\r\n parameters: (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n bonusMultiplier: (0, core_1.Mod)((0, core_1.NumberNode)(), {\r\n enabled: path => path.pop().push('formula').get() === 'minecraft:uniform_bonus_count'\r\n }),\r\n extra: (0, core_1.Mod)((0, core_1.NumberNode)(), {\r\n enabled: path => path.pop().push('formula').get() === 'minecraft:binomial_with_bonus_count'\r\n }),\r\n probability: (0, core_1.Mod)((0, core_1.NumberNode)(), {\r\n enabled: path => path.pop().push('formula').get() === 'minecraft:binomial_with_bonus_count'\r\n })\r\n }), {\r\n enabled: path => path.push('formula').get() !== 'minecraft:ore_drops'\r\n })\r\n },\r\n 'minecraft:copy_name': {\r\n source: copySourceNode\r\n },\r\n 'minecraft:copy_nbt': {\r\n source: Reference('nbt_provider'),\r\n ops: (0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n source: StringNode({ validator: 'nbt_path', params: { category: { getter: 'copy_source', path: ['pop', 'pop', 'pop', { push: 'source' }] } } }),\r\n target: StringNode({ validator: 'nbt_path', params: { category: 'minecraft:item' } }),\r\n op: StringNode({ enum: ['replace', 'append', 'merge'] })\r\n }, { context: 'nbt_operation' }))\r\n },\r\n 'minecraft:copy_state': {\r\n block: StringNode({ validator: 'resource', params: { pool: 'block' } }),\r\n properties: (0, core_1.ListNode)(StringNode({ validator: 'block_state_key', params: { id: ['pop', 'pop', { push: 'block' }] } }))\r\n },\r\n 'minecraft:enchant_randomly': {\r\n enchantments: (0, core_1.Opt)((0, core_1.ListNode)(StringNode({ validator: 'resource', params: { pool: 'enchantment' } })))\r\n },\r\n 'minecraft:enchant_with_levels': {\r\n levels: Reference('number_provider'),\r\n treasure: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n },\r\n 'minecraft:exploration_map': {\r\n destination: (0, core_1.Opt)(StringNode({ enum: 'map_feature' })),\r\n decoration: (0, core_1.Opt)(StringNode({ enum: 'map_decoration' })),\r\n zoom: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n search_radius: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n skip_existing_chunks: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n },\r\n 'minecraft:fill_player_head': {\r\n entity: entitySourceNode\r\n },\r\n 'minecraft:limit_count': {\r\n limit: Reference('int_range')\r\n },\r\n 'minecraft:looting_enchant': {\r\n count: Reference('number_provider'),\r\n limit: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true }))\r\n },\r\n 'minecraft:set_attributes': {\r\n modifiers: (0, core_1.ListNode)(Reference('attribute_modifier'))\r\n },\r\n 'minecraft:set_banner_pattern': {\r\n patterns: (0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n pattern: StringNode({ enum: 'banner_pattern' }),\r\n color: StringNode({ enum: 'dye_color' })\r\n })),\r\n append: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n },\r\n 'minecraft:set_contents': {\r\n type: StringNode({ validator: 'resource', params: { pool: 'block_entity_type' } }),\r\n entries: (0, core_1.ListNode)(Reference('loot_entry'))\r\n },\r\n 'minecraft:set_count': {\r\n count: Reference('number_provider'),\r\n add: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n },\r\n 'minecraft:set_damage': {\r\n damage: Reference('number_provider'),\r\n add: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n },\r\n 'minecraft:set_enchantments': {\r\n enchantments: (0, core_1.MapNode)(StringNode({ validator: 'resource', params: { pool: 'enchantment' } }), Reference('number_provider')),\r\n add: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n },\r\n 'minecraft:set_loot_table': {\r\n type: StringNode({ validator: 'resource', params: { pool: 'block_entity_type' } }),\r\n name: StringNode({ validator: 'resource', params: { pool: '$loot_table' } }),\r\n seed: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true }))\r\n },\r\n 'minecraft:set_lore': {\r\n entity: (0, core_1.Opt)(entitySourceNode),\r\n lore: (0, core_1.ListNode)(Reference('text_component')),\r\n replace: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n },\r\n 'minecraft:set_name': {\r\n entity: (0, core_1.Opt)(entitySourceNode),\r\n name: (0, core_1.Opt)(Reference('text_component'))\r\n },\r\n 'minecraft:set_nbt': {\r\n tag: StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:item' } } })\r\n },\r\n 'minecraft:set_potion': {\r\n id: StringNode({ validator: 'resource', params: { pool: 'potion' } })\r\n },\r\n 'minecraft:set_stew_effect': {\r\n effects: (0, core_1.Opt)((0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'mob_effect' } }),\r\n duration: Reference('number_provider')\r\n })))\r\n }\r\n };\r\n const res = {};\r\n collections.get('loot_function_type').forEach(f => {\r\n res[f] = { ...cases[f], ...conditions };\r\n });\r\n return res;\r\n };\r\n exports.DimensionTypePresets = (node) => (0, core_1.ObjectOrPreset)(StringNode({ validator: 'resource', params: { pool: '$dimension_type' } }), node, {\r\n 'minecraft:overworld': exports.DefaultDimensionType,\r\n 'minecraft:the_nether': {\r\n name: 'minecraft:the_nether',\r\n ultrawarm: true,\r\n natural: false,\r\n shrunk: true,\r\n piglin_safe: true,\r\n respawn_anchor_works: true,\r\n bed_works: false,\r\n has_raids: false,\r\n has_skylight: false,\r\n has_ceiling: true,\r\n ambient_light: 0.1,\r\n fixed_time: 18000,\r\n logical_height: 128,\r\n effects: 'minecraft:the_nether',\r\n infiniburn: 'minecraft:infiniburn_nether',\r\n min_y: 0,\r\n height: 256,\r\n },\r\n 'minecraft:the_end': {\r\n name: 'minecraft:the_end',\r\n ultrawarm: false,\r\n natural: false,\r\n shrunk: false,\r\n piglin_safe: false,\r\n respawn_anchor_works: false,\r\n bed_works: false,\r\n has_raids: true,\r\n has_skylight: false,\r\n has_ceiling: false,\r\n ambient_light: 0,\r\n fixed_time: 6000,\r\n logical_height: 256,\r\n effects: 'minecraft:the_end',\r\n infiniburn: 'minecraft:infiniburn_end',\r\n min_y: 0,\r\n height: 256,\r\n }\r\n });\r\n exports.NoiseSettingsPresets = (node) => (0, core_1.ObjectOrPreset)(StringNode({ validator: 'resource', params: { pool: '$worldgen/noise_settings' } }), node, {\r\n 'minecraft:overworld': exports.DefaultNoiseSettings,\r\n 'minecraft:nether': {\r\n bedrock_roof_position: 0,\r\n bedrock_floor_position: 0,\r\n sea_level: 32,\r\n noise_caves_enabled: false,\r\n deepslate_enabled: false,\r\n ore_veins_enabled: false,\r\n noodle_caves_enabled: false,\r\n disable_mob_generation: false,\r\n aquifers_enabled: false,\r\n default_block: {\r\n Name: 'minecraft:netherrack'\r\n },\r\n default_fluid: {\r\n Properties: {\r\n level: '0'\r\n },\r\n Name: 'minecraft:lava'\r\n },\r\n noise: {\r\n min_y: 0,\r\n height: 128,\r\n size_horizontal: 1,\r\n size_vertical: 2,\r\n density_factor: 0,\r\n density_offset: -0.030078125,\r\n top_slide: {\r\n target: 0.9375,\r\n size: 3,\r\n offset: 0\r\n },\r\n bottom_slide: {\r\n target: 2.5,\r\n size: 4,\r\n offset: -1\r\n },\r\n sampling: {\r\n xz_scale: 1.0,\r\n y_scale: 3.0,\r\n xz_factor: 80.0,\r\n y_factor: 60.0\r\n },\r\n terrain_shaper: {\r\n offset: 0,\r\n factor: 0,\r\n jaggedness: 0\r\n }\r\n },\r\n surface_rule: {\r\n type: 'minecraft:sequence',\r\n sequence: []\r\n },\r\n structures: {\r\n structures: DefaultStructureSettings,\r\n }\r\n },\r\n 'minecraft:end': {\r\n bedrock_roof_position: -2147483648,\r\n bedrock_floor_position: -2147483648,\r\n sea_level: 0,\r\n noise_caves_enabled: false,\r\n deepslate_enabled: false,\r\n ore_veins_enabled: false,\r\n noodle_caves_enabled: false,\r\n disable_mob_generation: false,\r\n aquifers_enabled: false,\r\n default_block: {\r\n Name: 'minecraft:end_stone'\r\n },\r\n default_fluid: {\r\n Name: 'minecraft:air'\r\n },\r\n noise: {\r\n min_y: 0,\r\n height: 128,\r\n size_horizontal: 2,\r\n size_vertical: 1,\r\n density_factor: 0,\r\n density_offset: 0,\r\n island_noise_override: true,\r\n top_slide: {\r\n target: -23.4375,\r\n size: 64,\r\n offset: -46\r\n },\r\n bottom_slide: {\r\n target: -0.234375,\r\n size: 7,\r\n offset: 1\r\n },\r\n sampling: {\r\n xz_scale: 2.0,\r\n y_scale: 1.0,\r\n xz_factor: 80.0,\r\n y_factor: 160.0\r\n },\r\n terrain_shaper: {\r\n offset: 0,\r\n factor: 1,\r\n jaggedness: 0\r\n }\r\n },\r\n surface_rule: {\r\n type: 'minecraft:sequence',\r\n sequence: []\r\n },\r\n structures: {\r\n structures: DefaultStructureSettings\r\n }\r\n },\r\n 'minecraft:amplified': {\r\n bedrock_roof_position: -2147483648,\r\n bedrock_floor_position: 0,\r\n sea_level: 63,\r\n noise_caves_enabled: true,\r\n deepslate_enabled: true,\r\n ore_veins_enabled: true,\r\n noodle_caves_enabled: true,\r\n disable_mob_generation: false,\r\n aquifers_enabled: true,\r\n default_block: {\r\n Name: 'minecraft:stone'\r\n },\r\n default_fluid: {\r\n Properties: {\r\n level: '0'\r\n },\r\n Name: 'minecraft:water'\r\n },\r\n noise: {\r\n min_y: -64,\r\n height: 384,\r\n size_horizontal: 1,\r\n size_vertical: 2,\r\n density_factor: 1,\r\n density_offset: -0.51875,\r\n amplified: true,\r\n top_slide: {\r\n target: -0.078125,\r\n size: 2,\r\n offset: 8\r\n },\r\n bottom_slide: {\r\n target: 0.1171875,\r\n size: 3,\r\n offset: 0\r\n },\r\n sampling: {\r\n xz_scale: 0.9999999814507745,\r\n y_scale: 0.9999999814507745,\r\n xz_factor: 80,\r\n y_factor: 160\r\n },\r\n terrain_shaper: {\r\n offset: 0,\r\n factor: 0,\r\n jaggedness: 0\r\n }\r\n },\r\n surface_rule: {\r\n type: 'minecraft:sequence',\r\n sequence: []\r\n },\r\n structures: {\r\n stronghold: {\r\n distance: 32,\r\n spread: 3,\r\n count: 128\r\n },\r\n structures: DefaultStructureSettings,\r\n },\r\n },\r\n 'minecraft:caves': {\r\n bedrock_roof_position: 0,\r\n bedrock_floor_position: 0,\r\n sea_level: 32,\r\n noise_caves_enabled: false,\r\n deepslate_enabled: false,\r\n ore_veins_enabled: false,\r\n noodle_caves_enabled: false,\r\n disable_mob_generation: false,\r\n aquifers_enabled: false,\r\n default_block: {\r\n Name: 'minecraft:stone'\r\n },\r\n default_fluid: {\r\n Properties: {\r\n level: '0'\r\n },\r\n Name: 'minecraft:water'\r\n },\r\n noise: {\r\n min_y: 0,\r\n height: 128,\r\n size_horizontal: 1,\r\n size_vertical: 2,\r\n density_factor: 0,\r\n density_offset: -0.030078125,\r\n top_slide: {\r\n target: 0.9375,\r\n size: 3,\r\n offset: 0\r\n },\r\n bottom_slide: {\r\n target: 2.5,\r\n size: 4,\r\n offset: -1\r\n },\r\n sampling: {\r\n xz_scale: 1.0,\r\n y_scale: 3.0,\r\n xz_factor: 80.0,\r\n y_factor: 60.0\r\n },\r\n terrain_shaper: {\r\n offset: 0,\r\n factor: 0,\r\n jaggedness: 0\r\n }\r\n },\r\n surface_rule: {\r\n type: 'minecraft:sequence',\r\n sequence: []\r\n },\r\n structures: {\r\n stronghold: {\r\n distance: 32,\r\n spread: 3,\r\n count: 128\r\n },\r\n structures: DefaultStructureSettings,\r\n }\r\n },\r\n 'minecraft:floating_islands': {\r\n bedrock_roof_position: -2147483648,\r\n bedrock_floor_position: -2147483648,\r\n sea_level: 0,\r\n noise_caves_enabled: false,\r\n deepslate_enabled: false,\r\n ore_veins_enabled: false,\r\n noodle_caves_enabled: false,\r\n disable_mob_generation: false,\r\n aquifers_enabled: false,\r\n default_block: {\r\n Name: 'minecraft:stone'\r\n },\r\n default_fluid: {\r\n Properties: {\r\n level: '0'\r\n },\r\n Name: 'minecraft:water'\r\n },\r\n noise: {\r\n min_y: 0,\r\n height: 128,\r\n size_horizontal: 2,\r\n size_vertical: 1,\r\n density_factor: 0,\r\n density_offset: 0,\r\n island_noise_override: true,\r\n top_slide: {\r\n target: -23.4375,\r\n size: 64,\r\n offset: -46\r\n },\r\n bottom_slide: {\r\n target: -0.234375,\r\n size: 7,\r\n offset: 1\r\n },\r\n sampling: {\r\n xz_scale: 2.0,\r\n y_scale: 1.0,\r\n xz_factor: 80.0,\r\n y_factor: 160.0\r\n },\r\n terrain_shaper: {\r\n offset: 0,\r\n factor: 1,\r\n jaggedness: 0\r\n }\r\n },\r\n surface_rule: {\r\n type: 'minecraft:sequence',\r\n sequence: []\r\n },\r\n structures: {\r\n stronghold: {\r\n distance: 32,\r\n spread: 3,\r\n count: 128\r\n },\r\n structures: DefaultStructureSettings,\r\n }\r\n }\r\n });\r\n}\r\nexports.initCommonSchemas = initCommonSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initConditionSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"./Common\");\r\nfunction initConditionSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('predicate', (0, core_1.ObjectOrList)(Reference('condition'), { choiceContext: 'condition' }));\r\n schemas.register('condition', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n condition: StringNode({ validator: 'resource', params: { pool: 'loot_condition_type' } }),\r\n [core_1.Switch]: [{ push: 'condition' }],\r\n [core_1.Case]: (0, Common_1.ConditionCases)()\r\n }, { category: 'predicate', context: 'condition' }), {\r\n default: () => ({\r\n condition: 'minecraft:entity_properties',\r\n entity: 'this'\r\n })\r\n }));\r\n}\r\nexports.initConditionSchemas = initConditionSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initDimensionSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"./Common\");\r\nfunction initDimensionSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('dimension', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n type: (0, Common_1.DimensionTypePresets)(Reference('dimension_type')),\r\n generator: (0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/chunk_generator' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:noise': {\r\n seed: (0, core_1.NumberNode)({ integer: true }),\r\n settings: (0, Common_1.NoiseSettingsPresets)(Reference('noise_settings')),\r\n biome_source: (0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/biome_source' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:fixed': {\r\n biome: StringNode({ validator: 'resource', params: { pool: '$worldgen/biome' } })\r\n },\r\n 'minecraft:multi_noise': {\r\n preset: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: ['minecraft:overworld', 'minecraft:nether'] } })),\r\n biomes: (0, core_1.Mod)((0, core_1.ListNode)(Reference('generator_biome')), {\r\n enabled: path => path.push('preset').get() === undefined,\r\n default: () => [{\r\n biome: 'minecraft:plains'\r\n }]\r\n })\r\n },\r\n 'minecraft:checkerboard': {\r\n scale: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 0, max: 62 })),\r\n biomes: (0, core_1.ListNode)(StringNode({ validator: 'resource', params: { pool: '$worldgen/biome' } }))\r\n },\r\n 'minecraft:the_end': {\r\n seed: (0, core_1.NumberNode)({ integer: true })\r\n }\r\n }\r\n }, { category: 'predicate', disableSwitchContext: true })\r\n },\r\n 'minecraft:flat': {\r\n settings: (0, core_1.ObjectNode)({\r\n biome: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$worldgen/biome' } })),\r\n lakes: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n features: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n layers: (0, core_1.ListNode)(Reference('generator_layer')),\r\n structures: Reference('generator_structures')\r\n })\r\n }\r\n }\r\n }, { disableSwitchContext: true })\r\n }, { category: 'pool', context: 'dimension' }), {\r\n default: () => {\r\n const seed = Math.floor(Math.random() * (4294967296)) - 2147483648;\r\n return {\r\n type: 'minecraft:overworld',\r\n generator: {\r\n type: 'minecraft:noise',\r\n seed,\r\n biome_source: {\r\n type: 'minecraft:fixed',\r\n seed,\r\n biome: 'minecraft:plains'\r\n },\r\n settings: 'minecraft:overworld'\r\n }\r\n };\r\n }\r\n }));\r\n const ClimateParameter = (0, core_1.ChoiceNode)([\r\n {\r\n type: 'number',\r\n node: (0, core_1.NumberNode)({ min: -2, max: 2 }),\r\n change: (v) => { var _a; return (_a = v[0]) !== null && _a !== void 0 ? _a : 0; }\r\n },\r\n {\r\n type: 'list',\r\n node: (0, core_1.ListNode)((0, core_1.NumberNode)({ min: -2, max: 2 }), { minLength: 2, maxLength: 2 }),\r\n change: (v) => [v !== null && v !== void 0 ? v : 0, v !== null && v !== void 0 ? v : 0]\r\n }\r\n ]);\r\n schemas.register('generator_biome', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n biome: StringNode({ validator: 'resource', params: { pool: '$worldgen/biome' } }),\r\n parameters: (0, core_1.ObjectNode)({\r\n temperature: ClimateParameter,\r\n humidity: ClimateParameter,\r\n continentalness: ClimateParameter,\r\n erosion: ClimateParameter,\r\n weirdness: ClimateParameter,\r\n depth: ClimateParameter,\r\n offset: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n })\r\n }, { context: 'generator_biome' }), {\r\n default: () => ({\r\n biome: 'minecraft:plains',\r\n parameters: {\r\n altitude: 0,\r\n temperature: 0,\r\n humidity: 0,\r\n weirdness: 0,\r\n offset: 0\r\n }\r\n })\r\n }));\r\n}\r\nexports.initDimensionSchemas = initDimensionSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initDimensionTypeSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"./Common\");\r\nfunction initDimensionTypeSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('dimension_type', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n ultrawarm: (0, core_1.BooleanNode)(),\r\n natural: (0, core_1.BooleanNode)(),\r\n piglin_safe: (0, core_1.BooleanNode)(),\r\n respawn_anchor_works: (0, core_1.BooleanNode)(),\r\n bed_works: (0, core_1.BooleanNode)(),\r\n has_raids: (0, core_1.BooleanNode)(),\r\n has_skylight: (0, core_1.BooleanNode)(),\r\n has_ceiling: (0, core_1.BooleanNode)(),\r\n coordinate_scale: (0, core_1.NumberNode)({ min: 0.00001, max: 30000000 }),\r\n ambient_light: (0, core_1.NumberNode)(),\r\n fixed_time: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n logical_height: (0, core_1.NumberNode)({ integer: true, min: 0, max: 4096 }),\r\n effects: (0, core_1.Opt)(StringNode({ enum: ['minecraft:overworld', 'minecraft:the_nether', 'minecraft:the_end'] })),\r\n infiniburn: StringNode({ validator: 'resource', params: { pool: '$tag/block' } }),\r\n min_y: (0, core_1.NumberNode)({ integer: true, min: -2048, max: 2047 }),\r\n height: (0, core_1.NumberNode)({ integer: true, min: 0, max: 4096 })\r\n }, { context: 'dimension_type' }), node => ({\r\n default: () => Common_1.DefaultDimensionType,\r\n validate: (path, value, errors, options) => {\r\n value = node.validate(path, value, errors, options);\r\n if ((value === null || value === void 0 ? void 0 : value.min_y) + (value === null || value === void 0 ? void 0 : value.height) > 2047) {\r\n errors.add(path.push('height'), 'error.min_y_plus_height', 2047);\r\n }\r\n if ((value === null || value === void 0 ? void 0 : value.logical_height) > (value === null || value === void 0 ? void 0 : value.height)) {\r\n errors.add(path.push('logical_height'), 'error.logical_height');\r\n }\r\n if ((value === null || value === void 0 ? void 0 : value.height) % 16 !== 0) {\r\n errors.add(path.push('height'), 'error.height_multiple', 16);\r\n }\r\n if ((value === null || value === void 0 ? void 0 : value.min_y) % 16 !== 0) {\r\n errors.add(path.push('min_y'), 'error.min_y_multiple', 16);\r\n }\r\n return value;\r\n }\r\n })));\r\n}\r\nexports.initDimensionTypeSchemas = initDimensionTypeSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initItemModifierSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"./Common\");\r\nfunction initItemModifierSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('item_modifier', (0, core_1.ObjectOrList)(Reference('function'), { choiceContext: 'function' }));\r\n const conditions = {\r\n conditions: (0, core_1.Opt)((0, core_1.ListNode)(Reference('condition')))\r\n };\r\n schemas.register('function', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n function: StringNode({ validator: 'resource', params: { pool: 'loot_function_type' } }),\r\n [core_1.Switch]: [{ push: 'function' }],\r\n [core_1.Case]: (0, Common_1.FunctionCases)(conditions)\r\n }, { category: 'function', context: 'function' }), {\r\n default: () => [{\r\n function: 'minecraft:set_count',\r\n count: 1\r\n }]\r\n }));\r\n}\r\nexports.initItemModifierSchemas = initItemModifierSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.LootFunctions = exports.LootConditions = exports.LootCopySources = exports.LootEntitySources = exports.LootTableTypes = void 0;\r\nexports.LootTableTypes = new Map([\r\n ['minecraft:advancement_entity', { requires: [7 /* Origin */, 8 /* ThisEntity */], allows: [] }],\r\n ['minecraft:advancement_reward', { requires: [7 /* Origin */, 8 /* ThisEntity */], allows: [] }],\r\n ['minecraft:barter', { requires: [8 /* ThisEntity */], allows: [] }],\r\n ['minecraft:block', { requires: [1 /* BlockState */, 7 /* Origin */, 9 /* Tool */], allows: [0 /* BlockEntity */, 4 /* ExplosionRadius */, 8 /* ThisEntity */] }],\r\n ['minecraft:chest', { requires: [7 /* Origin */], allows: [8 /* ThisEntity */] }],\r\n ['minecraft:command', { requires: [7 /* Origin */], allows: [8 /* ThisEntity */] }],\r\n ['minecraft:empty', { requires: [], allows: [] }],\r\n ['minecraft:entity', { requires: [2 /* DamageSource */, 7 /* Origin */, 8 /* ThisEntity */], allows: [3 /* DirectKillerEntity */, 5 /* KillerEntity */, 6 /* LastDamagePlayer */] }],\r\n ['minecraft:fishing', { requires: [7 /* Origin */, 9 /* Tool */], allows: [8 /* ThisEntity */] }],\r\n ['minecraft:generic', { requires: [2 /* DamageSource */, 0 /* BlockEntity */, 1 /* BlockState */, 3 /* DirectKillerEntity */, 4 /* ExplosionRadius */, 5 /* KillerEntity */, 6 /* LastDamagePlayer */, 7 /* Origin */, 8 /* ThisEntity */, 9 /* Tool */], allows: [] }],\r\n ['minecraft:gift', { requires: [7 /* Origin */, 8 /* ThisEntity */], allows: [] }],\r\n ['minecraft:selector', { requires: [7 /* Origin */], allows: [8 /* ThisEntity */] }]\r\n]);\r\n/**\r\n * A map from loot entity sources to an array of their required context.\r\n */\r\nexports.LootEntitySources = new Map([\r\n ['direct_killer', [3 /* DirectKillerEntity */]],\r\n ['killer', [5 /* KillerEntity */]],\r\n ['killer_player', [5 /* KillerEntity */]],\r\n ['this', [8 /* ThisEntity */]]\r\n]);\r\n/**\r\n * A map from loot copy sources to an array of their required context.\r\n */\r\nexports.LootCopySources = new Map([\r\n ['block_entity', [0 /* BlockEntity */]],\r\n ['killer', [5 /* KillerEntity */]],\r\n ['killer_player', [5 /* KillerEntity */]],\r\n ['this', [8 /* ThisEntity */]]\r\n]);\r\n/**\r\n * A map from loot condition IDs to an array of their required context.\r\n */\r\nexports.LootConditions = new Map([\r\n ['minecraft:alternative', []],\r\n ['minecraft:block_state_property', [1 /* BlockState */]],\r\n ['minecraft:damage_source_properties', [2 /* DamageSource */]],\r\n ['minecraft:entity_properties', [7 /* Origin */]],\r\n ['minecraft:entity_scores', []],\r\n ['minecraft:inverted', []],\r\n ['minecraft:killed_by_player', [6 /* LastDamagePlayer */]],\r\n ['minecraft:location_check', []],\r\n ['minecraft:match_tool', [9 /* Tool */]],\r\n ['minecraft:random_chance', []],\r\n ['minecraft:random_chance_with_looting', [5 /* KillerEntity */]],\r\n ['minecraft:reference', []],\r\n ['minecraft:survives_explosion', [4 /* ExplosionRadius */]],\r\n ['minecraft:table_bonus', [9 /* Tool */]],\r\n ['minecraft:time_check', []],\r\n ['minecraft:weather_check', []]\r\n]);\r\n/**\r\n * A map from loot function IDs to an array of their required context.\r\n */\r\nexports.LootFunctions = new Map([\r\n ['minecraft:apply_bonus', [9 /* Tool */]],\r\n ['minecraft:copy_name', []],\r\n ['minecraft:copy_nbt', []],\r\n ['minecraft:copy_state', [1 /* BlockState */]],\r\n ['minecraft:enchant_randomly', []],\r\n ['minecraft:enchant_with_levels', []],\r\n ['minecraft:exploration_map', [7 /* Origin */]],\r\n ['minecraft:explosion_decay', []],\r\n ['minecraft:fill_player_head', []],\r\n ['minecraft:furnace_smelt', []],\r\n ['minecraft:limit_count', []],\r\n ['minecraft:looting_enchant', [5 /* KillerEntity */]],\r\n ['minecraft:set_attributes', []],\r\n ['minecraft:set_banner_pattern', []],\r\n ['minecraft:set_contents', []],\r\n ['minecraft:set_count', []],\r\n ['minecraft:set_damage', []],\r\n ['minecraft:set_loot_table', []],\r\n ['minecraft:set_lore', []],\r\n ['minecraft:set_name', []],\r\n ['minecraft:set_nbt', []],\r\n ['minecraft:set_stew_effect', []]\r\n]);\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initLootTableSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst LootContext_1 = require(\"../LootContext\");\r\nconst Common_1 = require(\"./Common\");\r\nfunction initLootTableSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const conditions = {\r\n conditions: (0, core_1.Opt)((0, core_1.ListNode)(Reference('loot_condition')))\r\n };\r\n const functionsAndConditions = {\r\n functions: (0, core_1.Opt)((0, core_1.ListNode)(Reference('loot_function'))),\r\n ...conditions\r\n };\r\n function compileSwitchNode(contextMap, collectionID, getNode) {\r\n const cases = [];\r\n const getAvailableOptions = (providedContext) => collections\r\n .get(collectionID)\r\n .filter(t => {\r\n var _a;\r\n const requiredContext = (_a = contextMap.get(t)) !== null && _a !== void 0 ? _a : [];\r\n return requiredContext.every(c => providedContext.includes(c));\r\n });\r\n for (const [tableType, { allows, requires }] of LootContext_1.LootTableTypes) {\r\n const providedContext = [...allows, ...requires];\r\n cases.push({\r\n match: path => path.getModel().get(new core_1.Path(['type'])) === tableType,\r\n node: getNode(getAvailableOptions(providedContext))\r\n });\r\n }\r\n cases.push({ match: _ => true, node: getNode(collectionID) });\r\n return (0, core_1.SwitchNode)(cases);\r\n }\r\n const conditionIDSwtichNode = compileSwitchNode(LootContext_1.LootConditions, 'loot_condition_type', type => StringNode({ validator: 'resource', params: { pool: type instanceof Array ? type : `loot_condition_type` } }));\r\n const functionIDSwtichNode = compileSwitchNode(LootContext_1.LootFunctions, 'loot_function_type', type => StringNode({ validator: 'resource', params: { pool: type instanceof Array ? type : `loot_function_type` } }));\r\n const entitySourceSwtichNode = compileSwitchNode(LootContext_1.LootEntitySources, 'entity_source', type => StringNode({ enum: type }));\r\n const copySourceSwtichNode = compileSwitchNode(LootContext_1.LootCopySources, 'copy_source', type => StringNode({ enum: type }));\r\n schemas.register('loot_table', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n type: (0, core_1.Opt)(StringNode({ validator: \"resource\", params: { pool: collections.get('loot_context_type') } })),\r\n pools: (0, core_1.Opt)((0, core_1.ListNode)((0, core_1.Mod)((0, core_1.ObjectNode)({\r\n rolls: Reference('number_provider'),\r\n bonus_rolls: (0, core_1.Opt)(Reference('number_provider')),\r\n entries: (0, core_1.ListNode)(Reference('loot_entry')),\r\n ...functionsAndConditions\r\n }, { category: 'pool', context: 'loot_pool' }), {\r\n default: () => ({\r\n rolls: 1,\r\n entries: [{\r\n type: 'minecraft:item',\r\n name: 'minecraft:stone'\r\n }]\r\n })\r\n }))),\r\n functions: (0, core_1.Opt)((0, core_1.ListNode)(Reference('loot_function')))\r\n }, { context: 'loot_table' }), {\r\n default: () => ({\r\n pools: [{\r\n rolls: 1,\r\n entries: [{\r\n type: 'minecraft:item',\r\n name: 'minecraft:stone'\r\n }]\r\n }]\r\n })\r\n }));\r\n const weightMod = {\r\n enabled: path => {\r\n var _a;\r\n return ((_a = path.pop().get()) === null || _a === void 0 ? void 0 : _a.length) > 1\r\n && !['minecraft:alternatives', 'minecraft:group', 'minecraft:sequence'].includes(path.push('type').get());\r\n }\r\n };\r\n schemas.register('loot_entry', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'loot_pool_entry_type' } }),\r\n weight: (0, core_1.Opt)((0, core_1.Mod)((0, core_1.NumberNode)({ integer: true, min: 1 }), weightMod)),\r\n quality: (0, core_1.Opt)((0, core_1.Mod)((0, core_1.NumberNode)({ integer: true }), weightMod)),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:alternatives': {\r\n children: (0, core_1.ListNode)(Reference('loot_entry')),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:dynamic': {\r\n name: StringNode(),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:group': {\r\n children: (0, core_1.ListNode)(Reference('loot_entry')),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:item': {\r\n name: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:loot_table': {\r\n name: StringNode({ validator: 'resource', params: { pool: '$loot_table' } }),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:sequence': {\r\n children: (0, core_1.ListNode)(Reference('loot_entry')),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:tag': {\r\n name: StringNode({ validator: 'resource', params: { pool: '$tag/item' } }),\r\n expand: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n ...functionsAndConditions\r\n }\r\n }\r\n }, { context: 'loot_entry' }), {\r\n default: () => ({\r\n type: 'minecraft:item',\r\n name: 'minecraft:stone'\r\n })\r\n }));\r\n schemas.register('loot_function', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n function: functionIDSwtichNode,\r\n [core_1.Switch]: [{ push: 'function' }],\r\n [core_1.Case]: (0, Common_1.FunctionCases)(conditions, copySourceSwtichNode, entitySourceSwtichNode)\r\n }, { category: 'function', context: 'function' }), {\r\n default: () => ({\r\n function: 'minecraft:set_count',\r\n count: 1\r\n })\r\n }));\r\n schemas.register('loot_condition', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n condition: conditionIDSwtichNode,\r\n [core_1.Switch]: [{ push: 'condition' }],\r\n [core_1.Case]: (0, Common_1.ConditionCases)(entitySourceSwtichNode)\r\n }, { category: 'predicate', context: 'condition' }), {\r\n default: () => ({\r\n condition: 'minecraft:random_chance',\r\n chance: 0.5\r\n })\r\n }));\r\n schemas.register('attribute_modifier', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n attribute: StringNode({ validator: 'resource', params: { pool: 'attribute' } }),\r\n name: StringNode(),\r\n amount: Reference('number_provider'),\r\n operation: StringNode({ enum: ['addition', 'multiply_base', 'multiply_total'] }),\r\n slot: (0, core_1.StringOrList)(StringNode({ enum: 'slot' }))\r\n }, { context: 'attribute_modifier' }), {\r\n default: () => ({\r\n attribute: 'minecraft:generic.max_health',\r\n name: '',\r\n amount: 1,\r\n operation: 'addition',\r\n slot: 'mainhand'\r\n })\r\n }));\r\n}\r\nexports.initLootTableSchemas = initLootTableSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initPackMcmetaSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst CURRENT_PACK_FORMAT = 8;\r\nfunction initPackMcmetaSchemas(schemas, _) {\r\n const getSimpleString = (jsonText) => { var _a, _b; return jsonText instanceof Array ? getSimpleString(jsonText[0]) : (_b = (_a = jsonText === null || jsonText === void 0 ? void 0 : jsonText.text) !== null && _a !== void 0 ? _a : jsonText === null || jsonText === void 0 ? void 0 : jsonText.toString()) !== null && _b !== void 0 ? _b : ''; };\r\n schemas.register('pack_mcmeta', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n pack: (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n pack_format: (0, core_1.Mod)((0, core_1.NumberNode)({ integer: true, min: CURRENT_PACK_FORMAT, max: CURRENT_PACK_FORMAT }), {\r\n default: () => CURRENT_PACK_FORMAT,\r\n canUpdate: (_p, v) => v !== CURRENT_PACK_FORMAT,\r\n update: () => [{ name: 'pack_format', params: [CURRENT_PACK_FORMAT], newValue: CURRENT_PACK_FORMAT }]\r\n }),\r\n description: (0, core_1.Reference)(schemas, 'text_component')\r\n }), {\r\n default: () => ({\r\n pack_format: CURRENT_PACK_FORMAT,\r\n description: ''\r\n })\r\n })\r\n }), {\r\n default: () => ({\r\n pack: {\r\n pack_format: CURRENT_PACK_FORMAT,\r\n description: ''\r\n }\r\n })\r\n }));\r\n}\r\nexports.initPackMcmetaSchemas = initPackMcmetaSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initPredicatesSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initPredicatesSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const StateChoice = (0, core_1.ChoiceNode)([\r\n {\r\n type: 'string',\r\n node: StringNode(),\r\n change: v => (typeof v === 'boolean' || typeof v === 'number') ? v.toString() : ''\r\n },\r\n {\r\n type: 'number',\r\n node: (0, core_1.NumberNode)(),\r\n change: v => (typeof v === 'string') ? parseInt(v) : 0\r\n },\r\n {\r\n type: 'object',\r\n node: (0, core_1.ObjectNode)({\r\n min: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n max: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true }))\r\n }),\r\n change: v => (typeof v === 'number') ? ({ min: v, max: v }) : ({})\r\n },\r\n {\r\n type: 'boolean',\r\n node: (0, core_1.BooleanNode)(),\r\n change: v => v === 'true' || v === 1\r\n }\r\n ]);\r\n schemas.register('item_predicate', (0, core_1.ObjectNode)({\r\n items: (0, core_1.Opt)((0, core_1.ListNode)(StringNode({ validator: 'resource', params: { pool: 'item' } }))),\r\n tag: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$tag/item' } })),\r\n count: Reference('int_bounds'),\r\n durability: Reference('int_bounds'),\r\n potion: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: 'potion' } })),\r\n nbt: (0, core_1.Opt)(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:item', id: ['pop', { push: 'item' }] } } })),\r\n enchantments: (0, core_1.Opt)((0, core_1.ListNode)(Reference('enchantment_predicate')))\r\n }, { context: 'item' }));\r\n schemas.register('enchantment_predicate', (0, core_1.ObjectNode)({\r\n enchantment: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: 'enchantment' } })),\r\n levels: Reference('int_bounds')\r\n }, { context: 'enchantment' }));\r\n schemas.register('block_predicate', (0, core_1.ObjectNode)({\r\n blocks: (0, core_1.Opt)((0, core_1.ListNode)(StringNode({ validator: 'resource', params: { pool: 'block' } }))),\r\n tag: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$tag/block' } })),\r\n nbt: (0, core_1.Opt)(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:block', id: ['pop', { push: 'block' }] } } })),\r\n state: (0, core_1.Opt)((0, core_1.MapNode)(StringNode(), StateChoice, { validation: { validator: 'block_state_map', params: { id: ['pop', { push: 'block' }] } } }))\r\n }, { context: 'block' }));\r\n schemas.register('fluid_predicate', (0, core_1.ObjectNode)({\r\n fluid: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: 'fluid' } })),\r\n tag: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$tag/fluid' } })),\r\n state: (0, core_1.Opt)((0, core_1.MapNode)(StringNode(), StateChoice))\r\n }, { context: 'fluid' }));\r\n schemas.register('location_predicate', (0, core_1.ObjectNode)({\r\n position: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n x: Reference('float_bounds'),\r\n y: Reference('float_bounds'),\r\n z: Reference('float_bounds')\r\n })),\r\n biome: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$worldgen/biome' } })),\r\n feature: (0, core_1.Opt)(StringNode({ enum: collections.get('worldgen/structure_feature').map(v => v.slice(10)) })),\r\n dimension: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$dimension' } })),\r\n light: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n light: Reference('int_bounds')\r\n })),\r\n smokey: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n block: (0, core_1.Opt)(Reference('block_predicate')),\r\n fluid: (0, core_1.Opt)(Reference('fluid_predicate'))\r\n }, { context: 'location' }));\r\n schemas.register('statistic_predicate', (0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'stat_type' } }),\r\n stat: StringNode(),\r\n value: Reference('int_bounds'),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:mined': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'block' } })\r\n },\r\n 'minecraft:crafted': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'item' } })\r\n },\r\n 'minecraft:used': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'item' } })\r\n },\r\n 'minecraft:broken': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'item' } })\r\n },\r\n 'minecraft:picked_up': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'item' } })\r\n },\r\n 'minecraft:dropped': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'item' } })\r\n },\r\n 'minecraft:killed': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'entity_type' } })\r\n },\r\n 'minecraft:killed_by': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'entity_type' } })\r\n },\r\n 'minecraft:custom': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'custom_stat' } })\r\n }\r\n }\r\n }));\r\n schemas.register('player_predicate', (0, core_1.ObjectNode)({\r\n gamemode: (0, core_1.Opt)(StringNode({ enum: 'gamemode' })),\r\n level: Reference('int_bounds'),\r\n advancements: (0, core_1.Opt)((0, core_1.MapNode)(StringNode({ validator: 'resource', params: { pool: '$advancement' } }), (0, core_1.ChoiceNode)([\r\n { type: 'boolean', node: (0, core_1.BooleanNode)(), change: _ => true },\r\n {\r\n type: 'object', node: (0, core_1.MapNode)(StringNode(), (0, core_1.BooleanNode)())\r\n }\r\n ]))),\r\n recipes: (0, core_1.Opt)((0, core_1.MapNode)(StringNode({ validator: 'resource', params: { pool: '$recipe' } }), (0, core_1.BooleanNode)())),\r\n stats: (0, core_1.Opt)((0, core_1.ListNode)(Reference('statistic_predicate'))),\r\n looking_at: (0, core_1.Opt)(Reference('entity_predicate'))\r\n }, { context: 'player' }));\r\n schemas.register('status_effect_predicate', (0, core_1.ObjectNode)({\r\n amplifier: Reference('int_bounds'),\r\n duration: Reference('int_bounds'),\r\n ambient: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n visible: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n }, { context: 'status_effect' }));\r\n schemas.register('distance_predicate', (0, core_1.ObjectNode)({\r\n x: Reference('float_bounds'),\r\n y: Reference('float_bounds'),\r\n z: Reference('float_bounds'),\r\n absolute: Reference('float_bounds'),\r\n horizontal: Reference('float_bounds')\r\n }, { context: 'distance' }));\r\n schemas.register('entity_predicate', (0, core_1.ObjectNode)({\r\n type: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: 'entity_type', allowTag: true } })),\r\n nbt: (0, core_1.Opt)(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:entity', id: ['pop', { push: 'type' }] } } })),\r\n team: (0, core_1.Opt)(StringNode({ validator: 'team' })),\r\n location: (0, core_1.Opt)(Reference('location_predicate')),\r\n stepping_on: (0, core_1.Opt)(Reference('location_predicate')),\r\n distance: (0, core_1.Opt)(Reference('distance_predicate')),\r\n flags: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n is_on_fire: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n is_sneaking: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n is_sprinting: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n is_swimming: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n is_baby: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n })),\r\n equipment: (0, core_1.Opt)((0, core_1.MapNode)(StringNode({ enum: 'slot' }), Reference('item_predicate'))),\r\n vehicle: (0, core_1.Opt)(Reference('entity_predicate')),\r\n passenger: (0, core_1.Opt)(Reference('entity_predicate')),\r\n targeted_entity: (0, core_1.Opt)(Reference('entity_predicate')),\r\n player: (0, core_1.Opt)(Reference('player_predicate')),\r\n lightning_bolt: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n blocks_set_on_fire: (0, core_1.Opt)(Reference('int_bounds')),\r\n entity_struck: (0, core_1.Opt)(Reference('entity_predicate'))\r\n })),\r\n fishing_hook: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n in_open_water: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n })),\r\n catType: (0, core_1.Opt)(StringNode({ enum: 'cat_texture' })),\r\n effects: (0, core_1.Opt)((0, core_1.MapNode)(StringNode({ validator: 'resource', params: { pool: 'mob_effect' } }), Reference('status_effect_predicate')))\r\n }, { context: 'entity' }));\r\n schemas.register('damage_source_predicate', (0, core_1.ObjectNode)({\r\n is_explosion: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n is_fire: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n is_magic: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n is_projectile: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n is_lightning: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n bypasses_armor: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n bypasses_invulnerability: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n bypasses_magic: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n source_entity: (0, core_1.Opt)(Reference('entity_predicate')),\r\n direct_entity: (0, core_1.Opt)(Reference('entity_predicate'))\r\n }, { context: 'damage_source' }));\r\n schemas.register('damage_predicate', (0, core_1.ObjectNode)({\r\n dealt: Reference('float_bounds'),\r\n taken: Reference('float_bounds'),\r\n blocked: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n source_entity: (0, core_1.Opt)(Reference('entity_predicate')),\r\n type: (0, core_1.Opt)(Reference('damage_source_predicate'))\r\n }, { context: 'damage' }));\r\n}\r\nexports.initPredicatesSchemas = initPredicatesSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initRecipeSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initRecipeSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('recipe', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'recipe_serializer' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:crafting_shaped': {\r\n group: (0, core_1.Opt)(StringNode({ enum: 'recipe_group', additional: true })),\r\n pattern: (0, core_1.ListNode)(StringNode()),\r\n key: (0, core_1.MapNode)(StringNode(), // TODO: add validation\r\n Reference('recipe_ingredient')),\r\n result: Reference('recipe_result')\r\n },\r\n 'minecraft:crafting_shapeless': {\r\n group: (0, core_1.Opt)(StringNode()),\r\n ingredients: (0, core_1.ListNode)(Reference('recipe_ingredient')),\r\n result: Reference('recipe_result')\r\n },\r\n 'minecraft:smelting': {\r\n group: (0, core_1.Opt)(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n experience: (0, core_1.Opt)((0, core_1.NumberNode)()),\r\n cookingtime: (0, core_1.Opt)((0, core_1.Mod)((0, core_1.NumberNode)({ integer: true }), { default: () => 200 }))\r\n },\r\n 'minecraft:blasting': {\r\n group: (0, core_1.Opt)(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n experience: (0, core_1.Opt)((0, core_1.NumberNode)()),\r\n cookingtime: (0, core_1.Opt)((0, core_1.Mod)((0, core_1.NumberNode)({ integer: true }), { default: () => 100 }))\r\n },\r\n 'minecraft:smoking': {\r\n group: (0, core_1.Opt)(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n experience: (0, core_1.Opt)((0, core_1.NumberNode)()),\r\n cookingtime: (0, core_1.Opt)((0, core_1.Mod)((0, core_1.NumberNode)({ integer: true }), { default: () => 100 }))\r\n },\r\n 'minecraft:campfire_cooking': {\r\n group: (0, core_1.Opt)(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n experience: (0, core_1.Opt)((0, core_1.NumberNode)()),\r\n cookingtime: (0, core_1.Opt)((0, core_1.Mod)((0, core_1.NumberNode)({ integer: true }), { default: () => 100 }))\r\n },\r\n 'minecraft:stonecutting': {\r\n group: (0, core_1.Opt)(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n count: (0, core_1.NumberNode)({ integer: true })\r\n },\r\n 'minecraft:smithing': {\r\n group: (0, core_1.Opt)(StringNode()),\r\n base: Reference('recipe_ingredient_object'),\r\n addition: Reference('recipe_ingredient_object'),\r\n result: Reference('recipe_result')\r\n }\r\n }\r\n }, { context: 'recipe', disableSwitchContext: true }), {\r\n default: () => ({\r\n type: 'minecraft:crafting_shaped'\r\n })\r\n }));\r\n schemas.register('recipe_ingredient', (0, core_1.Mod)((0, core_1.ChoiceNode)([\r\n {\r\n type: 'object',\r\n node: Reference('recipe_ingredient_object'),\r\n change: v => v[0]\r\n },\r\n {\r\n type: 'list',\r\n node: (0, core_1.ListNode)(Reference('recipe_ingredient_object')),\r\n change: v => [v]\r\n }\r\n ]), {\r\n default: () => ({\r\n item: 'minecraft:stone'\r\n })\r\n }));\r\n schemas.register('recipe_ingredient_object', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n item: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: 'item' } })),\r\n tag: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$tag/item' } }))\r\n }), {\r\n default: () => ({\r\n item: 'minecraft:stone'\r\n })\r\n }));\r\n schemas.register('recipe_result', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n item: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n count: (0, core_1.Opt)((0, core_1.Mod)((0, core_1.NumberNode)({ integer: true }), { default: () => 1 }))\r\n }), {\r\n default: () => ({\r\n item: 'minecraft:stone'\r\n })\r\n }));\r\n}\r\nexports.initRecipeSchemas = initRecipeSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initTagsSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initTagsSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const TagBase = (type) => (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n replace: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n values: (0, core_1.ListNode)((0, core_1.ChoiceNode)([\r\n {\r\n type: 'string',\r\n node: StringNode({ validator: 'resource', params: { pool: type, allowTag: true } }),\r\n change: v => v.id\r\n },\r\n {\r\n type: 'object',\r\n node: (0, core_1.ObjectNode)({\r\n id: StringNode({ validator: 'resource', params: { pool: type, allowTag: true, allowUnknown: true } }),\r\n required: (0, core_1.BooleanNode)()\r\n }),\r\n change: v => ({ id: v })\r\n }\r\n ])),\r\n }, { context: 'tag' }), {\r\n default: () => ({\r\n values: []\r\n })\r\n });\r\n schemas.register('block_tag', TagBase('block'));\r\n schemas.register('entity_type_tag', TagBase('entity_type'));\r\n schemas.register('fluid_tag', TagBase('fluid'));\r\n schemas.register('function_tag', TagBase('$function'));\r\n schemas.register('game_event_tag', TagBase('game_event'));\r\n schemas.register('item_tag', TagBase('item'));\r\n}\r\nexports.initTagsSchemas = initTagsSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initTextComponentSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initTextComponentSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const getSimpleString = (v) => { var _a; return v instanceof Array ? getSimpleString(v[0]) : (_a = v === null || v === void 0 ? void 0 : v.text) !== null && _a !== void 0 ? _a : (typeof v === 'object' ? '' : v === null || v === void 0 ? void 0 : v.toString()); };\r\n schemas.register('text_component', (0, core_1.Mod)((0, core_1.ChoiceNode)([\r\n {\r\n type: 'object',\r\n node: Reference('text_component_object'),\r\n change: v => v instanceof Array ? (typeof v[0] === 'object' ? v[0] : { text: getSimpleString(v[0]) }) : typeof v === 'object' ? v : { text: getSimpleString(v) }\r\n },\r\n {\r\n type: 'list',\r\n node: Reference('text_component_list'),\r\n change: v => [v]\r\n },\r\n {\r\n type: 'string',\r\n priority: 1,\r\n node: StringNode(),\r\n change: getSimpleString\r\n },\r\n {\r\n type: 'number',\r\n node: (0, core_1.NumberNode)(),\r\n change: v => {\r\n const n = parseFloat(getSimpleString(v));\r\n return isFinite(n) ? n : (!!v ? 1 : 0);\r\n }\r\n },\r\n {\r\n type: 'boolean',\r\n node: (0, core_1.BooleanNode)(),\r\n change: v => {\r\n const s = getSimpleString(v);\r\n return s === 'true' || s === 'false' ? s === 'true' : !!s;\r\n }\r\n }\r\n ], { context: 'text_component' }), {\r\n default: () => ({\r\n text: \"\"\r\n })\r\n }));\r\n const CommonFields = {\r\n color: (0, core_1.Opt)(StringNode()) /* TODO */,\r\n font: (0, core_1.Opt)(StringNode()),\r\n bold: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n italic: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n underlined: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n strikethrough: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n obfuscated: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n insertion: (0, core_1.Opt)(StringNode()),\r\n clickEvent: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n action: StringNode({ enum: ['open_url', 'open_file', 'run_command', 'suggest_command', 'change_page', 'copy_to_clipboard'] }),\r\n [core_1.Switch]: [{ push: 'action' }],\r\n [core_1.Case]: {\r\n 'change_page': {\r\n value: StringNode()\r\n },\r\n 'copy_to_clipboard': {\r\n value: StringNode()\r\n },\r\n 'open_file': {\r\n value: StringNode()\r\n },\r\n 'open_url': {\r\n value: StringNode()\r\n },\r\n 'run_command': {\r\n value: StringNode({ validator: 'command', params: { leadingSlash: true, allowPartial: true } })\r\n },\r\n 'suggest_command': {\r\n value: StringNode({ validator: 'command', params: { leadingSlash: true, allowPartial: true } })\r\n }\r\n }\r\n })),\r\n hoverEvent: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n action: StringNode({ enum: ['show_text', 'show_item', 'show_entity'] }),\r\n [core_1.Switch]: [{ push: 'action' }],\r\n [core_1.Case]: {\r\n 'show_text': {\r\n value: (0, core_1.Opt)(Reference('text_component')),\r\n contents: (0, core_1.Opt)(Reference('text_component'))\r\n },\r\n 'show_item': {\r\n value: (0, core_1.Opt)(StringNode({ validator: 'nbt', params: { module: 'util::InventoryItem' } })),\r\n contents: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n id: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n count: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n tag: (0, core_1.Opt)(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:item', id: ['pop', { push: 'id' }] } } }))\r\n }))\r\n },\r\n 'show_entity': {\r\n value: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n name: (0, core_1.Opt)(StringNode()),\r\n type: (0, core_1.Opt)(StringNode()),\r\n id: (0, core_1.Opt)(StringNode())\r\n })),\r\n contents: (0, core_1.Opt)((0, core_1.Mod)((0, core_1.ObjectNode)({\r\n name: (0, core_1.Opt)(Reference('text_component')),\r\n type: StringNode({ validator: 'resource', params: { pool: 'entity_type' } }),\r\n id: StringNode({ validator: 'uuid' })\r\n }), {\r\n default: () => ({\r\n type: 'minecraft:pig',\r\n id: '00000001-0001-0001-0001-000000000001'\r\n })\r\n }))\r\n }\r\n }\r\n })),\r\n extra: (0, core_1.Opt)(Reference('text_component_list'))\r\n };\r\n schemas.register('text_component_object', (0, core_1.Mod)((0, core_1.ChoiceNode)([\r\n {\r\n type: 'text',\r\n match: v => typeof v === 'object',\r\n change: v => ({ text: '' }),\r\n priority: -1,\r\n node: (0, core_1.ObjectNode)({\r\n text: StringNode(),\r\n ...CommonFields\r\n })\r\n },\r\n {\r\n type: 'translation',\r\n match: v => (v === null || v === void 0 ? void 0 : v.translate) !== undefined,\r\n change: v => ({ translate: '' }),\r\n node: (0, core_1.ObjectNode)({\r\n translate: StringNode(),\r\n with: (0, core_1.Opt)(Reference('text_component_list')),\r\n ...CommonFields\r\n })\r\n },\r\n {\r\n type: 'score',\r\n match: v => (v === null || v === void 0 ? void 0 : v.score) !== undefined,\r\n change: v => ({ score: {} }),\r\n node: (0, core_1.ObjectNode)({\r\n score: (0, core_1.ObjectNode)({\r\n name: StringNode({ validator: 'entity', params: { amount: 'single', type: 'entities', isScoreHolder: true } }),\r\n objective: StringNode({ validator: 'objective' }),\r\n value: (0, core_1.Opt)(StringNode())\r\n }),\r\n ...CommonFields\r\n })\r\n },\r\n {\r\n type: 'selector',\r\n match: v => (v === null || v === void 0 ? void 0 : v.selector) !== undefined,\r\n change: v => ({ selector: '' }),\r\n node: (0, core_1.ObjectNode)({\r\n selector: StringNode({ validator: 'entity', params: { amount: 'multiple', type: 'entities' } }),\r\n separator: (0, core_1.Opt)(Reference('text_component')),\r\n ...CommonFields\r\n })\r\n },\r\n {\r\n type: 'keybind',\r\n match: v => (v === null || v === void 0 ? void 0 : v.keybind) !== undefined,\r\n change: v => ({ keybind: '' }),\r\n node: (0, core_1.ObjectNode)({\r\n keybind: StringNode({ enum: 'keybind', additional: true }),\r\n ...CommonFields\r\n })\r\n },\r\n {\r\n type: 'nbt',\r\n match: v => (v === null || v === void 0 ? void 0 : v.nbt) !== undefined,\r\n change: v => ({ nbt: '' }),\r\n node: (0, core_1.ObjectNode)({\r\n nbt: StringNode({ validator: 'nbt_path' }),\r\n block: (0, core_1.Opt)(StringNode({ validator: 'vector', params: { dimension: 3, isInteger: true } })),\r\n entity: (0, core_1.Opt)(StringNode({ validator: 'entity', params: { amount: 'multiple', type: 'entities' } })),\r\n storage: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$storage' } })),\r\n interpret: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n separator: (0, core_1.Opt)(Reference('text_component')),\r\n ...CommonFields\r\n })\r\n }\r\n ], { context: 'text_component_object', choiceContext: 'text_component.object' }), {\r\n default: () => ({\r\n text: \"\"\r\n })\r\n }));\r\n schemas.register('text_component_list', (0, core_1.Mod)((0, core_1.ListNode)(Reference('text_component')), {\r\n default: () => [{\r\n text: \"\"\r\n }]\r\n }));\r\n}\r\nexports.initTextComponentSchemas = initTextComponentSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initBiomeSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initBiomeSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('biome', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n temperature: (0, core_1.NumberNode)(),\r\n downfall: (0, core_1.NumberNode)(),\r\n precipitation: StringNode({ enum: ['none', 'rain', 'snow'] }),\r\n temperature_modifier: (0, core_1.Opt)(StringNode({ enum: ['none', 'frozen'] })),\r\n category: StringNode({ enum: 'biome_category' }),\r\n creature_spawn_probability: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 1 })),\r\n effects: (0, core_1.ObjectNode)({\r\n sky_color: (0, core_1.NumberNode)({ color: true }),\r\n fog_color: (0, core_1.NumberNode)({ color: true }),\r\n water_color: (0, core_1.NumberNode)({ color: true }),\r\n water_fog_color: (0, core_1.NumberNode)({ color: true }),\r\n grass_color: (0, core_1.Opt)((0, core_1.NumberNode)({ color: true })),\r\n foliage_color: (0, core_1.Opt)((0, core_1.NumberNode)({ color: true })),\r\n grass_color_modifier: (0, core_1.Opt)(StringNode({ enum: ['none', 'dark_forest', 'swamp'] })),\r\n ambient_sound: (0, core_1.Opt)(StringNode()),\r\n mood_sound: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n sound: StringNode(),\r\n tick_delay: (0, core_1.NumberNode)({ integer: true }),\r\n block_search_extent: (0, core_1.NumberNode)({ integer: true }),\r\n offset: (0, core_1.NumberNode)()\r\n })),\r\n additions_sound: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n sound: StringNode(),\r\n tick_chance: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n })),\r\n music: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n sound: StringNode(),\r\n min_delay: (0, core_1.NumberNode)({ integer: true, min: 0 }),\r\n max_delay: (0, core_1.NumberNode)({ integer: true, min: 0 }),\r\n replace_current_music: (0, core_1.BooleanNode)()\r\n })),\r\n particle: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n options: (0, core_1.ObjectNode)({\r\n type: StringNode()\r\n }),\r\n probability: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n }))\r\n }),\r\n spawners: (0, core_1.MapNode)(StringNode({ enum: [\r\n 'monster',\r\n 'creature',\r\n 'ambient',\r\n 'axolotls',\r\n 'underground_water_creature',\r\n 'water_creature',\r\n 'water_ambient',\r\n 'misc'\r\n ] }), (0, core_1.Mod)((0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'entity_type' } }),\r\n weight: (0, core_1.NumberNode)({ integer: true }),\r\n minCount: (0, core_1.NumberNode)({ integer: true }),\r\n maxCount: (0, core_1.NumberNode)({ integer: true })\r\n })), {\r\n category: () => 'pool',\r\n default: () => [{\r\n type: 'minecraft:bat',\r\n weight: 1\r\n }]\r\n })),\r\n spawn_costs: (0, core_1.MapNode)(StringNode({ validator: 'resource', params: { pool: 'entity_type' } }), (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n energy_budget: (0, core_1.NumberNode)(),\r\n charge: (0, core_1.NumberNode)()\r\n }, { category: 'function' }), {\r\n default: () => ({\r\n energy_budget: 0.12,\r\n charge: 1.0\r\n })\r\n })),\r\n carvers: (0, core_1.MapNode)(StringNode({ enum: ['air', 'liquid'] }), (0, core_1.Mod)((0, core_1.ListNode)(StringNode({ validator: 'resource', params: { pool: '$worldgen/configured_carver' } })), {\r\n default: () => ['minecraft:cave']\r\n })),\r\n features: (0, core_1.ListNode)((0, core_1.Mod)((0, core_1.ListNode)(StringNode({ validator: 'resource', params: { pool: '$worldgen/placed_feature' } })), { category: () => 'predicate' }), { maxLength: 11 })\r\n }, { context: 'biome' }), {\r\n default: () => ({\r\n temperature: 0.8,\r\n downfall: 0.4,\r\n precipitation: 'rain',\r\n category: 'plains',\r\n effects: {\r\n sky_color: 7907327,\r\n fog_color: 12638463,\r\n water_color: 4159204,\r\n water_fog_color: 329011\r\n }\r\n })\r\n }));\r\n}\r\nexports.initBiomeSchemas = initBiomeSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initCarverSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"../Common\");\r\nfunction initCarverSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const CanyonConfig = {\r\n vertical_rotation: (0, Common_1.FloatProvider)(),\r\n shape: (0, core_1.ObjectNode)({\r\n distance_factor: (0, Common_1.FloatProvider)(),\r\n thickness: (0, Common_1.FloatProvider)(),\r\n width_smoothness: (0, core_1.NumberNode)({ integer: true, min: 0 }),\r\n horizontal_radius_factor: (0, Common_1.FloatProvider)(),\r\n vertical_radius_default_factor: (0, core_1.NumberNode)(),\r\n vertical_radius_center_factor: (0, core_1.NumberNode)()\r\n })\r\n };\r\n const CaveConfig = {\r\n horizontal_radius_multiplier: (0, Common_1.FloatProvider)(),\r\n vertical_radius_multiplier: (0, Common_1.FloatProvider)(),\r\n floor_level: (0, Common_1.FloatProvider)({ min: -1, max: 1 }),\r\n };\r\n schemas.register('configured_carver', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/carver' } }),\r\n config: (0, core_1.ObjectNode)({\r\n probability: (0, core_1.NumberNode)({ min: 0, max: 1 }),\r\n y: Reference('height_provider'),\r\n yScale: (0, Common_1.FloatProvider)(),\r\n lava_level: Reference('vertical_anchor'),\r\n debug_settings: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n debug_mode: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n air_state: (0, core_1.Opt)(Reference('block_state')),\r\n water_state: (0, core_1.Opt)(Reference('block_state')),\r\n lava_state: (0, core_1.Opt)(Reference('block_state')),\r\n barrier_state: (0, core_1.Opt)(Reference('block_state'))\r\n })),\r\n [core_1.Switch]: ['pop', { push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:canyon': CanyonConfig,\r\n 'minecraft:cave': CaveConfig,\r\n 'minecraft:nether_cave': CaveConfig\r\n },\r\n })\r\n }, { context: 'carver' }), {\r\n default: () => ({\r\n type: 'minecraft:cave',\r\n config: {\r\n probability: 0.1\r\n }\r\n })\r\n }));\r\n}\r\nexports.initCarverSchemas = initCarverSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initDecoratorSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"../Common\");\r\nfunction initDecoratorSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('decorator', (0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/placement_modifier_type' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:block_predicate_filter': {\r\n predicate: Reference('block_predicate_worldgen')\r\n },\r\n 'minecraft:carving_mask': {\r\n step: StringNode({ enum: 'generation_step' })\r\n },\r\n 'minecraft:rarity_filter': {\r\n chance: (0, core_1.NumberNode)({ integer: true, min: 0 })\r\n },\r\n 'minecraft:count': {\r\n count: (0, Common_1.IntProvider)({ min: 0, max: 256 })\r\n },\r\n 'minecraft:count_on_every_layer': {\r\n count: (0, Common_1.IntProvider)({ min: 0, max: 256 })\r\n },\r\n 'minecraft:noise_threshold_count': {\r\n noise_level: (0, core_1.NumberNode)(),\r\n below_noise: (0, core_1.NumberNode)({ integer: true }),\r\n above_noise: (0, core_1.NumberNode)({ integer: true })\r\n },\r\n 'minecraft:noise_based_count': {\r\n noise_to_count_ratio: (0, core_1.NumberNode)({ integer: true }),\r\n noise_factor: (0, core_1.NumberNode)(),\r\n noise_offset: (0, core_1.Opt)((0, core_1.NumberNode)())\r\n },\r\n 'minecraft:environment_scan': {\r\n direction_of_search: StringNode({ enum: ['up', 'down'] }),\r\n max_steps: (0, core_1.NumberNode)({ integer: true, min: 1, max: 32 }),\r\n target_condition: Reference('block_predicate_worldgen'),\r\n allowed_search_condition: (0, core_1.Opt)(Reference('block_predicate_worldgen'))\r\n },\r\n 'minecraft:heightmap': {\r\n heightmap: StringNode({ enum: 'heightmap_type' })\r\n },\r\n 'minecraft:height_range': {\r\n height: Reference('height_provider')\r\n },\r\n 'minecraft:random_offset': {\r\n xz_spread: (0, Common_1.IntProvider)({ min: -16, max: 16 }),\r\n y_spread: (0, Common_1.IntProvider)({ min: -16, max: 16 }),\r\n },\r\n 'minecraft:surface_relative_threshold_filter': {\r\n heightmap: StringNode({ enum: 'heightmap_type' }),\r\n min_inclusive: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n max_inclusive: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true }))\r\n },\r\n 'minecraft:surface_water_depth_filter': {\r\n max_water_depth: (0, core_1.NumberNode)({ integer: true })\r\n }\r\n }\r\n }, { context: 'decorator', category: 'predicate' }));\r\n}\r\nexports.initDecoratorSchemas = initDecoratorSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initProcessorListSchemas = exports.Processors = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initProcessorListSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n exports.Processors = (0, core_1.ChoiceNode)([\r\n {\r\n type: 'string',\r\n node: StringNode({ validator: 'resource', params: { pool: '$worldgen/processor_list' } }),\r\n change: v => undefined\r\n },\r\n {\r\n type: 'object',\r\n node: Reference('processor_list'),\r\n change: v => ({\r\n processors: [{\r\n \"processor_type\": \"minecraft:nop\"\r\n }]\r\n })\r\n }\r\n ]);\r\n schemas.register('processor_list', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n processors: (0, core_1.ListNode)(Reference('processor'))\r\n }, { context: 'processor_list' }), {\r\n default: () => ({\r\n processors: [{\r\n processor_type: 'minecraft:rule',\r\n rules: [{\r\n location_predicate: {\r\n predicate_type: 'minecraft:always_true'\r\n },\r\n input_predicate: {\r\n predicate_type: 'minecraft:always_true'\r\n }\r\n }]\r\n }]\r\n })\r\n }));\r\n schemas.register('processor', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n processor_type: StringNode({ validator: 'resource', params: { pool: 'worldgen/structure_processor' } }),\r\n [core_1.Switch]: [{ push: 'processor_type' }],\r\n [core_1.Case]: {\r\n 'minecraft:block_age': {\r\n mossiness: (0, core_1.NumberNode)()\r\n },\r\n 'minecraft:block_ignore': {\r\n blocks: (0, core_1.ListNode)(Reference('block_state'))\r\n },\r\n 'minecraft:block_rot': {\r\n integrity: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n },\r\n 'minecraft:gravity': {\r\n heightmap: StringNode({ enum: 'heightmap_type' }),\r\n offset: (0, core_1.NumberNode)({ integer: true })\r\n },\r\n 'minecraft:protected_blocks': {\r\n value: StringNode({ validator: 'resource', params: { pool: '$tag/block' } })\r\n },\r\n 'minecraft:rule': {\r\n rules: (0, core_1.ListNode)(Reference('processor_rule'))\r\n }\r\n }\r\n }, { category: 'function', context: 'processor' }), {\r\n default: () => ({\r\n processor_type: 'minecraft:rule',\r\n rules: [{\r\n location_predicate: {\r\n predicate_type: 'minecraft:always_true'\r\n },\r\n input_predicate: {\r\n predicate_type: 'minecraft:always_true'\r\n }\r\n }]\r\n })\r\n }));\r\n schemas.register('processor_rule', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n position_predicate: (0, core_1.Opt)(Reference('pos_rule_test')),\r\n location_predicate: Reference('rule_test'),\r\n input_predicate: Reference('rule_test'),\r\n output_state: Reference('block_state'),\r\n output_nbt: (0, core_1.Opt)(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:block' } } }))\r\n }, { category: 'predicate', context: 'processor_rule' }), {\r\n default: () => ({\r\n location_predicate: {\r\n predicate_type: 'minecraft:always_true'\r\n },\r\n input_predicate: {\r\n predicate_type: 'minecraft:always_true'\r\n }\r\n })\r\n }));\r\n const posTestFields = {\r\n min_dist: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 255, integer: true })),\r\n max_dist: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 255, integer: true })),\r\n min_chance: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 1 })),\r\n max_chance: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 1 }))\r\n };\r\n schemas.register('pos_rule_test', (0, core_1.ObjectNode)({\r\n predicate_type: StringNode({ validator: 'resource', params: { pool: 'pos_rule_test' } }),\r\n [core_1.Switch]: [{ push: 'predicate_type' }],\r\n [core_1.Case]: {\r\n 'minecraft:axis_aligned_linear_pos': {\r\n axis: StringNode({ enum: ['x', 'y', 'z'] }),\r\n ...posTestFields\r\n },\r\n 'minecraft:linear_pos': posTestFields\r\n }\r\n }, { context: 'pos_rule_test', disableSwitchContext: true }));\r\n schemas.register('rule_test', (0, core_1.ObjectNode)({\r\n predicate_type: StringNode({ validator: 'resource', params: { pool: 'rule_test' } }),\r\n [core_1.Switch]: [{ push: 'predicate_type' }],\r\n [core_1.Case]: {\r\n 'minecraft:block_match': {\r\n block: StringNode({ validator: 'resource', params: { pool: 'block' } })\r\n },\r\n 'minecraft:blockstate_match': {\r\n block_state: Reference('block_state')\r\n },\r\n 'minecraft:random_block_match': {\r\n block: StringNode({ validator: 'resource', params: { pool: 'block' } }),\r\n probability: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n },\r\n 'minecraft:random_blockstate_match': {\r\n block_state: Reference('block_state'),\r\n probability: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n },\r\n 'minecraft:tag_match': {\r\n tag: StringNode({ validator: 'resource', params: { pool: '$tag/block' } })\r\n }\r\n }\r\n }, { context: 'rule_test', disableSwitchContext: true }));\r\n}\r\nexports.initProcessorListSchemas = initProcessorListSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initFeatureSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"../Common\");\r\nrequire(\"./Decorator\");\r\nrequire(\"./ProcessorList\");\r\nconst ProcessorList_1 = require(\"./ProcessorList\");\r\nfunction initFeatureSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const ConfiguredFeature = (0, core_1.ChoiceNode)([\r\n {\r\n type: 'string',\r\n node: StringNode({ validator: 'resource', params: { pool: '$worldgen/configured_feature' } })\r\n },\r\n {\r\n type: 'object',\r\n node: Reference('configured_feature')\r\n }\r\n ], { choiceContext: 'feature' });\r\n const PlacedFeature = (0, core_1.ChoiceNode)([\r\n {\r\n type: 'string',\r\n node: StringNode({ validator: 'resource', params: { pool: '$worldgen/placed_feature' } })\r\n },\r\n {\r\n type: 'object',\r\n node: Reference('placed_feature')\r\n }\r\n ], { choiceContext: 'placed_feature' });\r\n const RandomPatchConfig = {\r\n tries: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 1 })),\r\n xz_spread: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 0 })),\r\n y_spread: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 0 })),\r\n feature: PlacedFeature,\r\n };\r\n const DiskConfig = {\r\n state: Reference('block_state'),\r\n radius: (0, Common_1.IntProvider)({ min: 0, max: 8 }),\r\n half_height: (0, core_1.NumberNode)({ integer: true, min: 0, max: 4 }),\r\n targets: (0, core_1.ListNode)(Reference('block_state'))\r\n };\r\n const HugeMushroomConfig = {\r\n cap_provider: Reference('block_state_provider'),\r\n stem_provider: Reference('block_state_provider'),\r\n foliage_radius: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true }))\r\n };\r\n const TargetBlockState = (0, core_1.ObjectNode)({\r\n target: Reference('rule_test'),\r\n state: Reference('block_state')\r\n });\r\n const OreConfig = {\r\n size: (0, core_1.NumberNode)({ integer: true, min: 0, max: 64 }),\r\n discard_chance_on_air_exposure: (0, core_1.NumberNode)({ min: 0, max: 1 }),\r\n targets: (0, core_1.ListNode)(TargetBlockState)\r\n };\r\n const VegetationPatchConfig = {\r\n surface: StringNode({ enum: 'cave_surface' }),\r\n depth: (0, Common_1.IntProvider)({ min: 1, max: 128 }),\r\n vertical_range: (0, core_1.NumberNode)({ integer: true, min: 1, max: 256 }),\r\n extra_bottom_block_chance: (0, core_1.NumberNode)({ min: 0, max: 1 }),\r\n extra_edge_column_chance: (0, core_1.NumberNode)({ min: 0, max: 1 }),\r\n vegetation_chance: (0, core_1.NumberNode)({ min: 0, max: 1 }),\r\n xz_radius: (0, Common_1.IntProvider)(),\r\n replaceable: StringNode({ validator: 'resource', params: { pool: '$tag/block' } }),\r\n ground_state: Reference('block_state_provider'),\r\n vegetation_feature: PlacedFeature\r\n };\r\n schemas.register('configured_feature', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/feature' } }),\r\n config: (0, core_1.ObjectNode)({\r\n [core_1.Switch]: ['pop', { push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:bamboo': {\r\n probability: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n },\r\n 'minecraft:basalt_columns': {\r\n reach: (0, Common_1.IntProvider)({ min: 0, max: 3 }),\r\n height: (0, Common_1.IntProvider)({ min: 1, max: 10 })\r\n },\r\n 'minecraft:block_column': {\r\n direction: StringNode({ enum: ['up', 'down', 'north', 'east', 'south', 'west'] }),\r\n allowed_placement: Reference('block_predicate_worldgen'),\r\n prioritize_tip: (0, core_1.BooleanNode)(),\r\n layers: (0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n height: (0, Common_1.IntProvider)({ min: 0 }),\r\n provider: Reference('block_state_provider')\r\n }))\r\n },\r\n 'minecraft:block_pile': {\r\n state_provider: Reference('block_state_provider')\r\n },\r\n 'minecraft:delta_feature': {\r\n contents: Reference('block_state'),\r\n rim: Reference('block_state'),\r\n size: (0, Common_1.IntProvider)({ min: 0, max: 16 }),\r\n rim_size: (0, Common_1.IntProvider)({ min: 0, max: 16 })\r\n },\r\n 'minecraft:disk': DiskConfig,\r\n 'minecraft:dripstone_cluster': {\r\n floor_to_ceiling_search_range: (0, core_1.NumberNode)({ integer: true, min: 1, max: 512 }),\r\n height: (0, Common_1.IntProvider)({ min: 0, max: 128 }),\r\n radius: (0, Common_1.IntProvider)({ min: 0, max: 128 }),\r\n max_stalagmite_stalactite_height_diff: (0, core_1.NumberNode)({ integer: true, min: 0, max: 64 }),\r\n height_deviation: (0, core_1.NumberNode)({ integer: true, min: 1, max: 64 }),\r\n dripstone_block_layer_thickness: (0, Common_1.IntProvider)({ min: 0, max: 128 }),\r\n density: (0, Common_1.FloatProvider)({ min: 0, max: 2 }),\r\n wetness: (0, Common_1.FloatProvider)({ min: 0, max: 2 }),\r\n chance_of_dripstone_column_at_max_distance_from_center: (0, core_1.NumberNode)({ min: 0, max: 1 }),\r\n max_distance_from_edge_affecting_chance_of_dripstone_column: (0, core_1.NumberNode)({ integer: true, min: 1, max: 64 }),\r\n max_distance_from_center_affecting_height_bias: (0, core_1.NumberNode)({ integer: true, min: 1, max: 64 })\r\n },\r\n 'minecraft:end_gateway': {\r\n exact: (0, core_1.BooleanNode)(),\r\n exit: (0, core_1.Opt)(Reference('block_pos'))\r\n },\r\n 'minecraft:end_spike': {\r\n crystal_invulnerable: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n crystal_beam_target: (0, core_1.Opt)(Reference('block_pos')),\r\n spikes: (0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n centerX: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n centerZ: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n radius: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n height: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n guarded: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n }))\r\n },\r\n 'minecraft:fill_layer': {\r\n state: Reference('block_state'),\r\n height: (0, core_1.NumberNode)({ integer: true, min: 0, max: 255 })\r\n },\r\n 'minecraft:flower': RandomPatchConfig,\r\n 'minecraft:forest_rock': {\r\n state: Reference('block_state')\r\n },\r\n 'minecraft:fossil': {\r\n max_empty_corners_allowed: (0, core_1.NumberNode)({ integer: true, min: 0, max: 7 }),\r\n fossil_structures: (0, core_1.ListNode)(StringNode({ validator: 'resource', params: { pool: '$structure' } })),\r\n overlay_structures: (0, core_1.ListNode)(StringNode({ validator: 'resource', params: { pool: '$structure' } })),\r\n fossil_processors: ProcessorList_1.Processors,\r\n overlay_processors: ProcessorList_1.Processors,\r\n },\r\n 'minecraft:geode': {\r\n blocks: (0, core_1.ObjectNode)({\r\n filling_provider: Reference('block_state_provider'),\r\n inner_layer_provider: Reference('block_state_provider'),\r\n alternate_inner_layer_provider: Reference('block_state_provider'),\r\n middle_layer_provider: Reference('block_state_provider'),\r\n outer_layer_provider: Reference('block_state_provider'),\r\n inner_placements: (0, core_1.ListNode)(Reference('block_state')),\r\n cannot_replace: StringNode({ validator: 'resource', params: { pool: '$tag/block' } }),\r\n invalid_blocks: StringNode({ validator: 'resource', params: { pool: '$tag/block' } })\r\n }),\r\n layers: (0, core_1.ObjectNode)({\r\n filling: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0.01, max: 50 })),\r\n inner_layer: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0.01, max: 50 })),\r\n middle_layer: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0.01, max: 50 })),\r\n outer_layer: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0.01, max: 50 })),\r\n }),\r\n crack: (0, core_1.ObjectNode)({\r\n generate_crack_chance: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 1 })),\r\n base_crack_size: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 5 })),\r\n crack_point_offset: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 10 })),\r\n }),\r\n noise_multiplier: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 1 })),\r\n use_potential_placements_chance: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 1 })),\r\n use_alternate_layer0_chance: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 1 })),\r\n placements_require_layer0_alternate: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n outer_wall_distance: (0, core_1.Opt)((0, Common_1.IntProvider)({ min: 1, max: 20 })),\r\n distribution_points: (0, core_1.Opt)((0, Common_1.IntProvider)({ min: 1, max: 20 })),\r\n point_offset: (0, core_1.Opt)((0, Common_1.IntProvider)({ min: 0, max: 10 })),\r\n min_gen_offset: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n max_gen_offset: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n invalid_blocks_threshold: (0, core_1.NumberNode)({ integer: true })\r\n },\r\n 'minecraft:glow_lichen': {\r\n search_range: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 1, max: 64, integer: true })),\r\n chance_of_spreading: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 1 })),\r\n can_place_on_floor: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n can_place_on_ceiling: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n can_place_on_wall: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n can_be_placed_on: (0, core_1.ListNode)(StringNode({ validator: 'resource', params: { pool: 'block' } }))\r\n },\r\n 'minecraft:huge_brown_mushroom': HugeMushroomConfig,\r\n 'minecraft:huge_fungus': {\r\n hat_state: Reference('block_state'),\r\n decor_state: Reference('block_state'),\r\n stem_state: Reference('block_state'),\r\n valid_base_block: Reference('block_state'),\r\n planted: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n },\r\n 'minecraft:huge_red_mushroom': HugeMushroomConfig,\r\n 'minecraft:ice_patch': DiskConfig,\r\n 'minecraft:iceberg': {\r\n state: Reference('block_state')\r\n },\r\n 'minecraft:lake': {\r\n fluid: Reference('block_state_provider'),\r\n barrier: Reference('block_state_provider')\r\n },\r\n 'minecraft:large_dripstone': {\r\n floor_to_ceiling_search_range: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 1, max: 512 })),\r\n column_radius: (0, Common_1.IntProvider)({ min: 0, max: 60 }),\r\n height_scale: (0, Common_1.FloatProvider)({ min: 0, max: 20 }),\r\n max_column_radius_to_cave_height_ratio: (0, core_1.NumberNode)({ min: 0, max: 1 }),\r\n stalactite_bluntness: (0, Common_1.FloatProvider)({ min: 0.1, max: 10 }),\r\n stalagmite_bluntness: (0, Common_1.FloatProvider)({ min: 0.1, max: 10 }),\r\n wind_speed: (0, Common_1.FloatProvider)({ min: 0, max: 2 }),\r\n min_radius_for_wind: (0, core_1.NumberNode)({ integer: true, min: 0, max: 100 }),\r\n min_bluntness_for_wind: (0, core_1.NumberNode)({ min: 0, max: 5 })\r\n },\r\n 'minecraft:nether_forest_vegetation': {\r\n state_provider: Reference('block_state_provider'),\r\n spread_width: (0, core_1.NumberNode)({ integer: true, min: 1 }),\r\n spread_height: (0, core_1.NumberNode)({ integer: true, min: 1 })\r\n },\r\n 'minecraft:netherrack_replace_blobs': {\r\n state: Reference('block_state'),\r\n target: Reference('block_state'),\r\n radius: (0, Common_1.IntProvider)({ min: 0, max: 12 })\r\n },\r\n 'minecraft:no_bonemeal_flower': RandomPatchConfig,\r\n 'minecraft:ore': OreConfig,\r\n 'minecraft:pointed_dripstone': {\r\n chance_of_taller_dripstone: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 1 })),\r\n chance_of_directional_spread: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 1 })),\r\n chance_of_spread_radius2: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 1 })),\r\n chance_of_spread_radius3: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 1 })),\r\n },\r\n 'minecraft:random_patch': RandomPatchConfig,\r\n 'minecraft:random_boolean_selector': {\r\n feature_false: PlacedFeature,\r\n feature_true: PlacedFeature\r\n },\r\n 'minecraft:random_selector': {\r\n features: (0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n chance: (0, core_1.NumberNode)({ min: 0, max: 1 }),\r\n feature: PlacedFeature\r\n })),\r\n default: PlacedFeature\r\n },\r\n 'minecraft:replace_single_block': {\r\n targets: (0, core_1.ListNode)(TargetBlockState)\r\n },\r\n 'minecraft:root_system': {\r\n required_vertical_space_for_tree: (0, core_1.NumberNode)({ integer: true, min: 1, max: 64 }),\r\n root_radius: (0, core_1.NumberNode)({ integer: true, min: 1, max: 64 }),\r\n root_placement_attempts: (0, core_1.NumberNode)({ integer: true, min: 1, max: 256 }),\r\n root_column_max_height: (0, core_1.NumberNode)({ integer: true, min: 1, max: 4096 }),\r\n hanging_root_radius: (0, core_1.NumberNode)({ integer: true, min: 1, max: 64 }),\r\n hanging_roots_vertical_span: (0, core_1.NumberNode)({ integer: true, min: 0, max: 16 }),\r\n hanging_root_placement_attempts: (0, core_1.NumberNode)({ integer: true, min: 0, max: 256 }),\r\n allowed_vertical_water_for_tree: (0, core_1.NumberNode)({ integer: true, min: 1, max: 64 }),\r\n root_replaceable: StringNode({ validator: 'resource', params: { pool: '$tag/block' } }),\r\n root_state_provider: Reference('block_state_provider'),\r\n hanging_root_state_provider: Reference('block_state_provider'),\r\n allowed_tree_position: Reference('block_predicate_worldgen'),\r\n feature: PlacedFeature\r\n },\r\n 'minecraft:scattered_ore': OreConfig,\r\n 'minecraft:sea_pickle': {\r\n count: (0, Common_1.IntProvider)({ min: 0, max: 256 })\r\n },\r\n 'minecraft:seagrass': {\r\n probability: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n },\r\n 'minecraft:simple_block': {\r\n to_place: Reference('block_state_provider')\r\n },\r\n 'minecraft:simple_random_selector': {\r\n features: (0, core_1.ListNode)(PlacedFeature)\r\n },\r\n 'minecraft:spring_feature': {\r\n state: Reference('fluid_state'),\r\n rock_count: (0, core_1.NumberNode)({ integer: true }),\r\n hole_count: (0, core_1.NumberNode)({ integer: true }),\r\n requires_block_below: (0, core_1.BooleanNode)(),\r\n valid_blocks: (0, core_1.ListNode)(StringNode({ validator: 'resource', params: { pool: 'block' } }))\r\n },\r\n 'minecraft:tree': {\r\n ignore_vines: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n force_dirt: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n minimum_size: Reference('feature_size'),\r\n dirt_provider: Reference('block_state_provider'),\r\n trunk_provider: Reference('block_state_provider'),\r\n foliage_provider: Reference('block_state_provider'),\r\n trunk_placer: (0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/trunk_placer_type' } }),\r\n base_height: (0, core_1.NumberNode)({ integer: true, min: 0, max: 32 }),\r\n height_rand_a: (0, core_1.NumberNode)({ integer: true, min: 0, max: 24 }),\r\n height_rand_b: (0, core_1.NumberNode)({ integer: true, min: 0, max: 24 }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:bending_trunk_placer': {\r\n bend_length: (0, Common_1.IntProvider)({ min: 1, max: 64 }),\r\n min_height_for_leaves: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 1 }))\r\n }\r\n }\r\n }, { context: 'trunk_placer' }),\r\n foliage_placer: (0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/foliage_placer_type' } }),\r\n radius: (0, Common_1.IntProvider)({ min: 0, max: 16 }),\r\n offset: (0, Common_1.IntProvider)({ min: 0, max: 16 }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:blob_foliage_placer': {\r\n height: (0, core_1.NumberNode)({ integer: true, min: 0, max: 16 })\r\n },\r\n 'minecraft:bush_foliage_placer': {\r\n height: (0, core_1.NumberNode)({ integer: true, min: 0, max: 16 })\r\n },\r\n 'minecraft:fancy_foliage_placer': {\r\n height: (0, core_1.NumberNode)({ integer: true, min: 0, max: 16 })\r\n },\r\n 'minecraft:jungle_foliage_placer': {\r\n height: (0, core_1.NumberNode)({ integer: true, min: 0, max: 16 })\r\n },\r\n 'minecraft:mega_pine_foliage_placer': {\r\n crown_height: (0, Common_1.IntProvider)({ min: 0, max: 24 })\r\n },\r\n 'minecraft:pine_foliage_placer': {\r\n height: (0, Common_1.IntProvider)({ min: 0, max: 24 })\r\n },\r\n 'minecraft:random_spread_foliage_placer': {\r\n foliage_height: (0, Common_1.IntProvider)({ min: 1, max: 512 }),\r\n leaf_placement_attempts: (0, core_1.NumberNode)({ integer: true, min: 0, max: 256 })\r\n },\r\n 'minecraft:spruce_foliage_placer': {\r\n trunk_height: (0, Common_1.IntProvider)({ min: 0, max: 24 })\r\n }\r\n }\r\n }, { context: 'foliage_placer', disableSwitchContext: true }),\r\n decorators: (0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/tree_decorator_type' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:alter_ground': {\r\n provider: Reference('block_state_provider')\r\n },\r\n 'minecraft:beehive': {\r\n probability: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n },\r\n 'minecraft:cocoa': {\r\n probability: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n }\r\n }\r\n }, { context: 'tree_decorator' }))\r\n },\r\n 'minecraft:twisting_vines': {\r\n spread_width: (0, core_1.NumberNode)({ integer: true, min: 1 }),\r\n spread_height: (0, core_1.NumberNode)({ integer: true, min: 1 }),\r\n max_height: (0, core_1.NumberNode)({ integer: true, min: 1 }),\r\n },\r\n 'minecraft:underwater_magma': {\r\n floor_search_range: (0, core_1.NumberNode)({ integer: true, min: 0, max: 512 }),\r\n placement_radius_around_floor: (0, core_1.NumberNode)({ integer: true, min: 0, max: 64 }),\r\n placement_probability_per_valid_position: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n },\r\n 'minecraft:vegetation_patch': VegetationPatchConfig,\r\n 'minecraft:waterlogged_vegetation_patch': VegetationPatchConfig\r\n }\r\n }, { context: 'feature' })\r\n }, { context: 'feature' }), {\r\n default: () => ({\r\n type: 'minecraft:tree',\r\n config: {\r\n minimum_size: {\r\n type: 'minecraft:two_layers_feature_size'\r\n },\r\n trunk_placer: {\r\n type: 'minecraft:straight_trunk_placer',\r\n base_height: 5,\r\n height_rand_a: 2,\r\n height_rand_b: 0\r\n },\r\n foliage_placer: {\r\n type: 'minecraft:blob_foliage_placer',\r\n radius: 2,\r\n offset: 0,\r\n height: 3\r\n }\r\n }\r\n })\r\n }));\r\n schemas.register('placed_feature', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n feature: ConfiguredFeature,\r\n placement: (0, core_1.ListNode)(Reference('decorator'))\r\n }, { context: 'placed_feature' }), {\r\n default: () => ({\r\n feature: 'minecraft:oak',\r\n placement: [\r\n {\r\n type: 'minecraft:count',\r\n count: 4\r\n },\r\n {\r\n type: 'minecraft:in_square'\r\n },\r\n {\r\n type: 'minecraft:heightmap',\r\n heightmap: 'OCEAN_FLOOR'\r\n }\r\n ]\r\n })\r\n }));\r\n schemas.register('feature_size', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/feature_size_type' } }),\r\n min_clipped_height: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 80 })),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:two_layers_feature_size': {\r\n limit: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 0, max: 81 })),\r\n lower_size: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 0, max: 16 })),\r\n upper_size: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 0, max: 16 }))\r\n },\r\n 'minecraft:three_layers_feature_size': {\r\n limit: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 0, max: 80 })),\r\n upper_limit: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 0, max: 80 })),\r\n lower_size: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 0, max: 16 })),\r\n middle_size: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 0, max: 16 })),\r\n upper_size: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 0, max: 16 }))\r\n }\r\n }\r\n }, { disableSwitchContext: true }), {\r\n default: () => ({\r\n type: 'minecraft:two_layers_feature_size'\r\n })\r\n }));\r\n const NoiseProvider = {\r\n seed: (0, core_1.NumberNode)({ integer: true }),\r\n noise: Reference('noise_parameters'),\r\n scale: (0, core_1.Mod)((0, core_1.NumberNode)({ min: Number.MIN_VALUE }), { default: () => 1 })\r\n };\r\n schemas.register('block_state_provider', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/block_state_provider_type' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:dual_noise_provider': {\r\n ...NoiseProvider,\r\n variety: (0, Common_1.InclusiveRange)({ integer: true, min: 1, max: 64 }),\r\n slow_noise: Reference('noise_parameters'),\r\n slow_scale: (0, core_1.Mod)((0, core_1.NumberNode)({ min: Number.MIN_VALUE }), { default: () => 1 }),\r\n states: (0, core_1.ListNode)(Reference('block_state'))\r\n },\r\n 'minecraft:noise_threshold_provider': {\r\n ...NoiseProvider,\r\n threshold: (0, core_1.NumberNode)({ min: -1, max: 1 }),\r\n high_chance: (0, core_1.NumberNode)({ min: 0, max: 1 }),\r\n default_state: Reference('block_state'),\r\n low_states: (0, core_1.ListNode)(Reference('block_state')),\r\n high_states: (0, core_1.ListNode)(Reference('block_state'))\r\n },\r\n 'minecraft:noise_provider': {\r\n ...NoiseProvider,\r\n states: (0, core_1.ListNode)(Reference('block_state'))\r\n },\r\n 'minecraft:randomized_int_state_provider': {\r\n property: StringNode(),\r\n values: (0, Common_1.IntProvider)(),\r\n source: Reference('block_state_provider')\r\n },\r\n 'minecraft:rotated_block_provider': {\r\n state: Reference('block_state')\r\n },\r\n 'minecraft:simple_state_provider': {\r\n state: Reference('block_state')\r\n },\r\n 'minecraft:weighted_state_provider': {\r\n entries: (0, core_1.ListNode)((0, core_1.Mod)((0, core_1.ObjectNode)({\r\n weight: (0, core_1.NumberNode)({ integer: true, min: 1 }),\r\n data: Reference('block_state')\r\n }), {\r\n default: () => ({\r\n data: {}\r\n })\r\n }))\r\n }\r\n }\r\n }, { context: 'block_state_provider' }), {\r\n default: () => ({\r\n type: 'minecraft:simple_state_provider'\r\n })\r\n }));\r\n const Offset = {\r\n offset: (0, core_1.Opt)((0, core_1.ListNode)((0, core_1.NumberNode)({ integer: true, min: -16, max: 16 }), { minLength: 3, maxLength: 3 }))\r\n };\r\n schemas.register('block_predicate_worldgen', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'block_predicate_type' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:all_of': {\r\n predicates: (0, core_1.ListNode)(Reference('block_predicate_worldgen'))\r\n },\r\n 'minecraft:any_of': {\r\n predicates: (0, core_1.ListNode)(Reference('block_predicate_worldgen'))\r\n },\r\n 'minecraft:has_sturdy_face': {\r\n ...Offset,\r\n direction: StringNode({ enum: 'direction' })\r\n },\r\n 'minecraft:inside_world_bounds': {\r\n ...Offset,\r\n },\r\n 'minecraft:matching_block_tag': {\r\n ...Offset,\r\n tag: StringNode({ validator: 'resource', params: { pool: '$tag/block' } })\r\n },\r\n 'minecraft:matching_blocks': {\r\n ...Offset,\r\n blocks: (0, core_1.ListNode)(StringNode({ validator: 'resource', params: { pool: 'block' } }))\r\n },\r\n 'minecraft:matching_fluids': {\r\n ...Offset,\r\n fluids: (0, core_1.ListNode)(StringNode({ validator: 'resource', params: { pool: 'fluid' } }))\r\n },\r\n 'minecraft:not': {\r\n predicate: Reference('block_predicate_worldgen')\r\n },\r\n 'minecraft:would_survive': {\r\n ...Offset,\r\n state: Reference('block_state')\r\n }\r\n }\r\n }, { context: 'block_predicate' }), {\r\n default: () => ({\r\n type: 'minecraft:true'\r\n })\r\n }));\r\n}\r\nexports.initFeatureSchemas = initFeatureSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initNoiseSettingsSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"../Common\");\r\nfunction initNoiseSettingsSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('noise_settings', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n sea_level: (0, core_1.NumberNode)({ integer: true }),\r\n disable_mob_generation: (0, core_1.BooleanNode)(),\r\n noise_caves_enabled: (0, core_1.BooleanNode)(),\r\n noodle_caves_enabled: (0, core_1.BooleanNode)(),\r\n aquifers_enabled: (0, core_1.BooleanNode)(),\r\n ore_veins_enabled: (0, core_1.BooleanNode)(),\r\n legacy_random_source: (0, core_1.BooleanNode)(),\r\n default_block: Reference('block_state'),\r\n default_fluid: Reference('block_state'),\r\n noise: (0, core_1.ObjectNode)({\r\n min_y: (0, core_1.NumberNode)({ integer: true, min: -2048, max: 2047 }),\r\n height: (0, core_1.NumberNode)({ integer: true, min: 0, max: 4096 }),\r\n size_horizontal: (0, core_1.NumberNode)({ integer: true }),\r\n size_vertical: (0, core_1.NumberNode)({ integer: true }),\r\n island_noise_override: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n amplified: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n large_biomes: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n sampling: (0, core_1.ObjectNode)({\r\n xz_scale: (0, core_1.NumberNode)(),\r\n y_scale: (0, core_1.NumberNode)(),\r\n xz_factor: (0, core_1.NumberNode)(),\r\n y_factor: (0, core_1.NumberNode)()\r\n }),\r\n bottom_slide: Reference('noise_slider'),\r\n top_slide: Reference('noise_slider'),\r\n terrain_shaper: Reference('terrain_shaper')\r\n }),\r\n surface_rule: Reference('material_rule'),\r\n structures: Reference('generator_structures')\r\n }, { context: 'noise_settings' }), node => ({\r\n default: () => Common_1.DefaultNoiseSettings,\r\n validate: (path, value, errors, options) => {\r\n var _a, _b, _c, _d;\r\n value = node.validate(path, value, errors, options);\r\n if (((_a = value === null || value === void 0 ? void 0 : value.noise) === null || _a === void 0 ? void 0 : _a.min_y) + ((_b = value === null || value === void 0 ? void 0 : value.noise) === null || _b === void 0 ? void 0 : _b.height) > 2047) {\r\n errors.add(path.push('noise').push('height'), 'error.min_y_plus_height', 2047);\r\n }\r\n if (((_c = value === null || value === void 0 ? void 0 : value.noise) === null || _c === void 0 ? void 0 : _c.height) % 16 !== 0) {\r\n errors.add(path.push('noise').push('height'), 'error.height_multiple', 16);\r\n }\r\n if (((_d = value === null || value === void 0 ? void 0 : value.noise) === null || _d === void 0 ? void 0 : _d.min_y) % 16 !== 0) {\r\n errors.add(path.push('noise').push('min_y'), 'error.min_y_multiple', 16);\r\n }\r\n return value;\r\n }\r\n })));\r\n schemas.register('noise_slider', (0, core_1.ObjectNode)({\r\n target: (0, core_1.NumberNode)(),\r\n size: (0, core_1.NumberNode)({ integer: true, min: 0 }),\r\n offset: (0, core_1.NumberNode)({ integer: true })\r\n }));\r\n schemas.register('generator_structures', (0, core_1.ObjectNode)({\r\n stronghold: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n distance: (0, core_1.NumberNode)({ integer: true, min: 0, max: 1023 }),\r\n spread: (0, core_1.NumberNode)({ integer: true, min: 0, max: 1023 }),\r\n count: (0, core_1.NumberNode)({ integer: true, min: 1, max: 4095 })\r\n })),\r\n structures: (0, core_1.MapNode)(StringNode({ validator: 'resource', params: { pool: 'worldgen/structure_feature' } }), (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n spacing: (0, core_1.NumberNode)({ integer: true, min: 0, max: 4096 }),\r\n separation: (0, core_1.Mod)((0, core_1.NumberNode)({ integer: true, min: 0, max: 4096 }), (node) => ({\r\n validate: (path, value, errors, options) => {\r\n if (path.pop().push('spacing').get() <= value) {\r\n errors.add(path, 'error.separation_smaller_spacing');\r\n }\r\n return node.validate(path, value, errors, options);\r\n }\r\n })),\r\n salt: (0, core_1.NumberNode)({ integer: true, min: 0 })\r\n }, { context: 'generator_structure' }), {\r\n default: () => ({\r\n spacing: 10,\r\n separation: 5,\r\n salt: 0\r\n })\r\n }))\r\n }));\r\n schemas.register('generator_layer', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n block: StringNode({ validator: 'resource', params: { pool: 'block' } }),\r\n height: (0, core_1.NumberNode)({ integer: true, min: 1 })\r\n }), {\r\n default: () => ({\r\n block: 'minecraft:stone',\r\n height: 1\r\n })\r\n }));\r\n schemas.register('terrain_shaper', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n offset: Reference('terrain_spline'),\r\n factor: Reference('terrain_spline'),\r\n jaggedness: Reference('terrain_spline'),\r\n }, { context: 'terrain_shaper' }), {\r\n default: () => ({\r\n offset: 0,\r\n factor: 0,\r\n jaggedness: 0,\r\n })\r\n }));\r\n schemas.register('terrain_spline', (0, core_1.Mod)((0, core_1.ChoiceNode)([\r\n {\r\n type: 'number',\r\n node: (0, core_1.NumberNode)()\r\n },\r\n {\r\n type: 'object',\r\n node: (0, core_1.ObjectNode)({\r\n coordinate: (0, core_1.Mod)(StringNode({ enum: ['continents', 'erosion', 'weirdness', 'ridges'] }), { default: () => 'continents' }),\r\n points: (0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n location: (0, core_1.NumberNode)(),\r\n derivative: (0, core_1.NumberNode)(),\r\n value: Reference('terrain_spline')\r\n }))\r\n }, { category: 'function' })\r\n }\r\n ], { context: 'terrain_spline', choiceContext: 'terrain_spline' }), {\r\n default: () => 0\r\n }));\r\n}\r\nexports.initNoiseSettingsSchemas = initNoiseSettingsSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initStructureFeatureSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initStructureFeatureSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const templatePoolConfig = {\r\n start_pool: StringNode({ validator: 'resource', params: { pool: '$worldgen/template_pool' } }),\r\n size: (0, core_1.NumberNode)({ integer: true })\r\n };\r\n schemas.register('configured_structure_feature', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/structure_feature' } }),\r\n config: (0, core_1.ObjectNode)({\r\n [core_1.Switch]: ['pop', { push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:bastion_remnant': templatePoolConfig,\r\n 'minecraft:buried_treasure': {\r\n probability: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n },\r\n 'minecraft:mineshaft': {\r\n type: StringNode({ enum: ['normal', 'mesa'] }),\r\n probability: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n },\r\n 'minecraft:nether_fossil': {\r\n height: Reference('height_provider')\r\n },\r\n 'minecraft:ocean_ruin': {\r\n biome_temp: StringNode({ enum: ['cold', 'warm'] }),\r\n large_probability: (0, core_1.NumberNode)({ min: 0, max: 1 }),\r\n cluster_probability: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n },\r\n 'minecraft:pillager_outpost': templatePoolConfig,\r\n 'minecraft:ruined_portal': {\r\n portal_type: StringNode({ enum: ['standard', 'desert', 'jungle', 'mountain', 'nether', 'ocean', 'swamp'] })\r\n },\r\n 'minecraft:shipwreck': {\r\n is_beached: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n },\r\n 'minecraft:village': templatePoolConfig\r\n }\r\n }, { context: 'structure_feature', disableSwitchContext: true })\r\n }, { context: 'structure_feature' }), {\r\n default: () => ({\r\n type: 'minecraft:bastion_remnant',\r\n config: {\r\n start_pool: 'minecraft:bastion/starts',\r\n size: 6\r\n }\r\n })\r\n }));\r\n}\r\nexports.initStructureFeatureSchemas = initStructureFeatureSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initSurfaceRuleSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initSurfaceRuleSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n schemas.register('material_rule', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/material_rule' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:block': {\r\n result_state: Reference('block_state'),\r\n },\r\n 'minecraft:condition': {\r\n if_true: Reference('material_condition'),\r\n then_run: Reference('material_rule')\r\n },\r\n 'minecraft:sequence': {\r\n sequence: (0, core_1.ListNode)(Reference('material_rule'))\r\n }\r\n }\r\n }, { context: 'material_rule', category: 'pool' }), {\r\n default: () => ({\r\n type: 'minecraft:block',\r\n result_state: {\r\n Name: 'minecraft:stone'\r\n }\r\n })\r\n }));\r\n schemas.register('material_condition', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/material_condition' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:biome': {\r\n biome_is: (0, core_1.ListNode)(StringNode({ validator: 'resource', params: { pool: '$worldgen/biome' } }))\r\n },\r\n 'minecraft:noise_threshold': {\r\n noise: StringNode({ validator: 'resource', params: { pool: '$worldgen/noise' } }),\r\n min_threshold: (0, core_1.NumberNode)(),\r\n max_threshold: (0, core_1.NumberNode)()\r\n },\r\n 'minecraft:not': {\r\n invert: Reference('material_condition')\r\n },\r\n 'minecraft:stone_depth': {\r\n offset: (0, core_1.NumberNode)({ integer: true }),\r\n surface_type: StringNode({ enum: 'cave_surface' }),\r\n add_surface_depth: (0, core_1.BooleanNode)(),\r\n add_surface_secondary_depth: (0, core_1.BooleanNode)(),\r\n },\r\n 'minecraft:vertical_gradient': {\r\n random_name: StringNode(),\r\n true_at_and_below: Reference('vertical_anchor'),\r\n false_at_and_above: Reference('vertical_anchor'),\r\n },\r\n 'minecraft:water': {\r\n offset: (0, core_1.NumberNode)({ integer: true }),\r\n surface_depth_multiplier: (0, core_1.NumberNode)({ integer: true, min: -20, max: 20 }),\r\n add_stone_depth: (0, core_1.BooleanNode)()\r\n },\r\n 'minecraft:y_above': {\r\n anchor: Reference('vertical_anchor'),\r\n surface_depth_multiplier: (0, core_1.NumberNode)({ integer: true, min: -20, max: 20 }),\r\n add_stone_depth: (0, core_1.BooleanNode)()\r\n }\r\n }\r\n }, { context: 'material_condition' }), {\r\n default: () => ({\r\n type: 'minecraft:biome',\r\n is_biome: 'minecraft:plains'\r\n })\r\n }));\r\n}\r\nexports.initSurfaceRuleSchemas = initSurfaceRuleSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initTemplatePoolSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nrequire(\"./ProcessorList\");\r\nconst ProcessorList_1 = require(\"./ProcessorList\");\r\nfunction initTemplatePoolSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('template_pool', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n name: StringNode(),\r\n fallback: StringNode(),\r\n elements: (0, core_1.ListNode)(Reference('template_weighted_element'))\r\n }, { context: 'template_pool' }), {\r\n default: () => ({\r\n fallback: 'minecraft:empty',\r\n elements: [\r\n {\r\n weight: 1,\r\n element: {\r\n element_type: 'minecraft:single_pool_element',\r\n projection: 'rigid',\r\n processors: 'minecraft:empty'\r\n }\r\n }\r\n ]\r\n })\r\n }));\r\n schemas.register('template_weighted_element', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n weight: (0, core_1.NumberNode)({ integer: true, min: 1 }),\r\n element: Reference('template_element')\r\n }, { category: 'pool' }), {\r\n default: () => ({\r\n weight: 1,\r\n element: {\r\n element_type: 'minecraft:single_pool_element',\r\n projection: 'rigid',\r\n processors: 'minecraft:empty'\r\n }\r\n })\r\n }));\r\n schemas.register('template_element', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n element_type: StringNode({ validator: 'resource', params: { pool: 'worldgen/structure_pool_element' } }),\r\n projection: StringNode({ enum: ['rigid', 'terrain_matching'] }),\r\n [core_1.Switch]: [{ push: 'element_type' }],\r\n [core_1.Case]: {\r\n 'minecraft:feature_pool_element': {\r\n feature: StringNode({ validator: 'resource', params: { pool: '$worldgen/placed_feature' } })\r\n },\r\n 'minecraft:legacy_single_pool_element': {\r\n location: StringNode({ validator: 'resource', params: { pool: '$structure' } }),\r\n processors: ProcessorList_1.Processors\r\n },\r\n 'minecraft:list_pool_element': {\r\n elements: (0, core_1.ListNode)(Reference('template_element'))\r\n },\r\n 'minecraft:single_pool_element': {\r\n location: StringNode({ validator: 'resource', params: { pool: '$structure' } }),\r\n processors: ProcessorList_1.Processors\r\n }\r\n }\r\n }, { context: 'template_element', disableSwitchContext: true }), {\r\n default: () => ({\r\n element_type: 'minecraft:single_pool_element',\r\n projection: 'rigid',\r\n processors: 'minecraft:empty'\r\n })\r\n }));\r\n}\r\nexports.initTemplatePoolSchemas = initTemplatePoolSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initWorldgenSchemas = void 0;\r\nconst Biome_1 = require(\"./Biome\");\r\nconst Carver_1 = require(\"./Carver\");\r\nconst Decorator_1 = require(\"./Decorator\");\r\nconst Feature_1 = require(\"./Feature\");\r\nconst NoiseSettings_1 = require(\"./NoiseSettings\");\r\nconst ProcessorList_1 = require(\"./ProcessorList\");\r\nconst StructureFeature_1 = require(\"./StructureFeature\");\r\nconst SurfaceRule_1 = require(\"./SurfaceRule\");\r\nconst TemplatePool_1 = require(\"./TemplatePool\");\r\nfunction initWorldgenSchemas(schemas, collections) {\r\n // `ProcessorList.ts` has exports. It should be initialized first. \r\n (0, ProcessorList_1.initProcessorListSchemas)(schemas, collections);\r\n (0, Biome_1.initBiomeSchemas)(schemas, collections);\r\n (0, Carver_1.initCarverSchemas)(schemas, collections);\r\n (0, Decorator_1.initDecoratorSchemas)(schemas, collections);\r\n (0, Feature_1.initFeatureSchemas)(schemas, collections);\r\n (0, NoiseSettings_1.initNoiseSettingsSchemas)(schemas, collections);\r\n (0, StructureFeature_1.initStructureFeatureSchemas)(schemas, collections);\r\n (0, SurfaceRule_1.initSurfaceRuleSchemas)(schemas, collections);\r\n (0, TemplatePool_1.initTemplatePoolSchemas)(schemas, collections);\r\n}\r\nexports.initWorldgenSchemas = initWorldgenSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initWorldSettingsSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initWorldSettingsSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('world_settings', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n generate_features: (0, core_1.BooleanNode)(),\r\n bonus_chest: (0, core_1.BooleanNode)(),\r\n seed: (0, core_1.NumberNode)({ integer: true }),\r\n dimensions: (0, core_1.MapNode)(StringNode({ validator: 'resource', params: { pool: '$dimension' } }), Reference('dimension'))\r\n }, { context: 'world_settings' }), {\r\n default: () => {\r\n const seed = Math.floor(Math.random() * (4294967296)) - 2147483648;\r\n return {\r\n generate_features: true,\r\n bonus_chest: false,\r\n seed,\r\n dimensions: {\r\n 'minecraft:overworld': {\r\n type: 'minecraft:overworld',\r\n generator: {\r\n type: 'minecraft:noise',\r\n seed,\r\n biome_source: {\r\n type: 'minecraft:multi_noise',\r\n preset: \"minecraft:overworld\"\r\n },\r\n settings: 'minecraft:overworld',\r\n }\r\n },\r\n 'minecraft:the_nether': {\r\n type: 'minecraft:the_nether',\r\n generator: {\r\n type: 'minecraft:noise',\r\n seed,\r\n biome_source: {\r\n type: 'minecraft:multi_noise',\r\n preset: \"minecraft:nether\"\r\n },\r\n settings: 'minecraft:nether'\r\n }\r\n },\r\n 'minecraft:the_end': {\r\n type: \"minecraft:the_end\",\r\n generator: {\r\n type: \"minecraft:noise\",\r\n seed,\r\n biome_source: {\r\n type: \"minecraft:the_end\",\r\n seed\r\n },\r\n settings: \"minecraft:end\"\r\n }\r\n }\r\n }\r\n };\r\n }\r\n }));\r\n}\r\nexports.initWorldSettingsSchemas = initWorldSettingsSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initSchemas = void 0;\r\nconst Advancement_1 = require(\"./Advancement\");\r\nconst assets_1 = require(\"./assets\");\r\nconst Common_1 = require(\"./Common\");\r\nconst Condition_1 = require(\"./Condition\");\r\nconst Dimension_1 = require(\"./Dimension\");\r\nconst DimensionType_1 = require(\"./DimensionType\");\r\nconst ItemModifier_1 = require(\"./ItemModifier\");\r\nconst LootTable_1 = require(\"./LootTable\");\r\nconst PackMcmeta_1 = require(\"./PackMcmeta\");\r\nconst Predicates_1 = require(\"./Predicates\");\r\nconst Recipe_1 = require(\"./Recipe\");\r\nconst Tags_1 = require(\"./Tags\");\r\nconst TextComponent_1 = require(\"./TextComponent\");\r\nconst worldgen_1 = require(\"./worldgen\");\r\nconst WorldSettings_1 = require(\"./WorldSettings\");\r\nfunction initSchemas(schemas, collections) {\r\n // `Common.ts` is the only file that has exports. It should be initialized first. \r\n (0, Common_1.initCommonSchemas)(schemas, collections);\r\n (0, Advancement_1.initAdvancementSchemas)(schemas, collections);\r\n (0, assets_1.initAssetsSchemas)(schemas, collections);\r\n (0, Condition_1.initConditionSchemas)(schemas, collections);\r\n (0, DimensionType_1.initDimensionTypeSchemas)(schemas, collections);\r\n (0, Dimension_1.initDimensionSchemas)(schemas, collections);\r\n (0, ItemModifier_1.initItemModifierSchemas)(schemas, collections);\r\n (0, LootTable_1.initLootTableSchemas)(schemas, collections);\r\n (0, PackMcmeta_1.initPackMcmetaSchemas)(schemas, collections);\r\n (0, Predicates_1.initPredicatesSchemas)(schemas, collections);\r\n (0, Recipe_1.initRecipeSchemas)(schemas, collections);\r\n (0, Tags_1.initTagsSchemas)(schemas, collections);\r\n (0, TextComponent_1.initTextComponentSchemas)(schemas, collections);\r\n (0, worldgen_1.initWorldgenSchemas)(schemas, collections);\r\n (0, WorldSettings_1.initWorldSettingsSchemas)(schemas, collections);\r\n}\r\nexports.initSchemas = initSchemas;\r\n","\"use strict\";\r\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}));\r\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n});\r\nvar __importStar = (this && this.__importStar) || function (mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.getSchemas = exports.getCollections = exports.lootContext = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Collections_1 = require(\"./Collections\");\r\nconst schemas_1 = require(\"./schemas\");\r\nexports.lootContext = __importStar(require(\"./LootContext\"));\r\nfunction getCollections() {\r\n const collections = new core_1.CollectionRegistry();\r\n (0, Collections_1.initCollections)(collections);\r\n return collections;\r\n}\r\nexports.getCollections = getCollections;\r\n/**\r\n * @param collections The CollectionRegistry for this version. Note that apart from\r\n * the built-in collections, the client of this module is responsible for futhermore\r\n * adding the vanilla registries to it: the collection IDs shouldn't contain the\r\n * namespace (`minecraft:`) part, while the values within the collections should.\r\n *\r\n * @example\r\n * for (const key in VANILLA_REGISTRIES>) {\r\n * collections.register(\r\n * key.replace(/^minecraft:/, ''),\r\n * Object.keys(VANILLA_REGISTRIES[key].entries)\r\n * )\r\n * }\r\n */\r\nfunction getSchemas(collections) {\r\n const schemas = new core_1.SchemaRegistry();\r\n (0, schemas_1.initSchemas)(schemas, collections);\r\n return schemas;\r\n}\r\nexports.getSchemas = getSchemas;\r\n"],"names":["core_1","require$$0","require$$1","Common_1","require$$2","ProcessorList_1","require$$3","require$$4","require$$5","require$$6","require$$7","require$$8","require$$9","require$$10","require$$11","require$$12","require$$13","require$$14","this"],"mappings":"+1BACA,OAAO,eAAe,GAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EACrC,GAAA,gBAAG,OAC1B,YAAyB,EAAa,CAClC,EAAY,SAAS,sBAAuB,CACxC,+BACA,yBACA,0BACA,8BACA,gCACA,6BACA,yBACA,kCACA,4BACA,2BACA,wBACA,+BACA,iCACA,6BACA,0BACA,+BACA,gCACA,uBACA,8BACA,oCACA,+BACA,+BACA,uBACA,6BACA,qBACA,0BACA,yBACA,4CACA,+BACA,0CACA,iCACA,4BACA,gCACA,0BACA,yBACA,6BACA,2BACA,4BACA,wBACA,uBACA,iBACA,4CACA,2BACA,uBACA,uBACA,2BACA,2BACR,CAAK,EACD,EAAY,SAAS,UAAW,CAC5B,mBACA,aACA,WACA,WACA,cACA,WACA,cACA,iBACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,gBACA,WACA,WACA,2BACA,eACA,iBACA,YACA,2BACA,iBACA,mBACA,YACA,wBACA,aACA,kBACA,wBACA,SACR,CAAK,EACD,EAAY,SAAS,OAAQ,CACzB,WACA,UACA,OACA,QACA,OACA,MACR,CAAK,EACD,EAAY,SAAS,WAAY,CAC7B,WACA,WACA,YACA,WACR,CAAK,EACD,EAAY,SAAS,gBAAiB,CAClC,OACA,SACA,gBACA,eACR,CAAK,EACD,EAAY,SAAS,cAAe,CAChC,eACA,OACA,SACA,eACR,CAAK,EACD,EAAY,SAAS,iCAAkC,CACnD,gCACA,sCACA,qBACR,CAAK,EACD,EAAY,SAAS,iBAAkB,CACnC,UACA,WACA,SACA,QACA,aACA,cACA,WACA,eACA,iBACA,oBACA,QACA,eACA,gBACA,iBACA,oBACA,gBACA,cACA,cACA,cACA,oBACA,cACA,gBACA,cACA,eACA,eACA,aACA,cACR,CAAK,EACD,EAAY,SAAS,cAAe,CAChC,kBACA,kBACA,iBACA,UACA,WACA,QACA,iBACA,UACA,YACA,WACA,gBACA,aACA,mBACA,gBACA,YACA,aACA,YACA,SACR,CAAK,EACD,EAAY,SAAS,eAAgB,CACjC,MACA,iBACA,aACA,gBACA,YACA,qBACA,WACA,cACA,OACA,cACA,iBACA,oBACA,SACA,gBACA,cACA,qBACA,eACA,SACA,kBACA,wBACA,OACA,YACA,aACA,WACA,UACA,kBACA,gBACA,aACA,WACA,cACA,aACA,SACA,OACA,OACA,QACA,WACA,YACA,SACA,iBACR,CAAK,EACD,EAAY,SAAS,iBAAkB,CACnC,QACA,SACA,gBACA,SACA,MACA,SACA,OACA,WACA,WACA,SACA,OACA,QACA,SACA,QACA,UACA,QACA,QACA,UACA,aACR,CAAK,EACD,EAAY,SAAS,iBAAkB,CACnC,kBACA,4BACA,cACA,iBACA,gBACA,kBACR,CAAK,EACD,EAAY,SAAS,kBAAmB,CACpC,MACA,QACR,CAAK,EACD,EAAY,SAAS,oBAAqB,CACtC,kBACA,kBACA,oBACA,qBACA,oBACA,mBACA,iBACA,mBACA,+BACA,+BACA,oBACA,iBACR,CAAK,EACD,EAAY,SAAS,iBAAkB,CACnC,OACA,qBACA,sBACA,kBACA,mBACA,gBACA,aACA,cACA,eACA,gBACA,gBACA,mBACA,kBACA,gBACA,QACA,iBACA,kBACA,eACA,mBACA,gBACA,gBACA,oBACA,mBACA,iBACA,SACA,UACA,gBACA,kBACA,sBACA,yBACA,SACA,eACA,WACA,cACA,SACA,QACA,UACA,QACA,SACA,SACA,QACR,CAAK,EACD,EAAY,SAAS,YAAa,CAC9B,QACA,SACA,UACA,aACA,SACA,OACA,OACA,OACA,aACA,OACA,SACA,OACA,QACA,QACA,MACA,OACR,CAAK,EACD,EAAY,SAAS,eAAgB,CACjC,QACA,SACR,CAAK,EACD,EAAY,SAAS,YAAa,CAC9B,OACA,KACA,QACA,OACA,QACA,MACR,CAAK,EACD,EAAY,SAAS,OAAQ,CACzB,IACA,IACA,GACR,CAAK,EACD,EAAY,SAAS,mBAAoB,CACrC,wBACA,uBACA,wBACA,uBACA,MACA,OACA,SACA,OACR,CAAK,EACD,EAAY,SAAS,YAAa,CAC9B,QACA,MACR,CAAK,EA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"} \ No newline at end of file diff --git a/assets/index.42b0dee2.js b/assets/index.210d411f.js similarity index 99% rename from assets/index.42b0dee2.js rename to assets/index.210d411f.js index 8fa92d11..0e74da77 100644 --- a/assets/index.42b0dee2.js +++ b/assets/index.210d411f.js @@ -1,2 +1,2 @@ -var qe=Object.defineProperty,Ae=Object.defineProperties;var Ee=Object.getOwnPropertyDescriptors;var Ce=Object.getOwnPropertySymbols;var We=Object.prototype.hasOwnProperty,Ge=Object.prototype.propertyIsEnumerable;var Pe=(o,r,e)=>r in o?qe(o,r,{enumerable:!0,configurable:!0,writable:!0,value:e}):o[r]=e,k=(o,r)=>{for(var e in r||(r={}))We.call(r,e)&&Pe(o,e,r[e]);if(Ce)for(var e of Ce(r))Ge.call(r,e)&&Pe(o,e,r[e]);return o},Le=(o,r)=>Ae(o,Ee(r));import{l as w,c as Q}from"./index.b990f5f5.js";function Ue(o,r){return r.forEach(function(e){e&&typeof e!="string"&&!Array.isArray(e)&&Object.keys(e).forEach(function(t){if(t!=="default"&&!(t in o)){var d=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(o,t,d.get?d:{enumerable:!0,get:function(){return e[t]}})}})}),Object.freeze(Object.defineProperty(o,Symbol.toStringTag,{value:"Module"}))}var W={},oe={};Object.defineProperty(oe,"__esModule",{value:!0});oe.initCollections=void 0;function Ve(o){o.register("advancement_trigger",["minecraft:bee_nest_destroyed","minecraft:bred_animals","minecraft:brewed_potion","minecraft:changed_dimension","minecraft:channeled_lightning","minecraft:construct_beacon","minecraft:consume_item","minecraft:cured_zombie_villager","minecraft:effects_changed","minecraft:enchanted_item","minecraft:enter_block","minecraft:entity_hurt_player","minecraft:entity_killed_player","minecraft:filled_bucket","minecraft:fishing_rod_hooked","minecraft:hero_of_the_village","minecraft:impossible","minecraft:inventory_changed","minecraft:item_durability_changed","minecraft:item_used_on_block","minecraft:killed_by_crossbow","minecraft:levitation","minecraft:lightning_strike","minecraft:location","minecraft:nether_travel","minecraft:placed_block","minecraft:player_generates_container_loot","minecraft:player_hurt_entity","minecraft:player_interacted_with_entity","minecraft:player_killed_entity","minecraft:recipe_unlocked","minecraft:shot_crossbow","minecraft:slept_in_bed","minecraft:slide_down_block","minecraft:started_riding","minecraft:summoned_entity","minecraft:tame_animal","minecraft:target_hit","minecraft:tick","minecraft:thrown_item_picked_up_by_entity","minecraft:used_ender_eye","minecraft:used_totem","minecraft:using_item","minecraft:villager_trade","minecraft:voluntary_exile"]),o.register("dimension",["minecraft:overworld","minecraft:the_nether","minecraft:the_end"]),o.register("dimension_type",["minecraft:overworld","minecraft:the_nether","minecraft:the_end"]),o.register("keybind",["key.advancements","key.attack","key.back","key.chat","key.command","key.drop","key.forward","key.fullscreen","key.hotbar.1","key.hotbar.2","key.hotbar.3","key.hotbar.4","key.hotbar.5","key.hotbar.6","key.hotbar.7","key.hotbar.8","key.hotbar.9","key.inventory","key.jump","key.left","key.loadToolbarActivator","key.pickItem","key.playerlist","key.right","key.saveToolbarActivator","key.screenshot","key.smoothCamera","key.sneak","key.spectatorOutlines","key.sprint","key.swapOffhand","key.togglePerspective","key.use"]),o.register("slot",["mainhand","offhand","head","chest","legs","feet"]),o.register("gamemode",["survival","creative","adventure","spectator"]),o.register("worldgen/noise_settings",["minecraft:overworld","minecraft:nether","minecraft:end","minecraft:amplified","minecraft:caves","minecraft:floating_islands"]),o.register("entity_source",["this","killer","direct_killer","killer_player"]),o.register("copy_source",["block_entity","this","killer","killer_player"]),o.register("loot_table_apply_bonus_formula",["minecraft:uniform_bonus_count","minecraft:binomial_with_bonus_count","minecraft:ore_drops"]),o.register("map_decoration",["mansion","monument","player","frame","red_marker","blue_marker","target_x","target_point","player_off_map","player_off_limits","red_x","banner_white","banner_orange","banner_magenta","banner_light_blue","banner_yellow","banner_lime","banner_pink","banner_gray","banner_light_gray","banner_cyan","banner_purple","banner_blue","banner_brown","banner_green","banner_red","banner_black"]),o.register("map_feature",["bastion_remnant","buried_treasure","desert_pyramid","endcity","fortress","igloo","jungle_pyramid","mansion","mineshaft","monument","nether_fossil","ocean_ruin","pillager_outpost","ruined_portal","shipwreck","stronghold","swamp_hut","village"]),o.register("recipe_group",["bed","light_gray_dye","iron_ingot","wooden_stairs","black_dye","stained_terracotta","dyed_bed","magenta_dye","bark","rabbit_stew","light_blue_dye","wooden_fence_gate","planks","stained_glass","wooden_door","stained_glass_pane","wooden_fence","sticks","concrete_powder","wooden_pressure_plate","boat","brown_dye","yellow_dye","bonemeal","red_dye","wooden_trapdoor","wooden_button","gold_ingot","pink_dye","wooden_slab","orange_dye","carpet","sign","wool","sugar","blue_dye","white_dye","banner","netherite_ingot"]),o.register("worldgen/configured_feature",["minecraft:acacia","minecraft:bamboo_light","minecraft:bamboo_vegetation","minecraft:bamboo","minecraft:basalt_blobs","minecraft:basalt_pillar","minecraft:birch_bees_0002","minecraft:birch_bees_002","minecraft:birch_bees_005","minecraft:birch_other","minecraft:birch_tall","minecraft:birch","minecraft:blackstone_blobs","minecraft:blue_ice","minecraft:bonus_chest","minecraft:brown_mushroom_giant","minecraft:brown_mushroom_nether","minecraft:brown_mushroom_normal","minecraft:brown_mushroom_swamp","minecraft:brown_mushroom_taiga","minecraft:chorus_plant","minecraft:crimson_forest_vegetation","minecraft:crimson_fungi_planted","minecraft:crimson_fungi","minecraft:dark_forest_vegetation_brown","minecraft:dark_forest_vegetation_red","minecraft:dark_oak","minecraft:delta","minecraft:desert_well","minecraft:disk_clay","minecraft:disk_gravel","minecraft:disk_sand","minecraft:end_gateway_delayed","minecraft:end_gateway","minecraft:end_island_decorated","minecraft:end_island","minecraft:end_spike","minecraft:fancy_oak_bees_0002","minecraft:fancy_oak_bees_002","minecraft:fancy_oak_bees_005","minecraft:fancy_oak","minecraft:flower_default","minecraft:flower_forest","minecraft:flower_plain_decorated","minecraft:flower_plain","minecraft:flower_swamp","minecraft:flower_warm","minecraft:forest_flower_trees","minecraft:forest_flower_vegetation_common","minecraft:forest_flower_vegetation","minecraft:forest_rock","minecraft:fossil","minecraft:freeze_top_layer","minecraft:glowstone_extra","minecraft:glowstone","minecraft:huge_brown_mushroom","minecraft:huge_red_mushroom","minecraft:ice_patch","minecraft:ice_spike","minecraft:iceberg_blue","minecraft:iceberg_packed","minecraft:jungle_bush","minecraft:jungle_tree_no_vine","minecraft:jungle_tree","minecraft:kelp_cold","minecraft:kelp_warm","minecraft:lake_lava","minecraft:lake_water","minecraft:large_basalt_columns","minecraft:mega_jungle_tree","minecraft:mega_pine","minecraft:mega_spruce","minecraft:monster_room","minecraft:mushroom_field_vegetation","minecraft:nether_sprouts","minecraft:oak_badlands","minecraft:oak_bees_0002","minecraft:oak_bees_002","minecraft:oak_bees_005","minecraft:oak","minecraft:ore_andesite","minecraft:ore_blackstone","minecraft:ore_coal","minecraft:ore_debris_large","minecraft:ore_debris_small","minecraft:ore_diamond","minecraft:ore_diorite","minecraft:ore_dirt","minecraft:ore_emerald","minecraft:ore_gold_deltas","minecraft:ore_gold_extra","minecraft:ore_gold_nether","minecraft:ore_gold","minecraft:ore_granite","minecraft:ore_gravel_nether","minecraft:ore_gravel","minecraft:ore_infested","minecraft:ore_iron","minecraft:ore_lapis","minecraft:ore_magma","minecraft:ore_quartz_deltas","minecraft:ore_quartz_nether","minecraft:ore_redstone","minecraft:ore_soul_sand","minecraft:patch_berry_bush","minecraft:patch_berry_decorated","minecraft:patch_berry_sparse","minecraft:patch_brown_mushroom","minecraft:patch_cactus_decorated","minecraft:patch_cactus_desert","minecraft:patch_cactus","minecraft:patch_crimson_roots","minecraft:patch_dead_bush_2","minecraft:patch_dead_bush_badlands","minecraft:patch_dead_bush","minecraft:patch_fire","minecraft:patch_grass_badlands","minecraft:patch_grass_forest","minecraft:patch_grass_jungle","minecraft:patch_grass_normal","minecraft:patch_grass_plain","minecraft:patch_grass_savanna","minecraft:patch_grass_taiga_2","minecraft:patch_grass_taiga","minecraft:patch_large_fern","minecraft:patch_melon","minecraft:patch_pumpkin","minecraft:patch_red_mushroom","minecraft:patch_soul_fire","minecraft:patch_sugar_cane_badlands","minecraft:patch_sugar_cane_desert","minecraft:patch_sugar_cane_swamp","minecraft:patch_sugar_cane","minecraft:patch_sunflower","minecraft:patch_taiga_grass","minecraft:patch_tall_grass_2","minecraft:patch_tall_grass","minecraft:patch_waterlilly","minecraft:pile_hay","minecraft:pile_ice","minecraft:pile_melon","minecraft:pile_pumpkin","minecraft:pile_snow","minecraft:pine","minecraft:plain_vegetation","minecraft:red_mushroom_giant","minecraft:red_mushroom_nether","minecraft:red_mushroom_normal","minecraft:red_mushroom_swamp","minecraft:red_mushroom_taiga","minecraft:sea_pickle","minecraft:seagrass_cold","minecraft:seagrass_deep_cold","minecraft:seagrass_deep_warm","minecraft:seagrass_deep","minecraft:seagrass_normal","minecraft:seagrass_river","minecraft:seagrass_simple","minecraft:seagrass_swamp","minecraft:seagrass_warm","minecraft:small_basalt_columns","minecraft:spring_closed_double","minecraft:spring_closed","minecraft:spring_delta","minecraft:spring_lava_double","minecraft:spring_lava","minecraft:spring_open","minecraft:spring_water","minecraft:spruce_snowy","minecraft:spruce","minecraft:super_birch_bees_0002","minecraft:swamp_tree","minecraft:taiga_vegetation","minecraft:trees_birch","minecraft:trees_giant_spruce","minecraft:trees_giant","minecraft:trees_jungle_edge","minecraft:trees_jungle","minecraft:trees_mountain_edge","minecraft:trees_mountain","minecraft:trees_savanna","minecraft:trees_shattered_savanna","minecraft:trees_water","minecraft:twisting_vines","minecraft:vines","minecraft:void_start_platform","minecraft:warm_ocean_vegetation","minecraft:warped_forest_vegetation","minecraft:warped_fungi_planted","minecraft:warped_fungi","minecraft:weeping_vines"]),o.register("worldgen/configured_structure_feature",["minecraft:bastion_remnant","minecraft:buried_treasure","minecraft:desert_pyramid","minecraft:end_city","minecraft:fortress","minecraft:igloo","minecraft:jungle_pyramid","minecraft:mansion","minecraft:mineshaft_mesa","minecraft:mineshaft","minecraft:monument","minecraft:nether_fossil","minecraft:ocean_ruin_cold","minecraft:ocean_ruin_warm","minecraft:pillager_outpost","minecraft:ruined_portal_desert","minecraft:ruined_portal_jungle","minecraft:ruined_portal_mountain","minecraft:ruined_portal_nether","minecraft:ruined_portal_ocean","minecraft:ruined_portal_swamp","minecraft:ruined_portal","minecraft:shipwreck_beached","minecraft:shipwreck","minecraft:stronghold","minecraft:swamp_hut","minecraft:village_desert","minecraft:village_plains","minecraft:village_savanna","minecraft:village_snowy","minecraft:village_taiga"]),o.register("worldgen/configured_surface_builder",["minecraft:badlands","minecraft:basalt_deltas","minecraft:crimson_forest","minecraft:desert","minecraft:end","minecraft:eroded_badlands","minecraft:frozen_ocean","minecraft:full_sand","minecraft:giant_tree_taiga","minecraft:grass","minecraft:gravelly_mountain","minecraft:ice_spikes","minecraft:mountain","minecraft:mycelium","minecraft:nether","minecraft:nope","minecraft:ocean_sand","minecraft:shattered_savanna","minecraft:soul_sand_valley","minecraft:stone","minecraft:swamp","minecraft:warped_forest","minecraft:wooded_badlands"]),o.register("biome_category",["beach","desert","extreme_hills","forest","icy","jungle","mesa","mushroom","nether","none","ocean","plains","river","savanna","swamp","taiga","the_end","underground"]),o.register("heightmap_type",["MOTION_BLOCKING","MOTION_BLOCKING_NO_LEAVES","OCEAN_FLOOR","OCEAN_FLOOR_WG","WORLD_SURFACE","WORLD_SURFACE_WG"]),o.register("generation_step",["air","liquid"]),o.register("loot_context_type",["minecraft:empty","minecraft:chest","minecraft:command","minecraft:selector","minecraft:fishing","minecraft:entity","minecraft:gift","minecraft:barter","minecraft:advancement_reward","minecraft:advancement_entity","minecraft:generic","minecraft:block"]),o.register("banner_pattern",["base","square_bottom_left","square_bottom_right","square_top_left","square_top_right","stripe_bottom","stripe_top","stripe_left","stripe_right","stripe_center","stripe_middle","stripe_downright","stripe_downleft","small_stripes","cross","straight_cross","triangle_bottom","triangle_top","triangles_bottom","triangles_top","diagonal_left","diagonal_up_right","diagonal_up_left","diagonal_right","circle","rhombus","half_vertical","half_horizontal","half_vertical_right","half_horizontal_bottom","border","curly_border","gradient","gradient_up","bricks","globe","creeper","skull","flower","mojang","piglin"]),o.register("dye_color",["white","orange","magenta","light_blue","yellow","lime","pink","gray","light_gray","cyan","purple","blue","brown","green","red","black"]),o.register("cat_texture",["textures/entity/cat/tabby.png","textures/entity/cat/black.png","textures/entity/cat/red.png","textures/entity/cat/siamese.png","textures/entity/cat/british_shorthair.png","textures/entity/cat/calico.png","textures/entity/cat/persian.png","textures/entity/cat/ragdoll.png","textures/entity/cat/white.png","textures/entity/cat/jellie.png","textures/entity/cat/all_black.png"])}oe.initCollections=Ve;var ie={},ae={};Object.defineProperty(ae,"__esModule",{value:!0});ae.initAdvancementSchemas=void 0;const s=w;function He(o,r){const e=s.Reference.bind(void 0,o),t=s.StringNode.bind(void 0,r),d=(0,s.ChoiceNode)([{type:"object",node:(0,s.Opt)(e("entity_predicate")),change:a=>{var n,N;return(N=(n=a[0])===null||n===void 0?void 0:n.predicate)!==null&&N!==void 0?N:{}}},{type:"list",node:(0,s.ListNode)(e("condition")),change:a=>[{condition:"minecraft:entity_properties",predicate:a}]}],{context:"conditions"});o.register("advancement",(0,s.Mod)((0,s.ObjectNode)({display:(0,s.Opt)((0,s.Mod)((0,s.ObjectNode)({icon:(0,s.ObjectNode)({item:t({validator:"resource",params:{pool:"item"}}),nbt:(0,s.Opt)(t({validator:"nbt",params:{registry:{category:"minecraft:item",id:["pop",{push:"item"}]}}}))}),title:e("text_component"),description:e("text_component"),background:(0,s.Opt)(t()),frame:(0,s.Opt)(t({enum:["task","challenge","goal"]})),show_toast:(0,s.Opt)((0,s.BooleanNode)()),announce_to_chat:(0,s.Opt)((0,s.BooleanNode)()),hidden:(0,s.Opt)((0,s.BooleanNode)())}),{default:()=>({icon:{item:"minecraft:stone"},title:"",description:""})})),parent:(0,s.Opt)(t({validator:"resource",params:{pool:"$advancement"}})),criteria:(0,s.MapNode)(t(),e("advancement_criteria")),requirements:(0,s.Opt)((0,s.ListNode)((0,s.ListNode)(t()))),rewards:(0,s.Opt)((0,s.ObjectNode)({function:(0,s.Opt)(t({validator:"resource",params:{pool:"$function"}})),loot:(0,s.Opt)((0,s.ListNode)(t({validator:"resource",params:{pool:"$loot_table"}}))),recipes:(0,s.Opt)((0,s.ListNode)(t({validator:"resource",params:{pool:"$recipe"}}))),experience:(0,s.Opt)((0,s.NumberNode)({integer:!0}))}))},{context:"advancement"}),{default:()=>({criteria:{requirement:{trigger:"minecraft:location"}}})})),o.register("advancement_criteria",(0,s.ObjectNode)({trigger:t({validator:"resource",params:{pool:r.get("advancement_trigger")}}),conditions:(0,s.Opt)((0,s.ObjectNode)({player:(0,s.Mod)(d,{enabled:a=>a.pop().push("trigger").get()!=="minecraft:impossible"}),[s.Switch]:["pop",{push:"trigger"}],[s.Case]:{"minecraft:bee_nest_destroyed":{block:(0,s.Opt)(t({validator:"resource",params:{pool:"block"}})),num_bees_inside:(0,s.Opt)((0,s.NumberNode)({integer:!0})),item:(0,s.Opt)(e("item_predicate"))},"minecraft:bred_animals":{parent:d,partner:d,child:d},"minecraft:brewed_potion":{potion:(0,s.Opt)(t({validator:"resource",params:{pool:"potion"}}))},"minecraft:changed_dimension":{from:(0,s.Opt)(t({validator:"resource",params:{pool:"$dimension"}})),to:(0,s.Opt)(t({validator:"resource",params:{pool:"$dimension"}}))},"minecraft:channeled_lightning":{victims:(0,s.Opt)((0,s.ListNode)(d))},"minecraft:construct_beacon":{level:e("int_bounds")},"minecraft:consume_item":{item:(0,s.Opt)(e("item_predicate"))},"minecraft:cured_zombie_villager":{villager:d,zombie:d},"minecraft:effects_changed":{effects:(0,s.Opt)((0,s.MapNode)(t({validator:"resource",params:{pool:"mob_effect"}}),(0,s.ObjectNode)({amplifier:e("int_bounds"),duration:e("int_bounds")}))),source:(0,s.Opt)(d)},"minecraft:enter_block":{block:(0,s.Opt)(t({validator:"resource",params:{pool:"block"}})),state:(0,s.Opt)((0,s.MapNode)(t(),t(),{validation:{validator:"block_state_map",params:{id:["pop",{push:"block"}]}}}))},"minecraft:enchanted_item":{levels:e("int_bounds"),item:(0,s.Opt)(e("item_predicate"))},"minecraft:entity_hurt_player":{damage:(0,s.Opt)(e("damage_predicate"))},"minecraft:entity_killed_player":{entity:d,killing_blow:(0,s.Opt)(e("damage_source_predicate"))},"minecraft:filled_bucket":{item:(0,s.Opt)(e("item_predicate"))},"minecraft:fishing_rod_hooked":{entity:d,item:(0,s.Opt)(e("item_predicate"))},"minecraft:hero_of_the_village":{location:(0,s.Opt)(e("location_predicate"))},"minecraft:inventory_changed":{slots:(0,s.Opt)((0,s.ObjectNode)({empty:e("int_bounds"),occupied:e("int_bounds"),full:e("int_bounds")})),items:(0,s.Opt)((0,s.ListNode)(e("item_predicate")))},"minecraft:item_durability_changed":{delta:e("int_bounds"),durability:e("int_bounds"),item:(0,s.Opt)(e("item_predicate"))},"minecraft:item_used_on_block":{item:(0,s.Opt)(e("item_predicate")),location:(0,s.Opt)(e("location_predicate"))},"minecraft:killed_by_crossbow":{unique_entity_types:e("int_bounds"),victims:(0,s.Opt)((0,s.ListNode)(d))},"minecraft:levitation":{distance:e("distance_predicate"),duration:e("int_bounds")},"minecraft:lightning_strike":{lightning:d,bystander:d},"minecraft:location":{location:(0,s.Opt)(e("location_predicate"))},"minecraft:nether_travel":{distance:e("distance_predicate"),entered:(0,s.Opt)(e("location_predicate")),exited:(0,s.Opt)(e("location_predicate"))},"minecraft:placed_block":{block:(0,s.Opt)(t({validator:"resource",params:{pool:"block"}})),state:(0,s.Opt)((0,s.MapNode)(t(),t(),{validation:{validator:"block_state_map",params:{id:["pop",{push:"block"}]}}})),item:(0,s.Opt)(e("item_predicate")),location:(0,s.Opt)(e("location_predicate"))},"minecraft:player_generates_container_loot":{loot_table:t({validator:"resource",params:{pool:"$loot_table"}})},"minecraft:player_hurt_entity":{damage:(0,s.Opt)(e("damage_predicate")),entity:d},"minecraft:player_interacted_with_entity":{item:(0,s.Opt)(e("item_predicate")),entity:d},"minecraft:player_killed_entity":{entity:d,killing_blow:(0,s.Opt)(e("damage_source_predicate"))},"minecraft:recipe_unlocked":{recipe:t({validator:"resource",params:{pool:"$recipe"}})},"minecraft:slept_in_bed":{location:(0,s.Opt)(e("location_predicate"))},"minecraft:slide_down_block":{block:(0,s.Opt)(t({validator:"resource",params:{pool:"block"}}))},"minecraft:shot_crossbow":{item:(0,s.Opt)(e("item_predicate"))},"minecraft:summoned_entity":{entity:d},"minecraft:tame_animal":{entity:d},"minecraft:target_hit":{projectile:d,shooter:d,signal_strength:e("int_bounds")},"minecraft:thrown_item_picked_up_by_entity":{entity:d,item:(0,s.Opt)(e("item_predicate"))},"minecraft:used_ender_eye":{distance:e("float_bounds")},"minecraft:used_totem":{item:(0,s.Opt)(e("item_predicate"))},"minecraft:using_item":{item:(0,s.Opt)(e("item_predicate"))},"minecraft:villager_trade":{villager:d,item:(0,s.Opt)(e("item_predicate"))},"minecraft:voluntary_exile":{location:e("location_predicate")}}},{context:"criterion"}))},{category:"predicate",context:"criterion"}))}ae.initAdvancementSchemas=He;var ne={},ce={};Object.defineProperty(ce,"__esModule",{value:!0});ce.initModelSchemas=void 0;const g=w;function Ke(o,r){g.Reference.bind(void 0,o);const e=g.StringNode.bind(void 0,r),t=(a,n,N)=>(0,g.ListNode)((0,g.NumberNode)({min:n,max:N}),{minLength:a,maxLength:a}),d=(0,g.ChoiceNode)([{type:"alias",match:a=>typeof a=="string"&&a.startsWith("#"),node:e(),change:a=>typeof a=="string"?`#${a}`:"#0"},{type:"reference",match:a=>typeof a=="string",node:e({validator:"resource",params:{pool:"$texture"}}),change:a=>typeof a=="string"?a.replace(/^#/,""):""}],{choiceContext:"texture"});o.register("model",(0,g.Mod)((0,g.ObjectNode)({parent:(0,g.Opt)(e({validator:"resource",params:{pool:"$model"}})),ambientocclusion:(0,g.Opt)((0,g.BooleanNode)()),gui_light:(0,g.Opt)(e({enum:"gui_light"})),textures:(0,g.Opt)((0,g.MapNode)(e(),d)),elements:(0,g.Opt)((0,g.ListNode)((0,g.ObjectNode)({from:t(3,-16,32),to:t(3,-16,32),rotation:(0,g.Opt)((0,g.ObjectNode)({origin:t(3),axis:e({enum:"axis"}),angle:(0,g.NumberEnum)({values:[-45,-22.5,0,22.5,45]}),rescale:(0,g.Opt)((0,g.BooleanNode)())})),shade:(0,g.Opt)((0,g.BooleanNode)()),faces:(0,g.MapNode)(e({enum:"direction"}),(0,g.ObjectNode)({texture:d,uv:(0,g.Opt)(t(4)),cullface:(0,g.Opt)(e({enum:"direction"})),rotation:(0,g.Opt)((0,g.NumberNode)({integer:!0})),tintindex:(0,g.Opt)((0,g.NumberNode)({integer:!0}))}))},{context:"model_element"}))),display:(0,g.Opt)((0,g.MapNode)(e({enum:"display_position"}),(0,g.ObjectNode)({rotation:t(3),translation:t(3,-80,80),scale:t(3,-4,4)},{context:"item_transform"}))),overrides:(0,g.Opt)((0,g.ListNode)((0,g.ObjectNode)({predicate:(0,g.MapNode)(e({enum:"item_model_predicates"}),(0,g.NumberNode)()),model:e({validator:"resource",params:{pool:"$model"}})},{context:"model_override"})))},{context:"model"}),{default:()=>({parent:"minecraft:item/generated",textures:{layer0:"minecraft:item/diamond"}})}))}ce.initModelSchemas=Ke;var de={};Object.defineProperty(de,"__esModule",{value:!0});de.initBlockDefinitionSchemas=void 0;const x=w;function Xe(o,r){const e=x.Reference.bind(void 0,o),t=x.StringNode.bind(void 0,r);o.register("block_definition",(0,x.Mod)((0,x.ChoiceNode)([{type:"variants",match:a=>a.variants!==void 0,node:(0,x.ObjectNode)({variants:(0,x.MapNode)(t(),e("model_variant"))}),change:a=>({variants:{"":{}}})},{type:"multipart",match:a=>a.multipart!==void 0,node:(0,x.ObjectNode)({multipart:(0,x.ListNode)((0,x.ObjectNode)({when:(0,x.Opt)(e("multipart_condition")),apply:e("model_variant")}))}),change:a=>({multipart:{when:{},apply:{}}})}],{context:"block_definition"}),{default:()=>({variants:{"":{model:"minecraft:block/stone"}}})}));const d={model:t({validator:"resource",params:{pool:"$model"}}),x:(0,x.Opt)((0,x.NumberEnum)({integer:!0,values:[0,90,180,270]})),y:(0,x.Opt)((0,x.NumberEnum)({integer:!0,values:[0,90,180,270]})),uvlock:(0,x.Opt)((0,x.BooleanNode)())};o.register("model_variant",(0,x.ChoiceNode)([{type:"object",node:(0,x.ObjectNode)(d),change:a=>Array.isArray(a)&&a.length>0?a[0]:{}},{type:"list",node:(0,x.ListNode)((0,x.ObjectNode)(Le(k({},d),{weight:(0,x.Opt)((0,x.NumberNode)({integer:!0,min:1}))}),{context:"model_variant"})),change:a=>[k({weight:1},a)]}],{context:"model_variant"})),o.register("multipart_condition",(0,x.ChoiceNode)([{type:"object",priority:-1,match:()=>!0,node:(0,x.MapNode)(t(),t()),change:a=>typeof a=="object"&&Array.isArray(a==null?void 0:a.OR)&&a.OR.length>0?a.OR[0]:{}},{type:"or",match:a=>typeof a=="object"&&(a==null?void 0:a.OR)!==void 0,node:(0,x.ObjectNode)({OR:(0,x.ListNode)(e("multipart_condition"))}),change:a=>({OR:[a!=null?a:{}]})}],{context:"multipart_condition"}))}de.initBlockDefinitionSchemas=Xe;Object.defineProperty(ne,"__esModule",{value:!0});ne.initAssetsSchemas=void 0;const Ze=ce,Ye=de;function Je(o,r){(0,Ye.initBlockDefinitionSchemas)(o,r),(0,Ze.initModelSchemas)(o,r)}ne.initAssetsSchemas=Je;var F={};(function(o){Object.defineProperty(o,"__esModule",{value:!0}),o.initCommonSchemas=o.IntProvider=o.FloatProvider=o.NoiseSettingsPresets=o.DefaultNoiseSettings=o.DimensionTypePresets=o.DefaultDimensionType=o.FunctionCases=o.ConditionCases=void 0;const r=w;o.DefaultDimensionType={ultrawarm:!1,natural:!0,piglin_safe:!1,respawn_anchor_works:!1,bed_works:!0,has_raids:!0,has_skylight:!0,has_ceiling:!1,coordinate_scale:1,ambient_light:0,logical_height:256,infiniburn:"minecraft:infiniburn_overworld",min_y:0,height:256},o.DefaultNoiseSettings={name:"minecraft:overworld",bedrock_roof_position:-10,bedrock_floor_position:0,sea_level:63,disable_mob_generation:!1,noise_caves_enabled:!0,aquifers_enabled:!0,deepslate_enabled:!0,noise:{min_y:0,height:256,density_factor:1,density_offset:-.46875,simplex_surface_noise:!0,random_density_offset:!0,size_horizontal:1,size_vertical:2,sampling:{xz_scale:1,y_scale:1,xz_factor:80,y_factor:160},top_slide:{target:-10,size:3,offset:0},bottom_slide:{target:-30,size:0,offset:0}},default_block:{Name:"minecraft:stone"},default_fluid:{Name:"minecraft:water",Properties:{level:"0"}}};function e(t,d){const a=r.StringNode.bind(void 0,d),n=r.Reference.bind(void 0,t);t.register("block_state",(0,r.Mod)((0,r.ObjectNode)({Name:a({validator:"resource",params:{pool:"block"}}),Properties:(0,r.Opt)((0,r.MapNode)(a(),a(),{validation:{validator:"block_state_map",params:{id:["pop",{push:"Name"}]}}}))},{context:"block_state"}),{default:()=>({Name:"minecraft:stone"})})),t.register("fluid_state",(0,r.Mod)((0,r.ObjectNode)({Name:a({validator:"resource",params:{pool:"fluid"}}),Properties:(0,r.Opt)((0,r.MapNode)(a(),a()))},{context:"fluid_state"}),{default:()=>({Name:"minecraft:water",Properties:{level:"0"}})})),t.register("block_pos",(0,r.Mod)((0,r.ListNode)((0,r.NumberNode)({integer:!0}),{minLength:3,maxLength:3}),{default:()=>[0,0,0]}));const N=u=>(0,r.Opt)((0,r.ChoiceNode)([{type:"number",node:(0,r.NumberNode)({integer:u}),change:v=>{var j,O;return v===void 0?0:(O=(j=v.min)!==null&&j!==void 0?j:v.max)!==null&&O!==void 0?O:0}},{type:"object",node:(0,r.ObjectNode)({min:(0,r.Opt)((0,r.NumberNode)({integer:u})),max:(0,r.Opt)((0,r.NumberNode)({integer:u}))},{context:"range"}),change:v=>({min:v!=null?v:0,max:v!=null?v:0})}]));t.register("int_bounds",N(!0)),t.register("float_bounds",N()),t.register("int_range",(0,r.ChoiceNode)([{type:"object",node:(0,r.ObjectNode)({min:(0,r.Opt)(n("number_provider")),max:(0,r.Opt)(n("number_provider"))})},{type:"number",node:(0,r.NumberNode)({integer:!0})}],{context:"range"}));const B=(u,v,j,O,P,L,I)=>{let re={};P&&Object.keys(I[P]).forEach(T=>{re[T]=(0,r.Mod)(I[P][T],{enabled:D=>D.push("type").get()===void 0})});const K=(0,r.ObjectNode)(k({type:(0,r.Mod)((0,r.Opt)(a({validator:"resource",params:{pool:u}})),{hidden:()=>!0}),[r.Switch]:[{push:"type"}],[r.Case]:I},re),{context:L,disableSwitchContext:!0}),X=[{type:v,node:I[O][j]}];return P&&X.push({type:"object",priority:-1,node:K}),Object.keys(I).forEach(T=>{X.push({type:T,match:D=>{var Z;if("minecraft:"+((Z=D==null?void 0:D.type)===null||Z===void 0?void 0:Z.replace(/^minecraft:/,""))===T)return!0;const q=D?Object.keys(D):[];return typeof D=="object"&&((q==null?void 0:q.length)===0||(q==null?void 0:q.length)===1&&(q==null?void 0:q[0])==="type")},node:K,change:D=>({type:T})})}),(0,r.ChoiceNode)(X,{context:L,choiceContext:`${L}.type`})};t.register("number_provider",B("loot_number_provider_type","number","value","minecraft:constant","minecraft:uniform","number_provider",{"minecraft:constant":{value:(0,r.NumberNode)()},"minecraft:uniform":{min:n("number_provider"),max:n("number_provider")},"minecraft:binomial":{n:n("number_provider"),p:n("number_provider")},"minecraft:score":{target:n("scoreboard_name_provider"),score:a({validator:"objective"}),scale:(0,r.Opt)((0,r.NumberNode)())}})),t.register("scoreboard_name_provider",B("loot_score_provider_type","string","target","minecraft:context",null,"score_provider",{"minecraft:fixed":{name:a({validator:"entity",params:{amount:"multiple",type:"entities",isScoreHolder:!0}})},"minecraft:context":{target:(0,r.Mod)(a({enum:"entity_source"}),{default:()=>"this"})}})),t.register("nbt_provider",B("loot_nbt_provider_type","string","target","minecraft:context",null,"nbt_provider",{"minecraft:storage":{source:a({validator:"resource",params:{pool:"$storage"}})},"minecraft:context":{target:(0,r.Mod)(a({enum:"copy_source"}),{default:()=>"this"})}})),o.FloatProvider=u=>B("float_provider_type","number","value","minecraft:constant",null,"float_provider",{"minecraft:constant":{value:(0,r.NumberNode)(u)},"minecraft:uniform":{value:(0,r.ObjectNode)({min_inclusive:(0,r.NumberNode)(u),max_exclusive:(0,r.NumberNode)(u)})},"minecraft:clamped_normal":{value:(0,r.ObjectNode)({min:(0,r.NumberNode)(),max:(0,r.NumberNode)(),mean:(0,r.NumberNode)(),deviation:(0,r.NumberNode)()})},"minecraft:trapezoid":{value:(0,r.ObjectNode)({min:(0,r.NumberNode)(),max:(0,r.NumberNode)(),plateau:(0,r.NumberNode)()})}}),t.register("float_provider",(0,o.FloatProvider)()),o.IntProvider=u=>B("int_provider_type","number","value","minecraft:constant",null,"int_provider",{"minecraft:constant":{value:(0,r.NumberNode)(k({integer:!0},u))},"minecraft:uniform":{value:(0,r.ObjectNode)({min_inclusive:(0,r.NumberNode)(k({integer:!0},u)),max_inclusive:(0,r.NumberNode)(k({integer:!0},u))})},"minecraft:biased_to_bottom":{value:(0,r.ObjectNode)({min_inclusive:(0,r.NumberNode)(k({integer:!0},u)),max_inclusive:(0,r.NumberNode)(k({integer:!0},u))})},"minecraft:clamped":{value:(0,r.ObjectNode)({min_inclusive:(0,r.NumberNode)(k({integer:!0},u)),max_inclusive:(0,r.NumberNode)(k({integer:!0},u)),source:n("int_provider")})}}),t.register("int_provider",(0,o.IntProvider)()),t.register("vertical_anchor",(0,r.ChoiceNode)(["absolute","above_bottom","below_top"].map(u=>({type:u,match:v=>(v==null?void 0:v[u])!==void 0,change:v=>{var j,O,P;return{[u]:(P=(O=(j=v.absolute)!==null&&j!==void 0?j:v.above_bottom)!==null&&O!==void 0?O:v.below_top)!==null&&P!==void 0?P:0}},node:(0,r.ObjectNode)({[u]:(0,r.NumberNode)({integer:!0,min:-2048,max:2047})})})),{context:"vertical_anchor"})),t.register("height_provider",B("height_provider_type","number","value","minecraft:constant",null,"height_provider",{"minecraft:constant":{value:n("vertical_anchor")},"minecraft:uniform":{min_inclusive:n("vertical_anchor"),max_inclusive:n("vertical_anchor")},"minecraft:biased_to_bottom":{min_inclusive:n("vertical_anchor"),max_inclusive:n("vertical_anchor"),inner:(0,r.Opt)((0,r.NumberNode)({integer:!0,min:1}))},"minecraft:very_biased_to_bottom":{min_inclusive:n("vertical_anchor"),max_inclusive:n("vertical_anchor"),inner:(0,r.Opt)((0,r.NumberNode)({integer:!0,min:1}))},"minecraft:trapezoid":{min_inclusive:n("vertical_anchor"),max_inclusive:n("vertical_anchor"),plateau:(0,r.Opt)((0,r.NumberNode)({integer:!0}))}})),o.ConditionCases=(u=a({enum:"entity_source"}))=>({"minecraft:alternative":{terms:(0,r.ListNode)(n("condition"))},"minecraft:block_state_property":{block:a({validator:"resource",params:{pool:"block"}}),properties:(0,r.MapNode)(a(),a(),{validation:{validator:"block_state_map",params:{id:["pop",{push:"block"}]}}})},"minecraft:damage_source_properties":{predicate:n("damage_source_predicate")},"minecraft:entity_properties":{entity:u,predicate:n("entity_predicate")},"minecraft:entity_scores":{entity:u,scores:(0,r.MapNode)(a({validator:"objective"}),n("int_range"))},"minecraft:inverted":{term:n("condition")},"minecraft:killed_by_player":{inverse:(0,r.Opt)((0,r.BooleanNode)())},"minecraft:location_check":{offsetX:(0,r.Opt)((0,r.NumberNode)({integer:!0})),offsetY:(0,r.Opt)((0,r.NumberNode)({integer:!0})),offsetZ:(0,r.Opt)((0,r.NumberNode)({integer:!0})),predicate:n("location_predicate")},"minecraft:match_tool":{predicate:n("item_predicate")},"minecraft:random_chance":{chance:(0,r.NumberNode)({min:0,max:1})},"minecraft:random_chance_with_looting":{chance:(0,r.NumberNode)({min:0,max:1}),looting_multiplier:(0,r.NumberNode)()},"minecraft:reference":{name:a({validator:"resource",params:{pool:"$predicate"}})},"minecraft:table_bonus":{enchantment:a({validator:"resource",params:{pool:"enchantment"}}),chances:(0,r.ListNode)((0,r.NumberNode)({min:0,max:1}))},"minecraft:time_check":{value:n("int_range"),period:(0,r.Opt)((0,r.NumberNode)({integer:!0}))},"minecraft:value_check":{value:n("number_provider"),range:n("int_range")},"minecraft:weather_check":{raining:(0,r.Opt)((0,r.BooleanNode)()),thundering:(0,r.Opt)((0,r.BooleanNode)())}}),o.FunctionCases=(u,v=a({enum:"copy_source"}),j=a({enum:"entity_source"}))=>{const O={"minecraft:apply_bonus":{enchantment:a({validator:"resource",params:{pool:"enchantment"}}),formula:a({validator:"resource",params:{pool:d.get("loot_table_apply_bonus_formula")}}),parameters:(0,r.Mod)((0,r.ObjectNode)({bonusMultiplier:(0,r.Mod)((0,r.NumberNode)(),{enabled:L=>L.pop().push("formula").get()==="minecraft:uniform_bonus_count"}),extra:(0,r.Mod)((0,r.NumberNode)(),{enabled:L=>L.pop().push("formula").get()==="minecraft:binomial_with_bonus_count"}),probability:(0,r.Mod)((0,r.NumberNode)(),{enabled:L=>L.pop().push("formula").get()==="minecraft:binomial_with_bonus_count"})}),{enabled:L=>L.push("formula").get()!=="minecraft:ore_drops"})},"minecraft:copy_name":{source:v},"minecraft:copy_nbt":{source:n("nbt_provider"),ops:(0,r.ListNode)((0,r.ObjectNode)({source:a({validator:"nbt_path",params:{category:{getter:"copy_source",path:["pop","pop","pop",{push:"source"}]}}}),target:a({validator:"nbt_path",params:{category:"minecraft:item"}}),op:a({enum:["replace","append","merge"]})},{context:"nbt_operation"}))},"minecraft:copy_state":{block:a({validator:"resource",params:{pool:"block"}}),properties:(0,r.ListNode)(a({validator:"block_state_key",params:{id:["pop","pop",{push:"block"}]}}))},"minecraft:enchant_randomly":{enchantments:(0,r.Opt)((0,r.ListNode)(a({validator:"resource",params:{pool:"enchantment"}})))},"minecraft:enchant_with_levels":{levels:n("number_provider"),treasure:(0,r.Opt)((0,r.BooleanNode)())},"minecraft:exploration_map":{destination:(0,r.Opt)(a({enum:"map_feature"})),decoration:(0,r.Opt)(a({enum:"map_decoration"})),zoom:(0,r.Opt)((0,r.NumberNode)({integer:!0})),search_radius:(0,r.Opt)((0,r.NumberNode)({integer:!0})),skip_existing_chunks:(0,r.Opt)((0,r.BooleanNode)())},"minecraft:fill_player_head":{entity:j},"minecraft:limit_count":{limit:n("int_range")},"minecraft:looting_enchant":{count:n("number_provider"),limit:(0,r.Opt)((0,r.NumberNode)({integer:!0}))},"minecraft:set_attributes":{modifiers:(0,r.ListNode)(n("attribute_modifier"))},"minecraft:set_banner_pattern":{patterns:(0,r.ListNode)((0,r.ObjectNode)({pattern:a({enum:"banner_pattern"}),color:a({enum:"dye_color"})})),append:(0,r.Opt)((0,r.BooleanNode)())},"minecraft:set_contents":{entries:(0,r.ListNode)(n("loot_entry"))},"minecraft:set_count":{count:n("number_provider"),add:(0,r.Opt)((0,r.BooleanNode)())},"minecraft:set_damage":{damage:n("number_provider"),add:(0,r.Opt)((0,r.BooleanNode)())},"minecraft:set_enchantments":{enchantments:(0,r.MapNode)(a({validator:"resource",params:{pool:"enchantment"}}),n("number_provider")),add:(0,r.Opt)((0,r.BooleanNode)())},"minecraft:set_loot_table":{name:a({validator:"resource",params:{pool:"$loot_table"}}),seed:(0,r.Opt)((0,r.NumberNode)({integer:!0}))},"minecraft:set_lore":{entity:(0,r.Opt)(j),lore:(0,r.ListNode)(n("text_component")),replace:(0,r.Opt)((0,r.BooleanNode)())},"minecraft:set_name":{entity:(0,r.Opt)(j),name:(0,r.Opt)(n("text_component"))},"minecraft:set_nbt":{tag:a({validator:"nbt",params:{registry:{category:"minecraft:item"}}})},"minecraft:set_stew_effect":{effects:(0,r.Opt)((0,r.ListNode)((0,r.ObjectNode)({type:a({validator:"resource",params:{pool:"mob_effect"}}),duration:n("number_provider")})))}},P={};return d.get("loot_function_type").forEach(L=>{P[L]=k(k({},O[L]),u)}),P},o.DimensionTypePresets=u=>(0,r.ObjectOrPreset)(a({validator:"resource",params:{pool:"$dimension_type"}}),u,{"minecraft:overworld":o.DefaultDimensionType,"minecraft:the_nether":{name:"minecraft:the_nether",ultrawarm:!0,natural:!1,shrunk:!0,piglin_safe:!0,respawn_anchor_works:!0,bed_works:!1,has_raids:!1,has_skylight:!1,has_ceiling:!0,ambient_light:.1,fixed_time:18e3,logical_height:128,effects:"minecraft:the_nether",infiniburn:"minecraft:infiniburn_nether",min_y:0,height:256},"minecraft:the_end":{name:"minecraft:the_end",ultrawarm:!1,natural:!1,shrunk:!1,piglin_safe:!1,respawn_anchor_works:!1,bed_works:!1,has_raids:!0,has_skylight:!1,has_ceiling:!1,ambient_light:0,fixed_time:6e3,logical_height:256,effects:"minecraft:the_end",infiniburn:"minecraft:infiniburn_end",min_y:0,height:256}}),o.NoiseSettingsPresets=u=>(0,r.ObjectOrPreset)(a({validator:"resource",params:{pool:"$worldgen/noise_settings"}}),u,{"minecraft:overworld":o.DefaultNoiseSettings,"minecraft:nether":{name:"minecraft:nether",bedrock_roof_position:0,bedrock_floor_position:0,sea_level:32,disable_mob_generation:!0,noise_caves_enabled:!1,aquifers_enabled:!1,deepslate_enabled:!1,noise:{min_y:0,height:128,density_factor:0,density_offset:.019921875,simplex_surface_noise:!1,random_density_offset:!1,size_horizontal:1,size_vertical:2,sampling:{xz_scale:1,y_scale:3,xz_factor:80,y_factor:60},top_slide:{target:120,size:3,offset:0},bottom_slide:{target:320,size:4,offset:-1}},default_block:{Name:"minecraft:netherrack"},default_fluid:{Name:"minecraft:lava",Properties:{level:"0"}}},"minecraft:end":{name:"minecraft:end",bedrock_roof_position:-10,bedrock_floor_position:-10,sea_level:0,disable_mob_generation:!0,noise_caves_enabled:!1,aquifers_enabled:!1,deepslate_enabled:!1,noise:{min_y:0,height:128,density_factor:0,density_offset:0,simplex_surface_noise:!0,random_density_offset:!1,island_noise_override:!0,size_horizontal:2,size_vertical:1,sampling:{xz_scale:2,y_scale:1,xz_factor:80,y_factor:160},top_slide:{target:-3e3,size:64,offset:-46},bottom_slide:{target:-30,size:7,offset:1}},default_block:{Name:"minecraft:end_stone"},default_fluid:{Name:"minecraft:air"}},"minecraft:amplified":{name:"minecraft:amplified",bedrock_roof_position:-10,bedrock_floor_position:0,sea_level:63,disable_mob_generation:!1,noise_caves_enabled:!0,aquifers_enabled:!0,deepslate_enabled:!0,noise:{min_y:0,height:256,density_factor:1,density_offset:-.46875,simplex_surface_noise:!0,random_density_offset:!0,amplified:!0,size_horizontal:1,size_vertical:2,sampling:{xz_scale:1,y_scale:1,xz_factor:80,y_factor:160},top_slide:{target:-10,size:3,offset:0},bottom_slide:{target:-30,size:0,offset:0}},default_block:{Name:"minecraft:stone"},default_fluid:{Name:"minecraft:water",Properties:{level:"0"}}},"minecraft:caves":{name:"minecraft:caves",bedrock_roof_position:0,bedrock_floor_position:0,sea_level:32,disable_mob_generation:!0,noise_caves_enabled:!1,aquifers_enabled:!1,deepslate_enabled:!1,noise:{min_y:0,height:128,density_factor:0,density_offset:.019921875,simplex_surface_noise:!1,random_density_offset:!1,size_horizontal:1,size_vertical:2,sampling:{xz_scale:1,y_scale:3,xz_factor:80,y_factor:60},top_slide:{target:120,size:3,offset:0},bottom_slide:{target:320,size:4,offset:-1}},default_block:{Name:"minecraft:stone"},default_fluid:{Name:"minecraft:water",Properties:{level:"0"}}},"minecraft:floating_islands":{name:"minecraft:floating_islands",bedrock_roof_position:-10,bedrock_floor_position:-10,sea_level:0,disable_mob_generation:!0,noise_caves_enabled:!1,aquifers_enabled:!1,deepslate_enabled:!1,noise:{min_y:0,height:128,density_factor:0,density_offset:0,simplex_surface_noise:!0,random_density_offset:!1,island_noise_override:!0,size_horizontal:2,size_vertical:1,sampling:{xz_scale:2,y_scale:1,xz_factor:80,y_factor:160},top_slide:{target:-3e3,size:64,offset:-46},bottom_slide:{target:-30,size:7,offset:1}},default_block:{Name:"minecraft:stone"},default_fluid:{Name:"minecraft:water",Properties:{level:"0"}}}})}o.initCommonSchemas=e})(F);var se={};Object.defineProperty(se,"__esModule",{value:!0});se.initConditionSchemas=void 0;const Y=w,Qe=F;function et(o,r){const e=Y.Reference.bind(void 0,o),t=Y.StringNode.bind(void 0,r);o.register("predicate",(0,Y.ObjectOrList)(e("condition"),{choiceContext:"condition"})),o.register("condition",(0,Y.Mod)((0,Y.ObjectNode)({condition:t({validator:"resource",params:{pool:"loot_condition_type"}}),[Y.Switch]:[{push:"condition"}],[Y.Case]:(0,Qe.ConditionCases)()},{category:"predicate",context:"condition"}),{default:()=>({condition:"minecraft:entity_properties",entity:"this"})}))}se.initConditionSchemas=et;var me={};Object.defineProperty(me,"__esModule",{value:!0});me.initDimensionSchemas=void 0;const f=w,Be=F;function tt(o,r){const e=f.Reference.bind(void 0,o),t=f.StringNode.bind(void 0,r),d=a=>(0,f.Mod)(a,{enabled:n=>n.push("preset").get()===void 0});o.register("dimension",(0,f.Mod)((0,f.ObjectNode)({type:(0,Be.DimensionTypePresets)(e("dimension_type")),generator:(0,f.ObjectNode)({type:t({validator:"resource",params:{pool:"worldgen/chunk_generator"}}),[f.Switch]:[{push:"type"}],[f.Case]:{"minecraft:noise":{seed:(0,f.NumberNode)({integer:!0}),settings:(0,Be.NoiseSettingsPresets)(e("noise_settings")),biome_source:(0,f.ObjectNode)({type:t({validator:"resource",params:{pool:"worldgen/biome_source"}}),[f.Switch]:[{push:"type"}],[f.Case]:{"minecraft:fixed":{biome:t({validator:"resource",params:{pool:"$worldgen/biome"}})},"minecraft:multi_noise":{seed:(0,f.NumberNode)({integer:!0}),preset:(0,f.Opt)(t({enum:["nether"]})),altitude_noise:d(e("generator_biome_noise")),temperature_noise:d(e("generator_biome_noise")),humidity_noise:d(e("generator_biome_noise")),weirdness_noise:d(e("generator_biome_noise")),biomes:d((0,f.Mod)((0,f.ListNode)(e("generator_biome")),{default:()=>[{biome:"minecraft:plains"}]}))},"minecraft:checkerboard":{scale:(0,f.Opt)((0,f.NumberNode)({integer:!0,min:0,max:62})),biomes:(0,f.ListNode)(t({validator:"resource",params:{pool:"$worldgen/biome"}}))},"minecraft:the_end":{seed:(0,f.NumberNode)({integer:!0})},"minecraft:vanilla_layered":{seed:(0,f.NumberNode)({integer:!0}),large_biomes:(0,f.Opt)((0,f.BooleanNode)()),legacy_biome_init_layer:(0,f.Opt)((0,f.BooleanNode)())}}},{category:"predicate",disableSwitchContext:!0})},"minecraft:flat":{settings:(0,f.ObjectNode)({biome:(0,f.Opt)(t({validator:"resource",params:{pool:"$worldgen/biome"}})),lakes:(0,f.Opt)((0,f.BooleanNode)()),features:(0,f.Opt)((0,f.BooleanNode)()),layers:(0,f.ListNode)(e("generator_layer")),structures:e("generator_structures")})}}},{disableSwitchContext:!0})},{category:"pool",context:"dimension"}),{default:()=>{const a=Math.floor(Math.random()*4294967296)-2147483648;return{type:"minecraft:overworld",generator:{type:"minecraft:noise",seed:a,biome_source:{type:"minecraft:fixed",seed:a,biome:"minecraft:plains"},settings:"minecraft:overworld"}}}})),o.register("generator_biome",(0,f.Mod)((0,f.ObjectNode)({biome:t({validator:"resource",params:{pool:"$worldgen/biome"}}),parameters:(0,f.ObjectNode)({altitude:(0,f.NumberNode)(),temperature:(0,f.NumberNode)(),humidity:(0,f.NumberNode)(),weirdness:(0,f.NumberNode)(),offset:(0,f.NumberNode)()})},{context:"generator_biome"}),{default:()=>({biome:"minecraft:plains",parameters:{altitude:0,temperature:0,humidity:0,weirdness:0,offset:0}})})),o.register("generator_biome_noise",(0,f.Mod)((0,f.ObjectNode)({firstOctave:(0,f.NumberNode)({integer:!0}),amplitudes:(0,f.ListNode)((0,f.NumberNode)())},{context:"generator_biome_noise"}),{default:()=>({firstOctave:-7,amplitudes:[1,1]})}))}me.initDimensionSchemas=tt;var le={};Object.defineProperty(le,"__esModule",{value:!0});le.initDimensionTypeSchemas=void 0;const M=w,rt=F;function ot(o,r){const e=M.StringNode.bind(void 0,r);o.register("dimension_type",(0,M.Mod)((0,M.ObjectNode)({name:(0,M.Mod)(e({validator:"resource",params:{pool:"$dimension_type",isDefinition:!0}}),{enabled:t=>t.getArray().length>0}),ultrawarm:(0,M.BooleanNode)(),natural:(0,M.BooleanNode)(),piglin_safe:(0,M.BooleanNode)(),respawn_anchor_works:(0,M.BooleanNode)(),bed_works:(0,M.BooleanNode)(),has_raids:(0,M.BooleanNode)(),has_skylight:(0,M.BooleanNode)(),has_ceiling:(0,M.BooleanNode)(),coordinate_scale:(0,M.NumberNode)({min:1e-5,max:3e7}),ambient_light:(0,M.NumberNode)(),fixed_time:(0,M.Opt)((0,M.NumberNode)({integer:!0})),logical_height:(0,M.NumberNode)({integer:!0,min:0,max:4096}),effects:(0,M.Opt)(e({enum:["minecraft:overworld","minecraft:the_nether","minecraft:the_end"]})),infiniburn:e({validator:"resource",params:{pool:"$tag/block"}}),min_y:(0,M.NumberNode)({integer:!0,min:-2048,max:2047}),height:(0,M.NumberNode)({integer:!0,min:0,max:4096})},{context:"dimension_type"}),t=>({default:()=>rt.DefaultDimensionType,validate:(d,a,n,N)=>(a=t.validate(d,a,n,N),(a==null?void 0:a.min_y)+(a==null?void 0:a.height)>2047&&n.add(d.push("height"),"error.min_y_plus_height",2047),(a==null?void 0:a.logical_height)>(a==null?void 0:a.height)&&n.add(d.push("logical_height"),"error.logical_height"),(a==null?void 0:a.height)%16!==0&&n.add(d.push("height"),"error.height_multiple",16),(a==null?void 0:a.min_y)%16!==0&&n.add(d.push("min_y"),"error.min_y_multiple",16),a)})))}le.initDimensionTypeSchemas=ot;var _e={};Object.defineProperty(_e,"__esModule",{value:!0});_e.initItemModifierSchemas=void 0;const A=w,it=F;function at(o,r){const e=A.Reference.bind(void 0,o),t=A.StringNode.bind(void 0,r);o.register("item_modifier",(0,A.ObjectOrList)(e("function"),{choiceContext:"function"}));const d={conditions:(0,A.Opt)((0,A.ListNode)(e("condition")))};o.register("function",(0,A.Mod)((0,A.ObjectNode)({function:t({validator:"resource",params:{pool:"loot_function_type"}}),[A.Switch]:[{push:"function"}],[A.Case]:(0,it.FunctionCases)(d)},{category:"function",context:"function"}),{default:()=>[{function:"minecraft:set_count",count:1}]}))}_e.initItemModifierSchemas=at;var pe={},R={};Object.defineProperty(R,"__esModule",{value:!0});R.LootFunctions=R.LootConditions=R.LootCopySources=R.LootEntitySources=R.LootTableTypes=void 0;R.LootTableTypes=new Map([["minecraft:advancement_entity",{requires:[7,8],allows:[]}],["minecraft:advancement_reward",{requires:[7,8],allows:[]}],["minecraft:barter",{requires:[8],allows:[]}],["minecraft:block",{requires:[1,7,9],allows:[0,4,8]}],["minecraft:chest",{requires:[7],allows:[8]}],["minecraft:command",{requires:[7],allows:[8]}],["minecraft:empty",{requires:[],allows:[]}],["minecraft:entity",{requires:[2,7,8],allows:[3,5,6]}],["minecraft:fishing",{requires:[7,9],allows:[8]}],["minecraft:generic",{requires:[2,0,1,3,4,5,6,7,8,9],allows:[]}],["minecraft:gift",{requires:[7,8],allows:[]}],["minecraft:selector",{requires:[7],allows:[8]}]]);R.LootEntitySources=new Map([["direct_killer",[3]],["killer",[5]],["killer_player",[5]],["this",[8]]]);R.LootCopySources=new Map([["block_entity",[0]],["killer",[5]],["killer_player",[5]],["this",[8]]]);R.LootConditions=new Map([["minecraft:alternative",[]],["minecraft:block_state_property",[1]],["minecraft:damage_source_properties",[2]],["minecraft:entity_properties",[7]],["minecraft:entity_scores",[]],["minecraft:inverted",[]],["minecraft:killed_by_player",[6]],["minecraft:location_check",[]],["minecraft:match_tool",[9]],["minecraft:random_chance",[]],["minecraft:random_chance_with_looting",[5]],["minecraft:reference",[]],["minecraft:survives_explosion",[4]],["minecraft:table_bonus",[9]],["minecraft:time_check",[]],["minecraft:weather_check",[]]]);R.LootFunctions=new Map([["minecraft:apply_bonus",[9]],["minecraft:copy_name",[]],["minecraft:copy_nbt",[]],["minecraft:copy_state",[1]],["minecraft:enchant_randomly",[]],["minecraft:enchant_with_levels",[]],["minecraft:exploration_map",[7]],["minecraft:explosion_decay",[]],["minecraft:fill_player_head",[]],["minecraft:furnace_smelt",[]],["minecraft:limit_count",[]],["minecraft:looting_enchant",[5]],["minecraft:set_attributes",[]],["minecraft:set_banner_pattern",[]],["minecraft:set_contents",[]],["minecraft:set_count",[]],["minecraft:set_damage",[]],["minecraft:set_loot_table",[]],["minecraft:set_lore",[]],["minecraft:set_name",[]],["minecraft:set_nbt",[]],["minecraft:set_stew_effect",[]]]);Object.defineProperty(pe,"__esModule",{value:!0});pe.initLootTableSchemas=void 0;const b=w,ee=R,ze=F;function nt(o,r){const e=b.Reference.bind(void 0,o),t=b.StringNode.bind(void 0,r),d={conditions:(0,b.Opt)((0,b.ListNode)(e("loot_condition")))},a=k({functions:(0,b.Opt)((0,b.ListNode)(e("loot_function")))},d);function n(O,P,L){const I=[],re=K=>r.get(P).filter(X=>{var T;return((T=O.get(X))!==null&&T!==void 0?T:[]).every(Z=>K.includes(Z))});for(const[K,{allows:X,requires:T}]of ee.LootTableTypes){const D=[...X,...T];I.push({match:Z=>Z.getModel().get(new b.Path(["type"]))===K,node:L(re(D))})}return I.push({match:K=>!0,node:L(P)}),(0,b.SwitchNode)(I)}const N=n(ee.LootConditions,"loot_condition_type",O=>t({validator:"resource",params:{pool:O instanceof Array?O:"loot_condition_type"}})),B=n(ee.LootFunctions,"loot_function_type",O=>t({validator:"resource",params:{pool:O instanceof Array?O:"loot_function_type"}})),u=n(ee.LootEntitySources,"entity_source",O=>t({enum:O})),v=n(ee.LootCopySources,"copy_source",O=>t({enum:O}));o.register("loot_table",(0,b.Mod)((0,b.ObjectNode)({type:(0,b.Opt)(t({validator:"resource",params:{pool:r.get("loot_context_type")}})),pools:(0,b.Opt)((0,b.ListNode)((0,b.Mod)((0,b.ObjectNode)(k({rolls:e("number_provider"),bonus_rolls:(0,b.Opt)(e("number_provider")),entries:(0,b.ListNode)(e("loot_entry"))},a),{category:"pool",context:"loot_pool"}),{default:()=>({rolls:1,entries:[{type:"minecraft:item",name:"minecraft:stone"}]})}))),functions:(0,b.Opt)((0,b.ListNode)(e("loot_function")))},{context:"loot_table"}),{default:()=>({pools:[{rolls:1,entries:[{type:"minecraft:item",name:"minecraft:stone"}]}]})}));const j={enabled:O=>{var P;return((P=O.pop().get())===null||P===void 0?void 0:P.length)>1&&!["minecraft:alternatives","minecraft:group","minecraft:sequence"].includes(O.push("type").get())}};o.register("loot_entry",(0,b.Mod)((0,b.ObjectNode)({type:t({validator:"resource",params:{pool:"loot_pool_entry_type"}}),weight:(0,b.Opt)((0,b.Mod)((0,b.NumberNode)({integer:!0,min:1}),j)),quality:(0,b.Opt)((0,b.Mod)((0,b.NumberNode)({integer:!0}),j)),[b.Switch]:[{push:"type"}],[b.Case]:{"minecraft:alternatives":k({children:(0,b.ListNode)(e("loot_entry"))},a),"minecraft:dynamic":k({name:t()},a),"minecraft:group":k({children:(0,b.ListNode)(e("loot_entry"))},a),"minecraft:item":k({name:t({validator:"resource",params:{pool:"item"}})},a),"minecraft:loot_table":k({name:t({validator:"resource",params:{pool:"$loot_table"}})},a),"minecraft:sequence":k({children:(0,b.ListNode)(e("loot_entry"))},a),"minecraft:tag":k({name:t({validator:"resource",params:{pool:"$tag/item"}}),expand:(0,b.Opt)((0,b.BooleanNode)())},a)}},{context:"loot_entry"}),{default:()=>({type:"minecraft:item",name:"minecraft:stone"})})),o.register("loot_function",(0,b.Mod)((0,b.ObjectNode)({function:B,[b.Switch]:[{push:"function"}],[b.Case]:(0,ze.FunctionCases)(d,v,u)},{category:"function",context:"function"}),{default:()=>({function:"minecraft:set_count",count:1})})),o.register("loot_condition",(0,b.Mod)((0,b.ObjectNode)({condition:N,[b.Switch]:[{push:"condition"}],[b.Case]:(0,ze.ConditionCases)(u)},{category:"predicate",context:"condition"}),{default:()=>({condition:"minecraft:random_chance",chance:.5})})),o.register("attribute_modifier",(0,b.Mod)((0,b.ObjectNode)({attribute:t({validator:"resource",params:{pool:"attribute"}}),name:t(),amount:e("number_provider"),operation:t({enum:["addition","multiply_base","multiply_total"]}),slot:(0,b.StringOrList)(t({enum:"slot"}))},{context:"attribute_modifier"}),{default:()=>({attribute:"minecraft:generic.max_health",name:"",amount:1,operation:"addition",slot:"mainhand"})}))}pe.initLootTableSchemas=nt;var ue={};Object.defineProperty(ue,"__esModule",{value:!0});ue.initPackMcmetaSchemas=void 0;const J=w,G=7;function ct(o,r){o.register("pack_mcmeta",(0,J.Mod)((0,J.ObjectNode)({pack:(0,J.Mod)((0,J.ObjectNode)({pack_format:(0,J.Mod)((0,J.NumberNode)({integer:!0,min:G,max:G}),{default:()=>G,canUpdate:(e,t)=>t!==G,update:()=>[{name:"pack_format",params:[G],newValue:G}]}),description:(0,J.Reference)(o,"text_component")}),{default:()=>({pack_format:G,description:""})})}),{default:()=>({pack:{pack_format:G,description:""}})}))}ue.initPackMcmetaSchemas=ct;var fe={};Object.defineProperty(fe,"__esModule",{value:!0});fe.initPredicatesSchemas=void 0;const c=w;function dt(o,r){const e=c.Reference.bind(void 0,o),t=c.StringNode.bind(void 0,r),d=(0,c.ChoiceNode)([{type:"string",node:t(),change:a=>typeof a=="boolean"||typeof a=="number"?a.toString():""},{type:"number",node:(0,c.NumberNode)(),change:a=>typeof a=="string"?parseInt(a):0},{type:"object",node:(0,c.ObjectNode)({min:(0,c.Opt)((0,c.NumberNode)({integer:!0})),max:(0,c.Opt)((0,c.NumberNode)({integer:!0}))}),change:a=>typeof a=="number"?{min:a,max:a}:{}},{type:"boolean",node:(0,c.BooleanNode)(),change:a=>a==="true"||a===1}]);o.register("item_predicate",(0,c.ObjectNode)({items:(0,c.Opt)((0,c.ListNode)(t({validator:"resource",params:{pool:"item"}}))),tag:(0,c.Opt)(t({validator:"resource",params:{pool:"$tag/item"}})),count:e("int_bounds"),durability:e("int_bounds"),potion:(0,c.Opt)(t({validator:"resource",params:{pool:"potion"}})),nbt:(0,c.Opt)(t({validator:"nbt",params:{registry:{category:"minecraft:item",id:["pop",{push:"item"}]}}})),enchantments:(0,c.Opt)((0,c.ListNode)(e("enchantment_predicate")))},{context:"item"})),o.register("enchantment_predicate",(0,c.ObjectNode)({enchantment:(0,c.Opt)(t({validator:"resource",params:{pool:"enchantment"}})),levels:e("int_bounds")},{context:"enchantment"})),o.register("block_predicate",(0,c.ObjectNode)({blocks:(0,c.Opt)((0,c.ListNode)(t({validator:"resource",params:{pool:"block"}}))),tag:(0,c.Opt)(t({validator:"resource",params:{pool:"$tag/block"}})),nbt:(0,c.Opt)(t({validator:"nbt",params:{registry:{category:"minecraft:block",id:["pop",{push:"block"}]}}})),state:(0,c.Opt)((0,c.MapNode)(t(),d,{validation:{validator:"block_state_map",params:{id:["pop",{push:"block"}]}}}))},{context:"block"})),o.register("fluid_predicate",(0,c.ObjectNode)({fluid:(0,c.Opt)(t({validator:"resource",params:{pool:"fluid"}})),tag:(0,c.Opt)(t({validator:"resource",params:{pool:"$tag/fluid"}})),state:(0,c.Opt)((0,c.MapNode)(t(),d))},{context:"fluid"})),o.register("location_predicate",(0,c.ObjectNode)({position:(0,c.Opt)((0,c.ObjectNode)({x:e("float_bounds"),y:e("float_bounds"),z:e("float_bounds")})),biome:(0,c.Opt)(t({validator:"resource",params:{pool:"$worldgen/biome"}})),feature:(0,c.Opt)(t({enum:r.get("worldgen/structure_feature").map(a=>a.slice(10))})),dimension:(0,c.Opt)(t({validator:"resource",params:{pool:"$dimension"}})),light:(0,c.Opt)((0,c.ObjectNode)({light:e("int_bounds")})),smokey:(0,c.Opt)((0,c.BooleanNode)()),block:(0,c.Opt)(e("block_predicate")),fluid:(0,c.Opt)(e("fluid_predicate"))},{context:"location"})),o.register("statistic_predicate",(0,c.ObjectNode)({type:t({validator:"resource",params:{pool:"stat_type"}}),stat:t(),value:e("int_bounds"),[c.Switch]:[{push:"type"}],[c.Case]:{"minecraft:mined":{stat:t({validator:"resource",params:{pool:"block"}})},"minecraft:crafted":{stat:t({validator:"resource",params:{pool:"item"}})},"minecraft:used":{stat:t({validator:"resource",params:{pool:"item"}})},"minecraft:broken":{stat:t({validator:"resource",params:{pool:"item"}})},"minecraft:picked_up":{stat:t({validator:"resource",params:{pool:"item"}})},"minecraft:dropped":{stat:t({validator:"resource",params:{pool:"item"}})},"minecraft:killed":{stat:t({validator:"resource",params:{pool:"entity_type"}})},"minecraft:killed_by":{stat:t({validator:"resource",params:{pool:"entity_type"}})},"minecraft:custom":{stat:t({validator:"resource",params:{pool:"custom_stat"}})}}})),o.register("player_predicate",(0,c.ObjectNode)({gamemode:(0,c.Opt)(t({enum:"gamemode"})),level:e("int_bounds"),advancements:(0,c.Opt)((0,c.MapNode)(t({validator:"resource",params:{pool:"$advancement"}}),(0,c.ChoiceNode)([{type:"boolean",node:(0,c.BooleanNode)(),change:a=>!0},{type:"object",node:(0,c.MapNode)(t(),(0,c.BooleanNode)())}]))),recipes:(0,c.Opt)((0,c.MapNode)(t({validator:"resource",params:{pool:"$recipe"}}),(0,c.BooleanNode)())),stats:(0,c.Opt)((0,c.ListNode)(e("statistic_predicate"))),looking_at:(0,c.Opt)(e("entity_predicate"))},{context:"player"})),o.register("status_effect_predicate",(0,c.ObjectNode)({amplifier:e("int_bounds"),duration:e("int_bounds"),ambient:(0,c.Opt)((0,c.BooleanNode)()),visible:(0,c.Opt)((0,c.BooleanNode)())},{context:"status_effect"})),o.register("distance_predicate",(0,c.ObjectNode)({x:e("float_bounds"),y:e("float_bounds"),z:e("float_bounds"),absolute:e("float_bounds"),horizontal:e("float_bounds")},{context:"distance"})),o.register("entity_predicate",(0,c.ObjectNode)({type:(0,c.Opt)(t({validator:"resource",params:{pool:"entity_type",allowTag:!0}})),nbt:(0,c.Opt)(t({validator:"nbt",params:{registry:{category:"minecraft:entity",id:["pop",{push:"type"}]}}})),team:(0,c.Opt)(t({validator:"team"})),location:(0,c.Opt)(e("location_predicate")),stepping_on:(0,c.Opt)(e("location_predicate")),distance:(0,c.Opt)(e("distance_predicate")),flags:(0,c.Opt)((0,c.ObjectNode)({is_on_fire:(0,c.Opt)((0,c.BooleanNode)()),is_sneaking:(0,c.Opt)((0,c.BooleanNode)()),is_sprinting:(0,c.Opt)((0,c.BooleanNode)()),is_swimming:(0,c.Opt)((0,c.BooleanNode)()),is_baby:(0,c.Opt)((0,c.BooleanNode)())})),equipment:(0,c.Opt)((0,c.MapNode)(t({enum:"slot"}),e("item_predicate"))),vehicle:(0,c.Opt)(e("entity_predicate")),passenger:(0,c.Opt)(e("entity_predicate")),targeted_entity:(0,c.Opt)(e("entity_predicate")),player:(0,c.Opt)(e("player_predicate")),lightning_bolt:(0,c.Opt)((0,c.ObjectNode)({blocks_set_on_fire:(0,c.Opt)(e("int_bounds")),entity_struck:(0,c.Opt)(e("entity_predicate"))})),fishing_hook:(0,c.Opt)((0,c.ObjectNode)({in_open_water:(0,c.Opt)((0,c.BooleanNode)())})),catType:(0,c.Opt)(t({enum:"cat_texture"})),effects:(0,c.Opt)((0,c.MapNode)(t({validator:"resource",params:{pool:"mob_effect"}}),e("status_effect_predicate")))},{context:"entity"})),o.register("damage_source_predicate",(0,c.ObjectNode)({is_explosion:(0,c.Opt)((0,c.BooleanNode)()),is_fire:(0,c.Opt)((0,c.BooleanNode)()),is_magic:(0,c.Opt)((0,c.BooleanNode)()),is_projectile:(0,c.Opt)((0,c.BooleanNode)()),is_lightning:(0,c.Opt)((0,c.BooleanNode)()),bypasses_armor:(0,c.Opt)((0,c.BooleanNode)()),bypasses_invulnerability:(0,c.Opt)((0,c.BooleanNode)()),bypasses_magic:(0,c.Opt)((0,c.BooleanNode)()),source_entity:(0,c.Opt)(e("entity_predicate")),direct_entity:(0,c.Opt)(e("entity_predicate"))},{context:"damage_source"})),o.register("damage_predicate",(0,c.ObjectNode)({dealt:e("float_bounds"),taken:e("float_bounds"),blocked:(0,c.Opt)((0,c.BooleanNode)()),source_entity:(0,c.Opt)(e("entity_predicate")),type:(0,c.Opt)(e("damage_source_predicate"))},{context:"damage"}))}fe.initPredicatesSchemas=dt;var be={};Object.defineProperty(be,"__esModule",{value:!0});be.initRecipeSchemas=void 0;const p=w;function st(o,r){const e=p.Reference.bind(void 0,o),t=p.StringNode.bind(void 0,r);o.register("recipe",(0,p.Mod)((0,p.ObjectNode)({type:t({validator:"resource",params:{pool:"recipe_serializer"}}),[p.Switch]:[{push:"type"}],[p.Case]:{"minecraft:crafting_shaped":{group:(0,p.Opt)(t({enum:"recipe_group",additional:!0})),pattern:(0,p.ListNode)(t()),key:(0,p.MapNode)(t(),e("recipe_ingredient")),result:e("recipe_result")},"minecraft:crafting_shapeless":{group:(0,p.Opt)(t()),ingredients:(0,p.ListNode)(e("recipe_ingredient")),result:e("recipe_result")},"minecraft:smelting":{group:(0,p.Opt)(t()),ingredient:e("recipe_ingredient"),result:t({validator:"resource",params:{pool:"item"}}),experience:(0,p.Opt)((0,p.NumberNode)()),cookingtime:(0,p.Opt)((0,p.Mod)((0,p.NumberNode)({integer:!0}),{default:()=>200}))},"minecraft:blasting":{group:(0,p.Opt)(t()),ingredient:e("recipe_ingredient"),result:t({validator:"resource",params:{pool:"item"}}),experience:(0,p.Opt)((0,p.NumberNode)()),cookingtime:(0,p.Opt)((0,p.Mod)((0,p.NumberNode)({integer:!0}),{default:()=>100}))},"minecraft:smoking":{group:(0,p.Opt)(t()),ingredient:e("recipe_ingredient"),result:t({validator:"resource",params:{pool:"item"}}),experience:(0,p.Opt)((0,p.NumberNode)()),cookingtime:(0,p.Opt)((0,p.Mod)((0,p.NumberNode)({integer:!0}),{default:()=>100}))},"minecraft:campfire_cooking":{group:(0,p.Opt)(t()),ingredient:e("recipe_ingredient"),result:t({validator:"resource",params:{pool:"item"}}),experience:(0,p.Opt)((0,p.NumberNode)()),cookingtime:(0,p.Opt)((0,p.Mod)((0,p.NumberNode)({integer:!0}),{default:()=>100}))},"minecraft:stonecutting":{group:(0,p.Opt)(t()),ingredient:e("recipe_ingredient"),result:t({validator:"resource",params:{pool:"item"}}),count:(0,p.NumberNode)({integer:!0})},"minecraft:smithing":{group:(0,p.Opt)(t()),base:e("recipe_ingredient_object"),addition:e("recipe_ingredient_object"),result:e("recipe_result")}}},{context:"recipe",disableSwitchContext:!0}),{default:()=>({type:"minecraft:crafting_shaped"})})),o.register("recipe_ingredient",(0,p.Mod)((0,p.ChoiceNode)([{type:"object",node:e("recipe_ingredient_object"),change:d=>d[0]},{type:"list",node:(0,p.ListNode)(e("recipe_ingredient_object")),change:d=>[d]}]),{default:()=>({item:"minecraft:stone"})})),o.register("recipe_ingredient_object",(0,p.Mod)((0,p.ObjectNode)({item:(0,p.Opt)(t({validator:"resource",params:{pool:"item"}})),tag:(0,p.Opt)(t({validator:"resource",params:{pool:"$tag/item"}}))}),{default:()=>({item:"minecraft:stone"})})),o.register("recipe_result",(0,p.Mod)((0,p.ObjectNode)({item:t({validator:"resource",params:{pool:"item"}}),count:(0,p.Opt)((0,p.Mod)((0,p.NumberNode)({integer:!0}),{default:()=>1}))}),{default:()=>({item:"minecraft:stone"})}))}be.initRecipeSchemas=st;var ge={};Object.defineProperty(ge,"__esModule",{value:!0});ge.initTagsSchemas=void 0;const E=w;function mt(o,r){const e=E.StringNode.bind(void 0,r),t=d=>(0,E.Mod)((0,E.ObjectNode)({replace:(0,E.Opt)((0,E.BooleanNode)()),values:(0,E.ListNode)((0,E.ChoiceNode)([{type:"string",node:e({validator:"resource",params:{pool:d,allowTag:!0}}),change:a=>a.id},{type:"object",node:(0,E.ObjectNode)({id:e({validator:"resource",params:{pool:d,allowTag:!0,allowUnknown:!0}}),required:(0,E.BooleanNode)()}),change:a=>({id:a})}]))},{context:"tag"}),{default:()=>({values:[]})});o.register("block_tag",t("block")),o.register("entity_type_tag",t("entity_type")),o.register("fluid_tag",t("fluid")),o.register("function_tag",t("$function")),o.register("game_event_tag",t("game_event")),o.register("item_tag",t("item"))}ge.initTagsSchemas=mt;var Ne={};Object.defineProperty(Ne,"__esModule",{value:!0});Ne.initTextComponentSchemas=void 0;const m=w;function lt(o,r){const e=m.Reference.bind(void 0,o),t=m.StringNode.bind(void 0,r),d=n=>{var N;return n instanceof Array?d(n[0]):(N=n==null?void 0:n.text)!==null&&N!==void 0?N:typeof n=="object"?"":n==null?void 0:n.toString()};o.register("text_component",(0,m.Mod)((0,m.ChoiceNode)([{type:"object",node:e("text_component_object"),change:n=>n instanceof Array?typeof n[0]=="object"?n[0]:{text:d(n[0])}:typeof n=="object"?n:{text:d(n)}},{type:"list",node:e("text_component_list"),change:n=>[n]},{type:"string",priority:1,node:t(),change:d},{type:"number",node:(0,m.NumberNode)(),change:n=>{const N=parseFloat(d(n));return isFinite(N)?N:n?1:0}},{type:"boolean",node:(0,m.BooleanNode)(),change:n=>{const N=d(n);return N==="true"||N==="false"?N==="true":!!N}}],{context:"text_component"}),{default:()=>({text:""})}));const a={color:(0,m.Opt)(t()),font:(0,m.Opt)(t()),bold:(0,m.Opt)((0,m.BooleanNode)()),italic:(0,m.Opt)((0,m.BooleanNode)()),underlined:(0,m.Opt)((0,m.BooleanNode)()),strikethrough:(0,m.Opt)((0,m.BooleanNode)()),obfuscated:(0,m.Opt)((0,m.BooleanNode)()),insertion:(0,m.Opt)(t()),clickEvent:(0,m.Opt)((0,m.ObjectNode)({action:t({enum:["open_url","open_file","run_command","suggest_command","change_page","copy_to_clipboard"]}),[m.Switch]:[{push:"action"}],[m.Case]:{change_page:{value:t()},copy_to_clipboard:{value:t()},open_file:{value:t()},open_url:{value:t()},run_command:{value:t({validator:"command",params:{leadingSlash:!0,allowPartial:!0}})},suggest_command:{value:t({validator:"command",params:{leadingSlash:!0,allowPartial:!0}})}}})),hoverEvent:(0,m.Opt)((0,m.ObjectNode)({action:t({enum:["show_text","show_item","show_entity"]}),[m.Switch]:[{push:"action"}],[m.Case]:{show_text:{value:(0,m.Opt)(e("text_component")),contents:(0,m.Opt)(e("text_component"))},show_item:{value:(0,m.Opt)(t({validator:"nbt",params:{module:"util::InventoryItem"}})),contents:(0,m.Opt)((0,m.ObjectNode)({id:t({validator:"resource",params:{pool:"item"}}),count:(0,m.Opt)((0,m.NumberNode)({integer:!0})),tag:(0,m.Opt)(t({validator:"nbt",params:{registry:{category:"minecraft:item",id:["pop",{push:"id"}]}}}))}))},show_entity:{value:(0,m.Opt)((0,m.ObjectNode)({name:(0,m.Opt)(t()),type:(0,m.Opt)(t()),id:(0,m.Opt)(t())})),contents:(0,m.Opt)((0,m.Mod)((0,m.ObjectNode)({name:(0,m.Opt)(e("text_component")),type:t({validator:"resource",params:{pool:"entity_type"}}),id:t({validator:"uuid"})}),{default:()=>({type:"minecraft:pig",id:"00000001-0001-0001-0001-000000000001"})}))}}})),extra:(0,m.Opt)(e("text_component_list"))};o.register("text_component_object",(0,m.Mod)((0,m.ChoiceNode)([{type:"text",match:n=>typeof n=="object",change:n=>({text:""}),priority:-1,node:(0,m.ObjectNode)(k({text:t()},a))},{type:"translation",match:n=>(n==null?void 0:n.translate)!==void 0,change:n=>({translate:""}),node:(0,m.ObjectNode)(k({translate:t(),with:(0,m.Opt)(e("text_component_list"))},a))},{type:"score",match:n=>(n==null?void 0:n.score)!==void 0,change:n=>({score:{}}),node:(0,m.ObjectNode)(k({score:(0,m.ObjectNode)({name:t({validator:"entity",params:{amount:"single",type:"entities",isScoreHolder:!0}}),objective:t({validator:"objective"}),value:(0,m.Opt)(t())})},a))},{type:"selector",match:n=>(n==null?void 0:n.selector)!==void 0,change:n=>({selector:""}),node:(0,m.ObjectNode)(k({selector:t({validator:"entity",params:{amount:"multiple",type:"entities"}}),separator:(0,m.Opt)(e("text_component"))},a))},{type:"keybind",match:n=>(n==null?void 0:n.keybind)!==void 0,change:n=>({keybind:""}),node:(0,m.ObjectNode)(k({keybind:t({enum:"keybind",additional:!0})},a))},{type:"nbt",match:n=>(n==null?void 0:n.nbt)!==void 0,change:n=>({nbt:""}),node:(0,m.ObjectNode)(k({nbt:t({validator:"nbt_path"}),block:(0,m.Opt)(t({validator:"vector",params:{dimension:3,isInteger:!0}})),entity:(0,m.Opt)(t({validator:"entity",params:{amount:"multiple",type:"entities"}})),storage:(0,m.Opt)(t({validator:"resource",params:{pool:"$storage"}})),interpret:(0,m.Opt)((0,m.BooleanNode)()),separator:(0,m.Opt)(e("text_component"))},a))}],{context:"text_component_object",choiceContext:"text_component.object"}),{default:()=>({text:""})})),o.register("text_component_list",(0,m.Mod)((0,m.ListNode)(e("text_component")),{default:()=>[{text:""}]}))}Ne.initTextComponentSchemas=lt;var he={},ye={};Object.defineProperty(ye,"__esModule",{value:!0});ye.initBiomeSchemas=void 0;const l=w;function _t(o,r){const e=l.StringNode.bind(void 0,r);o.register("biome",(0,l.Mod)((0,l.ObjectNode)({surface_builder:e({validator:"resource",params:{pool:"$worldgen/configured_surface_builder"}}),depth:(0,l.NumberNode)(),scale:(0,l.NumberNode)(),temperature:(0,l.NumberNode)(),downfall:(0,l.NumberNode)(),precipitation:e({enum:["none","rain","snow"]}),temperature_modifier:(0,l.Opt)(e({enum:["none","frozen"]})),category:e({enum:"biome_category"}),player_spawn_friendly:(0,l.Opt)((0,l.BooleanNode)()),creature_spawn_probability:(0,l.Opt)((0,l.NumberNode)({min:0,max:1})),effects:(0,l.ObjectNode)({sky_color:(0,l.NumberNode)({color:!0}),fog_color:(0,l.NumberNode)({color:!0}),water_color:(0,l.NumberNode)({color:!0}),water_fog_color:(0,l.NumberNode)({color:!0}),grass_color:(0,l.Opt)((0,l.NumberNode)({color:!0})),foliage_color:(0,l.Opt)((0,l.NumberNode)({color:!0})),grass_color_modifier:(0,l.Opt)(e({enum:["none","dark_forest","swamp"]})),ambient_sound:(0,l.Opt)(e()),mood_sound:(0,l.Opt)((0,l.ObjectNode)({sound:e(),tick_delay:(0,l.NumberNode)({integer:!0}),block_search_extent:(0,l.NumberNode)({integer:!0}),offset:(0,l.NumberNode)()})),additions_sound:(0,l.Opt)((0,l.ObjectNode)({sound:e(),tick_chance:(0,l.NumberNode)({min:0,max:1})})),music:(0,l.Opt)((0,l.ObjectNode)({sound:e(),min_delay:(0,l.NumberNode)({integer:!0,min:0}),max_delay:(0,l.NumberNode)({integer:!0,min:0}),replace_current_music:(0,l.BooleanNode)()})),particle:(0,l.Opt)((0,l.ObjectNode)({options:(0,l.ObjectNode)({type:e()}),probability:(0,l.NumberNode)({min:0,max:1})}))}),starts:(0,l.ListNode)(e({validator:"resource",params:{pool:"$worldgen/configured_structure_feature"}})),spawners:(0,l.MapNode)(e({enum:["monster","creature","ambient","underground_water_creature","water_creature","water_ambient","misc"]}),(0,l.Mod)((0,l.ListNode)((0,l.ObjectNode)({type:e({validator:"resource",params:{pool:"entity_type"}}),weight:(0,l.NumberNode)({integer:!0}),minCount:(0,l.NumberNode)({integer:!0}),maxCount:(0,l.NumberNode)({integer:!0})})),{category:()=>"pool",default:()=>[{type:"minecraft:bat",weight:1}]})),spawn_costs:(0,l.MapNode)(e({validator:"resource",params:{pool:"entity_type"}}),(0,l.Mod)((0,l.ObjectNode)({energy_budget:(0,l.NumberNode)(),charge:(0,l.NumberNode)()},{category:"function"}),{default:()=>({energy_budget:.12,charge:1})})),carvers:(0,l.MapNode)(e({enum:["air","liquid"]}),(0,l.Mod)((0,l.ListNode)(e({validator:"resource",params:{pool:"$worldgen/configured_carver"}})),{default:()=>["minecraft:cave"]})),features:(0,l.ListNode)((0,l.Mod)((0,l.ListNode)(e({validator:"resource",params:{pool:"$worldgen/configured_feature"}})),{category:()=>"predicate"}),{maxLength:10})},{context:"biome"}),{default:()=>({surface_builder:"minecraft:grass",depth:.125,scale:.05,temperature:.8,downfall:.4,precipitation:"rain",category:"plains",effects:{sky_color:7907327,fog_color:12638463,water_color:4159204,water_fog_color:329011}})}))}ye.initBiomeSchemas=_t;var ve={};Object.defineProperty(ve,"__esModule",{value:!0});ve.initCarverSchemas=void 0;const S=w,U=F;function pt(o,r){const e=S.Reference.bind(void 0,o),t=S.StringNode.bind(void 0,r),d={vertical_rotation:(0,U.FloatProvider)(),shape:(0,S.ObjectNode)({distance_factor:(0,U.FloatProvider)(),thickness:(0,U.FloatProvider)(),width_smoothness:(0,S.NumberNode)({integer:!0,min:0}),horizontal_radius_factor:(0,U.FloatProvider)(),vertical_radius_default_factor:(0,S.NumberNode)(),vertical_radius_center_factor:(0,S.NumberNode)()})},a={horizontal_radius_multiplier:(0,U.FloatProvider)(),vertical_radius_multiplier:(0,U.FloatProvider)(),floor_level:(0,U.FloatProvider)({min:-1,max:1})};o.register("configured_carver",(0,S.Mod)((0,S.ObjectNode)({type:t({validator:"resource",params:{pool:"worldgen/carver"}}),config:(0,S.ObjectNode)({probability:(0,S.NumberNode)({min:0,max:1}),y:e("height_provider"),yScale:(0,U.FloatProvider)(),lava_level:e("vertical_anchor"),aquifers_enabled:(0,S.BooleanNode)(),debug_settings:(0,S.Opt)((0,S.ObjectNode)({debug_mode:(0,S.Opt)((0,S.BooleanNode)()),air_state:(0,S.Opt)(e("block_state")),water_state:(0,S.Opt)(e("block_state")),lava_state:(0,S.Opt)(e("block_state")),barrier_state:(0,S.Opt)(e("block_state"))})),[S.Switch]:["pop",{push:"type"}],[S.Case]:{"minecraft:canyon":d,"minecraft:cave":a,"minecraft:nether_cave":a}})},{context:"carver"}),{default:()=>({type:"minecraft:cave",config:{probability:.1}})}))}ve.initCarverSchemas=pt;var Oe={};Object.defineProperty(Oe,"__esModule",{value:!0});Oe.initDecoratorSchemas=void 0;const C=w,ut=F;function ft(o,r){const e=C.Reference.bind(void 0,o),t=C.StringNode.bind(void 0,r),d={count:(0,ut.IntProvider)({min:0,max:256})};o.register("configured_decorator",(0,C.ObjectNode)({type:t({validator:"resource",params:{pool:"worldgen/decorator"}}),config:(0,C.ObjectNode)({[C.Switch]:["pop",{push:"type"}],[C.Case]:{"minecraft:carving_mask":{step:t({enum:"generation_step"})},"minecraft:cave_surface":{surface:t({enum:["floor","ceiling"]}),floor_to_ceiling_search_range:(0,C.NumberNode)({integer:!0})},"minecraft:chance":{chance:(0,C.NumberNode)({integer:!0,min:0})},"minecraft:count":d,"minecraft:count_extra":{count:(0,C.NumberNode)({integer:!0,min:0}),extra_count:(0,C.NumberNode)({integer:!0,min:0}),extra_chance:(0,C.NumberNode)({min:0,max:1})},"minecraft:count_multilayer":d,"minecraft:count_noise":{noise_level:(0,C.NumberNode)(),below_noise:(0,C.NumberNode)({integer:!0}),above_noise:(0,C.NumberNode)({integer:!0})},"minecraft:count_noise_biased":{noise_to_count_ratio:(0,C.NumberNode)({integer:!0}),noise_factor:(0,C.NumberNode)(),noise_offset:(0,C.Opt)((0,C.NumberNode)())},"minecraft:decorated":{outer:e("configured_decorator"),inner:e("configured_decorator")},"minecraft:heightmap":{heightmap:t({enum:"heightmap_type"})},"minecraft:heightmap_spread_double":{heightmap:t({enum:"heightmap_type"})},"minecraft:lava_lake":{chance:(0,C.NumberNode)({integer:!0,min:0})},"minecraft:range":{height:e("height_provider")},"minecraft:water_depth_threshold":{max_water_depth:(0,C.NumberNode)({integer:!0})}}},{context:"decorator",category:"predicate"})},{context:"decorator",category:"predicate"}))}Oe.initDecoratorSchemas=ft;var ke={},H={};Object.defineProperty(H,"__esModule",{value:!0});H.initProcessorListSchemas=H.Processors=void 0;const h=w;function bt(o,r){const e=h.Reference.bind(void 0,o),t=h.StringNode.bind(void 0,r);H.Processors=(0,h.ChoiceNode)([{type:"string",node:t({validator:"resource",params:{pool:"$worldgen/processor_list"}}),change:a=>{}},{type:"object",node:e("processor_list"),change:a=>({processors:[{processor_type:"minecraft:nop"}]})}]),o.register("processor_list",(0,h.Mod)((0,h.ObjectNode)({processors:(0,h.ListNode)(e("processor"))},{context:"processor_list"}),{default:()=>({processors:[{processor_type:"minecraft:rule",rules:[{location_predicate:{predicate_type:"minecraft:always_true"},input_predicate:{predicate_type:"minecraft:always_true"}}]}]})})),o.register("processor",(0,h.Mod)((0,h.ObjectNode)({processor_type:t({validator:"resource",params:{pool:"worldgen/structure_processor"}}),[h.Switch]:[{push:"processor_type"}],[h.Case]:{"minecraft:block_age":{mossiness:(0,h.NumberNode)()},"minecraft:block_ignore":{blocks:(0,h.ListNode)(e("block_state"))},"minecraft:block_rot":{integrity:(0,h.NumberNode)({min:0,max:1})},"minecraft:gravity":{heightmap:t({enum:"heightmap_type"}),offset:(0,h.NumberNode)({integer:!0})},"minecraft:protected_blocks":{value:t({validator:"resource",params:{pool:"$tag/block"}})},"minecraft:rule":{rules:(0,h.ListNode)(e("processor_rule"))}}},{category:"function",context:"processor"}),{default:()=>({processor_type:"minecraft:rule",rules:[{location_predicate:{predicate_type:"minecraft:always_true"},input_predicate:{predicate_type:"minecraft:always_true"}}]})})),o.register("processor_rule",(0,h.Mod)((0,h.ObjectNode)({position_predicate:(0,h.Opt)(e("pos_rule_test")),location_predicate:e("rule_test"),input_predicate:e("rule_test"),output_state:e("block_state"),output_nbt:(0,h.Opt)(t({validator:"nbt",params:{registry:{category:"minecraft:block"}}}))},{category:"predicate",context:"processor_rule"}),{default:()=>({location_predicate:{predicate_type:"minecraft:always_true"},input_predicate:{predicate_type:"minecraft:always_true"}})}));const d={min_dist:(0,h.Opt)((0,h.NumberNode)({min:0,max:255,integer:!0})),max_dist:(0,h.Opt)((0,h.NumberNode)({min:0,max:255,integer:!0})),min_chance:(0,h.Opt)((0,h.NumberNode)({min:0,max:1})),max_chance:(0,h.Opt)((0,h.NumberNode)({min:0,max:1}))};o.register("pos_rule_test",(0,h.ObjectNode)({predicate_type:t({validator:"resource",params:{pool:"pos_rule_test"}}),[h.Switch]:[{push:"predicate_type"}],[h.Case]:{"minecraft:axis_aligned_linear_pos":k({axis:t({enum:["x","y","z"]})},d),"minecraft:linear_pos":d}},{context:"pos_rule_test",disableSwitchContext:!0})),o.register("rule_test",(0,h.ObjectNode)({predicate_type:t({validator:"resource",params:{pool:"rule_test"}}),[h.Switch]:[{push:"predicate_type"}],[h.Case]:{"minecraft:block_match":{block:t({validator:"resource",params:{pool:"block"}})},"minecraft:blockstate_match":{block_state:e("block_state")},"minecraft:random_block_match":{block:t({validator:"resource",params:{pool:"block"}}),probability:(0,h.NumberNode)({min:0,max:1})},"minecraft:random_blockstate_match":{block_state:e("block_state"),probability:(0,h.NumberNode)({min:0,max:1})},"minecraft:tag_match":{tag:t({validator:"resource",params:{pool:"$tag/block"}})}}},{context:"rule_test",disableSwitchContext:!0}))}H.initProcessorListSchemas=bt;Object.defineProperty(ke,"__esModule",{value:!0});ke.initFeatureSchemas=void 0;const i=w,y=F,$e=H;function gt(o,r){const e=i.Reference.bind(void 0,o),t=i.StringNode.bind(void 0,r),d={can_replace:(0,i.Opt)((0,i.BooleanNode)()),project:(0,i.Opt)((0,i.BooleanNode)()),need_water:(0,i.Opt)((0,i.BooleanNode)()),xspread:(0,i.Opt)((0,i.NumberNode)({integer:!0,min:0})),yspread:(0,i.Opt)((0,i.NumberNode)({integer:!0,min:0})),zspread:(0,i.Opt)((0,i.NumberNode)({integer:!0,min:0})),tries:(0,i.Opt)((0,i.NumberNode)({integer:!0,min:1})),state_provider:e("block_state_provider"),block_placer:e("block_placer"),whitelist:(0,i.ListNode)(e("block_state")),blacklist:(0,i.ListNode)(e("block_state"))},a={state:e("block_state"),radius:(0,y.IntProvider)({min:0,max:8}),half_height:(0,i.NumberNode)({integer:!0,min:0,max:4}),targets:(0,i.ListNode)(e("block_state"))},n={cap_provider:e("block_state_provider"),stem_provider:e("block_state_provider"),foliage_radius:(0,i.Opt)((0,i.NumberNode)({integer:!0}))},N=(0,i.ObjectNode)({target:e("rule_test"),state:e("block_state")}),B={size:(0,i.NumberNode)({integer:!0,min:0,max:64}),discard_chance_on_air_exposure:(0,i.NumberNode)({min:0,max:1}),targets:(0,i.ListNode)(N)},u=(0,i.ChoiceNode)([{type:"string",node:t({validator:"resource",params:{pool:"$worldgen/configured_feature"}})},{type:"object",node:e("configured_feature")}],{choiceContext:"feature"}),v={surface:t({enum:["floor","ceiling"]}),depth:(0,y.IntProvider)({min:1,max:128}),vertical_range:(0,i.NumberNode)({integer:!0,min:1,max:256}),extra_bottom_block_chance:(0,i.NumberNode)({min:0,max:1}),extra_edge_column_chance:(0,i.NumberNode)({min:0,max:1}),vegetation_chance:(0,i.NumberNode)({min:0,max:1}),xz_radius:(0,y.IntProvider)(),replaceable:t({validator:"resource",params:{pool:"$tag/block"}}),ground_state:e("block_state_provider"),vegetation_feature:u};o.register("configured_feature",(0,i.Mod)((0,i.ObjectNode)({type:t({validator:"resource",params:{pool:"worldgen/feature"}}),config:(0,i.ObjectNode)({[i.Switch]:["pop",{push:"type"}],[i.Case]:{"minecraft:bamboo":{probability:(0,i.NumberNode)({min:0,max:1})},"minecraft:basalt_columns":{reach:(0,y.IntProvider)({min:0,max:3}),height:(0,y.IntProvider)({min:1,max:10})},"minecraft:block_pile":{state_provider:e("block_state_provider")},"minecraft:decorated":{decorator:e("configured_decorator"),feature:u},"minecraft:decorated_flower":{decorator:e("configured_decorator"),feature:u},"minecraft:delta_feature":{contents:e("block_state"),rim:e("block_state"),size:(0,y.IntProvider)({min:0,max:16}),rim_size:(0,y.IntProvider)({min:0,max:16})},"minecraft:disk":a,"minecraft:dripstone_cluster":{floor_to_ceiling_search_range:(0,i.NumberNode)({integer:!0,min:1,max:512}),height:(0,y.IntProvider)({min:0,max:128}),radius:(0,y.IntProvider)({min:0,max:128}),max_stalagmite_stalactite_height_diff:(0,i.NumberNode)({integer:!0,min:0,max:64}),height_deviation:(0,i.NumberNode)({integer:!0,min:1,max:64}),dripstone_block_layer_thickness:(0,y.IntProvider)({min:0,max:128}),density:(0,y.FloatProvider)({min:0,max:2}),wetness:(0,y.FloatProvider)({min:0,max:2}),chance_of_dripstone_column_at_max_distance_from_center:(0,i.NumberNode)({min:0,max:1}),max_distance_from_edge_affecting_chance_of_dripstone_column:(0,i.NumberNode)({integer:!0,min:1,max:64}),max_distance_from_center_affecting_height_bias:(0,i.NumberNode)({integer:!0,min:1,max:64})},"minecraft:end_gateway":{exact:(0,i.BooleanNode)(),exit:(0,i.Opt)(e("block_pos"))},"minecraft:end_spike":{crystal_invulnerable:(0,i.Opt)((0,i.BooleanNode)()),crystal_beam_target:(0,i.Opt)(e("block_pos")),spikes:(0,i.ListNode)((0,i.ObjectNode)({centerX:(0,i.Opt)((0,i.NumberNode)({integer:!0})),centerZ:(0,i.Opt)((0,i.NumberNode)({integer:!0})),radius:(0,i.Opt)((0,i.NumberNode)({integer:!0})),height:(0,i.Opt)((0,i.NumberNode)({integer:!0})),guarded:(0,i.Opt)((0,i.BooleanNode)())}))},"minecraft:fill_layer":{state:e("block_state"),height:(0,i.NumberNode)({integer:!0,min:0,max:255})},"minecraft:flower":d,"minecraft:forest_rock":{state:e("block_state")},"minecraft:fossil":{max_empty_corners_allowed:(0,i.NumberNode)({integer:!0,min:0,max:7}),fossil_structures:(0,i.ListNode)(t({validator:"resource",params:{pool:"$structure"}})),overlay_structures:(0,i.ListNode)(t({validator:"resource",params:{pool:"$structure"}})),fossil_processors:$e.Processors,overlay_processors:$e.Processors},"minecraft:geode":{blocks:(0,i.ObjectNode)({filling_provider:e("block_state_provider"),inner_layer_provider:e("block_state_provider"),alternate_inner_layer_provider:e("block_state_provider"),middle_layer_provider:e("block_state_provider"),outer_layer_provider:e("block_state_provider"),inner_placements:(0,i.ListNode)(e("block_state")),cannot_replace:t({validator:"resource",params:{pool:"$tag/block"}}),invalid_blocks:t({validator:"resource",params:{pool:"$tag/block"}})}),layers:(0,i.ObjectNode)({filling:(0,i.Opt)((0,i.NumberNode)({min:.01,max:50})),inner_layer:(0,i.Opt)((0,i.NumberNode)({min:.01,max:50})),middle_layer:(0,i.Opt)((0,i.NumberNode)({min:.01,max:50})),outer_layer:(0,i.Opt)((0,i.NumberNode)({min:.01,max:50}))}),crack:(0,i.ObjectNode)({generate_crack_chance:(0,i.Opt)((0,i.NumberNode)({min:0,max:1})),base_crack_size:(0,i.Opt)((0,i.NumberNode)({min:0,max:5})),crack_point_offset:(0,i.Opt)((0,i.NumberNode)({min:0,max:10}))}),noise_multiplier:(0,i.Opt)((0,i.NumberNode)({min:0,max:1})),use_potential_placements_chance:(0,i.Opt)((0,i.NumberNode)({min:0,max:1})),use_alternate_layer0_chance:(0,i.Opt)((0,i.NumberNode)({min:0,max:1})),placements_require_layer0_alternate:(0,i.Opt)((0,i.BooleanNode)()),outer_wall_distance:(0,i.Opt)((0,y.IntProvider)({min:1,max:20})),distribution_points:(0,i.Opt)((0,y.IntProvider)({min:1,max:20})),point_offset:(0,i.Opt)((0,y.IntProvider)({min:0,max:10})),min_gen_offset:(0,i.Opt)((0,i.NumberNode)({integer:!0})),max_gen_offset:(0,i.Opt)((0,i.NumberNode)({integer:!0})),invalid_blocks_threshold:(0,i.NumberNode)({integer:!0})},"minecraft:glow_lichen":{search_range:(0,i.Opt)((0,i.NumberNode)({min:1,max:64,integer:!0})),chance_of_spreading:(0,i.Opt)((0,i.NumberNode)({min:0,max:1})),can_place_on_floor:(0,i.Opt)((0,i.BooleanNode)()),can_place_on_ceiling:(0,i.Opt)((0,i.BooleanNode)()),can_place_on_wall:(0,i.Opt)((0,i.BooleanNode)()),can_be_placed_on:(0,i.ListNode)(e("block_state"))},"minecraft:growing_plant":{direction:t({enum:["up","down","north","east","south","west"]}),allow_water:(0,i.BooleanNode)(),height_distribution:(0,i.ListNode)((0,i.ObjectNode)({weight:(0,i.NumberNode)({integer:!0}),data:(0,y.IntProvider)()})),body_provider:e("block_state_provider"),head_provider:e("block_state_provider")},"minecraft:huge_brown_mushroom":n,"minecraft:huge_fungus":{hat_state:e("block_state"),decor_state:e("block_state"),stem_state:e("block_state"),valid_base_block:e("block_state"),planted:(0,i.Opt)((0,i.BooleanNode)())},"minecraft:huge_red_mushroom":n,"minecraft:ice_patch":a,"minecraft:iceberg":{state:e("block_state")},"minecraft:lake":{state:e("block_state")},"minecraft:large_dripstone":{floor_to_ceiling_search_range:(0,i.Opt)((0,i.NumberNode)({integer:!0,min:1,max:512})),column_radius:(0,y.IntProvider)({min:0,max:60}),height_scale:(0,y.FloatProvider)({min:0,max:20}),max_column_radius_to_cave_height_ratio:(0,i.NumberNode)({min:0,max:1}),stalactite_bluntness:(0,y.FloatProvider)({min:.1,max:10}),stalagmite_bluntness:(0,y.FloatProvider)({min:.1,max:10}),wind_speed:(0,y.FloatProvider)({min:0,max:2}),min_radius_for_wind:(0,i.NumberNode)({integer:!0,min:0,max:100}),min_bluntness_for_wind:(0,i.NumberNode)({min:0,max:5})},"minecraft:nether_forest_vegetation":{state_provider:e("block_state_provider")},"minecraft:netherrack_replace_blobs":{state:e("block_state"),target:e("block_state"),radius:(0,y.IntProvider)({min:0,max:12})},"minecraft:no_bonemeal_flower":d,"minecraft:ore":B,"minecraft:random_patch":d,"minecraft:random_boolean_selector":{feature_false:u,feature_true:u},"minecraft:random_selector":{features:(0,i.ListNode)((0,i.ObjectNode)({chance:(0,i.NumberNode)({min:0,max:1}),feature:u})),default:u},"minecraft:replace_single_block":{targets:(0,i.ListNode)(N)},"minecraft:root_system":{required_vertical_space_for_tree:(0,i.NumberNode)({integer:!0,min:1,max:64}),root_radius:(0,i.NumberNode)({integer:!0,min:1,max:64}),root_placement_attempts:(0,i.NumberNode)({integer:!0,min:1,max:256}),root_column_max_height:(0,i.NumberNode)({integer:!0,min:1,max:4096}),hanging_root_radius:(0,i.NumberNode)({integer:!0,min:1,max:64}),hanging_roots_vertical_span:(0,i.NumberNode)({integer:!0,min:0,max:16}),hanging_root_placement_attempts:(0,i.NumberNode)({integer:!0,min:0,max:256}),allowed_vertical_water_for_tree:(0,i.NumberNode)({integer:!0,min:1,max:64}),root_replaceable:t({validator:"resource",params:{pool:"$tag/block"}}),root_state_provider:e("block_state_provider"),hanging_root_state_provider:e("block_state_provider"),feature:u},"minecraft:scattered_ore":B,"minecraft:sea_pickle":{count:(0,y.IntProvider)({min:0,max:256})},"minecraft:seagrass":{probability:(0,i.NumberNode)({min:0,max:1})},"minecraft:simple_block":{to_place:e("block_state_provider"),place_on:(0,i.Opt)((0,i.ListNode)(e("block_state"))),place_in:(0,i.Opt)((0,i.ListNode)(e("block_state"))),place_under:(0,i.Opt)((0,i.ListNode)(e("block_state")))},"minecraft:simple_random_selector":{features:(0,i.ListNode)(u)},"minecraft:small_dripstone":{max_placements:(0,i.Opt)((0,i.NumberNode)({integer:!0,min:0,max:100})),empty_space_search_radius:(0,i.Opt)((0,i.NumberNode)({integer:!0,min:0,max:20})),max_offset_from_origin:(0,i.Opt)((0,i.NumberNode)({integer:!0,min:0,max:20})),chance_of_taller_dripstone:(0,i.Opt)((0,i.NumberNode)({min:0,max:1}))},"minecraft:spring_feature":{state:e("fluid_state"),rock_count:(0,i.NumberNode)({integer:!0}),hole_count:(0,i.NumberNode)({integer:!0}),requires_block_below:(0,i.BooleanNode)(),valid_blocks:(0,i.ListNode)(t({validator:"resource",params:{pool:"block"}}))},"minecraft:tree":{ignore_vines:(0,i.Opt)((0,i.BooleanNode)()),force_dirt:(0,i.Opt)((0,i.BooleanNode)()),minimum_size:e("feature_size"),dirt_provider:e("block_state_provider"),sapling_provider:e("block_state_provider"),trunk_provider:e("block_state_provider"),foliage_provider:e("block_state_provider"),trunk_placer:(0,i.ObjectNode)({type:t({validator:"resource",params:{pool:"worldgen/trunk_placer_type"}}),base_height:(0,i.NumberNode)({integer:!0,min:0,max:32}),height_rand_a:(0,i.NumberNode)({integer:!0,min:0,max:24}),height_rand_b:(0,i.NumberNode)({integer:!0,min:0,max:24}),[i.Switch]:[{push:"type"}],[i.Case]:{"minecraft:bending_trunk_placer":{bend_length:(0,y.IntProvider)({min:1,max:64}),min_height_for_leaves:(0,i.Opt)((0,i.NumberNode)({integer:!0,min:1}))}}},{context:"trunk_placer"}),foliage_placer:(0,i.ObjectNode)({type:t({validator:"resource",params:{pool:"worldgen/foliage_placer_type"}}),radius:(0,y.IntProvider)({min:0,max:16}),offset:(0,y.IntProvider)({min:0,max:16}),[i.Switch]:[{push:"type"}],[i.Case]:{"minecraft:blob_foliage_placer":{height:(0,i.NumberNode)({integer:!0,min:0,max:16})},"minecraft:bush_foliage_placer":{height:(0,i.NumberNode)({integer:!0,min:0,max:16})},"minecraft:fancy_foliage_placer":{height:(0,i.NumberNode)({integer:!0,min:0,max:16})},"minecraft:jungle_foliage_placer":{height:(0,i.NumberNode)({integer:!0,min:0,max:16})},"minecraft:mega_pine_foliage_placer":{crown_height:(0,y.IntProvider)({min:0,max:24})},"minecraft:pine_foliage_placer":{height:(0,y.IntProvider)({min:0,max:24})},"minecraft:random_spread_foliage_placer":{foliage_height:(0,y.IntProvider)({min:1,max:512}),leaf_placement_attempts:(0,i.NumberNode)({integer:!0,min:0,max:256})},"minecraft:spruce_foliage_placer":{trunk_height:(0,y.IntProvider)({min:0,max:24})}}},{context:"foliage_placer",disableSwitchContext:!0}),decorators:(0,i.ListNode)((0,i.ObjectNode)({type:t({validator:"resource",params:{pool:"worldgen/tree_decorator_type"}}),[i.Switch]:[{push:"type"}],[i.Case]:{"minecraft:alter_ground":{provider:e("block_state_provider")},"minecraft:beehive":{probability:(0,i.NumberNode)({min:0,max:1})},"minecraft:cocoa":{probability:(0,i.NumberNode)({min:0,max:1})}}},{context:"tree_decorator"}))},"minecraft:underwater_magma":{floor_search_range:(0,i.NumberNode)({integer:!0,min:0,max:512}),placement_radius_around_floor:(0,i.NumberNode)({integer:!0,min:0,max:64}),placement_probability_per_valid_position:(0,i.NumberNode)({min:0,max:1})},"minecraft:vegetation_patch":v,"minecraft:waterlogged_vegetation_patch":v}},{context:"feature"})},{context:"feature"}),{default:()=>({type:"minecraft:decorated",config:{decorator:{type:"minecraft:count",config:{count:4}},feature:{type:"minecraft:tree",config:{max_water_depth:0,ignore_vines:!0,minimum_size:{},trunk_placer:{base_height:5,height_rand_a:2,height_rand_b:0},foliage_placer:{radius:2,offset:0,height:3}}}}})})),o.register("feature_size",(0,i.Mod)((0,i.ObjectNode)({type:t({validator:"resource",params:{pool:"worldgen/feature_size_type"}}),min_clipped_height:(0,i.Opt)((0,i.NumberNode)({min:0,max:80})),[i.Switch]:[{push:"type"}],[i.Case]:{"minecraft:two_layers_feature_size":{limit:(0,i.Opt)((0,i.NumberNode)({integer:!0,min:0,max:81})),lower_size:(0,i.Opt)((0,i.NumberNode)({integer:!0,min:0,max:16})),upper_size:(0,i.Opt)((0,i.NumberNode)({integer:!0,min:0,max:16}))},"minecraft:three_layers_feature_size":{limit:(0,i.Opt)((0,i.NumberNode)({integer:!0,min:0,max:80})),upper_limit:(0,i.Opt)((0,i.NumberNode)({integer:!0,min:0,max:80})),lower_size:(0,i.Opt)((0,i.NumberNode)({integer:!0,min:0,max:16})),middle_size:(0,i.Opt)((0,i.NumberNode)({integer:!0,min:0,max:16})),upper_size:(0,i.Opt)((0,i.NumberNode)({integer:!0,min:0,max:16}))}}},{disableSwitchContext:!0}),{default:()=>({type:"minecraft:two_layers_feature_size"})})),o.register("block_state_provider",(0,i.Mod)((0,i.ObjectNode)({type:t({validator:"resource",params:{pool:"worldgen/block_state_provider_type"}}),[i.Switch]:[{push:"type"}],[i.Case]:{"minecraft:randomized_int_state_provider":{property:t(),values:(0,y.IntProvider)(),source:e("block_state_provider")},"minecraft:rotated_block_provider":{state:e("block_state")},"minecraft:simple_state_provider":{state:e("block_state")},"minecraft:weighted_state_provider":{entries:(0,i.ListNode)((0,i.Mod)((0,i.ObjectNode)({weight:(0,i.NumberNode)({integer:!0,min:1}),data:e("block_state")}),{default:()=>({data:{}})}))}}},{context:"block_state_provider"}),{default:()=>({type:"minecraft:simple_state_provider"})})),o.register("block_placer",(0,i.Mod)((0,i.ObjectNode)({type:t({validator:"resource",params:{pool:"worldgen/block_placer_type"}}),[i.Switch]:[{push:"type"}],[i.Case]:{"minecraft:column_placer":{size:(0,y.IntProvider)({min:0})}}},{context:"block_placer"}),{default:()=>({type:"minecraft:simple_block_placer"})}))}ke.initFeatureSchemas=gt;var xe={};Object.defineProperty(xe,"__esModule",{value:!0});xe.initNoiseSettingsSchemas=void 0;const _=w,Nt=F;function ht(o,r){const e=_.Reference.bind(void 0,o),t=_.StringNode.bind(void 0,r);o.register("noise_settings",(0,_.Mod)((0,_.ObjectNode)({name:(0,_.Mod)(t({validator:"resource",params:{pool:"$worldgen/noise_settings",isDefinition:!0}}),{enabled:d=>d.getArray().length>0}),bedrock_roof_position:(0,_.NumberNode)({integer:!0}),bedrock_floor_position:(0,_.NumberNode)({integer:!0}),sea_level:(0,_.NumberNode)({integer:!0}),min_surface_level:(0,_.NumberNode)({integer:!0}),disable_mob_generation:(0,_.BooleanNode)(),noise_caves_enabled:(0,_.BooleanNode)(),noodle_caves_enabled:(0,_.BooleanNode)(),aquifers_enabled:(0,_.BooleanNode)(),deepslate_enabled:(0,_.BooleanNode)(),ore_veins_enabled:(0,_.BooleanNode)(),default_block:e("block_state"),default_fluid:e("block_state"),noise:(0,_.ObjectNode)({min_y:(0,_.NumberNode)({integer:!0,min:-2048,max:2047}),height:(0,_.NumberNode)({integer:!0,min:0,max:4096}),density_factor:(0,_.NumberNode)(),density_offset:(0,_.NumberNode)(),size_horizontal:(0,_.NumberNode)({integer:!0}),size_vertical:(0,_.NumberNode)({integer:!0}),simplex_surface_noise:(0,_.BooleanNode)(),random_density_offset:(0,_.Opt)((0,_.BooleanNode)()),island_noise_override:(0,_.Opt)((0,_.BooleanNode)()),amplified:(0,_.Opt)((0,_.BooleanNode)()),sampling:(0,_.ObjectNode)({xz_scale:(0,_.NumberNode)(),y_scale:(0,_.NumberNode)(),xz_factor:(0,_.NumberNode)(),y_factor:(0,_.NumberNode)()}),bottom_slide:(0,_.ObjectNode)({target:(0,_.NumberNode)({integer:!0}),size:(0,_.NumberNode)({integer:!0,min:0}),offset:(0,_.NumberNode)({integer:!0})}),top_slide:(0,_.ObjectNode)({target:(0,_.NumberNode)({integer:!0}),size:(0,_.NumberNode)({integer:!0,min:0}),offset:(0,_.NumberNode)({integer:!0})})}),structures:e("generator_structures")},{context:"noise_settings"}),d=>({default:()=>Nt.DefaultNoiseSettings,validate:(a,n,N,B)=>{var u,v,j,O;return n=d.validate(a,n,N,B),((u=n==null?void 0:n.noise)===null||u===void 0?void 0:u.min_y)+((v=n==null?void 0:n.noise)===null||v===void 0?void 0:v.height)>2047&&N.add(a.push("noise").push("height"),"error.min_y_plus_height",2047),((j=n==null?void 0:n.noise)===null||j===void 0?void 0:j.height)%16!==0&&N.add(a.push("noise").push("height"),"error.height_multiple",16),((O=n==null?void 0:n.noise)===null||O===void 0?void 0:O.min_y)%16!==0&&N.add(a.push("noise").push("min_y"),"error.min_y_multiple",16),n}}))),o.register("generator_structures",(0,_.ObjectNode)({stronghold:(0,_.Opt)((0,_.ObjectNode)({distance:(0,_.NumberNode)({integer:!0,min:0,max:1023}),spread:(0,_.NumberNode)({integer:!0,min:0,max:1023}),count:(0,_.NumberNode)({integer:!0,min:1,max:4095})})),structures:(0,_.MapNode)(t({validator:"resource",params:{pool:"worldgen/structure_feature"}}),(0,_.Mod)((0,_.ObjectNode)({spacing:(0,_.NumberNode)({integer:!0,min:0,max:4096}),separation:(0,_.Mod)((0,_.NumberNode)({integer:!0,min:0,max:4096}),d=>({validate:(a,n,N,B)=>(a.pop().push("spacing").get()<=n&&N.add(a,"error.separation_smaller_spacing"),d.validate(a,n,N,B))})),salt:(0,_.NumberNode)({integer:!0,min:0})},{context:"generator_structure"}),{default:()=>({spacing:10,separation:5,salt:0})}))})),o.register("generator_layer",(0,_.Mod)((0,_.ObjectNode)({block:t({validator:"resource",params:{pool:"block"}}),height:(0,_.NumberNode)({integer:!0,min:1})}),{default:()=>({block:"minecraft:stone",height:1})}))}xe.initNoiseSettingsSchemas=ht;var we={};Object.defineProperty(we,"__esModule",{value:!0});we.initStructureFeatureSchemas=void 0;const z=w;function yt(o,r){const e=z.StringNode.bind(void 0,r),t=z.Reference.bind(void 0,o),d={start_pool:e({validator:"resource",params:{pool:"$worldgen/template_pool"}}),size:(0,z.NumberNode)({integer:!0})};o.register("configured_structure_feature",(0,z.Mod)((0,z.ObjectNode)({type:e({validator:"resource",params:{pool:"worldgen/structure_feature"}}),config:(0,z.ObjectNode)({[z.Switch]:["pop",{push:"type"}],[z.Case]:{"minecraft:bastion_remnant":d,"minecraft:buried_treasure":{probability:(0,z.NumberNode)({min:0,max:1})},"minecraft:mineshaft":{type:e({enum:["normal","mesa"]}),probability:(0,z.NumberNode)({min:0,max:1})},"minecraft:nether_fossil":{height:t("height_provider")},"minecraft:ocean_ruin":{biome_temp:e({enum:["cold","warm"]}),large_probability:(0,z.NumberNode)({min:0,max:1}),cluster_probability:(0,z.NumberNode)({min:0,max:1})},"minecraft:pillager_outpost":d,"minecraft:ruined_portal":{portal_type:e({enum:["standard","desert","jungle","mountain","nether","ocean","swamp"]})},"minecraft:shipwreck":{is_beached:(0,z.Opt)((0,z.BooleanNode)())},"minecraft:village":d}},{context:"structure_feature",disableSwitchContext:!0})},{context:"structure_feature"}),{default:()=>({type:"minecraft:bastion_remnant",config:{start_pool:"minecraft:bastion/starts",size:6}})}))}we.initStructureFeatureSchemas=yt;var Se={};Object.defineProperty(Se,"__esModule",{value:!0});Se.initSurfaceBuilderSchemas=void 0;const te=w;function vt(o,r){const e=te.StringNode.bind(void 0,r),t=te.Reference.bind(void 0,o);o.register("configured_surface_builder",(0,te.Mod)((0,te.ObjectNode)({type:e({validator:"resource",params:{pool:"worldgen/surface_builder"}}),config:(0,te.ObjectNode)({top_material:t("block_state"),under_material:t("block_state"),underwater_material:t("block_state")},{context:"surface_builder"})},{context:"surface_builder"}),{default:()=>({type:"minecraft:default",config:{top_material:{Name:"minecraft:grass_block",Properties:{snowy:"false"}},under_material:{Name:"minecraft:dirt"},underwater_material:{Name:"minecraft:gravel"}}})}))}Se.initSurfaceBuilderSchemas=vt;var je={};Object.defineProperty(je,"__esModule",{value:!0});je.initTemplatePoolSchemas=void 0;const $=w,Re=H;function Ot(o,r){const e=$.Reference.bind(void 0,o),t=$.StringNode.bind(void 0,r);o.register("template_pool",(0,$.Mod)((0,$.ObjectNode)({name:t(),fallback:t(),elements:(0,$.ListNode)(e("template_weighted_element"))},{context:"template_pool"}),{default:()=>({fallback:"minecraft:empty",elements:[{weight:1,element:{element_type:"minecraft:single_pool_element",projection:"rigid",processors:"minecraft:empty"}}]})})),o.register("template_weighted_element",(0,$.Mod)((0,$.ObjectNode)({weight:(0,$.NumberNode)({integer:!0,min:1}),element:e("template_element")},{category:"pool"}),{default:()=>({weight:1,element:{element_type:"minecraft:single_pool_element",projection:"rigid",processors:"minecraft:empty"}})})),o.register("template_element",(0,$.Mod)((0,$.ObjectNode)({element_type:t({validator:"resource",params:{pool:"worldgen/structure_pool_element"}}),projection:t({enum:["rigid","terrain_matching"]}),[$.Switch]:[{push:"element_type"}],[$.Case]:{"minecraft:feature_pool_element":{feature:t({validator:"resource",params:{pool:"$worldgen/configured_feature"}})},"minecraft:legacy_single_pool_element":{location:t({validator:"resource",params:{pool:"$structure"}}),processors:Re.Processors},"minecraft:list_pool_element":{elements:(0,$.ListNode)(e("template_element"))},"minecraft:single_pool_element":{location:t({validator:"resource",params:{pool:"$structure"}}),processors:Re.Processors}}},{context:"template_element",disableSwitchContext:!0}),{default:()=>({element_type:"minecraft:single_pool_element",projection:"rigid",processors:"minecraft:empty"})}))}je.initTemplatePoolSchemas=Ot;Object.defineProperty(he,"__esModule",{value:!0});he.initWorldgenSchemas=void 0;const kt=ye,xt=ve,wt=Oe,St=ke,jt=xe,Mt=H,Ct=we,Pt=Se,Lt=je;function Bt(o,r){(0,Mt.initProcessorListSchemas)(o,r),(0,kt.initBiomeSchemas)(o,r),(0,xt.initCarverSchemas)(o,r),(0,wt.initDecoratorSchemas)(o,r),(0,St.initFeatureSchemas)(o,r),(0,jt.initNoiseSettingsSchemas)(o,r),(0,Ct.initStructureFeatureSchemas)(o,r),(0,Pt.initSurfaceBuilderSchemas)(o,r),(0,Lt.initTemplatePoolSchemas)(o,r)}he.initWorldgenSchemas=Bt;var Me={};Object.defineProperty(Me,"__esModule",{value:!0});Me.initWorldSettingsSchemas=void 0;const V=w;function zt(o,r){const e=V.Reference.bind(void 0,o),t=V.StringNode.bind(void 0,r);o.register("world_settings",(0,V.Mod)((0,V.ObjectNode)({generate_features:(0,V.BooleanNode)(),bonus_chest:(0,V.BooleanNode)(),seed:(0,V.NumberNode)({integer:!0}),dimensions:(0,V.MapNode)(t({validator:"resource",params:{pool:"$dimension"}}),e("dimension"))},{context:"world_settings"}),{default:()=>{const d=Math.floor(Math.random()*4294967296)-2147483648;return{generate_features:!0,bonus_chest:!1,seed:d,dimensions:{"minecraft:overworld":{type:"minecraft:overworld",generator:{type:"minecraft:noise",seed:d,biome_source:{type:"minecraft:vanilla_layered",seed:d},settings:"minecraft:overworld"}},"minecraft:the_nether":{type:"minecraft:the_nether",generator:{type:"minecraft:noise",seed:d,biome_source:{type:"minecraft:multi_noise",seed:d,humidity_noise:{firstOctave:-7,amplitudes:[1,1]},altitude_noise:{firstOctave:-7,amplitudes:[1,1]},weirdness_noise:{firstOctave:-7,amplitudes:[1,1]},temperature_noise:{firstOctave:-7,amplitudes:[1,1]},biomes:[{parameters:{altitude:0,weirdness:0,offset:0,temperature:0,humidity:0},biome:"minecraft:nether_wastes"},{parameters:{altitude:0,weirdness:0,offset:0,temperature:0,humidity:-.5},biome:"minecraft:soul_sand_valley"},{parameters:{altitude:0,weirdness:0,offset:0,temperature:.4,humidity:0},biome:"minecraft:crimson_forest"},{parameters:{altitude:0,weirdness:0,offset:.375,temperature:0,humidity:.5},biome:"minecraft:warped_forest"},{parameters:{altitude:0,weirdness:0,offset:.175,temperature:-.5,humidity:0},biome:"minecraft:basalt_deltas"}]},settings:"minecraft:nether"}},"minecraft:the_end":{type:"minecraft:the_end",generator:{type:"minecraft:noise",seed:d,biome_source:{type:"minecraft:the_end",seed:d},settings:"minecraft:end"}}}}}}))}Me.initWorldSettingsSchemas=zt;Object.defineProperty(ie,"__esModule",{value:!0});ie.initSchemas=void 0;const $t=ae,Rt=ne,Tt=F,Dt=se,Ft=me,It=le,qt=_e,At=pe,Et=ue,Wt=fe,Gt=be,Ut=ge,Vt=Ne,Ht=he,Kt=Me;function Xt(o,r){(0,Tt.initCommonSchemas)(o,r),(0,$t.initAdvancementSchemas)(o,r),(0,Rt.initAssetsSchemas)(o,r),(0,Dt.initConditionSchemas)(o,r),(0,It.initDimensionTypeSchemas)(o,r),(0,Ft.initDimensionSchemas)(o,r),(0,qt.initItemModifierSchemas)(o,r),(0,At.initLootTableSchemas)(o,r),(0,Et.initPackMcmetaSchemas)(o,r),(0,Wt.initPredicatesSchemas)(o,r),(0,Gt.initRecipeSchemas)(o,r),(0,Ut.initTagsSchemas)(o,r),(0,Vt.initTextComponentSchemas)(o,r),(0,Ht.initWorldgenSchemas)(o,r),(0,Kt.initWorldSettingsSchemas)(o,r)}ie.initSchemas=Xt;var Zt=Q&&Q.__createBinding||(Object.create?function(o,r,e,t){t===void 0&&(t=e);var d=Object.getOwnPropertyDescriptor(r,e);(!d||("get"in d?!r.__esModule:d.writable||d.configurable))&&(d={enumerable:!0,get:function(){return r[e]}}),Object.defineProperty(o,t,d)}:function(o,r,e,t){t===void 0&&(t=e),o[t]=r[e]}),Yt=Q&&Q.__setModuleDefault||(Object.create?function(o,r){Object.defineProperty(o,"default",{enumerable:!0,value:r})}:function(o,r){o.default=r}),Jt=Q&&Q.__importStar||function(o){if(o&&o.__esModule)return o;var r={};if(o!=null)for(var e in o)e!=="default"&&Object.prototype.hasOwnProperty.call(o,e)&&Zt(r,o,e);return Yt(r,o),r};Object.defineProperty(W,"__esModule",{value:!0});var Te=W.getSchemas=Ie=W.getCollections=Fe=W.lootContext=void 0;const De=w,Qt=oe,er=ie;var Fe=W.lootContext=Jt(R);function tr(){const o=new De.CollectionRegistry;return(0,Qt.initCollections)(o),o}var Ie=W.getCollections=tr;function rr(o){const r=new De.SchemaRegistry;return(0,er.initSchemas)(r,o),r}Te=W.getSchemas=rr;var nr=Ue({__proto__:null,get getSchemas(){return Te},get getCollections(){return Ie},get lootContext(){return Fe},default:W},[W]);export{nr as i}; -//# sourceMappingURL=index.42b0dee2.js.map +var qe=Object.defineProperty,Ae=Object.defineProperties;var Ee=Object.getOwnPropertyDescriptors;var Ce=Object.getOwnPropertySymbols;var We=Object.prototype.hasOwnProperty,Ge=Object.prototype.propertyIsEnumerable;var Pe=(o,r,e)=>r in o?qe(o,r,{enumerable:!0,configurable:!0,writable:!0,value:e}):o[r]=e,k=(o,r)=>{for(var e in r||(r={}))We.call(r,e)&&Pe(o,e,r[e]);if(Ce)for(var e of Ce(r))Ge.call(r,e)&&Pe(o,e,r[e]);return o},Le=(o,r)=>Ae(o,Ee(r));import{l as w,c as Q}from"./index.38fdde83.js";function Ue(o,r){return r.forEach(function(e){e&&typeof e!="string"&&!Array.isArray(e)&&Object.keys(e).forEach(function(t){if(t!=="default"&&!(t in o)){var d=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(o,t,d.get?d:{enumerable:!0,get:function(){return e[t]}})}})}),Object.freeze(Object.defineProperty(o,Symbol.toStringTag,{value:"Module"}))}var W={},oe={};Object.defineProperty(oe,"__esModule",{value:!0});oe.initCollections=void 0;function Ve(o){o.register("advancement_trigger",["minecraft:bee_nest_destroyed","minecraft:bred_animals","minecraft:brewed_potion","minecraft:changed_dimension","minecraft:channeled_lightning","minecraft:construct_beacon","minecraft:consume_item","minecraft:cured_zombie_villager","minecraft:effects_changed","minecraft:enchanted_item","minecraft:enter_block","minecraft:entity_hurt_player","minecraft:entity_killed_player","minecraft:filled_bucket","minecraft:fishing_rod_hooked","minecraft:hero_of_the_village","minecraft:impossible","minecraft:inventory_changed","minecraft:item_durability_changed","minecraft:item_used_on_block","minecraft:killed_by_crossbow","minecraft:levitation","minecraft:lightning_strike","minecraft:location","minecraft:nether_travel","minecraft:placed_block","minecraft:player_generates_container_loot","minecraft:player_hurt_entity","minecraft:player_interacted_with_entity","minecraft:player_killed_entity","minecraft:recipe_unlocked","minecraft:shot_crossbow","minecraft:slept_in_bed","minecraft:slide_down_block","minecraft:started_riding","minecraft:summoned_entity","minecraft:tame_animal","minecraft:target_hit","minecraft:tick","minecraft:thrown_item_picked_up_by_entity","minecraft:used_ender_eye","minecraft:used_totem","minecraft:using_item","minecraft:villager_trade","minecraft:voluntary_exile"]),o.register("dimension",["minecraft:overworld","minecraft:the_nether","minecraft:the_end"]),o.register("dimension_type",["minecraft:overworld","minecraft:the_nether","minecraft:the_end"]),o.register("keybind",["key.advancements","key.attack","key.back","key.chat","key.command","key.drop","key.forward","key.fullscreen","key.hotbar.1","key.hotbar.2","key.hotbar.3","key.hotbar.4","key.hotbar.5","key.hotbar.6","key.hotbar.7","key.hotbar.8","key.hotbar.9","key.inventory","key.jump","key.left","key.loadToolbarActivator","key.pickItem","key.playerlist","key.right","key.saveToolbarActivator","key.screenshot","key.smoothCamera","key.sneak","key.spectatorOutlines","key.sprint","key.swapOffhand","key.togglePerspective","key.use"]),o.register("slot",["mainhand","offhand","head","chest","legs","feet"]),o.register("gamemode",["survival","creative","adventure","spectator"]),o.register("worldgen/noise_settings",["minecraft:overworld","minecraft:nether","minecraft:end","minecraft:amplified","minecraft:caves","minecraft:floating_islands"]),o.register("entity_source",["this","killer","direct_killer","killer_player"]),o.register("copy_source",["block_entity","this","killer","killer_player"]),o.register("loot_table_apply_bonus_formula",["minecraft:uniform_bonus_count","minecraft:binomial_with_bonus_count","minecraft:ore_drops"]),o.register("map_decoration",["mansion","monument","player","frame","red_marker","blue_marker","target_x","target_point","player_off_map","player_off_limits","red_x","banner_white","banner_orange","banner_magenta","banner_light_blue","banner_yellow","banner_lime","banner_pink","banner_gray","banner_light_gray","banner_cyan","banner_purple","banner_blue","banner_brown","banner_green","banner_red","banner_black"]),o.register("map_feature",["bastion_remnant","buried_treasure","desert_pyramid","endcity","fortress","igloo","jungle_pyramid","mansion","mineshaft","monument","nether_fossil","ocean_ruin","pillager_outpost","ruined_portal","shipwreck","stronghold","swamp_hut","village"]),o.register("recipe_group",["bed","light_gray_dye","iron_ingot","wooden_stairs","black_dye","stained_terracotta","dyed_bed","magenta_dye","bark","rabbit_stew","light_blue_dye","wooden_fence_gate","planks","stained_glass","wooden_door","stained_glass_pane","wooden_fence","sticks","concrete_powder","wooden_pressure_plate","boat","brown_dye","yellow_dye","bonemeal","red_dye","wooden_trapdoor","wooden_button","gold_ingot","pink_dye","wooden_slab","orange_dye","carpet","sign","wool","sugar","blue_dye","white_dye","banner","netherite_ingot"]),o.register("worldgen/configured_feature",["minecraft:acacia","minecraft:bamboo_light","minecraft:bamboo_vegetation","minecraft:bamboo","minecraft:basalt_blobs","minecraft:basalt_pillar","minecraft:birch_bees_0002","minecraft:birch_bees_002","minecraft:birch_bees_005","minecraft:birch_other","minecraft:birch_tall","minecraft:birch","minecraft:blackstone_blobs","minecraft:blue_ice","minecraft:bonus_chest","minecraft:brown_mushroom_giant","minecraft:brown_mushroom_nether","minecraft:brown_mushroom_normal","minecraft:brown_mushroom_swamp","minecraft:brown_mushroom_taiga","minecraft:chorus_plant","minecraft:crimson_forest_vegetation","minecraft:crimson_fungi_planted","minecraft:crimson_fungi","minecraft:dark_forest_vegetation_brown","minecraft:dark_forest_vegetation_red","minecraft:dark_oak","minecraft:delta","minecraft:desert_well","minecraft:disk_clay","minecraft:disk_gravel","minecraft:disk_sand","minecraft:end_gateway_delayed","minecraft:end_gateway","minecraft:end_island_decorated","minecraft:end_island","minecraft:end_spike","minecraft:fancy_oak_bees_0002","minecraft:fancy_oak_bees_002","minecraft:fancy_oak_bees_005","minecraft:fancy_oak","minecraft:flower_default","minecraft:flower_forest","minecraft:flower_plain_decorated","minecraft:flower_plain","minecraft:flower_swamp","minecraft:flower_warm","minecraft:forest_flower_trees","minecraft:forest_flower_vegetation_common","minecraft:forest_flower_vegetation","minecraft:forest_rock","minecraft:fossil","minecraft:freeze_top_layer","minecraft:glowstone_extra","minecraft:glowstone","minecraft:huge_brown_mushroom","minecraft:huge_red_mushroom","minecraft:ice_patch","minecraft:ice_spike","minecraft:iceberg_blue","minecraft:iceberg_packed","minecraft:jungle_bush","minecraft:jungle_tree_no_vine","minecraft:jungle_tree","minecraft:kelp_cold","minecraft:kelp_warm","minecraft:lake_lava","minecraft:lake_water","minecraft:large_basalt_columns","minecraft:mega_jungle_tree","minecraft:mega_pine","minecraft:mega_spruce","minecraft:monster_room","minecraft:mushroom_field_vegetation","minecraft:nether_sprouts","minecraft:oak_badlands","minecraft:oak_bees_0002","minecraft:oak_bees_002","minecraft:oak_bees_005","minecraft:oak","minecraft:ore_andesite","minecraft:ore_blackstone","minecraft:ore_coal","minecraft:ore_debris_large","minecraft:ore_debris_small","minecraft:ore_diamond","minecraft:ore_diorite","minecraft:ore_dirt","minecraft:ore_emerald","minecraft:ore_gold_deltas","minecraft:ore_gold_extra","minecraft:ore_gold_nether","minecraft:ore_gold","minecraft:ore_granite","minecraft:ore_gravel_nether","minecraft:ore_gravel","minecraft:ore_infested","minecraft:ore_iron","minecraft:ore_lapis","minecraft:ore_magma","minecraft:ore_quartz_deltas","minecraft:ore_quartz_nether","minecraft:ore_redstone","minecraft:ore_soul_sand","minecraft:patch_berry_bush","minecraft:patch_berry_decorated","minecraft:patch_berry_sparse","minecraft:patch_brown_mushroom","minecraft:patch_cactus_decorated","minecraft:patch_cactus_desert","minecraft:patch_cactus","minecraft:patch_crimson_roots","minecraft:patch_dead_bush_2","minecraft:patch_dead_bush_badlands","minecraft:patch_dead_bush","minecraft:patch_fire","minecraft:patch_grass_badlands","minecraft:patch_grass_forest","minecraft:patch_grass_jungle","minecraft:patch_grass_normal","minecraft:patch_grass_plain","minecraft:patch_grass_savanna","minecraft:patch_grass_taiga_2","minecraft:patch_grass_taiga","minecraft:patch_large_fern","minecraft:patch_melon","minecraft:patch_pumpkin","minecraft:patch_red_mushroom","minecraft:patch_soul_fire","minecraft:patch_sugar_cane_badlands","minecraft:patch_sugar_cane_desert","minecraft:patch_sugar_cane_swamp","minecraft:patch_sugar_cane","minecraft:patch_sunflower","minecraft:patch_taiga_grass","minecraft:patch_tall_grass_2","minecraft:patch_tall_grass","minecraft:patch_waterlilly","minecraft:pile_hay","minecraft:pile_ice","minecraft:pile_melon","minecraft:pile_pumpkin","minecraft:pile_snow","minecraft:pine","minecraft:plain_vegetation","minecraft:red_mushroom_giant","minecraft:red_mushroom_nether","minecraft:red_mushroom_normal","minecraft:red_mushroom_swamp","minecraft:red_mushroom_taiga","minecraft:sea_pickle","minecraft:seagrass_cold","minecraft:seagrass_deep_cold","minecraft:seagrass_deep_warm","minecraft:seagrass_deep","minecraft:seagrass_normal","minecraft:seagrass_river","minecraft:seagrass_simple","minecraft:seagrass_swamp","minecraft:seagrass_warm","minecraft:small_basalt_columns","minecraft:spring_closed_double","minecraft:spring_closed","minecraft:spring_delta","minecraft:spring_lava_double","minecraft:spring_lava","minecraft:spring_open","minecraft:spring_water","minecraft:spruce_snowy","minecraft:spruce","minecraft:super_birch_bees_0002","minecraft:swamp_tree","minecraft:taiga_vegetation","minecraft:trees_birch","minecraft:trees_giant_spruce","minecraft:trees_giant","minecraft:trees_jungle_edge","minecraft:trees_jungle","minecraft:trees_mountain_edge","minecraft:trees_mountain","minecraft:trees_savanna","minecraft:trees_shattered_savanna","minecraft:trees_water","minecraft:twisting_vines","minecraft:vines","minecraft:void_start_platform","minecraft:warm_ocean_vegetation","minecraft:warped_forest_vegetation","minecraft:warped_fungi_planted","minecraft:warped_fungi","minecraft:weeping_vines"]),o.register("worldgen/configured_structure_feature",["minecraft:bastion_remnant","minecraft:buried_treasure","minecraft:desert_pyramid","minecraft:end_city","minecraft:fortress","minecraft:igloo","minecraft:jungle_pyramid","minecraft:mansion","minecraft:mineshaft_mesa","minecraft:mineshaft","minecraft:monument","minecraft:nether_fossil","minecraft:ocean_ruin_cold","minecraft:ocean_ruin_warm","minecraft:pillager_outpost","minecraft:ruined_portal_desert","minecraft:ruined_portal_jungle","minecraft:ruined_portal_mountain","minecraft:ruined_portal_nether","minecraft:ruined_portal_ocean","minecraft:ruined_portal_swamp","minecraft:ruined_portal","minecraft:shipwreck_beached","minecraft:shipwreck","minecraft:stronghold","minecraft:swamp_hut","minecraft:village_desert","minecraft:village_plains","minecraft:village_savanna","minecraft:village_snowy","minecraft:village_taiga"]),o.register("worldgen/configured_surface_builder",["minecraft:badlands","minecraft:basalt_deltas","minecraft:crimson_forest","minecraft:desert","minecraft:end","minecraft:eroded_badlands","minecraft:frozen_ocean","minecraft:full_sand","minecraft:giant_tree_taiga","minecraft:grass","minecraft:gravelly_mountain","minecraft:ice_spikes","minecraft:mountain","minecraft:mycelium","minecraft:nether","minecraft:nope","minecraft:ocean_sand","minecraft:shattered_savanna","minecraft:soul_sand_valley","minecraft:stone","minecraft:swamp","minecraft:warped_forest","minecraft:wooded_badlands"]),o.register("biome_category",["beach","desert","extreme_hills","forest","icy","jungle","mesa","mushroom","nether","none","ocean","plains","river","savanna","swamp","taiga","the_end","underground"]),o.register("heightmap_type",["MOTION_BLOCKING","MOTION_BLOCKING_NO_LEAVES","OCEAN_FLOOR","OCEAN_FLOOR_WG","WORLD_SURFACE","WORLD_SURFACE_WG"]),o.register("generation_step",["air","liquid"]),o.register("loot_context_type",["minecraft:empty","minecraft:chest","minecraft:command","minecraft:selector","minecraft:fishing","minecraft:entity","minecraft:gift","minecraft:barter","minecraft:advancement_reward","minecraft:advancement_entity","minecraft:generic","minecraft:block"]),o.register("banner_pattern",["base","square_bottom_left","square_bottom_right","square_top_left","square_top_right","stripe_bottom","stripe_top","stripe_left","stripe_right","stripe_center","stripe_middle","stripe_downright","stripe_downleft","small_stripes","cross","straight_cross","triangle_bottom","triangle_top","triangles_bottom","triangles_top","diagonal_left","diagonal_up_right","diagonal_up_left","diagonal_right","circle","rhombus","half_vertical","half_horizontal","half_vertical_right","half_horizontal_bottom","border","curly_border","gradient","gradient_up","bricks","globe","creeper","skull","flower","mojang","piglin"]),o.register("dye_color",["white","orange","magenta","light_blue","yellow","lime","pink","gray","light_gray","cyan","purple","blue","brown","green","red","black"]),o.register("cat_texture",["textures/entity/cat/tabby.png","textures/entity/cat/black.png","textures/entity/cat/red.png","textures/entity/cat/siamese.png","textures/entity/cat/british_shorthair.png","textures/entity/cat/calico.png","textures/entity/cat/persian.png","textures/entity/cat/ragdoll.png","textures/entity/cat/white.png","textures/entity/cat/jellie.png","textures/entity/cat/all_black.png"])}oe.initCollections=Ve;var ie={},ae={};Object.defineProperty(ae,"__esModule",{value:!0});ae.initAdvancementSchemas=void 0;const s=w;function He(o,r){const e=s.Reference.bind(void 0,o),t=s.StringNode.bind(void 0,r),d=(0,s.ChoiceNode)([{type:"object",node:(0,s.Opt)(e("entity_predicate")),change:a=>{var n,N;return(N=(n=a[0])===null||n===void 0?void 0:n.predicate)!==null&&N!==void 0?N:{}}},{type:"list",node:(0,s.ListNode)(e("condition")),change:a=>[{condition:"minecraft:entity_properties",predicate:a}]}],{context:"conditions"});o.register("advancement",(0,s.Mod)((0,s.ObjectNode)({display:(0,s.Opt)((0,s.Mod)((0,s.ObjectNode)({icon:(0,s.ObjectNode)({item:t({validator:"resource",params:{pool:"item"}}),nbt:(0,s.Opt)(t({validator:"nbt",params:{registry:{category:"minecraft:item",id:["pop",{push:"item"}]}}}))}),title:e("text_component"),description:e("text_component"),background:(0,s.Opt)(t()),frame:(0,s.Opt)(t({enum:["task","challenge","goal"]})),show_toast:(0,s.Opt)((0,s.BooleanNode)()),announce_to_chat:(0,s.Opt)((0,s.BooleanNode)()),hidden:(0,s.Opt)((0,s.BooleanNode)())}),{default:()=>({icon:{item:"minecraft:stone"},title:"",description:""})})),parent:(0,s.Opt)(t({validator:"resource",params:{pool:"$advancement"}})),criteria:(0,s.MapNode)(t(),e("advancement_criteria")),requirements:(0,s.Opt)((0,s.ListNode)((0,s.ListNode)(t()))),rewards:(0,s.Opt)((0,s.ObjectNode)({function:(0,s.Opt)(t({validator:"resource",params:{pool:"$function"}})),loot:(0,s.Opt)((0,s.ListNode)(t({validator:"resource",params:{pool:"$loot_table"}}))),recipes:(0,s.Opt)((0,s.ListNode)(t({validator:"resource",params:{pool:"$recipe"}}))),experience:(0,s.Opt)((0,s.NumberNode)({integer:!0}))}))},{context:"advancement"}),{default:()=>({criteria:{requirement:{trigger:"minecraft:location"}}})})),o.register("advancement_criteria",(0,s.ObjectNode)({trigger:t({validator:"resource",params:{pool:r.get("advancement_trigger")}}),conditions:(0,s.Opt)((0,s.ObjectNode)({player:(0,s.Mod)(d,{enabled:a=>a.pop().push("trigger").get()!=="minecraft:impossible"}),[s.Switch]:["pop",{push:"trigger"}],[s.Case]:{"minecraft:bee_nest_destroyed":{block:(0,s.Opt)(t({validator:"resource",params:{pool:"block"}})),num_bees_inside:(0,s.Opt)((0,s.NumberNode)({integer:!0})),item:(0,s.Opt)(e("item_predicate"))},"minecraft:bred_animals":{parent:d,partner:d,child:d},"minecraft:brewed_potion":{potion:(0,s.Opt)(t({validator:"resource",params:{pool:"potion"}}))},"minecraft:changed_dimension":{from:(0,s.Opt)(t({validator:"resource",params:{pool:"$dimension"}})),to:(0,s.Opt)(t({validator:"resource",params:{pool:"$dimension"}}))},"minecraft:channeled_lightning":{victims:(0,s.Opt)((0,s.ListNode)(d))},"minecraft:construct_beacon":{level:e("int_bounds")},"minecraft:consume_item":{item:(0,s.Opt)(e("item_predicate"))},"minecraft:cured_zombie_villager":{villager:d,zombie:d},"minecraft:effects_changed":{effects:(0,s.Opt)((0,s.MapNode)(t({validator:"resource",params:{pool:"mob_effect"}}),(0,s.ObjectNode)({amplifier:e("int_bounds"),duration:e("int_bounds")}))),source:(0,s.Opt)(d)},"minecraft:enter_block":{block:(0,s.Opt)(t({validator:"resource",params:{pool:"block"}})),state:(0,s.Opt)((0,s.MapNode)(t(),t(),{validation:{validator:"block_state_map",params:{id:["pop",{push:"block"}]}}}))},"minecraft:enchanted_item":{levels:e("int_bounds"),item:(0,s.Opt)(e("item_predicate"))},"minecraft:entity_hurt_player":{damage:(0,s.Opt)(e("damage_predicate"))},"minecraft:entity_killed_player":{entity:d,killing_blow:(0,s.Opt)(e("damage_source_predicate"))},"minecraft:filled_bucket":{item:(0,s.Opt)(e("item_predicate"))},"minecraft:fishing_rod_hooked":{entity:d,item:(0,s.Opt)(e("item_predicate"))},"minecraft:hero_of_the_village":{location:(0,s.Opt)(e("location_predicate"))},"minecraft:inventory_changed":{slots:(0,s.Opt)((0,s.ObjectNode)({empty:e("int_bounds"),occupied:e("int_bounds"),full:e("int_bounds")})),items:(0,s.Opt)((0,s.ListNode)(e("item_predicate")))},"minecraft:item_durability_changed":{delta:e("int_bounds"),durability:e("int_bounds"),item:(0,s.Opt)(e("item_predicate"))},"minecraft:item_used_on_block":{item:(0,s.Opt)(e("item_predicate")),location:(0,s.Opt)(e("location_predicate"))},"minecraft:killed_by_crossbow":{unique_entity_types:e("int_bounds"),victims:(0,s.Opt)((0,s.ListNode)(d))},"minecraft:levitation":{distance:e("distance_predicate"),duration:e("int_bounds")},"minecraft:lightning_strike":{lightning:d,bystander:d},"minecraft:location":{location:(0,s.Opt)(e("location_predicate"))},"minecraft:nether_travel":{distance:e("distance_predicate"),entered:(0,s.Opt)(e("location_predicate")),exited:(0,s.Opt)(e("location_predicate"))},"minecraft:placed_block":{block:(0,s.Opt)(t({validator:"resource",params:{pool:"block"}})),state:(0,s.Opt)((0,s.MapNode)(t(),t(),{validation:{validator:"block_state_map",params:{id:["pop",{push:"block"}]}}})),item:(0,s.Opt)(e("item_predicate")),location:(0,s.Opt)(e("location_predicate"))},"minecraft:player_generates_container_loot":{loot_table:t({validator:"resource",params:{pool:"$loot_table"}})},"minecraft:player_hurt_entity":{damage:(0,s.Opt)(e("damage_predicate")),entity:d},"minecraft:player_interacted_with_entity":{item:(0,s.Opt)(e("item_predicate")),entity:d},"minecraft:player_killed_entity":{entity:d,killing_blow:(0,s.Opt)(e("damage_source_predicate"))},"minecraft:recipe_unlocked":{recipe:t({validator:"resource",params:{pool:"$recipe"}})},"minecraft:slept_in_bed":{location:(0,s.Opt)(e("location_predicate"))},"minecraft:slide_down_block":{block:(0,s.Opt)(t({validator:"resource",params:{pool:"block"}}))},"minecraft:shot_crossbow":{item:(0,s.Opt)(e("item_predicate"))},"minecraft:summoned_entity":{entity:d},"minecraft:tame_animal":{entity:d},"minecraft:target_hit":{projectile:d,shooter:d,signal_strength:e("int_bounds")},"minecraft:thrown_item_picked_up_by_entity":{entity:d,item:(0,s.Opt)(e("item_predicate"))},"minecraft:used_ender_eye":{distance:e("float_bounds")},"minecraft:used_totem":{item:(0,s.Opt)(e("item_predicate"))},"minecraft:using_item":{item:(0,s.Opt)(e("item_predicate"))},"minecraft:villager_trade":{villager:d,item:(0,s.Opt)(e("item_predicate"))},"minecraft:voluntary_exile":{location:e("location_predicate")}}},{context:"criterion"}))},{category:"predicate",context:"criterion"}))}ae.initAdvancementSchemas=He;var ne={},ce={};Object.defineProperty(ce,"__esModule",{value:!0});ce.initModelSchemas=void 0;const g=w;function Ke(o,r){g.Reference.bind(void 0,o);const e=g.StringNode.bind(void 0,r),t=(a,n,N)=>(0,g.ListNode)((0,g.NumberNode)({min:n,max:N}),{minLength:a,maxLength:a}),d=(0,g.ChoiceNode)([{type:"alias",match:a=>typeof a=="string"&&a.startsWith("#"),node:e(),change:a=>typeof a=="string"?`#${a}`:"#0"},{type:"reference",match:a=>typeof a=="string",node:e({validator:"resource",params:{pool:"$texture"}}),change:a=>typeof a=="string"?a.replace(/^#/,""):""}],{choiceContext:"texture"});o.register("model",(0,g.Mod)((0,g.ObjectNode)({parent:(0,g.Opt)(e({validator:"resource",params:{pool:"$model"}})),ambientocclusion:(0,g.Opt)((0,g.BooleanNode)()),gui_light:(0,g.Opt)(e({enum:"gui_light"})),textures:(0,g.Opt)((0,g.MapNode)(e(),d)),elements:(0,g.Opt)((0,g.ListNode)((0,g.ObjectNode)({from:t(3,-16,32),to:t(3,-16,32),rotation:(0,g.Opt)((0,g.ObjectNode)({origin:t(3),axis:e({enum:"axis"}),angle:(0,g.NumberEnum)({values:[-45,-22.5,0,22.5,45]}),rescale:(0,g.Opt)((0,g.BooleanNode)())})),shade:(0,g.Opt)((0,g.BooleanNode)()),faces:(0,g.MapNode)(e({enum:"direction"}),(0,g.ObjectNode)({texture:d,uv:(0,g.Opt)(t(4)),cullface:(0,g.Opt)(e({enum:"direction"})),rotation:(0,g.Opt)((0,g.NumberNode)({integer:!0})),tintindex:(0,g.Opt)((0,g.NumberNode)({integer:!0}))}))},{context:"model_element"}))),display:(0,g.Opt)((0,g.MapNode)(e({enum:"display_position"}),(0,g.ObjectNode)({rotation:t(3),translation:t(3,-80,80),scale:t(3,-4,4)},{context:"item_transform"}))),overrides:(0,g.Opt)((0,g.ListNode)((0,g.ObjectNode)({predicate:(0,g.MapNode)(e({enum:"item_model_predicates"}),(0,g.NumberNode)()),model:e({validator:"resource",params:{pool:"$model"}})},{context:"model_override"})))},{context:"model"}),{default:()=>({parent:"minecraft:item/generated",textures:{layer0:"minecraft:item/diamond"}})}))}ce.initModelSchemas=Ke;var de={};Object.defineProperty(de,"__esModule",{value:!0});de.initBlockDefinitionSchemas=void 0;const x=w;function Xe(o,r){const e=x.Reference.bind(void 0,o),t=x.StringNode.bind(void 0,r);o.register("block_definition",(0,x.Mod)((0,x.ChoiceNode)([{type:"variants",match:a=>a.variants!==void 0,node:(0,x.ObjectNode)({variants:(0,x.MapNode)(t(),e("model_variant"))}),change:a=>({variants:{"":{}}})},{type:"multipart",match:a=>a.multipart!==void 0,node:(0,x.ObjectNode)({multipart:(0,x.ListNode)((0,x.ObjectNode)({when:(0,x.Opt)(e("multipart_condition")),apply:e("model_variant")}))}),change:a=>({multipart:{when:{},apply:{}}})}],{context:"block_definition"}),{default:()=>({variants:{"":{model:"minecraft:block/stone"}}})}));const d={model:t({validator:"resource",params:{pool:"$model"}}),x:(0,x.Opt)((0,x.NumberEnum)({integer:!0,values:[0,90,180,270]})),y:(0,x.Opt)((0,x.NumberEnum)({integer:!0,values:[0,90,180,270]})),uvlock:(0,x.Opt)((0,x.BooleanNode)())};o.register("model_variant",(0,x.ChoiceNode)([{type:"object",node:(0,x.ObjectNode)(d),change:a=>Array.isArray(a)&&a.length>0?a[0]:{}},{type:"list",node:(0,x.ListNode)((0,x.ObjectNode)(Le(k({},d),{weight:(0,x.Opt)((0,x.NumberNode)({integer:!0,min:1}))}),{context:"model_variant"})),change:a=>[k({weight:1},a)]}],{context:"model_variant"})),o.register("multipart_condition",(0,x.ChoiceNode)([{type:"object",priority:-1,match:()=>!0,node:(0,x.MapNode)(t(),t()),change:a=>typeof a=="object"&&Array.isArray(a==null?void 0:a.OR)&&a.OR.length>0?a.OR[0]:{}},{type:"or",match:a=>typeof a=="object"&&(a==null?void 0:a.OR)!==void 0,node:(0,x.ObjectNode)({OR:(0,x.ListNode)(e("multipart_condition"))}),change:a=>({OR:[a!=null?a:{}]})}],{context:"multipart_condition"}))}de.initBlockDefinitionSchemas=Xe;Object.defineProperty(ne,"__esModule",{value:!0});ne.initAssetsSchemas=void 0;const Ze=ce,Ye=de;function Je(o,r){(0,Ye.initBlockDefinitionSchemas)(o,r),(0,Ze.initModelSchemas)(o,r)}ne.initAssetsSchemas=Je;var F={};(function(o){Object.defineProperty(o,"__esModule",{value:!0}),o.initCommonSchemas=o.IntProvider=o.FloatProvider=o.NoiseSettingsPresets=o.DefaultNoiseSettings=o.DimensionTypePresets=o.DefaultDimensionType=o.FunctionCases=o.ConditionCases=void 0;const r=w;o.DefaultDimensionType={ultrawarm:!1,natural:!0,piglin_safe:!1,respawn_anchor_works:!1,bed_works:!0,has_raids:!0,has_skylight:!0,has_ceiling:!1,coordinate_scale:1,ambient_light:0,logical_height:256,infiniburn:"minecraft:infiniburn_overworld",min_y:0,height:256},o.DefaultNoiseSettings={name:"minecraft:overworld",bedrock_roof_position:-10,bedrock_floor_position:0,sea_level:63,disable_mob_generation:!1,noise_caves_enabled:!0,aquifers_enabled:!0,deepslate_enabled:!0,noise:{min_y:0,height:256,density_factor:1,density_offset:-.46875,simplex_surface_noise:!0,random_density_offset:!0,size_horizontal:1,size_vertical:2,sampling:{xz_scale:1,y_scale:1,xz_factor:80,y_factor:160},top_slide:{target:-10,size:3,offset:0},bottom_slide:{target:-30,size:0,offset:0}},default_block:{Name:"minecraft:stone"},default_fluid:{Name:"minecraft:water",Properties:{level:"0"}}};function e(t,d){const a=r.StringNode.bind(void 0,d),n=r.Reference.bind(void 0,t);t.register("block_state",(0,r.Mod)((0,r.ObjectNode)({Name:a({validator:"resource",params:{pool:"block"}}),Properties:(0,r.Opt)((0,r.MapNode)(a(),a(),{validation:{validator:"block_state_map",params:{id:["pop",{push:"Name"}]}}}))},{context:"block_state"}),{default:()=>({Name:"minecraft:stone"})})),t.register("fluid_state",(0,r.Mod)((0,r.ObjectNode)({Name:a({validator:"resource",params:{pool:"fluid"}}),Properties:(0,r.Opt)((0,r.MapNode)(a(),a()))},{context:"fluid_state"}),{default:()=>({Name:"minecraft:water",Properties:{level:"0"}})})),t.register("block_pos",(0,r.Mod)((0,r.ListNode)((0,r.NumberNode)({integer:!0}),{minLength:3,maxLength:3}),{default:()=>[0,0,0]}));const N=u=>(0,r.Opt)((0,r.ChoiceNode)([{type:"number",node:(0,r.NumberNode)({integer:u}),change:v=>{var j,O;return v===void 0?0:(O=(j=v.min)!==null&&j!==void 0?j:v.max)!==null&&O!==void 0?O:0}},{type:"object",node:(0,r.ObjectNode)({min:(0,r.Opt)((0,r.NumberNode)({integer:u})),max:(0,r.Opt)((0,r.NumberNode)({integer:u}))},{context:"range"}),change:v=>({min:v!=null?v:0,max:v!=null?v:0})}]));t.register("int_bounds",N(!0)),t.register("float_bounds",N()),t.register("int_range",(0,r.ChoiceNode)([{type:"object",node:(0,r.ObjectNode)({min:(0,r.Opt)(n("number_provider")),max:(0,r.Opt)(n("number_provider"))})},{type:"number",node:(0,r.NumberNode)({integer:!0})}],{context:"range"}));const B=(u,v,j,O,P,L,I)=>{let re={};P&&Object.keys(I[P]).forEach(T=>{re[T]=(0,r.Mod)(I[P][T],{enabled:D=>D.push("type").get()===void 0})});const K=(0,r.ObjectNode)(k({type:(0,r.Mod)((0,r.Opt)(a({validator:"resource",params:{pool:u}})),{hidden:()=>!0}),[r.Switch]:[{push:"type"}],[r.Case]:I},re),{context:L,disableSwitchContext:!0}),X=[{type:v,node:I[O][j]}];return P&&X.push({type:"object",priority:-1,node:K}),Object.keys(I).forEach(T=>{X.push({type:T,match:D=>{var Z;if("minecraft:"+((Z=D==null?void 0:D.type)===null||Z===void 0?void 0:Z.replace(/^minecraft:/,""))===T)return!0;const q=D?Object.keys(D):[];return typeof D=="object"&&((q==null?void 0:q.length)===0||(q==null?void 0:q.length)===1&&(q==null?void 0:q[0])==="type")},node:K,change:D=>({type:T})})}),(0,r.ChoiceNode)(X,{context:L,choiceContext:`${L}.type`})};t.register("number_provider",B("loot_number_provider_type","number","value","minecraft:constant","minecraft:uniform","number_provider",{"minecraft:constant":{value:(0,r.NumberNode)()},"minecraft:uniform":{min:n("number_provider"),max:n("number_provider")},"minecraft:binomial":{n:n("number_provider"),p:n("number_provider")},"minecraft:score":{target:n("scoreboard_name_provider"),score:a({validator:"objective"}),scale:(0,r.Opt)((0,r.NumberNode)())}})),t.register("scoreboard_name_provider",B("loot_score_provider_type","string","target","minecraft:context",null,"score_provider",{"minecraft:fixed":{name:a({validator:"entity",params:{amount:"multiple",type:"entities",isScoreHolder:!0}})},"minecraft:context":{target:(0,r.Mod)(a({enum:"entity_source"}),{default:()=>"this"})}})),t.register("nbt_provider",B("loot_nbt_provider_type","string","target","minecraft:context",null,"nbt_provider",{"minecraft:storage":{source:a({validator:"resource",params:{pool:"$storage"}})},"minecraft:context":{target:(0,r.Mod)(a({enum:"copy_source"}),{default:()=>"this"})}})),o.FloatProvider=u=>B("float_provider_type","number","value","minecraft:constant",null,"float_provider",{"minecraft:constant":{value:(0,r.NumberNode)(u)},"minecraft:uniform":{value:(0,r.ObjectNode)({min_inclusive:(0,r.NumberNode)(u),max_exclusive:(0,r.NumberNode)(u)})},"minecraft:clamped_normal":{value:(0,r.ObjectNode)({min:(0,r.NumberNode)(),max:(0,r.NumberNode)(),mean:(0,r.NumberNode)(),deviation:(0,r.NumberNode)()})},"minecraft:trapezoid":{value:(0,r.ObjectNode)({min:(0,r.NumberNode)(),max:(0,r.NumberNode)(),plateau:(0,r.NumberNode)()})}}),t.register("float_provider",(0,o.FloatProvider)()),o.IntProvider=u=>B("int_provider_type","number","value","minecraft:constant",null,"int_provider",{"minecraft:constant":{value:(0,r.NumberNode)(k({integer:!0},u))},"minecraft:uniform":{value:(0,r.ObjectNode)({min_inclusive:(0,r.NumberNode)(k({integer:!0},u)),max_inclusive:(0,r.NumberNode)(k({integer:!0},u))})},"minecraft:biased_to_bottom":{value:(0,r.ObjectNode)({min_inclusive:(0,r.NumberNode)(k({integer:!0},u)),max_inclusive:(0,r.NumberNode)(k({integer:!0},u))})},"minecraft:clamped":{value:(0,r.ObjectNode)({min_inclusive:(0,r.NumberNode)(k({integer:!0},u)),max_inclusive:(0,r.NumberNode)(k({integer:!0},u)),source:n("int_provider")})}}),t.register("int_provider",(0,o.IntProvider)()),t.register("vertical_anchor",(0,r.ChoiceNode)(["absolute","above_bottom","below_top"].map(u=>({type:u,match:v=>(v==null?void 0:v[u])!==void 0,change:v=>{var j,O,P;return{[u]:(P=(O=(j=v.absolute)!==null&&j!==void 0?j:v.above_bottom)!==null&&O!==void 0?O:v.below_top)!==null&&P!==void 0?P:0}},node:(0,r.ObjectNode)({[u]:(0,r.NumberNode)({integer:!0,min:-2048,max:2047})})})),{context:"vertical_anchor"})),t.register("height_provider",B("height_provider_type","number","value","minecraft:constant",null,"height_provider",{"minecraft:constant":{value:n("vertical_anchor")},"minecraft:uniform":{min_inclusive:n("vertical_anchor"),max_inclusive:n("vertical_anchor")},"minecraft:biased_to_bottom":{min_inclusive:n("vertical_anchor"),max_inclusive:n("vertical_anchor"),inner:(0,r.Opt)((0,r.NumberNode)({integer:!0,min:1}))},"minecraft:very_biased_to_bottom":{min_inclusive:n("vertical_anchor"),max_inclusive:n("vertical_anchor"),inner:(0,r.Opt)((0,r.NumberNode)({integer:!0,min:1}))},"minecraft:trapezoid":{min_inclusive:n("vertical_anchor"),max_inclusive:n("vertical_anchor"),plateau:(0,r.Opt)((0,r.NumberNode)({integer:!0}))}})),o.ConditionCases=(u=a({enum:"entity_source"}))=>({"minecraft:alternative":{terms:(0,r.ListNode)(n("condition"))},"minecraft:block_state_property":{block:a({validator:"resource",params:{pool:"block"}}),properties:(0,r.MapNode)(a(),a(),{validation:{validator:"block_state_map",params:{id:["pop",{push:"block"}]}}})},"minecraft:damage_source_properties":{predicate:n("damage_source_predicate")},"minecraft:entity_properties":{entity:u,predicate:n("entity_predicate")},"minecraft:entity_scores":{entity:u,scores:(0,r.MapNode)(a({validator:"objective"}),n("int_range"))},"minecraft:inverted":{term:n("condition")},"minecraft:killed_by_player":{inverse:(0,r.Opt)((0,r.BooleanNode)())},"minecraft:location_check":{offsetX:(0,r.Opt)((0,r.NumberNode)({integer:!0})),offsetY:(0,r.Opt)((0,r.NumberNode)({integer:!0})),offsetZ:(0,r.Opt)((0,r.NumberNode)({integer:!0})),predicate:n("location_predicate")},"minecraft:match_tool":{predicate:n("item_predicate")},"minecraft:random_chance":{chance:(0,r.NumberNode)({min:0,max:1})},"minecraft:random_chance_with_looting":{chance:(0,r.NumberNode)({min:0,max:1}),looting_multiplier:(0,r.NumberNode)()},"minecraft:reference":{name:a({validator:"resource",params:{pool:"$predicate"}})},"minecraft:table_bonus":{enchantment:a({validator:"resource",params:{pool:"enchantment"}}),chances:(0,r.ListNode)((0,r.NumberNode)({min:0,max:1}))},"minecraft:time_check":{value:n("int_range"),period:(0,r.Opt)((0,r.NumberNode)({integer:!0}))},"minecraft:value_check":{value:n("number_provider"),range:n("int_range")},"minecraft:weather_check":{raining:(0,r.Opt)((0,r.BooleanNode)()),thundering:(0,r.Opt)((0,r.BooleanNode)())}}),o.FunctionCases=(u,v=a({enum:"copy_source"}),j=a({enum:"entity_source"}))=>{const O={"minecraft:apply_bonus":{enchantment:a({validator:"resource",params:{pool:"enchantment"}}),formula:a({validator:"resource",params:{pool:d.get("loot_table_apply_bonus_formula")}}),parameters:(0,r.Mod)((0,r.ObjectNode)({bonusMultiplier:(0,r.Mod)((0,r.NumberNode)(),{enabled:L=>L.pop().push("formula").get()==="minecraft:uniform_bonus_count"}),extra:(0,r.Mod)((0,r.NumberNode)(),{enabled:L=>L.pop().push("formula").get()==="minecraft:binomial_with_bonus_count"}),probability:(0,r.Mod)((0,r.NumberNode)(),{enabled:L=>L.pop().push("formula").get()==="minecraft:binomial_with_bonus_count"})}),{enabled:L=>L.push("formula").get()!=="minecraft:ore_drops"})},"minecraft:copy_name":{source:v},"minecraft:copy_nbt":{source:n("nbt_provider"),ops:(0,r.ListNode)((0,r.ObjectNode)({source:a({validator:"nbt_path",params:{category:{getter:"copy_source",path:["pop","pop","pop",{push:"source"}]}}}),target:a({validator:"nbt_path",params:{category:"minecraft:item"}}),op:a({enum:["replace","append","merge"]})},{context:"nbt_operation"}))},"minecraft:copy_state":{block:a({validator:"resource",params:{pool:"block"}}),properties:(0,r.ListNode)(a({validator:"block_state_key",params:{id:["pop","pop",{push:"block"}]}}))},"minecraft:enchant_randomly":{enchantments:(0,r.Opt)((0,r.ListNode)(a({validator:"resource",params:{pool:"enchantment"}})))},"minecraft:enchant_with_levels":{levels:n("number_provider"),treasure:(0,r.Opt)((0,r.BooleanNode)())},"minecraft:exploration_map":{destination:(0,r.Opt)(a({enum:"map_feature"})),decoration:(0,r.Opt)(a({enum:"map_decoration"})),zoom:(0,r.Opt)((0,r.NumberNode)({integer:!0})),search_radius:(0,r.Opt)((0,r.NumberNode)({integer:!0})),skip_existing_chunks:(0,r.Opt)((0,r.BooleanNode)())},"minecraft:fill_player_head":{entity:j},"minecraft:limit_count":{limit:n("int_range")},"minecraft:looting_enchant":{count:n("number_provider"),limit:(0,r.Opt)((0,r.NumberNode)({integer:!0}))},"minecraft:set_attributes":{modifiers:(0,r.ListNode)(n("attribute_modifier"))},"minecraft:set_banner_pattern":{patterns:(0,r.ListNode)((0,r.ObjectNode)({pattern:a({enum:"banner_pattern"}),color:a({enum:"dye_color"})})),append:(0,r.Opt)((0,r.BooleanNode)())},"minecraft:set_contents":{entries:(0,r.ListNode)(n("loot_entry"))},"minecraft:set_count":{count:n("number_provider"),add:(0,r.Opt)((0,r.BooleanNode)())},"minecraft:set_damage":{damage:n("number_provider"),add:(0,r.Opt)((0,r.BooleanNode)())},"minecraft:set_enchantments":{enchantments:(0,r.MapNode)(a({validator:"resource",params:{pool:"enchantment"}}),n("number_provider")),add:(0,r.Opt)((0,r.BooleanNode)())},"minecraft:set_loot_table":{name:a({validator:"resource",params:{pool:"$loot_table"}}),seed:(0,r.Opt)((0,r.NumberNode)({integer:!0}))},"minecraft:set_lore":{entity:(0,r.Opt)(j),lore:(0,r.ListNode)(n("text_component")),replace:(0,r.Opt)((0,r.BooleanNode)())},"minecraft:set_name":{entity:(0,r.Opt)(j),name:(0,r.Opt)(n("text_component"))},"minecraft:set_nbt":{tag:a({validator:"nbt",params:{registry:{category:"minecraft:item"}}})},"minecraft:set_stew_effect":{effects:(0,r.Opt)((0,r.ListNode)((0,r.ObjectNode)({type:a({validator:"resource",params:{pool:"mob_effect"}}),duration:n("number_provider")})))}},P={};return d.get("loot_function_type").forEach(L=>{P[L]=k(k({},O[L]),u)}),P},o.DimensionTypePresets=u=>(0,r.ObjectOrPreset)(a({validator:"resource",params:{pool:"$dimension_type"}}),u,{"minecraft:overworld":o.DefaultDimensionType,"minecraft:the_nether":{name:"minecraft:the_nether",ultrawarm:!0,natural:!1,shrunk:!0,piglin_safe:!0,respawn_anchor_works:!0,bed_works:!1,has_raids:!1,has_skylight:!1,has_ceiling:!0,ambient_light:.1,fixed_time:18e3,logical_height:128,effects:"minecraft:the_nether",infiniburn:"minecraft:infiniburn_nether",min_y:0,height:256},"minecraft:the_end":{name:"minecraft:the_end",ultrawarm:!1,natural:!1,shrunk:!1,piglin_safe:!1,respawn_anchor_works:!1,bed_works:!1,has_raids:!0,has_skylight:!1,has_ceiling:!1,ambient_light:0,fixed_time:6e3,logical_height:256,effects:"minecraft:the_end",infiniburn:"minecraft:infiniburn_end",min_y:0,height:256}}),o.NoiseSettingsPresets=u=>(0,r.ObjectOrPreset)(a({validator:"resource",params:{pool:"$worldgen/noise_settings"}}),u,{"minecraft:overworld":o.DefaultNoiseSettings,"minecraft:nether":{name:"minecraft:nether",bedrock_roof_position:0,bedrock_floor_position:0,sea_level:32,disable_mob_generation:!0,noise_caves_enabled:!1,aquifers_enabled:!1,deepslate_enabled:!1,noise:{min_y:0,height:128,density_factor:0,density_offset:.019921875,simplex_surface_noise:!1,random_density_offset:!1,size_horizontal:1,size_vertical:2,sampling:{xz_scale:1,y_scale:3,xz_factor:80,y_factor:60},top_slide:{target:120,size:3,offset:0},bottom_slide:{target:320,size:4,offset:-1}},default_block:{Name:"minecraft:netherrack"},default_fluid:{Name:"minecraft:lava",Properties:{level:"0"}}},"minecraft:end":{name:"minecraft:end",bedrock_roof_position:-10,bedrock_floor_position:-10,sea_level:0,disable_mob_generation:!0,noise_caves_enabled:!1,aquifers_enabled:!1,deepslate_enabled:!1,noise:{min_y:0,height:128,density_factor:0,density_offset:0,simplex_surface_noise:!0,random_density_offset:!1,island_noise_override:!0,size_horizontal:2,size_vertical:1,sampling:{xz_scale:2,y_scale:1,xz_factor:80,y_factor:160},top_slide:{target:-3e3,size:64,offset:-46},bottom_slide:{target:-30,size:7,offset:1}},default_block:{Name:"minecraft:end_stone"},default_fluid:{Name:"minecraft:air"}},"minecraft:amplified":{name:"minecraft:amplified",bedrock_roof_position:-10,bedrock_floor_position:0,sea_level:63,disable_mob_generation:!1,noise_caves_enabled:!0,aquifers_enabled:!0,deepslate_enabled:!0,noise:{min_y:0,height:256,density_factor:1,density_offset:-.46875,simplex_surface_noise:!0,random_density_offset:!0,amplified:!0,size_horizontal:1,size_vertical:2,sampling:{xz_scale:1,y_scale:1,xz_factor:80,y_factor:160},top_slide:{target:-10,size:3,offset:0},bottom_slide:{target:-30,size:0,offset:0}},default_block:{Name:"minecraft:stone"},default_fluid:{Name:"minecraft:water",Properties:{level:"0"}}},"minecraft:caves":{name:"minecraft:caves",bedrock_roof_position:0,bedrock_floor_position:0,sea_level:32,disable_mob_generation:!0,noise_caves_enabled:!1,aquifers_enabled:!1,deepslate_enabled:!1,noise:{min_y:0,height:128,density_factor:0,density_offset:.019921875,simplex_surface_noise:!1,random_density_offset:!1,size_horizontal:1,size_vertical:2,sampling:{xz_scale:1,y_scale:3,xz_factor:80,y_factor:60},top_slide:{target:120,size:3,offset:0},bottom_slide:{target:320,size:4,offset:-1}},default_block:{Name:"minecraft:stone"},default_fluid:{Name:"minecraft:water",Properties:{level:"0"}}},"minecraft:floating_islands":{name:"minecraft:floating_islands",bedrock_roof_position:-10,bedrock_floor_position:-10,sea_level:0,disable_mob_generation:!0,noise_caves_enabled:!1,aquifers_enabled:!1,deepslate_enabled:!1,noise:{min_y:0,height:128,density_factor:0,density_offset:0,simplex_surface_noise:!0,random_density_offset:!1,island_noise_override:!0,size_horizontal:2,size_vertical:1,sampling:{xz_scale:2,y_scale:1,xz_factor:80,y_factor:160},top_slide:{target:-3e3,size:64,offset:-46},bottom_slide:{target:-30,size:7,offset:1}},default_block:{Name:"minecraft:stone"},default_fluid:{Name:"minecraft:water",Properties:{level:"0"}}}})}o.initCommonSchemas=e})(F);var se={};Object.defineProperty(se,"__esModule",{value:!0});se.initConditionSchemas=void 0;const Y=w,Qe=F;function et(o,r){const e=Y.Reference.bind(void 0,o),t=Y.StringNode.bind(void 0,r);o.register("predicate",(0,Y.ObjectOrList)(e("condition"),{choiceContext:"condition"})),o.register("condition",(0,Y.Mod)((0,Y.ObjectNode)({condition:t({validator:"resource",params:{pool:"loot_condition_type"}}),[Y.Switch]:[{push:"condition"}],[Y.Case]:(0,Qe.ConditionCases)()},{category:"predicate",context:"condition"}),{default:()=>({condition:"minecraft:entity_properties",entity:"this"})}))}se.initConditionSchemas=et;var me={};Object.defineProperty(me,"__esModule",{value:!0});me.initDimensionSchemas=void 0;const f=w,Be=F;function tt(o,r){const e=f.Reference.bind(void 0,o),t=f.StringNode.bind(void 0,r),d=a=>(0,f.Mod)(a,{enabled:n=>n.push("preset").get()===void 0});o.register("dimension",(0,f.Mod)((0,f.ObjectNode)({type:(0,Be.DimensionTypePresets)(e("dimension_type")),generator:(0,f.ObjectNode)({type:t({validator:"resource",params:{pool:"worldgen/chunk_generator"}}),[f.Switch]:[{push:"type"}],[f.Case]:{"minecraft:noise":{seed:(0,f.NumberNode)({integer:!0}),settings:(0,Be.NoiseSettingsPresets)(e("noise_settings")),biome_source:(0,f.ObjectNode)({type:t({validator:"resource",params:{pool:"worldgen/biome_source"}}),[f.Switch]:[{push:"type"}],[f.Case]:{"minecraft:fixed":{biome:t({validator:"resource",params:{pool:"$worldgen/biome"}})},"minecraft:multi_noise":{seed:(0,f.NumberNode)({integer:!0}),preset:(0,f.Opt)(t({enum:["nether"]})),altitude_noise:d(e("generator_biome_noise")),temperature_noise:d(e("generator_biome_noise")),humidity_noise:d(e("generator_biome_noise")),weirdness_noise:d(e("generator_biome_noise")),biomes:d((0,f.Mod)((0,f.ListNode)(e("generator_biome")),{default:()=>[{biome:"minecraft:plains"}]}))},"minecraft:checkerboard":{scale:(0,f.Opt)((0,f.NumberNode)({integer:!0,min:0,max:62})),biomes:(0,f.ListNode)(t({validator:"resource",params:{pool:"$worldgen/biome"}}))},"minecraft:the_end":{seed:(0,f.NumberNode)({integer:!0})},"minecraft:vanilla_layered":{seed:(0,f.NumberNode)({integer:!0}),large_biomes:(0,f.Opt)((0,f.BooleanNode)()),legacy_biome_init_layer:(0,f.Opt)((0,f.BooleanNode)())}}},{category:"predicate",disableSwitchContext:!0})},"minecraft:flat":{settings:(0,f.ObjectNode)({biome:(0,f.Opt)(t({validator:"resource",params:{pool:"$worldgen/biome"}})),lakes:(0,f.Opt)((0,f.BooleanNode)()),features:(0,f.Opt)((0,f.BooleanNode)()),layers:(0,f.ListNode)(e("generator_layer")),structures:e("generator_structures")})}}},{disableSwitchContext:!0})},{category:"pool",context:"dimension"}),{default:()=>{const a=Math.floor(Math.random()*4294967296)-2147483648;return{type:"minecraft:overworld",generator:{type:"minecraft:noise",seed:a,biome_source:{type:"minecraft:fixed",seed:a,biome:"minecraft:plains"},settings:"minecraft:overworld"}}}})),o.register("generator_biome",(0,f.Mod)((0,f.ObjectNode)({biome:t({validator:"resource",params:{pool:"$worldgen/biome"}}),parameters:(0,f.ObjectNode)({altitude:(0,f.NumberNode)(),temperature:(0,f.NumberNode)(),humidity:(0,f.NumberNode)(),weirdness:(0,f.NumberNode)(),offset:(0,f.NumberNode)()})},{context:"generator_biome"}),{default:()=>({biome:"minecraft:plains",parameters:{altitude:0,temperature:0,humidity:0,weirdness:0,offset:0}})})),o.register("generator_biome_noise",(0,f.Mod)((0,f.ObjectNode)({firstOctave:(0,f.NumberNode)({integer:!0}),amplitudes:(0,f.ListNode)((0,f.NumberNode)())},{context:"generator_biome_noise"}),{default:()=>({firstOctave:-7,amplitudes:[1,1]})}))}me.initDimensionSchemas=tt;var le={};Object.defineProperty(le,"__esModule",{value:!0});le.initDimensionTypeSchemas=void 0;const M=w,rt=F;function ot(o,r){const e=M.StringNode.bind(void 0,r);o.register("dimension_type",(0,M.Mod)((0,M.ObjectNode)({name:(0,M.Mod)(e({validator:"resource",params:{pool:"$dimension_type",isDefinition:!0}}),{enabled:t=>t.getArray().length>0}),ultrawarm:(0,M.BooleanNode)(),natural:(0,M.BooleanNode)(),piglin_safe:(0,M.BooleanNode)(),respawn_anchor_works:(0,M.BooleanNode)(),bed_works:(0,M.BooleanNode)(),has_raids:(0,M.BooleanNode)(),has_skylight:(0,M.BooleanNode)(),has_ceiling:(0,M.BooleanNode)(),coordinate_scale:(0,M.NumberNode)({min:1e-5,max:3e7}),ambient_light:(0,M.NumberNode)(),fixed_time:(0,M.Opt)((0,M.NumberNode)({integer:!0})),logical_height:(0,M.NumberNode)({integer:!0,min:0,max:4096}),effects:(0,M.Opt)(e({enum:["minecraft:overworld","minecraft:the_nether","minecraft:the_end"]})),infiniburn:e({validator:"resource",params:{pool:"$tag/block"}}),min_y:(0,M.NumberNode)({integer:!0,min:-2048,max:2047}),height:(0,M.NumberNode)({integer:!0,min:0,max:4096})},{context:"dimension_type"}),t=>({default:()=>rt.DefaultDimensionType,validate:(d,a,n,N)=>(a=t.validate(d,a,n,N),(a==null?void 0:a.min_y)+(a==null?void 0:a.height)>2047&&n.add(d.push("height"),"error.min_y_plus_height",2047),(a==null?void 0:a.logical_height)>(a==null?void 0:a.height)&&n.add(d.push("logical_height"),"error.logical_height"),(a==null?void 0:a.height)%16!==0&&n.add(d.push("height"),"error.height_multiple",16),(a==null?void 0:a.min_y)%16!==0&&n.add(d.push("min_y"),"error.min_y_multiple",16),a)})))}le.initDimensionTypeSchemas=ot;var _e={};Object.defineProperty(_e,"__esModule",{value:!0});_e.initItemModifierSchemas=void 0;const A=w,it=F;function at(o,r){const e=A.Reference.bind(void 0,o),t=A.StringNode.bind(void 0,r);o.register("item_modifier",(0,A.ObjectOrList)(e("function"),{choiceContext:"function"}));const d={conditions:(0,A.Opt)((0,A.ListNode)(e("condition")))};o.register("function",(0,A.Mod)((0,A.ObjectNode)({function:t({validator:"resource",params:{pool:"loot_function_type"}}),[A.Switch]:[{push:"function"}],[A.Case]:(0,it.FunctionCases)(d)},{category:"function",context:"function"}),{default:()=>[{function:"minecraft:set_count",count:1}]}))}_e.initItemModifierSchemas=at;var pe={},R={};Object.defineProperty(R,"__esModule",{value:!0});R.LootFunctions=R.LootConditions=R.LootCopySources=R.LootEntitySources=R.LootTableTypes=void 0;R.LootTableTypes=new Map([["minecraft:advancement_entity",{requires:[7,8],allows:[]}],["minecraft:advancement_reward",{requires:[7,8],allows:[]}],["minecraft:barter",{requires:[8],allows:[]}],["minecraft:block",{requires:[1,7,9],allows:[0,4,8]}],["minecraft:chest",{requires:[7],allows:[8]}],["minecraft:command",{requires:[7],allows:[8]}],["minecraft:empty",{requires:[],allows:[]}],["minecraft:entity",{requires:[2,7,8],allows:[3,5,6]}],["minecraft:fishing",{requires:[7,9],allows:[8]}],["minecraft:generic",{requires:[2,0,1,3,4,5,6,7,8,9],allows:[]}],["minecraft:gift",{requires:[7,8],allows:[]}],["minecraft:selector",{requires:[7],allows:[8]}]]);R.LootEntitySources=new Map([["direct_killer",[3]],["killer",[5]],["killer_player",[5]],["this",[8]]]);R.LootCopySources=new Map([["block_entity",[0]],["killer",[5]],["killer_player",[5]],["this",[8]]]);R.LootConditions=new Map([["minecraft:alternative",[]],["minecraft:block_state_property",[1]],["minecraft:damage_source_properties",[2]],["minecraft:entity_properties",[7]],["minecraft:entity_scores",[]],["minecraft:inverted",[]],["minecraft:killed_by_player",[6]],["minecraft:location_check",[]],["minecraft:match_tool",[9]],["minecraft:random_chance",[]],["minecraft:random_chance_with_looting",[5]],["minecraft:reference",[]],["minecraft:survives_explosion",[4]],["minecraft:table_bonus",[9]],["minecraft:time_check",[]],["minecraft:weather_check",[]]]);R.LootFunctions=new Map([["minecraft:apply_bonus",[9]],["minecraft:copy_name",[]],["minecraft:copy_nbt",[]],["minecraft:copy_state",[1]],["minecraft:enchant_randomly",[]],["minecraft:enchant_with_levels",[]],["minecraft:exploration_map",[7]],["minecraft:explosion_decay",[]],["minecraft:fill_player_head",[]],["minecraft:furnace_smelt",[]],["minecraft:limit_count",[]],["minecraft:looting_enchant",[5]],["minecraft:set_attributes",[]],["minecraft:set_banner_pattern",[]],["minecraft:set_contents",[]],["minecraft:set_count",[]],["minecraft:set_damage",[]],["minecraft:set_loot_table",[]],["minecraft:set_lore",[]],["minecraft:set_name",[]],["minecraft:set_nbt",[]],["minecraft:set_stew_effect",[]]]);Object.defineProperty(pe,"__esModule",{value:!0});pe.initLootTableSchemas=void 0;const b=w,ee=R,ze=F;function nt(o,r){const e=b.Reference.bind(void 0,o),t=b.StringNode.bind(void 0,r),d={conditions:(0,b.Opt)((0,b.ListNode)(e("loot_condition")))},a=k({functions:(0,b.Opt)((0,b.ListNode)(e("loot_function")))},d);function n(O,P,L){const I=[],re=K=>r.get(P).filter(X=>{var T;return((T=O.get(X))!==null&&T!==void 0?T:[]).every(Z=>K.includes(Z))});for(const[K,{allows:X,requires:T}]of ee.LootTableTypes){const D=[...X,...T];I.push({match:Z=>Z.getModel().get(new b.Path(["type"]))===K,node:L(re(D))})}return I.push({match:K=>!0,node:L(P)}),(0,b.SwitchNode)(I)}const N=n(ee.LootConditions,"loot_condition_type",O=>t({validator:"resource",params:{pool:O instanceof Array?O:"loot_condition_type"}})),B=n(ee.LootFunctions,"loot_function_type",O=>t({validator:"resource",params:{pool:O instanceof Array?O:"loot_function_type"}})),u=n(ee.LootEntitySources,"entity_source",O=>t({enum:O})),v=n(ee.LootCopySources,"copy_source",O=>t({enum:O}));o.register("loot_table",(0,b.Mod)((0,b.ObjectNode)({type:(0,b.Opt)(t({validator:"resource",params:{pool:r.get("loot_context_type")}})),pools:(0,b.Opt)((0,b.ListNode)((0,b.Mod)((0,b.ObjectNode)(k({rolls:e("number_provider"),bonus_rolls:(0,b.Opt)(e("number_provider")),entries:(0,b.ListNode)(e("loot_entry"))},a),{category:"pool",context:"loot_pool"}),{default:()=>({rolls:1,entries:[{type:"minecraft:item",name:"minecraft:stone"}]})}))),functions:(0,b.Opt)((0,b.ListNode)(e("loot_function")))},{context:"loot_table"}),{default:()=>({pools:[{rolls:1,entries:[{type:"minecraft:item",name:"minecraft:stone"}]}]})}));const j={enabled:O=>{var P;return((P=O.pop().get())===null||P===void 0?void 0:P.length)>1&&!["minecraft:alternatives","minecraft:group","minecraft:sequence"].includes(O.push("type").get())}};o.register("loot_entry",(0,b.Mod)((0,b.ObjectNode)({type:t({validator:"resource",params:{pool:"loot_pool_entry_type"}}),weight:(0,b.Opt)((0,b.Mod)((0,b.NumberNode)({integer:!0,min:1}),j)),quality:(0,b.Opt)((0,b.Mod)((0,b.NumberNode)({integer:!0}),j)),[b.Switch]:[{push:"type"}],[b.Case]:{"minecraft:alternatives":k({children:(0,b.ListNode)(e("loot_entry"))},a),"minecraft:dynamic":k({name:t()},a),"minecraft:group":k({children:(0,b.ListNode)(e("loot_entry"))},a),"minecraft:item":k({name:t({validator:"resource",params:{pool:"item"}})},a),"minecraft:loot_table":k({name:t({validator:"resource",params:{pool:"$loot_table"}})},a),"minecraft:sequence":k({children:(0,b.ListNode)(e("loot_entry"))},a),"minecraft:tag":k({name:t({validator:"resource",params:{pool:"$tag/item"}}),expand:(0,b.Opt)((0,b.BooleanNode)())},a)}},{context:"loot_entry"}),{default:()=>({type:"minecraft:item",name:"minecraft:stone"})})),o.register("loot_function",(0,b.Mod)((0,b.ObjectNode)({function:B,[b.Switch]:[{push:"function"}],[b.Case]:(0,ze.FunctionCases)(d,v,u)},{category:"function",context:"function"}),{default:()=>({function:"minecraft:set_count",count:1})})),o.register("loot_condition",(0,b.Mod)((0,b.ObjectNode)({condition:N,[b.Switch]:[{push:"condition"}],[b.Case]:(0,ze.ConditionCases)(u)},{category:"predicate",context:"condition"}),{default:()=>({condition:"minecraft:random_chance",chance:.5})})),o.register("attribute_modifier",(0,b.Mod)((0,b.ObjectNode)({attribute:t({validator:"resource",params:{pool:"attribute"}}),name:t(),amount:e("number_provider"),operation:t({enum:["addition","multiply_base","multiply_total"]}),slot:(0,b.StringOrList)(t({enum:"slot"}))},{context:"attribute_modifier"}),{default:()=>({attribute:"minecraft:generic.max_health",name:"",amount:1,operation:"addition",slot:"mainhand"})}))}pe.initLootTableSchemas=nt;var ue={};Object.defineProperty(ue,"__esModule",{value:!0});ue.initPackMcmetaSchemas=void 0;const J=w,G=7;function ct(o,r){o.register("pack_mcmeta",(0,J.Mod)((0,J.ObjectNode)({pack:(0,J.Mod)((0,J.ObjectNode)({pack_format:(0,J.Mod)((0,J.NumberNode)({integer:!0,min:G,max:G}),{default:()=>G,canUpdate:(e,t)=>t!==G,update:()=>[{name:"pack_format",params:[G],newValue:G}]}),description:(0,J.Reference)(o,"text_component")}),{default:()=>({pack_format:G,description:""})})}),{default:()=>({pack:{pack_format:G,description:""}})}))}ue.initPackMcmetaSchemas=ct;var fe={};Object.defineProperty(fe,"__esModule",{value:!0});fe.initPredicatesSchemas=void 0;const c=w;function dt(o,r){const e=c.Reference.bind(void 0,o),t=c.StringNode.bind(void 0,r),d=(0,c.ChoiceNode)([{type:"string",node:t(),change:a=>typeof a=="boolean"||typeof a=="number"?a.toString():""},{type:"number",node:(0,c.NumberNode)(),change:a=>typeof a=="string"?parseInt(a):0},{type:"object",node:(0,c.ObjectNode)({min:(0,c.Opt)((0,c.NumberNode)({integer:!0})),max:(0,c.Opt)((0,c.NumberNode)({integer:!0}))}),change:a=>typeof a=="number"?{min:a,max:a}:{}},{type:"boolean",node:(0,c.BooleanNode)(),change:a=>a==="true"||a===1}]);o.register("item_predicate",(0,c.ObjectNode)({items:(0,c.Opt)((0,c.ListNode)(t({validator:"resource",params:{pool:"item"}}))),tag:(0,c.Opt)(t({validator:"resource",params:{pool:"$tag/item"}})),count:e("int_bounds"),durability:e("int_bounds"),potion:(0,c.Opt)(t({validator:"resource",params:{pool:"potion"}})),nbt:(0,c.Opt)(t({validator:"nbt",params:{registry:{category:"minecraft:item",id:["pop",{push:"item"}]}}})),enchantments:(0,c.Opt)((0,c.ListNode)(e("enchantment_predicate")))},{context:"item"})),o.register("enchantment_predicate",(0,c.ObjectNode)({enchantment:(0,c.Opt)(t({validator:"resource",params:{pool:"enchantment"}})),levels:e("int_bounds")},{context:"enchantment"})),o.register("block_predicate",(0,c.ObjectNode)({blocks:(0,c.Opt)((0,c.ListNode)(t({validator:"resource",params:{pool:"block"}}))),tag:(0,c.Opt)(t({validator:"resource",params:{pool:"$tag/block"}})),nbt:(0,c.Opt)(t({validator:"nbt",params:{registry:{category:"minecraft:block",id:["pop",{push:"block"}]}}})),state:(0,c.Opt)((0,c.MapNode)(t(),d,{validation:{validator:"block_state_map",params:{id:["pop",{push:"block"}]}}}))},{context:"block"})),o.register("fluid_predicate",(0,c.ObjectNode)({fluid:(0,c.Opt)(t({validator:"resource",params:{pool:"fluid"}})),tag:(0,c.Opt)(t({validator:"resource",params:{pool:"$tag/fluid"}})),state:(0,c.Opt)((0,c.MapNode)(t(),d))},{context:"fluid"})),o.register("location_predicate",(0,c.ObjectNode)({position:(0,c.Opt)((0,c.ObjectNode)({x:e("float_bounds"),y:e("float_bounds"),z:e("float_bounds")})),biome:(0,c.Opt)(t({validator:"resource",params:{pool:"$worldgen/biome"}})),feature:(0,c.Opt)(t({enum:r.get("worldgen/structure_feature").map(a=>a.slice(10))})),dimension:(0,c.Opt)(t({validator:"resource",params:{pool:"$dimension"}})),light:(0,c.Opt)((0,c.ObjectNode)({light:e("int_bounds")})),smokey:(0,c.Opt)((0,c.BooleanNode)()),block:(0,c.Opt)(e("block_predicate")),fluid:(0,c.Opt)(e("fluid_predicate"))},{context:"location"})),o.register("statistic_predicate",(0,c.ObjectNode)({type:t({validator:"resource",params:{pool:"stat_type"}}),stat:t(),value:e("int_bounds"),[c.Switch]:[{push:"type"}],[c.Case]:{"minecraft:mined":{stat:t({validator:"resource",params:{pool:"block"}})},"minecraft:crafted":{stat:t({validator:"resource",params:{pool:"item"}})},"minecraft:used":{stat:t({validator:"resource",params:{pool:"item"}})},"minecraft:broken":{stat:t({validator:"resource",params:{pool:"item"}})},"minecraft:picked_up":{stat:t({validator:"resource",params:{pool:"item"}})},"minecraft:dropped":{stat:t({validator:"resource",params:{pool:"item"}})},"minecraft:killed":{stat:t({validator:"resource",params:{pool:"entity_type"}})},"minecraft:killed_by":{stat:t({validator:"resource",params:{pool:"entity_type"}})},"minecraft:custom":{stat:t({validator:"resource",params:{pool:"custom_stat"}})}}})),o.register("player_predicate",(0,c.ObjectNode)({gamemode:(0,c.Opt)(t({enum:"gamemode"})),level:e("int_bounds"),advancements:(0,c.Opt)((0,c.MapNode)(t({validator:"resource",params:{pool:"$advancement"}}),(0,c.ChoiceNode)([{type:"boolean",node:(0,c.BooleanNode)(),change:a=>!0},{type:"object",node:(0,c.MapNode)(t(),(0,c.BooleanNode)())}]))),recipes:(0,c.Opt)((0,c.MapNode)(t({validator:"resource",params:{pool:"$recipe"}}),(0,c.BooleanNode)())),stats:(0,c.Opt)((0,c.ListNode)(e("statistic_predicate"))),looking_at:(0,c.Opt)(e("entity_predicate"))},{context:"player"})),o.register("status_effect_predicate",(0,c.ObjectNode)({amplifier:e("int_bounds"),duration:e("int_bounds"),ambient:(0,c.Opt)((0,c.BooleanNode)()),visible:(0,c.Opt)((0,c.BooleanNode)())},{context:"status_effect"})),o.register("distance_predicate",(0,c.ObjectNode)({x:e("float_bounds"),y:e("float_bounds"),z:e("float_bounds"),absolute:e("float_bounds"),horizontal:e("float_bounds")},{context:"distance"})),o.register("entity_predicate",(0,c.ObjectNode)({type:(0,c.Opt)(t({validator:"resource",params:{pool:"entity_type",allowTag:!0}})),nbt:(0,c.Opt)(t({validator:"nbt",params:{registry:{category:"minecraft:entity",id:["pop",{push:"type"}]}}})),team:(0,c.Opt)(t({validator:"team"})),location:(0,c.Opt)(e("location_predicate")),stepping_on:(0,c.Opt)(e("location_predicate")),distance:(0,c.Opt)(e("distance_predicate")),flags:(0,c.Opt)((0,c.ObjectNode)({is_on_fire:(0,c.Opt)((0,c.BooleanNode)()),is_sneaking:(0,c.Opt)((0,c.BooleanNode)()),is_sprinting:(0,c.Opt)((0,c.BooleanNode)()),is_swimming:(0,c.Opt)((0,c.BooleanNode)()),is_baby:(0,c.Opt)((0,c.BooleanNode)())})),equipment:(0,c.Opt)((0,c.MapNode)(t({enum:"slot"}),e("item_predicate"))),vehicle:(0,c.Opt)(e("entity_predicate")),passenger:(0,c.Opt)(e("entity_predicate")),targeted_entity:(0,c.Opt)(e("entity_predicate")),player:(0,c.Opt)(e("player_predicate")),lightning_bolt:(0,c.Opt)((0,c.ObjectNode)({blocks_set_on_fire:(0,c.Opt)(e("int_bounds")),entity_struck:(0,c.Opt)(e("entity_predicate"))})),fishing_hook:(0,c.Opt)((0,c.ObjectNode)({in_open_water:(0,c.Opt)((0,c.BooleanNode)())})),catType:(0,c.Opt)(t({enum:"cat_texture"})),effects:(0,c.Opt)((0,c.MapNode)(t({validator:"resource",params:{pool:"mob_effect"}}),e("status_effect_predicate")))},{context:"entity"})),o.register("damage_source_predicate",(0,c.ObjectNode)({is_explosion:(0,c.Opt)((0,c.BooleanNode)()),is_fire:(0,c.Opt)((0,c.BooleanNode)()),is_magic:(0,c.Opt)((0,c.BooleanNode)()),is_projectile:(0,c.Opt)((0,c.BooleanNode)()),is_lightning:(0,c.Opt)((0,c.BooleanNode)()),bypasses_armor:(0,c.Opt)((0,c.BooleanNode)()),bypasses_invulnerability:(0,c.Opt)((0,c.BooleanNode)()),bypasses_magic:(0,c.Opt)((0,c.BooleanNode)()),source_entity:(0,c.Opt)(e("entity_predicate")),direct_entity:(0,c.Opt)(e("entity_predicate"))},{context:"damage_source"})),o.register("damage_predicate",(0,c.ObjectNode)({dealt:e("float_bounds"),taken:e("float_bounds"),blocked:(0,c.Opt)((0,c.BooleanNode)()),source_entity:(0,c.Opt)(e("entity_predicate")),type:(0,c.Opt)(e("damage_source_predicate"))},{context:"damage"}))}fe.initPredicatesSchemas=dt;var be={};Object.defineProperty(be,"__esModule",{value:!0});be.initRecipeSchemas=void 0;const p=w;function st(o,r){const e=p.Reference.bind(void 0,o),t=p.StringNode.bind(void 0,r);o.register("recipe",(0,p.Mod)((0,p.ObjectNode)({type:t({validator:"resource",params:{pool:"recipe_serializer"}}),[p.Switch]:[{push:"type"}],[p.Case]:{"minecraft:crafting_shaped":{group:(0,p.Opt)(t({enum:"recipe_group",additional:!0})),pattern:(0,p.ListNode)(t()),key:(0,p.MapNode)(t(),e("recipe_ingredient")),result:e("recipe_result")},"minecraft:crafting_shapeless":{group:(0,p.Opt)(t()),ingredients:(0,p.ListNode)(e("recipe_ingredient")),result:e("recipe_result")},"minecraft:smelting":{group:(0,p.Opt)(t()),ingredient:e("recipe_ingredient"),result:t({validator:"resource",params:{pool:"item"}}),experience:(0,p.Opt)((0,p.NumberNode)()),cookingtime:(0,p.Opt)((0,p.Mod)((0,p.NumberNode)({integer:!0}),{default:()=>200}))},"minecraft:blasting":{group:(0,p.Opt)(t()),ingredient:e("recipe_ingredient"),result:t({validator:"resource",params:{pool:"item"}}),experience:(0,p.Opt)((0,p.NumberNode)()),cookingtime:(0,p.Opt)((0,p.Mod)((0,p.NumberNode)({integer:!0}),{default:()=>100}))},"minecraft:smoking":{group:(0,p.Opt)(t()),ingredient:e("recipe_ingredient"),result:t({validator:"resource",params:{pool:"item"}}),experience:(0,p.Opt)((0,p.NumberNode)()),cookingtime:(0,p.Opt)((0,p.Mod)((0,p.NumberNode)({integer:!0}),{default:()=>100}))},"minecraft:campfire_cooking":{group:(0,p.Opt)(t()),ingredient:e("recipe_ingredient"),result:t({validator:"resource",params:{pool:"item"}}),experience:(0,p.Opt)((0,p.NumberNode)()),cookingtime:(0,p.Opt)((0,p.Mod)((0,p.NumberNode)({integer:!0}),{default:()=>100}))},"minecraft:stonecutting":{group:(0,p.Opt)(t()),ingredient:e("recipe_ingredient"),result:t({validator:"resource",params:{pool:"item"}}),count:(0,p.NumberNode)({integer:!0})},"minecraft:smithing":{group:(0,p.Opt)(t()),base:e("recipe_ingredient_object"),addition:e("recipe_ingredient_object"),result:e("recipe_result")}}},{context:"recipe",disableSwitchContext:!0}),{default:()=>({type:"minecraft:crafting_shaped"})})),o.register("recipe_ingredient",(0,p.Mod)((0,p.ChoiceNode)([{type:"object",node:e("recipe_ingredient_object"),change:d=>d[0]},{type:"list",node:(0,p.ListNode)(e("recipe_ingredient_object")),change:d=>[d]}]),{default:()=>({item:"minecraft:stone"})})),o.register("recipe_ingredient_object",(0,p.Mod)((0,p.ObjectNode)({item:(0,p.Opt)(t({validator:"resource",params:{pool:"item"}})),tag:(0,p.Opt)(t({validator:"resource",params:{pool:"$tag/item"}}))}),{default:()=>({item:"minecraft:stone"})})),o.register("recipe_result",(0,p.Mod)((0,p.ObjectNode)({item:t({validator:"resource",params:{pool:"item"}}),count:(0,p.Opt)((0,p.Mod)((0,p.NumberNode)({integer:!0}),{default:()=>1}))}),{default:()=>({item:"minecraft:stone"})}))}be.initRecipeSchemas=st;var ge={};Object.defineProperty(ge,"__esModule",{value:!0});ge.initTagsSchemas=void 0;const E=w;function mt(o,r){const e=E.StringNode.bind(void 0,r),t=d=>(0,E.Mod)((0,E.ObjectNode)({replace:(0,E.Opt)((0,E.BooleanNode)()),values:(0,E.ListNode)((0,E.ChoiceNode)([{type:"string",node:e({validator:"resource",params:{pool:d,allowTag:!0}}),change:a=>a.id},{type:"object",node:(0,E.ObjectNode)({id:e({validator:"resource",params:{pool:d,allowTag:!0,allowUnknown:!0}}),required:(0,E.BooleanNode)()}),change:a=>({id:a})}]))},{context:"tag"}),{default:()=>({values:[]})});o.register("block_tag",t("block")),o.register("entity_type_tag",t("entity_type")),o.register("fluid_tag",t("fluid")),o.register("function_tag",t("$function")),o.register("game_event_tag",t("game_event")),o.register("item_tag",t("item"))}ge.initTagsSchemas=mt;var Ne={};Object.defineProperty(Ne,"__esModule",{value:!0});Ne.initTextComponentSchemas=void 0;const m=w;function lt(o,r){const e=m.Reference.bind(void 0,o),t=m.StringNode.bind(void 0,r),d=n=>{var N;return n instanceof Array?d(n[0]):(N=n==null?void 0:n.text)!==null&&N!==void 0?N:typeof n=="object"?"":n==null?void 0:n.toString()};o.register("text_component",(0,m.Mod)((0,m.ChoiceNode)([{type:"object",node:e("text_component_object"),change:n=>n instanceof Array?typeof n[0]=="object"?n[0]:{text:d(n[0])}:typeof n=="object"?n:{text:d(n)}},{type:"list",node:e("text_component_list"),change:n=>[n]},{type:"string",priority:1,node:t(),change:d},{type:"number",node:(0,m.NumberNode)(),change:n=>{const N=parseFloat(d(n));return isFinite(N)?N:n?1:0}},{type:"boolean",node:(0,m.BooleanNode)(),change:n=>{const N=d(n);return N==="true"||N==="false"?N==="true":!!N}}],{context:"text_component"}),{default:()=>({text:""})}));const a={color:(0,m.Opt)(t()),font:(0,m.Opt)(t()),bold:(0,m.Opt)((0,m.BooleanNode)()),italic:(0,m.Opt)((0,m.BooleanNode)()),underlined:(0,m.Opt)((0,m.BooleanNode)()),strikethrough:(0,m.Opt)((0,m.BooleanNode)()),obfuscated:(0,m.Opt)((0,m.BooleanNode)()),insertion:(0,m.Opt)(t()),clickEvent:(0,m.Opt)((0,m.ObjectNode)({action:t({enum:["open_url","open_file","run_command","suggest_command","change_page","copy_to_clipboard"]}),[m.Switch]:[{push:"action"}],[m.Case]:{change_page:{value:t()},copy_to_clipboard:{value:t()},open_file:{value:t()},open_url:{value:t()},run_command:{value:t({validator:"command",params:{leadingSlash:!0,allowPartial:!0}})},suggest_command:{value:t({validator:"command",params:{leadingSlash:!0,allowPartial:!0}})}}})),hoverEvent:(0,m.Opt)((0,m.ObjectNode)({action:t({enum:["show_text","show_item","show_entity"]}),[m.Switch]:[{push:"action"}],[m.Case]:{show_text:{value:(0,m.Opt)(e("text_component")),contents:(0,m.Opt)(e("text_component"))},show_item:{value:(0,m.Opt)(t({validator:"nbt",params:{module:"util::InventoryItem"}})),contents:(0,m.Opt)((0,m.ObjectNode)({id:t({validator:"resource",params:{pool:"item"}}),count:(0,m.Opt)((0,m.NumberNode)({integer:!0})),tag:(0,m.Opt)(t({validator:"nbt",params:{registry:{category:"minecraft:item",id:["pop",{push:"id"}]}}}))}))},show_entity:{value:(0,m.Opt)((0,m.ObjectNode)({name:(0,m.Opt)(t()),type:(0,m.Opt)(t()),id:(0,m.Opt)(t())})),contents:(0,m.Opt)((0,m.Mod)((0,m.ObjectNode)({name:(0,m.Opt)(e("text_component")),type:t({validator:"resource",params:{pool:"entity_type"}}),id:t({validator:"uuid"})}),{default:()=>({type:"minecraft:pig",id:"00000001-0001-0001-0001-000000000001"})}))}}})),extra:(0,m.Opt)(e("text_component_list"))};o.register("text_component_object",(0,m.Mod)((0,m.ChoiceNode)([{type:"text",match:n=>typeof n=="object",change:n=>({text:""}),priority:-1,node:(0,m.ObjectNode)(k({text:t()},a))},{type:"translation",match:n=>(n==null?void 0:n.translate)!==void 0,change:n=>({translate:""}),node:(0,m.ObjectNode)(k({translate:t(),with:(0,m.Opt)(e("text_component_list"))},a))},{type:"score",match:n=>(n==null?void 0:n.score)!==void 0,change:n=>({score:{}}),node:(0,m.ObjectNode)(k({score:(0,m.ObjectNode)({name:t({validator:"entity",params:{amount:"single",type:"entities",isScoreHolder:!0}}),objective:t({validator:"objective"}),value:(0,m.Opt)(t())})},a))},{type:"selector",match:n=>(n==null?void 0:n.selector)!==void 0,change:n=>({selector:""}),node:(0,m.ObjectNode)(k({selector:t({validator:"entity",params:{amount:"multiple",type:"entities"}}),separator:(0,m.Opt)(e("text_component"))},a))},{type:"keybind",match:n=>(n==null?void 0:n.keybind)!==void 0,change:n=>({keybind:""}),node:(0,m.ObjectNode)(k({keybind:t({enum:"keybind",additional:!0})},a))},{type:"nbt",match:n=>(n==null?void 0:n.nbt)!==void 0,change:n=>({nbt:""}),node:(0,m.ObjectNode)(k({nbt:t({validator:"nbt_path"}),block:(0,m.Opt)(t({validator:"vector",params:{dimension:3,isInteger:!0}})),entity:(0,m.Opt)(t({validator:"entity",params:{amount:"multiple",type:"entities"}})),storage:(0,m.Opt)(t({validator:"resource",params:{pool:"$storage"}})),interpret:(0,m.Opt)((0,m.BooleanNode)()),separator:(0,m.Opt)(e("text_component"))},a))}],{context:"text_component_object",choiceContext:"text_component.object"}),{default:()=>({text:""})})),o.register("text_component_list",(0,m.Mod)((0,m.ListNode)(e("text_component")),{default:()=>[{text:""}]}))}Ne.initTextComponentSchemas=lt;var he={},ye={};Object.defineProperty(ye,"__esModule",{value:!0});ye.initBiomeSchemas=void 0;const l=w;function _t(o,r){const e=l.StringNode.bind(void 0,r);o.register("biome",(0,l.Mod)((0,l.ObjectNode)({surface_builder:e({validator:"resource",params:{pool:"$worldgen/configured_surface_builder"}}),depth:(0,l.NumberNode)(),scale:(0,l.NumberNode)(),temperature:(0,l.NumberNode)(),downfall:(0,l.NumberNode)(),precipitation:e({enum:["none","rain","snow"]}),temperature_modifier:(0,l.Opt)(e({enum:["none","frozen"]})),category:e({enum:"biome_category"}),player_spawn_friendly:(0,l.Opt)((0,l.BooleanNode)()),creature_spawn_probability:(0,l.Opt)((0,l.NumberNode)({min:0,max:1})),effects:(0,l.ObjectNode)({sky_color:(0,l.NumberNode)({color:!0}),fog_color:(0,l.NumberNode)({color:!0}),water_color:(0,l.NumberNode)({color:!0}),water_fog_color:(0,l.NumberNode)({color:!0}),grass_color:(0,l.Opt)((0,l.NumberNode)({color:!0})),foliage_color:(0,l.Opt)((0,l.NumberNode)({color:!0})),grass_color_modifier:(0,l.Opt)(e({enum:["none","dark_forest","swamp"]})),ambient_sound:(0,l.Opt)(e()),mood_sound:(0,l.Opt)((0,l.ObjectNode)({sound:e(),tick_delay:(0,l.NumberNode)({integer:!0}),block_search_extent:(0,l.NumberNode)({integer:!0}),offset:(0,l.NumberNode)()})),additions_sound:(0,l.Opt)((0,l.ObjectNode)({sound:e(),tick_chance:(0,l.NumberNode)({min:0,max:1})})),music:(0,l.Opt)((0,l.ObjectNode)({sound:e(),min_delay:(0,l.NumberNode)({integer:!0,min:0}),max_delay:(0,l.NumberNode)({integer:!0,min:0}),replace_current_music:(0,l.BooleanNode)()})),particle:(0,l.Opt)((0,l.ObjectNode)({options:(0,l.ObjectNode)({type:e()}),probability:(0,l.NumberNode)({min:0,max:1})}))}),starts:(0,l.ListNode)(e({validator:"resource",params:{pool:"$worldgen/configured_structure_feature"}})),spawners:(0,l.MapNode)(e({enum:["monster","creature","ambient","underground_water_creature","water_creature","water_ambient","misc"]}),(0,l.Mod)((0,l.ListNode)((0,l.ObjectNode)({type:e({validator:"resource",params:{pool:"entity_type"}}),weight:(0,l.NumberNode)({integer:!0}),minCount:(0,l.NumberNode)({integer:!0}),maxCount:(0,l.NumberNode)({integer:!0})})),{category:()=>"pool",default:()=>[{type:"minecraft:bat",weight:1}]})),spawn_costs:(0,l.MapNode)(e({validator:"resource",params:{pool:"entity_type"}}),(0,l.Mod)((0,l.ObjectNode)({energy_budget:(0,l.NumberNode)(),charge:(0,l.NumberNode)()},{category:"function"}),{default:()=>({energy_budget:.12,charge:1})})),carvers:(0,l.MapNode)(e({enum:["air","liquid"]}),(0,l.Mod)((0,l.ListNode)(e({validator:"resource",params:{pool:"$worldgen/configured_carver"}})),{default:()=>["minecraft:cave"]})),features:(0,l.ListNode)((0,l.Mod)((0,l.ListNode)(e({validator:"resource",params:{pool:"$worldgen/configured_feature"}})),{category:()=>"predicate"}),{maxLength:10})},{context:"biome"}),{default:()=>({surface_builder:"minecraft:grass",depth:.125,scale:.05,temperature:.8,downfall:.4,precipitation:"rain",category:"plains",effects:{sky_color:7907327,fog_color:12638463,water_color:4159204,water_fog_color:329011}})}))}ye.initBiomeSchemas=_t;var ve={};Object.defineProperty(ve,"__esModule",{value:!0});ve.initCarverSchemas=void 0;const S=w,U=F;function pt(o,r){const e=S.Reference.bind(void 0,o),t=S.StringNode.bind(void 0,r),d={vertical_rotation:(0,U.FloatProvider)(),shape:(0,S.ObjectNode)({distance_factor:(0,U.FloatProvider)(),thickness:(0,U.FloatProvider)(),width_smoothness:(0,S.NumberNode)({integer:!0,min:0}),horizontal_radius_factor:(0,U.FloatProvider)(),vertical_radius_default_factor:(0,S.NumberNode)(),vertical_radius_center_factor:(0,S.NumberNode)()})},a={horizontal_radius_multiplier:(0,U.FloatProvider)(),vertical_radius_multiplier:(0,U.FloatProvider)(),floor_level:(0,U.FloatProvider)({min:-1,max:1})};o.register("configured_carver",(0,S.Mod)((0,S.ObjectNode)({type:t({validator:"resource",params:{pool:"worldgen/carver"}}),config:(0,S.ObjectNode)({probability:(0,S.NumberNode)({min:0,max:1}),y:e("height_provider"),yScale:(0,U.FloatProvider)(),lava_level:e("vertical_anchor"),aquifers_enabled:(0,S.BooleanNode)(),debug_settings:(0,S.Opt)((0,S.ObjectNode)({debug_mode:(0,S.Opt)((0,S.BooleanNode)()),air_state:(0,S.Opt)(e("block_state")),water_state:(0,S.Opt)(e("block_state")),lava_state:(0,S.Opt)(e("block_state")),barrier_state:(0,S.Opt)(e("block_state"))})),[S.Switch]:["pop",{push:"type"}],[S.Case]:{"minecraft:canyon":d,"minecraft:cave":a,"minecraft:nether_cave":a}})},{context:"carver"}),{default:()=>({type:"minecraft:cave",config:{probability:.1}})}))}ve.initCarverSchemas=pt;var Oe={};Object.defineProperty(Oe,"__esModule",{value:!0});Oe.initDecoratorSchemas=void 0;const C=w,ut=F;function ft(o,r){const e=C.Reference.bind(void 0,o),t=C.StringNode.bind(void 0,r),d={count:(0,ut.IntProvider)({min:0,max:256})};o.register("configured_decorator",(0,C.ObjectNode)({type:t({validator:"resource",params:{pool:"worldgen/decorator"}}),config:(0,C.ObjectNode)({[C.Switch]:["pop",{push:"type"}],[C.Case]:{"minecraft:carving_mask":{step:t({enum:"generation_step"})},"minecraft:cave_surface":{surface:t({enum:["floor","ceiling"]}),floor_to_ceiling_search_range:(0,C.NumberNode)({integer:!0})},"minecraft:chance":{chance:(0,C.NumberNode)({integer:!0,min:0})},"minecraft:count":d,"minecraft:count_extra":{count:(0,C.NumberNode)({integer:!0,min:0}),extra_count:(0,C.NumberNode)({integer:!0,min:0}),extra_chance:(0,C.NumberNode)({min:0,max:1})},"minecraft:count_multilayer":d,"minecraft:count_noise":{noise_level:(0,C.NumberNode)(),below_noise:(0,C.NumberNode)({integer:!0}),above_noise:(0,C.NumberNode)({integer:!0})},"minecraft:count_noise_biased":{noise_to_count_ratio:(0,C.NumberNode)({integer:!0}),noise_factor:(0,C.NumberNode)(),noise_offset:(0,C.Opt)((0,C.NumberNode)())},"minecraft:decorated":{outer:e("configured_decorator"),inner:e("configured_decorator")},"minecraft:heightmap":{heightmap:t({enum:"heightmap_type"})},"minecraft:heightmap_spread_double":{heightmap:t({enum:"heightmap_type"})},"minecraft:lava_lake":{chance:(0,C.NumberNode)({integer:!0,min:0})},"minecraft:range":{height:e("height_provider")},"minecraft:water_depth_threshold":{max_water_depth:(0,C.NumberNode)({integer:!0})}}},{context:"decorator",category:"predicate"})},{context:"decorator",category:"predicate"}))}Oe.initDecoratorSchemas=ft;var ke={},H={};Object.defineProperty(H,"__esModule",{value:!0});H.initProcessorListSchemas=H.Processors=void 0;const h=w;function bt(o,r){const e=h.Reference.bind(void 0,o),t=h.StringNode.bind(void 0,r);H.Processors=(0,h.ChoiceNode)([{type:"string",node:t({validator:"resource",params:{pool:"$worldgen/processor_list"}}),change:a=>{}},{type:"object",node:e("processor_list"),change:a=>({processors:[{processor_type:"minecraft:nop"}]})}]),o.register("processor_list",(0,h.Mod)((0,h.ObjectNode)({processors:(0,h.ListNode)(e("processor"))},{context:"processor_list"}),{default:()=>({processors:[{processor_type:"minecraft:rule",rules:[{location_predicate:{predicate_type:"minecraft:always_true"},input_predicate:{predicate_type:"minecraft:always_true"}}]}]})})),o.register("processor",(0,h.Mod)((0,h.ObjectNode)({processor_type:t({validator:"resource",params:{pool:"worldgen/structure_processor"}}),[h.Switch]:[{push:"processor_type"}],[h.Case]:{"minecraft:block_age":{mossiness:(0,h.NumberNode)()},"minecraft:block_ignore":{blocks:(0,h.ListNode)(e("block_state"))},"minecraft:block_rot":{integrity:(0,h.NumberNode)({min:0,max:1})},"minecraft:gravity":{heightmap:t({enum:"heightmap_type"}),offset:(0,h.NumberNode)({integer:!0})},"minecraft:protected_blocks":{value:t({validator:"resource",params:{pool:"$tag/block"}})},"minecraft:rule":{rules:(0,h.ListNode)(e("processor_rule"))}}},{category:"function",context:"processor"}),{default:()=>({processor_type:"minecraft:rule",rules:[{location_predicate:{predicate_type:"minecraft:always_true"},input_predicate:{predicate_type:"minecraft:always_true"}}]})})),o.register("processor_rule",(0,h.Mod)((0,h.ObjectNode)({position_predicate:(0,h.Opt)(e("pos_rule_test")),location_predicate:e("rule_test"),input_predicate:e("rule_test"),output_state:e("block_state"),output_nbt:(0,h.Opt)(t({validator:"nbt",params:{registry:{category:"minecraft:block"}}}))},{category:"predicate",context:"processor_rule"}),{default:()=>({location_predicate:{predicate_type:"minecraft:always_true"},input_predicate:{predicate_type:"minecraft:always_true"}})}));const d={min_dist:(0,h.Opt)((0,h.NumberNode)({min:0,max:255,integer:!0})),max_dist:(0,h.Opt)((0,h.NumberNode)({min:0,max:255,integer:!0})),min_chance:(0,h.Opt)((0,h.NumberNode)({min:0,max:1})),max_chance:(0,h.Opt)((0,h.NumberNode)({min:0,max:1}))};o.register("pos_rule_test",(0,h.ObjectNode)({predicate_type:t({validator:"resource",params:{pool:"pos_rule_test"}}),[h.Switch]:[{push:"predicate_type"}],[h.Case]:{"minecraft:axis_aligned_linear_pos":k({axis:t({enum:["x","y","z"]})},d),"minecraft:linear_pos":d}},{context:"pos_rule_test",disableSwitchContext:!0})),o.register("rule_test",(0,h.ObjectNode)({predicate_type:t({validator:"resource",params:{pool:"rule_test"}}),[h.Switch]:[{push:"predicate_type"}],[h.Case]:{"minecraft:block_match":{block:t({validator:"resource",params:{pool:"block"}})},"minecraft:blockstate_match":{block_state:e("block_state")},"minecraft:random_block_match":{block:t({validator:"resource",params:{pool:"block"}}),probability:(0,h.NumberNode)({min:0,max:1})},"minecraft:random_blockstate_match":{block_state:e("block_state"),probability:(0,h.NumberNode)({min:0,max:1})},"minecraft:tag_match":{tag:t({validator:"resource",params:{pool:"$tag/block"}})}}},{context:"rule_test",disableSwitchContext:!0}))}H.initProcessorListSchemas=bt;Object.defineProperty(ke,"__esModule",{value:!0});ke.initFeatureSchemas=void 0;const i=w,y=F,$e=H;function gt(o,r){const e=i.Reference.bind(void 0,o),t=i.StringNode.bind(void 0,r),d={can_replace:(0,i.Opt)((0,i.BooleanNode)()),project:(0,i.Opt)((0,i.BooleanNode)()),need_water:(0,i.Opt)((0,i.BooleanNode)()),xspread:(0,i.Opt)((0,i.NumberNode)({integer:!0,min:0})),yspread:(0,i.Opt)((0,i.NumberNode)({integer:!0,min:0})),zspread:(0,i.Opt)((0,i.NumberNode)({integer:!0,min:0})),tries:(0,i.Opt)((0,i.NumberNode)({integer:!0,min:1})),state_provider:e("block_state_provider"),block_placer:e("block_placer"),whitelist:(0,i.ListNode)(e("block_state")),blacklist:(0,i.ListNode)(e("block_state"))},a={state:e("block_state"),radius:(0,y.IntProvider)({min:0,max:8}),half_height:(0,i.NumberNode)({integer:!0,min:0,max:4}),targets:(0,i.ListNode)(e("block_state"))},n={cap_provider:e("block_state_provider"),stem_provider:e("block_state_provider"),foliage_radius:(0,i.Opt)((0,i.NumberNode)({integer:!0}))},N=(0,i.ObjectNode)({target:e("rule_test"),state:e("block_state")}),B={size:(0,i.NumberNode)({integer:!0,min:0,max:64}),discard_chance_on_air_exposure:(0,i.NumberNode)({min:0,max:1}),targets:(0,i.ListNode)(N)},u=(0,i.ChoiceNode)([{type:"string",node:t({validator:"resource",params:{pool:"$worldgen/configured_feature"}})},{type:"object",node:e("configured_feature")}],{choiceContext:"feature"}),v={surface:t({enum:["floor","ceiling"]}),depth:(0,y.IntProvider)({min:1,max:128}),vertical_range:(0,i.NumberNode)({integer:!0,min:1,max:256}),extra_bottom_block_chance:(0,i.NumberNode)({min:0,max:1}),extra_edge_column_chance:(0,i.NumberNode)({min:0,max:1}),vegetation_chance:(0,i.NumberNode)({min:0,max:1}),xz_radius:(0,y.IntProvider)(),replaceable:t({validator:"resource",params:{pool:"$tag/block"}}),ground_state:e("block_state_provider"),vegetation_feature:u};o.register("configured_feature",(0,i.Mod)((0,i.ObjectNode)({type:t({validator:"resource",params:{pool:"worldgen/feature"}}),config:(0,i.ObjectNode)({[i.Switch]:["pop",{push:"type"}],[i.Case]:{"minecraft:bamboo":{probability:(0,i.NumberNode)({min:0,max:1})},"minecraft:basalt_columns":{reach:(0,y.IntProvider)({min:0,max:3}),height:(0,y.IntProvider)({min:1,max:10})},"minecraft:block_pile":{state_provider:e("block_state_provider")},"minecraft:decorated":{decorator:e("configured_decorator"),feature:u},"minecraft:decorated_flower":{decorator:e("configured_decorator"),feature:u},"minecraft:delta_feature":{contents:e("block_state"),rim:e("block_state"),size:(0,y.IntProvider)({min:0,max:16}),rim_size:(0,y.IntProvider)({min:0,max:16})},"minecraft:disk":a,"minecraft:dripstone_cluster":{floor_to_ceiling_search_range:(0,i.NumberNode)({integer:!0,min:1,max:512}),height:(0,y.IntProvider)({min:0,max:128}),radius:(0,y.IntProvider)({min:0,max:128}),max_stalagmite_stalactite_height_diff:(0,i.NumberNode)({integer:!0,min:0,max:64}),height_deviation:(0,i.NumberNode)({integer:!0,min:1,max:64}),dripstone_block_layer_thickness:(0,y.IntProvider)({min:0,max:128}),density:(0,y.FloatProvider)({min:0,max:2}),wetness:(0,y.FloatProvider)({min:0,max:2}),chance_of_dripstone_column_at_max_distance_from_center:(0,i.NumberNode)({min:0,max:1}),max_distance_from_edge_affecting_chance_of_dripstone_column:(0,i.NumberNode)({integer:!0,min:1,max:64}),max_distance_from_center_affecting_height_bias:(0,i.NumberNode)({integer:!0,min:1,max:64})},"minecraft:end_gateway":{exact:(0,i.BooleanNode)(),exit:(0,i.Opt)(e("block_pos"))},"minecraft:end_spike":{crystal_invulnerable:(0,i.Opt)((0,i.BooleanNode)()),crystal_beam_target:(0,i.Opt)(e("block_pos")),spikes:(0,i.ListNode)((0,i.ObjectNode)({centerX:(0,i.Opt)((0,i.NumberNode)({integer:!0})),centerZ:(0,i.Opt)((0,i.NumberNode)({integer:!0})),radius:(0,i.Opt)((0,i.NumberNode)({integer:!0})),height:(0,i.Opt)((0,i.NumberNode)({integer:!0})),guarded:(0,i.Opt)((0,i.BooleanNode)())}))},"minecraft:fill_layer":{state:e("block_state"),height:(0,i.NumberNode)({integer:!0,min:0,max:255})},"minecraft:flower":d,"minecraft:forest_rock":{state:e("block_state")},"minecraft:fossil":{max_empty_corners_allowed:(0,i.NumberNode)({integer:!0,min:0,max:7}),fossil_structures:(0,i.ListNode)(t({validator:"resource",params:{pool:"$structure"}})),overlay_structures:(0,i.ListNode)(t({validator:"resource",params:{pool:"$structure"}})),fossil_processors:$e.Processors,overlay_processors:$e.Processors},"minecraft:geode":{blocks:(0,i.ObjectNode)({filling_provider:e("block_state_provider"),inner_layer_provider:e("block_state_provider"),alternate_inner_layer_provider:e("block_state_provider"),middle_layer_provider:e("block_state_provider"),outer_layer_provider:e("block_state_provider"),inner_placements:(0,i.ListNode)(e("block_state")),cannot_replace:t({validator:"resource",params:{pool:"$tag/block"}}),invalid_blocks:t({validator:"resource",params:{pool:"$tag/block"}})}),layers:(0,i.ObjectNode)({filling:(0,i.Opt)((0,i.NumberNode)({min:.01,max:50})),inner_layer:(0,i.Opt)((0,i.NumberNode)({min:.01,max:50})),middle_layer:(0,i.Opt)((0,i.NumberNode)({min:.01,max:50})),outer_layer:(0,i.Opt)((0,i.NumberNode)({min:.01,max:50}))}),crack:(0,i.ObjectNode)({generate_crack_chance:(0,i.Opt)((0,i.NumberNode)({min:0,max:1})),base_crack_size:(0,i.Opt)((0,i.NumberNode)({min:0,max:5})),crack_point_offset:(0,i.Opt)((0,i.NumberNode)({min:0,max:10}))}),noise_multiplier:(0,i.Opt)((0,i.NumberNode)({min:0,max:1})),use_potential_placements_chance:(0,i.Opt)((0,i.NumberNode)({min:0,max:1})),use_alternate_layer0_chance:(0,i.Opt)((0,i.NumberNode)({min:0,max:1})),placements_require_layer0_alternate:(0,i.Opt)((0,i.BooleanNode)()),outer_wall_distance:(0,i.Opt)((0,y.IntProvider)({min:1,max:20})),distribution_points:(0,i.Opt)((0,y.IntProvider)({min:1,max:20})),point_offset:(0,i.Opt)((0,y.IntProvider)({min:0,max:10})),min_gen_offset:(0,i.Opt)((0,i.NumberNode)({integer:!0})),max_gen_offset:(0,i.Opt)((0,i.NumberNode)({integer:!0})),invalid_blocks_threshold:(0,i.NumberNode)({integer:!0})},"minecraft:glow_lichen":{search_range:(0,i.Opt)((0,i.NumberNode)({min:1,max:64,integer:!0})),chance_of_spreading:(0,i.Opt)((0,i.NumberNode)({min:0,max:1})),can_place_on_floor:(0,i.Opt)((0,i.BooleanNode)()),can_place_on_ceiling:(0,i.Opt)((0,i.BooleanNode)()),can_place_on_wall:(0,i.Opt)((0,i.BooleanNode)()),can_be_placed_on:(0,i.ListNode)(e("block_state"))},"minecraft:growing_plant":{direction:t({enum:["up","down","north","east","south","west"]}),allow_water:(0,i.BooleanNode)(),height_distribution:(0,i.ListNode)((0,i.ObjectNode)({weight:(0,i.NumberNode)({integer:!0}),data:(0,y.IntProvider)()})),body_provider:e("block_state_provider"),head_provider:e("block_state_provider")},"minecraft:huge_brown_mushroom":n,"minecraft:huge_fungus":{hat_state:e("block_state"),decor_state:e("block_state"),stem_state:e("block_state"),valid_base_block:e("block_state"),planted:(0,i.Opt)((0,i.BooleanNode)())},"minecraft:huge_red_mushroom":n,"minecraft:ice_patch":a,"minecraft:iceberg":{state:e("block_state")},"minecraft:lake":{state:e("block_state")},"minecraft:large_dripstone":{floor_to_ceiling_search_range:(0,i.Opt)((0,i.NumberNode)({integer:!0,min:1,max:512})),column_radius:(0,y.IntProvider)({min:0,max:60}),height_scale:(0,y.FloatProvider)({min:0,max:20}),max_column_radius_to_cave_height_ratio:(0,i.NumberNode)({min:0,max:1}),stalactite_bluntness:(0,y.FloatProvider)({min:.1,max:10}),stalagmite_bluntness:(0,y.FloatProvider)({min:.1,max:10}),wind_speed:(0,y.FloatProvider)({min:0,max:2}),min_radius_for_wind:(0,i.NumberNode)({integer:!0,min:0,max:100}),min_bluntness_for_wind:(0,i.NumberNode)({min:0,max:5})},"minecraft:nether_forest_vegetation":{state_provider:e("block_state_provider")},"minecraft:netherrack_replace_blobs":{state:e("block_state"),target:e("block_state"),radius:(0,y.IntProvider)({min:0,max:12})},"minecraft:no_bonemeal_flower":d,"minecraft:ore":B,"minecraft:random_patch":d,"minecraft:random_boolean_selector":{feature_false:u,feature_true:u},"minecraft:random_selector":{features:(0,i.ListNode)((0,i.ObjectNode)({chance:(0,i.NumberNode)({min:0,max:1}),feature:u})),default:u},"minecraft:replace_single_block":{targets:(0,i.ListNode)(N)},"minecraft:root_system":{required_vertical_space_for_tree:(0,i.NumberNode)({integer:!0,min:1,max:64}),root_radius:(0,i.NumberNode)({integer:!0,min:1,max:64}),root_placement_attempts:(0,i.NumberNode)({integer:!0,min:1,max:256}),root_column_max_height:(0,i.NumberNode)({integer:!0,min:1,max:4096}),hanging_root_radius:(0,i.NumberNode)({integer:!0,min:1,max:64}),hanging_roots_vertical_span:(0,i.NumberNode)({integer:!0,min:0,max:16}),hanging_root_placement_attempts:(0,i.NumberNode)({integer:!0,min:0,max:256}),allowed_vertical_water_for_tree:(0,i.NumberNode)({integer:!0,min:1,max:64}),root_replaceable:t({validator:"resource",params:{pool:"$tag/block"}}),root_state_provider:e("block_state_provider"),hanging_root_state_provider:e("block_state_provider"),feature:u},"minecraft:scattered_ore":B,"minecraft:sea_pickle":{count:(0,y.IntProvider)({min:0,max:256})},"minecraft:seagrass":{probability:(0,i.NumberNode)({min:0,max:1})},"minecraft:simple_block":{to_place:e("block_state_provider"),place_on:(0,i.Opt)((0,i.ListNode)(e("block_state"))),place_in:(0,i.Opt)((0,i.ListNode)(e("block_state"))),place_under:(0,i.Opt)((0,i.ListNode)(e("block_state")))},"minecraft:simple_random_selector":{features:(0,i.ListNode)(u)},"minecraft:small_dripstone":{max_placements:(0,i.Opt)((0,i.NumberNode)({integer:!0,min:0,max:100})),empty_space_search_radius:(0,i.Opt)((0,i.NumberNode)({integer:!0,min:0,max:20})),max_offset_from_origin:(0,i.Opt)((0,i.NumberNode)({integer:!0,min:0,max:20})),chance_of_taller_dripstone:(0,i.Opt)((0,i.NumberNode)({min:0,max:1}))},"minecraft:spring_feature":{state:e("fluid_state"),rock_count:(0,i.NumberNode)({integer:!0}),hole_count:(0,i.NumberNode)({integer:!0}),requires_block_below:(0,i.BooleanNode)(),valid_blocks:(0,i.ListNode)(t({validator:"resource",params:{pool:"block"}}))},"minecraft:tree":{ignore_vines:(0,i.Opt)((0,i.BooleanNode)()),force_dirt:(0,i.Opt)((0,i.BooleanNode)()),minimum_size:e("feature_size"),dirt_provider:e("block_state_provider"),sapling_provider:e("block_state_provider"),trunk_provider:e("block_state_provider"),foliage_provider:e("block_state_provider"),trunk_placer:(0,i.ObjectNode)({type:t({validator:"resource",params:{pool:"worldgen/trunk_placer_type"}}),base_height:(0,i.NumberNode)({integer:!0,min:0,max:32}),height_rand_a:(0,i.NumberNode)({integer:!0,min:0,max:24}),height_rand_b:(0,i.NumberNode)({integer:!0,min:0,max:24}),[i.Switch]:[{push:"type"}],[i.Case]:{"minecraft:bending_trunk_placer":{bend_length:(0,y.IntProvider)({min:1,max:64}),min_height_for_leaves:(0,i.Opt)((0,i.NumberNode)({integer:!0,min:1}))}}},{context:"trunk_placer"}),foliage_placer:(0,i.ObjectNode)({type:t({validator:"resource",params:{pool:"worldgen/foliage_placer_type"}}),radius:(0,y.IntProvider)({min:0,max:16}),offset:(0,y.IntProvider)({min:0,max:16}),[i.Switch]:[{push:"type"}],[i.Case]:{"minecraft:blob_foliage_placer":{height:(0,i.NumberNode)({integer:!0,min:0,max:16})},"minecraft:bush_foliage_placer":{height:(0,i.NumberNode)({integer:!0,min:0,max:16})},"minecraft:fancy_foliage_placer":{height:(0,i.NumberNode)({integer:!0,min:0,max:16})},"minecraft:jungle_foliage_placer":{height:(0,i.NumberNode)({integer:!0,min:0,max:16})},"minecraft:mega_pine_foliage_placer":{crown_height:(0,y.IntProvider)({min:0,max:24})},"minecraft:pine_foliage_placer":{height:(0,y.IntProvider)({min:0,max:24})},"minecraft:random_spread_foliage_placer":{foliage_height:(0,y.IntProvider)({min:1,max:512}),leaf_placement_attempts:(0,i.NumberNode)({integer:!0,min:0,max:256})},"minecraft:spruce_foliage_placer":{trunk_height:(0,y.IntProvider)({min:0,max:24})}}},{context:"foliage_placer",disableSwitchContext:!0}),decorators:(0,i.ListNode)((0,i.ObjectNode)({type:t({validator:"resource",params:{pool:"worldgen/tree_decorator_type"}}),[i.Switch]:[{push:"type"}],[i.Case]:{"minecraft:alter_ground":{provider:e("block_state_provider")},"minecraft:beehive":{probability:(0,i.NumberNode)({min:0,max:1})},"minecraft:cocoa":{probability:(0,i.NumberNode)({min:0,max:1})}}},{context:"tree_decorator"}))},"minecraft:underwater_magma":{floor_search_range:(0,i.NumberNode)({integer:!0,min:0,max:512}),placement_radius_around_floor:(0,i.NumberNode)({integer:!0,min:0,max:64}),placement_probability_per_valid_position:(0,i.NumberNode)({min:0,max:1})},"minecraft:vegetation_patch":v,"minecraft:waterlogged_vegetation_patch":v}},{context:"feature"})},{context:"feature"}),{default:()=>({type:"minecraft:decorated",config:{decorator:{type:"minecraft:count",config:{count:4}},feature:{type:"minecraft:tree",config:{max_water_depth:0,ignore_vines:!0,minimum_size:{},trunk_placer:{base_height:5,height_rand_a:2,height_rand_b:0},foliage_placer:{radius:2,offset:0,height:3}}}}})})),o.register("feature_size",(0,i.Mod)((0,i.ObjectNode)({type:t({validator:"resource",params:{pool:"worldgen/feature_size_type"}}),min_clipped_height:(0,i.Opt)((0,i.NumberNode)({min:0,max:80})),[i.Switch]:[{push:"type"}],[i.Case]:{"minecraft:two_layers_feature_size":{limit:(0,i.Opt)((0,i.NumberNode)({integer:!0,min:0,max:81})),lower_size:(0,i.Opt)((0,i.NumberNode)({integer:!0,min:0,max:16})),upper_size:(0,i.Opt)((0,i.NumberNode)({integer:!0,min:0,max:16}))},"minecraft:three_layers_feature_size":{limit:(0,i.Opt)((0,i.NumberNode)({integer:!0,min:0,max:80})),upper_limit:(0,i.Opt)((0,i.NumberNode)({integer:!0,min:0,max:80})),lower_size:(0,i.Opt)((0,i.NumberNode)({integer:!0,min:0,max:16})),middle_size:(0,i.Opt)((0,i.NumberNode)({integer:!0,min:0,max:16})),upper_size:(0,i.Opt)((0,i.NumberNode)({integer:!0,min:0,max:16}))}}},{disableSwitchContext:!0}),{default:()=>({type:"minecraft:two_layers_feature_size"})})),o.register("block_state_provider",(0,i.Mod)((0,i.ObjectNode)({type:t({validator:"resource",params:{pool:"worldgen/block_state_provider_type"}}),[i.Switch]:[{push:"type"}],[i.Case]:{"minecraft:randomized_int_state_provider":{property:t(),values:(0,y.IntProvider)(),source:e("block_state_provider")},"minecraft:rotated_block_provider":{state:e("block_state")},"minecraft:simple_state_provider":{state:e("block_state")},"minecraft:weighted_state_provider":{entries:(0,i.ListNode)((0,i.Mod)((0,i.ObjectNode)({weight:(0,i.NumberNode)({integer:!0,min:1}),data:e("block_state")}),{default:()=>({data:{}})}))}}},{context:"block_state_provider"}),{default:()=>({type:"minecraft:simple_state_provider"})})),o.register("block_placer",(0,i.Mod)((0,i.ObjectNode)({type:t({validator:"resource",params:{pool:"worldgen/block_placer_type"}}),[i.Switch]:[{push:"type"}],[i.Case]:{"minecraft:column_placer":{size:(0,y.IntProvider)({min:0})}}},{context:"block_placer"}),{default:()=>({type:"minecraft:simple_block_placer"})}))}ke.initFeatureSchemas=gt;var xe={};Object.defineProperty(xe,"__esModule",{value:!0});xe.initNoiseSettingsSchemas=void 0;const _=w,Nt=F;function ht(o,r){const e=_.Reference.bind(void 0,o),t=_.StringNode.bind(void 0,r);o.register("noise_settings",(0,_.Mod)((0,_.ObjectNode)({name:(0,_.Mod)(t({validator:"resource",params:{pool:"$worldgen/noise_settings",isDefinition:!0}}),{enabled:d=>d.getArray().length>0}),bedrock_roof_position:(0,_.NumberNode)({integer:!0}),bedrock_floor_position:(0,_.NumberNode)({integer:!0}),sea_level:(0,_.NumberNode)({integer:!0}),min_surface_level:(0,_.NumberNode)({integer:!0}),disable_mob_generation:(0,_.BooleanNode)(),noise_caves_enabled:(0,_.BooleanNode)(),noodle_caves_enabled:(0,_.BooleanNode)(),aquifers_enabled:(0,_.BooleanNode)(),deepslate_enabled:(0,_.BooleanNode)(),ore_veins_enabled:(0,_.BooleanNode)(),default_block:e("block_state"),default_fluid:e("block_state"),noise:(0,_.ObjectNode)({min_y:(0,_.NumberNode)({integer:!0,min:-2048,max:2047}),height:(0,_.NumberNode)({integer:!0,min:0,max:4096}),density_factor:(0,_.NumberNode)(),density_offset:(0,_.NumberNode)(),size_horizontal:(0,_.NumberNode)({integer:!0}),size_vertical:(0,_.NumberNode)({integer:!0}),simplex_surface_noise:(0,_.BooleanNode)(),random_density_offset:(0,_.Opt)((0,_.BooleanNode)()),island_noise_override:(0,_.Opt)((0,_.BooleanNode)()),amplified:(0,_.Opt)((0,_.BooleanNode)()),sampling:(0,_.ObjectNode)({xz_scale:(0,_.NumberNode)(),y_scale:(0,_.NumberNode)(),xz_factor:(0,_.NumberNode)(),y_factor:(0,_.NumberNode)()}),bottom_slide:(0,_.ObjectNode)({target:(0,_.NumberNode)({integer:!0}),size:(0,_.NumberNode)({integer:!0,min:0}),offset:(0,_.NumberNode)({integer:!0})}),top_slide:(0,_.ObjectNode)({target:(0,_.NumberNode)({integer:!0}),size:(0,_.NumberNode)({integer:!0,min:0}),offset:(0,_.NumberNode)({integer:!0})})}),structures:e("generator_structures")},{context:"noise_settings"}),d=>({default:()=>Nt.DefaultNoiseSettings,validate:(a,n,N,B)=>{var u,v,j,O;return n=d.validate(a,n,N,B),((u=n==null?void 0:n.noise)===null||u===void 0?void 0:u.min_y)+((v=n==null?void 0:n.noise)===null||v===void 0?void 0:v.height)>2047&&N.add(a.push("noise").push("height"),"error.min_y_plus_height",2047),((j=n==null?void 0:n.noise)===null||j===void 0?void 0:j.height)%16!==0&&N.add(a.push("noise").push("height"),"error.height_multiple",16),((O=n==null?void 0:n.noise)===null||O===void 0?void 0:O.min_y)%16!==0&&N.add(a.push("noise").push("min_y"),"error.min_y_multiple",16),n}}))),o.register("generator_structures",(0,_.ObjectNode)({stronghold:(0,_.Opt)((0,_.ObjectNode)({distance:(0,_.NumberNode)({integer:!0,min:0,max:1023}),spread:(0,_.NumberNode)({integer:!0,min:0,max:1023}),count:(0,_.NumberNode)({integer:!0,min:1,max:4095})})),structures:(0,_.MapNode)(t({validator:"resource",params:{pool:"worldgen/structure_feature"}}),(0,_.Mod)((0,_.ObjectNode)({spacing:(0,_.NumberNode)({integer:!0,min:0,max:4096}),separation:(0,_.Mod)((0,_.NumberNode)({integer:!0,min:0,max:4096}),d=>({validate:(a,n,N,B)=>(a.pop().push("spacing").get()<=n&&N.add(a,"error.separation_smaller_spacing"),d.validate(a,n,N,B))})),salt:(0,_.NumberNode)({integer:!0,min:0})},{context:"generator_structure"}),{default:()=>({spacing:10,separation:5,salt:0})}))})),o.register("generator_layer",(0,_.Mod)((0,_.ObjectNode)({block:t({validator:"resource",params:{pool:"block"}}),height:(0,_.NumberNode)({integer:!0,min:1})}),{default:()=>({block:"minecraft:stone",height:1})}))}xe.initNoiseSettingsSchemas=ht;var we={};Object.defineProperty(we,"__esModule",{value:!0});we.initStructureFeatureSchemas=void 0;const z=w;function yt(o,r){const e=z.StringNode.bind(void 0,r),t=z.Reference.bind(void 0,o),d={start_pool:e({validator:"resource",params:{pool:"$worldgen/template_pool"}}),size:(0,z.NumberNode)({integer:!0})};o.register("configured_structure_feature",(0,z.Mod)((0,z.ObjectNode)({type:e({validator:"resource",params:{pool:"worldgen/structure_feature"}}),config:(0,z.ObjectNode)({[z.Switch]:["pop",{push:"type"}],[z.Case]:{"minecraft:bastion_remnant":d,"minecraft:buried_treasure":{probability:(0,z.NumberNode)({min:0,max:1})},"minecraft:mineshaft":{type:e({enum:["normal","mesa"]}),probability:(0,z.NumberNode)({min:0,max:1})},"minecraft:nether_fossil":{height:t("height_provider")},"minecraft:ocean_ruin":{biome_temp:e({enum:["cold","warm"]}),large_probability:(0,z.NumberNode)({min:0,max:1}),cluster_probability:(0,z.NumberNode)({min:0,max:1})},"minecraft:pillager_outpost":d,"minecraft:ruined_portal":{portal_type:e({enum:["standard","desert","jungle","mountain","nether","ocean","swamp"]})},"minecraft:shipwreck":{is_beached:(0,z.Opt)((0,z.BooleanNode)())},"minecraft:village":d}},{context:"structure_feature",disableSwitchContext:!0})},{context:"structure_feature"}),{default:()=>({type:"minecraft:bastion_remnant",config:{start_pool:"minecraft:bastion/starts",size:6}})}))}we.initStructureFeatureSchemas=yt;var Se={};Object.defineProperty(Se,"__esModule",{value:!0});Se.initSurfaceBuilderSchemas=void 0;const te=w;function vt(o,r){const e=te.StringNode.bind(void 0,r),t=te.Reference.bind(void 0,o);o.register("configured_surface_builder",(0,te.Mod)((0,te.ObjectNode)({type:e({validator:"resource",params:{pool:"worldgen/surface_builder"}}),config:(0,te.ObjectNode)({top_material:t("block_state"),under_material:t("block_state"),underwater_material:t("block_state")},{context:"surface_builder"})},{context:"surface_builder"}),{default:()=>({type:"minecraft:default",config:{top_material:{Name:"minecraft:grass_block",Properties:{snowy:"false"}},under_material:{Name:"minecraft:dirt"},underwater_material:{Name:"minecraft:gravel"}}})}))}Se.initSurfaceBuilderSchemas=vt;var je={};Object.defineProperty(je,"__esModule",{value:!0});je.initTemplatePoolSchemas=void 0;const $=w,Re=H;function Ot(o,r){const e=$.Reference.bind(void 0,o),t=$.StringNode.bind(void 0,r);o.register("template_pool",(0,$.Mod)((0,$.ObjectNode)({name:t(),fallback:t(),elements:(0,$.ListNode)(e("template_weighted_element"))},{context:"template_pool"}),{default:()=>({fallback:"minecraft:empty",elements:[{weight:1,element:{element_type:"minecraft:single_pool_element",projection:"rigid",processors:"minecraft:empty"}}]})})),o.register("template_weighted_element",(0,$.Mod)((0,$.ObjectNode)({weight:(0,$.NumberNode)({integer:!0,min:1}),element:e("template_element")},{category:"pool"}),{default:()=>({weight:1,element:{element_type:"minecraft:single_pool_element",projection:"rigid",processors:"minecraft:empty"}})})),o.register("template_element",(0,$.Mod)((0,$.ObjectNode)({element_type:t({validator:"resource",params:{pool:"worldgen/structure_pool_element"}}),projection:t({enum:["rigid","terrain_matching"]}),[$.Switch]:[{push:"element_type"}],[$.Case]:{"minecraft:feature_pool_element":{feature:t({validator:"resource",params:{pool:"$worldgen/configured_feature"}})},"minecraft:legacy_single_pool_element":{location:t({validator:"resource",params:{pool:"$structure"}}),processors:Re.Processors},"minecraft:list_pool_element":{elements:(0,$.ListNode)(e("template_element"))},"minecraft:single_pool_element":{location:t({validator:"resource",params:{pool:"$structure"}}),processors:Re.Processors}}},{context:"template_element",disableSwitchContext:!0}),{default:()=>({element_type:"minecraft:single_pool_element",projection:"rigid",processors:"minecraft:empty"})}))}je.initTemplatePoolSchemas=Ot;Object.defineProperty(he,"__esModule",{value:!0});he.initWorldgenSchemas=void 0;const kt=ye,xt=ve,wt=Oe,St=ke,jt=xe,Mt=H,Ct=we,Pt=Se,Lt=je;function Bt(o,r){(0,Mt.initProcessorListSchemas)(o,r),(0,kt.initBiomeSchemas)(o,r),(0,xt.initCarverSchemas)(o,r),(0,wt.initDecoratorSchemas)(o,r),(0,St.initFeatureSchemas)(o,r),(0,jt.initNoiseSettingsSchemas)(o,r),(0,Ct.initStructureFeatureSchemas)(o,r),(0,Pt.initSurfaceBuilderSchemas)(o,r),(0,Lt.initTemplatePoolSchemas)(o,r)}he.initWorldgenSchemas=Bt;var Me={};Object.defineProperty(Me,"__esModule",{value:!0});Me.initWorldSettingsSchemas=void 0;const V=w;function zt(o,r){const e=V.Reference.bind(void 0,o),t=V.StringNode.bind(void 0,r);o.register("world_settings",(0,V.Mod)((0,V.ObjectNode)({generate_features:(0,V.BooleanNode)(),bonus_chest:(0,V.BooleanNode)(),seed:(0,V.NumberNode)({integer:!0}),dimensions:(0,V.MapNode)(t({validator:"resource",params:{pool:"$dimension"}}),e("dimension"))},{context:"world_settings"}),{default:()=>{const d=Math.floor(Math.random()*4294967296)-2147483648;return{generate_features:!0,bonus_chest:!1,seed:d,dimensions:{"minecraft:overworld":{type:"minecraft:overworld",generator:{type:"minecraft:noise",seed:d,biome_source:{type:"minecraft:vanilla_layered",seed:d},settings:"minecraft:overworld"}},"minecraft:the_nether":{type:"minecraft:the_nether",generator:{type:"minecraft:noise",seed:d,biome_source:{type:"minecraft:multi_noise",seed:d,humidity_noise:{firstOctave:-7,amplitudes:[1,1]},altitude_noise:{firstOctave:-7,amplitudes:[1,1]},weirdness_noise:{firstOctave:-7,amplitudes:[1,1]},temperature_noise:{firstOctave:-7,amplitudes:[1,1]},biomes:[{parameters:{altitude:0,weirdness:0,offset:0,temperature:0,humidity:0},biome:"minecraft:nether_wastes"},{parameters:{altitude:0,weirdness:0,offset:0,temperature:0,humidity:-.5},biome:"minecraft:soul_sand_valley"},{parameters:{altitude:0,weirdness:0,offset:0,temperature:.4,humidity:0},biome:"minecraft:crimson_forest"},{parameters:{altitude:0,weirdness:0,offset:.375,temperature:0,humidity:.5},biome:"minecraft:warped_forest"},{parameters:{altitude:0,weirdness:0,offset:.175,temperature:-.5,humidity:0},biome:"minecraft:basalt_deltas"}]},settings:"minecraft:nether"}},"minecraft:the_end":{type:"minecraft:the_end",generator:{type:"minecraft:noise",seed:d,biome_source:{type:"minecraft:the_end",seed:d},settings:"minecraft:end"}}}}}}))}Me.initWorldSettingsSchemas=zt;Object.defineProperty(ie,"__esModule",{value:!0});ie.initSchemas=void 0;const $t=ae,Rt=ne,Tt=F,Dt=se,Ft=me,It=le,qt=_e,At=pe,Et=ue,Wt=fe,Gt=be,Ut=ge,Vt=Ne,Ht=he,Kt=Me;function Xt(o,r){(0,Tt.initCommonSchemas)(o,r),(0,$t.initAdvancementSchemas)(o,r),(0,Rt.initAssetsSchemas)(o,r),(0,Dt.initConditionSchemas)(o,r),(0,It.initDimensionTypeSchemas)(o,r),(0,Ft.initDimensionSchemas)(o,r),(0,qt.initItemModifierSchemas)(o,r),(0,At.initLootTableSchemas)(o,r),(0,Et.initPackMcmetaSchemas)(o,r),(0,Wt.initPredicatesSchemas)(o,r),(0,Gt.initRecipeSchemas)(o,r),(0,Ut.initTagsSchemas)(o,r),(0,Vt.initTextComponentSchemas)(o,r),(0,Ht.initWorldgenSchemas)(o,r),(0,Kt.initWorldSettingsSchemas)(o,r)}ie.initSchemas=Xt;var Zt=Q&&Q.__createBinding||(Object.create?function(o,r,e,t){t===void 0&&(t=e);var d=Object.getOwnPropertyDescriptor(r,e);(!d||("get"in d?!r.__esModule:d.writable||d.configurable))&&(d={enumerable:!0,get:function(){return r[e]}}),Object.defineProperty(o,t,d)}:function(o,r,e,t){t===void 0&&(t=e),o[t]=r[e]}),Yt=Q&&Q.__setModuleDefault||(Object.create?function(o,r){Object.defineProperty(o,"default",{enumerable:!0,value:r})}:function(o,r){o.default=r}),Jt=Q&&Q.__importStar||function(o){if(o&&o.__esModule)return o;var r={};if(o!=null)for(var e in o)e!=="default"&&Object.prototype.hasOwnProperty.call(o,e)&&Zt(r,o,e);return Yt(r,o),r};Object.defineProperty(W,"__esModule",{value:!0});var Te=W.getSchemas=Ie=W.getCollections=Fe=W.lootContext=void 0;const De=w,Qt=oe,er=ie;var Fe=W.lootContext=Jt(R);function tr(){const o=new De.CollectionRegistry;return(0,Qt.initCollections)(o),o}var Ie=W.getCollections=tr;function rr(o){const r=new De.SchemaRegistry;return(0,er.initSchemas)(r,o),r}Te=W.getSchemas=rr;var nr=Ue({__proto__:null,get getSchemas(){return Te},get getCollections(){return Ie},get lootContext(){return Fe},default:W},[W]);export{nr as i}; +//# sourceMappingURL=index.210d411f.js.map diff --git a/assets/index.42b0dee2.js.map b/assets/index.210d411f.js.map similarity index 99% rename from assets/index.42b0dee2.js.map rename to assets/index.210d411f.js.map index d38c22cc..e73518bb 100644 --- a/assets/index.42b0dee2.js.map +++ b/assets/index.210d411f.js.map @@ -1 +1 @@ -{"version":3,"file":"index.42b0dee2.js","sources":["../../node_modules/@mcschema/java-1.17/lib/Collections.js","../../node_modules/@mcschema/java-1.17/lib/schemas/Advancement.js","../../node_modules/@mcschema/java-1.17/lib/schemas/assets/Model.js","../../node_modules/@mcschema/java-1.17/lib/schemas/assets/BlockDefinition.js","../../node_modules/@mcschema/java-1.17/lib/schemas/assets/index.js","../../node_modules/@mcschema/java-1.17/lib/schemas/Common.js","../../node_modules/@mcschema/java-1.17/lib/schemas/Condition.js","../../node_modules/@mcschema/java-1.17/lib/schemas/Dimension.js","../../node_modules/@mcschema/java-1.17/lib/schemas/DimensionType.js","../../node_modules/@mcschema/java-1.17/lib/schemas/ItemModifier.js","../../node_modules/@mcschema/java-1.17/lib/LootContext.js","../../node_modules/@mcschema/java-1.17/lib/schemas/LootTable.js","../../node_modules/@mcschema/java-1.17/lib/schemas/PackMcmeta.js","../../node_modules/@mcschema/java-1.17/lib/schemas/Predicates.js","../../node_modules/@mcschema/java-1.17/lib/schemas/Recipe.js","../../node_modules/@mcschema/java-1.17/lib/schemas/Tags.js","../../node_modules/@mcschema/java-1.17/lib/schemas/TextComponent.js","../../node_modules/@mcschema/java-1.17/lib/schemas/worldgen/Biome.js","../../node_modules/@mcschema/java-1.17/lib/schemas/worldgen/Carver.js","../../node_modules/@mcschema/java-1.17/lib/schemas/worldgen/Decorator.js","../../node_modules/@mcschema/java-1.17/lib/schemas/worldgen/ProcessorList.js","../../node_modules/@mcschema/java-1.17/lib/schemas/worldgen/Feature.js","../../node_modules/@mcschema/java-1.17/lib/schemas/worldgen/NoiseSettings.js","../../node_modules/@mcschema/java-1.17/lib/schemas/worldgen/StructureFeature.js","../../node_modules/@mcschema/java-1.17/lib/schemas/worldgen/SurfaceBuilder.js","../../node_modules/@mcschema/java-1.17/lib/schemas/worldgen/TemplatePool.js","../../node_modules/@mcschema/java-1.17/lib/schemas/worldgen/index.js","../../node_modules/@mcschema/java-1.17/lib/schemas/WorldSettings.js","../../node_modules/@mcschema/java-1.17/lib/schemas/index.js","../../node_modules/@mcschema/java-1.17/lib/index.js"],"sourcesContent":["\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initCollections = void 0;\r\nfunction initCollections(collections) {\r\n collections.register('advancement_trigger', [\r\n 'minecraft:bee_nest_destroyed',\r\n 'minecraft:bred_animals',\r\n 'minecraft:brewed_potion',\r\n 'minecraft:changed_dimension',\r\n 'minecraft:channeled_lightning',\r\n 'minecraft:construct_beacon',\r\n 'minecraft:consume_item',\r\n 'minecraft:cured_zombie_villager',\r\n 'minecraft:effects_changed',\r\n 'minecraft:enchanted_item',\r\n 'minecraft:enter_block',\r\n 'minecraft:entity_hurt_player',\r\n 'minecraft:entity_killed_player',\r\n 'minecraft:filled_bucket',\r\n 'minecraft:fishing_rod_hooked',\r\n 'minecraft:hero_of_the_village',\r\n 'minecraft:impossible',\r\n 'minecraft:inventory_changed',\r\n 'minecraft:item_durability_changed',\r\n 'minecraft:item_used_on_block',\r\n 'minecraft:killed_by_crossbow',\r\n 'minecraft:levitation',\r\n 'minecraft:lightning_strike',\r\n 'minecraft:location',\r\n 'minecraft:nether_travel',\r\n 'minecraft:placed_block',\r\n 'minecraft:player_generates_container_loot',\r\n 'minecraft:player_hurt_entity',\r\n 'minecraft:player_interacted_with_entity',\r\n 'minecraft:player_killed_entity',\r\n 'minecraft:recipe_unlocked',\r\n 'minecraft:shot_crossbow',\r\n 'minecraft:slept_in_bed',\r\n 'minecraft:slide_down_block',\r\n 'minecraft:started_riding',\r\n 'minecraft:summoned_entity',\r\n 'minecraft:tame_animal',\r\n 'minecraft:target_hit',\r\n 'minecraft:tick',\r\n 'minecraft:thrown_item_picked_up_by_entity',\r\n 'minecraft:used_ender_eye',\r\n 'minecraft:used_totem',\r\n 'minecraft:using_item',\r\n 'minecraft:villager_trade',\r\n 'minecraft:voluntary_exile'\r\n ]);\r\n collections.register('dimension', [\r\n 'minecraft:overworld',\r\n 'minecraft:the_nether',\r\n 'minecraft:the_end'\r\n ]);\r\n collections.register('dimension_type', [\r\n 'minecraft:overworld',\r\n 'minecraft:the_nether',\r\n 'minecraft:the_end'\r\n ]);\r\n collections.register('keybind', [\r\n 'key.advancements',\r\n 'key.attack',\r\n 'key.back',\r\n 'key.chat',\r\n 'key.command',\r\n 'key.drop',\r\n 'key.forward',\r\n 'key.fullscreen',\r\n 'key.hotbar.1',\r\n 'key.hotbar.2',\r\n 'key.hotbar.3',\r\n 'key.hotbar.4',\r\n 'key.hotbar.5',\r\n 'key.hotbar.6',\r\n 'key.hotbar.7',\r\n 'key.hotbar.8',\r\n 'key.hotbar.9',\r\n 'key.inventory',\r\n 'key.jump',\r\n 'key.left',\r\n 'key.loadToolbarActivator',\r\n 'key.pickItem',\r\n 'key.playerlist',\r\n 'key.right',\r\n 'key.saveToolbarActivator',\r\n 'key.screenshot',\r\n 'key.smoothCamera',\r\n 'key.sneak',\r\n 'key.spectatorOutlines',\r\n 'key.sprint',\r\n 'key.swapOffhand',\r\n 'key.togglePerspective',\r\n 'key.use'\r\n ]);\r\n collections.register('slot', [\r\n 'mainhand',\r\n 'offhand',\r\n 'head',\r\n 'chest',\r\n 'legs',\r\n 'feet'\r\n ]);\r\n collections.register('gamemode', [\r\n 'survival',\r\n 'creative',\r\n 'adventure',\r\n 'spectator'\r\n ]);\r\n collections.register('worldgen/noise_settings', [\r\n 'minecraft:overworld',\r\n 'minecraft:nether',\r\n 'minecraft:end',\r\n 'minecraft:amplified',\r\n 'minecraft:caves',\r\n 'minecraft:floating_islands'\r\n ]);\r\n collections.register('entity_source', [\r\n 'this',\r\n 'killer',\r\n 'direct_killer',\r\n 'killer_player'\r\n ]);\r\n collections.register('copy_source', [\r\n 'block_entity',\r\n 'this',\r\n 'killer',\r\n 'killer_player'\r\n ]);\r\n collections.register('loot_table_apply_bonus_formula', [\r\n 'minecraft:uniform_bonus_count',\r\n 'minecraft:binomial_with_bonus_count',\r\n 'minecraft:ore_drops'\r\n ]);\r\n collections.register('map_decoration', [\r\n 'mansion',\r\n 'monument',\r\n 'player',\r\n 'frame',\r\n 'red_marker',\r\n 'blue_marker',\r\n 'target_x',\r\n 'target_point',\r\n 'player_off_map',\r\n 'player_off_limits',\r\n 'red_x',\r\n 'banner_white',\r\n 'banner_orange',\r\n 'banner_magenta',\r\n 'banner_light_blue',\r\n 'banner_yellow',\r\n 'banner_lime',\r\n 'banner_pink',\r\n 'banner_gray',\r\n 'banner_light_gray',\r\n 'banner_cyan',\r\n 'banner_purple',\r\n 'banner_blue',\r\n 'banner_brown',\r\n 'banner_green',\r\n 'banner_red',\r\n 'banner_black'\r\n ]);\r\n collections.register('map_feature', [\r\n 'bastion_remnant',\r\n 'buried_treasure',\r\n 'desert_pyramid',\r\n 'endcity',\r\n 'fortress',\r\n 'igloo',\r\n 'jungle_pyramid',\r\n 'mansion',\r\n 'mineshaft',\r\n 'monument',\r\n 'nether_fossil',\r\n 'ocean_ruin',\r\n 'pillager_outpost',\r\n 'ruined_portal',\r\n 'shipwreck',\r\n 'stronghold',\r\n 'swamp_hut',\r\n 'village'\r\n ]);\r\n collections.register('recipe_group', [\r\n 'bed',\r\n 'light_gray_dye',\r\n 'iron_ingot',\r\n 'wooden_stairs',\r\n 'black_dye',\r\n 'stained_terracotta',\r\n 'dyed_bed',\r\n 'magenta_dye',\r\n 'bark',\r\n 'rabbit_stew',\r\n 'light_blue_dye',\r\n 'wooden_fence_gate',\r\n 'planks',\r\n 'stained_glass',\r\n 'wooden_door',\r\n 'stained_glass_pane',\r\n 'wooden_fence',\r\n 'sticks',\r\n 'concrete_powder',\r\n 'wooden_pressure_plate',\r\n 'boat',\r\n 'brown_dye',\r\n 'yellow_dye',\r\n 'bonemeal',\r\n 'red_dye',\r\n 'wooden_trapdoor',\r\n 'wooden_button',\r\n 'gold_ingot',\r\n 'pink_dye',\r\n 'wooden_slab',\r\n 'orange_dye',\r\n 'carpet',\r\n 'sign',\r\n 'wool',\r\n 'sugar',\r\n 'blue_dye',\r\n 'white_dye',\r\n 'banner',\r\n 'netherite_ingot'\r\n ]);\r\n collections.register('worldgen/configured_feature', [\r\n 'minecraft:acacia',\r\n 'minecraft:bamboo_light',\r\n 'minecraft:bamboo_vegetation',\r\n 'minecraft:bamboo',\r\n 'minecraft:basalt_blobs',\r\n 'minecraft:basalt_pillar',\r\n 'minecraft:birch_bees_0002',\r\n 'minecraft:birch_bees_002',\r\n 'minecraft:birch_bees_005',\r\n 'minecraft:birch_other',\r\n 'minecraft:birch_tall',\r\n 'minecraft:birch',\r\n 'minecraft:blackstone_blobs',\r\n 'minecraft:blue_ice',\r\n 'minecraft:bonus_chest',\r\n 'minecraft:brown_mushroom_giant',\r\n 'minecraft:brown_mushroom_nether',\r\n 'minecraft:brown_mushroom_normal',\r\n 'minecraft:brown_mushroom_swamp',\r\n 'minecraft:brown_mushroom_taiga',\r\n 'minecraft:chorus_plant',\r\n 'minecraft:crimson_forest_vegetation',\r\n 'minecraft:crimson_fungi_planted',\r\n 'minecraft:crimson_fungi',\r\n 'minecraft:dark_forest_vegetation_brown',\r\n 'minecraft:dark_forest_vegetation_red',\r\n 'minecraft:dark_oak',\r\n 'minecraft:delta',\r\n 'minecraft:desert_well',\r\n 'minecraft:disk_clay',\r\n 'minecraft:disk_gravel',\r\n 'minecraft:disk_sand',\r\n 'minecraft:end_gateway_delayed',\r\n 'minecraft:end_gateway',\r\n 'minecraft:end_island_decorated',\r\n 'minecraft:end_island',\r\n 'minecraft:end_spike',\r\n 'minecraft:fancy_oak_bees_0002',\r\n 'minecraft:fancy_oak_bees_002',\r\n 'minecraft:fancy_oak_bees_005',\r\n 'minecraft:fancy_oak',\r\n 'minecraft:flower_default',\r\n 'minecraft:flower_forest',\r\n 'minecraft:flower_plain_decorated',\r\n 'minecraft:flower_plain',\r\n 'minecraft:flower_swamp',\r\n 'minecraft:flower_warm',\r\n 'minecraft:forest_flower_trees',\r\n 'minecraft:forest_flower_vegetation_common',\r\n 'minecraft:forest_flower_vegetation',\r\n 'minecraft:forest_rock',\r\n 'minecraft:fossil',\r\n 'minecraft:freeze_top_layer',\r\n 'minecraft:glowstone_extra',\r\n 'minecraft:glowstone',\r\n 'minecraft:huge_brown_mushroom',\r\n 'minecraft:huge_red_mushroom',\r\n 'minecraft:ice_patch',\r\n 'minecraft:ice_spike',\r\n 'minecraft:iceberg_blue',\r\n 'minecraft:iceberg_packed',\r\n 'minecraft:jungle_bush',\r\n 'minecraft:jungle_tree_no_vine',\r\n 'minecraft:jungle_tree',\r\n 'minecraft:kelp_cold',\r\n 'minecraft:kelp_warm',\r\n 'minecraft:lake_lava',\r\n 'minecraft:lake_water',\r\n 'minecraft:large_basalt_columns',\r\n 'minecraft:mega_jungle_tree',\r\n 'minecraft:mega_pine',\r\n 'minecraft:mega_spruce',\r\n 'minecraft:monster_room',\r\n 'minecraft:mushroom_field_vegetation',\r\n 'minecraft:nether_sprouts',\r\n 'minecraft:oak_badlands',\r\n 'minecraft:oak_bees_0002',\r\n 'minecraft:oak_bees_002',\r\n 'minecraft:oak_bees_005',\r\n 'minecraft:oak',\r\n 'minecraft:ore_andesite',\r\n 'minecraft:ore_blackstone',\r\n 'minecraft:ore_coal',\r\n 'minecraft:ore_debris_large',\r\n 'minecraft:ore_debris_small',\r\n 'minecraft:ore_diamond',\r\n 'minecraft:ore_diorite',\r\n 'minecraft:ore_dirt',\r\n 'minecraft:ore_emerald',\r\n 'minecraft:ore_gold_deltas',\r\n 'minecraft:ore_gold_extra',\r\n 'minecraft:ore_gold_nether',\r\n 'minecraft:ore_gold',\r\n 'minecraft:ore_granite',\r\n 'minecraft:ore_gravel_nether',\r\n 'minecraft:ore_gravel',\r\n 'minecraft:ore_infested',\r\n 'minecraft:ore_iron',\r\n 'minecraft:ore_lapis',\r\n 'minecraft:ore_magma',\r\n 'minecraft:ore_quartz_deltas',\r\n 'minecraft:ore_quartz_nether',\r\n 'minecraft:ore_redstone',\r\n 'minecraft:ore_soul_sand',\r\n 'minecraft:patch_berry_bush',\r\n 'minecraft:patch_berry_decorated',\r\n 'minecraft:patch_berry_sparse',\r\n 'minecraft:patch_brown_mushroom',\r\n 'minecraft:patch_cactus_decorated',\r\n 'minecraft:patch_cactus_desert',\r\n 'minecraft:patch_cactus',\r\n 'minecraft:patch_crimson_roots',\r\n 'minecraft:patch_dead_bush_2',\r\n 'minecraft:patch_dead_bush_badlands',\r\n 'minecraft:patch_dead_bush',\r\n 'minecraft:patch_fire',\r\n 'minecraft:patch_grass_badlands',\r\n 'minecraft:patch_grass_forest',\r\n 'minecraft:patch_grass_jungle',\r\n 'minecraft:patch_grass_normal',\r\n 'minecraft:patch_grass_plain',\r\n 'minecraft:patch_grass_savanna',\r\n 'minecraft:patch_grass_taiga_2',\r\n 'minecraft:patch_grass_taiga',\r\n 'minecraft:patch_large_fern',\r\n 'minecraft:patch_melon',\r\n 'minecraft:patch_pumpkin',\r\n 'minecraft:patch_red_mushroom',\r\n 'minecraft:patch_soul_fire',\r\n 'minecraft:patch_sugar_cane_badlands',\r\n 'minecraft:patch_sugar_cane_desert',\r\n 'minecraft:patch_sugar_cane_swamp',\r\n 'minecraft:patch_sugar_cane',\r\n 'minecraft:patch_sunflower',\r\n 'minecraft:patch_taiga_grass',\r\n 'minecraft:patch_tall_grass_2',\r\n 'minecraft:patch_tall_grass',\r\n 'minecraft:patch_waterlilly',\r\n 'minecraft:pile_hay',\r\n 'minecraft:pile_ice',\r\n 'minecraft:pile_melon',\r\n 'minecraft:pile_pumpkin',\r\n 'minecraft:pile_snow',\r\n 'minecraft:pine',\r\n 'minecraft:plain_vegetation',\r\n 'minecraft:red_mushroom_giant',\r\n 'minecraft:red_mushroom_nether',\r\n 'minecraft:red_mushroom_normal',\r\n 'minecraft:red_mushroom_swamp',\r\n 'minecraft:red_mushroom_taiga',\r\n 'minecraft:sea_pickle',\r\n 'minecraft:seagrass_cold',\r\n 'minecraft:seagrass_deep_cold',\r\n 'minecraft:seagrass_deep_warm',\r\n 'minecraft:seagrass_deep',\r\n 'minecraft:seagrass_normal',\r\n 'minecraft:seagrass_river',\r\n 'minecraft:seagrass_simple',\r\n 'minecraft:seagrass_swamp',\r\n 'minecraft:seagrass_warm',\r\n 'minecraft:small_basalt_columns',\r\n 'minecraft:spring_closed_double',\r\n 'minecraft:spring_closed',\r\n 'minecraft:spring_delta',\r\n 'minecraft:spring_lava_double',\r\n 'minecraft:spring_lava',\r\n 'minecraft:spring_open',\r\n 'minecraft:spring_water',\r\n 'minecraft:spruce_snowy',\r\n 'minecraft:spruce',\r\n 'minecraft:super_birch_bees_0002',\r\n 'minecraft:swamp_tree',\r\n 'minecraft:taiga_vegetation',\r\n 'minecraft:trees_birch',\r\n 'minecraft:trees_giant_spruce',\r\n 'minecraft:trees_giant',\r\n 'minecraft:trees_jungle_edge',\r\n 'minecraft:trees_jungle',\r\n 'minecraft:trees_mountain_edge',\r\n 'minecraft:trees_mountain',\r\n 'minecraft:trees_savanna',\r\n 'minecraft:trees_shattered_savanna',\r\n 'minecraft:trees_water',\r\n 'minecraft:twisting_vines',\r\n 'minecraft:vines',\r\n 'minecraft:void_start_platform',\r\n 'minecraft:warm_ocean_vegetation',\r\n 'minecraft:warped_forest_vegetation',\r\n 'minecraft:warped_fungi_planted',\r\n 'minecraft:warped_fungi',\r\n 'minecraft:weeping_vines'\r\n ]);\r\n collections.register('worldgen/configured_structure_feature', [\r\n 'minecraft:bastion_remnant',\r\n 'minecraft:buried_treasure',\r\n 'minecraft:desert_pyramid',\r\n 'minecraft:end_city',\r\n 'minecraft:fortress',\r\n 'minecraft:igloo',\r\n 'minecraft:jungle_pyramid',\r\n 'minecraft:mansion',\r\n 'minecraft:mineshaft_mesa',\r\n 'minecraft:mineshaft',\r\n 'minecraft:monument',\r\n 'minecraft:nether_fossil',\r\n 'minecraft:ocean_ruin_cold',\r\n 'minecraft:ocean_ruin_warm',\r\n 'minecraft:pillager_outpost',\r\n 'minecraft:ruined_portal_desert',\r\n 'minecraft:ruined_portal_jungle',\r\n 'minecraft:ruined_portal_mountain',\r\n 'minecraft:ruined_portal_nether',\r\n 'minecraft:ruined_portal_ocean',\r\n 'minecraft:ruined_portal_swamp',\r\n 'minecraft:ruined_portal',\r\n 'minecraft:shipwreck_beached',\r\n 'minecraft:shipwreck',\r\n 'minecraft:stronghold',\r\n 'minecraft:swamp_hut',\r\n 'minecraft:village_desert',\r\n 'minecraft:village_plains',\r\n 'minecraft:village_savanna',\r\n 'minecraft:village_snowy',\r\n 'minecraft:village_taiga'\r\n ]);\r\n collections.register('worldgen/configured_surface_builder', [\r\n 'minecraft:badlands',\r\n 'minecraft:basalt_deltas',\r\n 'minecraft:crimson_forest',\r\n 'minecraft:desert',\r\n 'minecraft:end',\r\n 'minecraft:eroded_badlands',\r\n 'minecraft:frozen_ocean',\r\n 'minecraft:full_sand',\r\n 'minecraft:giant_tree_taiga',\r\n 'minecraft:grass',\r\n 'minecraft:gravelly_mountain',\r\n 'minecraft:ice_spikes',\r\n 'minecraft:mountain',\r\n 'minecraft:mycelium',\r\n 'minecraft:nether',\r\n 'minecraft:nope',\r\n 'minecraft:ocean_sand',\r\n 'minecraft:shattered_savanna',\r\n 'minecraft:soul_sand_valley',\r\n 'minecraft:stone',\r\n 'minecraft:swamp',\r\n 'minecraft:warped_forest',\r\n 'minecraft:wooded_badlands'\r\n ]);\r\n collections.register('biome_category', [\r\n 'beach',\r\n 'desert',\r\n 'extreme_hills',\r\n 'forest',\r\n 'icy',\r\n 'jungle',\r\n 'mesa',\r\n 'mushroom',\r\n 'nether',\r\n 'none',\r\n 'ocean',\r\n 'plains',\r\n 'river',\r\n 'savanna',\r\n 'swamp',\r\n 'taiga',\r\n 'the_end',\r\n 'underground'\r\n ]);\r\n collections.register('heightmap_type', [\r\n 'MOTION_BLOCKING',\r\n 'MOTION_BLOCKING_NO_LEAVES',\r\n 'OCEAN_FLOOR',\r\n 'OCEAN_FLOOR_WG',\r\n 'WORLD_SURFACE',\r\n 'WORLD_SURFACE_WG'\r\n ]);\r\n collections.register('generation_step', [\r\n 'air',\r\n 'liquid'\r\n ]);\r\n collections.register('loot_context_type', [\r\n 'minecraft:empty',\r\n 'minecraft:chest',\r\n 'minecraft:command',\r\n 'minecraft:selector',\r\n 'minecraft:fishing',\r\n 'minecraft:entity',\r\n 'minecraft:gift',\r\n 'minecraft:barter',\r\n 'minecraft:advancement_reward',\r\n 'minecraft:advancement_entity',\r\n 'minecraft:generic',\r\n 'minecraft:block'\r\n ]);\r\n collections.register('banner_pattern', [\r\n 'base',\r\n 'square_bottom_left',\r\n 'square_bottom_right',\r\n 'square_top_left',\r\n 'square_top_right',\r\n 'stripe_bottom',\r\n 'stripe_top',\r\n 'stripe_left',\r\n 'stripe_right',\r\n 'stripe_center',\r\n 'stripe_middle',\r\n 'stripe_downright',\r\n 'stripe_downleft',\r\n 'small_stripes',\r\n 'cross',\r\n 'straight_cross',\r\n 'triangle_bottom',\r\n 'triangle_top',\r\n 'triangles_bottom',\r\n 'triangles_top',\r\n 'diagonal_left',\r\n 'diagonal_up_right',\r\n 'diagonal_up_left',\r\n 'diagonal_right',\r\n 'circle',\r\n 'rhombus',\r\n 'half_vertical',\r\n 'half_horizontal',\r\n 'half_vertical_right',\r\n 'half_horizontal_bottom',\r\n 'border',\r\n 'curly_border',\r\n 'gradient',\r\n 'gradient_up',\r\n 'bricks',\r\n 'globe',\r\n 'creeper',\r\n 'skull',\r\n 'flower',\r\n 'mojang',\r\n 'piglin'\r\n ]);\r\n collections.register('dye_color', [\r\n 'white',\r\n 'orange',\r\n 'magenta',\r\n 'light_blue',\r\n 'yellow',\r\n 'lime',\r\n 'pink',\r\n 'gray',\r\n 'light_gray',\r\n 'cyan',\r\n 'purple',\r\n 'blue',\r\n 'brown',\r\n 'green',\r\n 'red',\r\n 'black'\r\n ]);\r\n collections.register('cat_texture', [\r\n 'textures/entity/cat/tabby.png',\r\n 'textures/entity/cat/black.png',\r\n 'textures/entity/cat/red.png',\r\n 'textures/entity/cat/siamese.png',\r\n 'textures/entity/cat/british_shorthair.png',\r\n 'textures/entity/cat/calico.png',\r\n 'textures/entity/cat/persian.png',\r\n 'textures/entity/cat/ragdoll.png',\r\n 'textures/entity/cat/white.png',\r\n 'textures/entity/cat/jellie.png',\r\n 'textures/entity/cat/all_black.png'\r\n ]);\r\n}\r\nexports.initCollections = initCollections;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initAdvancementSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initAdvancementSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const EntityPredicate = (0, core_1.ChoiceNode)([\r\n {\r\n type: 'object',\r\n node: (0, core_1.Opt)(Reference('entity_predicate')),\r\n change: v => { var _a, _b; return (_b = (_a = v[0]) === null || _a === void 0 ? void 0 : _a.predicate) !== null && _b !== void 0 ? _b : ({}); }\r\n },\r\n {\r\n type: 'list',\r\n node: (0, core_1.ListNode)(Reference('condition')),\r\n change: v => [{\r\n condition: 'minecraft:entity_properties',\r\n predicate: v\r\n }]\r\n }\r\n ], { context: 'conditions' });\r\n schemas.register('advancement', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n display: (0, core_1.Opt)((0, core_1.Mod)((0, core_1.ObjectNode)({\r\n icon: (0, core_1.ObjectNode)({\r\n item: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n nbt: (0, core_1.Opt)(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:item', id: ['pop', { push: 'item' }] } } }))\r\n }),\r\n title: Reference('text_component'),\r\n description: Reference('text_component'),\r\n background: (0, core_1.Opt)(StringNode()),\r\n frame: (0, core_1.Opt)(StringNode({ enum: ['task', 'challenge', 'goal'] })),\r\n show_toast: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n announce_to_chat: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n hidden: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n }), {\r\n default: () => ({\r\n icon: {\r\n item: 'minecraft:stone'\r\n },\r\n title: '',\r\n description: ''\r\n })\r\n })),\r\n parent: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$advancement' } })),\r\n criteria: (0, core_1.MapNode)(StringNode(), Reference('advancement_criteria')),\r\n requirements: (0, core_1.Opt)((0, core_1.ListNode)((0, core_1.ListNode)(StringNode() // TODO: add validation\r\n ))),\r\n rewards: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n function: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$function' } })),\r\n loot: (0, core_1.Opt)((0, core_1.ListNode)(StringNode({ validator: 'resource', params: { pool: '$loot_table' } }))),\r\n recipes: (0, core_1.Opt)((0, core_1.ListNode)(StringNode({ validator: 'resource', params: { pool: '$recipe' } }))),\r\n experience: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true }))\r\n })),\r\n }, { context: 'advancement' }), {\r\n default: () => ({\r\n criteria: {\r\n requirement: {\r\n trigger: 'minecraft:location'\r\n }\r\n }\r\n })\r\n }));\r\n schemas.register('advancement_criteria', (0, core_1.ObjectNode)({\r\n trigger: StringNode({ validator: 'resource', params: { pool: collections.get('advancement_trigger') } }),\r\n conditions: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n player: (0, core_1.Mod)(EntityPredicate, {\r\n enabled: path => path.pop().push('trigger').get() !== 'minecraft:impossible'\r\n }),\r\n [core_1.Switch]: ['pop', { push: 'trigger' }],\r\n [core_1.Case]: {\r\n 'minecraft:bee_nest_destroyed': {\r\n block: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: 'block' } })),\r\n num_bees_inside: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n item: (0, core_1.Opt)(Reference('item_predicate'))\r\n },\r\n 'minecraft:bred_animals': {\r\n parent: EntityPredicate,\r\n partner: EntityPredicate,\r\n child: EntityPredicate\r\n },\r\n 'minecraft:brewed_potion': {\r\n potion: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: 'potion' } }))\r\n },\r\n 'minecraft:changed_dimension': {\r\n from: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$dimension' } })),\r\n to: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$dimension' } }))\r\n },\r\n 'minecraft:channeled_lightning': {\r\n victims: (0, core_1.Opt)((0, core_1.ListNode)(EntityPredicate))\r\n },\r\n 'minecraft:construct_beacon': {\r\n level: Reference('int_bounds')\r\n },\r\n 'minecraft:consume_item': {\r\n item: (0, core_1.Opt)(Reference('item_predicate'))\r\n },\r\n 'minecraft:cured_zombie_villager': {\r\n villager: EntityPredicate,\r\n zombie: EntityPredicate\r\n },\r\n 'minecraft:effects_changed': {\r\n effects: (0, core_1.Opt)((0, core_1.MapNode)(StringNode({ validator: 'resource', params: { pool: 'mob_effect' } }), (0, core_1.ObjectNode)({\r\n amplifier: Reference('int_bounds'),\r\n duration: Reference('int_bounds')\r\n }))),\r\n source: (0, core_1.Opt)(EntityPredicate)\r\n },\r\n 'minecraft:enter_block': {\r\n block: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: 'block' } })),\r\n state: (0, core_1.Opt)((0, core_1.MapNode)(StringNode(), StringNode(), { validation: { validator: 'block_state_map', params: { id: ['pop', { push: 'block' }] } } }))\r\n },\r\n 'minecraft:enchanted_item': {\r\n levels: Reference('int_bounds'),\r\n item: (0, core_1.Opt)(Reference('item_predicate'))\r\n },\r\n 'minecraft:entity_hurt_player': {\r\n damage: (0, core_1.Opt)(Reference('damage_predicate'))\r\n },\r\n 'minecraft:entity_killed_player': {\r\n entity: EntityPredicate,\r\n killing_blow: (0, core_1.Opt)(Reference('damage_source_predicate'))\r\n },\r\n 'minecraft:filled_bucket': {\r\n item: (0, core_1.Opt)(Reference('item_predicate'))\r\n },\r\n 'minecraft:fishing_rod_hooked': {\r\n entity: EntityPredicate,\r\n item: (0, core_1.Opt)(Reference('item_predicate'))\r\n },\r\n 'minecraft:hero_of_the_village': {\r\n location: (0, core_1.Opt)(Reference('location_predicate'))\r\n },\r\n 'minecraft:inventory_changed': {\r\n slots: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n empty: Reference('int_bounds'),\r\n occupied: Reference('int_bounds'),\r\n full: Reference('int_bounds')\r\n })),\r\n items: (0, core_1.Opt)((0, core_1.ListNode)(Reference('item_predicate')))\r\n },\r\n 'minecraft:item_durability_changed': {\r\n delta: Reference('int_bounds'),\r\n durability: Reference('int_bounds'),\r\n item: (0, core_1.Opt)(Reference('item_predicate'))\r\n },\r\n 'minecraft:item_used_on_block': {\r\n item: (0, core_1.Opt)(Reference('item_predicate')),\r\n location: (0, core_1.Opt)(Reference('location_predicate'))\r\n },\r\n 'minecraft:killed_by_crossbow': {\r\n unique_entity_types: Reference('int_bounds'),\r\n victims: (0, core_1.Opt)((0, core_1.ListNode)(EntityPredicate))\r\n },\r\n 'minecraft:levitation': {\r\n distance: Reference('distance_predicate'),\r\n duration: Reference('int_bounds')\r\n },\r\n 'minecraft:lightning_strike': {\r\n lightning: EntityPredicate,\r\n bystander: EntityPredicate,\r\n },\r\n 'minecraft:location': {\r\n location: (0, core_1.Opt)(Reference('location_predicate'))\r\n },\r\n 'minecraft:nether_travel': {\r\n distance: Reference('distance_predicate'),\r\n entered: (0, core_1.Opt)(Reference('location_predicate')),\r\n exited: (0, core_1.Opt)(Reference('location_predicate'))\r\n },\r\n 'minecraft:placed_block': {\r\n block: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: 'block' } })),\r\n state: (0, core_1.Opt)((0, core_1.MapNode)(StringNode(), StringNode(), { validation: { validator: 'block_state_map', params: { id: ['pop', { push: 'block' }] } } })),\r\n item: (0, core_1.Opt)(Reference('item_predicate')),\r\n location: (0, core_1.Opt)(Reference('location_predicate'))\r\n },\r\n 'minecraft:player_generates_container_loot': {\r\n loot_table: StringNode({ validator: 'resource', params: { pool: '$loot_table' } })\r\n },\r\n 'minecraft:player_hurt_entity': {\r\n damage: (0, core_1.Opt)(Reference('damage_predicate')),\r\n entity: EntityPredicate\r\n },\r\n 'minecraft:player_interacted_with_entity': {\r\n item: (0, core_1.Opt)(Reference('item_predicate')),\r\n entity: EntityPredicate\r\n },\r\n 'minecraft:player_killed_entity': {\r\n entity: EntityPredicate,\r\n killing_blow: (0, core_1.Opt)(Reference('damage_source_predicate'))\r\n },\r\n 'minecraft:recipe_unlocked': {\r\n recipe: StringNode({ validator: 'resource', params: { pool: '$recipe' } })\r\n },\r\n 'minecraft:slept_in_bed': {\r\n location: (0, core_1.Opt)(Reference('location_predicate'))\r\n },\r\n 'minecraft:slide_down_block': {\r\n block: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: 'block' } }))\r\n },\r\n 'minecraft:shot_crossbow': {\r\n item: (0, core_1.Opt)(Reference('item_predicate'))\r\n },\r\n 'minecraft:summoned_entity': {\r\n entity: EntityPredicate\r\n },\r\n 'minecraft:tame_animal': {\r\n entity: EntityPredicate\r\n },\r\n 'minecraft:target_hit': {\r\n projectile: EntityPredicate,\r\n shooter: EntityPredicate,\r\n signal_strength: Reference('int_bounds')\r\n },\r\n 'minecraft:thrown_item_picked_up_by_entity': {\r\n entity: EntityPredicate,\r\n item: (0, core_1.Opt)(Reference('item_predicate'))\r\n },\r\n 'minecraft:used_ender_eye': {\r\n distance: Reference('float_bounds')\r\n },\r\n 'minecraft:used_totem': {\r\n item: (0, core_1.Opt)(Reference('item_predicate'))\r\n },\r\n 'minecraft:using_item': {\r\n item: (0, core_1.Opt)(Reference('item_predicate'))\r\n },\r\n 'minecraft:villager_trade': {\r\n villager: EntityPredicate,\r\n item: (0, core_1.Opt)(Reference('item_predicate'))\r\n },\r\n 'minecraft:voluntary_exile': {\r\n location: Reference('location_predicate')\r\n }\r\n }\r\n }, { context: 'criterion' }))\r\n }, { category: 'predicate', context: 'criterion' }));\r\n}\r\nexports.initAdvancementSchemas = initAdvancementSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initModelSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initModelSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const Vec = (length, min, max) => (0, core_1.ListNode)((0, core_1.NumberNode)({ min, max }), { minLength: length, maxLength: length });\r\n const Texture = (0, core_1.ChoiceNode)([\r\n {\r\n type: 'alias',\r\n match: (v) => typeof v === 'string' && v.startsWith('#'),\r\n node: StringNode(),\r\n change: (v) => typeof v === 'string' ? `#${v}` : \"#0\"\r\n },\r\n {\r\n type: 'reference',\r\n match: (v) => typeof v === 'string',\r\n node: StringNode({ validator: 'resource', params: { pool: '$texture' } }),\r\n change: (v) => typeof v === 'string' ? v.replace(/^#/, '') : \"\"\r\n }\r\n ], { choiceContext: 'texture' });\r\n schemas.register('model', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n parent: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$model' } })),\r\n ambientocclusion: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n gui_light: (0, core_1.Opt)(StringNode({ enum: 'gui_light' })),\r\n textures: (0, core_1.Opt)((0, core_1.MapNode)(StringNode(), Texture)),\r\n elements: (0, core_1.Opt)((0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n from: Vec(3, -16, 32),\r\n to: Vec(3, -16, 32),\r\n rotation: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n origin: Vec(3),\r\n axis: StringNode({ enum: 'axis' }),\r\n angle: (0, core_1.NumberEnum)({ values: [-45, -22.5, 0, 22.5, 45] }),\r\n rescale: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n })),\r\n shade: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n faces: (0, core_1.MapNode)(StringNode({ enum: 'direction' }), (0, core_1.ObjectNode)({\r\n texture: Texture,\r\n uv: (0, core_1.Opt)(Vec(4)),\r\n cullface: (0, core_1.Opt)(StringNode({ enum: 'direction' })),\r\n rotation: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n tintindex: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true }))\r\n }))\r\n }, { context: 'model_element' }))),\r\n display: (0, core_1.Opt)((0, core_1.MapNode)(StringNode({ enum: 'display_position' }), (0, core_1.ObjectNode)({\r\n rotation: Vec(3),\r\n translation: Vec(3, -80, 80),\r\n scale: Vec(3, -4, 4)\r\n }, { context: 'item_transform' }))),\r\n overrides: (0, core_1.Opt)((0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n predicate: (0, core_1.MapNode)(StringNode({ enum: 'item_model_predicates' }), (0, core_1.NumberNode)()),\r\n model: StringNode({ validator: 'resource', params: { pool: '$model' } })\r\n }, { context: 'model_override' })))\r\n }, { context: 'model' }), {\r\n default: () => ({\r\n parent: 'minecraft:item/generated',\r\n textures: {\r\n layer0: 'minecraft:item/diamond'\r\n }\r\n })\r\n }));\r\n}\r\nexports.initModelSchemas = initModelSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initBlockDefinitionSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initBlockDefinitionSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('block_definition', (0, core_1.Mod)((0, core_1.ChoiceNode)([\r\n {\r\n type: 'variants',\r\n match: (v) => v.variants !== undefined,\r\n node: (0, core_1.ObjectNode)({\r\n variants: (0, core_1.MapNode)(StringNode(), Reference('model_variant'))\r\n }),\r\n change: (v) => ({ variants: { \"\": {} } })\r\n },\r\n {\r\n type: 'multipart',\r\n match: (v) => v.multipart !== undefined,\r\n node: (0, core_1.ObjectNode)({\r\n multipart: (0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n when: (0, core_1.Opt)(Reference('multipart_condition')),\r\n apply: Reference('model_variant'),\r\n }))\r\n }),\r\n change: (v) => ({ multipart: { when: {}, apply: {} } })\r\n }\r\n ], { context: 'block_definition' }), {\r\n default: () => ({\r\n variants: {\r\n \"\": {\r\n model: 'minecraft:block/stone'\r\n }\r\n }\r\n })\r\n }));\r\n const VariantChildren = {\r\n model: StringNode({ validator: 'resource', params: { pool: '$model' } }),\r\n x: (0, core_1.Opt)((0, core_1.NumberEnum)({ integer: true, values: [0, 90, 180, 270] })),\r\n y: (0, core_1.Opt)((0, core_1.NumberEnum)({ integer: true, values: [0, 90, 180, 270] })),\r\n uvlock: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n };\r\n schemas.register('model_variant', (0, core_1.ChoiceNode)([\r\n {\r\n type: 'object',\r\n node: (0, core_1.ObjectNode)(VariantChildren),\r\n change: (v) => Array.isArray(v) && v.length > 0 ? v[0] : ({})\r\n },\r\n {\r\n type: 'list',\r\n node: (0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n ...VariantChildren,\r\n weight: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 1 }))\r\n }, { context: 'model_variant' })),\r\n change: (v) => [{ weight: 1, ...v }]\r\n }\r\n ], { context: 'model_variant' }));\r\n schemas.register('multipart_condition', (0, core_1.ChoiceNode)([\r\n {\r\n type: 'object',\r\n priority: -1,\r\n match: () => true,\r\n node: (0, core_1.MapNode)(StringNode(), StringNode()),\r\n change: (v) => typeof v === 'object' && Array.isArray(v === null || v === void 0 ? void 0 : v.OR) && v.OR.length > 0 ? v.OR[0] : ({})\r\n },\r\n {\r\n type: 'or',\r\n match: (v) => typeof v === 'object' && (v === null || v === void 0 ? void 0 : v.OR) !== undefined,\r\n node: (0, core_1.ObjectNode)({\r\n OR: (0, core_1.ListNode)(Reference('multipart_condition'))\r\n }),\r\n change: (v) => ({ OR: [v !== null && v !== void 0 ? v : {}] })\r\n }\r\n ], { context: 'multipart_condition' }));\r\n}\r\nexports.initBlockDefinitionSchemas = initBlockDefinitionSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initAssetsSchemas = void 0;\r\nconst Model_1 = require(\"./Model\");\r\nconst BlockDefinition_1 = require(\"./BlockDefinition\");\r\nfunction initAssetsSchemas(schemas, collections) {\r\n (0, BlockDefinition_1.initBlockDefinitionSchemas)(schemas, collections);\r\n (0, Model_1.initModelSchemas)(schemas, collections);\r\n}\r\nexports.initAssetsSchemas = initAssetsSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initCommonSchemas = exports.IntProvider = exports.FloatProvider = exports.NoiseSettingsPresets = exports.DefaultNoiseSettings = exports.DimensionTypePresets = exports.DefaultDimensionType = exports.FunctionCases = exports.ConditionCases = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nexports.DefaultDimensionType = {\r\n ultrawarm: false,\r\n natural: true,\r\n piglin_safe: false,\r\n respawn_anchor_works: false,\r\n bed_works: true,\r\n has_raids: true,\r\n has_skylight: true,\r\n has_ceiling: false,\r\n coordinate_scale: 1,\r\n ambient_light: 0,\r\n logical_height: 256,\r\n infiniburn: 'minecraft:infiniburn_overworld',\r\n min_y: 0,\r\n height: 256,\r\n};\r\nexports.DefaultNoiseSettings = {\r\n name: 'minecraft:overworld',\r\n bedrock_roof_position: -10,\r\n bedrock_floor_position: 0,\r\n sea_level: 63,\r\n disable_mob_generation: false,\r\n noise_caves_enabled: true,\r\n aquifers_enabled: true,\r\n deepslate_enabled: true,\r\n noise: {\r\n min_y: 0,\r\n height: 256,\r\n density_factor: 1,\r\n density_offset: -0.46875,\r\n simplex_surface_noise: true,\r\n random_density_offset: true,\r\n size_horizontal: 1,\r\n size_vertical: 2,\r\n sampling: {\r\n xz_scale: 1,\r\n y_scale: 1,\r\n xz_factor: 80,\r\n y_factor: 160\r\n },\r\n top_slide: {\r\n target: -10,\r\n size: 3,\r\n offset: 0\r\n },\r\n bottom_slide: {\r\n target: -30,\r\n size: 0,\r\n offset: 0\r\n }\r\n },\r\n default_block: {\r\n Name: \"minecraft:stone\"\r\n },\r\n default_fluid: {\r\n Name: \"minecraft:water\",\r\n Properties: {\r\n level: \"0\"\r\n }\r\n }\r\n};\r\nfunction initCommonSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n schemas.register('block_state', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n Name: StringNode({ validator: 'resource', params: { pool: 'block' } }),\r\n Properties: (0, core_1.Opt)((0, core_1.MapNode)(StringNode(), StringNode(), { validation: { validator: 'block_state_map', params: { id: ['pop', { push: 'Name' }] } } }))\r\n }, { context: 'block_state' }), {\r\n default: () => ({\r\n Name: 'minecraft:stone'\r\n })\r\n }));\r\n schemas.register('fluid_state', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n Name: StringNode({ validator: 'resource', params: { pool: 'fluid' } }),\r\n Properties: (0, core_1.Opt)((0, core_1.MapNode)(StringNode(), StringNode()))\r\n }, { context: 'fluid_state' }), {\r\n default: () => ({\r\n Name: 'minecraft:water',\r\n Properties: {\r\n 'level': '0'\r\n }\r\n })\r\n }));\r\n schemas.register('block_pos', (0, core_1.Mod)((0, core_1.ListNode)((0, core_1.NumberNode)({ integer: true }), { minLength: 3, maxLength: 3 }), {\r\n default: () => [0, 0, 0]\r\n }));\r\n const Bounds = (integer) => (0, core_1.Opt)((0, core_1.ChoiceNode)([\r\n {\r\n type: 'number',\r\n node: (0, core_1.NumberNode)({ integer }),\r\n change: (v) => { var _a, _b; return v === undefined ? 0 : (_b = (_a = v.min) !== null && _a !== void 0 ? _a : v.max) !== null && _b !== void 0 ? _b : 0; }\r\n },\r\n {\r\n type: 'object',\r\n node: (0, core_1.ObjectNode)({\r\n min: (0, core_1.Opt)((0, core_1.NumberNode)({ integer })),\r\n max: (0, core_1.Opt)((0, core_1.NumberNode)({ integer }))\r\n }, { context: 'range' }),\r\n change: (v) => ({\r\n min: v !== null && v !== void 0 ? v : 0,\r\n max: v !== null && v !== void 0 ? v : 0\r\n })\r\n }\r\n ]));\r\n schemas.register('int_bounds', Bounds(true));\r\n schemas.register('float_bounds', Bounds());\r\n schemas.register('int_range', (0, core_1.ChoiceNode)([\r\n {\r\n type: 'object',\r\n node: (0, core_1.ObjectNode)({\r\n min: (0, core_1.Opt)(Reference('number_provider')),\r\n max: (0, core_1.Opt)(Reference('number_provider'))\r\n })\r\n },\r\n {\r\n type: 'number',\r\n node: (0, core_1.NumberNode)({ integer: true })\r\n }\r\n ], { context: 'range' }));\r\n const ObjectWithType = (pool, directType, directPath, directDefault, objectDefault, context, cases) => {\r\n let defaultCase = {};\r\n if (objectDefault) {\r\n Object.keys(cases[objectDefault]).forEach(k => {\r\n defaultCase[k] = (0, core_1.Mod)(cases[objectDefault][k], {\r\n enabled: path => path.push('type').get() === undefined\r\n });\r\n });\r\n }\r\n const provider = (0, core_1.ObjectNode)({\r\n type: (0, core_1.Mod)((0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool } })), {\r\n hidden: () => true\r\n }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: cases,\r\n ...defaultCase\r\n }, { context, disableSwitchContext: true });\r\n const choices = [{\r\n type: directType,\r\n node: cases[directDefault][directPath]\r\n }];\r\n if (objectDefault) {\r\n choices.push({\r\n type: 'object',\r\n priority: -1,\r\n node: provider\r\n });\r\n }\r\n Object.keys(cases).forEach(k => {\r\n choices.push({\r\n type: k,\r\n match: (v) => {\r\n var _a;\r\n const type = 'minecraft:' + ((_a = v === null || v === void 0 ? void 0 : v.type) === null || _a === void 0 ? void 0 : _a.replace(/^minecraft:/, ''));\r\n if (type === k)\r\n return true;\r\n const keys = v ? Object.keys(v) : [];\r\n return typeof v === 'object' && ((keys === null || keys === void 0 ? void 0 : keys.length) === 0 || ((keys === null || keys === void 0 ? void 0 : keys.length) === 1 && (keys === null || keys === void 0 ? void 0 : keys[0]) === 'type'));\r\n },\r\n node: provider,\r\n change: (v) => ({ type: k })\r\n });\r\n });\r\n return (0, core_1.ChoiceNode)(choices, { context, choiceContext: `${context}.type` });\r\n };\r\n schemas.register('number_provider', ObjectWithType('loot_number_provider_type', 'number', 'value', 'minecraft:constant', 'minecraft:uniform', 'number_provider', {\r\n 'minecraft:constant': {\r\n value: (0, core_1.NumberNode)()\r\n },\r\n 'minecraft:uniform': {\r\n min: Reference('number_provider'),\r\n max: Reference('number_provider')\r\n },\r\n 'minecraft:binomial': {\r\n n: Reference('number_provider'),\r\n p: Reference('number_provider')\r\n },\r\n 'minecraft:score': {\r\n target: Reference('scoreboard_name_provider'),\r\n score: StringNode({ validator: 'objective' }),\r\n scale: (0, core_1.Opt)((0, core_1.NumberNode)())\r\n }\r\n }));\r\n schemas.register('scoreboard_name_provider', ObjectWithType('loot_score_provider_type', 'string', 'target', 'minecraft:context', null, 'score_provider', {\r\n 'minecraft:fixed': {\r\n name: StringNode({ validator: 'entity', params: { amount: 'multiple', type: 'entities', isScoreHolder: true } }) // FIXME: doesn't support selectors\r\n },\r\n 'minecraft:context': {\r\n target: (0, core_1.Mod)(StringNode({ enum: 'entity_source' }), { default: () => 'this' })\r\n }\r\n }));\r\n schemas.register('nbt_provider', ObjectWithType('loot_nbt_provider_type', 'string', 'target', 'minecraft:context', null, 'nbt_provider', {\r\n 'minecraft:storage': {\r\n source: StringNode({ validator: 'resource', params: { pool: '$storage' } })\r\n },\r\n 'minecraft:context': {\r\n target: (0, core_1.Mod)(StringNode({ enum: 'copy_source' }), { default: () => 'this' })\r\n }\r\n }));\r\n exports.FloatProvider = (config) => ObjectWithType('float_provider_type', 'number', 'value', 'minecraft:constant', null, 'float_provider', {\r\n 'minecraft:constant': {\r\n value: (0, core_1.NumberNode)(config)\r\n },\r\n 'minecraft:uniform': {\r\n value: (0, core_1.ObjectNode)({\r\n min_inclusive: (0, core_1.NumberNode)(config),\r\n max_exclusive: (0, core_1.NumberNode)(config)\r\n })\r\n },\r\n 'minecraft:clamped_normal': {\r\n value: (0, core_1.ObjectNode)({\r\n min: (0, core_1.NumberNode)(),\r\n max: (0, core_1.NumberNode)(),\r\n mean: (0, core_1.NumberNode)(),\r\n deviation: (0, core_1.NumberNode)()\r\n })\r\n },\r\n 'minecraft:trapezoid': {\r\n value: (0, core_1.ObjectNode)({\r\n min: (0, core_1.NumberNode)(),\r\n max: (0, core_1.NumberNode)(),\r\n plateau: (0, core_1.NumberNode)()\r\n })\r\n }\r\n });\r\n schemas.register('float_provider', (0, exports.FloatProvider)());\r\n exports.IntProvider = (config) => ObjectWithType('int_provider_type', 'number', 'value', 'minecraft:constant', null, 'int_provider', {\r\n 'minecraft:constant': {\r\n value: (0, core_1.NumberNode)({ integer: true, ...config })\r\n },\r\n 'minecraft:uniform': {\r\n value: (0, core_1.ObjectNode)({\r\n min_inclusive: (0, core_1.NumberNode)({ integer: true, ...config }),\r\n max_inclusive: (0, core_1.NumberNode)({ integer: true, ...config })\r\n })\r\n },\r\n 'minecraft:biased_to_bottom': {\r\n value: (0, core_1.ObjectNode)({\r\n min_inclusive: (0, core_1.NumberNode)({ integer: true, ...config }),\r\n max_inclusive: (0, core_1.NumberNode)({ integer: true, ...config })\r\n })\r\n },\r\n 'minecraft:clamped': {\r\n value: (0, core_1.ObjectNode)({\r\n min_inclusive: (0, core_1.NumberNode)({ integer: true, ...config }),\r\n max_inclusive: (0, core_1.NumberNode)({ integer: true, ...config }),\r\n source: Reference('int_provider')\r\n })\r\n }\r\n });\r\n schemas.register('int_provider', (0, exports.IntProvider)());\r\n schemas.register('vertical_anchor', (0, core_1.ChoiceNode)(['absolute', 'above_bottom', 'below_top'].map(t => ({\r\n type: t,\r\n match: v => (v === null || v === void 0 ? void 0 : v[t]) !== undefined,\r\n change: v => { var _a, _b, _c; return ({ [t]: (_c = (_b = (_a = v.absolute) !== null && _a !== void 0 ? _a : v.above_bottom) !== null && _b !== void 0 ? _b : v.below_top) !== null && _c !== void 0 ? _c : 0 }); },\r\n node: (0, core_1.ObjectNode)({\r\n [t]: (0, core_1.NumberNode)({ integer: true, min: -2048, max: 2047 })\r\n })\r\n })), { context: 'vertical_anchor' }));\r\n schemas.register('height_provider', ObjectWithType('height_provider_type', 'number', 'value', 'minecraft:constant', null, 'height_provider', {\r\n 'minecraft:constant': {\r\n value: Reference('vertical_anchor')\r\n },\r\n 'minecraft:uniform': {\r\n min_inclusive: Reference('vertical_anchor'),\r\n max_inclusive: Reference('vertical_anchor')\r\n },\r\n 'minecraft:biased_to_bottom': {\r\n min_inclusive: Reference('vertical_anchor'),\r\n max_inclusive: Reference('vertical_anchor'),\r\n inner: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 1 }))\r\n },\r\n 'minecraft:very_biased_to_bottom': {\r\n min_inclusive: Reference('vertical_anchor'),\r\n max_inclusive: Reference('vertical_anchor'),\r\n inner: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 1 }))\r\n },\r\n 'minecraft:trapezoid': {\r\n min_inclusive: Reference('vertical_anchor'),\r\n max_inclusive: Reference('vertical_anchor'),\r\n plateau: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true }))\r\n }\r\n }));\r\n exports.ConditionCases = (entitySourceNode = StringNode({ enum: 'entity_source' })) => ({\r\n 'minecraft:alternative': {\r\n terms: (0, core_1.ListNode)(Reference('condition'))\r\n },\r\n 'minecraft:block_state_property': {\r\n block: StringNode({ validator: 'resource', params: { pool: 'block' } }),\r\n properties: (0, core_1.MapNode)(StringNode(), StringNode(), { validation: { validator: 'block_state_map', params: { id: ['pop', { push: 'block' }] } } })\r\n },\r\n 'minecraft:damage_source_properties': {\r\n predicate: Reference('damage_source_predicate')\r\n },\r\n 'minecraft:entity_properties': {\r\n entity: entitySourceNode,\r\n predicate: Reference('entity_predicate')\r\n },\r\n 'minecraft:entity_scores': {\r\n entity: entitySourceNode,\r\n scores: (0, core_1.MapNode)(StringNode({ validator: 'objective' }), Reference('int_range'))\r\n },\r\n 'minecraft:inverted': {\r\n term: Reference('condition')\r\n },\r\n 'minecraft:killed_by_player': {\r\n inverse: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n },\r\n 'minecraft:location_check': {\r\n offsetX: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n offsetY: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n offsetZ: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n predicate: Reference('location_predicate')\r\n },\r\n 'minecraft:match_tool': {\r\n predicate: Reference('item_predicate')\r\n },\r\n 'minecraft:random_chance': {\r\n chance: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n },\r\n 'minecraft:random_chance_with_looting': {\r\n chance: (0, core_1.NumberNode)({ min: 0, max: 1 }),\r\n looting_multiplier: (0, core_1.NumberNode)()\r\n },\r\n 'minecraft:reference': {\r\n name: StringNode({ validator: 'resource', params: { pool: '$predicate' } })\r\n },\r\n 'minecraft:table_bonus': {\r\n enchantment: StringNode({ validator: 'resource', params: { pool: 'enchantment' } }),\r\n chances: (0, core_1.ListNode)((0, core_1.NumberNode)({ min: 0, max: 1 }))\r\n },\r\n 'minecraft:time_check': {\r\n value: Reference('int_range'),\r\n period: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true }))\r\n },\r\n 'minecraft:value_check': {\r\n value: Reference('number_provider'),\r\n range: Reference('int_range')\r\n },\r\n 'minecraft:weather_check': {\r\n raining: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n thundering: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n }\r\n });\r\n exports.FunctionCases = (conditions, copySourceNode = StringNode({ enum: 'copy_source' }), entitySourceNode = StringNode({ enum: 'entity_source' })) => {\r\n const cases = {\r\n 'minecraft:apply_bonus': {\r\n enchantment: StringNode({ validator: 'resource', params: { pool: 'enchantment' } }),\r\n formula: StringNode({ validator: 'resource', params: { pool: collections.get('loot_table_apply_bonus_formula') } }),\r\n parameters: (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n bonusMultiplier: (0, core_1.Mod)((0, core_1.NumberNode)(), {\r\n enabled: path => path.pop().push('formula').get() === 'minecraft:uniform_bonus_count'\r\n }),\r\n extra: (0, core_1.Mod)((0, core_1.NumberNode)(), {\r\n enabled: path => path.pop().push('formula').get() === 'minecraft:binomial_with_bonus_count'\r\n }),\r\n probability: (0, core_1.Mod)((0, core_1.NumberNode)(), {\r\n enabled: path => path.pop().push('formula').get() === 'minecraft:binomial_with_bonus_count'\r\n })\r\n }), {\r\n enabled: path => path.push('formula').get() !== 'minecraft:ore_drops'\r\n })\r\n },\r\n 'minecraft:copy_name': {\r\n source: copySourceNode\r\n },\r\n 'minecraft:copy_nbt': {\r\n source: Reference('nbt_provider'),\r\n ops: (0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n source: StringNode({ validator: 'nbt_path', params: { category: { getter: 'copy_source', path: ['pop', 'pop', 'pop', { push: 'source' }] } } }),\r\n target: StringNode({ validator: 'nbt_path', params: { category: 'minecraft:item' } }),\r\n op: StringNode({ enum: ['replace', 'append', 'merge'] })\r\n }, { context: 'nbt_operation' }))\r\n },\r\n 'minecraft:copy_state': {\r\n block: StringNode({ validator: 'resource', params: { pool: 'block' } }),\r\n properties: (0, core_1.ListNode)(StringNode({ validator: 'block_state_key', params: { id: ['pop', 'pop', { push: 'block' }] } }))\r\n },\r\n 'minecraft:enchant_randomly': {\r\n enchantments: (0, core_1.Opt)((0, core_1.ListNode)(StringNode({ validator: 'resource', params: { pool: 'enchantment' } })))\r\n },\r\n 'minecraft:enchant_with_levels': {\r\n levels: Reference('number_provider'),\r\n treasure: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n },\r\n 'minecraft:exploration_map': {\r\n destination: (0, core_1.Opt)(StringNode({ enum: 'map_feature' })),\r\n decoration: (0, core_1.Opt)(StringNode({ enum: 'map_decoration' })),\r\n zoom: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n search_radius: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n skip_existing_chunks: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n },\r\n 'minecraft:fill_player_head': {\r\n entity: entitySourceNode\r\n },\r\n 'minecraft:limit_count': {\r\n limit: Reference('int_range')\r\n },\r\n 'minecraft:looting_enchant': {\r\n count: Reference('number_provider'),\r\n limit: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true }))\r\n },\r\n 'minecraft:set_attributes': {\r\n modifiers: (0, core_1.ListNode)(Reference('attribute_modifier'))\r\n },\r\n 'minecraft:set_banner_pattern': {\r\n patterns: (0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n pattern: StringNode({ enum: 'banner_pattern' }),\r\n color: StringNode({ enum: 'dye_color' })\r\n })),\r\n append: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n },\r\n 'minecraft:set_contents': {\r\n entries: (0, core_1.ListNode)(Reference('loot_entry'))\r\n },\r\n 'minecraft:set_count': {\r\n count: Reference('number_provider'),\r\n add: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n },\r\n 'minecraft:set_damage': {\r\n damage: Reference('number_provider'),\r\n add: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n },\r\n 'minecraft:set_enchantments': {\r\n enchantments: (0, core_1.MapNode)(StringNode({ validator: 'resource', params: { pool: 'enchantment' } }), Reference('number_provider')),\r\n add: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n },\r\n 'minecraft:set_loot_table': {\r\n name: StringNode({ validator: 'resource', params: { pool: '$loot_table' } }),\r\n seed: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true }))\r\n },\r\n 'minecraft:set_lore': {\r\n entity: (0, core_1.Opt)(entitySourceNode),\r\n lore: (0, core_1.ListNode)(Reference('text_component')),\r\n replace: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n },\r\n 'minecraft:set_name': {\r\n entity: (0, core_1.Opt)(entitySourceNode),\r\n name: (0, core_1.Opt)(Reference('text_component'))\r\n },\r\n 'minecraft:set_nbt': {\r\n tag: StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:item' } } })\r\n },\r\n 'minecraft:set_stew_effect': {\r\n effects: (0, core_1.Opt)((0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'mob_effect' } }),\r\n duration: Reference('number_provider')\r\n })))\r\n }\r\n };\r\n const res = {};\r\n collections.get('loot_function_type').forEach(f => {\r\n res[f] = { ...cases[f], ...conditions };\r\n });\r\n return res;\r\n };\r\n exports.DimensionTypePresets = (node) => (0, core_1.ObjectOrPreset)(StringNode({ validator: 'resource', params: { pool: '$dimension_type' } }), node, {\r\n 'minecraft:overworld': exports.DefaultDimensionType,\r\n 'minecraft:the_nether': {\r\n name: 'minecraft:the_nether',\r\n ultrawarm: true,\r\n natural: false,\r\n shrunk: true,\r\n piglin_safe: true,\r\n respawn_anchor_works: true,\r\n bed_works: false,\r\n has_raids: false,\r\n has_skylight: false,\r\n has_ceiling: true,\r\n ambient_light: 0.1,\r\n fixed_time: 18000,\r\n logical_height: 128,\r\n effects: 'minecraft:the_nether',\r\n infiniburn: 'minecraft:infiniburn_nether',\r\n min_y: 0,\r\n height: 256,\r\n },\r\n 'minecraft:the_end': {\r\n name: 'minecraft:the_end',\r\n ultrawarm: false,\r\n natural: false,\r\n shrunk: false,\r\n piglin_safe: false,\r\n respawn_anchor_works: false,\r\n bed_works: false,\r\n has_raids: true,\r\n has_skylight: false,\r\n has_ceiling: false,\r\n ambient_light: 0,\r\n fixed_time: 6000,\r\n logical_height: 256,\r\n effects: 'minecraft:the_end',\r\n infiniburn: 'minecraft:infiniburn_end',\r\n min_y: 0,\r\n height: 256,\r\n }\r\n });\r\n exports.NoiseSettingsPresets = (node) => (0, core_1.ObjectOrPreset)(StringNode({ validator: 'resource', params: { pool: '$worldgen/noise_settings' } }), node, {\r\n 'minecraft:overworld': exports.DefaultNoiseSettings,\r\n 'minecraft:nether': {\r\n name: 'minecraft:nether',\r\n bedrock_roof_position: 0,\r\n bedrock_floor_position: 0,\r\n sea_level: 32,\r\n disable_mob_generation: true,\r\n noise_caves_enabled: false,\r\n aquifers_enabled: false,\r\n deepslate_enabled: false,\r\n noise: {\r\n min_y: 0,\r\n height: 128,\r\n density_factor: 0,\r\n density_offset: 0.019921875,\r\n simplex_surface_noise: false,\r\n random_density_offset: false,\r\n size_horizontal: 1,\r\n size_vertical: 2,\r\n sampling: {\r\n xz_scale: 1,\r\n y_scale: 3,\r\n xz_factor: 80,\r\n y_factor: 60\r\n },\r\n top_slide: {\r\n target: 120,\r\n size: 3,\r\n offset: 0\r\n },\r\n bottom_slide: {\r\n target: 320,\r\n size: 4,\r\n offset: -1\r\n }\r\n },\r\n default_block: {\r\n Name: \"minecraft:netherrack\"\r\n },\r\n default_fluid: {\r\n Name: \"minecraft:lava\",\r\n Properties: {\r\n level: \"0\"\r\n }\r\n }\r\n },\r\n 'minecraft:end': {\r\n name: 'minecraft:end',\r\n bedrock_roof_position: -10,\r\n bedrock_floor_position: -10,\r\n sea_level: 0,\r\n disable_mob_generation: true,\r\n noise_caves_enabled: false,\r\n aquifers_enabled: false,\r\n deepslate_enabled: false,\r\n noise: {\r\n min_y: 0,\r\n height: 128,\r\n density_factor: 0,\r\n density_offset: 0,\r\n simplex_surface_noise: true,\r\n random_density_offset: false,\r\n island_noise_override: true,\r\n size_horizontal: 2,\r\n size_vertical: 1,\r\n sampling: {\r\n xz_scale: 2,\r\n y_scale: 1,\r\n xz_factor: 80,\r\n y_factor: 160\r\n },\r\n top_slide: {\r\n target: -3000,\r\n size: 64,\r\n offset: -46\r\n },\r\n bottom_slide: {\r\n target: -30,\r\n size: 7,\r\n offset: 1\r\n }\r\n },\r\n default_block: {\r\n Name: \"minecraft:end_stone\"\r\n },\r\n default_fluid: {\r\n Name: \"minecraft:air\"\r\n }\r\n },\r\n 'minecraft:amplified': {\r\n name: 'minecraft:amplified',\r\n bedrock_roof_position: -10,\r\n bedrock_floor_position: 0,\r\n sea_level: 63,\r\n disable_mob_generation: false,\r\n noise_caves_enabled: true,\r\n aquifers_enabled: true,\r\n deepslate_enabled: true,\r\n noise: {\r\n min_y: 0,\r\n height: 256,\r\n density_factor: 1,\r\n density_offset: -0.46875,\r\n simplex_surface_noise: true,\r\n random_density_offset: true,\r\n amplified: true,\r\n size_horizontal: 1,\r\n size_vertical: 2,\r\n sampling: {\r\n xz_scale: 1,\r\n y_scale: 1,\r\n xz_factor: 80,\r\n y_factor: 160\r\n },\r\n top_slide: {\r\n target: -10,\r\n size: 3,\r\n offset: 0\r\n },\r\n bottom_slide: {\r\n target: -30,\r\n size: 0,\r\n offset: 0\r\n }\r\n },\r\n default_block: {\r\n Name: \"minecraft:stone\"\r\n },\r\n default_fluid: {\r\n Name: \"minecraft:water\",\r\n Properties: {\r\n level: \"0\"\r\n }\r\n }\r\n },\r\n 'minecraft:caves': {\r\n name: 'minecraft:caves',\r\n bedrock_roof_position: 0,\r\n bedrock_floor_position: 0,\r\n sea_level: 32,\r\n disable_mob_generation: true,\r\n noise_caves_enabled: false,\r\n aquifers_enabled: false,\r\n deepslate_enabled: false,\r\n noise: {\r\n min_y: 0,\r\n height: 128,\r\n density_factor: 0,\r\n density_offset: 0.019921875,\r\n simplex_surface_noise: false,\r\n random_density_offset: false,\r\n size_horizontal: 1,\r\n size_vertical: 2,\r\n sampling: {\r\n xz_scale: 1,\r\n y_scale: 3,\r\n xz_factor: 80,\r\n y_factor: 60\r\n },\r\n top_slide: {\r\n target: 120,\r\n size: 3,\r\n offset: 0\r\n },\r\n bottom_slide: {\r\n target: 320,\r\n size: 4,\r\n offset: -1\r\n }\r\n },\r\n default_block: {\r\n Name: \"minecraft:stone\"\r\n },\r\n default_fluid: {\r\n Name: \"minecraft:water\",\r\n Properties: {\r\n level: \"0\"\r\n }\r\n }\r\n },\r\n 'minecraft:floating_islands': {\r\n name: 'minecraft:floating_islands',\r\n bedrock_roof_position: -10,\r\n bedrock_floor_position: -10,\r\n sea_level: 0,\r\n disable_mob_generation: true,\r\n noise_caves_enabled: false,\r\n aquifers_enabled: false,\r\n deepslate_enabled: false,\r\n noise: {\r\n min_y: 0,\r\n height: 128,\r\n density_factor: 0,\r\n density_offset: 0,\r\n simplex_surface_noise: true,\r\n random_density_offset: false,\r\n island_noise_override: true,\r\n size_horizontal: 2,\r\n size_vertical: 1,\r\n sampling: {\r\n xz_scale: 2,\r\n y_scale: 1,\r\n xz_factor: 80,\r\n y_factor: 160\r\n },\r\n top_slide: {\r\n target: -3000,\r\n size: 64,\r\n offset: -46\r\n },\r\n bottom_slide: {\r\n target: -30,\r\n size: 7,\r\n offset: 1\r\n }\r\n },\r\n default_block: {\r\n Name: \"minecraft:stone\"\r\n },\r\n default_fluid: {\r\n Name: \"minecraft:water\",\r\n Properties: {\r\n level: \"0\"\r\n }\r\n }\r\n }\r\n });\r\n}\r\nexports.initCommonSchemas = initCommonSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initConditionSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"./Common\");\r\nfunction initConditionSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('predicate', (0, core_1.ObjectOrList)(Reference('condition'), { choiceContext: 'condition' }));\r\n schemas.register('condition', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n condition: StringNode({ validator: 'resource', params: { pool: 'loot_condition_type' } }),\r\n [core_1.Switch]: [{ push: 'condition' }],\r\n [core_1.Case]: (0, Common_1.ConditionCases)()\r\n }, { category: 'predicate', context: 'condition' }), {\r\n default: () => ({\r\n condition: 'minecraft:entity_properties',\r\n entity: 'this'\r\n })\r\n }));\r\n}\r\nexports.initConditionSchemas = initConditionSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initDimensionSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"./Common\");\r\nfunction initDimensionSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const NoPreset = (node) => (0, core_1.Mod)(node, {\r\n enabled: path => path.push('preset').get() === undefined\r\n });\r\n schemas.register('dimension', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n type: (0, Common_1.DimensionTypePresets)(Reference('dimension_type')),\r\n generator: (0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/chunk_generator' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:noise': {\r\n seed: (0, core_1.NumberNode)({ integer: true }),\r\n settings: (0, Common_1.NoiseSettingsPresets)(Reference('noise_settings')),\r\n biome_source: (0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/biome_source' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:fixed': {\r\n biome: StringNode({ validator: 'resource', params: { pool: '$worldgen/biome' } })\r\n },\r\n 'minecraft:multi_noise': {\r\n seed: (0, core_1.NumberNode)({ integer: true }),\r\n preset: (0, core_1.Opt)(StringNode({ enum: ['nether'] })),\r\n altitude_noise: NoPreset(Reference('generator_biome_noise')),\r\n temperature_noise: NoPreset(Reference('generator_biome_noise')),\r\n humidity_noise: NoPreset(Reference('generator_biome_noise')),\r\n weirdness_noise: NoPreset(Reference('generator_biome_noise')),\r\n biomes: NoPreset((0, core_1.Mod)((0, core_1.ListNode)(Reference('generator_biome')), {\r\n default: () => [{\r\n biome: 'minecraft:plains'\r\n }]\r\n }))\r\n },\r\n 'minecraft:checkerboard': {\r\n scale: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 0, max: 62 })),\r\n biomes: (0, core_1.ListNode)(StringNode({ validator: 'resource', params: { pool: '$worldgen/biome' } }))\r\n },\r\n 'minecraft:the_end': {\r\n seed: (0, core_1.NumberNode)({ integer: true })\r\n },\r\n 'minecraft:vanilla_layered': {\r\n seed: (0, core_1.NumberNode)({ integer: true }),\r\n large_biomes: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n legacy_biome_init_layer: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n }\r\n }\r\n }, { category: 'predicate', disableSwitchContext: true })\r\n },\r\n 'minecraft:flat': {\r\n settings: (0, core_1.ObjectNode)({\r\n biome: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$worldgen/biome' } })),\r\n lakes: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n features: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n layers: (0, core_1.ListNode)(Reference('generator_layer')),\r\n structures: Reference('generator_structures')\r\n })\r\n }\r\n }\r\n }, { disableSwitchContext: true })\r\n }, { category: 'pool', context: 'dimension' }), {\r\n default: () => {\r\n const seed = Math.floor(Math.random() * (4294967296)) - 2147483648;\r\n return {\r\n type: 'minecraft:overworld',\r\n generator: {\r\n type: 'minecraft:noise',\r\n seed,\r\n biome_source: {\r\n type: 'minecraft:fixed',\r\n seed,\r\n biome: 'minecraft:plains'\r\n },\r\n settings: 'minecraft:overworld'\r\n }\r\n };\r\n }\r\n }));\r\n schemas.register('generator_biome', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n biome: StringNode({ validator: 'resource', params: { pool: '$worldgen/biome' } }),\r\n parameters: (0, core_1.ObjectNode)({\r\n altitude: (0, core_1.NumberNode)(),\r\n temperature: (0, core_1.NumberNode)(),\r\n humidity: (0, core_1.NumberNode)(),\r\n weirdness: (0, core_1.NumberNode)(),\r\n offset: (0, core_1.NumberNode)()\r\n })\r\n }, { context: 'generator_biome' }), {\r\n default: () => ({\r\n biome: 'minecraft:plains',\r\n parameters: {\r\n altitude: 0,\r\n temperature: 0,\r\n humidity: 0,\r\n weirdness: 0,\r\n offset: 0\r\n }\r\n })\r\n }));\r\n schemas.register('generator_biome_noise', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n firstOctave: (0, core_1.NumberNode)({ integer: true }),\r\n amplitudes: (0, core_1.ListNode)((0, core_1.NumberNode)())\r\n }, { context: 'generator_biome_noise' }), {\r\n default: () => ({\r\n firstOctave: -7,\r\n amplitudes: [1, 1]\r\n })\r\n }));\r\n}\r\nexports.initDimensionSchemas = initDimensionSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initDimensionTypeSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"./Common\");\r\nfunction initDimensionTypeSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('dimension_type', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n name: (0, core_1.Mod)(StringNode({ validator: 'resource', params: { pool: '$dimension_type', isDefinition: true } }), {\r\n enabled: (path) => path.getArray().length > 0\r\n }),\r\n ultrawarm: (0, core_1.BooleanNode)(),\r\n natural: (0, core_1.BooleanNode)(),\r\n piglin_safe: (0, core_1.BooleanNode)(),\r\n respawn_anchor_works: (0, core_1.BooleanNode)(),\r\n bed_works: (0, core_1.BooleanNode)(),\r\n has_raids: (0, core_1.BooleanNode)(),\r\n has_skylight: (0, core_1.BooleanNode)(),\r\n has_ceiling: (0, core_1.BooleanNode)(),\r\n coordinate_scale: (0, core_1.NumberNode)({ min: 0.00001, max: 30000000 }),\r\n ambient_light: (0, core_1.NumberNode)(),\r\n fixed_time: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n logical_height: (0, core_1.NumberNode)({ integer: true, min: 0, max: 4096 }),\r\n effects: (0, core_1.Opt)(StringNode({ enum: ['minecraft:overworld', 'minecraft:the_nether', 'minecraft:the_end'] })),\r\n infiniburn: StringNode({ validator: 'resource', params: { pool: '$tag/block' } }),\r\n min_y: (0, core_1.NumberNode)({ integer: true, min: -2048, max: 2047 }),\r\n height: (0, core_1.NumberNode)({ integer: true, min: 0, max: 4096 })\r\n }, { context: 'dimension_type' }), node => ({\r\n default: () => Common_1.DefaultDimensionType,\r\n validate: (path, value, errors, options) => {\r\n value = node.validate(path, value, errors, options);\r\n if ((value === null || value === void 0 ? void 0 : value.min_y) + (value === null || value === void 0 ? void 0 : value.height) > 2047) {\r\n errors.add(path.push('height'), 'error.min_y_plus_height', 2047);\r\n }\r\n if ((value === null || value === void 0 ? void 0 : value.logical_height) > (value === null || value === void 0 ? void 0 : value.height)) {\r\n errors.add(path.push('logical_height'), 'error.logical_height');\r\n }\r\n if ((value === null || value === void 0 ? void 0 : value.height) % 16 !== 0) {\r\n errors.add(path.push('height'), 'error.height_multiple', 16);\r\n }\r\n if ((value === null || value === void 0 ? void 0 : value.min_y) % 16 !== 0) {\r\n errors.add(path.push('min_y'), 'error.min_y_multiple', 16);\r\n }\r\n return value;\r\n }\r\n })));\r\n}\r\nexports.initDimensionTypeSchemas = initDimensionTypeSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initItemModifierSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"./Common\");\r\nfunction initItemModifierSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('item_modifier', (0, core_1.ObjectOrList)(Reference('function'), { choiceContext: 'function' }));\r\n const conditions = {\r\n conditions: (0, core_1.Opt)((0, core_1.ListNode)(Reference('condition')))\r\n };\r\n schemas.register('function', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n function: StringNode({ validator: 'resource', params: { pool: 'loot_function_type' } }),\r\n [core_1.Switch]: [{ push: 'function' }],\r\n [core_1.Case]: (0, Common_1.FunctionCases)(conditions)\r\n }, { category: 'function', context: 'function' }), {\r\n default: () => [{\r\n function: 'minecraft:set_count',\r\n count: 1\r\n }]\r\n }));\r\n}\r\nexports.initItemModifierSchemas = initItemModifierSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.LootFunctions = exports.LootConditions = exports.LootCopySources = exports.LootEntitySources = exports.LootTableTypes = void 0;\r\nexports.LootTableTypes = new Map([\r\n ['minecraft:advancement_entity', { requires: [7 /* Origin */, 8 /* ThisEntity */], allows: [] }],\r\n ['minecraft:advancement_reward', { requires: [7 /* Origin */, 8 /* ThisEntity */], allows: [] }],\r\n ['minecraft:barter', { requires: [8 /* ThisEntity */], allows: [] }],\r\n ['minecraft:block', { requires: [1 /* BlockState */, 7 /* Origin */, 9 /* Tool */], allows: [0 /* BlockEntity */, 4 /* ExplosionRadius */, 8 /* ThisEntity */] }],\r\n ['minecraft:chest', { requires: [7 /* Origin */], allows: [8 /* ThisEntity */] }],\r\n ['minecraft:command', { requires: [7 /* Origin */], allows: [8 /* ThisEntity */] }],\r\n ['minecraft:empty', { requires: [], allows: [] }],\r\n ['minecraft:entity', { requires: [2 /* DamageSource */, 7 /* Origin */, 8 /* ThisEntity */], allows: [3 /* DirectKillerEntity */, 5 /* KillerEntity */, 6 /* LastDamagePlayer */] }],\r\n ['minecraft:fishing', { requires: [7 /* Origin */, 9 /* Tool */], allows: [8 /* ThisEntity */] }],\r\n ['minecraft:generic', { requires: [2 /* DamageSource */, 0 /* BlockEntity */, 1 /* BlockState */, 3 /* DirectKillerEntity */, 4 /* ExplosionRadius */, 5 /* KillerEntity */, 6 /* LastDamagePlayer */, 7 /* Origin */, 8 /* ThisEntity */, 9 /* Tool */], allows: [] }],\r\n ['minecraft:gift', { requires: [7 /* Origin */, 8 /* ThisEntity */], allows: [] }],\r\n ['minecraft:selector', { requires: [7 /* Origin */], allows: [8 /* ThisEntity */] }]\r\n]);\r\n/**\r\n * A map from loot entity sources to an array of their required context.\r\n */\r\nexports.LootEntitySources = new Map([\r\n ['direct_killer', [3 /* DirectKillerEntity */]],\r\n ['killer', [5 /* KillerEntity */]],\r\n ['killer_player', [5 /* KillerEntity */]],\r\n ['this', [8 /* ThisEntity */]]\r\n]);\r\n/**\r\n * A map from loot copy sources to an array of their required context.\r\n */\r\nexports.LootCopySources = new Map([\r\n ['block_entity', [0 /* BlockEntity */]],\r\n ['killer', [5 /* KillerEntity */]],\r\n ['killer_player', [5 /* KillerEntity */]],\r\n ['this', [8 /* ThisEntity */]]\r\n]);\r\n/**\r\n * A map from loot condition IDs to an array of their required context.\r\n */\r\nexports.LootConditions = new Map([\r\n ['minecraft:alternative', []],\r\n ['minecraft:block_state_property', [1 /* BlockState */]],\r\n ['minecraft:damage_source_properties', [2 /* DamageSource */]],\r\n ['minecraft:entity_properties', [7 /* Origin */]],\r\n ['minecraft:entity_scores', []],\r\n ['minecraft:inverted', []],\r\n ['minecraft:killed_by_player', [6 /* LastDamagePlayer */]],\r\n ['minecraft:location_check', []],\r\n ['minecraft:match_tool', [9 /* Tool */]],\r\n ['minecraft:random_chance', []],\r\n ['minecraft:random_chance_with_looting', [5 /* KillerEntity */]],\r\n ['minecraft:reference', []],\r\n ['minecraft:survives_explosion', [4 /* ExplosionRadius */]],\r\n ['minecraft:table_bonus', [9 /* Tool */]],\r\n ['minecraft:time_check', []],\r\n ['minecraft:weather_check', []]\r\n]);\r\n/**\r\n * A map from loot function IDs to an array of their required context.\r\n */\r\nexports.LootFunctions = new Map([\r\n ['minecraft:apply_bonus', [9 /* Tool */]],\r\n ['minecraft:copy_name', []],\r\n ['minecraft:copy_nbt', []],\r\n ['minecraft:copy_state', [1 /* BlockState */]],\r\n ['minecraft:enchant_randomly', []],\r\n ['minecraft:enchant_with_levels', []],\r\n ['minecraft:exploration_map', [7 /* Origin */]],\r\n ['minecraft:explosion_decay', []],\r\n ['minecraft:fill_player_head', []],\r\n ['minecraft:furnace_smelt', []],\r\n ['minecraft:limit_count', []],\r\n ['minecraft:looting_enchant', [5 /* KillerEntity */]],\r\n ['minecraft:set_attributes', []],\r\n ['minecraft:set_banner_pattern', []],\r\n ['minecraft:set_contents', []],\r\n ['minecraft:set_count', []],\r\n ['minecraft:set_damage', []],\r\n ['minecraft:set_loot_table', []],\r\n ['minecraft:set_lore', []],\r\n ['minecraft:set_name', []],\r\n ['minecraft:set_nbt', []],\r\n ['minecraft:set_stew_effect', []]\r\n]);\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initLootTableSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst LootContext_1 = require(\"../LootContext\");\r\nconst Common_1 = require(\"./Common\");\r\nfunction initLootTableSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const conditions = {\r\n conditions: (0, core_1.Opt)((0, core_1.ListNode)(Reference('loot_condition')))\r\n };\r\n const functionsAndConditions = {\r\n functions: (0, core_1.Opt)((0, core_1.ListNode)(Reference('loot_function'))),\r\n ...conditions\r\n };\r\n function compileSwitchNode(contextMap, collectionID, getNode) {\r\n const cases = [];\r\n const getAvailableOptions = (providedContext) => collections\r\n .get(collectionID)\r\n .filter(t => {\r\n var _a;\r\n const requiredContext = (_a = contextMap.get(t)) !== null && _a !== void 0 ? _a : [];\r\n return requiredContext.every(c => providedContext.includes(c));\r\n });\r\n for (const [tableType, { allows, requires }] of LootContext_1.LootTableTypes) {\r\n const providedContext = [...allows, ...requires];\r\n cases.push({\r\n match: path => path.getModel().get(new core_1.Path(['type'])) === tableType,\r\n node: getNode(getAvailableOptions(providedContext))\r\n });\r\n }\r\n cases.push({ match: _ => true, node: getNode(collectionID) });\r\n return (0, core_1.SwitchNode)(cases);\r\n }\r\n const conditionIDSwtichNode = compileSwitchNode(LootContext_1.LootConditions, 'loot_condition_type', type => StringNode({ validator: 'resource', params: { pool: type instanceof Array ? type : `loot_condition_type` } }));\r\n const functionIDSwtichNode = compileSwitchNode(LootContext_1.LootFunctions, 'loot_function_type', type => StringNode({ validator: 'resource', params: { pool: type instanceof Array ? type : `loot_function_type` } }));\r\n const entitySourceSwtichNode = compileSwitchNode(LootContext_1.LootEntitySources, 'entity_source', type => StringNode({ enum: type }));\r\n const copySourceSwtichNode = compileSwitchNode(LootContext_1.LootCopySources, 'copy_source', type => StringNode({ enum: type }));\r\n schemas.register('loot_table', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n type: (0, core_1.Opt)(StringNode({ validator: \"resource\", params: { pool: collections.get('loot_context_type') } })),\r\n pools: (0, core_1.Opt)((0, core_1.ListNode)((0, core_1.Mod)((0, core_1.ObjectNode)({\r\n rolls: Reference('number_provider'),\r\n bonus_rolls: (0, core_1.Opt)(Reference('number_provider')),\r\n entries: (0, core_1.ListNode)(Reference('loot_entry')),\r\n ...functionsAndConditions\r\n }, { category: 'pool', context: 'loot_pool' }), {\r\n default: () => ({\r\n rolls: 1,\r\n entries: [{\r\n type: 'minecraft:item',\r\n name: 'minecraft:stone'\r\n }]\r\n })\r\n }))),\r\n functions: (0, core_1.Opt)((0, core_1.ListNode)(Reference('loot_function')))\r\n }, { context: 'loot_table' }), {\r\n default: () => ({\r\n pools: [{\r\n rolls: 1,\r\n entries: [{\r\n type: 'minecraft:item',\r\n name: 'minecraft:stone'\r\n }]\r\n }]\r\n })\r\n }));\r\n const weightMod = {\r\n enabled: path => {\r\n var _a;\r\n return ((_a = path.pop().get()) === null || _a === void 0 ? void 0 : _a.length) > 1\r\n && !['minecraft:alternatives', 'minecraft:group', 'minecraft:sequence'].includes(path.push('type').get());\r\n }\r\n };\r\n schemas.register('loot_entry', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'loot_pool_entry_type' } }),\r\n weight: (0, core_1.Opt)((0, core_1.Mod)((0, core_1.NumberNode)({ integer: true, min: 1 }), weightMod)),\r\n quality: (0, core_1.Opt)((0, core_1.Mod)((0, core_1.NumberNode)({ integer: true }), weightMod)),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:alternatives': {\r\n children: (0, core_1.ListNode)(Reference('loot_entry')),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:dynamic': {\r\n name: StringNode(),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:group': {\r\n children: (0, core_1.ListNode)(Reference('loot_entry')),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:item': {\r\n name: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:loot_table': {\r\n name: StringNode({ validator: 'resource', params: { pool: '$loot_table' } }),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:sequence': {\r\n children: (0, core_1.ListNode)(Reference('loot_entry')),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:tag': {\r\n name: StringNode({ validator: 'resource', params: { pool: '$tag/item' } }),\r\n expand: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n ...functionsAndConditions\r\n }\r\n }\r\n }, { context: 'loot_entry' }), {\r\n default: () => ({\r\n type: 'minecraft:item',\r\n name: 'minecraft:stone'\r\n })\r\n }));\r\n schemas.register('loot_function', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n function: functionIDSwtichNode,\r\n [core_1.Switch]: [{ push: 'function' }],\r\n [core_1.Case]: (0, Common_1.FunctionCases)(conditions, copySourceSwtichNode, entitySourceSwtichNode)\r\n }, { category: 'function', context: 'function' }), {\r\n default: () => ({\r\n function: 'minecraft:set_count',\r\n count: 1\r\n })\r\n }));\r\n schemas.register('loot_condition', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n condition: conditionIDSwtichNode,\r\n [core_1.Switch]: [{ push: 'condition' }],\r\n [core_1.Case]: (0, Common_1.ConditionCases)(entitySourceSwtichNode)\r\n }, { category: 'predicate', context: 'condition' }), {\r\n default: () => ({\r\n condition: 'minecraft:random_chance',\r\n chance: 0.5\r\n })\r\n }));\r\n schemas.register('attribute_modifier', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n attribute: StringNode({ validator: 'resource', params: { pool: 'attribute' } }),\r\n name: StringNode(),\r\n amount: Reference('number_provider'),\r\n operation: StringNode({ enum: ['addition', 'multiply_base', 'multiply_total'] }),\r\n slot: (0, core_1.StringOrList)(StringNode({ enum: 'slot' }))\r\n }, { context: 'attribute_modifier' }), {\r\n default: () => ({\r\n attribute: 'minecraft:generic.max_health',\r\n name: '',\r\n amount: 1,\r\n operation: 'addition',\r\n slot: 'mainhand'\r\n })\r\n }));\r\n}\r\nexports.initLootTableSchemas = initLootTableSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initPackMcmetaSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst CURRENT_PACK_FORMAT = 7;\r\nfunction initPackMcmetaSchemas(schemas, _) {\r\n const getSimpleString = (jsonText) => { var _a, _b; return jsonText instanceof Array ? getSimpleString(jsonText[0]) : (_b = (_a = jsonText === null || jsonText === void 0 ? void 0 : jsonText.text) !== null && _a !== void 0 ? _a : jsonText === null || jsonText === void 0 ? void 0 : jsonText.toString()) !== null && _b !== void 0 ? _b : ''; };\r\n schemas.register('pack_mcmeta', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n pack: (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n pack_format: (0, core_1.Mod)((0, core_1.NumberNode)({ integer: true, min: CURRENT_PACK_FORMAT, max: CURRENT_PACK_FORMAT }), {\r\n default: () => CURRENT_PACK_FORMAT,\r\n canUpdate: (_p, v) => v !== CURRENT_PACK_FORMAT,\r\n update: () => [{ name: 'pack_format', params: [CURRENT_PACK_FORMAT], newValue: CURRENT_PACK_FORMAT }]\r\n }),\r\n description: (0, core_1.Reference)(schemas, 'text_component')\r\n }), {\r\n default: () => ({\r\n pack_format: CURRENT_PACK_FORMAT,\r\n description: ''\r\n })\r\n })\r\n }), {\r\n default: () => ({\r\n pack: {\r\n pack_format: CURRENT_PACK_FORMAT,\r\n description: ''\r\n }\r\n })\r\n }));\r\n}\r\nexports.initPackMcmetaSchemas = initPackMcmetaSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initPredicatesSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initPredicatesSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const StateChoice = (0, core_1.ChoiceNode)([\r\n {\r\n type: 'string',\r\n node: StringNode(),\r\n change: v => (typeof v === 'boolean' || typeof v === 'number') ? v.toString() : ''\r\n },\r\n {\r\n type: 'number',\r\n node: (0, core_1.NumberNode)(),\r\n change: v => (typeof v === 'string') ? parseInt(v) : 0\r\n },\r\n {\r\n type: 'object',\r\n node: (0, core_1.ObjectNode)({\r\n min: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n max: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true }))\r\n }),\r\n change: v => (typeof v === 'number') ? ({ min: v, max: v }) : ({})\r\n },\r\n {\r\n type: 'boolean',\r\n node: (0, core_1.BooleanNode)(),\r\n change: v => v === 'true' || v === 1\r\n }\r\n ]);\r\n schemas.register('item_predicate', (0, core_1.ObjectNode)({\r\n items: (0, core_1.Opt)((0, core_1.ListNode)(StringNode({ validator: 'resource', params: { pool: 'item' } }))),\r\n tag: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$tag/item' } })),\r\n count: Reference('int_bounds'),\r\n durability: Reference('int_bounds'),\r\n potion: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: 'potion' } })),\r\n nbt: (0, core_1.Opt)(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:item', id: ['pop', { push: 'item' }] } } })),\r\n enchantments: (0, core_1.Opt)((0, core_1.ListNode)(Reference('enchantment_predicate')))\r\n }, { context: 'item' }));\r\n schemas.register('enchantment_predicate', (0, core_1.ObjectNode)({\r\n enchantment: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: 'enchantment' } })),\r\n levels: Reference('int_bounds')\r\n }, { context: 'enchantment' }));\r\n schemas.register('block_predicate', (0, core_1.ObjectNode)({\r\n blocks: (0, core_1.Opt)((0, core_1.ListNode)(StringNode({ validator: 'resource', params: { pool: 'block' } }))),\r\n tag: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$tag/block' } })),\r\n nbt: (0, core_1.Opt)(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:block', id: ['pop', { push: 'block' }] } } })),\r\n state: (0, core_1.Opt)((0, core_1.MapNode)(StringNode(), StateChoice, { validation: { validator: 'block_state_map', params: { id: ['pop', { push: 'block' }] } } }))\r\n }, { context: 'block' }));\r\n schemas.register('fluid_predicate', (0, core_1.ObjectNode)({\r\n fluid: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: 'fluid' } })),\r\n tag: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$tag/fluid' } })),\r\n state: (0, core_1.Opt)((0, core_1.MapNode)(StringNode(), StateChoice))\r\n }, { context: 'fluid' }));\r\n schemas.register('location_predicate', (0, core_1.ObjectNode)({\r\n position: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n x: Reference('float_bounds'),\r\n y: Reference('float_bounds'),\r\n z: Reference('float_bounds')\r\n })),\r\n biome: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$worldgen/biome' } })),\r\n feature: (0, core_1.Opt)(StringNode({ enum: collections.get('worldgen/structure_feature').map(v => v.slice(10)) })),\r\n dimension: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$dimension' } })),\r\n light: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n light: Reference('int_bounds')\r\n })),\r\n smokey: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n block: (0, core_1.Opt)(Reference('block_predicate')),\r\n fluid: (0, core_1.Opt)(Reference('fluid_predicate'))\r\n }, { context: 'location' }));\r\n schemas.register('statistic_predicate', (0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'stat_type' } }),\r\n stat: StringNode(),\r\n value: Reference('int_bounds'),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:mined': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'block' } })\r\n },\r\n 'minecraft:crafted': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'item' } })\r\n },\r\n 'minecraft:used': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'item' } })\r\n },\r\n 'minecraft:broken': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'item' } })\r\n },\r\n 'minecraft:picked_up': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'item' } })\r\n },\r\n 'minecraft:dropped': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'item' } })\r\n },\r\n 'minecraft:killed': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'entity_type' } })\r\n },\r\n 'minecraft:killed_by': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'entity_type' } })\r\n },\r\n 'minecraft:custom': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'custom_stat' } })\r\n }\r\n }\r\n }));\r\n schemas.register('player_predicate', (0, core_1.ObjectNode)({\r\n gamemode: (0, core_1.Opt)(StringNode({ enum: 'gamemode' })),\r\n level: Reference('int_bounds'),\r\n advancements: (0, core_1.Opt)((0, core_1.MapNode)(StringNode({ validator: 'resource', params: { pool: '$advancement' } }), (0, core_1.ChoiceNode)([\r\n { type: 'boolean', node: (0, core_1.BooleanNode)(), change: _ => true },\r\n {\r\n type: 'object', node: (0, core_1.MapNode)(StringNode(), (0, core_1.BooleanNode)())\r\n }\r\n ]))),\r\n recipes: (0, core_1.Opt)((0, core_1.MapNode)(StringNode({ validator: 'resource', params: { pool: '$recipe' } }), (0, core_1.BooleanNode)())),\r\n stats: (0, core_1.Opt)((0, core_1.ListNode)(Reference('statistic_predicate'))),\r\n looking_at: (0, core_1.Opt)(Reference('entity_predicate'))\r\n }, { context: 'player' }));\r\n schemas.register('status_effect_predicate', (0, core_1.ObjectNode)({\r\n amplifier: Reference('int_bounds'),\r\n duration: Reference('int_bounds'),\r\n ambient: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n visible: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n }, { context: 'status_effect' }));\r\n schemas.register('distance_predicate', (0, core_1.ObjectNode)({\r\n x: Reference('float_bounds'),\r\n y: Reference('float_bounds'),\r\n z: Reference('float_bounds'),\r\n absolute: Reference('float_bounds'),\r\n horizontal: Reference('float_bounds')\r\n }, { context: 'distance' }));\r\n schemas.register('entity_predicate', (0, core_1.ObjectNode)({\r\n type: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: 'entity_type', allowTag: true } })),\r\n nbt: (0, core_1.Opt)(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:entity', id: ['pop', { push: 'type' }] } } })),\r\n team: (0, core_1.Opt)(StringNode({ validator: 'team' })),\r\n location: (0, core_1.Opt)(Reference('location_predicate')),\r\n stepping_on: (0, core_1.Opt)(Reference('location_predicate')),\r\n distance: (0, core_1.Opt)(Reference('distance_predicate')),\r\n flags: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n is_on_fire: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n is_sneaking: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n is_sprinting: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n is_swimming: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n is_baby: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n })),\r\n equipment: (0, core_1.Opt)((0, core_1.MapNode)(StringNode({ enum: 'slot' }), Reference('item_predicate'))),\r\n vehicle: (0, core_1.Opt)(Reference('entity_predicate')),\r\n passenger: (0, core_1.Opt)(Reference('entity_predicate')),\r\n targeted_entity: (0, core_1.Opt)(Reference('entity_predicate')),\r\n player: (0, core_1.Opt)(Reference('player_predicate')),\r\n lightning_bolt: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n blocks_set_on_fire: (0, core_1.Opt)(Reference('int_bounds')),\r\n entity_struck: (0, core_1.Opt)(Reference('entity_predicate'))\r\n })),\r\n fishing_hook: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n in_open_water: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n })),\r\n catType: (0, core_1.Opt)(StringNode({ enum: 'cat_texture' })),\r\n effects: (0, core_1.Opt)((0, core_1.MapNode)(StringNode({ validator: 'resource', params: { pool: 'mob_effect' } }), Reference('status_effect_predicate')))\r\n }, { context: 'entity' }));\r\n schemas.register('damage_source_predicate', (0, core_1.ObjectNode)({\r\n is_explosion: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n is_fire: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n is_magic: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n is_projectile: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n is_lightning: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n bypasses_armor: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n bypasses_invulnerability: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n bypasses_magic: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n source_entity: (0, core_1.Opt)(Reference('entity_predicate')),\r\n direct_entity: (0, core_1.Opt)(Reference('entity_predicate'))\r\n }, { context: 'damage_source' }));\r\n schemas.register('damage_predicate', (0, core_1.ObjectNode)({\r\n dealt: Reference('float_bounds'),\r\n taken: Reference('float_bounds'),\r\n blocked: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n source_entity: (0, core_1.Opt)(Reference('entity_predicate')),\r\n type: (0, core_1.Opt)(Reference('damage_source_predicate'))\r\n }, { context: 'damage' }));\r\n}\r\nexports.initPredicatesSchemas = initPredicatesSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initRecipeSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initRecipeSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('recipe', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'recipe_serializer' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:crafting_shaped': {\r\n group: (0, core_1.Opt)(StringNode({ enum: 'recipe_group', additional: true })),\r\n pattern: (0, core_1.ListNode)(StringNode()),\r\n key: (0, core_1.MapNode)(StringNode(), // TODO: add validation\r\n Reference('recipe_ingredient')),\r\n result: Reference('recipe_result')\r\n },\r\n 'minecraft:crafting_shapeless': {\r\n group: (0, core_1.Opt)(StringNode()),\r\n ingredients: (0, core_1.ListNode)(Reference('recipe_ingredient')),\r\n result: Reference('recipe_result')\r\n },\r\n 'minecraft:smelting': {\r\n group: (0, core_1.Opt)(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n experience: (0, core_1.Opt)((0, core_1.NumberNode)()),\r\n cookingtime: (0, core_1.Opt)((0, core_1.Mod)((0, core_1.NumberNode)({ integer: true }), { default: () => 200 }))\r\n },\r\n 'minecraft:blasting': {\r\n group: (0, core_1.Opt)(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n experience: (0, core_1.Opt)((0, core_1.NumberNode)()),\r\n cookingtime: (0, core_1.Opt)((0, core_1.Mod)((0, core_1.NumberNode)({ integer: true }), { default: () => 100 }))\r\n },\r\n 'minecraft:smoking': {\r\n group: (0, core_1.Opt)(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n experience: (0, core_1.Opt)((0, core_1.NumberNode)()),\r\n cookingtime: (0, core_1.Opt)((0, core_1.Mod)((0, core_1.NumberNode)({ integer: true }), { default: () => 100 }))\r\n },\r\n 'minecraft:campfire_cooking': {\r\n group: (0, core_1.Opt)(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n experience: (0, core_1.Opt)((0, core_1.NumberNode)()),\r\n cookingtime: (0, core_1.Opt)((0, core_1.Mod)((0, core_1.NumberNode)({ integer: true }), { default: () => 100 }))\r\n },\r\n 'minecraft:stonecutting': {\r\n group: (0, core_1.Opt)(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n count: (0, core_1.NumberNode)({ integer: true })\r\n },\r\n 'minecraft:smithing': {\r\n group: (0, core_1.Opt)(StringNode()),\r\n base: Reference('recipe_ingredient_object'),\r\n addition: Reference('recipe_ingredient_object'),\r\n result: Reference('recipe_result')\r\n }\r\n }\r\n }, { context: 'recipe', disableSwitchContext: true }), {\r\n default: () => ({\r\n type: 'minecraft:crafting_shaped'\r\n })\r\n }));\r\n schemas.register('recipe_ingredient', (0, core_1.Mod)((0, core_1.ChoiceNode)([\r\n {\r\n type: 'object',\r\n node: Reference('recipe_ingredient_object'),\r\n change: v => v[0]\r\n },\r\n {\r\n type: 'list',\r\n node: (0, core_1.ListNode)(Reference('recipe_ingredient_object')),\r\n change: v => [v]\r\n }\r\n ]), {\r\n default: () => ({\r\n item: 'minecraft:stone'\r\n })\r\n }));\r\n schemas.register('recipe_ingredient_object', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n item: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: 'item' } })),\r\n tag: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$tag/item' } }))\r\n }), {\r\n default: () => ({\r\n item: 'minecraft:stone'\r\n })\r\n }));\r\n schemas.register('recipe_result', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n item: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n count: (0, core_1.Opt)((0, core_1.Mod)((0, core_1.NumberNode)({ integer: true }), { default: () => 1 }))\r\n }), {\r\n default: () => ({\r\n item: 'minecraft:stone'\r\n })\r\n }));\r\n}\r\nexports.initRecipeSchemas = initRecipeSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initTagsSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initTagsSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const TagBase = (type) => (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n replace: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n values: (0, core_1.ListNode)((0, core_1.ChoiceNode)([\r\n {\r\n type: 'string',\r\n node: StringNode({ validator: 'resource', params: { pool: type, allowTag: true } }),\r\n change: v => v.id\r\n },\r\n {\r\n type: 'object',\r\n node: (0, core_1.ObjectNode)({\r\n id: StringNode({ validator: 'resource', params: { pool: type, allowTag: true, allowUnknown: true } }),\r\n required: (0, core_1.BooleanNode)()\r\n }),\r\n change: v => ({ id: v })\r\n }\r\n ])),\r\n }, { context: 'tag' }), {\r\n default: () => ({\r\n values: []\r\n })\r\n });\r\n schemas.register('block_tag', TagBase('block'));\r\n schemas.register('entity_type_tag', TagBase('entity_type'));\r\n schemas.register('fluid_tag', TagBase('fluid'));\r\n schemas.register('function_tag', TagBase('$function'));\r\n schemas.register('game_event_tag', TagBase('game_event'));\r\n schemas.register('item_tag', TagBase('item'));\r\n}\r\nexports.initTagsSchemas = initTagsSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initTextComponentSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initTextComponentSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const getSimpleString = (v) => { var _a; return v instanceof Array ? getSimpleString(v[0]) : (_a = v === null || v === void 0 ? void 0 : v.text) !== null && _a !== void 0 ? _a : (typeof v === 'object' ? '' : v === null || v === void 0 ? void 0 : v.toString()); };\r\n schemas.register('text_component', (0, core_1.Mod)((0, core_1.ChoiceNode)([\r\n {\r\n type: 'object',\r\n node: Reference('text_component_object'),\r\n change: v => v instanceof Array ? (typeof v[0] === 'object' ? v[0] : { text: getSimpleString(v[0]) }) : typeof v === 'object' ? v : { text: getSimpleString(v) }\r\n },\r\n {\r\n type: 'list',\r\n node: Reference('text_component_list'),\r\n change: v => [v]\r\n },\r\n {\r\n type: 'string',\r\n priority: 1,\r\n node: StringNode(),\r\n change: getSimpleString\r\n },\r\n {\r\n type: 'number',\r\n node: (0, core_1.NumberNode)(),\r\n change: v => {\r\n const n = parseFloat(getSimpleString(v));\r\n return isFinite(n) ? n : (!!v ? 1 : 0);\r\n }\r\n },\r\n {\r\n type: 'boolean',\r\n node: (0, core_1.BooleanNode)(),\r\n change: v => {\r\n const s = getSimpleString(v);\r\n return s === 'true' || s === 'false' ? s === 'true' : !!s;\r\n }\r\n }\r\n ], { context: 'text_component' }), {\r\n default: () => ({\r\n text: \"\"\r\n })\r\n }));\r\n const CommonFields = {\r\n color: (0, core_1.Opt)(StringNode()) /* TODO */,\r\n font: (0, core_1.Opt)(StringNode()),\r\n bold: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n italic: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n underlined: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n strikethrough: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n obfuscated: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n insertion: (0, core_1.Opt)(StringNode()),\r\n clickEvent: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n action: StringNode({ enum: ['open_url', 'open_file', 'run_command', 'suggest_command', 'change_page', 'copy_to_clipboard'] }),\r\n [core_1.Switch]: [{ push: 'action' }],\r\n [core_1.Case]: {\r\n 'change_page': {\r\n value: StringNode()\r\n },\r\n 'copy_to_clipboard': {\r\n value: StringNode()\r\n },\r\n 'open_file': {\r\n value: StringNode()\r\n },\r\n 'open_url': {\r\n value: StringNode()\r\n },\r\n 'run_command': {\r\n value: StringNode({ validator: 'command', params: { leadingSlash: true, allowPartial: true } })\r\n },\r\n 'suggest_command': {\r\n value: StringNode({ validator: 'command', params: { leadingSlash: true, allowPartial: true } })\r\n }\r\n }\r\n })),\r\n hoverEvent: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n action: StringNode({ enum: ['show_text', 'show_item', 'show_entity'] }),\r\n [core_1.Switch]: [{ push: 'action' }],\r\n [core_1.Case]: {\r\n 'show_text': {\r\n value: (0, core_1.Opt)(Reference('text_component')),\r\n contents: (0, core_1.Opt)(Reference('text_component'))\r\n },\r\n 'show_item': {\r\n value: (0, core_1.Opt)(StringNode({ validator: 'nbt', params: { module: 'util::InventoryItem' } })),\r\n contents: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n id: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n count: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n tag: (0, core_1.Opt)(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:item', id: ['pop', { push: 'id' }] } } }))\r\n }))\r\n },\r\n 'show_entity': {\r\n value: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n name: (0, core_1.Opt)(StringNode()),\r\n type: (0, core_1.Opt)(StringNode()),\r\n id: (0, core_1.Opt)(StringNode())\r\n })),\r\n contents: (0, core_1.Opt)((0, core_1.Mod)((0, core_1.ObjectNode)({\r\n name: (0, core_1.Opt)(Reference('text_component')),\r\n type: StringNode({ validator: 'resource', params: { pool: 'entity_type' } }),\r\n id: StringNode({ validator: 'uuid' })\r\n }), {\r\n default: () => ({\r\n type: 'minecraft:pig',\r\n id: '00000001-0001-0001-0001-000000000001'\r\n })\r\n }))\r\n }\r\n }\r\n })),\r\n extra: (0, core_1.Opt)(Reference('text_component_list'))\r\n };\r\n schemas.register('text_component_object', (0, core_1.Mod)((0, core_1.ChoiceNode)([\r\n {\r\n type: 'text',\r\n match: v => typeof v === 'object',\r\n change: v => ({ text: '' }),\r\n priority: -1,\r\n node: (0, core_1.ObjectNode)({\r\n text: StringNode(),\r\n ...CommonFields\r\n })\r\n },\r\n {\r\n type: 'translation',\r\n match: v => (v === null || v === void 0 ? void 0 : v.translate) !== undefined,\r\n change: v => ({ translate: '' }),\r\n node: (0, core_1.ObjectNode)({\r\n translate: StringNode(),\r\n with: (0, core_1.Opt)(Reference('text_component_list')),\r\n ...CommonFields\r\n })\r\n },\r\n {\r\n type: 'score',\r\n match: v => (v === null || v === void 0 ? void 0 : v.score) !== undefined,\r\n change: v => ({ score: {} }),\r\n node: (0, core_1.ObjectNode)({\r\n score: (0, core_1.ObjectNode)({\r\n name: StringNode({ validator: 'entity', params: { amount: 'single', type: 'entities', isScoreHolder: true } }),\r\n objective: StringNode({ validator: 'objective' }),\r\n value: (0, core_1.Opt)(StringNode())\r\n }),\r\n ...CommonFields\r\n })\r\n },\r\n {\r\n type: 'selector',\r\n match: v => (v === null || v === void 0 ? void 0 : v.selector) !== undefined,\r\n change: v => ({ selector: '' }),\r\n node: (0, core_1.ObjectNode)({\r\n selector: StringNode({ validator: 'entity', params: { amount: 'multiple', type: 'entities' } }),\r\n separator: (0, core_1.Opt)(Reference('text_component')),\r\n ...CommonFields\r\n })\r\n },\r\n {\r\n type: 'keybind',\r\n match: v => (v === null || v === void 0 ? void 0 : v.keybind) !== undefined,\r\n change: v => ({ keybind: '' }),\r\n node: (0, core_1.ObjectNode)({\r\n keybind: StringNode({ enum: 'keybind', additional: true }),\r\n ...CommonFields\r\n })\r\n },\r\n {\r\n type: 'nbt',\r\n match: v => (v === null || v === void 0 ? void 0 : v.nbt) !== undefined,\r\n change: v => ({ nbt: '' }),\r\n node: (0, core_1.ObjectNode)({\r\n nbt: StringNode({ validator: 'nbt_path' }),\r\n block: (0, core_1.Opt)(StringNode({ validator: 'vector', params: { dimension: 3, isInteger: true } })),\r\n entity: (0, core_1.Opt)(StringNode({ validator: 'entity', params: { amount: 'multiple', type: 'entities' } })),\r\n storage: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$storage' } })),\r\n interpret: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n separator: (0, core_1.Opt)(Reference('text_component')),\r\n ...CommonFields\r\n })\r\n }\r\n ], { context: 'text_component_object', choiceContext: 'text_component.object' }), {\r\n default: () => ({\r\n text: \"\"\r\n })\r\n }));\r\n schemas.register('text_component_list', (0, core_1.Mod)((0, core_1.ListNode)(Reference('text_component')), {\r\n default: () => [{\r\n text: \"\"\r\n }]\r\n }));\r\n}\r\nexports.initTextComponentSchemas = initTextComponentSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initBiomeSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initBiomeSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('biome', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n surface_builder: StringNode({ validator: 'resource', params: { pool: '$worldgen/configured_surface_builder' } }),\r\n depth: (0, core_1.NumberNode)(),\r\n scale: (0, core_1.NumberNode)(),\r\n temperature: (0, core_1.NumberNode)(),\r\n downfall: (0, core_1.NumberNode)(),\r\n precipitation: StringNode({ enum: ['none', 'rain', 'snow'] }),\r\n temperature_modifier: (0, core_1.Opt)(StringNode({ enum: ['none', 'frozen'] })),\r\n category: StringNode({ enum: 'biome_category' }),\r\n player_spawn_friendly: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n creature_spawn_probability: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 1 })),\r\n effects: (0, core_1.ObjectNode)({\r\n sky_color: (0, core_1.NumberNode)({ color: true }),\r\n fog_color: (0, core_1.NumberNode)({ color: true }),\r\n water_color: (0, core_1.NumberNode)({ color: true }),\r\n water_fog_color: (0, core_1.NumberNode)({ color: true }),\r\n grass_color: (0, core_1.Opt)((0, core_1.NumberNode)({ color: true })),\r\n foliage_color: (0, core_1.Opt)((0, core_1.NumberNode)({ color: true })),\r\n grass_color_modifier: (0, core_1.Opt)(StringNode({ enum: ['none', 'dark_forest', 'swamp'] })),\r\n ambient_sound: (0, core_1.Opt)(StringNode()),\r\n mood_sound: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n sound: StringNode(),\r\n tick_delay: (0, core_1.NumberNode)({ integer: true }),\r\n block_search_extent: (0, core_1.NumberNode)({ integer: true }),\r\n offset: (0, core_1.NumberNode)()\r\n })),\r\n additions_sound: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n sound: StringNode(),\r\n tick_chance: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n })),\r\n music: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n sound: StringNode(),\r\n min_delay: (0, core_1.NumberNode)({ integer: true, min: 0 }),\r\n max_delay: (0, core_1.NumberNode)({ integer: true, min: 0 }),\r\n replace_current_music: (0, core_1.BooleanNode)()\r\n })),\r\n particle: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n options: (0, core_1.ObjectNode)({\r\n type: StringNode()\r\n }),\r\n probability: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n }))\r\n }),\r\n starts: (0, core_1.ListNode)(StringNode({ validator: 'resource', params: { pool: '$worldgen/configured_structure_feature' } })),\r\n spawners: (0, core_1.MapNode)(StringNode({ enum: [\r\n 'monster',\r\n 'creature',\r\n 'ambient',\r\n 'underground_water_creature',\r\n 'water_creature',\r\n 'water_ambient',\r\n 'misc'\r\n ] }), (0, core_1.Mod)((0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'entity_type' } }),\r\n weight: (0, core_1.NumberNode)({ integer: true }),\r\n minCount: (0, core_1.NumberNode)({ integer: true }),\r\n maxCount: (0, core_1.NumberNode)({ integer: true })\r\n })), {\r\n category: () => 'pool',\r\n default: () => [{\r\n type: 'minecraft:bat',\r\n weight: 1\r\n }]\r\n })),\r\n spawn_costs: (0, core_1.MapNode)(StringNode({ validator: 'resource', params: { pool: 'entity_type' } }), (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n energy_budget: (0, core_1.NumberNode)(),\r\n charge: (0, core_1.NumberNode)()\r\n }, { category: 'function' }), {\r\n default: () => ({\r\n energy_budget: 0.12,\r\n charge: 1.0\r\n })\r\n })),\r\n carvers: (0, core_1.MapNode)(StringNode({ enum: ['air', 'liquid'] }), (0, core_1.Mod)((0, core_1.ListNode)(StringNode({ validator: 'resource', params: { pool: '$worldgen/configured_carver' } })), {\r\n default: () => ['minecraft:cave']\r\n })),\r\n features: (0, core_1.ListNode)((0, core_1.Mod)((0, core_1.ListNode)(StringNode({ validator: 'resource', params: { pool: '$worldgen/configured_feature' } })), { category: () => 'predicate' }), { maxLength: 10 })\r\n }, { context: 'biome' }), {\r\n default: () => ({\r\n surface_builder: 'minecraft:grass',\r\n depth: 0.125,\r\n scale: 0.05,\r\n temperature: 0.8,\r\n downfall: 0.4,\r\n precipitation: 'rain',\r\n category: 'plains',\r\n effects: {\r\n sky_color: 7907327,\r\n fog_color: 12638463,\r\n water_color: 4159204,\r\n water_fog_color: 329011\r\n }\r\n })\r\n }));\r\n}\r\nexports.initBiomeSchemas = initBiomeSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initCarverSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"../Common\");\r\nfunction initCarverSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const CanyonConfig = {\r\n vertical_rotation: (0, Common_1.FloatProvider)(),\r\n shape: (0, core_1.ObjectNode)({\r\n distance_factor: (0, Common_1.FloatProvider)(),\r\n thickness: (0, Common_1.FloatProvider)(),\r\n width_smoothness: (0, core_1.NumberNode)({ integer: true, min: 0 }),\r\n horizontal_radius_factor: (0, Common_1.FloatProvider)(),\r\n vertical_radius_default_factor: (0, core_1.NumberNode)(),\r\n vertical_radius_center_factor: (0, core_1.NumberNode)()\r\n })\r\n };\r\n const CaveConfig = {\r\n horizontal_radius_multiplier: (0, Common_1.FloatProvider)(),\r\n vertical_radius_multiplier: (0, Common_1.FloatProvider)(),\r\n floor_level: (0, Common_1.FloatProvider)({ min: -1, max: 1 }),\r\n };\r\n schemas.register('configured_carver', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/carver' } }),\r\n config: (0, core_1.ObjectNode)({\r\n probability: (0, core_1.NumberNode)({ min: 0, max: 1 }),\r\n y: Reference('height_provider'),\r\n yScale: (0, Common_1.FloatProvider)(),\r\n lava_level: Reference('vertical_anchor'),\r\n aquifers_enabled: (0, core_1.BooleanNode)(),\r\n debug_settings: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n debug_mode: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n air_state: (0, core_1.Opt)(Reference('block_state')),\r\n water_state: (0, core_1.Opt)(Reference('block_state')),\r\n lava_state: (0, core_1.Opt)(Reference('block_state')),\r\n barrier_state: (0, core_1.Opt)(Reference('block_state'))\r\n })),\r\n [core_1.Switch]: ['pop', { push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:canyon': CanyonConfig,\r\n 'minecraft:cave': CaveConfig,\r\n 'minecraft:nether_cave': CaveConfig\r\n },\r\n })\r\n }, { context: 'carver' }), {\r\n default: () => ({\r\n type: 'minecraft:cave',\r\n config: {\r\n probability: 0.1\r\n }\r\n })\r\n }));\r\n}\r\nexports.initCarverSchemas = initCarverSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initDecoratorSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"../Common\");\r\nfunction initDecoratorSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const CountConfig = {\r\n count: (0, Common_1.IntProvider)({ min: 0, max: 256 })\r\n };\r\n schemas.register('configured_decorator', (0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/decorator' } }),\r\n config: (0, core_1.ObjectNode)({\r\n [core_1.Switch]: ['pop', { push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:carving_mask': {\r\n step: StringNode({ enum: 'generation_step' })\r\n },\r\n 'minecraft:cave_surface': {\r\n surface: StringNode({ enum: ['floor', 'ceiling'] }),\r\n floor_to_ceiling_search_range: (0, core_1.NumberNode)({ integer: true })\r\n },\r\n 'minecraft:chance': {\r\n chance: (0, core_1.NumberNode)({ integer: true, min: 0 })\r\n },\r\n 'minecraft:count': CountConfig,\r\n 'minecraft:count_extra': {\r\n count: (0, core_1.NumberNode)({ integer: true, min: 0 }),\r\n extra_count: (0, core_1.NumberNode)({ integer: true, min: 0 }),\r\n extra_chance: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n },\r\n 'minecraft:count_multilayer': CountConfig,\r\n 'minecraft:count_noise': {\r\n noise_level: (0, core_1.NumberNode)(),\r\n below_noise: (0, core_1.NumberNode)({ integer: true }),\r\n above_noise: (0, core_1.NumberNode)({ integer: true })\r\n },\r\n 'minecraft:count_noise_biased': {\r\n noise_to_count_ratio: (0, core_1.NumberNode)({ integer: true }),\r\n noise_factor: (0, core_1.NumberNode)(),\r\n noise_offset: (0, core_1.Opt)((0, core_1.NumberNode)())\r\n },\r\n 'minecraft:decorated': {\r\n outer: Reference('configured_decorator'),\r\n inner: Reference('configured_decorator')\r\n },\r\n 'minecraft:heightmap': {\r\n heightmap: StringNode({ enum: 'heightmap_type' })\r\n },\r\n 'minecraft:heightmap_spread_double': {\r\n heightmap: StringNode({ enum: 'heightmap_type' })\r\n },\r\n 'minecraft:lava_lake': {\r\n chance: (0, core_1.NumberNode)({ integer: true, min: 0 })\r\n },\r\n 'minecraft:range': {\r\n height: Reference('height_provider')\r\n },\r\n 'minecraft:water_depth_threshold': {\r\n max_water_depth: (0, core_1.NumberNode)({ integer: true })\r\n }\r\n }\r\n }, { context: 'decorator', category: 'predicate' })\r\n }, { context: 'decorator', category: 'predicate' }));\r\n}\r\nexports.initDecoratorSchemas = initDecoratorSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initProcessorListSchemas = exports.Processors = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initProcessorListSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n exports.Processors = (0, core_1.ChoiceNode)([\r\n {\r\n type: 'string',\r\n node: StringNode({ validator: 'resource', params: { pool: '$worldgen/processor_list' } }),\r\n change: v => undefined\r\n },\r\n {\r\n type: 'object',\r\n node: Reference('processor_list'),\r\n change: v => ({\r\n processors: [{\r\n \"processor_type\": \"minecraft:nop\"\r\n }]\r\n })\r\n }\r\n ]);\r\n schemas.register('processor_list', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n processors: (0, core_1.ListNode)(Reference('processor'))\r\n }, { context: 'processor_list' }), {\r\n default: () => ({\r\n processors: [{\r\n processor_type: 'minecraft:rule',\r\n rules: [{\r\n location_predicate: {\r\n predicate_type: 'minecraft:always_true'\r\n },\r\n input_predicate: {\r\n predicate_type: 'minecraft:always_true'\r\n }\r\n }]\r\n }]\r\n })\r\n }));\r\n schemas.register('processor', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n processor_type: StringNode({ validator: 'resource', params: { pool: 'worldgen/structure_processor' } }),\r\n [core_1.Switch]: [{ push: 'processor_type' }],\r\n [core_1.Case]: {\r\n 'minecraft:block_age': {\r\n mossiness: (0, core_1.NumberNode)()\r\n },\r\n 'minecraft:block_ignore': {\r\n blocks: (0, core_1.ListNode)(Reference('block_state'))\r\n },\r\n 'minecraft:block_rot': {\r\n integrity: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n },\r\n 'minecraft:gravity': {\r\n heightmap: StringNode({ enum: 'heightmap_type' }),\r\n offset: (0, core_1.NumberNode)({ integer: true })\r\n },\r\n 'minecraft:protected_blocks': {\r\n value: StringNode({ validator: 'resource', params: { pool: '$tag/block' } })\r\n },\r\n 'minecraft:rule': {\r\n rules: (0, core_1.ListNode)(Reference('processor_rule'))\r\n }\r\n }\r\n }, { category: 'function', context: 'processor' }), {\r\n default: () => ({\r\n processor_type: 'minecraft:rule',\r\n rules: [{\r\n location_predicate: {\r\n predicate_type: 'minecraft:always_true'\r\n },\r\n input_predicate: {\r\n predicate_type: 'minecraft:always_true'\r\n }\r\n }]\r\n })\r\n }));\r\n schemas.register('processor_rule', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n position_predicate: (0, core_1.Opt)(Reference('pos_rule_test')),\r\n location_predicate: Reference('rule_test'),\r\n input_predicate: Reference('rule_test'),\r\n output_state: Reference('block_state'),\r\n output_nbt: (0, core_1.Opt)(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:block' } } }))\r\n }, { category: 'predicate', context: 'processor_rule' }), {\r\n default: () => ({\r\n location_predicate: {\r\n predicate_type: 'minecraft:always_true'\r\n },\r\n input_predicate: {\r\n predicate_type: 'minecraft:always_true'\r\n }\r\n })\r\n }));\r\n const posTestFields = {\r\n min_dist: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 255, integer: true })),\r\n max_dist: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 255, integer: true })),\r\n min_chance: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 1 })),\r\n max_chance: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 1 }))\r\n };\r\n schemas.register('pos_rule_test', (0, core_1.ObjectNode)({\r\n predicate_type: StringNode({ validator: 'resource', params: { pool: 'pos_rule_test' } }),\r\n [core_1.Switch]: [{ push: 'predicate_type' }],\r\n [core_1.Case]: {\r\n 'minecraft:axis_aligned_linear_pos': {\r\n axis: StringNode({ enum: ['x', 'y', 'z'] }),\r\n ...posTestFields\r\n },\r\n 'minecraft:linear_pos': posTestFields\r\n }\r\n }, { context: 'pos_rule_test', disableSwitchContext: true }));\r\n schemas.register('rule_test', (0, core_1.ObjectNode)({\r\n predicate_type: StringNode({ validator: 'resource', params: { pool: 'rule_test' } }),\r\n [core_1.Switch]: [{ push: 'predicate_type' }],\r\n [core_1.Case]: {\r\n 'minecraft:block_match': {\r\n block: StringNode({ validator: 'resource', params: { pool: 'block' } })\r\n },\r\n 'minecraft:blockstate_match': {\r\n block_state: Reference('block_state')\r\n },\r\n 'minecraft:random_block_match': {\r\n block: StringNode({ validator: 'resource', params: { pool: 'block' } }),\r\n probability: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n },\r\n 'minecraft:random_blockstate_match': {\r\n block_state: Reference('block_state'),\r\n probability: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n },\r\n 'minecraft:tag_match': {\r\n tag: StringNode({ validator: 'resource', params: { pool: '$tag/block' } })\r\n }\r\n }\r\n }, { context: 'rule_test', disableSwitchContext: true }));\r\n}\r\nexports.initProcessorListSchemas = initProcessorListSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initFeatureSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"../Common\");\r\nrequire(\"./Decorator\");\r\nrequire(\"./ProcessorList\");\r\nconst ProcessorList_1 = require(\"./ProcessorList\");\r\nfunction initFeatureSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const RandomPatchConfig = {\r\n can_replace: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n project: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n need_water: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n xspread: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 0 })),\r\n yspread: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 0 })),\r\n zspread: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 0 })),\r\n tries: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 1 })),\r\n state_provider: Reference('block_state_provider'),\r\n block_placer: Reference('block_placer'),\r\n whitelist: (0, core_1.ListNode)(Reference('block_state')),\r\n blacklist: (0, core_1.ListNode)(Reference('block_state'))\r\n };\r\n const DiskConfig = {\r\n state: Reference('block_state'),\r\n radius: (0, Common_1.IntProvider)({ min: 0, max: 8 }),\r\n half_height: (0, core_1.NumberNode)({ integer: true, min: 0, max: 4 }),\r\n targets: (0, core_1.ListNode)(Reference('block_state'))\r\n };\r\n const HugeMushroomConfig = {\r\n cap_provider: Reference('block_state_provider'),\r\n stem_provider: Reference('block_state_provider'),\r\n foliage_radius: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true }))\r\n };\r\n const TargetBlockState = (0, core_1.ObjectNode)({\r\n target: Reference('rule_test'),\r\n state: Reference('block_state')\r\n });\r\n const OreConfig = {\r\n size: (0, core_1.NumberNode)({ integer: true, min: 0, max: 64 }),\r\n discard_chance_on_air_exposure: (0, core_1.NumberNode)({ min: 0, max: 1 }),\r\n targets: (0, core_1.ListNode)(TargetBlockState)\r\n };\r\n const Feature = (0, core_1.ChoiceNode)([\r\n {\r\n type: 'string',\r\n node: StringNode({ validator: 'resource', params: { pool: '$worldgen/configured_feature' } })\r\n },\r\n {\r\n type: 'object',\r\n node: Reference('configured_feature')\r\n }\r\n ], { choiceContext: 'feature' });\r\n const VegetationPatchConfig = {\r\n surface: StringNode({ enum: ['floor', 'ceiling'] }),\r\n depth: (0, Common_1.IntProvider)({ min: 1, max: 128 }),\r\n vertical_range: (0, core_1.NumberNode)({ integer: true, min: 1, max: 256 }),\r\n extra_bottom_block_chance: (0, core_1.NumberNode)({ min: 0, max: 1 }),\r\n extra_edge_column_chance: (0, core_1.NumberNode)({ min: 0, max: 1 }),\r\n vegetation_chance: (0, core_1.NumberNode)({ min: 0, max: 1 }),\r\n xz_radius: (0, Common_1.IntProvider)(),\r\n replaceable: StringNode({ validator: 'resource', params: { pool: '$tag/block' } }),\r\n ground_state: Reference('block_state_provider'),\r\n vegetation_feature: Feature\r\n };\r\n schemas.register('configured_feature', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/feature' } }),\r\n config: (0, core_1.ObjectNode)({\r\n [core_1.Switch]: ['pop', { push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:bamboo': {\r\n probability: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n },\r\n 'minecraft:basalt_columns': {\r\n reach: (0, Common_1.IntProvider)({ min: 0, max: 3 }),\r\n height: (0, Common_1.IntProvider)({ min: 1, max: 10 })\r\n },\r\n 'minecraft:block_pile': {\r\n state_provider: Reference('block_state_provider')\r\n },\r\n 'minecraft:decorated': {\r\n decorator: Reference('configured_decorator'),\r\n feature: Feature\r\n },\r\n 'minecraft:decorated_flower': {\r\n decorator: Reference('configured_decorator'),\r\n feature: Feature\r\n },\r\n 'minecraft:delta_feature': {\r\n contents: Reference('block_state'),\r\n rim: Reference('block_state'),\r\n size: (0, Common_1.IntProvider)({ min: 0, max: 16 }),\r\n rim_size: (0, Common_1.IntProvider)({ min: 0, max: 16 })\r\n },\r\n 'minecraft:disk': DiskConfig,\r\n 'minecraft:dripstone_cluster': {\r\n floor_to_ceiling_search_range: (0, core_1.NumberNode)({ integer: true, min: 1, max: 512 }),\r\n height: (0, Common_1.IntProvider)({ min: 0, max: 128 }),\r\n radius: (0, Common_1.IntProvider)({ min: 0, max: 128 }),\r\n max_stalagmite_stalactite_height_diff: (0, core_1.NumberNode)({ integer: true, min: 0, max: 64 }),\r\n height_deviation: (0, core_1.NumberNode)({ integer: true, min: 1, max: 64 }),\r\n dripstone_block_layer_thickness: (0, Common_1.IntProvider)({ min: 0, max: 128 }),\r\n density: (0, Common_1.FloatProvider)({ min: 0, max: 2 }),\r\n wetness: (0, Common_1.FloatProvider)({ min: 0, max: 2 }),\r\n chance_of_dripstone_column_at_max_distance_from_center: (0, core_1.NumberNode)({ min: 0, max: 1 }),\r\n max_distance_from_edge_affecting_chance_of_dripstone_column: (0, core_1.NumberNode)({ integer: true, min: 1, max: 64 }),\r\n max_distance_from_center_affecting_height_bias: (0, core_1.NumberNode)({ integer: true, min: 1, max: 64 })\r\n },\r\n 'minecraft:end_gateway': {\r\n exact: (0, core_1.BooleanNode)(),\r\n exit: (0, core_1.Opt)(Reference('block_pos'))\r\n },\r\n 'minecraft:end_spike': {\r\n crystal_invulnerable: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n crystal_beam_target: (0, core_1.Opt)(Reference('block_pos')),\r\n spikes: (0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n centerX: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n centerZ: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n radius: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n height: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n guarded: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n }))\r\n },\r\n 'minecraft:fill_layer': {\r\n state: Reference('block_state'),\r\n height: (0, core_1.NumberNode)({ integer: true, min: 0, max: 255 })\r\n },\r\n 'minecraft:flower': RandomPatchConfig,\r\n 'minecraft:forest_rock': {\r\n state: Reference('block_state')\r\n },\r\n 'minecraft:fossil': {\r\n max_empty_corners_allowed: (0, core_1.NumberNode)({ integer: true, min: 0, max: 7 }),\r\n fossil_structures: (0, core_1.ListNode)(StringNode({ validator: 'resource', params: { pool: '$structure' } })),\r\n overlay_structures: (0, core_1.ListNode)(StringNode({ validator: 'resource', params: { pool: '$structure' } })),\r\n fossil_processors: ProcessorList_1.Processors,\r\n overlay_processors: ProcessorList_1.Processors,\r\n },\r\n 'minecraft:geode': {\r\n blocks: (0, core_1.ObjectNode)({\r\n filling_provider: Reference('block_state_provider'),\r\n inner_layer_provider: Reference('block_state_provider'),\r\n alternate_inner_layer_provider: Reference('block_state_provider'),\r\n middle_layer_provider: Reference('block_state_provider'),\r\n outer_layer_provider: Reference('block_state_provider'),\r\n inner_placements: (0, core_1.ListNode)(Reference('block_state')),\r\n cannot_replace: StringNode({ validator: 'resource', params: { pool: '$tag/block' } }),\r\n invalid_blocks: StringNode({ validator: 'resource', params: { pool: '$tag/block' } })\r\n }),\r\n layers: (0, core_1.ObjectNode)({\r\n filling: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0.01, max: 50 })),\r\n inner_layer: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0.01, max: 50 })),\r\n middle_layer: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0.01, max: 50 })),\r\n outer_layer: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0.01, max: 50 })),\r\n }),\r\n crack: (0, core_1.ObjectNode)({\r\n generate_crack_chance: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 1 })),\r\n base_crack_size: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 5 })),\r\n crack_point_offset: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 10 })),\r\n }),\r\n noise_multiplier: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 1 })),\r\n use_potential_placements_chance: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 1 })),\r\n use_alternate_layer0_chance: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 1 })),\r\n placements_require_layer0_alternate: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n outer_wall_distance: (0, core_1.Opt)((0, Common_1.IntProvider)({ min: 1, max: 20 })),\r\n distribution_points: (0, core_1.Opt)((0, Common_1.IntProvider)({ min: 1, max: 20 })),\r\n point_offset: (0, core_1.Opt)((0, Common_1.IntProvider)({ min: 0, max: 10 })),\r\n min_gen_offset: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n max_gen_offset: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n invalid_blocks_threshold: (0, core_1.NumberNode)({ integer: true })\r\n },\r\n 'minecraft:glow_lichen': {\r\n search_range: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 1, max: 64, integer: true })),\r\n chance_of_spreading: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 1 })),\r\n can_place_on_floor: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n can_place_on_ceiling: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n can_place_on_wall: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n can_be_placed_on: (0, core_1.ListNode)(Reference('block_state'))\r\n },\r\n 'minecraft:growing_plant': {\r\n direction: StringNode({ enum: ['up', 'down', 'north', 'east', 'south', 'west'] }),\r\n allow_water: (0, core_1.BooleanNode)(),\r\n height_distribution: (0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n weight: (0, core_1.NumberNode)({ integer: true }),\r\n data: (0, Common_1.IntProvider)()\r\n })),\r\n body_provider: Reference('block_state_provider'),\r\n head_provider: Reference('block_state_provider')\r\n },\r\n 'minecraft:huge_brown_mushroom': HugeMushroomConfig,\r\n 'minecraft:huge_fungus': {\r\n hat_state: Reference('block_state'),\r\n decor_state: Reference('block_state'),\r\n stem_state: Reference('block_state'),\r\n valid_base_block: Reference('block_state'),\r\n planted: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n },\r\n 'minecraft:huge_red_mushroom': HugeMushroomConfig,\r\n 'minecraft:ice_patch': DiskConfig,\r\n 'minecraft:iceberg': {\r\n state: Reference('block_state')\r\n },\r\n 'minecraft:lake': {\r\n state: Reference('block_state')\r\n },\r\n 'minecraft:large_dripstone': {\r\n floor_to_ceiling_search_range: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 1, max: 512 })),\r\n column_radius: (0, Common_1.IntProvider)({ min: 0, max: 60 }),\r\n height_scale: (0, Common_1.FloatProvider)({ min: 0, max: 20 }),\r\n max_column_radius_to_cave_height_ratio: (0, core_1.NumberNode)({ min: 0, max: 1 }),\r\n stalactite_bluntness: (0, Common_1.FloatProvider)({ min: 0.1, max: 10 }),\r\n stalagmite_bluntness: (0, Common_1.FloatProvider)({ min: 0.1, max: 10 }),\r\n wind_speed: (0, Common_1.FloatProvider)({ min: 0, max: 2 }),\r\n min_radius_for_wind: (0, core_1.NumberNode)({ integer: true, min: 0, max: 100 }),\r\n min_bluntness_for_wind: (0, core_1.NumberNode)({ min: 0, max: 5 })\r\n },\r\n 'minecraft:nether_forest_vegetation': {\r\n state_provider: Reference('block_state_provider')\r\n },\r\n 'minecraft:netherrack_replace_blobs': {\r\n state: Reference('block_state'),\r\n target: Reference('block_state'),\r\n radius: (0, Common_1.IntProvider)({ min: 0, max: 12 })\r\n },\r\n 'minecraft:no_bonemeal_flower': RandomPatchConfig,\r\n 'minecraft:ore': OreConfig,\r\n 'minecraft:random_patch': RandomPatchConfig,\r\n 'minecraft:random_boolean_selector': {\r\n feature_false: Feature,\r\n feature_true: Feature\r\n },\r\n 'minecraft:random_selector': {\r\n features: (0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n chance: (0, core_1.NumberNode)({ min: 0, max: 1 }),\r\n feature: Feature\r\n })),\r\n default: Feature\r\n },\r\n 'minecraft:replace_single_block': {\r\n targets: (0, core_1.ListNode)(TargetBlockState)\r\n },\r\n 'minecraft:root_system': {\r\n required_vertical_space_for_tree: (0, core_1.NumberNode)({ integer: true, min: 1, max: 64 }),\r\n root_radius: (0, core_1.NumberNode)({ integer: true, min: 1, max: 64 }),\r\n root_placement_attempts: (0, core_1.NumberNode)({ integer: true, min: 1, max: 256 }),\r\n root_column_max_height: (0, core_1.NumberNode)({ integer: true, min: 1, max: 4096 }),\r\n hanging_root_radius: (0, core_1.NumberNode)({ integer: true, min: 1, max: 64 }),\r\n hanging_roots_vertical_span: (0, core_1.NumberNode)({ integer: true, min: 0, max: 16 }),\r\n hanging_root_placement_attempts: (0, core_1.NumberNode)({ integer: true, min: 0, max: 256 }),\r\n allowed_vertical_water_for_tree: (0, core_1.NumberNode)({ integer: true, min: 1, max: 64 }),\r\n root_replaceable: StringNode({ validator: 'resource', params: { pool: '$tag/block' } }),\r\n root_state_provider: Reference('block_state_provider'),\r\n hanging_root_state_provider: Reference('block_state_provider'),\r\n feature: Feature\r\n },\r\n 'minecraft:scattered_ore': OreConfig,\r\n 'minecraft:sea_pickle': {\r\n count: (0, Common_1.IntProvider)({ min: 0, max: 256 })\r\n },\r\n 'minecraft:seagrass': {\r\n probability: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n },\r\n 'minecraft:simple_block': {\r\n to_place: Reference('block_state_provider'),\r\n place_on: (0, core_1.Opt)((0, core_1.ListNode)(Reference('block_state'))),\r\n place_in: (0, core_1.Opt)((0, core_1.ListNode)(Reference('block_state'))),\r\n place_under: (0, core_1.Opt)((0, core_1.ListNode)(Reference('block_state')))\r\n },\r\n 'minecraft:simple_random_selector': {\r\n features: (0, core_1.ListNode)(Feature)\r\n },\r\n 'minecraft:small_dripstone': {\r\n max_placements: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 0, max: 100 })),\r\n empty_space_search_radius: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 0, max: 20 })),\r\n max_offset_from_origin: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 0, max: 20 })),\r\n chance_of_taller_dripstone: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 1 }))\r\n },\r\n 'minecraft:spring_feature': {\r\n state: Reference('fluid_state'),\r\n rock_count: (0, core_1.NumberNode)({ integer: true }),\r\n hole_count: (0, core_1.NumberNode)({ integer: true }),\r\n requires_block_below: (0, core_1.BooleanNode)(),\r\n valid_blocks: (0, core_1.ListNode)(StringNode({ validator: 'resource', params: { pool: 'block' } }))\r\n },\r\n 'minecraft:tree': {\r\n ignore_vines: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n force_dirt: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n minimum_size: Reference('feature_size'),\r\n dirt_provider: Reference('block_state_provider'),\r\n sapling_provider: Reference('block_state_provider'),\r\n trunk_provider: Reference('block_state_provider'),\r\n foliage_provider: Reference('block_state_provider'),\r\n trunk_placer: (0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/trunk_placer_type' } }),\r\n base_height: (0, core_1.NumberNode)({ integer: true, min: 0, max: 32 }),\r\n height_rand_a: (0, core_1.NumberNode)({ integer: true, min: 0, max: 24 }),\r\n height_rand_b: (0, core_1.NumberNode)({ integer: true, min: 0, max: 24 }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:bending_trunk_placer': {\r\n bend_length: (0, Common_1.IntProvider)({ min: 1, max: 64 }),\r\n min_height_for_leaves: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 1 }))\r\n }\r\n }\r\n }, { context: 'trunk_placer' }),\r\n foliage_placer: (0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/foliage_placer_type' } }),\r\n radius: (0, Common_1.IntProvider)({ min: 0, max: 16 }),\r\n offset: (0, Common_1.IntProvider)({ min: 0, max: 16 }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:blob_foliage_placer': {\r\n height: (0, core_1.NumberNode)({ integer: true, min: 0, max: 16 })\r\n },\r\n 'minecraft:bush_foliage_placer': {\r\n height: (0, core_1.NumberNode)({ integer: true, min: 0, max: 16 })\r\n },\r\n 'minecraft:fancy_foliage_placer': {\r\n height: (0, core_1.NumberNode)({ integer: true, min: 0, max: 16 })\r\n },\r\n 'minecraft:jungle_foliage_placer': {\r\n height: (0, core_1.NumberNode)({ integer: true, min: 0, max: 16 })\r\n },\r\n 'minecraft:mega_pine_foliage_placer': {\r\n crown_height: (0, Common_1.IntProvider)({ min: 0, max: 24 })\r\n },\r\n 'minecraft:pine_foliage_placer': {\r\n height: (0, Common_1.IntProvider)({ min: 0, max: 24 })\r\n },\r\n 'minecraft:random_spread_foliage_placer': {\r\n foliage_height: (0, Common_1.IntProvider)({ min: 1, max: 512 }),\r\n leaf_placement_attempts: (0, core_1.NumberNode)({ integer: true, min: 0, max: 256 })\r\n },\r\n 'minecraft:spruce_foliage_placer': {\r\n trunk_height: (0, Common_1.IntProvider)({ min: 0, max: 24 })\r\n }\r\n }\r\n }, { context: 'foliage_placer', disableSwitchContext: true }),\r\n decorators: (0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/tree_decorator_type' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:alter_ground': {\r\n provider: Reference('block_state_provider')\r\n },\r\n 'minecraft:beehive': {\r\n probability: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n },\r\n 'minecraft:cocoa': {\r\n probability: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n }\r\n }\r\n }, { context: 'tree_decorator' }))\r\n },\r\n 'minecraft:underwater_magma': {\r\n floor_search_range: (0, core_1.NumberNode)({ integer: true, min: 0, max: 512 }),\r\n placement_radius_around_floor: (0, core_1.NumberNode)({ integer: true, min: 0, max: 64 }),\r\n placement_probability_per_valid_position: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n },\r\n 'minecraft:vegetation_patch': VegetationPatchConfig,\r\n 'minecraft:waterlogged_vegetation_patch': VegetationPatchConfig\r\n }\r\n }, { context: 'feature' })\r\n }, { context: 'feature' }), {\r\n default: () => ({\r\n type: 'minecraft:decorated',\r\n config: {\r\n decorator: {\r\n type: 'minecraft:count',\r\n config: {\r\n count: 4\r\n }\r\n },\r\n feature: {\r\n type: 'minecraft:tree',\r\n config: {\r\n max_water_depth: 0,\r\n ignore_vines: true,\r\n minimum_size: {},\r\n trunk_placer: {\r\n base_height: 5,\r\n height_rand_a: 2,\r\n height_rand_b: 0\r\n },\r\n foliage_placer: {\r\n radius: 2,\r\n offset: 0,\r\n height: 3\r\n }\r\n }\r\n }\r\n }\r\n })\r\n }));\r\n schemas.register('feature_size', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/feature_size_type' } }),\r\n min_clipped_height: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 80 })),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:two_layers_feature_size': {\r\n limit: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 0, max: 81 })),\r\n lower_size: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 0, max: 16 })),\r\n upper_size: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 0, max: 16 }))\r\n },\r\n 'minecraft:three_layers_feature_size': {\r\n limit: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 0, max: 80 })),\r\n upper_limit: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 0, max: 80 })),\r\n lower_size: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 0, max: 16 })),\r\n middle_size: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 0, max: 16 })),\r\n upper_size: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 0, max: 16 }))\r\n }\r\n }\r\n }, { disableSwitchContext: true }), {\r\n default: () => ({\r\n type: 'minecraft:two_layers_feature_size'\r\n })\r\n }));\r\n schemas.register('block_state_provider', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/block_state_provider_type' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:randomized_int_state_provider': {\r\n property: StringNode(),\r\n values: (0, Common_1.IntProvider)(),\r\n source: Reference('block_state_provider')\r\n },\r\n 'minecraft:rotated_block_provider': {\r\n state: Reference('block_state')\r\n },\r\n 'minecraft:simple_state_provider': {\r\n state: Reference('block_state')\r\n },\r\n 'minecraft:weighted_state_provider': {\r\n entries: (0, core_1.ListNode)((0, core_1.Mod)((0, core_1.ObjectNode)({\r\n weight: (0, core_1.NumberNode)({ integer: true, min: 1 }),\r\n data: Reference('block_state')\r\n }), {\r\n default: () => ({\r\n data: {}\r\n })\r\n }))\r\n }\r\n }\r\n }, { context: 'block_state_provider' }), {\r\n default: () => ({\r\n type: 'minecraft:simple_state_provider'\r\n })\r\n }));\r\n schemas.register('block_placer', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/block_placer_type' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:column_placer': {\r\n size: (0, Common_1.IntProvider)({ min: 0 })\r\n }\r\n }\r\n }, { context: 'block_placer' }), {\r\n default: () => ({\r\n type: 'minecraft:simple_block_placer'\r\n })\r\n }));\r\n}\r\nexports.initFeatureSchemas = initFeatureSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initNoiseSettingsSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"../Common\");\r\nfunction initNoiseSettingsSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('noise_settings', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n name: (0, core_1.Mod)(StringNode({ validator: 'resource', params: { pool: '$worldgen/noise_settings', isDefinition: true } }), {\r\n enabled: (path) => path.getArray().length > 0\r\n }),\r\n bedrock_roof_position: (0, core_1.NumberNode)({ integer: true }),\r\n bedrock_floor_position: (0, core_1.NumberNode)({ integer: true }),\r\n sea_level: (0, core_1.NumberNode)({ integer: true }),\r\n min_surface_level: (0, core_1.NumberNode)({ integer: true }),\r\n disable_mob_generation: (0, core_1.BooleanNode)(),\r\n noise_caves_enabled: (0, core_1.BooleanNode)(),\r\n noodle_caves_enabled: (0, core_1.BooleanNode)(),\r\n aquifers_enabled: (0, core_1.BooleanNode)(),\r\n deepslate_enabled: (0, core_1.BooleanNode)(),\r\n ore_veins_enabled: (0, core_1.BooleanNode)(),\r\n default_block: Reference('block_state'),\r\n default_fluid: Reference('block_state'),\r\n noise: (0, core_1.ObjectNode)({\r\n min_y: (0, core_1.NumberNode)({ integer: true, min: -2048, max: 2047 }),\r\n height: (0, core_1.NumberNode)({ integer: true, min: 0, max: 4096 }),\r\n density_factor: (0, core_1.NumberNode)(),\r\n density_offset: (0, core_1.NumberNode)(),\r\n size_horizontal: (0, core_1.NumberNode)({ integer: true }),\r\n size_vertical: (0, core_1.NumberNode)({ integer: true }),\r\n simplex_surface_noise: (0, core_1.BooleanNode)(),\r\n random_density_offset: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n island_noise_override: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n amplified: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n sampling: (0, core_1.ObjectNode)({\r\n xz_scale: (0, core_1.NumberNode)(),\r\n y_scale: (0, core_1.NumberNode)(),\r\n xz_factor: (0, core_1.NumberNode)(),\r\n y_factor: (0, core_1.NumberNode)()\r\n }),\r\n bottom_slide: (0, core_1.ObjectNode)({\r\n target: (0, core_1.NumberNode)({ integer: true }),\r\n size: (0, core_1.NumberNode)({ integer: true, min: 0 }),\r\n offset: (0, core_1.NumberNode)({ integer: true })\r\n }),\r\n top_slide: (0, core_1.ObjectNode)({\r\n target: (0, core_1.NumberNode)({ integer: true }),\r\n size: (0, core_1.NumberNode)({ integer: true, min: 0 }),\r\n offset: (0, core_1.NumberNode)({ integer: true })\r\n })\r\n }),\r\n structures: Reference('generator_structures')\r\n }, { context: 'noise_settings' }), node => ({\r\n default: () => Common_1.DefaultNoiseSettings,\r\n validate: (path, value, errors, options) => {\r\n var _a, _b, _c, _d;\r\n value = node.validate(path, value, errors, options);\r\n if (((_a = value === null || value === void 0 ? void 0 : value.noise) === null || _a === void 0 ? void 0 : _a.min_y) + ((_b = value === null || value === void 0 ? void 0 : value.noise) === null || _b === void 0 ? void 0 : _b.height) > 2047) {\r\n errors.add(path.push('noise').push('height'), 'error.min_y_plus_height', 2047);\r\n }\r\n if (((_c = value === null || value === void 0 ? void 0 : value.noise) === null || _c === void 0 ? void 0 : _c.height) % 16 !== 0) {\r\n errors.add(path.push('noise').push('height'), 'error.height_multiple', 16);\r\n }\r\n if (((_d = value === null || value === void 0 ? void 0 : value.noise) === null || _d === void 0 ? void 0 : _d.min_y) % 16 !== 0) {\r\n errors.add(path.push('noise').push('min_y'), 'error.min_y_multiple', 16);\r\n }\r\n return value;\r\n }\r\n })));\r\n schemas.register('generator_structures', (0, core_1.ObjectNode)({\r\n stronghold: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n distance: (0, core_1.NumberNode)({ integer: true, min: 0, max: 1023 }),\r\n spread: (0, core_1.NumberNode)({ integer: true, min: 0, max: 1023 }),\r\n count: (0, core_1.NumberNode)({ integer: true, min: 1, max: 4095 })\r\n })),\r\n structures: (0, core_1.MapNode)(StringNode({ validator: 'resource', params: { pool: 'worldgen/structure_feature' } }), (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n spacing: (0, core_1.NumberNode)({ integer: true, min: 0, max: 4096 }),\r\n separation: (0, core_1.Mod)((0, core_1.NumberNode)({ integer: true, min: 0, max: 4096 }), (node) => ({\r\n validate: (path, value, errors, options) => {\r\n if (path.pop().push('spacing').get() <= value) {\r\n errors.add(path, 'error.separation_smaller_spacing');\r\n }\r\n return node.validate(path, value, errors, options);\r\n }\r\n })),\r\n salt: (0, core_1.NumberNode)({ integer: true, min: 0 })\r\n }, { context: 'generator_structure' }), {\r\n default: () => ({\r\n spacing: 10,\r\n separation: 5,\r\n salt: 0\r\n })\r\n }))\r\n }));\r\n schemas.register('generator_layer', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n block: StringNode({ validator: 'resource', params: { pool: 'block' } }),\r\n height: (0, core_1.NumberNode)({ integer: true, min: 1 })\r\n }), {\r\n default: () => ({\r\n block: 'minecraft:stone',\r\n height: 1\r\n })\r\n }));\r\n}\r\nexports.initNoiseSettingsSchemas = initNoiseSettingsSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initStructureFeatureSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initStructureFeatureSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const templatePoolConfig = {\r\n start_pool: StringNode({ validator: 'resource', params: { pool: '$worldgen/template_pool' } }),\r\n size: (0, core_1.NumberNode)({ integer: true })\r\n };\r\n schemas.register('configured_structure_feature', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/structure_feature' } }),\r\n config: (0, core_1.ObjectNode)({\r\n [core_1.Switch]: ['pop', { push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:bastion_remnant': templatePoolConfig,\r\n 'minecraft:buried_treasure': {\r\n probability: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n },\r\n 'minecraft:mineshaft': {\r\n type: StringNode({ enum: ['normal', 'mesa'] }),\r\n probability: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n },\r\n 'minecraft:nether_fossil': {\r\n height: Reference('height_provider')\r\n },\r\n 'minecraft:ocean_ruin': {\r\n biome_temp: StringNode({ enum: ['cold', 'warm'] }),\r\n large_probability: (0, core_1.NumberNode)({ min: 0, max: 1 }),\r\n cluster_probability: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n },\r\n 'minecraft:pillager_outpost': templatePoolConfig,\r\n 'minecraft:ruined_portal': {\r\n portal_type: StringNode({ enum: ['standard', 'desert', 'jungle', 'mountain', 'nether', 'ocean', 'swamp'] })\r\n },\r\n 'minecraft:shipwreck': {\r\n is_beached: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n },\r\n 'minecraft:village': templatePoolConfig\r\n }\r\n }, { context: 'structure_feature', disableSwitchContext: true })\r\n }, { context: 'structure_feature' }), {\r\n default: () => ({\r\n type: 'minecraft:bastion_remnant',\r\n config: {\r\n start_pool: 'minecraft:bastion/starts',\r\n size: 6\r\n }\r\n })\r\n }));\r\n}\r\nexports.initStructureFeatureSchemas = initStructureFeatureSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initSurfaceBuilderSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initSurfaceBuilderSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n schemas.register('configured_surface_builder', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/surface_builder' } }),\r\n config: (0, core_1.ObjectNode)({\r\n top_material: Reference('block_state'),\r\n under_material: Reference('block_state'),\r\n underwater_material: Reference('block_state'),\r\n }, { context: 'surface_builder' })\r\n }, { context: 'surface_builder' }), {\r\n default: () => ({\r\n type: 'minecraft:default',\r\n config: {\r\n top_material: {\r\n Name: 'minecraft:grass_block',\r\n Properties: {\r\n snowy: 'false'\r\n }\r\n },\r\n under_material: {\r\n Name: 'minecraft:dirt'\r\n },\r\n underwater_material: {\r\n Name: 'minecraft:gravel'\r\n }\r\n }\r\n })\r\n }));\r\n}\r\nexports.initSurfaceBuilderSchemas = initSurfaceBuilderSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initTemplatePoolSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nrequire(\"./ProcessorList\");\r\nconst ProcessorList_1 = require(\"./ProcessorList\");\r\nfunction initTemplatePoolSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('template_pool', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n name: StringNode(),\r\n fallback: StringNode(),\r\n elements: (0, core_1.ListNode)(Reference('template_weighted_element'))\r\n }, { context: 'template_pool' }), {\r\n default: () => ({\r\n fallback: 'minecraft:empty',\r\n elements: [\r\n {\r\n weight: 1,\r\n element: {\r\n element_type: 'minecraft:single_pool_element',\r\n projection: 'rigid',\r\n processors: 'minecraft:empty'\r\n }\r\n }\r\n ]\r\n })\r\n }));\r\n schemas.register('template_weighted_element', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n weight: (0, core_1.NumberNode)({ integer: true, min: 1 }),\r\n element: Reference('template_element')\r\n }, { category: 'pool' }), {\r\n default: () => ({\r\n weight: 1,\r\n element: {\r\n element_type: 'minecraft:single_pool_element',\r\n projection: 'rigid',\r\n processors: 'minecraft:empty'\r\n }\r\n })\r\n }));\r\n schemas.register('template_element', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n element_type: StringNode({ validator: 'resource', params: { pool: 'worldgen/structure_pool_element' } }),\r\n projection: StringNode({ enum: ['rigid', 'terrain_matching'] }),\r\n [core_1.Switch]: [{ push: 'element_type' }],\r\n [core_1.Case]: {\r\n 'minecraft:feature_pool_element': {\r\n feature: StringNode({ validator: 'resource', params: { pool: '$worldgen/configured_feature' } })\r\n },\r\n 'minecraft:legacy_single_pool_element': {\r\n location: StringNode({ validator: 'resource', params: { pool: '$structure' } }),\r\n processors: ProcessorList_1.Processors\r\n },\r\n 'minecraft:list_pool_element': {\r\n elements: (0, core_1.ListNode)(Reference('template_element'))\r\n },\r\n 'minecraft:single_pool_element': {\r\n location: StringNode({ validator: 'resource', params: { pool: '$structure' } }),\r\n processors: ProcessorList_1.Processors\r\n }\r\n }\r\n }, { context: 'template_element', disableSwitchContext: true }), {\r\n default: () => ({\r\n element_type: 'minecraft:single_pool_element',\r\n projection: 'rigid',\r\n processors: 'minecraft:empty'\r\n })\r\n }));\r\n}\r\nexports.initTemplatePoolSchemas = initTemplatePoolSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initWorldgenSchemas = void 0;\r\nconst Biome_1 = require(\"./Biome\");\r\nconst Carver_1 = require(\"./Carver\");\r\nconst Decorator_1 = require(\"./Decorator\");\r\nconst Feature_1 = require(\"./Feature\");\r\nconst NoiseSettings_1 = require(\"./NoiseSettings\");\r\nconst ProcessorList_1 = require(\"./ProcessorList\");\r\nconst StructureFeature_1 = require(\"./StructureFeature\");\r\nconst SurfaceBuilder_1 = require(\"./SurfaceBuilder\");\r\nconst TemplatePool_1 = require(\"./TemplatePool\");\r\nfunction initWorldgenSchemas(schemas, collections) {\r\n // `ProcessorList.ts` has exports. It should be initialized first. \r\n (0, ProcessorList_1.initProcessorListSchemas)(schemas, collections);\r\n (0, Biome_1.initBiomeSchemas)(schemas, collections);\r\n (0, Carver_1.initCarverSchemas)(schemas, collections);\r\n (0, Decorator_1.initDecoratorSchemas)(schemas, collections);\r\n (0, Feature_1.initFeatureSchemas)(schemas, collections);\r\n (0, NoiseSettings_1.initNoiseSettingsSchemas)(schemas, collections);\r\n (0, StructureFeature_1.initStructureFeatureSchemas)(schemas, collections);\r\n (0, SurfaceBuilder_1.initSurfaceBuilderSchemas)(schemas, collections);\r\n (0, TemplatePool_1.initTemplatePoolSchemas)(schemas, collections);\r\n}\r\nexports.initWorldgenSchemas = initWorldgenSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initWorldSettingsSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initWorldSettingsSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('world_settings', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n generate_features: (0, core_1.BooleanNode)(),\r\n bonus_chest: (0, core_1.BooleanNode)(),\r\n seed: (0, core_1.NumberNode)({ integer: true }),\r\n dimensions: (0, core_1.MapNode)(StringNode({ validator: 'resource', params: { pool: '$dimension' } }), Reference('dimension'))\r\n }, { context: 'world_settings' }), {\r\n default: () => {\r\n const seed = Math.floor(Math.random() * (4294967296)) - 2147483648;\r\n return {\r\n generate_features: true,\r\n bonus_chest: false,\r\n seed,\r\n dimensions: {\r\n 'minecraft:overworld': {\r\n type: 'minecraft:overworld',\r\n generator: {\r\n type: 'minecraft:noise',\r\n seed,\r\n biome_source: {\r\n type: 'minecraft:vanilla_layered',\r\n seed\r\n },\r\n settings: 'minecraft:overworld',\r\n }\r\n },\r\n 'minecraft:the_nether': {\r\n type: 'minecraft:the_nether',\r\n generator: {\r\n type: 'minecraft:noise',\r\n seed,\r\n biome_source: {\r\n type: 'minecraft:multi_noise',\r\n seed,\r\n humidity_noise: {\r\n firstOctave: -7,\r\n amplitudes: [1.0, 1.0]\r\n },\r\n altitude_noise: {\r\n firstOctave: -7,\r\n amplitudes: [1.0, 1.0]\r\n },\r\n weirdness_noise: {\r\n firstOctave: -7,\r\n amplitudes: [1.0, 1.0]\r\n },\r\n temperature_noise: {\r\n firstOctave: -7,\r\n amplitudes: [1.0, 1.0]\r\n },\r\n biomes: [\r\n {\r\n parameters: { altitude: 0.0, weirdness: 0.0, offset: 0.0, temperature: 0.0, humidity: 0.0 },\r\n biome: 'minecraft:nether_wastes'\r\n },\r\n {\r\n parameters: { altitude: 0.0, weirdness: 0.0, offset: 0.0, temperature: 0.0, humidity: -0.5 },\r\n biome: 'minecraft:soul_sand_valley'\r\n },\r\n {\r\n parameters: { altitude: 0.0, weirdness: 0.0, offset: 0.0, temperature: 0.4, humidity: 0.0 },\r\n biome: 'minecraft:crimson_forest'\r\n },\r\n {\r\n parameters: { altitude: 0.0, weirdness: 0.0, offset: 0.375, temperature: 0.0, humidity: 0.5 },\r\n biome: 'minecraft:warped_forest'\r\n },\r\n {\r\n parameters: { altitude: 0.0, weirdness: 0.0, offset: 0.175, temperature: -0.5, humidity: 0.0 },\r\n biome: 'minecraft:basalt_deltas'\r\n }\r\n ]\r\n },\r\n settings: 'minecraft:nether'\r\n }\r\n },\r\n 'minecraft:the_end': {\r\n type: \"minecraft:the_end\",\r\n generator: {\r\n type: \"minecraft:noise\",\r\n seed,\r\n biome_source: {\r\n type: \"minecraft:the_end\",\r\n seed\r\n },\r\n settings: \"minecraft:end\"\r\n }\r\n }\r\n }\r\n };\r\n }\r\n }));\r\n}\r\nexports.initWorldSettingsSchemas = initWorldSettingsSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initSchemas = void 0;\r\nconst Advancement_1 = require(\"./Advancement\");\r\nconst assets_1 = require(\"./assets\");\r\nconst Common_1 = require(\"./Common\");\r\nconst Condition_1 = require(\"./Condition\");\r\nconst Dimension_1 = require(\"./Dimension\");\r\nconst DimensionType_1 = require(\"./DimensionType\");\r\nconst ItemModifier_1 = require(\"./ItemModifier\");\r\nconst LootTable_1 = require(\"./LootTable\");\r\nconst PackMcmeta_1 = require(\"./PackMcmeta\");\r\nconst Predicates_1 = require(\"./Predicates\");\r\nconst Recipe_1 = require(\"./Recipe\");\r\nconst Tags_1 = require(\"./Tags\");\r\nconst TextComponent_1 = require(\"./TextComponent\");\r\nconst worldgen_1 = require(\"./worldgen\");\r\nconst WorldSettings_1 = require(\"./WorldSettings\");\r\nfunction initSchemas(schemas, collections) {\r\n // `Common.ts` is the only file that has exports. It should be initialized first. \r\n (0, Common_1.initCommonSchemas)(schemas, collections);\r\n (0, Advancement_1.initAdvancementSchemas)(schemas, collections);\r\n (0, assets_1.initAssetsSchemas)(schemas, collections);\r\n (0, Condition_1.initConditionSchemas)(schemas, collections);\r\n (0, DimensionType_1.initDimensionTypeSchemas)(schemas, collections);\r\n (0, Dimension_1.initDimensionSchemas)(schemas, collections);\r\n (0, ItemModifier_1.initItemModifierSchemas)(schemas, collections);\r\n (0, LootTable_1.initLootTableSchemas)(schemas, collections);\r\n (0, PackMcmeta_1.initPackMcmetaSchemas)(schemas, collections);\r\n (0, Predicates_1.initPredicatesSchemas)(schemas, collections);\r\n (0, Recipe_1.initRecipeSchemas)(schemas, collections);\r\n (0, Tags_1.initTagsSchemas)(schemas, collections);\r\n (0, TextComponent_1.initTextComponentSchemas)(schemas, collections);\r\n (0, worldgen_1.initWorldgenSchemas)(schemas, collections);\r\n (0, WorldSettings_1.initWorldSettingsSchemas)(schemas, collections);\r\n}\r\nexports.initSchemas = initSchemas;\r\n","\"use strict\";\r\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}));\r\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n});\r\nvar __importStar = (this && this.__importStar) || function (mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.getSchemas = exports.getCollections = exports.lootContext = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Collections_1 = require(\"./Collections\");\r\nconst schemas_1 = require(\"./schemas\");\r\nexports.lootContext = __importStar(require(\"./LootContext\"));\r\nfunction getCollections() {\r\n const collections = new core_1.CollectionRegistry();\r\n (0, Collections_1.initCollections)(collections);\r\n return collections;\r\n}\r\nexports.getCollections = getCollections;\r\n/**\r\n * @param collections The CollectionRegistry for this version. Note that apart from\r\n * the built-in collections, the client of this module is responsible for futhermore\r\n * adding the vanilla registries to it: the collection IDs shouldn't contain the\r\n * namespace (`minecraft:`) part, while the values within the collections should.\r\n *\r\n * @example\r\n * for (const key in VANILLA_REGISTRIES>) {\r\n * collections.register(\r\n * key.replace(/^minecraft:/, ''),\r\n * Object.keys(VANILLA_REGISTRIES[key].entries)\r\n * )\r\n * }\r\n */\r\nfunction getSchemas(collections) {\r\n const schemas = new core_1.SchemaRegistry();\r\n (0, schemas_1.initSchemas)(schemas, collections);\r\n return schemas;\r\n}\r\nexports.getSchemas = getSchemas;\r\n"],"names":["core_1","require$$0","require$$1","Common_1","require$$2","ProcessorList_1","require$$3","require$$4","require$$5","require$$6","require$$7","require$$8","require$$9","require$$10","require$$11","require$$12","require$$13","require$$14","this"],"mappings":"+1BACA,OAAO,eAAe,GAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EACrC,GAAA,gBAAG,OAC1B,YAAyB,EAAa,CAClC,EAAY,SAAS,sBAAuB,CACxC,+BACA,yBACA,0BACA,8BACA,gCACA,6BACA,yBACA,kCACA,4BACA,2BACA,wBACA,+BACA,iCACA,0BACA,+BACA,gCACA,uBACA,8BACA,oCACA,+BACA,+BACA,uBACA,6BACA,qBACA,0BACA,yBACA,4CACA,+BACA,0CACA,iCACA,4BACA,0BACA,yBACA,6BACA,2BACA,4BACA,wBACA,uBACA,iBACA,4CACA,2BACA,uBACA,uBACA,2BACA,2BACR,CAAK,EACD,EAAY,SAAS,YAAa,CAC9B,sBACA,uBACA,mBACR,CAAK,EACD,EAAY,SAAS,iBAAkB,CACnC,sBACA,uBACA,mBACR,CAAK,EACD,EAAY,SAAS,UAAW,CAC5B,mBACA,aACA,WACA,WACA,cACA,WACA,cACA,iBACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,gBACA,WACA,WACA,2BACA,eACA,iBACA,YACA,2BACA,iBACA,mBACA,YACA,wBACA,aACA,kBACA,wBACA,SACR,CAAK,EACD,EAAY,SAAS,OAAQ,CACzB,WACA,UACA,OACA,QACA,OACA,MACR,CAAK,EACD,EAAY,SAAS,WAAY,CAC7B,WACA,WACA,YACA,WACR,CAAK,EACD,EAAY,SAAS,0BAA2B,CAC5C,sBACA,mBACA,gBACA,sBACA,kBACA,4BACR,CAAK,EACD,EAAY,SAAS,gBAAiB,CAClC,OACA,SACA,gBACA,eACR,CAAK,EACD,EAAY,SAAS,cAAe,CAChC,eACA,OACA,SACA,eACR,CAAK,EACD,EAAY,SAAS,iCAAkC,CACnD,gCACA,sCACA,qBACR,CAAK,EACD,EAAY,SAAS,iBAAkB,CACnC,UACA,WACA,SACA,QACA,aACA,cACA,WACA,eACA,iBACA,oBACA,QACA,eACA,gBACA,iBACA,oBACA,gBACA,cACA,cACA,cACA,oBACA,cACA,gBACA,cACA,eACA,eACA,aACA,cACR,CAAK,EACD,EAAY,SAAS,cAAe,CAChC,kBACA,kBACA,iBACA,UACA,WACA,QACA,iBACA,UACA,YACA,WACA,gBACA,aACA,mBACA,gBACA,YACA,aACA,YACA,SACR,CAAK,EACD,EAAY,SAAS,eAAgB,CACjC,MACA,iBACA,aACA,gBACA,YACA,qBACA,WACA,cACA,OACA,cACA,iBACA,oBACA,SACA,gBACA,cACA,qBACA,eACA,SACA,kBACA,wBACA,OACA,YACA,aACA,WACA,UACA,kBACA,gBACA,aACA,WACA,cACA,aACA,SACA,OACA,OACA,QACA,WACA,YACA,SACA,iBACR,CAAK,EACD,EAAY,SAAS,8BAA+B,CAChD,mBACA,yBACA,8BACA,mBACA,yBACA,0BACA,4BACA,2BACA,2BACA,wBACA,uBACA,kBACA,6BACA,qBACA,wBACA,iCACA,kCACA,kCACA,iCACA,iCACA,yBACA,sCACA,kCACA,0BACA,yCACA,uCACA,qBACA,kBACA,wBACA,sBACA,wBACA,sBACA,gCACA,wBACA,iCACA,uBACA,sBACA,gCACA,+BACA,+BACA,sBACA,2BACA,0BACA,mCACA,yBACA,yBACA,wBACA,gCACA,4CACA,qCACA,wBACA,mBACA,6BACA,4BACA,sBACA,gCACA,8BACA,sBACA,sBACA,yBACA,2BACA,wBACA,gCACA,wBACA,sBACA,sBACA,sBACA,uBACA,iCACA,6BACA,sBACA,wBACA,yBACA,sCACA,2BACA,yBACA,0BACA,yBACA,yBACA,gBACA,yBACA,2BACA,qBACA,6BACA,6BACA,wBACA,wBACA,qBACA,wBACA,4BACA,2BACA,4BACA,qBACA,wBACA,8BACA,uBACA,yBACA,qBACA,sBACA,sBACA,8BACA,8BACA,yBACA,0BACA,6BACA,kCACA,+BACA,iCACA,mCACA,gCACA,yBACA,gCACA,8BACA,qCACA,4BACA,uBACA,iCACA,+BACA,+BACA,+BACA,8BACA,gCACA,gCACA,8BACA,6BACA,wBACA,0BACA,+BACA,4BACA,sCACA,oCACA,mCACA,6BACA,4BACA,8BACA,+BACA,6BACA,6BACA,qBACA,qBACA,uBACA,yBACA,sBACA,iBACA,6BACA,+BACA,gCACA,gCACA,+BACA,+BACA,uBACA,0BACA,+BACA,+BACA,0BACA,4BACA,2BACA,4BACA,2BACA,0BACA,iCACA,iCACA,0BACA,yBACA,+BACA,wBACA,wBACA,yBACA,yBACA,mBACA,kCACA,uBACA,6BACA,wBACA,+BACA,wBACA,8BACA,yBACA,gCACA,2BACA,0BACA,oCACA,wBACA,2BACA,kBACA,gCACA,kCACA,qCACA,iCACA,yBACA,yBACR,CAAK,EACD,EAAY,SAAS,wCAAyC,CAC1D,4BACA,4BACA,2BACA,qBACA,qBACA,kBACA,2BACA,oBACA,2BACA,sBACA,qBACA,0BACA,4BACA,4BACA,6BACA,iCACA,iCACA,mCACA,iCACA,gCACA,gCACA,0BACA,8BACA,sBACA,uBACA,sBACA,2BACA,2BACA,4BACA,0BACA,yBACR,CAAK,EACD,EAAY,SAAS,sCAAuC,CACxD,qBACA,0BACA,2BACA,mBACA,gBACA,4BACA,yBACA,sBACA,6BACA,kBACA,8BACA,uBACA,qBACA,qBACA,mBACA,iBACA,uBACA,8BACA,6BACA,kBACA,kBACA,0BACA,2BACR,CAAK,EACD,EAAY,SAAS,iBAAkB,CACnC,QACA,SACA,gBACA,SACA,MACA,SACA,OACA,WACA,SACA,OACA,QACA,SACA,QACA,UACA,QACA,QACA,UACA,aACR,CAAK,EACD,EAAY,SAAS,iBAAkB,CACnC,kBACA,4BACA,cACA,iBACA,gBACA,kBACR,CAAK,EACD,EAAY,SAAS,kBAAmB,CACpC,MACA,QACR,CAAK,EACD,EAAY,SAAS,oBAAqB,CACtC,kBACA,kBACA,oBACA,qBACA,oBACA,mBACA,iBACA,mBACA,+BACA,+BACA,oBACA,iBACR,CAAK,EACD,EAAY,SAAS,iBAAkB,CACnC,OACA,qBACA,sBACA,kBACA,mBACA,gBACA,aACA,cACA,eACA,gBACA,gBACA,mBACA,kBACA,gBACA,QACA,iBACA,kBACA,eACA,mBACA,gBACA,gBACA,oBACA,mBACA,iBACA,SACA,UACA,gBACA,kBACA,sBACA,yBACA,SACA,eACA,WACA,cACA,SACA,QACA,UACA,QACA,SACA,SACA,QACR,CAAK,EACD,EAAY,SAAS,YAAa,CAC9B,QACA,SACA,UACA,aACA,SACA,OACA,OACA,OACA,aACA,OACA,SACA,OACA,QACA,QACA,MACA,OACR,CAAK,EACD,EAAY,SAAS,cAAe,CAChC,gCACA,gCACA,8BACA,kCACA,4CACA,iCACA,kCACA,kCACA,gCACA,iCACA,mCACR,CAAK,CACL,CACA,GAAA,gBAA0B,mBCplB1B,OAAO,eAAe,GAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EAC9B,GAAA,uBAAG,OACjC,KAAMA,GAASC,EACf,YAAgC,EAAS,EAAa,CAClD,KAAM,GAAYD,EAAO,UAAU,KAAK,OAAW,CAAO,EACpD,EAAaA,EAAO,WAAW,KAAK,OAAW,CAAW,EAC1D,KAAsBA,EAAO,YAAY,CAC3C,CACI,KAAM,SACN,KAAM,GAAIA,EAAO,KAAK,EAAU,kBAAkB,CAAC,EACnD,OAAQ,GAAK,CAAE,GAAI,GAAI,EAAI,MAAQ,GAAM,GAAK,EAAE,MAAQ,MAAQ,IAAO,OAAS,OAAS,EAAG,aAAe,MAAQ,IAAO,OAAS,EAAM,CAAA,CAAM,CAClJ,EACD,CACI,KAAM,OACN,KAAM,GAAIA,EAAO,UAAU,EAAU,WAAW,CAAC,EACjD,OAAQ,GAAK,CAAC,CACN,UAAW,8BACX,UAAW,CAC/B,CAAiB,CACR,CACT,EAAO,CAAE,QAAS,YAAY,CAAE,EAC5B,EAAQ,SAAS,cAAe,GAAIA,EAAO,KAAK,GAAIA,EAAO,YAAY,CACnE,QAAS,GAAIA,EAAO,KAAK,GAAIA,EAAO,KAAK,GAAIA,EAAO,YAAY,CAC5D,KAAM,GAAIA,EAAO,YAAY,CACzB,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,MAAM,EAAI,EACpE,IAAK,GAAIA,EAAO,KAAK,EAAW,CAAE,UAAW,MAAO,OAAQ,CAAE,SAAU,CAAE,SAAU,iBAAkB,GAAI,CAAC,MAAO,CAAE,KAAM,MAAQ,CAAA,EAAK,CAAA,CAAE,CAAC,CAC1J,CAAa,EACD,MAAO,EAAU,gBAAgB,EACjC,YAAa,EAAU,gBAAgB,EACvC,WAAgBA,GAAAA,EAAO,KAAK,EAAU,CAAE,EACxC,MAAWA,GAAAA,EAAO,KAAK,EAAW,CAAE,KAAM,CAAC,OAAQ,YAAa,MAAM,CAAG,CAAA,CAAC,EAC1E,WAAgBA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,EACrD,iBAAsBA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,EAC3D,OAAYA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,CAC7D,CAAS,EAAG,CACA,QAAS,IAAO,EACZ,KAAM,CACF,KAAM,iBACT,EACD,MAAO,GACP,YAAa,EAC7B,EACA,CAAS,CAAC,EACF,OAAYA,GAAAA,EAAO,KAAK,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,cAAc,CAAI,CAAA,CAAC,EAC/F,SAAcA,GAAAA,EAAO,SAAS,EAAU,EAAI,EAAU,sBAAsB,CAAC,EAC7E,aAAc,GAAIA,EAAO,KAASA,GAAAA,EAAO,UAAcA,GAAAA,EAAO,UAAU,EAAY,CAC5F,CAAS,CAAC,EACF,QAAS,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAC5C,SAAcA,GAAAA,EAAO,KAAK,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,WAAW,CAAI,CAAA,CAAC,EAC9F,KAAUA,GAAAA,EAAO,KAAK,GAAIA,EAAO,UAAU,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,aAAa,CAAI,CAAA,CAAC,CAAC,EAClH,QAAaA,GAAAA,EAAO,KAAK,GAAIA,EAAO,UAAU,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,SAAS,CAAI,CAAA,CAAC,CAAC,EACjH,WAAY,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,CAAC,CACjF,CAAS,CAAC,CACV,EAAO,CAAE,QAAS,aAAa,CAAE,EAAG,CAC5B,QAAS,IAAO,EACZ,SAAU,CACN,YAAa,CACT,QAAS,oBACZ,CACJ,CACb,EACK,CAAA,CAAC,EACF,EAAQ,SAAS,uBAA4BA,GAAAA,EAAO,YAAY,CAC5D,QAAS,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,EAAY,IAAI,qBAAqB,CAAG,CAAA,CAAE,EACvG,WAAY,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAC/C,OAAYA,GAAAA,EAAO,KAAK,EAAiB,CACrC,QAAS,GAAQ,EAAK,IAAG,EAAG,KAAK,SAAS,EAAE,IAAG,IAAO,sBACtE,CAAa,GACAA,EAAO,QAAS,CAAC,MAAO,CAAE,KAAM,UAAW,GAC3CA,EAAO,MAAO,CACX,+BAAgC,CAC5B,MAAWA,GAAAA,EAAO,KAAK,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,OAAO,CAAI,CAAA,CAAC,EACvF,gBAAiB,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,CAAC,EAC1E,KAAM,GAAIA,EAAO,KAAK,EAAU,gBAAgB,CAAC,CACpD,EACD,yBAA0B,CACtB,OAAQ,EACR,QAAS,EACT,MAAO,CACV,EACD,0BAA2B,CACvB,OAAYA,GAAAA,EAAO,KAAK,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,QAAQ,CAAI,CAAA,CAAC,CAC5F,EACD,8BAA+B,CAC3B,KAAUA,GAAAA,EAAO,KAAK,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,YAAY,CAAI,CAAA,CAAC,EAC3F,GAAQA,GAAAA,EAAO,KAAK,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,YAAY,CAAI,CAAA,CAAC,CAC5F,EACD,gCAAiC,CAC7B,QAAaA,GAAAA,EAAO,KAASA,GAAAA,EAAO,UAAU,CAAe,CAAC,CACjE,EACD,6BAA8B,CAC1B,MAAO,EAAU,YAAY,CAChC,EACD,yBAA0B,CACtB,KAAM,GAAIA,EAAO,KAAK,EAAU,gBAAgB,CAAC,CACpD,EACD,kCAAmC,CAC/B,SAAU,EACV,OAAQ,CACX,EACD,4BAA6B,CACzB,QAAaA,GAAAA,EAAO,KAASA,GAAAA,EAAO,SAAS,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,YAAc,CAAA,CAAE,EAAG,GAAIA,EAAO,YAAY,CACvI,UAAW,EAAU,YAAY,EACjC,SAAU,EAAU,YAAY,CACnC,CAAA,CAAC,CAAC,EACH,OAAYA,GAAAA,EAAO,KAAK,CAAe,CAC1C,EACD,wBAAyB,CACrB,MAAWA,GAAAA,EAAO,KAAK,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,OAAO,CAAI,CAAA,CAAC,EACvF,MAAWA,GAAAA,EAAO,QAASA,EAAO,SAAS,IAAc,IAAc,CAAE,WAAY,CAAE,UAAW,kBAAmB,OAAQ,CAAE,GAAI,CAAC,MAAO,CAAE,KAAM,OAAS,CAAA,EAAK,CAAA,CAAE,CAAC,CACvK,EACD,2BAA4B,CACxB,OAAQ,EAAU,YAAY,EAC9B,KAAM,GAAIA,EAAO,KAAK,EAAU,gBAAgB,CAAC,CACpD,EACD,+BAAgC,CAC5B,OAAQ,GAAIA,EAAO,KAAK,EAAU,kBAAkB,CAAC,CACxD,EACD,iCAAkC,CAC9B,OAAQ,EACR,aAAc,GAAIA,EAAO,KAAK,EAAU,yBAAyB,CAAC,CACrE,EACD,0BAA2B,CACvB,KAAM,GAAIA,EAAO,KAAK,EAAU,gBAAgB,CAAC,CACpD,EACD,+BAAgC,CAC5B,OAAQ,EACR,KAAM,GAAIA,EAAO,KAAK,EAAU,gBAAgB,CAAC,CACpD,EACD,gCAAiC,CAC7B,SAAU,GAAIA,EAAO,KAAK,EAAU,oBAAoB,CAAC,CAC5D,EACD,8BAA+B,CAC3B,MAAO,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAC1C,MAAO,EAAU,YAAY,EAC7B,SAAU,EAAU,YAAY,EAChC,KAAM,EAAU,YAAY,CACpD,CAAqB,CAAC,EACF,MAAO,GAAIA,EAAO,KAAK,GAAIA,EAAO,UAAU,EAAU,gBAAgB,CAAC,CAAC,CAC3E,EACD,oCAAqC,CACjC,MAAO,EAAU,YAAY,EAC7B,WAAY,EAAU,YAAY,EAClC,KAAM,GAAIA,EAAO,KAAK,EAAU,gBAAgB,CAAC,CACpD,EACD,+BAAgC,CAC5B,KAAM,GAAIA,EAAO,KAAK,EAAU,gBAAgB,CAAC,EACjD,SAAU,GAAIA,EAAO,KAAK,EAAU,oBAAoB,CAAC,CAC5D,EACD,+BAAgC,CAC5B,oBAAqB,EAAU,YAAY,EAC3C,QAAaA,GAAAA,EAAO,KAASA,GAAAA,EAAO,UAAU,CAAe,CAAC,CACjE,EACD,uBAAwB,CACpB,SAAU,EAAU,oBAAoB,EACxC,SAAU,EAAU,YAAY,CACnC,EACD,6BAA8B,CAC1B,UAAW,EACX,UAAW,CACd,EACD,qBAAsB,CAClB,SAAU,GAAIA,EAAO,KAAK,EAAU,oBAAoB,CAAC,CAC5D,EACD,0BAA2B,CACvB,SAAU,EAAU,oBAAoB,EACxC,QAAS,GAAIA,EAAO,KAAK,EAAU,oBAAoB,CAAC,EACxD,OAAQ,GAAIA,EAAO,KAAK,EAAU,oBAAoB,CAAC,CAC1D,EACD,yBAA0B,CACtB,MAAWA,GAAAA,EAAO,KAAK,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,OAAO,CAAI,CAAA,CAAC,EACvF,MAAWA,GAAAA,EAAO,QAASA,EAAO,SAAS,IAAc,IAAc,CAAE,WAAY,CAAE,UAAW,kBAAmB,OAAQ,CAAE,GAAI,CAAC,MAAO,CAAE,KAAM,OAAS,CAAA,EAAK,CAAA,CAAE,CAAC,EACpK,KAAM,GAAIA,EAAO,KAAK,EAAU,gBAAgB,CAAC,EACjD,SAAU,GAAIA,EAAO,KAAK,EAAU,oBAAoB,CAAC,CAC5D,EACD,4CAA6C,CACzC,WAAY,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,aAAa,EAAI,CACpF,EACD,+BAAgC,CAC5B,OAAQ,GAAIA,EAAO,KAAK,EAAU,kBAAkB,CAAC,EACrD,OAAQ,CACX,EACD,0CAA2C,CACvC,KAAM,GAAIA,EAAO,KAAK,EAAU,gBAAgB,CAAC,EACjD,OAAQ,CACX,EACD,iCAAkC,CAC9B,OAAQ,EACR,aAAc,GAAIA,EAAO,KAAK,EAAU,yBAAyB,CAAC,CACrE,EACD,4BAA6B,CACzB,OAAQ,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,SAAS,EAAI,CAC5E,EACD,yBAA0B,CACtB,SAAU,GAAIA,EAAO,KAAK,EAAU,oBAAoB,CAAC,CAC5D,EACD,6BAA8B,CAC1B,MAAWA,GAAAA,EAAO,KAAK,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,OAAO,CAAI,CAAA,CAAC,CAC1F,EACD,0BAA2B,CACvB,KAAM,GAAIA,EAAO,KAAK,EAAU,gBAAgB,CAAC,CACpD,EACD,4BAA6B,CACzB,OAAQ,CACX,EACD,wBAAyB,CACrB,OAAQ,CACX,EACD,uBAAwB,CACpB,WAAY,EACZ,QAAS,EACT,gBAAiB,EAAU,YAAY,CAC1C,EACD,4CAA6C,CACzC,OAAQ,EACR,KAAM,GAAIA,EAAO,KAAK,EAAU,gBAAgB,CAAC,CACpD,EACD,2BAA4B,CACxB,SAAU,EAAU,cAAc,CACrC,EACD,uBAAwB,CACpB,KAAM,GAAIA,EAAO,KAAK,EAAU,gBAAgB,CAAC,CACpD,EACD,uBAAwB,CACpB,KAAM,GAAIA,EAAO,KAAK,EAAU,gBAAgB,CAAC,CACpD,EACD,2BAA4B,CACxB,SAAU,EACV,KAAM,GAAIA,EAAO,KAAK,EAAU,gBAAgB,CAAC,CACpD,EACD,4BAA6B,CACzB,SAAU,EAAU,oBAAoB,CAC3C,CACJ,CACb,EAAW,CAAE,QAAS,WAAW,CAAE,CAAC,CACpC,EAAO,CAAE,SAAU,YAAa,QAAS,WAAW,CAAE,CAAC,CACvD,CACA,GAAA,uBAAiC,mBC7OjC,OAAO,eAAe,GAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EACpC,GAAA,iBAAG,OAC3B,KAAMA,GAASC,EACf,YAA0B,EAAS,EAAa,CAC1BD,EAAO,UAAU,KAAK,OAAW,CAAO,EAC1D,KAAM,GAAaA,EAAO,WAAW,KAAK,OAAW,CAAW,EAC1D,EAAM,CAAC,EAAQ,EAAK,OAAYA,EAAO,aAAcA,EAAO,YAAY,CAAE,MAAK,KAAG,CAAE,EAAG,CAAE,UAAW,EAAQ,UAAW,CAAM,CAAE,EAC/H,KAAcA,EAAO,YAAY,CACnC,CACI,KAAM,QACN,MAAO,AAAC,GAAM,MAAO,IAAM,UAAY,EAAE,WAAW,GAAG,EACvD,KAAM,EAAY,EAClB,OAAQ,AAAC,GAAM,MAAO,IAAM,SAAW,IAAI,IAAM,IACpD,EACD,CACI,KAAM,YACN,MAAO,AAAC,GAAM,MAAO,IAAM,SAC3B,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,UAAU,EAAI,EACxE,OAAQ,AAAC,GAAM,MAAO,IAAM,SAAW,EAAE,QAAQ,KAAM,EAAE,EAAI,EAChE,CACT,EAAO,CAAE,cAAe,SAAS,CAAE,EAC/B,EAAQ,SAAS,QAAS,GAAIA,EAAO,KAAK,GAAIA,EAAO,YAAY,CAC7D,OAAYA,GAAAA,EAAO,KAAK,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,QAAQ,CAAI,CAAA,CAAC,EACzF,iBAAsBA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,EAC3D,UAAeA,GAAAA,EAAO,KAAK,EAAW,CAAE,KAAM,WAAW,CAAE,CAAC,EAC5D,SAAU,GAAIA,EAAO,KAAK,GAAIA,EAAO,SAAS,IAAc,CAAO,CAAC,EACpE,SAAU,GAAIA,EAAO,KAAK,GAAIA,EAAO,UAAU,GAAIA,EAAO,YAAY,CAClE,KAAM,EAAI,EAAG,IAAK,EAAE,EACpB,GAAI,EAAI,EAAG,IAAK,EAAE,EAClB,SAAU,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAC7C,OAAQ,EAAI,CAAC,EACb,KAAM,EAAW,CAAE,KAAM,MAAM,CAAE,EACjC,MAAO,GAAIA,EAAO,YAAY,CAAE,OAAQ,CAAC,IAAK,MAAO,EAAG,KAAM,EAAE,CAAC,CAAE,EACnE,QAAaA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,CAClE,CAAa,CAAC,EACF,MAAWA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,EAChD,MAAWA,GAAAA,EAAO,SAAS,EAAW,CAAE,KAAM,YAAa,KAAOA,EAAO,YAAY,CACjF,QAAS,EACT,GAAI,GAAIA,EAAO,KAAK,EAAI,CAAC,CAAC,EAC1B,SAAcA,GAAAA,EAAO,KAAK,EAAW,CAAE,KAAM,WAAW,CAAE,CAAC,EAC3D,SAAU,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,CAAC,EACnE,UAAW,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,CAAC,CACpF,CAAa,CAAC,CACL,EAAE,CAAE,QAAS,eAAiB,CAAA,CAAC,CAAC,EACjC,QAAS,GAAIA,EAAO,KAAK,GAAIA,EAAO,SAAS,EAAW,CAAE,KAAM,kBAAkB,CAAE,EAAOA,GAAAA,EAAO,YAAY,CAC1G,SAAU,EAAI,CAAC,EACf,YAAa,EAAI,EAAG,IAAK,EAAE,EAC3B,MAAO,EAAI,EAAG,GAAI,CAAC,CACtB,EAAE,CAAE,QAAS,gBAAkB,CAAA,CAAC,CAAC,EAClC,UAAW,GAAIA,EAAO,KAAK,GAAIA,EAAO,UAAU,GAAIA,EAAO,YAAY,CACnE,UAAeA,GAAAA,EAAO,SAAS,EAAW,CAAE,KAAM,wBAAyB,KAAOA,EAAO,YAAU,CAAG,EACtG,MAAO,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,QAAQ,EAAI,CAC1E,EAAE,CAAE,QAAS,gBAAkB,CAAA,CAAC,CAAC,CAC1C,EAAO,CAAE,QAAS,OAAO,CAAE,EAAG,CACtB,QAAS,IAAO,EACZ,OAAQ,2BACR,SAAU,CACN,OAAQ,wBACX,CACb,EACK,CAAA,CAAC,CACN,CACA,GAAA,iBAA2B,aC9D3B,OAAO,eAAe,GAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EAC1B,GAAA,2BAAG,OACrC,KAAMA,GAASC,EACf,YAAoC,EAAS,EAAa,CACtD,KAAM,GAAYD,EAAO,UAAU,KAAK,OAAW,CAAO,EACpD,EAAaA,EAAO,WAAW,KAAK,OAAW,CAAW,EAChE,EAAQ,SAAS,mBAAoB,GAAIA,EAAO,KAAK,GAAIA,EAAO,YAAY,CACxE,CACI,KAAM,WACN,MAAO,AAAC,GAAM,EAAE,WAAa,OAC7B,KAAM,GAAIA,EAAO,YAAY,CACzB,SAAcA,GAAAA,EAAO,SAAS,EAAU,EAAI,EAAU,eAAe,CAAC,CACtF,CAAa,EACD,OAAQ,AAAC,GAAO,EAAE,SAAU,CAAE,GAAI,CAAE,CAAA,GACvC,EACD,CACI,KAAM,YACN,MAAO,AAAC,GAAM,EAAE,YAAc,OAC9B,KAAM,GAAIA,EAAO,YAAY,CACzB,UAAW,GAAIA,EAAO,UAAcA,GAAAA,EAAO,YAAY,CACnD,KAAM,GAAIA,EAAO,KAAK,EAAU,qBAAqB,CAAC,EACtD,MAAO,EAAU,eAAe,CACpD,CAAiB,CAAC,CAClB,CAAa,EACD,OAAQ,AAAC,GAAO,EAAE,UAAW,CAAE,KAAM,GAAI,MAAO,CAAE,CAAA,GACrD,CACT,EAAO,CAAE,QAAS,kBAAkB,CAAE,EAAG,CACjC,QAAS,IAAO,EACZ,SAAU,CACN,GAAI,CACA,MAAO,uBACV,CACJ,CACb,EACK,CAAA,CAAC,EACF,KAAM,GAAkB,CACpB,MAAO,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,QAAQ,EAAI,EACvE,EAAOA,GAAAA,EAAO,KAAK,GAAIA,EAAO,YAAY,CAAE,QAAS,GAAM,OAAQ,CAAC,EAAG,GAAI,IAAK,GAAG,CAAC,CAAE,CAAC,EACvF,EAAOA,GAAAA,EAAO,KAAK,GAAIA,EAAO,YAAY,CAAE,QAAS,GAAM,OAAQ,CAAC,EAAG,GAAI,IAAK,GAAG,CAAC,CAAE,CAAC,EACvF,OAAYA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,CACzD,EACI,EAAQ,SAAS,gBAAqBA,GAAAA,EAAO,YAAY,CACrD,CACI,KAAM,SACN,KAAUA,GAAAA,EAAO,YAAY,CAAe,EAC5C,OAAQ,AAAC,GAAM,MAAM,QAAQ,CAAC,GAAK,EAAE,OAAS,EAAI,EAAE,GAAM,CAAA,CAC7D,EACD,CACI,KAAM,OACN,KAAM,GAAIA,EAAO,UAAcA,GAAAA,EAAO,YAAY,QAC3C,GAD2C,CAE9C,OAAYA,GAAAA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,CAAG,CAAA,CAAC,CACzF,GAAe,CAAE,QAAS,eAAe,CAAE,CAAC,EAChC,OAAQ,AAAC,GAAM,CAAC,GAAE,OAAQ,GAAM,EAAG,CACtC,CACJ,EAAE,CAAE,QAAS,eAAiB,CAAA,CAAC,EAChC,EAAQ,SAAS,sBAA2BA,GAAAA,EAAO,YAAY,CAC3D,CACI,KAAM,SACN,SAAU,GACV,MAAO,IAAM,GACb,KAAUA,GAAAA,EAAO,SAAS,EAAY,EAAE,EAAU,CAAE,EACpD,OAAQ,AAAC,GAAM,MAAO,IAAM,UAAY,MAAM,QAAQ,GAAM,KAAuB,OAAS,EAAE,EAAE,GAAK,EAAE,GAAG,OAAS,EAAI,EAAE,GAAG,GAAM,CAAA,CACrI,EACD,CACI,KAAM,KACN,MAAO,AAAC,GAAM,MAAO,IAAM,UAAa,IAAM,KAAuB,OAAS,EAAE,MAAQ,OACxF,KAAM,GAAIA,EAAO,YAAY,CACzB,GAAI,GAAIA,EAAO,UAAU,EAAU,qBAAqB,CAAC,CACzE,CAAa,EACD,OAAQ,AAAC,GAAO,EAAE,GAAI,CAAC,GAAM,KAAuB,EAAI,CAAA,CAAE,CAAC,EAC9D,CACJ,EAAE,CAAE,QAAS,qBAAuB,CAAA,CAAC,CAC1C,CACA,GAAA,2BAAqC,GC1ErC,OAAO,eAAe,GAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EACnC,GAAA,kBAAG,OAC5B,KAAM,IAAUC,GACV,GAAoBC,GAC1B,YAA2B,EAAS,EAAa,CAC7C,AAAA,GAAI,GAAkB,4BAA4B,EAAS,CAAW,EACtE,GAAI,GAAQ,kBAAkB,EAAS,CAAW,CACtD,CACA,GAAA,kBAA4B,yBCR5B,OAAO,eAAc,EAAU,aAAc,CAAE,MAAO,EAAI,CAAE,EAC5D,EAA4B,kBAAA,EAAA,YAAsB,EAAwB,cAAA,EAAA,qBAA+B,EAA+B,qBAAA,EAAA,qBAA+B,uBAA+B,EAAwB,cAAA,EAAA,eAAyB,OACvP,KAAM,GAASD,EACf,EAA+B,qBAAA,CAC3B,UAAW,GACX,QAAS,GACT,YAAa,GACb,qBAAsB,GACtB,UAAW,GACX,UAAW,GACX,aAAc,GACd,YAAa,GACb,iBAAkB,EAClB,cAAe,EACf,eAAgB,IAChB,WAAY,iCACZ,MAAO,EACP,OAAQ,GACZ,EACA,EAA+B,qBAAA,CAC3B,KAAM,sBACN,sBAAuB,IACvB,uBAAwB,EACxB,UAAW,GACX,uBAAwB,GACxB,oBAAqB,GACrB,iBAAkB,GAClB,kBAAmB,GACnB,MAAO,CACH,MAAO,EACP,OAAQ,IACR,eAAgB,EAChB,eAAgB,QAChB,sBAAuB,GACvB,sBAAuB,GACvB,gBAAiB,EACjB,cAAe,EACf,SAAU,CACN,SAAU,EACV,QAAS,EACT,UAAW,GACX,SAAU,GACb,EACD,UAAW,CACP,OAAQ,IACR,KAAM,EACN,OAAQ,CACX,EACD,aAAc,CACV,OAAQ,IACR,KAAM,EACN,OAAQ,CACX,CACJ,EACD,cAAe,CACX,KAAM,iBACT,EACD,cAAe,CACX,KAAM,kBACN,WAAY,CACR,MAAO,GACV,CACJ,CACL,EACA,WAA2B,EAAS,EAAa,CAC7C,KAAM,GAAa,EAAO,WAAW,KAAK,OAAW,CAAW,EAC1D,EAAY,EAAO,UAAU,KAAK,OAAW,CAAO,EAC1D,EAAQ,SAAS,cAAe,GAAI,EAAO,KAAK,GAAI,EAAO,YAAY,CACnE,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,OAAO,EAAI,EACrE,WAAgB,GAAA,EAAO,QAAS,EAAO,SAAS,IAAc,IAAc,CAAE,WAAY,CAAE,UAAW,kBAAmB,OAAQ,CAAE,GAAI,CAAC,MAAO,CAAE,KAAM,MAAQ,CAAA,EAAK,CAAA,CAAE,CAAC,CAChL,EAAO,CAAE,QAAS,aAAa,CAAE,EAAG,CAC5B,QAAS,IAAO,EACZ,KAAM,iBAClB,EACK,CAAA,CAAC,EACF,EAAQ,SAAS,cAAe,GAAI,EAAO,KAAK,GAAI,EAAO,YAAY,CACnE,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,OAAO,EAAI,EACrE,WAAY,GAAI,EAAO,KAAS,GAAA,EAAO,SAAS,EAAU,EAAI,EAAU,CAAE,CAAC,CACnF,EAAO,CAAE,QAAS,aAAa,CAAE,EAAG,CAC5B,QAAS,IAAO,EACZ,KAAM,kBACN,WAAY,CACR,MAAS,GACZ,CACb,EACK,CAAA,CAAC,EACF,EAAQ,SAAS,YAAiB,GAAA,EAAO,KAAS,GAAA,EAAO,aAAc,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,EAAG,CAAE,UAAW,EAAG,UAAW,CAAC,CAAE,EAAG,CAC3I,QAAS,IAAM,CAAC,EAAG,EAAG,CAAC,CAC1B,CAAA,CAAC,EACF,KAAM,GAAS,AAAC,GAAY,GAAI,EAAO,KAAK,GAAI,EAAO,YAAY,CAC/D,CACI,KAAM,SACN,KAAM,GAAI,EAAO,YAAY,CAAE,SAAO,CAAE,EACxC,OAAQ,AAAC,GAAM,CAAE,GAAI,GAAI,EAAI,MAAO,KAAM,OAAY,EAAK,GAAM,GAAK,EAAE,OAAS,MAAQ,IAAO,OAAS,EAAK,EAAE,OAAS,MAAQ,IAAO,OAAS,EAAK,CAAI,CAC7J,EACD,CACI,KAAM,SACN,KAAM,GAAI,EAAO,YAAY,CACzB,IAAK,GAAI,EAAO,KAAK,GAAI,EAAO,YAAY,CAAE,SAAO,CAAE,CAAC,EACxD,IAAK,GAAI,EAAO,KAAK,GAAI,EAAO,YAAY,CAAE,SAAO,CAAE,CAAC,CACxE,EAAe,CAAE,QAAS,QAAS,EACvB,OAAQ,AAAC,GAAO,EACZ,IAAK,GAAM,KAAuB,EAAI,EACtC,IAAK,GAAM,KAAuB,EAAI,CACtD,EACS,CACJ,CAAA,CAAC,EACF,EAAQ,SAAS,aAAc,EAAO,EAAI,CAAC,EAC3C,EAAQ,SAAS,eAAgB,EAAQ,CAAA,EACzC,EAAQ,SAAS,YAAiB,GAAA,EAAO,YAAY,CACjD,CACI,KAAM,SACN,KAAM,GAAI,EAAO,YAAY,CACzB,IAAK,GAAI,EAAO,KAAK,EAAU,iBAAiB,CAAC,EACjD,IAAK,GAAI,EAAO,KAAK,EAAU,iBAAiB,CAAC,CACjE,CAAa,CACJ,EACD,CACI,KAAM,SACN,KAAU,GAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,CACjD,CACJ,EAAE,CAAE,QAAS,OAAS,CAAA,CAAC,EACxB,KAAM,GAAiB,CAAC,EAAM,EAAY,EAAY,EAAe,EAAe,EAAS,IAAU,CACnG,GAAI,IAAc,CAAA,EAClB,AAAI,GACA,OAAO,KAAK,EAAM,EAAc,EAAE,QAAQ,GAAK,CAC3C,GAAY,MAAS,EAAO,KAAK,EAAM,GAAe,GAAI,CACtD,QAAS,GAAQ,EAAK,KAAK,MAAM,EAAE,IAAG,IAAO,MACjE,CAAiB,CACjB,CAAa,EAEL,KAAM,MAAe,EAAO,YAAY,GACpC,KAAM,GAAI,EAAO,KAAS,GAAA,EAAO,KAAK,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,MAAM,CAAA,CAAE,CAAC,EAAG,CAC5F,OAAQ,IAAM,EAC9B,CAAa,GACA,EAAO,QAAS,CAAC,CAAE,KAAM,MAAM,CAAE,GACjC,EAAO,MAAO,GACZ,IACJ,CAAE,UAAS,qBAAsB,EAAM,CAAA,EACpC,EAAU,CAAC,CACT,KAAM,EACN,KAAM,EAAM,GAAe,EAC3C,CAAa,EACL,MAAI,IACA,EAAQ,KAAK,CACT,KAAM,SACN,SAAU,GACV,KAAM,CACtB,CAAa,EAEL,OAAO,KAAK,CAAK,EAAE,QAAQ,GAAK,CAC5B,EAAQ,KAAK,CACT,KAAM,EACN,MAAO,AAAC,GAAM,CACV,GAAI,GAEJ,GAAI,AADS,aAAiB,IAAK,GAAM,KAAuB,OAAS,EAAE,QAAU,MAAQ,IAAO,OAAS,OAAS,EAAG,QAAQ,cAAe,EAAE,KACrI,EACT,MAAO,GACX,KAAM,GAAO,EAAI,OAAO,KAAK,CAAC,EAAI,GAClC,MAAO,OAAO,IAAM,UAAc,KAAS,KAA0B,OAAS,EAAK,UAAY,GAAO,IAAS,KAA0B,OAAS,EAAK,UAAY,GAAM,IAAS,KAA0B,OAAS,EAAK,MAAQ,OACrO,EACD,KAAM,EACN,OAAQ,AAAC,GAAO,EAAE,KAAM,CAAC,EACzC,CAAa,CACb,CAAS,KACU,EAAO,YAAY,EAAS,CAAE,UAAS,cAAe,GAAG,QAAgB,CAAA,CAC5F,EACI,EAAQ,SAAS,kBAAmB,EAAe,4BAA6B,SAAU,QAAS,qBAAsB,oBAAqB,kBAAmB,CAC7J,qBAAsB,CAClB,MAAO,GAAI,EAAO,YAAa,CAClC,EACD,oBAAqB,CACjB,IAAK,EAAU,iBAAiB,EAChC,IAAK,EAAU,iBAAiB,CACnC,EACD,qBAAsB,CAClB,EAAG,EAAU,iBAAiB,EAC9B,EAAG,EAAU,iBAAiB,CACjC,EACD,kBAAmB,CACf,OAAQ,EAAU,0BAA0B,EAC5C,MAAO,EAAW,CAAE,UAAW,WAAW,CAAE,EAC5C,MAAW,GAAA,EAAO,KAAK,GAAI,EAAO,YAAU,CAAG,CAClD,CACJ,CAAA,CAAC,EACF,EAAQ,SAAS,2BAA4B,EAAe,2BAA4B,SAAU,SAAU,oBAAqB,KAAM,iBAAkB,CACrJ,kBAAmB,CACf,KAAM,EAAW,CAAE,UAAW,SAAU,OAAQ,CAAE,OAAQ,WAAY,KAAM,WAAY,cAAe,EAAM,CAAA,CAAE,CAClH,EACD,oBAAqB,CACjB,OAAY,GAAA,EAAO,KAAK,EAAW,CAAE,KAAM,eAAe,CAAE,EAAG,CAAE,QAAS,IAAM,MAAM,CAAE,CAC3F,CACJ,CAAA,CAAC,EACF,EAAQ,SAAS,eAAgB,EAAe,yBAA0B,SAAU,SAAU,oBAAqB,KAAM,eAAgB,CACrI,oBAAqB,CACjB,OAAQ,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,UAAU,EAAI,CAC7E,EACD,oBAAqB,CACjB,OAAY,GAAA,EAAO,KAAK,EAAW,CAAE,KAAM,aAAa,CAAE,EAAG,CAAE,QAAS,IAAM,MAAM,CAAE,CACzF,CACJ,CAAA,CAAC,EACF,gBAAwB,AAAC,GAAW,EAAe,sBAAuB,SAAU,QAAS,qBAAsB,KAAM,iBAAkB,CACvI,qBAAsB,CAClB,MAAW,GAAA,EAAO,YAAY,CAAM,CACvC,EACD,oBAAqB,CACjB,MAAO,GAAI,EAAO,YAAY,CAC1B,cAAmB,GAAA,EAAO,YAAY,CAAM,EAC5C,cAAmB,GAAA,EAAO,YAAY,CAAM,CAC5D,CAAa,CACJ,EACD,2BAA4B,CACxB,MAAO,GAAI,EAAO,YAAY,CAC1B,IAAK,GAAI,EAAO,YAAa,EAC7B,IAAK,GAAI,EAAO,YAAa,EAC7B,KAAM,GAAI,EAAO,YAAa,EAC9B,UAAW,GAAI,EAAO,YAAa,CACnD,CAAa,CACJ,EACD,sBAAuB,CACnB,MAAO,GAAI,EAAO,YAAY,CAC1B,IAAK,GAAI,EAAO,YAAa,EAC7B,IAAK,GAAI,EAAO,YAAa,EAC7B,QAAS,GAAI,EAAO,YAAa,CACjD,CAAa,CACJ,CACT,CAAK,EACD,EAAQ,SAAS,iBAAsB,GAAA,EAAQ,eAAgB,CAAA,EAC/D,cAAsB,AAAC,GAAW,EAAe,oBAAqB,SAAU,QAAS,qBAAsB,KAAM,eAAgB,CACjI,qBAAsB,CAClB,MAAW,GAAA,EAAO,YAAY,GAAE,QAAS,IAAS,EAAQ,CAC7D,EACD,oBAAqB,CACjB,MAAO,GAAI,EAAO,YAAY,CAC1B,cAAmB,GAAA,EAAO,YAAY,GAAE,QAAS,IAAS,EAAQ,EAClE,cAAmB,GAAA,EAAO,YAAY,GAAE,QAAS,IAAS,EAAQ,CAClF,CAAa,CACJ,EACD,6BAA8B,CAC1B,MAAO,GAAI,EAAO,YAAY,CAC1B,cAAmB,GAAA,EAAO,YAAY,GAAE,QAAS,IAAS,EAAQ,EAClE,cAAmB,GAAA,EAAO,YAAY,GAAE,QAAS,IAAS,EAAQ,CAClF,CAAa,CACJ,EACD,oBAAqB,CACjB,MAAO,GAAI,EAAO,YAAY,CAC1B,cAAmB,GAAA,EAAO,YAAY,GAAE,QAAS,IAAS,EAAQ,EAClE,cAAmB,GAAA,EAAO,YAAY,GAAE,QAAS,IAAS,EAAQ,EAClE,OAAQ,EAAU,cAAc,CAChD,CAAa,CACJ,CACT,CAAK,EACD,EAAQ,SAAS,eAAoB,GAAA,EAAQ,aAAc,CAAA,EAC3D,EAAQ,SAAS,kBAAmB,GAAI,EAAO,YAAY,CAAC,WAAY,eAAgB,WAAW,EAAE,IAAI,GAAM,EAC3G,KAAM,EACN,MAAO,GAAM,IAAM,KAAuB,OAAS,EAAE,MAAQ,OAC7D,OAAQ,GAAK,CAAE,GAAI,GAAI,EAAI,EAAI,MAAQ,EAAG,GAAK,GAAM,GAAM,GAAK,EAAE,YAAc,MAAQ,IAAO,OAAS,EAAK,EAAE,gBAAkB,MAAQ,IAAO,OAAS,EAAK,EAAE,aAAe,MAAQ,IAAO,OAAS,EAAK,CAAC,CAAM,EACnN,KAAM,GAAI,EAAO,YAAY,EACxB,GAAI,GAAI,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,MAAO,IAAK,IAAI,CAAE,CAChF,CAAS,CACJ,EAAC,EAAG,CAAE,QAAS,iBAAiB,CAAE,CAAC,EACpC,EAAQ,SAAS,kBAAmB,EAAe,uBAAwB,SAAU,QAAS,qBAAsB,KAAM,kBAAmB,CACzI,qBAAsB,CAClB,MAAO,EAAU,iBAAiB,CACrC,EACD,oBAAqB,CACjB,cAAe,EAAU,iBAAiB,EAC1C,cAAe,EAAU,iBAAiB,CAC7C,EACD,6BAA8B,CAC1B,cAAe,EAAU,iBAAiB,EAC1C,cAAe,EAAU,iBAAiB,EAC1C,MAAW,GAAA,EAAO,KAAS,GAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,CAAG,CAAA,CAAC,CAC3E,EACD,kCAAmC,CAC/B,cAAe,EAAU,iBAAiB,EAC1C,cAAe,EAAU,iBAAiB,EAC1C,MAAW,GAAA,EAAO,KAAS,GAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,CAAG,CAAA,CAAC,CAC3E,EACD,sBAAuB,CACnB,cAAe,EAAU,iBAAiB,EAC1C,cAAe,EAAU,iBAAiB,EAC1C,QAAS,GAAI,EAAO,KAAS,GAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,CAAC,CACrE,CACJ,CAAA,CAAC,EACF,EAAyB,eAAA,CAAC,EAAmB,EAAW,CAAE,KAAM,eAAe,CAAE,IAAO,EACpF,wBAAyB,CACrB,MAAO,GAAI,EAAO,UAAU,EAAU,WAAW,CAAC,CACrD,EACD,iCAAkC,CAC9B,MAAO,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,OAAO,EAAI,EACtE,WAAY,GAAI,EAAO,SAAS,EAAY,EAAE,EAAY,EAAE,CAAE,WAAY,CAAE,UAAW,kBAAmB,OAAQ,CAAE,GAAI,CAAC,MAAO,CAAE,KAAM,OAAO,CAAE,CAAG,CAAA,EAAI,CAC3J,EACD,qCAAsC,CAClC,UAAW,EAAU,yBAAyB,CACjD,EACD,8BAA+B,CAC3B,OAAQ,EACR,UAAW,EAAU,kBAAkB,CAC1C,EACD,0BAA2B,CACvB,OAAQ,EACR,OAAY,GAAA,EAAO,SAAS,EAAW,CAAE,UAAW,YAAa,EAAG,EAAU,WAAW,CAAC,CAC7F,EACD,qBAAsB,CAClB,KAAM,EAAU,WAAW,CAC9B,EACD,6BAA8B,CAC1B,QAAa,GAAA,EAAO,KAAK,GAAI,EAAO,aAAW,CAAG,CACrD,EACD,2BAA4B,CACxB,QAAS,GAAI,EAAO,KAAS,GAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,CAAC,EAClE,QAAS,GAAI,EAAO,KAAS,GAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,CAAC,EAClE,QAAS,GAAI,EAAO,KAAS,GAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,CAAC,EAClE,UAAW,EAAU,oBAAoB,CAC5C,EACD,uBAAwB,CACpB,UAAW,EAAU,gBAAgB,CACxC,EACD,0BAA2B,CACvB,OAAQ,GAAI,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,EAAG,CACpD,EACD,uCAAwC,CACpC,OAAQ,GAAI,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,EAAG,EACjD,mBAAoB,GAAI,EAAO,YAAa,CAC/C,EACD,sBAAuB,CACnB,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,YAAY,EAAI,CAC7E,EACD,wBAAyB,CACrB,YAAa,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,aAAa,EAAI,EAClF,QAAa,GAAA,EAAO,UAAc,GAAA,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,CAAG,CAAA,CAAC,CAC3E,EACD,uBAAwB,CACpB,MAAO,EAAU,WAAW,EAC5B,OAAQ,GAAI,EAAO,KAAS,GAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,CAAC,CACpE,EACD,wBAAyB,CACrB,MAAO,EAAU,iBAAiB,EAClC,MAAO,EAAU,WAAW,CAC/B,EACD,0BAA2B,CACvB,QAAa,GAAA,EAAO,KAAK,GAAI,EAAO,aAAW,CAAG,EAClD,WAAgB,GAAA,EAAO,KAAK,GAAI,EAAO,aAAW,CAAG,CACxD,CACT,GACI,EAAA,cAAwB,CAAC,EAAY,EAAiB,EAAW,CAAE,KAAM,aAAa,CAAE,EAAG,EAAmB,EAAW,CAAE,KAAM,eAAiB,CAAA,IAAM,CACpJ,KAAM,GAAQ,CACV,wBAAyB,CACrB,YAAa,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,aAAa,EAAI,EAClF,QAAS,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,EAAY,IAAI,gCAAgC,CAAG,CAAA,CAAE,EAClH,WAAY,GAAI,EAAO,KAAS,GAAA,EAAO,YAAY,CAC/C,gBAAqB,GAAA,EAAO,KAAK,GAAI,EAAO,YAAU,EAAK,CACvD,QAAS,GAAQ,EAAK,IAAG,EAAG,KAAK,SAAS,EAAE,IAAG,IAAO,+BAC9E,CAAqB,EACD,MAAW,GAAA,EAAO,KAAK,GAAI,EAAO,YAAU,EAAK,CAC7C,QAAS,GAAQ,EAAK,IAAG,EAAG,KAAK,SAAS,EAAE,IAAG,IAAO,qCAC9E,CAAqB,EACD,YAAiB,GAAA,EAAO,KAAK,GAAI,EAAO,YAAU,EAAK,CACnD,QAAS,GAAQ,EAAK,IAAG,EAAG,KAAK,SAAS,EAAE,IAAG,IAAO,qCAC9E,CAAqB,CACrB,CAAiB,EAAG,CACA,QAAS,GAAQ,EAAK,KAAK,SAAS,EAAE,IAAG,IAAO,qBACpE,CAAiB,CACJ,EACD,sBAAuB,CACnB,OAAQ,CACX,EACD,qBAAsB,CAClB,OAAQ,EAAU,cAAc,EAChC,IAAK,GAAI,EAAO,UAAc,GAAA,EAAO,YAAY,CAC7C,OAAQ,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,SAAU,CAAE,OAAQ,cAAe,KAAM,CAAC,MAAO,MAAO,MAAO,CAAE,KAAM,QAAQ,CAAE,CAAG,CAAA,EAAI,EAC9I,OAAQ,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,SAAU,gBAAgB,EAAI,EACpF,GAAI,EAAW,CAAE,KAAM,CAAC,UAAW,SAAU,OAAO,EAAG,CAC3E,EAAmB,CAAE,QAAS,eAAe,CAAE,CAAC,CACnC,EACD,uBAAwB,CACpB,MAAO,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,OAAO,EAAI,EACtE,WAAgB,GAAA,EAAO,UAAU,EAAW,CAAE,UAAW,kBAAmB,OAAQ,CAAE,GAAI,CAAC,MAAO,MAAO,CAAE,KAAM,OAAS,CAAA,CAAG,CAAA,CAAE,CAAC,CACnI,EACD,6BAA8B,CAC1B,aAAkB,GAAA,EAAO,KAAK,GAAI,EAAO,UAAU,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,aAAa,CAAI,CAAA,CAAC,CAAC,CAC7H,EACD,gCAAiC,CAC7B,OAAQ,EAAU,iBAAiB,EACnC,SAAc,GAAA,EAAO,KAAK,GAAI,EAAO,aAAW,CAAG,CACtD,EACD,4BAA6B,CACzB,YAAiB,GAAA,EAAO,KAAK,EAAW,CAAE,KAAM,aAAa,CAAE,CAAC,EAChE,WAAgB,GAAA,EAAO,KAAK,EAAW,CAAE,KAAM,gBAAgB,CAAE,CAAC,EAClE,KAAM,GAAI,EAAO,KAAS,GAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,CAAC,EAC/D,cAAe,GAAI,EAAO,KAAS,GAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,CAAC,EACxE,qBAA0B,GAAA,EAAO,KAAK,GAAI,EAAO,aAAW,CAAG,CAClE,EACD,6BAA8B,CAC1B,OAAQ,CACX,EACD,wBAAyB,CACrB,MAAO,EAAU,WAAW,CAC/B,EACD,4BAA6B,CACzB,MAAO,EAAU,iBAAiB,EAClC,MAAO,GAAI,EAAO,KAAS,GAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,CAAC,CACnE,EACD,2BAA4B,CACxB,UAAW,GAAI,EAAO,UAAU,EAAU,oBAAoB,CAAC,CAClE,EACD,+BAAgC,CAC5B,SAAU,GAAI,EAAO,UAAc,GAAA,EAAO,YAAY,CAClD,QAAS,EAAW,CAAE,KAAM,gBAAgB,CAAE,EAC9C,MAAO,EAAW,CAAE,KAAM,WAAW,CAAE,CAC3D,CAAiB,CAAC,EACF,OAAY,GAAA,EAAO,KAAK,GAAI,EAAO,aAAW,CAAG,CACpD,EACD,yBAA0B,CACtB,QAAS,GAAI,EAAO,UAAU,EAAU,YAAY,CAAC,CACxD,EACD,sBAAuB,CACnB,MAAO,EAAU,iBAAiB,EAClC,IAAS,GAAA,EAAO,KAAK,GAAI,EAAO,aAAW,CAAG,CACjD,EACD,uBAAwB,CACpB,OAAQ,EAAU,iBAAiB,EACnC,IAAS,GAAA,EAAO,KAAK,GAAI,EAAO,aAAW,CAAG,CACjD,EACD,6BAA8B,CAC1B,aAAkB,GAAA,EAAO,SAAS,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,aAAe,CAAA,CAAE,EAAG,EAAU,iBAAiB,CAAC,EACtI,IAAS,GAAA,EAAO,KAAK,GAAI,EAAO,aAAW,CAAG,CACjD,EACD,2BAA4B,CACxB,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,aAAa,EAAI,EAC3E,KAAM,GAAI,EAAO,KAAS,GAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,CAAC,CAClE,EACD,qBAAsB,CAClB,OAAY,GAAA,EAAO,KAAK,CAAgB,EACxC,KAAM,GAAI,EAAO,UAAU,EAAU,gBAAgB,CAAC,EACtD,QAAa,GAAA,EAAO,KAAK,GAAI,EAAO,aAAW,CAAG,CACrD,EACD,qBAAsB,CAClB,OAAY,GAAA,EAAO,KAAK,CAAgB,EACxC,KAAM,GAAI,EAAO,KAAK,EAAU,gBAAgB,CAAC,CACpD,EACD,oBAAqB,CACjB,IAAK,EAAW,CAAE,UAAW,MAAO,OAAQ,CAAE,SAAU,CAAE,SAAU,gBAAgB,CAAI,CAAA,CAAE,CAC7F,EACD,4BAA6B,CACzB,QAAS,GAAI,EAAO,KAAK,GAAI,EAAO,UAAU,GAAI,EAAO,YAAY,CACjE,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,YAAY,EAAI,EAC1E,SAAU,EAAU,iBAAiB,CACxC,CAAA,CAAC,CAAC,CACN,CACb,EACc,EAAM,CAAA,EACZ,SAAY,IAAI,oBAAoB,EAAE,QAAQ,GAAK,CAC/C,EAAI,GAAK,OAAK,EAAM,IAAO,EACvC,CAAS,EACM,CACf,EACI,EAA+B,qBAAA,AAAC,GAAS,GAAI,EAAO,gBAAgB,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,iBAAmB,CAAA,CAAE,EAAG,EAAM,CAClJ,sBAAuB,EAAQ,qBAC/B,uBAAwB,CACpB,KAAM,uBACN,UAAW,GACX,QAAS,GACT,OAAQ,GACR,YAAa,GACb,qBAAsB,GACtB,UAAW,GACX,UAAW,GACX,aAAc,GACd,YAAa,GACb,cAAe,GACf,WAAY,KACZ,eAAgB,IAChB,QAAS,uBACT,WAAY,8BACZ,MAAO,EACP,OAAQ,GACX,EACD,oBAAqB,CACjB,KAAM,oBACN,UAAW,GACX,QAAS,GACT,OAAQ,GACR,YAAa,GACb,qBAAsB,GACtB,UAAW,GACX,UAAW,GACX,aAAc,GACd,YAAa,GACb,cAAe,EACf,WAAY,IACZ,eAAgB,IAChB,QAAS,oBACT,WAAY,2BACZ,MAAO,EACP,OAAQ,GACX,CACT,CAAK,EACD,EAA+B,qBAAA,AAAC,GAAS,GAAI,EAAO,gBAAgB,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,0BAA4B,CAAA,CAAE,EAAG,EAAM,CAC3J,sBAAuB,EAAQ,qBAC/B,mBAAoB,CAChB,KAAM,mBACN,sBAAuB,EACvB,uBAAwB,EACxB,UAAW,GACX,uBAAwB,GACxB,oBAAqB,GACrB,iBAAkB,GAClB,kBAAmB,GACnB,MAAO,CACH,MAAO,EACP,OAAQ,IACR,eAAgB,EAChB,eAAgB,WAChB,sBAAuB,GACvB,sBAAuB,GACvB,gBAAiB,EACjB,cAAe,EACf,SAAU,CACN,SAAU,EACV,QAAS,EACT,UAAW,GACX,SAAU,EACb,EACD,UAAW,CACP,OAAQ,IACR,KAAM,EACN,OAAQ,CACX,EACD,aAAc,CACV,OAAQ,IACR,KAAM,EACN,OAAQ,EACX,CACJ,EACD,cAAe,CACX,KAAM,sBACT,EACD,cAAe,CACX,KAAM,iBACN,WAAY,CACR,MAAO,GACV,CACJ,CACJ,EACD,gBAAiB,CACb,KAAM,gBACN,sBAAuB,IACvB,uBAAwB,IACxB,UAAW,EACX,uBAAwB,GACxB,oBAAqB,GACrB,iBAAkB,GAClB,kBAAmB,GACnB,MAAO,CACH,MAAO,EACP,OAAQ,IACR,eAAgB,EAChB,eAAgB,EAChB,sBAAuB,GACvB,sBAAuB,GACvB,sBAAuB,GACvB,gBAAiB,EACjB,cAAe,EACf,SAAU,CACN,SAAU,EACV,QAAS,EACT,UAAW,GACX,SAAU,GACb,EACD,UAAW,CACP,OAAQ,KACR,KAAM,GACN,OAAQ,GACX,EACD,aAAc,CACV,OAAQ,IACR,KAAM,EACN,OAAQ,CACX,CACJ,EACD,cAAe,CACX,KAAM,qBACT,EACD,cAAe,CACX,KAAM,eACT,CACJ,EACD,sBAAuB,CACnB,KAAM,sBACN,sBAAuB,IACvB,uBAAwB,EACxB,UAAW,GACX,uBAAwB,GACxB,oBAAqB,GACrB,iBAAkB,GAClB,kBAAmB,GACnB,MAAO,CACH,MAAO,EACP,OAAQ,IACR,eAAgB,EAChB,eAAgB,QAChB,sBAAuB,GACvB,sBAAuB,GACvB,UAAW,GACX,gBAAiB,EACjB,cAAe,EACf,SAAU,CACN,SAAU,EACV,QAAS,EACT,UAAW,GACX,SAAU,GACb,EACD,UAAW,CACP,OAAQ,IACR,KAAM,EACN,OAAQ,CACX,EACD,aAAc,CACV,OAAQ,IACR,KAAM,EACN,OAAQ,CACX,CACJ,EACD,cAAe,CACX,KAAM,iBACT,EACD,cAAe,CACX,KAAM,kBACN,WAAY,CACR,MAAO,GACV,CACJ,CACJ,EACD,kBAAmB,CACf,KAAM,kBACN,sBAAuB,EACvB,uBAAwB,EACxB,UAAW,GACX,uBAAwB,GACxB,oBAAqB,GACrB,iBAAkB,GAClB,kBAAmB,GACnB,MAAO,CACH,MAAO,EACP,OAAQ,IACR,eAAgB,EAChB,eAAgB,WAChB,sBAAuB,GACvB,sBAAuB,GACvB,gBAAiB,EACjB,cAAe,EACf,SAAU,CACN,SAAU,EACV,QAAS,EACT,UAAW,GACX,SAAU,EACb,EACD,UAAW,CACP,OAAQ,IACR,KAAM,EACN,OAAQ,CACX,EACD,aAAc,CACV,OAAQ,IACR,KAAM,EACN,OAAQ,EACX,CACJ,EACD,cAAe,CACX,KAAM,iBACT,EACD,cAAe,CACX,KAAM,kBACN,WAAY,CACR,MAAO,GACV,CACJ,CACJ,EACD,6BAA8B,CAC1B,KAAM,6BACN,sBAAuB,IACvB,uBAAwB,IACxB,UAAW,EACX,uBAAwB,GACxB,oBAAqB,GACrB,iBAAkB,GAClB,kBAAmB,GACnB,MAAO,CACH,MAAO,EACP,OAAQ,IACR,eAAgB,EAChB,eAAgB,EAChB,sBAAuB,GACvB,sBAAuB,GACvB,sBAAuB,GACvB,gBAAiB,EACjB,cAAe,EACf,SAAU,CACN,SAAU,EACV,QAAS,EACT,UAAW,GACX,SAAU,GACb,EACD,UAAW,CACP,OAAQ,KACR,KAAM,GACN,OAAQ,GACX,EACD,aAAc,CACV,OAAQ,IACR,KAAM,EACN,OAAQ,CACX,CACJ,EACD,cAAe,CACX,KAAM,iBACT,EACD,cAAe,CACX,KAAM,kBACN,WAAY,CACR,MAAO,GACV,CACJ,CACJ,CACT,CAAK,CACL,CACA,EAAA,kBAA4B,iBCxtB5B,OAAO,eAAe,GAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EAChC,GAAA,qBAAG,OAC/B,KAAMD,GAASC,EACTE,GAAWD,EACjB,YAA8B,EAAS,EAAa,CAChD,KAAM,GAAYF,EAAO,UAAU,KAAK,OAAW,CAAO,EACpD,EAAaA,EAAO,WAAW,KAAK,OAAW,CAAW,EAChE,EAAQ,SAAS,YAAa,GAAIA,EAAO,cAAc,EAAU,WAAW,EAAG,CAAE,cAAe,WAAW,CAAE,CAAC,EAC9G,EAAQ,SAAS,YAAa,GAAIA,EAAO,KAAK,GAAIA,EAAO,YAAY,CACjE,UAAW,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,qBAAqB,EAAI,GACvFA,EAAO,QAAS,CAAC,CAAE,KAAM,WAAW,CAAE,GACtCA,EAAO,MAAWG,GAAAA,GAAS,gBAAiB,CAChD,EAAE,CAAE,SAAU,YAAa,QAAS,WAAa,CAAA,EAAG,CACjD,QAAS,IAAO,EACZ,UAAW,8BACX,OAAQ,MACpB,EACK,CAAA,CAAC,CACN,CACA,GAAA,qBAA+B,aCnB/B,OAAO,eAAe,GAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EAChC,GAAA,qBAAG,OAC/B,KAAMH,GAASC,EACTE,GAAWD,EACjB,YAA8B,EAAS,EAAa,CAChD,KAAM,GAAYF,EAAO,UAAU,KAAK,OAAW,CAAO,EACpD,EAAaA,EAAO,WAAW,KAAK,OAAW,CAAW,EAC1D,EAAW,AAAC,GAAaA,GAAAA,EAAO,KAAK,EAAM,CAC7C,QAAS,GAAQ,EAAK,KAAK,QAAQ,EAAE,IAAG,IAAO,MACvD,CAAK,EACD,EAAQ,SAAS,YAAa,GAAIA,EAAO,KAAK,GAAIA,EAAO,YAAY,CACjE,KAAM,GAAIG,GAAS,sBAAsB,EAAU,gBAAgB,CAAC,EACpE,UAAW,GAAIH,EAAO,YAAY,CAC9B,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,0BAA0B,EAAI,GACvFA,EAAO,QAAS,CAAC,CAAE,KAAM,MAAM,CAAE,GACjCA,EAAO,MAAO,CACX,kBAAmB,CACf,KAAUA,GAAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,EAC9C,SAAU,GAAIG,GAAS,sBAAsB,EAAU,gBAAgB,CAAC,EACxE,aAAc,GAAIH,EAAO,YAAY,CACjC,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,uBAAuB,EAAI,GACpFA,EAAO,QAAS,CAAC,CAAE,KAAM,MAAM,CAAE,GACjCA,EAAO,MAAO,CACX,kBAAmB,CACf,MAAO,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,iBAAiB,EAAI,CACnF,EACD,wBAAyB,CACrB,KAAUA,GAAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,EAC9C,OAAQ,GAAIA,EAAO,KAAK,EAAW,CAAE,KAAM,CAAC,QAAQ,CAAC,CAAE,CAAC,EACxD,eAAgB,EAAS,EAAU,uBAAuB,CAAC,EAC3D,kBAAmB,EAAS,EAAU,uBAAuB,CAAC,EAC9D,eAAgB,EAAS,EAAU,uBAAuB,CAAC,EAC3D,gBAAiB,EAAS,EAAU,uBAAuB,CAAC,EAC5D,OAAQ,EAAaA,GAAAA,EAAO,QAASA,EAAO,UAAU,EAAU,iBAAiB,CAAC,EAAG,CACjF,QAAS,IAAM,CAAC,CACR,MAAO,kBACnD,CAAyC,CACzC,CAAiC,CAAC,CACL,EACD,yBAA0B,CACtB,MAAO,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,EAAI,CAAA,CAAC,EACjF,OAAYA,GAAAA,EAAO,UAAU,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,iBAAiB,CAAI,CAAA,CAAC,CAC1G,EACD,oBAAqB,CACjB,KAAUA,GAAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,CACjD,EACD,4BAA6B,CACzB,KAAUA,GAAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,EAC9C,aAAkBA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,EACvD,wBAA6BA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,CACrE,CACJ,CACJ,EAAE,CAAE,SAAU,YAAa,qBAAsB,EAAI,CAAE,CAC3D,EACD,iBAAkB,CACd,SAAU,GAAIA,EAAO,YAAY,CAC7B,MAAWA,GAAAA,EAAO,KAAK,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,iBAAiB,CAAI,CAAA,CAAC,EACjG,MAAWA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,EAChD,SAAcA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,EACnD,OAAQ,GAAIA,EAAO,UAAU,EAAU,iBAAiB,CAAC,EACzD,WAAY,EAAU,sBAAsB,CACpE,CAAqB,CACJ,CACJ,CACb,EAAW,CAAE,qBAAsB,GAAM,CACpC,EAAE,CAAE,SAAU,OAAQ,QAAS,WAAa,CAAA,EAAG,CAC5C,QAAS,IAAM,CACX,KAAM,GAAO,KAAK,MAAM,KAAK,SAAY,UAAW,EAAI,WACxD,MAAO,CACH,KAAM,sBACN,UAAW,CACP,KAAM,kBACN,OACA,aAAc,CACV,KAAM,kBACN,OACA,MAAO,kBACV,EACD,SAAU,qBACb,CACjB,CACS,CACJ,CAAA,CAAC,EACF,EAAQ,SAAS,kBAAmB,GAAIA,EAAO,KAAK,GAAIA,EAAO,YAAY,CACvE,MAAO,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,iBAAiB,EAAI,EAChF,WAAY,GAAIA,EAAO,YAAY,CAC/B,SAAU,GAAIA,EAAO,YAAa,EAClC,YAAa,GAAIA,EAAO,YAAa,EACrC,SAAU,GAAIA,EAAO,YAAa,EAClC,UAAW,GAAIA,EAAO,YAAa,EACnC,OAAQ,GAAIA,EAAO,YAAa,CAC5C,CAAS,CACT,EAAO,CAAE,QAAS,iBAAiB,CAAE,EAAG,CAChC,QAAS,IAAO,EACZ,MAAO,mBACP,WAAY,CACR,SAAU,EACV,YAAa,EACb,SAAU,EACV,UAAW,EACX,OAAQ,CACX,CACb,EACK,CAAA,CAAC,EACF,EAAQ,SAAS,wBAAyB,GAAIA,EAAO,KAAK,GAAIA,EAAO,YAAY,CAC7E,YAAiBA,GAAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,EACrD,WAAgBA,GAAAA,EAAO,UAAU,GAAIA,EAAO,YAAU,CAAG,CACjE,EAAO,CAAE,QAAS,uBAAuB,CAAE,EAAG,CACtC,QAAS,IAAO,EACZ,YAAa,GACb,WAAY,CAAC,EAAG,CAAC,CAC7B,EACK,CAAA,CAAC,CACN,CACA,GAAA,qBAA+B,aClH/B,OAAO,eAAe,GAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EAC5B,GAAA,yBAAG,OACnC,KAAMA,GAASC,EACTE,GAAWD,EACjB,YAAkC,EAAS,EAAa,CACpD,KAAM,GAAaF,EAAO,WAAW,KAAK,OAAW,CAAW,EAChE,EAAQ,SAAS,iBAAkB,GAAIA,EAAO,KAAK,GAAIA,EAAO,YAAY,CACtE,KAAM,GAAIA,EAAO,KAAK,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,kBAAmB,aAAc,EAAI,CAAI,CAAA,EAAG,CAClH,QAAS,AAAC,GAAS,EAAK,SAAU,EAAC,OAAS,CACxD,CAAS,EACD,UAAW,GAAIA,EAAO,aAAc,EACpC,QAAS,GAAIA,EAAO,aAAc,EAClC,YAAa,GAAIA,EAAO,aAAc,EACtC,qBAAsB,GAAIA,EAAO,aAAc,EAC/C,UAAW,GAAIA,EAAO,aAAc,EACpC,UAAW,GAAIA,EAAO,aAAc,EACpC,aAAc,GAAIA,EAAO,aAAc,EACvC,YAAa,GAAIA,EAAO,aAAc,EACtC,iBAAkB,GAAIA,EAAO,YAAY,CAAE,IAAK,KAAS,IAAK,IAAU,EACxE,cAAe,GAAIA,EAAO,YAAa,EACvC,WAAY,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,CAAC,EACrE,eAAoBA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,KAAM,EAC3E,QAAaA,GAAAA,EAAO,KAAK,EAAW,CAAE,KAAM,CAAC,sBAAuB,uBAAwB,mBAAmB,CAAG,CAAA,CAAC,EACnH,WAAY,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,YAAY,EAAI,EAChF,MAAWA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,MAAO,IAAK,IAAI,CAAE,EACtE,OAAYA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,KAAM,CACtE,EAAE,CAAE,QAAS,gBAAkB,CAAA,EAAG,GAAS,EACxC,QAAS,IAAMG,GAAS,qBACxB,SAAU,CAAC,EAAM,EAAO,EAAQ,IAC5B,GAAQ,EAAK,SAAS,EAAM,EAAO,EAAQ,CAAO,EAC7C,IAAU,KAA2B,OAAS,EAAM,OAAU,IAAU,KAA2B,OAAS,EAAM,QAAU,MAC7H,EAAO,IAAI,EAAK,KAAK,QAAQ,EAAG,0BAA2B,IAAI,EAE9D,IAAU,KAA2B,OAAS,EAAM,gBAAmB,IAAU,KAA2B,OAAS,EAAM,SAC5H,EAAO,IAAI,EAAK,KAAK,gBAAgB,EAAG,sBAAsB,EAE7D,IAAU,KAA2B,OAAS,EAAM,QAAU,KAAO,GACtE,EAAO,IAAI,EAAK,KAAK,QAAQ,EAAG,wBAAyB,EAAE,EAE1D,IAAU,KAA2B,OAAS,EAAM,OAAS,KAAO,GACrE,EAAO,IAAI,EAAK,KAAK,OAAO,EAAG,uBAAwB,EAAE,EAEtD,EAEd,EAAC,CAAC,CACP,CACA,GAAA,yBAAmC,aC9CnC,OAAO,eAAe,GAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EAC7B,GAAA,wBAAG,OAClC,KAAMH,GAASC,EACTE,GAAWD,EACjB,YAAiC,EAAS,EAAa,CACnD,KAAM,GAAYF,EAAO,UAAU,KAAK,OAAW,CAAO,EACpD,EAAaA,EAAO,WAAW,KAAK,OAAW,CAAW,EAChE,EAAQ,SAAS,gBAAiB,GAAIA,EAAO,cAAc,EAAU,UAAU,EAAG,CAAE,cAAe,UAAU,CAAE,CAAC,EAChH,KAAM,GAAa,CACf,WAAY,GAAIA,EAAO,KAAK,GAAIA,EAAO,UAAU,EAAU,WAAW,CAAC,CAAC,CAChF,EACI,EAAQ,SAAS,WAAY,GAAIA,EAAO,KAAK,GAAIA,EAAO,YAAY,CAChE,SAAU,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,oBAAoB,EAAI,GACrFA,EAAO,QAAS,CAAC,CAAE,KAAM,UAAU,CAAE,GACrCA,EAAO,MAAWG,GAAAA,GAAS,eAAe,CAAU,CACxD,EAAE,CAAE,SAAU,WAAY,QAAS,UAAY,CAAA,EAAG,CAC/C,QAAS,IAAM,CAAC,CACR,SAAU,sBACV,MAAO,CACvB,CAAa,CACR,CAAA,CAAC,CACN,CACA,GAAA,wBAAkC,kBCtBlC,OAAO,eAAe,EAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EACvC,EAAA,cAAyB,EAAA,eAA0B,EAAA,gBAA4B,EAAA,kBAAyB,EAAA,eAAG,OAC1G,EAAA,eAAG,GAAI,KAAI,CAC7B,CAAC,+BAAgC,CAAE,SAAU,CAAC,EAAgB,GAAqB,OAAQ,CAAA,EAAI,EAC/F,CAAC,+BAAgC,CAAE,SAAU,CAAC,EAAgB,GAAqB,OAAQ,CAAA,EAAI,EAC/F,CAAC,mBAAoB,CAAE,SAAU,CAAC,CAAC,EAAoB,OAAQ,CAAA,EAAI,EACnE,CAAC,kBAAmB,CAAE,SAAU,CAAC,EAAoB,EAAgB,GAAe,OAAQ,CAAC,EAAqB,EAAyB,CAAmB,CAAA,CAAE,EAChK,CAAC,kBAAmB,CAAE,SAAU,CAAC,CAAe,EAAE,OAAQ,CAAC,CAAC,EAAoB,EAChF,CAAC,oBAAqB,CAAE,SAAU,CAAC,CAAe,EAAE,OAAQ,CAAC,CAAC,EAAoB,EAClF,CAAC,kBAAmB,CAAE,SAAU,CAAE,EAAE,OAAQ,CAAE,CAAA,CAAE,EAChD,CAAC,mBAAoB,CAAE,SAAU,CAAC,EAAsB,EAAgB,GAAqB,OAAQ,CAAC,EAA4B,EAAsB,CAAyB,CAAA,CAAE,EACnL,CAAC,oBAAqB,CAAE,SAAU,CAAC,EAAgB,CAAC,EAAc,OAAQ,CAAC,CAAC,EAAoB,EAChG,CAAC,oBAAqB,CAAE,SAAU,CAAC,EAAsB,EAAqB,EAAoB,EAA4B,EAAyB,EAAsB,EAA0B,EAAgB,EAAoB,CAAC,EAAc,OAAQ,CAAA,EAAI,EACtQ,CAAC,iBAAkB,CAAE,SAAU,CAAC,EAAgB,GAAqB,OAAQ,CAAA,EAAI,EACjF,CAAC,qBAAsB,CAAE,SAAU,CAAC,CAAe,EAAE,OAAQ,CAAC,CAAC,EAAoB,CACvF,CAAC,EAIwB,EAAA,kBAAG,GAAI,KAAI,CAChC,CAAC,gBAAiB,CAAC,EAA2B,EAC9C,CAAC,SAAU,CAAC,EAAqB,EACjC,CAAC,gBAAiB,CAAC,EAAqB,EACxC,CAAC,OAAQ,CAAC,EAAmB,CACjC,CAAC,EAIsB,EAAA,gBAAG,GAAI,KAAI,CAC9B,CAAC,eAAgB,CAAC,EAAoB,EACtC,CAAC,SAAU,CAAC,EAAqB,EACjC,CAAC,gBAAiB,CAAC,EAAqB,EACxC,CAAC,OAAQ,CAAC,EAAmB,CACjC,CAAC,EAIqB,EAAA,eAAG,GAAI,KAAI,CAC7B,CAAC,wBAAyB,CAAA,CAAE,EAC5B,CAAC,iCAAkC,CAAC,EAAmB,EACvD,CAAC,qCAAsC,CAAC,EAAqB,EAC7D,CAAC,8BAA+B,CAAC,EAAe,EAChD,CAAC,0BAA2B,CAAA,CAAE,EAC9B,CAAC,qBAAsB,CAAA,CAAE,EACzB,CAAC,6BAA8B,CAAC,EAAyB,EACzD,CAAC,2BAA4B,CAAA,CAAE,EAC/B,CAAC,uBAAwB,CAAC,EAAa,EACvC,CAAC,0BAA2B,CAAA,CAAE,EAC9B,CAAC,uCAAwC,CAAC,EAAqB,EAC/D,CAAC,sBAAuB,CAAA,CAAE,EAC1B,CAAC,+BAAgC,CAAC,EAAwB,EAC1D,CAAC,wBAAyB,CAAC,EAAa,EACxC,CAAC,uBAAwB,CAAA,CAAE,EAC3B,CAAC,0BAA2B,CAAA,CAAE,CAClC,CAAC,EAIoB,EAAA,cAAG,GAAI,KAAI,CAC5B,CAAC,wBAAyB,CAAC,EAAa,EACxC,CAAC,sBAAuB,CAAA,CAAE,EAC1B,CAAC,qBAAsB,CAAA,CAAE,EACzB,CAAC,uBAAwB,CAAC,EAAmB,EAC7C,CAAC,6BAA8B,CAAA,CAAE,EACjC,CAAC,gCAAiC,CAAA,CAAE,EACpC,CAAC,4BAA6B,CAAC,EAAe,EAC9C,CAAC,4BAA6B,CAAA,CAAE,EAChC,CAAC,6BAA8B,CAAA,CAAE,EACjC,CAAC,0BAA2B,CAAA,CAAE,EAC9B,CAAC,wBAAyB,CAAA,CAAE,EAC5B,CAAC,4BAA6B,CAAC,EAAqB,EACpD,CAAC,2BAA4B,CAAA,CAAE,EAC/B,CAAC,+BAAgC,CAAA,CAAE,EACnC,CAAC,yBAA0B,CAAA,CAAE,EAC7B,CAAC,sBAAuB,CAAA,CAAE,EAC1B,CAAC,uBAAwB,CAAA,CAAE,EAC3B,CAAC,2BAA4B,CAAA,CAAE,EAC/B,CAAC,qBAAsB,CAAA,CAAE,EACzB,CAAC,qBAAsB,CAAA,CAAE,EACzB,CAAC,oBAAqB,CAAA,CAAE,EACxB,CAAC,4BAA6B,CAAA,CAAE,CACpC,CAAC,ECjFD,OAAO,eAAe,GAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EAChC,GAAA,qBAAG,OAC/B,KAAMH,GAASC,EACT,GAAgBC,EAChBC,GAAWC,EACjB,YAA8B,EAAS,EAAa,CAChD,KAAM,GAAYJ,EAAO,UAAU,KAAK,OAAW,CAAO,EACpD,EAAaA,EAAO,WAAW,KAAK,OAAW,CAAW,EAC1D,EAAa,CACf,WAAY,GAAIA,EAAO,KAAK,GAAIA,EAAO,UAAU,EAAU,gBAAgB,CAAC,CAAC,CACrF,EACU,EAAyB,GAC3B,UAAW,GAAIA,EAAO,KAAK,GAAIA,EAAO,UAAU,EAAU,eAAe,CAAC,CAAC,GACxE,GAEP,WAA2B,EAAY,EAAc,EAAS,CAC1D,KAAM,GAAQ,CAAA,EACR,GAAsB,AAAC,GAAoB,EAC5C,IAAI,CAAY,EAChB,OAAO,GAAK,CACb,GAAI,GAEJ,MAAO,AADkB,IAAK,EAAW,IAAI,CAAC,KAAO,MAAQ,IAAO,OAAS,EAAK,CAAA,GAC3D,MAAM,GAAK,EAAgB,SAAS,CAAC,CAAC,CACzE,CAAS,EACD,SAAW,CAAC,EAAW,CAAE,SAAQ,cAAe,IAAc,eAAgB,CAC1E,KAAM,GAAkB,CAAC,GAAG,EAAQ,GAAG,CAAQ,EAC/C,EAAM,KAAK,CACP,MAAO,GAAQ,EAAK,SAAU,EAAC,IAAI,GAAIA,GAAO,KAAK,CAAC,MAAM,CAAC,CAAC,IAAM,EAClE,KAAM,EAAQ,GAAoB,CAAe,CAAC,CAClE,CAAa,CACJ,CACD,SAAM,KAAK,CAAE,MAAO,GAAK,GAAM,KAAM,EAAQ,CAAY,CAAC,CAAE,KACjDA,EAAO,YAAY,CAAK,CACtC,CACD,KAAM,GAAwB,EAAkB,GAAc,eAAgB,sBAAuB,GAAQ,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,YAAgB,OAAQ,EAAO,sBAAyB,CAAA,CAAC,EACpN,EAAuB,EAAkB,GAAc,cAAe,qBAAsB,GAAQ,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,YAAgB,OAAQ,EAAO,qBAAwB,CAAA,CAAC,EAChN,EAAyB,EAAkB,GAAc,kBAAmB,gBAAiB,GAAQ,EAAW,CAAE,KAAM,CAAI,CAAE,CAAC,EAC/H,EAAuB,EAAkB,GAAc,gBAAiB,cAAe,GAAQ,EAAW,CAAE,KAAM,CAAI,CAAE,CAAC,EAC/H,EAAQ,SAAS,aAAc,GAAIA,EAAO,KAAK,GAAIA,EAAO,YAAY,CAClE,KAAUA,GAAAA,EAAO,KAAK,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,EAAY,IAAI,mBAAmB,CAAC,CAAI,CAAA,CAAC,EACnH,MAAWA,GAAAA,EAAO,QAASA,EAAO,UAAU,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,GAC/E,MAAO,EAAU,iBAAiB,EAClC,YAAa,GAAIA,EAAO,KAAK,EAAU,iBAAiB,CAAC,EACzD,QAAS,GAAIA,EAAO,UAAU,EAAU,YAAY,CAAC,GAClD,GACJ,CAAE,SAAU,OAAQ,QAAS,WAAa,CAAA,EAAG,CAC5C,QAAS,IAAO,EACZ,MAAO,EACP,QAAS,CAAC,CACF,KAAM,iBACN,KAAM,iBAC9B,CAAqB,CACrB,EACS,CAAA,CAAC,CAAC,EACH,UAAW,GAAIA,EAAO,KAAK,GAAIA,EAAO,UAAU,EAAU,eAAe,CAAC,CAAC,CACnF,EAAO,CAAE,QAAS,YAAY,CAAE,EAAG,CAC3B,QAAS,IAAO,EACZ,MAAO,CAAC,CACA,MAAO,EACP,QAAS,CAAC,CACF,KAAM,iBACN,KAAM,iBAClC,CAAyB,CACzB,CAAiB,CACjB,EACK,CAAA,CAAC,EACF,KAAM,GAAY,CACd,QAAS,GAAQ,CACb,GAAI,GACJ,MAAS,IAAK,EAAK,IAAG,EAAG,IAAK,KAAM,MAAQ,IAAO,OAAS,OAAS,EAAG,QAAU,GAC3E,CAAC,CAAC,yBAA0B,kBAAmB,oBAAoB,EAAE,SAAS,EAAK,KAAK,MAAM,EAAE,IAAK,CAAA,CAC/G,CACT,EACI,EAAQ,SAAS,aAAc,GAAIA,EAAO,KAAK,GAAIA,EAAO,YAAY,CAClE,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,sBAAsB,EAAI,EACpF,OAAYA,GAAAA,EAAO,KAAK,GAAIA,EAAO,QAASA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,CAAG,CAAA,EAAG,CAAS,CAAC,EACrG,QAAS,GAAIA,EAAO,KAASA,GAAAA,EAAO,KAAK,GAAIA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,EAAG,CAAS,CAAC,GAC7FA,EAAO,QAAS,CAAC,CAAE,KAAM,MAAM,CAAE,GACjCA,EAAO,MAAO,CACX,yBAA0B,GACtB,SAAU,GAAIA,EAAO,UAAU,EAAU,YAAY,CAAC,GACnD,GAEP,oBAAqB,GACjB,KAAM,EAAY,GACf,GAEP,kBAAmB,GACf,SAAU,GAAIA,EAAO,UAAU,EAAU,YAAY,CAAC,GACnD,GAEP,iBAAkB,GACd,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,MAAM,EAAI,GACjE,GAEP,uBAAwB,GACpB,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,aAAa,EAAI,GACxE,GAEP,qBAAsB,GAClB,SAAU,GAAIA,EAAO,UAAU,EAAU,YAAY,CAAC,GACnD,GAEP,gBAAiB,GACb,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,WAAW,EAAI,EACzE,OAAYA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,GAC9C,EAEV,CACT,EAAO,CAAE,QAAS,YAAY,CAAE,EAAG,CAC3B,QAAS,IAAO,EACZ,KAAM,iBACN,KAAM,iBAClB,EACK,CAAA,CAAC,EACF,EAAQ,SAAS,gBAAiB,GAAIA,EAAO,KAAK,GAAIA,EAAO,YAAY,CACrE,SAAU,GACTA,EAAO,QAAS,CAAC,CAAE,KAAM,UAAU,CAAE,GACrCA,EAAO,MAAWG,GAAAA,GAAS,eAAe,EAAY,EAAsB,CAAsB,CACtG,EAAE,CAAE,SAAU,WAAY,QAAS,UAAY,CAAA,EAAG,CAC/C,QAAS,IAAO,EACZ,SAAU,sBACV,MAAO,CACnB,EACK,CAAA,CAAC,EACF,EAAQ,SAAS,iBAAkB,GAAIH,EAAO,KAAK,GAAIA,EAAO,YAAY,CACtE,UAAW,GACVA,EAAO,QAAS,CAAC,CAAE,KAAM,WAAW,CAAE,GACtCA,EAAO,MAAWG,GAAAA,GAAS,gBAAgB,CAAsB,CACrE,EAAE,CAAE,SAAU,YAAa,QAAS,WAAa,CAAA,EAAG,CACjD,QAAS,IAAO,EACZ,UAAW,0BACX,OAAQ,EACpB,EACK,CAAA,CAAC,EACF,EAAQ,SAAS,qBAAsB,GAAIH,EAAO,KAAK,GAAIA,EAAO,YAAY,CAC1E,UAAW,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,WAAW,EAAI,EAC9E,KAAM,EAAY,EAClB,OAAQ,EAAU,iBAAiB,EACnC,UAAW,EAAW,CAAE,KAAM,CAAC,WAAY,gBAAiB,gBAAgB,EAAG,EAC/E,KAAUA,GAAAA,EAAO,cAAc,EAAW,CAAE,KAAM,MAAM,CAAE,CAAC,CACnE,EAAO,CAAE,QAAS,oBAAoB,CAAE,EAAG,CACnC,QAAS,IAAO,EACZ,UAAW,+BACX,KAAM,GACN,OAAQ,EACR,UAAW,WACX,KAAM,UAClB,EACK,CAAA,CAAC,CACN,CACA,GAAA,qBAA+B,aCvJ/B,OAAO,eAAe,GAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EAC/B,GAAA,sBAAG,OAChC,KAAMA,GAASC,EACT,EAAsB,EAC5B,YAA+B,EAAS,EAAG,CAEvC,EAAQ,SAAS,cAAe,GAAID,EAAO,KAAK,GAAIA,EAAO,YAAY,CACnE,KAAM,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CACzC,YAAa,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAqB,IAAK,CAAqB,CAAA,EAAG,CACxH,QAAS,IAAM,EACf,UAAW,CAAC,EAAI,IAAM,IAAM,EAC5B,OAAQ,IAAM,CAAC,CAAE,KAAM,cAAe,OAAQ,CAAC,CAAmB,EAAG,SAAU,EAAqB,CACpH,CAAa,EACD,YAAa,GAAIA,EAAO,WAAW,EAAS,gBAAgB,CACxE,CAAS,EAAG,CACA,QAAS,IAAO,EACZ,YAAa,EACb,YAAa,EAC7B,EACA,CAAS,CACT,CAAK,EAAG,CACA,QAAS,IAAO,EACZ,KAAM,CACF,YAAa,EACb,YAAa,EAChB,CACb,EACK,CAAA,CAAC,CACN,CACA,GAAA,sBAAgC,aC7BhC,OAAO,eAAe,GAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EAC/B,GAAA,sBAAG,OAChC,KAAMA,GAASC,EACf,YAA+B,EAAS,EAAa,CACjD,KAAM,GAAYD,EAAO,UAAU,KAAK,OAAW,CAAO,EACpD,EAAaA,EAAO,WAAW,KAAK,OAAW,CAAW,EAC1D,KAAkBA,EAAO,YAAY,CACvC,CACI,KAAM,SACN,KAAM,EAAY,EAClB,OAAQ,GAAM,MAAO,IAAM,WAAa,MAAO,IAAM,SAAY,EAAE,SAAQ,EAAK,EACnF,EACD,CACI,KAAM,SACN,KAAM,GAAIA,EAAO,YAAa,EAC9B,OAAQ,GAAM,MAAO,IAAM,SAAY,SAAS,CAAC,EAAI,CACxD,EACD,CACI,KAAM,SACN,KAAM,GAAIA,EAAO,YAAY,CACzB,IAAK,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,CAAC,EAC9D,IAAK,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,CAAC,CAC9E,CAAa,EACD,OAAQ,GAAM,MAAO,IAAM,SAAa,CAAE,IAAK,EAAG,IAAK,CAAC,EAAO,CAAA,CAClE,EACD,CACI,KAAM,UACN,KAAM,GAAIA,EAAO,aAAc,EAC/B,OAAQ,GAAK,IAAM,QAAU,IAAM,CACtC,CACT,CAAK,EACD,EAAQ,SAAS,iBAAsBA,GAAAA,EAAO,YAAY,CACtD,MAAWA,GAAAA,EAAO,KAAK,GAAIA,EAAO,UAAU,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,MAAM,CAAI,CAAA,CAAC,CAAC,EAC5G,IAASA,GAAAA,EAAO,KAAK,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,WAAW,CAAI,CAAA,CAAC,EACzF,MAAO,EAAU,YAAY,EAC7B,WAAY,EAAU,YAAY,EAClC,OAAYA,GAAAA,EAAO,KAAK,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,QAAQ,CAAI,CAAA,CAAC,EACzF,IAAK,GAAIA,EAAO,KAAK,EAAW,CAAE,UAAW,MAAO,OAAQ,CAAE,SAAU,CAAE,SAAU,iBAAkB,GAAI,CAAC,MAAO,CAAE,KAAM,MAAQ,CAAA,EAAK,CAAA,CAAE,CAAC,EAC1I,aAAc,GAAIA,EAAO,KAAK,GAAIA,EAAO,UAAU,EAAU,uBAAuB,CAAC,CAAC,CACzF,EAAE,CAAE,QAAS,MAAQ,CAAA,CAAC,EACvB,EAAQ,SAAS,wBAA6BA,GAAAA,EAAO,YAAY,CAC7D,YAAiBA,GAAAA,EAAO,KAAK,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,aAAa,CAAI,CAAA,CAAC,EACnG,OAAQ,EAAU,YAAY,CACjC,EAAE,CAAE,QAAS,aAAe,CAAA,CAAC,EAC9B,EAAQ,SAAS,kBAAuBA,GAAAA,EAAO,YAAY,CACvD,OAAYA,GAAAA,EAAO,KAAK,GAAIA,EAAO,UAAU,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,OAAO,CAAI,CAAA,CAAC,CAAC,EAC9G,IAASA,GAAAA,EAAO,KAAK,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,YAAY,CAAI,CAAA,CAAC,EAC1F,IAAK,GAAIA,EAAO,KAAK,EAAW,CAAE,UAAW,MAAO,OAAQ,CAAE,SAAU,CAAE,SAAU,kBAAmB,GAAI,CAAC,MAAO,CAAE,KAAM,OAAS,CAAA,EAAK,CAAA,CAAE,CAAC,EAC5I,MAAO,GAAIA,EAAO,KAASA,GAAAA,EAAO,SAAS,EAAY,EAAE,EAAa,CAAE,WAAY,CAAE,UAAW,kBAAmB,OAAQ,CAAE,GAAI,CAAC,MAAO,CAAE,KAAM,OAAS,CAAA,EAAK,CAAA,CAAE,CAAC,CACtK,EAAE,CAAE,QAAS,OAAS,CAAA,CAAC,EACxB,EAAQ,SAAS,kBAAuBA,GAAAA,EAAO,YAAY,CACvD,MAAWA,GAAAA,EAAO,KAAK,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,OAAO,CAAI,CAAA,CAAC,EACvF,IAASA,GAAAA,EAAO,KAAK,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,YAAY,CAAI,CAAA,CAAC,EAC1F,MAAO,GAAIA,EAAO,KAAK,GAAIA,EAAO,SAAS,IAAc,CAAW,CAAC,CACxE,EAAE,CAAE,QAAS,OAAS,CAAA,CAAC,EACxB,EAAQ,SAAS,qBAA0BA,GAAAA,EAAO,YAAY,CAC1D,SAAU,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAC7C,EAAG,EAAU,cAAc,EAC3B,EAAG,EAAU,cAAc,EAC3B,EAAG,EAAU,cAAc,CACvC,CAAS,CAAC,EACF,MAAWA,GAAAA,EAAO,KAAK,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,iBAAiB,CAAI,CAAA,CAAC,EACjG,QAAaA,GAAAA,EAAO,KAAK,EAAW,CAAE,KAAM,EAAY,IAAI,4BAA4B,EAAE,IAAI,GAAK,EAAE,MAAM,EAAE,CAAC,CAAC,CAAE,CAAC,EAClH,UAAeA,GAAAA,EAAO,KAAK,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,YAAY,CAAI,CAAA,CAAC,EAChG,MAAO,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAC1C,MAAO,EAAU,YAAY,CACzC,CAAS,CAAC,EACF,OAAYA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,EACjD,MAAO,GAAIA,EAAO,KAAK,EAAU,iBAAiB,CAAC,EACnD,MAAO,GAAIA,EAAO,KAAK,EAAU,iBAAiB,CAAC,CACtD,EAAE,CAAE,QAAS,UAAY,CAAA,CAAC,EAC3B,EAAQ,SAAS,sBAA2BA,GAAAA,EAAO,YAAY,CAC3D,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,WAAW,EAAI,EACzE,KAAM,EAAY,EAClB,MAAO,EAAU,YAAY,GAC5BA,EAAO,QAAS,CAAC,CAAE,KAAM,MAAM,CAAE,GACjCA,EAAO,MAAO,CACX,kBAAmB,CACf,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,OAAO,EAAI,CACxE,EACD,oBAAqB,CACjB,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,MAAM,EAAI,CACvE,EACD,iBAAkB,CACd,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,MAAM,EAAI,CACvE,EACD,mBAAoB,CAChB,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,MAAM,EAAI,CACvE,EACD,sBAAuB,CACnB,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,MAAM,EAAI,CACvE,EACD,oBAAqB,CACjB,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,MAAM,EAAI,CACvE,EACD,mBAAoB,CAChB,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,aAAa,EAAI,CAC9E,EACD,sBAAuB,CACnB,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,aAAa,EAAI,CAC9E,EACD,mBAAoB,CAChB,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,aAAa,EAAI,CAC9E,CACJ,CACJ,CAAA,CAAC,EACF,EAAQ,SAAS,mBAAwBA,GAAAA,EAAO,YAAY,CACxD,SAAcA,GAAAA,EAAO,KAAK,EAAW,CAAE,KAAM,UAAU,CAAE,CAAC,EAC1D,MAAO,EAAU,YAAY,EAC7B,aAAkBA,GAAAA,EAAO,KAASA,GAAAA,EAAO,SAAS,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,cAAgB,CAAA,CAAE,EAAG,GAAIA,EAAO,YAAY,CAC9I,CAAE,KAAM,UAAW,KAAUA,GAAAA,EAAO,eAAgB,OAAQ,GAAK,EAAM,EACvE,CACI,KAAM,SAAU,QAAUA,EAAO,SAAS,IAAc,GAAIA,EAAO,cAAc,CACpF,CACJ,CAAA,CAAC,CAAC,EACH,QAAaA,GAAAA,EAAO,KAASA,GAAAA,EAAO,SAAS,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,SAAW,CAAA,CAAE,KAAOA,EAAO,aAAW,CAAG,CAAC,EAC3I,MAAO,GAAIA,EAAO,KAAK,GAAIA,EAAO,UAAU,EAAU,qBAAqB,CAAC,CAAC,EAC7E,WAAY,GAAIA,EAAO,KAAK,EAAU,kBAAkB,CAAC,CAC5D,EAAE,CAAE,QAAS,QAAU,CAAA,CAAC,EACzB,EAAQ,SAAS,0BAA+BA,GAAAA,EAAO,YAAY,CAC/D,UAAW,EAAU,YAAY,EACjC,SAAU,EAAU,YAAY,EAChC,QAAaA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,EAClD,QAAaA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,CACrD,EAAE,CAAE,QAAS,eAAiB,CAAA,CAAC,EAChC,EAAQ,SAAS,qBAA0BA,GAAAA,EAAO,YAAY,CAC1D,EAAG,EAAU,cAAc,EAC3B,EAAG,EAAU,cAAc,EAC3B,EAAG,EAAU,cAAc,EAC3B,SAAU,EAAU,cAAc,EAClC,WAAY,EAAU,cAAc,CACvC,EAAE,CAAE,QAAS,UAAY,CAAA,CAAC,EAC3B,EAAQ,SAAS,mBAAwBA,GAAAA,EAAO,YAAY,CACxD,KAAM,GAAIA,EAAO,KAAK,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,cAAe,SAAU,EAAI,CAAI,CAAA,CAAC,EAC5G,IAAK,GAAIA,EAAO,KAAK,EAAW,CAAE,UAAW,MAAO,OAAQ,CAAE,SAAU,CAAE,SAAU,mBAAoB,GAAI,CAAC,MAAO,CAAE,KAAM,MAAQ,CAAA,EAAK,CAAA,CAAE,CAAC,EAC5I,KAAUA,GAAAA,EAAO,KAAK,EAAW,CAAE,UAAW,MAAM,CAAE,CAAC,EACvD,SAAU,GAAIA,EAAO,KAAK,EAAU,oBAAoB,CAAC,EACzD,YAAa,GAAIA,EAAO,KAAK,EAAU,oBAAoB,CAAC,EAC5D,SAAU,GAAIA,EAAO,KAAK,EAAU,oBAAoB,CAAC,EACzD,MAAO,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAC1C,WAAgBA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,EACrD,YAAiBA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,EACtD,aAAkBA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,EACvD,YAAiBA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,EACtD,QAAaA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,CAC9D,CAAS,CAAC,EACF,UAAW,GAAIA,EAAO,KAASA,GAAAA,EAAO,SAAS,EAAW,CAAE,KAAM,MAAQ,CAAA,EAAG,EAAU,gBAAgB,CAAC,CAAC,EACzG,QAAS,GAAIA,EAAO,KAAK,EAAU,kBAAkB,CAAC,EACtD,UAAW,GAAIA,EAAO,KAAK,EAAU,kBAAkB,CAAC,EACxD,gBAAiB,GAAIA,EAAO,KAAK,EAAU,kBAAkB,CAAC,EAC9D,OAAQ,GAAIA,EAAO,KAAK,EAAU,kBAAkB,CAAC,EACrD,eAAgB,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CACnD,mBAAoB,GAAIA,EAAO,KAAK,EAAU,YAAY,CAAC,EAC3D,cAAe,GAAIA,EAAO,KAAK,EAAU,kBAAkB,CAAC,CACxE,CAAS,CAAC,EACF,aAAc,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CACjD,cAAmBA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,CACpE,CAAS,CAAC,EACF,QAAaA,GAAAA,EAAO,KAAK,EAAW,CAAE,KAAM,aAAa,CAAE,CAAC,EAC5D,QAAaA,GAAAA,EAAO,KAASA,GAAAA,EAAO,SAAS,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,YAAY,CAAI,CAAA,EAAG,EAAU,yBAAyB,CAAC,CAAC,CAC5J,EAAE,CAAE,QAAS,QAAU,CAAA,CAAC,EACzB,EAAQ,SAAS,0BAA+BA,GAAAA,EAAO,YAAY,CAC/D,aAAkBA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,EACvD,QAAaA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,EAClD,SAAcA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,EACnD,cAAmBA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,EACxD,aAAkBA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,EACvD,eAAoBA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,EACzD,yBAA8BA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,EACnE,eAAoBA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,EACzD,cAAe,GAAIA,EAAO,KAAK,EAAU,kBAAkB,CAAC,EAC5D,cAAe,GAAIA,EAAO,KAAK,EAAU,kBAAkB,CAAC,CAC/D,EAAE,CAAE,QAAS,eAAiB,CAAA,CAAC,EAChC,EAAQ,SAAS,mBAAwBA,GAAAA,EAAO,YAAY,CACxD,MAAO,EAAU,cAAc,EAC/B,MAAO,EAAU,cAAc,EAC/B,QAAaA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,EAClD,cAAe,GAAIA,EAAO,KAAK,EAAU,kBAAkB,CAAC,EAC5D,KAAM,GAAIA,EAAO,KAAK,EAAU,yBAAyB,CAAC,CAC7D,EAAE,CAAE,QAAS,QAAU,CAAA,CAAC,CAC7B,CACA,GAAA,sBAAgC,aCrLhC,OAAO,eAAe,GAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EACnC,GAAA,kBAAG,OAC5B,KAAMA,GAASC,EACf,YAA2B,EAAS,EAAa,CAC7C,KAAM,GAAYD,EAAO,UAAU,KAAK,OAAW,CAAO,EACpD,EAAaA,EAAO,WAAW,KAAK,OAAW,CAAW,EAChE,EAAQ,SAAS,SAAU,GAAIA,EAAO,KAAK,GAAIA,EAAO,YAAY,CAC9D,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,mBAAmB,EAAI,GAChFA,EAAO,QAAS,CAAC,CAAE,KAAM,MAAM,CAAE,GACjCA,EAAO,MAAO,CACX,4BAA6B,CACzB,MAAO,GAAIA,EAAO,KAAK,EAAW,CAAE,KAAM,eAAgB,WAAY,EAAI,CAAE,CAAC,EAC7E,QAAaA,GAAAA,EAAO,UAAU,EAAU,CAAE,EAC1C,IAASA,GAAAA,EAAO,SAAS,EAAY,EACrC,EAAU,mBAAmB,CAAC,EAC9B,OAAQ,EAAU,eAAe,CACpC,EACD,+BAAgC,CAC5B,MAAWA,GAAAA,EAAO,KAAK,EAAU,CAAE,EACnC,YAAa,GAAIA,EAAO,UAAU,EAAU,mBAAmB,CAAC,EAChE,OAAQ,EAAU,eAAe,CACpC,EACD,qBAAsB,CAClB,MAAWA,GAAAA,EAAO,KAAK,EAAU,CAAE,EACnC,WAAY,EAAU,mBAAmB,EACzC,OAAQ,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,MAAM,EAAI,EACtE,WAAgBA,GAAAA,EAAO,KAAK,GAAIA,EAAO,YAAU,CAAG,EACpD,YAAiBA,GAAAA,EAAO,KAAK,GAAIA,EAAO,QAASA,EAAO,YAAY,CAAE,QAAS,GAAM,EAAG,CAAE,QAAS,IAAM,GAAG,CAAE,CAAC,CAClH,EACD,qBAAsB,CAClB,MAAWA,GAAAA,EAAO,KAAK,EAAU,CAAE,EACnC,WAAY,EAAU,mBAAmB,EACzC,OAAQ,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,MAAM,EAAI,EACtE,WAAgBA,GAAAA,EAAO,KAAK,GAAIA,EAAO,YAAU,CAAG,EACpD,YAAiBA,GAAAA,EAAO,KAAK,GAAIA,EAAO,QAASA,EAAO,YAAY,CAAE,QAAS,GAAM,EAAG,CAAE,QAAS,IAAM,GAAG,CAAE,CAAC,CAClH,EACD,oBAAqB,CACjB,MAAWA,GAAAA,EAAO,KAAK,EAAU,CAAE,EACnC,WAAY,EAAU,mBAAmB,EACzC,OAAQ,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,MAAM,EAAI,EACtE,WAAgBA,GAAAA,EAAO,KAAK,GAAIA,EAAO,YAAU,CAAG,EACpD,YAAiBA,GAAAA,EAAO,KAAK,GAAIA,EAAO,QAASA,EAAO,YAAY,CAAE,QAAS,GAAM,EAAG,CAAE,QAAS,IAAM,GAAG,CAAE,CAAC,CAClH,EACD,6BAA8B,CAC1B,MAAWA,GAAAA,EAAO,KAAK,EAAU,CAAE,EACnC,WAAY,EAAU,mBAAmB,EACzC,OAAQ,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,MAAM,EAAI,EACtE,WAAgBA,GAAAA,EAAO,KAAK,GAAIA,EAAO,YAAU,CAAG,EACpD,YAAiBA,GAAAA,EAAO,KAAK,GAAIA,EAAO,QAASA,EAAO,YAAY,CAAE,QAAS,GAAM,EAAG,CAAE,QAAS,IAAM,GAAG,CAAE,CAAC,CAClH,EACD,yBAA0B,CACtB,MAAWA,GAAAA,EAAO,KAAK,EAAU,CAAE,EACnC,WAAY,EAAU,mBAAmB,EACzC,OAAQ,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,MAAM,EAAI,EACtE,MAAWA,GAAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,CAClD,EACD,qBAAsB,CAClB,MAAWA,GAAAA,EAAO,KAAK,EAAU,CAAE,EACnC,KAAM,EAAU,0BAA0B,EAC1C,SAAU,EAAU,0BAA0B,EAC9C,OAAQ,EAAU,eAAe,CACpC,CACJ,CACJ,EAAE,CAAE,QAAS,SAAU,qBAAsB,EAAM,CAAA,EAAG,CACnD,QAAS,IAAO,EACZ,KAAM,2BAClB,EACK,CAAA,CAAC,EACF,EAAQ,SAAS,oBAAqB,GAAIA,EAAO,KAAK,GAAIA,EAAO,YAAY,CACzE,CACI,KAAM,SACN,KAAM,EAAU,0BAA0B,EAC1C,OAAQ,GAAK,EAAE,EAClB,EACD,CACI,KAAM,OACN,KAAM,GAAIA,EAAO,UAAU,EAAU,0BAA0B,CAAC,EAChE,OAAQ,GAAK,CAAC,CAAC,CAClB,CACT,CAAK,EAAG,CACA,QAAS,IAAO,EACZ,KAAM,iBAClB,EACK,CAAA,CAAC,EACF,EAAQ,SAAS,2BAA4B,GAAIA,EAAO,KAAK,GAAIA,EAAO,YAAY,CAChF,KAAUA,GAAAA,EAAO,KAAK,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,MAAM,CAAI,CAAA,CAAC,EACrF,IAASA,GAAAA,EAAO,KAAK,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,WAAW,CAAI,CAAA,CAAC,CACjG,CAAK,EAAG,CACA,QAAS,IAAO,EACZ,KAAM,iBAClB,EACK,CAAA,CAAC,EACF,EAAQ,SAAS,gBAAiB,GAAIA,EAAO,KAAK,GAAIA,EAAO,YAAY,CACrE,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,MAAM,EAAI,EACpE,MAAWA,GAAAA,EAAO,KAAK,GAAIA,EAAO,QAASA,EAAO,YAAY,CAAE,QAAS,GAAM,EAAG,CAAE,QAAS,IAAM,CAAC,CAAE,CAAC,CAC/G,CAAK,EAAG,CACA,QAAS,IAAO,EACZ,KAAM,iBAClB,EACK,CAAA,CAAC,CACN,CACA,GAAA,kBAA4B,aCrG5B,OAAO,eAAe,GAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EACrC,GAAA,gBAAG,OAC1B,KAAMA,GAASC,EACf,YAAyB,EAAS,EAAa,CAC3C,KAAM,GAAaD,EAAO,WAAW,KAAK,OAAW,CAAW,EAC1D,EAAU,AAAC,GAAS,GAAIA,EAAO,KAAK,GAAIA,EAAO,YAAY,CAC7D,QAAaA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,EAClD,OAAQ,GAAIA,EAAO,UAAcA,GAAAA,EAAO,YAAY,CAChD,CACI,KAAM,SACN,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,EAAM,SAAU,EAAM,CAAA,CAAE,EAClF,OAAQ,GAAK,EAAE,EAClB,EACD,CACI,KAAM,SACN,KAAM,GAAIA,EAAO,YAAY,CACzB,GAAI,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,EAAM,SAAU,GAAM,aAAc,EAAM,CAAA,CAAE,EACpG,SAAU,GAAIA,EAAO,aAAc,CACvD,CAAiB,EACD,OAAQ,GAAM,EAAE,GAAI,CAAC,EACxB,CACb,CAAS,CAAC,CACV,EAAO,CAAE,QAAS,KAAK,CAAE,EAAG,CACpB,QAAS,IAAO,EACZ,OAAQ,CAAE,CACtB,EACA,CAAK,EACD,EAAQ,SAAS,YAAa,EAAQ,OAAO,CAAC,EAC9C,EAAQ,SAAS,kBAAmB,EAAQ,aAAa,CAAC,EAC1D,EAAQ,SAAS,YAAa,EAAQ,OAAO,CAAC,EAC9C,EAAQ,SAAS,eAAgB,EAAQ,WAAW,CAAC,EACrD,EAAQ,SAAS,iBAAkB,EAAQ,YAAY,CAAC,EACxD,EAAQ,SAAS,WAAY,EAAQ,MAAM,CAAC,CAChD,CACA,GAAA,gBAA0B,aClC1B,OAAO,eAAe,GAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EAC5B,GAAA,yBAAG,OACnC,KAAMA,GAASC,EACf,YAAkC,EAAS,EAAa,CACpD,KAAM,GAAYD,EAAO,UAAU,KAAK,OAAW,CAAO,EACpD,EAAaA,EAAO,WAAW,KAAK,OAAW,CAAW,EAC1D,EAAkB,AAAC,GAAM,CAAE,GAAI,GAAI,MAAO,aAAa,OAAQ,EAAgB,EAAE,EAAE,EAAK,GAAK,GAAM,KAAuB,OAAS,EAAE,QAAU,MAAQ,IAAO,OAAS,EAAM,MAAO,IAAM,SAAW,GAAK,GAAM,KAAuB,OAAS,EAAE,YACxP,EAAQ,SAAS,iBAAkB,GAAIA,EAAO,KAAK,GAAIA,EAAO,YAAY,CACtE,CACI,KAAM,SACN,KAAM,EAAU,uBAAuB,EACvC,OAAQ,GAAK,YAAa,OAAS,MAAO,GAAE,IAAO,SAAW,EAAE,GAAK,CAAE,KAAM,EAAgB,EAAE,EAAE,CAAC,EAAM,MAAO,IAAM,SAAW,EAAI,CAAE,KAAM,EAAgB,CAAC,CAAG,CACnK,EACD,CACI,KAAM,OACN,KAAM,EAAU,qBAAqB,EACrC,OAAQ,GAAK,CAAC,CAAC,CAClB,EACD,CACI,KAAM,SACN,SAAU,EACV,KAAM,EAAY,EAClB,OAAQ,CACX,EACD,CACI,KAAM,SACN,KAAM,GAAIA,EAAO,YAAa,EAC9B,OAAQ,GAAK,CACT,KAAM,GAAI,WAAW,EAAgB,CAAC,CAAC,EACvC,MAAO,UAAS,CAAC,EAAI,EAAK,AAAE,EAAI,EAAI,CACvC,CACJ,EACD,CACI,KAAM,UACN,KAAM,GAAIA,EAAO,aAAc,EAC/B,OAAQ,GAAK,CACT,KAAM,GAAI,EAAgB,CAAC,EAC3B,MAAO,KAAM,QAAU,IAAM,QAAU,IAAM,OAAS,CAAC,CAAC,CAC3D,CACJ,CACT,EAAO,CAAE,QAAS,gBAAgB,CAAE,EAAG,CAC/B,QAAS,IAAO,EACZ,KAAM,EAClB,EACK,CAAA,CAAC,EACF,KAAM,GAAe,CACjB,MAAWA,GAAAA,EAAO,KAAK,EAAU,CAAE,EACnC,KAAUA,GAAAA,EAAO,KAAK,EAAU,CAAE,EAClC,KAAUA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,EAC/C,OAAYA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,EACjD,WAAgBA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,EACrD,cAAmBA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,EACxD,WAAgBA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,EACrD,UAAeA,GAAAA,EAAO,KAAK,EAAU,CAAE,EACvC,WAAY,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAC/C,OAAQ,EAAW,CAAE,KAAM,CAAC,WAAY,YAAa,cAAe,kBAAmB,cAAe,mBAAmB,CAAC,CAAE,GAC3HA,EAAO,QAAS,CAAC,CAAE,KAAM,QAAQ,CAAE,GACnCA,EAAO,MAAO,CACX,YAAe,CACX,MAAO,EAAY,CACtB,EACD,kBAAqB,CACjB,MAAO,EAAY,CACtB,EACD,UAAa,CACT,MAAO,EAAY,CACtB,EACD,SAAY,CACR,MAAO,EAAY,CACtB,EACD,YAAe,CACX,MAAO,EAAW,CAAE,UAAW,UAAW,OAAQ,CAAE,aAAc,GAAM,aAAc,EAAM,CAAA,CAAE,CACjG,EACD,gBAAmB,CACf,MAAO,EAAW,CAAE,UAAW,UAAW,OAAQ,CAAE,aAAc,GAAM,aAAc,EAAM,CAAA,CAAE,CACjG,CACJ,CACb,CAAS,CAAC,EACF,WAAY,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAC/C,OAAQ,EAAW,CAAE,KAAM,CAAC,YAAa,YAAa,aAAa,EAAG,GACrEA,EAAO,QAAS,CAAC,CAAE,KAAM,QAAQ,CAAE,GACnCA,EAAO,MAAO,CACX,UAAa,CACT,MAAO,GAAIA,EAAO,KAAK,EAAU,gBAAgB,CAAC,EAClD,SAAU,GAAIA,EAAO,KAAK,EAAU,gBAAgB,CAAC,CACxD,EACD,UAAa,CACT,MAAWA,GAAAA,EAAO,KAAK,EAAW,CAAE,UAAW,MAAO,OAAQ,CAAE,OAAQ,qBAAqB,CAAI,CAAA,CAAC,EAClG,SAAU,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAC7C,GAAI,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,MAAM,EAAI,EAClE,MAAO,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,CAAC,EAChE,IAAK,GAAIA,EAAO,KAAK,EAAW,CAAE,UAAW,MAAO,OAAQ,CAAE,SAAU,CAAE,SAAU,iBAAkB,GAAI,CAAC,MAAO,CAAE,KAAM,IAAM,CAAA,EAAK,CAAA,CAAE,CAAC,CAChK,CAAqB,CAAC,CACL,EACD,YAAe,CACX,MAAO,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAC1C,KAAUA,GAAAA,EAAO,KAAK,EAAU,CAAE,EAClC,KAAUA,GAAAA,EAAO,KAAK,EAAU,CAAE,EAClC,GAAQA,GAAAA,EAAO,KAAK,EAAU,CAAE,CACxD,CAAqB,CAAC,EACF,SAAU,GAAIA,EAAO,KAAK,GAAIA,EAAO,KAAK,GAAIA,EAAO,YAAY,CAC7D,KAAM,GAAIA,EAAO,KAAK,EAAU,gBAAgB,CAAC,EACjD,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,aAAa,EAAI,EAC3E,GAAI,EAAW,CAAE,UAAW,MAAM,CAAE,CAC5D,CAAqB,EAAG,CACA,QAAS,IAAO,EACZ,KAAM,gBACN,GAAI,sCAChC,EACA,CAAqB,CAAC,CACL,CACJ,CACb,CAAS,CAAC,EACF,MAAO,GAAIA,EAAO,KAAK,EAAU,qBAAqB,CAAC,CAC/D,EACI,EAAQ,SAAS,wBAAyB,GAAIA,EAAO,KAAK,GAAIA,EAAO,YAAY,CAC7E,CACI,KAAM,OACN,MAAO,GAAK,MAAO,IAAM,SACzB,OAAQ,GAAM,EAAE,KAAM,EAAE,GACxB,SAAU,GACV,KAAM,GAAIA,EAAO,YAAY,GACzB,KAAM,EAAY,GACf,EACN,CACJ,EACD,CACI,KAAM,cACN,MAAO,GAAM,IAAM,KAAuB,OAAS,EAAE,aAAe,OACpE,OAAQ,GAAM,EAAE,UAAW,EAAE,GAC7B,KAAM,GAAIA,EAAO,YAAY,GACzB,UAAW,EAAY,EACvB,KAAM,GAAIA,EAAO,KAAK,EAAU,qBAAqB,CAAC,GACnD,EACN,CACJ,EACD,CACI,KAAM,QACN,MAAO,GAAM,IAAM,KAAuB,OAAS,EAAE,SAAW,OAChE,OAAQ,GAAM,EAAE,MAAO,CAAE,CAAA,GACzB,KAAM,GAAIA,EAAO,YAAY,GACzB,MAAO,GAAIA,EAAO,YAAY,CAC1B,KAAM,EAAW,CAAE,UAAW,SAAU,OAAQ,CAAE,OAAQ,SAAU,KAAM,WAAY,cAAe,EAAM,CAAA,CAAE,EAC7G,UAAW,EAAW,CAAE,UAAW,WAAW,CAAE,EAChD,MAAWA,GAAAA,EAAO,KAAK,EAAU,CAAE,CACvD,CAAiB,GACE,EACN,CACJ,EACD,CACI,KAAM,WACN,MAAO,GAAM,IAAM,KAAuB,OAAS,EAAE,YAAc,OACnE,OAAQ,GAAM,EAAE,SAAU,EAAE,GAC5B,KAAM,GAAIA,EAAO,YAAY,GACzB,SAAU,EAAW,CAAE,UAAW,SAAU,OAAQ,CAAE,OAAQ,WAAY,KAAM,UAAY,CAAA,CAAE,EAC9F,UAAW,GAAIA,EAAO,KAAK,EAAU,gBAAgB,CAAC,GACnD,EACN,CACJ,EACD,CACI,KAAM,UACN,MAAO,GAAM,IAAM,KAAuB,OAAS,EAAE,WAAa,OAClE,OAAQ,GAAM,EAAE,QAAS,EAAE,GAC3B,KAAM,GAAIA,EAAO,YAAY,GACzB,QAAS,EAAW,CAAE,KAAM,UAAW,WAAY,GAAM,GACtD,EACN,CACJ,EACD,CACI,KAAM,MACN,MAAO,GAAM,IAAM,KAAuB,OAAS,EAAE,OAAS,OAC9D,OAAQ,GAAM,EAAE,IAAK,EAAE,GACvB,KAAM,GAAIA,EAAO,YAAY,GACzB,IAAK,EAAW,CAAE,UAAW,UAAU,CAAE,EACzC,MAAO,GAAIA,EAAO,KAAK,EAAW,CAAE,UAAW,SAAU,OAAQ,CAAE,UAAW,EAAG,UAAW,EAAI,CAAI,CAAA,CAAC,EACrG,OAAQ,GAAIA,EAAO,KAAK,EAAW,CAAE,UAAW,SAAU,OAAQ,CAAE,OAAQ,WAAY,KAAM,UAAU,CAAI,CAAA,CAAC,EAC7G,QAAaA,GAAAA,EAAO,KAAK,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,UAAU,CAAI,CAAA,CAAC,EAC5F,UAAeA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,EACpD,UAAW,GAAIA,EAAO,KAAK,EAAU,gBAAgB,CAAC,GACnD,EACN,CACJ,CACJ,EAAE,CAAE,QAAS,wBAAyB,cAAe,uBAAyB,CAAA,EAAG,CAC9E,QAAS,IAAO,EACZ,KAAM,EAClB,EACK,CAAA,CAAC,EACF,EAAQ,SAAS,sBAAuB,GAAIA,EAAO,KAASA,GAAAA,EAAO,UAAU,EAAU,gBAAgB,CAAC,EAAG,CACvG,QAAS,IAAM,CAAC,CACR,KAAM,EACtB,CAAa,CACR,CAAA,CAAC,CACN,CACA,GAAA,yBAAmC,mBCjMnC,OAAO,eAAe,GAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EACpC,GAAA,iBAAG,OAC3B,KAAMA,GAASC,EACf,YAA0B,EAAS,EAAa,CAC5C,KAAM,GAAaD,EAAO,WAAW,KAAK,OAAW,CAAW,EAChE,EAAQ,SAAS,QAAS,GAAIA,EAAO,KAAK,GAAIA,EAAO,YAAY,CAC7D,gBAAiB,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,sCAAsC,EAAI,EAC/G,MAAO,GAAIA,EAAO,YAAa,EAC/B,MAAO,GAAIA,EAAO,YAAa,EAC/B,YAAa,GAAIA,EAAO,YAAa,EACrC,SAAU,GAAIA,EAAO,YAAa,EAClC,cAAe,EAAW,CAAE,KAAM,CAAC,OAAQ,OAAQ,MAAM,EAAG,EAC5D,qBAAsB,GAAIA,EAAO,KAAK,EAAW,CAAE,KAAM,CAAC,OAAQ,QAAQ,CAAC,CAAE,CAAC,EAC9E,SAAU,EAAW,CAAE,KAAM,gBAAgB,CAAE,EAC/C,sBAA2BA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,EAChE,2BAAgCA,GAAAA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,CAAG,CAAA,CAAC,EACtF,QAAS,GAAIA,EAAO,YAAY,CAC5B,UAAeA,GAAAA,EAAO,YAAY,CAAE,MAAO,EAAI,CAAE,EACjD,UAAeA,GAAAA,EAAO,YAAY,CAAE,MAAO,EAAI,CAAE,EACjD,YAAiBA,GAAAA,EAAO,YAAY,CAAE,MAAO,EAAI,CAAE,EACnD,gBAAqBA,GAAAA,EAAO,YAAY,CAAE,MAAO,EAAI,CAAE,EACvD,YAAa,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,MAAO,EAAI,CAAE,CAAC,EACpE,cAAe,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,MAAO,EAAI,CAAE,CAAC,EACtE,qBAA0BA,GAAAA,EAAO,KAAK,EAAW,CAAE,KAAM,CAAC,OAAQ,cAAe,OAAO,CAAG,CAAA,CAAC,EAC5F,cAAmBA,GAAAA,EAAO,KAAK,EAAU,CAAE,EAC3C,WAAY,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAC/C,MAAO,EAAY,EACnB,WAAgBA,GAAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,EACpD,oBAAyBA,GAAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,EAC7D,OAAQ,GAAIA,EAAO,YAAa,CAChD,CAAa,CAAC,EACF,gBAAiB,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CACpD,MAAO,EAAY,EACnB,YAAa,GAAIA,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,EAAG,CACtE,CAAa,CAAC,EACF,MAAO,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAC1C,MAAO,EAAY,EACnB,UAAW,GAAIA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,EAC3D,UAAW,GAAIA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,EAC3D,sBAAuB,GAAIA,EAAO,aAAc,CAChE,CAAa,CAAC,EACF,SAAU,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAC7C,QAAS,GAAIA,EAAO,YAAY,CAC5B,KAAM,EAAY,CACtC,CAAiB,EACD,YAAa,GAAIA,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,EAAG,CACtE,CAAa,CAAC,CACd,CAAS,EACD,OAAYA,GAAAA,EAAO,UAAU,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,wCAAwC,CAAI,CAAA,CAAC,EAC9H,SAAU,GAAIA,EAAO,SAAS,EAAW,CAAE,KAAM,CACzC,UACA,WACA,UACA,6BACA,iBACA,gBACA,MAChB,EAAe,EAAOA,GAAAA,EAAO,KAASA,GAAAA,EAAO,aAAcA,EAAO,YAAY,CAClE,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,aAAa,EAAI,EAC3E,OAAYA,GAAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,EAChD,SAAcA,GAAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,EAClD,SAAcA,GAAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,CACrD,CAAA,CAAC,EAAG,CACD,SAAU,IAAM,OAChB,QAAS,IAAM,CAAC,CACR,KAAM,gBACN,OAAQ,CAC5B,CAAiB,CACjB,CAAS,CAAC,EACF,YAAiBA,GAAAA,EAAO,SAAS,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,aAAe,CAAA,CAAE,EAAG,GAAIA,EAAO,KAAK,GAAIA,EAAO,YAAY,CAC5I,cAAe,GAAIA,EAAO,YAAa,EACvC,OAAQ,GAAIA,EAAO,YAAa,CAC5C,EAAW,CAAE,SAAU,UAAU,CAAE,EAAG,CAC1B,QAAS,IAAO,EACZ,cAAe,IACf,OAAQ,CACxB,EACA,CAAS,CAAC,EACF,QAAaA,GAAAA,EAAO,SAAS,EAAW,CAAE,KAAM,CAAC,MAAO,QAAQ,CAAG,CAAA,EAAG,GAAIA,EAAO,KAAK,GAAIA,EAAO,UAAU,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,6BAA+B,CAAA,CAAE,CAAC,EAAG,CAChM,QAAS,IAAM,CAAC,gBAAgB,CAC5C,CAAS,CAAC,EACF,SAAcA,GAAAA,EAAO,UAAcA,GAAAA,EAAO,KAASA,GAAAA,EAAO,UAAU,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,+BAAkC,CAAA,CAAC,EAAG,CAAE,SAAU,IAAM,YAAa,EAAG,CAAE,UAAW,EAAE,CAAE,CACzN,EAAO,CAAE,QAAS,OAAO,CAAE,EAAG,CACtB,QAAS,IAAO,EACZ,gBAAiB,kBACjB,MAAO,KACP,MAAO,IACP,YAAa,GACb,SAAU,GACV,cAAe,OACf,SAAU,SACV,QAAS,CACL,UAAW,QACX,UAAW,SACX,YAAa,QACb,gBAAiB,MACpB,CACb,EACK,CAAA,CAAC,CACN,CACA,GAAA,iBAA2B,aCpG3B,OAAO,eAAe,GAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EACnC,GAAA,kBAAG,OAC5B,KAAMA,GAASC,EACTE,EAAWD,EACjB,YAA2B,EAAS,EAAa,CAC7C,KAAM,GAAYF,EAAO,UAAU,KAAK,OAAW,CAAO,EACpD,EAAaA,EAAO,WAAW,KAAK,OAAW,CAAW,EAC1D,EAAe,CACjB,kBAAmB,GAAIG,EAAS,eAAgB,EAChD,MAAO,GAAIH,EAAO,YAAY,CAC1B,gBAAiB,GAAIG,EAAS,eAAgB,EAC9C,UAAW,GAAIA,EAAS,eAAgB,EACxC,iBAAkB,GAAIH,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,EAClE,yBAA0B,GAAIG,EAAS,eAAgB,EACvD,+BAAgC,GAAIH,EAAO,YAAa,EACxD,8BAA+B,GAAIA,EAAO,YAAa,CACnE,CAAS,CACT,EACU,EAAa,CACf,6BAA8B,GAAIG,EAAS,eAAgB,EAC3D,2BAA4B,GAAIA,EAAS,eAAgB,EACzD,YAAa,GAAIA,EAAS,eAAe,CAAE,IAAK,GAAI,IAAK,EAAG,CACpE,EACI,EAAQ,SAAS,oBAAqB,GAAIH,EAAO,KAAK,GAAIA,EAAO,YAAY,CACzE,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,iBAAiB,EAAI,EAC/E,OAAQ,GAAIA,EAAO,YAAY,CAC3B,YAAa,GAAIA,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,EAAG,EACtD,EAAG,EAAU,iBAAiB,EAC9B,OAAQ,GAAIG,EAAS,eAAgB,EACrC,WAAY,EAAU,iBAAiB,EACvC,iBAAkB,GAAIH,EAAO,aAAc,EAC3C,eAAgB,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CACnD,WAAgBA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,EACrD,UAAW,GAAIA,EAAO,KAAK,EAAU,aAAa,CAAC,EACnD,YAAa,GAAIA,EAAO,KAAK,EAAU,aAAa,CAAC,EACrD,WAAY,GAAIA,EAAO,KAAK,EAAU,aAAa,CAAC,EACpD,cAAe,GAAIA,EAAO,KAAK,EAAU,aAAa,CAAC,CACvE,CAAa,CAAC,GACDA,EAAO,QAAS,CAAC,MAAO,CAAE,KAAM,OAAQ,GACxCA,EAAO,MAAO,CACX,mBAAoB,EACpB,iBAAkB,EAClB,wBAAyB,CAC5B,CACb,CAAS,CACT,EAAO,CAAE,QAAS,QAAQ,CAAE,EAAG,CACvB,QAAS,IAAO,EACZ,KAAM,iBACN,OAAQ,CACJ,YAAa,EAChB,CACb,EACK,CAAA,CAAC,CACN,CACA,GAAA,kBAA4B,aCtD5B,OAAO,eAAe,GAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EAChC,GAAA,qBAAG,OAC/B,KAAMA,GAASC,EACTE,GAAWD,EACjB,YAA8B,EAAS,EAAa,CAChD,KAAM,GAAYF,EAAO,UAAU,KAAK,OAAW,CAAO,EACpD,EAAaA,EAAO,WAAW,KAAK,OAAW,CAAW,EAC1D,EAAc,CAChB,MAAO,GAAIG,GAAS,aAAa,CAAE,IAAK,EAAG,IAAK,IAAK,CAC7D,EACI,EAAQ,SAAS,uBAA4BH,GAAAA,EAAO,YAAY,CAC5D,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,oBAAoB,EAAI,EAClF,OAAQ,GAAIA,EAAO,YAAY,EAC1BA,EAAO,QAAS,CAAC,MAAO,CAAE,KAAM,OAAQ,GACxCA,EAAO,MAAO,CACX,yBAA0B,CACtB,KAAM,EAAW,CAAE,KAAM,iBAAiB,CAAE,CAC/C,EACD,yBAA0B,CACtB,QAAS,EAAW,CAAE,KAAM,CAAC,QAAS,SAAS,EAAG,EAClD,8BAAmCA,GAAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,CAC1E,EACD,mBAAoB,CAChB,OAAQ,GAAIA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,CAC3D,EACD,kBAAmB,EACnB,wBAAyB,CACrB,MAAO,GAAIA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,EACvD,YAAa,GAAIA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,EAC7D,aAAc,GAAIA,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,EAAG,CAC1D,EACD,6BAA8B,EAC9B,wBAAyB,CACrB,YAAa,GAAIA,EAAO,YAAa,EACrC,YAAiBA,GAAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,EACrD,YAAiBA,GAAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,CACxD,EACD,+BAAgC,CAC5B,qBAA0BA,GAAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,EAC9D,aAAc,GAAIA,EAAO,YAAa,EACtC,aAAkBA,GAAAA,EAAO,KAAK,GAAIA,EAAO,YAAU,CAAG,CACzD,EACD,sBAAuB,CACnB,MAAO,EAAU,sBAAsB,EACvC,MAAO,EAAU,sBAAsB,CAC1C,EACD,sBAAuB,CACnB,UAAW,EAAW,CAAE,KAAM,gBAAgB,CAAE,CACnD,EACD,oCAAqC,CACjC,UAAW,EAAW,CAAE,KAAM,gBAAgB,CAAE,CACnD,EACD,sBAAuB,CACnB,OAAQ,GAAIA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,CAC3D,EACD,kBAAmB,CACf,OAAQ,EAAU,iBAAiB,CACtC,EACD,kCAAmC,CAC/B,gBAAqBA,GAAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,CAC5D,CACJ,CACJ,EAAE,CAAE,QAAS,YAAa,SAAU,WAAW,CAAE,CAC1D,EAAO,CAAE,QAAS,YAAa,SAAU,WAAW,CAAE,CAAC,CACvD,CACA,GAAA,qBAA+B,kBCjE/B,OAAO,eAAe,EAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EAC5D,EAAA,yBAAmC,EAAA,WAAqB,OACxD,KAAMA,GAASC,EACf,YAAkC,EAAS,EAAa,CACpD,KAAM,GAAYD,EAAO,UAAU,KAAK,OAAW,CAAO,EACpD,EAAaA,EAAO,WAAW,KAAK,OAAW,CAAW,EAChE,EAAA,cAAyBA,EAAO,YAAY,CACxC,CACI,KAAM,SACN,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,0BAA0B,EAAI,EACxF,OAAQ,GAAC,EACZ,EACD,CACI,KAAM,SACN,KAAM,EAAU,gBAAgB,EAChC,OAAQ,GAAM,EACV,WAAY,CAAC,CACL,eAAkB,eAC1C,CAAqB,CACrB,EACS,CACT,CAAK,EACD,EAAQ,SAAS,iBAAkB,GAAIA,EAAO,KAAK,GAAIA,EAAO,YAAY,CACtE,WAAY,GAAIA,EAAO,UAAU,EAAU,WAAW,CAAC,CAC/D,EAAO,CAAE,QAAS,gBAAgB,CAAE,EAAG,CAC/B,QAAS,IAAO,EACZ,WAAY,CAAC,CACL,eAAgB,iBAChB,MAAO,CAAC,CACA,mBAAoB,CAChB,eAAgB,uBACnB,EACD,gBAAiB,CACb,eAAgB,uBACnB,CAC7B,CAAyB,CACzB,CAAiB,CACjB,EACK,CAAA,CAAC,EACF,EAAQ,SAAS,YAAa,GAAIA,EAAO,KAAK,GAAIA,EAAO,YAAY,CACjE,eAAgB,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,8BAA8B,EAAI,GACrGA,EAAO,QAAS,CAAC,CAAE,KAAM,gBAAgB,CAAE,GAC3CA,EAAO,MAAO,CACX,sBAAuB,CACnB,UAAW,GAAIA,EAAO,YAAa,CACtC,EACD,yBAA0B,CACtB,OAAQ,GAAIA,EAAO,UAAU,EAAU,aAAa,CAAC,CACxD,EACD,sBAAuB,CACnB,UAAW,GAAIA,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,EAAG,CACvD,EACD,oBAAqB,CACjB,UAAW,EAAW,CAAE,KAAM,gBAAgB,CAAE,EAChD,OAAYA,GAAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,CACnD,EACD,6BAA8B,CAC1B,MAAO,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,YAAY,EAAI,CAC9E,EACD,iBAAkB,CACd,MAAO,GAAIA,EAAO,UAAU,EAAU,gBAAgB,CAAC,CAC1D,CACJ,CACJ,EAAE,CAAE,SAAU,WAAY,QAAS,WAAa,CAAA,EAAG,CAChD,QAAS,IAAO,EACZ,eAAgB,iBAChB,MAAO,CAAC,CACA,mBAAoB,CAChB,eAAgB,uBACnB,EACD,gBAAiB,CACb,eAAgB,uBACnB,CACrB,CAAiB,CACjB,EACK,CAAA,CAAC,EACF,EAAQ,SAAS,iBAAkB,GAAIA,EAAO,KAAK,GAAIA,EAAO,YAAY,CACtE,mBAAoB,GAAIA,EAAO,KAAK,EAAU,eAAe,CAAC,EAC9D,mBAAoB,EAAU,WAAW,EACzC,gBAAiB,EAAU,WAAW,EACtC,aAAc,EAAU,aAAa,EACrC,WAAY,GAAIA,EAAO,KAAK,EAAW,CAAE,UAAW,MAAO,OAAQ,CAAE,SAAU,CAAE,SAAU,iBAAmB,CAAA,CAAI,CAAA,CAAC,CACtH,EAAE,CAAE,SAAU,YAAa,QAAS,gBAAkB,CAAA,EAAG,CACtD,QAAS,IAAO,EACZ,mBAAoB,CAChB,eAAgB,uBACnB,EACD,gBAAiB,CACb,eAAgB,uBACnB,CACb,EACK,CAAA,CAAC,EACF,KAAM,GAAgB,CAClB,SAAU,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,IAAK,QAAS,EAAM,CAAA,CAAC,EACrF,SAAU,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,IAAK,QAAS,EAAM,CAAA,CAAC,EACrF,WAAgBA,GAAAA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,CAAG,CAAA,CAAC,EACtE,WAAgBA,GAAAA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,CAAG,CAAA,CAAC,CAC9E,EACI,EAAQ,SAAS,gBAAqBA,GAAAA,EAAO,YAAY,CACrD,eAAgB,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,eAAe,EAAI,GACtFA,EAAO,QAAS,CAAC,CAAE,KAAM,gBAAgB,CAAE,GAC3CA,EAAO,MAAO,CACX,oCAAqC,GACjC,KAAM,EAAW,CAAE,KAAM,CAAC,IAAK,IAAK,GAAG,EAAG,GACvC,GAEP,uBAAwB,CAC3B,CACT,EAAO,CAAE,QAAS,gBAAiB,qBAAsB,EAAI,CAAE,CAAC,EAC5D,EAAQ,SAAS,YAAiBA,GAAAA,EAAO,YAAY,CACjD,eAAgB,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,WAAW,EAAI,GAClFA,EAAO,QAAS,CAAC,CAAE,KAAM,gBAAgB,CAAE,GAC3CA,EAAO,MAAO,CACX,wBAAyB,CACrB,MAAO,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,OAAO,EAAI,CACzE,EACD,6BAA8B,CAC1B,YAAa,EAAU,aAAa,CACvC,EACD,+BAAgC,CAC5B,MAAO,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,OAAO,EAAI,EACtE,YAAa,GAAIA,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,EAAG,CACzD,EACD,oCAAqC,CACjC,YAAa,EAAU,aAAa,EACpC,YAAa,GAAIA,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,EAAG,CACzD,EACD,sBAAuB,CACnB,IAAK,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,YAAY,EAAI,CAC5E,CACJ,CACT,EAAO,CAAE,QAAS,YAAa,qBAAsB,EAAI,CAAE,CAAC,CAC5D,CACA,EAAA,yBAAmC,GCrInC,OAAO,eAAe,GAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EAClC,GAAA,mBAAG,OAC7B,KAAMA,GAASC,EACTE,EAAWD,EAGXG,GAAkBD,EACxB,YAA4B,EAAS,EAAa,CAC9C,KAAM,GAAYJ,EAAO,UAAU,KAAK,OAAW,CAAO,EACpD,EAAaA,EAAO,WAAW,KAAK,OAAW,CAAW,EAC1D,EAAoB,CACtB,YAAiBA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,EACtD,QAAaA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,EAClD,WAAgBA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,EACrD,QAAaA,GAAAA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,CAAG,CAAA,CAAC,EAC1E,QAAaA,GAAAA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,CAAG,CAAA,CAAC,EAC1E,QAAaA,GAAAA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,CAAG,CAAA,CAAC,EAC1E,MAAWA,GAAAA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,CAAG,CAAA,CAAC,EACxE,eAAgB,EAAU,sBAAsB,EAChD,aAAc,EAAU,cAAc,EACtC,UAAW,GAAIA,EAAO,UAAU,EAAU,aAAa,CAAC,EACxD,UAAW,GAAIA,EAAO,UAAU,EAAU,aAAa,CAAC,CAChE,EACU,EAAa,CACf,MAAO,EAAU,aAAa,EAC9B,OAAQ,GAAIG,EAAS,aAAa,CAAE,IAAK,EAAG,IAAK,EAAG,EACpD,YAAiBH,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,EAAG,EACrE,QAAS,GAAIA,EAAO,UAAU,EAAU,aAAa,CAAC,CAC9D,EACU,EAAqB,CACvB,aAAc,EAAU,sBAAsB,EAC9C,cAAe,EAAU,sBAAsB,EAC/C,eAAgB,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,CAAC,CACjF,EACU,KAAuBA,EAAO,YAAY,CAC5C,OAAQ,EAAU,WAAW,EAC7B,MAAO,EAAU,aAAa,CACtC,CAAK,EACK,EAAY,CACd,KAAUA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,GAAI,EAC/D,+BAAgC,GAAIA,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,EAAG,EACzE,QAAaA,GAAAA,EAAO,UAAU,CAAgB,CACtD,EACU,KAAcA,EAAO,YAAY,CACnC,CACI,KAAM,SACN,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,8BAA8B,EAAI,CAC/F,EACD,CACI,KAAM,SACN,KAAM,EAAU,oBAAoB,CACvC,CACT,EAAO,CAAE,cAAe,SAAS,CAAE,EACzB,EAAwB,CAC1B,QAAS,EAAW,CAAE,KAAM,CAAC,QAAS,SAAS,EAAG,EAClD,MAAO,GAAIG,EAAS,aAAa,CAAE,IAAK,EAAG,IAAK,IAAK,EACrD,eAAoBH,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,IAAK,EAC1E,0BAA2B,GAAIA,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,EAAG,EACpE,yBAA0B,GAAIA,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,EAAG,EACnE,kBAAmB,GAAIA,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,EAAG,EAC5D,UAAW,GAAIG,EAAS,aAAc,EACtC,YAAa,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,YAAY,EAAI,EACjF,aAAc,EAAU,sBAAsB,EAC9C,mBAAoB,CAC5B,EACI,EAAQ,SAAS,qBAAsB,GAAIH,EAAO,KAAK,GAAIA,EAAO,YAAY,CAC1E,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,kBAAkB,EAAI,EAChF,OAAQ,GAAIA,EAAO,YAAY,EAC1BA,EAAO,QAAS,CAAC,MAAO,CAAE,KAAM,OAAQ,GACxCA,EAAO,MAAO,CACX,mBAAoB,CAChB,YAAa,GAAIA,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,EAAG,CACzD,EACD,2BAA4B,CACxB,MAAO,GAAIG,EAAS,aAAa,CAAE,IAAK,EAAG,IAAK,EAAG,EACnD,OAAQ,GAAIA,EAAS,aAAa,CAAE,IAAK,EAAG,IAAK,GAAI,CACxD,EACD,uBAAwB,CACpB,eAAgB,EAAU,sBAAsB,CACnD,EACD,sBAAuB,CACnB,UAAW,EAAU,sBAAsB,EAC3C,QAAS,CACZ,EACD,6BAA8B,CAC1B,UAAW,EAAU,sBAAsB,EAC3C,QAAS,CACZ,EACD,0BAA2B,CACvB,SAAU,EAAU,aAAa,EACjC,IAAK,EAAU,aAAa,EAC5B,KAAM,GAAIA,EAAS,aAAa,CAAE,IAAK,EAAG,IAAK,GAAI,EACnD,SAAU,GAAIA,EAAS,aAAa,CAAE,IAAK,EAAG,IAAK,GAAI,CAC1D,EACD,iBAAkB,EAClB,8BAA+B,CAC3B,8BAAmCH,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,IAAK,EACzF,OAAQ,GAAIG,EAAS,aAAa,CAAE,IAAK,EAAG,IAAK,IAAK,EACtD,OAAQ,GAAIA,EAAS,aAAa,CAAE,IAAK,EAAG,IAAK,IAAK,EACtD,sCAA2CH,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,GAAI,EAChG,iBAAsBA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,GAAI,EAC3E,gCAAiC,GAAIG,EAAS,aAAa,CAAE,IAAK,EAAG,IAAK,IAAK,EAC/E,QAAS,GAAIA,EAAS,eAAe,CAAE,IAAK,EAAG,IAAK,EAAG,EACvD,QAAS,GAAIA,EAAS,eAAe,CAAE,IAAK,EAAG,IAAK,EAAG,EACvD,uDAAwD,GAAIH,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,EAAG,EACjG,4DAAiEA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,GAAI,EACtH,+CAAoDA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,GAAI,CAC5G,EACD,wBAAyB,CACrB,MAAO,GAAIA,EAAO,aAAc,EAChC,KAAM,GAAIA,EAAO,KAAK,EAAU,WAAW,CAAC,CAC/C,EACD,sBAAuB,CACnB,qBAA0BA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,EAC/D,oBAAqB,GAAIA,EAAO,KAAK,EAAU,WAAW,CAAC,EAC3D,OAAQ,GAAIA,EAAO,UAAcA,GAAAA,EAAO,YAAY,CAChD,QAAS,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,CAAC,EAClE,QAAS,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,CAAC,EAClE,OAAQ,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,CAAC,EACjE,OAAQ,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,CAAC,EACjE,QAAaA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,CAC1E,CAAqB,CAAC,CACL,EACD,uBAAwB,CACpB,MAAO,EAAU,aAAa,EAC9B,OAAYA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,IAAK,CACrE,EACD,mBAAoB,EACpB,wBAAyB,CACrB,MAAO,EAAU,aAAa,CACjC,EACD,mBAAoB,CAChB,0BAA+BA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,EAAG,EACnF,kBAAuBA,GAAAA,EAAO,UAAU,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,YAAY,CAAI,CAAA,CAAC,EAC7G,mBAAwBA,GAAAA,EAAO,UAAU,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,YAAY,CAAI,CAAA,CAAC,EAC9G,kBAAmBK,GAAgB,WACnC,mBAAoBA,GAAgB,UACvC,EACD,kBAAmB,CACf,OAAQ,GAAIL,EAAO,YAAY,CAC3B,iBAAkB,EAAU,sBAAsB,EAClD,qBAAsB,EAAU,sBAAsB,EACtD,+BAAgC,EAAU,sBAAsB,EAChE,sBAAuB,EAAU,sBAAsB,EACvD,qBAAsB,EAAU,sBAAsB,EACtD,iBAAkB,GAAIA,EAAO,UAAU,EAAU,aAAa,CAAC,EAC/D,eAAgB,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,YAAY,EAAI,EACpF,eAAgB,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,YAAY,EAAI,CAC5G,CAAqB,EACD,OAAQ,GAAIA,EAAO,YAAY,CAC3B,QAAaA,GAAAA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,IAAK,IAAM,IAAK,EAAI,CAAA,CAAC,EACvE,YAAiBA,GAAAA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,IAAK,IAAM,IAAK,EAAI,CAAA,CAAC,EAC3E,aAAkBA,GAAAA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,IAAK,IAAM,IAAK,EAAI,CAAA,CAAC,EAC5E,YAAiBA,GAAAA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,IAAK,IAAM,IAAK,EAAI,CAAA,CAAC,CACnG,CAAqB,EACD,MAAO,GAAIA,EAAO,YAAY,CAC1B,sBAA2BA,GAAAA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,CAAG,CAAA,CAAC,EACjF,gBAAqBA,GAAAA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,CAAG,CAAA,CAAC,EAC3E,mBAAwBA,GAAAA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,EAAI,CAAA,CAAC,CACvG,CAAqB,EACD,iBAAsBA,GAAAA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,CAAG,CAAA,CAAC,EAC5E,gCAAqCA,GAAAA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,CAAG,CAAA,CAAC,EAC3F,4BAAiCA,GAAAA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,CAAG,CAAA,CAAC,EACvF,oCAAyCA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,EAC9E,oBAAyBA,GAAAA,EAAO,KAASG,GAAAA,EAAS,aAAa,CAAE,IAAK,EAAG,IAAK,EAAI,CAAA,CAAC,EACnF,oBAAyBH,GAAAA,EAAO,KAASG,GAAAA,EAAS,aAAa,CAAE,IAAK,EAAG,IAAK,EAAI,CAAA,CAAC,EACnF,aAAkBH,GAAAA,EAAO,KAASG,GAAAA,EAAS,aAAa,CAAE,IAAK,EAAG,IAAK,EAAI,CAAA,CAAC,EAC5E,eAAgB,GAAIH,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,CAAC,EACzE,eAAgB,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,CAAC,EACzE,yBAA8BA,GAAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,CACrE,EACD,wBAAyB,CACrB,aAAc,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,GAAI,QAAS,EAAM,CAAA,CAAC,EACxF,oBAAyBA,GAAAA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,CAAG,CAAA,CAAC,EAC/E,mBAAwBA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,EAC7D,qBAA0BA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,EAC/D,kBAAuBA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,EAC5D,iBAAkB,GAAIA,EAAO,UAAU,EAAU,aAAa,CAAC,CAClE,EACD,0BAA2B,CACvB,UAAW,EAAW,CAAE,KAAM,CAAC,KAAM,OAAQ,QAAS,OAAQ,QAAS,MAAM,CAAC,CAAE,EAChF,YAAa,GAAIA,EAAO,aAAc,EACtC,oBAAqB,GAAIA,EAAO,UAAcA,GAAAA,EAAO,YAAY,CAC7D,OAAYA,GAAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,EAChD,KAAM,GAAIG,EAAS,aAAc,CACzD,CAAqB,CAAC,EACF,cAAe,EAAU,sBAAsB,EAC/C,cAAe,EAAU,sBAAsB,CAClD,EACD,gCAAiC,EACjC,wBAAyB,CACrB,UAAW,EAAU,aAAa,EAClC,YAAa,EAAU,aAAa,EACpC,WAAY,EAAU,aAAa,EACnC,iBAAkB,EAAU,aAAa,EACzC,QAAaH,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,CACrD,EACD,8BAA+B,EAC/B,sBAAuB,EACvB,oBAAqB,CACjB,MAAO,EAAU,aAAa,CACjC,EACD,iBAAkB,CACd,MAAO,EAAU,aAAa,CACjC,EACD,4BAA6B,CACzB,8BAA+B,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,GAAK,CAAA,CAAC,EAC1G,cAAe,GAAIG,EAAS,aAAa,CAAE,IAAK,EAAG,IAAK,GAAI,EAC5D,aAAc,GAAIA,EAAS,eAAe,CAAE,IAAK,EAAG,IAAK,GAAI,EAC7D,uCAAwC,GAAIH,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,EAAG,EACjF,qBAAsB,GAAIG,EAAS,eAAe,CAAE,IAAK,GAAK,IAAK,GAAI,EACvE,qBAAsB,GAAIA,EAAS,eAAe,CAAE,IAAK,GAAK,IAAK,GAAI,EACvE,WAAY,GAAIA,EAAS,eAAe,CAAE,IAAK,EAAG,IAAK,EAAG,EAC1D,oBAAyBH,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,IAAK,EAC/E,uBAAwB,GAAIA,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,EAAG,CACpE,EACD,qCAAsC,CAClC,eAAgB,EAAU,sBAAsB,CACnD,EACD,qCAAsC,CAClC,MAAO,EAAU,aAAa,EAC9B,OAAQ,EAAU,aAAa,EAC/B,OAAQ,GAAIG,EAAS,aAAa,CAAE,IAAK,EAAG,IAAK,GAAI,CACxD,EACD,+BAAgC,EAChC,gBAAiB,EACjB,yBAA0B,EAC1B,oCAAqC,CACjC,cAAe,EACf,aAAc,CACjB,EACD,4BAA6B,CACzB,SAAU,GAAIH,EAAO,UAAcA,GAAAA,EAAO,YAAY,CAClD,OAAQ,GAAIA,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,EAAG,EACjD,QAAS,CACjC,CAAqB,CAAC,EACF,QAAS,CACZ,EACD,iCAAkC,CAC9B,QAAaA,GAAAA,EAAO,UAAU,CAAgB,CACjD,EACD,wBAAyB,CACrB,iCAAsCA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,GAAI,EAC3F,YAAiBA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,GAAI,EACtE,wBAA6BA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,IAAK,EACnF,uBAA4BA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,KAAM,EACnF,oBAAyBA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,GAAI,EAC9E,4BAAiCA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,GAAI,EACtF,gCAAqCA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,IAAK,EAC3F,gCAAqCA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,GAAI,EAC1F,iBAAkB,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,YAAY,EAAI,EACtF,oBAAqB,EAAU,sBAAsB,EACrD,4BAA6B,EAAU,sBAAsB,EAC7D,QAAS,CACZ,EACD,0BAA2B,EAC3B,uBAAwB,CACpB,MAAO,GAAIG,EAAS,aAAa,CAAE,IAAK,EAAG,IAAK,IAAK,CACxD,EACD,qBAAsB,CAClB,YAAa,GAAIH,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,EAAG,CACzD,EACD,yBAA0B,CACtB,SAAU,EAAU,sBAAsB,EAC1C,SAAU,GAAIA,EAAO,KAAK,GAAIA,EAAO,UAAU,EAAU,aAAa,CAAC,CAAC,EACxE,SAAU,GAAIA,EAAO,KAAK,GAAIA,EAAO,UAAU,EAAU,aAAa,CAAC,CAAC,EACxE,YAAa,GAAIA,EAAO,KAAK,GAAIA,EAAO,UAAU,EAAU,aAAa,CAAC,CAAC,CAC9E,EACD,mCAAoC,CAChC,SAAcA,GAAAA,EAAO,UAAU,CAAO,CACzC,EACD,4BAA6B,CACzB,eAAgB,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,GAAK,CAAA,CAAC,EAC3F,0BAA2B,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,EAAI,CAAA,CAAC,EACrG,uBAAwB,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,EAAI,CAAA,CAAC,EAClG,2BAAgCA,GAAAA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,CAAG,CAAA,CAAC,CACzF,EACD,2BAA4B,CACxB,MAAO,EAAU,aAAa,EAC9B,WAAgBA,GAAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,EACpD,WAAgBA,GAAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,EACpD,qBAAsB,GAAIA,EAAO,aAAc,EAC/C,aAAkBA,GAAAA,EAAO,UAAU,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,OAAO,CAAI,CAAA,CAAC,CACtG,EACD,iBAAkB,CACd,aAAkBA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,EACvD,WAAgBA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,EACrD,aAAc,EAAU,cAAc,EACtC,cAAe,EAAU,sBAAsB,EAC/C,iBAAkB,EAAU,sBAAsB,EAClD,eAAgB,EAAU,sBAAsB,EAChD,iBAAkB,EAAU,sBAAsB,EAClD,aAAc,GAAIA,EAAO,YAAY,CACjC,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,4BAA4B,EAAI,EAC1F,YAAiBA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,GAAI,EACtE,cAAmBA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,GAAI,EACxE,cAAmBA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,GAAI,GACvEA,EAAO,QAAS,CAAC,CAAE,KAAM,MAAM,CAAE,GACjCA,EAAO,MAAO,CACX,iCAAkC,CAC9B,YAAa,GAAIG,EAAS,aAAa,CAAE,IAAK,EAAG,IAAK,GAAI,EAC1D,sBAA2BH,GAAAA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,CAAG,CAAA,CAAC,CAC3F,CACJ,CACzB,EAAuB,CAAE,QAAS,eAAgB,EAC9B,eAAgB,GAAIA,EAAO,YAAY,CACnC,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,8BAA8B,EAAI,EAC5F,OAAQ,GAAIG,EAAS,aAAa,CAAE,IAAK,EAAG,IAAK,GAAI,EACrD,OAAQ,GAAIA,EAAS,aAAa,CAAE,IAAK,EAAG,IAAK,GAAI,GACpDH,EAAO,QAAS,CAAC,CAAE,KAAM,MAAM,CAAE,GACjCA,EAAO,MAAO,CACX,gCAAiC,CAC7B,OAAYA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,GAAI,CACpE,EACD,gCAAiC,CAC7B,OAAYA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,GAAI,CACpE,EACD,iCAAkC,CAC9B,OAAYA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,GAAI,CACpE,EACD,kCAAmC,CAC/B,OAAYA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,GAAI,CACpE,EACD,qCAAsC,CAClC,aAAc,GAAIG,EAAS,aAAa,CAAE,IAAK,EAAG,IAAK,GAAI,CAC9D,EACD,gCAAiC,CAC7B,OAAQ,GAAIA,EAAS,aAAa,CAAE,IAAK,EAAG,IAAK,GAAI,CACxD,EACD,yCAA0C,CACtC,eAAgB,GAAIA,EAAS,aAAa,CAAE,IAAK,EAAG,IAAK,IAAK,EAC9D,wBAA6BH,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,IAAK,CACtF,EACD,kCAAmC,CAC/B,aAAc,GAAIG,EAAS,aAAa,CAAE,IAAK,EAAG,IAAK,GAAI,CAC9D,CACJ,CACJ,EAAE,CAAE,QAAS,iBAAkB,qBAAsB,EAAI,CAAE,EAC5D,WAAY,GAAIH,EAAO,UAAcA,GAAAA,EAAO,YAAY,CACpD,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,8BAA8B,EAAI,GAC3FA,EAAO,QAAS,CAAC,CAAE,KAAM,MAAM,CAAE,GACjCA,EAAO,MAAO,CACX,yBAA0B,CACtB,SAAU,EAAU,sBAAsB,CAC7C,EACD,oBAAqB,CACjB,YAAa,GAAIA,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,EAAG,CACzD,EACD,kBAAmB,CACf,YAAa,GAAIA,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,EAAG,CACzD,CACJ,CACzB,EAAuB,CAAE,QAAS,gBAAgB,CAAE,CAAC,CACpC,EACD,6BAA8B,CAC1B,mBAAwBA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,IAAK,EAC9E,8BAAmCA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,GAAI,EACxF,yCAA0C,GAAIA,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,EAAG,CACtF,EACD,6BAA8B,EAC9B,yCAA0C,CAC7C,CACb,EAAW,CAAE,QAAS,UAAW,CACjC,EAAO,CAAE,QAAS,SAAS,CAAE,EAAG,CACxB,QAAS,IAAO,EACZ,KAAM,sBACN,OAAQ,CACJ,UAAW,CACP,KAAM,kBACN,OAAQ,CACJ,MAAO,CACV,CACJ,EACD,QAAS,CACL,KAAM,iBACN,OAAQ,CACJ,gBAAiB,EACjB,aAAc,GACd,aAAc,CAAE,EAChB,aAAc,CACV,YAAa,EACb,cAAe,EACf,cAAe,CAClB,EACD,eAAgB,CACZ,OAAQ,EACR,OAAQ,EACR,OAAQ,CACX,CACJ,CACJ,CACJ,CACb,EACK,CAAA,CAAC,EACF,EAAQ,SAAS,eAAgB,GAAIA,EAAO,KAAK,GAAIA,EAAO,YAAY,CACpE,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,4BAA4B,EAAI,EAC1F,mBAAwBA,GAAAA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,EAAI,CAAA,CAAC,GAC9EA,EAAO,QAAS,CAAC,CAAE,KAAM,MAAM,CAAE,GACjCA,EAAO,MAAO,CACX,oCAAqC,CACjC,MAAO,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,EAAI,CAAA,CAAC,EACjF,WAAY,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,EAAI,CAAA,CAAC,EACtF,WAAY,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,EAAI,CAAA,CAAC,CACzF,EACD,sCAAuC,CACnC,MAAO,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,EAAI,CAAA,CAAC,EACjF,YAAa,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,EAAI,CAAA,CAAC,EACvF,WAAY,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,EAAI,CAAA,CAAC,EACtF,YAAa,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,EAAI,CAAA,CAAC,EACvF,WAAY,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,EAAI,CAAA,CAAC,CACzF,CACJ,CACT,EAAO,CAAE,qBAAsB,EAAI,CAAE,EAAG,CAChC,QAAS,IAAO,EACZ,KAAM,mCAClB,EACK,CAAA,CAAC,EACF,EAAQ,SAAS,uBAAwB,GAAIA,EAAO,KAAK,GAAIA,EAAO,YAAY,CAC5E,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,oCAAoC,EAAI,GACjGA,EAAO,QAAS,CAAC,CAAE,KAAM,MAAM,CAAE,GACjCA,EAAO,MAAO,CACX,0CAA2C,CACvC,SAAU,EAAY,EACtB,OAAQ,GAAIG,EAAS,aAAc,EACnC,OAAQ,EAAU,sBAAsB,CAC3C,EACD,mCAAoC,CAChC,MAAO,EAAU,aAAa,CACjC,EACD,kCAAmC,CAC/B,MAAO,EAAU,aAAa,CACjC,EACD,oCAAqC,CACjC,QAAS,GAAIH,EAAO,UAAU,GAAIA,EAAO,KAAK,GAAIA,EAAO,YAAY,CACjE,OAAQ,GAAIA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,EACxD,KAAM,EAAU,aAAa,CACjD,CAAiB,EAAG,CACA,QAAS,IAAO,EACZ,KAAM,CAAE,CAChC,EACA,CAAiB,CAAC,CACL,CACJ,CACT,EAAO,CAAE,QAAS,sBAAsB,CAAE,EAAG,CACrC,QAAS,IAAO,EACZ,KAAM,iCAClB,EACK,CAAA,CAAC,EACF,EAAQ,SAAS,eAAgB,GAAIA,EAAO,KAAK,GAAIA,EAAO,YAAY,CACpE,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,4BAA4B,EAAI,GACzFA,EAAO,QAAS,CAAC,CAAE,KAAM,MAAM,CAAE,GACjCA,EAAO,MAAO,CACX,0BAA2B,CACvB,KAAUG,GAAAA,EAAS,aAAa,CAAE,IAAK,CAAC,CAAE,CAC7C,CACJ,CACT,EAAO,CAAE,QAAS,cAAc,CAAE,EAAG,CAC7B,QAAS,IAAO,EACZ,KAAM,+BAClB,EACK,CAAA,CAAC,CACN,CACA,GAAA,mBAA6B,aC9c7B,OAAO,eAAe,GAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EAC5B,GAAA,yBAAG,OACnC,KAAMH,GAASC,EACTE,GAAWD,EACjB,YAAkC,EAAS,EAAa,CACpD,KAAM,GAAYF,EAAO,UAAU,KAAK,OAAW,CAAO,EACpD,EAAaA,EAAO,WAAW,KAAK,OAAW,CAAW,EAChE,EAAQ,SAAS,iBAAkB,GAAIA,EAAO,KAAK,GAAIA,EAAO,YAAY,CACtE,KAAM,GAAIA,EAAO,KAAK,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,2BAA4B,aAAc,EAAI,CAAI,CAAA,EAAG,CAC3H,QAAS,AAAC,GAAS,EAAK,SAAU,EAAC,OAAS,CACxD,CAAS,EACD,sBAA2BA,GAAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,EAC/D,uBAA4BA,GAAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,EAChE,UAAeA,GAAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,EACnD,kBAAuBA,GAAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,EAC3D,uBAAwB,GAAIA,EAAO,aAAc,EACjD,oBAAqB,GAAIA,EAAO,aAAc,EAC9C,qBAAsB,GAAIA,EAAO,aAAc,EAC/C,iBAAkB,GAAIA,EAAO,aAAc,EAC3C,kBAAmB,GAAIA,EAAO,aAAc,EAC5C,kBAAmB,GAAIA,EAAO,aAAc,EAC5C,cAAe,EAAU,aAAa,EACtC,cAAe,EAAU,aAAa,EACtC,MAAO,GAAIA,EAAO,YAAY,CAC1B,MAAWA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,MAAO,IAAK,IAAI,CAAE,EACtE,OAAYA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,KAAM,EACnE,eAAgB,GAAIA,EAAO,YAAa,EACxC,eAAgB,GAAIA,EAAO,YAAa,EACxC,gBAAqBA,GAAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,EACzD,cAAmBA,GAAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,EACvD,sBAAuB,GAAIA,EAAO,aAAc,EAChD,sBAA2BA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,EAChE,sBAA2BA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,EAChE,UAAeA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,EACpD,SAAU,GAAIA,EAAO,YAAY,CAC7B,SAAU,GAAIA,EAAO,YAAa,EAClC,QAAS,GAAIA,EAAO,YAAa,EACjC,UAAW,GAAIA,EAAO,YAAa,EACnC,SAAU,GAAIA,EAAO,YAAa,CAClD,CAAa,EACD,aAAc,GAAIA,EAAO,YAAY,CACjC,OAAYA,GAAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,EAChD,KAAM,GAAIA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,EACtD,OAAYA,GAAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,CAChE,CAAa,EACD,UAAW,GAAIA,EAAO,YAAY,CAC9B,OAAYA,GAAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,EAChD,KAAM,GAAIA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,EACtD,OAAYA,GAAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,CAChE,CAAa,CACb,CAAS,EACD,WAAY,EAAU,sBAAsB,CAC/C,EAAE,CAAE,QAAS,gBAAkB,CAAA,EAAG,GAAS,EACxC,QAAS,IAAMG,GAAS,qBACxB,SAAU,CAAC,EAAM,EAAO,EAAQ,IAAY,CACxC,GAAI,GAAI,EAAI,EAAI,EAChB,SAAQ,EAAK,SAAS,EAAM,EAAO,EAAQ,CAAO,EAC5C,IAAK,GAAU,KAA2B,OAAS,EAAM,SAAW,MAAQ,IAAO,OAAS,OAAS,EAAG,OAAW,IAAK,GAAU,KAA2B,OAAS,EAAM,SAAW,MAAQ,IAAO,OAAS,OAAS,EAAG,QAAU,MACvO,EAAO,IAAI,EAAK,KAAK,OAAO,EAAE,KAAK,QAAQ,EAAG,0BAA2B,IAAI,EAE3E,IAAK,GAAU,KAA2B,OAAS,EAAM,SAAW,MAAQ,IAAO,OAAS,OAAS,EAAG,QAAU,KAAO,GAC3H,EAAO,IAAI,EAAK,KAAK,OAAO,EAAE,KAAK,QAAQ,EAAG,wBAAyB,EAAE,EAEvE,IAAK,GAAU,KAA2B,OAAS,EAAM,SAAW,MAAQ,IAAO,OAAS,OAAS,EAAG,OAAS,KAAO,GAC1H,EAAO,IAAI,EAAK,KAAK,OAAO,EAAE,KAAK,OAAO,EAAG,uBAAwB,EAAE,EAEpE,CACV,CACJ,EAAC,CAAC,EACH,EAAQ,SAAS,uBAA4BH,GAAAA,EAAO,YAAY,CAC5D,WAAY,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAC/C,SAAcA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,KAAM,EACrE,OAAYA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,KAAM,EACnE,MAAWA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,KAAM,CAC9E,CAAS,CAAC,EACF,WAAgBA,GAAAA,EAAO,SAAS,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,4BAA8B,CAAA,CAAE,EAAG,GAAIA,EAAO,KAAK,GAAIA,EAAO,YAAY,CAC1J,QAAaA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,KAAM,EACpE,WAAgBA,GAAAA,EAAO,KAAK,GAAIA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,IAAM,CAAA,EAAG,AAAC,GAAU,EACjG,SAAU,CAAC,EAAM,EAAO,EAAQ,IACxB,GAAK,MAAM,KAAK,SAAS,EAAE,IAAK,GAAI,GACpC,EAAO,IAAI,EAAM,kCAAkC,EAEhD,EAAK,SAAS,EAAM,EAAO,EAAQ,CAAO,EAErE,EAAc,EACF,KAAM,GAAIA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,CAClE,EAAW,CAAE,QAAS,qBAAqB,CAAE,EAAG,CACpC,QAAS,IAAO,EACZ,QAAS,GACT,WAAY,EACZ,KAAM,CACtB,EACA,CAAS,CAAC,CACL,CAAA,CAAC,EACF,EAAQ,SAAS,kBAAmB,GAAIA,EAAO,KAAK,GAAIA,EAAO,YAAY,CACvE,MAAO,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,OAAO,EAAI,EACtE,OAAQ,GAAIA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,CAChE,CAAK,EAAG,CACA,QAAS,IAAO,EACZ,MAAO,kBACP,OAAQ,CACpB,EACK,CAAA,CAAC,CACN,CACA,GAAA,yBAAmC,aCxGnC,OAAO,eAAe,GAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EACzB,GAAA,4BAAG,OACtC,KAAMA,GAASC,EACf,YAAqC,EAAS,EAAa,CACvD,KAAM,GAAaD,EAAO,WAAW,KAAK,OAAW,CAAW,EAC1D,EAAYA,EAAO,UAAU,KAAK,OAAW,CAAO,EACpD,EAAqB,CACvB,WAAY,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,yBAAyB,EAAI,EAC7F,KAAUA,GAAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,CACtD,EACI,EAAQ,SAAS,+BAAgC,GAAIA,EAAO,KAAK,GAAIA,EAAO,YAAY,CACpF,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,4BAA4B,EAAI,EAC1F,OAAQ,GAAIA,EAAO,YAAY,EAC1BA,EAAO,QAAS,CAAC,MAAO,CAAE,KAAM,OAAQ,GACxCA,EAAO,MAAO,CACX,4BAA6B,EAC7B,4BAA6B,CACzB,YAAa,GAAIA,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,EAAG,CACzD,EACD,sBAAuB,CACnB,KAAM,EAAW,CAAE,KAAM,CAAC,SAAU,MAAM,EAAG,EAC7C,YAAa,GAAIA,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,EAAG,CACzD,EACD,0BAA2B,CACvB,OAAQ,EAAU,iBAAiB,CACtC,EACD,uBAAwB,CACpB,WAAY,EAAW,CAAE,KAAM,CAAC,OAAQ,MAAM,EAAG,EACjD,kBAAmB,GAAIA,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,EAAG,EAC5D,oBAAqB,GAAIA,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,EAAG,CACjE,EACD,6BAA8B,EAC9B,0BAA2B,CACvB,YAAa,EAAW,CAAE,KAAM,CAAC,WAAY,SAAU,SAAU,WAAY,SAAU,QAAS,OAAO,CAAC,CAAE,CAC7G,EACD,sBAAuB,CACnB,WAAgBA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,CACxD,EACD,oBAAqB,CACxB,CACJ,EAAE,CAAE,QAAS,oBAAqB,qBAAsB,EAAI,CAAE,CACvE,EAAO,CAAE,QAAS,mBAAmB,CAAE,EAAG,CAClC,QAAS,IAAO,EACZ,KAAM,4BACN,OAAQ,CACJ,WAAY,2BACZ,KAAM,CACT,CACb,EACK,CAAA,CAAC,CACN,CACA,GAAA,4BAAsC,aCnDtC,OAAO,eAAe,GAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EAC3B,GAAA,0BAAG,OACpC,KAAMA,IAASC,EACf,YAAmC,EAAS,EAAa,CACrD,KAAM,GAAaD,GAAO,WAAW,KAAK,OAAW,CAAW,EAC1D,EAAYA,GAAO,UAAU,KAAK,OAAW,CAAO,EAC1D,EAAQ,SAAS,6BAA8B,GAAIA,GAAO,KAAK,GAAIA,GAAO,YAAY,CAClF,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,0BAA0B,EAAI,EACxF,OAAQ,GAAIA,GAAO,YAAY,CAC3B,aAAc,EAAU,aAAa,EACrC,eAAgB,EAAU,aAAa,EACvC,oBAAqB,EAAU,aAAa,CACxD,EAAW,CAAE,QAAS,kBAAmB,CACzC,EAAO,CAAE,QAAS,iBAAiB,CAAE,EAAG,CAChC,QAAS,IAAO,EACZ,KAAM,oBACN,OAAQ,CACJ,aAAc,CACV,KAAM,wBACN,WAAY,CACR,MAAO,OACV,CACJ,EACD,eAAgB,CACZ,KAAM,gBACT,EACD,oBAAqB,CACjB,KAAM,kBACT,CACJ,CACb,EACK,CAAA,CAAC,CACN,CACA,GAAA,0BAAoC,aCjCpC,OAAO,eAAe,GAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EAC7B,GAAA,wBAAG,OAClC,KAAMA,GAASC,EAETI,GAAkBH,EACxB,YAAiC,EAAS,EAAa,CACnD,KAAM,GAAYF,EAAO,UAAU,KAAK,OAAW,CAAO,EACpD,EAAaA,EAAO,WAAW,KAAK,OAAW,CAAW,EAChE,EAAQ,SAAS,gBAAiB,GAAIA,EAAO,KAAK,GAAIA,EAAO,YAAY,CACrE,KAAM,EAAY,EAClB,SAAU,EAAY,EACtB,SAAU,GAAIA,EAAO,UAAU,EAAU,2BAA2B,CAAC,CAC7E,EAAO,CAAE,QAAS,eAAe,CAAE,EAAG,CAC9B,QAAS,IAAO,EACZ,SAAU,kBACV,SAAU,CACN,CACI,OAAQ,EACR,QAAS,CACL,aAAc,gCACd,WAAY,QACZ,WAAY,iBACf,CACJ,CACJ,CACb,EACK,CAAA,CAAC,EACF,EAAQ,SAAS,4BAA6B,GAAIA,EAAO,KAAK,GAAIA,EAAO,YAAY,CACjF,OAAQ,GAAIA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,EACxD,QAAS,EAAU,kBAAkB,CAC7C,EAAO,CAAE,SAAU,MAAM,CAAE,EAAG,CACtB,QAAS,IAAO,EACZ,OAAQ,EACR,QAAS,CACL,aAAc,gCACd,WAAY,QACZ,WAAY,iBACf,CACb,EACK,CAAA,CAAC,EACF,EAAQ,SAAS,mBAAoB,GAAIA,EAAO,KAAK,GAAIA,EAAO,YAAY,CACxE,aAAc,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,iCAAiC,EAAI,EACvG,WAAY,EAAW,CAAE,KAAM,CAAC,QAAS,kBAAkB,EAAG,GAC7DA,EAAO,QAAS,CAAC,CAAE,KAAM,cAAc,CAAE,GACzCA,EAAO,MAAO,CACX,iCAAkC,CAC9B,QAAS,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,8BAA8B,EAAI,CAClG,EACD,uCAAwC,CACpC,SAAU,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,YAAY,EAAI,EAC9E,WAAYK,GAAgB,UAC/B,EACD,8BAA+B,CAC3B,SAAU,GAAIL,EAAO,UAAU,EAAU,kBAAkB,CAAC,CAC/D,EACD,gCAAiC,CAC7B,SAAU,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,YAAY,EAAI,EAC9E,WAAYK,GAAgB,UAC/B,CACJ,CACJ,EAAE,CAAE,QAAS,mBAAoB,qBAAsB,EAAM,CAAA,EAAG,CAC7D,QAAS,IAAO,EACZ,aAAc,gCACd,WAAY,QACZ,WAAY,iBACxB,EACK,CAAA,CAAC,CACN,CACA,GAAA,wBAAkC,GCpElC,OAAO,eAAe,GAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EACjC,GAAA,oBAAG,OAC9B,KAAM,IAAUJ,GACV,GAAWC,GACX,GAAcE,GACd,GAAYE,GACZ,GAAkBC,GAClB,GAAkBC,EAClB,GAAqBC,GACrB,GAAmBC,GACnB,GAAiBC,GACvB,YAA6B,EAAS,EAAa,CAE/C,AAAA,GAAI,GAAgB,0BAA0B,EAAS,CAAW,EAClE,GAAI,GAAQ,kBAAkB,EAAS,CAAW,EAClD,GAAI,GAAS,mBAAmB,EAAS,CAAW,EACpD,GAAI,GAAY,sBAAsB,EAAS,CAAW,EAC1D,GAAI,GAAU,oBAAoB,EAAS,CAAW,EACtD,GAAI,GAAgB,0BAA0B,EAAS,CAAW,EAClE,GAAI,GAAmB,6BAA6B,EAAS,CAAW,EACxE,GAAI,GAAiB,2BAA2B,EAAS,CAAW,EACpE,GAAI,GAAe,yBAAyB,EAAS,CAAW,CACpE,CACA,GAAA,oBAA8B,aCvB9B,OAAO,eAAe,GAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EAC5B,GAAA,yBAAG,OACnC,KAAMX,GAASC,EACf,YAAkC,EAAS,EAAa,CACpD,KAAM,GAAYD,EAAO,UAAU,KAAK,OAAW,CAAO,EACpD,EAAaA,EAAO,WAAW,KAAK,OAAW,CAAW,EAChE,EAAQ,SAAS,iBAAkB,GAAIA,EAAO,KAAK,GAAIA,EAAO,YAAY,CACtE,kBAAmB,GAAIA,EAAO,aAAc,EAC5C,YAAa,GAAIA,EAAO,aAAc,EACtC,KAAUA,GAAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,EAC9C,WAAgBA,GAAAA,EAAO,SAAS,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,YAAc,CAAA,CAAE,EAAG,EAAU,WAAW,CAAC,CACrI,EAAO,CAAE,QAAS,gBAAgB,CAAE,EAAG,CAC/B,QAAS,IAAM,CACX,KAAM,GAAO,KAAK,MAAM,KAAK,SAAY,UAAW,EAAI,WACxD,MAAO,CACH,kBAAmB,GACnB,YAAa,GACb,OACA,WAAY,CACR,sBAAuB,CACnB,KAAM,sBACN,UAAW,CACP,KAAM,kBACN,OACA,aAAc,CACV,KAAM,4BACN,MACH,EACD,SAAU,qBACb,CACJ,EACD,uBAAwB,CACpB,KAAM,uBACN,UAAW,CACP,KAAM,kBACN,OACA,aAAc,CACV,KAAM,wBACN,OACA,eAAgB,CACZ,YAAa,GACb,WAAY,CAAC,EAAK,CAAG,CACxB,EACD,eAAgB,CACZ,YAAa,GACb,WAAY,CAAC,EAAK,CAAG,CACxB,EACD,gBAAiB,CACb,YAAa,GACb,WAAY,CAAC,EAAK,CAAG,CACxB,EACD,kBAAmB,CACf,YAAa,GACb,WAAY,CAAC,EAAK,CAAG,CACxB,EACD,OAAQ,CACJ,CACI,WAAY,CAAE,SAAU,EAAK,UAAW,EAAK,OAAQ,EAAK,YAAa,EAAK,SAAU,CAAK,EAC3F,MAAO,yBACV,EACD,CACI,WAAY,CAAE,SAAU,EAAK,UAAW,EAAK,OAAQ,EAAK,YAAa,EAAK,SAAU,GAAM,EAC5F,MAAO,4BACV,EACD,CACI,WAAY,CAAE,SAAU,EAAK,UAAW,EAAK,OAAQ,EAAK,YAAa,GAAK,SAAU,CAAK,EAC3F,MAAO,0BACV,EACD,CACI,WAAY,CAAE,SAAU,EAAK,UAAW,EAAK,OAAQ,KAAO,YAAa,EAAK,SAAU,EAAK,EAC7F,MAAO,yBACV,EACD,CACI,WAAY,CAAE,SAAU,EAAK,UAAW,EAAK,OAAQ,KAAO,YAAa,IAAM,SAAU,CAAK,EAC9F,MAAO,yBACV,CACJ,CACJ,EACD,SAAU,kBACb,CACJ,EACD,oBAAqB,CACjB,KAAM,oBACN,UAAW,CACP,KAAM,kBACN,OACA,aAAc,CACV,KAAM,oBACN,MACH,EACD,SAAU,eACb,CACJ,CACJ,CACjB,CACS,CACJ,CAAA,CAAC,CACN,CACA,GAAA,yBAAmC,GClGnC,OAAO,eAAe,GAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EACzC,GAAA,YAAG,OACtB,KAAM,IAAgBC,GAChB,GAAWC,GACX,GAAWE,EACX,GAAcE,GACd,GAAcC,GACd,GAAkBC,GAClB,GAAiBC,GACjB,GAAcC,GACd,GAAeC,GACf,GAAeC,GACf,GAAWC,GACX,GAASC,GACT,GAAkBC,GAClB,GAAaC,GACb,GAAkBC,GACxB,YAAqB,EAAS,EAAa,CAEvC,AAAA,GAAI,GAAS,mBAAmB,EAAS,CAAW,EACpD,GAAI,GAAc,wBAAwB,EAAS,CAAW,EAC9D,GAAI,GAAS,mBAAmB,EAAS,CAAW,EACpD,GAAI,GAAY,sBAAsB,EAAS,CAAW,EAC1D,GAAI,GAAgB,0BAA0B,EAAS,CAAW,EAClE,GAAI,GAAY,sBAAsB,EAAS,CAAW,EAC1D,GAAI,GAAe,yBAAyB,EAAS,CAAW,EAChE,GAAI,GAAY,sBAAsB,EAAS,CAAW,EAC1D,GAAI,GAAa,uBAAuB,EAAS,CAAW,EAC5D,GAAI,GAAa,uBAAuB,EAAS,CAAW,EAC5D,GAAI,GAAS,mBAAmB,EAAS,CAAW,EACpD,GAAI,GAAO,iBAAiB,EAAS,CAAW,EAChD,GAAI,GAAgB,0BAA0B,EAAS,CAAW,EAClE,GAAI,GAAW,qBAAqB,EAAS,CAAW,EACxD,GAAI,GAAgB,0BAA0B,EAAS,CAAW,CACtE,CACA,GAAA,YAAsB,GCnCtB,GAAI,IAAmBC,GAAQA,EAAK,iBAAqB,QAAO,OAAU,SAAS,EAAG,EAAG,EAAG,EAAI,CAC5F,AAAI,IAAO,QAAW,GAAK,GAC3B,GAAI,GAAO,OAAO,yBAAyB,EAAG,CAAC,EAC/C,AAAI,EAAC,GAAS,QAAS,GAAO,CAAC,EAAE,WAAa,EAAK,UAAY,EAAK,gBAClE,GAAO,CAAE,WAAY,GAAM,IAAK,UAAW,CAAE,MAAO,GAAE,EAAG,IAE3D,OAAO,eAAe,EAAG,EAAI,CAAI,CACrC,EAAM,SAAS,EAAG,EAAG,EAAG,EAAI,CACxB,AAAI,IAAO,QAAW,GAAK,GAC3B,EAAE,GAAM,EAAE,EACd,GACI,GAAsBA,GAAQA,EAAK,oBAAwB,QAAO,OAAU,SAAS,EAAG,EAAG,CAC3F,OAAO,eAAe,EAAG,UAAW,CAAE,WAAY,GAAM,MAAO,CAAC,CAAE,CACtE,EAAK,SAAS,EAAG,EAAG,CAChB,EAAE,QAAa,CACnB,GACI,GAAgBA,GAAQA,EAAK,cAAiB,SAAU,EAAK,CAC7D,GAAI,GAAO,EAAI,WAAY,MAAO,GAClC,GAAI,GAAS,CAAA,EACb,GAAI,GAAO,KAAM,OAAS,KAAK,GAAK,AAAI,IAAM,WAAa,OAAO,UAAU,eAAe,KAAK,EAAK,CAAC,GAAG,GAAgB,EAAQ,EAAK,CAAC,EACvI,UAAmB,EAAQ,CAAG,EACvB,CACX,EACA,OAAO,eAAe,EAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EAC5D,GAAA,IAAA,EAAA,WAAqB,GAAsB,EAAA,eAAG,iBAAsB,OACpE,KAAM,IAASjB,EACT,GAAgBC,GAChB,GAAYE,GAClB,GAAA,IAAA,EAAA,YAAsB,GAAaE,CAAwB,EAC3D,aAA0B,CACtB,KAAM,GAAc,GAAI,IAAO,mBAC/B,SAAI,GAAc,iBAAiB,CAAW,EACvC,CACX,CACA,GAAsB,IAAA,EAAA,eAAG,GAezB,YAAoB,EAAa,CAC7B,KAAM,GAAU,GAAI,IAAO,eAC3B,MAAA,GAAI,GAAU,aAAa,EAAS,CAAW,EACxC,CACX,CACA,GAAA,EAAA,WAAqB"} \ No newline at end of file +{"version":3,"file":"index.210d411f.js","sources":["../../node_modules/@mcschema/java-1.17/lib/Collections.js","../../node_modules/@mcschema/java-1.17/lib/schemas/Advancement.js","../../node_modules/@mcschema/java-1.17/lib/schemas/assets/Model.js","../../node_modules/@mcschema/java-1.17/lib/schemas/assets/BlockDefinition.js","../../node_modules/@mcschema/java-1.17/lib/schemas/assets/index.js","../../node_modules/@mcschema/java-1.17/lib/schemas/Common.js","../../node_modules/@mcschema/java-1.17/lib/schemas/Condition.js","../../node_modules/@mcschema/java-1.17/lib/schemas/Dimension.js","../../node_modules/@mcschema/java-1.17/lib/schemas/DimensionType.js","../../node_modules/@mcschema/java-1.17/lib/schemas/ItemModifier.js","../../node_modules/@mcschema/java-1.17/lib/LootContext.js","../../node_modules/@mcschema/java-1.17/lib/schemas/LootTable.js","../../node_modules/@mcschema/java-1.17/lib/schemas/PackMcmeta.js","../../node_modules/@mcschema/java-1.17/lib/schemas/Predicates.js","../../node_modules/@mcschema/java-1.17/lib/schemas/Recipe.js","../../node_modules/@mcschema/java-1.17/lib/schemas/Tags.js","../../node_modules/@mcschema/java-1.17/lib/schemas/TextComponent.js","../../node_modules/@mcschema/java-1.17/lib/schemas/worldgen/Biome.js","../../node_modules/@mcschema/java-1.17/lib/schemas/worldgen/Carver.js","../../node_modules/@mcschema/java-1.17/lib/schemas/worldgen/Decorator.js","../../node_modules/@mcschema/java-1.17/lib/schemas/worldgen/ProcessorList.js","../../node_modules/@mcschema/java-1.17/lib/schemas/worldgen/Feature.js","../../node_modules/@mcschema/java-1.17/lib/schemas/worldgen/NoiseSettings.js","../../node_modules/@mcschema/java-1.17/lib/schemas/worldgen/StructureFeature.js","../../node_modules/@mcschema/java-1.17/lib/schemas/worldgen/SurfaceBuilder.js","../../node_modules/@mcschema/java-1.17/lib/schemas/worldgen/TemplatePool.js","../../node_modules/@mcschema/java-1.17/lib/schemas/worldgen/index.js","../../node_modules/@mcschema/java-1.17/lib/schemas/WorldSettings.js","../../node_modules/@mcschema/java-1.17/lib/schemas/index.js","../../node_modules/@mcschema/java-1.17/lib/index.js"],"sourcesContent":["\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initCollections = void 0;\r\nfunction initCollections(collections) {\r\n collections.register('advancement_trigger', [\r\n 'minecraft:bee_nest_destroyed',\r\n 'minecraft:bred_animals',\r\n 'minecraft:brewed_potion',\r\n 'minecraft:changed_dimension',\r\n 'minecraft:channeled_lightning',\r\n 'minecraft:construct_beacon',\r\n 'minecraft:consume_item',\r\n 'minecraft:cured_zombie_villager',\r\n 'minecraft:effects_changed',\r\n 'minecraft:enchanted_item',\r\n 'minecraft:enter_block',\r\n 'minecraft:entity_hurt_player',\r\n 'minecraft:entity_killed_player',\r\n 'minecraft:filled_bucket',\r\n 'minecraft:fishing_rod_hooked',\r\n 'minecraft:hero_of_the_village',\r\n 'minecraft:impossible',\r\n 'minecraft:inventory_changed',\r\n 'minecraft:item_durability_changed',\r\n 'minecraft:item_used_on_block',\r\n 'minecraft:killed_by_crossbow',\r\n 'minecraft:levitation',\r\n 'minecraft:lightning_strike',\r\n 'minecraft:location',\r\n 'minecraft:nether_travel',\r\n 'minecraft:placed_block',\r\n 'minecraft:player_generates_container_loot',\r\n 'minecraft:player_hurt_entity',\r\n 'minecraft:player_interacted_with_entity',\r\n 'minecraft:player_killed_entity',\r\n 'minecraft:recipe_unlocked',\r\n 'minecraft:shot_crossbow',\r\n 'minecraft:slept_in_bed',\r\n 'minecraft:slide_down_block',\r\n 'minecraft:started_riding',\r\n 'minecraft:summoned_entity',\r\n 'minecraft:tame_animal',\r\n 'minecraft:target_hit',\r\n 'minecraft:tick',\r\n 'minecraft:thrown_item_picked_up_by_entity',\r\n 'minecraft:used_ender_eye',\r\n 'minecraft:used_totem',\r\n 'minecraft:using_item',\r\n 'minecraft:villager_trade',\r\n 'minecraft:voluntary_exile'\r\n ]);\r\n collections.register('dimension', [\r\n 'minecraft:overworld',\r\n 'minecraft:the_nether',\r\n 'minecraft:the_end'\r\n ]);\r\n collections.register('dimension_type', [\r\n 'minecraft:overworld',\r\n 'minecraft:the_nether',\r\n 'minecraft:the_end'\r\n ]);\r\n collections.register('keybind', [\r\n 'key.advancements',\r\n 'key.attack',\r\n 'key.back',\r\n 'key.chat',\r\n 'key.command',\r\n 'key.drop',\r\n 'key.forward',\r\n 'key.fullscreen',\r\n 'key.hotbar.1',\r\n 'key.hotbar.2',\r\n 'key.hotbar.3',\r\n 'key.hotbar.4',\r\n 'key.hotbar.5',\r\n 'key.hotbar.6',\r\n 'key.hotbar.7',\r\n 'key.hotbar.8',\r\n 'key.hotbar.9',\r\n 'key.inventory',\r\n 'key.jump',\r\n 'key.left',\r\n 'key.loadToolbarActivator',\r\n 'key.pickItem',\r\n 'key.playerlist',\r\n 'key.right',\r\n 'key.saveToolbarActivator',\r\n 'key.screenshot',\r\n 'key.smoothCamera',\r\n 'key.sneak',\r\n 'key.spectatorOutlines',\r\n 'key.sprint',\r\n 'key.swapOffhand',\r\n 'key.togglePerspective',\r\n 'key.use'\r\n ]);\r\n collections.register('slot', [\r\n 'mainhand',\r\n 'offhand',\r\n 'head',\r\n 'chest',\r\n 'legs',\r\n 'feet'\r\n ]);\r\n collections.register('gamemode', [\r\n 'survival',\r\n 'creative',\r\n 'adventure',\r\n 'spectator'\r\n ]);\r\n collections.register('worldgen/noise_settings', [\r\n 'minecraft:overworld',\r\n 'minecraft:nether',\r\n 'minecraft:end',\r\n 'minecraft:amplified',\r\n 'minecraft:caves',\r\n 'minecraft:floating_islands'\r\n ]);\r\n collections.register('entity_source', [\r\n 'this',\r\n 'killer',\r\n 'direct_killer',\r\n 'killer_player'\r\n ]);\r\n collections.register('copy_source', [\r\n 'block_entity',\r\n 'this',\r\n 'killer',\r\n 'killer_player'\r\n ]);\r\n collections.register('loot_table_apply_bonus_formula', [\r\n 'minecraft:uniform_bonus_count',\r\n 'minecraft:binomial_with_bonus_count',\r\n 'minecraft:ore_drops'\r\n ]);\r\n collections.register('map_decoration', [\r\n 'mansion',\r\n 'monument',\r\n 'player',\r\n 'frame',\r\n 'red_marker',\r\n 'blue_marker',\r\n 'target_x',\r\n 'target_point',\r\n 'player_off_map',\r\n 'player_off_limits',\r\n 'red_x',\r\n 'banner_white',\r\n 'banner_orange',\r\n 'banner_magenta',\r\n 'banner_light_blue',\r\n 'banner_yellow',\r\n 'banner_lime',\r\n 'banner_pink',\r\n 'banner_gray',\r\n 'banner_light_gray',\r\n 'banner_cyan',\r\n 'banner_purple',\r\n 'banner_blue',\r\n 'banner_brown',\r\n 'banner_green',\r\n 'banner_red',\r\n 'banner_black'\r\n ]);\r\n collections.register('map_feature', [\r\n 'bastion_remnant',\r\n 'buried_treasure',\r\n 'desert_pyramid',\r\n 'endcity',\r\n 'fortress',\r\n 'igloo',\r\n 'jungle_pyramid',\r\n 'mansion',\r\n 'mineshaft',\r\n 'monument',\r\n 'nether_fossil',\r\n 'ocean_ruin',\r\n 'pillager_outpost',\r\n 'ruined_portal',\r\n 'shipwreck',\r\n 'stronghold',\r\n 'swamp_hut',\r\n 'village'\r\n ]);\r\n collections.register('recipe_group', [\r\n 'bed',\r\n 'light_gray_dye',\r\n 'iron_ingot',\r\n 'wooden_stairs',\r\n 'black_dye',\r\n 'stained_terracotta',\r\n 'dyed_bed',\r\n 'magenta_dye',\r\n 'bark',\r\n 'rabbit_stew',\r\n 'light_blue_dye',\r\n 'wooden_fence_gate',\r\n 'planks',\r\n 'stained_glass',\r\n 'wooden_door',\r\n 'stained_glass_pane',\r\n 'wooden_fence',\r\n 'sticks',\r\n 'concrete_powder',\r\n 'wooden_pressure_plate',\r\n 'boat',\r\n 'brown_dye',\r\n 'yellow_dye',\r\n 'bonemeal',\r\n 'red_dye',\r\n 'wooden_trapdoor',\r\n 'wooden_button',\r\n 'gold_ingot',\r\n 'pink_dye',\r\n 'wooden_slab',\r\n 'orange_dye',\r\n 'carpet',\r\n 'sign',\r\n 'wool',\r\n 'sugar',\r\n 'blue_dye',\r\n 'white_dye',\r\n 'banner',\r\n 'netherite_ingot'\r\n ]);\r\n collections.register('worldgen/configured_feature', [\r\n 'minecraft:acacia',\r\n 'minecraft:bamboo_light',\r\n 'minecraft:bamboo_vegetation',\r\n 'minecraft:bamboo',\r\n 'minecraft:basalt_blobs',\r\n 'minecraft:basalt_pillar',\r\n 'minecraft:birch_bees_0002',\r\n 'minecraft:birch_bees_002',\r\n 'minecraft:birch_bees_005',\r\n 'minecraft:birch_other',\r\n 'minecraft:birch_tall',\r\n 'minecraft:birch',\r\n 'minecraft:blackstone_blobs',\r\n 'minecraft:blue_ice',\r\n 'minecraft:bonus_chest',\r\n 'minecraft:brown_mushroom_giant',\r\n 'minecraft:brown_mushroom_nether',\r\n 'minecraft:brown_mushroom_normal',\r\n 'minecraft:brown_mushroom_swamp',\r\n 'minecraft:brown_mushroom_taiga',\r\n 'minecraft:chorus_plant',\r\n 'minecraft:crimson_forest_vegetation',\r\n 'minecraft:crimson_fungi_planted',\r\n 'minecraft:crimson_fungi',\r\n 'minecraft:dark_forest_vegetation_brown',\r\n 'minecraft:dark_forest_vegetation_red',\r\n 'minecraft:dark_oak',\r\n 'minecraft:delta',\r\n 'minecraft:desert_well',\r\n 'minecraft:disk_clay',\r\n 'minecraft:disk_gravel',\r\n 'minecraft:disk_sand',\r\n 'minecraft:end_gateway_delayed',\r\n 'minecraft:end_gateway',\r\n 'minecraft:end_island_decorated',\r\n 'minecraft:end_island',\r\n 'minecraft:end_spike',\r\n 'minecraft:fancy_oak_bees_0002',\r\n 'minecraft:fancy_oak_bees_002',\r\n 'minecraft:fancy_oak_bees_005',\r\n 'minecraft:fancy_oak',\r\n 'minecraft:flower_default',\r\n 'minecraft:flower_forest',\r\n 'minecraft:flower_plain_decorated',\r\n 'minecraft:flower_plain',\r\n 'minecraft:flower_swamp',\r\n 'minecraft:flower_warm',\r\n 'minecraft:forest_flower_trees',\r\n 'minecraft:forest_flower_vegetation_common',\r\n 'minecraft:forest_flower_vegetation',\r\n 'minecraft:forest_rock',\r\n 'minecraft:fossil',\r\n 'minecraft:freeze_top_layer',\r\n 'minecraft:glowstone_extra',\r\n 'minecraft:glowstone',\r\n 'minecraft:huge_brown_mushroom',\r\n 'minecraft:huge_red_mushroom',\r\n 'minecraft:ice_patch',\r\n 'minecraft:ice_spike',\r\n 'minecraft:iceberg_blue',\r\n 'minecraft:iceberg_packed',\r\n 'minecraft:jungle_bush',\r\n 'minecraft:jungle_tree_no_vine',\r\n 'minecraft:jungle_tree',\r\n 'minecraft:kelp_cold',\r\n 'minecraft:kelp_warm',\r\n 'minecraft:lake_lava',\r\n 'minecraft:lake_water',\r\n 'minecraft:large_basalt_columns',\r\n 'minecraft:mega_jungle_tree',\r\n 'minecraft:mega_pine',\r\n 'minecraft:mega_spruce',\r\n 'minecraft:monster_room',\r\n 'minecraft:mushroom_field_vegetation',\r\n 'minecraft:nether_sprouts',\r\n 'minecraft:oak_badlands',\r\n 'minecraft:oak_bees_0002',\r\n 'minecraft:oak_bees_002',\r\n 'minecraft:oak_bees_005',\r\n 'minecraft:oak',\r\n 'minecraft:ore_andesite',\r\n 'minecraft:ore_blackstone',\r\n 'minecraft:ore_coal',\r\n 'minecraft:ore_debris_large',\r\n 'minecraft:ore_debris_small',\r\n 'minecraft:ore_diamond',\r\n 'minecraft:ore_diorite',\r\n 'minecraft:ore_dirt',\r\n 'minecraft:ore_emerald',\r\n 'minecraft:ore_gold_deltas',\r\n 'minecraft:ore_gold_extra',\r\n 'minecraft:ore_gold_nether',\r\n 'minecraft:ore_gold',\r\n 'minecraft:ore_granite',\r\n 'minecraft:ore_gravel_nether',\r\n 'minecraft:ore_gravel',\r\n 'minecraft:ore_infested',\r\n 'minecraft:ore_iron',\r\n 'minecraft:ore_lapis',\r\n 'minecraft:ore_magma',\r\n 'minecraft:ore_quartz_deltas',\r\n 'minecraft:ore_quartz_nether',\r\n 'minecraft:ore_redstone',\r\n 'minecraft:ore_soul_sand',\r\n 'minecraft:patch_berry_bush',\r\n 'minecraft:patch_berry_decorated',\r\n 'minecraft:patch_berry_sparse',\r\n 'minecraft:patch_brown_mushroom',\r\n 'minecraft:patch_cactus_decorated',\r\n 'minecraft:patch_cactus_desert',\r\n 'minecraft:patch_cactus',\r\n 'minecraft:patch_crimson_roots',\r\n 'minecraft:patch_dead_bush_2',\r\n 'minecraft:patch_dead_bush_badlands',\r\n 'minecraft:patch_dead_bush',\r\n 'minecraft:patch_fire',\r\n 'minecraft:patch_grass_badlands',\r\n 'minecraft:patch_grass_forest',\r\n 'minecraft:patch_grass_jungle',\r\n 'minecraft:patch_grass_normal',\r\n 'minecraft:patch_grass_plain',\r\n 'minecraft:patch_grass_savanna',\r\n 'minecraft:patch_grass_taiga_2',\r\n 'minecraft:patch_grass_taiga',\r\n 'minecraft:patch_large_fern',\r\n 'minecraft:patch_melon',\r\n 'minecraft:patch_pumpkin',\r\n 'minecraft:patch_red_mushroom',\r\n 'minecraft:patch_soul_fire',\r\n 'minecraft:patch_sugar_cane_badlands',\r\n 'minecraft:patch_sugar_cane_desert',\r\n 'minecraft:patch_sugar_cane_swamp',\r\n 'minecraft:patch_sugar_cane',\r\n 'minecraft:patch_sunflower',\r\n 'minecraft:patch_taiga_grass',\r\n 'minecraft:patch_tall_grass_2',\r\n 'minecraft:patch_tall_grass',\r\n 'minecraft:patch_waterlilly',\r\n 'minecraft:pile_hay',\r\n 'minecraft:pile_ice',\r\n 'minecraft:pile_melon',\r\n 'minecraft:pile_pumpkin',\r\n 'minecraft:pile_snow',\r\n 'minecraft:pine',\r\n 'minecraft:plain_vegetation',\r\n 'minecraft:red_mushroom_giant',\r\n 'minecraft:red_mushroom_nether',\r\n 'minecraft:red_mushroom_normal',\r\n 'minecraft:red_mushroom_swamp',\r\n 'minecraft:red_mushroom_taiga',\r\n 'minecraft:sea_pickle',\r\n 'minecraft:seagrass_cold',\r\n 'minecraft:seagrass_deep_cold',\r\n 'minecraft:seagrass_deep_warm',\r\n 'minecraft:seagrass_deep',\r\n 'minecraft:seagrass_normal',\r\n 'minecraft:seagrass_river',\r\n 'minecraft:seagrass_simple',\r\n 'minecraft:seagrass_swamp',\r\n 'minecraft:seagrass_warm',\r\n 'minecraft:small_basalt_columns',\r\n 'minecraft:spring_closed_double',\r\n 'minecraft:spring_closed',\r\n 'minecraft:spring_delta',\r\n 'minecraft:spring_lava_double',\r\n 'minecraft:spring_lava',\r\n 'minecraft:spring_open',\r\n 'minecraft:spring_water',\r\n 'minecraft:spruce_snowy',\r\n 'minecraft:spruce',\r\n 'minecraft:super_birch_bees_0002',\r\n 'minecraft:swamp_tree',\r\n 'minecraft:taiga_vegetation',\r\n 'minecraft:trees_birch',\r\n 'minecraft:trees_giant_spruce',\r\n 'minecraft:trees_giant',\r\n 'minecraft:trees_jungle_edge',\r\n 'minecraft:trees_jungle',\r\n 'minecraft:trees_mountain_edge',\r\n 'minecraft:trees_mountain',\r\n 'minecraft:trees_savanna',\r\n 'minecraft:trees_shattered_savanna',\r\n 'minecraft:trees_water',\r\n 'minecraft:twisting_vines',\r\n 'minecraft:vines',\r\n 'minecraft:void_start_platform',\r\n 'minecraft:warm_ocean_vegetation',\r\n 'minecraft:warped_forest_vegetation',\r\n 'minecraft:warped_fungi_planted',\r\n 'minecraft:warped_fungi',\r\n 'minecraft:weeping_vines'\r\n ]);\r\n collections.register('worldgen/configured_structure_feature', [\r\n 'minecraft:bastion_remnant',\r\n 'minecraft:buried_treasure',\r\n 'minecraft:desert_pyramid',\r\n 'minecraft:end_city',\r\n 'minecraft:fortress',\r\n 'minecraft:igloo',\r\n 'minecraft:jungle_pyramid',\r\n 'minecraft:mansion',\r\n 'minecraft:mineshaft_mesa',\r\n 'minecraft:mineshaft',\r\n 'minecraft:monument',\r\n 'minecraft:nether_fossil',\r\n 'minecraft:ocean_ruin_cold',\r\n 'minecraft:ocean_ruin_warm',\r\n 'minecraft:pillager_outpost',\r\n 'minecraft:ruined_portal_desert',\r\n 'minecraft:ruined_portal_jungle',\r\n 'minecraft:ruined_portal_mountain',\r\n 'minecraft:ruined_portal_nether',\r\n 'minecraft:ruined_portal_ocean',\r\n 'minecraft:ruined_portal_swamp',\r\n 'minecraft:ruined_portal',\r\n 'minecraft:shipwreck_beached',\r\n 'minecraft:shipwreck',\r\n 'minecraft:stronghold',\r\n 'minecraft:swamp_hut',\r\n 'minecraft:village_desert',\r\n 'minecraft:village_plains',\r\n 'minecraft:village_savanna',\r\n 'minecraft:village_snowy',\r\n 'minecraft:village_taiga'\r\n ]);\r\n collections.register('worldgen/configured_surface_builder', [\r\n 'minecraft:badlands',\r\n 'minecraft:basalt_deltas',\r\n 'minecraft:crimson_forest',\r\n 'minecraft:desert',\r\n 'minecraft:end',\r\n 'minecraft:eroded_badlands',\r\n 'minecraft:frozen_ocean',\r\n 'minecraft:full_sand',\r\n 'minecraft:giant_tree_taiga',\r\n 'minecraft:grass',\r\n 'minecraft:gravelly_mountain',\r\n 'minecraft:ice_spikes',\r\n 'minecraft:mountain',\r\n 'minecraft:mycelium',\r\n 'minecraft:nether',\r\n 'minecraft:nope',\r\n 'minecraft:ocean_sand',\r\n 'minecraft:shattered_savanna',\r\n 'minecraft:soul_sand_valley',\r\n 'minecraft:stone',\r\n 'minecraft:swamp',\r\n 'minecraft:warped_forest',\r\n 'minecraft:wooded_badlands'\r\n ]);\r\n collections.register('biome_category', [\r\n 'beach',\r\n 'desert',\r\n 'extreme_hills',\r\n 'forest',\r\n 'icy',\r\n 'jungle',\r\n 'mesa',\r\n 'mushroom',\r\n 'nether',\r\n 'none',\r\n 'ocean',\r\n 'plains',\r\n 'river',\r\n 'savanna',\r\n 'swamp',\r\n 'taiga',\r\n 'the_end',\r\n 'underground'\r\n ]);\r\n collections.register('heightmap_type', [\r\n 'MOTION_BLOCKING',\r\n 'MOTION_BLOCKING_NO_LEAVES',\r\n 'OCEAN_FLOOR',\r\n 'OCEAN_FLOOR_WG',\r\n 'WORLD_SURFACE',\r\n 'WORLD_SURFACE_WG'\r\n ]);\r\n collections.register('generation_step', [\r\n 'air',\r\n 'liquid'\r\n ]);\r\n collections.register('loot_context_type', [\r\n 'minecraft:empty',\r\n 'minecraft:chest',\r\n 'minecraft:command',\r\n 'minecraft:selector',\r\n 'minecraft:fishing',\r\n 'minecraft:entity',\r\n 'minecraft:gift',\r\n 'minecraft:barter',\r\n 'minecraft:advancement_reward',\r\n 'minecraft:advancement_entity',\r\n 'minecraft:generic',\r\n 'minecraft:block'\r\n ]);\r\n collections.register('banner_pattern', [\r\n 'base',\r\n 'square_bottom_left',\r\n 'square_bottom_right',\r\n 'square_top_left',\r\n 'square_top_right',\r\n 'stripe_bottom',\r\n 'stripe_top',\r\n 'stripe_left',\r\n 'stripe_right',\r\n 'stripe_center',\r\n 'stripe_middle',\r\n 'stripe_downright',\r\n 'stripe_downleft',\r\n 'small_stripes',\r\n 'cross',\r\n 'straight_cross',\r\n 'triangle_bottom',\r\n 'triangle_top',\r\n 'triangles_bottom',\r\n 'triangles_top',\r\n 'diagonal_left',\r\n 'diagonal_up_right',\r\n 'diagonal_up_left',\r\n 'diagonal_right',\r\n 'circle',\r\n 'rhombus',\r\n 'half_vertical',\r\n 'half_horizontal',\r\n 'half_vertical_right',\r\n 'half_horizontal_bottom',\r\n 'border',\r\n 'curly_border',\r\n 'gradient',\r\n 'gradient_up',\r\n 'bricks',\r\n 'globe',\r\n 'creeper',\r\n 'skull',\r\n 'flower',\r\n 'mojang',\r\n 'piglin'\r\n ]);\r\n collections.register('dye_color', [\r\n 'white',\r\n 'orange',\r\n 'magenta',\r\n 'light_blue',\r\n 'yellow',\r\n 'lime',\r\n 'pink',\r\n 'gray',\r\n 'light_gray',\r\n 'cyan',\r\n 'purple',\r\n 'blue',\r\n 'brown',\r\n 'green',\r\n 'red',\r\n 'black'\r\n ]);\r\n collections.register('cat_texture', [\r\n 'textures/entity/cat/tabby.png',\r\n 'textures/entity/cat/black.png',\r\n 'textures/entity/cat/red.png',\r\n 'textures/entity/cat/siamese.png',\r\n 'textures/entity/cat/british_shorthair.png',\r\n 'textures/entity/cat/calico.png',\r\n 'textures/entity/cat/persian.png',\r\n 'textures/entity/cat/ragdoll.png',\r\n 'textures/entity/cat/white.png',\r\n 'textures/entity/cat/jellie.png',\r\n 'textures/entity/cat/all_black.png'\r\n ]);\r\n}\r\nexports.initCollections = initCollections;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initAdvancementSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initAdvancementSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const EntityPredicate = (0, core_1.ChoiceNode)([\r\n {\r\n type: 'object',\r\n node: (0, core_1.Opt)(Reference('entity_predicate')),\r\n change: v => { var _a, _b; return (_b = (_a = v[0]) === null || _a === void 0 ? void 0 : _a.predicate) !== null && _b !== void 0 ? _b : ({}); }\r\n },\r\n {\r\n type: 'list',\r\n node: (0, core_1.ListNode)(Reference('condition')),\r\n change: v => [{\r\n condition: 'minecraft:entity_properties',\r\n predicate: v\r\n }]\r\n }\r\n ], { context: 'conditions' });\r\n schemas.register('advancement', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n display: (0, core_1.Opt)((0, core_1.Mod)((0, core_1.ObjectNode)({\r\n icon: (0, core_1.ObjectNode)({\r\n item: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n nbt: (0, core_1.Opt)(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:item', id: ['pop', { push: 'item' }] } } }))\r\n }),\r\n title: Reference('text_component'),\r\n description: Reference('text_component'),\r\n background: (0, core_1.Opt)(StringNode()),\r\n frame: (0, core_1.Opt)(StringNode({ enum: ['task', 'challenge', 'goal'] })),\r\n show_toast: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n announce_to_chat: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n hidden: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n }), {\r\n default: () => ({\r\n icon: {\r\n item: 'minecraft:stone'\r\n },\r\n title: '',\r\n description: ''\r\n })\r\n })),\r\n parent: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$advancement' } })),\r\n criteria: (0, core_1.MapNode)(StringNode(), Reference('advancement_criteria')),\r\n requirements: (0, core_1.Opt)((0, core_1.ListNode)((0, core_1.ListNode)(StringNode() // TODO: add validation\r\n ))),\r\n rewards: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n function: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$function' } })),\r\n loot: (0, core_1.Opt)((0, core_1.ListNode)(StringNode({ validator: 'resource', params: { pool: '$loot_table' } }))),\r\n recipes: (0, core_1.Opt)((0, core_1.ListNode)(StringNode({ validator: 'resource', params: { pool: '$recipe' } }))),\r\n experience: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true }))\r\n })),\r\n }, { context: 'advancement' }), {\r\n default: () => ({\r\n criteria: {\r\n requirement: {\r\n trigger: 'minecraft:location'\r\n }\r\n }\r\n })\r\n }));\r\n schemas.register('advancement_criteria', (0, core_1.ObjectNode)({\r\n trigger: StringNode({ validator: 'resource', params: { pool: collections.get('advancement_trigger') } }),\r\n conditions: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n player: (0, core_1.Mod)(EntityPredicate, {\r\n enabled: path => path.pop().push('trigger').get() !== 'minecraft:impossible'\r\n }),\r\n [core_1.Switch]: ['pop', { push: 'trigger' }],\r\n [core_1.Case]: {\r\n 'minecraft:bee_nest_destroyed': {\r\n block: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: 'block' } })),\r\n num_bees_inside: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n item: (0, core_1.Opt)(Reference('item_predicate'))\r\n },\r\n 'minecraft:bred_animals': {\r\n parent: EntityPredicate,\r\n partner: EntityPredicate,\r\n child: EntityPredicate\r\n },\r\n 'minecraft:brewed_potion': {\r\n potion: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: 'potion' } }))\r\n },\r\n 'minecraft:changed_dimension': {\r\n from: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$dimension' } })),\r\n to: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$dimension' } }))\r\n },\r\n 'minecraft:channeled_lightning': {\r\n victims: (0, core_1.Opt)((0, core_1.ListNode)(EntityPredicate))\r\n },\r\n 'minecraft:construct_beacon': {\r\n level: Reference('int_bounds')\r\n },\r\n 'minecraft:consume_item': {\r\n item: (0, core_1.Opt)(Reference('item_predicate'))\r\n },\r\n 'minecraft:cured_zombie_villager': {\r\n villager: EntityPredicate,\r\n zombie: EntityPredicate\r\n },\r\n 'minecraft:effects_changed': {\r\n effects: (0, core_1.Opt)((0, core_1.MapNode)(StringNode({ validator: 'resource', params: { pool: 'mob_effect' } }), (0, core_1.ObjectNode)({\r\n amplifier: Reference('int_bounds'),\r\n duration: Reference('int_bounds')\r\n }))),\r\n source: (0, core_1.Opt)(EntityPredicate)\r\n },\r\n 'minecraft:enter_block': {\r\n block: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: 'block' } })),\r\n state: (0, core_1.Opt)((0, core_1.MapNode)(StringNode(), StringNode(), { validation: { validator: 'block_state_map', params: { id: ['pop', { push: 'block' }] } } }))\r\n },\r\n 'minecraft:enchanted_item': {\r\n levels: Reference('int_bounds'),\r\n item: (0, core_1.Opt)(Reference('item_predicate'))\r\n },\r\n 'minecraft:entity_hurt_player': {\r\n damage: (0, core_1.Opt)(Reference('damage_predicate'))\r\n },\r\n 'minecraft:entity_killed_player': {\r\n entity: EntityPredicate,\r\n killing_blow: (0, core_1.Opt)(Reference('damage_source_predicate'))\r\n },\r\n 'minecraft:filled_bucket': {\r\n item: (0, core_1.Opt)(Reference('item_predicate'))\r\n },\r\n 'minecraft:fishing_rod_hooked': {\r\n entity: EntityPredicate,\r\n item: (0, core_1.Opt)(Reference('item_predicate'))\r\n },\r\n 'minecraft:hero_of_the_village': {\r\n location: (0, core_1.Opt)(Reference('location_predicate'))\r\n },\r\n 'minecraft:inventory_changed': {\r\n slots: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n empty: Reference('int_bounds'),\r\n occupied: Reference('int_bounds'),\r\n full: Reference('int_bounds')\r\n })),\r\n items: (0, core_1.Opt)((0, core_1.ListNode)(Reference('item_predicate')))\r\n },\r\n 'minecraft:item_durability_changed': {\r\n delta: Reference('int_bounds'),\r\n durability: Reference('int_bounds'),\r\n item: (0, core_1.Opt)(Reference('item_predicate'))\r\n },\r\n 'minecraft:item_used_on_block': {\r\n item: (0, core_1.Opt)(Reference('item_predicate')),\r\n location: (0, core_1.Opt)(Reference('location_predicate'))\r\n },\r\n 'minecraft:killed_by_crossbow': {\r\n unique_entity_types: Reference('int_bounds'),\r\n victims: (0, core_1.Opt)((0, core_1.ListNode)(EntityPredicate))\r\n },\r\n 'minecraft:levitation': {\r\n distance: Reference('distance_predicate'),\r\n duration: Reference('int_bounds')\r\n },\r\n 'minecraft:lightning_strike': {\r\n lightning: EntityPredicate,\r\n bystander: EntityPredicate,\r\n },\r\n 'minecraft:location': {\r\n location: (0, core_1.Opt)(Reference('location_predicate'))\r\n },\r\n 'minecraft:nether_travel': {\r\n distance: Reference('distance_predicate'),\r\n entered: (0, core_1.Opt)(Reference('location_predicate')),\r\n exited: (0, core_1.Opt)(Reference('location_predicate'))\r\n },\r\n 'minecraft:placed_block': {\r\n block: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: 'block' } })),\r\n state: (0, core_1.Opt)((0, core_1.MapNode)(StringNode(), StringNode(), { validation: { validator: 'block_state_map', params: { id: ['pop', { push: 'block' }] } } })),\r\n item: (0, core_1.Opt)(Reference('item_predicate')),\r\n location: (0, core_1.Opt)(Reference('location_predicate'))\r\n },\r\n 'minecraft:player_generates_container_loot': {\r\n loot_table: StringNode({ validator: 'resource', params: { pool: '$loot_table' } })\r\n },\r\n 'minecraft:player_hurt_entity': {\r\n damage: (0, core_1.Opt)(Reference('damage_predicate')),\r\n entity: EntityPredicate\r\n },\r\n 'minecraft:player_interacted_with_entity': {\r\n item: (0, core_1.Opt)(Reference('item_predicate')),\r\n entity: EntityPredicate\r\n },\r\n 'minecraft:player_killed_entity': {\r\n entity: EntityPredicate,\r\n killing_blow: (0, core_1.Opt)(Reference('damage_source_predicate'))\r\n },\r\n 'minecraft:recipe_unlocked': {\r\n recipe: StringNode({ validator: 'resource', params: { pool: '$recipe' } })\r\n },\r\n 'minecraft:slept_in_bed': {\r\n location: (0, core_1.Opt)(Reference('location_predicate'))\r\n },\r\n 'minecraft:slide_down_block': {\r\n block: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: 'block' } }))\r\n },\r\n 'minecraft:shot_crossbow': {\r\n item: (0, core_1.Opt)(Reference('item_predicate'))\r\n },\r\n 'minecraft:summoned_entity': {\r\n entity: EntityPredicate\r\n },\r\n 'minecraft:tame_animal': {\r\n entity: EntityPredicate\r\n },\r\n 'minecraft:target_hit': {\r\n projectile: EntityPredicate,\r\n shooter: EntityPredicate,\r\n signal_strength: Reference('int_bounds')\r\n },\r\n 'minecraft:thrown_item_picked_up_by_entity': {\r\n entity: EntityPredicate,\r\n item: (0, core_1.Opt)(Reference('item_predicate'))\r\n },\r\n 'minecraft:used_ender_eye': {\r\n distance: Reference('float_bounds')\r\n },\r\n 'minecraft:used_totem': {\r\n item: (0, core_1.Opt)(Reference('item_predicate'))\r\n },\r\n 'minecraft:using_item': {\r\n item: (0, core_1.Opt)(Reference('item_predicate'))\r\n },\r\n 'minecraft:villager_trade': {\r\n villager: EntityPredicate,\r\n item: (0, core_1.Opt)(Reference('item_predicate'))\r\n },\r\n 'minecraft:voluntary_exile': {\r\n location: Reference('location_predicate')\r\n }\r\n }\r\n }, { context: 'criterion' }))\r\n }, { category: 'predicate', context: 'criterion' }));\r\n}\r\nexports.initAdvancementSchemas = initAdvancementSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initModelSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initModelSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const Vec = (length, min, max) => (0, core_1.ListNode)((0, core_1.NumberNode)({ min, max }), { minLength: length, maxLength: length });\r\n const Texture = (0, core_1.ChoiceNode)([\r\n {\r\n type: 'alias',\r\n match: (v) => typeof v === 'string' && v.startsWith('#'),\r\n node: StringNode(),\r\n change: (v) => typeof v === 'string' ? `#${v}` : \"#0\"\r\n },\r\n {\r\n type: 'reference',\r\n match: (v) => typeof v === 'string',\r\n node: StringNode({ validator: 'resource', params: { pool: '$texture' } }),\r\n change: (v) => typeof v === 'string' ? v.replace(/^#/, '') : \"\"\r\n }\r\n ], { choiceContext: 'texture' });\r\n schemas.register('model', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n parent: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$model' } })),\r\n ambientocclusion: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n gui_light: (0, core_1.Opt)(StringNode({ enum: 'gui_light' })),\r\n textures: (0, core_1.Opt)((0, core_1.MapNode)(StringNode(), Texture)),\r\n elements: (0, core_1.Opt)((0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n from: Vec(3, -16, 32),\r\n to: Vec(3, -16, 32),\r\n rotation: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n origin: Vec(3),\r\n axis: StringNode({ enum: 'axis' }),\r\n angle: (0, core_1.NumberEnum)({ values: [-45, -22.5, 0, 22.5, 45] }),\r\n rescale: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n })),\r\n shade: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n faces: (0, core_1.MapNode)(StringNode({ enum: 'direction' }), (0, core_1.ObjectNode)({\r\n texture: Texture,\r\n uv: (0, core_1.Opt)(Vec(4)),\r\n cullface: (0, core_1.Opt)(StringNode({ enum: 'direction' })),\r\n rotation: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n tintindex: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true }))\r\n }))\r\n }, { context: 'model_element' }))),\r\n display: (0, core_1.Opt)((0, core_1.MapNode)(StringNode({ enum: 'display_position' }), (0, core_1.ObjectNode)({\r\n rotation: Vec(3),\r\n translation: Vec(3, -80, 80),\r\n scale: Vec(3, -4, 4)\r\n }, { context: 'item_transform' }))),\r\n overrides: (0, core_1.Opt)((0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n predicate: (0, core_1.MapNode)(StringNode({ enum: 'item_model_predicates' }), (0, core_1.NumberNode)()),\r\n model: StringNode({ validator: 'resource', params: { pool: '$model' } })\r\n }, { context: 'model_override' })))\r\n }, { context: 'model' }), {\r\n default: () => ({\r\n parent: 'minecraft:item/generated',\r\n textures: {\r\n layer0: 'minecraft:item/diamond'\r\n }\r\n })\r\n }));\r\n}\r\nexports.initModelSchemas = initModelSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initBlockDefinitionSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initBlockDefinitionSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('block_definition', (0, core_1.Mod)((0, core_1.ChoiceNode)([\r\n {\r\n type: 'variants',\r\n match: (v) => v.variants !== undefined,\r\n node: (0, core_1.ObjectNode)({\r\n variants: (0, core_1.MapNode)(StringNode(), Reference('model_variant'))\r\n }),\r\n change: (v) => ({ variants: { \"\": {} } })\r\n },\r\n {\r\n type: 'multipart',\r\n match: (v) => v.multipart !== undefined,\r\n node: (0, core_1.ObjectNode)({\r\n multipart: (0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n when: (0, core_1.Opt)(Reference('multipart_condition')),\r\n apply: Reference('model_variant'),\r\n }))\r\n }),\r\n change: (v) => ({ multipart: { when: {}, apply: {} } })\r\n }\r\n ], { context: 'block_definition' }), {\r\n default: () => ({\r\n variants: {\r\n \"\": {\r\n model: 'minecraft:block/stone'\r\n }\r\n }\r\n })\r\n }));\r\n const VariantChildren = {\r\n model: StringNode({ validator: 'resource', params: { pool: '$model' } }),\r\n x: (0, core_1.Opt)((0, core_1.NumberEnum)({ integer: true, values: [0, 90, 180, 270] })),\r\n y: (0, core_1.Opt)((0, core_1.NumberEnum)({ integer: true, values: [0, 90, 180, 270] })),\r\n uvlock: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n };\r\n schemas.register('model_variant', (0, core_1.ChoiceNode)([\r\n {\r\n type: 'object',\r\n node: (0, core_1.ObjectNode)(VariantChildren),\r\n change: (v) => Array.isArray(v) && v.length > 0 ? v[0] : ({})\r\n },\r\n {\r\n type: 'list',\r\n node: (0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n ...VariantChildren,\r\n weight: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 1 }))\r\n }, { context: 'model_variant' })),\r\n change: (v) => [{ weight: 1, ...v }]\r\n }\r\n ], { context: 'model_variant' }));\r\n schemas.register('multipart_condition', (0, core_1.ChoiceNode)([\r\n {\r\n type: 'object',\r\n priority: -1,\r\n match: () => true,\r\n node: (0, core_1.MapNode)(StringNode(), StringNode()),\r\n change: (v) => typeof v === 'object' && Array.isArray(v === null || v === void 0 ? void 0 : v.OR) && v.OR.length > 0 ? v.OR[0] : ({})\r\n },\r\n {\r\n type: 'or',\r\n match: (v) => typeof v === 'object' && (v === null || v === void 0 ? void 0 : v.OR) !== undefined,\r\n node: (0, core_1.ObjectNode)({\r\n OR: (0, core_1.ListNode)(Reference('multipart_condition'))\r\n }),\r\n change: (v) => ({ OR: [v !== null && v !== void 0 ? v : {}] })\r\n }\r\n ], { context: 'multipart_condition' }));\r\n}\r\nexports.initBlockDefinitionSchemas = initBlockDefinitionSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initAssetsSchemas = void 0;\r\nconst Model_1 = require(\"./Model\");\r\nconst BlockDefinition_1 = require(\"./BlockDefinition\");\r\nfunction initAssetsSchemas(schemas, collections) {\r\n (0, BlockDefinition_1.initBlockDefinitionSchemas)(schemas, collections);\r\n (0, Model_1.initModelSchemas)(schemas, collections);\r\n}\r\nexports.initAssetsSchemas = initAssetsSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initCommonSchemas = exports.IntProvider = exports.FloatProvider = exports.NoiseSettingsPresets = exports.DefaultNoiseSettings = exports.DimensionTypePresets = exports.DefaultDimensionType = exports.FunctionCases = exports.ConditionCases = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nexports.DefaultDimensionType = {\r\n ultrawarm: false,\r\n natural: true,\r\n piglin_safe: false,\r\n respawn_anchor_works: false,\r\n bed_works: true,\r\n has_raids: true,\r\n has_skylight: true,\r\n has_ceiling: false,\r\n coordinate_scale: 1,\r\n ambient_light: 0,\r\n logical_height: 256,\r\n infiniburn: 'minecraft:infiniburn_overworld',\r\n min_y: 0,\r\n height: 256,\r\n};\r\nexports.DefaultNoiseSettings = {\r\n name: 'minecraft:overworld',\r\n bedrock_roof_position: -10,\r\n bedrock_floor_position: 0,\r\n sea_level: 63,\r\n disable_mob_generation: false,\r\n noise_caves_enabled: true,\r\n aquifers_enabled: true,\r\n deepslate_enabled: true,\r\n noise: {\r\n min_y: 0,\r\n height: 256,\r\n density_factor: 1,\r\n density_offset: -0.46875,\r\n simplex_surface_noise: true,\r\n random_density_offset: true,\r\n size_horizontal: 1,\r\n size_vertical: 2,\r\n sampling: {\r\n xz_scale: 1,\r\n y_scale: 1,\r\n xz_factor: 80,\r\n y_factor: 160\r\n },\r\n top_slide: {\r\n target: -10,\r\n size: 3,\r\n offset: 0\r\n },\r\n bottom_slide: {\r\n target: -30,\r\n size: 0,\r\n offset: 0\r\n }\r\n },\r\n default_block: {\r\n Name: \"minecraft:stone\"\r\n },\r\n default_fluid: {\r\n Name: \"minecraft:water\",\r\n Properties: {\r\n level: \"0\"\r\n }\r\n }\r\n};\r\nfunction initCommonSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n schemas.register('block_state', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n Name: StringNode({ validator: 'resource', params: { pool: 'block' } }),\r\n Properties: (0, core_1.Opt)((0, core_1.MapNode)(StringNode(), StringNode(), { validation: { validator: 'block_state_map', params: { id: ['pop', { push: 'Name' }] } } }))\r\n }, { context: 'block_state' }), {\r\n default: () => ({\r\n Name: 'minecraft:stone'\r\n })\r\n }));\r\n schemas.register('fluid_state', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n Name: StringNode({ validator: 'resource', params: { pool: 'fluid' } }),\r\n Properties: (0, core_1.Opt)((0, core_1.MapNode)(StringNode(), StringNode()))\r\n }, { context: 'fluid_state' }), {\r\n default: () => ({\r\n Name: 'minecraft:water',\r\n Properties: {\r\n 'level': '0'\r\n }\r\n })\r\n }));\r\n schemas.register('block_pos', (0, core_1.Mod)((0, core_1.ListNode)((0, core_1.NumberNode)({ integer: true }), { minLength: 3, maxLength: 3 }), {\r\n default: () => [0, 0, 0]\r\n }));\r\n const Bounds = (integer) => (0, core_1.Opt)((0, core_1.ChoiceNode)([\r\n {\r\n type: 'number',\r\n node: (0, core_1.NumberNode)({ integer }),\r\n change: (v) => { var _a, _b; return v === undefined ? 0 : (_b = (_a = v.min) !== null && _a !== void 0 ? _a : v.max) !== null && _b !== void 0 ? _b : 0; }\r\n },\r\n {\r\n type: 'object',\r\n node: (0, core_1.ObjectNode)({\r\n min: (0, core_1.Opt)((0, core_1.NumberNode)({ integer })),\r\n max: (0, core_1.Opt)((0, core_1.NumberNode)({ integer }))\r\n }, { context: 'range' }),\r\n change: (v) => ({\r\n min: v !== null && v !== void 0 ? v : 0,\r\n max: v !== null && v !== void 0 ? v : 0\r\n })\r\n }\r\n ]));\r\n schemas.register('int_bounds', Bounds(true));\r\n schemas.register('float_bounds', Bounds());\r\n schemas.register('int_range', (0, core_1.ChoiceNode)([\r\n {\r\n type: 'object',\r\n node: (0, core_1.ObjectNode)({\r\n min: (0, core_1.Opt)(Reference('number_provider')),\r\n max: (0, core_1.Opt)(Reference('number_provider'))\r\n })\r\n },\r\n {\r\n type: 'number',\r\n node: (0, core_1.NumberNode)({ integer: true })\r\n }\r\n ], { context: 'range' }));\r\n const ObjectWithType = (pool, directType, directPath, directDefault, objectDefault, context, cases) => {\r\n let defaultCase = {};\r\n if (objectDefault) {\r\n Object.keys(cases[objectDefault]).forEach(k => {\r\n defaultCase[k] = (0, core_1.Mod)(cases[objectDefault][k], {\r\n enabled: path => path.push('type').get() === undefined\r\n });\r\n });\r\n }\r\n const provider = (0, core_1.ObjectNode)({\r\n type: (0, core_1.Mod)((0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool } })), {\r\n hidden: () => true\r\n }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: cases,\r\n ...defaultCase\r\n }, { context, disableSwitchContext: true });\r\n const choices = [{\r\n type: directType,\r\n node: cases[directDefault][directPath]\r\n }];\r\n if (objectDefault) {\r\n choices.push({\r\n type: 'object',\r\n priority: -1,\r\n node: provider\r\n });\r\n }\r\n Object.keys(cases).forEach(k => {\r\n choices.push({\r\n type: k,\r\n match: (v) => {\r\n var _a;\r\n const type = 'minecraft:' + ((_a = v === null || v === void 0 ? void 0 : v.type) === null || _a === void 0 ? void 0 : _a.replace(/^minecraft:/, ''));\r\n if (type === k)\r\n return true;\r\n const keys = v ? Object.keys(v) : [];\r\n return typeof v === 'object' && ((keys === null || keys === void 0 ? void 0 : keys.length) === 0 || ((keys === null || keys === void 0 ? void 0 : keys.length) === 1 && (keys === null || keys === void 0 ? void 0 : keys[0]) === 'type'));\r\n },\r\n node: provider,\r\n change: (v) => ({ type: k })\r\n });\r\n });\r\n return (0, core_1.ChoiceNode)(choices, { context, choiceContext: `${context}.type` });\r\n };\r\n schemas.register('number_provider', ObjectWithType('loot_number_provider_type', 'number', 'value', 'minecraft:constant', 'minecraft:uniform', 'number_provider', {\r\n 'minecraft:constant': {\r\n value: (0, core_1.NumberNode)()\r\n },\r\n 'minecraft:uniform': {\r\n min: Reference('number_provider'),\r\n max: Reference('number_provider')\r\n },\r\n 'minecraft:binomial': {\r\n n: Reference('number_provider'),\r\n p: Reference('number_provider')\r\n },\r\n 'minecraft:score': {\r\n target: Reference('scoreboard_name_provider'),\r\n score: StringNode({ validator: 'objective' }),\r\n scale: (0, core_1.Opt)((0, core_1.NumberNode)())\r\n }\r\n }));\r\n schemas.register('scoreboard_name_provider', ObjectWithType('loot_score_provider_type', 'string', 'target', 'minecraft:context', null, 'score_provider', {\r\n 'minecraft:fixed': {\r\n name: StringNode({ validator: 'entity', params: { amount: 'multiple', type: 'entities', isScoreHolder: true } }) // FIXME: doesn't support selectors\r\n },\r\n 'minecraft:context': {\r\n target: (0, core_1.Mod)(StringNode({ enum: 'entity_source' }), { default: () => 'this' })\r\n }\r\n }));\r\n schemas.register('nbt_provider', ObjectWithType('loot_nbt_provider_type', 'string', 'target', 'minecraft:context', null, 'nbt_provider', {\r\n 'minecraft:storage': {\r\n source: StringNode({ validator: 'resource', params: { pool: '$storage' } })\r\n },\r\n 'minecraft:context': {\r\n target: (0, core_1.Mod)(StringNode({ enum: 'copy_source' }), { default: () => 'this' })\r\n }\r\n }));\r\n exports.FloatProvider = (config) => ObjectWithType('float_provider_type', 'number', 'value', 'minecraft:constant', null, 'float_provider', {\r\n 'minecraft:constant': {\r\n value: (0, core_1.NumberNode)(config)\r\n },\r\n 'minecraft:uniform': {\r\n value: (0, core_1.ObjectNode)({\r\n min_inclusive: (0, core_1.NumberNode)(config),\r\n max_exclusive: (0, core_1.NumberNode)(config)\r\n })\r\n },\r\n 'minecraft:clamped_normal': {\r\n value: (0, core_1.ObjectNode)({\r\n min: (0, core_1.NumberNode)(),\r\n max: (0, core_1.NumberNode)(),\r\n mean: (0, core_1.NumberNode)(),\r\n deviation: (0, core_1.NumberNode)()\r\n })\r\n },\r\n 'minecraft:trapezoid': {\r\n value: (0, core_1.ObjectNode)({\r\n min: (0, core_1.NumberNode)(),\r\n max: (0, core_1.NumberNode)(),\r\n plateau: (0, core_1.NumberNode)()\r\n })\r\n }\r\n });\r\n schemas.register('float_provider', (0, exports.FloatProvider)());\r\n exports.IntProvider = (config) => ObjectWithType('int_provider_type', 'number', 'value', 'minecraft:constant', null, 'int_provider', {\r\n 'minecraft:constant': {\r\n value: (0, core_1.NumberNode)({ integer: true, ...config })\r\n },\r\n 'minecraft:uniform': {\r\n value: (0, core_1.ObjectNode)({\r\n min_inclusive: (0, core_1.NumberNode)({ integer: true, ...config }),\r\n max_inclusive: (0, core_1.NumberNode)({ integer: true, ...config })\r\n })\r\n },\r\n 'minecraft:biased_to_bottom': {\r\n value: (0, core_1.ObjectNode)({\r\n min_inclusive: (0, core_1.NumberNode)({ integer: true, ...config }),\r\n max_inclusive: (0, core_1.NumberNode)({ integer: true, ...config })\r\n })\r\n },\r\n 'minecraft:clamped': {\r\n value: (0, core_1.ObjectNode)({\r\n min_inclusive: (0, core_1.NumberNode)({ integer: true, ...config }),\r\n max_inclusive: (0, core_1.NumberNode)({ integer: true, ...config }),\r\n source: Reference('int_provider')\r\n })\r\n }\r\n });\r\n schemas.register('int_provider', (0, exports.IntProvider)());\r\n schemas.register('vertical_anchor', (0, core_1.ChoiceNode)(['absolute', 'above_bottom', 'below_top'].map(t => ({\r\n type: t,\r\n match: v => (v === null || v === void 0 ? void 0 : v[t]) !== undefined,\r\n change: v => { var _a, _b, _c; return ({ [t]: (_c = (_b = (_a = v.absolute) !== null && _a !== void 0 ? _a : v.above_bottom) !== null && _b !== void 0 ? _b : v.below_top) !== null && _c !== void 0 ? _c : 0 }); },\r\n node: (0, core_1.ObjectNode)({\r\n [t]: (0, core_1.NumberNode)({ integer: true, min: -2048, max: 2047 })\r\n })\r\n })), { context: 'vertical_anchor' }));\r\n schemas.register('height_provider', ObjectWithType('height_provider_type', 'number', 'value', 'minecraft:constant', null, 'height_provider', {\r\n 'minecraft:constant': {\r\n value: Reference('vertical_anchor')\r\n },\r\n 'minecraft:uniform': {\r\n min_inclusive: Reference('vertical_anchor'),\r\n max_inclusive: Reference('vertical_anchor')\r\n },\r\n 'minecraft:biased_to_bottom': {\r\n min_inclusive: Reference('vertical_anchor'),\r\n max_inclusive: Reference('vertical_anchor'),\r\n inner: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 1 }))\r\n },\r\n 'minecraft:very_biased_to_bottom': {\r\n min_inclusive: Reference('vertical_anchor'),\r\n max_inclusive: Reference('vertical_anchor'),\r\n inner: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 1 }))\r\n },\r\n 'minecraft:trapezoid': {\r\n min_inclusive: Reference('vertical_anchor'),\r\n max_inclusive: Reference('vertical_anchor'),\r\n plateau: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true }))\r\n }\r\n }));\r\n exports.ConditionCases = (entitySourceNode = StringNode({ enum: 'entity_source' })) => ({\r\n 'minecraft:alternative': {\r\n terms: (0, core_1.ListNode)(Reference('condition'))\r\n },\r\n 'minecraft:block_state_property': {\r\n block: StringNode({ validator: 'resource', params: { pool: 'block' } }),\r\n properties: (0, core_1.MapNode)(StringNode(), StringNode(), { validation: { validator: 'block_state_map', params: { id: ['pop', { push: 'block' }] } } })\r\n },\r\n 'minecraft:damage_source_properties': {\r\n predicate: Reference('damage_source_predicate')\r\n },\r\n 'minecraft:entity_properties': {\r\n entity: entitySourceNode,\r\n predicate: Reference('entity_predicate')\r\n },\r\n 'minecraft:entity_scores': {\r\n entity: entitySourceNode,\r\n scores: (0, core_1.MapNode)(StringNode({ validator: 'objective' }), Reference('int_range'))\r\n },\r\n 'minecraft:inverted': {\r\n term: Reference('condition')\r\n },\r\n 'minecraft:killed_by_player': {\r\n inverse: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n },\r\n 'minecraft:location_check': {\r\n offsetX: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n offsetY: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n offsetZ: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n predicate: Reference('location_predicate')\r\n },\r\n 'minecraft:match_tool': {\r\n predicate: Reference('item_predicate')\r\n },\r\n 'minecraft:random_chance': {\r\n chance: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n },\r\n 'minecraft:random_chance_with_looting': {\r\n chance: (0, core_1.NumberNode)({ min: 0, max: 1 }),\r\n looting_multiplier: (0, core_1.NumberNode)()\r\n },\r\n 'minecraft:reference': {\r\n name: StringNode({ validator: 'resource', params: { pool: '$predicate' } })\r\n },\r\n 'minecraft:table_bonus': {\r\n enchantment: StringNode({ validator: 'resource', params: { pool: 'enchantment' } }),\r\n chances: (0, core_1.ListNode)((0, core_1.NumberNode)({ min: 0, max: 1 }))\r\n },\r\n 'minecraft:time_check': {\r\n value: Reference('int_range'),\r\n period: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true }))\r\n },\r\n 'minecraft:value_check': {\r\n value: Reference('number_provider'),\r\n range: Reference('int_range')\r\n },\r\n 'minecraft:weather_check': {\r\n raining: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n thundering: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n }\r\n });\r\n exports.FunctionCases = (conditions, copySourceNode = StringNode({ enum: 'copy_source' }), entitySourceNode = StringNode({ enum: 'entity_source' })) => {\r\n const cases = {\r\n 'minecraft:apply_bonus': {\r\n enchantment: StringNode({ validator: 'resource', params: { pool: 'enchantment' } }),\r\n formula: StringNode({ validator: 'resource', params: { pool: collections.get('loot_table_apply_bonus_formula') } }),\r\n parameters: (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n bonusMultiplier: (0, core_1.Mod)((0, core_1.NumberNode)(), {\r\n enabled: path => path.pop().push('formula').get() === 'minecraft:uniform_bonus_count'\r\n }),\r\n extra: (0, core_1.Mod)((0, core_1.NumberNode)(), {\r\n enabled: path => path.pop().push('formula').get() === 'minecraft:binomial_with_bonus_count'\r\n }),\r\n probability: (0, core_1.Mod)((0, core_1.NumberNode)(), {\r\n enabled: path => path.pop().push('formula').get() === 'minecraft:binomial_with_bonus_count'\r\n })\r\n }), {\r\n enabled: path => path.push('formula').get() !== 'minecraft:ore_drops'\r\n })\r\n },\r\n 'minecraft:copy_name': {\r\n source: copySourceNode\r\n },\r\n 'minecraft:copy_nbt': {\r\n source: Reference('nbt_provider'),\r\n ops: (0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n source: StringNode({ validator: 'nbt_path', params: { category: { getter: 'copy_source', path: ['pop', 'pop', 'pop', { push: 'source' }] } } }),\r\n target: StringNode({ validator: 'nbt_path', params: { category: 'minecraft:item' } }),\r\n op: StringNode({ enum: ['replace', 'append', 'merge'] })\r\n }, { context: 'nbt_operation' }))\r\n },\r\n 'minecraft:copy_state': {\r\n block: StringNode({ validator: 'resource', params: { pool: 'block' } }),\r\n properties: (0, core_1.ListNode)(StringNode({ validator: 'block_state_key', params: { id: ['pop', 'pop', { push: 'block' }] } }))\r\n },\r\n 'minecraft:enchant_randomly': {\r\n enchantments: (0, core_1.Opt)((0, core_1.ListNode)(StringNode({ validator: 'resource', params: { pool: 'enchantment' } })))\r\n },\r\n 'minecraft:enchant_with_levels': {\r\n levels: Reference('number_provider'),\r\n treasure: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n },\r\n 'minecraft:exploration_map': {\r\n destination: (0, core_1.Opt)(StringNode({ enum: 'map_feature' })),\r\n decoration: (0, core_1.Opt)(StringNode({ enum: 'map_decoration' })),\r\n zoom: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n search_radius: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n skip_existing_chunks: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n },\r\n 'minecraft:fill_player_head': {\r\n entity: entitySourceNode\r\n },\r\n 'minecraft:limit_count': {\r\n limit: Reference('int_range')\r\n },\r\n 'minecraft:looting_enchant': {\r\n count: Reference('number_provider'),\r\n limit: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true }))\r\n },\r\n 'minecraft:set_attributes': {\r\n modifiers: (0, core_1.ListNode)(Reference('attribute_modifier'))\r\n },\r\n 'minecraft:set_banner_pattern': {\r\n patterns: (0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n pattern: StringNode({ enum: 'banner_pattern' }),\r\n color: StringNode({ enum: 'dye_color' })\r\n })),\r\n append: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n },\r\n 'minecraft:set_contents': {\r\n entries: (0, core_1.ListNode)(Reference('loot_entry'))\r\n },\r\n 'minecraft:set_count': {\r\n count: Reference('number_provider'),\r\n add: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n },\r\n 'minecraft:set_damage': {\r\n damage: Reference('number_provider'),\r\n add: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n },\r\n 'minecraft:set_enchantments': {\r\n enchantments: (0, core_1.MapNode)(StringNode({ validator: 'resource', params: { pool: 'enchantment' } }), Reference('number_provider')),\r\n add: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n },\r\n 'minecraft:set_loot_table': {\r\n name: StringNode({ validator: 'resource', params: { pool: '$loot_table' } }),\r\n seed: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true }))\r\n },\r\n 'minecraft:set_lore': {\r\n entity: (0, core_1.Opt)(entitySourceNode),\r\n lore: (0, core_1.ListNode)(Reference('text_component')),\r\n replace: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n },\r\n 'minecraft:set_name': {\r\n entity: (0, core_1.Opt)(entitySourceNode),\r\n name: (0, core_1.Opt)(Reference('text_component'))\r\n },\r\n 'minecraft:set_nbt': {\r\n tag: StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:item' } } })\r\n },\r\n 'minecraft:set_stew_effect': {\r\n effects: (0, core_1.Opt)((0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'mob_effect' } }),\r\n duration: Reference('number_provider')\r\n })))\r\n }\r\n };\r\n const res = {};\r\n collections.get('loot_function_type').forEach(f => {\r\n res[f] = { ...cases[f], ...conditions };\r\n });\r\n return res;\r\n };\r\n exports.DimensionTypePresets = (node) => (0, core_1.ObjectOrPreset)(StringNode({ validator: 'resource', params: { pool: '$dimension_type' } }), node, {\r\n 'minecraft:overworld': exports.DefaultDimensionType,\r\n 'minecraft:the_nether': {\r\n name: 'minecraft:the_nether',\r\n ultrawarm: true,\r\n natural: false,\r\n shrunk: true,\r\n piglin_safe: true,\r\n respawn_anchor_works: true,\r\n bed_works: false,\r\n has_raids: false,\r\n has_skylight: false,\r\n has_ceiling: true,\r\n ambient_light: 0.1,\r\n fixed_time: 18000,\r\n logical_height: 128,\r\n effects: 'minecraft:the_nether',\r\n infiniburn: 'minecraft:infiniburn_nether',\r\n min_y: 0,\r\n height: 256,\r\n },\r\n 'minecraft:the_end': {\r\n name: 'minecraft:the_end',\r\n ultrawarm: false,\r\n natural: false,\r\n shrunk: false,\r\n piglin_safe: false,\r\n respawn_anchor_works: false,\r\n bed_works: false,\r\n has_raids: true,\r\n has_skylight: false,\r\n has_ceiling: false,\r\n ambient_light: 0,\r\n fixed_time: 6000,\r\n logical_height: 256,\r\n effects: 'minecraft:the_end',\r\n infiniburn: 'minecraft:infiniburn_end',\r\n min_y: 0,\r\n height: 256,\r\n }\r\n });\r\n exports.NoiseSettingsPresets = (node) => (0, core_1.ObjectOrPreset)(StringNode({ validator: 'resource', params: { pool: '$worldgen/noise_settings' } }), node, {\r\n 'minecraft:overworld': exports.DefaultNoiseSettings,\r\n 'minecraft:nether': {\r\n name: 'minecraft:nether',\r\n bedrock_roof_position: 0,\r\n bedrock_floor_position: 0,\r\n sea_level: 32,\r\n disable_mob_generation: true,\r\n noise_caves_enabled: false,\r\n aquifers_enabled: false,\r\n deepslate_enabled: false,\r\n noise: {\r\n min_y: 0,\r\n height: 128,\r\n density_factor: 0,\r\n density_offset: 0.019921875,\r\n simplex_surface_noise: false,\r\n random_density_offset: false,\r\n size_horizontal: 1,\r\n size_vertical: 2,\r\n sampling: {\r\n xz_scale: 1,\r\n y_scale: 3,\r\n xz_factor: 80,\r\n y_factor: 60\r\n },\r\n top_slide: {\r\n target: 120,\r\n size: 3,\r\n offset: 0\r\n },\r\n bottom_slide: {\r\n target: 320,\r\n size: 4,\r\n offset: -1\r\n }\r\n },\r\n default_block: {\r\n Name: \"minecraft:netherrack\"\r\n },\r\n default_fluid: {\r\n Name: \"minecraft:lava\",\r\n Properties: {\r\n level: \"0\"\r\n }\r\n }\r\n },\r\n 'minecraft:end': {\r\n name: 'minecraft:end',\r\n bedrock_roof_position: -10,\r\n bedrock_floor_position: -10,\r\n sea_level: 0,\r\n disable_mob_generation: true,\r\n noise_caves_enabled: false,\r\n aquifers_enabled: false,\r\n deepslate_enabled: false,\r\n noise: {\r\n min_y: 0,\r\n height: 128,\r\n density_factor: 0,\r\n density_offset: 0,\r\n simplex_surface_noise: true,\r\n random_density_offset: false,\r\n island_noise_override: true,\r\n size_horizontal: 2,\r\n size_vertical: 1,\r\n sampling: {\r\n xz_scale: 2,\r\n y_scale: 1,\r\n xz_factor: 80,\r\n y_factor: 160\r\n },\r\n top_slide: {\r\n target: -3000,\r\n size: 64,\r\n offset: -46\r\n },\r\n bottom_slide: {\r\n target: -30,\r\n size: 7,\r\n offset: 1\r\n }\r\n },\r\n default_block: {\r\n Name: \"minecraft:end_stone\"\r\n },\r\n default_fluid: {\r\n Name: \"minecraft:air\"\r\n }\r\n },\r\n 'minecraft:amplified': {\r\n name: 'minecraft:amplified',\r\n bedrock_roof_position: -10,\r\n bedrock_floor_position: 0,\r\n sea_level: 63,\r\n disable_mob_generation: false,\r\n noise_caves_enabled: true,\r\n aquifers_enabled: true,\r\n deepslate_enabled: true,\r\n noise: {\r\n min_y: 0,\r\n height: 256,\r\n density_factor: 1,\r\n density_offset: -0.46875,\r\n simplex_surface_noise: true,\r\n random_density_offset: true,\r\n amplified: true,\r\n size_horizontal: 1,\r\n size_vertical: 2,\r\n sampling: {\r\n xz_scale: 1,\r\n y_scale: 1,\r\n xz_factor: 80,\r\n y_factor: 160\r\n },\r\n top_slide: {\r\n target: -10,\r\n size: 3,\r\n offset: 0\r\n },\r\n bottom_slide: {\r\n target: -30,\r\n size: 0,\r\n offset: 0\r\n }\r\n },\r\n default_block: {\r\n Name: \"minecraft:stone\"\r\n },\r\n default_fluid: {\r\n Name: \"minecraft:water\",\r\n Properties: {\r\n level: \"0\"\r\n }\r\n }\r\n },\r\n 'minecraft:caves': {\r\n name: 'minecraft:caves',\r\n bedrock_roof_position: 0,\r\n bedrock_floor_position: 0,\r\n sea_level: 32,\r\n disable_mob_generation: true,\r\n noise_caves_enabled: false,\r\n aquifers_enabled: false,\r\n deepslate_enabled: false,\r\n noise: {\r\n min_y: 0,\r\n height: 128,\r\n density_factor: 0,\r\n density_offset: 0.019921875,\r\n simplex_surface_noise: false,\r\n random_density_offset: false,\r\n size_horizontal: 1,\r\n size_vertical: 2,\r\n sampling: {\r\n xz_scale: 1,\r\n y_scale: 3,\r\n xz_factor: 80,\r\n y_factor: 60\r\n },\r\n top_slide: {\r\n target: 120,\r\n size: 3,\r\n offset: 0\r\n },\r\n bottom_slide: {\r\n target: 320,\r\n size: 4,\r\n offset: -1\r\n }\r\n },\r\n default_block: {\r\n Name: \"minecraft:stone\"\r\n },\r\n default_fluid: {\r\n Name: \"minecraft:water\",\r\n Properties: {\r\n level: \"0\"\r\n }\r\n }\r\n },\r\n 'minecraft:floating_islands': {\r\n name: 'minecraft:floating_islands',\r\n bedrock_roof_position: -10,\r\n bedrock_floor_position: -10,\r\n sea_level: 0,\r\n disable_mob_generation: true,\r\n noise_caves_enabled: false,\r\n aquifers_enabled: false,\r\n deepslate_enabled: false,\r\n noise: {\r\n min_y: 0,\r\n height: 128,\r\n density_factor: 0,\r\n density_offset: 0,\r\n simplex_surface_noise: true,\r\n random_density_offset: false,\r\n island_noise_override: true,\r\n size_horizontal: 2,\r\n size_vertical: 1,\r\n sampling: {\r\n xz_scale: 2,\r\n y_scale: 1,\r\n xz_factor: 80,\r\n y_factor: 160\r\n },\r\n top_slide: {\r\n target: -3000,\r\n size: 64,\r\n offset: -46\r\n },\r\n bottom_slide: {\r\n target: -30,\r\n size: 7,\r\n offset: 1\r\n }\r\n },\r\n default_block: {\r\n Name: \"minecraft:stone\"\r\n },\r\n default_fluid: {\r\n Name: \"minecraft:water\",\r\n Properties: {\r\n level: \"0\"\r\n }\r\n }\r\n }\r\n });\r\n}\r\nexports.initCommonSchemas = initCommonSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initConditionSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"./Common\");\r\nfunction initConditionSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('predicate', (0, core_1.ObjectOrList)(Reference('condition'), { choiceContext: 'condition' }));\r\n schemas.register('condition', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n condition: StringNode({ validator: 'resource', params: { pool: 'loot_condition_type' } }),\r\n [core_1.Switch]: [{ push: 'condition' }],\r\n [core_1.Case]: (0, Common_1.ConditionCases)()\r\n }, { category: 'predicate', context: 'condition' }), {\r\n default: () => ({\r\n condition: 'minecraft:entity_properties',\r\n entity: 'this'\r\n })\r\n }));\r\n}\r\nexports.initConditionSchemas = initConditionSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initDimensionSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"./Common\");\r\nfunction initDimensionSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const NoPreset = (node) => (0, core_1.Mod)(node, {\r\n enabled: path => path.push('preset').get() === undefined\r\n });\r\n schemas.register('dimension', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n type: (0, Common_1.DimensionTypePresets)(Reference('dimension_type')),\r\n generator: (0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/chunk_generator' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:noise': {\r\n seed: (0, core_1.NumberNode)({ integer: true }),\r\n settings: (0, Common_1.NoiseSettingsPresets)(Reference('noise_settings')),\r\n biome_source: (0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/biome_source' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:fixed': {\r\n biome: StringNode({ validator: 'resource', params: { pool: '$worldgen/biome' } })\r\n },\r\n 'minecraft:multi_noise': {\r\n seed: (0, core_1.NumberNode)({ integer: true }),\r\n preset: (0, core_1.Opt)(StringNode({ enum: ['nether'] })),\r\n altitude_noise: NoPreset(Reference('generator_biome_noise')),\r\n temperature_noise: NoPreset(Reference('generator_biome_noise')),\r\n humidity_noise: NoPreset(Reference('generator_biome_noise')),\r\n weirdness_noise: NoPreset(Reference('generator_biome_noise')),\r\n biomes: NoPreset((0, core_1.Mod)((0, core_1.ListNode)(Reference('generator_biome')), {\r\n default: () => [{\r\n biome: 'minecraft:plains'\r\n }]\r\n }))\r\n },\r\n 'minecraft:checkerboard': {\r\n scale: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 0, max: 62 })),\r\n biomes: (0, core_1.ListNode)(StringNode({ validator: 'resource', params: { pool: '$worldgen/biome' } }))\r\n },\r\n 'minecraft:the_end': {\r\n seed: (0, core_1.NumberNode)({ integer: true })\r\n },\r\n 'minecraft:vanilla_layered': {\r\n seed: (0, core_1.NumberNode)({ integer: true }),\r\n large_biomes: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n legacy_biome_init_layer: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n }\r\n }\r\n }, { category: 'predicate', disableSwitchContext: true })\r\n },\r\n 'minecraft:flat': {\r\n settings: (0, core_1.ObjectNode)({\r\n biome: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$worldgen/biome' } })),\r\n lakes: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n features: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n layers: (0, core_1.ListNode)(Reference('generator_layer')),\r\n structures: Reference('generator_structures')\r\n })\r\n }\r\n }\r\n }, { disableSwitchContext: true })\r\n }, { category: 'pool', context: 'dimension' }), {\r\n default: () => {\r\n const seed = Math.floor(Math.random() * (4294967296)) - 2147483648;\r\n return {\r\n type: 'minecraft:overworld',\r\n generator: {\r\n type: 'minecraft:noise',\r\n seed,\r\n biome_source: {\r\n type: 'minecraft:fixed',\r\n seed,\r\n biome: 'minecraft:plains'\r\n },\r\n settings: 'minecraft:overworld'\r\n }\r\n };\r\n }\r\n }));\r\n schemas.register('generator_biome', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n biome: StringNode({ validator: 'resource', params: { pool: '$worldgen/biome' } }),\r\n parameters: (0, core_1.ObjectNode)({\r\n altitude: (0, core_1.NumberNode)(),\r\n temperature: (0, core_1.NumberNode)(),\r\n humidity: (0, core_1.NumberNode)(),\r\n weirdness: (0, core_1.NumberNode)(),\r\n offset: (0, core_1.NumberNode)()\r\n })\r\n }, { context: 'generator_biome' }), {\r\n default: () => ({\r\n biome: 'minecraft:plains',\r\n parameters: {\r\n altitude: 0,\r\n temperature: 0,\r\n humidity: 0,\r\n weirdness: 0,\r\n offset: 0\r\n }\r\n })\r\n }));\r\n schemas.register('generator_biome_noise', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n firstOctave: (0, core_1.NumberNode)({ integer: true }),\r\n amplitudes: (0, core_1.ListNode)((0, core_1.NumberNode)())\r\n }, { context: 'generator_biome_noise' }), {\r\n default: () => ({\r\n firstOctave: -7,\r\n amplitudes: [1, 1]\r\n })\r\n }));\r\n}\r\nexports.initDimensionSchemas = initDimensionSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initDimensionTypeSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"./Common\");\r\nfunction initDimensionTypeSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('dimension_type', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n name: (0, core_1.Mod)(StringNode({ validator: 'resource', params: { pool: '$dimension_type', isDefinition: true } }), {\r\n enabled: (path) => path.getArray().length > 0\r\n }),\r\n ultrawarm: (0, core_1.BooleanNode)(),\r\n natural: (0, core_1.BooleanNode)(),\r\n piglin_safe: (0, core_1.BooleanNode)(),\r\n respawn_anchor_works: (0, core_1.BooleanNode)(),\r\n bed_works: (0, core_1.BooleanNode)(),\r\n has_raids: (0, core_1.BooleanNode)(),\r\n has_skylight: (0, core_1.BooleanNode)(),\r\n has_ceiling: (0, core_1.BooleanNode)(),\r\n coordinate_scale: (0, core_1.NumberNode)({ min: 0.00001, max: 30000000 }),\r\n ambient_light: (0, core_1.NumberNode)(),\r\n fixed_time: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n logical_height: (0, core_1.NumberNode)({ integer: true, min: 0, max: 4096 }),\r\n effects: (0, core_1.Opt)(StringNode({ enum: ['minecraft:overworld', 'minecraft:the_nether', 'minecraft:the_end'] })),\r\n infiniburn: StringNode({ validator: 'resource', params: { pool: '$tag/block' } }),\r\n min_y: (0, core_1.NumberNode)({ integer: true, min: -2048, max: 2047 }),\r\n height: (0, core_1.NumberNode)({ integer: true, min: 0, max: 4096 })\r\n }, { context: 'dimension_type' }), node => ({\r\n default: () => Common_1.DefaultDimensionType,\r\n validate: (path, value, errors, options) => {\r\n value = node.validate(path, value, errors, options);\r\n if ((value === null || value === void 0 ? void 0 : value.min_y) + (value === null || value === void 0 ? void 0 : value.height) > 2047) {\r\n errors.add(path.push('height'), 'error.min_y_plus_height', 2047);\r\n }\r\n if ((value === null || value === void 0 ? void 0 : value.logical_height) > (value === null || value === void 0 ? void 0 : value.height)) {\r\n errors.add(path.push('logical_height'), 'error.logical_height');\r\n }\r\n if ((value === null || value === void 0 ? void 0 : value.height) % 16 !== 0) {\r\n errors.add(path.push('height'), 'error.height_multiple', 16);\r\n }\r\n if ((value === null || value === void 0 ? void 0 : value.min_y) % 16 !== 0) {\r\n errors.add(path.push('min_y'), 'error.min_y_multiple', 16);\r\n }\r\n return value;\r\n }\r\n })));\r\n}\r\nexports.initDimensionTypeSchemas = initDimensionTypeSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initItemModifierSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"./Common\");\r\nfunction initItemModifierSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('item_modifier', (0, core_1.ObjectOrList)(Reference('function'), { choiceContext: 'function' }));\r\n const conditions = {\r\n conditions: (0, core_1.Opt)((0, core_1.ListNode)(Reference('condition')))\r\n };\r\n schemas.register('function', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n function: StringNode({ validator: 'resource', params: { pool: 'loot_function_type' } }),\r\n [core_1.Switch]: [{ push: 'function' }],\r\n [core_1.Case]: (0, Common_1.FunctionCases)(conditions)\r\n }, { category: 'function', context: 'function' }), {\r\n default: () => [{\r\n function: 'minecraft:set_count',\r\n count: 1\r\n }]\r\n }));\r\n}\r\nexports.initItemModifierSchemas = initItemModifierSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.LootFunctions = exports.LootConditions = exports.LootCopySources = exports.LootEntitySources = exports.LootTableTypes = void 0;\r\nexports.LootTableTypes = new Map([\r\n ['minecraft:advancement_entity', { requires: [7 /* Origin */, 8 /* ThisEntity */], allows: [] }],\r\n ['minecraft:advancement_reward', { requires: [7 /* Origin */, 8 /* ThisEntity */], allows: [] }],\r\n ['minecraft:barter', { requires: [8 /* ThisEntity */], allows: [] }],\r\n ['minecraft:block', { requires: [1 /* BlockState */, 7 /* Origin */, 9 /* Tool */], allows: [0 /* BlockEntity */, 4 /* ExplosionRadius */, 8 /* ThisEntity */] }],\r\n ['minecraft:chest', { requires: [7 /* Origin */], allows: [8 /* ThisEntity */] }],\r\n ['minecraft:command', { requires: [7 /* Origin */], allows: [8 /* ThisEntity */] }],\r\n ['minecraft:empty', { requires: [], allows: [] }],\r\n ['minecraft:entity', { requires: [2 /* DamageSource */, 7 /* Origin */, 8 /* ThisEntity */], allows: [3 /* DirectKillerEntity */, 5 /* KillerEntity */, 6 /* LastDamagePlayer */] }],\r\n ['minecraft:fishing', { requires: [7 /* Origin */, 9 /* Tool */], allows: [8 /* ThisEntity */] }],\r\n ['minecraft:generic', { requires: [2 /* DamageSource */, 0 /* BlockEntity */, 1 /* BlockState */, 3 /* DirectKillerEntity */, 4 /* ExplosionRadius */, 5 /* KillerEntity */, 6 /* LastDamagePlayer */, 7 /* Origin */, 8 /* ThisEntity */, 9 /* Tool */], allows: [] }],\r\n ['minecraft:gift', { requires: [7 /* Origin */, 8 /* ThisEntity */], allows: [] }],\r\n ['minecraft:selector', { requires: [7 /* Origin */], allows: [8 /* ThisEntity */] }]\r\n]);\r\n/**\r\n * A map from loot entity sources to an array of their required context.\r\n */\r\nexports.LootEntitySources = new Map([\r\n ['direct_killer', [3 /* DirectKillerEntity */]],\r\n ['killer', [5 /* KillerEntity */]],\r\n ['killer_player', [5 /* KillerEntity */]],\r\n ['this', [8 /* ThisEntity */]]\r\n]);\r\n/**\r\n * A map from loot copy sources to an array of their required context.\r\n */\r\nexports.LootCopySources = new Map([\r\n ['block_entity', [0 /* BlockEntity */]],\r\n ['killer', [5 /* KillerEntity */]],\r\n ['killer_player', [5 /* KillerEntity */]],\r\n ['this', [8 /* ThisEntity */]]\r\n]);\r\n/**\r\n * A map from loot condition IDs to an array of their required context.\r\n */\r\nexports.LootConditions = new Map([\r\n ['minecraft:alternative', []],\r\n ['minecraft:block_state_property', [1 /* BlockState */]],\r\n ['minecraft:damage_source_properties', [2 /* DamageSource */]],\r\n ['minecraft:entity_properties', [7 /* Origin */]],\r\n ['minecraft:entity_scores', []],\r\n ['minecraft:inverted', []],\r\n ['minecraft:killed_by_player', [6 /* LastDamagePlayer */]],\r\n ['minecraft:location_check', []],\r\n ['minecraft:match_tool', [9 /* Tool */]],\r\n ['minecraft:random_chance', []],\r\n ['minecraft:random_chance_with_looting', [5 /* KillerEntity */]],\r\n ['minecraft:reference', []],\r\n ['minecraft:survives_explosion', [4 /* ExplosionRadius */]],\r\n ['minecraft:table_bonus', [9 /* Tool */]],\r\n ['minecraft:time_check', []],\r\n ['minecraft:weather_check', []]\r\n]);\r\n/**\r\n * A map from loot function IDs to an array of their required context.\r\n */\r\nexports.LootFunctions = new Map([\r\n ['minecraft:apply_bonus', [9 /* Tool */]],\r\n ['minecraft:copy_name', []],\r\n ['minecraft:copy_nbt', []],\r\n ['minecraft:copy_state', [1 /* BlockState */]],\r\n ['minecraft:enchant_randomly', []],\r\n ['minecraft:enchant_with_levels', []],\r\n ['minecraft:exploration_map', [7 /* Origin */]],\r\n ['minecraft:explosion_decay', []],\r\n ['minecraft:fill_player_head', []],\r\n ['minecraft:furnace_smelt', []],\r\n ['minecraft:limit_count', []],\r\n ['minecraft:looting_enchant', [5 /* KillerEntity */]],\r\n ['minecraft:set_attributes', []],\r\n ['minecraft:set_banner_pattern', []],\r\n ['minecraft:set_contents', []],\r\n ['minecraft:set_count', []],\r\n ['minecraft:set_damage', []],\r\n ['minecraft:set_loot_table', []],\r\n ['minecraft:set_lore', []],\r\n ['minecraft:set_name', []],\r\n ['minecraft:set_nbt', []],\r\n ['minecraft:set_stew_effect', []]\r\n]);\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initLootTableSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst LootContext_1 = require(\"../LootContext\");\r\nconst Common_1 = require(\"./Common\");\r\nfunction initLootTableSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const conditions = {\r\n conditions: (0, core_1.Opt)((0, core_1.ListNode)(Reference('loot_condition')))\r\n };\r\n const functionsAndConditions = {\r\n functions: (0, core_1.Opt)((0, core_1.ListNode)(Reference('loot_function'))),\r\n ...conditions\r\n };\r\n function compileSwitchNode(contextMap, collectionID, getNode) {\r\n const cases = [];\r\n const getAvailableOptions = (providedContext) => collections\r\n .get(collectionID)\r\n .filter(t => {\r\n var _a;\r\n const requiredContext = (_a = contextMap.get(t)) !== null && _a !== void 0 ? _a : [];\r\n return requiredContext.every(c => providedContext.includes(c));\r\n });\r\n for (const [tableType, { allows, requires }] of LootContext_1.LootTableTypes) {\r\n const providedContext = [...allows, ...requires];\r\n cases.push({\r\n match: path => path.getModel().get(new core_1.Path(['type'])) === tableType,\r\n node: getNode(getAvailableOptions(providedContext))\r\n });\r\n }\r\n cases.push({ match: _ => true, node: getNode(collectionID) });\r\n return (0, core_1.SwitchNode)(cases);\r\n }\r\n const conditionIDSwtichNode = compileSwitchNode(LootContext_1.LootConditions, 'loot_condition_type', type => StringNode({ validator: 'resource', params: { pool: type instanceof Array ? type : `loot_condition_type` } }));\r\n const functionIDSwtichNode = compileSwitchNode(LootContext_1.LootFunctions, 'loot_function_type', type => StringNode({ validator: 'resource', params: { pool: type instanceof Array ? type : `loot_function_type` } }));\r\n const entitySourceSwtichNode = compileSwitchNode(LootContext_1.LootEntitySources, 'entity_source', type => StringNode({ enum: type }));\r\n const copySourceSwtichNode = compileSwitchNode(LootContext_1.LootCopySources, 'copy_source', type => StringNode({ enum: type }));\r\n schemas.register('loot_table', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n type: (0, core_1.Opt)(StringNode({ validator: \"resource\", params: { pool: collections.get('loot_context_type') } })),\r\n pools: (0, core_1.Opt)((0, core_1.ListNode)((0, core_1.Mod)((0, core_1.ObjectNode)({\r\n rolls: Reference('number_provider'),\r\n bonus_rolls: (0, core_1.Opt)(Reference('number_provider')),\r\n entries: (0, core_1.ListNode)(Reference('loot_entry')),\r\n ...functionsAndConditions\r\n }, { category: 'pool', context: 'loot_pool' }), {\r\n default: () => ({\r\n rolls: 1,\r\n entries: [{\r\n type: 'minecraft:item',\r\n name: 'minecraft:stone'\r\n }]\r\n })\r\n }))),\r\n functions: (0, core_1.Opt)((0, core_1.ListNode)(Reference('loot_function')))\r\n }, { context: 'loot_table' }), {\r\n default: () => ({\r\n pools: [{\r\n rolls: 1,\r\n entries: [{\r\n type: 'minecraft:item',\r\n name: 'minecraft:stone'\r\n }]\r\n }]\r\n })\r\n }));\r\n const weightMod = {\r\n enabled: path => {\r\n var _a;\r\n return ((_a = path.pop().get()) === null || _a === void 0 ? void 0 : _a.length) > 1\r\n && !['minecraft:alternatives', 'minecraft:group', 'minecraft:sequence'].includes(path.push('type').get());\r\n }\r\n };\r\n schemas.register('loot_entry', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'loot_pool_entry_type' } }),\r\n weight: (0, core_1.Opt)((0, core_1.Mod)((0, core_1.NumberNode)({ integer: true, min: 1 }), weightMod)),\r\n quality: (0, core_1.Opt)((0, core_1.Mod)((0, core_1.NumberNode)({ integer: true }), weightMod)),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:alternatives': {\r\n children: (0, core_1.ListNode)(Reference('loot_entry')),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:dynamic': {\r\n name: StringNode(),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:group': {\r\n children: (0, core_1.ListNode)(Reference('loot_entry')),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:item': {\r\n name: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:loot_table': {\r\n name: StringNode({ validator: 'resource', params: { pool: '$loot_table' } }),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:sequence': {\r\n children: (0, core_1.ListNode)(Reference('loot_entry')),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:tag': {\r\n name: StringNode({ validator: 'resource', params: { pool: '$tag/item' } }),\r\n expand: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n ...functionsAndConditions\r\n }\r\n }\r\n }, { context: 'loot_entry' }), {\r\n default: () => ({\r\n type: 'minecraft:item',\r\n name: 'minecraft:stone'\r\n })\r\n }));\r\n schemas.register('loot_function', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n function: functionIDSwtichNode,\r\n [core_1.Switch]: [{ push: 'function' }],\r\n [core_1.Case]: (0, Common_1.FunctionCases)(conditions, copySourceSwtichNode, entitySourceSwtichNode)\r\n }, { category: 'function', context: 'function' }), {\r\n default: () => ({\r\n function: 'minecraft:set_count',\r\n count: 1\r\n })\r\n }));\r\n schemas.register('loot_condition', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n condition: conditionIDSwtichNode,\r\n [core_1.Switch]: [{ push: 'condition' }],\r\n [core_1.Case]: (0, Common_1.ConditionCases)(entitySourceSwtichNode)\r\n }, { category: 'predicate', context: 'condition' }), {\r\n default: () => ({\r\n condition: 'minecraft:random_chance',\r\n chance: 0.5\r\n })\r\n }));\r\n schemas.register('attribute_modifier', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n attribute: StringNode({ validator: 'resource', params: { pool: 'attribute' } }),\r\n name: StringNode(),\r\n amount: Reference('number_provider'),\r\n operation: StringNode({ enum: ['addition', 'multiply_base', 'multiply_total'] }),\r\n slot: (0, core_1.StringOrList)(StringNode({ enum: 'slot' }))\r\n }, { context: 'attribute_modifier' }), {\r\n default: () => ({\r\n attribute: 'minecraft:generic.max_health',\r\n name: '',\r\n amount: 1,\r\n operation: 'addition',\r\n slot: 'mainhand'\r\n })\r\n }));\r\n}\r\nexports.initLootTableSchemas = initLootTableSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initPackMcmetaSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst CURRENT_PACK_FORMAT = 7;\r\nfunction initPackMcmetaSchemas(schemas, _) {\r\n const getSimpleString = (jsonText) => { var _a, _b; return jsonText instanceof Array ? getSimpleString(jsonText[0]) : (_b = (_a = jsonText === null || jsonText === void 0 ? void 0 : jsonText.text) !== null && _a !== void 0 ? _a : jsonText === null || jsonText === void 0 ? void 0 : jsonText.toString()) !== null && _b !== void 0 ? _b : ''; };\r\n schemas.register('pack_mcmeta', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n pack: (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n pack_format: (0, core_1.Mod)((0, core_1.NumberNode)({ integer: true, min: CURRENT_PACK_FORMAT, max: CURRENT_PACK_FORMAT }), {\r\n default: () => CURRENT_PACK_FORMAT,\r\n canUpdate: (_p, v) => v !== CURRENT_PACK_FORMAT,\r\n update: () => [{ name: 'pack_format', params: [CURRENT_PACK_FORMAT], newValue: CURRENT_PACK_FORMAT }]\r\n }),\r\n description: (0, core_1.Reference)(schemas, 'text_component')\r\n }), {\r\n default: () => ({\r\n pack_format: CURRENT_PACK_FORMAT,\r\n description: ''\r\n })\r\n })\r\n }), {\r\n default: () => ({\r\n pack: {\r\n pack_format: CURRENT_PACK_FORMAT,\r\n description: ''\r\n }\r\n })\r\n }));\r\n}\r\nexports.initPackMcmetaSchemas = initPackMcmetaSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initPredicatesSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initPredicatesSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const StateChoice = (0, core_1.ChoiceNode)([\r\n {\r\n type: 'string',\r\n node: StringNode(),\r\n change: v => (typeof v === 'boolean' || typeof v === 'number') ? v.toString() : ''\r\n },\r\n {\r\n type: 'number',\r\n node: (0, core_1.NumberNode)(),\r\n change: v => (typeof v === 'string') ? parseInt(v) : 0\r\n },\r\n {\r\n type: 'object',\r\n node: (0, core_1.ObjectNode)({\r\n min: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n max: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true }))\r\n }),\r\n change: v => (typeof v === 'number') ? ({ min: v, max: v }) : ({})\r\n },\r\n {\r\n type: 'boolean',\r\n node: (0, core_1.BooleanNode)(),\r\n change: v => v === 'true' || v === 1\r\n }\r\n ]);\r\n schemas.register('item_predicate', (0, core_1.ObjectNode)({\r\n items: (0, core_1.Opt)((0, core_1.ListNode)(StringNode({ validator: 'resource', params: { pool: 'item' } }))),\r\n tag: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$tag/item' } })),\r\n count: Reference('int_bounds'),\r\n durability: Reference('int_bounds'),\r\n potion: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: 'potion' } })),\r\n nbt: (0, core_1.Opt)(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:item', id: ['pop', { push: 'item' }] } } })),\r\n enchantments: (0, core_1.Opt)((0, core_1.ListNode)(Reference('enchantment_predicate')))\r\n }, { context: 'item' }));\r\n schemas.register('enchantment_predicate', (0, core_1.ObjectNode)({\r\n enchantment: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: 'enchantment' } })),\r\n levels: Reference('int_bounds')\r\n }, { context: 'enchantment' }));\r\n schemas.register('block_predicate', (0, core_1.ObjectNode)({\r\n blocks: (0, core_1.Opt)((0, core_1.ListNode)(StringNode({ validator: 'resource', params: { pool: 'block' } }))),\r\n tag: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$tag/block' } })),\r\n nbt: (0, core_1.Opt)(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:block', id: ['pop', { push: 'block' }] } } })),\r\n state: (0, core_1.Opt)((0, core_1.MapNode)(StringNode(), StateChoice, { validation: { validator: 'block_state_map', params: { id: ['pop', { push: 'block' }] } } }))\r\n }, { context: 'block' }));\r\n schemas.register('fluid_predicate', (0, core_1.ObjectNode)({\r\n fluid: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: 'fluid' } })),\r\n tag: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$tag/fluid' } })),\r\n state: (0, core_1.Opt)((0, core_1.MapNode)(StringNode(), StateChoice))\r\n }, { context: 'fluid' }));\r\n schemas.register('location_predicate', (0, core_1.ObjectNode)({\r\n position: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n x: Reference('float_bounds'),\r\n y: Reference('float_bounds'),\r\n z: Reference('float_bounds')\r\n })),\r\n biome: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$worldgen/biome' } })),\r\n feature: (0, core_1.Opt)(StringNode({ enum: collections.get('worldgen/structure_feature').map(v => v.slice(10)) })),\r\n dimension: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$dimension' } })),\r\n light: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n light: Reference('int_bounds')\r\n })),\r\n smokey: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n block: (0, core_1.Opt)(Reference('block_predicate')),\r\n fluid: (0, core_1.Opt)(Reference('fluid_predicate'))\r\n }, { context: 'location' }));\r\n schemas.register('statistic_predicate', (0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'stat_type' } }),\r\n stat: StringNode(),\r\n value: Reference('int_bounds'),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:mined': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'block' } })\r\n },\r\n 'minecraft:crafted': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'item' } })\r\n },\r\n 'minecraft:used': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'item' } })\r\n },\r\n 'minecraft:broken': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'item' } })\r\n },\r\n 'minecraft:picked_up': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'item' } })\r\n },\r\n 'minecraft:dropped': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'item' } })\r\n },\r\n 'minecraft:killed': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'entity_type' } })\r\n },\r\n 'minecraft:killed_by': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'entity_type' } })\r\n },\r\n 'minecraft:custom': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'custom_stat' } })\r\n }\r\n }\r\n }));\r\n schemas.register('player_predicate', (0, core_1.ObjectNode)({\r\n gamemode: (0, core_1.Opt)(StringNode({ enum: 'gamemode' })),\r\n level: Reference('int_bounds'),\r\n advancements: (0, core_1.Opt)((0, core_1.MapNode)(StringNode({ validator: 'resource', params: { pool: '$advancement' } }), (0, core_1.ChoiceNode)([\r\n { type: 'boolean', node: (0, core_1.BooleanNode)(), change: _ => true },\r\n {\r\n type: 'object', node: (0, core_1.MapNode)(StringNode(), (0, core_1.BooleanNode)())\r\n }\r\n ]))),\r\n recipes: (0, core_1.Opt)((0, core_1.MapNode)(StringNode({ validator: 'resource', params: { pool: '$recipe' } }), (0, core_1.BooleanNode)())),\r\n stats: (0, core_1.Opt)((0, core_1.ListNode)(Reference('statistic_predicate'))),\r\n looking_at: (0, core_1.Opt)(Reference('entity_predicate'))\r\n }, { context: 'player' }));\r\n schemas.register('status_effect_predicate', (0, core_1.ObjectNode)({\r\n amplifier: Reference('int_bounds'),\r\n duration: Reference('int_bounds'),\r\n ambient: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n visible: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n }, { context: 'status_effect' }));\r\n schemas.register('distance_predicate', (0, core_1.ObjectNode)({\r\n x: Reference('float_bounds'),\r\n y: Reference('float_bounds'),\r\n z: Reference('float_bounds'),\r\n absolute: Reference('float_bounds'),\r\n horizontal: Reference('float_bounds')\r\n }, { context: 'distance' }));\r\n schemas.register('entity_predicate', (0, core_1.ObjectNode)({\r\n type: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: 'entity_type', allowTag: true } })),\r\n nbt: (0, core_1.Opt)(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:entity', id: ['pop', { push: 'type' }] } } })),\r\n team: (0, core_1.Opt)(StringNode({ validator: 'team' })),\r\n location: (0, core_1.Opt)(Reference('location_predicate')),\r\n stepping_on: (0, core_1.Opt)(Reference('location_predicate')),\r\n distance: (0, core_1.Opt)(Reference('distance_predicate')),\r\n flags: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n is_on_fire: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n is_sneaking: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n is_sprinting: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n is_swimming: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n is_baby: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n })),\r\n equipment: (0, core_1.Opt)((0, core_1.MapNode)(StringNode({ enum: 'slot' }), Reference('item_predicate'))),\r\n vehicle: (0, core_1.Opt)(Reference('entity_predicate')),\r\n passenger: (0, core_1.Opt)(Reference('entity_predicate')),\r\n targeted_entity: (0, core_1.Opt)(Reference('entity_predicate')),\r\n player: (0, core_1.Opt)(Reference('player_predicate')),\r\n lightning_bolt: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n blocks_set_on_fire: (0, core_1.Opt)(Reference('int_bounds')),\r\n entity_struck: (0, core_1.Opt)(Reference('entity_predicate'))\r\n })),\r\n fishing_hook: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n in_open_water: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n })),\r\n catType: (0, core_1.Opt)(StringNode({ enum: 'cat_texture' })),\r\n effects: (0, core_1.Opt)((0, core_1.MapNode)(StringNode({ validator: 'resource', params: { pool: 'mob_effect' } }), Reference('status_effect_predicate')))\r\n }, { context: 'entity' }));\r\n schemas.register('damage_source_predicate', (0, core_1.ObjectNode)({\r\n is_explosion: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n is_fire: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n is_magic: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n is_projectile: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n is_lightning: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n bypasses_armor: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n bypasses_invulnerability: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n bypasses_magic: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n source_entity: (0, core_1.Opt)(Reference('entity_predicate')),\r\n direct_entity: (0, core_1.Opt)(Reference('entity_predicate'))\r\n }, { context: 'damage_source' }));\r\n schemas.register('damage_predicate', (0, core_1.ObjectNode)({\r\n dealt: Reference('float_bounds'),\r\n taken: Reference('float_bounds'),\r\n blocked: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n source_entity: (0, core_1.Opt)(Reference('entity_predicate')),\r\n type: (0, core_1.Opt)(Reference('damage_source_predicate'))\r\n }, { context: 'damage' }));\r\n}\r\nexports.initPredicatesSchemas = initPredicatesSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initRecipeSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initRecipeSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('recipe', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'recipe_serializer' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:crafting_shaped': {\r\n group: (0, core_1.Opt)(StringNode({ enum: 'recipe_group', additional: true })),\r\n pattern: (0, core_1.ListNode)(StringNode()),\r\n key: (0, core_1.MapNode)(StringNode(), // TODO: add validation\r\n Reference('recipe_ingredient')),\r\n result: Reference('recipe_result')\r\n },\r\n 'minecraft:crafting_shapeless': {\r\n group: (0, core_1.Opt)(StringNode()),\r\n ingredients: (0, core_1.ListNode)(Reference('recipe_ingredient')),\r\n result: Reference('recipe_result')\r\n },\r\n 'minecraft:smelting': {\r\n group: (0, core_1.Opt)(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n experience: (0, core_1.Opt)((0, core_1.NumberNode)()),\r\n cookingtime: (0, core_1.Opt)((0, core_1.Mod)((0, core_1.NumberNode)({ integer: true }), { default: () => 200 }))\r\n },\r\n 'minecraft:blasting': {\r\n group: (0, core_1.Opt)(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n experience: (0, core_1.Opt)((0, core_1.NumberNode)()),\r\n cookingtime: (0, core_1.Opt)((0, core_1.Mod)((0, core_1.NumberNode)({ integer: true }), { default: () => 100 }))\r\n },\r\n 'minecraft:smoking': {\r\n group: (0, core_1.Opt)(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n experience: (0, core_1.Opt)((0, core_1.NumberNode)()),\r\n cookingtime: (0, core_1.Opt)((0, core_1.Mod)((0, core_1.NumberNode)({ integer: true }), { default: () => 100 }))\r\n },\r\n 'minecraft:campfire_cooking': {\r\n group: (0, core_1.Opt)(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n experience: (0, core_1.Opt)((0, core_1.NumberNode)()),\r\n cookingtime: (0, core_1.Opt)((0, core_1.Mod)((0, core_1.NumberNode)({ integer: true }), { default: () => 100 }))\r\n },\r\n 'minecraft:stonecutting': {\r\n group: (0, core_1.Opt)(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n count: (0, core_1.NumberNode)({ integer: true })\r\n },\r\n 'minecraft:smithing': {\r\n group: (0, core_1.Opt)(StringNode()),\r\n base: Reference('recipe_ingredient_object'),\r\n addition: Reference('recipe_ingredient_object'),\r\n result: Reference('recipe_result')\r\n }\r\n }\r\n }, { context: 'recipe', disableSwitchContext: true }), {\r\n default: () => ({\r\n type: 'minecraft:crafting_shaped'\r\n })\r\n }));\r\n schemas.register('recipe_ingredient', (0, core_1.Mod)((0, core_1.ChoiceNode)([\r\n {\r\n type: 'object',\r\n node: Reference('recipe_ingredient_object'),\r\n change: v => v[0]\r\n },\r\n {\r\n type: 'list',\r\n node: (0, core_1.ListNode)(Reference('recipe_ingredient_object')),\r\n change: v => [v]\r\n }\r\n ]), {\r\n default: () => ({\r\n item: 'minecraft:stone'\r\n })\r\n }));\r\n schemas.register('recipe_ingredient_object', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n item: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: 'item' } })),\r\n tag: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$tag/item' } }))\r\n }), {\r\n default: () => ({\r\n item: 'minecraft:stone'\r\n })\r\n }));\r\n schemas.register('recipe_result', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n item: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n count: (0, core_1.Opt)((0, core_1.Mod)((0, core_1.NumberNode)({ integer: true }), { default: () => 1 }))\r\n }), {\r\n default: () => ({\r\n item: 'minecraft:stone'\r\n })\r\n }));\r\n}\r\nexports.initRecipeSchemas = initRecipeSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initTagsSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initTagsSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const TagBase = (type) => (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n replace: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n values: (0, core_1.ListNode)((0, core_1.ChoiceNode)([\r\n {\r\n type: 'string',\r\n node: StringNode({ validator: 'resource', params: { pool: type, allowTag: true } }),\r\n change: v => v.id\r\n },\r\n {\r\n type: 'object',\r\n node: (0, core_1.ObjectNode)({\r\n id: StringNode({ validator: 'resource', params: { pool: type, allowTag: true, allowUnknown: true } }),\r\n required: (0, core_1.BooleanNode)()\r\n }),\r\n change: v => ({ id: v })\r\n }\r\n ])),\r\n }, { context: 'tag' }), {\r\n default: () => ({\r\n values: []\r\n })\r\n });\r\n schemas.register('block_tag', TagBase('block'));\r\n schemas.register('entity_type_tag', TagBase('entity_type'));\r\n schemas.register('fluid_tag', TagBase('fluid'));\r\n schemas.register('function_tag', TagBase('$function'));\r\n schemas.register('game_event_tag', TagBase('game_event'));\r\n schemas.register('item_tag', TagBase('item'));\r\n}\r\nexports.initTagsSchemas = initTagsSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initTextComponentSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initTextComponentSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const getSimpleString = (v) => { var _a; return v instanceof Array ? getSimpleString(v[0]) : (_a = v === null || v === void 0 ? void 0 : v.text) !== null && _a !== void 0 ? _a : (typeof v === 'object' ? '' : v === null || v === void 0 ? void 0 : v.toString()); };\r\n schemas.register('text_component', (0, core_1.Mod)((0, core_1.ChoiceNode)([\r\n {\r\n type: 'object',\r\n node: Reference('text_component_object'),\r\n change: v => v instanceof Array ? (typeof v[0] === 'object' ? v[0] : { text: getSimpleString(v[0]) }) : typeof v === 'object' ? v : { text: getSimpleString(v) }\r\n },\r\n {\r\n type: 'list',\r\n node: Reference('text_component_list'),\r\n change: v => [v]\r\n },\r\n {\r\n type: 'string',\r\n priority: 1,\r\n node: StringNode(),\r\n change: getSimpleString\r\n },\r\n {\r\n type: 'number',\r\n node: (0, core_1.NumberNode)(),\r\n change: v => {\r\n const n = parseFloat(getSimpleString(v));\r\n return isFinite(n) ? n : (!!v ? 1 : 0);\r\n }\r\n },\r\n {\r\n type: 'boolean',\r\n node: (0, core_1.BooleanNode)(),\r\n change: v => {\r\n const s = getSimpleString(v);\r\n return s === 'true' || s === 'false' ? s === 'true' : !!s;\r\n }\r\n }\r\n ], { context: 'text_component' }), {\r\n default: () => ({\r\n text: \"\"\r\n })\r\n }));\r\n const CommonFields = {\r\n color: (0, core_1.Opt)(StringNode()) /* TODO */,\r\n font: (0, core_1.Opt)(StringNode()),\r\n bold: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n italic: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n underlined: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n strikethrough: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n obfuscated: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n insertion: (0, core_1.Opt)(StringNode()),\r\n clickEvent: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n action: StringNode({ enum: ['open_url', 'open_file', 'run_command', 'suggest_command', 'change_page', 'copy_to_clipboard'] }),\r\n [core_1.Switch]: [{ push: 'action' }],\r\n [core_1.Case]: {\r\n 'change_page': {\r\n value: StringNode()\r\n },\r\n 'copy_to_clipboard': {\r\n value: StringNode()\r\n },\r\n 'open_file': {\r\n value: StringNode()\r\n },\r\n 'open_url': {\r\n value: StringNode()\r\n },\r\n 'run_command': {\r\n value: StringNode({ validator: 'command', params: { leadingSlash: true, allowPartial: true } })\r\n },\r\n 'suggest_command': {\r\n value: StringNode({ validator: 'command', params: { leadingSlash: true, allowPartial: true } })\r\n }\r\n }\r\n })),\r\n hoverEvent: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n action: StringNode({ enum: ['show_text', 'show_item', 'show_entity'] }),\r\n [core_1.Switch]: [{ push: 'action' }],\r\n [core_1.Case]: {\r\n 'show_text': {\r\n value: (0, core_1.Opt)(Reference('text_component')),\r\n contents: (0, core_1.Opt)(Reference('text_component'))\r\n },\r\n 'show_item': {\r\n value: (0, core_1.Opt)(StringNode({ validator: 'nbt', params: { module: 'util::InventoryItem' } })),\r\n contents: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n id: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n count: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n tag: (0, core_1.Opt)(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:item', id: ['pop', { push: 'id' }] } } }))\r\n }))\r\n },\r\n 'show_entity': {\r\n value: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n name: (0, core_1.Opt)(StringNode()),\r\n type: (0, core_1.Opt)(StringNode()),\r\n id: (0, core_1.Opt)(StringNode())\r\n })),\r\n contents: (0, core_1.Opt)((0, core_1.Mod)((0, core_1.ObjectNode)({\r\n name: (0, core_1.Opt)(Reference('text_component')),\r\n type: StringNode({ validator: 'resource', params: { pool: 'entity_type' } }),\r\n id: StringNode({ validator: 'uuid' })\r\n }), {\r\n default: () => ({\r\n type: 'minecraft:pig',\r\n id: '00000001-0001-0001-0001-000000000001'\r\n })\r\n }))\r\n }\r\n }\r\n })),\r\n extra: (0, core_1.Opt)(Reference('text_component_list'))\r\n };\r\n schemas.register('text_component_object', (0, core_1.Mod)((0, core_1.ChoiceNode)([\r\n {\r\n type: 'text',\r\n match: v => typeof v === 'object',\r\n change: v => ({ text: '' }),\r\n priority: -1,\r\n node: (0, core_1.ObjectNode)({\r\n text: StringNode(),\r\n ...CommonFields\r\n })\r\n },\r\n {\r\n type: 'translation',\r\n match: v => (v === null || v === void 0 ? void 0 : v.translate) !== undefined,\r\n change: v => ({ translate: '' }),\r\n node: (0, core_1.ObjectNode)({\r\n translate: StringNode(),\r\n with: (0, core_1.Opt)(Reference('text_component_list')),\r\n ...CommonFields\r\n })\r\n },\r\n {\r\n type: 'score',\r\n match: v => (v === null || v === void 0 ? void 0 : v.score) !== undefined,\r\n change: v => ({ score: {} }),\r\n node: (0, core_1.ObjectNode)({\r\n score: (0, core_1.ObjectNode)({\r\n name: StringNode({ validator: 'entity', params: { amount: 'single', type: 'entities', isScoreHolder: true } }),\r\n objective: StringNode({ validator: 'objective' }),\r\n value: (0, core_1.Opt)(StringNode())\r\n }),\r\n ...CommonFields\r\n })\r\n },\r\n {\r\n type: 'selector',\r\n match: v => (v === null || v === void 0 ? void 0 : v.selector) !== undefined,\r\n change: v => ({ selector: '' }),\r\n node: (0, core_1.ObjectNode)({\r\n selector: StringNode({ validator: 'entity', params: { amount: 'multiple', type: 'entities' } }),\r\n separator: (0, core_1.Opt)(Reference('text_component')),\r\n ...CommonFields\r\n })\r\n },\r\n {\r\n type: 'keybind',\r\n match: v => (v === null || v === void 0 ? void 0 : v.keybind) !== undefined,\r\n change: v => ({ keybind: '' }),\r\n node: (0, core_1.ObjectNode)({\r\n keybind: StringNode({ enum: 'keybind', additional: true }),\r\n ...CommonFields\r\n })\r\n },\r\n {\r\n type: 'nbt',\r\n match: v => (v === null || v === void 0 ? void 0 : v.nbt) !== undefined,\r\n change: v => ({ nbt: '' }),\r\n node: (0, core_1.ObjectNode)({\r\n nbt: StringNode({ validator: 'nbt_path' }),\r\n block: (0, core_1.Opt)(StringNode({ validator: 'vector', params: { dimension: 3, isInteger: true } })),\r\n entity: (0, core_1.Opt)(StringNode({ validator: 'entity', params: { amount: 'multiple', type: 'entities' } })),\r\n storage: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$storage' } })),\r\n interpret: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n separator: (0, core_1.Opt)(Reference('text_component')),\r\n ...CommonFields\r\n })\r\n }\r\n ], { context: 'text_component_object', choiceContext: 'text_component.object' }), {\r\n default: () => ({\r\n text: \"\"\r\n })\r\n }));\r\n schemas.register('text_component_list', (0, core_1.Mod)((0, core_1.ListNode)(Reference('text_component')), {\r\n default: () => [{\r\n text: \"\"\r\n }]\r\n }));\r\n}\r\nexports.initTextComponentSchemas = initTextComponentSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initBiomeSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initBiomeSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('biome', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n surface_builder: StringNode({ validator: 'resource', params: { pool: '$worldgen/configured_surface_builder' } }),\r\n depth: (0, core_1.NumberNode)(),\r\n scale: (0, core_1.NumberNode)(),\r\n temperature: (0, core_1.NumberNode)(),\r\n downfall: (0, core_1.NumberNode)(),\r\n precipitation: StringNode({ enum: ['none', 'rain', 'snow'] }),\r\n temperature_modifier: (0, core_1.Opt)(StringNode({ enum: ['none', 'frozen'] })),\r\n category: StringNode({ enum: 'biome_category' }),\r\n player_spawn_friendly: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n creature_spawn_probability: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 1 })),\r\n effects: (0, core_1.ObjectNode)({\r\n sky_color: (0, core_1.NumberNode)({ color: true }),\r\n fog_color: (0, core_1.NumberNode)({ color: true }),\r\n water_color: (0, core_1.NumberNode)({ color: true }),\r\n water_fog_color: (0, core_1.NumberNode)({ color: true }),\r\n grass_color: (0, core_1.Opt)((0, core_1.NumberNode)({ color: true })),\r\n foliage_color: (0, core_1.Opt)((0, core_1.NumberNode)({ color: true })),\r\n grass_color_modifier: (0, core_1.Opt)(StringNode({ enum: ['none', 'dark_forest', 'swamp'] })),\r\n ambient_sound: (0, core_1.Opt)(StringNode()),\r\n mood_sound: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n sound: StringNode(),\r\n tick_delay: (0, core_1.NumberNode)({ integer: true }),\r\n block_search_extent: (0, core_1.NumberNode)({ integer: true }),\r\n offset: (0, core_1.NumberNode)()\r\n })),\r\n additions_sound: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n sound: StringNode(),\r\n tick_chance: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n })),\r\n music: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n sound: StringNode(),\r\n min_delay: (0, core_1.NumberNode)({ integer: true, min: 0 }),\r\n max_delay: (0, core_1.NumberNode)({ integer: true, min: 0 }),\r\n replace_current_music: (0, core_1.BooleanNode)()\r\n })),\r\n particle: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n options: (0, core_1.ObjectNode)({\r\n type: StringNode()\r\n }),\r\n probability: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n }))\r\n }),\r\n starts: (0, core_1.ListNode)(StringNode({ validator: 'resource', params: { pool: '$worldgen/configured_structure_feature' } })),\r\n spawners: (0, core_1.MapNode)(StringNode({ enum: [\r\n 'monster',\r\n 'creature',\r\n 'ambient',\r\n 'underground_water_creature',\r\n 'water_creature',\r\n 'water_ambient',\r\n 'misc'\r\n ] }), (0, core_1.Mod)((0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'entity_type' } }),\r\n weight: (0, core_1.NumberNode)({ integer: true }),\r\n minCount: (0, core_1.NumberNode)({ integer: true }),\r\n maxCount: (0, core_1.NumberNode)({ integer: true })\r\n })), {\r\n category: () => 'pool',\r\n default: () => [{\r\n type: 'minecraft:bat',\r\n weight: 1\r\n }]\r\n })),\r\n spawn_costs: (0, core_1.MapNode)(StringNode({ validator: 'resource', params: { pool: 'entity_type' } }), (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n energy_budget: (0, core_1.NumberNode)(),\r\n charge: (0, core_1.NumberNode)()\r\n }, { category: 'function' }), {\r\n default: () => ({\r\n energy_budget: 0.12,\r\n charge: 1.0\r\n })\r\n })),\r\n carvers: (0, core_1.MapNode)(StringNode({ enum: ['air', 'liquid'] }), (0, core_1.Mod)((0, core_1.ListNode)(StringNode({ validator: 'resource', params: { pool: '$worldgen/configured_carver' } })), {\r\n default: () => ['minecraft:cave']\r\n })),\r\n features: (0, core_1.ListNode)((0, core_1.Mod)((0, core_1.ListNode)(StringNode({ validator: 'resource', params: { pool: '$worldgen/configured_feature' } })), { category: () => 'predicate' }), { maxLength: 10 })\r\n }, { context: 'biome' }), {\r\n default: () => ({\r\n surface_builder: 'minecraft:grass',\r\n depth: 0.125,\r\n scale: 0.05,\r\n temperature: 0.8,\r\n downfall: 0.4,\r\n precipitation: 'rain',\r\n category: 'plains',\r\n effects: {\r\n sky_color: 7907327,\r\n fog_color: 12638463,\r\n water_color: 4159204,\r\n water_fog_color: 329011\r\n }\r\n })\r\n }));\r\n}\r\nexports.initBiomeSchemas = initBiomeSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initCarverSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"../Common\");\r\nfunction initCarverSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const CanyonConfig = {\r\n vertical_rotation: (0, Common_1.FloatProvider)(),\r\n shape: (0, core_1.ObjectNode)({\r\n distance_factor: (0, Common_1.FloatProvider)(),\r\n thickness: (0, Common_1.FloatProvider)(),\r\n width_smoothness: (0, core_1.NumberNode)({ integer: true, min: 0 }),\r\n horizontal_radius_factor: (0, Common_1.FloatProvider)(),\r\n vertical_radius_default_factor: (0, core_1.NumberNode)(),\r\n vertical_radius_center_factor: (0, core_1.NumberNode)()\r\n })\r\n };\r\n const CaveConfig = {\r\n horizontal_radius_multiplier: (0, Common_1.FloatProvider)(),\r\n vertical_radius_multiplier: (0, Common_1.FloatProvider)(),\r\n floor_level: (0, Common_1.FloatProvider)({ min: -1, max: 1 }),\r\n };\r\n schemas.register('configured_carver', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/carver' } }),\r\n config: (0, core_1.ObjectNode)({\r\n probability: (0, core_1.NumberNode)({ min: 0, max: 1 }),\r\n y: Reference('height_provider'),\r\n yScale: (0, Common_1.FloatProvider)(),\r\n lava_level: Reference('vertical_anchor'),\r\n aquifers_enabled: (0, core_1.BooleanNode)(),\r\n debug_settings: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n debug_mode: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n air_state: (0, core_1.Opt)(Reference('block_state')),\r\n water_state: (0, core_1.Opt)(Reference('block_state')),\r\n lava_state: (0, core_1.Opt)(Reference('block_state')),\r\n barrier_state: (0, core_1.Opt)(Reference('block_state'))\r\n })),\r\n [core_1.Switch]: ['pop', { push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:canyon': CanyonConfig,\r\n 'minecraft:cave': CaveConfig,\r\n 'minecraft:nether_cave': CaveConfig\r\n },\r\n })\r\n }, { context: 'carver' }), {\r\n default: () => ({\r\n type: 'minecraft:cave',\r\n config: {\r\n probability: 0.1\r\n }\r\n })\r\n }));\r\n}\r\nexports.initCarverSchemas = initCarverSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initDecoratorSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"../Common\");\r\nfunction initDecoratorSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const CountConfig = {\r\n count: (0, Common_1.IntProvider)({ min: 0, max: 256 })\r\n };\r\n schemas.register('configured_decorator', (0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/decorator' } }),\r\n config: (0, core_1.ObjectNode)({\r\n [core_1.Switch]: ['pop', { push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:carving_mask': {\r\n step: StringNode({ enum: 'generation_step' })\r\n },\r\n 'minecraft:cave_surface': {\r\n surface: StringNode({ enum: ['floor', 'ceiling'] }),\r\n floor_to_ceiling_search_range: (0, core_1.NumberNode)({ integer: true })\r\n },\r\n 'minecraft:chance': {\r\n chance: (0, core_1.NumberNode)({ integer: true, min: 0 })\r\n },\r\n 'minecraft:count': CountConfig,\r\n 'minecraft:count_extra': {\r\n count: (0, core_1.NumberNode)({ integer: true, min: 0 }),\r\n extra_count: (0, core_1.NumberNode)({ integer: true, min: 0 }),\r\n extra_chance: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n },\r\n 'minecraft:count_multilayer': CountConfig,\r\n 'minecraft:count_noise': {\r\n noise_level: (0, core_1.NumberNode)(),\r\n below_noise: (0, core_1.NumberNode)({ integer: true }),\r\n above_noise: (0, core_1.NumberNode)({ integer: true })\r\n },\r\n 'minecraft:count_noise_biased': {\r\n noise_to_count_ratio: (0, core_1.NumberNode)({ integer: true }),\r\n noise_factor: (0, core_1.NumberNode)(),\r\n noise_offset: (0, core_1.Opt)((0, core_1.NumberNode)())\r\n },\r\n 'minecraft:decorated': {\r\n outer: Reference('configured_decorator'),\r\n inner: Reference('configured_decorator')\r\n },\r\n 'minecraft:heightmap': {\r\n heightmap: StringNode({ enum: 'heightmap_type' })\r\n },\r\n 'minecraft:heightmap_spread_double': {\r\n heightmap: StringNode({ enum: 'heightmap_type' })\r\n },\r\n 'minecraft:lava_lake': {\r\n chance: (0, core_1.NumberNode)({ integer: true, min: 0 })\r\n },\r\n 'minecraft:range': {\r\n height: Reference('height_provider')\r\n },\r\n 'minecraft:water_depth_threshold': {\r\n max_water_depth: (0, core_1.NumberNode)({ integer: true })\r\n }\r\n }\r\n }, { context: 'decorator', category: 'predicate' })\r\n }, { context: 'decorator', category: 'predicate' }));\r\n}\r\nexports.initDecoratorSchemas = initDecoratorSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initProcessorListSchemas = exports.Processors = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initProcessorListSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n exports.Processors = (0, core_1.ChoiceNode)([\r\n {\r\n type: 'string',\r\n node: StringNode({ validator: 'resource', params: { pool: '$worldgen/processor_list' } }),\r\n change: v => undefined\r\n },\r\n {\r\n type: 'object',\r\n node: Reference('processor_list'),\r\n change: v => ({\r\n processors: [{\r\n \"processor_type\": \"minecraft:nop\"\r\n }]\r\n })\r\n }\r\n ]);\r\n schemas.register('processor_list', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n processors: (0, core_1.ListNode)(Reference('processor'))\r\n }, { context: 'processor_list' }), {\r\n default: () => ({\r\n processors: [{\r\n processor_type: 'minecraft:rule',\r\n rules: [{\r\n location_predicate: {\r\n predicate_type: 'minecraft:always_true'\r\n },\r\n input_predicate: {\r\n predicate_type: 'minecraft:always_true'\r\n }\r\n }]\r\n }]\r\n })\r\n }));\r\n schemas.register('processor', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n processor_type: StringNode({ validator: 'resource', params: { pool: 'worldgen/structure_processor' } }),\r\n [core_1.Switch]: [{ push: 'processor_type' }],\r\n [core_1.Case]: {\r\n 'minecraft:block_age': {\r\n mossiness: (0, core_1.NumberNode)()\r\n },\r\n 'minecraft:block_ignore': {\r\n blocks: (0, core_1.ListNode)(Reference('block_state'))\r\n },\r\n 'minecraft:block_rot': {\r\n integrity: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n },\r\n 'minecraft:gravity': {\r\n heightmap: StringNode({ enum: 'heightmap_type' }),\r\n offset: (0, core_1.NumberNode)({ integer: true })\r\n },\r\n 'minecraft:protected_blocks': {\r\n value: StringNode({ validator: 'resource', params: { pool: '$tag/block' } })\r\n },\r\n 'minecraft:rule': {\r\n rules: (0, core_1.ListNode)(Reference('processor_rule'))\r\n }\r\n }\r\n }, { category: 'function', context: 'processor' }), {\r\n default: () => ({\r\n processor_type: 'minecraft:rule',\r\n rules: [{\r\n location_predicate: {\r\n predicate_type: 'minecraft:always_true'\r\n },\r\n input_predicate: {\r\n predicate_type: 'minecraft:always_true'\r\n }\r\n }]\r\n })\r\n }));\r\n schemas.register('processor_rule', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n position_predicate: (0, core_1.Opt)(Reference('pos_rule_test')),\r\n location_predicate: Reference('rule_test'),\r\n input_predicate: Reference('rule_test'),\r\n output_state: Reference('block_state'),\r\n output_nbt: (0, core_1.Opt)(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:block' } } }))\r\n }, { category: 'predicate', context: 'processor_rule' }), {\r\n default: () => ({\r\n location_predicate: {\r\n predicate_type: 'minecraft:always_true'\r\n },\r\n input_predicate: {\r\n predicate_type: 'minecraft:always_true'\r\n }\r\n })\r\n }));\r\n const posTestFields = {\r\n min_dist: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 255, integer: true })),\r\n max_dist: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 255, integer: true })),\r\n min_chance: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 1 })),\r\n max_chance: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 1 }))\r\n };\r\n schemas.register('pos_rule_test', (0, core_1.ObjectNode)({\r\n predicate_type: StringNode({ validator: 'resource', params: { pool: 'pos_rule_test' } }),\r\n [core_1.Switch]: [{ push: 'predicate_type' }],\r\n [core_1.Case]: {\r\n 'minecraft:axis_aligned_linear_pos': {\r\n axis: StringNode({ enum: ['x', 'y', 'z'] }),\r\n ...posTestFields\r\n },\r\n 'minecraft:linear_pos': posTestFields\r\n }\r\n }, { context: 'pos_rule_test', disableSwitchContext: true }));\r\n schemas.register('rule_test', (0, core_1.ObjectNode)({\r\n predicate_type: StringNode({ validator: 'resource', params: { pool: 'rule_test' } }),\r\n [core_1.Switch]: [{ push: 'predicate_type' }],\r\n [core_1.Case]: {\r\n 'minecraft:block_match': {\r\n block: StringNode({ validator: 'resource', params: { pool: 'block' } })\r\n },\r\n 'minecraft:blockstate_match': {\r\n block_state: Reference('block_state')\r\n },\r\n 'minecraft:random_block_match': {\r\n block: StringNode({ validator: 'resource', params: { pool: 'block' } }),\r\n probability: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n },\r\n 'minecraft:random_blockstate_match': {\r\n block_state: Reference('block_state'),\r\n probability: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n },\r\n 'minecraft:tag_match': {\r\n tag: StringNode({ validator: 'resource', params: { pool: '$tag/block' } })\r\n }\r\n }\r\n }, { context: 'rule_test', disableSwitchContext: true }));\r\n}\r\nexports.initProcessorListSchemas = initProcessorListSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initFeatureSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"../Common\");\r\nrequire(\"./Decorator\");\r\nrequire(\"./ProcessorList\");\r\nconst ProcessorList_1 = require(\"./ProcessorList\");\r\nfunction initFeatureSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const RandomPatchConfig = {\r\n can_replace: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n project: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n need_water: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n xspread: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 0 })),\r\n yspread: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 0 })),\r\n zspread: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 0 })),\r\n tries: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 1 })),\r\n state_provider: Reference('block_state_provider'),\r\n block_placer: Reference('block_placer'),\r\n whitelist: (0, core_1.ListNode)(Reference('block_state')),\r\n blacklist: (0, core_1.ListNode)(Reference('block_state'))\r\n };\r\n const DiskConfig = {\r\n state: Reference('block_state'),\r\n radius: (0, Common_1.IntProvider)({ min: 0, max: 8 }),\r\n half_height: (0, core_1.NumberNode)({ integer: true, min: 0, max: 4 }),\r\n targets: (0, core_1.ListNode)(Reference('block_state'))\r\n };\r\n const HugeMushroomConfig = {\r\n cap_provider: Reference('block_state_provider'),\r\n stem_provider: Reference('block_state_provider'),\r\n foliage_radius: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true }))\r\n };\r\n const TargetBlockState = (0, core_1.ObjectNode)({\r\n target: Reference('rule_test'),\r\n state: Reference('block_state')\r\n });\r\n const OreConfig = {\r\n size: (0, core_1.NumberNode)({ integer: true, min: 0, max: 64 }),\r\n discard_chance_on_air_exposure: (0, core_1.NumberNode)({ min: 0, max: 1 }),\r\n targets: (0, core_1.ListNode)(TargetBlockState)\r\n };\r\n const Feature = (0, core_1.ChoiceNode)([\r\n {\r\n type: 'string',\r\n node: StringNode({ validator: 'resource', params: { pool: '$worldgen/configured_feature' } })\r\n },\r\n {\r\n type: 'object',\r\n node: Reference('configured_feature')\r\n }\r\n ], { choiceContext: 'feature' });\r\n const VegetationPatchConfig = {\r\n surface: StringNode({ enum: ['floor', 'ceiling'] }),\r\n depth: (0, Common_1.IntProvider)({ min: 1, max: 128 }),\r\n vertical_range: (0, core_1.NumberNode)({ integer: true, min: 1, max: 256 }),\r\n extra_bottom_block_chance: (0, core_1.NumberNode)({ min: 0, max: 1 }),\r\n extra_edge_column_chance: (0, core_1.NumberNode)({ min: 0, max: 1 }),\r\n vegetation_chance: (0, core_1.NumberNode)({ min: 0, max: 1 }),\r\n xz_radius: (0, Common_1.IntProvider)(),\r\n replaceable: StringNode({ validator: 'resource', params: { pool: '$tag/block' } }),\r\n ground_state: Reference('block_state_provider'),\r\n vegetation_feature: Feature\r\n };\r\n schemas.register('configured_feature', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/feature' } }),\r\n config: (0, core_1.ObjectNode)({\r\n [core_1.Switch]: ['pop', { push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:bamboo': {\r\n probability: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n },\r\n 'minecraft:basalt_columns': {\r\n reach: (0, Common_1.IntProvider)({ min: 0, max: 3 }),\r\n height: (0, Common_1.IntProvider)({ min: 1, max: 10 })\r\n },\r\n 'minecraft:block_pile': {\r\n state_provider: Reference('block_state_provider')\r\n },\r\n 'minecraft:decorated': {\r\n decorator: Reference('configured_decorator'),\r\n feature: Feature\r\n },\r\n 'minecraft:decorated_flower': {\r\n decorator: Reference('configured_decorator'),\r\n feature: Feature\r\n },\r\n 'minecraft:delta_feature': {\r\n contents: Reference('block_state'),\r\n rim: Reference('block_state'),\r\n size: (0, Common_1.IntProvider)({ min: 0, max: 16 }),\r\n rim_size: (0, Common_1.IntProvider)({ min: 0, max: 16 })\r\n },\r\n 'minecraft:disk': DiskConfig,\r\n 'minecraft:dripstone_cluster': {\r\n floor_to_ceiling_search_range: (0, core_1.NumberNode)({ integer: true, min: 1, max: 512 }),\r\n height: (0, Common_1.IntProvider)({ min: 0, max: 128 }),\r\n radius: (0, Common_1.IntProvider)({ min: 0, max: 128 }),\r\n max_stalagmite_stalactite_height_diff: (0, core_1.NumberNode)({ integer: true, min: 0, max: 64 }),\r\n height_deviation: (0, core_1.NumberNode)({ integer: true, min: 1, max: 64 }),\r\n dripstone_block_layer_thickness: (0, Common_1.IntProvider)({ min: 0, max: 128 }),\r\n density: (0, Common_1.FloatProvider)({ min: 0, max: 2 }),\r\n wetness: (0, Common_1.FloatProvider)({ min: 0, max: 2 }),\r\n chance_of_dripstone_column_at_max_distance_from_center: (0, core_1.NumberNode)({ min: 0, max: 1 }),\r\n max_distance_from_edge_affecting_chance_of_dripstone_column: (0, core_1.NumberNode)({ integer: true, min: 1, max: 64 }),\r\n max_distance_from_center_affecting_height_bias: (0, core_1.NumberNode)({ integer: true, min: 1, max: 64 })\r\n },\r\n 'minecraft:end_gateway': {\r\n exact: (0, core_1.BooleanNode)(),\r\n exit: (0, core_1.Opt)(Reference('block_pos'))\r\n },\r\n 'minecraft:end_spike': {\r\n crystal_invulnerable: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n crystal_beam_target: (0, core_1.Opt)(Reference('block_pos')),\r\n spikes: (0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n centerX: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n centerZ: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n radius: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n height: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n guarded: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n }))\r\n },\r\n 'minecraft:fill_layer': {\r\n state: Reference('block_state'),\r\n height: (0, core_1.NumberNode)({ integer: true, min: 0, max: 255 })\r\n },\r\n 'minecraft:flower': RandomPatchConfig,\r\n 'minecraft:forest_rock': {\r\n state: Reference('block_state')\r\n },\r\n 'minecraft:fossil': {\r\n max_empty_corners_allowed: (0, core_1.NumberNode)({ integer: true, min: 0, max: 7 }),\r\n fossil_structures: (0, core_1.ListNode)(StringNode({ validator: 'resource', params: { pool: '$structure' } })),\r\n overlay_structures: (0, core_1.ListNode)(StringNode({ validator: 'resource', params: { pool: '$structure' } })),\r\n fossil_processors: ProcessorList_1.Processors,\r\n overlay_processors: ProcessorList_1.Processors,\r\n },\r\n 'minecraft:geode': {\r\n blocks: (0, core_1.ObjectNode)({\r\n filling_provider: Reference('block_state_provider'),\r\n inner_layer_provider: Reference('block_state_provider'),\r\n alternate_inner_layer_provider: Reference('block_state_provider'),\r\n middle_layer_provider: Reference('block_state_provider'),\r\n outer_layer_provider: Reference('block_state_provider'),\r\n inner_placements: (0, core_1.ListNode)(Reference('block_state')),\r\n cannot_replace: StringNode({ validator: 'resource', params: { pool: '$tag/block' } }),\r\n invalid_blocks: StringNode({ validator: 'resource', params: { pool: '$tag/block' } })\r\n }),\r\n layers: (0, core_1.ObjectNode)({\r\n filling: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0.01, max: 50 })),\r\n inner_layer: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0.01, max: 50 })),\r\n middle_layer: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0.01, max: 50 })),\r\n outer_layer: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0.01, max: 50 })),\r\n }),\r\n crack: (0, core_1.ObjectNode)({\r\n generate_crack_chance: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 1 })),\r\n base_crack_size: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 5 })),\r\n crack_point_offset: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 10 })),\r\n }),\r\n noise_multiplier: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 1 })),\r\n use_potential_placements_chance: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 1 })),\r\n use_alternate_layer0_chance: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 1 })),\r\n placements_require_layer0_alternate: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n outer_wall_distance: (0, core_1.Opt)((0, Common_1.IntProvider)({ min: 1, max: 20 })),\r\n distribution_points: (0, core_1.Opt)((0, Common_1.IntProvider)({ min: 1, max: 20 })),\r\n point_offset: (0, core_1.Opt)((0, Common_1.IntProvider)({ min: 0, max: 10 })),\r\n min_gen_offset: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n max_gen_offset: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n invalid_blocks_threshold: (0, core_1.NumberNode)({ integer: true })\r\n },\r\n 'minecraft:glow_lichen': {\r\n search_range: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 1, max: 64, integer: true })),\r\n chance_of_spreading: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 1 })),\r\n can_place_on_floor: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n can_place_on_ceiling: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n can_place_on_wall: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n can_be_placed_on: (0, core_1.ListNode)(Reference('block_state'))\r\n },\r\n 'minecraft:growing_plant': {\r\n direction: StringNode({ enum: ['up', 'down', 'north', 'east', 'south', 'west'] }),\r\n allow_water: (0, core_1.BooleanNode)(),\r\n height_distribution: (0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n weight: (0, core_1.NumberNode)({ integer: true }),\r\n data: (0, Common_1.IntProvider)()\r\n })),\r\n body_provider: Reference('block_state_provider'),\r\n head_provider: Reference('block_state_provider')\r\n },\r\n 'minecraft:huge_brown_mushroom': HugeMushroomConfig,\r\n 'minecraft:huge_fungus': {\r\n hat_state: Reference('block_state'),\r\n decor_state: Reference('block_state'),\r\n stem_state: Reference('block_state'),\r\n valid_base_block: Reference('block_state'),\r\n planted: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n },\r\n 'minecraft:huge_red_mushroom': HugeMushroomConfig,\r\n 'minecraft:ice_patch': DiskConfig,\r\n 'minecraft:iceberg': {\r\n state: Reference('block_state')\r\n },\r\n 'minecraft:lake': {\r\n state: Reference('block_state')\r\n },\r\n 'minecraft:large_dripstone': {\r\n floor_to_ceiling_search_range: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 1, max: 512 })),\r\n column_radius: (0, Common_1.IntProvider)({ min: 0, max: 60 }),\r\n height_scale: (0, Common_1.FloatProvider)({ min: 0, max: 20 }),\r\n max_column_radius_to_cave_height_ratio: (0, core_1.NumberNode)({ min: 0, max: 1 }),\r\n stalactite_bluntness: (0, Common_1.FloatProvider)({ min: 0.1, max: 10 }),\r\n stalagmite_bluntness: (0, Common_1.FloatProvider)({ min: 0.1, max: 10 }),\r\n wind_speed: (0, Common_1.FloatProvider)({ min: 0, max: 2 }),\r\n min_radius_for_wind: (0, core_1.NumberNode)({ integer: true, min: 0, max: 100 }),\r\n min_bluntness_for_wind: (0, core_1.NumberNode)({ min: 0, max: 5 })\r\n },\r\n 'minecraft:nether_forest_vegetation': {\r\n state_provider: Reference('block_state_provider')\r\n },\r\n 'minecraft:netherrack_replace_blobs': {\r\n state: Reference('block_state'),\r\n target: Reference('block_state'),\r\n radius: (0, Common_1.IntProvider)({ min: 0, max: 12 })\r\n },\r\n 'minecraft:no_bonemeal_flower': RandomPatchConfig,\r\n 'minecraft:ore': OreConfig,\r\n 'minecraft:random_patch': RandomPatchConfig,\r\n 'minecraft:random_boolean_selector': {\r\n feature_false: Feature,\r\n feature_true: Feature\r\n },\r\n 'minecraft:random_selector': {\r\n features: (0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n chance: (0, core_1.NumberNode)({ min: 0, max: 1 }),\r\n feature: Feature\r\n })),\r\n default: Feature\r\n },\r\n 'minecraft:replace_single_block': {\r\n targets: (0, core_1.ListNode)(TargetBlockState)\r\n },\r\n 'minecraft:root_system': {\r\n required_vertical_space_for_tree: (0, core_1.NumberNode)({ integer: true, min: 1, max: 64 }),\r\n root_radius: (0, core_1.NumberNode)({ integer: true, min: 1, max: 64 }),\r\n root_placement_attempts: (0, core_1.NumberNode)({ integer: true, min: 1, max: 256 }),\r\n root_column_max_height: (0, core_1.NumberNode)({ integer: true, min: 1, max: 4096 }),\r\n hanging_root_radius: (0, core_1.NumberNode)({ integer: true, min: 1, max: 64 }),\r\n hanging_roots_vertical_span: (0, core_1.NumberNode)({ integer: true, min: 0, max: 16 }),\r\n hanging_root_placement_attempts: (0, core_1.NumberNode)({ integer: true, min: 0, max: 256 }),\r\n allowed_vertical_water_for_tree: (0, core_1.NumberNode)({ integer: true, min: 1, max: 64 }),\r\n root_replaceable: StringNode({ validator: 'resource', params: { pool: '$tag/block' } }),\r\n root_state_provider: Reference('block_state_provider'),\r\n hanging_root_state_provider: Reference('block_state_provider'),\r\n feature: Feature\r\n },\r\n 'minecraft:scattered_ore': OreConfig,\r\n 'minecraft:sea_pickle': {\r\n count: (0, Common_1.IntProvider)({ min: 0, max: 256 })\r\n },\r\n 'minecraft:seagrass': {\r\n probability: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n },\r\n 'minecraft:simple_block': {\r\n to_place: Reference('block_state_provider'),\r\n place_on: (0, core_1.Opt)((0, core_1.ListNode)(Reference('block_state'))),\r\n place_in: (0, core_1.Opt)((0, core_1.ListNode)(Reference('block_state'))),\r\n place_under: (0, core_1.Opt)((0, core_1.ListNode)(Reference('block_state')))\r\n },\r\n 'minecraft:simple_random_selector': {\r\n features: (0, core_1.ListNode)(Feature)\r\n },\r\n 'minecraft:small_dripstone': {\r\n max_placements: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 0, max: 100 })),\r\n empty_space_search_radius: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 0, max: 20 })),\r\n max_offset_from_origin: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 0, max: 20 })),\r\n chance_of_taller_dripstone: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 1 }))\r\n },\r\n 'minecraft:spring_feature': {\r\n state: Reference('fluid_state'),\r\n rock_count: (0, core_1.NumberNode)({ integer: true }),\r\n hole_count: (0, core_1.NumberNode)({ integer: true }),\r\n requires_block_below: (0, core_1.BooleanNode)(),\r\n valid_blocks: (0, core_1.ListNode)(StringNode({ validator: 'resource', params: { pool: 'block' } }))\r\n },\r\n 'minecraft:tree': {\r\n ignore_vines: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n force_dirt: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n minimum_size: Reference('feature_size'),\r\n dirt_provider: Reference('block_state_provider'),\r\n sapling_provider: Reference('block_state_provider'),\r\n trunk_provider: Reference('block_state_provider'),\r\n foliage_provider: Reference('block_state_provider'),\r\n trunk_placer: (0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/trunk_placer_type' } }),\r\n base_height: (0, core_1.NumberNode)({ integer: true, min: 0, max: 32 }),\r\n height_rand_a: (0, core_1.NumberNode)({ integer: true, min: 0, max: 24 }),\r\n height_rand_b: (0, core_1.NumberNode)({ integer: true, min: 0, max: 24 }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:bending_trunk_placer': {\r\n bend_length: (0, Common_1.IntProvider)({ min: 1, max: 64 }),\r\n min_height_for_leaves: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 1 }))\r\n }\r\n }\r\n }, { context: 'trunk_placer' }),\r\n foliage_placer: (0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/foliage_placer_type' } }),\r\n radius: (0, Common_1.IntProvider)({ min: 0, max: 16 }),\r\n offset: (0, Common_1.IntProvider)({ min: 0, max: 16 }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:blob_foliage_placer': {\r\n height: (0, core_1.NumberNode)({ integer: true, min: 0, max: 16 })\r\n },\r\n 'minecraft:bush_foliage_placer': {\r\n height: (0, core_1.NumberNode)({ integer: true, min: 0, max: 16 })\r\n },\r\n 'minecraft:fancy_foliage_placer': {\r\n height: (0, core_1.NumberNode)({ integer: true, min: 0, max: 16 })\r\n },\r\n 'minecraft:jungle_foliage_placer': {\r\n height: (0, core_1.NumberNode)({ integer: true, min: 0, max: 16 })\r\n },\r\n 'minecraft:mega_pine_foliage_placer': {\r\n crown_height: (0, Common_1.IntProvider)({ min: 0, max: 24 })\r\n },\r\n 'minecraft:pine_foliage_placer': {\r\n height: (0, Common_1.IntProvider)({ min: 0, max: 24 })\r\n },\r\n 'minecraft:random_spread_foliage_placer': {\r\n foliage_height: (0, Common_1.IntProvider)({ min: 1, max: 512 }),\r\n leaf_placement_attempts: (0, core_1.NumberNode)({ integer: true, min: 0, max: 256 })\r\n },\r\n 'minecraft:spruce_foliage_placer': {\r\n trunk_height: (0, Common_1.IntProvider)({ min: 0, max: 24 })\r\n }\r\n }\r\n }, { context: 'foliage_placer', disableSwitchContext: true }),\r\n decorators: (0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/tree_decorator_type' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:alter_ground': {\r\n provider: Reference('block_state_provider')\r\n },\r\n 'minecraft:beehive': {\r\n probability: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n },\r\n 'minecraft:cocoa': {\r\n probability: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n }\r\n }\r\n }, { context: 'tree_decorator' }))\r\n },\r\n 'minecraft:underwater_magma': {\r\n floor_search_range: (0, core_1.NumberNode)({ integer: true, min: 0, max: 512 }),\r\n placement_radius_around_floor: (0, core_1.NumberNode)({ integer: true, min: 0, max: 64 }),\r\n placement_probability_per_valid_position: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n },\r\n 'minecraft:vegetation_patch': VegetationPatchConfig,\r\n 'minecraft:waterlogged_vegetation_patch': VegetationPatchConfig\r\n }\r\n }, { context: 'feature' })\r\n }, { context: 'feature' }), {\r\n default: () => ({\r\n type: 'minecraft:decorated',\r\n config: {\r\n decorator: {\r\n type: 'minecraft:count',\r\n config: {\r\n count: 4\r\n }\r\n },\r\n feature: {\r\n type: 'minecraft:tree',\r\n config: {\r\n max_water_depth: 0,\r\n ignore_vines: true,\r\n minimum_size: {},\r\n trunk_placer: {\r\n base_height: 5,\r\n height_rand_a: 2,\r\n height_rand_b: 0\r\n },\r\n foliage_placer: {\r\n radius: 2,\r\n offset: 0,\r\n height: 3\r\n }\r\n }\r\n }\r\n }\r\n })\r\n }));\r\n schemas.register('feature_size', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/feature_size_type' } }),\r\n min_clipped_height: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 80 })),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:two_layers_feature_size': {\r\n limit: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 0, max: 81 })),\r\n lower_size: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 0, max: 16 })),\r\n upper_size: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 0, max: 16 }))\r\n },\r\n 'minecraft:three_layers_feature_size': {\r\n limit: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 0, max: 80 })),\r\n upper_limit: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 0, max: 80 })),\r\n lower_size: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 0, max: 16 })),\r\n middle_size: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 0, max: 16 })),\r\n upper_size: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 0, max: 16 }))\r\n }\r\n }\r\n }, { disableSwitchContext: true }), {\r\n default: () => ({\r\n type: 'minecraft:two_layers_feature_size'\r\n })\r\n }));\r\n schemas.register('block_state_provider', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/block_state_provider_type' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:randomized_int_state_provider': {\r\n property: StringNode(),\r\n values: (0, Common_1.IntProvider)(),\r\n source: Reference('block_state_provider')\r\n },\r\n 'minecraft:rotated_block_provider': {\r\n state: Reference('block_state')\r\n },\r\n 'minecraft:simple_state_provider': {\r\n state: Reference('block_state')\r\n },\r\n 'minecraft:weighted_state_provider': {\r\n entries: (0, core_1.ListNode)((0, core_1.Mod)((0, core_1.ObjectNode)({\r\n weight: (0, core_1.NumberNode)({ integer: true, min: 1 }),\r\n data: Reference('block_state')\r\n }), {\r\n default: () => ({\r\n data: {}\r\n })\r\n }))\r\n }\r\n }\r\n }, { context: 'block_state_provider' }), {\r\n default: () => ({\r\n type: 'minecraft:simple_state_provider'\r\n })\r\n }));\r\n schemas.register('block_placer', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/block_placer_type' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:column_placer': {\r\n size: (0, Common_1.IntProvider)({ min: 0 })\r\n }\r\n }\r\n }, { context: 'block_placer' }), {\r\n default: () => ({\r\n type: 'minecraft:simple_block_placer'\r\n })\r\n }));\r\n}\r\nexports.initFeatureSchemas = initFeatureSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initNoiseSettingsSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"../Common\");\r\nfunction initNoiseSettingsSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('noise_settings', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n name: (0, core_1.Mod)(StringNode({ validator: 'resource', params: { pool: '$worldgen/noise_settings', isDefinition: true } }), {\r\n enabled: (path) => path.getArray().length > 0\r\n }),\r\n bedrock_roof_position: (0, core_1.NumberNode)({ integer: true }),\r\n bedrock_floor_position: (0, core_1.NumberNode)({ integer: true }),\r\n sea_level: (0, core_1.NumberNode)({ integer: true }),\r\n min_surface_level: (0, core_1.NumberNode)({ integer: true }),\r\n disable_mob_generation: (0, core_1.BooleanNode)(),\r\n noise_caves_enabled: (0, core_1.BooleanNode)(),\r\n noodle_caves_enabled: (0, core_1.BooleanNode)(),\r\n aquifers_enabled: (0, core_1.BooleanNode)(),\r\n deepslate_enabled: (0, core_1.BooleanNode)(),\r\n ore_veins_enabled: (0, core_1.BooleanNode)(),\r\n default_block: Reference('block_state'),\r\n default_fluid: Reference('block_state'),\r\n noise: (0, core_1.ObjectNode)({\r\n min_y: (0, core_1.NumberNode)({ integer: true, min: -2048, max: 2047 }),\r\n height: (0, core_1.NumberNode)({ integer: true, min: 0, max: 4096 }),\r\n density_factor: (0, core_1.NumberNode)(),\r\n density_offset: (0, core_1.NumberNode)(),\r\n size_horizontal: (0, core_1.NumberNode)({ integer: true }),\r\n size_vertical: (0, core_1.NumberNode)({ integer: true }),\r\n simplex_surface_noise: (0, core_1.BooleanNode)(),\r\n random_density_offset: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n island_noise_override: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n amplified: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n sampling: (0, core_1.ObjectNode)({\r\n xz_scale: (0, core_1.NumberNode)(),\r\n y_scale: (0, core_1.NumberNode)(),\r\n xz_factor: (0, core_1.NumberNode)(),\r\n y_factor: (0, core_1.NumberNode)()\r\n }),\r\n bottom_slide: (0, core_1.ObjectNode)({\r\n target: (0, core_1.NumberNode)({ integer: true }),\r\n size: (0, core_1.NumberNode)({ integer: true, min: 0 }),\r\n offset: (0, core_1.NumberNode)({ integer: true })\r\n }),\r\n top_slide: (0, core_1.ObjectNode)({\r\n target: (0, core_1.NumberNode)({ integer: true }),\r\n size: (0, core_1.NumberNode)({ integer: true, min: 0 }),\r\n offset: (0, core_1.NumberNode)({ integer: true })\r\n })\r\n }),\r\n structures: Reference('generator_structures')\r\n }, { context: 'noise_settings' }), node => ({\r\n default: () => Common_1.DefaultNoiseSettings,\r\n validate: (path, value, errors, options) => {\r\n var _a, _b, _c, _d;\r\n value = node.validate(path, value, errors, options);\r\n if (((_a = value === null || value === void 0 ? void 0 : value.noise) === null || _a === void 0 ? void 0 : _a.min_y) + ((_b = value === null || value === void 0 ? void 0 : value.noise) === null || _b === void 0 ? void 0 : _b.height) > 2047) {\r\n errors.add(path.push('noise').push('height'), 'error.min_y_plus_height', 2047);\r\n }\r\n if (((_c = value === null || value === void 0 ? void 0 : value.noise) === null || _c === void 0 ? void 0 : _c.height) % 16 !== 0) {\r\n errors.add(path.push('noise').push('height'), 'error.height_multiple', 16);\r\n }\r\n if (((_d = value === null || value === void 0 ? void 0 : value.noise) === null || _d === void 0 ? void 0 : _d.min_y) % 16 !== 0) {\r\n errors.add(path.push('noise').push('min_y'), 'error.min_y_multiple', 16);\r\n }\r\n return value;\r\n }\r\n })));\r\n schemas.register('generator_structures', (0, core_1.ObjectNode)({\r\n stronghold: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n distance: (0, core_1.NumberNode)({ integer: true, min: 0, max: 1023 }),\r\n spread: (0, core_1.NumberNode)({ integer: true, min: 0, max: 1023 }),\r\n count: (0, core_1.NumberNode)({ integer: true, min: 1, max: 4095 })\r\n })),\r\n structures: (0, core_1.MapNode)(StringNode({ validator: 'resource', params: { pool: 'worldgen/structure_feature' } }), (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n spacing: (0, core_1.NumberNode)({ integer: true, min: 0, max: 4096 }),\r\n separation: (0, core_1.Mod)((0, core_1.NumberNode)({ integer: true, min: 0, max: 4096 }), (node) => ({\r\n validate: (path, value, errors, options) => {\r\n if (path.pop().push('spacing').get() <= value) {\r\n errors.add(path, 'error.separation_smaller_spacing');\r\n }\r\n return node.validate(path, value, errors, options);\r\n }\r\n })),\r\n salt: (0, core_1.NumberNode)({ integer: true, min: 0 })\r\n }, { context: 'generator_structure' }), {\r\n default: () => ({\r\n spacing: 10,\r\n separation: 5,\r\n salt: 0\r\n })\r\n }))\r\n }));\r\n schemas.register('generator_layer', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n block: StringNode({ validator: 'resource', params: { pool: 'block' } }),\r\n height: (0, core_1.NumberNode)({ integer: true, min: 1 })\r\n }), {\r\n default: () => ({\r\n block: 'minecraft:stone',\r\n height: 1\r\n })\r\n }));\r\n}\r\nexports.initNoiseSettingsSchemas = initNoiseSettingsSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initStructureFeatureSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initStructureFeatureSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const templatePoolConfig = {\r\n start_pool: StringNode({ validator: 'resource', params: { pool: '$worldgen/template_pool' } }),\r\n size: (0, core_1.NumberNode)({ integer: true })\r\n };\r\n schemas.register('configured_structure_feature', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/structure_feature' } }),\r\n config: (0, core_1.ObjectNode)({\r\n [core_1.Switch]: ['pop', { push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:bastion_remnant': templatePoolConfig,\r\n 'minecraft:buried_treasure': {\r\n probability: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n },\r\n 'minecraft:mineshaft': {\r\n type: StringNode({ enum: ['normal', 'mesa'] }),\r\n probability: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n },\r\n 'minecraft:nether_fossil': {\r\n height: Reference('height_provider')\r\n },\r\n 'minecraft:ocean_ruin': {\r\n biome_temp: StringNode({ enum: ['cold', 'warm'] }),\r\n large_probability: (0, core_1.NumberNode)({ min: 0, max: 1 }),\r\n cluster_probability: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n },\r\n 'minecraft:pillager_outpost': templatePoolConfig,\r\n 'minecraft:ruined_portal': {\r\n portal_type: StringNode({ enum: ['standard', 'desert', 'jungle', 'mountain', 'nether', 'ocean', 'swamp'] })\r\n },\r\n 'minecraft:shipwreck': {\r\n is_beached: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n },\r\n 'minecraft:village': templatePoolConfig\r\n }\r\n }, { context: 'structure_feature', disableSwitchContext: true })\r\n }, { context: 'structure_feature' }), {\r\n default: () => ({\r\n type: 'minecraft:bastion_remnant',\r\n config: {\r\n start_pool: 'minecraft:bastion/starts',\r\n size: 6\r\n }\r\n })\r\n }));\r\n}\r\nexports.initStructureFeatureSchemas = initStructureFeatureSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initSurfaceBuilderSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initSurfaceBuilderSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n schemas.register('configured_surface_builder', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/surface_builder' } }),\r\n config: (0, core_1.ObjectNode)({\r\n top_material: Reference('block_state'),\r\n under_material: Reference('block_state'),\r\n underwater_material: Reference('block_state'),\r\n }, { context: 'surface_builder' })\r\n }, { context: 'surface_builder' }), {\r\n default: () => ({\r\n type: 'minecraft:default',\r\n config: {\r\n top_material: {\r\n Name: 'minecraft:grass_block',\r\n Properties: {\r\n snowy: 'false'\r\n }\r\n },\r\n under_material: {\r\n Name: 'minecraft:dirt'\r\n },\r\n underwater_material: {\r\n Name: 'minecraft:gravel'\r\n }\r\n }\r\n })\r\n }));\r\n}\r\nexports.initSurfaceBuilderSchemas = initSurfaceBuilderSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initTemplatePoolSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nrequire(\"./ProcessorList\");\r\nconst ProcessorList_1 = require(\"./ProcessorList\");\r\nfunction initTemplatePoolSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('template_pool', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n name: StringNode(),\r\n fallback: StringNode(),\r\n elements: (0, core_1.ListNode)(Reference('template_weighted_element'))\r\n }, { context: 'template_pool' }), {\r\n default: () => ({\r\n fallback: 'minecraft:empty',\r\n elements: [\r\n {\r\n weight: 1,\r\n element: {\r\n element_type: 'minecraft:single_pool_element',\r\n projection: 'rigid',\r\n processors: 'minecraft:empty'\r\n }\r\n }\r\n ]\r\n })\r\n }));\r\n schemas.register('template_weighted_element', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n weight: (0, core_1.NumberNode)({ integer: true, min: 1 }),\r\n element: Reference('template_element')\r\n }, { category: 'pool' }), {\r\n default: () => ({\r\n weight: 1,\r\n element: {\r\n element_type: 'minecraft:single_pool_element',\r\n projection: 'rigid',\r\n processors: 'minecraft:empty'\r\n }\r\n })\r\n }));\r\n schemas.register('template_element', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n element_type: StringNode({ validator: 'resource', params: { pool: 'worldgen/structure_pool_element' } }),\r\n projection: StringNode({ enum: ['rigid', 'terrain_matching'] }),\r\n [core_1.Switch]: [{ push: 'element_type' }],\r\n [core_1.Case]: {\r\n 'minecraft:feature_pool_element': {\r\n feature: StringNode({ validator: 'resource', params: { pool: '$worldgen/configured_feature' } })\r\n },\r\n 'minecraft:legacy_single_pool_element': {\r\n location: StringNode({ validator: 'resource', params: { pool: '$structure' } }),\r\n processors: ProcessorList_1.Processors\r\n },\r\n 'minecraft:list_pool_element': {\r\n elements: (0, core_1.ListNode)(Reference('template_element'))\r\n },\r\n 'minecraft:single_pool_element': {\r\n location: StringNode({ validator: 'resource', params: { pool: '$structure' } }),\r\n processors: ProcessorList_1.Processors\r\n }\r\n }\r\n }, { context: 'template_element', disableSwitchContext: true }), {\r\n default: () => ({\r\n element_type: 'minecraft:single_pool_element',\r\n projection: 'rigid',\r\n processors: 'minecraft:empty'\r\n })\r\n }));\r\n}\r\nexports.initTemplatePoolSchemas = initTemplatePoolSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initWorldgenSchemas = void 0;\r\nconst Biome_1 = require(\"./Biome\");\r\nconst Carver_1 = require(\"./Carver\");\r\nconst Decorator_1 = require(\"./Decorator\");\r\nconst Feature_1 = require(\"./Feature\");\r\nconst NoiseSettings_1 = require(\"./NoiseSettings\");\r\nconst ProcessorList_1 = require(\"./ProcessorList\");\r\nconst StructureFeature_1 = require(\"./StructureFeature\");\r\nconst SurfaceBuilder_1 = require(\"./SurfaceBuilder\");\r\nconst TemplatePool_1 = require(\"./TemplatePool\");\r\nfunction initWorldgenSchemas(schemas, collections) {\r\n // `ProcessorList.ts` has exports. It should be initialized first. \r\n (0, ProcessorList_1.initProcessorListSchemas)(schemas, collections);\r\n (0, Biome_1.initBiomeSchemas)(schemas, collections);\r\n (0, Carver_1.initCarverSchemas)(schemas, collections);\r\n (0, Decorator_1.initDecoratorSchemas)(schemas, collections);\r\n (0, Feature_1.initFeatureSchemas)(schemas, collections);\r\n (0, NoiseSettings_1.initNoiseSettingsSchemas)(schemas, collections);\r\n (0, StructureFeature_1.initStructureFeatureSchemas)(schemas, collections);\r\n (0, SurfaceBuilder_1.initSurfaceBuilderSchemas)(schemas, collections);\r\n (0, TemplatePool_1.initTemplatePoolSchemas)(schemas, collections);\r\n}\r\nexports.initWorldgenSchemas = initWorldgenSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initWorldSettingsSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initWorldSettingsSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('world_settings', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n generate_features: (0, core_1.BooleanNode)(),\r\n bonus_chest: (0, core_1.BooleanNode)(),\r\n seed: (0, core_1.NumberNode)({ integer: true }),\r\n dimensions: (0, core_1.MapNode)(StringNode({ validator: 'resource', params: { pool: '$dimension' } }), Reference('dimension'))\r\n }, { context: 'world_settings' }), {\r\n default: () => {\r\n const seed = Math.floor(Math.random() * (4294967296)) - 2147483648;\r\n return {\r\n generate_features: true,\r\n bonus_chest: false,\r\n seed,\r\n dimensions: {\r\n 'minecraft:overworld': {\r\n type: 'minecraft:overworld',\r\n generator: {\r\n type: 'minecraft:noise',\r\n seed,\r\n biome_source: {\r\n type: 'minecraft:vanilla_layered',\r\n seed\r\n },\r\n settings: 'minecraft:overworld',\r\n }\r\n },\r\n 'minecraft:the_nether': {\r\n type: 'minecraft:the_nether',\r\n generator: {\r\n type: 'minecraft:noise',\r\n seed,\r\n biome_source: {\r\n type: 'minecraft:multi_noise',\r\n seed,\r\n humidity_noise: {\r\n firstOctave: -7,\r\n amplitudes: [1.0, 1.0]\r\n },\r\n altitude_noise: {\r\n firstOctave: -7,\r\n amplitudes: [1.0, 1.0]\r\n },\r\n weirdness_noise: {\r\n firstOctave: -7,\r\n amplitudes: [1.0, 1.0]\r\n },\r\n temperature_noise: {\r\n firstOctave: -7,\r\n amplitudes: [1.0, 1.0]\r\n },\r\n biomes: [\r\n {\r\n parameters: { altitude: 0.0, weirdness: 0.0, offset: 0.0, temperature: 0.0, humidity: 0.0 },\r\n biome: 'minecraft:nether_wastes'\r\n },\r\n {\r\n parameters: { altitude: 0.0, weirdness: 0.0, offset: 0.0, temperature: 0.0, humidity: -0.5 },\r\n biome: 'minecraft:soul_sand_valley'\r\n },\r\n {\r\n parameters: { altitude: 0.0, weirdness: 0.0, offset: 0.0, temperature: 0.4, humidity: 0.0 },\r\n biome: 'minecraft:crimson_forest'\r\n },\r\n {\r\n parameters: { altitude: 0.0, weirdness: 0.0, offset: 0.375, temperature: 0.0, humidity: 0.5 },\r\n biome: 'minecraft:warped_forest'\r\n },\r\n {\r\n parameters: { altitude: 0.0, weirdness: 0.0, offset: 0.175, temperature: -0.5, humidity: 0.0 },\r\n biome: 'minecraft:basalt_deltas'\r\n }\r\n ]\r\n },\r\n settings: 'minecraft:nether'\r\n }\r\n },\r\n 'minecraft:the_end': {\r\n type: \"minecraft:the_end\",\r\n generator: {\r\n type: \"minecraft:noise\",\r\n seed,\r\n biome_source: {\r\n type: \"minecraft:the_end\",\r\n seed\r\n },\r\n settings: \"minecraft:end\"\r\n }\r\n }\r\n }\r\n };\r\n }\r\n }));\r\n}\r\nexports.initWorldSettingsSchemas = initWorldSettingsSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initSchemas = void 0;\r\nconst Advancement_1 = require(\"./Advancement\");\r\nconst assets_1 = require(\"./assets\");\r\nconst Common_1 = require(\"./Common\");\r\nconst Condition_1 = require(\"./Condition\");\r\nconst Dimension_1 = require(\"./Dimension\");\r\nconst DimensionType_1 = require(\"./DimensionType\");\r\nconst ItemModifier_1 = require(\"./ItemModifier\");\r\nconst LootTable_1 = require(\"./LootTable\");\r\nconst PackMcmeta_1 = require(\"./PackMcmeta\");\r\nconst Predicates_1 = require(\"./Predicates\");\r\nconst Recipe_1 = require(\"./Recipe\");\r\nconst Tags_1 = require(\"./Tags\");\r\nconst TextComponent_1 = require(\"./TextComponent\");\r\nconst worldgen_1 = require(\"./worldgen\");\r\nconst WorldSettings_1 = require(\"./WorldSettings\");\r\nfunction initSchemas(schemas, collections) {\r\n // `Common.ts` is the only file that has exports. It should be initialized first. \r\n (0, Common_1.initCommonSchemas)(schemas, collections);\r\n (0, Advancement_1.initAdvancementSchemas)(schemas, collections);\r\n (0, assets_1.initAssetsSchemas)(schemas, collections);\r\n (0, Condition_1.initConditionSchemas)(schemas, collections);\r\n (0, DimensionType_1.initDimensionTypeSchemas)(schemas, collections);\r\n (0, Dimension_1.initDimensionSchemas)(schemas, collections);\r\n (0, ItemModifier_1.initItemModifierSchemas)(schemas, collections);\r\n (0, LootTable_1.initLootTableSchemas)(schemas, collections);\r\n (0, PackMcmeta_1.initPackMcmetaSchemas)(schemas, collections);\r\n (0, Predicates_1.initPredicatesSchemas)(schemas, collections);\r\n (0, Recipe_1.initRecipeSchemas)(schemas, collections);\r\n (0, Tags_1.initTagsSchemas)(schemas, collections);\r\n (0, TextComponent_1.initTextComponentSchemas)(schemas, collections);\r\n (0, worldgen_1.initWorldgenSchemas)(schemas, collections);\r\n (0, WorldSettings_1.initWorldSettingsSchemas)(schemas, collections);\r\n}\r\nexports.initSchemas = initSchemas;\r\n","\"use strict\";\r\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}));\r\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n});\r\nvar __importStar = (this && this.__importStar) || function (mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.getSchemas = exports.getCollections = exports.lootContext = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Collections_1 = require(\"./Collections\");\r\nconst schemas_1 = require(\"./schemas\");\r\nexports.lootContext = __importStar(require(\"./LootContext\"));\r\nfunction getCollections() {\r\n const collections = new core_1.CollectionRegistry();\r\n (0, Collections_1.initCollections)(collections);\r\n return collections;\r\n}\r\nexports.getCollections = getCollections;\r\n/**\r\n * @param collections The CollectionRegistry for this version. Note that apart from\r\n * the built-in collections, the client of this module is responsible for futhermore\r\n * adding the vanilla registries to it: the collection IDs shouldn't contain the\r\n * namespace (`minecraft:`) part, while the values within the collections should.\r\n *\r\n * @example\r\n * for (const key in VANILLA_REGISTRIES>) {\r\n * collections.register(\r\n * key.replace(/^minecraft:/, ''),\r\n * Object.keys(VANILLA_REGISTRIES[key].entries)\r\n * )\r\n * }\r\n */\r\nfunction getSchemas(collections) {\r\n const schemas = new core_1.SchemaRegistry();\r\n (0, schemas_1.initSchemas)(schemas, collections);\r\n return schemas;\r\n}\r\nexports.getSchemas = getSchemas;\r\n"],"names":["core_1","require$$0","require$$1","Common_1","require$$2","ProcessorList_1","require$$3","require$$4","require$$5","require$$6","require$$7","require$$8","require$$9","require$$10","require$$11","require$$12","require$$13","require$$14","this"],"mappings":"+1BACA,OAAO,eAAe,GAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EACrC,GAAA,gBAAG,OAC1B,YAAyB,EAAa,CAClC,EAAY,SAAS,sBAAuB,CACxC,+BACA,yBACA,0BACA,8BACA,gCACA,6BACA,yBACA,kCACA,4BACA,2BACA,wBACA,+BACA,iCACA,0BACA,+BACA,gCACA,uBACA,8BACA,oCACA,+BACA,+BACA,uBACA,6BACA,qBACA,0BACA,yBACA,4CACA,+BACA,0CACA,iCACA,4BACA,0BACA,yBACA,6BACA,2BACA,4BACA,wBACA,uBACA,iBACA,4CACA,2BACA,uBACA,uBACA,2BACA,2BACR,CAAK,EACD,EAAY,SAAS,YAAa,CAC9B,sBACA,uBACA,mBACR,CAAK,EACD,EAAY,SAAS,iBAAkB,CACnC,sBACA,uBACA,mBACR,CAAK,EACD,EAAY,SAAS,UAAW,CAC5B,mBACA,aACA,WACA,WACA,cACA,WACA,cACA,iBACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,gBACA,WACA,WACA,2BACA,eACA,iBACA,YACA,2BACA,iBACA,mBACA,YACA,wBACA,aACA,kBACA,wBACA,SACR,CAAK,EACD,EAAY,SAAS,OAAQ,CACzB,WACA,UACA,OACA,QACA,OACA,MACR,CAAK,EACD,EAAY,SAAS,WAAY,CAC7B,WACA,WACA,YACA,WACR,CAAK,EACD,EAAY,SAAS,0BAA2B,CAC5C,sBACA,mBACA,gBACA,sBACA,kBACA,4BACR,CAAK,EACD,EAAY,SAAS,gBAAiB,CAClC,OACA,SACA,gBACA,eACR,CAAK,EACD,EAAY,SAAS,cAAe,CAChC,eACA,OACA,SACA,eACR,CAAK,EACD,EAAY,SAAS,iCAAkC,CACnD,gCACA,sCACA,qBACR,CAAK,EACD,EAAY,SAAS,iBAAkB,CACnC,UACA,WACA,SACA,QACA,aACA,cACA,WACA,eACA,iBACA,oBACA,QACA,eACA,gBACA,iBACA,oBACA,gBACA,cACA,cACA,cACA,oBACA,cACA,gBACA,cACA,eACA,eACA,aACA,cACR,CAAK,EACD,EAAY,SAAS,cAAe,CAChC,kBACA,kBACA,iBACA,UACA,WACA,QACA,iBACA,UACA,YACA,WACA,gBACA,aACA,mBACA,gBACA,YACA,aACA,YACA,SACR,CAAK,EACD,EAAY,SAAS,eAAgB,CACjC,MACA,iBACA,aACA,gBACA,YACA,qBACA,WACA,cACA,OACA,cACA,iBACA,oBACA,SACA,gBACA,cACA,qBACA,eACA,SACA,kBACA,wBACA,OACA,YACA,aACA,WACA,UACA,kBACA,gBACA,aACA,WACA,cACA,aACA,SACA,OACA,OACA,QACA,WACA,YACA,SACA,iBACR,CAAK,EACD,EAAY,SAAS,8BAA+B,CAChD,mBACA,yBACA,8BACA,mBACA,yBACA,0BACA,4BACA,2BACA,2BACA,wBACA,uBACA,kBACA,6BACA,qBACA,wBACA,iCACA,kCACA,kCACA,iCACA,iCACA,yBACA,sCACA,kCACA,0BACA,yCACA,uCACA,qBACA,kBACA,wBACA,sBACA,wBACA,sBACA,gCACA,wBACA,iCACA,uBACA,sBACA,gCACA,+BACA,+BACA,sBACA,2BACA,0BACA,mCACA,yBACA,yBACA,wBACA,gCACA,4CACA,qCACA,wBACA,mBACA,6BACA,4BACA,sBACA,gCACA,8BACA,sBACA,sBACA,yBACA,2BACA,wBACA,gCACA,wBACA,sBACA,sBACA,sBACA,uBACA,iCACA,6BACA,sBACA,wBACA,yBACA,sCACA,2BACA,yBACA,0BACA,yBACA,yBACA,gBACA,yBACA,2BACA,qBACA,6BACA,6BACA,wBACA,wBACA,qBACA,wBACA,4BACA,2BACA,4BACA,qBACA,wBACA,8BACA,uBACA,yBACA,qBACA,sBACA,sBACA,8BACA,8BACA,yBACA,0BACA,6BACA,kCACA,+BACA,iCACA,mCACA,gCACA,yBACA,gCACA,8BACA,qCACA,4BACA,uBACA,iCACA,+BACA,+BACA,+BACA,8BACA,gCACA,gCACA,8BACA,6BACA,wBACA,0BACA,+BACA,4BACA,sCACA,oCACA,mCACA,6BACA,4BACA,8BACA,+BACA,6BACA,6BACA,qBACA,qBACA,uBACA,yBACA,sBACA,iBACA,6BACA,+BACA,gCACA,gCACA,+BACA,+BACA,uBACA,0BACA,+BACA,+BACA,0BACA,4BACA,2BACA,4BACA,2BACA,0BACA,iCACA,iCACA,0BACA,yBACA,+BACA,wBACA,wBACA,yBACA,yBACA,mBACA,kCACA,uBACA,6BACA,wBACA,+BACA,wBACA,8BACA,yBACA,gCACA,2BACA,0BACA,oCACA,wBACA,2BACA,kBACA,gCACA,kCACA,qCACA,iCACA,yBACA,yBACR,CAAK,EACD,EAAY,SAAS,wCAAyC,CAC1D,4BACA,4BACA,2BACA,qBACA,qBACA,kBACA,2BACA,oBACA,2BACA,sBACA,qBACA,0BACA,4BACA,4BACA,6BACA,iCACA,iCACA,mCACA,iCACA,gCACA,gCACA,0BACA,8BACA,sBACA,uBACA,sBACA,2BACA,2BACA,4BACA,0BACA,yBACR,CAAK,EACD,EAAY,SAAS,sCAAuC,CACxD,qBACA,0BACA,2BACA,mBACA,gBACA,4BACA,yBACA,sBACA,6BACA,kBACA,8BACA,uBACA,qBACA,qBACA,mBACA,iBACA,uBACA,8BACA,6BACA,kBACA,kBACA,0BACA,2BACR,CAAK,EACD,EAAY,SAAS,iBAAkB,CACnC,QACA,SACA,gBACA,SACA,MACA,SACA,OACA,WACA,SACA,OACA,QACA,SACA,QACA,UACA,QACA,QACA,UACA,aACR,CAAK,EACD,EAAY,SAAS,iBAAkB,CACnC,kBACA,4BACA,cACA,iBACA,gBACA,kBACR,CAAK,EACD,EAAY,SAAS,kBAAmB,CACpC,MACA,QACR,CAAK,EACD,EAAY,SAAS,oBAAqB,CACtC,kBACA,kBACA,oBACA,qBACA,oBACA,mBACA,iBACA,mBACA,+BACA,+BACA,oBACA,iBACR,CAAK,EACD,EAAY,SAAS,iBAAkB,CACnC,OACA,qBACA,sBACA,kBACA,mBACA,gBACA,aACA,cACA,eACA,gBACA,gBACA,mBACA,kBACA,gBACA,QACA,iBACA,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"} \ No newline at end of file diff --git a/assets/index.b990f5f5.js b/assets/index.38fdde83.js similarity index 51% rename from assets/index.b990f5f5.js rename to assets/index.38fdde83.js index 19524d74..12aa0126 100644 --- a/assets/index.b990f5f5.js +++ b/assets/index.38fdde83.js @@ -1,57 +1,57 @@ -var lu=Object.defineProperty,cu=Object.defineProperties;var uu=Object.getOwnPropertyDescriptors;var Rr=Object.getOwnPropertySymbols;var to=Object.prototype.hasOwnProperty,no=Object.prototype.propertyIsEnumerable;var eo=(e,t,n)=>t in e?lu(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,J=(e,t)=>{for(var n in t||(t={}))to.call(t,n)&&eo(e,n,t[n]);if(Rr)for(var n of Rr(t))no.call(t,n)&&eo(e,n,t[n]);return e},xe=(e,t)=>cu(e,uu(t));var Vi=e=>typeof e=="symbol"?e:e+"",ro=(e,t)=>{var n={};for(var r in e)to.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Rr)for(var r of Rr(e))t.indexOf(r)<0&&no.call(e,r)&&(n[r]=e[r]);return n};const du=function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))r(i);new MutationObserver(i=>{for(const s of i)if(s.type==="childList")for(const o of s.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&r(o)}).observe(document,{childList:!0,subtree:!0});function n(i){const s={};return i.integrity&&(s.integrity=i.integrity),i.referrerpolicy&&(s.referrerPolicy=i.referrerpolicy),i.crossorigin==="use-credentials"?s.credentials="include":i.crossorigin==="anonymous"?s.credentials="omit":s.credentials="same-origin",s}function r(i){if(i.ep)return;i.ep=!0;const s=n(i);fetch(i.href,s)}};du();var U,Qn,Ra,io,Pa,ni={},ks=[],hu=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i;function Dt(e,t){for(var n in t)e[n]=t[n];return e}function $a(e){var t=e.parentNode;t&&t.removeChild(e)}function h(e,t,n){var r,i,s,o=arguments,a={};for(s in t)s=="key"?r=t[s]:s=="ref"?i=t[s]:a[s]=t[s];if(arguments.length>3)for(n=[n],s=3;s0?er(p.type,p.props,p.key,null,p.__v):p)!=null){if(p.__=n,p.__b=n.__b+1,(f=_[c])===null||f&&p.key==f.key&&p.type===f.type)_[c]=void 0;else for(d=0;d3)for(n=[n],s=3;st.rank?-1:e.index-t.index}function wu(e,t){return e.index=t,e.rank=xu(e),e.props}function rs(e){return e.replace(/(^\/+|\/+$)/g,"").split("/")}function yu(e){return e.charAt(0)==":"?1+"*+?".indexOf(e.charAt(e.length-1))||4:5}function bu(e){return rs(e).map(yu).join("")}function xu(e){return e.props.default?0:bu(e.props.path)}var nt=null,en=[],is=[],Au={};function ku(e,t){t===void 0&&(t="push"),nt&&nt[t]?nt[t](e):typeof history!="undefined"&&history[t+"State"]&&history[t+"State"](null,null,e)}function Mn(){var e;return nt&&nt.location?e=nt.location:nt&&nt.getCurrentLocation?e=nt.getCurrentLocation():e=typeof location!="undefined"?location:Au,""+(e.pathname||"")+(e.search||"")}function qt(e,t){return t===void 0&&(t=!1),typeof e!="string"&&e.url&&(t=e.replace,e=e.url),Su(e)&&ku(e,t?"replace":"push"),qa(e)}function Su(e){for(var t=en.length;t--;)if(en[t].canRoute(e))return!0;return!1}function qa(e){for(var t=!1,n=0;n0},t.prototype.routeTo=function(r){this.setState({url:r});var i=this.canRoute(r);return this.updating||this.forceUpdate(),i},t.prototype.componentWillMount=function(){en.push(this),this.updating=!0},t.prototype.componentDidMount=function(){var r=this;nt&&(this.unlisten=nt.listen(function(i){r.routeTo(""+(i.pathname||"")+(i.search||""))})),this.updating=!1},t.prototype.componentWillUnmount=function(){typeof this.unlisten=="function"&&this.unlisten(),en.splice(en.indexOf(this),1)},t.prototype.componentWillUpdate=function(){this.updating=!0},t.prototype.componentDidUpdate=function(){this.updating=!1},t.prototype.getMatchingChildren=function(r,i,s){return r.filter(wu).sort(vu).map(function(o){var a=Wa(i,o.props.path,o.props);if(a){if(s!==!1){var l={url:i,matches:a};return Ya(l,a),delete l.ref,delete l.key,Ga(o,l)}return o}}).filter(Boolean)},t.prototype.render=function(r,i){var s=r.children,o=r.onChange,a=i.url,l=this.getMatchingChildren(gt(s),a,!0),u=l[0]||null,c=this.previousUrl;return a!==c&&(this.previousUrl=a,typeof o=="function"&&o({router:this,url:a,previous:c,active:l,current:u})),u},t}(mt),Ja=function(e){return h("a",Ya({onClick:Eu},e))},Mu=function(e){return h(e.component,e)};Ft.subscribers=is;Ft.getCurrentUrl=Mn;Ft.route=qt;Ft.Router=Ft;Ft.Route=Mu;Ft.Link=Ja;Ft.exec=Wa;var _e;(e=>{const t="Site",n="Generator";function l(I,N,z){ga("send","event",I,N,z)}function u(I,N){ga("set",`dimension${I}`,N)}function c(I){ga("set","page",I),ga("send","pageview")}e.pageview=c;function d(I,N){l(n,I,N)}e.generatorEvent=d;function f(I){return I==="menu"?"Menu":"Hotkey"}function p(I){u(4,I),l(t,"set-language",I),gtag("event","use_locale",{locale:I})}e.setLocale=p;function m(I){u(1,I),l(t,"set-theme",I),gtag("event","use_theme",{theme:I})}e.setTheme=m;function v(I){u(3,I),l(n,"set-version",I),gtag("event","use_version",{version:I})}e.setVersion=v;function g(I,N){u(6,I),gtag("event","use_generator",{file_type:I,version:N})}e.setGenerator=g;function _(I){u(7,I),gtag("event","prefers_color_scheme",{color_scheme:I})}e.setPrefersColorScheme=_;function y(I,N,z){l(n,"reset"),gtag("event","reset_generator",{file_type:I,history:N,method:z})}e.resetGenerator=y;function w(I,N,z){l(n,"undo",f(z)),gtag("event","undo_generator",{file_type:I,history:N,method:z})}e.undoGenerator=w;function b(I,N,z){l(n,"undo",f(z)),gtag("event","redo_generator",{file_type:I,history:N,method:z})}e.redoGenerator=b;function A(I,N,z,T){l(n,"save-project-file",f(T)),gtag("event","save_project_file",{file_type:I,project_size:N,projects_count:z,method:T})}e.saveProjectFile=A;function k(I,N){l(n,"load-preset",N),gtag("event","load_generator_preset",{file_type:I,file_name:N})}e.loadPreset=k;function C(I,N){gtag("event","open_generator_preset",{file_type:I,file_name:N})}e.openPreset=C;function S(I,N,z,T,x,E){gtag("event","create_generator_snippet",{file_type:I,snippet_id:N,version:z,data_size:T,compressed_size:x,compression_rate:E})}e.createSnippet=S;function M(I,N,z){gtag("event","open_generator_snippet",{file_type:I,snippet_id:N,version:z})}e.openSnippet=M;function O(I,N){gtag("event","copy_generator_output",{file_type:I,method:N})}e.copyOutput=O;function L(I,N){gtag("event","download_generator_output",{file_type:I,method:N})}e.downloadOutput=L;function D(I,N){l(n,"toggle-output","visible"),gtag("event","show_generator_output",{file_type:I,method:N})}e.showOutput=D;function ee(I,N){l(n,"toggle-output","hidden"),gtag("event","hide_generator_output",{file_type:I,method:N})}e.hideOutput=ee;function le(I,N){l(n,"toggle-preview","visible"),gtag("event","show_generator_preview",{file_type:I,method:N})}e.showPreview=le;function ce(I,N){l(n,"toggle-preview","hidden"),gtag("event","hide_generator_preview",{file_type:I,method:N})}e.hidePreview=ce})(_e||(_e={}));var un,Fe,co,On=0,ss=[],uo=U.__b,ho=U.__r,fo=U.diffed,po=U.__c,mo=U.unmount;function Fn(e,t){U.__h&&U.__h(Fe,e,On||t),On=0;var n=Fe.__H||(Fe.__H={__:[],__h:[]});return e>=n.__.length&&n.__.push({}),n.__[e]}function $(e){return On=1,Ka(tl,e)}function Ka(e,t,n){var r=Fn(un++,2);return r.t=e,r.__c||(r.__=[n?n(t):tl(void 0,t),function(i){var s=r.t(r.__[0],i);r.__[0]!==s&&(r.__=[s,r.__[1]],r.__c.setState({}))}],r.__c=Fe),r.__}function K(e,t){var n=Fn(un++,3);!U.__s&&Es(n.__H,t)&&(n.__=e,n.__H=t,Fe.__H.__h.push(n))}function Qa(e,t){var n=Fn(un++,4);!U.__s&&Es(n.__H,t)&&(n.__=e,n.__H=t,Fe.__h.push(n))}function pe(e){return On=5,Ae(function(){return{current:e}},[])}function Ou(e,t,n){On=6,Qa(function(){typeof e=="function"?e(t()):e&&(e.current=t())},n==null?n:n.concat(e))}function Ae(e,t){var n=Fn(un++,7);return Es(n.__H,t)&&(n.__=e(),n.__H=t,n.__h=e),n.__}function Me(e,t){return On=8,Ae(function(){return e},t)}function zn(e){var t=Fe.context[e.__c],n=Fn(un++,9);return n.__c=e,t?(n.__==null&&(n.__=!0,t.sub(Fe)),t.props.value):e.__}function Tu(e,t){U.useDebugValue&&U.useDebugValue(t?t(e):e)}function el(e){var t=Fn(un++,10),n=$();return t.__=e,Fe.componentDidCatch||(Fe.componentDidCatch=function(r){t.__&&t.__(r),n[1](r)}),[n[0],function(){n[1](void 0)}]}function Nu(){ss.forEach(function(e){if(e.__P)try{e.__H.__h.forEach(Ur),e.__H.__h.forEach(os),e.__H.__h=[]}catch(t){e.__H.__h=[],U.__e(t,e.__v)}}),ss=[]}U.__b=function(e){Fe=null,uo&&uo(e)},U.__r=function(e){ho&&ho(e),un=0;var t=(Fe=e.__c).__H;t&&(t.__h.forEach(Ur),t.__h.forEach(os),t.__h=[])},U.diffed=function(e){fo&&fo(e);var t=e.__c;t&&t.__H&&t.__H.__h.length&&(ss.push(t)!==1&&co===U.requestAnimationFrame||((co=U.requestAnimationFrame)||function(n){var r,i=function(){clearTimeout(s),go&&cancelAnimationFrame(r),setTimeout(n)},s=setTimeout(i,100);go&&(r=requestAnimationFrame(i))})(Nu)),Fe=void 0},U.__c=function(e,t){t.some(function(n){try{n.__h.forEach(Ur),n.__h=n.__h.filter(function(r){return!r.__||os(r)})}catch(r){t.some(function(i){i.__h&&(i.__h=[])}),t=[],U.__e(r,n.__v)}}),po&&po(e,t)},U.unmount=function(e){mo&&mo(e);var t=e.__c;if(t&&t.__H)try{t.__H.__.forEach(Ur)}catch(n){U.__e(n,t.__v)}};var go=typeof requestAnimationFrame=="function";function Ur(e){var t=Fe;typeof e.__c=="function"&&e.__c(),Fe=t}function os(e){var t=Fe;e.__c=e.__(),Fe=t}function Es(e,t){return!e||e.length!==t.length||t.some(function(n,r){return n!==e[r]})}function tl(e,t){return typeof t=="function"?t(e):t}function wr({type:e,id:t}){return K(()=>{var n;(n=document.getElementById("ad-placeholder"))==null||n.remove(),"ethicalads"in window&ðicalads.load()},[]),h("div",{"data-ea-publisher":"misode-github-io","data-ea-type":e,class:"ad dark flat",id:t})}function q({icon:e,label:t,active:n,class:r,tooltip:i,tooltipLoc:s,onClick:o}){return h("div",{class:`btn${n?" active":""}${r?` ${r}`:""}${i?` tooltipped tip-${s!=null?s:"sw"}`:""}${n?" tip-shown":""}`,onClick:o,"aria-label":i},e&&se[e],t&&h("span",null,t))}var Pr=typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:typeof global!="undefined"?global:typeof self!="undefined"?self:{};function nl(e){throw new Error('Could not dynamically require "'+e+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var B={},It={},kt={};Object.defineProperty(kt,"__esModule",{value:!0});kt.ModelPath=kt.Path=kt.relativePath=void 0;function Lu(e,t){return t.reduce((n,r)=>r==="pop"?n.pop():n.push(r.push),e)}kt.relativePath=Lu;class Nt{constructor(t,n){this.modelArr=t!=null?t:[],this.contextArr=n!=null?n:[]}last(){return this.modelArr[this.modelArr.length-1]}slice(t,n){return new Nt(this.modelArr.slice(t,n),this.contextArr)}shift(){return new Nt(this.modelArr.slice(1),this.contextArr)}pop(){return new Nt(this.modelArr.slice(0,-1),this.contextArr)}push(t){return this.modelPush(t).contextPush(t)}modelPush(t){return new Nt([...this.modelArr,t],[...this.contextArr])}contextPush(t){if(typeof t=="number")return this.copy();const n=t.startsWith("minecraft:")?t.slice(10):t;return new Nt([...this.modelArr],[...this.contextArr,n])}copy(){return new Nt([...this.modelArr],[...this.contextArr])}getArray(){return this.modelArr}withModel(t){return new Lt(t,this)}getContext(){return this.contextArr}equals(t){return t.modelArr.length===this.modelArr.length&&t.modelArr.every((n,r)=>n===this.modelArr[r])}startsWith(t){return this.modelArr.lengthn===this.modelArr[r])}endsWith(t){const n=this.modelArr.length-t.modelArr.length;return n<0?!1:t.modelArr.every((r,i)=>r===this.modelArr[n+i])}toString(){return this.modelArr.map(t=>typeof t=="string"?`.${t}`:`[${t}]`).join("").replace(/^\./,"")}forEach(t,n){return this.modelArr.forEach(t,n)}}kt.Path=Nt;class Lt extends Nt{constructor(t,n){super(n==null?void 0:n.modelArr,n==null?void 0:n.contextArr),this.model=t}getModel(){return this.model}get(){var t;return(t=this.model)===null||t===void 0?void 0:t.get(this)}set(t){var n;(n=this.model)===null||n===void 0||n.set(this,t)}slice(t,n){return new Lt(this.model,super.slice(t,n))}shift(){return new Lt(this.model,super.shift())}pop(){return new Lt(this.model,super.pop())}push(t){return this.modelPush(t).contextPush(t)}modelPush(t){return new Lt(this.model,super.modelPush(t))}contextPush(t){return new Lt(this.model,super.contextPush(t))}copy(){return new Lt(this.model,super.copy())}}kt.ModelPath=Lt;var jn={};Object.defineProperty(jn,"__esModule",{value:!0});jn.Errors=void 0;class Ru{constructor(){this.errors=[]}add(t,n,...r){return this.errors.push({path:t,error:n,params:r}),!1}get(t,n=!1){return n?this.errors.filter(r=>r.path.equals(t)):this.errors.filter(r=>r.path.startsWith(t))}getAll(){return this.errors}clear(){this.errors=[]}count(){return this.errors.length}*[Symbol.iterator](){for(const t of this.errors)yield t}}jn.Errors=Ru;var St={};Object.defineProperty(St,"__esModule",{value:!0});St.hexId=St.quoteString=St.escapeString=void 0;function rl(e){return e.replace(/(\\|")/g,"\\$1")}St.escapeString=rl;function Pu(e){return`"${rl(e)}"`}St.quoteString=Pu;const $u=e=>("0"+e.toString(16)).substr(-2);function Du(e=12){var t=new Uint8Array(e/2);return window.crypto.getRandomValues(t),Array.from(t,$u).join("")}St.hexId=Du;Object.defineProperty(It,"__esModule",{value:!0});It.DataModel=void 0;const Bu=kt,_o=jn,Hi=St;class Is{constructor(t,n){var r,i,s,o;this.historyMax=(r=n==null?void 0:n.historyMax)!==null&&r!==void 0?r:50,this.verbose=(i=n==null?void 0:n.verbose)!==null&&i!==void 0?i:!1,this.wrapLists=(s=n==null?void 0:n.wrapLists)!==null&&s!==void 0?s:!1,this.schema=t;const a=(o=n==null?void 0:n.initialData)!==null&&o!==void 0?o:t.default();this.data=this.wrapLists?Is.wrapLists(a):a,this.listeners=[],this.errors=new _o.Errors,this.history=[JSON.stringify(this.data)],this.historyIndex=0}addListener(t){this.listeners.push(t)}removeListener(t){const n=this.listeners.indexOf(t);n>-1&&this.listeners.splice(n,1)}invalidate(){const t=JSON.stringify(this.data);this.history[this.historyIndex]!==t&&(this.historyIndex+=1,this.history.splice(this.historyIndex,this.historyMax,t),this.history.length>this.historyMax&&(this.history.splice(0,1),this.historyIndex-=1)),this.silentInvalidate()}silentInvalidate(){this.listeners.forEach(t=>{t.invalidated&&t.invalidated(this),t.errors&&t.errors(this.errors)})}reset(t,n){this.data=t,this.validate(n),this.invalidate()}get(t){let n=this.data;return t.forEach(r=>{if(n===void 0)return n;this.wrapLists&&typeof r=="number"?n=n[r].node:n=n[r]}),n}set(t,n,r){if(t.getArray().length===0){this.reset(n,!0);return}let i=this.data;t.pop().forEach(s=>{(i[s]===void 0||typeof i[s]=="string"||typeof i[s]=="number")&&(this.wrapLists&&typeof s=="number"?i[s]={node:{},id:(0,Hi.hexId)()}:i[s]={}),this.wrapLists&&typeof s=="number"?i=i[s].node:i=i[s]}),i!==null&&(n===void 0||typeof n=="number"&&isNaN(n)?typeof t.last()=="number"?i.splice(t.last(),1):delete i[t.last()]:this.wrapLists&&typeof t.last()=="number"?i[t.last()]={node:n,id:(0,Hi.hexId)()}:i[t.last()]=n,!r&&(this.verbose&&console.log("Set",t.toString(),JSON.stringify(n)),this.validate(!0),this.invalidate()))}undo(){this.historyIndex>0&&(this.historyIndex-=1,this.data=JSON.parse(this.history[this.historyIndex]),this.validate(!1),this.silentInvalidate())}redo(){this.historyIndex{s.errors&&s.errors(i)})}static wrapLists(t){if(Array.isArray(t)){const n=t.map(r=>({node:this.wrapLists(r),id:(0,Hi.hexId)()}));for(const r of Object.getOwnPropertySymbols(t))n[r]=t[r];return n}else if(typeof t=="object"&&t!==null){const n={};Object.entries(t).map(([r,i])=>{n[r]=this.wrapLists(i)});for(const r of Object.getOwnPropertySymbols(t))n[r]=t[r];return n}else return t}static unwrapLists(t){if(Array.isArray(t)){const n=t.map(r=>this.unwrapLists(r.node));for(const r of Object.getOwnPropertySymbols(t))n[r]=t[r];return n}else if(typeof t=="object"&&t!==null){const n={};Object.entries(t).map(([r,i])=>{n[r]=this.unwrapLists(i)});for(const r of Object.getOwnPropertySymbols(t))n[r]=t[r];return n}else return t}}It.DataModel=Is;var Ut={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.Keep=e.Opt=e.Has=e.Mod=e.Base=void 0,e.Base={type:()=>"base",category:()=>{},default:()=>{},enabled:()=>!0,keep:()=>!1,optional:()=>!1,navigate(){return this},pathPush:s=>s,suggest:()=>[],validate:(s,o)=>o,validationOption:()=>{},hook(s,o,...a){return s.base({node:this},o,...a)},canUpdate:()=>!1,update:()=>[]};const t=(s,o)=>J(J({},s),typeof o=="function"?o(s):o);e.Mod=t;const n=(s,o)=>(0,e.Mod)(o,{enabled:a=>a.push(s).get()!==void 0});e.Has=n;function r(s){return xe(J({},s),{optional:()=>!0})}e.Opt=r;function i(s){return xe(J({},s),{keep:()=>!0})}e.Keep=i})(Ut);var xi={};Object.defineProperty(xi,"__esModule",{value:!0});xi.BooleanNode=void 0;const Fu=It,zu=Ut,ju=()=>xe(J({},zu.Base),{type:()=>"boolean",default:()=>!1,suggest:()=>["false","true"],validate(e,t,n,r){return r.loose&&typeof t!="boolean"&&(t=r.wrapLists?Fu.DataModel.wrapLists(this.default()):this.default()),(typeof t!="boolean"||t===void 0)&&n.add(e,"error.expected_boolean"),t},hook(e,t,...n){var r;return((r=e.boolean)!==null&&r!==void 0?r:e.base).call(e,{node:this},t,...n)}});xi.BooleanNode=ju;var il={},yr={};Object.defineProperty(yr,"__esModule",{value:!0});yr.ListNode=void 0;const Vu=It,Hu=Ut,Uu=(e,t)=>{var n,r;const i=(n=t==null?void 0:t.minLength)!==null&&n!==void 0?n:0,s=(r=t==null?void 0:t.maxLength)!==null&&r!==void 0?r:1/0,o=(t==null?void 0:t.minLength)&&(t==null?void 0:t.maxLength);return xe(J({},Hu.Base),{type:()=>"list",default:()=>t!=null&&t.minLength?[...Array(i)].map(a=>e.default()):[],navigate(a,l){const u=l+1;return a.getArray().length<=u?this:e.navigate(a,u)},pathPush(a,l){return a.push(parseInt(l.toString())).contextPush("entry")},validate(a,l,u,c){if(c.loose&&!Array.isArray(l)&&(l=c.wrapLists?Vu.DataModel.wrapLists(this.default()):this.default()),Array.isArray(l))o&&(l.lengths)?i===s?u.add(a,"error.invalid_list_range.exact",l.length,i):u.add(a,"error.invalid_list_range.between",l.length,i,s):l.lengths&&u.add(a,"error.invalid_list_range.larger",l.length,s);else return u.add(a,"error.expected_list"),l;const d=l.map((f,p)=>{const m=e.validate(a.push(p),c.wrapLists?f.node:f,u,c);return c.wrapLists?{node:m,id:f.id}:m});for(const f of Object.getOwnPropertySymbols(l))d[f]=l[f];return d},hook(a,l,...u){var c;return((c=a.list)!==null&&c!==void 0?c:a.base).call(a,{node:this,children:e,config:t!=null?t:{}},l,...u)}})};yr.ListNode=Uu;var br={};Object.defineProperty(br,"__esModule",{value:!0});br.SwitchNode=void 0;const Gu=Ut,Yu=e=>xe(J({},Gu.Base),{type(t){return this.activeCase(t,!0).node.type(t)},category(t){return this.activeCase(t,!0).node.category(t)},default:()=>e[0].node.default(),navigate(t,n){var r;const i=n+1;return(r=this.activeCase(t.slice(0,i)))===null||r===void 0?void 0:r.node.navigate(t,n)},pathPush(t,n){var r,i;return(i=(r=this.activeCase(t))===null||r===void 0?void 0:r.node.pathPush(t,n))!==null&&i!==void 0?i:t},suggest(t,n){var r,i;return(i=(r=this.activeCase(t))===null||r===void 0?void 0:r.node.suggest(t,n))!==null&&i!==void 0?i:e.filter(s=>s.match(t)).map(s=>s.node.suggest(t,n)).reduce((s,o)=>s.concat(o))},validate(t,n,r,i){let s=this.activeCase(t);return s===void 0?n:s.node.validate(t,n,r,i)},validationOption(t){var n;return(n=this.activeCase(t))===null||n===void 0?void 0:n.node.validationOption(t)},activeCase(t,n){const r=(s,o)=>{var a,l;return((a=o.priority)!==null&&a!==void 0?a:0)-((l=s.priority)!==null&&l!==void 0?l:0)},i=e.filter(s=>s.match(t)).sort(r);return n&&i.length===0?e.sort(r)[0]:i.length>0?i[0]:void 0},hook(t,n,...r){return this.activeCase(n,!0).node.hook(t,n,...r)}});br.SwitchNode=Yu;(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.ObjectOrPreset=e.StringOrList=e.ObjectOrList=e.ChoiceNode=void 0;const t=yr,n=br,r=(o,a)=>{const l=(c,d)=>{if(c.match)return c.match(d);switch(c.type){case"list":return Array.isArray(d);case"object":return typeof d=="object"&&!Array.isArray(d);default:return typeof d===c.type}},u=(0,n.SwitchNode)(o.map(c=>({type:c.type,priority:c.priority,match:d=>l(c,d.get()),node:c.node})));return xe(J({},u),{validate(c,d,f,p){let m=u.activeCase(c,!0);return m.node.optional()?d:m.node.validate(c,d,f,p)},hook(c,d,...f){var p;return((p=c.choice)!==null&&p!==void 0?p:c.base).call(c,{node:this,choices:o,config:a!=null?a:{},switchNode:u},d,...f)}})};e.ChoiceNode=r;const i=o=>(a,l)=>(0,e.ChoiceNode)([{type:o,node:a,change:u=>{var c;return(c=u[0])!==null&&c!==void 0?c:a.default()}},{type:"list",node:(0,t.ListNode)(a),change:u=>u?[u]:[]}],l);e.ObjectOrList=i("object"),e.StringOrList=i("string");const s=(o,a,l)=>(0,e.ChoiceNode)([{type:"string",priority:1,node:o,change:u=>Object.keys(l)[0]},{type:"object",node:a,change:u=>{var c;return(c=l[u])!==null&&c!==void 0?c:l[Object.keys(l)[0]]}}]);e.ObjectOrPreset=s})(il);var Ai={};Object.defineProperty(Ai,"__esModule",{value:!0});Ai.MapNode=void 0;const Wu=Ut,qu=It,Zu=(e,t,n)=>xe(J({},Wu.Base),{type:()=>"map",default:()=>({}),navigate(r,i){const s=i+1;return r.getArray().length<=s?this:t.navigate(r,s)},pathPush(r,i){return r.modelPush(i)},suggest:r=>e.suggest(r,""),validate(r,i,s,o){if(o.loose&&typeof i!="object"&&(i=o.wrapLists?qu.DataModel.wrapLists(this.default()):this.default()),i===null||typeof i!="object")return s.add(r,"error.expected_object"),i;const a={};Object.keys(i).forEach(l=>{e.validate(r,l,s,o),a[l]=t.validate(r.push(l),i[l],s,o)});for(const l of Object.getOwnPropertySymbols(i))a[l]=i[l];return a},validationOption(r){var i;return(i=n==null?void 0:n.validation)!==null&&i!==void 0?i:e.validationOption(r.push(""))},hook(r,i,...s){var o;return((o=r.map)!==null&&o!==void 0?o:r.base).call(r,{node:this,keys:e,children:t,config:n!=null?n:{}},i,...s)}});Ai.MapNode=Zu;var sl={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.NumberEnum=e.NumberNode=void 0;const t=B,n=It,r=Ut,i=o=>{var a,l,u;const c=o!=null&&o.color?!0:(a=o==null?void 0:o.integer)!==null&&a!==void 0?a:!1,d=o!=null&&o.color?0:(l=o==null?void 0:o.min)!==null&&l!==void 0?l:-1/0,f=o!=null&&o.color?16777215:(u=o==null?void 0:o.max)!==null&&u!==void 0?u:1/0,p=(o==null?void 0:o.min)!==void 0&&(o==null?void 0:o.max)!==void 0;return xe(J({},r.Base),{type:()=>"number",default:()=>d>0?d:0,validate(m,v,g,_){return _.loose&&typeof v!="number"&&(v=_.wrapLists?n.DataModel.wrapLists(this.default()):this.default()),typeof v!="number"?g.add(m,"error.expected_number"):c&&!Number.isInteger(v)?g.add(m,"error.expected_integer"):p&&(vf)?g.add(m,"error.invalid_number_range.between",v,d,f):vf&&g.add(m,"error.invalid_number_range.larger",v,f),v},hook(m,v,...g){var _;return((_=m.number)!==null&&_!==void 0?_:m.base).call(m,{node:this,integer:c,min:d,max:f,between:p,config:o!=null?o:{}},v,...g)}})};e.NumberNode=i;const s=({integer:o,values:a})=>(0,t.Mod)((0,e.NumberNode)({integer:o}),l=>({validate:(u,c,d,f)=>(c=l.validate(u,c,d,f),a.includes(c)||d.add(u,"error.invalid_number_enum",a.join(", ")),c)}));e.NumberEnum=s})(sl);var ol={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.ObjectNode=e.Case=e.Switch=void 0;const t=Ut,n=kt,r=jn,i=St,s=It;e.Switch=Symbol("switch"),e.Case=Symbol("case");const o=(a,l)=>{var m,v;const g=a,{[m=e.Switch]:u,[v=e.Case]:c}=g,d=ro(g,[Vi(m),Vi(v)]),f=_=>{if(u===void 0)return d;const y=(0,n.relativePath)(_,u).get(),w=c[y];return J(J({},d),w)},p=(_,y)=>{var w;const b=u?(0,n.relativePath)(_,u).get():void 0,A=u?(w=c[b])!==null&&w!==void 0?w:{}:{},k=Object.keys(A),C=l!=null&&l.context?new n.ModelPath(_.getModel(),new n.Path(_.getArray(),[l.context])):_;return(!(l!=null&&l.disableSwitchContext)&&b&&k.includes(y)?C.contextPush(b):C).push(y)};return xe(J({},t.Base),{type:()=>"object",category:()=>l==null?void 0:l.category,default:()=>({}),keep(){return this.optional()},navigate(_,y){const w=y+1,b=_.getArray();if(b.length<=w)return this;const k=f(_.slice(0,w))[b[w]];return k==null?void 0:k.navigate(_,w)},pathPush(_,y){return p(_,y.toString())},suggest(_,y){const w=f(_),b=Object.keys(typeof y=="object"?y:{});return Object.keys(w).filter(A=>w[A].enabled(_)).filter(A=>!b.includes(A)).map(i.quoteString)},validate(_,y,w,b){if(b.loose&&typeof y!="object"&&(y=b.wrapLists?s.DataModel.wrapLists(this.default()):this.default()),typeof y!="object"||y===null)return w.add(_,"error.expected_object"),y;let A=d;if(u){const O=(0,n.relativePath)(_,u);let L=O.get();if(_.equals(O.pop())){const D=O.last();L=d[D].validate(_.push(D),y[D],new r.Errors,b)}A=J(J({},A),c[L])}const k=Object.keys(A),C=k.filter(O=>!A[O].optional()),S=new Set([...C,...Object.keys(y)]),M={};S.forEach(O=>{if(k.includes(O)){if(!A[O].enabled(_))return;const L=A[O].validate(_.push(O),y[O],w,b);!A[O].keep()&&A[O].optional()&&(L===void 0||Array.isArray(L)&&L.length===0||L.constructor===Object&&Object.keys(L).length===0)?delete M[O]:(M[O]=L,_.getModel().set(_.push(O),L,!0))}else M[O]=y[O]});for(const O of Object.getOwnPropertySymbols(y))M[O]=y[O];return M},hook(_,y,...w){var b;return((b=_.object)!==null&&b!==void 0?b:_.base).call(_,{node:this,fields:d,config:l!=null?l:{},filter:u,cases:c,getActiveFields:f,getChildModelPath:p},y,...w)}})};e.ObjectNode=o})(ol);var ki={};Object.defineProperty(ki,"__esModule",{value:!0});ki.Reference=void 0;const Xu=(e,t)=>({type(n){return e.get(t).type.bind(this)(n)},category(n){return e.get(t).category.bind(this)(n)},default(){return e.get(t).default.bind(this)()},transform(n,r){return e.get(t).transform(n,r)},enabled(n){return e.get(t).enabled.bind(this)(n)},keep(){return e.get(t).keep.bind(this)()},optional(){return e.get(t).optional.bind(this)()},navigate(n,r){return e.get(t).navigate.bind(this)(n,r)},pathPush(n,r){return e.get(t).pathPush.bind(this)(n,r)},suggest(n,r){return e.get(t).suggest.bind(this)(n,r)},validate(n,r,i,s){return e.get(t).validate.bind(this)(n,r,i,s)},validationOption(n){return e.get(t).validationOption.bind(this)(n)},hook(n,r,...i){return e.get(t).hook.bind(this)(n,r,...i)},activeCase(n,r){return e.get(t).activeCase.bind(this)(n,r)},canUpdate(n,r){return e.get(t).canUpdate.bind(this)(n,r)},update(n,r){return e.get(t).update.bind(this)(n,r)}});ki.Reference=Xu;var Si={};Object.defineProperty(Si,"__esModule",{value:!0});Si.StringNode=void 0;const Ju=Ut,Ku=St,Qu=It,vo=e=>!!(e!=null&&e.enum),wo=e=>!!(e!=null&&e.validator),ed=(e,t)=>{const n=()=>{var r,i,s,o;if(vo(t))return typeof t.enum=="string"?(r=e==null?void 0:e.get(t.enum))!==null&&r!==void 0?r:[]:t.enum;if((t==null?void 0:t.validator)==="resource"){if(typeof t.params.pool=="string"){if(t.params.requireTag)return(i=e==null?void 0:e.get(`tag/${t.params.pool}`).map(l=>`#${l}`))!==null&&i!==void 0?i:[];const a=t.params.pool.replace(/^\$/,"");return[...t.params.allowTag?(s=e==null?void 0:e.get(`tag/${a}`).map(l=>`#${l}`))!==null&&s!==void 0?s:[]:[],...(o=e==null?void 0:e.get(a))!==null&&o!==void 0?o:[]]}return t.params.pool}return[]};return xe(J({},Ju.Base),{type:()=>"string",default:()=>"",validate(r,i,s,o){if(o.loose&&typeof i!="string"&&(i=(o.wrapLists?Qu.DataModel.wrapLists(this.default()):this.default())||void 0),typeof i!="string")return s.add(r,"error.expected_string"),i;if(wo(t)){if(t.validator==="resource"&&i.length>0&&!i.includes(":")&&(i=i.startsWith("#")?"#minecraft:"+i.slice(1):"minecraft:"+i),t.validator==="resource"&&typeof i=="string"){let l=i;if(i.startsWith("#")){if(typeof t.params.pool=="string"&&t.params.pool.startsWith("$tag/"))return s.add(r,"error.disallowed_tag_prefix"),i;if(!t.params.allowTag&&!t.params.requireTag)return s.add(r,"error.disallowed_tag"),i;l=l.slice(1)}else if(t.params.requireTag)return s.add(r,"error.expected_tag"),i;if(!l.match(/^(?:[_\-a-z0-9.]*:)?[_\-a-z0-9/.]*$/g))return s.add(r,"error.invalid_resource_location"),i}if(t.validator==="resource"&&(typeof t.params.pool=="string"&&t.params.pool.startsWith("$")||(t.params.allowTag||t.params.requireTag)&&i.startsWith("#")||t.params.isDefinition||t.params.allowUnknown))return i}if(vo(t)&&t.additional)return i;const a=n();return a.length>0&&!a.includes(i)&&s.add(r,"error.invalid_enum_option",i),i},suggest:()=>n().map(Ku.quoteString),validationOption(){return wo(t)?t:void 0},hook(r,i,...s){var o;return((o=r.string)!==null&&o!==void 0?o:r.base).call(r,{node:this,getValues:n,config:t},i,...s)}})};Si.StringNode=ed;var al={};Object.defineProperty(al,"__esModule",{value:!0});var Tn={};Object.defineProperty(Tn,"__esModule",{value:!0});Tn.CollectionRegistry=Tn.SchemaRegistry=void 0;class td{constructor(){this.registry={}}register(t,n){this.registry[t]=n}get(t){const n=this.registry[t];return n===void 0&&console.error(`Tried to access schema "${t}", but that doesn't exist.`),n}}Tn.SchemaRegistry=td;class nd{constructor(){this.registry={}}register(t,n){this.registry[t]=n}get(t){const n=this.registry[t];return n===void 0&&console.warn(`Tried to access collection "${t}", but that doesn't exist.`),n!=null?n:[]}}Tn.CollectionRegistry=nd;var ll={};Object.defineProperty(ll,"__esModule",{value:!0});(function(e){var t=Pr&&Pr.__createBinding||(Object.create?function(r,i,s,o){o===void 0&&(o=s);var a=Object.getOwnPropertyDescriptor(i,s);(!a||("get"in a?!i.__esModule:a.writable||a.configurable))&&(a={enumerable:!0,get:function(){return i[s]}}),Object.defineProperty(r,o,a)}:function(r,i,s,o){o===void 0&&(o=s),r[o]=i[s]}),n=Pr&&Pr.__exportStar||function(r,i){for(var s in r)s!=="default"&&!Object.prototype.hasOwnProperty.call(i,s)&&t(i,r,s)};Object.defineProperty(e,"__esModule",{value:!0}),n(It,e),n(kt,e),n(jn,e),n(Ut,e),n(xi,e),n(il,e),n(yr,e),n(Ai,e),n(sl,e),n(ol,e),n(ki,e),n(Si,e),n(br,e),n(al,e),n(Tn,e),n(ll,e)})(B);var Ce={},xr={},ut={};function cl(e){return typeof e=="undefined"||e===null}function rd(e){return typeof e=="object"&&e!==null}function id(e){return Array.isArray(e)?e:cl(e)?[]:[e]}function sd(e,t){var n,r,i,s;if(t)for(s=Object.keys(t),n=0,r=s.length;n0&&`\0\r -\x85\u2028\u2029`.indexOf(this.buffer.charAt(i-1))===-1;)if(i-=1,this.position-i>n/2-1){r=" ... ",i+=5;break}for(s="",o=this.position;on/2-1){s=" ... ",o-=5;break}return a=this.buffer.slice(i,o),yo.repeat(" ",t)+r+a+s+` -`+yo.repeat(" ",t+this.position-i+r.length)+"^"};Cs.prototype.toString=function(t){var n,r="";return this.name&&(r+='in "'+this.name+'" '),r+="at line "+(this.line+1)+", column "+(this.column+1),t||(n=this.getSnippet(),n&&(r+=`: -`+n)),r};var ld=Cs,bo=Ar,cd=["kind","resolve","construct","instanceOf","predicate","represent","defaultStyle","styleAliases"],ud=["scalar","sequence","mapping"];function dd(e){var t={};return e!==null&&Object.keys(e).forEach(function(n){e[n].forEach(function(r){t[String(r)]=n})}),t}function hd(e,t){if(t=t||{},Object.keys(t).forEach(function(n){if(cd.indexOf(n)===-1)throw new bo('Unknown option "'+n+'" is met in definition of "'+e+'" YAML type.')}),this.tag=e,this.kind=t.kind||null,this.resolve=t.resolve||function(){return!0},this.construct=t.construct||function(n){return n},this.instanceOf=t.instanceOf||null,this.predicate=t.predicate||null,this.represent=t.represent||null,this.defaultStyle=t.defaultStyle||null,this.styleAliases=dd(t.styleAliases||null),ud.indexOf(this.kind)===-1)throw new bo('Unknown kind "'+this.kind+'" is specified for "'+e+'" YAML type.')}var De=hd,xo=ut,Gr=Ar,fd=De;function as(e,t,n){var r=[];return e.include.forEach(function(i){n=as(i,t,n)}),e[t].forEach(function(i){n.forEach(function(s,o){s.tag===i.tag&&s.kind===i.kind&&r.push(o)}),n.push(i)}),n.filter(function(i,s){return r.indexOf(s)===-1})}function pd(){var e={scalar:{},sequence:{},mapping:{},fallback:{}},t,n;function r(i){e[i.kind][i.tag]=e.fallback[i.tag]=i}for(t=0,n=arguments.length;t=0?"0b"+e.toString(2):"-0b"+e.toString(2).slice(1)},octal:function(e){return e>=0?"0"+e.toString(8):"-0"+e.toString(8).slice(1)},decimal:function(e){return e.toString(10)},hexadecimal:function(e){return e>=0?"0x"+e.toString(16).toUpperCase():"-0x"+e.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}}),ul=ut,jd=De,Vd=new RegExp("^(?:[-+]?(?:0|[1-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\.[0-9_]*|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function Hd(e){return!(e===null||!Vd.test(e)||e[e.length-1]==="_")}function Ud(e){var t,n,r,i;return t=e.replace(/_/g,"").toLowerCase(),n=t[0]==="-"?-1:1,i=[],"+-".indexOf(t[0])>=0&&(t=t.slice(1)),t===".inf"?n===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:t===".nan"?NaN:t.indexOf(":")>=0?(t.split(":").forEach(function(s){i.unshift(parseFloat(s,10))}),t=0,r=1,i.forEach(function(s){t+=s*r,r*=60}),n*t):n*parseFloat(t,10)}var Gd=/^[-+]?[0-9]+e/;function Yd(e,t){var n;if(isNaN(e))switch(t){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===e)switch(t){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===e)switch(t){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(ul.isNegativeZero(e))return"-0.0";return n=e.toString(10),Gd.test(n)?n.replace("e",".e"):n}function Wd(e){return Object.prototype.toString.call(e)==="[object Number]"&&(e%1!==0||ul.isNegativeZero(e))}var qd=new jd("tag:yaml.org,2002:float",{kind:"scalar",resolve:Hd,construct:Ud,predicate:Wd,represent:Yd,defaultStyle:"lowercase"}),Zd=Vn,dl=new Zd({include:[Ms],implicit:[Ed,Td,zd,qd]}),Xd=Vn,hl=new Xd({include:[dl]}),Jd=De,fl=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),pl=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");function Kd(e){return e===null?!1:fl.exec(e)!==null||pl.exec(e)!==null}function Qd(e){var t,n,r,i,s,o,a,l=0,u=null,c,d,f;if(t=fl.exec(e),t===null&&(t=pl.exec(e)),t===null)throw new Error("Date resolve error");if(n=+t[1],r=+t[2]-1,i=+t[3],!t[4])return new Date(Date.UTC(n,r,i));if(s=+t[4],o=+t[5],a=+t[6],t[7]){for(l=t[7].slice(0,3);l.length<3;)l+="0";l=+l}return t[9]&&(c=+t[10],d=+(t[11]||0),u=(c*60+d)*6e4,t[9]==="-"&&(u=-u)),f=new Date(Date.UTC(n,r,i,s,o,a,l)),u&&f.setTime(f.getTime()-u),f}function eh(e){return e.toISOString()}var th=new Jd("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:Kd,construct:Qd,instanceOf:Date,represent:eh}),nh=De;function rh(e){return e==="<<"||e===null}var ih=new nh("tag:yaml.org,2002:merge",{kind:"scalar",resolve:rh}),Qt;try{var sh=nl;Qt=sh("buffer").Buffer}catch{}var oh=De,Os=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/= -\r`;function ah(e){if(e===null)return!1;var t,n,r=0,i=e.length,s=Os;for(n=0;n64)){if(t<0)return!1;r+=6}return r%8===0}function lh(e){var t,n,r=e.replace(/[\r\n=]/g,""),i=r.length,s=Os,o=0,a=[];for(t=0;t>16&255),a.push(o>>8&255),a.push(o&255)),o=o<<6|s.indexOf(r.charAt(t));return n=i%4*6,n===0?(a.push(o>>16&255),a.push(o>>8&255),a.push(o&255)):n===18?(a.push(o>>10&255),a.push(o>>2&255)):n===12&&a.push(o>>4&255),Qt?Qt.from?Qt.from(a):new Qt(a):a}function ch(e){var t="",n=0,r,i,s=e.length,o=Os;for(r=0;r>18&63],t+=o[n>>12&63],t+=o[n>>6&63],t+=o[n&63]),n=(n<<8)+e[r];return i=s%3,i===0?(t+=o[n>>18&63],t+=o[n>>12&63],t+=o[n>>6&63],t+=o[n&63]):i===2?(t+=o[n>>10&63],t+=o[n>>4&63],t+=o[n<<2&63],t+=o[64]):i===1&&(t+=o[n>>2&63],t+=o[n<<4&63],t+=o[64],t+=o[64]),t}function uh(e){return Qt&&Qt.isBuffer(e)}var dh=new oh("tag:yaml.org,2002:binary",{kind:"scalar",resolve:ah,construct:lh,predicate:uh,represent:ch}),hh=De,fh=Object.prototype.hasOwnProperty,ph=Object.prototype.toString;function mh(e){if(e===null)return!0;var t=[],n,r,i,s,o,a=e;for(n=0,r=a.length;n3||t[t.length-r.length-1]!=="/"))}function Dh(e){var t=e,n=/\/([gim]*)$/.exec(e),r="";return t[0]==="/"&&(n&&(r=n[1]),t=t.slice(1,t.length-r.length-1)),new RegExp(t,r)}function Bh(e){var t="/"+e.source+"/";return e.global&&(t+="g"),e.multiline&&(t+="m"),e.ignoreCase&&(t+="i"),t}function Fh(e){return Object.prototype.toString.call(e)==="[object RegExp]"}var zh=new Ph("tag:yaml.org,2002:js/regexp",{kind:"scalar",resolve:$h,construct:Dh,predicate:Fh,represent:Bh}),si;try{var jh=nl;si=jh("esprima")}catch{typeof window!="undefined"&&(si=window.esprima)}var Vh=De;function Hh(e){if(e===null)return!1;try{var t="("+e+")",n=si.parse(t,{range:!0});return!(n.type!=="Program"||n.body.length!==1||n.body[0].type!=="ExpressionStatement"||n.body[0].expression.type!=="ArrowFunctionExpression"&&n.body[0].expression.type!=="FunctionExpression")}catch{return!1}}function Uh(e){var t="("+e+")",n=si.parse(t,{range:!0}),r=[],i;if(n.type!=="Program"||n.body.length!==1||n.body[0].type!=="ExpressionStatement"||n.body[0].expression.type!=="ArrowFunctionExpression"&&n.body[0].expression.type!=="FunctionExpression")throw new Error("Failed to resolve function");return n.body[0].expression.params.forEach(function(s){r.push(s.name)}),i=n.body[0].expression.body.range,n.body[0].expression.body.type==="BlockStatement"?new Function(r,t.slice(i[0]+1,i[1]-1)):new Function(r,"return "+t.slice(i[0],i[1]))}function Gh(e){return e.toString()}function Yh(e){return Object.prototype.toString.call(e)==="[object Function]"}var Wh=new Vh("tag:yaml.org,2002:js/function",{kind:"scalar",resolve:Hh,construct:Uh,predicate:Yh,represent:Gh}),Ao=Vn,Ei=Ao.DEFAULT=new Ao({include:[kr],explicit:[Rh,zh,Wh]}),Pt=ut,ml=Ar,qh=ld,gl=kr,Zh=Ei,Zt=Object.prototype.hasOwnProperty,oi=1,_l=2,vl=3,ai=4,Ui=1,Xh=2,ko=3,Jh=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,Kh=/[\x85\u2028\u2029]/,Qh=/[,\[\]\{\}]/,wl=/^(?:!|!!|![a-z\-]+!)$/i,yl=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;function So(e){return Object.prototype.toString.call(e)}function Et(e){return e===10||e===13}function tn(e){return e===9||e===32}function Je(e){return e===9||e===32||e===10||e===13}function bn(e){return e===44||e===91||e===93||e===123||e===125}function ef(e){var t;return 48<=e&&e<=57?e-48:(t=e|32,97<=t&&t<=102?t-97+10:-1)}function tf(e){return e===120?2:e===117?4:e===85?8:0}function nf(e){return 48<=e&&e<=57?e-48:-1}function Eo(e){return e===48?"\0":e===97?"\x07":e===98?"\b":e===116||e===9?" ":e===110?` -`:e===118?"\v":e===102?"\f":e===114?"\r":e===101?"\x1B":e===32?" ":e===34?'"':e===47?"/":e===92?"\\":e===78?"\x85":e===95?"\xA0":e===76?"\u2028":e===80?"\u2029":""}function rf(e){return e<=65535?String.fromCharCode(e):String.fromCharCode((e-65536>>10)+55296,(e-65536&1023)+56320)}var bl=new Array(256),xl=new Array(256);for(var mn=0;mn<256;mn++)bl[mn]=Eo(mn)?1:0,xl[mn]=Eo(mn);function sf(e,t){this.input=e,this.filename=t.filename||null,this.schema=t.schema||Zh,this.onWarning=t.onWarning||null,this.legacy=t.legacy||!1,this.json=t.json||!1,this.listener=t.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=e.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.documents=[]}function Al(e,t){return new ml(t,new qh(e.filename,e.input,e.position,e.line,e.position-e.lineStart))}function Z(e,t){throw Al(e,t)}function li(e,t){e.onWarning&&e.onWarning.call(null,Al(e,t))}var Io={YAML:function(t,n,r){var i,s,o;t.version!==null&&Z(t,"duplication of %YAML directive"),r.length!==1&&Z(t,"YAML directive accepts exactly one argument"),i=/^([0-9]+)\.([0-9]+)$/.exec(r[0]),i===null&&Z(t,"ill-formed argument of the YAML directive"),s=parseInt(i[1],10),o=parseInt(i[2],10),s!==1&&Z(t,"unacceptable YAML version of the document"),t.version=r[0],t.checkLineBreaks=o<2,o!==1&&o!==2&&li(t,"unsupported YAML version of the document")},TAG:function(t,n,r){var i,s;r.length!==2&&Z(t,"TAG directive accepts exactly two arguments"),i=r[0],s=r[1],wl.test(i)||Z(t,"ill-formed tag handle (first argument) of the TAG directive"),Zt.call(t.tagMap,i)&&Z(t,'there is a previously declared suffix for "'+i+'" tag handle'),yl.test(s)||Z(t,"ill-formed tag prefix (second argument) of the TAG directive"),t.tagMap[i]=s}};function Wt(e,t,n,r){var i,s,o,a;if(t1&&(e.result+=Pt.repeat(` -`,t-1))}function of(e,t,n){var r,i,s,o,a,l,u,c,d=e.kind,f=e.result,p;if(p=e.input.charCodeAt(e.position),Je(p)||bn(p)||p===35||p===38||p===42||p===33||p===124||p===62||p===39||p===34||p===37||p===64||p===96||(p===63||p===45)&&(i=e.input.charCodeAt(e.position+1),Je(i)||n&&bn(i)))return!1;for(e.kind="scalar",e.result="",s=o=e.position,a=!1;p!==0;){if(p===58){if(i=e.input.charCodeAt(e.position+1),Je(i)||n&&bn(i))break}else if(p===35){if(r=e.input.charCodeAt(e.position-1),Je(r))break}else{if(e.position===e.lineStart&&Ii(e)||n&&bn(p))break;if(Et(p))if(l=e.line,u=e.lineStart,c=e.lineIndent,Oe(e,!1,-1),e.lineIndent>=t){a=!0,p=e.input.charCodeAt(e.position);continue}else{e.position=o,e.line=l,e.lineStart=u,e.lineIndent=c;break}}a&&(Wt(e,s,o,!1),Ns(e,e.line-l),s=o=e.position,a=!1),tn(p)||(o=e.position+1),p=e.input.charCodeAt(++e.position)}return Wt(e,s,o,!1),e.result?!0:(e.kind=d,e.result=f,!1)}function af(e,t){var n,r,i;if(n=e.input.charCodeAt(e.position),n!==39)return!1;for(e.kind="scalar",e.result="",e.position++,r=i=e.position;(n=e.input.charCodeAt(e.position))!==0;)if(n===39)if(Wt(e,r,e.position,!0),n=e.input.charCodeAt(++e.position),n===39)r=e.position,e.position++,i=e.position;else return!0;else Et(n)?(Wt(e,r,i,!0),Ns(e,Oe(e,!1,t)),r=i=e.position):e.position===e.lineStart&&Ii(e)?Z(e,"unexpected end of the document within a single quoted scalar"):(e.position++,i=e.position);Z(e,"unexpected end of the stream within a single quoted scalar")}function lf(e,t){var n,r,i,s,o,a;if(a=e.input.charCodeAt(e.position),a!==34)return!1;for(e.kind="scalar",e.result="",e.position++,n=r=e.position;(a=e.input.charCodeAt(e.position))!==0;){if(a===34)return Wt(e,n,e.position,!0),e.position++,!0;if(a===92){if(Wt(e,n,e.position,!0),a=e.input.charCodeAt(++e.position),Et(a))Oe(e,!1,t);else if(a<256&&bl[a])e.result+=xl[a],e.position++;else if((o=tf(a))>0){for(i=o,s=0;i>0;i--)a=e.input.charCodeAt(++e.position),(o=ef(a))>=0?s=(s<<4)+o:Z(e,"expected hexadecimal character");e.result+=rf(s),e.position++}else Z(e,"unknown escape sequence");n=r=e.position}else Et(a)?(Wt(e,n,r,!0),Ns(e,Oe(e,!1,t)),n=r=e.position):e.position===e.lineStart&&Ii(e)?Z(e,"unexpected end of the document within a double quoted scalar"):(e.position++,r=e.position)}Z(e,"unexpected end of the stream within a double quoted scalar")}function cf(e,t){var n=!0,r,i=e.tag,s,o=e.anchor,a,l,u,c,d,f={},p,m,v,g;if(g=e.input.charCodeAt(e.position),g===91)l=93,d=!1,s=[];else if(g===123)l=125,d=!0,s={};else return!1;for(e.anchor!==null&&(e.anchorMap[e.anchor]=s),g=e.input.charCodeAt(++e.position);g!==0;){if(Oe(e,!0,t),g=e.input.charCodeAt(e.position),g===l)return e.position++,e.tag=i,e.anchor=o,e.kind=d?"mapping":"sequence",e.result=s,!0;n||Z(e,"missed comma between flow collection entries"),m=p=v=null,u=c=!1,g===63&&(a=e.input.charCodeAt(e.position+1),Je(a)&&(u=c=!0,e.position++,Oe(e,!0,t))),r=e.line,Nn(e,t,oi,!1,!0),m=e.tag,p=e.result,Oe(e,!0,t),g=e.input.charCodeAt(e.position),(c||e.line===r)&&g===58&&(u=!0,g=e.input.charCodeAt(++e.position),Oe(e,!0,t),Nn(e,t,oi,!1,!0),v=e.result),d?xn(e,s,f,m,p,v):u?s.push(xn(e,null,f,m,p,v)):s.push(p),Oe(e,!0,t),g=e.input.charCodeAt(e.position),g===44?(n=!0,g=e.input.charCodeAt(++e.position)):n=!1}Z(e,"unexpected end of the stream within a flow collection")}function uf(e,t){var n,r,i=Ui,s=!1,o=!1,a=t,l=0,u=!1,c,d;if(d=e.input.charCodeAt(e.position),d===124)r=!1;else if(d===62)r=!0;else return!1;for(e.kind="scalar",e.result="";d!==0;)if(d=e.input.charCodeAt(++e.position),d===43||d===45)Ui===i?i=d===43?ko:Xh:Z(e,"repeat of a chomping mode identifier");else if((c=nf(d))>=0)c===0?Z(e,"bad explicit indentation width of a block scalar; it cannot be less than one"):o?Z(e,"repeat of an indentation width identifier"):(a=t+c-1,o=!0);else break;if(tn(d)){do d=e.input.charCodeAt(++e.position);while(tn(d));if(d===35)do d=e.input.charCodeAt(++e.position);while(!Et(d)&&d!==0)}for(;d!==0;){for(Ts(e),e.lineIndent=0,d=e.input.charCodeAt(e.position);(!o||e.lineIndenta&&(a=e.lineIndent),Et(d)){l++;continue}if(e.lineIndentt in e?lu(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,J=(e,t)=>{for(var n in t||(t={}))ns.call(t,n)&&ts(e,n,t[n]);if(Rr)for(var n of Rr(t))rs.call(t,n)&&ts(e,n,t[n]);return e},xe=(e,t)=>cu(e,uu(t));var Vi=e=>typeof e=="symbol"?e:e+"",is=(e,t)=>{var n={};for(var r in e)ns.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Rr)for(var r of Rr(e))t.indexOf(r)<0&&rs.call(e,r)&&(n[r]=e[r]);return n};const du=function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))r(i);new MutationObserver(i=>{for(const o of i)if(o.type==="childList")for(const s of o.addedNodes)s.tagName==="LINK"&&s.rel==="modulepreload"&&r(s)}).observe(document,{childList:!0,subtree:!0});function n(i){const o={};return i.integrity&&(o.integrity=i.integrity),i.referrerpolicy&&(o.referrerPolicy=i.referrerpolicy),i.crossorigin==="use-credentials"?o.credentials="include":i.crossorigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function r(i){if(i.ep)return;i.ep=!0;const o=n(i);fetch(i.href,o)}};du();var U,Qn,Ra,os,Pa,ni={},So=[],hu=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i;function Dt(e,t){for(var n in t)e[n]=t[n];return e}function $a(e){var t=e.parentNode;t&&t.removeChild(e)}function h(e,t,n){var r,i,o,s=arguments,a={};for(o in t)o=="key"?r=t[o]:o=="ref"?i=t[o]:a[o]=t[o];if(arguments.length>3)for(n=[n],o=3;o0?er(p.type,p.props,p.key,null,p.__v):p)!=null){if(p.__=n,p.__b=n.__b+1,(f=_[c])===null||f&&p.key==f.key&&p.type===f.type)_[c]=void 0;else for(d=0;d3)for(n=[n],o=3;ot.rank?-1:e.index-t.index}function wu(e,t){return e.index=t,e.rank=xu(e),e.props}function ro(e){return e.replace(/(^\/+|\/+$)/g,"").split("/")}function yu(e){return e.charAt(0)==":"?1+"*+?".indexOf(e.charAt(e.length-1))||4:5}function bu(e){return ro(e).map(yu).join("")}function xu(e){return e.props.default?0:bu(e.props.path)}var nt=null,en=[],io=[],Au={};function ku(e,t){t===void 0&&(t="push"),nt&&nt[t]?nt[t](e):typeof history!="undefined"&&history[t+"State"]&&history[t+"State"](null,null,e)}function Mn(){var e;return nt&&nt.location?e=nt.location:nt&&nt.getCurrentLocation?e=nt.getCurrentLocation():e=typeof location!="undefined"?location:Au,""+(e.pathname||"")+(e.search||"")}function qt(e,t){return t===void 0&&(t=!1),typeof e!="string"&&e.url&&(t=e.replace,e=e.url),Su(e)&&ku(e,t?"replace":"push"),qa(e)}function Su(e){for(var t=en.length;t--;)if(en[t].canRoute(e))return!0;return!1}function qa(e){for(var t=!1,n=0;n0},t.prototype.routeTo=function(r){this.setState({url:r});var i=this.canRoute(r);return this.updating||this.forceUpdate(),i},t.prototype.componentWillMount=function(){en.push(this),this.updating=!0},t.prototype.componentDidMount=function(){var r=this;nt&&(this.unlisten=nt.listen(function(i){r.routeTo(""+(i.pathname||"")+(i.search||""))})),this.updating=!1},t.prototype.componentWillUnmount=function(){typeof this.unlisten=="function"&&this.unlisten(),en.splice(en.indexOf(this),1)},t.prototype.componentWillUpdate=function(){this.updating=!0},t.prototype.componentDidUpdate=function(){this.updating=!1},t.prototype.getMatchingChildren=function(r,i,o){return r.filter(wu).sort(vu).map(function(s){var a=Wa(i,s.props.path,s.props);if(a){if(o!==!1){var l={url:i,matches:a};return Ya(l,a),delete l.ref,delete l.key,Ga(s,l)}return s}}).filter(Boolean)},t.prototype.render=function(r,i){var o=r.children,s=r.onChange,a=i.url,l=this.getMatchingChildren(gt(o),a,!0),u=l[0]||null,c=this.previousUrl;return a!==c&&(this.previousUrl=a,typeof s=="function"&&s({router:this,url:a,previous:c,active:l,current:u})),u},t}(mt),Ja=function(e){return h("a",Ya({onClick:Eu},e))},Mu=function(e){return h(e.component,e)};Ft.subscribers=io;Ft.getCurrentUrl=Mn;Ft.route=qt;Ft.Router=Ft;Ft.Route=Mu;Ft.Link=Ja;Ft.exec=Wa;var _e;(e=>{const t="Site",n="Generator";function l(C,y,E){ga("send","event",C,y,E)}function u(C,y){ga("set",`dimension${C}`,y)}function c(C){ga("set","page",C),ga("send","pageview")}e.pageview=c;function d(C,y){l(n,C,y)}e.generatorEvent=d;function f(C){return C==="menu"?"Menu":"Hotkey"}function p(C){u(4,C),gtag("event","use_locale",{locale:C})}e.setLocale=p;function m(C,y){p(y),l(t,"set-language",y),gtag("event","change_locale",{prev_locale:C})}e.changeLocale=m;function v(C){u(1,C),gtag("set",{theme:C})}e.setTheme=v;function g(C,y){v(y),l(t,"set-theme",y),gtag("event","change_theme",{prev_theme:C})}e.changeTheme=g;function _(C){u(3,C),gtag("set",{version:C})}e.setVersion=_;function b(C,y){_(y),l(n,"set-version",y),gtag("event","change_version",{prev_version:C})}e.changeVersion=b;function w(C){u(6,C),gtag("event","use_generator",{file_type:C})}e.setGenerator=w;function x(C){u(7,C),gtag("set",{prefers_color_scheme:C})}e.setPrefersColorScheme=x;function A(C,y,E){l(n,"reset"),gtag("event","reset_generator",{file_type:C,history:y,method:E})}e.resetGenerator=A;function k(C,y,E){l(n,"undo",f(E)),gtag("event","undo_generator",{file_type:C,history:y,method:E})}e.undoGenerator=k;function I(C,y,E){l(n,"undo",f(E)),gtag("event","redo_generator",{file_type:C,history:y,method:E})}e.redoGenerator=I;function S(C,y,E,L){l(n,"save-project-file",f(L)),gtag("event","save_project_file",{file_type:C,project_size:y,projects_count:E,method:L})}e.saveProjectFile=S;function M(C,y){l(n,"load-preset",y),gtag("event","load_generator_preset",{file_type:C,file_name:y})}e.loadPreset=M;function O(C,y){gtag("event","open_generator_preset",{file_type:C,file_name:y})}e.openPreset=O;function N(C,y,E,L,j,Y){gtag("event","create_generator_snippet",{file_type:C,snippet_id:y,version:E,data_size:L,compressed_size:j,compression_rate:Y})}e.createSnippet=N;function D(C,y,E){gtag("event","open_generator_snippet",{file_type:C,snippet_id:y,version:E})}e.openSnippet=D;function ee(C,y){gtag("event","copy_generator_output",{file_type:C,method:y})}e.copyOutput=ee;function le(C,y){gtag("event","download_generator_output",{file_type:C,method:y})}e.downloadOutput=le;function ce(C,y){l(n,"toggle-output","visible"),gtag("event","show_generator_output",{file_type:C,method:y})}e.showOutput=ce;function T(C,y){l(n,"toggle-output","hidden"),gtag("event","hide_generator_output",{file_type:C,method:y})}e.hideOutput=T;function P(C,y){l(n,"toggle-preview","visible"),gtag("event","show_generator_preview",{file_type:C,method:y})}e.showPreview=P;function V(C,y){l(n,"toggle-preview","hidden"),gtag("event","hide_generator_preview",{file_type:C,method:y})}e.hidePreview=V})(_e||(_e={}));var un,Fe,us,On=0,oo=[],ds=U.__b,hs=U.__r,fs=U.diffed,ps=U.__c,ms=U.unmount;function Fn(e,t){U.__h&&U.__h(Fe,e,On||t),On=0;var n=Fe.__H||(Fe.__H={__:[],__h:[]});return e>=n.__.length&&n.__.push({}),n.__[e]}function $(e){return On=1,Ka(tl,e)}function Ka(e,t,n){var r=Fn(un++,2);return r.t=e,r.__c||(r.__=[n?n(t):tl(void 0,t),function(i){var o=r.t(r.__[0],i);r.__[0]!==o&&(r.__=[o,r.__[1]],r.__c.setState({}))}],r.__c=Fe),r.__}function K(e,t){var n=Fn(un++,3);!U.__s&&Co(n.__H,t)&&(n.__=e,n.__H=t,Fe.__H.__h.push(n))}function Qa(e,t){var n=Fn(un++,4);!U.__s&&Co(n.__H,t)&&(n.__=e,n.__H=t,Fe.__h.push(n))}function me(e){return On=5,Ae(function(){return{current:e}},[])}function Ou(e,t,n){On=6,Qa(function(){typeof e=="function"?e(t()):e&&(e.current=t())},n==null?n:n.concat(e))}function Ae(e,t){var n=Fn(un++,7);return Co(n.__H,t)&&(n.__=e(),n.__H=t,n.__h=e),n.__}function Me(e,t){return On=8,Ae(function(){return e},t)}function zn(e){var t=Fe.context[e.__c],n=Fn(un++,9);return n.__c=e,t?(n.__==null&&(n.__=!0,t.sub(Fe)),t.props.value):e.__}function Tu(e,t){U.useDebugValue&&U.useDebugValue(t?t(e):e)}function el(e){var t=Fn(un++,10),n=$();return t.__=e,Fe.componentDidCatch||(Fe.componentDidCatch=function(r){t.__&&t.__(r),n[1](r)}),[n[0],function(){n[1](void 0)}]}function Nu(){oo.forEach(function(e){if(e.__P)try{e.__H.__h.forEach(Ur),e.__H.__h.forEach(so),e.__H.__h=[]}catch(t){e.__H.__h=[],U.__e(t,e.__v)}}),oo=[]}U.__b=function(e){Fe=null,ds&&ds(e)},U.__r=function(e){hs&&hs(e),un=0;var t=(Fe=e.__c).__H;t&&(t.__h.forEach(Ur),t.__h.forEach(so),t.__h=[])},U.diffed=function(e){fs&&fs(e);var t=e.__c;t&&t.__H&&t.__H.__h.length&&(oo.push(t)!==1&&us===U.requestAnimationFrame||((us=U.requestAnimationFrame)||function(n){var r,i=function(){clearTimeout(o),gs&&cancelAnimationFrame(r),setTimeout(n)},o=setTimeout(i,100);gs&&(r=requestAnimationFrame(i))})(Nu)),Fe=void 0},U.__c=function(e,t){t.some(function(n){try{n.__h.forEach(Ur),n.__h=n.__h.filter(function(r){return!r.__||so(r)})}catch(r){t.some(function(i){i.__h&&(i.__h=[])}),t=[],U.__e(r,n.__v)}}),ps&&ps(e,t)},U.unmount=function(e){ms&&ms(e);var t=e.__c;if(t&&t.__H)try{t.__H.__.forEach(Ur)}catch(n){U.__e(n,t.__v)}};var gs=typeof requestAnimationFrame=="function";function Ur(e){var t=Fe;typeof e.__c=="function"&&e.__c(),Fe=t}function so(e){var t=Fe;e.__c=e.__(),Fe=t}function Co(e,t){return!e||e.length!==t.length||t.some(function(n,r){return n!==e[r]})}function tl(e,t){return typeof t=="function"?t(e):t}function wr({type:e,id:t}){return K(()=>{var n;(n=document.getElementById("ad-placeholder"))==null||n.remove(),"ethicalads"in window&ðicalads.load()},[]),h("div",{"data-ea-publisher":"misode-github-io","data-ea-type":e,class:"ad dark flat",id:t})}function q({icon:e,label:t,active:n,class:r,tooltip:i,tooltipLoc:o,onClick:s}){return h("div",{class:`btn${n?" active":""}${r?` ${r}`:""}${i?` tooltipped tip-${o!=null?o:"sw"}`:""}${n?" tip-shown":""}`,onClick:s,"aria-label":i},e&&oe[e],t&&h("span",null,t))}var Pr=typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:typeof global!="undefined"?global:typeof self!="undefined"?self:{};function nl(e){throw new Error('Could not dynamically require "'+e+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var B={},Ct={},kt={};Object.defineProperty(kt,"__esModule",{value:!0});kt.ModelPath=kt.Path=kt.relativePath=void 0;function Lu(e,t){return t.reduce((n,r)=>r==="pop"?n.pop():n.push(r.push),e)}kt.relativePath=Lu;class Nt{constructor(t,n){this.modelArr=t!=null?t:[],this.contextArr=n!=null?n:[]}last(){return this.modelArr[this.modelArr.length-1]}slice(t,n){return new Nt(this.modelArr.slice(t,n),this.contextArr)}shift(){return new Nt(this.modelArr.slice(1),this.contextArr)}pop(){return new Nt(this.modelArr.slice(0,-1),this.contextArr)}push(t){return this.modelPush(t).contextPush(t)}modelPush(t){return new Nt([...this.modelArr,t],[...this.contextArr])}contextPush(t){if(typeof t=="number")return this.copy();const n=t.startsWith("minecraft:")?t.slice(10):t;return new Nt([...this.modelArr],[...this.contextArr,n])}copy(){return new Nt([...this.modelArr],[...this.contextArr])}getArray(){return this.modelArr}withModel(t){return new Lt(t,this)}getContext(){return this.contextArr}equals(t){return t.modelArr.length===this.modelArr.length&&t.modelArr.every((n,r)=>n===this.modelArr[r])}startsWith(t){return this.modelArr.lengthn===this.modelArr[r])}endsWith(t){const n=this.modelArr.length-t.modelArr.length;return n<0?!1:t.modelArr.every((r,i)=>r===this.modelArr[n+i])}toString(){return this.modelArr.map(t=>typeof t=="string"?`.${t}`:`[${t}]`).join("").replace(/^\./,"")}forEach(t,n){return this.modelArr.forEach(t,n)}}kt.Path=Nt;class Lt extends Nt{constructor(t,n){super(n==null?void 0:n.modelArr,n==null?void 0:n.contextArr),this.model=t}getModel(){return this.model}get(){var t;return(t=this.model)===null||t===void 0?void 0:t.get(this)}set(t){var n;(n=this.model)===null||n===void 0||n.set(this,t)}slice(t,n){return new Lt(this.model,super.slice(t,n))}shift(){return new Lt(this.model,super.shift())}pop(){return new Lt(this.model,super.pop())}push(t){return this.modelPush(t).contextPush(t)}modelPush(t){return new Lt(this.model,super.modelPush(t))}contextPush(t){return new Lt(this.model,super.contextPush(t))}copy(){return new Lt(this.model,super.copy())}}kt.ModelPath=Lt;var jn={};Object.defineProperty(jn,"__esModule",{value:!0});jn.Errors=void 0;class Ru{constructor(){this.errors=[]}add(t,n,...r){return this.errors.push({path:t,error:n,params:r}),!1}get(t,n=!1){return n?this.errors.filter(r=>r.path.equals(t)):this.errors.filter(r=>r.path.startsWith(t))}getAll(){return this.errors}clear(){this.errors=[]}count(){return this.errors.length}*[Symbol.iterator](){for(const t of this.errors)yield t}}jn.Errors=Ru;var St={};Object.defineProperty(St,"__esModule",{value:!0});St.hexId=St.quoteString=St.escapeString=void 0;function rl(e){return e.replace(/(\\|")/g,"\\$1")}St.escapeString=rl;function Pu(e){return`"${rl(e)}"`}St.quoteString=Pu;const $u=e=>("0"+e.toString(16)).substr(-2);function Du(e=12){var t=new Uint8Array(e/2);return window.crypto.getRandomValues(t),Array.from(t,$u).join("")}St.hexId=Du;Object.defineProperty(Ct,"__esModule",{value:!0});Ct.DataModel=void 0;const Bu=kt,_s=jn,Hi=St;class Io{constructor(t,n){var r,i,o,s;this.historyMax=(r=n==null?void 0:n.historyMax)!==null&&r!==void 0?r:50,this.verbose=(i=n==null?void 0:n.verbose)!==null&&i!==void 0?i:!1,this.wrapLists=(o=n==null?void 0:n.wrapLists)!==null&&o!==void 0?o:!1,this.schema=t;const a=(s=n==null?void 0:n.initialData)!==null&&s!==void 0?s:t.default();this.data=this.wrapLists?Io.wrapLists(a):a,this.listeners=[],this.errors=new _s.Errors,this.history=[JSON.stringify(this.data)],this.historyIndex=0}addListener(t){this.listeners.push(t)}removeListener(t){const n=this.listeners.indexOf(t);n>-1&&this.listeners.splice(n,1)}invalidate(){const t=JSON.stringify(this.data);this.history[this.historyIndex]!==t&&(this.historyIndex+=1,this.history.splice(this.historyIndex,this.historyMax,t),this.history.length>this.historyMax&&(this.history.splice(0,1),this.historyIndex-=1)),this.silentInvalidate()}silentInvalidate(){this.listeners.forEach(t=>{t.invalidated&&t.invalidated(this),t.errors&&t.errors(this.errors)})}reset(t,n){this.data=t,this.validate(n),this.invalidate()}get(t){let n=this.data;return t.forEach(r=>{if(n===void 0)return n;this.wrapLists&&typeof r=="number"?n=n[r].node:n=n[r]}),n}set(t,n,r){if(t.getArray().length===0){this.reset(n,!0);return}let i=this.data;t.pop().forEach(o=>{(i[o]===void 0||typeof i[o]=="string"||typeof i[o]=="number")&&(this.wrapLists&&typeof o=="number"?i[o]={node:{},id:(0,Hi.hexId)()}:i[o]={}),this.wrapLists&&typeof o=="number"?i=i[o].node:i=i[o]}),i!==null&&(n===void 0||typeof n=="number"&&isNaN(n)?typeof t.last()=="number"?i.splice(t.last(),1):delete i[t.last()]:this.wrapLists&&typeof t.last()=="number"?i[t.last()]={node:n,id:(0,Hi.hexId)()}:i[t.last()]=n,!r&&(this.verbose&&console.log("Set",t.toString(),JSON.stringify(n)),this.validate(!0),this.invalidate()))}undo(){this.historyIndex>0&&(this.historyIndex-=1,this.data=JSON.parse(this.history[this.historyIndex]),this.validate(!1),this.silentInvalidate())}redo(){this.historyIndex{o.errors&&o.errors(i)})}static wrapLists(t){if(Array.isArray(t)){const n=t.map(r=>({node:this.wrapLists(r),id:(0,Hi.hexId)()}));for(const r of Object.getOwnPropertySymbols(t))n[r]=t[r];return n}else if(typeof t=="object"&&t!==null){const n={};Object.entries(t).map(([r,i])=>{n[r]=this.wrapLists(i)});for(const r of Object.getOwnPropertySymbols(t))n[r]=t[r];return n}else return t}static unwrapLists(t){if(Array.isArray(t)){const n=t.map(r=>this.unwrapLists(r.node));for(const r of Object.getOwnPropertySymbols(t))n[r]=t[r];return n}else if(typeof t=="object"&&t!==null){const n={};Object.entries(t).map(([r,i])=>{n[r]=this.unwrapLists(i)});for(const r of Object.getOwnPropertySymbols(t))n[r]=t[r];return n}else return t}}Ct.DataModel=Io;var Ut={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.Keep=e.Opt=e.Has=e.Mod=e.Base=void 0,e.Base={type:()=>"base",category:()=>{},default:()=>{},enabled:()=>!0,keep:()=>!1,optional:()=>!1,navigate(){return this},pathPush:o=>o,suggest:()=>[],validate:(o,s)=>s,validationOption:()=>{},hook(o,s,...a){return o.base({node:this},s,...a)},canUpdate:()=>!1,update:()=>[]};const t=(o,s)=>J(J({},o),typeof s=="function"?s(o):s);e.Mod=t;const n=(o,s)=>(0,e.Mod)(s,{enabled:a=>a.push(o).get()!==void 0});e.Has=n;function r(o){return xe(J({},o),{optional:()=>!0})}e.Opt=r;function i(o){return xe(J({},o),{keep:()=>!0})}e.Keep=i})(Ut);var xi={};Object.defineProperty(xi,"__esModule",{value:!0});xi.BooleanNode=void 0;const Fu=Ct,zu=Ut,ju=()=>xe(J({},zu.Base),{type:()=>"boolean",default:()=>!1,suggest:()=>["false","true"],validate(e,t,n,r){return r.loose&&typeof t!="boolean"&&(t=r.wrapLists?Fu.DataModel.wrapLists(this.default()):this.default()),(typeof t!="boolean"||t===void 0)&&n.add(e,"error.expected_boolean"),t},hook(e,t,...n){var r;return((r=e.boolean)!==null&&r!==void 0?r:e.base).call(e,{node:this},t,...n)}});xi.BooleanNode=ju;var il={},yr={};Object.defineProperty(yr,"__esModule",{value:!0});yr.ListNode=void 0;const Vu=Ct,Hu=Ut,Uu=(e,t)=>{var n,r;const i=(n=t==null?void 0:t.minLength)!==null&&n!==void 0?n:0,o=(r=t==null?void 0:t.maxLength)!==null&&r!==void 0?r:1/0,s=(t==null?void 0:t.minLength)&&(t==null?void 0:t.maxLength);return xe(J({},Hu.Base),{type:()=>"list",default:()=>t!=null&&t.minLength?[...Array(i)].map(a=>e.default()):[],navigate(a,l){const u=l+1;return a.getArray().length<=u?this:e.navigate(a,u)},pathPush(a,l){return a.push(parseInt(l.toString())).contextPush("entry")},validate(a,l,u,c){if(c.loose&&!Array.isArray(l)&&(l=c.wrapLists?Vu.DataModel.wrapLists(this.default()):this.default()),Array.isArray(l))s&&(l.lengtho)?i===o?u.add(a,"error.invalid_list_range.exact",l.length,i):u.add(a,"error.invalid_list_range.between",l.length,i,o):l.lengtho&&u.add(a,"error.invalid_list_range.larger",l.length,o);else return u.add(a,"error.expected_list"),l;const d=l.map((f,p)=>{const m=e.validate(a.push(p),c.wrapLists?f.node:f,u,c);return c.wrapLists?{node:m,id:f.id}:m});for(const f of Object.getOwnPropertySymbols(l))d[f]=l[f];return d},hook(a,l,...u){var c;return((c=a.list)!==null&&c!==void 0?c:a.base).call(a,{node:this,children:e,config:t!=null?t:{}},l,...u)}})};yr.ListNode=Uu;var br={};Object.defineProperty(br,"__esModule",{value:!0});br.SwitchNode=void 0;const Gu=Ut,Yu=e=>xe(J({},Gu.Base),{type(t){return this.activeCase(t,!0).node.type(t)},category(t){return this.activeCase(t,!0).node.category(t)},default:()=>e[0].node.default(),navigate(t,n){var r;const i=n+1;return(r=this.activeCase(t.slice(0,i)))===null||r===void 0?void 0:r.node.navigate(t,n)},pathPush(t,n){var r,i;return(i=(r=this.activeCase(t))===null||r===void 0?void 0:r.node.pathPush(t,n))!==null&&i!==void 0?i:t},suggest(t,n){var r,i;return(i=(r=this.activeCase(t))===null||r===void 0?void 0:r.node.suggest(t,n))!==null&&i!==void 0?i:e.filter(o=>o.match(t)).map(o=>o.node.suggest(t,n)).reduce((o,s)=>o.concat(s))},validate(t,n,r,i){let o=this.activeCase(t);return o===void 0?n:o.node.validate(t,n,r,i)},validationOption(t){var n;return(n=this.activeCase(t))===null||n===void 0?void 0:n.node.validationOption(t)},activeCase(t,n){const r=(o,s)=>{var a,l;return((a=s.priority)!==null&&a!==void 0?a:0)-((l=o.priority)!==null&&l!==void 0?l:0)},i=e.filter(o=>o.match(t)).sort(r);return n&&i.length===0?e.sort(r)[0]:i.length>0?i[0]:void 0},hook(t,n,...r){return this.activeCase(n,!0).node.hook(t,n,...r)}});br.SwitchNode=Yu;(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.ObjectOrPreset=e.StringOrList=e.ObjectOrList=e.ChoiceNode=void 0;const t=yr,n=br,r=(s,a)=>{const l=(c,d)=>{if(c.match)return c.match(d);switch(c.type){case"list":return Array.isArray(d);case"object":return typeof d=="object"&&!Array.isArray(d);default:return typeof d===c.type}},u=(0,n.SwitchNode)(s.map(c=>({type:c.type,priority:c.priority,match:d=>l(c,d.get()),node:c.node})));return xe(J({},u),{validate(c,d,f,p){let m=u.activeCase(c,!0);return m.node.optional()?d:m.node.validate(c,d,f,p)},hook(c,d,...f){var p;return((p=c.choice)!==null&&p!==void 0?p:c.base).call(c,{node:this,choices:s,config:a!=null?a:{},switchNode:u},d,...f)}})};e.ChoiceNode=r;const i=s=>(a,l)=>(0,e.ChoiceNode)([{type:s,node:a,change:u=>{var c;return(c=u[0])!==null&&c!==void 0?c:a.default()}},{type:"list",node:(0,t.ListNode)(a),change:u=>u?[u]:[]}],l);e.ObjectOrList=i("object"),e.StringOrList=i("string");const o=(s,a,l)=>(0,e.ChoiceNode)([{type:"string",priority:1,node:s,change:u=>Object.keys(l)[0]},{type:"object",node:a,change:u=>{var c;return(c=l[u])!==null&&c!==void 0?c:l[Object.keys(l)[0]]}}]);e.ObjectOrPreset=o})(il);var Ai={};Object.defineProperty(Ai,"__esModule",{value:!0});Ai.MapNode=void 0;const Wu=Ut,qu=Ct,Zu=(e,t,n)=>xe(J({},Wu.Base),{type:()=>"map",default:()=>({}),navigate(r,i){const o=i+1;return r.getArray().length<=o?this:t.navigate(r,o)},pathPush(r,i){return r.modelPush(i)},suggest:r=>e.suggest(r,""),validate(r,i,o,s){if(s.loose&&typeof i!="object"&&(i=s.wrapLists?qu.DataModel.wrapLists(this.default()):this.default()),i===null||typeof i!="object")return o.add(r,"error.expected_object"),i;const a={};Object.keys(i).forEach(l=>{e.validate(r,l,o,s),a[l]=t.validate(r.push(l),i[l],o,s)});for(const l of Object.getOwnPropertySymbols(i))a[l]=i[l];return a},validationOption(r){var i;return(i=n==null?void 0:n.validation)!==null&&i!==void 0?i:e.validationOption(r.push(""))},hook(r,i,...o){var s;return((s=r.map)!==null&&s!==void 0?s:r.base).call(r,{node:this,keys:e,children:t,config:n!=null?n:{}},i,...o)}});Ai.MapNode=Zu;var ol={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.NumberEnum=e.NumberNode=void 0;const t=B,n=Ct,r=Ut,i=s=>{var a,l,u;const c=s!=null&&s.color?!0:(a=s==null?void 0:s.integer)!==null&&a!==void 0?a:!1,d=s!=null&&s.color?0:(l=s==null?void 0:s.min)!==null&&l!==void 0?l:-1/0,f=s!=null&&s.color?16777215:(u=s==null?void 0:s.max)!==null&&u!==void 0?u:1/0,p=(s==null?void 0:s.min)!==void 0&&(s==null?void 0:s.max)!==void 0;return xe(J({},r.Base),{type:()=>"number",default:()=>d>0?d:0,validate(m,v,g,_){return _.loose&&typeof v!="number"&&(v=_.wrapLists?n.DataModel.wrapLists(this.default()):this.default()),typeof v!="number"?g.add(m,"error.expected_number"):c&&!Number.isInteger(v)?g.add(m,"error.expected_integer"):p&&(vf)?g.add(m,"error.invalid_number_range.between",v,d,f):vf&&g.add(m,"error.invalid_number_range.larger",v,f),v},hook(m,v,...g){var _;return((_=m.number)!==null&&_!==void 0?_:m.base).call(m,{node:this,integer:c,min:d,max:f,between:p,config:s!=null?s:{}},v,...g)}})};e.NumberNode=i;const o=({integer:s,values:a})=>(0,t.Mod)((0,e.NumberNode)({integer:s}),l=>({validate:(u,c,d,f)=>(c=l.validate(u,c,d,f),a.includes(c)||d.add(u,"error.invalid_number_enum",a.join(", ")),c)}));e.NumberEnum=o})(ol);var sl={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.ObjectNode=e.Case=e.Switch=void 0;const t=Ut,n=kt,r=jn,i=St,o=Ct;e.Switch=Symbol("switch"),e.Case=Symbol("case");const s=(a,l)=>{var m,v;const g=a,{[m=e.Switch]:u,[v=e.Case]:c}=g,d=is(g,[Vi(m),Vi(v)]),f=_=>{if(u===void 0)return d;const b=(0,n.relativePath)(_,u).get(),w=c[b];return J(J({},d),w)},p=(_,b)=>{var w;const x=u?(0,n.relativePath)(_,u).get():void 0,A=u?(w=c[x])!==null&&w!==void 0?w:{}:{},k=Object.keys(A),I=l!=null&&l.context?new n.ModelPath(_.getModel(),new n.Path(_.getArray(),[l.context])):_;return(!(l!=null&&l.disableSwitchContext)&&x&&k.includes(b)?I.contextPush(x):I).push(b)};return xe(J({},t.Base),{type:()=>"object",category:()=>l==null?void 0:l.category,default:()=>({}),keep(){return this.optional()},navigate(_,b){const w=b+1,x=_.getArray();if(x.length<=w)return this;const k=f(_.slice(0,w))[x[w]];return k==null?void 0:k.navigate(_,w)},pathPush(_,b){return p(_,b.toString())},suggest(_,b){const w=f(_),x=Object.keys(typeof b=="object"?b:{});return Object.keys(w).filter(A=>w[A].enabled(_)).filter(A=>!x.includes(A)).map(i.quoteString)},validate(_,b,w,x){if(x.loose&&typeof b!="object"&&(b=x.wrapLists?o.DataModel.wrapLists(this.default()):this.default()),typeof b!="object"||b===null)return w.add(_,"error.expected_object"),b;let A=d;if(u){const O=(0,n.relativePath)(_,u);let N=O.get();if(_.equals(O.pop())){const D=O.last();N=d[D].validate(_.push(D),b[D],new r.Errors,x)}A=J(J({},A),c[N])}const k=Object.keys(A),I=k.filter(O=>!A[O].optional()),S=new Set([...I,...Object.keys(b)]),M={};S.forEach(O=>{if(k.includes(O)){if(!A[O].enabled(_))return;const N=A[O].validate(_.push(O),b[O],w,x);!A[O].keep()&&A[O].optional()&&(N===void 0||Array.isArray(N)&&N.length===0||N.constructor===Object&&Object.keys(N).length===0)?delete M[O]:(M[O]=N,_.getModel().set(_.push(O),N,!0))}else M[O]=b[O]});for(const O of Object.getOwnPropertySymbols(b))M[O]=b[O];return M},hook(_,b,...w){var x;return((x=_.object)!==null&&x!==void 0?x:_.base).call(_,{node:this,fields:d,config:l!=null?l:{},filter:u,cases:c,getActiveFields:f,getChildModelPath:p},b,...w)}})};e.ObjectNode=s})(sl);var ki={};Object.defineProperty(ki,"__esModule",{value:!0});ki.Reference=void 0;const Xu=(e,t)=>({type(n){return e.get(t).type.bind(this)(n)},category(n){return e.get(t).category.bind(this)(n)},default(){return e.get(t).default.bind(this)()},transform(n,r){return e.get(t).transform(n,r)},enabled(n){return e.get(t).enabled.bind(this)(n)},keep(){return e.get(t).keep.bind(this)()},optional(){return e.get(t).optional.bind(this)()},navigate(n,r){return e.get(t).navigate.bind(this)(n,r)},pathPush(n,r){return e.get(t).pathPush.bind(this)(n,r)},suggest(n,r){return e.get(t).suggest.bind(this)(n,r)},validate(n,r,i,o){return e.get(t).validate.bind(this)(n,r,i,o)},validationOption(n){return e.get(t).validationOption.bind(this)(n)},hook(n,r,...i){return e.get(t).hook.bind(this)(n,r,...i)},activeCase(n,r){return e.get(t).activeCase.bind(this)(n,r)},canUpdate(n,r){return e.get(t).canUpdate.bind(this)(n,r)},update(n,r){return e.get(t).update.bind(this)(n,r)}});ki.Reference=Xu;var Si={};Object.defineProperty(Si,"__esModule",{value:!0});Si.StringNode=void 0;const Ju=Ut,Ku=St,Qu=Ct,vs=e=>!!(e!=null&&e.enum),ws=e=>!!(e!=null&&e.validator),ed=(e,t)=>{const n=()=>{var r,i,o,s;if(vs(t))return typeof t.enum=="string"?(r=e==null?void 0:e.get(t.enum))!==null&&r!==void 0?r:[]:t.enum;if((t==null?void 0:t.validator)==="resource"){if(typeof t.params.pool=="string"){if(t.params.requireTag)return(i=e==null?void 0:e.get(`tag/${t.params.pool}`).map(l=>`#${l}`))!==null&&i!==void 0?i:[];const a=t.params.pool.replace(/^\$/,"");return[...t.params.allowTag?(o=e==null?void 0:e.get(`tag/${a}`).map(l=>`#${l}`))!==null&&o!==void 0?o:[]:[],...(s=e==null?void 0:e.get(a))!==null&&s!==void 0?s:[]]}return t.params.pool}return[]};return xe(J({},Ju.Base),{type:()=>"string",default:()=>"",validate(r,i,o,s){if(s.loose&&typeof i!="string"&&(i=(s.wrapLists?Qu.DataModel.wrapLists(this.default()):this.default())||void 0),typeof i!="string")return o.add(r,"error.expected_string"),i;if(ws(t)){if(t.validator==="resource"&&i.length>0&&!i.includes(":")&&(i=i.startsWith("#")?"#minecraft:"+i.slice(1):"minecraft:"+i),t.validator==="resource"&&typeof i=="string"){let l=i;if(i.startsWith("#")){if(typeof t.params.pool=="string"&&t.params.pool.startsWith("$tag/"))return o.add(r,"error.disallowed_tag_prefix"),i;if(!t.params.allowTag&&!t.params.requireTag)return o.add(r,"error.disallowed_tag"),i;l=l.slice(1)}else if(t.params.requireTag)return o.add(r,"error.expected_tag"),i;if(!l.match(/^(?:[_\-a-z0-9.]*:)?[_\-a-z0-9/.]*$/g))return o.add(r,"error.invalid_resource_location"),i}if(t.validator==="resource"&&(typeof t.params.pool=="string"&&t.params.pool.startsWith("$")||(t.params.allowTag||t.params.requireTag)&&i.startsWith("#")||t.params.isDefinition||t.params.allowUnknown))return i}if(vs(t)&&t.additional)return i;const a=n();return a.length>0&&!a.includes(i)&&o.add(r,"error.invalid_enum_option",i),i},suggest:()=>n().map(Ku.quoteString),validationOption(){return ws(t)?t:void 0},hook(r,i,...o){var s;return((s=r.string)!==null&&s!==void 0?s:r.base).call(r,{node:this,getValues:n,config:t},i,...o)}})};Si.StringNode=ed;var al={};Object.defineProperty(al,"__esModule",{value:!0});var Tn={};Object.defineProperty(Tn,"__esModule",{value:!0});Tn.CollectionRegistry=Tn.SchemaRegistry=void 0;class td{constructor(){this.registry={}}register(t,n){this.registry[t]=n}get(t){const n=this.registry[t];return n===void 0&&console.error(`Tried to access schema "${t}", but that doesn't exist.`),n}}Tn.SchemaRegistry=td;class nd{constructor(){this.registry={}}register(t,n){this.registry[t]=n}get(t){const n=this.registry[t];return n===void 0&&console.warn(`Tried to access collection "${t}", but that doesn't exist.`),n!=null?n:[]}}Tn.CollectionRegistry=nd;var ll={};Object.defineProperty(ll,"__esModule",{value:!0});(function(e){var t=Pr&&Pr.__createBinding||(Object.create?function(r,i,o,s){s===void 0&&(s=o);var a=Object.getOwnPropertyDescriptor(i,o);(!a||("get"in a?!i.__esModule:a.writable||a.configurable))&&(a={enumerable:!0,get:function(){return i[o]}}),Object.defineProperty(r,s,a)}:function(r,i,o,s){s===void 0&&(s=o),r[s]=i[o]}),n=Pr&&Pr.__exportStar||function(r,i){for(var o in r)o!=="default"&&!Object.prototype.hasOwnProperty.call(i,o)&&t(i,r,o)};Object.defineProperty(e,"__esModule",{value:!0}),n(Ct,e),n(kt,e),n(jn,e),n(Ut,e),n(xi,e),n(il,e),n(yr,e),n(Ai,e),n(ol,e),n(sl,e),n(ki,e),n(Si,e),n(br,e),n(al,e),n(Tn,e),n(ll,e)})(B);var Ie={},xr={},ut={};function cl(e){return typeof e=="undefined"||e===null}function rd(e){return typeof e=="object"&&e!==null}function id(e){return Array.isArray(e)?e:cl(e)?[]:[e]}function od(e,t){var n,r,i,o;if(t)for(o=Object.keys(t),n=0,r=o.length;n0&&`\0\r +\x85\u2028\u2029`.indexOf(this.buffer.charAt(i-1))===-1;)if(i-=1,this.position-i>n/2-1){r=" ... ",i+=5;break}for(o="",s=this.position;sn/2-1){o=" ... ",s-=5;break}return a=this.buffer.slice(i,s),ys.repeat(" ",t)+r+a+o+` +`+ys.repeat(" ",t+this.position-i+r.length)+"^"};Mo.prototype.toString=function(t){var n,r="";return this.name&&(r+='in "'+this.name+'" '),r+="at line "+(this.line+1)+", column "+(this.column+1),t||(n=this.getSnippet(),n&&(r+=`: +`+n)),r};var ld=Mo,bs=Ar,cd=["kind","resolve","construct","instanceOf","predicate","represent","defaultStyle","styleAliases"],ud=["scalar","sequence","mapping"];function dd(e){var t={};return e!==null&&Object.keys(e).forEach(function(n){e[n].forEach(function(r){t[String(r)]=n})}),t}function hd(e,t){if(t=t||{},Object.keys(t).forEach(function(n){if(cd.indexOf(n)===-1)throw new bs('Unknown option "'+n+'" is met in definition of "'+e+'" YAML type.')}),this.tag=e,this.kind=t.kind||null,this.resolve=t.resolve||function(){return!0},this.construct=t.construct||function(n){return n},this.instanceOf=t.instanceOf||null,this.predicate=t.predicate||null,this.represent=t.represent||null,this.defaultStyle=t.defaultStyle||null,this.styleAliases=dd(t.styleAliases||null),ud.indexOf(this.kind)===-1)throw new bs('Unknown kind "'+this.kind+'" is specified for "'+e+'" YAML type.')}var De=hd,xs=ut,Gr=Ar,fd=De;function ao(e,t,n){var r=[];return e.include.forEach(function(i){n=ao(i,t,n)}),e[t].forEach(function(i){n.forEach(function(o,s){o.tag===i.tag&&o.kind===i.kind&&r.push(s)}),n.push(i)}),n.filter(function(i,o){return r.indexOf(o)===-1})}function pd(){var e={scalar:{},sequence:{},mapping:{},fallback:{}},t,n;function r(i){e[i.kind][i.tag]=e.fallback[i.tag]=i}for(t=0,n=arguments.length;t=0?"0b"+e.toString(2):"-0b"+e.toString(2).slice(1)},octal:function(e){return e>=0?"0"+e.toString(8):"-0"+e.toString(8).slice(1)},decimal:function(e){return e.toString(10)},hexadecimal:function(e){return e>=0?"0x"+e.toString(16).toUpperCase():"-0x"+e.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}}),ul=ut,jd=De,Vd=new RegExp("^(?:[-+]?(?:0|[1-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\.[0-9_]*|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function Hd(e){return!(e===null||!Vd.test(e)||e[e.length-1]==="_")}function Ud(e){var t,n,r,i;return t=e.replace(/_/g,"").toLowerCase(),n=t[0]==="-"?-1:1,i=[],"+-".indexOf(t[0])>=0&&(t=t.slice(1)),t===".inf"?n===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:t===".nan"?NaN:t.indexOf(":")>=0?(t.split(":").forEach(function(o){i.unshift(parseFloat(o,10))}),t=0,r=1,i.forEach(function(o){t+=o*r,r*=60}),n*t):n*parseFloat(t,10)}var Gd=/^[-+]?[0-9]+e/;function Yd(e,t){var n;if(isNaN(e))switch(t){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===e)switch(t){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===e)switch(t){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(ul.isNegativeZero(e))return"-0.0";return n=e.toString(10),Gd.test(n)?n.replace("e",".e"):n}function Wd(e){return Object.prototype.toString.call(e)==="[object Number]"&&(e%1!==0||ul.isNegativeZero(e))}var qd=new jd("tag:yaml.org,2002:float",{kind:"scalar",resolve:Hd,construct:Ud,predicate:Wd,represent:Yd,defaultStyle:"lowercase"}),Zd=Vn,dl=new Zd({include:[Oo],implicit:[Ed,Td,zd,qd]}),Xd=Vn,hl=new Xd({include:[dl]}),Jd=De,fl=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),pl=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");function Kd(e){return e===null?!1:fl.exec(e)!==null||pl.exec(e)!==null}function Qd(e){var t,n,r,i,o,s,a,l=0,u=null,c,d,f;if(t=fl.exec(e),t===null&&(t=pl.exec(e)),t===null)throw new Error("Date resolve error");if(n=+t[1],r=+t[2]-1,i=+t[3],!t[4])return new Date(Date.UTC(n,r,i));if(o=+t[4],s=+t[5],a=+t[6],t[7]){for(l=t[7].slice(0,3);l.length<3;)l+="0";l=+l}return t[9]&&(c=+t[10],d=+(t[11]||0),u=(c*60+d)*6e4,t[9]==="-"&&(u=-u)),f=new Date(Date.UTC(n,r,i,o,s,a,l)),u&&f.setTime(f.getTime()-u),f}function eh(e){return e.toISOString()}var th=new Jd("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:Kd,construct:Qd,instanceOf:Date,represent:eh}),nh=De;function rh(e){return e==="<<"||e===null}var ih=new nh("tag:yaml.org,2002:merge",{kind:"scalar",resolve:rh}),Qt;try{var oh=nl;Qt=oh("buffer").Buffer}catch{}var sh=De,To=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/= +\r`;function ah(e){if(e===null)return!1;var t,n,r=0,i=e.length,o=To;for(n=0;n64)){if(t<0)return!1;r+=6}return r%8===0}function lh(e){var t,n,r=e.replace(/[\r\n=]/g,""),i=r.length,o=To,s=0,a=[];for(t=0;t>16&255),a.push(s>>8&255),a.push(s&255)),s=s<<6|o.indexOf(r.charAt(t));return n=i%4*6,n===0?(a.push(s>>16&255),a.push(s>>8&255),a.push(s&255)):n===18?(a.push(s>>10&255),a.push(s>>2&255)):n===12&&a.push(s>>4&255),Qt?Qt.from?Qt.from(a):new Qt(a):a}function ch(e){var t="",n=0,r,i,o=e.length,s=To;for(r=0;r>18&63],t+=s[n>>12&63],t+=s[n>>6&63],t+=s[n&63]),n=(n<<8)+e[r];return i=o%3,i===0?(t+=s[n>>18&63],t+=s[n>>12&63],t+=s[n>>6&63],t+=s[n&63]):i===2?(t+=s[n>>10&63],t+=s[n>>4&63],t+=s[n<<2&63],t+=s[64]):i===1&&(t+=s[n>>2&63],t+=s[n<<4&63],t+=s[64],t+=s[64]),t}function uh(e){return Qt&&Qt.isBuffer(e)}var dh=new sh("tag:yaml.org,2002:binary",{kind:"scalar",resolve:ah,construct:lh,predicate:uh,represent:ch}),hh=De,fh=Object.prototype.hasOwnProperty,ph=Object.prototype.toString;function mh(e){if(e===null)return!0;var t=[],n,r,i,o,s,a=e;for(n=0,r=a.length;n3||t[t.length-r.length-1]!=="/"))}function Dh(e){var t=e,n=/\/([gim]*)$/.exec(e),r="";return t[0]==="/"&&(n&&(r=n[1]),t=t.slice(1,t.length-r.length-1)),new RegExp(t,r)}function Bh(e){var t="/"+e.source+"/";return e.global&&(t+="g"),e.multiline&&(t+="m"),e.ignoreCase&&(t+="i"),t}function Fh(e){return Object.prototype.toString.call(e)==="[object RegExp]"}var zh=new Ph("tag:yaml.org,2002:js/regexp",{kind:"scalar",resolve:$h,construct:Dh,predicate:Fh,represent:Bh}),oi;try{var jh=nl;oi=jh("esprima")}catch{typeof window!="undefined"&&(oi=window.esprima)}var Vh=De;function Hh(e){if(e===null)return!1;try{var t="("+e+")",n=oi.parse(t,{range:!0});return!(n.type!=="Program"||n.body.length!==1||n.body[0].type!=="ExpressionStatement"||n.body[0].expression.type!=="ArrowFunctionExpression"&&n.body[0].expression.type!=="FunctionExpression")}catch{return!1}}function Uh(e){var t="("+e+")",n=oi.parse(t,{range:!0}),r=[],i;if(n.type!=="Program"||n.body.length!==1||n.body[0].type!=="ExpressionStatement"||n.body[0].expression.type!=="ArrowFunctionExpression"&&n.body[0].expression.type!=="FunctionExpression")throw new Error("Failed to resolve function");return n.body[0].expression.params.forEach(function(o){r.push(o.name)}),i=n.body[0].expression.body.range,n.body[0].expression.body.type==="BlockStatement"?new Function(r,t.slice(i[0]+1,i[1]-1)):new Function(r,"return "+t.slice(i[0],i[1]))}function Gh(e){return e.toString()}function Yh(e){return Object.prototype.toString.call(e)==="[object Function]"}var Wh=new Vh("tag:yaml.org,2002:js/function",{kind:"scalar",resolve:Hh,construct:Uh,predicate:Yh,represent:Gh}),As=Vn,Ei=As.DEFAULT=new As({include:[kr],explicit:[Rh,zh,Wh]}),Pt=ut,ml=Ar,qh=ld,gl=kr,Zh=Ei,Zt=Object.prototype.hasOwnProperty,si=1,_l=2,vl=3,ai=4,Ui=1,Xh=2,ks=3,Jh=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,Kh=/[\x85\u2028\u2029]/,Qh=/[,\[\]\{\}]/,wl=/^(?:!|!!|![a-z\-]+!)$/i,yl=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;function Ss(e){return Object.prototype.toString.call(e)}function Et(e){return e===10||e===13}function tn(e){return e===9||e===32}function Je(e){return e===9||e===32||e===10||e===13}function bn(e){return e===44||e===91||e===93||e===123||e===125}function ef(e){var t;return 48<=e&&e<=57?e-48:(t=e|32,97<=t&&t<=102?t-97+10:-1)}function tf(e){return e===120?2:e===117?4:e===85?8:0}function nf(e){return 48<=e&&e<=57?e-48:-1}function Es(e){return e===48?"\0":e===97?"\x07":e===98?"\b":e===116||e===9?" ":e===110?` +`:e===118?"\v":e===102?"\f":e===114?"\r":e===101?"\x1B":e===32?" ":e===34?'"':e===47?"/":e===92?"\\":e===78?"\x85":e===95?"\xA0":e===76?"\u2028":e===80?"\u2029":""}function rf(e){return e<=65535?String.fromCharCode(e):String.fromCharCode((e-65536>>10)+55296,(e-65536&1023)+56320)}var bl=new Array(256),xl=new Array(256);for(var mn=0;mn<256;mn++)bl[mn]=Es(mn)?1:0,xl[mn]=Es(mn);function of(e,t){this.input=e,this.filename=t.filename||null,this.schema=t.schema||Zh,this.onWarning=t.onWarning||null,this.legacy=t.legacy||!1,this.json=t.json||!1,this.listener=t.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=e.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.documents=[]}function Al(e,t){return new ml(t,new qh(e.filename,e.input,e.position,e.line,e.position-e.lineStart))}function Z(e,t){throw Al(e,t)}function li(e,t){e.onWarning&&e.onWarning.call(null,Al(e,t))}var Cs={YAML:function(t,n,r){var i,o,s;t.version!==null&&Z(t,"duplication of %YAML directive"),r.length!==1&&Z(t,"YAML directive accepts exactly one argument"),i=/^([0-9]+)\.([0-9]+)$/.exec(r[0]),i===null&&Z(t,"ill-formed argument of the YAML directive"),o=parseInt(i[1],10),s=parseInt(i[2],10),o!==1&&Z(t,"unacceptable YAML version of the document"),t.version=r[0],t.checkLineBreaks=s<2,s!==1&&s!==2&&li(t,"unsupported YAML version of the document")},TAG:function(t,n,r){var i,o;r.length!==2&&Z(t,"TAG directive accepts exactly two arguments"),i=r[0],o=r[1],wl.test(i)||Z(t,"ill-formed tag handle (first argument) of the TAG directive"),Zt.call(t.tagMap,i)&&Z(t,'there is a previously declared suffix for "'+i+'" tag handle'),yl.test(o)||Z(t,"ill-formed tag prefix (second argument) of the TAG directive"),t.tagMap[i]=o}};function Wt(e,t,n,r){var i,o,s,a;if(t1&&(e.result+=Pt.repeat(` +`,t-1))}function sf(e,t,n){var r,i,o,s,a,l,u,c,d=e.kind,f=e.result,p;if(p=e.input.charCodeAt(e.position),Je(p)||bn(p)||p===35||p===38||p===42||p===33||p===124||p===62||p===39||p===34||p===37||p===64||p===96||(p===63||p===45)&&(i=e.input.charCodeAt(e.position+1),Je(i)||n&&bn(i)))return!1;for(e.kind="scalar",e.result="",o=s=e.position,a=!1;p!==0;){if(p===58){if(i=e.input.charCodeAt(e.position+1),Je(i)||n&&bn(i))break}else if(p===35){if(r=e.input.charCodeAt(e.position-1),Je(r))break}else{if(e.position===e.lineStart&&Ci(e)||n&&bn(p))break;if(Et(p))if(l=e.line,u=e.lineStart,c=e.lineIndent,Oe(e,!1,-1),e.lineIndent>=t){a=!0,p=e.input.charCodeAt(e.position);continue}else{e.position=s,e.line=l,e.lineStart=u,e.lineIndent=c;break}}a&&(Wt(e,o,s,!1),Lo(e,e.line-l),o=s=e.position,a=!1),tn(p)||(s=e.position+1),p=e.input.charCodeAt(++e.position)}return Wt(e,o,s,!1),e.result?!0:(e.kind=d,e.result=f,!1)}function af(e,t){var n,r,i;if(n=e.input.charCodeAt(e.position),n!==39)return!1;for(e.kind="scalar",e.result="",e.position++,r=i=e.position;(n=e.input.charCodeAt(e.position))!==0;)if(n===39)if(Wt(e,r,e.position,!0),n=e.input.charCodeAt(++e.position),n===39)r=e.position,e.position++,i=e.position;else return!0;else Et(n)?(Wt(e,r,i,!0),Lo(e,Oe(e,!1,t)),r=i=e.position):e.position===e.lineStart&&Ci(e)?Z(e,"unexpected end of the document within a single quoted scalar"):(e.position++,i=e.position);Z(e,"unexpected end of the stream within a single quoted scalar")}function lf(e,t){var n,r,i,o,s,a;if(a=e.input.charCodeAt(e.position),a!==34)return!1;for(e.kind="scalar",e.result="",e.position++,n=r=e.position;(a=e.input.charCodeAt(e.position))!==0;){if(a===34)return Wt(e,n,e.position,!0),e.position++,!0;if(a===92){if(Wt(e,n,e.position,!0),a=e.input.charCodeAt(++e.position),Et(a))Oe(e,!1,t);else if(a<256&&bl[a])e.result+=xl[a],e.position++;else if((s=tf(a))>0){for(i=s,o=0;i>0;i--)a=e.input.charCodeAt(++e.position),(s=ef(a))>=0?o=(o<<4)+s:Z(e,"expected hexadecimal character");e.result+=rf(o),e.position++}else Z(e,"unknown escape sequence");n=r=e.position}else Et(a)?(Wt(e,n,r,!0),Lo(e,Oe(e,!1,t)),n=r=e.position):e.position===e.lineStart&&Ci(e)?Z(e,"unexpected end of the document within a double quoted scalar"):(e.position++,r=e.position)}Z(e,"unexpected end of the stream within a double quoted scalar")}function cf(e,t){var n=!0,r,i=e.tag,o,s=e.anchor,a,l,u,c,d,f={},p,m,v,g;if(g=e.input.charCodeAt(e.position),g===91)l=93,d=!1,o=[];else if(g===123)l=125,d=!0,o={};else return!1;for(e.anchor!==null&&(e.anchorMap[e.anchor]=o),g=e.input.charCodeAt(++e.position);g!==0;){if(Oe(e,!0,t),g=e.input.charCodeAt(e.position),g===l)return e.position++,e.tag=i,e.anchor=s,e.kind=d?"mapping":"sequence",e.result=o,!0;n||Z(e,"missed comma between flow collection entries"),m=p=v=null,u=c=!1,g===63&&(a=e.input.charCodeAt(e.position+1),Je(a)&&(u=c=!0,e.position++,Oe(e,!0,t))),r=e.line,Nn(e,t,si,!1,!0),m=e.tag,p=e.result,Oe(e,!0,t),g=e.input.charCodeAt(e.position),(c||e.line===r)&&g===58&&(u=!0,g=e.input.charCodeAt(++e.position),Oe(e,!0,t),Nn(e,t,si,!1,!0),v=e.result),d?xn(e,o,f,m,p,v):u?o.push(xn(e,null,f,m,p,v)):o.push(p),Oe(e,!0,t),g=e.input.charCodeAt(e.position),g===44?(n=!0,g=e.input.charCodeAt(++e.position)):n=!1}Z(e,"unexpected end of the stream within a flow collection")}function uf(e,t){var n,r,i=Ui,o=!1,s=!1,a=t,l=0,u=!1,c,d;if(d=e.input.charCodeAt(e.position),d===124)r=!1;else if(d===62)r=!0;else return!1;for(e.kind="scalar",e.result="";d!==0;)if(d=e.input.charCodeAt(++e.position),d===43||d===45)Ui===i?i=d===43?ks:Xh:Z(e,"repeat of a chomping mode identifier");else if((c=nf(d))>=0)c===0?Z(e,"bad explicit indentation width of a block scalar; it cannot be less than one"):s?Z(e,"repeat of an indentation width identifier"):(a=t+c-1,s=!0);else break;if(tn(d)){do d=e.input.charCodeAt(++e.position);while(tn(d));if(d===35)do d=e.input.charCodeAt(++e.position);while(!Et(d)&&d!==0)}for(;d!==0;){for(No(e),e.lineIndent=0,d=e.input.charCodeAt(e.position);(!s||e.lineIndenta&&(a=e.lineIndent),Et(d)){l++;continue}if(e.lineIndentt)&&l!==0)Z(e,"bad indentation of a sequence entry");else if(e.lineIndentt)&&(Nn(e,t,ai,!0,i)&&(m?f=e.result:p=e.result),m||(xn(e,u,c,d,f,p,s,o),d=f=p=null),Oe(e,!0,-1),g=e.input.charCodeAt(e.position)),e.lineIndent>t&&g!==0)Z(e,"bad indentation of a mapping entry");else if(e.lineIndentt?l=1:e.lineIndent===t?l=0:e.lineIndentt?l=1:e.lineIndent===t?l=0:e.lineIndent tag; it should be "scalar", not "'+e.kind+'"'),d=0,f=e.implicitTypes.length;d tag; it should be "'+p.kind+'", not "'+e.kind+'"'),p.resolve(e.result)?(e.result=p.construct(e.result),e.anchor!==null&&(e.anchorMap[e.anchor]=e.result)):Z(e,"cannot resolve a node with !<"+e.tag+"> explicit tag")):Z(e,"unknown tag !<"+e.tag+">");return e.listener!==null&&e.listener("close",e),e.tag!==null||e.anchor!==null||c}function mf(e){var t=e.position,n,r,i,s=!1,o;for(e.version=null,e.checkLineBreaks=e.legacy,e.tagMap={},e.anchorMap={};(o=e.input.charCodeAt(e.position))!==0&&(Oe(e,!0,-1),o=e.input.charCodeAt(e.position),!(e.lineIndent>0||o!==37));){for(s=!0,o=e.input.charCodeAt(++e.position),n=e.position;o!==0&&!Je(o);)o=e.input.charCodeAt(++e.position);for(r=e.input.slice(n,e.position),i=[],r.length<1&&Z(e,"directive name must not be less than one character in length");o!==0;){for(;tn(o);)o=e.input.charCodeAt(++e.position);if(o===35){do o=e.input.charCodeAt(++e.position);while(o!==0&&!Et(o));break}if(Et(o))break;for(n=e.position;o!==0&&!Je(o);)o=e.input.charCodeAt(++e.position);i.push(e.input.slice(n,e.position))}o!==0&&Ts(e),Zt.call(Io,r)?Io[r](e,r,i):li(e,'unknown document directive "'+r+'"')}if(Oe(e,!0,-1),e.lineIndent===0&&e.input.charCodeAt(e.position)===45&&e.input.charCodeAt(e.position+1)===45&&e.input.charCodeAt(e.position+2)===45?(e.position+=3,Oe(e,!0,-1)):s&&Z(e,"directives end mark is expected"),Nn(e,e.lineIndent-1,ai,!1,!0),Oe(e,!0,-1),e.checkLineBreaks&&Kh.test(e.input.slice(t,e.position))&&li(e,"non-ASCII line breaks are interpreted as content"),e.documents.push(e.result),e.position===e.lineStart&&Ii(e)){e.input.charCodeAt(e.position)===46&&(e.position+=3,Oe(e,!0,-1));return}if(e.position0?e.charCodeAt(s-1):null,f=f&&No(o,a)}else{for(s=0;sr&&e[d+1]!==" ",d=s);else if(!Ln(o))return Yr;a=s>0?e.charCodeAt(s-1):null,f=f&&No(o,a)}u=u||c&&s-d-1>r&&e[d+1]!==" "}return!l&&!u?f&&!i(e)?Dl:Bl:n>9&&$l(e)?Yr:u?zl:Fl}function Hf(e,t,n,r){e.dump=function(){if(t.length===0)return"''";if(!e.noCompatMode&&$f.indexOf(t)!==-1)return"'"+t+"'";var i=e.indent*Math.max(1,n),s=e.lineWidth===-1?-1:Math.max(Math.min(e.lineWidth,40),e.lineWidth-i),o=r||e.flowLevel>-1&&n>=e.flowLevel;function a(l){return Ff(e,l)}switch(Vf(t,o,e.indent,s,a)){case Dl:return t;case Bl:return"'"+t.replace(/'/g,"''")+"'";case Fl:return"|"+Lo(t,e.indent)+Ro(To(t,i));case zl:return">"+Lo(t,e.indent)+Ro(To(Uf(t,s),i));case Yr:return'"'+Gf(t)+'"';default:throw new Er("impossible error: invalid scalar style")}}()}function Lo(e,t){var n=$l(e)?String(t):"",r=e[e.length-1]===` +`,o?1+l:l),o=!0,s=!0,l=0,n=e.position;!Et(d)&&d!==0;)d=e.input.charCodeAt(++e.position);Wt(e,n,e.position,!1)}return!0}function Ms(e,t){var n,r=e.tag,i=e.anchor,o=[],s,a=!1,l;for(e.anchor!==null&&(e.anchorMap[e.anchor]=o),l=e.input.charCodeAt(e.position);l!==0&&!(l!==45||(s=e.input.charCodeAt(e.position+1),!Je(s)));){if(a=!0,e.position++,Oe(e,!0,-1)&&e.lineIndent<=t){o.push(null),l=e.input.charCodeAt(e.position);continue}if(n=e.line,Nn(e,t,vl,!1,!0),o.push(e.result),Oe(e,!0,-1),l=e.input.charCodeAt(e.position),(e.line===n||e.lineIndent>t)&&l!==0)Z(e,"bad indentation of a sequence entry");else if(e.lineIndentt)&&(Nn(e,t,ai,!0,i)&&(m?f=e.result:p=e.result),m||(xn(e,u,c,d,f,p,o,s),d=f=p=null),Oe(e,!0,-1),g=e.input.charCodeAt(e.position)),e.lineIndent>t&&g!==0)Z(e,"bad indentation of a mapping entry");else if(e.lineIndentt?l=1:e.lineIndent===t?l=0:e.lineIndentt?l=1:e.lineIndent===t?l=0:e.lineIndent tag; it should be "scalar", not "'+e.kind+'"'),d=0,f=e.implicitTypes.length;d tag; it should be "'+p.kind+'", not "'+e.kind+'"'),p.resolve(e.result)?(e.result=p.construct(e.result),e.anchor!==null&&(e.anchorMap[e.anchor]=e.result)):Z(e,"cannot resolve a node with !<"+e.tag+"> explicit tag")):Z(e,"unknown tag !<"+e.tag+">");return e.listener!==null&&e.listener("close",e),e.tag!==null||e.anchor!==null||c}function mf(e){var t=e.position,n,r,i,o=!1,s;for(e.version=null,e.checkLineBreaks=e.legacy,e.tagMap={},e.anchorMap={};(s=e.input.charCodeAt(e.position))!==0&&(Oe(e,!0,-1),s=e.input.charCodeAt(e.position),!(e.lineIndent>0||s!==37));){for(o=!0,s=e.input.charCodeAt(++e.position),n=e.position;s!==0&&!Je(s);)s=e.input.charCodeAt(++e.position);for(r=e.input.slice(n,e.position),i=[],r.length<1&&Z(e,"directive name must not be less than one character in length");s!==0;){for(;tn(s);)s=e.input.charCodeAt(++e.position);if(s===35){do s=e.input.charCodeAt(++e.position);while(s!==0&&!Et(s));break}if(Et(s))break;for(n=e.position;s!==0&&!Je(s);)s=e.input.charCodeAt(++e.position);i.push(e.input.slice(n,e.position))}s!==0&&No(e),Zt.call(Cs,r)?Cs[r](e,r,i):li(e,'unknown document directive "'+r+'"')}if(Oe(e,!0,-1),e.lineIndent===0&&e.input.charCodeAt(e.position)===45&&e.input.charCodeAt(e.position+1)===45&&e.input.charCodeAt(e.position+2)===45?(e.position+=3,Oe(e,!0,-1)):o&&Z(e,"directives end mark is expected"),Nn(e,e.lineIndent-1,ai,!1,!0),Oe(e,!0,-1),e.checkLineBreaks&&Kh.test(e.input.slice(t,e.position))&&li(e,"non-ASCII line breaks are interpreted as content"),e.documents.push(e.result),e.position===e.lineStart&&Ci(e)){e.input.charCodeAt(e.position)===46&&(e.position+=3,Oe(e,!0,-1));return}if(e.position0?e.charCodeAt(o-1):null,f=f&&Ns(s,a)}else{for(o=0;or&&e[d+1]!==" ",d=o);else if(!Ln(s))return Yr;a=o>0?e.charCodeAt(o-1):null,f=f&&Ns(s,a)}u=u||c&&o-d-1>r&&e[d+1]!==" "}return!l&&!u?f&&!i(e)?Dl:Bl:n>9&&$l(e)?Yr:u?zl:Fl}function Hf(e,t,n,r){e.dump=function(){if(t.length===0)return"''";if(!e.noCompatMode&&$f.indexOf(t)!==-1)return"'"+t+"'";var i=e.indent*Math.max(1,n),o=e.lineWidth===-1?-1:Math.max(Math.min(e.lineWidth,40),e.lineWidth-i),s=r||e.flowLevel>-1&&n>=e.flowLevel;function a(l){return Ff(e,l)}switch(Vf(t,s,e.indent,o,a)){case Dl:return t;case Bl:return"'"+t.replace(/'/g,"''")+"'";case Fl:return"|"+Ls(t,e.indent)+Rs(Ts(t,i));case zl:return">"+Ls(t,e.indent)+Rs(Ts(Uf(t,o),i));case Yr:return'"'+Gf(t)+'"';default:throw new Er("impossible error: invalid scalar style")}}()}function Ls(e,t){var n=$l(e)?String(t):"",r=e[e.length-1]===` `,i=r&&(e[e.length-2]===` `||e===` -`),s=i?"+":r?"":"-";return n+s+` -`}function Ro(e){return e[e.length-1]===` +`),o=i?"+":r?"":"-";return n+o+` +`}function Rs(e){return e[e.length-1]===` `?e.slice(0,-1):e}function Uf(e,t){for(var n=/(\n+)([^\n]*)/g,r=function(){var u=e.indexOf(` -`);return u=u!==-1?u:e.length,n.lastIndex=u,Po(e.slice(0,u),t)}(),i=e[0]===` -`||e[0]===" ",s,o;o=n.exec(e);){var a=o[1],l=o[2];s=l[0]===" ",r+=a+(!i&&!s&&l!==""?` -`:"")+Po(l,t),i=s}return r}function Po(e,t){if(e===""||e[0]===" ")return e;for(var n=/ [^ ]/g,r,i=0,s,o=0,a=0,l="";r=n.exec(e);)a=r.index,a-i>t&&(s=o>i?o:a,l+=` -`+e.slice(i,s),i=s+1),o=a;return l+=` -`,e.length-i>t&&o>i?l+=e.slice(i,o)+` -`+e.slice(o+1):l+=e.slice(i),l.slice(1)}function Gf(e){for(var t="",n,r,i,s=0;s=55296&&n<=56319&&(r=e.charCodeAt(s+1),r>=56320&&r<=57343)){t+=Oo((n-55296)*1024+r-56320+65536),s++;continue}i=je[n],t+=!i&&Ln(n)?e[s]:i||Oo(n)}return t}function Yf(e,t,n){var r="",i=e.tag,s,o;for(s=0,o=n.length;s1024&&(c+="? "),c+=e.dump+(e.condenseFlow?'"':"")+":"+(e.condenseFlow?"":" "),sn(e,t,u,!1,!1)&&(c+=e.dump,r+=c));e.tag=i,e.dump="{"+r+"}"}function Zf(e,t,n,r){var i="",s=e.tag,o=Object.keys(n),a,l,u,c,d,f;if(e.sortKeys===!0)o.sort();else if(typeof e.sortKeys=="function")o.sort(e.sortKeys);else if(e.sortKeys)throw new Er("sortKeys must be a boolean or a function");for(a=0,l=o.length;a1024,d&&(e.dump&&ar===e.dump.charCodeAt(0)?f+="?":f+="? "),f+=e.dump,d&&(f+=ls(e,t)),sn(e,t+1,c,!0,d)&&(e.dump&&ar===e.dump.charCodeAt(0)?f+=":":f+=": ",f+=e.dump,i+=f));e.tag=s,e.dump=i||"{}"}function $o(e,t,n){var r,i,s,o,a,l;for(i=n?e.explicitTypes:e.implicitTypes,s=0,o=i.length;s tag resolver accepts not "'+l+'" style');e.dump=r}return!0}return!1}function sn(e,t,n,r,i,s){e.tag=null,e.dump=n,$o(e,n,!1)||$o(e,n,!0);var o=Il.call(e.dump);r&&(r=e.flowLevel<0||e.flowLevel>t);var a=o==="[object Object]"||o==="[object Array]",l,u;if(a&&(l=e.duplicates.indexOf(n),u=l!==-1),(e.tag!==null&&e.tag!=="?"||u||e.indent!==2&&t>0)&&(i=!1),u&&e.usedDuplicates[l])e.dump="*ref_"+l;else{if(a&&u&&!e.usedDuplicates[l]&&(e.usedDuplicates[l]=!0),o==="[object Object]")r&&Object.keys(e.dump).length!==0?(Zf(e,t,e.dump,i),u&&(e.dump="&ref_"+l+e.dump)):(qf(e,t,e.dump),u&&(e.dump="&ref_"+l+" "+e.dump));else if(o==="[object Array]"){var c=e.noArrayIndent&&t>0?t-1:t;r&&e.dump.length!==0?(Wf(e,c,e.dump,i),u&&(e.dump="&ref_"+l+e.dump)):(Yf(e,c,e.dump),u&&(e.dump="&ref_"+l+" "+e.dump))}else if(o==="[object String]")e.tag!=="?"&&Hf(e,e.dump,t,s);else{if(e.skipInvalid)return!1;throw new Er("unacceptable kind of an object to dump "+o)}e.tag!==null&&e.tag!=="?"&&(e.dump="!<"+e.tag+"> "+e.dump)}return!0}function Xf(e,t){var n=[],r=[],i,s;for(cs(e,n,r),i=0,s=r.length;i("0"+e.toString(16)).substr(-2);function nn(e=12){var t=new Uint8Array(e/2);return window.crypto.getRandomValues(t),Array.from(t,n0).join("")}function zt(){return BigInt(Math.floor(Math.random()*Number.MAX_SAFE_INTEGER))}function Hl(e){const t=Math.floor(Math.random()*4294967296)-2147483648,n=e.get(new B.Path(["dimensions"]));e.set(new B.Path(["seed"]),t,!0),dn(n)&&Object.keys(n).forEach(r=>{e.set(new B.Path(["dimensions",r,"generator","seed"]),t,!0),e.set(new B.Path(["dimensions",r,"generator","biome_source","seed"]),t,!0)}),e.set(new B.Path(["placement","salt"]),Math.abs(t),!0),e.set(new B.Path(["generator","seed"]),t,!0),e.set(new B.Path(["generator","biome_source","seed"]),t)}function Ul(e){let t=0;for(let n=0;n=0&&(e=e.slice(0,t)),jt(e)}function Gl(e){const t=r0(e).replace(/^\//,"").replace(/\/$/,"");return me.generators.find(n=>n.url===t)}function Yl({path:e,search:t,hash:n,replace:r}){const i=(e!==void 0?jt(e):location.pathname)+(t!==void 0?t.startsWith("?")||t.length===0?t:"?"+t:location.search)+(n!==void 0?n.startsWith("#")?n:"#"+n:location.hash);qt(i,r)}function i0(e){const t=us.load(e.substring(3,e.indexOf("---",3)));return dn(t)?t:{}}function s0(e,t){var r;let n=0;for(;;){const i=e.indexOf("{#",n);if(i<0)break;const s=o0(e,i+2),o=e.indexOf("#[",i+1);let a="";if(o>=0&&oc.id===t);a=(r={version:u==null?void 0:u.id,pack_format:u==null?void 0:u.pack_format.toString()}[l])!=null?r:""}e=e.substring(0,i)+a+e.substring(s+2),n=i}return e}function o0(e,t){let n=0,r=0;for(;r++<1e3;){const i=e.indexOf("#}",t),s=e.indexOf("{#",t);if(i<0)return console.warn("Missing closing bracket"),e.length;if(s<0){if(n===0)return i;n-=1,t=i+2}else if(s>8)%256,(t>>16)%256]}function Gn(e){return e*e}function rt(e,t,n){return Math.max(e,Math.min(t,n))}function Gi(e,t,n){return n<0?e:n>1?t:Wr(n,e,t)}function Wr(e,t,n){return t+e*(n-t)}function a0(e,t,n,r,i,s){return Wr(t,Wr(e,n,r),Wr(e,i,s))}function ct(e){return e instanceof Error?e.message:`${e}`}const Oi=Qf();function on(e,t){if(e===t)return!0;if(e&&t&&typeof e=="object"&&typeof t=="object"){if(e.constructor!==t.constructor)return!1;let n,r;if(Array.isArray(e)){if(n=e.length,n!=t.length)return!1;for(r=0;r{}:f=>{const p=f.target.value;l==null||l(p)},c=pe(null);K(()=>{i&&c.current&&c.current.select()},[i]);const d=a&&nn();return h("div",{class:`btn btn-input ${n?"large-input":""} ${r?"larger-input":""}`,onClick:f=>f.stopPropagation()},e&&se[e],t&&h("span",null,t),h("input",{ref:c,type:"text",value:s,onChange:u,placeholder:o,list:d}),a&&h("datalist",{id:d},a.map(f=>h("option",{value:f}))))}function qn({cooldown:e,invert:t,initial:n}={}){const[r,i]=$(n),s=pe(void 0);return[r,()=>{i(!t),s.current!==void 0&&clearTimeout(s.current),s.current=setTimeout(()=>{i(!!t)},e!=null?e:2e3)}]}const ds=Symbol("async-cancel");function c0(e,t=[],n={loading:!1}){const[r,i]=$(n),s=pe(!1),o=pe(0);K(()=>(s.current=!0,()=>s.current=!1),[]);const a=Me((...l)=>{const u=++o.current;return r.loading||i(c=>xe(J({},c),{loading:!0})),e(...l).then(c=>(s.current&&u===o.current&&c!==ds&&i({value:c,loading:!1}),c),c=>{s.current&&u===o.current&&i({error:c,loading:!1})})},t);return[r,a]}function Ir(e,t=[],n={loading:!0}){const[r,i]=c0(e,t,n);return K(()=>{i()},[i]),r}function Cr({size:e,draw:t,onDrag:n,onHover:r,onLeave:i},s){const o=pe(null),a=pe(),l=pe(),u=pe([0,0]),c=pe(!1);K(()=>{if(!o.current)return;const p=_=>{a.current=[_.offsetX,_.offsetY]},m=_=>{if(a.current===void 0){if(!o.current)return;const b=_.offsetX/o.current.clientWidth,A=_.offsetY/o.current.clientHeight;r==null||r(b,A);return}if(!n)return;const y=_.offsetX-a.current[0],w=_.offsetY-a.current[1];y===0&&w===0||(u.current=[u.current[0]+y,u.current[1]+w],c.current||(l.current&&cancelAnimationFrame(l.current),l.current=requestAnimationFrame(async()=>{if(!o.current)return;c.current=!0;const b=u.current[0]/o.current.clientWidth,A=u.current[1]/o.current.clientHeight;u.current=[0,0],await(n==null?void 0:n(b,A)),c.current=!1}))),a.current=[_.offsetX,_.offsetY]},v=()=>{a.current=void 0},g=()=>{i==null||i()};return o.current.addEventListener("mousedown",p),o.current.addEventListener("mousemove",m),o.current.addEventListener("mouseleave",g),document.body.addEventListener("mouseup",v),()=>{var _,y,w;(_=o.current)==null||_.removeEventListener("mousedown",p),(y=o.current)==null||y.removeEventListener("mousemove",m),(w=o.current)==null||w.removeEventListener("mouseleave",g),document.body.removeEventListener("mouseup",v)}},[...s!=null?s:[],o.current]);const d=pe(),f=pe(0);return d.current=async()=>{if(!o.current)return;const p=o.current.getContext("2d"),m=e();o.current.width=m[0],o.current.height=m[1];const v=p.getImageData(0,0,m[0],m[1]),g=f.current+=1;try{await t(v)}catch(_){throw _}g===f.current&&p.putImageData(v,0,0)},{canvas:o,redraw:d.current}}function Ps(){const[e,t]=$(!1),n=()=>{t(!1)};return K(()=>(e&&(document.body.addEventListener("click",n),document.body.addEventListener("contextmenu",n)),()=>{document.body.removeEventListener("click",n),document.body.removeEventListener("contextmenu",n)}),[e]),[e,()=>t(!0)]}function u0(){const[e,t]=$(window.location.hash),n=Me(()=>{t(window.location.hash)},[]);K(()=>(window.addEventListener("hashchange",n),window.addEventListener("replacestate",n),()=>{window.removeEventListener("hashchange",n),window.removeEventListener("replacestate",n)}),[]);const r=Me(i=>{i!==e&&Yl({hash:i})},[e]);return[e,r]}function Do(e){const[t,n]=$(matchMedia(e).matches),r=i=>{n(i.matches)};return K(()=>{const i=matchMedia(e);return i.addEventListener("change",r),()=>{i.removeEventListener("change",r)}},[e]),t}function Ti(e,t,n){const r={invalidated(){e&&t(e)}};K(()=>(e==null||e.addListener(r),()=>{e==null||e.removeListener(r)}),[e,...n!=null?n:[]])}const Bo=(e,t)=>{var n;return(n=new URLSearchParams(e).get(t))!=null?n:void 0};function lr(e){const t=window.location,[n,r]=$(Bo(t.search,e));K(()=>{const s=()=>{r(Bo(t.search,e))};return window.addEventListener("popstate",s),window.addEventListener("pushstate",s),window.addEventListener("replacestate",s),()=>{window.removeEventListener("popstate",s),window.removeEventListener("pushstate",s),window.removeEventListener("replacestate",s)}},[]);const i=Me((s,o)=>{if(s!==n){r(s);const a=new URLSearchParams(t.search);s===void 0||s.length===0?a.delete(e):a.set(e,s),Yl({search:a.toString().replaceAll("%7C","|"),replace:o})}},[n]);return[n,i]}function Ke(e){const{icon:t,label:n,relative:r,tooltip:i,tooltipLoc:s,children:o}=e,[a,l]=Ps();return h("div",J({class:`btn-menu${r===!1?" no-relative":""}`},e),h(q,{icon:t,label:n,tooltip:i,tooltipLoc:s,onClick:l}),a&&h("div",{class:"btn-group"},o))}const d0="modulepreload",Fo={},h0="/",ae=function(t,n){return!n||n.length===0?t():Promise.all(n.map(r=>{if(r=`${h0}${r}`,r in Fo)return;Fo[r]=!0;const i=r.endsWith(".css"),s=i?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${r}"]${s}`))return;const o=document.createElement("link");if(o.rel=i?"stylesheet":d0,i||(o.as="script",o.crossOrigin=""),o.href=r,document.head.appendChild(o),i)return new Promise((a,l)=>{o.addEventListener("load",a),o.addEventListener("error",()=>l(new Error(`Unable to preload CSS for ${r}`)))})})).then(()=>t())},se={alert:h("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},h("path",{"fill-rule":"evenodd",d:"M8.22 1.754a.25.25 0 00-.44 0L1.698 13.132a.25.25 0 00.22.368h12.164a.25.25 0 00.22-.368L8.22 1.754zm-1.763-.707c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0114.082 15H1.918a1.75 1.75 0 01-1.543-2.575L6.457 1.047zM9 11a1 1 0 11-2 0 1 1 0 012 0zm-.25-5.25a.75.75 0 00-1.5 0v2.5a.75.75 0 001.5 0v-2.5z"})),archive:h("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},h("path",{"fill-rule":"evenodd",d:"M1.75 2.5a.25.25 0 00-.25.25v1.5c0 .138.112.25.25.25h12.5a.25.25 0 00.25-.25v-1.5a.25.25 0 00-.25-.25H1.75zM0 2.75C0 1.784.784 1 1.75 1h12.5c.966 0 1.75.784 1.75 1.75v1.5A1.75 1.75 0 0114.25 6H1.75A1.75 1.75 0 010 4.25v-1.5zM1.75 7a.75.75 0 01.75.75v5.5c0 .138.112.25.25.25h10.5a.25.25 0 00.25-.25v-5.5a.75.75 0 111.5 0v5.5A1.75 1.75 0 0113.25 15H2.75A1.75 1.75 0 011 13.25v-5.5A.75.75 0 011.75 7zm4.5 1a.75.75 0 000 1.5h3.5a.75.75 0 100-1.5h-3.5z"})),arrow_left:h("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},h("path",{"fill-rule":"evenodd",d:"M7.78 12.53a.75.75 0 01-1.06 0L2.47 8.28a.75.75 0 010-1.06l4.25-4.25a.75.75 0 011.06 1.06L4.81 7h7.44a.75.75 0 010 1.5H4.81l2.97 2.97a.75.75 0 010 1.06z"})),arrow_right:h("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},h("path",{"fill-rule":"evenodd",d:"M8.22 2.97a.75.75 0 011.06 0l4.25 4.25a.75.75 0 010 1.06l-4.25 4.25a.75.75 0 01-1.06-1.06l2.97-2.97H3.75a.75.75 0 010-1.5h7.44L8.22 4.03a.75.75 0 010-1.06z"})),check:h("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},h("path",{"fill-rule":"evenodd",d:"M13.78 4.22a.75.75 0 010 1.06l-7.25 7.25a.75.75 0 01-1.06 0L2.22 9.28a.75.75 0 011.06-1.06L6 10.94l6.72-6.72a.75.75 0 011.06 0z"})),chevron_down:h("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},h("path",{"fill-rule":"evenodd",d:"M12.78 6.22a.75.75 0 010 1.06l-4.25 4.25a.75.75 0 01-1.06 0L3.22 7.28a.75.75 0 011.06-1.06L8 9.94l3.72-3.72a.75.75 0 011.06 0z"})),chevron_right:h("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},h("path",{"fill-rule":"evenodd",d:"M6.22 3.22a.75.75 0 011.06 0l4.25 4.25a.75.75 0 010 1.06l-4.25 4.25a.75.75 0 01-1.06-1.06L9.94 8 6.22 4.28a.75.75 0 010-1.06z"})),chevron_up:h("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},h("path",{"fill-rule":"evenodd",d:"M3.22 9.78a.75.75 0 010-1.06l4.25-4.25a.75.75 0 011.06 0l4.25 4.25a.75.75 0 01-1.06 1.06L8 6.06 4.28 9.78a.75.75 0 01-1.06 0z"})),clippy:h("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},h("path",{"fill-rule":"evenodd",d:"M5.75 1a.75.75 0 00-.75.75v3c0 .414.336.75.75.75h4.5a.75.75 0 00.75-.75v-3a.75.75 0 00-.75-.75h-4.5zm.75 3V2.5h3V4h-3zm-2.874-.467a.75.75 0 00-.752-1.298A1.75 1.75 0 002 3.75v9.5c0 .966.784 1.75 1.75 1.75h8.5A1.75 1.75 0 0014 13.25v-9.5a1.75 1.75 0 00-.874-1.515.75.75 0 10-.752 1.298.25.25 0 01.126.217v9.5a.25.25 0 01-.25.25h-8.5a.25.25 0 01-.25-.25v-9.5a.25.25 0 01.126-.217z"})),code:h("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},h("path",{"fill-rule":"evenodd",d:"M4.72 3.22a.75.75 0 011.06 1.06L2.06 8l3.72 3.72a.75.75 0 11-1.06 1.06L.47 8.53a.75.75 0 010-1.06l4.25-4.25zm6.56 0a.75.75 0 10-1.06 1.06L13.94 8l-3.72 3.72a.75.75 0 101.06 1.06l4.25-4.25a.75.75 0 000-1.06l-4.25-4.25z"})),dash:h("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},h("path",{"fill-rule":"evenodd",d:"M2 8a.75.75 0 01.75-.75h10.5a.75.75 0 010 1.5H2.75A.75.75 0 012 8z"})),device_desktop:h("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},h("path",{"fill-rule":"evenodd",d:"M1.75 2.5h12.5a.25.25 0 01.25.25v7.5a.25.25 0 01-.25.25H1.75a.25.25 0 01-.25-.25v-7.5a.25.25 0 01.25-.25zM14.25 1H1.75A1.75 1.75 0 000 2.75v7.5C0 11.216.784 12 1.75 12h3.727c-.1 1.041-.52 1.872-1.292 2.757A.75.75 0 004.75 16h6.5a.75.75 0 00.565-1.243c-.772-.885-1.193-1.716-1.292-2.757h3.727A1.75 1.75 0 0016 10.25v-7.5A1.75 1.75 0 0014.25 1zM9.018 12H6.982a5.72 5.72 0 01-.765 2.5h3.566a5.72 5.72 0 01-.765-2.5z"})),dot_fill:h("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},h("path",{"fill-rule":"evenodd",d:"M8 4a4 4 0 100 8 4 4 0 000-8z"})),download:h("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},h("path",{"fill-rule":"evenodd",d:"M7.47 10.78a.75.75 0 001.06 0l3.75-3.75a.75.75 0 00-1.06-1.06L8.75 8.44V1.75a.75.75 0 00-1.5 0v6.69L4.78 5.97a.75.75 0 00-1.06 1.06l3.75 3.75zM3.75 13a.75.75 0 000 1.5h8.5a.75.75 0 000-1.5h-8.5z"})),duplicate:h("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},h("path",{d:"M10.5 3a.75.75 0 01.75.75v1h1a.75.75 0 010 1.5h-1v1a.75.75 0 01-1.5 0v-1h-1a.75.75 0 010-1.5h1v-1A.75.75 0 0110.5 3z"}),h("path",{"fill-rule":"evenodd",d:"M6.75 0A1.75 1.75 0 005 1.75v7.5c0 .966.784 1.75 1.75 1.75h7.5A1.75 1.75 0 0016 9.25v-7.5A1.75 1.75 0 0014.25 0h-7.5zM6.5 1.75a.25.25 0 01.25-.25h7.5a.25.25 0 01.25.25v7.5a.25.25 0 01-.25.25h-7.5a.25.25 0 01-.25-.25v-7.5z"}),h("path",{d:"M1.75 5A1.75 1.75 0 000 6.75v7.5C0 15.216.784 16 1.75 16h7.5A1.75 1.75 0 0011 14.25v-1.5a.75.75 0 00-1.5 0v1.5a.25.25 0 01-.25.25h-7.5a.25.25 0 01-.25-.25v-7.5a.25.25 0 01.25-.25h1.5a.75.75 0 000-1.5h-1.5z"})),eye:h("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},h("path",{"fill-rule":"evenodd",d:"M1.679 7.932c.412-.621 1.242-1.75 2.366-2.717C5.175 4.242 6.527 3.5 8 3.5c1.473 0 2.824.742 3.955 1.715 1.124.967 1.954 2.096 2.366 2.717a.119.119 0 010 .136c-.412.621-1.242 1.75-2.366 2.717C10.825 11.758 9.473 12.5 8 12.5c-1.473 0-2.824-.742-3.955-1.715C2.92 9.818 2.09 8.69 1.679 8.068a.119.119 0 010-.136zM8 2c-1.981 0-3.67.992-4.933 2.078C1.797 5.169.88 6.423.43 7.1a1.619 1.619 0 000 1.798c.45.678 1.367 1.932 2.637 3.024C4.329 13.008 6.019 14 8 14c1.981 0 3.67-.992 4.933-2.078 1.27-1.091 2.187-2.345 2.637-3.023a1.619 1.619 0 000-1.798c-.45-.678-1.367-1.932-2.637-3.023C11.671 2.992 9.981 2 8 2zm0 8a2 2 0 100-4 2 2 0 000 4z"})),eye_closed:h("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},h("path",{"fill-rule":"evenodd",d:"M.143 2.31a.75.75 0 011.047-.167l14.5 10.5a.75.75 0 11-.88 1.214l-2.248-1.628C11.346 13.19 9.792 14 8 14c-1.981 0-3.67-.992-4.933-2.078C1.797 10.832.88 9.577.43 8.9a1.618 1.618 0 010-1.797c.353-.533.995-1.42 1.868-2.305L.31 3.357A.75.75 0 01.143 2.31zm3.386 3.378a14.21 14.21 0 00-1.85 2.244.12.12 0 00-.022.068c0 .021.006.045.022.068.412.621 1.242 1.75 2.366 2.717C5.175 11.758 6.527 12.5 8 12.5c1.195 0 2.31-.488 3.29-1.191L9.063 9.695A2 2 0 016.058 7.52l-2.53-1.832zM8 3.5c-.516 0-1.017.09-1.499.251a.75.75 0 11-.473-1.423A6.23 6.23 0 018 2c1.981 0 3.67.992 4.933 2.078 1.27 1.091 2.187 2.345 2.637 3.023a1.619 1.619 0 010 1.798c-.11.166-.248.365-.41.587a.75.75 0 11-1.21-.887c.148-.201.272-.382.371-.53a.119.119 0 000-.137c-.412-.621-1.242-1.75-2.366-2.717C10.825 4.242 9.473 3.5 8 3.5z"})),file:h("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},h("path",{"fill-rule":"evenodd",d:"M3.75 1.5a.25.25 0 00-.25.25v11.5c0 .138.112.25.25.25h8.5a.25.25 0 00.25-.25V6H9.75A1.75 1.75 0 018 4.25V1.5H3.75zm5.75.56v2.19c0 .138.112.25.25.25h2.19L9.5 2.06zM2 1.75C2 .784 2.784 0 3.75 0h5.086c.464 0 .909.184 1.237.513l3.414 3.414c.329.328.513.773.513 1.237v8.086A1.75 1.75 0 0112.25 15h-8.5A1.75 1.75 0 012 13.25V1.75z"})),file_directory:h("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},h("path",{"fill-rule":"evenodd",d:"M1.75 1A1.75 1.75 0 000 2.75v10.5C0 14.216.784 15 1.75 15h12.5A1.75 1.75 0 0016 13.25v-8.5A1.75 1.75 0 0014.25 3h-6.5a.25.25 0 01-.2-.1l-.9-1.2c-.33-.44-.85-.7-1.4-.7h-3.5z"})),gear:h("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},h("path",{"fill-rule":"evenodd",d:"M7.429 1.525a6.593 6.593 0 011.142 0c.036.003.108.036.137.146l.289 1.105c.147.56.55.967.997 1.189.174.086.341.183.501.29.417.278.97.423 1.53.27l1.102-.303c.11-.03.175.016.195.046.219.31.41.641.573.989.014.031.022.11-.059.19l-.815.806c-.411.406-.562.957-.53 1.456a4.588 4.588 0 010 .582c-.032.499.119 1.05.53 1.456l.815.806c.08.08.073.159.059.19a6.494 6.494 0 01-.573.99c-.02.029-.086.074-.195.045l-1.103-.303c-.559-.153-1.112-.008-1.529.27-.16.107-.327.204-.5.29-.449.222-.851.628-.998 1.189l-.289 1.105c-.029.11-.101.143-.137.146a6.613 6.613 0 01-1.142 0c-.036-.003-.108-.037-.137-.146l-.289-1.105c-.147-.56-.55-.967-.997-1.189a4.502 4.502 0 01-.501-.29c-.417-.278-.97-.423-1.53-.27l-1.102.303c-.11.03-.175-.016-.195-.046a6.492 6.492 0 01-.573-.989c-.014-.031-.022-.11.059-.19l.815-.806c.411-.406.562-.957.53-1.456a4.587 4.587 0 010-.582c.032-.499-.119-1.05-.53-1.456l-.815-.806c-.08-.08-.073-.159-.059-.19a6.44 6.44 0 01.573-.99c.02-.029.086-.075.195-.045l1.103.303c.559.153 1.112.008 1.529-.27.16-.107.327-.204.5-.29.449-.222.851-.628.998-1.189l.289-1.105c.029-.11.101-.143.137-.146zM8 0c-.236 0-.47.01-.701.03-.743.065-1.29.615-1.458 1.261l-.29 1.106c-.017.066-.078.158-.211.224a5.994 5.994 0 00-.668.386c-.123.082-.233.09-.3.071L3.27 2.776c-.644-.177-1.392.02-1.82.63a7.977 7.977 0 00-.704 1.217c-.315.675-.111 1.422.363 1.891l.815.806c.05.048.098.147.088.294a6.084 6.084 0 000 .772c.01.147-.038.246-.088.294l-.815.806c-.474.469-.678 1.216-.363 1.891.2.428.436.835.704 1.218.428.609 1.176.806 1.82.63l1.103-.303c.066-.019.176-.011.299.071.213.143.436.272.668.386.133.066.194.158.212.224l.289 1.106c.169.646.715 1.196 1.458 1.26a8.094 8.094 0 001.402 0c.743-.064 1.29-.614 1.458-1.26l.29-1.106c.017-.066.078-.158.211-.224a5.98 5.98 0 00.668-.386c.123-.082.233-.09.3-.071l1.102.302c.644.177 1.392-.02 1.82-.63.268-.382.505-.789.704-1.217.315-.675.111-1.422-.364-1.891l-.814-.806c-.05-.048-.098-.147-.088-.294a6.1 6.1 0 000-.772c-.01-.147.039-.246.088-.294l.814-.806c.475-.469.679-1.216.364-1.891a7.992 7.992 0 00-.704-1.218c-.428-.609-1.176-.806-1.82-.63l-1.103.303c-.066.019-.176.011-.299-.071a5.991 5.991 0 00-.668-.386c-.133-.066-.194-.158-.212-.224L10.16 1.29C9.99.645 9.444.095 8.701.031A8.094 8.094 0 008 0zm1.5 8a1.5 1.5 0 11-3 0 1.5 1.5 0 013 0zM11 8a3 3 0 11-6 0 3 3 0 016 0z"})),globe:h("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},h("path",{"fill-rule":"evenodd",d:"M1.543 7.25h2.733c.144-2.074.866-3.756 1.58-4.948.12-.197.237-.381.353-.552a6.506 6.506 0 00-4.666 5.5zm2.733 1.5H1.543a6.506 6.506 0 004.666 5.5 11.13 11.13 0 01-.352-.552c-.715-1.192-1.437-2.874-1.581-4.948zm1.504 0h4.44a9.637 9.637 0 01-1.363 4.177c-.306.51-.612.919-.857 1.215a9.978 9.978 0 01-.857-1.215A9.637 9.637 0 015.78 8.75zm4.44-1.5H5.78a9.637 9.637 0 011.363-4.177c.306-.51.612-.919.857-1.215.245.296.55.705.857 1.215A9.638 9.638 0 0110.22 7.25zm1.504 1.5c-.144 2.074-.866 3.756-1.58 4.948-.12.197-.237.381-.353.552a6.506 6.506 0 004.666-5.5h-2.733zm2.733-1.5h-2.733c-.144-2.074-.866-3.756-1.58-4.948a11.738 11.738 0 00-.353-.552 6.506 6.506 0 014.666 5.5zM8 0a8 8 0 100 16A8 8 0 008 0z"})),history:h("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},h("path",{"fill-rule":"evenodd",d:"M1.643 3.143L.427 1.927A.25.25 0 000 2.104V5.75c0 .138.112.25.25.25h3.646a.25.25 0 00.177-.427L2.715 4.215a6.5 6.5 0 11-1.18 4.458.75.75 0 10-1.493.154 8.001 8.001 0 101.6-5.684zM7.75 4a.75.75 0 01.75.75v2.992l2.028.812a.75.75 0 01-.557 1.392l-2.5-1A.75.75 0 017 8.25v-3.5A.75.75 0 017.75 4z"})),info:h("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},h("path",{"fill-rule":"evenodd",d:"M8 1.5a6.5 6.5 0 100 13 6.5 6.5 0 000-13zM0 8a8 8 0 1116 0A8 8 0 010 8zm6.5-.25A.75.75 0 017.25 7h1a.75.75 0 01.75.75v2.75h.25a.75.75 0 010 1.5h-2a.75.75 0 010-1.5h.25v-2h-.25a.75.75 0 01-.75-.75zM8 6a1 1 0 100-2 1 1 0 000 2z"})),issue_opened:h("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},h("path",{"fill-rule":"evenodd",d:"M8 1.5a6.5 6.5 0 100 13 6.5 6.5 0 000-13zM0 8a8 8 0 1116 0A8 8 0 010 8zm9 3a1 1 0 11-2 0 1 1 0 012 0zm-.25-6.25a.75.75 0 00-1.5 0v3.5a.75.75 0 001.5 0v-3.5z"})),kebab_horizontal:h("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},h("path",{d:"M8 9a1.5 1.5 0 100-3 1.5 1.5 0 000 3zM1.5 9a1.5 1.5 0 100-3 1.5 1.5 0 000 3zm13 0a1.5 1.5 0 100-3 1.5 1.5 0 000 3z"})),link:h("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},h("path",{"fill-rule":"evenodd",d:"M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"})),link_external:h("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},h("path",{"fill-rule":"evenodd",d:"M10.604 1h4.146a.25.25 0 01.25.25v4.146a.25.25 0 01-.427.177L13.03 4.03 9.28 7.78a.75.75 0 01-1.06-1.06l3.75-3.75-1.543-1.543A.25.25 0 0110.604 1zM3.75 2A1.75 1.75 0 002 3.75v8.5c0 .966.784 1.75 1.75 1.75h8.5A1.75 1.75 0 0014 12.25v-3.5a.75.75 0 00-1.5 0v3.5a.25.25 0 01-.25.25h-8.5a.25.25 0 01-.25-.25v-8.5a.25.25 0 01.25-.25h3.5a.75.75 0 000-1.5h-3.5z"})),mark_github:h("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},h("path",{"fill-rule":"evenodd",d:"M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z"})),moon:h("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},h("path",{"fill-rule":"evenodd",d:"M9.598 1.591a.75.75 0 01.785-.175 7 7 0 11-8.967 8.967.75.75 0 01.961-.96 5.5 5.5 0 007.046-7.046.75.75 0 01.175-.786zm1.616 1.945a7 7 0 01-7.678 7.678 5.5 5.5 0 107.678-7.678z"})),play:h("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},h("path",{"fill-rule":"evenodd",d:"M1.5 8a6.5 6.5 0 1113 0 6.5 6.5 0 01-13 0zM8 0a8 8 0 100 16A8 8 0 008 0zM6.379 5.227A.25.25 0 006 5.442v5.117a.25.25 0 00.379.214l4.264-2.559a.25.25 0 000-.428L6.379 5.227z"})),plus:h("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},h("path",{"fill-rule":"evenodd",d:"M8 2a.75.75 0 01.75.75v4.5h4.5a.75.75 0 010 1.5h-4.5v4.5a.75.75 0 01-1.5 0v-4.5h-4.5a.75.75 0 010-1.5h4.5v-4.5A.75.75 0 018 2z"})),plus_circle:h("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},h("path",{"fill-rule":"evenodd",d:"M1.5 8a6.5 6.5 0 1113 0 6.5 6.5 0 01-13 0zM8 0a8 8 0 100 16A8 8 0 008 0zm.75 4.75a.75.75 0 00-1.5 0v2.5h-2.5a.75.75 0 000 1.5h2.5v2.5a.75.75 0 001.5 0v-2.5h2.5a.75.75 0 000-1.5h-2.5v-2.5z"})),repo:h("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},h("path",{"fill-rule":"evenodd",d:"M2 2.5A2.5 2.5 0 014.5 0h8.75a.75.75 0 01.75.75v12.5a.75.75 0 01-.75.75h-2.5a.75.75 0 110-1.5h1.75v-2h-8a1 1 0 00-.714 1.7.75.75 0 01-1.072 1.05A2.495 2.495 0 012 11.5v-9zm10.5-1V9h-8c-.356 0-.694.074-1 .208V2.5a1 1 0 011-1h8zM5 12.25v3.25a.25.25 0 00.4.2l1.45-1.087a.25.25 0 01.3 0L8.6 15.7a.25.25 0 00.4-.2v-3.25a.25.25 0 00-.25-.25h-3.5a.25.25 0 00-.25.25z"})),search:h("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},h("path",{"fill-rule":"evenodd",d:"M11.5 7a4.499 4.499 0 11-8.998 0A4.499 4.499 0 0111.5 7zm-.82 4.74a6 6 0 111.06-1.06l3.04 3.04a.75.75 0 11-1.06 1.06l-3.04-3.04z"})),sort_asc:h("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},h("path",{"fill-rule":"evenodd",d:"M0 4.25a.75.75 0 01.75-.75h2.5a.75.75 0 010 1.5H.75A.75.75 0 010 4.25zm0 4a.75.75 0 01.75-.75h4.5a.75.75 0 010 1.5H.75A.75.75 0 010 8.25zm0 4a.75.75 0 01.75-.75h7.5a.75.75 0 010 1.5H.75a.75.75 0 01-.75-.75zm12.927-9.677a.25.25 0 00-.354 0l-3 3A.25.25 0 009.75 6H12v6.75a.75.75 0 001.5 0V6h2.25a.25.25 0 00.177-.427l-3-3z"})),sort_desc:h("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},h("path",{"fill-rule":"evenodd",d:"M0 4.25a.75.75 0 01.75-.75h7.5a.75.75 0 010 1.5H.75A.75.75 0 010 4.25zm0 4a.75.75 0 01.75-.75h4.5a.75.75 0 010 1.5H.75A.75.75 0 010 8.25zm0 4a.75.75 0 01.75-.75h2.5a.75.75 0 010 1.5H.75a.75.75 0 01-.75-.75z"}),h("path",{d:"M13.5 10h2.25a.25.25 0 01.177.427l-3 3a.25.25 0 01-.354 0l-3-3A.25.25 0 019.75 10H12V3.75a.75.75 0 011.5 0V10z"})),square:h("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},h("path",{"fill-rule":"evenodd",d:"M4 5.75C4 4.784 4.784 4 5.75 4h4.5c.966 0 1.75.784 1.75 1.75v4.5A1.75 1.75 0 0110.25 12h-4.5A1.75 1.75 0 014 10.25v-4.5zm1.75-.25a.25.25 0 00-.25.25v4.5c0 .138.112.25.25.25h4.5a.25.25 0 00.25-.25v-4.5a.25.25 0 00-.25-.25h-4.5z"})),square_fill:h("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},h("path",{"fill-rule":"evenodd",d:"M5.75 4A1.75 1.75 0 004 5.75v4.5c0 .966.784 1.75 1.75 1.75h4.5A1.75 1.75 0 0012 10.25v-4.5A1.75 1.75 0 0010.25 4h-4.5z"})),stack:h("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},h("path",{"fill-rule":"evenodd",d:"M7.122.392a1.75 1.75 0 011.756 0l5.003 2.902c.83.481.83 1.68 0 2.162L8.878 8.358a1.75 1.75 0 01-1.756 0L2.119 5.456a1.25 1.25 0 010-2.162L7.122.392zM8.125 1.69a.25.25 0 00-.25 0l-4.63 2.685 4.63 2.685a.25.25 0 00.25 0l4.63-2.685-4.63-2.685zM1.601 7.789a.75.75 0 011.025-.273l5.249 3.044a.25.25 0 00.25 0l5.249-3.044a.75.75 0 01.752 1.298l-5.248 3.044a1.75 1.75 0 01-1.756 0L1.874 8.814A.75.75 0 011.6 7.789zm0 3.5a.75.75 0 011.025-.273l5.249 3.044a.25.25 0 00.25 0l5.249-3.044a.75.75 0 01.752 1.298l-5.248 3.044a1.75 1.75 0 01-1.756 0l-5.248-3.044a.75.75 0 01-.273-1.025z"})),sun:h("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},h("path",{"fill-rule":"evenodd",d:"M8 10.5a2.5 2.5 0 100-5 2.5 2.5 0 000 5zM8 12a4 4 0 100-8 4 4 0 000 8zM8 0a.75.75 0 01.75.75v1.5a.75.75 0 01-1.5 0V.75A.75.75 0 018 0zm0 13a.75.75 0 01.75.75v1.5a.75.75 0 01-1.5 0v-1.5A.75.75 0 018 13zM2.343 2.343a.75.75 0 011.061 0l1.06 1.061a.75.75 0 01-1.06 1.06l-1.06-1.06a.75.75 0 010-1.06zm9.193 9.193a.75.75 0 011.06 0l1.061 1.06a.75.75 0 01-1.06 1.061l-1.061-1.06a.75.75 0 010-1.061zM16 8a.75.75 0 01-.75.75h-1.5a.75.75 0 010-1.5h1.5A.75.75 0 0116 8zM3 8a.75.75 0 01-.75.75H.75a.75.75 0 010-1.5h1.5A.75.75 0 013 8zm10.657-5.657a.75.75 0 010 1.061l-1.061 1.06a.75.75 0 11-1.06-1.06l1.06-1.06a.75.75 0 011.06 0zm-9.193 9.193a.75.75 0 010 1.06l-1.06 1.061a.75.75 0 11-1.061-1.06l1.06-1.061a.75.75 0 011.061 0z"})),sync:h("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},h("path",{"fill-rule":"evenodd",d:"M8 2.5a5.487 5.487 0 00-4.131 1.869l1.204 1.204A.25.25 0 014.896 6H1.25A.25.25 0 011 5.75V2.104a.25.25 0 01.427-.177l1.38 1.38A7.001 7.001 0 0114.95 7.16a.75.75 0 11-1.49.178A5.501 5.501 0 008 2.5zM1.705 8.005a.75.75 0 01.834.656 5.501 5.501 0 009.592 2.97l-1.204-1.204a.25.25 0 01.177-.427h3.646a.25.25 0 01.25.25v3.646a.25.25 0 01-.427.177l-1.38-1.38A7.001 7.001 0 011.05 8.84a.75.75 0 01.656-.834z"})),tag:h("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},h("path",{"fill-rule":"evenodd",d:"M2.5 7.775V2.75a.25.25 0 01.25-.25h5.025a.25.25 0 01.177.073l6.25 6.25a.25.25 0 010 .354l-5.025 5.025a.25.25 0 01-.354 0l-6.25-6.25a.25.25 0 01-.073-.177zm-1.5 0V2.75C1 1.784 1.784 1 2.75 1h5.025c.464 0 .91.184 1.238.513l6.25 6.25a1.75 1.75 0 010 2.474l-5.026 5.026a1.75 1.75 0 01-2.474 0l-6.25-6.25A1.75 1.75 0 011 7.775zM6 5a1 1 0 100 2 1 1 0 000-2z"})),terminal:h("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},h("path",{"fill-rule":"evenodd",d:"M0 2.75C0 1.784.784 1 1.75 1h12.5c.966 0 1.75.784 1.75 1.75v10.5A1.75 1.75 0 0114.25 15H1.75A1.75 1.75 0 010 13.25V2.75zm1.75-.25a.25.25 0 00-.25.25v10.5c0 .138.112.25.25.25h12.5a.25.25 0 00.25-.25V2.75a.25.25 0 00-.25-.25H1.75zM7.25 8a.75.75 0 01-.22.53l-2.25 2.25a.75.75 0 11-1.06-1.06L5.44 8 3.72 6.28a.75.75 0 111.06-1.06l2.25 2.25c.141.14.22.331.22.53zm1.5 1.5a.75.75 0 000 1.5h3a.75.75 0 000-1.5h-3z"})),three_bars:h("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},h("path",{"fill-rule":"evenodd",d:"M1 2.75A.75.75 0 011.75 2h12.5a.75.75 0 110 1.5H1.75A.75.75 0 011 2.75zm0 5A.75.75 0 011.75 7h12.5a.75.75 0 110 1.5H1.75A.75.75 0 011 7.75zM1.75 12a.75.75 0 100 1.5h12.5a.75.75 0 100-1.5H1.75z"})),trashcan:h("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},h("path",{"fill-rule":"evenodd",d:"M6.5 1.75a.25.25 0 01.25-.25h2.5a.25.25 0 01.25.25V3h-3V1.75zm4.5 0V3h2.25a.75.75 0 010 1.5H2.75a.75.75 0 010-1.5H5V1.75C5 .784 5.784 0 6.75 0h2.5C10.216 0 11 .784 11 1.75zM4.496 6.675a.75.75 0 10-1.492.15l.66 6.6A1.75 1.75 0 005.405 15h5.19c.9 0 1.652-.681 1.741-1.576l.66-6.6a.75.75 0 00-1.492-.149l-.66 6.6a.25.25 0 01-.249.225h-5.19a.25.25 0 01-.249-.225l-.66-6.6z"})),unfold:h("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},h("path",{d:"M8.177.677l2.896 2.896a.25.25 0 01-.177.427H8.75v1.25a.75.75 0 01-1.5 0V4H5.104a.25.25 0 01-.177-.427L7.823.677a.25.25 0 01.354 0zM7.25 10.75a.75.75 0 011.5 0V12h2.146a.25.25 0 01.177.427l-2.896 2.896a.25.25 0 01-.354 0l-2.896-2.896A.25.25 0 015.104 12H7.25v-1.25zm-5-2a.75.75 0 000-1.5h-.5a.75.75 0 000 1.5h.5zM6 8a.75.75 0 01-.75.75h-.5a.75.75 0 010-1.5h.5A.75.75 0 016 8zm2.25.75a.75.75 0 000-1.5h-.5a.75.75 0 000 1.5h.5zM12 8a.75.75 0 01-.75.75h-.5a.75.75 0 010-1.5h.5A.75.75 0 0112 8zm2.25.75a.75.75 0 000-1.5h-.5a.75.75 0 000 1.5h.5z"})),upload:h("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},h("path",{"fill-rule":"evenodd",d:"M8.53 1.22a.75.75 0 00-1.06 0L3.72 4.97a.75.75 0 001.06 1.06l2.47-2.47v6.69a.75.75 0 001.5 0V3.56l2.47 2.47a.75.75 0 101.06-1.06L8.53 1.22zM3.75 13a.75.75 0 000 1.5h8.5a.75.75 0 000-1.5h-8.5z"})),x:h("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},h("path",{"fill-rule":"evenodd",d:"M3.72 3.72a.75.75 0 011.06 0L8 6.94l3.22-3.22a.75.75 0 111.06 1.06L9.06 8l3.22 3.22a.75.75 0 11-1.06 1.06L8 9.06l-3.22 3.22a.75.75 0 01-1.06-1.06L6.94 8 3.72 4.78a.75.75 0 010-1.06z"})),x_circle:h("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},h("path",{"fill-rule":"evenodd",d:"M3.404 12.596a6.5 6.5 0 119.192-9.192 6.5 6.5 0 01-9.192 9.192zM2.344 2.343a8 8 0 1011.313 11.314A8 8 0 002.343 2.343zM6.03 4.97a.75.75 0 00-1.06 1.06L6.94 8 4.97 9.97a.75.75 0 101.06 1.06L8 9.06l1.97 1.97a.75.75 0 101.06-1.06L9.06 8l1.97-1.97a.75.75 0 10-1.06-1.06L8 6.94 6.03 4.97z"}))};function kn({error:e,onDismiss:t}){const[n,r]=$(!1),[i,s]=$(void 0);K(()=>{if(e instanceof Error){const a=e.stack.split(` -`).map(l=>l.replace(/^(\s+)at (?:async )?(https?:.*)/,"$1at ($2)"));s(a.join(` -`)),ae(()=>import("./sourcemapped-stacktrace.c3be0085.js").then(function(l){return l.s}),[]).then(({mapStackTrace:l})=>{l(a.join(` +`);return u=u!==-1?u:e.length,n.lastIndex=u,Ps(e.slice(0,u),t)}(),i=e[0]===` +`||e[0]===" ",o,s;s=n.exec(e);){var a=s[1],l=s[2];o=l[0]===" ",r+=a+(!i&&!o&&l!==""?` +`:"")+Ps(l,t),i=o}return r}function Ps(e,t){if(e===""||e[0]===" ")return e;for(var n=/ [^ ]/g,r,i=0,o,s=0,a=0,l="";r=n.exec(e);)a=r.index,a-i>t&&(o=s>i?s:a,l+=` +`+e.slice(i,o),i=o+1),s=a;return l+=` +`,e.length-i>t&&s>i?l+=e.slice(i,s)+` +`+e.slice(s+1):l+=e.slice(i),l.slice(1)}function Gf(e){for(var t="",n,r,i,o=0;o=55296&&n<=56319&&(r=e.charCodeAt(o+1),r>=56320&&r<=57343)){t+=Os((n-55296)*1024+r-56320+65536),o++;continue}i=je[n],t+=!i&&Ln(n)?e[o]:i||Os(n)}return t}function Yf(e,t,n){var r="",i=e.tag,o,s;for(o=0,s=n.length;o1024&&(c+="? "),c+=e.dump+(e.condenseFlow?'"':"")+":"+(e.condenseFlow?"":" "),on(e,t,u,!1,!1)&&(c+=e.dump,r+=c));e.tag=i,e.dump="{"+r+"}"}function Zf(e,t,n,r){var i="",o=e.tag,s=Object.keys(n),a,l,u,c,d,f;if(e.sortKeys===!0)s.sort();else if(typeof e.sortKeys=="function")s.sort(e.sortKeys);else if(e.sortKeys)throw new Er("sortKeys must be a boolean or a function");for(a=0,l=s.length;a1024,d&&(e.dump&&ar===e.dump.charCodeAt(0)?f+="?":f+="? "),f+=e.dump,d&&(f+=lo(e,t)),on(e,t+1,c,!0,d)&&(e.dump&&ar===e.dump.charCodeAt(0)?f+=":":f+=": ",f+=e.dump,i+=f));e.tag=o,e.dump=i||"{}"}function $s(e,t,n){var r,i,o,s,a,l;for(i=n?e.explicitTypes:e.implicitTypes,o=0,s=i.length;o tag resolver accepts not "'+l+'" style');e.dump=r}return!0}return!1}function on(e,t,n,r,i,o){e.tag=null,e.dump=n,$s(e,n,!1)||$s(e,n,!0);var s=Cl.call(e.dump);r&&(r=e.flowLevel<0||e.flowLevel>t);var a=s==="[object Object]"||s==="[object Array]",l,u;if(a&&(l=e.duplicates.indexOf(n),u=l!==-1),(e.tag!==null&&e.tag!=="?"||u||e.indent!==2&&t>0)&&(i=!1),u&&e.usedDuplicates[l])e.dump="*ref_"+l;else{if(a&&u&&!e.usedDuplicates[l]&&(e.usedDuplicates[l]=!0),s==="[object Object]")r&&Object.keys(e.dump).length!==0?(Zf(e,t,e.dump,i),u&&(e.dump="&ref_"+l+e.dump)):(qf(e,t,e.dump),u&&(e.dump="&ref_"+l+" "+e.dump));else if(s==="[object Array]"){var c=e.noArrayIndent&&t>0?t-1:t;r&&e.dump.length!==0?(Wf(e,c,e.dump,i),u&&(e.dump="&ref_"+l+e.dump)):(Yf(e,c,e.dump),u&&(e.dump="&ref_"+l+" "+e.dump))}else if(s==="[object String]")e.tag!=="?"&&Hf(e,e.dump,t,o);else{if(e.skipInvalid)return!1;throw new Er("unacceptable kind of an object to dump "+s)}e.tag!==null&&e.tag!=="?"&&(e.dump="!<"+e.tag+"> "+e.dump)}return!0}function Xf(e,t){var n=[],r=[],i,o;for(co(e,n,r),i=0,o=r.length;i("0"+e.toString(16)).substr(-2);function nn(e=12){var t=new Uint8Array(e/2);return window.crypto.getRandomValues(t),Array.from(t,n0).join("")}function zt(){return BigInt(Math.floor(Math.random()*Number.MAX_SAFE_INTEGER))}function Hl(e){const t=Math.floor(Math.random()*4294967296)-2147483648,n=e.get(new B.Path(["dimensions"]));e.set(new B.Path(["seed"]),t,!0),dn(n)&&Object.keys(n).forEach(r=>{e.set(new B.Path(["dimensions",r,"generator","seed"]),t,!0),e.set(new B.Path(["dimensions",r,"generator","biome_source","seed"]),t,!0)}),e.set(new B.Path(["placement","salt"]),Math.abs(t),!0),e.set(new B.Path(["generator","seed"]),t,!0),e.set(new B.Path(["generator","biome_source","seed"]),t)}function Ul(e){let t=0;for(let n=0;n=0&&(e=e.slice(0,t)),jt(e)}function Gl(e){const t=r0(e).replace(/^\//,"").replace(/\/$/,"");return pe.generators.find(n=>n.url===t)}function Yl({path:e,search:t,hash:n,replace:r}){const i=(e!==void 0?jt(e):location.pathname)+(t!==void 0?t.startsWith("?")||t.length===0?t:"?"+t:location.search)+(n!==void 0?n.startsWith("#")?n:"#"+n:location.hash);qt(i,r)}function i0(e){const t=uo.load(e.substring(3,e.indexOf("---",3)));return dn(t)?t:{}}function o0(e,t){var r;let n=0;for(;;){const i=e.indexOf("{#",n);if(i<0)break;const o=s0(e,i+2),s=e.indexOf("#[",i+1);let a="";if(s>=0&&sc.id===t);a=(r={version:u==null?void 0:u.id,pack_format:u==null?void 0:u.pack_format.toString()}[l])!=null?r:""}e=e.substring(0,i)+a+e.substring(o+2),n=i}return e}function s0(e,t){let n=0,r=0;for(;r++<1e3;){const i=e.indexOf("#}",t),o=e.indexOf("{#",t);if(i<0)return console.warn("Missing closing bracket"),e.length;if(o<0){if(n===0)return i;n-=1,t=i+2}else if(o>8)%256,(t>>16)%256]}function Gn(e){return e*e}function rt(e,t,n){return Math.max(e,Math.min(t,n))}function Gi(e,t,n){return n<0?e:n>1?t:Wr(n,e,t)}function Wr(e,t,n){return t+e*(n-t)}function a0(e,t,n,r,i,o){return Wr(t,Wr(e,n,r),Wr(e,i,o))}function ct(e){return e instanceof Error?e.message:`${e}`}const Oi=Qf();function sn(e,t){if(e===t)return!0;if(e&&t&&typeof e=="object"&&typeof t=="object"){if(e.constructor!==t.constructor)return!1;let n,r;if(Array.isArray(e)){if(n=e.length,n!=t.length)return!1;for(r=0;r{}:f=>{const p=f.target.value;l==null||l(p)},c=me(null);K(()=>{i&&c.current&&c.current.select()},[i]);const d=a&&nn();return h("div",{class:`btn btn-input ${n?"large-input":""} ${r?"larger-input":""}`,onClick:f=>f.stopPropagation()},e&&oe[e],t&&h("span",null,t),h("input",{ref:c,type:"text",value:o,onChange:u,placeholder:s,list:d}),a&&h("datalist",{id:d},a.map(f=>h("option",{value:f}))))}function qn({cooldown:e,invert:t,initial:n}={}){const[r,i]=$(n),o=me(void 0);return[r,()=>{i(!t),o.current!==void 0&&clearTimeout(o.current),o.current=setTimeout(()=>{i(!!t)},e!=null?e:2e3)}]}const ho=Symbol("async-cancel");function c0(e,t=[],n={loading:!1}){const[r,i]=$(n),o=me(!1),s=me(0);K(()=>(o.current=!0,()=>o.current=!1),[]);const a=Me((...l)=>{const u=++s.current;return r.loading||i(c=>xe(J({},c),{loading:!0})),e(...l).then(c=>(o.current&&u===s.current&&c!==ho&&i({value:c,loading:!1}),c),c=>{o.current&&u===s.current&&i({error:c,loading:!1})})},t);return[r,a]}function Cr(e,t=[],n={loading:!0}){const[r,i]=c0(e,t,n);return K(()=>{i()},[i]),r}function Ir({size:e,draw:t,onDrag:n,onHover:r,onLeave:i},o){const s=me(null),a=me(),l=me(),u=me([0,0]),c=me(!1);K(()=>{if(!s.current)return;const p=_=>{a.current=[_.offsetX,_.offsetY]},m=_=>{if(a.current===void 0){if(!s.current)return;const x=_.offsetX/s.current.clientWidth,A=_.offsetY/s.current.clientHeight;r==null||r(x,A);return}if(!n)return;const b=_.offsetX-a.current[0],w=_.offsetY-a.current[1];b===0&&w===0||(u.current=[u.current[0]+b,u.current[1]+w],c.current||(l.current&&cancelAnimationFrame(l.current),l.current=requestAnimationFrame(async()=>{if(!s.current)return;c.current=!0;const x=u.current[0]/s.current.clientWidth,A=u.current[1]/s.current.clientHeight;u.current=[0,0],await(n==null?void 0:n(x,A)),c.current=!1}))),a.current=[_.offsetX,_.offsetY]},v=()=>{a.current=void 0},g=()=>{i==null||i()};return s.current.addEventListener("mousedown",p),s.current.addEventListener("mousemove",m),s.current.addEventListener("mouseleave",g),document.body.addEventListener("mouseup",v),()=>{var _,b,w;(_=s.current)==null||_.removeEventListener("mousedown",p),(b=s.current)==null||b.removeEventListener("mousemove",m),(w=s.current)==null||w.removeEventListener("mouseleave",g),document.body.removeEventListener("mouseup",v)}},[...o!=null?o:[],s.current]);const d=me(),f=me(0);return d.current=async()=>{if(!s.current)return;const p=s.current.getContext("2d"),m=e();s.current.width=m[0],s.current.height=m[1];const v=p.getImageData(0,0,m[0],m[1]),g=f.current+=1;try{await t(v)}catch(_){throw _}g===f.current&&p.putImageData(v,0,0)},{canvas:s,redraw:d.current}}function $o(){const[e,t]=$(!1),n=()=>{t(!1)};return K(()=>(e&&(document.body.addEventListener("click",n),document.body.addEventListener("contextmenu",n)),()=>{document.body.removeEventListener("click",n),document.body.removeEventListener("contextmenu",n)}),[e]),[e,()=>t(!0)]}function u0(){const[e,t]=$(window.location.hash),n=Me(()=>{t(window.location.hash)},[]);K(()=>(window.addEventListener("hashchange",n),window.addEventListener("replacestate",n),()=>{window.removeEventListener("hashchange",n),window.removeEventListener("replacestate",n)}),[]);const r=Me(i=>{i!==e&&Yl({hash:i})},[e]);return[e,r]}function Ds(e){const[t,n]=$(matchMedia(e).matches),r=i=>{n(i.matches)};return K(()=>{const i=matchMedia(e);return i.addEventListener("change",r),()=>{i.removeEventListener("change",r)}},[e]),t}function Ti(e,t,n){const r={invalidated(){e&&t(e)}};K(()=>(e==null||e.addListener(r),()=>{e==null||e.removeListener(r)}),[e,...n!=null?n:[]])}const Bs=(e,t)=>{var n;return(n=new URLSearchParams(e).get(t))!=null?n:void 0};function lr(e){const t=window.location,[n,r]=$(Bs(t.search,e));K(()=>{const o=()=>{r(Bs(t.search,e))};return window.addEventListener("popstate",o),window.addEventListener("pushstate",o),window.addEventListener("replacestate",o),()=>{window.removeEventListener("popstate",o),window.removeEventListener("pushstate",o),window.removeEventListener("replacestate",o)}},[]);const i=Me((o,s)=>{if(o!==n){r(o);const a=new URLSearchParams(t.search);o===void 0||o.length===0?a.delete(e):a.set(e,o),Yl({search:a.toString().replaceAll("%7C","|"),replace:s})}},[n]);return[n,i]}function Ke(e){const{icon:t,label:n,relative:r,tooltip:i,tooltipLoc:o,children:s}=e,[a,l]=$o();return h("div",J({class:`btn-menu${r===!1?" no-relative":""}`},e),h(q,{icon:t,label:n,tooltip:i,tooltipLoc:o,onClick:l}),a&&h("div",{class:"btn-group"},s))}const d0="modulepreload",Fs={},h0="/",ae=function(t,n){return!n||n.length===0?t():Promise.all(n.map(r=>{if(r=`${h0}${r}`,r in Fs)return;Fs[r]=!0;const i=r.endsWith(".css"),o=i?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${r}"]${o}`))return;const s=document.createElement("link");if(s.rel=i?"stylesheet":d0,i||(s.as="script",s.crossOrigin=""),s.href=r,document.head.appendChild(s),i)return new Promise((a,l)=>{s.addEventListener("load",a),s.addEventListener("error",()=>l(new Error(`Unable to preload CSS for ${r}`)))})})).then(()=>t())},oe={alert:h("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},h("path",{"fill-rule":"evenodd",d:"M8.22 1.754a.25.25 0 00-.44 0L1.698 13.132a.25.25 0 00.22.368h12.164a.25.25 0 00.22-.368L8.22 1.754zm-1.763-.707c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0114.082 15H1.918a1.75 1.75 0 01-1.543-2.575L6.457 1.047zM9 11a1 1 0 11-2 0 1 1 0 012 0zm-.25-5.25a.75.75 0 00-1.5 0v2.5a.75.75 0 001.5 0v-2.5z"})),archive:h("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},h("path",{"fill-rule":"evenodd",d:"M1.75 2.5a.25.25 0 00-.25.25v1.5c0 .138.112.25.25.25h12.5a.25.25 0 00.25-.25v-1.5a.25.25 0 00-.25-.25H1.75zM0 2.75C0 1.784.784 1 1.75 1h12.5c.966 0 1.75.784 1.75 1.75v1.5A1.75 1.75 0 0114.25 6H1.75A1.75 1.75 0 010 4.25v-1.5zM1.75 7a.75.75 0 01.75.75v5.5c0 .138.112.25.25.25h10.5a.25.25 0 00.25-.25v-5.5a.75.75 0 111.5 0v5.5A1.75 1.75 0 0113.25 15H2.75A1.75 1.75 0 011 13.25v-5.5A.75.75 0 011.75 7zm4.5 1a.75.75 0 000 1.5h3.5a.75.75 0 100-1.5h-3.5z"})),arrow_left:h("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},h("path",{"fill-rule":"evenodd",d:"M7.78 12.53a.75.75 0 01-1.06 0L2.47 8.28a.75.75 0 010-1.06l4.25-4.25a.75.75 0 011.06 1.06L4.81 7h7.44a.75.75 0 010 1.5H4.81l2.97 2.97a.75.75 0 010 1.06z"})),arrow_right:h("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},h("path",{"fill-rule":"evenodd",d:"M8.22 2.97a.75.75 0 011.06 0l4.25 4.25a.75.75 0 010 1.06l-4.25 4.25a.75.75 0 01-1.06-1.06l2.97-2.97H3.75a.75.75 0 010-1.5h7.44L8.22 4.03a.75.75 0 010-1.06z"})),check:h("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},h("path",{"fill-rule":"evenodd",d:"M13.78 4.22a.75.75 0 010 1.06l-7.25 7.25a.75.75 0 01-1.06 0L2.22 9.28a.75.75 0 011.06-1.06L6 10.94l6.72-6.72a.75.75 0 011.06 0z"})),chevron_down:h("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},h("path",{"fill-rule":"evenodd",d:"M12.78 6.22a.75.75 0 010 1.06l-4.25 4.25a.75.75 0 01-1.06 0L3.22 7.28a.75.75 0 011.06-1.06L8 9.94l3.72-3.72a.75.75 0 011.06 0z"})),chevron_right:h("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},h("path",{"fill-rule":"evenodd",d:"M6.22 3.22a.75.75 0 011.06 0l4.25 4.25a.75.75 0 010 1.06l-4.25 4.25a.75.75 0 01-1.06-1.06L9.94 8 6.22 4.28a.75.75 0 010-1.06z"})),chevron_up:h("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},h("path",{"fill-rule":"evenodd",d:"M3.22 9.78a.75.75 0 010-1.06l4.25-4.25a.75.75 0 011.06 0l4.25 4.25a.75.75 0 01-1.06 1.06L8 6.06 4.28 9.78a.75.75 0 01-1.06 0z"})),clippy:h("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},h("path",{"fill-rule":"evenodd",d:"M5.75 1a.75.75 0 00-.75.75v3c0 .414.336.75.75.75h4.5a.75.75 0 00.75-.75v-3a.75.75 0 00-.75-.75h-4.5zm.75 3V2.5h3V4h-3zm-2.874-.467a.75.75 0 00-.752-1.298A1.75 1.75 0 002 3.75v9.5c0 .966.784 1.75 1.75 1.75h8.5A1.75 1.75 0 0014 13.25v-9.5a1.75 1.75 0 00-.874-1.515.75.75 0 10-.752 1.298.25.25 0 01.126.217v9.5a.25.25 0 01-.25.25h-8.5a.25.25 0 01-.25-.25v-9.5a.25.25 0 01.126-.217z"})),code:h("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},h("path",{"fill-rule":"evenodd",d:"M4.72 3.22a.75.75 0 011.06 1.06L2.06 8l3.72 3.72a.75.75 0 11-1.06 1.06L.47 8.53a.75.75 0 010-1.06l4.25-4.25zm6.56 0a.75.75 0 10-1.06 1.06L13.94 8l-3.72 3.72a.75.75 0 101.06 1.06l4.25-4.25a.75.75 0 000-1.06l-4.25-4.25z"})),dash:h("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},h("path",{"fill-rule":"evenodd",d:"M2 8a.75.75 0 01.75-.75h10.5a.75.75 0 010 1.5H2.75A.75.75 0 012 8z"})),device_desktop:h("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},h("path",{"fill-rule":"evenodd",d:"M1.75 2.5h12.5a.25.25 0 01.25.25v7.5a.25.25 0 01-.25.25H1.75a.25.25 0 01-.25-.25v-7.5a.25.25 0 01.25-.25zM14.25 1H1.75A1.75 1.75 0 000 2.75v7.5C0 11.216.784 12 1.75 12h3.727c-.1 1.041-.52 1.872-1.292 2.757A.75.75 0 004.75 16h6.5a.75.75 0 00.565-1.243c-.772-.885-1.193-1.716-1.292-2.757h3.727A1.75 1.75 0 0016 10.25v-7.5A1.75 1.75 0 0014.25 1zM9.018 12H6.982a5.72 5.72 0 01-.765 2.5h3.566a5.72 5.72 0 01-.765-2.5z"})),dot_fill:h("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},h("path",{"fill-rule":"evenodd",d:"M8 4a4 4 0 100 8 4 4 0 000-8z"})),download:h("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},h("path",{"fill-rule":"evenodd",d:"M7.47 10.78a.75.75 0 001.06 0l3.75-3.75a.75.75 0 00-1.06-1.06L8.75 8.44V1.75a.75.75 0 00-1.5 0v6.69L4.78 5.97a.75.75 0 00-1.06 1.06l3.75 3.75zM3.75 13a.75.75 0 000 1.5h8.5a.75.75 0 000-1.5h-8.5z"})),duplicate:h("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},h("path",{d:"M10.5 3a.75.75 0 01.75.75v1h1a.75.75 0 010 1.5h-1v1a.75.75 0 01-1.5 0v-1h-1a.75.75 0 010-1.5h1v-1A.75.75 0 0110.5 3z"}),h("path",{"fill-rule":"evenodd",d:"M6.75 0A1.75 1.75 0 005 1.75v7.5c0 .966.784 1.75 1.75 1.75h7.5A1.75 1.75 0 0016 9.25v-7.5A1.75 1.75 0 0014.25 0h-7.5zM6.5 1.75a.25.25 0 01.25-.25h7.5a.25.25 0 01.25.25v7.5a.25.25 0 01-.25.25h-7.5a.25.25 0 01-.25-.25v-7.5z"}),h("path",{d:"M1.75 5A1.75 1.75 0 000 6.75v7.5C0 15.216.784 16 1.75 16h7.5A1.75 1.75 0 0011 14.25v-1.5a.75.75 0 00-1.5 0v1.5a.25.25 0 01-.25.25h-7.5a.25.25 0 01-.25-.25v-7.5a.25.25 0 01.25-.25h1.5a.75.75 0 000-1.5h-1.5z"})),eye:h("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},h("path",{"fill-rule":"evenodd",d:"M1.679 7.932c.412-.621 1.242-1.75 2.366-2.717C5.175 4.242 6.527 3.5 8 3.5c1.473 0 2.824.742 3.955 1.715 1.124.967 1.954 2.096 2.366 2.717a.119.119 0 010 .136c-.412.621-1.242 1.75-2.366 2.717C10.825 11.758 9.473 12.5 8 12.5c-1.473 0-2.824-.742-3.955-1.715C2.92 9.818 2.09 8.69 1.679 8.068a.119.119 0 010-.136zM8 2c-1.981 0-3.67.992-4.933 2.078C1.797 5.169.88 6.423.43 7.1a1.619 1.619 0 000 1.798c.45.678 1.367 1.932 2.637 3.024C4.329 13.008 6.019 14 8 14c1.981 0 3.67-.992 4.933-2.078 1.27-1.091 2.187-2.345 2.637-3.023a1.619 1.619 0 000-1.798c-.45-.678-1.367-1.932-2.637-3.023C11.671 2.992 9.981 2 8 2zm0 8a2 2 0 100-4 2 2 0 000 4z"})),eye_closed:h("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},h("path",{"fill-rule":"evenodd",d:"M.143 2.31a.75.75 0 011.047-.167l14.5 10.5a.75.75 0 11-.88 1.214l-2.248-1.628C11.346 13.19 9.792 14 8 14c-1.981 0-3.67-.992-4.933-2.078C1.797 10.832.88 9.577.43 8.9a1.618 1.618 0 010-1.797c.353-.533.995-1.42 1.868-2.305L.31 3.357A.75.75 0 01.143 2.31zm3.386 3.378a14.21 14.21 0 00-1.85 2.244.12.12 0 00-.022.068c0 .021.006.045.022.068.412.621 1.242 1.75 2.366 2.717C5.175 11.758 6.527 12.5 8 12.5c1.195 0 2.31-.488 3.29-1.191L9.063 9.695A2 2 0 016.058 7.52l-2.53-1.832zM8 3.5c-.516 0-1.017.09-1.499.251a.75.75 0 11-.473-1.423A6.23 6.23 0 018 2c1.981 0 3.67.992 4.933 2.078 1.27 1.091 2.187 2.345 2.637 3.023a1.619 1.619 0 010 1.798c-.11.166-.248.365-.41.587a.75.75 0 11-1.21-.887c.148-.201.272-.382.371-.53a.119.119 0 000-.137c-.412-.621-1.242-1.75-2.366-2.717C10.825 4.242 9.473 3.5 8 3.5z"})),file:h("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},h("path",{"fill-rule":"evenodd",d:"M3.75 1.5a.25.25 0 00-.25.25v11.5c0 .138.112.25.25.25h8.5a.25.25 0 00.25-.25V6H9.75A1.75 1.75 0 018 4.25V1.5H3.75zm5.75.56v2.19c0 .138.112.25.25.25h2.19L9.5 2.06zM2 1.75C2 .784 2.784 0 3.75 0h5.086c.464 0 .909.184 1.237.513l3.414 3.414c.329.328.513.773.513 1.237v8.086A1.75 1.75 0 0112.25 15h-8.5A1.75 1.75 0 012 13.25V1.75z"})),file_directory:h("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},h("path",{"fill-rule":"evenodd",d:"M1.75 1A1.75 1.75 0 000 2.75v10.5C0 14.216.784 15 1.75 15h12.5A1.75 1.75 0 0016 13.25v-8.5A1.75 1.75 0 0014.25 3h-6.5a.25.25 0 01-.2-.1l-.9-1.2c-.33-.44-.85-.7-1.4-.7h-3.5z"})),gear:h("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},h("path",{"fill-rule":"evenodd",d:"M7.429 1.525a6.593 6.593 0 011.142 0c.036.003.108.036.137.146l.289 1.105c.147.56.55.967.997 1.189.174.086.341.183.501.29.417.278.97.423 1.53.27l1.102-.303c.11-.03.175.016.195.046.219.31.41.641.573.989.014.031.022.11-.059.19l-.815.806c-.411.406-.562.957-.53 1.456a4.588 4.588 0 010 .582c-.032.499.119 1.05.53 1.456l.815.806c.08.08.073.159.059.19a6.494 6.494 0 01-.573.99c-.02.029-.086.074-.195.045l-1.103-.303c-.559-.153-1.112-.008-1.529.27-.16.107-.327.204-.5.29-.449.222-.851.628-.998 1.189l-.289 1.105c-.029.11-.101.143-.137.146a6.613 6.613 0 01-1.142 0c-.036-.003-.108-.037-.137-.146l-.289-1.105c-.147-.56-.55-.967-.997-1.189a4.502 4.502 0 01-.501-.29c-.417-.278-.97-.423-1.53-.27l-1.102.303c-.11.03-.175-.016-.195-.046a6.492 6.492 0 01-.573-.989c-.014-.031-.022-.11.059-.19l.815-.806c.411-.406.562-.957.53-1.456a4.587 4.587 0 010-.582c.032-.499-.119-1.05-.53-1.456l-.815-.806c-.08-.08-.073-.159-.059-.19a6.44 6.44 0 01.573-.99c.02-.029.086-.075.195-.045l1.103.303c.559.153 1.112.008 1.529-.27.16-.107.327-.204.5-.29.449-.222.851-.628.998-1.189l.289-1.105c.029-.11.101-.143.137-.146zM8 0c-.236 0-.47.01-.701.03-.743.065-1.29.615-1.458 1.261l-.29 1.106c-.017.066-.078.158-.211.224a5.994 5.994 0 00-.668.386c-.123.082-.233.09-.3.071L3.27 2.776c-.644-.177-1.392.02-1.82.63a7.977 7.977 0 00-.704 1.217c-.315.675-.111 1.422.363 1.891l.815.806c.05.048.098.147.088.294a6.084 6.084 0 000 .772c.01.147-.038.246-.088.294l-.815.806c-.474.469-.678 1.216-.363 1.891.2.428.436.835.704 1.218.428.609 1.176.806 1.82.63l1.103-.303c.066-.019.176-.011.299.071.213.143.436.272.668.386.133.066.194.158.212.224l.289 1.106c.169.646.715 1.196 1.458 1.26a8.094 8.094 0 001.402 0c.743-.064 1.29-.614 1.458-1.26l.29-1.106c.017-.066.078-.158.211-.224a5.98 5.98 0 00.668-.386c.123-.082.233-.09.3-.071l1.102.302c.644.177 1.392-.02 1.82-.63.268-.382.505-.789.704-1.217.315-.675.111-1.422-.364-1.891l-.814-.806c-.05-.048-.098-.147-.088-.294a6.1 6.1 0 000-.772c-.01-.147.039-.246.088-.294l.814-.806c.475-.469.679-1.216.364-1.891a7.992 7.992 0 00-.704-1.218c-.428-.609-1.176-.806-1.82-.63l-1.103.303c-.066.019-.176.011-.299-.071a5.991 5.991 0 00-.668-.386c-.133-.066-.194-.158-.212-.224L10.16 1.29C9.99.645 9.444.095 8.701.031A8.094 8.094 0 008 0zm1.5 8a1.5 1.5 0 11-3 0 1.5 1.5 0 013 0zM11 8a3 3 0 11-6 0 3 3 0 016 0z"})),globe:h("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},h("path",{"fill-rule":"evenodd",d:"M1.543 7.25h2.733c.144-2.074.866-3.756 1.58-4.948.12-.197.237-.381.353-.552a6.506 6.506 0 00-4.666 5.5zm2.733 1.5H1.543a6.506 6.506 0 004.666 5.5 11.13 11.13 0 01-.352-.552c-.715-1.192-1.437-2.874-1.581-4.948zm1.504 0h4.44a9.637 9.637 0 01-1.363 4.177c-.306.51-.612.919-.857 1.215a9.978 9.978 0 01-.857-1.215A9.637 9.637 0 015.78 8.75zm4.44-1.5H5.78a9.637 9.637 0 011.363-4.177c.306-.51.612-.919.857-1.215.245.296.55.705.857 1.215A9.638 9.638 0 0110.22 7.25zm1.504 1.5c-.144 2.074-.866 3.756-1.58 4.948-.12.197-.237.381-.353.552a6.506 6.506 0 004.666-5.5h-2.733zm2.733-1.5h-2.733c-.144-2.074-.866-3.756-1.58-4.948a11.738 11.738 0 00-.353-.552 6.506 6.506 0 014.666 5.5zM8 0a8 8 0 100 16A8 8 0 008 0z"})),history:h("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},h("path",{"fill-rule":"evenodd",d:"M1.643 3.143L.427 1.927A.25.25 0 000 2.104V5.75c0 .138.112.25.25.25h3.646a.25.25 0 00.177-.427L2.715 4.215a6.5 6.5 0 11-1.18 4.458.75.75 0 10-1.493.154 8.001 8.001 0 101.6-5.684zM7.75 4a.75.75 0 01.75.75v2.992l2.028.812a.75.75 0 01-.557 1.392l-2.5-1A.75.75 0 017 8.25v-3.5A.75.75 0 017.75 4z"})),info:h("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},h("path",{"fill-rule":"evenodd",d:"M8 1.5a6.5 6.5 0 100 13 6.5 6.5 0 000-13zM0 8a8 8 0 1116 0A8 8 0 010 8zm6.5-.25A.75.75 0 017.25 7h1a.75.75 0 01.75.75v2.75h.25a.75.75 0 010 1.5h-2a.75.75 0 010-1.5h.25v-2h-.25a.75.75 0 01-.75-.75zM8 6a1 1 0 100-2 1 1 0 000 2z"})),issue_opened:h("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},h("path",{"fill-rule":"evenodd",d:"M8 1.5a6.5 6.5 0 100 13 6.5 6.5 0 000-13zM0 8a8 8 0 1116 0A8 8 0 010 8zm9 3a1 1 0 11-2 0 1 1 0 012 0zm-.25-6.25a.75.75 0 00-1.5 0v3.5a.75.75 0 001.5 0v-3.5z"})),kebab_horizontal:h("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},h("path",{d:"M8 9a1.5 1.5 0 100-3 1.5 1.5 0 000 3zM1.5 9a1.5 1.5 0 100-3 1.5 1.5 0 000 3zm13 0a1.5 1.5 0 100-3 1.5 1.5 0 000 3z"})),link:h("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},h("path",{"fill-rule":"evenodd",d:"M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"})),link_external:h("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},h("path",{"fill-rule":"evenodd",d:"M10.604 1h4.146a.25.25 0 01.25.25v4.146a.25.25 0 01-.427.177L13.03 4.03 9.28 7.78a.75.75 0 01-1.06-1.06l3.75-3.75-1.543-1.543A.25.25 0 0110.604 1zM3.75 2A1.75 1.75 0 002 3.75v8.5c0 .966.784 1.75 1.75 1.75h8.5A1.75 1.75 0 0014 12.25v-3.5a.75.75 0 00-1.5 0v3.5a.25.25 0 01-.25.25h-8.5a.25.25 0 01-.25-.25v-8.5a.25.25 0 01.25-.25h3.5a.75.75 0 000-1.5h-3.5z"})),mark_github:h("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},h("path",{"fill-rule":"evenodd",d:"M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z"})),moon:h("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},h("path",{"fill-rule":"evenodd",d:"M9.598 1.591a.75.75 0 01.785-.175 7 7 0 11-8.967 8.967.75.75 0 01.961-.96 5.5 5.5 0 007.046-7.046.75.75 0 01.175-.786zm1.616 1.945a7 7 0 01-7.678 7.678 5.5 5.5 0 107.678-7.678z"})),play:h("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},h("path",{"fill-rule":"evenodd",d:"M1.5 8a6.5 6.5 0 1113 0 6.5 6.5 0 01-13 0zM8 0a8 8 0 100 16A8 8 0 008 0zM6.379 5.227A.25.25 0 006 5.442v5.117a.25.25 0 00.379.214l4.264-2.559a.25.25 0 000-.428L6.379 5.227z"})),plus:h("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},h("path",{"fill-rule":"evenodd",d:"M8 2a.75.75 0 01.75.75v4.5h4.5a.75.75 0 010 1.5h-4.5v4.5a.75.75 0 01-1.5 0v-4.5h-4.5a.75.75 0 010-1.5h4.5v-4.5A.75.75 0 018 2z"})),plus_circle:h("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},h("path",{"fill-rule":"evenodd",d:"M1.5 8a6.5 6.5 0 1113 0 6.5 6.5 0 01-13 0zM8 0a8 8 0 100 16A8 8 0 008 0zm.75 4.75a.75.75 0 00-1.5 0v2.5h-2.5a.75.75 0 000 1.5h2.5v2.5a.75.75 0 001.5 0v-2.5h2.5a.75.75 0 000-1.5h-2.5v-2.5z"})),repo:h("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},h("path",{"fill-rule":"evenodd",d:"M2 2.5A2.5 2.5 0 014.5 0h8.75a.75.75 0 01.75.75v12.5a.75.75 0 01-.75.75h-2.5a.75.75 0 110-1.5h1.75v-2h-8a1 1 0 00-.714 1.7.75.75 0 01-1.072 1.05A2.495 2.495 0 012 11.5v-9zm10.5-1V9h-8c-.356 0-.694.074-1 .208V2.5a1 1 0 011-1h8zM5 12.25v3.25a.25.25 0 00.4.2l1.45-1.087a.25.25 0 01.3 0L8.6 15.7a.25.25 0 00.4-.2v-3.25a.25.25 0 00-.25-.25h-3.5a.25.25 0 00-.25.25z"})),search:h("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},h("path",{"fill-rule":"evenodd",d:"M11.5 7a4.499 4.499 0 11-8.998 0A4.499 4.499 0 0111.5 7zm-.82 4.74a6 6 0 111.06-1.06l3.04 3.04a.75.75 0 11-1.06 1.06l-3.04-3.04z"})),sort_asc:h("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},h("path",{"fill-rule":"evenodd",d:"M0 4.25a.75.75 0 01.75-.75h2.5a.75.75 0 010 1.5H.75A.75.75 0 010 4.25zm0 4a.75.75 0 01.75-.75h4.5a.75.75 0 010 1.5H.75A.75.75 0 010 8.25zm0 4a.75.75 0 01.75-.75h7.5a.75.75 0 010 1.5H.75a.75.75 0 01-.75-.75zm12.927-9.677a.25.25 0 00-.354 0l-3 3A.25.25 0 009.75 6H12v6.75a.75.75 0 001.5 0V6h2.25a.25.25 0 00.177-.427l-3-3z"})),sort_desc:h("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},h("path",{"fill-rule":"evenodd",d:"M0 4.25a.75.75 0 01.75-.75h7.5a.75.75 0 010 1.5H.75A.75.75 0 010 4.25zm0 4a.75.75 0 01.75-.75h4.5a.75.75 0 010 1.5H.75A.75.75 0 010 8.25zm0 4a.75.75 0 01.75-.75h2.5a.75.75 0 010 1.5H.75a.75.75 0 01-.75-.75z"}),h("path",{d:"M13.5 10h2.25a.25.25 0 01.177.427l-3 3a.25.25 0 01-.354 0l-3-3A.25.25 0 019.75 10H12V3.75a.75.75 0 011.5 0V10z"})),square:h("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},h("path",{"fill-rule":"evenodd",d:"M4 5.75C4 4.784 4.784 4 5.75 4h4.5c.966 0 1.75.784 1.75 1.75v4.5A1.75 1.75 0 0110.25 12h-4.5A1.75 1.75 0 014 10.25v-4.5zm1.75-.25a.25.25 0 00-.25.25v4.5c0 .138.112.25.25.25h4.5a.25.25 0 00.25-.25v-4.5a.25.25 0 00-.25-.25h-4.5z"})),square_fill:h("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},h("path",{"fill-rule":"evenodd",d:"M5.75 4A1.75 1.75 0 004 5.75v4.5c0 .966.784 1.75 1.75 1.75h4.5A1.75 1.75 0 0012 10.25v-4.5A1.75 1.75 0 0010.25 4h-4.5z"})),stack:h("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},h("path",{"fill-rule":"evenodd",d:"M7.122.392a1.75 1.75 0 011.756 0l5.003 2.902c.83.481.83 1.68 0 2.162L8.878 8.358a1.75 1.75 0 01-1.756 0L2.119 5.456a1.25 1.25 0 010-2.162L7.122.392zM8.125 1.69a.25.25 0 00-.25 0l-4.63 2.685 4.63 2.685a.25.25 0 00.25 0l4.63-2.685-4.63-2.685zM1.601 7.789a.75.75 0 011.025-.273l5.249 3.044a.25.25 0 00.25 0l5.249-3.044a.75.75 0 01.752 1.298l-5.248 3.044a1.75 1.75 0 01-1.756 0L1.874 8.814A.75.75 0 011.6 7.789zm0 3.5a.75.75 0 011.025-.273l5.249 3.044a.25.25 0 00.25 0l5.249-3.044a.75.75 0 01.752 1.298l-5.248 3.044a1.75 1.75 0 01-1.756 0l-5.248-3.044a.75.75 0 01-.273-1.025z"})),sun:h("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},h("path",{"fill-rule":"evenodd",d:"M8 10.5a2.5 2.5 0 100-5 2.5 2.5 0 000 5zM8 12a4 4 0 100-8 4 4 0 000 8zM8 0a.75.75 0 01.75.75v1.5a.75.75 0 01-1.5 0V.75A.75.75 0 018 0zm0 13a.75.75 0 01.75.75v1.5a.75.75 0 01-1.5 0v-1.5A.75.75 0 018 13zM2.343 2.343a.75.75 0 011.061 0l1.06 1.061a.75.75 0 01-1.06 1.06l-1.06-1.06a.75.75 0 010-1.06zm9.193 9.193a.75.75 0 011.06 0l1.061 1.06a.75.75 0 01-1.06 1.061l-1.061-1.06a.75.75 0 010-1.061zM16 8a.75.75 0 01-.75.75h-1.5a.75.75 0 010-1.5h1.5A.75.75 0 0116 8zM3 8a.75.75 0 01-.75.75H.75a.75.75 0 010-1.5h1.5A.75.75 0 013 8zm10.657-5.657a.75.75 0 010 1.061l-1.061 1.06a.75.75 0 11-1.06-1.06l1.06-1.06a.75.75 0 011.06 0zm-9.193 9.193a.75.75 0 010 1.06l-1.06 1.061a.75.75 0 11-1.061-1.06l1.06-1.061a.75.75 0 011.061 0z"})),sync:h("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},h("path",{"fill-rule":"evenodd",d:"M8 2.5a5.487 5.487 0 00-4.131 1.869l1.204 1.204A.25.25 0 014.896 6H1.25A.25.25 0 011 5.75V2.104a.25.25 0 01.427-.177l1.38 1.38A7.001 7.001 0 0114.95 7.16a.75.75 0 11-1.49.178A5.501 5.501 0 008 2.5zM1.705 8.005a.75.75 0 01.834.656 5.501 5.501 0 009.592 2.97l-1.204-1.204a.25.25 0 01.177-.427h3.646a.25.25 0 01.25.25v3.646a.25.25 0 01-.427.177l-1.38-1.38A7.001 7.001 0 011.05 8.84a.75.75 0 01.656-.834z"})),tag:h("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},h("path",{"fill-rule":"evenodd",d:"M2.5 7.775V2.75a.25.25 0 01.25-.25h5.025a.25.25 0 01.177.073l6.25 6.25a.25.25 0 010 .354l-5.025 5.025a.25.25 0 01-.354 0l-6.25-6.25a.25.25 0 01-.073-.177zm-1.5 0V2.75C1 1.784 1.784 1 2.75 1h5.025c.464 0 .91.184 1.238.513l6.25 6.25a1.75 1.75 0 010 2.474l-5.026 5.026a1.75 1.75 0 01-2.474 0l-6.25-6.25A1.75 1.75 0 011 7.775zM6 5a1 1 0 100 2 1 1 0 000-2z"})),terminal:h("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},h("path",{"fill-rule":"evenodd",d:"M0 2.75C0 1.784.784 1 1.75 1h12.5c.966 0 1.75.784 1.75 1.75v10.5A1.75 1.75 0 0114.25 15H1.75A1.75 1.75 0 010 13.25V2.75zm1.75-.25a.25.25 0 00-.25.25v10.5c0 .138.112.25.25.25h12.5a.25.25 0 00.25-.25V2.75a.25.25 0 00-.25-.25H1.75zM7.25 8a.75.75 0 01-.22.53l-2.25 2.25a.75.75 0 11-1.06-1.06L5.44 8 3.72 6.28a.75.75 0 111.06-1.06l2.25 2.25c.141.14.22.331.22.53zm1.5 1.5a.75.75 0 000 1.5h3a.75.75 0 000-1.5h-3z"})),three_bars:h("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},h("path",{"fill-rule":"evenodd",d:"M1 2.75A.75.75 0 011.75 2h12.5a.75.75 0 110 1.5H1.75A.75.75 0 011 2.75zm0 5A.75.75 0 011.75 7h12.5a.75.75 0 110 1.5H1.75A.75.75 0 011 7.75zM1.75 12a.75.75 0 100 1.5h12.5a.75.75 0 100-1.5H1.75z"})),trashcan:h("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},h("path",{"fill-rule":"evenodd",d:"M6.5 1.75a.25.25 0 01.25-.25h2.5a.25.25 0 01.25.25V3h-3V1.75zm4.5 0V3h2.25a.75.75 0 010 1.5H2.75a.75.75 0 010-1.5H5V1.75C5 .784 5.784 0 6.75 0h2.5C10.216 0 11 .784 11 1.75zM4.496 6.675a.75.75 0 10-1.492.15l.66 6.6A1.75 1.75 0 005.405 15h5.19c.9 0 1.652-.681 1.741-1.576l.66-6.6a.75.75 0 00-1.492-.149l-.66 6.6a.25.25 0 01-.249.225h-5.19a.25.25 0 01-.249-.225l-.66-6.6z"})),unfold:h("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},h("path",{d:"M8.177.677l2.896 2.896a.25.25 0 01-.177.427H8.75v1.25a.75.75 0 01-1.5 0V4H5.104a.25.25 0 01-.177-.427L7.823.677a.25.25 0 01.354 0zM7.25 10.75a.75.75 0 011.5 0V12h2.146a.25.25 0 01.177.427l-2.896 2.896a.25.25 0 01-.354 0l-2.896-2.896A.25.25 0 015.104 12H7.25v-1.25zm-5-2a.75.75 0 000-1.5h-.5a.75.75 0 000 1.5h.5zM6 8a.75.75 0 01-.75.75h-.5a.75.75 0 010-1.5h.5A.75.75 0 016 8zm2.25.75a.75.75 0 000-1.5h-.5a.75.75 0 000 1.5h.5zM12 8a.75.75 0 01-.75.75h-.5a.75.75 0 010-1.5h.5A.75.75 0 0112 8zm2.25.75a.75.75 0 000-1.5h-.5a.75.75 0 000 1.5h.5z"})),upload:h("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},h("path",{"fill-rule":"evenodd",d:"M8.53 1.22a.75.75 0 00-1.06 0L3.72 4.97a.75.75 0 001.06 1.06l2.47-2.47v6.69a.75.75 0 001.5 0V3.56l2.47 2.47a.75.75 0 101.06-1.06L8.53 1.22zM3.75 13a.75.75 0 000 1.5h8.5a.75.75 0 000-1.5h-8.5z"})),x:h("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},h("path",{"fill-rule":"evenodd",d:"M3.72 3.72a.75.75 0 011.06 0L8 6.94l3.22-3.22a.75.75 0 111.06 1.06L9.06 8l3.22 3.22a.75.75 0 11-1.06 1.06L8 9.06l-3.22 3.22a.75.75 0 01-1.06-1.06L6.94 8 3.72 4.78a.75.75 0 010-1.06z"})),x_circle:h("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:"16",height:"16"},h("path",{"fill-rule":"evenodd",d:"M3.404 12.596a6.5 6.5 0 119.192-9.192 6.5 6.5 0 01-9.192 9.192zM2.344 2.343a8 8 0 1011.313 11.314A8 8 0 002.343 2.343zM6.03 4.97a.75.75 0 00-1.06 1.06L6.94 8 4.97 9.97a.75.75 0 101.06 1.06L8 9.06l1.97 1.97a.75.75 0 101.06-1.06L9.06 8l1.97-1.97a.75.75 0 10-1.06-1.06L8 6.94 6.03 4.97z"}))};function kn({error:e,onDismiss:t}){const[n,r]=$(!1),[i,o]=$(void 0);K(()=>{if(e instanceof Error){const a=e.stack.split(` +`).map(l=>l.replace(/^(\s+)at (?:async )?(https?:.*)/,"$1at ($2)"));o(a.join(` +`)),ae(()=>import("./sourcemapped-stacktrace.342f925b.js").then(function(l){return l.s}),[]).then(({mapStackTrace:l})=>{l(a.join(` `),u=>{const c=u.map(d=>d.replace(/..\/..\/src\//,"src/")).join(` -`);s(c)})})}},[e]);const o=Ae(()=>{let a="https://github.com/misode/misode.github.io/issues/new";return e instanceof Error?(a+=`?title=${encodeURIComponent(`${e.name}: ${e.message}`)}`,i&&(a+=`&body=${encodeURIComponent(`\`\`\` +`);o(c)})})}},[e]);const s=Ae(()=>{let a="https://github.com/misode/misode.github.io/issues/new";return e instanceof Error?(a+=`?title=${encodeURIComponent(`${e.name}: ${e.message}`)}`,i&&(a+=`&body=${encodeURIComponent(`\`\`\` ${e.name}: ${e.message} ${i} \`\`\` -`)}`)):a+=`?title=${encodeURIComponent(e.toString())}`,a},[e,i]);return h("div",{class:"error"},t&&h("div",{class:"error-dismiss",onClick:t},se.x),h("h3",null,e instanceof Error?e.message:e,i&&h("span",{onClick:()=>r(!n)},se.info)),i&&n&&h("pre",null,i),h("p",null,"If you think this is a bug, you can report it ",h("a",{href:o,target:"_blank"},"on GitHub")))}function f0({label:e,value:t,onChange:n}){const r=nn();return h("label",{class:"checkbox"},h("input",{id:r,type:"checkbox",checked:t,onClick:()=>n(!t)}),e)}function $s(e,t,n){const r=i=>{const s=i.onChange&&(a=>{var u;const l=a.target.value;(u=i.onChange)==null||u.call(i,n(l))}),o=i.onEnter&&(a=>{var l;if(a.key==="Enter"){const u=a.target.value;(l=i.onEnter)==null||l.call(i,n(u))}});return h("input",xe(J({},i),{type:t,onChange:s,onKeyDown:o}))};return r.displayName=e,r}const an=$s("TextInput","text",e=>e),p0=$s("NumberInput","number",e=>Number(e)),zo=$s("RangeInput","range",e=>Number(e));function jo({values:e,onSelect:t,searchPlaceholder:n,noResults:r}){const[i,s]=$(""),o=Ae(()=>{var l;const a=i.trim().split(" ");return(l=e==null?void 0:e.filter(u=>a.every(c=>u.includes(c))))!=null?l:[]},[e,i]);return h(ne,null,h(qr,{icon:"search",large:!0,value:i,onChange:s,doSelect:1,placeholder:n!=null?n:"Search"}),h("div",{class:"result-list"},o.map(a=>h(q,{key:a,label:a,onClick:()=>t==null?void 0:t(a)})),o.length===0&&h(q,{label:r!=null?r:"No results"})))}const Ds="https://raw.githubusercontent.com/misode/technical-changes/main";let Yi=null;async function ql(){if(!Yi){const e=await(await fetch(`${Ds}/index.json`)).json();Yi=(await Promise.all(e.map((t,n)=>m0(Zl(t),n)))).flat().map(t=>xe(J({},t),{tags:[t.group.id,...t.tags]}))}return Yi}async function m0(e,t){const n=await(await fetch(`${Ds}/${e.id}/index.json`)).json();return(await Promise.all(n.map((r,i)=>g0(e,Zl(r),t,i)))).flat()}async function g0(e,t,n,r){const i=await(await fetch(`${Ds}/${e.id}/${t.id}.md`)).text();return _0(i).map(s=>J({version:t,group:e,order:n*1e3+r},s))}function _0(e){return e.split(` +`)}`)):a+=`?title=${encodeURIComponent(e.toString())}`,a},[e,i]);return h("div",{class:"error"},t&&h("div",{class:"error-dismiss",onClick:t},oe.x),h("h3",null,e instanceof Error?e.message:e,i&&h("span",{onClick:()=>r(!n)},oe.info)),i&&n&&h("pre",null,i),h("p",null,"If you think this is a bug, you can report it ",h("a",{href:s,target:"_blank"},"on GitHub")))}function f0({label:e,value:t,onChange:n}){const r=nn();return h("label",{class:"checkbox"},h("input",{id:r,type:"checkbox",checked:t,onClick:()=>n(!t)}),e)}function Do(e,t,n){const r=i=>{const o=i.onChange&&(a=>{var u;const l=a.target.value;(u=i.onChange)==null||u.call(i,n(l))}),s=i.onEnter&&(a=>{var l;if(a.key==="Enter"){const u=a.target.value;(l=i.onEnter)==null||l.call(i,n(u))}});return h("input",xe(J({},i),{type:t,onChange:o,onKeyDown:s}))};return r.displayName=e,r}const an=Do("TextInput","text",e=>e),p0=Do("NumberInput","number",e=>Number(e)),zs=Do("RangeInput","range",e=>Number(e));function js({values:e,onSelect:t,searchPlaceholder:n,noResults:r}){const[i,o]=$(""),s=Ae(()=>{var l;const a=i.trim().split(" ");return(l=e==null?void 0:e.filter(u=>a.every(c=>u.includes(c))))!=null?l:[]},[e,i]);return h(ne,null,h(qr,{icon:"search",large:!0,value:i,onChange:o,doSelect:1,placeholder:n!=null?n:"Search"}),h("div",{class:"result-list"},s.map(a=>h(q,{key:a,label:a,onClick:()=>t==null?void 0:t(a)})),s.length===0&&h(q,{label:r!=null?r:"No results"})))}const Bo="https://raw.githubusercontent.com/misode/technical-changes/main";let Yi=null;async function ql(){if(!Yi){const e=await(await fetch(`${Bo}/index.json`)).json();Yi=(await Promise.all(e.map((t,n)=>m0(Zl(t),n)))).flat().map(t=>xe(J({},t),{tags:[t.group.id,...t.tags]}))}return Yi}async function m0(e,t){const n=await(await fetch(`${Bo}/${e.id}/index.json`)).json();return(await Promise.all(n.map((r,i)=>g0(e,Zl(r),t,i)))).flat()}async function g0(e,t,n,r){const i=await(await fetch(`${Bo}/${e.id}/${t.id}.md`)).text();return _0(i).map(o=>J({version:t,group:e,order:n*1e3+r},o))}function _0(e){return e.split(` `).map(t=>{const n=t.indexOf("|");return{tags:t.substring(0,n).trim().split(" "),content:t.slice(n+1).trim().replaceAll("->","\u2192").replaceAll(` ... `,` -`)}})}function Zl(e){return typeof e=="string"?{id:e,article:e.match(/\d\dw\d\d[a-z]/)?"minecraft-snapshot-"+e:e.match(/\d+\.\d+(\.\d+)?-pre[0-9]+/)?"minecraft-"+e.replaceAll(".","-").replaceAll("pre","pre-release-"):null}:dn(e)?e:{id:"unknown",article:null}}["1.15","1.16","1.17"].forEach(e=>localStorage.removeItem(`cache_${e}`));["mcdata_master","vanilla_datapack_summary"].forEach(e=>localStorage.removeItem(`cached_${e}`));caches.delete("misode-v1");const Sn="misode-v2",Vo="cached_latest_version",Wi="22w18a",Zn="https://raw.githubusercontent.com/misode/mcmeta";function Xt(e,t){return`${Zn}/${e.dynamic?t:`${e.ref}-${t}`}`}async function Ni(e){e.dynamic&&(localStorage.getItem(Vo)!==Wi&&(await S0(t=>t.startsWith(`${Zn}/summary/`)||t.startsWith(`${Zn}/data/`)||t.startsWith(`${Zn}/assets/`)||t.startsWith(`${Zn}/registries/`)),localStorage.setItem(Vo,Wi)),e.ref=Wi)}async function v0(e,t,n){const r=me.versions.find(i=>i.id===e);if(!r){console.error(`[fetchData] Unknown version ${r} in ${JSON.stringify(me.versions)}`);return}await Ni(r),await Promise.all([w0(r,t),y0(r,n)])}async function w0(e,t){console.debug(`[fetchRegistries] ${e.id}`);try{const n=await Rn(`${Xt(e,"summary")}/registries/data.min.json`);for(const r in n)t.register(r,n[r].map(i=>"minecraft:"+i))}catch(n){console.warn("Error occurred while fetching registries:",ct(n))}}async function y0(e,t){console.debug(`[fetchBlockStateMap] ${e.id}`);try{const n=await Rn(`${Xt(e,"summary")}/blocks/data.min.json`);for(const r in n)t["minecraft:"+r]={properties:n[r][0],default:n[r][1]}}catch(n){console.warn("Error occurred while fetching block state map:",ct(n))}}async function Xl(e,t,n){console.debug(`[fetchPreset] ${e} ${t} ${n}`);const r=me.versions.find(i=>i.id===e);try{const i=["blockstates","models"].includes(t)?"assets":"data",s=`${Xt(r,i)}/${i}/minecraft/${t}/${n}.json`;return await(await fetch(s)).json()}catch(i){throw new Error(`Error occurred while fetching ${t} preset ${n}: ${ct(i)}`)}}async function b0(e,t){console.debug(`[fetchAllPresets] ${e} ${t}`);const n=me.versions.find(r=>r.id===e);await Ni(n);try{const r=await Rn(`${Xt(n,"registries")}/${t}/data.min.json`);return new Map(await Promise.all(r.map(async i=>[i,await Rn(`${Xt(n,"data")}/data/minecraft/${t}/${i}.json`)])))}catch(r){throw new Error(`Error occurred while fetching all ${t} presets: ${ct(r)}`)}}async function x0(e){const t=me.versions.find(n=>n.id===e);await Ni(t);try{const n=`${Xt(t,"summary")}/sounds/data.min.json`;return await Rn(n)}catch(n){throw new Error(`Error occurred while fetching sounds for ${t}: ${ct(n)}`)}}function A0(e,t){const n=me.versions.find(r=>r.id===e);return`${Xt(n,"assets")}/assets/minecraft/sounds/${t}.ogg`}async function k0(){const e=me.versions[me.versions.length-1];await Ni(e);try{return Rn(`${Xt(e,"summary")}/versions/data.min.json`)}catch(t){throw new Error(`Error occured while fetching versions: ${ct(t)}`)}}async function Rn(e,t=n=>n){try{const n=await caches.open(Sn);console.debug(`[getData] Opened cache ${Sn} ${e}`);const r=await n.match(e);if(r&&r.ok)return console.debug(`[getData] Retrieving cached data ${e}`),await r.json();console.debug(`[getData] fetching data ${e}`);const i=await fetch(e),s=t(await i.json());return await n.put(e,new Response(JSON.stringify(s))),s}catch(n){console.warn(`[getData] Failed to open cache ${Sn}: ${ct(n)}`),console.debug(`[getData] fetching data ${e}`);const r=await fetch(e);return t(await r.json())}}async function S0(e){try{const t=await caches.open(Sn);console.debug(`[deleteMatching] Opened cache ${Sn}`);const n=[];for(const r of await t.keys())e(r.url)&&n.push(t.delete(r));console.debug(`[deleteMatching] Removing ${n.length} cache objects...`),await Promise.all(n)}catch(t){console.warn(`[deleteMatching] Failed to open cache ${Sn}: ${ct(t)}`)}}const Jl=["1.15","1.16","1.17","1.18","1.18.2","1.19"],gn={},_n={},E0={1.15:()=>ae(()=>import("./index.f1232838.js").then(function(e){return e.i}),[]),1.16:()=>ae(()=>import("./index.3e238ebe.js").then(function(e){return e.i}),[]),1.17:()=>ae(()=>import("./index.42b0dee2.js").then(function(e){return e.i}),[]),1.18:()=>ae(()=>import("./index.626a14e3.js").then(function(e){return e.i}),[]),"1.18.2":()=>ae(()=>import("./index.9e052309.js").then(function(e){return e.i}),[]),1.19:()=>ae(()=>import("./index.19bb89fe.js").then(function(e){return e.i}),[])};let Kl,Ql,Zr;async function Bs(e){return gn[e]||(gn[e]=(async()=>{try{const t=await E0[e](),n=t.getCollections(),r={};await v0(e,n,r);const i=t.getSchemas(n);return gn[e]={collections:n,schemas:i,blockStates:r},gn[e]}catch(t){throw new Error(`Cannot get version "${e}": ${ct(t)}`)}})()),gn[e]}async function I0(e,t){var n;if(!_n[t]||_n[t].version!==e){const r=await Bs(e);Kl=B.Reference(r.schemas,"configured_decorator"),Ql=B.ChoiceNode([{type:"string",node:B.StringNode(r.collections,{validator:"resource",params:{pool:"$worldgen/configured_feature"}})},{type:"object",node:B.Reference(r.schemas,"configured_feature")}],{choiceContext:"feature"});const i=(n=me.generators.find(s=>s.id===t))==null?void 0:n.schema;if(!i)throw new Error(`Cannot find model ${t}`);try{const s=r.schemas.get(i),o=new B.DataModel(s,{wrapLists:!0});_n[t]?o.reset(_n[t].model.data,!1):(o.validate(!0),o.history=[JSON.stringify(o.data)]),_n[t]={model:o,version:e}}catch(s){const o=new Error(`Cannot get generator "${t}" for version "${e}": ${ct(s)}`);throw s instanceof Error&&(o.stack=s.stack),o}}return _n[t].model}async function C0(e){const t=await Bs(e);return Zr=t.collections,t.collections}async function M0(e){return(await Bs(e)).blockStates}function Ye(e,t,n){const r=me.versions.findIndex(o=>o.id===e),i=t?me.versions.findIndex(o=>o.id===t):0,s=n?me.versions.findIndex(o=>o.id===n):me.versions.length-1;return i<=r&&r<=s}var ec={exports:{}};(function(e){var t=function(){var n=String.fromCharCode,r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",i="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+-$",s={};function o(l,u){if(!s[l]){s[l]={};for(var c=0;c>>8,c[d*2+1]=p%256}return c},decompressFromUint8Array:function(l){if(l==null)return a.decompress(l);for(var u=new Array(l.length/2),c=0,d=u.length;c>1}else{for(f=1,d=0;d>1}y--,y==0&&(y=Math.pow(2,b),b++),delete m[_]}else for(f=p[_],d=0;d>1;y--,y==0&&(y=Math.pow(2,b),b++),p[g]=w++,_=String(v)}if(_!==""){if(Object.prototype.hasOwnProperty.call(m,_)){if(_.charCodeAt(0)<256){for(d=0;d>1}else{for(f=1,d=0;d>1}y--,y==0&&(y=Math.pow(2,b),b++),delete m[_]}else for(f=p[_],d=0;d>1;y--,y==0&&(y=Math.pow(2,b),b++)}for(f=2,d=0;d>1;for(;;)if(k=k<<1,C==u-1){A.push(c(k));break}else C++;return A.join("")},decompress:function(l){return l==null?"":l==""?null:a._decompress(l.length,32768,function(u){return l.charCodeAt(u)})},_decompress:function(l,u,c){var d=[],f=4,p=4,m=3,v="",g=[],_,y,w,b,A,k,C,S={val:c(0),position:u,index:1};for(_=0;_<3;_+=1)d[_]=_;for(w=0,A=Math.pow(2,2),k=1;k!=A;)b=S.val&S.position,S.position>>=1,S.position==0&&(S.position=u,S.val=c(S.index++)),w|=(b>0?1:0)*k,k<<=1;switch(w){case 0:for(w=0,A=Math.pow(2,8),k=1;k!=A;)b=S.val&S.position,S.position>>=1,S.position==0&&(S.position=u,S.val=c(S.index++)),w|=(b>0?1:0)*k,k<<=1;C=n(w);break;case 1:for(w=0,A=Math.pow(2,16),k=1;k!=A;)b=S.val&S.position,S.position>>=1,S.position==0&&(S.position=u,S.val=c(S.index++)),w|=(b>0?1:0)*k,k<<=1;C=n(w);break;case 2:return""}for(d[3]=C,y=C,g.push(C);;){if(S.index>l)return"";for(w=0,A=Math.pow(2,m),k=1;k!=A;)b=S.val&S.position,S.position>>=1,S.position==0&&(S.position=u,S.val=c(S.index++)),w|=(b>0?1:0)*k,k<<=1;switch(C=w){case 0:for(w=0,A=Math.pow(2,8),k=1;k!=A;)b=S.val&S.position,S.position>>=1,S.position==0&&(S.position=u,S.val=c(S.index++)),w|=(b>0?1:0)*k,k<<=1;d[p++]=n(w),C=p-1,f--;break;case 1:for(w=0,A=Math.pow(2,16),k=1;k!=A;)b=S.val&S.position,S.position>>=1,S.position==0&&(S.position=u,S.val=c(S.index++)),w|=(b>0?1:0)*k,k<<=1;d[p++]=n(w),C=p-1,f--;break;case 2:return g.join("")}if(f==0&&(f=Math.pow(2,m),m++),d[C])v=d[C];else if(C===p)v=y+y.charAt(0);else return null;g.push(v),d[p++]=y+v.charAt(0),f--,y=v,f==0&&(f=Math.pow(2,m),m++)}}};return a}();e!=null&&(e.exports=t)})(ec);var tc=ec.exports;const O0="https://z15g7can.directus.app/items",Ho=new Map;async function T0(e,t,n,r){try{const i=JSON.stringify(n),s=tc.compressToBase64(i);console.log("Compression rate",i.length/i.length);const o=JSON.stringify({data:s,type:e,version:t,show_preview:r});let a=Ho.get(o);if(!a){const l=await nc("/snippets",o);Ho.set(o,l.id),a=l.id}return{id:a,length:i.length,compressed:s.length,rate:i.length/s.length}}catch(i){throw i instanceof Error&&(i.message=`Error creating share link: ${i.message}`),i}}async function N0(e){var t;try{const n=await nc(`/snippets/${e}`);return xe(J({},n),{data:JSON.parse((t=tc.decompressFromBase64(n.data))!=null?t:"{}")})}catch(n){throw n instanceof Error&&(n.message=`Error loading shared content: ${n.message}`),n}}async function nc(e,t){var i,s,o;const r=await(await fetch(O0+e,t?{method:"post",headers:{"Content-Type":"application/json"},body:t}:void 0)).json();if(r.data)return r.data;throw new Error((o=(s=(i=r.errors)==null?void 0:i[0])==null?void 0:s.message)!=null?o:"Unknown error")}var rc=JSON.parse('{"add":"Add","add_bottom":"Add to bottom","add_top":"Add to top","advancement":"Advancement","any_version":"Any","assets":"Assets","block_definition":"Blockstate","changelog.search":"Search changes","changelog.no_results":"No changes","chat_type":"Chat Type","collapse":"Collapse","collapse_all":"Hold %0% to collapse all","configure_layers":"Configure layers","copy":"Copy","copy_share":"Copy share link","copied":"Copied!","copy_context":"Copy context","dimension_type":"Dimension Type","dimension":"Dimension","disabled":"Disabled","download":"Download","duplicate":"Duplicate","enabled":"Enabled","entries_hidden":"%0% entries hidden","entries_hidden.more":"Show %0% more","entries_hidden.all":"Show all","expand":"Expand","expand_all":"Hold %0% to expand all","feature.decorated.decorators":"Decorators","feature.decorated.decorators.entry":"Decorator","follow_reference":"Follow reference","format.json":"JSON","format.yaml":"YAML","fields":"Fields","generate_new_seed":"Generate new seed","github":"GitHub","guides.all":"All guides","guides.search":"Search guides","guides.no_results.version":"No guides for this version","guides.no_results.query":"No guides for this query","hide_output":"Hide output","hide_preview":"Hide preview","home":"Home","import":"Import","indentation.2_spaces":"2 spaces","indentation.4_spaces":"4 spaces","indentation.minified":"Minified","indentation.tabs":"Tabs","item_modifier":"Item Modifier","language":"Language","layer.biomes":"Biomes","layer.temperature":"Temperature","layer.humidity":"Humidity","layer.continentalness":"Continentalness","layer.erosion":"Erosion","layer.weirdness":"Weirdness","layer.offset":"Offset","layer.factor":"Factor","layer.jaggedness":"Jaggedness","highlighting":"Highlighting","loading":"Loading...","loot_table":"Loot Table","model":"Model","more":"More","move_down":"Move down","move_up":"Move up","not_found.description":"The page you were looking for does not exist.","no_presets":"No presets","output_settings":"Output settings","predicate":"Predicate","recipe":"Recipe","redo":"Redo","reset":"Reset","restore_backup":"Restore last backup","settings":"Settings","settings.fields.description":"Customize advanced field settings","settings.fields.path":"Context","settings.fields.name":"Name","share":"Share","theme":"Theme","theme.dark":"Dark","theme.light":"Light","theme.system":"System","title.changelog":"Technical Changelog","title.generator":"%0% Generator","title.generator_category":"%0% Generators","title.guides":"Data Pack Guides","title.home":"Data Pack Generators","title.project":"%0% Project","title.sounds":"Sound Explorer","title.versions":"Versions Explorer","presets":"Presets","preview":"Visualize","preview.auto_scroll":"Auto scroll","preview.biome":"Biome","preview.scale":"Scale","preview.depth":"Depth","preview.factor":"Factor","preview.offset":"Offset","preview.peaks":"Peaks","preview.width":"Width","project.delete_file":"Delete file","project.go_to":"Go to project","project.new_file":"New file","project.no_files":"No files","project.search":"Search project","project.search_drafts":"Search drafts","project.unsaved_file":"Unsaved file","remove":"Remove","search":"Search","show_output":"Show output","show_preview":"Show preview","sounds.play":"Play","sounds.play_sound":"Play sound","sounds.play_all":"Play all","sounds.search":"Search sounds","sounds.download_function":"Download Mcfunction","sounds.delay":"Delay","sounds.pitch":"Pitch","sounds.volume":"Volume","sounds.copy_command":"Copy command","sounds.add_sound":"Add sound","sounds.remove_sound":"Remove sound","sounds.unknown_sound":"Unknown sound","sounds.loading_sound":"Loading sound","source_placeholder":"Paste raw %0% content here","switch_generator":"Switch generator","switch_version":"Switch version","terrain_settings":"Terrain settings","text_component":"Text Component","undo":"Undo","versions.search":"Search versions","versions.no_results":"No results","versions.all":"All versions","versions.previous":"Previous","versions.next":"Next","versions.released":"Released","versions.release_target":"Release target","versions.data_version":"Data version","versions.protocol_version":"Protocol version","versions.pack_format":"Pack format","versions.data_pack_format":"Data pack format","versions.resource_pack_format":"Resource pack format","versions.technical_changes":"Technical changes","versions.discussion":"Discussion","world":"World Settings","worldgen":"Worldgen","worldgen/biome":"Biome","worldgen/configured_carver":"Carver","worldgen/configured_feature":"Feature","worldgen/density_function":"Density Function","worldgen/placed_feature":"Placed Feature","worldgen/noise":"Noise","worldgen/noise_settings":"Noise Settings","worldgen/processor_list":"Processor List","worldgen/configured_structure_feature":"Structure Feature","worldgen/structure":"Structure","worldgen/structure_set":"Structure Set","worldgen/configured_surface_builder":"Surface Builder","worldgen/template_pool":"Template Pool","worldgen/world_preset":"World Preset","worldgen/flat_level_generator_preset":"Flat World Preset","zoom_in":"Zoom in","zoom_out":"Zoom out"}'),L0=Object.freeze(Object.defineProperty({__proto__:null,default:rc},Symbol.toStringTag,{value:"Module"})),$e;(e=>{e.ID_LANGUAGE="language",e.ID_THEME="theme",e.ID_VERSION="schema_version",e.ID_INDENT="indentation",e.ID_FORMAT="output_format",e.ID_HIGHLIGHTING="output_highlighting",e.ID_SOUNDS_VERSION="minecraft_sounds_version",e.ID_PROJECTS="misode_projects",e.ID_BACKUPS="misode_generator_backups";function t(){var w;return(w=localStorage.getItem(e.ID_LANGUAGE))!=null?w:"en"}e.getLanguage=t;function n(){var w;return(w=localStorage.getItem(e.ID_THEME))!=null?w:"dark"}e.getTheme=n;function r(){const w=localStorage.getItem(e.ID_VERSION);return w&&Jl.includes(w)?w:"1.18.2"}e.getVersion=r;function i(){var w;return(w=localStorage.getItem(e.ID_INDENT))!=null?w:"2_spaces"}e.getIndent=i;function s(){var w;return(w=localStorage.getItem(e.ID_FORMAT))!=null?w:"json"}e.getFormat=s;function o(){return localStorage.getItem(e.ID_HIGHLIGHTING)!=="false"}e.getHighlighting=o;function a(){var w;return(w=localStorage.getItem(e.ID_SOUNDS_VERSION))!=null?w:"latest"}e.getSoundsVersion=a;function l(){const w=localStorage.getItem(e.ID_PROJECTS);return w?JSON.parse(w):[cr]}e.getProjects=l;function u(w){var A;return JSON.parse((A=localStorage.getItem(e.ID_BACKUPS))!=null?A:"{}")[w]}e.getBackup=u;function c(w){w&&localStorage.setItem(e.ID_LANGUAGE,w)}e.setLanguage=c;function d(w){w&&localStorage.setItem(e.ID_THEME,w)}e.setTheme=d;function f(w){w&&localStorage.setItem(e.ID_VERSION,w)}e.setVersion=f;function p(w){w&&localStorage.setItem(e.ID_INDENT,w)}e.setIndent=p;function m(w){w&&localStorage.setItem(e.ID_FORMAT,w)}e.setFormat=m;function v(w){w!==void 0&&localStorage.setItem(e.ID_HIGHLIGHTING,w.toString())}e.setHighlighting=v;function g(w){w&&localStorage.setItem(e.ID_SOUNDS_VERSION,w)}e.setSoundsVersion=g;function _(w){w&&localStorage.setItem(e.ID_PROJECTS,JSON.stringify(w))}e.setProjects=_;function y(w,b){var k;const A=JSON.parse((k=localStorage.getItem(e.ID_BACKUPS))!=null?k:"{}");b===void 0?delete A[w]:A[w]=b,localStorage.setItem(e.ID_BACKUPS,JSON.stringify(A))}e.setBackup=y})($e||($e={}));function R0(e){switch(e){case"../../../node_modules/@mcschema/locales/src/cs.json":return ae(()=>import("./cs.967a01eb.js"),[]);case"../../../node_modules/@mcschema/locales/src/de.json":return ae(()=>import("./de.8e2383d8.js"),[]);case"../../../node_modules/@mcschema/locales/src/en.json":return ae(()=>import("./en.4ab98cb7.js"),[]);case"../../../node_modules/@mcschema/locales/src/es.json":return ae(()=>import("./es.6b3597bc.js"),[]);case"../../../node_modules/@mcschema/locales/src/fr.json":return ae(()=>import("./fr.e316b1e2.js"),[]);case"../../../node_modules/@mcschema/locales/src/it.json":return ae(()=>import("./it.7ff123cd.js"),[]);case"../../../node_modules/@mcschema/locales/src/ja.json":return ae(()=>import("./ja.3170354d.js"),[]);case"../../../node_modules/@mcschema/locales/src/pl.json":return ae(()=>import("./pl.ae1f6791.js"),[]);case"../../../node_modules/@mcschema/locales/src/pt.json":return ae(()=>import("./pt.31e14993.js"),[]);case"../../../node_modules/@mcschema/locales/src/ru.json":return ae(()=>import("./ru.1298edc9.js"),[]);case"../../../node_modules/@mcschema/locales/src/sk.json":return ae(()=>import("./sk.d4265232.js"),[]);case"../../../node_modules/@mcschema/locales/src/zh-cn.json":return ae(()=>import("./zh-cn.4129665a.js"),[]);case"../../../node_modules/@mcschema/locales/src/zh-tw.json":return ae(()=>import("./zh-tw.bdc36a24.js"),[]);default:return new Promise(function(t,n){(typeof queueMicrotask=="function"?queueMicrotask:setTimeout)(n.bind(null,new Error("Unknown variable dynamic import: "+e)))})}}function P0(e){switch(e){case"../../locales/de.json":return ae(()=>import("./de.a269acce.js"),[]);case"../../locales/en.json":return ae(()=>Promise.resolve().then(function(){return L0}),void 0);case"../../locales/es.json":return ae(()=>import("./es.833a9774.js"),[]);case"../../locales/fr.json":return ae(()=>import("./fr.f5531eea.js"),[]);case"../../locales/it.json":return ae(()=>import("./it.fd9a8268.js"),[]);case"../../locales/ja.json":return ae(()=>import("./ja.167de97b.js"),[]);case"../../locales/pl.json":return ae(()=>import("./pl.3a9fb38c.js"),[]);case"../../locales/pt.json":return ae(()=>import("./pt.1a04bd2d.js"),[]);case"../../locales/ru.json":return ae(()=>import("./ru.578070fe.js"),[]);case"../../locales/sk.json":return ae(()=>import("./sk.96bbf351.js"),[]);case"../../locales/zh-cn.json":return ae(()=>import("./zh-cn.e3c47b68.js"),[]);case"../../locales/zh-tw.json":return ae(()=>import("./zh-tw.42e9d37d.js"),[]);default:return new Promise(function(t,n){(typeof queueMicrotask=="function"?queueMicrotask:setTimeout)(n.bind(null,new Error("Unknown variable dynamic import: "+e)))})}}const ic=Bn({lang:"none",locale:e=>e,changeLocale:()=>{}}),tr={fallback:rc};function ue(e,t,...n){var i,s,o,a,l;const r=(l=(a=(o=(i=tr[e])==null?void 0:i[t])!=null?o:(s=tr.en)==null?void 0:s[t])!=null?a:tr.fallback[t])!=null?l:t;return $0(r,n)}function $0(e,t){return e.replace(/%\d+%/g,n=>{const r=parseInt(n.slice(1,-1));return(t==null?void 0:t[r])!==void 0?t[r]:n})}async function qi(e){if(tr[e])return;const t=me.languages.find(i=>i.code===e);if(!t)return;const n=await P0(`../../locales/${e}.json`),r=t.schemas!==!1&&await R0(`../../../node_modules/@mcschema/locales/src/${e}.json`);tr[e]=J(J({},n.default),r.default)}function Ee(){return zn(ic)}function D0({children:e}){const[t,n]=$("none"),r=Me((o,...a)=>ue(t,o,...a),[t]),i=Me(async o=>{await qi(o),_e.setLocale(o),$e.setLanguage(o),n(o)},[]);K(()=>{(async()=>{const o=$e.getLanguage();_e.setLocale(o),await Promise.all([qi("en"),...o!=="en"?[qi(o)]:[]]),n(o)})()},[]);const s={lang:t,locale:r,changeLocale:i};return h(ic.Provider,{value:s},e)}const cr={name:"Drafts",namespace:"draft",files:[]},sc=Bn({projects:[cr],project:cr,changeProject:()=>{},updateProject:()=>{},updateFile:()=>!1,openFile:()=>{},closeFile:()=>{}});function oc(){return zn(sc)}function B0({children:e}){const[t,n]=$($e.getProjects()),[r,i]=$(cr.name),s=Ae(()=>{var v;return(v=t.find(g=>g.name===r))!=null?v:cr},[t,r]),[o,a]=$(void 0),l=Ae(()=>{if(!!o)return s.files.find(v=>v.type===o[0]&&v.id===o[1])},[s,o]),u=Me(v=>{$e.setProjects(v),n(v)},[]),c=Me(v=>{u(t.map(g=>g.name===r?J(J({},g),v):g))},[t,r]),d=Me((v,g,_)=>{var y;if(!_.id)c({files:s.files.filter(w=>w.type!==v||w.id!==g)});else{const w=_.id.includes(":")?_.id:`${s.namespace}:${_.id}`,b=s.files.some(A=>A.type===v&&A.id===w);if(g){if((l==null?void 0:l.id)===g&&g!==w&&b)return!1;c({files:s.files.map(A=>A.type===v&&A.id===g?xe(J(J({},A),_),{id:w}):A)}),(l==null?void 0:l.id)===g&&a([v,w])}else{if(b)return!1;c({files:[...s.files,{type:v,id:w,data:(y=_.data)!=null?y:{}}]}),a([v,w])}}return!0},[c,s,l]),f=Me((v,g)=>{const _=me.generators.find(y=>y.id===v||y.path===v);if(!_)throw new Error(`Cannot find generator of type ${v}`);a([_.id,g]),qt(jt(_.url))},[]),p=Me(()=>{a(void 0)},[]),m={projects:t,project:s,file:l,changeProject:i,updateProject:c,updateFile:d,openFile:f,closeFile:p};return h(sc.Provider,{value:m},e)}function F0(e){var i;const[t,n]=e.id.includes(":")?e.id.split(":"):["minecraft",e.id],r=me.generators.find(s=>s.id===e.type);if(!r)throw new Error(`Cannot find generator of type ${e.type}`);return`data/${t}/${(i=r.path)!=null?i:r.id}/${n}`}const ac=Bn({theme:"dark",actualTheme:"dark",changeTheme:()=>{}});function lc(){return zn(ac)}function z0({children:e}){const[t,n]=$($e.getTheme()),r=Do("(prefers-color-scheme: light)"),i=Do("(prefers-color-scheme: dark)");K(()=>{document.documentElement.setAttribute("data-theme",t)},[t]);const s=Me(a=>{_e.setTheme(a),$e.setTheme(a),n(a)},[]);K(()=>{_e.setPrefersColorScheme(r?"light":i?"dark":"none")},[r,i]),K(()=>{_e.setTheme(t)},[]);const o={theme:t,actualTheme:t==="light"||t!=="dark"&&r?"light":"dark",changeTheme:s};return h(ac.Provider,{value:o},e)}const j0=3,cc=Bn({title:"",changeTitle:()=>{}});function _t(e,t){const n=zn(cc);return K(()=>{e&&n.changeTitle(e,t)},[e,t]),n}function V0({children:e}){const{locale:t}=Ee(),[n,r]=$(t("title.home")),i=Me((o,a)=>{a!=null||(a=me.versions.map(u=>u.id));const l=a.slice(-j0);document.title=`${o} Minecraft ${l.join(", ")}`,r(o)},[]),s={title:n,changeTitle:i};return h(cc.Provider,{value:s},e)}const H0="version",uc=Bn({version:"1.18.2",changeVersion:()=>{},changeTargetVersion:()=>{}});function Hn(){return zn(uc)}function U0({children:e}){const[t,n]=$($e.getVersion()),[r,i]=lr(H0);K(()=>{Jl.includes(r)&&t!==r&&(_e.setVersion(r),n(r))},[t,r]);const s=Me((a,l=!0,u=!1)=>{(u||r)&&i(a,!0),l&&(_e.setVersion(a),$e.setVersion(a)),n(a)},[r]);K(()=>{_e.setVersion(t)},[]);const o={version:t,changeVersion:s,changeTargetVersion:i};return h(uc.Provider,{value:o},e)}let re,dc=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0});dc.decode();let $r=null;function G0(){return($r===null||$r.buffer!==re.memory.buffer)&&($r=new Uint8Array(re.memory.buffer)),$r}function Y0(e,t){return dc.decode(G0().subarray(e,e+t))}const hs=new Uint32Array(2),W0=new BigInt64Array(hs.buffer);let Dr=null;function ur(){return(Dr===null||Dr.buffer!==re.memory.buffer)&&(Dr=new Int32Array(re.memory.buffer)),Dr}let Br=null;function hc(){return(Br===null||Br.buffer!==re.memory.buffer)&&(Br=new Float64Array(re.memory.buffer)),Br}function q0(e,t){return hc().subarray(e/8,e/8+t)}let Ie=0;function Ne(e,t){const n=t(e.length*8);return hc().set(e,n/8),Ie=e.length,n}let Fr=null;function Z0(){return(Fr===null||Fr.buffer!==re.memory.buffer)&&(Fr=new Uint32Array(re.memory.buffer)),Fr}function X0(e,t){const n=t(e.length*4);return Z0().set(e,n/4),Ie=e.length,n}function J0(e,t,n,r,i,s,o,a,l,u,c,d,f,p){var m=Ne(e,re.__wbindgen_malloc),v=Ie,g=Ne(t,re.__wbindgen_malloc),_=Ie,y=Ne(n,re.__wbindgen_malloc),w=Ie,b=Ne(r,re.__wbindgen_malloc),A=Ie,k=Ne(i,re.__wbindgen_malloc),C=Ie,S=Ne(s,re.__wbindgen_malloc),M=Ie,O=Ne(o,re.__wbindgen_malloc),L=Ie,D=Ne(a,re.__wbindgen_malloc),ee=Ie,le=Ne(l,re.__wbindgen_malloc),ce=Ie,I=Ne(u,re.__wbindgen_malloc),N=Ie,z=Ne(c,re.__wbindgen_malloc),T=Ie,x=Ne(d,re.__wbindgen_malloc),E=Ie,R=Ne(f,re.__wbindgen_malloc),V=Ie,W=X0(p,re.__wbindgen_malloc),de=Ie,Ve=re.biome_parameters(m,v,g,_,y,w,b,A,k,C,S,M,O,L,D,ee,le,ce,I,N,z,T,x,E,R,V,W,de);return Li.__wrap(Ve)}function K0(e,t,n,r,i,s,o,a,l,u,c,d,f){W0[0]=e;const p=hs[0],m=hs[1];var v=Ne(n,re.__wbindgen_malloc),g=Ie,_=Ne(i,re.__wbindgen_malloc),y=Ie,w=Ne(o,re.__wbindgen_malloc),b=Ie,A=Ne(l,re.__wbindgen_malloc),k=Ie,C=Ne(c,re.__wbindgen_malloc),S=Ie,M=Ne(f,re.__wbindgen_malloc),O=Ie,L=re.climate_sampler(p,m,t,v,g,r,_,y,s,w,b,a,A,k,u,C,S,d,M,O);return Mr.__wrap(L)}function fs(e,t){if(!(e instanceof t))throw new Error(`expected instance of ${t.name}`);return e.ptr}function Q0(e,t){return ur().subarray(e/4,e/4+t)}function Uo(e,t,n,r,i,s,o,a,l,u,c){try{const m=re.__wbindgen_add_to_stack_pointer(-16);fs(e,Li),fs(t,Mr),re.multi_noise(m,e.ptr,t.ptr,n,r,i,s,o,a,l,u,c);var d=ur()[m/4+0],f=ur()[m/4+1],p=Q0(d,f).slice();return re.__wbindgen_free(d,f*4),p}finally{re.__wbindgen_add_to_stack_pointer(16)}}function Go(e,t,n,r,i,s,o,a,l,u){try{const p=re.__wbindgen_add_to_stack_pointer(-16);fs(e,Mr),re.climate_noise(p,e.ptr,t,n,r,i,s,o,a,l,u);var c=ur()[p/4+0],d=ur()[p/4+1],f=q0(c,d).slice();return re.__wbindgen_free(c,d*8),f}finally{re.__wbindgen_add_to_stack_pointer(16)}}class Li{static __wrap(t){const n=Object.create(Li.prototype);return n.ptr=t,n}__destroy_into_raw(){const t=this.ptr;return this.ptr=0,t}free(){const t=this.__destroy_into_raw();re.__wbg_parameterlist_free(t)}}class Mr{static __wrap(t){const n=Object.create(Mr.prototype);return n.ptr=t,n}__destroy_into_raw(){const t=this.ptr;return this.ptr=0,t}free(){const t=this.__destroy_into_raw();re.__wbg_sampler_free(t)}}async function ep(e,t){if(typeof Response=="function"&&e instanceof Response){if(typeof WebAssembly.instantiateStreaming=="function")try{return await WebAssembly.instantiateStreaming(e,t)}catch(r){if(e.headers.get("Content-Type")!="application/wasm")console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n",r);else throw r}const n=await e.arrayBuffer();return await WebAssembly.instantiate(n,t)}else{const n=await WebAssembly.instantiate(e,t);return n instanceof WebAssembly.Instance?{instance:n,module:e}:n}}async function fc(e){typeof e=="undefined"&&(e=new URL("/assets/deepslate_rs_bg.4990c219.wasm",self.location));const t={};t.wbg={},t.wbg.__wbindgen_throw=function(i,s){throw new Error(Y0(i,s))},(typeof e=="string"||typeof Request=="function"&&e instanceof Request||typeof URL=="function"&&e instanceof URL)&&(e=fetch(e));const{instance:n,module:r}=await ep(await e,t);return re=n.exports,fc.__wbindgen_wasm_module=r,re}var Yo="/assets/deepslate_rs_bg.4990c219.wasm",pc={exports:{}},mc={exports:{}};(function(){var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",t={rotl:function(n,r){return n<>>32-r},rotr:function(n,r){return n<<32-r|n>>>r},endian:function(n){if(n.constructor==Number)return t.rotl(n,8)&16711935|t.rotl(n,24)&4278255360;for(var r=0;r0;n--)r.push(Math.floor(Math.random()*256));return r},bytesToWords:function(n){for(var r=[],i=0,s=0;i>>5]|=n[i]<<24-s%32;return r},wordsToBytes:function(n){for(var r=[],i=0;i>>5]>>>24-i%32&255);return r},bytesToHex:function(n){for(var r=[],i=0;i>>4).toString(16)),r.push((n[i]&15).toString(16));return r.join("")},hexToBytes:function(n){for(var r=[],i=0;i>>6*(3-o)&63)):r.push("=");return r.join("")},base64ToBytes:function(n){n=n.replace(/[^A-Z0-9+\/]/ig,"");for(var r=[],i=0,s=0;i>>6-s*2);return r}};mc.exports=t})();var ps={utf8:{stringToBytes:function(e){return ps.bin.stringToBytes(unescape(encodeURIComponent(e)))},bytesToString:function(e){return decodeURIComponent(escape(ps.bin.bytesToString(e)))}},bin:{stringToBytes:function(e){for(var t=[],n=0;nlocalStorage.removeItem(`cache_${e}`));["mcdata_master","vanilla_datapack_summary"].forEach(e=>localStorage.removeItem(`cached_${e}`));caches.delete("misode-v1");const Sn="misode-v2",Vs="cached_latest_version",Wi="22w18a",Zn="https://raw.githubusercontent.com/misode/mcmeta";function Xt(e,t){return`${Zn}/${e.dynamic?t:`${e.ref}-${t}`}`}async function Ni(e){e.dynamic&&(localStorage.getItem(Vs)!==Wi&&(await S0(t=>t.startsWith(`${Zn}/summary/`)||t.startsWith(`${Zn}/data/`)||t.startsWith(`${Zn}/assets/`)||t.startsWith(`${Zn}/registries/`)),localStorage.setItem(Vs,Wi)),e.ref=Wi)}async function v0(e,t,n){const r=pe.versions.find(i=>i.id===e);if(!r){console.error(`[fetchData] Unknown version ${r} in ${JSON.stringify(pe.versions)}`);return}await Ni(r),await Promise.all([w0(r,t),y0(r,n)])}async function w0(e,t){console.debug(`[fetchRegistries] ${e.id}`);try{const n=await Rn(`${Xt(e,"summary")}/registries/data.min.json`);for(const r in n)t.register(r,n[r].map(i=>"minecraft:"+i))}catch(n){console.warn("Error occurred while fetching registries:",ct(n))}}async function y0(e,t){console.debug(`[fetchBlockStateMap] ${e.id}`);try{const n=await Rn(`${Xt(e,"summary")}/blocks/data.min.json`);for(const r in n)t["minecraft:"+r]={properties:n[r][0],default:n[r][1]}}catch(n){console.warn("Error occurred while fetching block state map:",ct(n))}}async function Xl(e,t,n){console.debug(`[fetchPreset] ${e} ${t} ${n}`);const r=pe.versions.find(i=>i.id===e);try{const i=["blockstates","models"].includes(t)?"assets":"data",o=`${Xt(r,i)}/${i}/minecraft/${t}/${n}.json`;return await(await fetch(o)).json()}catch(i){throw new Error(`Error occurred while fetching ${t} preset ${n}: ${ct(i)}`)}}async function b0(e,t){console.debug(`[fetchAllPresets] ${e} ${t}`);const n=pe.versions.find(r=>r.id===e);await Ni(n);try{const r=await Rn(`${Xt(n,"registries")}/${t}/data.min.json`);return new Map(await Promise.all(r.map(async i=>[i,await Rn(`${Xt(n,"data")}/data/minecraft/${t}/${i}.json`)])))}catch(r){throw new Error(`Error occurred while fetching all ${t} presets: ${ct(r)}`)}}async function x0(e){const t=pe.versions.find(n=>n.id===e);await Ni(t);try{const n=`${Xt(t,"summary")}/sounds/data.min.json`;return await Rn(n)}catch(n){throw new Error(`Error occurred while fetching sounds for ${t}: ${ct(n)}`)}}function A0(e,t){const n=pe.versions.find(r=>r.id===e);return`${Xt(n,"assets")}/assets/minecraft/sounds/${t}.ogg`}async function k0(){const e=pe.versions[pe.versions.length-1];await Ni(e);try{return Rn(`${Xt(e,"summary")}/versions/data.min.json`)}catch(t){throw new Error(`Error occured while fetching versions: ${ct(t)}`)}}async function Rn(e,t=n=>n){try{const n=await caches.open(Sn);console.debug(`[getData] Opened cache ${Sn} ${e}`);const r=await n.match(e);if(r&&r.ok)return console.debug(`[getData] Retrieving cached data ${e}`),await r.json();console.debug(`[getData] fetching data ${e}`);const i=await fetch(e),o=t(await i.json());return await n.put(e,new Response(JSON.stringify(o))),o}catch(n){console.warn(`[getData] Failed to open cache ${Sn}: ${ct(n)}`),console.debug(`[getData] fetching data ${e}`);const r=await fetch(e);return t(await r.json())}}async function S0(e){try{const t=await caches.open(Sn);console.debug(`[deleteMatching] Opened cache ${Sn}`);const n=[];for(const r of await t.keys())e(r.url)&&n.push(t.delete(r));console.debug(`[deleteMatching] Removing ${n.length} cache objects...`),await Promise.all(n)}catch(t){console.warn(`[deleteMatching] Failed to open cache ${Sn}: ${ct(t)}`)}}const Jl=["1.15","1.16","1.17","1.18","1.18.2","1.19"],gn={},_n={},E0={1.15:()=>ae(()=>import("./index.700191c5.js").then(function(e){return e.i}),[]),1.16:()=>ae(()=>import("./index.68968b48.js").then(function(e){return e.i}),[]),1.17:()=>ae(()=>import("./index.210d411f.js").then(function(e){return e.i}),[]),1.18:()=>ae(()=>import("./index.01484bab.js").then(function(e){return e.i}),[]),"1.18.2":()=>ae(()=>import("./index.75f8e4cf.js").then(function(e){return e.i}),[]),1.19:()=>ae(()=>import("./index.6b2a70f4.js").then(function(e){return e.i}),[])};let Kl,Ql,Zr;async function Fo(e){return gn[e]||(gn[e]=(async()=>{try{const t=await E0[e](),n=t.getCollections(),r={};await v0(e,n,r);const i=t.getSchemas(n);return gn[e]={collections:n,schemas:i,blockStates:r},gn[e]}catch(t){throw new Error(`Cannot get version "${e}": ${ct(t)}`)}})()),gn[e]}async function C0(e,t){var n;if(!_n[t]||_n[t].version!==e){const r=await Fo(e);Kl=B.Reference(r.schemas,"configured_decorator"),Ql=B.ChoiceNode([{type:"string",node:B.StringNode(r.collections,{validator:"resource",params:{pool:"$worldgen/configured_feature"}})},{type:"object",node:B.Reference(r.schemas,"configured_feature")}],{choiceContext:"feature"});const i=(n=pe.generators.find(o=>o.id===t))==null?void 0:n.schema;if(!i)throw new Error(`Cannot find model ${t}`);try{const o=r.schemas.get(i),s=new B.DataModel(o,{wrapLists:!0});_n[t]?s.reset(_n[t].model.data,!1):(s.validate(!0),s.history=[JSON.stringify(s.data)]),_n[t]={model:s,version:e}}catch(o){const s=new Error(`Cannot get generator "${t}" for version "${e}": ${ct(o)}`);throw o instanceof Error&&(s.stack=o.stack),s}}return _n[t].model}async function I0(e){const t=await Fo(e);return Zr=t.collections,t.collections}async function M0(e){return(await Fo(e)).blockStates}function Ye(e,t,n){const r=pe.versions.findIndex(s=>s.id===e),i=t?pe.versions.findIndex(s=>s.id===t):0,o=n?pe.versions.findIndex(s=>s.id===n):pe.versions.length-1;return i<=r&&r<=o}var ec={exports:{}};(function(e){var t=function(){var n=String.fromCharCode,r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",i="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+-$",o={};function s(l,u){if(!o[l]){o[l]={};for(var c=0;c>>8,c[d*2+1]=p%256}return c},decompressFromUint8Array:function(l){if(l==null)return a.decompress(l);for(var u=new Array(l.length/2),c=0,d=u.length;c>1}else{for(f=1,d=0;d>1}b--,b==0&&(b=Math.pow(2,x),x++),delete m[_]}else for(f=p[_],d=0;d>1;b--,b==0&&(b=Math.pow(2,x),x++),p[g]=w++,_=String(v)}if(_!==""){if(Object.prototype.hasOwnProperty.call(m,_)){if(_.charCodeAt(0)<256){for(d=0;d>1}else{for(f=1,d=0;d>1}b--,b==0&&(b=Math.pow(2,x),x++),delete m[_]}else for(f=p[_],d=0;d>1;b--,b==0&&(b=Math.pow(2,x),x++)}for(f=2,d=0;d>1;for(;;)if(k=k<<1,I==u-1){A.push(c(k));break}else I++;return A.join("")},decompress:function(l){return l==null?"":l==""?null:a._decompress(l.length,32768,function(u){return l.charCodeAt(u)})},_decompress:function(l,u,c){var d=[],f=4,p=4,m=3,v="",g=[],_,b,w,x,A,k,I,S={val:c(0),position:u,index:1};for(_=0;_<3;_+=1)d[_]=_;for(w=0,A=Math.pow(2,2),k=1;k!=A;)x=S.val&S.position,S.position>>=1,S.position==0&&(S.position=u,S.val=c(S.index++)),w|=(x>0?1:0)*k,k<<=1;switch(w){case 0:for(w=0,A=Math.pow(2,8),k=1;k!=A;)x=S.val&S.position,S.position>>=1,S.position==0&&(S.position=u,S.val=c(S.index++)),w|=(x>0?1:0)*k,k<<=1;I=n(w);break;case 1:for(w=0,A=Math.pow(2,16),k=1;k!=A;)x=S.val&S.position,S.position>>=1,S.position==0&&(S.position=u,S.val=c(S.index++)),w|=(x>0?1:0)*k,k<<=1;I=n(w);break;case 2:return""}for(d[3]=I,b=I,g.push(I);;){if(S.index>l)return"";for(w=0,A=Math.pow(2,m),k=1;k!=A;)x=S.val&S.position,S.position>>=1,S.position==0&&(S.position=u,S.val=c(S.index++)),w|=(x>0?1:0)*k,k<<=1;switch(I=w){case 0:for(w=0,A=Math.pow(2,8),k=1;k!=A;)x=S.val&S.position,S.position>>=1,S.position==0&&(S.position=u,S.val=c(S.index++)),w|=(x>0?1:0)*k,k<<=1;d[p++]=n(w),I=p-1,f--;break;case 1:for(w=0,A=Math.pow(2,16),k=1;k!=A;)x=S.val&S.position,S.position>>=1,S.position==0&&(S.position=u,S.val=c(S.index++)),w|=(x>0?1:0)*k,k<<=1;d[p++]=n(w),I=p-1,f--;break;case 2:return g.join("")}if(f==0&&(f=Math.pow(2,m),m++),d[I])v=d[I];else if(I===p)v=b+b.charAt(0);else return null;g.push(v),d[p++]=b+v.charAt(0),f--,b=v,f==0&&(f=Math.pow(2,m),m++)}}};return a}();e!=null&&(e.exports=t)})(ec);var tc=ec.exports;const O0="https://z15g7can.directus.app/items",Hs=new Map;async function T0(e,t,n,r){try{const i=JSON.stringify(n),o=tc.compressToBase64(i);console.log("Compression rate",i.length/i.length);const s=JSON.stringify({data:o,type:e,version:t,show_preview:r});let a=Hs.get(s);if(!a){const l=await nc("/snippets",s);Hs.set(s,l.id),a=l.id}return{id:a,length:i.length,compressed:o.length,rate:i.length/o.length}}catch(i){throw i instanceof Error&&(i.message=`Error creating share link: ${i.message}`),i}}async function N0(e){var t;try{const n=await nc(`/snippets/${e}`);return xe(J({},n),{data:JSON.parse((t=tc.decompressFromBase64(n.data))!=null?t:"{}")})}catch(n){throw n instanceof Error&&(n.message=`Error loading shared content: ${n.message}`),n}}async function nc(e,t){var i,o,s;const r=await(await fetch(O0+e,t?{method:"post",headers:{"Content-Type":"application/json"},body:t}:void 0)).json();if(r.data)return r.data;throw new Error((s=(o=(i=r.errors)==null?void 0:i[0])==null?void 0:o.message)!=null?s:"Unknown error")}var rc=JSON.parse('{"add":"Add","add_bottom":"Add to bottom","add_top":"Add to top","advancement":"Advancement","any_version":"Any","assets":"Assets","block_definition":"Blockstate","changelog.search":"Search changes","changelog.no_results":"No changes","chat_type":"Chat Type","collapse":"Collapse","collapse_all":"Hold %0% to collapse all","configure_layers":"Configure layers","copy":"Copy","copy_share":"Copy share link","copied":"Copied!","copy_context":"Copy context","dimension_type":"Dimension Type","dimension":"Dimension","disabled":"Disabled","download":"Download","duplicate":"Duplicate","enabled":"Enabled","entries_hidden":"%0% entries hidden","entries_hidden.more":"Show %0% more","entries_hidden.all":"Show all","expand":"Expand","expand_all":"Hold %0% to expand all","feature.decorated.decorators":"Decorators","feature.decorated.decorators.entry":"Decorator","follow_reference":"Follow reference","format.json":"JSON","format.yaml":"YAML","fields":"Fields","generate_new_seed":"Generate new seed","github":"GitHub","guides.all":"All guides","guides.search":"Search guides","guides.no_results.version":"No guides for this version","guides.no_results.query":"No guides for this query","hide_output":"Hide output","hide_preview":"Hide preview","home":"Home","import":"Import","indentation.2_spaces":"2 spaces","indentation.4_spaces":"4 spaces","indentation.minified":"Minified","indentation.tabs":"Tabs","item_modifier":"Item Modifier","language":"Language","layer.biomes":"Biomes","layer.temperature":"Temperature","layer.humidity":"Humidity","layer.continentalness":"Continentalness","layer.erosion":"Erosion","layer.weirdness":"Weirdness","layer.offset":"Offset","layer.factor":"Factor","layer.jaggedness":"Jaggedness","highlighting":"Highlighting","loading":"Loading...","loot_table":"Loot Table","model":"Model","more":"More","move_down":"Move down","move_up":"Move up","not_found.description":"The page you were looking for does not exist.","no_presets":"No presets","output_settings":"Output settings","predicate":"Predicate","recipe":"Recipe","redo":"Redo","reset":"Reset","restore_backup":"Restore last backup","settings":"Settings","settings.fields.description":"Customize advanced field settings","settings.fields.path":"Context","settings.fields.name":"Name","share":"Share","theme":"Theme","theme.dark":"Dark","theme.light":"Light","theme.system":"System","title.changelog":"Technical Changelog","title.generator":"%0% Generator","title.generator_category":"%0% Generators","title.guides":"Data Pack Guides","title.home":"Data Pack Generators","title.project":"%0% Project","title.sounds":"Sound Explorer","title.versions":"Versions Explorer","presets":"Presets","preview":"Visualize","preview.auto_scroll":"Auto scroll","preview.biome":"Biome","preview.scale":"Scale","preview.depth":"Depth","preview.factor":"Factor","preview.offset":"Offset","preview.peaks":"Peaks","preview.width":"Width","project.delete_file":"Delete file","project.go_to":"Go to project","project.new_file":"New file","project.no_files":"No files","project.search":"Search project","project.search_drafts":"Search drafts","project.unsaved_file":"Unsaved file","remove":"Remove","search":"Search","show_output":"Show output","show_preview":"Show preview","sounds.play":"Play","sounds.play_sound":"Play sound","sounds.play_all":"Play all","sounds.search":"Search sounds","sounds.download_function":"Download Mcfunction","sounds.delay":"Delay","sounds.pitch":"Pitch","sounds.volume":"Volume","sounds.copy_command":"Copy command","sounds.add_sound":"Add sound","sounds.remove_sound":"Remove sound","sounds.unknown_sound":"Unknown sound","sounds.loading_sound":"Loading sound","source_placeholder":"Paste raw %0% content here","switch_generator":"Switch generator","switch_version":"Switch version","terrain_settings":"Terrain settings","text_component":"Text Component","undo":"Undo","versions.search":"Search versions","versions.no_results":"No results","versions.all":"All versions","versions.previous":"Previous","versions.next":"Next","versions.released":"Released","versions.release_target":"Release target","versions.data_version":"Data version","versions.protocol_version":"Protocol version","versions.pack_format":"Pack format","versions.data_pack_format":"Data pack format","versions.resource_pack_format":"Resource pack format","versions.technical_changes":"Technical changes","versions.discussion":"Discussion","world":"World Settings","worldgen":"Worldgen","worldgen/biome":"Biome","worldgen/configured_carver":"Carver","worldgen/configured_feature":"Feature","worldgen/density_function":"Density Function","worldgen/placed_feature":"Placed Feature","worldgen/noise":"Noise","worldgen/noise_settings":"Noise Settings","worldgen/processor_list":"Processor List","worldgen/configured_structure_feature":"Structure Feature","worldgen/structure":"Structure","worldgen/structure_set":"Structure Set","worldgen/configured_surface_builder":"Surface Builder","worldgen/template_pool":"Template Pool","worldgen/world_preset":"World Preset","worldgen/flat_level_generator_preset":"Flat World Preset","zoom_in":"Zoom in","zoom_out":"Zoom out"}'),L0=Object.freeze(Object.defineProperty({__proto__:null,default:rc},Symbol.toStringTag,{value:"Module"})),$e;(e=>{e.ID_LANGUAGE="language",e.ID_THEME="theme",e.ID_VERSION="schema_version",e.ID_INDENT="indentation",e.ID_FORMAT="output_format",e.ID_HIGHLIGHTING="output_highlighting",e.ID_SOUNDS_VERSION="minecraft_sounds_version",e.ID_PROJECTS="misode_projects",e.ID_BACKUPS="misode_generator_backups";function t(){var w;return(w=localStorage.getItem(e.ID_LANGUAGE))!=null?w:"en"}e.getLanguage=t;function n(){var w;return(w=localStorage.getItem(e.ID_THEME))!=null?w:"dark"}e.getTheme=n;function r(){const w=localStorage.getItem(e.ID_VERSION);return w&&Jl.includes(w)?w:"1.18.2"}e.getVersion=r;function i(){var w;return(w=localStorage.getItem(e.ID_INDENT))!=null?w:"2_spaces"}e.getIndent=i;function o(){var w;return(w=localStorage.getItem(e.ID_FORMAT))!=null?w:"json"}e.getFormat=o;function s(){return localStorage.getItem(e.ID_HIGHLIGHTING)!=="false"}e.getHighlighting=s;function a(){var w;return(w=localStorage.getItem(e.ID_SOUNDS_VERSION))!=null?w:"latest"}e.getSoundsVersion=a;function l(){const w=localStorage.getItem(e.ID_PROJECTS);return w?JSON.parse(w):[cr]}e.getProjects=l;function u(w){var A;return JSON.parse((A=localStorage.getItem(e.ID_BACKUPS))!=null?A:"{}")[w]}e.getBackup=u;function c(w){w&&localStorage.setItem(e.ID_LANGUAGE,w)}e.setLanguage=c;function d(w){w&&localStorage.setItem(e.ID_THEME,w)}e.setTheme=d;function f(w){w&&localStorage.setItem(e.ID_VERSION,w)}e.setVersion=f;function p(w){w&&localStorage.setItem(e.ID_INDENT,w)}e.setIndent=p;function m(w){w&&localStorage.setItem(e.ID_FORMAT,w)}e.setFormat=m;function v(w){w!==void 0&&localStorage.setItem(e.ID_HIGHLIGHTING,w.toString())}e.setHighlighting=v;function g(w){w&&localStorage.setItem(e.ID_SOUNDS_VERSION,w)}e.setSoundsVersion=g;function _(w){w&&localStorage.setItem(e.ID_PROJECTS,JSON.stringify(w))}e.setProjects=_;function b(w,x){var k;const A=JSON.parse((k=localStorage.getItem(e.ID_BACKUPS))!=null?k:"{}");x===void 0?delete A[w]:A[w]=x,localStorage.setItem(e.ID_BACKUPS,JSON.stringify(A))}e.setBackup=b})($e||($e={}));function R0(e){switch(e){case"../../../node_modules/@mcschema/locales/src/cs.json":return ae(()=>import("./cs.967a01eb.js"),[]);case"../../../node_modules/@mcschema/locales/src/de.json":return ae(()=>import("./de.8e2383d8.js"),[]);case"../../../node_modules/@mcschema/locales/src/en.json":return ae(()=>import("./en.4ab98cb7.js"),[]);case"../../../node_modules/@mcschema/locales/src/es.json":return ae(()=>import("./es.6b3597bc.js"),[]);case"../../../node_modules/@mcschema/locales/src/fr.json":return ae(()=>import("./fr.e316b1e2.js"),[]);case"../../../node_modules/@mcschema/locales/src/it.json":return ae(()=>import("./it.7ff123cd.js"),[]);case"../../../node_modules/@mcschema/locales/src/ja.json":return ae(()=>import("./ja.3170354d.js"),[]);case"../../../node_modules/@mcschema/locales/src/pl.json":return ae(()=>import("./pl.ae1f6791.js"),[]);case"../../../node_modules/@mcschema/locales/src/pt.json":return ae(()=>import("./pt.31e14993.js"),[]);case"../../../node_modules/@mcschema/locales/src/ru.json":return ae(()=>import("./ru.1298edc9.js"),[]);case"../../../node_modules/@mcschema/locales/src/sk.json":return ae(()=>import("./sk.d4265232.js"),[]);case"../../../node_modules/@mcschema/locales/src/zh-cn.json":return ae(()=>import("./zh-cn.4129665a.js"),[]);case"../../../node_modules/@mcschema/locales/src/zh-tw.json":return ae(()=>import("./zh-tw.bdc36a24.js"),[]);default:return new Promise(function(t,n){(typeof queueMicrotask=="function"?queueMicrotask:setTimeout)(n.bind(null,new Error("Unknown variable dynamic import: "+e)))})}}function P0(e){switch(e){case"../../locales/de.json":return ae(()=>import("./de.a269acce.js"),[]);case"../../locales/en.json":return ae(()=>Promise.resolve().then(function(){return L0}),void 0);case"../../locales/es.json":return ae(()=>import("./es.833a9774.js"),[]);case"../../locales/fr.json":return ae(()=>import("./fr.f5531eea.js"),[]);case"../../locales/it.json":return ae(()=>import("./it.fd9a8268.js"),[]);case"../../locales/ja.json":return ae(()=>import("./ja.167de97b.js"),[]);case"../../locales/pl.json":return ae(()=>import("./pl.3a9fb38c.js"),[]);case"../../locales/pt.json":return ae(()=>import("./pt.1a04bd2d.js"),[]);case"../../locales/ru.json":return ae(()=>import("./ru.578070fe.js"),[]);case"../../locales/sk.json":return ae(()=>import("./sk.96bbf351.js"),[]);case"../../locales/zh-cn.json":return ae(()=>import("./zh-cn.e3c47b68.js"),[]);case"../../locales/zh-tw.json":return ae(()=>import("./zh-tw.42e9d37d.js"),[]);default:return new Promise(function(t,n){(typeof queueMicrotask=="function"?queueMicrotask:setTimeout)(n.bind(null,new Error("Unknown variable dynamic import: "+e)))})}}const ic=Bn({lang:"none",locale:e=>e,changeLocale:()=>{}}),tr={fallback:rc};function ue(e,t,...n){var i,o,s,a,l;const r=(l=(a=(s=(i=tr[e])==null?void 0:i[t])!=null?s:(o=tr.en)==null?void 0:o[t])!=null?a:tr.fallback[t])!=null?l:t;return $0(r,n)}function $0(e,t){return e.replace(/%\d+%/g,n=>{const r=parseInt(n.slice(1,-1));return(t==null?void 0:t[r])!==void 0?t[r]:n})}async function qi(e){if(tr[e])return;const t=pe.languages.find(i=>i.code===e);if(!t)return;const n=await P0(`../../locales/${e}.json`),r=t.schemas!==!1&&await R0(`../../../node_modules/@mcschema/locales/src/${e}.json`);tr[e]=J(J({},n.default),r.default)}function Ee(){return zn(ic)}function D0({children:e}){const[t,n]=$("none"),r=Me((s,...a)=>ue(t,s,...a),[t]),i=Me(async s=>{await qi(s),_e.changeLocale(t,s),$e.setLanguage(s),n(s)},[t]);K(()=>{(async()=>{const s=$e.getLanguage();_e.setLocale(s),await Promise.all([qi("en"),...s!=="en"?[qi(s)]:[]]),n(s)})()},[]);const o={lang:t,locale:r,changeLocale:i};return h(ic.Provider,{value:o},e)}const cr={name:"Drafts",namespace:"draft",files:[]},oc=Bn({projects:[cr],project:cr,changeProject:()=>{},updateProject:()=>{},updateFile:()=>!1,openFile:()=>{},closeFile:()=>{}});function sc(){return zn(oc)}function B0({children:e}){const[t,n]=$($e.getProjects()),[r,i]=$(cr.name),o=Ae(()=>{var v;return(v=t.find(g=>g.name===r))!=null?v:cr},[t,r]),[s,a]=$(void 0),l=Ae(()=>{if(!!s)return o.files.find(v=>v.type===s[0]&&v.id===s[1])},[o,s]),u=Me(v=>{$e.setProjects(v),n(v)},[]),c=Me(v=>{u(t.map(g=>g.name===r?J(J({},g),v):g))},[t,r]),d=Me((v,g,_)=>{var b;if(!_.id)c({files:o.files.filter(w=>w.type!==v||w.id!==g)});else{const w=_.id.includes(":")?_.id:`${o.namespace}:${_.id}`,x=o.files.some(A=>A.type===v&&A.id===w);if(g){if((l==null?void 0:l.id)===g&&g!==w&&x)return!1;c({files:o.files.map(A=>A.type===v&&A.id===g?xe(J(J({},A),_),{id:w}):A)}),(l==null?void 0:l.id)===g&&a([v,w])}else{if(x)return!1;c({files:[...o.files,{type:v,id:w,data:(b=_.data)!=null?b:{}}]}),a([v,w])}}return!0},[c,o,l]),f=Me((v,g)=>{const _=pe.generators.find(b=>b.id===v||b.path===v);if(!_)throw new Error(`Cannot find generator of type ${v}`);a([_.id,g]),qt(jt(_.url))},[]),p=Me(()=>{a(void 0)},[]),m={projects:t,project:o,file:l,changeProject:i,updateProject:c,updateFile:d,openFile:f,closeFile:p};return h(oc.Provider,{value:m},e)}function F0(e){var i;const[t,n]=e.id.includes(":")?e.id.split(":"):["minecraft",e.id],r=pe.generators.find(o=>o.id===e.type);if(!r)throw new Error(`Cannot find generator of type ${e.type}`);return`data/${t}/${(i=r.path)!=null?i:r.id}/${n}`}const ac=Bn({theme:"dark",actualTheme:"dark",changeTheme:()=>{}});function lc(){return zn(ac)}function z0({children:e}){const[t,n]=$($e.getTheme()),r=Ds("(prefers-color-scheme: light)"),i=Ds("(prefers-color-scheme: dark)");K(()=>{document.documentElement.setAttribute("data-theme",t)},[t]);const o=Me(a=>{_e.changeTheme(t,a),$e.setTheme(a),n(a)},[t]);K(()=>{_e.setPrefersColorScheme(r?"light":i?"dark":"none")},[r,i]),K(()=>{_e.setTheme(t)},[]);const s={theme:t,actualTheme:t==="light"||t!=="dark"&&r?"light":"dark",changeTheme:o};return h(ac.Provider,{value:s},e)}const j0=3,cc=Bn({title:"",changeTitle:()=>{}});function _t(e,t,n){const r=zn(cc);return K(()=>{e&&r.changeTitle(e,t,n)},[e,t,n]),r}function V0({children:e}){const{locale:t}=Ee(),[n,r]=$(t("title.home")),i=Me((s,a,l)=>{let u=pe.versions;a!==void 0&&(u=pe.versions.filter(d=>a==null?void 0:a.includes(d.id)));let c="";l&&(c=` - ${l}`),(a==null?void 0:a.length)!==0&&(c=` - Minecraft ${u.map(f=>f.id).slice(-j0).join(", ")}`),document.title=s+c,r(s)},[]),o={title:n,changeTitle:i};return h(cc.Provider,{value:o},e)}const H0="version",uc=Bn({version:"1.18.2",changeVersion:()=>{},changeTargetVersion:()=>{}});function Hn(){return zn(uc)}function U0({children:e}){const[t,n]=$($e.getVersion()),[r,i]=lr(H0);K(()=>{Jl.includes(r)&&t!==r&&(_e.setVersion(r),n(r))},[t,r]);const o=Me((a,l=!0,u=!1)=>{(u||r)&&i(a,!0),l&&(_e.changeVersion(t,a),$e.setVersion(a)),n(a)},[t,r]);K(()=>{_e.setVersion(t)},[]);const s={version:t,changeVersion:o,changeTargetVersion:i};return h(uc.Provider,{value:s},e)}let re,dc=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0});dc.decode();let $r=null;function G0(){return($r===null||$r.buffer!==re.memory.buffer)&&($r=new Uint8Array(re.memory.buffer)),$r}function Y0(e,t){return dc.decode(G0().subarray(e,e+t))}const fo=new Uint32Array(2),W0=new BigInt64Array(fo.buffer);let Dr=null;function ur(){return(Dr===null||Dr.buffer!==re.memory.buffer)&&(Dr=new Int32Array(re.memory.buffer)),Dr}let Br=null;function hc(){return(Br===null||Br.buffer!==re.memory.buffer)&&(Br=new Float64Array(re.memory.buffer)),Br}function q0(e,t){return hc().subarray(e/8,e/8+t)}let Ce=0;function Ne(e,t){const n=t(e.length*8);return hc().set(e,n/8),Ce=e.length,n}let Fr=null;function Z0(){return(Fr===null||Fr.buffer!==re.memory.buffer)&&(Fr=new Uint32Array(re.memory.buffer)),Fr}function X0(e,t){const n=t(e.length*4);return Z0().set(e,n/4),Ce=e.length,n}function J0(e,t,n,r,i,o,s,a,l,u,c,d,f,p){var m=Ne(e,re.__wbindgen_malloc),v=Ce,g=Ne(t,re.__wbindgen_malloc),_=Ce,b=Ne(n,re.__wbindgen_malloc),w=Ce,x=Ne(r,re.__wbindgen_malloc),A=Ce,k=Ne(i,re.__wbindgen_malloc),I=Ce,S=Ne(o,re.__wbindgen_malloc),M=Ce,O=Ne(s,re.__wbindgen_malloc),N=Ce,D=Ne(a,re.__wbindgen_malloc),ee=Ce,le=Ne(l,re.__wbindgen_malloc),ce=Ce,T=Ne(u,re.__wbindgen_malloc),P=Ce,V=Ne(c,re.__wbindgen_malloc),C=Ce,y=Ne(d,re.__wbindgen_malloc),E=Ce,L=Ne(f,re.__wbindgen_malloc),j=Ce,Y=X0(p,re.__wbindgen_malloc),de=Ce,Ve=re.biome_parameters(m,v,g,_,b,w,x,A,k,I,S,M,O,N,D,ee,le,ce,T,P,V,C,y,E,L,j,Y,de);return Li.__wrap(Ve)}function K0(e,t,n,r,i,o,s,a,l,u,c,d,f){W0[0]=e;const p=fo[0],m=fo[1];var v=Ne(n,re.__wbindgen_malloc),g=Ce,_=Ne(i,re.__wbindgen_malloc),b=Ce,w=Ne(s,re.__wbindgen_malloc),x=Ce,A=Ne(l,re.__wbindgen_malloc),k=Ce,I=Ne(c,re.__wbindgen_malloc),S=Ce,M=Ne(f,re.__wbindgen_malloc),O=Ce,N=re.climate_sampler(p,m,t,v,g,r,_,b,o,w,x,a,A,k,u,I,S,d,M,O);return Mr.__wrap(N)}function po(e,t){if(!(e instanceof t))throw new Error(`expected instance of ${t.name}`);return e.ptr}function Q0(e,t){return ur().subarray(e/4,e/4+t)}function Us(e,t,n,r,i,o,s,a,l,u,c){try{const m=re.__wbindgen_add_to_stack_pointer(-16);po(e,Li),po(t,Mr),re.multi_noise(m,e.ptr,t.ptr,n,r,i,o,s,a,l,u,c);var d=ur()[m/4+0],f=ur()[m/4+1],p=Q0(d,f).slice();return re.__wbindgen_free(d,f*4),p}finally{re.__wbindgen_add_to_stack_pointer(16)}}function Gs(e,t,n,r,i,o,s,a,l,u){try{const p=re.__wbindgen_add_to_stack_pointer(-16);po(e,Mr),re.climate_noise(p,e.ptr,t,n,r,i,o,s,a,l,u);var c=ur()[p/4+0],d=ur()[p/4+1],f=q0(c,d).slice();return re.__wbindgen_free(c,d*8),f}finally{re.__wbindgen_add_to_stack_pointer(16)}}class Li{static __wrap(t){const n=Object.create(Li.prototype);return n.ptr=t,n}__destroy_into_raw(){const t=this.ptr;return this.ptr=0,t}free(){const t=this.__destroy_into_raw();re.__wbg_parameterlist_free(t)}}class Mr{static __wrap(t){const n=Object.create(Mr.prototype);return n.ptr=t,n}__destroy_into_raw(){const t=this.ptr;return this.ptr=0,t}free(){const t=this.__destroy_into_raw();re.__wbg_sampler_free(t)}}async function ep(e,t){if(typeof Response=="function"&&e instanceof Response){if(typeof WebAssembly.instantiateStreaming=="function")try{return await WebAssembly.instantiateStreaming(e,t)}catch(r){if(e.headers.get("Content-Type")!="application/wasm")console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n",r);else throw r}const n=await e.arrayBuffer();return await WebAssembly.instantiate(n,t)}else{const n=await WebAssembly.instantiate(e,t);return n instanceof WebAssembly.Instance?{instance:n,module:e}:n}}async function fc(e){typeof e=="undefined"&&(e=new URL("/assets/deepslate_rs_bg.4990c219.wasm",self.location));const t={};t.wbg={},t.wbg.__wbindgen_throw=function(i,o){throw new Error(Y0(i,o))},(typeof e=="string"||typeof Request=="function"&&e instanceof Request||typeof URL=="function"&&e instanceof URL)&&(e=fetch(e));const{instance:n,module:r}=await ep(await e,t);return re=n.exports,fc.__wbindgen_wasm_module=r,re}var Ys="/assets/deepslate_rs_bg.4990c219.wasm",pc={exports:{}},mc={exports:{}};(function(){var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",t={rotl:function(n,r){return n<>>32-r},rotr:function(n,r){return n<<32-r|n>>>r},endian:function(n){if(n.constructor==Number)return t.rotl(n,8)&16711935|t.rotl(n,24)&4278255360;for(var r=0;r0;n--)r.push(Math.floor(Math.random()*256));return r},bytesToWords:function(n){for(var r=[],i=0,o=0;i>>5]|=n[i]<<24-o%32;return r},wordsToBytes:function(n){for(var r=[],i=0;i>>5]>>>24-i%32&255);return r},bytesToHex:function(n){for(var r=[],i=0;i>>4).toString(16)),r.push((n[i]&15).toString(16));return r.join("")},hexToBytes:function(n){for(var r=[],i=0;i>>6*(3-s)&63)):r.push("=");return r.join("")},base64ToBytes:function(n){n=n.replace(/[^A-Z0-9+\/]/ig,"");for(var r=[],i=0,o=0;i>>6-o*2);return r}};mc.exports=t})();var mo={utf8:{stringToBytes:function(e){return mo.bin.stringToBytes(unescape(encodeURIComponent(e)))},bytesToString:function(e){return decodeURIComponent(escape(mo.bin.bytesToString(e)))}},bin:{stringToBytes:function(e){for(var t=[],n=0;n * @license MIT - */var tp=function(e){return e!=null&&(gc(e)||np(e)||!!e._isBuffer)};function gc(e){return!!e.constructor&&typeof e.constructor.isBuffer=="function"&&e.constructor.isBuffer(e)}function np(e){return typeof e.readFloatLE=="function"&&typeof e.slice=="function"&&gc(e.slice(0,0))}(function(){var e=mc.exports,t=Wo.utf8,n=tp,r=Wo.bin,i=function(s,o){s.constructor==String?o&&o.encoding==="binary"?s=r.stringToBytes(s):s=t.stringToBytes(s):n(s)?s=Array.prototype.slice.call(s,0):!Array.isArray(s)&&s.constructor!==Uint8Array&&(s=s.toString());for(var a=e.bytesToWords(s),l=s.length*8,u=1732584193,c=-271733879,d=-1732584194,f=271733878,p=0;p>>24)&16711935|(a[p]<<24|a[p]>>>8)&4278255360;a[l>>>5]|=128<>>9<<4)+14]=l;for(var m=i._ff,v=i._gg,g=i._hh,_=i._ii,p=0;p>>0,c=c+w>>>0,d=d+b>>>0,f=f+A>>>0}return e.endian([u,c,d,f])};i._ff=function(s,o,a,l,u,c,d){var f=s+(o&a|~o&l)+(u>>>0)+d;return(f<>>32-c)+o},i._gg=function(s,o,a,l,u,c,d){var f=s+(o&l|a&~l)+(u>>>0)+d;return(f<>>32-c)+o},i._hh=function(s,o,a,l,u,c,d){var f=s+(o^a^l)+(u>>>0)+d;return(f<>>32-c)+o},i._ii=function(s,o,a,l,u,c,d){var f=s+(a^(o|~l))+(u>>>0)+d;return(f<>>32-c)+o},i._blocksize=16,i._digestsize=16,pc.exports=function(s,o){if(s==null)throw new Error("Illegal argument "+s);var a=e.wordsToBytes(i(s,o));return o&&o.asBytes?a:o&&o.asString?r.bytesToString(a):e.bytesToHex(a)}})();var _c=pc.exports,P;(function(e){function t(c){return typeof c=="number"?c:void 0}e.readNumber=t;function n(c){return typeof c=="number"?Math.floor(c):void 0}e.readInt=n;function r(c){return typeof c=="string"?c:void 0}e.readString=r;function i(c){return typeof c=="boolean"?c:void 0}e.readBoolean=i;function s(c){return typeof c=="object"&&c!==null?c:void 0}e.readObject=s;function o(c,d){if(!!Array.isArray(c))return c.map(f=>d(f))}e.readArray=o;function a(c,d){var p;const f=(p=s(c))!=null?p:{};return Object.fromEntries(Object.entries(f).map(([m,v])=>[m,d(v)]))}e.readMap=a;function l(c,d,f){const p=d(c);return p?f(p):void 0}e.compose=l;function u(c,d){return typeof c!="string"?d[0]:d.includes(c)?c:d[0]}e.readEnum=u})(P||(P={}));function nr(e){let t=null;return()=>(t==null&&(t=e()),t)}function Or(e,t,n){const r=e.get(t);if(r)return r;const i=n(t);return e.set(t,i),i}function Ot(e){return e*e}function dr(e,t,n){return Math.max(t,Math.min(n,e))}function Bt(e,t,n){return t+e*(n-t)}function ci(e,t,n,r,i,s){return Bt(t,Bt(e,n,r),Bt(e,i,s))}function vc(e,t,n,r,i,s,o,a,l,u,c){return Bt(n,ci(e,t,r,i,s,o),ci(e,t,a,l,u,c))}function rr(e,t,n){return e===0?t():e===1?n():t()+e*(n()-t())}function ms(e,t,n,r,i,s){return rr(t,()=>rr(e,n,r),()=>rr(e,i,s))}function wc(e,t,n,r,i,s,o,a,l,u,c){return rr(n,()=>ms(e,t,r,i,s,o),()=>ms(e,t,a,l,u,c))}function Ri(e,t,n){return n<0?e:n>1?t:Bt(n,e,t)}function Fs(e,t,n){return(e-t)/(n-t)}function Xr(e){return e*e*e*(e*(e*6-15)+10)}function hr(e,t,n,r,i){return Bt(Fs(e,t,n),r,i)}function Pi(e,t,n,r,i){return Ri(r,i,Fs(e,t,n))}function yc(e,t,n){let r=t-e;for(;r>0;){const i=Math.floor(r/2),s=e+i;if(n(s)){r=i;continue}e=s+1,r-=i+1}return e}function zs(e,t,n){let r=BigInt(e*3129871)^BigInt(n)*BigInt(116129781)^BigInt(t);return r=r*r*BigInt(42317861)+r*BigInt(11),r>>BigInt(16)}function ui(e,t,n,r,i,s,o,a){return BigInt(e)<>1,e|=e>>2,e|=e>>4,e|=e>>8,e|=e>>18,e|=e>>32,e+1}var di;(function(e){function t(n){return typeof n=="object"&&n!==null&&"minValue"in n&&"maxValue"in n}e.is=t})(di||(di={}));var hi;(function(e){function t(i,s){var u,c,d,f;if(typeof i=="number")return new n(i);const o=(u=P.readObject(i))!=null?u:{},a=new r(s(o.coordinate)),l=(c=P.readArray(o.points,p=>{var m;return(m=P.readObject(p))!=null?m:{}}))!=null?c:[];if(l.length===0)return new n(0);for(const p of l){const m=(d=P.readNumber(p.location))!=null?d:0,v=t(p.value,s),g=(f=P.readNumber(p.derivative))!=null?f:0;a.addPoint(m,v,g)}return a}e.fromJson=t;class n{constructor(s){this.value=s}compute(){return this.value}min(){return this.value}max(){return this.value}mapAll(){return this}calculateMinMax(){}}e.Constant=n;class r{constructor(s,o=[],a=[],l=[]){this.coordinate=s,this.locations=o,this.values=a,this.derivatives=l,this.calculatedMin=Number.NEGATIVE_INFINITY,this.calculatedMax=Number.POSITIVE_INFINITY}compute(s){const o=this.coordinate.compute(s),a=yc(0,this.locations.length,w=>oo.mapAll(s)),this.derivatives)}addPoint(s,o,a=0){return this.locations.push(s),this.values.push(typeof o=="number"?new e.Constant(o):o),this.derivatives.push(a),this}calculateMinMax(){if(!di.is(this.coordinate))return;const s=this.locations.length-1;var o=Number.POSITIVE_INFINITY,a=Number.NEGATIVE_INFINITY;const l=this.coordinate.minValue(),u=this.coordinate.maxValue();for(const d of this.values)d.calculateMinMax();if(lthis.locations[s]){const d=r.linearExtend(u,this.locations,this.values[s].min(),this.derivatives,s),f=r.linearExtend(u,this.locations,this.values[s].max(),this.derivatives,s);o=Math.min(o,Math.min(d,f)),a=Math.max(a,Math.max(d,f))}for(const d of this.values)o=Math.min(o,d.min()),a=Math.max(a,d.max());for(var c=0;c>BigInt(xt.MODULUS_BITS-e));return t>2147483647?t-4294967296:t}nextInt(e){if(e===void 0)return this.next(32);if((e&e-1)==0)return Number(BigInt(e)*BigInt(this.next(31))>>BigInt(31));let t,n;for(;(t=this.next(31))-(n=t%e)+(e-1)<0;);return n}nextLong(){return(BigInt(this.next(32))<>Q.BIGINT_30)*Q.STAFFORD_1&Q.MAX_ULONG,e=(e^e>>Q.BIGINT_27)*Q.STAFFORD_2&Q.MAX_ULONG,(e^e>>Q.BIGINT_31)&Q.MAX_ULONG}static upgradeSeedTo128bit(e){e<0&&(e+=Q.POW2_60);const t=e^Q.SILVER_RATIO_64,n=t+Q.GOLDEN_RATIO_64&Q.MAX_ULONG;return[Q.mixStafford13(t),Q.mixStafford13(n)]}static rotateLeft(e,t){return e<>Q.BIGINT_64-t}setSeed(e){this.seed=Q.upgradeSeedTo128bit(e)}fork(){return new Q([this.next(),this.next()])}forkPositional(){return new xc(this.next(),this.next())}next(){const e=this.seed[0];let t=this.seed[1];const n=Q.rotateLeft(e+t&Q.MAX_ULONG,Q.BIGINT_17)+e&Q.MAX_ULONG;return t^=e,this.seed=[Q.rotateLeft(e,Q.BIGINT_49)^t^t<Q.POW2_63&&(e-=Q.POW2_60),e}consume(e){let t=this.seed[0],n=this.seed[1];for(let r=0;r>BigInt(64-e)}nextInt(e){let t=this.next()&Q.MAX_UINT;if(e){const n=BigInt(e);let r=t*n,i=r&Q.MAX_UINT;if(i>Q.BIGINT_32;return Number(s)}else{let n=Number(t);return n>=2147483648&&(n-=4294967296),n}}nextFloat(){return Number(this.nextBits(24))*Q.FLOAT_MULTIPLIER}nextDouble(){return Number(this.nextBits(53))*Q.DOUBLE_MULTIPLIER}parityConfigString(){return"seedLo: "+this.seed[0]+", seedHi: "+this.seed[1]}};let ke=Q;ke.SILVER_RATIO_64=BigInt("7640891576956012809");ke.GOLDEN_RATIO_64=BigInt("-7046029254386353131");ke.FLOAT_MULTIPLIER=1/Math.pow(2,24);ke.DOUBLE_MULTIPLIER=11102230246251565e-32;ke.BIGINT_1=BigInt(1);ke.BIGINT_17=BigInt(17);ke.BIGINT_21=BigInt(21);ke.BIGINT_27=BigInt(27);ke.BIGINT_28=BigInt(28);ke.BIGINT_30=BigInt(30);ke.BIGINT_31=BigInt(31);ke.BIGINT_32=BigInt(32);ke.BIGINT_49=BigInt(49);ke.BIGINT_64=BigInt(64);ke.STAFFORD_1=BigInt("-4658895280553007687");ke.STAFFORD_2=BigInt("-7723592293110705685");ke.MAX_ULONG=BigInt("0xFFFFFFFFFFFFFFFF");ke.POW2_60=BigInt("0x10000000000000000");ke.POW2_63=BigInt("0x8000000000000000");ke.MAX_UINT=BigInt(4294967295);class xc{constructor(t,n){this.seedLo=t,this.seedHi=n}at(t,n,r){const s=zs(t,n,r)^this.seedLo;return new ke([s,this.seedHi])}fromHashOf(t){const n=_c(t,{asBytes:!0}),r=ui(n[0],n[1],n[2],n[3],n[4],n[5],n[6],n[7]),i=ui(n[8],n[9],n[10],n[11],n[12],n[13],n[14],n[15]);return new ke([r^this.seedLo,i^this.seedHi])}seedKey(){return[this.seedLo,this.seedHi]}}const Tt=class{constructor(e){this.xo=e.nextDouble()*256,this.yo=e.nextDouble()*256,this.zo=e.nextDouble()*256,this.p=Array(256);for(let t=0;t<256;t+=1)this.p[t]=t;for(let t=0;t<256;t+=1){const n=e.nextInt(256-t),r=this.p[t];this.p[t]=this.p[t+n],this.p[t+n]=r}}sample2D(e,t){let n,r,i;const s=(e+t)*Tt.F2,o=Math.floor(e+s),a=o-(n=(o+(r=Math.floor(t+s)))*Tt.G2),l=e-a;let u,c;l>(i=t-(r-n))?(u=1,c=0):(u=0,c=1);const d=l-u+Tt.G2,f=i-c+Tt.G2,p=l-1+2*Tt.G2,m=i-1+2*Tt.G2,v=o&255,g=r&255,_=this.P(v+this.P(g))%12,y=this.P(v+u+this.P(g+c))%12,w=this.P(v+1+this.P(g+1))%12,b=this.getCornerNoise3D(_,l,i,0,.5),A=this.getCornerNoise3D(y,d,f,0,.5),k=this.getCornerNoise3D(w,p,m,0,.5);return 70*(b+A+k)}sample(e,t,n){const r=(e+t+n)*.3333333333333333,i=Math.floor(e+r),s=Math.floor(t+r),o=Math.floor(n+r),a=(i+s+o)*.16666666666666666,l=e-(i-a),u=t-(s-a),c=n-(o-a);let d,f,p,m,v,g;l>=u?u>=c?(d=1,f=0,p=0,m=1,v=1,g=0):l>=c?(d=1,f=0,p=0,m=1,v=0,g=1):(d=0,f=0,p=1,m=1,v=0,g=1):u127?n-256:n;for(let n=0;n<256;n+=1){const r=t.nextInt(256-n),i=this.p[n];this.p[n]=this.p[n+r],this.p[n+r]=i}}sample(t,n,r,i=0,s=0){const o=t+this.xo,a=n+this.yo,l=r+this.zo,u=Math.floor(o),c=Math.floor(a),d=Math.floor(l),f=o-u,p=a-c,m=l-d;let v=0;if(i!==0){const g=s>=0&&s=0;i-=1)i0&&(f=this.maxLimitNoise.getOctaveNoise(_))&&(g+=f.sample(y,w,b,A,s*m)/m),m/=2}return Ri(v/512,g/512,p)/128}}const Jr=class{constructor(e,{firstOctave:t,amplitudes:n}){this.first=new ve(e,t,n),this.second=new ve(e,t,n);let r=1/0,i=-1/0;for(let o=0;o{var u;return(u=P.readNumber(l))!=null?u:0}))!=null?a:[]}}e.fromJson=n})(Pn||(Pn={}));class sp{constructor(t,n){const r=n[n.length-1],s=-n[0]+r+1,o=new Set(n),a=new Ze(t);this.noiseLevels=Array(s),r>=0&&r=0&&o.has(r-l)?this.noiseLevels[l]=new Ze(t):t.consume(262);if(r>0)throw new Error("Positive octaves are not allowed");this.highestFreqInputFactor=Math.pow(2,r),this.highestFreqValueFactor=1/(Math.pow(2,s)-1)}sample(t,n,r){let i=0,s=this.highestFreqInputFactor,o=this.highestFreqValueFactor;for(let a=0;a=0){const n=t>=1?e.substring(0,t):this.DEFAULT_NAMESPACE,r=e.substring(t+1);return new Kr(n,r)}return new Kr(this.DEFAULT_NAMESPACE,e)}};let we=Kr;we.DEFAULT_NAMESPACE="minecraft";we.SEPARATOR=":";const At=class{constructor(e,t={}){this.properties=t,this.name=typeof e=="string"?we.parse(e):e}getName(){return this.name}getProperties(){return this.properties}getProperty(e){return this.properties[e]}isFluid(){return this.is(At.WATER)||this.is(At.LAVA)}equals(e){return this.name.equals(e.name)?Object.keys(this.properties).every(t=>e.properties[t]===this.properties[t]):!1}is(e){return this.name.equals(e.name)}toString(){return Object.keys(this.properties).length===0?this.name.toString():`${this.name.toString()}[${Object.entries(this.properties).map(([e,t])=>e+"="+t).join(",")}]`}static fromNbt(e){const t=we.parse(En(e.value,"Name","string")),n=kc(()=>En(e.value,"Properties","compound"),{}),r=Object.keys(n).reduce((i,s)=>xe(J({},i),{[s]:En(n,s,"string")}),{});return new At(t,r)}static fromJson(e){var i,s;const t=(i=P.readObject(e))!=null?i:{},n=we.parse((s=P.readString(t.Name))!=null?s:At.STONE.name.toString()),r=P.readMap(t.Properties,o=>{var a;return(a=P.readString(o))!=null?a:""});return new At(n,r)}};let ge=At;ge.AIR=new At(we.create("air"));ge.STONE=new At(we.create("stone"));ge.WATER=new At(we.create("water"),{level:"0"});ge.LAVA=new At(we.create("lava"),{level:"0"});const ir=class{constructor(e){this.minY=e,this.storage=Array(ir.SIZE).fill(0),this.palette=[ge.AIR]}get minBlockY(){return this.minY<<4}index(e,t,n){return(e<<8)+(t<<4)+n}getBlockState(e,t,n){var i;const r=this.storage[this.index(e,t,n)];return(i=this.palette[r])!=null?i:ge.AIR}setBlockState(e,t,n,r){let i=this.palette.findIndex(s=>s.equals(r));i===-1&&(i=this.palette.length,this.palette.push(r)),this.storage[this.index(e,t,n)]=i}};let $i=ir;$i.WIDTH=16;$i.SIZE=ir.WIDTH*ir.WIDTH*ir.WIDTH;class ap{constructor(t,n,r){this.minY=t,this.height=n,this.pos=r,this.sections=Array(this.sectionsCount).fill(null)}get maxY(){return this.minY+this.height}get minSection(){return this.minY>>4}get maxSection(){return(this.maxY-1>>4)+1}get sectionsCount(){return this.maxSection-this.minSection}getSectionIndex(t){return(t>>4)-this.minSection}getBlockState(t){var o;const[n,r,i]=t,s=this.sections[this.getSectionIndex(r)];return(o=s==null?void 0:s.getBlockState(n&15,r&15,i&15))!=null?o:ge.AIR}setBlockState(t,n){const[r,i,s]=t,o=this.getSectionIndex(i);let a=this.sections[o];if(a===null){if(n.equals(ge.AIR))return;a=this.getOrCreateSection(o)}a.setBlockState(r&15,i&15,s&15,n)}getOrCreateSection(t){return this.sections[t]==null&&(this.sections[t]=new $i(this.minSection+t)),this.sections[t]}}var Ge;(function(e){function t(c,d){return[c,d]}e.create=t;function n(c){return[c[0]>>4,c[2]>>4]}e.fromBlockPos=n;function r(c){return[Number(c)&4294967295,Number(c>>BigInt(32))]}e.fromLong=r;function i(c){return s(c[0],c[1])}e.toLong=i;function s(c,d){return BigInt(c&4294967295)|BigInt(d&4294967295)<typeof o=="string"?r(i,we.parse(o)):n(s(o))}e.parser=t;function n(i){return{value:()=>i,key:()=>{}}}e.direct=n;function r(i,s){return{value:()=>i.getOrThrow(s),key:()=>s}}e.reference=r})(ln||(ln={}));const js=class{constructor(e,t){this.key=e,this.parser=t,this.storage=new Map,this.builtin=new Map}register(e,t,n){return this.storage.set(e.toString(),t),n&&this.builtin.set(e.toString(),t),ln.reference(this,e)}keys(){return[...this.storage.keys()].map(e=>we.parse(e))}get(e){return this.storage.get(e.toString())}getOrThrow(e){const t=this.storage.get(e.toString());if(t===void 0)throw new Error(`Missing key in ${this.key.toString()}: ${e.toString()}`);return t}parse(e){if(!this.parser)throw new Error(`No parser exists for ${this.key.toString()}`);return this.parser(e)}clear(){this.storage.clear();for(const[e,t]of this.builtin.entries())this.storage.set(e,t);return this}assign(e){if(!this.key.equals(e.key))throw new Error(`Cannot assign registry of type ${e.key.toString()} to registry of type ${this.key.toString()}`);for(const t of e.keys())this.storage.set(t.toString(),e.getOrThrow(t));return this}cloneEmpty(){return new js(this.key,this.parser)}};let fi=js;fi.REGISTRY=new js(we.create("root"));class Vs{constructor(t,n=[],r=[]){this.size=t,this.palette=n,this.blocks=r,this.blocksMap=[],r.forEach(i=>{if(!this.isInside(i.pos))throw new Error(`Found block at ${i.pos} which is outside the structure bounds ${this.size}`);this.blocksMap[i.pos[0]*t[1]*t[2]+i.pos[1]*t[2]+i.pos[2]]=i})}getSize(){return this.size}addBlock(t,n,r,i){if(!this.isInside(t))throw new Error(`Cannot add block at ${t} outside the structure bounds ${this.size}`);const s=new ge(n,r);let o=this.palette.findIndex(a=>a.equals(s));return o===-1&&(o=this.palette.length,this.palette.push(s)),this.blocks.push({pos:t,state:o,nbt:i}),this.blocksMap[t[0]*this.size[1]*this.size[2]+t[1]*this.size[2]+t[2]]={pos:t,state:o,nbt:i},this}getBlocks(){return this.blocks.map(t=>({pos:t.pos,state:this.palette[t.state],nbt:t.nbt}))}getBlock(t){if(!this.isInside(t))return null;const n=this.blocksMap[t[0]*this.size[1]*this.size[2]+t[1]*this.size[2]+t[2]];return n?{pos:n.pos,state:this.palette[n.state],nbt:n.nbt}:null}isInside(t){return t[0]>=0&&t[0]=0&&t[1]=0&&t[2]ge.fromNbt({name:"",value:s})),i=zr(t.value,"blocks","compound").map(s=>{const o=zr(s,"pos","int",3),a=En(s,"state","int"),l=kc(()=>En(s,"nbt","compound"),void 0);return{pos:o,state:a,nbt:l}});return new Vs(n,r,i)}}var cn;(function(e){e.NOISE=t("worldgen/noise"),e.DENSITY_FUNCTION=t("worldgen/density_function");function t(n){const r=new fi(we.create(n));return fi.REGISTRY.register(r.key,r),r}})(cn||(cn={}));class oe{minValue(){return-this.maxValue()}mapAll(t){return t.map(this)}}(function(e){function t(T,x,E){return{x:T,y:x,z:E}}e.context=t;class n extends e{constructor(x){super(),this.input=x}compute(x){return this.transform(x,this.input.compute(x))}}const r=ln.parser(cn.NOISE,Pn.fromJson);function i(T,x=i){var V,W,de,Ve,dt,He,Ue,Le,wt,ht,it,Te,Jt,Ct,X,Be,be,he,yt,et;if(typeof T=="string")return new a(ln.reference(cn.DENSITY_FUNCTION,we.parse(T)));if(typeof T=="number")return new o(T);const E=(V=P.readObject(T))!=null?V:{},R=(W=P.readString(E.type))==null?void 0:W.replace(/^minecraft:/,"");switch(R){case"blend_alpha":return new l(1,0,1);case"blend_offset":return new l(0,-1/0,1/0);case"beardifier":return new l(0,-1/0,1/0);case"old_blended_noise":return new u((de=P.readNumber(E.xz_scale))!=null?de:1,(Ve=P.readNumber(E.y_scale))!=null?Ve:1,(dt=P.readNumber(E.xz_factor))!=null?dt:80,(He=P.readNumber(E.y_factor))!=null?He:160,(Ue=P.readNumber(E.smear_scale_multiplier))!=null?Ue:8);case"flat_cache":return new d(x(E.argument));case"interpolated":return new v(x(E.argument));case"cache_2d":return new p(x(E.argument));case"cache_once":return new m(x(E.argument));case"cache_all_in_cell":return new f(x(E.argument));case"noise":return new g((Le=P.readNumber(E.xz_scale))!=null?Le:1,(wt=P.readNumber(E.y_scale))!=null?wt:1,r(E.noise));case"end_islands":return new _;case"weird_scaled_sampler":return new b(x(E.input),P.readEnum(E.rarity_value_mapper,y),r(E.noise));case"shifted_noise":return new A(x(E.shift_x),x(E.shift_y),x(E.shift_z),(ht=P.readNumber(E.xz_scale))!=null?ht:1,(it=P.readNumber(E.y_scale))!=null?it:1,r(E.noise));case"range_choice":return new k(x(E.input),(Te=P.readNumber(E.min_inclusive))!=null?Te:0,(Jt=P.readNumber(E.max_exclusive))!=null?Jt:1,x(E.when_in_range),x(E.when_out_of_range));case"shift_a":return new S(r(E.argument));case"shift_b":return new M(r(E.argument));case"shift":return new O(r(E.argument));case"blend_density":return new L(x(E.argument));case"clamp":return new D(x(E.input),(Ct=P.readNumber(E.min))!=null?Ct:0,(X=P.readNumber(E.max))!=null?X:1);case"abs":case"square":case"cube":case"half_negative":case"quarter_negative":case"squeeze":return new le(R,x(E.argument));case"add":case"mul":case"min":case"max":return new I(P.readEnum(R,ce),x(E.argument1),x(E.argument2));case"spline":return new N(hi.fromJson(E.spline,x));case"constant":return new o((Be=P.readNumber(E.argument))!=null?Be:0);case"y_clamped_gradient":return new z((be=P.readInt(E.from_y))!=null?be:-4064,(he=P.readInt(E.to_y))!=null?he:4062,(yt=P.readNumber(E.from_value))!=null?yt:-4064,(et=P.readNumber(E.to_value))!=null?et:4062)}return o.ZERO}e.fromJson=i;const s=class extends e{constructor(T){super(),this.value=T}compute(){return this.value}minValue(){return this.value}maxValue(){return this.value}};let o=s;o.ZERO=new s(0),o.ONE=new s(1),e.Constant=o;class a extends e{constructor(x){super(),this.holder=x}compute(x){return this.holder.value().compute(x)}minValue(){return this.holder.value().minValue()}maxValue(){return this.holder.value().maxValue()}}e.HolderHolder=a;class l extends e.Constant{constructor(x,E,R){super(x),this.min=E,this.max=R}minValue(){return this.min}maxValue(){return this.max}}e.ConstantMinMax=l;class u extends e{constructor(x,E,R,V,W,de){super(),this.xzScale=x,this.yScale=E,this.xzFactor=R,this.yFactor=V,this.smearScaleMultiplier=W,this.blendedNoise=de}compute(x){var E,R;return(R=(E=this.blendedNoise)==null?void 0:E.sample(x.x,x.y,x.z))!=null?R:0}maxValue(){var x,E;return(E=(x=this.blendedNoise)==null?void 0:x.maxValue)!=null?E:0}}e.OldBlendedNoise=u;class c extends e{constructor(x){super(),this.wrapped=x}minValue(){return this.wrapped.minValue()}maxValue(){return this.wrapped.maxValue()}}class d extends c{constructor(x){super(x),this.lastValue=0}compute(x){const E=x.x>>2,R=x.z>>2;return(this.lastQuartX!==E||this.lastQuartZ!==R)&&(this.lastValue=this.wrapped.compute(e.context(E<<2,0,R<<2)),this.lastQuartX=E,this.lastQuartZ=R),this.lastValue}mapAll(x){return x.map(new d(this.wrapped.mapAll(x)))}}e.FlatCache=d;class f extends c{constructor(x){super(x)}compute(x){return this.wrapped.compute(x)}mapAll(x){return x.map(new f(this.wrapped.mapAll(x)))}}e.CacheAllInCell=f;class p extends c{constructor(x){super(x),this.lastValue=0}compute(x){const E=x.x,R=x.z;return(this.lastBlockX!==E||this.lastBlockZ!==R)&&(this.lastValue=this.wrapped.compute(x),this.lastBlockX=E,this.lastBlockZ=R),this.lastValue}mapAll(x){return x.map(new p(this.wrapped.mapAll(x)))}}e.Cache2D=p;class m extends c{constructor(x){super(x),this.lastValue=0}compute(x){const E=x.x,R=x.y,V=x.z;return(this.lastBlockX!==E||this.lastBlockY!==R||this.lastBlockZ!==V)&&(this.lastValue=this.wrapped.compute(x),this.lastBlockX=E,this.lastBlockY=R,this.lastBlockZ=V),this.lastValue}mapAll(x){return x.map(new m(this.wrapped.mapAll(x)))}}e.CacheOnce=m;class v extends c{constructor(x,E=4,R=4){super(x),this.cellWidth=E,this.cellHeight=R,this.values=new Map}compute({x,y:E,z:R}){const V=this.cellWidth,W=this.cellHeight,de=(x%V+V)%V/V,Ve=(E%W+W)%W/W,dt=(R%V+V)%V/V,He=Math.floor(x/V)*V,Ue=Math.floor(E/W)*W,Le=Math.floor(R/V)*V;return wc(de,Ve,dt,()=>this.computeCorner(He,Ue,Le),()=>this.computeCorner(He+V,Ue,Le),()=>this.computeCorner(He,Ue+W,Le),()=>this.computeCorner(He+V,Ue+W,Le),()=>this.computeCorner(He,Ue,Le+V),()=>this.computeCorner(He+V,Ue,Le+V),()=>this.computeCorner(He,Ue+W,Le+V),()=>this.computeCorner(He+V,Ue+W,Le+V))}computeCorner(x,E,R){return Or(this.values,`${x} ${E} ${R}`,()=>this.wrapped.compute(e.context(x,E,R)))}mapAll(x){return x.map(new v(this.wrapped.mapAll(x)))}withCellSize(x,E){return new v(this.wrapped,x,E)}}e.Interpolated=v;class g extends e{constructor(x,E,R,V){super(),this.xzScale=x,this.yScale=E,this.noiseData=R,this.noise=V}compute(x){var E,R;return(R=(E=this.noise)==null?void 0:E.sample(x.x*this.xzScale,x.y*this.yScale,x.z*this.xzScale))!=null?R:0}maxValue(){var x,E;return(E=(x=this.noise)==null?void 0:x.maxValue)!=null?E:2}}e.Noise=g;class _ extends e{compute(){return 0}minValue(){return-.84375}maxValue(){return .5625}}const y=["type_1","type_2"],w=class extends n{constructor(T,x,E,R){super(T),this.rarityValueMapper=x,this.noiseData=E,this.noise=R,this.mapper=w.ValueMapper[this.rarityValueMapper]}transform(T,x){if(!this.noise)return 0;const E=this.mapper(x);return E*Math.abs(this.noise.sample(T.x/E,T.y/E,T.z/E))}mapAll(T){return T.map(new w(this.input.mapAll(T),this.rarityValueMapper,this.noiseData,this.noise))}minValue(){return 0}maxValue(){return this.rarityValueMapper==="type_1"?2:3}static rarityValueMapper1(T){return T<-.5?.75:T<0?1:T<.5?1.5:2}static rarityValueMapper2(T){return T<-.75?.5:T<-.5?.75:T<.5?1:T<.75?2:3}};let b=w;b.ValueMapper={type_1:w.rarityValueMapper1,type_2:w.rarityValueMapper2},e.WeirdScaledSampler=b;class A extends g{constructor(x,E,R,V,W,de,Ve){super(V,W,de,Ve),this.shiftX=x,this.shiftY=E,this.shiftZ=R}compute(x){var W,de;const E=x.x*this.xzScale+this.shiftX.compute(x),R=x.y*this.yScale+this.shiftY.compute(x),V=x.z*this.xzScale+this.shiftZ.compute(x);return(de=(W=this.noise)==null?void 0:W.sample(E,R,V))!=null?de:0}mapAll(x){return x.map(new A(this.shiftX.mapAll(x),this.shiftY.mapAll(x),this.shiftZ.mapAll(x),this.xzScale,this.yScale,this.noiseData,this.noise))}}e.ShiftedNoise=A;class k extends e{constructor(x,E,R,V,W){super(),this.input=x,this.minInclusive=E,this.maxExclusive=R,this.whenInRange=V,this.whenOutOfRange=W}compute(x){const E=this.input.compute(x);return this.minInclusive<=E&&EMath.abs(T),square:T=>T*T,cube:T=>T*T*T,half_negative:T=>T>0?T:T*.5,quarter_negative:T=>T>0?T:T*.25,squeeze:T=>{const x=dr(T,-1,1);return x/2-x*x*x/24}},e.Mapped=le;const ce=["add","mul","min","max"];class I extends e{constructor(x,E,R,V,W){super(),this.type=x,this.argument1=E,this.argument2=R,this.min=V,this.max=W}compute(x){const E=this.argument1.compute(x);switch(this.type){case"add":return E+this.argument2.compute(x);case"mul":return E===0?0:E*this.argument2.compute(x);case"min":return Ethis.argument2.maxValue()?E:Math.max(E,this.argument2.compute(x))}}mapAll(x){return x.map(new I(this.type,this.argument1.mapAll(x),this.argument2.mapAll(x)))}minValue(){var x;return(x=this.min)!=null?x:-1/0}maxValue(){var x;return(x=this.max)!=null?x:1/0}withMinMax(){const x=this.argument1.minValue(),E=this.argument2.minValue(),R=this.argument1.maxValue(),V=this.argument2.maxValue();(this.type==="min"||this.type==="max")&&(x>=V||E>=R)&&console.warn(`Creating a ${this.type} function between two non-overlapping inputs`);let W,de;switch(this.type){case"add":W=x+E,de=R+V;break;case"mul":W=x>0&&E>0?x*E||0:R<0&&V<0?R*V||0:Math.min(x*V||0,E*R||0),de=x>0&&E>0?R*V||0:R<0&&V<0?x*E||0:Math.max(x*E||0,R*V||0);break;case"min":W=Math.min(x,E),de=Math.min(R,V);break;case"max":W=Math.max(x,E),de=Math.max(R,V);break}return new I(this.type,this.argument1,this.argument2,W,de)}}e.Ap2=I;class N extends e{constructor(x){super(),this.spline=x}compute(x){return this.spline.compute(x)}mapAll(x){const E=this.spline.mapAll(R=>R instanceof e?R.mapAll(x):R);return E.calculateMinMax(),x.map(new N(E))}minValue(){return this.spline.min()}maxValue(){return this.spline.max()}}e.Spline=N;class z extends e{constructor(x,E,R,V){super(),this.fromY=x,this.toY=E,this.fromValue=R,this.toValue=V}compute(x){return Pi(x.y,this.fromY,this.toY,this.fromValue,this.toValue)}minValue(){return Math.min(this.fromValue,this.toValue)}maxValue(){return Math.max(this.fromValue,this.toValue)}}e.YClampedGradient=z})(oe||(oe={}));class fr{constructor(t,n){this.level=t,this.type=n}at(t){return t0))return n(r,i,s).at(i)}}}e.createDisabled=t})(pi||(pi={}));const ft=class{constructor(e,t,n,r,i,s,o,a,l,u){this.noiseChunk=e,this.barrierNoise=n,this.fluidLevelFloodednessNoise=r,this.fluidLevelSpreadNoise=i,this.lavaNoise=s,this.random=o,this.globalFluidPicker=u,this.minGridX=this.gridX(Ge.minBlockX(t))-1,this.gridSizeX=this.gridX(Ge.maxBlockX(t))+1-this.minGridX+1,this.minGridY=this.gridY(a)-1,this.minGridZ=this.gridZ(Ge.minBlockZ(t))-1,this.gridSizeZ=this.gridZ(Ge.maxBlockZ(t))+1-this.minGridZ+1;const c=this.gridY(a+l)+1-this.minGridY+1;this.gridSize=this.gridSizeX*c*this.gridSizeZ,this.aquiferCache=Array(this.gridSize).fill(void 0),this.aquiferLocationCache=Array(this.gridSize).fill(Xe.ZERO)}compute({x:e,y:t,z:n},r){if(r<=0){if(this.globalFluidPicker(e,t,n).at(t).is(ge.LAVA))return ge.LAVA;{const i=this.gridX(e-5),s=this.gridY(t+1),o=this.gridZ(n-5);let a=Number.MAX_SAFE_INTEGER,l=Number.MAX_SAFE_INTEGER,u=Number.MAX_SAFE_INTEGER,c=Xe.ZERO,d=Xe.ZERO,f=Xe.ZERO;for(let b=0;b<=1;b+=1)for(let A=-1;A<=1;A+=1)for(let k=0;k<=1;k+=1){const C=this.getLocation(i+b,s+A,o+k),S=Xe.magnitude(C);a>=S?(f=d,d=c,c=C,u=l,l=a,a=S):l>=S?(f=d,d=C,u=l,l=S):u>=S&&(f=C,u=S)}const p=this.getStatus(c),m=this.getStatus(d),v=this.getStatus(f),g=ft.similarity(a,l),_=ft.similarity(a,u),y=ft.similarity(l,u);let w;if(p.at(t).is(ge.WATER)&&this.globalFluidPicker(e,t-1,n).at(t-1).is(ge.LAVA))w=1;else if(g>-1){const b=nr(()=>this.barrierNoise.compute(oe.context(e,t*.5,n))),A=this.calculatePressure(t,p,m,b),k=this.calculatePressure(t,p,v,b),C=this.calculatePressure(t,m,v,b),S=Math.max(A,k*Math.max(0,_),C*Math.max(y));w=Math.max(0,2*Math.max(0,g)*S)}else w=0;if(r+w<=0)return p.at(t)}}}static similarity(e,t){return 1-Math.abs(t-e)/25}calculatePressure(e,t,n,r){const i=t.at(e),s=n.at(e);if(i.is(ge.LAVA)&&s.is(ge.WATER)||i.is(ge.WATER)&&s.is(ge.LAVA))return 1;const o=Math.abs(t.level-n.level);if(o===0)return 0;const a=(t.level+n.level)/2,l=e+.5-a,u=o/2-Math.abs(l),c=l>0?u>0?u/1.5:u/2.5:u>-3?(u+3)/3:(u+3)/10;return c<-2||c>2?c:c+r()}getStatus(e){const[t,n,r]=e,i=this.getIndex(this.gridX(t),this.gridY(n),this.gridZ(r)),s=this.aquiferCache[i];if(s!==void 0)return s;const o=this.computeStatus(t,n,r);return this.aquiferCache[i]=o,o}computeStatus(e,t,n){const r=this.globalFluidPicker(e,t,n);let i=Number.MAX_SAFE_INTEGER,s=!1;for(const[p,m]of ft.SURFACE_SAMPLING){const v=e+(m<<4),g=n+(m<<4),_=this.noiseChunk.getPreliminarySurfaceLevel(v,g);i=Math.min(i,_);const y=p===0&&m===0;if(y&&t-12>_+8)return r;if(y||t+12>_+8){const w=this.globalFluidPicker(v,_+8,g);if(!w.at(_+8).is(ge.AIR)){if(y)return w;s=!0}}}const o=s?Pi(i+8-t,0,64,1,0):0,a=dr(this.fluidLevelFloodednessNoise.compute(oe.context(e,t*.67,n)),-1,1);if(a>hr(o,1,0,-.3,.8))return r;if(a<=hr(o,1,0,-.8,.4))return new fr(Number.MIN_SAFE_INTEGER,r.type);const l=Math.floor(t/40),u=this.fluidLevelSpreadNoise.compute(oe.context(Math.floor(e/16),l,Math.floor(n/16))),c=l*40+20+Math.floor(u/3)*3,d=Math.min(i,c),f=this.getFluidType(e,t,n,r.type,c);return new fr(d,f)}getFluidType(e,t,n,r,i){if(i<=-10){const s=this.lavaNoise.compute(oe.context(Math.floor(e/64),Math.floor(t/40),Math.floor(n/64)));if(Math.abs(s)>.3)return ge.LAVA}return r}getLocation(e,t,n){const r=this.getIndex(e,t,n),i=this.aquiferLocationCache[r];if(Xe.equals(i,Xe.ZERO))return i;const s=this.random.at(e,t,n),o=Xe.create(e*ft.X_SPACING+s.nextInt(10),t*ft.Y_SPACING+s.nextInt(9),n*ft.Z_SPACING+s.nextInt(10));return this.aquiferLocationCache[r]=o,o}getIndex(e,t,n){const r=e-this.minGridX,i=t-this.minGridY,s=n-this.minGridZ,o=(i*this.gridSizeZ+s)*this.gridSizeX+r;if(o<0||o>=this.gridSize)throw new Error(`Invalid aquifer index at ${e} ${t} ${n}: 0 <= ${o} < ${this.gridSize}`);return o}gridX(e){return Math.floor(e/ft.X_SPACING)}gridY(e){return Math.floor(e/ft.Y_SPACING)}gridZ(e){return Math.floor(e/ft.Z_SPACING)}};let Nr=ft;Nr.X_SPACING=16;Nr.Y_SPACING=12;Nr.Z_SPACING=16;Nr.SURFACE_SAMPLING=[[-2,-1],[-1,-1],[0,-1],[1,-1],[-3,0],[-2,0],[-1,0],[0,0],[1,0],[-2,1],[-1,1],[0,1],[1,1]];var pr;(function(e){function n(v,g,_,y,w,b){return new a(v,g,_,y,w,b)}e.target=n;function r(v,g,_,y,w,b,A){return new o(i(v),i(g),i(_),i(y),i(w),i(b),A)}e.parameters=r;function i(v,g){return typeof v=="number"?new s(v,g!=null?g:v):v}e.param=i;class s{constructor(g,_){this.min=g,this.max=_}distance(g){const _=(typeof g=="number"?g:g.min)-this.max,y=this.min-(typeof g=="number"?g:g.max);return _>0?_:Math.max(y,0)}union(g){return new s(Math.min(this.min,g.min),Math.max(this.max,g.max))}static fromJson(g){var w;if(typeof g=="number")return new s(g,g);const[_,y]=(w=P.readArray(g,b=>P.readNumber(b)))!=null?w:[];return new s(_!=null?_:0,y!=null?y:0)}}e.Param=s;class o{constructor(g,_,y,w,b,A,k){this.temperature=g,this.humidity=_,this.continentalness=y,this.erosion=w,this.depth=b,this.weirdness=A,this.offset=k}fittness(g){return Ot(this.temperature.distance(g.temperature))+Ot(this.humidity.distance(g.humidity))+Ot(this.continentalness.distance(g.continentalness))+Ot(this.erosion.distance(g.erosion))+Ot(this.depth.distance(g.depth))+Ot(this.weirdness.distance(g.weirdness))+Ot(this.offset-g.offset)}space(){return[this.temperature,this.humidity,this.continentalness,this.erosion,this.depth,this.weirdness,new s(this.offset,this.offset)]}static fromJson(g){var y,w;const _=(y=P.readObject(g))!=null?y:{};return new o(s.fromJson(_.temperature),s.fromJson(_.humidity),s.fromJson(_.continentalness),s.fromJson(_.erosion),s.fromJson(_.depth),s.fromJson(_.weirdness),(w=P.readInt(_.offset))!=null?w:0)}}e.ParamPoint=o;class a{constructor(g,_,y,w,b,A){this.temperature=g,this.humidity=_,this.continentalness=y,this.erosion=w,this.depth=b,this.weirdness=A}get offset(){return 0}toArray(){return[this.temperature,this.humidity,this.continentalness,this.erosion,this.depth,this.weirdness,this.offset]}}e.TargetPoint=a;class l{constructor(g){this.things=g,this.index=new d(g)}find(g){return this.index.search(g,(_,y)=>_.distance(y))}}e.Parameters=l;class u{constructor(g,_,y,w,b,A){this.temperature=g,this.humidity=_,this.continentalness=y,this.erosion=w,this.depth=b,this.weirdness=A}static fromRouter(g){return new e.Sampler(g.temperature,g.vegetation,g.continents,g.erosion,g.depth,g.ridges)}sample(g,_,y){const w=oe.context(g<<2,_<<2,y<<2);return e.target(this.temperature.compute(w),this.humidity.compute(w),this.continentalness.compute(w),this.erosion.compute(w),this.depth.compute(w),this.weirdness.compute(w))}}e.Sampler=u;const c=class{constructor(v){this.root=c.build(v.map(([g,_])=>new m(g,_)))}static build(v){if(v.length===1)return v[0];if(v.length<=c.CHILDREN_PER_NODE){const w=v.map(b=>{let A=0;for(let k=0;k<7;k+=1){const C=b.space[k];A+=Math.abs((C.min+C.max)/2)}return{key:A,node:b}}).sort((b,A)=>b.key-A.key).map(({node:b})=>b);return new p(w)}let g=1/0,_=-1,y=[];for(let w=0;w<7;++w){v=c.sort(v,w,!1),y=c.bucketize(v);let b=0;for(const A of y)b+=c.area(A.space);g>b&&(g=b,_=w)}return v=c.sort(v,_,!1),y=c.bucketize(v),y=c.sort(y,_,!0),new p(y.map(w=>c.build(w.children)))}static sort(v,g,_){return v.map(y=>{const w=y.space[g],b=(w.min+w.max)/2;return{key:_?Math.abs(b):b,node:y}}).sort((y,w)=>y.key-w.key).map(({node:y})=>y)}static bucketize(v){const g=[];let _=[];const y=Math.pow(10,Math.floor(Math.log(v.length-.01)/Math.log(10)));for(const w of v)_.push(w),!(_.lengthnew s(1/0,-1/0));for(const y of g)_=[...Array(7)].map((w,b)=>_[b].union(y.space[b]));return _}search(g,_){let y=1/0,w=null;for(const b of this.children){const A=_(b,g);if(y<=A)continue;const k=b.search(g,_),C=b==k?A:_(k,g);y<=C||(y=C,w=k)}return w}}e.RSubTree=p;class m extends f{constructor(g,_){super(g.space()),this.thing=_}search(){return this}}e.RLeaf=m})(pr||(pr={}));class mr{constructor(t){this.biome=t}getBiome(){return this.biome}static fromJson(t){var i,s;const n=(i=P.readObject(t))!=null?i:{},r=we.parse((s=P.readString(n.biome))!=null?s:"minecraft:the_void");return new mr(r)}}class Hs{constructor(t){this.parameters=t}getBiome(t,n,r,i){const s=i.sample(t,n,r);return this.parameters.find(s)}static fromJson(t){var s,o;const n=(s=P.readObject(t))!=null?s:{},i=((o=P.readArray(n.biomes,a=>{var l;return(u=>{var c;return{biome:we.parse((c=P.readString(u.biome))!=null?c:"minecraft:the_void"),parameters:pr.ParamPoint.fromJson(u.parameters)}})((l=P.readObject(a))!=null?l:{})}))!=null?o:[]).map(a=>[a.parameters,()=>a.biome]);return new Hs(new pr.Parameters(i))}}var pt;(function(e){e.TEMPERATURE=t("temperature",-10,[1.5,0,1,0,0,0]),e.VEGETATION=t("vegetation",-8,[1,1,0,0,0,0]),e.CONTINENTALNESS=t("continentalness",-9,[1,1,2,2,2,1,1,1,1]),e.EROSION=t("erosion",-9,[1,1,0,1,1]),e.TEMPERATURE_LARGE=t("temperature_large",-12,[1.5,0,1,0,0,0]),e.VEGETATION_LARGE=t("vegetation_large",-10,[1,1,0,0,0,0]),e.CONTINENTALNESS_LARGE=t("continentalness_large",-11,[1,1,2,2,2,1,1,1,1]),e.EROSION_LARGE=t("erosion_large",-11,[1,1,0,1,1]),e.RIDGE=t("ridge",-7,[1,2,1,0,0,0]),e.SHIFT=t("offset",-3,[1,1,1,0]),e.AQUIFER_BARRIER=t("aquifer_barrier",-3,[1]),e.AQUIFER_FLUID_LEVEL_FLOODEDNESS=t("aquifer_fluid_level_floodedness",-7,[1]),e.AQUIFER_FLUID_LEVEL_SPREAD=t("aquifer_fluid_level_spread",-5,[1]),e.AQUIFER_LAVA=t("aquifer_lava",-1,[1]),e.PILLAR=t("pillar",-7,[1,1]),e.PILLAR_RARENESS=t("pillar_rareness",-8,[1]),e.PILLAR_THICKNESS=t("pillar_thickness",-8,[1]),e.SPAGHETTI_2D=t("spaghetti_2d",-8,[1]),e.SPAGHETTI_2D_ELEVATION=t("spaghetti_2d_elevation",-8,[1]),e.SPAGHETTI_2D_MODULATOR=t("spaghetti_2d_modulator",-8,[1]),e.SPAGHETTI_2D_THICKNESS=t("spaghetti_2d_thickness",-8,[1]),e.SPAGHETTI_3D_1=t("spaghetti_3d_1",-8,[1]),e.SPAGHETTI_3D_2=t("spaghetti_3d_2",-8,[1]),e.SPAGHETTI_3D_RARITY=t("spaghetti_3d_rarity",-8,[1]),e.SPAGHETTI_3D_THICKNESS=t("spaghetti_3d_thickness",-8,[1]),e.SPAGHETTI_ROUGHNESS=t("spaghetti_roughness",-8,[1]),e.SPAGHETTI_ROUGHNESS_MODULATOR=t("spaghetti_roughness_modulator",-8,[1]),e.CAVE_ENTRANCE=t("cave_entrance",-7,[.4,.5,1]),e.CAVE_LAYER=t("cave_layer",-8,[1]),e.CAVE_CHEESE=t("cave_cheese",-8,[.5,1,2,1,2,1,0,2,0]),e.NOODLE=t("noodle",-8,[1]),e.NOODLE_THICKNESS=t("noodle_thickness",-8,[1]),e.NOODLE_RIDGE_A=t("noodle_ridge_a",-7,[1]),e.NOODLE_RIDGE_B=t("noodle_ridge_b",-7,[1]),e.JAGGED=t("jagged",-16,[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]),e.SURFACE=t("surface",-6,[1,1,1]),e.SURFACE_SECONDARY=t("surface_secondary",-6,[1,1,0,1]);function t(i,s,o){return cn.NOISE.register(we.create(i),Pn.create(s,o))}const n=new Map;function r(i,s){var c;const o=(c=s.key())==null?void 0:c.toString();if(!o)throw new Error("Cannot instantiate noise from direct holder");const a=i.seedKey(),l=n.get(o);if(l&&l[0]===a[0]&&l[1]===a[1])return l[2];const u=new Tr(i.fromHashOf(o),s.value());return n.set(o,[a[0],a[1],u]),u}e.instantiate=r})(pt||(pt={}));var ze;(function(e){function t(o){var l,u,c,d,f;const a=(l=P.readObject(o))!=null?l:{};return{minY:(u=P.readInt(a.min_y))!=null?u:0,height:(c=P.readInt(a.height))!=null?c:256,xzSize:(d=P.readInt(a.size_horizontal))!=null?d:1,ySize:(f=P.readInt(a.size_vertical))!=null?f:1}}e.fromJson=t;function n(o){return o.ySize<<2}e.cellHeight=n;function r(o){return o.xzSize<<2}e.cellWidth=r;function i(o){return o.height/n(o)}e.cellCountY=i;function s(o){return Math.floor(o.minY/n(o))}e.minCellY=s})(ze||(ze={}));var _s;(function(e){function t(r){var s,o,a,l;const i=(s=P.readObject(r))!=null?s:{};return{target:(o=P.readNumber(i.target))!=null?o:0,size:(a=P.readInt(i.size))!=null?a:0,offset:(l=P.readInt(i.offset))!=null?l:0}}e.fromJson=t;function n(r,i,s){if(r.size<=0)return i;const o=(s-r.offset)/r.size;return Ri(r.target,i,o)}e.apply=n})(_s||(_s={}));var $n;(function(e){const t=a=>ln.parser(cn.DENSITY_FUNCTION,oe.fromJson)(a).value();function n(a){var u;const l=(u=P.readObject(a))!=null?u:{};return{barrier:t(l.barrier),fluidLevelFloodedness:t(l.fluid_level_floodedness),fluidLevelSpread:t(l.fluid_level_spread),lava:t(l.lava),temperature:t(l.temperature),vegetation:t(l.vegetation),continents:t(l.continents),erosion:t(l.erosion),depth:t(l.depth),ridges:t(l.ridges),initialDensityWithoutJaggedness:t(l.initial_density_without_jaggedness),finalDensity:t(l.final_density),veinToggle:t(l.vein_toggle),veinRidged:t(l.vein_ridged),veinGap:t(l.vein_gap)}}e.fromJson=n;function r(a){return J({barrier:oe.Constant.ZERO,fluidLevelFloodedness:oe.Constant.ZERO,fluidLevelSpread:oe.Constant.ZERO,lava:oe.Constant.ZERO,temperature:oe.Constant.ZERO,vegetation:oe.Constant.ZERO,continents:oe.Constant.ZERO,erosion:oe.Constant.ZERO,depth:oe.Constant.ZERO,ridges:oe.Constant.ZERO,initialDensityWithoutJaggedness:oe.Constant.ZERO,finalDensity:oe.Constant.ZERO,veinToggle:oe.Constant.ZERO,veinRidged:oe.Constant.ZERO,veinGap:oe.Constant.ZERO},a)}e.create=r;function i(a,l,u,c=!1){const d=(c?new Qe(u):ke.create(u)).forkPositional(),f=new s(d,l);return xe(J({},f.mapAll(a)),{aquiferPositionalRandomFactory:d.fromHashOf(we.create("aquifer").toString()).forkPositional(),oreVeinsPositionalRandomFactory:d.fromHashOf(we.create("ore").toString()).forkPositional()})}e.withSettings=i;class s{constructor(l,u){this.random=l,this.settings=u,this.mapped=new Map}map(l){if(l instanceof oe.HolderHolder){const u=l.holder.key();if(u!==void 0&&this.mapped.has(u.toString()))return this.mapped.get(u.toString());{const c=l.holder.value().mapAll(this);return u!==void 0&&this.mapped.set(u.toString(),c),c}}if(l instanceof oe.Interpolated)return l.withCellSize(ze.cellWidth(this.settings),ze.cellHeight(this.settings));if(l instanceof oe.ShiftedNoise){const u=pt.instantiate(this.random,l.noiseData);return new oe.ShiftedNoise(l.shiftX,l.shiftY,l.shiftZ,l.xzScale,l.yScale,l.noiseData,u)}return l instanceof oe.Noise?new oe.Noise(l.xzScale,l.yScale,l.noiseData,pt.instantiate(this.random,l.noiseData)):l instanceof oe.ShiftNoise?l.withNewNoise(pt.instantiate(this.random,l.noiseData)):l instanceof oe.WeirdScaledSampler?new oe.WeirdScaledSampler(l.input,l.rarityValueMapper,l.noiseData,pt.instantiate(this.random,l.noiseData)):l instanceof oe.OldBlendedNoise?new oe.OldBlendedNoise(l.xzScale,l.yScale,l.xzFactor,l.yFactor,l.smearScaleMultiplier,new Ac(this.random.fromHashOf(we.create("terrain").toString()),l.xzScale,l.yScale,l.xzFactor,l.yFactor,l.smearScaleMultiplier)):l instanceof oe.Mapped||l instanceof oe.Ap2?l.withMinMax():l}mapAll(l){return{barrier:l.barrier.mapAll(this),fluidLevelFloodedness:l.fluidLevelFloodedness.mapAll(this),fluidLevelSpread:l.fluidLevelSpread.mapAll(this),lava:l.lava.mapAll(this),temperature:l.temperature.mapAll(this),vegetation:l.vegetation.mapAll(this),continents:l.continents.mapAll(this),erosion:l.erosion.mapAll(this),depth:l.depth.mapAll(this),ridges:l.ridges.mapAll(this),initialDensityWithoutJaggedness:l.initialDensityWithoutJaggedness.mapAll(this),finalDensity:l.finalDensity.mapAll(this),veinToggle:l.veinToggle.mapAll(this),veinRidged:l.veinRidged.mapAll(this),veinGap:l.veinGap.mapAll(this)}}}e.Visitor=s;function o(a,l,u,c){const d=ze.minCellY(a)+ze.cellCountY(a),f=ze.minCellY(a),p=ze.cellHeight(a);for(let m=d;m>=f;m-=1){const v=m*p;if(dr(l.compute(oe.context(u,v,c)),-64,64)>=.390625)return v}return Number.MAX_SAFE_INTEGER}e.computePreliminarySurfaceLevelScanning=o})($n||($n={}));class Sc{constructor(t,n,r,i,s,o,a,l,u){this.cellCountXZ=t,this.cellCountY=n,this.cellNoiseMinY=r,this.router=i,this.minX=s,this.minZ=o,this.settings=a,this.preliminarySurfaceLevel=new Map,this.cellWidth=ze.cellWidth(a),this.cellHeight=ze.cellHeight(a),this.firstCellX=Math.floor(s/this.cellWidth),this.firstCellZ=Math.floor(o/this.cellWidth),this.firstNoiseX=s>>2,this.firstNoiseZ=o>>2,this.noiseSizeXZ=t*this.cellWidth>>2,this.aquifer=pi.createDisabled(u);const c=this.router.finalDensity;this.materialRule=mi.fromList([d=>this.aquifer.compute(d,c.compute(d))]),this.initialDensityWithoutJaggedness=this.router.initialDensityWithoutJaggedness}getFinalState(t,n,r){return this.materialRule({x:t,y:n,z:r})}getPreliminarySurfaceLevel(t,n){return Or(this.preliminarySurfaceLevel,Ge.asLong(t,n),()=>$n.computePreliminarySurfaceLevelScanning(this.settings,this.initialDensityWithoutJaggedness,t<<2,n<<2))}getAquifer(){return this.aquifer}}var mi;(function(e){function t(n){return r=>{for(const i of n){const s=i(r);if(s)return s}}}e.fromList=t})(mi||(mi={}));var In;(function(e){function t(s){var a,l,u,c;const o=(a=P.readObject(s))!=null?a:{};return o.absolute!==void 0?n((l=P.readNumber(o.absolute))!=null?l:0):o.above_bottom!==void 0?r((u=P.readNumber(o.above_bottom))!=null?u:0):o.below_top!==void 0?i((c=P.readNumber(o.below_top))!=null?c:0):()=>0}e.fromJson=t;function n(s){return()=>s}function r(s){return o=>o.minY+s}function i(s){return o=>o.maxY-s}})(In||(In={}));var gi;(function(e){function t(n,r){return{minY:n,height:r,maxY:n+r-1}}e.create=t})(gi||(gi={}));class Ec{constructor(t,n,r){this.rule=t,this.defaultBlock=n,this.random=ke.create(r).forkPositional(),this.surfaceNoise=pt.instantiate(this.random,pt.SURFACE),this.surfaceSecondaryNoise=pt.instantiate(this.random,pt.SURFACE_SECONDARY),this.positionalRandoms=new Map}buildSurface(t,n,r,i){const s=Ge.minBlockX(t.pos),o=Ge.minBlockZ(t.pos),a=new Ic(this,t,n,r,i),l=this.rule(a);for(let u=0;u<16;u+=1){const c=s+u;for(let d=0;d<1;d+=1){const f=o+d;a.updateXZ(c,f);let p=0,m=Number.MIN_SAFE_INTEGER,v=Number.MAX_SAFE_INTEGER;for(let g=t.maxY;g>=t.minY;g-=1){const _=Xe.create(c,g,f),y=t.getBlockState(_);if(y.equals(ge.AIR)){p=0,m=Number.MIN_SAFE_INTEGER;continue}if(y.isFluid()){m===Number.MIN_SAFE_INTEGER&&(m=g+1);continue}if(v>=g){v=Number.MIN_SAFE_INTEGER;for(let A=g-1;A>=t.minY;A-=1){const k=t.getBlockState(Xe.create(c,A,f));if(k.equals(ge.AIR)||k.isFluid()){v=A+1;break}}}p+=1;const w=g-v+1;if(!y.equals(this.defaultBlock))continue;a.updateY(p,w,m,g);const b=l(c,g,f);b&&t.setBlockState(_,b)}}}}getSurfaceDepth(t,n){const r=this.surfaceNoise.sample(t,0,n),i=this.random.at(t,0,n).nextDouble()*.25;return r*2.75+3+i}getSurfaceSecondary(t,n){return this.surfaceSecondaryNoise.sample(t,0,n)}getRandom(t){return Or(this.positionalRandoms,t,()=>this.random.fromHashOf(t))}}class Ic{constructor(t,n,r,i,s){this.system=t,this.chunk=n,this.noiseChunk=r,this.context=i,this.getBiome=s,this.blockX=0,this.blockY=0,this.blockZ=0,this.stoneDepthAbove=0,this.stoneDepthBelow=0,this.surfaceDepth=0,this.waterHeight=0,this.biome=()=>"",this.surfaceSecondary=()=>0,this.minSurfaceLevel=()=>0}updateXZ(t,n){this.blockX=t,this.blockZ=n,this.surfaceDepth=this.system.getSurfaceDepth(t,n),this.surfaceSecondary=nr(()=>this.system.getSurfaceSecondary(t,n)),this.minSurfaceLevel=nr(()=>this.calculateMinSurfaceLevel(t,n))}updateY(t,n,r,i){this.blockY=i,this.stoneDepthAbove=t,this.stoneDepthBelow=n,this.waterHeight=r,this.biome=nr(()=>this.getBiome(Xe.create(this.blockX,this.blockY,this.blockZ)))}calculateMinSurfaceLevel(t,n){const r=t>>4,i=n>>4,s=this.noiseChunk.getPreliminarySurfaceLevel(r<<4,i<<4),o=this.noiseChunk.getPreliminarySurfaceLevel(r+1<<4,i<<4),a=this.noiseChunk.getPreliminarySurfaceLevel(r<<4,i+1<<4),l=this.noiseChunk.getPreliminarySurfaceLevel(r+1<<4,i+1<<4);return Math.floor(ci((t&15)/16,(n&15)/16,s,o,a,l))+this.surfaceDepth-8}}var _i;(function(e){e.NOOP=()=>()=>{};function t(s){var l,u,c;const o=(l=P.readObject(s))!=null?l:{};switch((u=P.readString(o.type))==null?void 0:u.replace(/^minecraft:/,"")){case"block":return n(ge.fromJson(o.result_state));case"sequence":return r((c=P.readArray(o.sequence,e.fromJson))!=null?c:[]);case"condition":return i(vi.fromJson(o.if_true),e.fromJson(o.then_run))}return e.NOOP}e.fromJson=t;function n(s){return()=>()=>s}e.block=n;function r(s){return o=>{const a=s.map(l=>l(o));return(l,u,c)=>{for(const d of a){const f=d(l,u,c);if(f)return f}}}}e.sequence=r;function i(s,o){return a=>(l,u,c)=>{if(s(a))return o(a)(l,u,c)}}e.condition=i})(_i||(_i={}));var vi;(function(e){e.FALSE=()=>!1,e.TRUE=()=>!0;function t(u){var f,p,m,v,g,_,y,w,b,A,k,C;const c=(f=P.readObject(u))!=null?f:{};switch((p=P.readString(c.type))==null?void 0:p.replace(/^minecraft:/,"")){case"above_preliminary_surface":return n();case"biome":return r((m=P.readArray(c.biome_is,S=>{var M;return(M=P.readString(S))!=null?M:""}))!=null?m:[]);case"not":return i(e.fromJson(c.invert));case"stone_depth":return s((v=P.readInt(c.offset))!=null?v:0,(g=P.readBoolean(c.add_surface_depth))!=null?g:!1,(_=P.readInt(c.secondary_depth_range))!=null?_:0,P.readString(c.surface_type)==="ceiling");case"vertical_gradient":return o((y=P.readString(c.random_name))!=null?y:"",In.fromJson(c.true_at_and_below),In.fromJson(c.false_at_and_above));case"water":return a((w=P.readInt(c.offset))!=null?w:0,(b=P.readInt(c.surface_depth_multiplier))!=null?b:0,(A=P.readBoolean(c.add_surface_depth))!=null?A:!1);case"y_above":return l(In.fromJson(c.anchor),(k=P.readInt(c.surface_depth_multiplier))!=null?k:0,(C=P.readBoolean(c.add_surface_depth))!=null?C:!1)}return e.FALSE}e.fromJson=t;function n(){return u=>u.blockY>=u.minSurfaceLevel()}e.abovePreliminarySurface=n;function r(u){const c=new Set(u);return d=>c.has(d.biome())}e.biome=r;function i(u){return c=>!u(c)}e.not=i;function s(u,c,d,f){return p=>{const m=f?p.stoneDepthBelow:p.stoneDepthAbove,v=c?p.surfaceDepth:0,g=d===0?0:hr(p.surfaceSecondary(),-1,1,0,d);return m<=1+u+v+g}}e.stoneDepth=s;function o(u,c,d){return f=>{const p=c(f.context),m=d(f.context);if(f.blockY<=p)return!0;if(f.blockY>=m)return!1;const v=f.system.getRandom(u),g=hr(f.blockY,p,m,1,0);return v.nextFloat(){if(f.waterHeight===Number.MIN_SAFE_INTEGER)return!0;const p=d?f.stoneDepthAbove:0;return f.blockY+p>=f.waterHeight+u+f.surfaceDepth*c}}e.water=a;function l(u,c,d){return f=>{const p=d?f.stoneDepthAbove:0;return f.blockY+p>=u(f.context)+f.surfaceDepth*c}}e.yAbove=l})(vi||(vi={}));class lp{constructor(t,n,r){this.biomeSource=n,this.settings=r,this.router=$n.withSettings(r.noiseRouter,r.noise,t,r.legacyRandomSource),this.noiseChunkCache=new Map,this.surfaceSystem=new Ec(r.surfaceRule,r.defaultBlock,t);const i=new fr(-54,ge.LAVA),s=new fr(r.seaLevel,r.defaultFluid);this.globalFluidPicker=(o,a,l)=>a=0;_-=1)for(let y=o-1;y>=0;y-=1){const w=(l+_)*o+y,b=w&15,A=t.getSectionIndex(w);t.getSectionIndex(g.minBlockY)!==A&&(g=t.getOrCreateSection(A));for(let k=0;kn)}getNoiseChunk(t){return Or(this.noiseChunkCache,Ge.toLong(t.pos),()=>{const n=Math.max(t.minY,this.settings.noise.minY),r=Math.min(t.maxY,this.settings.noise.minY+this.settings.noise.height),i=ze.cellWidth(this.settings.noise),s=ze.cellHeight(this.settings.noise),o=Math.floor(16/i),a=Math.floor(n/s),l=Math.floor((r-n)/s),u=Ge.minBlockX(t.pos),c=Ge.minBlockZ(t.pos);return new Sc(o,l,a,this.router,u,c,this.settings.noise,this.settings.aquifersEnabled,this.globalFluidPicker)})}}var vs;(function(e){function t(n){var i,s,o,a,l,u;const r=(i=P.readObject(n))!=null?i:{};return{surfaceRule:_i.fromJson(r.surface_rule),noise:ze.fromJson(r.noise),defaultBlock:ge.fromJson(r.default_block),defaultFluid:ge.fromJson(r.default_fluid),noiseRouter:$n.fromJson(r.noise_router),seaLevel:(s=P.readInt(r.sea_level))!=null?s:0,disableMobGeneration:(o=P.readBoolean(r.disable_mob_generation))!=null?o:!1,aquifersEnabled:(a=P.readBoolean(r.aquifers_enabled))!=null?a:!1,oreVeinsEnabled:(l=P.readBoolean(r.ore_veins_enabled))!=null?l:!1,legacyRandomSource:(u=P.readBoolean(r.legacy_random_source))!=null?u:!1}}e.fromJson=t})(vs||(vs={}));var qo=Object.freeze(Object.defineProperty({__proto__:null,get Aquifer(){return pi},BlendedNoise:Ac,get BlockPos(){return Xe},BlockState:ge,Chunk:ap,get ChunkPos(){return Ge},ChunkSection:$i,get Climate(){return pr},get CubicSpline(){return hi},get DensityFunction(){return oe},get Direction(){return lt},FixedBiome:mr,FluidStatus:fr,get Holder(){return ln},Identifier:we,ImprovedNoise:gs,get Json(){return P},LegacyPositionalRandom:bc,LegacyRandom:Qe,get MaterialRule(){return mi},get MinMaxNumberFunction(){return di},MultiNoise:Hs,NoiseAquifer:Nr,NoiseChunk:Sc,NoiseChunkGenerator:lp,get NoiseGeneratorSettings(){return vs},get NoiseParameters(){return Pn},get NoiseRouter(){return $n},get NoiseSettings(){return ze},get NoiseSlideSettings(){return _s},get Noises(){return pt},NormalNoise:Tr,PerlinNoise:ve,PerlinSimplexNoise:sp,Registry:fi,SimplexNoise:Ze,Structure:Vs,get SurfaceCondition(){return vi},SurfaceContext:Ic,get SurfaceRule(){return _i},SurfaceSystem:Ec,get VerticalAnchor(){return In},get WorldgenContext(){return gi},get WorldgenRegistries(){return cn},XoroshiroPositionalRandom:xc,XoroshiroRandom:ke,binarySearch:yc,clamp:dr,clampedLerp:Ri,clampedMap:Pi,computeIfAbsent:Or,getSeed:zs,inverseLerp:Fs,isPowerOfTwo:rp,lazy:nr,lazyLerp:rr,lazyLerp2:ms,lazyLerp3:wc,lerp:Bt,lerp2:ci,lerp3:vc,longfromBytes:ui,map:hr,smoothstep:Xr,square:Ot,upperPowerOfTwo:ip},Symbol.toStringTag,{value:"Module"}));let Zo=!1;async function cp(){Zo||(await fc(Yo),Zo=!0,console.debug(`Loaded deepslate-rs from "${Yo}"`))}const up={temperature:[-1,1],humidity:[-1,1],continentalness:[-1.1,1],erosion:[-1,1],weirdness:[-1,1],offset:[-1,1],factor:[0,12],jaggedness:[0,1]};let Xo,Jo;async function dp(e,t,n){var m,v,g;const{biomeSource:r}=await Cc(e,n),i=t.data,s=-Math.round(n.offset[0])-100+n.res/2,o=-Math.round(n.offset[1])-100+n.res/2,a=t.width*4/n.res,l=4/n.res,u=[s*n.scale,(200+s)*n.scale,n.res*n.scale],c=[o*n.scale,(200+o)*n.scale,n.res*n.scale],d=n.layers.has("biomes")?(m=r.getBiomes)==null?void 0:m.call(r,...u,64,65,1,...c):void 0,f=[...n.layers].filter(_=>_!=="biomes"),p=f.length===0||(v=r.getClimates)==null?void 0:v.call(r,...u,64,65,1,...c);for(let _=0;_<200;_+=n.res)for(let y=0;y<200;y+=n.res){const w=y*a+_*l,b=_/n.res*200/n.res+y/n.res,A=(_+s)*n.scale,k=(y+o)*n.scale;let C=[50,50,50];if(n.layers.has("biomes")){const S=(g=d==null?void 0:d[b])!=null?g:r.getBiome(A,64,k);C=pp(S.toString(),n.biomeColors)}else if(p&&f[0]){const S=p[b][f[0]],[M,O]=up[f[0]],L=(S-M)/(O-M)*256;C=[L,L,L]}i[w]=C[0],i[w+1]=C[1],i[w+2]=C[2],i[w+3]=255}}async function hp(e,t,n,r){var a;const{biomeSource:i}=await Cc(e,r),[s,o]=mp([t,n],r);return J({biome:i.getBiome(s,64,o).toString()},(a=i.getClimate)==null?void 0:a.call(i,s,64,o))}async function Cc(e,t){const n=[e,t.octaves,`${t.seed}`,t.version];return on(n,Xo)||(Xo=Oi(n),Jo=await fp(e,t)),{biomeSource:Jo}}async function fp(e,t){var n,r,i,s,o;switch((n=e==null?void 0:e.type)==null?void 0:n.replace(/^minecraft:/,"")){case"fixed":return new mr(we.parse(e.biome));case"checkerboard":const a=((r=e.scale)!=null?r:2)+2,l=(s=(i=e.biomes)==null?void 0:i.length)!=null?s:0;return{getBiome(u,c,d){var p;const f=(((u>>a)+(d>>a))%l+l)%l;return we.parse((p=e.biomes)==null?void 0:p[f].node)}};case"multi_noise":switch((o=e.preset)==null?void 0:o.replace(/^minecraft:/,"")){case"nether":e=Ye(t.version,"1.18")?vp:_p;break;case"overworld":e=Ye(t.version,"1.18")?await wp():e;break}if(e=B.DataModel.unwrapLists(e),Ye(t.version,"1.18")){await cp();const u=new l0,c=L=>typeof L=="number"?[L,L]:L,[d,f,p,m,v,g,_,y,w,b,A,k,C,S]=[[],[],[],[],[],[],[],[],[],[],[],[],[],[]];for(const L of e.biomes){const{temperature:D,humidity:ee,continentalness:le,erosion:ce,weirdness:I,depth:N,offset:z}=L.parameters;d.push(c(D)[0]),f.push(c(D)[1]),p.push(c(ee)[0]),m.push(c(ee)[1]),v.push(c(le)[0]),g.push(c(le)[1]),_.push(c(ce)[0]),y.push(c(ce)[1]),w.push(c(I)[0]),b.push(c(I)[1]),A.push(c(N)[0]),k.push(c(N)[1]),C.push(z),S.push(u.getOrPut(L.biome,Math.floor(Math.random()*2147483647)))}const M=J0(new Float64Array(d),new Float64Array(f),new Float64Array(p),new Float64Array(m),new Float64Array(v),new Float64Array(g),new Float64Array(_),new Float64Array(y),new Float64Array(w),new Float64Array(b),new Float64Array(A),new Float64Array(k),new Float64Array(C),new Int32Array(S)),O=K0(t.seed,t.octaves.temperature.firstOctave,new Float64Array(t.octaves.temperature.amplitudes),t.octaves.humidity.firstOctave,new Float64Array(t.octaves.humidity.amplitudes),t.octaves.continentalness.firstOctave,new Float64Array(t.octaves.continentalness.amplitudes),t.octaves.erosion.firstOctave,new Float64Array(t.octaves.erosion.amplitudes),t.octaves.weirdness.firstOctave,new Float64Array(t.octaves.weirdness.amplitudes),t.octaves.shift.firstOctave,new Float64Array(t.octaves.shift.amplitudes));return{getBiome(L,D,ee){var ce;const le=Uo(M,O,L,L+1,1,D,D+1,1,ee,ee+1,1);return we.parse((ce=u.getA(le[0]))!=null?ce:"unknown")},getBiomes(L,D,ee,le,ce,I,N,z,T){return[...Uo(M,O,L,D,ee,le,ce,I,N,z,T)].map(E=>{var R;return we.parse((R=u.getA(E))!=null?R:"unknown")})},getClimate(L,D,ee){const le=Go(O,L,L+1,1,D,D+1,1,ee,ee+1,1),[ce,I,N,z,T]=le.slice(0,5);return{temperature:ce,humidity:I,continentalness:N,erosion:z,weirdness:T}},getClimates(L,D,ee,le,ce,I,N,z,T){const x=Go(O,L,D,ee,le,ce,I,N,z,T),E=[];for(let R=0;R{var p;const f=e[`${c}_noise`];return f.firstOctave=rt((p=f.firstOctave)!=null?p:-7,-100,-1),new Tr(new Qe(t.seed+BigInt(d)),f)});return!Array.isArray(e.biomes)||e.biomes.length===0?new mr(we.create("unknown")):{getBiome(c,d,f){const p=u.map(g=>g.sample(c,f,0));let m=1/0,v="";for(const{biome:g,parameters:_}of e.biomes){const y=Gn(_.altitude-p[0])+Gn(_.temperature-p[1])+Gn(_.humidity-p[2])+Gn(_.weirdness-p[3])+Gn(_.offset);yr.nextFloat(),nextInt:o=>r.nextInt(o),nextGaussian:()=>Math.sqrt(-2*Math.log(1-r.nextFloat()))*Math.cos(2*Math.PI*r.nextFloat()),sampleInt(o){return bp(o,this)}};for(let o=0;o=n.size[0]||o[1]>=n.size[1]||o[2]>=n.size[2])continue;const l=o[2]*(t.width*4)+o[0]*4,u=aa+l.weight,0);let o=t.nextInt(s);for(const a of e.distribution)if(o-=a.weight,o<0)return t.sampleInt(a.data);return 0}return 1}function bt(e,t){if(!dn(e))throw new Error("Invalid vertical anchor");if(e.absolute)return e.absolute;if(e.above_bottom)return e.above_bottom;if(e.below_top)return 256-e.below_top;throw new Error("Invalid vertical anchor")}function xp(e,t){var n,r,i,s;if(!dn(e))throw new Error("Invalid height provider");if(typeof e.type!="string")return bt(e);switch(Dn(e.type)){case"constant":return bt(e.value);case"uniform":{const o=bt(e.min_inclusive),a=bt(e.max_inclusive);return o+t.nextInt(a-o+1)}case"biased_to_bottom":{const o=bt(e.min_inclusive),a=bt(e.max_inclusive),l=t.nextInt(a-o-((n=e.inner)!=null?n:1)+1);return o+t.nextInt(l+((r=e.inner)!=null?r:1))}case"very_biased_to_bottom":{const o=bt(e.min_inclusive),a=bt(e.max_inclusive),l=(i=e.inner)!=null?i:1,u=o+l+t.nextInt(a-o-l+1),c=o+t.nextInt(u-o);return o+t.nextInt(c-o+l)}case"trapezoid":{const o=bt(e.min_inclusive),a=bt(e.max_inclusive),l=(s=e.plateau)!=null?s:0;if(l>=a-o)return o+t.nextInt(a-o+1);const u=(a-o-l)/2,c=a-o-u;return o+t.nextInt(c+1)+t.nextInt(u+1)}default:throw new Error(`Invalid height provider ${e.type}`)}}function Qo(e,t){const n=t.features.indexOf(e);return n!=-1?n:(t.features.push(e),t.features.length-1)}function wn(e,t,n){var s;if(typeof t=="string"){n.placements.push([e,Qo(t,n)]);return}const r=Dn((s=t==null?void 0:t.type)!=null?s:"no_op"),i=Ap[r];i?i(t.config,e,n):n.placements.push([e,Qo(JSON.stringify(t),n)])}function ws(e,t,n){var s;const r=Dn((s=t==null?void 0:t.type)!=null?s:"nope"),i=kp[r];return i?i(t==null?void 0:t.config,e,n):[e]}const Ap={decorated:(e,t,n)=>{ws(t,e==null?void 0:e.decorator,n).forEach(i=>wn(i,e==null?void 0:e.feature,n))},random_boolean_selector:(e,t,n)=>{const r=n.nextFloat()<.5?e==null?void 0:e.feature_true:e==null?void 0:e.feature_false;wn(t,r,n)},random_selector:(e,t,n)=>{var r,i;for(const s of(r=e==null?void 0:e.features)!=null?r:[])if(n.nextFloat()<((i=s==null?void 0:s.chance)!=null?i:0)){wn(t,s.feature,n);return}wn(t,e==null?void 0:e.default,n)},simple_random_selector:(e,t,n)=>{var i,s,o;const r=(o=e==null?void 0:e.features)==null?void 0:o[n.nextInt((s=(i=e==null?void 0:e.features)==null?void 0:i.length)!=null?s:0)];wn(t,r,n)}},kp={chance:(e,t,n)=>{var r;return n.nextFloat()<1/((r=e==null?void 0:e.chance)!=null?r:1)?[t]:[]},count:(e,t,n)=>{var r;return new Array(n.sampleInt((r=e==null?void 0:e.count)!=null?r:1)).fill(t)},count_extra:(e,t,n)=>{var i,s;let r=(i=e==null?void 0:e.count)!=null?i:1;return n.nextFloat(){var r;return new Array(n.sampleInt((r=e==null?void 0:e.count)!=null?r:1)).fill(t).map(i=>[i[0]+n.nextInt(16),i[1],i[2]+n.nextInt(16)])},count_noise:(e,t,n)=>{const i=n.biomeInfoNoise.sample(t[0]/200,0,t[2]/200){var o;const r=Math.max(1,e.noise_factor),i=n.biomeInfoNoise.sample(t[0]/r,0,t[2]/r),s=Math.max(0,Math.ceil((i+((o=e.noise_offset)!=null?o:0))*e.noise_to_count_ratio));return new Array(s).fill(t)},dark_oak_tree:(e,t,n)=>[...new Array(16)].map((r,i)=>{const s=Math.floor(i/4)*4+1+n.nextInt(3)+t[0],o=Math.max(n.seaLevel,Kt[rt(0,63,s)]),a=Math.floor(i%4)*4+1+n.nextInt(3)+t[2];return[s,o,a]}),decorated:(e,t,n)=>ws(t,e==null?void 0:e.outer,n).flatMap(r=>ws(r,e==null?void 0:e.inner,n)),depth_average:(e,t,n)=>{var i,s,o,a;const r=n.nextInt((i=e==null?void 0:e.spread)!=null?i:0)+n.nextInt((s=e==null?void 0:e.spread)!=null?s:0)-((o=e.spread)!=null?o:0)+((a=e==null?void 0:e.baseline)!=null?a:0);return at(t,r)},emerald_ore:(e,t,n)=>{const r=3+n.nextInt(6);return[...new Array(r)].map(()=>[t[0]+n.nextInt(16),4+n.nextInt(28),t[2]+n.nextInt(16)])},fire:(e,t,n)=>{const r=1+n.nextInt(n.nextInt(n.sampleInt(e==null?void 0:e.count)));return[...new Array(r)].map(()=>[t[0]+n.nextInt(16),n.nextInt(128),t[2]+n.nextInt(16)])},glowstone:(e,t,n)=>{const r=n.nextInt(1+n.nextInt(n.sampleInt(e==null?void 0:e.count)));return[...new Array(r)].map(()=>[t[0]+n.nextInt(16),n.nextInt(128),t[2]+n.nextInt(16)])},heightmap:(e,t,n)=>{const r=Math.max(n.seaLevel,Kt[rt(0,63,t[0])]);return at(t,r)},heightmap_spread_double:(e,t,n)=>{const r=Math.max(n.seaLevel,Kt[rt(0,63,t[0])]);return at(t,n.nextInt(r*2))},heightmap_world_surface:(e,t,n)=>{const r=Math.max(n.seaLevel,Kt[rt(0,63,t[0])]);return at(t,r)},iceberg:(e,t,n)=>[[t[0]+4+n.nextInt(8),t[1],t[2]+4+n.nextInt(8)]],lava_lake:(e,t,n)=>{var r,i;if(n.nextInt(((r=e.chance)!=null?r:1)/10)===0){const s=n.nextInt(n.nextInt(248)+8);if(s[t],range:(e,t,n)=>{var i,s,o;const r=n.nextInt(((i=e==null?void 0:e.maximum)!=null?i:1)-((s=e==null?void 0:e.top_offset)!=null?s:0))+((o=e==null?void 0:e.bottom_offset)!=null?o:0);return at(t,r)},range_biased:(e,t,n)=>{var i,s,o;const r=n.nextInt(n.nextInt(((i=e==null?void 0:e.maximum)!=null?i:1)-((s=e==null?void 0:e.top_offset)!=null?s:0))+((o=e==null?void 0:e.bottom_offset)!=null?o:0));return at(t,r)},range_very_biased:(e,t,n)=>{var i,s,o,a;const r=n.nextInt(n.nextInt(n.nextInt(((i=e==null?void 0:e.maximum)!=null?i:1)-((s=e==null?void 0:e.top_offset)!=null?s:0))+((o=e==null?void 0:e.bottom_offset)!=null?o:0))+((a=e==null?void 0:e.bottom_offset)!=null?a:0));return at(t,r)},spread_32_above:(e,t,n)=>{const r=n.nextInt(t[1]+32);return at(t,r)},top_solid_heightmap:(e,t)=>{const n=Kt[rt(0,63,t[0])];return at(t,n)},magma:(e,t,n)=>{const r=n.nextInt(t[1]+32);return at(t,r)},square:(e,t,n)=>[[t[0]+n.nextInt(16),t[1],t[2]+n.nextInt(16)]],surface_relative_threshold:(e,t)=>{var s,o;const n=Kt[rt(0,63,t[0])],r=n+((s=e==null?void 0:e.min_inclusive)!=null?s:-1/0),i=n+((o=e==null?void 0:e.max_inclusive)!=null?o:1/0);return t[1]i?[t]:[]},water_lake:(e,t,n)=>{var r;return n.nextInt((r=e.chance)!=null?r:1)===0?[[t[0]+n.nextInt(16),n.nextInt(256),t[2]+n.nextInt(16)]]:[]}};function Sp(e,t,n){var i;let r=[e];for(const s of t)!ea[Dn((i=s==null?void 0:s.type)!=null?i:"nope")]||(r=r.flatMap(a=>ea[Dn(s.type)](s,a,n)));for(const s of r)n.placements.push([s,0])}const ea={count:({count:e},t,n)=>new Array(n.sampleInt(e!=null?e:1)).fill(t),count_on_every_layer:({count:e},t,n)=>new Array(n.sampleInt(e!=null?e:1)).fill(t).map(r=>[r[0]+n.nextInt(16),r[1],r[2]+n.nextInt(16)]),environment_scan:({},e)=>[e],height_range:({height:e},t,n)=>at(t,xp(e,n)),heightmap:({},e,t)=>{const n=Math.max(t.seaLevel,Kt[rt(0,63,e[0])]);return at(e,n)},in_square:({},e,t)=>[[e[0]+t.nextInt(16),e[1],e[2]+t.nextInt(16)]],noise_based_count:({noise_to_count_ratio:e,noise_factor:t,noise_offset:n},r,i)=>{const s=Math.max(1,t),o=i.biomeInfoNoise.sample(r[0]/s,0,r[2]/s),a=Math.max(0,Math.ceil((o+(n!=null?n:0))*e));return new Array(a).fill(r)},noise_threshold_count:({noise_level:e,below_noise:t,above_noise:n},r,i)=>{const o=i.biomeInfoNoise.sample(r[0]/200,0,r[2]/200)[[n[0]+r.sampleInt(e),n[1]+r.sampleInt(t),n[2]+r.sampleInt(e)]],rarity_filter:({chance:e},t,n)=>n.nextFloat()<1/(e!=null?e:1)?[t]:[]};class Ep{constructor(){this.d=qo,this.deepslateCache=new Map,this.Z=0,this.chunksCache=[]}async loadVersion(t){if(this.loadedVersion!==t)return(this.loadingVersion!==t||!this.loadingPromise)&&(this.loadingVersion=t,this.loadingPromise=this.doLoadVersion(t)),this.loadingPromise}async doLoadVersion(t){const n=this.deepslateCache.get(t);if(n)this.d=n;else{if(Ye(t,"1.19")?this.d=qo:Ye(t,"1.18.2")?this.d=await ae(()=>import("./deepslate.esm.ae3661e1.js"),["assets/deepslate.esm.ae3661e1.js","assets/vec3.7a0b0b73.js"]):this.d=await ae(()=>import("./deepslate.esm.4804555b.js"),["assets/deepslate.esm.4804555b.js","assets/vec3.7a0b0b73.js"]),this.d.WorldgenRegistries){const r=[["worldgen/noise","NOISE",this.d.NoiseParameters],["worldgen/density_function","DENSITY_FUNCTION",this.d.DensityFunction]];await Promise.all(r.map(async([i,s,o])=>{const a=await b0(t,i),l=new this.d.Registry(this.d.Identifier.create(i));for(const[u,c]of a.entries())l.register(this.d.Identifier.parse(u),o.fromJson(c));this.d.WorldgenRegistries[s].assign(l)}))}this.deepslateCache.set(t,this.d)}this.loadedVersion=t,this.loadingVersion=void 0}loadChunkGenerator(t,n,r="unknown"){if(!this.loadedVersion)throw new Error("No deepslate version loaded");const i=[t,`${n}`,r];if(!on(this.cacheState,i)){const s=new this.d.FixedBiome(Ye(this.loadedVersion,"1.18.2")?this.d.Identifier.parse(r):r);console.log(this.d);const o=this.d.NoiseGeneratorSettings.fromJson(B.DataModel.unwrapLists(t)),a=new this.d.NoiseChunkGenerator(n,s,o);this.settingsCache=o.noise,this.generatorCache=a,this.chunksCache=[],this.cacheState=Oi(i)}}generateChunks(t,n,r="unknown"){if(t=Math.floor(t),!this.settingsCache)throw new Error("Tried to generate chunks before settings are loaded");const i=this.settingsCache.minY,s=this.settingsCache.height;return[...Array(Math.ceil(n/16)+1)].map((o,a)=>{const l=(t>>4)+a,u=this.chunksCache.find(d=>d.pos[0]===l);if(u)return u;const c=new this.d.Chunk(i,s,this.d.ChunkPos.create(l,this.Z>>4));if(!this.generatorCache)throw new Error("Tried to generate chunks before generator is loaded");return this.generatorCache.fill(c,!0),this.generatorCache.buildSurface(c,r),this.chunksCache.push(c),c})}loadDensityFunction(t,n){const r=this.d.XoroshiroRandom.create(n).forkPositional(),i=this.d.NoiseSettings.fromJson({min_y:-64,height:384,size_horizontal:1,size_vertical:2,sampling:{xz_scale:1,y_scale:1,xz_factor:80,y_factor:160},bottom_slide:{target:.1171875,size:3,offset:0},top_slide:{target:-.078125,size:2,offset:8},terrain_shaper:{offset:.044,factor:4,jaggedness:0}});return this.settingsCache=i,this.d.DensityFunction.fromJson(t).mapAll(new this.d.NoiseRouter.Visitor(r,i))}getNoiseSettings(){if(!this.settingsCache)throw new Error("Tried to access noise settings when they are not loaded");return this.settingsCache}getBlockState(t,n){t=Math.floor(t),n=Math.floor(n);const r=this.chunksCache.find(i=>this.d.ChunkPos.minBlockX(i.pos)<=t&&this.d.ChunkPos.maxBlockX(i.pos)>=t);return r==null?void 0:r.getBlockState(this.d.BlockPos.create(t,n,this.Z))}}class Ip{constructor(t){this.settings={},this.chunkWidth=4,this.chunkHeight=4,this.chunkCountY=32,this.biomeDepth=.1,this.biomeScale=.2,this.noiseColumnCache=[],this.xOffset=0;const n=new Qe(t);this.minLimitPerlinNoise=new ve(n,-15,[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]),this.maxLimitPerlinNoise=new ve(n,-15,[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]),this.mainPerlinNoise=new ve(n,-7,[1,1,1,1,1,1,1,1]),this.depthNoise=new ve(n,-15,[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1])}reset(t,n,r,i,s){this.settings=t,this.chunkWidth=t.size_horizontal*4,this.chunkHeight=t.size_vertical*4,this.chunkCountY=Math.floor(t.height/this.chunkHeight),t.amplified&&n>0&&(n=1+n*2,r=1+r*4),this.biomeDepth=.265625*(n*.5-.125),this.biomeScale=96/(r*.9+.1),this.noiseColumnCache=Array(s).fill(null),this.xOffset=i}iterateNoiseColumn(t){const n=Array(this.chunkCountY*this.chunkHeight),r=Math.floor(t/this.chunkWidth),i=Math.floor(t%this.chunkWidth)/this.chunkWidth,s=this.fillNoiseColumn(r),o=this.fillNoiseColumn(r+1);for(let a=this.chunkCountY-1;a>=0;a-=1)for(let l=this.chunkHeight;l>=0;l-=1){const u=l/this.chunkHeight,c=a*this.chunkHeight+l;n[c]=a0(u,i,s[a],s[a+1],o[a],o[a+1])}return n}fillNoiseColumn(t){const n=this.noiseColumnCache[t-this.xOffset];if(n)return n;const r=Array(this.chunkCountY+1),i=684.412*this.settings.sampling.xz_scale,s=684.412*this.settings.sampling.y_scale,o=i/this.settings.sampling.xz_factor,a=s/this.settings.sampling.y_factor,l=this.settings.random_density_offset?this.getRandomDensity(t):0;for(let u=0;u<=this.chunkCountY;u+=1){let c=this.sampleAndClampNoise(t,u,this.mainPerlinNoise.getOctaveNoise(0).zo,i,s,o,a);const p=((1-u*2/this.chunkCountY+l)*this.settings.density_factor+this.settings.density_offset+this.biomeDepth)*this.biomeScale;c+=p*(p>0?4:1),this.settings.top_slide.size>0&&(c=Gi(this.settings.top_slide.target,c,(this.chunkCountY-u-this.settings.top_slide.offset)/this.settings.top_slide.size)),this.settings.bottom_slide.size>0&&(c=Gi(this.settings.bottom_slide.target,c,(u-this.settings.bottom_slide.offset)/this.settings.bottom_slide.size)),r[u]=c}return this.noiseColumnCache[t-this.xOffset]=r,r}getRandomDensity(t){const n=this.depthNoise.sample(t*200,10,this.depthNoise.getOctaveNoise(0).zo,1,0,!0),i=(n<0?-n*.3:n)*24.575625-2;return i<0?i*.009486607142857142:Math.min(i,1)*.006640625}sampleAndClampNoise(t,n,r,i,s,o,a){let l=0,u=0,c=0,d=1;for(let f=0;f<16;f+=1){const p=ve.wrap(t*i*d),m=ve.wrap(n*s*d),v=ve.wrap(r*i*d),g=s*d,_=this.minLimitPerlinNoise.getOctaveNoise(f);_&&(l+=_.sample(p,m,v,g,n*g)/d);const y=this.maxLimitPerlinNoise.getOctaveNoise(f);if(y&&(u+=y.sample(p,m,v,g,n*g)/d),f<8){const w=this.mainPerlinNoise.getOctaveNoise(f);w&&(c+=w.sample(ve.wrap(t*o*d),ve.wrap(n*a*d),ve.wrap(r*o*d),a*d,n*a*d)/d)}d/=2}return Gi(l/512,u/512,(c/10+1)/2)}}const Cp={"minecraft:air":[150,160,170],"minecraft:water":[20,80,170],"minecraft:lava":[200,100,0],"minecraft:stone":[55,55,55],"minecraft:deepslate":[34,34,36],"minecraft:bedrock":[10,10,10],"minecraft:grass_block":[47,120,23],"minecraft:dirt":[64,40,8],"minecraft:gravel":[70,70,70],"minecraft:sand":[196,180,77],"minecraft:sandstone":[148,135,52],"minecraft:netherrack":[100,40,40],"minecraft:crimson_nylium":[144,22,22],"minecraft:warped_nylium":[28,115,113],"minecraft:basalt":[73,74,85],"minecraft:end_stone":[200,200,140]},$t=new Ep;async function Mp(e,t,n){var o,a,l,u;if(Ye(n.version,"1.18")){await $t.loadVersion(n.version),$t.loadChunkGenerator(e,n.seed,n.biome),$t.generateChunks(-n.offset,n.width,n.biome);const c=$t.getNoiseSettings(),d=t.data;for(let f=0;f0?0:e[t+1]>0?150:255}function Lp(e,t,n){const r=new Qe(n.seed),i=Pn.fromJson(B.DataModel.unwrapLists(e)),s=new Tr(r,i),o=-n.offset[0]-100,a=-n.offset[1]-100,l=t.data;for(let u=0;u<256;u+=1)for(let c=0;c<256;c+=1){const d=u*4+c*4*256,f=(u+o)*n.scale,p=(c+a)*n.scale,m=(s.sample(f,p,0)+1)*128;l[d]=m,l[d+1]=m,l[d+2]=m,l[d+3]=255}}const Rp=["biomes","temperature","humidity","continentalness","erosion","weirdness"],Pp=({model:e,data:t,shown:n,version:r})=>{var k,C;const{locale:i}=Ee(),[s]=$(zt()),[o,a]=$(2),[l,u]=$(void 0),[c,d]=$(new Set(["biomes"])),f=pe([0,0]),p=pe(1),m=pe(),v=BigInt((k=e.get(new B.Path(["generator","seed"])))!=null?k:s),g=Ae(()=>{if(!!n)return Dp(e.get(new B.Path(["generator","settings"])))},[n]),_=n?$p(t,g):"",y=(C=t.type)==null?void 0:C.replace(/^minecraft:/,""),{canvas:w,redraw:b}=Cr({size(){return[200/p.current,200/p.current]},async draw(S){const M={octaves:g,biomeColors:{},layers:c,offset:f.current,scale:o,seed:v,res:p.current,version:r};await dp(t,S,M),p.current===4&&(clearTimeout(m.current),m.current=setTimeout(()=>{p.current=1,b()},150))},async onDrag(S,M){f.current[0]=f.current[0]+S*200,f.current[1]=f.current[1]+M*200,clearTimeout(m.current),p.current=y==="multi_noise"?4:1,b()},async onHover(S,M){const O={octaves:g,biomeColors:{},layers:c,offset:f.current,scale:o,seed:s,res:1,version:r},L=await hp(t,Math.floor(S*200),Math.floor(M*200),O);u(L)},onLeave(){u(void 0)}},[r,_,o,s,c]);K(()=>{n&&(p.current=y==="multi_noise"?4:1,b())},[r,_,o,s,c,n]);const A=S=>{f.current[0]=f.current[0]*o/S,f.current[1]=f.current[1]*o/S,a(S)};return h(ne,null,h("div",{class:"controls preview-controls"},l&&h(q,{label:l.biome,class:"no-pointer"}),y==="multi_noise"&&h(Ke,{icon:"stack",tooltip:i("configure_layers")},Rp.map(S=>{const M=c.has(S);return h(q,{label:i(`layer.${S}`),active:M,tooltip:i(M?"enabled":"disabled"),onClick:O=>{d(new Set([S])),O.stopPropagation()}})})),(y==="multi_noise"||y==="checkerboard")&&h(ne,null,h(q,{icon:"dash",tooltip:i("zoom_out"),onClick:()=>A(o*1.5)}),h(q,{icon:"plus",tooltip:i("zoom_in"),onClick:()=>A(o/1.5)})),y==="multi_noise"&&h(q,{icon:"sync",tooltip:i("generate_new_seed"),onClick:()=>Hl(e)})),(l==null?void 0:l.temperature)!==void 0&&h("div",{class:"controls secondary-controls"},h(q,{class:"no-pointer",label:Object.entries(l).filter(([S])=>S!=="biome").map(([S,M])=>`${S[0].toUpperCase()}: ${M.toFixed(2)}`).join(" ")})),h("canvas",{ref:w,width:"200",height:"200"}))};function $p(e,t){return JSON.stringify([e,t])}function Dp(e){switch(typeof e!="string"&&(e=e.legacy_random_source?"minecraft:nether":"minecraft:overworld"),e.replace(/^minecraft:/,"")){case"overworld":case"amplified":return{temperature:{firstOctave:-9,amplitudes:[1.5,0,1,0,0,0]},humidity:{firstOctave:-7,amplitudes:[1,1,0,0,0,0]},continentalness:{firstOctave:-9,amplitudes:[1,1,2,2,2,1,1,1,1]},erosion:{firstOctave:-9,amplitudes:[1,1,0,1,1]},weirdness:{firstOctave:-7,amplitudes:[1,2,1,0,0,0]},shift:{firstOctave:-3,amplitudes:[1,1,1,0]}};case"end":case"floating_islands":return{temperature:{firstOctave:0,amplitudes:[0]},humidity:{firstOctave:0,amplitudes:[0]},continentalness:{firstOctave:0,amplitudes:[0]},erosion:{firstOctave:0,amplitudes:[0]},weirdness:{firstOctave:0,amplitudes:[0]},shift:{firstOctave:0,amplitudes:[0]}};default:return{temperature:{firstOctave:-7,amplitudes:[1,1]},humidity:{firstOctave:-7,amplitudes:[1,1]},continentalness:{firstOctave:-7,amplitudes:[1,1]},erosion:{firstOctave:-7,amplitudes:[1,1]},weirdness:{firstOctave:-7,amplitudes:[1,1]},shift:{firstOctave:0,amplitudes:[0]}}}}const Bp=({data:e,version:t,shown:n})=>{const{locale:r}=Ee(),[i,s]=$(4),[o,a]=$(zt()),l=JSON.stringify(e),{canvas:u,redraw:c}=Cr({size(){return[i*16,i*16]},async draw(d){yp(e,d,{seed:o,version:t,size:[i*16,128,i*16]})}},[t,l,o]);return K(()=>{n&&c()},[t,l,i,o,n]),h(ne,null,h("div",{class:"controls preview-controls"},h(q,{icon:"dash",tooltip:r("zoom_out"),onClick:()=>s(Math.min(16,i+1))}),h(q,{icon:"plus",tooltip:r("zoom_in"),onClick:()=>s(Math.max(1,i-1))}),h(q,{icon:"sync",tooltip:r("generate_new_seed"),onClick:()=>a(zt())})),h("canvas",{ref:u,width:"64",height:"64"}))},Fp=({data:e,shown:t,version:n})=>{var g,_;const{locale:r}=Ee(),[i,s]=$(zt()),[o,a]=$(!1),[l,u]=$(void 0),c=pe(0),d=pe(void 0),f=JSON.stringify([e]),p=(_=(g=e==null?void 0:e.noise)==null?void 0:g.height)!=null?_:256,{canvas:m,redraw:v}=Cr({size(){return[p,p]},async draw(y){const w={offset:c.current,width:y.width,seed:i,version:n};await Tp(e,y,w)},async onDrag(y){c.current+=y*p,v()},async onHover(y,w){var k,C;const b=Math.floor(y*p-c.current),A=p-Math.max(1,Math.ceil(w*p))+((C=(k=e==null?void 0:e.noise)==null?void 0:k.min_y)!=null?C:0);u(`X=${b} Y=${A}`)},onLeave(){u(void 0)}},[n,f,i]);return K(()=>{d.current&&clearInterval(d.current),t&&(v(),o&&(d.current=setInterval(()=>{c.current-=8,v()},100)))},[n,f,i,t,o]),h(ne,null,h("div",{class:"controls preview-controls"},l&&h(q,{label:l,class:"no-pointer"}),h(Ke,{icon:"gear",tooltip:r("terrain_settings")},h(q,{icon:o?"square_fill":"square",label:r("preview.auto_scroll"),onClick:()=>a(!o)})),h(q,{icon:"sync",tooltip:r("generate_new_seed"),onClick:()=>s(zt())})),h("canvas",{ref:m,width:p,height:p}))},zp=({data:e,shown:t,version:n})=>{const{locale:r}=Ee(),[i,s]=$(zt()),[o,a]=$(2),l=pe([0,0]),u=JSON.stringify([e]),{canvas:c,redraw:d}=Cr({size(){return[256,256]},async draw(p){const m={offset:l.current,scale:o,seed:i,version:n};Lp(e,p,m)},async onDrag(p,m){l.current[0]=l.current[0]+p*256,l.current[1]=l.current[1]+m*256,d()}},[n,u,o,i]);K(()=>{t&&d()},[n,u,o,i,t]);const f=p=>{l.current[0]=l.current[0]*o/p,l.current[1]=l.current[1]*o/p,a(p)};return h(ne,null,h("div",{class:"controls preview-controls"},h(q,{icon:"dash",tooltip:r("zoom_out"),onClick:()=>f(o*1.5)}),h(q,{icon:"plus",tooltip:r("zoom_in"),onClick:()=>f(o/1.5)}),h(q,{icon:"sync",tooltip:r("generate_new_seed"),onClick:()=>s(zt())})),h("canvas",{ref:c,width:"256",height:"256"}))},jp=({data:e,shown:t,version:n})=>{var C,S;const{locale:r}=Ee(),[i,s]=$(zt()),[o,a]=$("minecraft:plains"),[l,u]=$(.2),[c,d]=$(.1),[f,p]=$(!1),[m,v]=$(void 0),g=pe(0),_=pe(void 0),y=JSON.stringify([e,l,c]),w=(S=(C=e==null?void 0:e.noise)==null?void 0:C.height)!=null?S:256,{canvas:b,redraw:A}=Cr({size(){return[w,w]},async draw(M){const O={biome:o,biomeDepth:c,biomeScale:l,offset:g.current,width:M.width,seed:i,version:n};await Mp(e,M,O)},async onDrag(M){g.current+=M*w,A()},async onHover(M,O){var le,ce;const L=Math.floor(M*w-g.current),D=w-Math.max(1,Math.ceil(O*w))+((ce=(le=e==null?void 0:e.noise)==null?void 0:le.min_y)!=null?ce:0),ee=Op(L,D);v(ee?`Y=${D} (${ee.getName().path})`:`Y=${D}`)},onLeave(){v(void 0)}},[y,i]);K(()=>{_.current&&clearInterval(_.current),t&&(async()=>{try{await A(),f&&(_.current=setInterval(()=>{g.current-=8,A()},100))}catch(M){throw M}})()},[n,y,i,t,o,l,c,f]);const k=Ae(()=>{var M;return(M=Zr==null?void 0:Zr.get("worldgen/biome"))!=null?M:[]},[n]);return h(ne,null,h("div",{class:"controls preview-controls"},m&&h(q,{label:m,class:"no-pointer"}),h(Ke,{icon:"gear",tooltip:r("terrain_settings")},Ye(n,void 0,"1.17")?h(ne,null,h(qr,{label:r("preview.scale"),value:`${l}`,onChange:M=>u(Number(M))}),h(qr,{label:r("preview.depth"),value:`${c}`,onChange:M=>d(Number(M))})):h(qr,{label:r("preview.biome"),value:o,onChange:a,dataList:k,larger:!0}),h(q,{icon:f?"square_fill":"square",label:r("preview.auto_scroll"),onClick:()=>p(!f)})),h(q,{icon:"sync",tooltip:r("generate_new_seed"),onClick:()=>s(zt())})),h("canvas",{ref:b,width:w,height:w}))},Vp=["dimension","worldgen/density_function","worldgen/noise","worldgen/noise_settings","worldgen/configured_feature","worldgen/placed_feature"];function Hp({model:e,version:t,id:n,shown:r}){var s;const[,i]=$(0);if(Ti(e,()=>{i(o=>o+1)}),!e)return h(ne,null);if(n==="dimension"&&((s=e.get(new B.Path(["generator","type"])))==null?void 0:s.endsWith("noise"))){const o=e.get(new B.Path(["generator","biome_source"]));if(o)return h(Pp,{model:e,version:t,shown:r,data:o})}if(n==="worldgen/density_function"){const o=e.get(new B.Path([]));if(o)return h(Fp,{model:e,version:t,shown:r,data:o})}if(n==="worldgen/noise"){const o=e.get(new B.Path([]));if(o)return h(zp,{model:e,version:t,shown:r,data:o})}if(n==="worldgen/noise_settings"){const o=e.get(new B.Path([]));if(o)return h(jp,{model:e,version:t,shown:r,data:o})}if(n==="worldgen/placed_feature"||n==="worldgen/configured_feature"&&Ye(t,"1.16","1.17")){const o=e.get(new B.Path([]));if(o)return h(Bp,{model:e,version:t,shown:r,data:o})}return h(ne,null)}function Qr(e,t){return e.schema.hook(Up,new B.ModelPath(e),e.data,{blockStates:t})}const Up={base({},e,t){return t},choice({switchNode:e},t,n,r){return e.hook(this,t,n,r)},list({children:e},t,n,r){if(!Array.isArray(n))return n;const i=n.map((s,o)=>e.hook(this,t.push(o),s.node,r));for(const s of Object.getOwnPropertySymbols(n))i[s]=n[s];return i},map({children:e,config:t},n,r,i){var a,l;if(r===void 0)return;const s=((a=t.validation)==null?void 0:a.validator)==="block_state_map"?(l=i.blockStates)==null?void 0:l[B.relativePath(n,t.validation.params.id).get()]:null,o={};Object.keys(r).forEach(u=>{var c;s&&!Object.keys((c=s.properties)!=null?c:{}).includes(u)||(o[u]=e.hook(this,n.push(u),r[u],i))});for(const u of Object.getOwnPropertySymbols(r))o[u]=r[u];return o},object({getActiveFields:e},t,n,r){if(n==null||typeof n!="object")return n;const i={},s=e(t);Object.keys(s).filter(o=>s[o].enabled(t)).forEach(o=>{const a=s[o].hook(this,t.push(o),n[o],r);a!=null&&(i[o]=a)});for(const o of Object.getOwnPropertySymbols(n))i[o]=n[o];return i}},Zi={"2_spaces":2,"4_spaces":4,tabs:" ",minified:void 0};let Yn=null;const Xi={json:{parse:async e=>{try{return JSON.parse(e)}catch{return Yn=await ae(()=>import("./index.569a7228.js").then(function(n){return n.i}),[]),Yn.parse(e)}},stringify:(e,t)=>(Yn!=null?Yn:JSON).stringify(e,null,t)+` -`},yaml:{parse:async e=>us.load(e),stringify:(e,t)=>us.dump(e,{flowLevel:t===void 0?0:-1,indent:typeof t=="string"?4:t})}};function Gp({name:e,model:t,blockStates:n,doCopy:r,doDownload:i,doImport:s,copySuccess:o,onError:a}){const{locale:l}=Ee(),[u,c]=$($e.getIndent()),[d,f]=$($e.getFormat()),[p,m]=$($e.getHighlighting()),[v,g]=$(!1),_=pe(null),y=pe(()=>{}),w=pe(async()=>{}),b=pe(null),A=pe(),k=Me((O,L)=>{const D=Qr(O,L);return Xi[d].stringify(D,Zi[u])},[u,d]);K(()=>{y.current=()=>{if(!!A.current&&!(!t||!n))try{const O=k(t,n);A.current.setValue(O)}catch(O){O instanceof Error?(O.message=`Error getting JSON output: ${O.message}`,a(O)):a(`Error getting JSON output: ${ct(O)}`),console.error(O),A.current.setValue("")}},w.current=async()=>{if(!A.current)return;const O=A.current.getValue();if(O.length!==0)try{const L=await Xi[d].parse(O);t==null||t.reset(B.DataModel.wrapLists(L),!1)}catch(L){L instanceof Error?(L.message=`Error importing: ${L.message}`,a(L)):a(`Error importing: ${ct(L)}`),console.error(L)}}},[t,n,u,d,p]),K(()=>{p?(g(!1),A.current={getValue(){return""},setValue(){},configure(){},select(){}},ae(()=>import("./index.8ac52a74.js").then(function(O){return O.i}),[]).then(async O=>{await Promise.all([ae(()=>import("./json.c327d69b.js").then(function(D){return D.j}),[]),ae(()=>import("./yaml.e8f3b9ab.js"),[])]);const L=O.edit("editor");L.setOptions({fontSize:14,showFoldWidgets:!1,highlightSelectedWord:!1}),L.$blockScrolling=1/0,L.on("blur",()=>w.current()),L.getSession().setMode("ace/mode/json"),A.current={getValue(){return L.getSession().getValue()},setValue(D){L.getSession().setValue(D)},configure(D,ee){L.setOption("useSoftTabs",D!=="tabs"),L.setOption("tabSize",D==="tabs"?4:Zi[D]),L.getSession().setMode(`ace/mode/${ee}`)},select(){L.selectAll()}},g(!0)})):A.current={getValue(){return b.current?b.current.value:""},setValue(O){!b.current||(b.current.value=O)},configure(){},select(){}}},[p]),Ti(t,()=>{!y.current||y.current()}),K(()=>{!y.current||t&&y.current()},[t]),K(()=>{!A.current||!y.current||(!p||v)&&(A.current.configure(u,d),y.current())},[u,d,p,v]),K(()=>{r&&t&&n&&navigator.clipboard.writeText(k(t,n)).then(()=>{o()})},[r]),K(()=>{if(i&&t&&n&&_.current){const O=encodeURIComponent(k(t,n));_.current.setAttribute("href",`data:text/json;charset=utf-8,${O}`),_.current.setAttribute("download",`${e}.${d}`),_.current.click()}},[i]),K(()=>{s&&A.current&&(A.current.setValue(""),A.current.select())},[s]);const C=O=>{$e.setIndent(O),c(O)},S=O=>{$e.setFormat(O),f(O)},M=O=>{$e.setHighlighting(O),m(O)};return h(ne,null,h("div",{class:"controls source-controls"},h(Ke,{icon:"gear",tooltip:l("output_settings"),"data-cy":"source-controls"},Object.entries(Zi).map(([O])=>h(q,{label:l(`indentation.${O}`),active:u===O,onClick:()=>C(O)})),h("hr",null),Object.keys(Xi).map(O=>h(q,{label:l(`format.${O}`),active:d===O,onClick:()=>S(O)})),h("hr",null),h(q,{icon:p?"square_fill":"square",label:l("highlighting"),onClick:()=>M(!p)}))),p?h("pre",{id:"editor",class:"source"}):h("textarea",{ref:b,class:"source",spellcheck:!1,autocorrect:"off",onBlur:w.current}),h("a",{ref:_,style:"display: none;"}))}function Mc(e,t){for(var n in t)e[n]=t[n];return e}function ys(e,t){for(var n in e)if(n!=="__source"&&!(n in t))return!0;for(var r in t)if(r!=="__source"&&e[r]!==t[r])return!0;return!1}function bs(e){this.props=e}function Oc(e,t){function n(i){var s=this.props.ref,o=s==i.ref;return!o&&s&&(s.call?s(null):s.current=null),t?!t(this.props,i)||!o:ys(this.props,i)}function r(i){return this.shouldComponentUpdate=n,h(e,i)}return r.displayName="Memo("+(e.displayName||e.name)+")",r.prototype.isReactComponent=!0,r.__f=!0,r}(bs.prototype=new mt).isPureReactComponent=!0,bs.prototype.shouldComponentUpdate=function(e,t){return ys(this.props,e)||ys(this.state,t)};var ta=U.__b;U.__b=function(e){e.type&&e.type.__f&&e.ref&&(e.props.ref=e.ref,e.ref=null),ta&&ta(e)};var Yp=typeof Symbol!="undefined"&&Symbol.for&&Symbol.for("react.forward_ref")||3911;function Wp(e){function t(n,r){var i=Mc({},n);return delete i.ref,e(i,(r=n.ref||r)&&(typeof r!="object"||"current"in r)?r:null)}return t.$$typeof=Yp,t.render=t,t.prototype.isReactComponent=t.__f=!0,t.displayName="ForwardRef("+(e.displayName||e.name)+")",t}var na=function(e,t){return e==null?null:gt(gt(e).map(t))},qp={map:na,forEach:na,count:function(e){return e?gt(e).length:0},only:function(e){var t=gt(e);if(t.length!==1)throw"Children.only";return t[0]},toArray:gt},Zp=U.__e;U.__e=function(e,t,n){if(e.then){for(var r,i=t;i=i.__;)if((r=i.__c)&&r.__c)return t.__e==null&&(t.__e=n.__e,t.__k=n.__k),r.__c(e,t)}Zp(e,t,n)};var ra=U.unmount;function ei(){this.__u=0,this.t=null,this.__b=null}function Tc(e){var t=e.__.__c;return t&&t.__e&&t.__e(e)}function Xp(e){var t,n,r;function i(s){if(t||(t=e()).then(function(o){n=o.default||o},function(o){r=o}),r)throw r;if(!n)throw t;return h(n,s)}return i.displayName="Lazy",i.__f=!0,i}function Xn(){this.u=null,this.o=null}U.unmount=function(e){var t=e.__c;t&&t.__R&&t.__R(),t&&e.__h===!0&&(e.type=null),ra&&ra(e)},(ei.prototype=new mt).__c=function(e,t){var n=t.__c,r=this;r.t==null&&(r.t=[]),r.t.push(n);var i=Tc(r.__v),s=!1,o=function(){s||(s=!0,n.__R=null,i?i(a):a())};n.__R=o;var a=function(){if(!--r.__u){if(r.state.__e){var u=r.state.__e;r.__v.__k[0]=function d(f,p,m){return f&&(f.__v=null,f.__k=f.__k&&f.__k.map(function(v){return d(v,p,m)}),f.__c&&f.__c.__P===p&&(f.__e&&m.insertBefore(f.__e,f.__d),f.__c.__e=!0,f.__c.__P=m)),f}(u,u.__c.__P,u.__c.__O)}var c;for(r.setState({__e:r.__b=null});c=r.t.pop();)c.forceUpdate()}},l=t.__h===!0;r.__u++||l||r.setState({__e:r.__b=r.__v.__k[0]}),e.then(o,o)},ei.prototype.componentWillUnmount=function(){this.t=[]},ei.prototype.render=function(e,t){if(this.__b){if(this.__v.__k){var n=document.createElement("div"),r=this.__v.__k[0].__c;this.__v.__k[0]=function s(o,a,l){return o&&(o.__c&&o.__c.__H&&(o.__c.__H.__.forEach(function(u){typeof u.__c=="function"&&u.__c()}),o.__c.__H=null),(o=Mc({},o)).__c!=null&&(o.__c.__P===l&&(o.__c.__P=a),o.__c=null),o.__k=o.__k&&o.__k.map(function(u){return s(u,a,l)})),o}(this.__b,n,r.__O=r.__P)}this.__b=null}var i=t.__e&&h(ne,null,e.fallback);return i&&(i.__h=null),[h(ne,null,t.__e?null:e.children),i]};var ia=function(e,t,n){if(++n[1]===n[0]&&e.o.delete(t),e.props.revealOrder&&(e.props.revealOrder[0]!=="t"||!e.o.size))for(n=e.u;n;){for(;n.length>3;)n.pop()();if(n[1]>>1,1),t.i.removeChild(r)}}),Cn(h(Jp,{context:t.context},e.__v),t.l)):t.l&&t.componentWillUnmount()}function Qp(e,t){return h(Kp,{__v:e,i:t})}(Xn.prototype=new mt).__e=function(e){var t=this,n=Tc(t.__v),r=t.o.get(e);return r[0]++,function(i){var s=function(){t.props.revealOrder?(r.push(i),ia(t,e,r)):i()};n?n(s):s()}},Xn.prototype.render=function(e){this.u=null,this.o=new Map;var t=gt(e.children);e.revealOrder&&e.revealOrder[0]==="b"&&t.reverse();for(var n=t.length;n--;)this.o.set(t[n],this.u=[1,0,this.u]);return e.children},Xn.prototype.componentDidUpdate=Xn.prototype.componentDidMount=function(){var e=this;this.o.forEach(function(t,n){ia(e,n,t)})};var Nc=typeof Symbol!="undefined"&&Symbol.for&&Symbol.for("react.element")||60103,e1=/^(?:accent|alignment|arabic|baseline|cap|clip(?!PathU)|color|fill|flood|font|glyph(?!R)|horiz|marker(?!H|W|U)|overline|paint|stop|strikethrough|stroke|text(?!L)|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/,t1=function(e){return(typeof Symbol!="undefined"&&typeof Symbol()=="symbol"?/fil|che|rad/i:/fil|che|ra/i).test(e)};function n1(e,t,n){return t.__k==null&&(t.textContent=""),Cn(e,t),typeof n=="function"&&n(),e?e.__c:null}function r1(e,t,n){return Ua(e,t),typeof n=="function"&&n(),e?e.__c:null}mt.prototype.isReactComponent={},["componentWillMount","componentWillReceiveProps","componentWillUpdate"].forEach(function(e){Object.defineProperty(mt.prototype,e,{configurable:!0,get:function(){return this["UNSAFE_"+e]},set:function(t){Object.defineProperty(this,e,{configurable:!0,writable:!0,value:t})}})});var sa=U.event;function i1(){}function s1(){return this.cancelBubble}function o1(){return this.defaultPrevented}U.event=function(e){return sa&&(e=sa(e)),e.persist=i1,e.isPropagationStopped=s1,e.isDefaultPrevented=o1,e.nativeEvent=e};var Lc,oa={configurable:!0,get:function(){return this.class}},aa=U.vnode;U.vnode=function(e){var t=e.type,n=e.props,r=n;if(typeof t=="string"){for(var i in r={},n){var s=n[i];i==="value"&&"defaultValue"in n&&s==null||(i==="defaultValue"&&"value"in n&&n.value==null?i="value":i==="download"&&s===!0?s="":/ondoubleclick/i.test(i)?i="ondblclick":/^onchange(textarea|input)/i.test(i+t)&&!t1(n.type)?i="oninput":/^on(Ani|Tra|Tou|BeforeInp)/.test(i)?i=i.toLowerCase():e1.test(i)?i=i.replace(/[A-Z0-9]/,"-$&").toLowerCase():s===null&&(s=void 0),r[i]=s)}t=="select"&&r.multiple&&Array.isArray(r.value)&&(r.value=gt(n.children).forEach(function(o){o.props.selected=r.value.indexOf(o.props.value)!=-1})),t=="select"&&r.defaultValue!=null&&(r.value=gt(n.children).forEach(function(o){o.props.selected=r.multiple?r.defaultValue.indexOf(o.props.value)!=-1:r.defaultValue==o.props.value})),e.props=r}t&&n.class!=n.className&&(oa.enumerable="className"in n,n.className!=null&&(r.class=n.className),Object.defineProperty(r,"className",oa)),e.$$typeof=Nc,aa&&aa(e)};var la=U.__r;U.__r=function(e){la&&la(e),Lc=e.__c};var a1={ReactCurrentDispatcher:{current:{readContext:function(e){return Lc.__n[e.__c].props.value}}}};typeof performance=="object"&&typeof performance.now=="function"&&performance.now.bind(performance);function l1(e){return h.bind(null,e)}function Rc(e){return!!e&&e.$$typeof===Nc}function c1(e){return Rc(e)?Ga.apply(null,arguments):e}function u1(e){return!!e.__k&&(Cn(null,e),!0)}function d1(e){return e&&(e.base||e.nodeType===1&&e)||null}var h1=function(e,t){return e(t)},xs={useState:$,useReducer:Ka,useEffect:K,useLayoutEffect:Qa,useRef:pe,useImperativeHandle:Ou,useMemo:Ae,useCallback:Me,useContext:zn,useDebugValue:Tu,version:"16.8.0",Children:qp,render:n1,hydrate:r1,unmountComponentAtNode:u1,createPortal:Qp,createElement:h,createContext:Bn,createFactory:l1,cloneElement:c1,createRef:fu,Fragment:ne,isValidElement:Rc,findDOMNode:d1,Component:mt,PureComponent:bs,memo:Oc,forwardRef:Wp,unstable_batchedUpdates:h1,StrictMode:ne,Suspense:ei,SuspenseList:Xn,lazy:Xp,__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:a1};class Pc extends B.DataModel{constructor(t,n,r,i){super(t),this.mapper=n,this.getter=r,this.setter=i}map(t){return this.mapper(t)}get(t){return this.getter(t)}set(t,n,r){return this.setter(t,n,r)}}const f1=["loot_table.type","loot_entry.type","function.function","condition.condition","criterion.trigger","recipe.type","dimension.generator.type","dimension.generator.biome_source.type","dimension.generator.biome_source.preset","carver.type","feature.type","decorator.type","feature.tree.minimum_size.type","block_state_provider.type","trunk_placer.type","foliage_placer.type","tree_decorator.type","int_provider.type","float_provider.type","height_provider.type","structure_feature.type","surface_builder.type","processor.processor_type","rule_test.predicate_type","pos_rule_test.predicate_type","template_element.element_type","block_placer.type","block_predicate.type","material_rule.type","material_condition.type","structure_placement.type","density_function.type","root_placer.type","entity.type_specific.cat.variant","entity.type_specific.frog.variant"],p1=["number_provider.type","score_provider.type","nbt_provider.type","int_provider.type","float_provider.type","height_provider.type"],m1=["feature.config","decorator.config","int_provider.value","float_provider.value","block_state_provider.simple_state_provider.state","block_state_provider.rotated_block_provider.state","block_state_provider.weighted_state_provider.entries.entry.data","rule_test.block_state","structure_feature.config","surface_builder.config","template_pool.elements.entry.element","decorator.block_survives_filter.state","material_rule.block.result_state"],g1=["loot_entry.type","function.function","condition.condition","criterion.trigger","dimension.generator.type","dimension.generator.biome_source.type","feature.type","decorator.type","block_state_provider.type","feature.tree.minimum_size.type","trunk_placer.type","foliage_placer.type","tree_decorator.type","block_placer.type","rule_test.predicate_type","processor.processor_type","template_element.element_type","nbt_operation.op","number_provider.value","score_provider.name","score_provider.target","nbt_provider.source","nbt_provider.target","generator_biome.biome","block_predicate.type","material_rule.type","material_condition.type","density_function.type","root_placer.type","entity.type_specific.type"],_1=["function.set_nbt.tag","advancement.display.icon.nbt","text_component_object.nbt","entity.nbt","block.nbt","item.nbt"],v1=["generator_biome.parameters.temperature","generator_biome.parameters.humidity","generator_biome.parameters.continentalness","generator_biome.parameters.erosion","generator_biome.parameters.depth","generator_biome.parameters.weirdness","feature.end_spike.crystal_beam_target","feature.end_gateway.exit","decorator.block_filter.offset","block_predicate.matching_blocks.offset","block_predicate.matching_fluids.offset","model_element.from","model_element.to","model_element.rotation.origin","model_element.faces.uv","item_transform.rotation","item_transform.translation","item_transform.scale","generator_structure.random_spread.locate_offset"],ca=["noise_settings.surface_rule","noise_settings.noise.terrain_shaper"],w1=["density_function.argument","density_function.argument1","density_function.argument2","density_function.input","density_function.when_in_range","density_function.when_out_of_range"],y1=e=>me.generators.find(t=>t.id===e.replace(/^\$/,"")),b1=new B.DataModel(B.MapNode(B.StringNode(),B.StringNode()),{historyMax:0});function x1({model:e,lang:t,version:n,blockStates:r}){var l;const i=new B.ModelPath(e),[s,o,a]=e.schema.hook($c,i,Oi(e.data),t,n,r,{});return(l=o==null?void 0:o.props)!=null&&l.children.some(u=>u)?h("div",{class:`node ${e.schema.type(i)}-node`,"data-category":e.schema.category(i)},h("div",{class:"node-header"},s,o),h("div",{class:"node-body"},a)):a}const $c={base(){return[null,null,null]},boolean(e,t,n,r,i,s,o){return[null,h(A1,J({},xe(J({},e),{path:t,value:n,lang:r,version:i,states:s,ctx:o}))),null]},choice({choices:e,config:t,switchNode:n},r,i,s,o,a,l){const u=n.activeCase(r,!0),c=t!=null&&t.context?new B.ModelPath(r.getModel(),new B.Path(r.getArray(),[t.context])):r,[d,f,p]=u.node.hook(this,c,i,s,o,a,l);if(e.length===1)return[d,f,p];const m=t!=null&&t.choiceContext?new B.Path([],[t.choiceContext]):t!=null&&t.context?new B.Path([],[t.context]):r,v=_=>{var A;const y=(A=e.find(k=>k.type===_))!=null?A:u,w=y.node.default(),b=y.change?y.change(B.DataModel.unwrapLists(i)):t.choiceContext==="feature"&&(w==null?void 0:w.type)==="minecraft:decorated"?w.config.feature:w;r.model.set(r,B.DataModel.wrapLists(b))},g=h("select",{value:u.type,onChange:_=>v(_.target.value)},e.map(_=>h("option",{value:_.type},wi(s,m.contextPush(_.type)))));return[d,h(ne,null,g,f),p]},list({children:e,config:t},n,r,i,s,o,a){const{expand:l,collapse:u,isToggled:c}=Ji(),[d,f]=$(50),p=n.getContext().join(".");if(v1.includes(p)){const y=h(ne,null,[...Array(t.maxLength)].map((b,A)=>h(Jn,{lang:i,path:n.modelPush(A)})),h("div",{class:"fixed-list"})),w=h(ne,null,[...Array(t.maxLength)].map((b,A)=>{var C;return e.hook(this,n.modelPush(A),(C=r==null?void 0:r[A])==null?void 0:C.node,i,s,o,a)[1]}));return[y,w,null]}const m=()=>{Array.isArray(r)||(r=[]);const y=B.DataModel.wrapLists(e.default());n.model.set(n,[{node:y,id:nn()},...r])},v=()=>{Array.isArray(r)||(r=[]);const y=B.DataModel.wrapLists(e.default());n.model.set(n,[...r,{node:y,id:nn()}])},g=h("button",{class:"add tooltipped tip-se","aria-label":ue(i,"add_top"),onClick:m},se.plus_circle),_=h(ne,null,r&&Array.isArray(r)&&r.map(({node:y,id:w},b)=>{if(b===d)return h("div",{class:"node node-header"},h("label",null,ue(i,"entries_hidden",`${r.length-d}`)),h("button",{onClick:()=>f(Math.min(d+50,r.length))},ue(i,"entries_hidden.more","50")),h("button",{onClick:()=>f(r.length)},ue(i,"entries_hidden.all")));if(b>d)return null;const A=n.push(b).contextPush("entry"),k=e.type(A)==="object",C=c(w);if(k&&(C===!1||C===void 0&&r.length>20))return h("div",{class:"node node-header","data-category":e.category(A)},h(Jn,{lang:i,path:A,nested:!0}),h("button",{class:"toggle tooltipped tip-se","aria-label":`${ue(i,"expand")} -${ue(i,"expand_all","Ctrl")}`,onClick:l(w)},se.chevron_right),h("label",null,wi(i,A,`${b}`)),h(ua,{key:w,path:A,value:y,schema:e}));const S=()=>A.set(void 0),M=()=>{const D=[...n.get()];[D[b-1],D[b]]=[D[b],D[b-1]],n.model.set(n,D)},O=()=>{const D=[...n.get()];[D[b+1],D[b]]=[D[b],D[b+1]],n.model.set(n,D)};return h(Ki,{key:w,path:A,schema:e,value:y,lang:i,version:s,states:o,actions:[{icon:"duplicate",label:"duplicate",onSelect:()=>{const D=[...n.get()];D.splice(b,0,{id:nn(),node:Oi(y)}),n.model.set(n,D)}}],ctx:xe(J({},a),{index:(b===0?1:0)+(b===r.length-1?2:0)})},k&&h("button",{class:"toggle tooltipped tip-se","aria-label":`${ue(i,"collapse")} -${ue(i,"collapse_all","Ctrl")}`,onClick:u(w)},se.chevron_down),h("button",{class:"remove tooltipped tip-se","aria-label":ue(i,"remove"),onClick:S},se.trashcan),r.length>1&&h("div",{class:"node-move"},h("button",{class:"move tooltipped tip-se","aria-label":ue(i,"move_up"),onClick:M,disabled:b===0},se.chevron_up),h("button",{class:"move tooltipped tip-se","aria-label":ue(i,"move_down"),onClick:O,disabled:b===r.length-1},se.chevron_down)))}),r&&r.length>0&&r.length<=d&&h("div",{class:"node node-header"},h("button",{class:"add tooltipped tip-se","aria-label":ue(i,"add_bottom"),onClick:v},se.plus_circle)));return[null,g,_]},map({children:e,keys:t,config:n},r,i,s,o,a,l){var y,w,b,A,k;const{expand:u,collapse:c,isToggled:d}=Ji(),f=new B.ModelPath(b1,new B.Path([I1(r.toString())])),p=()=>{const C=f.get();r.model.set(r.push(C),B.DataModel.wrapLists(e.default()))},m=((y=n.validation)==null?void 0:y.validator)==="block_state_map"?a==null?void 0:a[B.relativePath(r,n.validation.params.id).get()]:null,v=m!=null&&m.properties?B.StringNode(null,{enum:Object.keys((w=m.properties)!=null?w:{})}):t;if(m&&r.last()==="Properties"){typeof i!="object"&&(i={});const C=Object.entries((b=m.properties)!=null?b:{}).map(([S,M])=>[S,B.StringNode(null,{enum:M})]);return Object.entries((A=m.properties)!=null?A:{}).forEach(([S,M])=>{typeof i[S]!="string"?r.model.errors.add(r.push(S),"error.expected_string"):M.includes(i[S])||r.model.errors.add(r.push(S),"error.invalid_enum_option",i[S])}),B.ObjectNode(Object.fromEntries(C)).hook(this,r,i,s,o,a,l)}const g=h(ne,null,v.hook(this,f,(k=f.get())!=null?k:"",s,o,a,l)[1],h("button",{class:"add tooltipped tip-se","aria-label":ue(s,"add"),onClick:p},se.plus_circle)),_=h(ne,null,typeof i=="object"&&Object.entries(i).map(([C,S])=>{var le,ce,I,N;const M=r.modelPush(C),O=e.type(M)==="object",L=d(C);if(O&&(L===!1||L===void 0&&i.length>20))return h("div",{class:"node node-header","data-category":e.category(M)},h(Jn,{lang:s,path:M,nested:!0}),h("button",{class:"toggle tooltipped tip-se","aria-label":`${ue(s,"expand")} -${ue(s,"expand_all","Ctrl")}`,onClick:u(C)},se.chevron_right),h("label",null,C),h(ua,{key:C,path:M,value:S,schema:e}));const D=m?B.StringNode(null,{enum:(ce=(le=m.properties)==null?void 0:le[C])!=null?ce:[]}):e;((I=m==null?void 0:m.properties)==null?void 0:I[C])&&typeof S=="string"&&!((N=m.properties)!=null&&N[C].includes(S))&&r.model.errors.add(M,"error.invalid_enum_option",S);const ee=()=>M.set(void 0);return h(Ki,{key:C,schema:D,path:M,value:S,lang:s,version:o,states:a,ctx:l,label:C},O&&h("button",{class:"toggle tooltipped tip-se","aria-label":`${ue(s,"collapse")} -${ue(s,"collapse_all","Ctrl")}`,onClick:c(C)},se.chevron_down),h("button",{class:"remove tooltipped tip-se","aria-label":ue(s,"remove"),onClick:ee},se.trashcan))}));return[null,g,_]},number(e,t,n,r,i,s,o){return[null,h(k1,J({},xe(J({},e),{path:t,value:n,lang:r,version:i,states:s,ctx:o}))),null]},object({node:e,config:t,getActiveFields:n,getChildModelPath:r},i,s,o,a,l,u){var y;const{expand:c,collapse:d,isToggled:f}=Ji();if(i.getArray().length==0&&C1(t.context,s)){const{wrapper:w,fields:b}=M1(n(i),i,s);s=w.data,n=()=>b,r=(A,k)=>new B.ModelPath(w,new B.Path(A.getArray(),["feature"])).push(k)}let p=null,m=null;if(e.optional())if(s===void 0){const w=()=>i.set(B.DataModel.wrapLists(e.default()));m=h("button",{class:"collapse closed tooltipped tip-se","aria-label":ue(o,"expand"),onClick:w},se.plus_circle)}else{const w=()=>i.set(void 0);m=h("button",{class:"collapse open tooltipped tip-se","aria-label":ue(o,"remove"),onClick:w},se.trashcan)}const v=i.getContext().join(".");if(w1.includes(v)||ca.includes(v)){const w=f(""),b=ca.includes(v)?w:!w;if(p=h(ne,null,h("button",{class:"toggle tooltipped tip-se","aria-label":ue(o,b?"collapse":"expand"),onClick:w?d(""):c("")},b?se.chevron_down:se.chevron_right)),!b)return[p,m,null]}const g=typeof s=="object"&&s!==null&&((y=e.default())==null?void 0:y.pools)?xe(J({},u),{loot:s==null?void 0:s.type}):u,_=h(ne,null,typeof s=="object"&&s!==null&&!(e.optional()&&s===void 0)&&Object.entries(n(i)).filter(([w,b])=>b.enabled(i)).map(([w,b])=>{const A=r(i,w),k=A.getContext().join(".");if(p1.includes(k))return null;const[C,S,M]=b.hook(this,A,s[w],o,a,l,g),O=b.type(A)==="object"&&m1.includes(k),L=g1.includes(k);return O||L?(p=h(ne,null,p,h(Jn,{lang:o,path:A}),h(Dc,{lang:o,path:A}),C),m=h(ne,null,m,S),O?M:null):h(Ki,{key:w,schema:b,path:A,value:s[w],lang:o,version:a,states:l,ctx:g})}));return[p,m,_]},string(e,t,n,r,i,s,o){return[null,h(S1,J({},xe(J({},e),{path:t,value:n,lang:r,version:i,states:s,ctx:o}))),null]}};function ua({path:e,value:t}){var r,i,s,o,a;switch(e.getContext().join(".")){case"loot_table.pools.entry":return h("label",null,(i=(r=t==null?void 0:t.entries)==null?void 0:r.length)!=null?i:0," entries");case"function.set_contents.entries.entry":case"loot_pool.entries.entry":return h("label",null,(a=(s=t==null?void 0:t.name)==null?void 0:s.replace(/^minecraft:/,""))!=null?a:(o=t==null?void 0:t.type)==null?void 0:o.replace(/^minecraft:/,""))}for(const l of Object.values(t!=null?t:{}))if(typeof l=="string")return h("label",null,l.replace(/^minecraft:/,""));return null}function Ji(){const[e,t]=$(new Map),[n,r]=$(void 0);return{expand:a=>l=>{l.ctrlKey?(t(new Map),r(!0)):t(u=>new Map(u.set(a,!0)))},collapse:a=>l=>{l.ctrlKey?(t(new Map),r(!1)):t(u=>new Map(u.set(a,!1)))},isToggled:a=>{var l;return e instanceof Map?(l=e.get(a))!=null?l:n:!1}}}function A1({path:e,node:t,value:n,lang:r}){const i=s=>{e.model.set(e,t.optional()&&n===s?void 0:s)};return h(ne,null,h("button",{class:n===!1?"selected":"",onClick:()=>i(!1)},ue(r,"false")),h("button",{class:n===!0?"selected":"",onClick:()=>i(!0)},ue(r,"true")))}function k1({path:e,config:t,integer:n,value:r,lang:i}){var a;const s=l=>{const u=l.target.value,c=n?parseInt(u):parseFloat(u);e.model.set(e,c)},o=l=>{const u=l.target.value,c=parseInt(u.slice(1),16);e.model.set(e,c)};return h(ne,null,h("input",{type:"text",value:r!=null?r:"",onBlur:s,onKeyDown:l=>{l.key==="Enter"&&s(l)}}),(t==null?void 0:t.color)&&h("input",{type:"color",value:"#"+((a=r==null?void 0:r.toString(16).padStart(6,"0"))!=null?a:"000000"),onChange:o}),["dimension.generator.seed","dimension.generator.biome_source.seed","world_settings.seed","structure_placement.salt"].includes(e.getContext().join("."))&&h("button",{onClick:()=>Hl(e.model),class:"tooltipped tip-se","aria-label":ue(i,"generate_new_seed")},se.sync))}function S1({path:e,getValues:t,config:n,node:r,value:i,lang:s,version:o,states:a}){var f;const l=p=>{p.stopPropagation();const m=p.target.value;m!==i&&e.model.set(e,m.length===0?void 0:m)},u=t(),c=e.getContext().join("."),d=!Wn(n)&&(n==null?void 0:n.validator)==="resource"&&typeof n.params.pool=="string"?n.params.pool:void 0;if(_1.includes(c))return h("textarea",{value:i!=null?i:"",onBlur:l});if(Wn(n)&&!n.additional||f1.includes(c)){let p=new B.Path([]);return Wn(n)&&typeof n.enum=="string"?p=p.contextPush(n.enum):d?p=p.contextPush(d):Wn(n)&&(p=e),h("select",{value:i!=null?i:"",onChange:l},r.optional()&&h("option",{value:""},ue(s,"unset")),u.map(m=>h("option",{value:m},wi(s,p.contextPush(m.replace(/^minecraft:/,""))))))}else if(!Wn(n)&&(n==null?void 0:n.validator)==="block_state_key"){const p=a==null?void 0:a[B.relativePath(e,n.params.id).get()],m=Object.keys((f=p==null?void 0:p.properties)!=null?f:{});return h("select",{value:i!=null?i:"",onChange:l},m.map(v=>h("option",null,v)))}else{const p=nn(),m=d?y1(d):void 0;return h(ne,null,h("input",{value:i!=null?i:"",onBlur:l,onKeyDown:v=>{v.key==="Enter"&&l(v)},list:u.length>0?p:""}),u.length>0&&h("datalist",{id:p},u.map(v=>h("option",{value:v}))),m&&u.includes(i)&&i.startsWith("minecraft:")&&h("a",{href:`/${m.url}/?version=${o}&preset=${i.replace(/^minecraft:/,"")}`,class:"tooltipped tip-se","aria-label":ue(s,"follow_reference")},se.link_external))}}function E1({label:e,schema:t,path:n,value:r,lang:i,version:s,states:o,ctx:a,actions:l,children:u}){var b;const c=t.type(n),d=t.category(n),f=n.getContext().join("."),[p,m]=Ps(),v=A=>{A.preventDefault(),m()},g=xe(J({},a),{depth:((b=a.depth)!=null?b:0)+1});delete g.index;const[_,y,w]=t.hook($c,n,r,i,s,o,g);return h("div",{class:`node ${c}-node`,"data-category":d},h("div",{class:"node-header",onContextMenu:v},h(Jn,{lang:i,path:n}),h(Dc,{lang:i,path:n}),u,_,h("label",null,e!=null?e:wi(i,n,`${n.last()}`),p&&h("div",{class:"node-menu"},l==null?void 0:l.map(A=>{var k;return h("div",{key:A.label,class:"menu-item"},h(q,{icon:A.icon,tooltip:ue(i,A.label),tooltipLoc:"se",onClick:()=>A.onSelect()}),h("span",null,(k=A.description)!=null?k:ue(i,A.label)))}),h("div",{class:"menu-item"},h(q,{icon:"clippy",tooltip:ue(i,"copy_context"),tooltipLoc:"se",onClick:()=>navigator.clipboard.writeText(f)}),h("span",null,f)))),y),w&&h("div",{class:"node-body"},w))}const Ki=Oc(E1,(e,t)=>e.schema===t.schema&&e.lang===t.lang&&e.path.equals(t.path)&&on(e.ctx,t.ctx)&&on(e.value,t.value));function Wn(e){return!!(e!=null&&e.enum)}function I1(e){var t=0,n,r;for(n=0;no.path.startsWith(t)):t.model.errors.get(t,!0);if(r.length===0)return null;const i=ue(e,r[0].error,...(s=r[0].params)!=null?s:[]);return Bc("node-error","issue_opened",i)}function Dc({lang:e,path:t}){const n=t.contextPush("help").getContext().join("."),r=ue(e,n);return r===n?null:Bc("node-help","info",r)}const Bc=(e,t,n)=>{const[r,i]=Ps();return h("div",{class:`node-icon ${e}${r?" show":""}`,onClick:i},se[t],h("span",{class:"icon-popup"},n))};function C1(e,t){var n;return e==="feature"&&((n=t==null?void 0:t.type)==null?void 0:n.replace(/^minecraft:/,""))==="decorated"&&dn(t==null?void 0:t.config)}function M1(e,t,n){const r=[],i=Kn(n,r),s={type:e.type,config:B.ObjectNode({decorators:B.ListNode(Kl),feature:Ql},{context:"feature.decorated"})},o=B.ObjectNode(s,{context:"feature"}),a=new B.Path(["config","feature"]),l=new B.Path(["config","decorators"]),u=t.getModel(),c=new Pc(o,d=>{if(d.startsWith(a))return new B.Path([...[...Array(r.length-1)].flatMap(()=>["config","feature"]),...d.modelArr]);if(d.startsWith(l)){if(d.modelArr.length===2)return new B.Path([]);const f=d.modelArr[2];if(typeof f=="number")return new B.Path([...[...Array(f)].flatMap(()=>["config","feature"]),"config","decorator",...d.modelArr.slice(3)])}return d},d=>{if(d.equals(l)){const f=[];return Kn(u.data,f),f}return u.get(c.map(d))},(d,f,p)=>{if(d.startsWith(a)){const m=[];Kn(u.data,m);const v=new B.Path([...[...Array(m.length-1)].flatMap(()=>["config","feature"]),...d.modelArr]);return u.set(v,f,p)}else if(d.startsWith(l)){const m=d.modelArr[2];if(d.modelArr.length===2){const v=c.get(a);return u.set(new B.Path,As(v,f),p)}else if(typeof m=="number")if(d.modelArr.length===3&&f===void 0){const v=c.get(a),g=[];Kn(u.data,g),g.splice(m,1);const _=As(v,g);return u.set(new B.Path,_,p)}else{const v=new B.Path([...[...Array(m)].flatMap(()=>["config","feature"]),"config","decorator",...d.modelArr.slice(3)]);return u.set(v,f,p)}}u.set(d,f,p)});return c.data={type:u.data.type,config:{decorators:r,feature:i}},c.errors=u.errors,{fields:s,wrapper:c}}function Kn(e,t){var n,r;return((n=e==null?void 0:e.type)==null?void 0:n.replace(/^minecraft:/,""))!=="decorated"||!dn(e==null?void 0:e.config)?e:(t.push({id:t.length,node:e.config.decorator}),Kn((r=e.config.feature)!=null?r:"",t))}function As(e,t){return t.length===0?e:{type:"minecraft:decorated",config:{decorator:t.shift().node,feature:As(e,t)}}}function O1({version:e,model:t,blockStates:n,onError:r}){const{lang:i}=Ee();if(!t||!n||i==="none")return h(ne,null);const[s]=el(a=>{r(`Error rendering the tree: ${a.message}`),console.error(a)});if(s)return h(ne,null);const[,o]=$(0);return Ti(t,()=>{o(a=>a+1)}),h("div",{class:"tree","data-cy":"tree"},h(x1,{model:t,lang:i,version:e,blockStates:n}))}var T1=Object.defineProperty,N1=Object.defineProperties,L1=Object.getOwnPropertyDescriptors,da=Object.getOwnPropertySymbols,R1=Object.prototype.hasOwnProperty,P1=Object.prototype.propertyIsEnumerable,ha=(e,t,n)=>t in e?T1(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Fc=(e,t)=>{for(var n in t||(t={}))R1.call(t,n)&&ha(e,n,t[n]);if(da)for(var n of da(t))P1.call(t,n)&&ha(e,n,t[n]);return e};const fa="Please consider reporting this error at https://github.com/laymonage/giscus/issues/new.";function jr(e){return`[giscus] An error occurred. Error message: "${e}".`}function pa(e){const t=document.querySelector(`meta[property='og:${e}'],meta[name='${e}']`);return t?t.content:""}function $1(){const e=document.getElementById("giscus-css")||document.createElement("style");e.id="giscus-css",e.textContent=` + */var tp=function(e){return e!=null&&(gc(e)||np(e)||!!e._isBuffer)};function gc(e){return!!e.constructor&&typeof e.constructor.isBuffer=="function"&&e.constructor.isBuffer(e)}function np(e){return typeof e.readFloatLE=="function"&&typeof e.slice=="function"&&gc(e.slice(0,0))}(function(){var e=mc.exports,t=Ws.utf8,n=tp,r=Ws.bin,i=function(o,s){o.constructor==String?s&&s.encoding==="binary"?o=r.stringToBytes(o):o=t.stringToBytes(o):n(o)?o=Array.prototype.slice.call(o,0):!Array.isArray(o)&&o.constructor!==Uint8Array&&(o=o.toString());for(var a=e.bytesToWords(o),l=o.length*8,u=1732584193,c=-271733879,d=-1732584194,f=271733878,p=0;p>>24)&16711935|(a[p]<<24|a[p]>>>8)&4278255360;a[l>>>5]|=128<>>9<<4)+14]=l;for(var m=i._ff,v=i._gg,g=i._hh,_=i._ii,p=0;p>>0,c=c+w>>>0,d=d+x>>>0,f=f+A>>>0}return e.endian([u,c,d,f])};i._ff=function(o,s,a,l,u,c,d){var f=o+(s&a|~s&l)+(u>>>0)+d;return(f<>>32-c)+s},i._gg=function(o,s,a,l,u,c,d){var f=o+(s&l|a&~l)+(u>>>0)+d;return(f<>>32-c)+s},i._hh=function(o,s,a,l,u,c,d){var f=o+(s^a^l)+(u>>>0)+d;return(f<>>32-c)+s},i._ii=function(o,s,a,l,u,c,d){var f=o+(a^(s|~l))+(u>>>0)+d;return(f<>>32-c)+s},i._blocksize=16,i._digestsize=16,pc.exports=function(o,s){if(o==null)throw new Error("Illegal argument "+o);var a=e.wordsToBytes(i(o,s));return s&&s.asBytes?a:s&&s.asString?r.bytesToString(a):e.bytesToHex(a)}})();var _c=pc.exports,R;(function(e){function t(c){return typeof c=="number"?c:void 0}e.readNumber=t;function n(c){return typeof c=="number"?Math.floor(c):void 0}e.readInt=n;function r(c){return typeof c=="string"?c:void 0}e.readString=r;function i(c){return typeof c=="boolean"?c:void 0}e.readBoolean=i;function o(c){return typeof c=="object"&&c!==null?c:void 0}e.readObject=o;function s(c,d){if(!!Array.isArray(c))return c.map(f=>d(f))}e.readArray=s;function a(c,d){var p;const f=(p=o(c))!=null?p:{};return Object.fromEntries(Object.entries(f).map(([m,v])=>[m,d(v)]))}e.readMap=a;function l(c,d,f){const p=d(c);return p?f(p):void 0}e.compose=l;function u(c,d){return typeof c!="string"?d[0]:d.includes(c)?c:d[0]}e.readEnum=u})(R||(R={}));function nr(e){let t=null;return()=>(t==null&&(t=e()),t)}function Or(e,t,n){const r=e.get(t);if(r)return r;const i=n(t);return e.set(t,i),i}function Ot(e){return e*e}function dr(e,t,n){return Math.max(t,Math.min(n,e))}function Bt(e,t,n){return t+e*(n-t)}function ci(e,t,n,r,i,o){return Bt(t,Bt(e,n,r),Bt(e,i,o))}function vc(e,t,n,r,i,o,s,a,l,u,c){return Bt(n,ci(e,t,r,i,o,s),ci(e,t,a,l,u,c))}function rr(e,t,n){return e===0?t():e===1?n():t()+e*(n()-t())}function go(e,t,n,r,i,o){return rr(t,()=>rr(e,n,r),()=>rr(e,i,o))}function wc(e,t,n,r,i,o,s,a,l,u,c){return rr(n,()=>go(e,t,r,i,o,s),()=>go(e,t,a,l,u,c))}function Ri(e,t,n){return n<0?e:n>1?t:Bt(n,e,t)}function zo(e,t,n){return(e-t)/(n-t)}function Xr(e){return e*e*e*(e*(e*6-15)+10)}function hr(e,t,n,r,i){return Bt(zo(e,t,n),r,i)}function Pi(e,t,n,r,i){return Ri(r,i,zo(e,t,n))}function yc(e,t,n){let r=t-e;for(;r>0;){const i=Math.floor(r/2),o=e+i;if(n(o)){r=i;continue}e=o+1,r-=i+1}return e}function jo(e,t,n){let r=BigInt(e*3129871)^BigInt(n)*BigInt(116129781)^BigInt(t);return r=r*r*BigInt(42317861)+r*BigInt(11),r>>BigInt(16)}function ui(e,t,n,r,i,o,s,a){return BigInt(e)<>1,e|=e>>2,e|=e>>4,e|=e>>8,e|=e>>18,e|=e>>32,e+1}var di;(function(e){function t(n){return typeof n=="object"&&n!==null&&"minValue"in n&&"maxValue"in n}e.is=t})(di||(di={}));var hi;(function(e){function t(i,o){var u,c,d,f;if(typeof i=="number")return new n(i);const s=(u=R.readObject(i))!=null?u:{},a=new r(o(s.coordinate)),l=(c=R.readArray(s.points,p=>{var m;return(m=R.readObject(p))!=null?m:{}}))!=null?c:[];if(l.length===0)return new n(0);for(const p of l){const m=(d=R.readNumber(p.location))!=null?d:0,v=t(p.value,o),g=(f=R.readNumber(p.derivative))!=null?f:0;a.addPoint(m,v,g)}return a}e.fromJson=t;class n{constructor(o){this.value=o}compute(){return this.value}min(){return this.value}max(){return this.value}mapAll(){return this}calculateMinMax(){}}e.Constant=n;class r{constructor(o,s=[],a=[],l=[]){this.coordinate=o,this.locations=s,this.values=a,this.derivatives=l,this.calculatedMin=Number.NEGATIVE_INFINITY,this.calculatedMax=Number.POSITIVE_INFINITY}compute(o){const s=this.coordinate.compute(o),a=yc(0,this.locations.length,w=>ss.mapAll(o)),this.derivatives)}addPoint(o,s,a=0){return this.locations.push(o),this.values.push(typeof s=="number"?new e.Constant(s):s),this.derivatives.push(a),this}calculateMinMax(){if(!di.is(this.coordinate))return;const o=this.locations.length-1;var s=Number.POSITIVE_INFINITY,a=Number.NEGATIVE_INFINITY;const l=this.coordinate.minValue(),u=this.coordinate.maxValue();for(const d of this.values)d.calculateMinMax();if(lthis.locations[o]){const d=r.linearExtend(u,this.locations,this.values[o].min(),this.derivatives,o),f=r.linearExtend(u,this.locations,this.values[o].max(),this.derivatives,o);s=Math.min(s,Math.min(d,f)),a=Math.max(a,Math.max(d,f))}for(const d of this.values)s=Math.min(s,d.min()),a=Math.max(a,d.max());for(var c=0;c>BigInt(xt.MODULUS_BITS-e));return t>2147483647?t-4294967296:t}nextInt(e){if(e===void 0)return this.next(32);if((e&e-1)==0)return Number(BigInt(e)*BigInt(this.next(31))>>BigInt(31));let t,n;for(;(t=this.next(31))-(n=t%e)+(e-1)<0;);return n}nextLong(){return(BigInt(this.next(32))<>Q.BIGINT_30)*Q.STAFFORD_1&Q.MAX_ULONG,e=(e^e>>Q.BIGINT_27)*Q.STAFFORD_2&Q.MAX_ULONG,(e^e>>Q.BIGINT_31)&Q.MAX_ULONG}static upgradeSeedTo128bit(e){e<0&&(e+=Q.POW2_60);const t=e^Q.SILVER_RATIO_64,n=t+Q.GOLDEN_RATIO_64&Q.MAX_ULONG;return[Q.mixStafford13(t),Q.mixStafford13(n)]}static rotateLeft(e,t){return e<>Q.BIGINT_64-t}setSeed(e){this.seed=Q.upgradeSeedTo128bit(e)}fork(){return new Q([this.next(),this.next()])}forkPositional(){return new xc(this.next(),this.next())}next(){const e=this.seed[0];let t=this.seed[1];const n=Q.rotateLeft(e+t&Q.MAX_ULONG,Q.BIGINT_17)+e&Q.MAX_ULONG;return t^=e,this.seed=[Q.rotateLeft(e,Q.BIGINT_49)^t^t<Q.POW2_63&&(e-=Q.POW2_60),e}consume(e){let t=this.seed[0],n=this.seed[1];for(let r=0;r>BigInt(64-e)}nextInt(e){let t=this.next()&Q.MAX_UINT;if(e){const n=BigInt(e);let r=t*n,i=r&Q.MAX_UINT;if(i>Q.BIGINT_32;return Number(o)}else{let n=Number(t);return n>=2147483648&&(n-=4294967296),n}}nextFloat(){return Number(this.nextBits(24))*Q.FLOAT_MULTIPLIER}nextDouble(){return Number(this.nextBits(53))*Q.DOUBLE_MULTIPLIER}parityConfigString(){return"seedLo: "+this.seed[0]+", seedHi: "+this.seed[1]}};let ke=Q;ke.SILVER_RATIO_64=BigInt("7640891576956012809");ke.GOLDEN_RATIO_64=BigInt("-7046029254386353131");ke.FLOAT_MULTIPLIER=1/Math.pow(2,24);ke.DOUBLE_MULTIPLIER=11102230246251565e-32;ke.BIGINT_1=BigInt(1);ke.BIGINT_17=BigInt(17);ke.BIGINT_21=BigInt(21);ke.BIGINT_27=BigInt(27);ke.BIGINT_28=BigInt(28);ke.BIGINT_30=BigInt(30);ke.BIGINT_31=BigInt(31);ke.BIGINT_32=BigInt(32);ke.BIGINT_49=BigInt(49);ke.BIGINT_64=BigInt(64);ke.STAFFORD_1=BigInt("-4658895280553007687");ke.STAFFORD_2=BigInt("-7723592293110705685");ke.MAX_ULONG=BigInt("0xFFFFFFFFFFFFFFFF");ke.POW2_60=BigInt("0x10000000000000000");ke.POW2_63=BigInt("0x8000000000000000");ke.MAX_UINT=BigInt(4294967295);class xc{constructor(t,n){this.seedLo=t,this.seedHi=n}at(t,n,r){const o=jo(t,n,r)^this.seedLo;return new ke([o,this.seedHi])}fromHashOf(t){const n=_c(t,{asBytes:!0}),r=ui(n[0],n[1],n[2],n[3],n[4],n[5],n[6],n[7]),i=ui(n[8],n[9],n[10],n[11],n[12],n[13],n[14],n[15]);return new ke([r^this.seedLo,i^this.seedHi])}seedKey(){return[this.seedLo,this.seedHi]}}const Tt=class{constructor(e){this.xo=e.nextDouble()*256,this.yo=e.nextDouble()*256,this.zo=e.nextDouble()*256,this.p=Array(256);for(let t=0;t<256;t+=1)this.p[t]=t;for(let t=0;t<256;t+=1){const n=e.nextInt(256-t),r=this.p[t];this.p[t]=this.p[t+n],this.p[t+n]=r}}sample2D(e,t){let n,r,i;const o=(e+t)*Tt.F2,s=Math.floor(e+o),a=s-(n=(s+(r=Math.floor(t+o)))*Tt.G2),l=e-a;let u,c;l>(i=t-(r-n))?(u=1,c=0):(u=0,c=1);const d=l-u+Tt.G2,f=i-c+Tt.G2,p=l-1+2*Tt.G2,m=i-1+2*Tt.G2,v=s&255,g=r&255,_=this.P(v+this.P(g))%12,b=this.P(v+u+this.P(g+c))%12,w=this.P(v+1+this.P(g+1))%12,x=this.getCornerNoise3D(_,l,i,0,.5),A=this.getCornerNoise3D(b,d,f,0,.5),k=this.getCornerNoise3D(w,p,m,0,.5);return 70*(x+A+k)}sample(e,t,n){const r=(e+t+n)*.3333333333333333,i=Math.floor(e+r),o=Math.floor(t+r),s=Math.floor(n+r),a=(i+o+s)*.16666666666666666,l=e-(i-a),u=t-(o-a),c=n-(s-a);let d,f,p,m,v,g;l>=u?u>=c?(d=1,f=0,p=0,m=1,v=1,g=0):l>=c?(d=1,f=0,p=0,m=1,v=0,g=1):(d=0,f=0,p=1,m=1,v=0,g=1):u127?n-256:n;for(let n=0;n<256;n+=1){const r=t.nextInt(256-n),i=this.p[n];this.p[n]=this.p[n+r],this.p[n+r]=i}}sample(t,n,r,i=0,o=0){const s=t+this.xo,a=n+this.yo,l=r+this.zo,u=Math.floor(s),c=Math.floor(a),d=Math.floor(l),f=s-u,p=a-c,m=l-d;let v=0;if(i!==0){const g=o>=0&&o=0;i-=1)i0&&(f=this.maxLimitNoise.getOctaveNoise(_))&&(g+=f.sample(b,w,x,A,o*m)/m),m/=2}return Ri(v/512,g/512,p)/128}}const Jr=class{constructor(e,{firstOctave:t,amplitudes:n}){this.first=new ve(e,t,n),this.second=new ve(e,t,n);let r=1/0,i=-1/0;for(let s=0;s{var u;return(u=R.readNumber(l))!=null?u:0}))!=null?a:[]}}e.fromJson=n})(Pn||(Pn={}));class op{constructor(t,n){const r=n[n.length-1],o=-n[0]+r+1,s=new Set(n),a=new Ze(t);this.noiseLevels=Array(o),r>=0&&r=0&&s.has(r-l)?this.noiseLevels[l]=new Ze(t):t.consume(262);if(r>0)throw new Error("Positive octaves are not allowed");this.highestFreqInputFactor=Math.pow(2,r),this.highestFreqValueFactor=1/(Math.pow(2,o)-1)}sample(t,n,r){let i=0,o=this.highestFreqInputFactor,s=this.highestFreqValueFactor;for(let a=0;a=0){const n=t>=1?e.substring(0,t):this.DEFAULT_NAMESPACE,r=e.substring(t+1);return new Kr(n,r)}return new Kr(this.DEFAULT_NAMESPACE,e)}};let we=Kr;we.DEFAULT_NAMESPACE="minecraft";we.SEPARATOR=":";const At=class{constructor(e,t={}){this.properties=t,this.name=typeof e=="string"?we.parse(e):e}getName(){return this.name}getProperties(){return this.properties}getProperty(e){return this.properties[e]}isFluid(){return this.is(At.WATER)||this.is(At.LAVA)}equals(e){return this.name.equals(e.name)?Object.keys(this.properties).every(t=>e.properties[t]===this.properties[t]):!1}is(e){return this.name.equals(e.name)}toString(){return Object.keys(this.properties).length===0?this.name.toString():`${this.name.toString()}[${Object.entries(this.properties).map(([e,t])=>e+"="+t).join(",")}]`}static fromNbt(e){const t=we.parse(En(e.value,"Name","string")),n=kc(()=>En(e.value,"Properties","compound"),{}),r=Object.keys(n).reduce((i,o)=>xe(J({},i),{[o]:En(n,o,"string")}),{});return new At(t,r)}static fromJson(e){var i,o;const t=(i=R.readObject(e))!=null?i:{},n=we.parse((o=R.readString(t.Name))!=null?o:At.STONE.name.toString()),r=R.readMap(t.Properties,s=>{var a;return(a=R.readString(s))!=null?a:""});return new At(n,r)}};let ge=At;ge.AIR=new At(we.create("air"));ge.STONE=new At(we.create("stone"));ge.WATER=new At(we.create("water"),{level:"0"});ge.LAVA=new At(we.create("lava"),{level:"0"});const ir=class{constructor(e){this.minY=e,this.storage=Array(ir.SIZE).fill(0),this.palette=[ge.AIR]}get minBlockY(){return this.minY<<4}index(e,t,n){return(e<<8)+(t<<4)+n}getBlockState(e,t,n){var i;const r=this.storage[this.index(e,t,n)];return(i=this.palette[r])!=null?i:ge.AIR}setBlockState(e,t,n,r){let i=this.palette.findIndex(o=>o.equals(r));i===-1&&(i=this.palette.length,this.palette.push(r)),this.storage[this.index(e,t,n)]=i}};let $i=ir;$i.WIDTH=16;$i.SIZE=ir.WIDTH*ir.WIDTH*ir.WIDTH;class ap{constructor(t,n,r){this.minY=t,this.height=n,this.pos=r,this.sections=Array(this.sectionsCount).fill(null)}get maxY(){return this.minY+this.height}get minSection(){return this.minY>>4}get maxSection(){return(this.maxY-1>>4)+1}get sectionsCount(){return this.maxSection-this.minSection}getSectionIndex(t){return(t>>4)-this.minSection}getBlockState(t){var s;const[n,r,i]=t,o=this.sections[this.getSectionIndex(r)];return(s=o==null?void 0:o.getBlockState(n&15,r&15,i&15))!=null?s:ge.AIR}setBlockState(t,n){const[r,i,o]=t,s=this.getSectionIndex(i);let a=this.sections[s];if(a===null){if(n.equals(ge.AIR))return;a=this.getOrCreateSection(s)}a.setBlockState(r&15,i&15,o&15,n)}getOrCreateSection(t){return this.sections[t]==null&&(this.sections[t]=new $i(this.minSection+t)),this.sections[t]}}var Ge;(function(e){function t(c,d){return[c,d]}e.create=t;function n(c){return[c[0]>>4,c[2]>>4]}e.fromBlockPos=n;function r(c){return[Number(c)&4294967295,Number(c>>BigInt(32))]}e.fromLong=r;function i(c){return o(c[0],c[1])}e.toLong=i;function o(c,d){return BigInt(c&4294967295)|BigInt(d&4294967295)<typeof s=="string"?r(i,we.parse(s)):n(o(s))}e.parser=t;function n(i){return{value:()=>i,key:()=>{}}}e.direct=n;function r(i,o){return{value:()=>i.getOrThrow(o),key:()=>o}}e.reference=r})(ln||(ln={}));const Vo=class{constructor(e,t){this.key=e,this.parser=t,this.storage=new Map,this.builtin=new Map}register(e,t,n){return this.storage.set(e.toString(),t),n&&this.builtin.set(e.toString(),t),ln.reference(this,e)}keys(){return[...this.storage.keys()].map(e=>we.parse(e))}get(e){return this.storage.get(e.toString())}getOrThrow(e){const t=this.storage.get(e.toString());if(t===void 0)throw new Error(`Missing key in ${this.key.toString()}: ${e.toString()}`);return t}parse(e){if(!this.parser)throw new Error(`No parser exists for ${this.key.toString()}`);return this.parser(e)}clear(){this.storage.clear();for(const[e,t]of this.builtin.entries())this.storage.set(e,t);return this}assign(e){if(!this.key.equals(e.key))throw new Error(`Cannot assign registry of type ${e.key.toString()} to registry of type ${this.key.toString()}`);for(const t of e.keys())this.storage.set(t.toString(),e.getOrThrow(t));return this}cloneEmpty(){return new Vo(this.key,this.parser)}};let fi=Vo;fi.REGISTRY=new Vo(we.create("root"));class Ho{constructor(t,n=[],r=[]){this.size=t,this.palette=n,this.blocks=r,this.blocksMap=[],r.forEach(i=>{if(!this.isInside(i.pos))throw new Error(`Found block at ${i.pos} which is outside the structure bounds ${this.size}`);this.blocksMap[i.pos[0]*t[1]*t[2]+i.pos[1]*t[2]+i.pos[2]]=i})}getSize(){return this.size}addBlock(t,n,r,i){if(!this.isInside(t))throw new Error(`Cannot add block at ${t} outside the structure bounds ${this.size}`);const o=new ge(n,r);let s=this.palette.findIndex(a=>a.equals(o));return s===-1&&(s=this.palette.length,this.palette.push(o)),this.blocks.push({pos:t,state:s,nbt:i}),this.blocksMap[t[0]*this.size[1]*this.size[2]+t[1]*this.size[2]+t[2]]={pos:t,state:s,nbt:i},this}getBlocks(){return this.blocks.map(t=>({pos:t.pos,state:this.palette[t.state],nbt:t.nbt}))}getBlock(t){if(!this.isInside(t))return null;const n=this.blocksMap[t[0]*this.size[1]*this.size[2]+t[1]*this.size[2]+t[2]];return n?{pos:n.pos,state:this.palette[n.state],nbt:n.nbt}:null}isInside(t){return t[0]>=0&&t[0]=0&&t[1]=0&&t[2]ge.fromNbt({name:"",value:o})),i=zr(t.value,"blocks","compound").map(o=>{const s=zr(o,"pos","int",3),a=En(o,"state","int"),l=kc(()=>En(o,"nbt","compound"),void 0);return{pos:s,state:a,nbt:l}});return new Ho(n,r,i)}}var cn;(function(e){e.NOISE=t("worldgen/noise"),e.DENSITY_FUNCTION=t("worldgen/density_function");function t(n){const r=new fi(we.create(n));return fi.REGISTRY.register(r.key,r),r}})(cn||(cn={}));class se{minValue(){return-this.maxValue()}mapAll(t){return t.map(this)}}(function(e){function t(C,y,E){return{x:C,y,z:E}}e.context=t;class n extends e{constructor(y){super(),this.input=y}compute(y){return this.transform(y,this.input.compute(y))}}const r=ln.parser(cn.NOISE,Pn.fromJson);function i(C,y=i){var j,Y,de,Ve,dt,He,Ue,Le,wt,ht,it,Te,Jt,It,X,Be,be,he,yt,et;if(typeof C=="string")return new a(ln.reference(cn.DENSITY_FUNCTION,we.parse(C)));if(typeof C=="number")return new s(C);const E=(j=R.readObject(C))!=null?j:{},L=(Y=R.readString(E.type))==null?void 0:Y.replace(/^minecraft:/,"");switch(L){case"blend_alpha":return new l(1,0,1);case"blend_offset":return new l(0,-1/0,1/0);case"beardifier":return new l(0,-1/0,1/0);case"old_blended_noise":return new u((de=R.readNumber(E.xz_scale))!=null?de:1,(Ve=R.readNumber(E.y_scale))!=null?Ve:1,(dt=R.readNumber(E.xz_factor))!=null?dt:80,(He=R.readNumber(E.y_factor))!=null?He:160,(Ue=R.readNumber(E.smear_scale_multiplier))!=null?Ue:8);case"flat_cache":return new d(y(E.argument));case"interpolated":return new v(y(E.argument));case"cache_2d":return new p(y(E.argument));case"cache_once":return new m(y(E.argument));case"cache_all_in_cell":return new f(y(E.argument));case"noise":return new g((Le=R.readNumber(E.xz_scale))!=null?Le:1,(wt=R.readNumber(E.y_scale))!=null?wt:1,r(E.noise));case"end_islands":return new _;case"weird_scaled_sampler":return new x(y(E.input),R.readEnum(E.rarity_value_mapper,b),r(E.noise));case"shifted_noise":return new A(y(E.shift_x),y(E.shift_y),y(E.shift_z),(ht=R.readNumber(E.xz_scale))!=null?ht:1,(it=R.readNumber(E.y_scale))!=null?it:1,r(E.noise));case"range_choice":return new k(y(E.input),(Te=R.readNumber(E.min_inclusive))!=null?Te:0,(Jt=R.readNumber(E.max_exclusive))!=null?Jt:1,y(E.when_in_range),y(E.when_out_of_range));case"shift_a":return new S(r(E.argument));case"shift_b":return new M(r(E.argument));case"shift":return new O(r(E.argument));case"blend_density":return new N(y(E.argument));case"clamp":return new D(y(E.input),(It=R.readNumber(E.min))!=null?It:0,(X=R.readNumber(E.max))!=null?X:1);case"abs":case"square":case"cube":case"half_negative":case"quarter_negative":case"squeeze":return new le(L,y(E.argument));case"add":case"mul":case"min":case"max":return new T(R.readEnum(L,ce),y(E.argument1),y(E.argument2));case"spline":return new P(hi.fromJson(E.spline,y));case"constant":return new s((Be=R.readNumber(E.argument))!=null?Be:0);case"y_clamped_gradient":return new V((be=R.readInt(E.from_y))!=null?be:-4064,(he=R.readInt(E.to_y))!=null?he:4062,(yt=R.readNumber(E.from_value))!=null?yt:-4064,(et=R.readNumber(E.to_value))!=null?et:4062)}return s.ZERO}e.fromJson=i;const o=class extends e{constructor(C){super(),this.value=C}compute(){return this.value}minValue(){return this.value}maxValue(){return this.value}};let s=o;s.ZERO=new o(0),s.ONE=new o(1),e.Constant=s;class a extends e{constructor(y){super(),this.holder=y}compute(y){return this.holder.value().compute(y)}minValue(){return this.holder.value().minValue()}maxValue(){return this.holder.value().maxValue()}}e.HolderHolder=a;class l extends e.Constant{constructor(y,E,L){super(y),this.min=E,this.max=L}minValue(){return this.min}maxValue(){return this.max}}e.ConstantMinMax=l;class u extends e{constructor(y,E,L,j,Y,de){super(),this.xzScale=y,this.yScale=E,this.xzFactor=L,this.yFactor=j,this.smearScaleMultiplier=Y,this.blendedNoise=de}compute(y){var E,L;return(L=(E=this.blendedNoise)==null?void 0:E.sample(y.x,y.y,y.z))!=null?L:0}maxValue(){var y,E;return(E=(y=this.blendedNoise)==null?void 0:y.maxValue)!=null?E:0}}e.OldBlendedNoise=u;class c extends e{constructor(y){super(),this.wrapped=y}minValue(){return this.wrapped.minValue()}maxValue(){return this.wrapped.maxValue()}}class d extends c{constructor(y){super(y),this.lastValue=0}compute(y){const E=y.x>>2,L=y.z>>2;return(this.lastQuartX!==E||this.lastQuartZ!==L)&&(this.lastValue=this.wrapped.compute(e.context(E<<2,0,L<<2)),this.lastQuartX=E,this.lastQuartZ=L),this.lastValue}mapAll(y){return y.map(new d(this.wrapped.mapAll(y)))}}e.FlatCache=d;class f extends c{constructor(y){super(y)}compute(y){return this.wrapped.compute(y)}mapAll(y){return y.map(new f(this.wrapped.mapAll(y)))}}e.CacheAllInCell=f;class p extends c{constructor(y){super(y),this.lastValue=0}compute(y){const E=y.x,L=y.z;return(this.lastBlockX!==E||this.lastBlockZ!==L)&&(this.lastValue=this.wrapped.compute(y),this.lastBlockX=E,this.lastBlockZ=L),this.lastValue}mapAll(y){return y.map(new p(this.wrapped.mapAll(y)))}}e.Cache2D=p;class m extends c{constructor(y){super(y),this.lastValue=0}compute(y){const E=y.x,L=y.y,j=y.z;return(this.lastBlockX!==E||this.lastBlockY!==L||this.lastBlockZ!==j)&&(this.lastValue=this.wrapped.compute(y),this.lastBlockX=E,this.lastBlockY=L,this.lastBlockZ=j),this.lastValue}mapAll(y){return y.map(new m(this.wrapped.mapAll(y)))}}e.CacheOnce=m;class v extends c{constructor(y,E=4,L=4){super(y),this.cellWidth=E,this.cellHeight=L,this.values=new Map}compute({x:y,y:E,z:L}){const j=this.cellWidth,Y=this.cellHeight,de=(y%j+j)%j/j,Ve=(E%Y+Y)%Y/Y,dt=(L%j+j)%j/j,He=Math.floor(y/j)*j,Ue=Math.floor(E/Y)*Y,Le=Math.floor(L/j)*j;return wc(de,Ve,dt,()=>this.computeCorner(He,Ue,Le),()=>this.computeCorner(He+j,Ue,Le),()=>this.computeCorner(He,Ue+Y,Le),()=>this.computeCorner(He+j,Ue+Y,Le),()=>this.computeCorner(He,Ue,Le+j),()=>this.computeCorner(He+j,Ue,Le+j),()=>this.computeCorner(He,Ue+Y,Le+j),()=>this.computeCorner(He+j,Ue+Y,Le+j))}computeCorner(y,E,L){return Or(this.values,`${y} ${E} ${L}`,()=>this.wrapped.compute(e.context(y,E,L)))}mapAll(y){return y.map(new v(this.wrapped.mapAll(y)))}withCellSize(y,E){return new v(this.wrapped,y,E)}}e.Interpolated=v;class g extends e{constructor(y,E,L,j){super(),this.xzScale=y,this.yScale=E,this.noiseData=L,this.noise=j}compute(y){var E,L;return(L=(E=this.noise)==null?void 0:E.sample(y.x*this.xzScale,y.y*this.yScale,y.z*this.xzScale))!=null?L:0}maxValue(){var y,E;return(E=(y=this.noise)==null?void 0:y.maxValue)!=null?E:2}}e.Noise=g;class _ extends e{compute(){return 0}minValue(){return-.84375}maxValue(){return .5625}}const b=["type_1","type_2"],w=class extends n{constructor(C,y,E,L){super(C),this.rarityValueMapper=y,this.noiseData=E,this.noise=L,this.mapper=w.ValueMapper[this.rarityValueMapper]}transform(C,y){if(!this.noise)return 0;const E=this.mapper(y);return E*Math.abs(this.noise.sample(C.x/E,C.y/E,C.z/E))}mapAll(C){return C.map(new w(this.input.mapAll(C),this.rarityValueMapper,this.noiseData,this.noise))}minValue(){return 0}maxValue(){return this.rarityValueMapper==="type_1"?2:3}static rarityValueMapper1(C){return C<-.5?.75:C<0?1:C<.5?1.5:2}static rarityValueMapper2(C){return C<-.75?.5:C<-.5?.75:C<.5?1:C<.75?2:3}};let x=w;x.ValueMapper={type_1:w.rarityValueMapper1,type_2:w.rarityValueMapper2},e.WeirdScaledSampler=x;class A extends g{constructor(y,E,L,j,Y,de,Ve){super(j,Y,de,Ve),this.shiftX=y,this.shiftY=E,this.shiftZ=L}compute(y){var Y,de;const E=y.x*this.xzScale+this.shiftX.compute(y),L=y.y*this.yScale+this.shiftY.compute(y),j=y.z*this.xzScale+this.shiftZ.compute(y);return(de=(Y=this.noise)==null?void 0:Y.sample(E,L,j))!=null?de:0}mapAll(y){return y.map(new A(this.shiftX.mapAll(y),this.shiftY.mapAll(y),this.shiftZ.mapAll(y),this.xzScale,this.yScale,this.noiseData,this.noise))}}e.ShiftedNoise=A;class k extends e{constructor(y,E,L,j,Y){super(),this.input=y,this.minInclusive=E,this.maxExclusive=L,this.whenInRange=j,this.whenOutOfRange=Y}compute(y){const E=this.input.compute(y);return this.minInclusive<=E&&EMath.abs(C),square:C=>C*C,cube:C=>C*C*C,half_negative:C=>C>0?C:C*.5,quarter_negative:C=>C>0?C:C*.25,squeeze:C=>{const y=dr(C,-1,1);return y/2-y*y*y/24}},e.Mapped=le;const ce=["add","mul","min","max"];class T extends e{constructor(y,E,L,j,Y){super(),this.type=y,this.argument1=E,this.argument2=L,this.min=j,this.max=Y}compute(y){const E=this.argument1.compute(y);switch(this.type){case"add":return E+this.argument2.compute(y);case"mul":return E===0?0:E*this.argument2.compute(y);case"min":return Ethis.argument2.maxValue()?E:Math.max(E,this.argument2.compute(y))}}mapAll(y){return y.map(new T(this.type,this.argument1.mapAll(y),this.argument2.mapAll(y)))}minValue(){var y;return(y=this.min)!=null?y:-1/0}maxValue(){var y;return(y=this.max)!=null?y:1/0}withMinMax(){const y=this.argument1.minValue(),E=this.argument2.minValue(),L=this.argument1.maxValue(),j=this.argument2.maxValue();(this.type==="min"||this.type==="max")&&(y>=j||E>=L)&&console.warn(`Creating a ${this.type} function between two non-overlapping inputs`);let Y,de;switch(this.type){case"add":Y=y+E,de=L+j;break;case"mul":Y=y>0&&E>0?y*E||0:L<0&&j<0?L*j||0:Math.min(y*j||0,E*L||0),de=y>0&&E>0?L*j||0:L<0&&j<0?y*E||0:Math.max(y*E||0,L*j||0);break;case"min":Y=Math.min(y,E),de=Math.min(L,j);break;case"max":Y=Math.max(y,E),de=Math.max(L,j);break}return new T(this.type,this.argument1,this.argument2,Y,de)}}e.Ap2=T;class P extends e{constructor(y){super(),this.spline=y}compute(y){return this.spline.compute(y)}mapAll(y){const E=this.spline.mapAll(L=>L instanceof e?L.mapAll(y):L);return E.calculateMinMax(),y.map(new P(E))}minValue(){return this.spline.min()}maxValue(){return this.spline.max()}}e.Spline=P;class V extends e{constructor(y,E,L,j){super(),this.fromY=y,this.toY=E,this.fromValue=L,this.toValue=j}compute(y){return Pi(y.y,this.fromY,this.toY,this.fromValue,this.toValue)}minValue(){return Math.min(this.fromValue,this.toValue)}maxValue(){return Math.max(this.fromValue,this.toValue)}}e.YClampedGradient=V})(se||(se={}));class fr{constructor(t,n){this.level=t,this.type=n}at(t){return t0))return n(r,i,o).at(i)}}}e.createDisabled=t})(pi||(pi={}));const ft=class{constructor(e,t,n,r,i,o,s,a,l,u){this.noiseChunk=e,this.barrierNoise=n,this.fluidLevelFloodednessNoise=r,this.fluidLevelSpreadNoise=i,this.lavaNoise=o,this.random=s,this.globalFluidPicker=u,this.minGridX=this.gridX(Ge.minBlockX(t))-1,this.gridSizeX=this.gridX(Ge.maxBlockX(t))+1-this.minGridX+1,this.minGridY=this.gridY(a)-1,this.minGridZ=this.gridZ(Ge.minBlockZ(t))-1,this.gridSizeZ=this.gridZ(Ge.maxBlockZ(t))+1-this.minGridZ+1;const c=this.gridY(a+l)+1-this.minGridY+1;this.gridSize=this.gridSizeX*c*this.gridSizeZ,this.aquiferCache=Array(this.gridSize).fill(void 0),this.aquiferLocationCache=Array(this.gridSize).fill(Xe.ZERO)}compute({x:e,y:t,z:n},r){if(r<=0){if(this.globalFluidPicker(e,t,n).at(t).is(ge.LAVA))return ge.LAVA;{const i=this.gridX(e-5),o=this.gridY(t+1),s=this.gridZ(n-5);let a=Number.MAX_SAFE_INTEGER,l=Number.MAX_SAFE_INTEGER,u=Number.MAX_SAFE_INTEGER,c=Xe.ZERO,d=Xe.ZERO,f=Xe.ZERO;for(let x=0;x<=1;x+=1)for(let A=-1;A<=1;A+=1)for(let k=0;k<=1;k+=1){const I=this.getLocation(i+x,o+A,s+k),S=Xe.magnitude(I);a>=S?(f=d,d=c,c=I,u=l,l=a,a=S):l>=S?(f=d,d=I,u=l,l=S):u>=S&&(f=I,u=S)}const p=this.getStatus(c),m=this.getStatus(d),v=this.getStatus(f),g=ft.similarity(a,l),_=ft.similarity(a,u),b=ft.similarity(l,u);let w;if(p.at(t).is(ge.WATER)&&this.globalFluidPicker(e,t-1,n).at(t-1).is(ge.LAVA))w=1;else if(g>-1){const x=nr(()=>this.barrierNoise.compute(se.context(e,t*.5,n))),A=this.calculatePressure(t,p,m,x),k=this.calculatePressure(t,p,v,x),I=this.calculatePressure(t,m,v,x),S=Math.max(A,k*Math.max(0,_),I*Math.max(b));w=Math.max(0,2*Math.max(0,g)*S)}else w=0;if(r+w<=0)return p.at(t)}}}static similarity(e,t){return 1-Math.abs(t-e)/25}calculatePressure(e,t,n,r){const i=t.at(e),o=n.at(e);if(i.is(ge.LAVA)&&o.is(ge.WATER)||i.is(ge.WATER)&&o.is(ge.LAVA))return 1;const s=Math.abs(t.level-n.level);if(s===0)return 0;const a=(t.level+n.level)/2,l=e+.5-a,u=s/2-Math.abs(l),c=l>0?u>0?u/1.5:u/2.5:u>-3?(u+3)/3:(u+3)/10;return c<-2||c>2?c:c+r()}getStatus(e){const[t,n,r]=e,i=this.getIndex(this.gridX(t),this.gridY(n),this.gridZ(r)),o=this.aquiferCache[i];if(o!==void 0)return o;const s=this.computeStatus(t,n,r);return this.aquiferCache[i]=s,s}computeStatus(e,t,n){const r=this.globalFluidPicker(e,t,n);let i=Number.MAX_SAFE_INTEGER,o=!1;for(const[p,m]of ft.SURFACE_SAMPLING){const v=e+(m<<4),g=n+(m<<4),_=this.noiseChunk.getPreliminarySurfaceLevel(v,g);i=Math.min(i,_);const b=p===0&&m===0;if(b&&t-12>_+8)return r;if(b||t+12>_+8){const w=this.globalFluidPicker(v,_+8,g);if(!w.at(_+8).is(ge.AIR)){if(b)return w;o=!0}}}const s=o?Pi(i+8-t,0,64,1,0):0,a=dr(this.fluidLevelFloodednessNoise.compute(se.context(e,t*.67,n)),-1,1);if(a>hr(s,1,0,-.3,.8))return r;if(a<=hr(s,1,0,-.8,.4))return new fr(Number.MIN_SAFE_INTEGER,r.type);const l=Math.floor(t/40),u=this.fluidLevelSpreadNoise.compute(se.context(Math.floor(e/16),l,Math.floor(n/16))),c=l*40+20+Math.floor(u/3)*3,d=Math.min(i,c),f=this.getFluidType(e,t,n,r.type,c);return new fr(d,f)}getFluidType(e,t,n,r,i){if(i<=-10){const o=this.lavaNoise.compute(se.context(Math.floor(e/64),Math.floor(t/40),Math.floor(n/64)));if(Math.abs(o)>.3)return ge.LAVA}return r}getLocation(e,t,n){const r=this.getIndex(e,t,n),i=this.aquiferLocationCache[r];if(Xe.equals(i,Xe.ZERO))return i;const o=this.random.at(e,t,n),s=Xe.create(e*ft.X_SPACING+o.nextInt(10),t*ft.Y_SPACING+o.nextInt(9),n*ft.Z_SPACING+o.nextInt(10));return this.aquiferLocationCache[r]=s,s}getIndex(e,t,n){const r=e-this.minGridX,i=t-this.minGridY,o=n-this.minGridZ,s=(i*this.gridSizeZ+o)*this.gridSizeX+r;if(s<0||s>=this.gridSize)throw new Error(`Invalid aquifer index at ${e} ${t} ${n}: 0 <= ${s} < ${this.gridSize}`);return s}gridX(e){return Math.floor(e/ft.X_SPACING)}gridY(e){return Math.floor(e/ft.Y_SPACING)}gridZ(e){return Math.floor(e/ft.Z_SPACING)}};let Nr=ft;Nr.X_SPACING=16;Nr.Y_SPACING=12;Nr.Z_SPACING=16;Nr.SURFACE_SAMPLING=[[-2,-1],[-1,-1],[0,-1],[1,-1],[-3,0],[-2,0],[-1,0],[0,0],[1,0],[-2,1],[-1,1],[0,1],[1,1]];var pr;(function(e){function n(v,g,_,b,w,x){return new a(v,g,_,b,w,x)}e.target=n;function r(v,g,_,b,w,x,A){return new s(i(v),i(g),i(_),i(b),i(w),i(x),A)}e.parameters=r;function i(v,g){return typeof v=="number"?new o(v,g!=null?g:v):v}e.param=i;class o{constructor(g,_){this.min=g,this.max=_}distance(g){const _=(typeof g=="number"?g:g.min)-this.max,b=this.min-(typeof g=="number"?g:g.max);return _>0?_:Math.max(b,0)}union(g){return new o(Math.min(this.min,g.min),Math.max(this.max,g.max))}static fromJson(g){var w;if(typeof g=="number")return new o(g,g);const[_,b]=(w=R.readArray(g,x=>R.readNumber(x)))!=null?w:[];return new o(_!=null?_:0,b!=null?b:0)}}e.Param=o;class s{constructor(g,_,b,w,x,A,k){this.temperature=g,this.humidity=_,this.continentalness=b,this.erosion=w,this.depth=x,this.weirdness=A,this.offset=k}fittness(g){return Ot(this.temperature.distance(g.temperature))+Ot(this.humidity.distance(g.humidity))+Ot(this.continentalness.distance(g.continentalness))+Ot(this.erosion.distance(g.erosion))+Ot(this.depth.distance(g.depth))+Ot(this.weirdness.distance(g.weirdness))+Ot(this.offset-g.offset)}space(){return[this.temperature,this.humidity,this.continentalness,this.erosion,this.depth,this.weirdness,new o(this.offset,this.offset)]}static fromJson(g){var b,w;const _=(b=R.readObject(g))!=null?b:{};return new s(o.fromJson(_.temperature),o.fromJson(_.humidity),o.fromJson(_.continentalness),o.fromJson(_.erosion),o.fromJson(_.depth),o.fromJson(_.weirdness),(w=R.readInt(_.offset))!=null?w:0)}}e.ParamPoint=s;class a{constructor(g,_,b,w,x,A){this.temperature=g,this.humidity=_,this.continentalness=b,this.erosion=w,this.depth=x,this.weirdness=A}get offset(){return 0}toArray(){return[this.temperature,this.humidity,this.continentalness,this.erosion,this.depth,this.weirdness,this.offset]}}e.TargetPoint=a;class l{constructor(g){this.things=g,this.index=new d(g)}find(g){return this.index.search(g,(_,b)=>_.distance(b))}}e.Parameters=l;class u{constructor(g,_,b,w,x,A){this.temperature=g,this.humidity=_,this.continentalness=b,this.erosion=w,this.depth=x,this.weirdness=A}static fromRouter(g){return new e.Sampler(g.temperature,g.vegetation,g.continents,g.erosion,g.depth,g.ridges)}sample(g,_,b){const w=se.context(g<<2,_<<2,b<<2);return e.target(this.temperature.compute(w),this.humidity.compute(w),this.continentalness.compute(w),this.erosion.compute(w),this.depth.compute(w),this.weirdness.compute(w))}}e.Sampler=u;const c=class{constructor(v){this.root=c.build(v.map(([g,_])=>new m(g,_)))}static build(v){if(v.length===1)return v[0];if(v.length<=c.CHILDREN_PER_NODE){const w=v.map(x=>{let A=0;for(let k=0;k<7;k+=1){const I=x.space[k];A+=Math.abs((I.min+I.max)/2)}return{key:A,node:x}}).sort((x,A)=>x.key-A.key).map(({node:x})=>x);return new p(w)}let g=1/0,_=-1,b=[];for(let w=0;w<7;++w){v=c.sort(v,w,!1),b=c.bucketize(v);let x=0;for(const A of b)x+=c.area(A.space);g>x&&(g=x,_=w)}return v=c.sort(v,_,!1),b=c.bucketize(v),b=c.sort(b,_,!0),new p(b.map(w=>c.build(w.children)))}static sort(v,g,_){return v.map(b=>{const w=b.space[g],x=(w.min+w.max)/2;return{key:_?Math.abs(x):x,node:b}}).sort((b,w)=>b.key-w.key).map(({node:b})=>b)}static bucketize(v){const g=[];let _=[];const b=Math.pow(10,Math.floor(Math.log(v.length-.01)/Math.log(10)));for(const w of v)_.push(w),!(_.lengthnew o(1/0,-1/0));for(const b of g)_=[...Array(7)].map((w,x)=>_[x].union(b.space[x]));return _}search(g,_){let b=1/0,w=null;for(const x of this.children){const A=_(x,g);if(b<=A)continue;const k=x.search(g,_),I=x==k?A:_(k,g);b<=I||(b=I,w=k)}return w}}e.RSubTree=p;class m extends f{constructor(g,_){super(g.space()),this.thing=_}search(){return this}}e.RLeaf=m})(pr||(pr={}));class mr{constructor(t){this.biome=t}getBiome(){return this.biome}static fromJson(t){var i,o;const n=(i=R.readObject(t))!=null?i:{},r=we.parse((o=R.readString(n.biome))!=null?o:"minecraft:the_void");return new mr(r)}}class Uo{constructor(t){this.parameters=t}getBiome(t,n,r,i){const o=i.sample(t,n,r);return this.parameters.find(o)}static fromJson(t){var o,s;const n=(o=R.readObject(t))!=null?o:{},i=((s=R.readArray(n.biomes,a=>{var l;return(u=>{var c;return{biome:we.parse((c=R.readString(u.biome))!=null?c:"minecraft:the_void"),parameters:pr.ParamPoint.fromJson(u.parameters)}})((l=R.readObject(a))!=null?l:{})}))!=null?s:[]).map(a=>[a.parameters,()=>a.biome]);return new Uo(new pr.Parameters(i))}}var pt;(function(e){e.TEMPERATURE=t("temperature",-10,[1.5,0,1,0,0,0]),e.VEGETATION=t("vegetation",-8,[1,1,0,0,0,0]),e.CONTINENTALNESS=t("continentalness",-9,[1,1,2,2,2,1,1,1,1]),e.EROSION=t("erosion",-9,[1,1,0,1,1]),e.TEMPERATURE_LARGE=t("temperature_large",-12,[1.5,0,1,0,0,0]),e.VEGETATION_LARGE=t("vegetation_large",-10,[1,1,0,0,0,0]),e.CONTINENTALNESS_LARGE=t("continentalness_large",-11,[1,1,2,2,2,1,1,1,1]),e.EROSION_LARGE=t("erosion_large",-11,[1,1,0,1,1]),e.RIDGE=t("ridge",-7,[1,2,1,0,0,0]),e.SHIFT=t("offset",-3,[1,1,1,0]),e.AQUIFER_BARRIER=t("aquifer_barrier",-3,[1]),e.AQUIFER_FLUID_LEVEL_FLOODEDNESS=t("aquifer_fluid_level_floodedness",-7,[1]),e.AQUIFER_FLUID_LEVEL_SPREAD=t("aquifer_fluid_level_spread",-5,[1]),e.AQUIFER_LAVA=t("aquifer_lava",-1,[1]),e.PILLAR=t("pillar",-7,[1,1]),e.PILLAR_RARENESS=t("pillar_rareness",-8,[1]),e.PILLAR_THICKNESS=t("pillar_thickness",-8,[1]),e.SPAGHETTI_2D=t("spaghetti_2d",-8,[1]),e.SPAGHETTI_2D_ELEVATION=t("spaghetti_2d_elevation",-8,[1]),e.SPAGHETTI_2D_MODULATOR=t("spaghetti_2d_modulator",-8,[1]),e.SPAGHETTI_2D_THICKNESS=t("spaghetti_2d_thickness",-8,[1]),e.SPAGHETTI_3D_1=t("spaghetti_3d_1",-8,[1]),e.SPAGHETTI_3D_2=t("spaghetti_3d_2",-8,[1]),e.SPAGHETTI_3D_RARITY=t("spaghetti_3d_rarity",-8,[1]),e.SPAGHETTI_3D_THICKNESS=t("spaghetti_3d_thickness",-8,[1]),e.SPAGHETTI_ROUGHNESS=t("spaghetti_roughness",-8,[1]),e.SPAGHETTI_ROUGHNESS_MODULATOR=t("spaghetti_roughness_modulator",-8,[1]),e.CAVE_ENTRANCE=t("cave_entrance",-7,[.4,.5,1]),e.CAVE_LAYER=t("cave_layer",-8,[1]),e.CAVE_CHEESE=t("cave_cheese",-8,[.5,1,2,1,2,1,0,2,0]),e.NOODLE=t("noodle",-8,[1]),e.NOODLE_THICKNESS=t("noodle_thickness",-8,[1]),e.NOODLE_RIDGE_A=t("noodle_ridge_a",-7,[1]),e.NOODLE_RIDGE_B=t("noodle_ridge_b",-7,[1]),e.JAGGED=t("jagged",-16,[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]),e.SURFACE=t("surface",-6,[1,1,1]),e.SURFACE_SECONDARY=t("surface_secondary",-6,[1,1,0,1]);function t(i,o,s){return cn.NOISE.register(we.create(i),Pn.create(o,s))}const n=new Map;function r(i,o){var c;const s=(c=o.key())==null?void 0:c.toString();if(!s)throw new Error("Cannot instantiate noise from direct holder");const a=i.seedKey(),l=n.get(s);if(l&&l[0]===a[0]&&l[1]===a[1])return l[2];const u=new Tr(i.fromHashOf(s),o.value());return n.set(s,[a[0],a[1],u]),u}e.instantiate=r})(pt||(pt={}));var ze;(function(e){function t(s){var l,u,c,d,f;const a=(l=R.readObject(s))!=null?l:{};return{minY:(u=R.readInt(a.min_y))!=null?u:0,height:(c=R.readInt(a.height))!=null?c:256,xzSize:(d=R.readInt(a.size_horizontal))!=null?d:1,ySize:(f=R.readInt(a.size_vertical))!=null?f:1}}e.fromJson=t;function n(s){return s.ySize<<2}e.cellHeight=n;function r(s){return s.xzSize<<2}e.cellWidth=r;function i(s){return s.height/n(s)}e.cellCountY=i;function o(s){return Math.floor(s.minY/n(s))}e.minCellY=o})(ze||(ze={}));var vo;(function(e){function t(r){var o,s,a,l;const i=(o=R.readObject(r))!=null?o:{};return{target:(s=R.readNumber(i.target))!=null?s:0,size:(a=R.readInt(i.size))!=null?a:0,offset:(l=R.readInt(i.offset))!=null?l:0}}e.fromJson=t;function n(r,i,o){if(r.size<=0)return i;const s=(o-r.offset)/r.size;return Ri(r.target,i,s)}e.apply=n})(vo||(vo={}));var $n;(function(e){const t=a=>ln.parser(cn.DENSITY_FUNCTION,se.fromJson)(a).value();function n(a){var u;const l=(u=R.readObject(a))!=null?u:{};return{barrier:t(l.barrier),fluidLevelFloodedness:t(l.fluid_level_floodedness),fluidLevelSpread:t(l.fluid_level_spread),lava:t(l.lava),temperature:t(l.temperature),vegetation:t(l.vegetation),continents:t(l.continents),erosion:t(l.erosion),depth:t(l.depth),ridges:t(l.ridges),initialDensityWithoutJaggedness:t(l.initial_density_without_jaggedness),finalDensity:t(l.final_density),veinToggle:t(l.vein_toggle),veinRidged:t(l.vein_ridged),veinGap:t(l.vein_gap)}}e.fromJson=n;function r(a){return J({barrier:se.Constant.ZERO,fluidLevelFloodedness:se.Constant.ZERO,fluidLevelSpread:se.Constant.ZERO,lava:se.Constant.ZERO,temperature:se.Constant.ZERO,vegetation:se.Constant.ZERO,continents:se.Constant.ZERO,erosion:se.Constant.ZERO,depth:se.Constant.ZERO,ridges:se.Constant.ZERO,initialDensityWithoutJaggedness:se.Constant.ZERO,finalDensity:se.Constant.ZERO,veinToggle:se.Constant.ZERO,veinRidged:se.Constant.ZERO,veinGap:se.Constant.ZERO},a)}e.create=r;function i(a,l,u,c=!1){const d=(c?new Qe(u):ke.create(u)).forkPositional(),f=new o(d,l);return xe(J({},f.mapAll(a)),{aquiferPositionalRandomFactory:d.fromHashOf(we.create("aquifer").toString()).forkPositional(),oreVeinsPositionalRandomFactory:d.fromHashOf(we.create("ore").toString()).forkPositional()})}e.withSettings=i;class o{constructor(l,u){this.random=l,this.settings=u,this.mapped=new Map}map(l){if(l instanceof se.HolderHolder){const u=l.holder.key();if(u!==void 0&&this.mapped.has(u.toString()))return this.mapped.get(u.toString());{const c=l.holder.value().mapAll(this);return u!==void 0&&this.mapped.set(u.toString(),c),c}}if(l instanceof se.Interpolated)return l.withCellSize(ze.cellWidth(this.settings),ze.cellHeight(this.settings));if(l instanceof se.ShiftedNoise){const u=pt.instantiate(this.random,l.noiseData);return new se.ShiftedNoise(l.shiftX,l.shiftY,l.shiftZ,l.xzScale,l.yScale,l.noiseData,u)}return l instanceof se.Noise?new se.Noise(l.xzScale,l.yScale,l.noiseData,pt.instantiate(this.random,l.noiseData)):l instanceof se.ShiftNoise?l.withNewNoise(pt.instantiate(this.random,l.noiseData)):l instanceof se.WeirdScaledSampler?new se.WeirdScaledSampler(l.input,l.rarityValueMapper,l.noiseData,pt.instantiate(this.random,l.noiseData)):l instanceof se.OldBlendedNoise?new se.OldBlendedNoise(l.xzScale,l.yScale,l.xzFactor,l.yFactor,l.smearScaleMultiplier,new Ac(this.random.fromHashOf(we.create("terrain").toString()),l.xzScale,l.yScale,l.xzFactor,l.yFactor,l.smearScaleMultiplier)):l instanceof se.Mapped||l instanceof se.Ap2?l.withMinMax():l}mapAll(l){return{barrier:l.barrier.mapAll(this),fluidLevelFloodedness:l.fluidLevelFloodedness.mapAll(this),fluidLevelSpread:l.fluidLevelSpread.mapAll(this),lava:l.lava.mapAll(this),temperature:l.temperature.mapAll(this),vegetation:l.vegetation.mapAll(this),continents:l.continents.mapAll(this),erosion:l.erosion.mapAll(this),depth:l.depth.mapAll(this),ridges:l.ridges.mapAll(this),initialDensityWithoutJaggedness:l.initialDensityWithoutJaggedness.mapAll(this),finalDensity:l.finalDensity.mapAll(this),veinToggle:l.veinToggle.mapAll(this),veinRidged:l.veinRidged.mapAll(this),veinGap:l.veinGap.mapAll(this)}}}e.Visitor=o;function s(a,l,u,c){const d=ze.minCellY(a)+ze.cellCountY(a),f=ze.minCellY(a),p=ze.cellHeight(a);for(let m=d;m>=f;m-=1){const v=m*p;if(dr(l.compute(se.context(u,v,c)),-64,64)>=.390625)return v}return Number.MAX_SAFE_INTEGER}e.computePreliminarySurfaceLevelScanning=s})($n||($n={}));class Sc{constructor(t,n,r,i,o,s,a,l,u){this.cellCountXZ=t,this.cellCountY=n,this.cellNoiseMinY=r,this.router=i,this.minX=o,this.minZ=s,this.settings=a,this.preliminarySurfaceLevel=new Map,this.cellWidth=ze.cellWidth(a),this.cellHeight=ze.cellHeight(a),this.firstCellX=Math.floor(o/this.cellWidth),this.firstCellZ=Math.floor(s/this.cellWidth),this.firstNoiseX=o>>2,this.firstNoiseZ=s>>2,this.noiseSizeXZ=t*this.cellWidth>>2,this.aquifer=pi.createDisabled(u);const c=this.router.finalDensity;this.materialRule=mi.fromList([d=>this.aquifer.compute(d,c.compute(d))]),this.initialDensityWithoutJaggedness=this.router.initialDensityWithoutJaggedness}getFinalState(t,n,r){return this.materialRule({x:t,y:n,z:r})}getPreliminarySurfaceLevel(t,n){return Or(this.preliminarySurfaceLevel,Ge.asLong(t,n),()=>$n.computePreliminarySurfaceLevelScanning(this.settings,this.initialDensityWithoutJaggedness,t<<2,n<<2))}getAquifer(){return this.aquifer}}var mi;(function(e){function t(n){return r=>{for(const i of n){const o=i(r);if(o)return o}}}e.fromList=t})(mi||(mi={}));var Cn;(function(e){function t(o){var a,l,u,c;const s=(a=R.readObject(o))!=null?a:{};return s.absolute!==void 0?n((l=R.readNumber(s.absolute))!=null?l:0):s.above_bottom!==void 0?r((u=R.readNumber(s.above_bottom))!=null?u:0):s.below_top!==void 0?i((c=R.readNumber(s.below_top))!=null?c:0):()=>0}e.fromJson=t;function n(o){return()=>o}function r(o){return s=>s.minY+o}function i(o){return s=>s.maxY-o}})(Cn||(Cn={}));var gi;(function(e){function t(n,r){return{minY:n,height:r,maxY:n+r-1}}e.create=t})(gi||(gi={}));class Ec{constructor(t,n,r){this.rule=t,this.defaultBlock=n,this.random=ke.create(r).forkPositional(),this.surfaceNoise=pt.instantiate(this.random,pt.SURFACE),this.surfaceSecondaryNoise=pt.instantiate(this.random,pt.SURFACE_SECONDARY),this.positionalRandoms=new Map}buildSurface(t,n,r,i){const o=Ge.minBlockX(t.pos),s=Ge.minBlockZ(t.pos),a=new Cc(this,t,n,r,i),l=this.rule(a);for(let u=0;u<16;u+=1){const c=o+u;for(let d=0;d<1;d+=1){const f=s+d;a.updateXZ(c,f);let p=0,m=Number.MIN_SAFE_INTEGER,v=Number.MAX_SAFE_INTEGER;for(let g=t.maxY;g>=t.minY;g-=1){const _=Xe.create(c,g,f),b=t.getBlockState(_);if(b.equals(ge.AIR)){p=0,m=Number.MIN_SAFE_INTEGER;continue}if(b.isFluid()){m===Number.MIN_SAFE_INTEGER&&(m=g+1);continue}if(v>=g){v=Number.MIN_SAFE_INTEGER;for(let A=g-1;A>=t.minY;A-=1){const k=t.getBlockState(Xe.create(c,A,f));if(k.equals(ge.AIR)||k.isFluid()){v=A+1;break}}}p+=1;const w=g-v+1;if(!b.equals(this.defaultBlock))continue;a.updateY(p,w,m,g);const x=l(c,g,f);x&&t.setBlockState(_,x)}}}}getSurfaceDepth(t,n){const r=this.surfaceNoise.sample(t,0,n),i=this.random.at(t,0,n).nextDouble()*.25;return r*2.75+3+i}getSurfaceSecondary(t,n){return this.surfaceSecondaryNoise.sample(t,0,n)}getRandom(t){return Or(this.positionalRandoms,t,()=>this.random.fromHashOf(t))}}class Cc{constructor(t,n,r,i,o){this.system=t,this.chunk=n,this.noiseChunk=r,this.context=i,this.getBiome=o,this.blockX=0,this.blockY=0,this.blockZ=0,this.stoneDepthAbove=0,this.stoneDepthBelow=0,this.surfaceDepth=0,this.waterHeight=0,this.biome=()=>"",this.surfaceSecondary=()=>0,this.minSurfaceLevel=()=>0}updateXZ(t,n){this.blockX=t,this.blockZ=n,this.surfaceDepth=this.system.getSurfaceDepth(t,n),this.surfaceSecondary=nr(()=>this.system.getSurfaceSecondary(t,n)),this.minSurfaceLevel=nr(()=>this.calculateMinSurfaceLevel(t,n))}updateY(t,n,r,i){this.blockY=i,this.stoneDepthAbove=t,this.stoneDepthBelow=n,this.waterHeight=r,this.biome=nr(()=>this.getBiome(Xe.create(this.blockX,this.blockY,this.blockZ)))}calculateMinSurfaceLevel(t,n){const r=t>>4,i=n>>4,o=this.noiseChunk.getPreliminarySurfaceLevel(r<<4,i<<4),s=this.noiseChunk.getPreliminarySurfaceLevel(r+1<<4,i<<4),a=this.noiseChunk.getPreliminarySurfaceLevel(r<<4,i+1<<4),l=this.noiseChunk.getPreliminarySurfaceLevel(r+1<<4,i+1<<4);return Math.floor(ci((t&15)/16,(n&15)/16,o,s,a,l))+this.surfaceDepth-8}}var _i;(function(e){e.NOOP=()=>()=>{};function t(o){var l,u,c;const s=(l=R.readObject(o))!=null?l:{};switch((u=R.readString(s.type))==null?void 0:u.replace(/^minecraft:/,"")){case"block":return n(ge.fromJson(s.result_state));case"sequence":return r((c=R.readArray(s.sequence,e.fromJson))!=null?c:[]);case"condition":return i(vi.fromJson(s.if_true),e.fromJson(s.then_run))}return e.NOOP}e.fromJson=t;function n(o){return()=>()=>o}e.block=n;function r(o){return s=>{const a=o.map(l=>l(s));return(l,u,c)=>{for(const d of a){const f=d(l,u,c);if(f)return f}}}}e.sequence=r;function i(o,s){return a=>(l,u,c)=>{if(o(a))return s(a)(l,u,c)}}e.condition=i})(_i||(_i={}));var vi;(function(e){e.FALSE=()=>!1,e.TRUE=()=>!0;function t(u){var f,p,m,v,g,_,b,w,x,A,k,I;const c=(f=R.readObject(u))!=null?f:{};switch((p=R.readString(c.type))==null?void 0:p.replace(/^minecraft:/,"")){case"above_preliminary_surface":return n();case"biome":return r((m=R.readArray(c.biome_is,S=>{var M;return(M=R.readString(S))!=null?M:""}))!=null?m:[]);case"not":return i(e.fromJson(c.invert));case"stone_depth":return o((v=R.readInt(c.offset))!=null?v:0,(g=R.readBoolean(c.add_surface_depth))!=null?g:!1,(_=R.readInt(c.secondary_depth_range))!=null?_:0,R.readString(c.surface_type)==="ceiling");case"vertical_gradient":return s((b=R.readString(c.random_name))!=null?b:"",Cn.fromJson(c.true_at_and_below),Cn.fromJson(c.false_at_and_above));case"water":return a((w=R.readInt(c.offset))!=null?w:0,(x=R.readInt(c.surface_depth_multiplier))!=null?x:0,(A=R.readBoolean(c.add_surface_depth))!=null?A:!1);case"y_above":return l(Cn.fromJson(c.anchor),(k=R.readInt(c.surface_depth_multiplier))!=null?k:0,(I=R.readBoolean(c.add_surface_depth))!=null?I:!1)}return e.FALSE}e.fromJson=t;function n(){return u=>u.blockY>=u.minSurfaceLevel()}e.abovePreliminarySurface=n;function r(u){const c=new Set(u);return d=>c.has(d.biome())}e.biome=r;function i(u){return c=>!u(c)}e.not=i;function o(u,c,d,f){return p=>{const m=f?p.stoneDepthBelow:p.stoneDepthAbove,v=c?p.surfaceDepth:0,g=d===0?0:hr(p.surfaceSecondary(),-1,1,0,d);return m<=1+u+v+g}}e.stoneDepth=o;function s(u,c,d){return f=>{const p=c(f.context),m=d(f.context);if(f.blockY<=p)return!0;if(f.blockY>=m)return!1;const v=f.system.getRandom(u),g=hr(f.blockY,p,m,1,0);return v.nextFloat(){if(f.waterHeight===Number.MIN_SAFE_INTEGER)return!0;const p=d?f.stoneDepthAbove:0;return f.blockY+p>=f.waterHeight+u+f.surfaceDepth*c}}e.water=a;function l(u,c,d){return f=>{const p=d?f.stoneDepthAbove:0;return f.blockY+p>=u(f.context)+f.surfaceDepth*c}}e.yAbove=l})(vi||(vi={}));class lp{constructor(t,n,r){this.biomeSource=n,this.settings=r,this.router=$n.withSettings(r.noiseRouter,r.noise,t,r.legacyRandomSource),this.noiseChunkCache=new Map,this.surfaceSystem=new Ec(r.surfaceRule,r.defaultBlock,t);const i=new fr(-54,ge.LAVA),o=new fr(r.seaLevel,r.defaultFluid);this.globalFluidPicker=(s,a,l)=>a=0;_-=1)for(let b=s-1;b>=0;b-=1){const w=(l+_)*s+b,x=w&15,A=t.getSectionIndex(w);t.getSectionIndex(g.minBlockY)!==A&&(g=t.getOrCreateSection(A));for(let k=0;kn)}getNoiseChunk(t){return Or(this.noiseChunkCache,Ge.toLong(t.pos),()=>{const n=Math.max(t.minY,this.settings.noise.minY),r=Math.min(t.maxY,this.settings.noise.minY+this.settings.noise.height),i=ze.cellWidth(this.settings.noise),o=ze.cellHeight(this.settings.noise),s=Math.floor(16/i),a=Math.floor(n/o),l=Math.floor((r-n)/o),u=Ge.minBlockX(t.pos),c=Ge.minBlockZ(t.pos);return new Sc(s,l,a,this.router,u,c,this.settings.noise,this.settings.aquifersEnabled,this.globalFluidPicker)})}}var wo;(function(e){function t(n){var i,o,s,a,l,u;const r=(i=R.readObject(n))!=null?i:{};return{surfaceRule:_i.fromJson(r.surface_rule),noise:ze.fromJson(r.noise),defaultBlock:ge.fromJson(r.default_block),defaultFluid:ge.fromJson(r.default_fluid),noiseRouter:$n.fromJson(r.noise_router),seaLevel:(o=R.readInt(r.sea_level))!=null?o:0,disableMobGeneration:(s=R.readBoolean(r.disable_mob_generation))!=null?s:!1,aquifersEnabled:(a=R.readBoolean(r.aquifers_enabled))!=null?a:!1,oreVeinsEnabled:(l=R.readBoolean(r.ore_veins_enabled))!=null?l:!1,legacyRandomSource:(u=R.readBoolean(r.legacy_random_source))!=null?u:!1}}e.fromJson=t})(wo||(wo={}));var qs=Object.freeze(Object.defineProperty({__proto__:null,get Aquifer(){return pi},BlendedNoise:Ac,get BlockPos(){return Xe},BlockState:ge,Chunk:ap,get ChunkPos(){return Ge},ChunkSection:$i,get Climate(){return pr},get CubicSpline(){return hi},get DensityFunction(){return se},get Direction(){return lt},FixedBiome:mr,FluidStatus:fr,get Holder(){return ln},Identifier:we,ImprovedNoise:_o,get Json(){return R},LegacyPositionalRandom:bc,LegacyRandom:Qe,get MaterialRule(){return mi},get MinMaxNumberFunction(){return di},MultiNoise:Uo,NoiseAquifer:Nr,NoiseChunk:Sc,NoiseChunkGenerator:lp,get NoiseGeneratorSettings(){return wo},get NoiseParameters(){return Pn},get NoiseRouter(){return $n},get NoiseSettings(){return ze},get NoiseSlideSettings(){return vo},get Noises(){return pt},NormalNoise:Tr,PerlinNoise:ve,PerlinSimplexNoise:op,Registry:fi,SimplexNoise:Ze,Structure:Ho,get SurfaceCondition(){return vi},SurfaceContext:Cc,get SurfaceRule(){return _i},SurfaceSystem:Ec,get VerticalAnchor(){return Cn},get WorldgenContext(){return gi},get WorldgenRegistries(){return cn},XoroshiroPositionalRandom:xc,XoroshiroRandom:ke,binarySearch:yc,clamp:dr,clampedLerp:Ri,clampedMap:Pi,computeIfAbsent:Or,getSeed:jo,inverseLerp:zo,isPowerOfTwo:rp,lazy:nr,lazyLerp:rr,lazyLerp2:go,lazyLerp3:wc,lerp:Bt,lerp2:ci,lerp3:vc,longfromBytes:ui,map:hr,smoothstep:Xr,square:Ot,upperPowerOfTwo:ip},Symbol.toStringTag,{value:"Module"}));let Zs=!1;async function cp(){Zs||(await fc(Ys),Zs=!0,console.debug(`Loaded deepslate-rs from "${Ys}"`))}const up={temperature:[-1,1],humidity:[-1,1],continentalness:[-1.1,1],erosion:[-1,1],weirdness:[-1,1],offset:[-1,1],factor:[0,12],jaggedness:[0,1]};let Xs,Js;async function dp(e,t,n){var m,v,g;const{biomeSource:r}=await Ic(e,n),i=t.data,o=-Math.round(n.offset[0])-100+n.res/2,s=-Math.round(n.offset[1])-100+n.res/2,a=t.width*4/n.res,l=4/n.res,u=[o*n.scale,(200+o)*n.scale,n.res*n.scale],c=[s*n.scale,(200+s)*n.scale,n.res*n.scale],d=n.layers.has("biomes")?(m=r.getBiomes)==null?void 0:m.call(r,...u,64,65,1,...c):void 0,f=[...n.layers].filter(_=>_!=="biomes"),p=f.length===0||(v=r.getClimates)==null?void 0:v.call(r,...u,64,65,1,...c);for(let _=0;_<200;_+=n.res)for(let b=0;b<200;b+=n.res){const w=b*a+_*l,x=_/n.res*200/n.res+b/n.res,A=(_+o)*n.scale,k=(b+s)*n.scale;let I=[50,50,50];if(n.layers.has("biomes")){const S=(g=d==null?void 0:d[x])!=null?g:r.getBiome(A,64,k);I=pp(S.toString(),n.biomeColors)}else if(p&&f[0]){const S=p[x][f[0]],[M,O]=up[f[0]],N=(S-M)/(O-M)*256;I=[N,N,N]}i[w]=I[0],i[w+1]=I[1],i[w+2]=I[2],i[w+3]=255}}async function hp(e,t,n,r){var a;const{biomeSource:i}=await Ic(e,r),[o,s]=mp([t,n],r);return J({biome:i.getBiome(o,64,s).toString()},(a=i.getClimate)==null?void 0:a.call(i,o,64,s))}async function Ic(e,t){const n=[e,t.octaves,`${t.seed}`,t.version];return sn(n,Xs)||(Xs=Oi(n),Js=await fp(e,t)),{biomeSource:Js}}async function fp(e,t){var n,r,i,o,s;switch((n=e==null?void 0:e.type)==null?void 0:n.replace(/^minecraft:/,"")){case"fixed":return new mr(we.parse(e.biome));case"checkerboard":const a=((r=e.scale)!=null?r:2)+2,l=(o=(i=e.biomes)==null?void 0:i.length)!=null?o:0;return{getBiome(u,c,d){var p;const f=(((u>>a)+(d>>a))%l+l)%l;return we.parse((p=e.biomes)==null?void 0:p[f].node)}};case"multi_noise":switch((s=e.preset)==null?void 0:s.replace(/^minecraft:/,"")){case"nether":e=Ye(t.version,"1.18")?vp:_p;break;case"overworld":e=Ye(t.version,"1.18")?await wp():e;break}if(e=B.DataModel.unwrapLists(e),Ye(t.version,"1.18")){await cp();const u=new l0,c=N=>typeof N=="number"?[N,N]:N,[d,f,p,m,v,g,_,b,w,x,A,k,I,S]=[[],[],[],[],[],[],[],[],[],[],[],[],[],[]];for(const N of e.biomes){const{temperature:D,humidity:ee,continentalness:le,erosion:ce,weirdness:T,depth:P,offset:V}=N.parameters;d.push(c(D)[0]),f.push(c(D)[1]),p.push(c(ee)[0]),m.push(c(ee)[1]),v.push(c(le)[0]),g.push(c(le)[1]),_.push(c(ce)[0]),b.push(c(ce)[1]),w.push(c(T)[0]),x.push(c(T)[1]),A.push(c(P)[0]),k.push(c(P)[1]),I.push(V),S.push(u.getOrPut(N.biome,Math.floor(Math.random()*2147483647)))}const M=J0(new Float64Array(d),new Float64Array(f),new Float64Array(p),new Float64Array(m),new Float64Array(v),new Float64Array(g),new Float64Array(_),new Float64Array(b),new Float64Array(w),new Float64Array(x),new Float64Array(A),new Float64Array(k),new Float64Array(I),new Int32Array(S)),O=K0(t.seed,t.octaves.temperature.firstOctave,new Float64Array(t.octaves.temperature.amplitudes),t.octaves.humidity.firstOctave,new Float64Array(t.octaves.humidity.amplitudes),t.octaves.continentalness.firstOctave,new Float64Array(t.octaves.continentalness.amplitudes),t.octaves.erosion.firstOctave,new Float64Array(t.octaves.erosion.amplitudes),t.octaves.weirdness.firstOctave,new Float64Array(t.octaves.weirdness.amplitudes),t.octaves.shift.firstOctave,new Float64Array(t.octaves.shift.amplitudes));return{getBiome(N,D,ee){var ce;const le=Us(M,O,N,N+1,1,D,D+1,1,ee,ee+1,1);return we.parse((ce=u.getA(le[0]))!=null?ce:"unknown")},getBiomes(N,D,ee,le,ce,T,P,V,C){return[...Us(M,O,N,D,ee,le,ce,T,P,V,C)].map(E=>{var L;return we.parse((L=u.getA(E))!=null?L:"unknown")})},getClimate(N,D,ee){const le=Gs(O,N,N+1,1,D,D+1,1,ee,ee+1,1),[ce,T,P,V,C]=le.slice(0,5);return{temperature:ce,humidity:T,continentalness:P,erosion:V,weirdness:C}},getClimates(N,D,ee,le,ce,T,P,V,C){const y=Gs(O,N,D,ee,le,ce,T,P,V,C),E=[];for(let L=0;L{var p;const f=e[`${c}_noise`];return f.firstOctave=rt((p=f.firstOctave)!=null?p:-7,-100,-1),new Tr(new Qe(t.seed+BigInt(d)),f)});return!Array.isArray(e.biomes)||e.biomes.length===0?new mr(we.create("unknown")):{getBiome(c,d,f){const p=u.map(g=>g.sample(c,f,0));let m=1/0,v="";for(const{biome:g,parameters:_}of e.biomes){const b=Gn(_.altitude-p[0])+Gn(_.temperature-p[1])+Gn(_.humidity-p[2])+Gn(_.weirdness-p[3])+Gn(_.offset);br.nextFloat(),nextInt:s=>r.nextInt(s),nextGaussian:()=>Math.sqrt(-2*Math.log(1-r.nextFloat()))*Math.cos(2*Math.PI*r.nextFloat()),sampleInt(s){return bp(s,this)}};for(let s=0;s=n.size[0]||s[1]>=n.size[1]||s[2]>=n.size[2])continue;const l=s[2]*(t.width*4)+s[0]*4,u=aa+l.weight,0);let s=t.nextInt(o);for(const a of e.distribution)if(s-=a.weight,s<0)return t.sampleInt(a.data);return 0}return 1}function bt(e,t){if(!dn(e))throw new Error("Invalid vertical anchor");if(e.absolute)return e.absolute;if(e.above_bottom)return e.above_bottom;if(e.below_top)return 256-e.below_top;throw new Error("Invalid vertical anchor")}function xp(e,t){var n,r,i,o;if(!dn(e))throw new Error("Invalid height provider");if(typeof e.type!="string")return bt(e);switch(Dn(e.type)){case"constant":return bt(e.value);case"uniform":{const s=bt(e.min_inclusive),a=bt(e.max_inclusive);return s+t.nextInt(a-s+1)}case"biased_to_bottom":{const s=bt(e.min_inclusive),a=bt(e.max_inclusive),l=t.nextInt(a-s-((n=e.inner)!=null?n:1)+1);return s+t.nextInt(l+((r=e.inner)!=null?r:1))}case"very_biased_to_bottom":{const s=bt(e.min_inclusive),a=bt(e.max_inclusive),l=(i=e.inner)!=null?i:1,u=s+l+t.nextInt(a-s-l+1),c=s+t.nextInt(u-s);return s+t.nextInt(c-s+l)}case"trapezoid":{const s=bt(e.min_inclusive),a=bt(e.max_inclusive),l=(o=e.plateau)!=null?o:0;if(l>=a-s)return s+t.nextInt(a-s+1);const u=(a-s-l)/2,c=a-s-u;return s+t.nextInt(c+1)+t.nextInt(u+1)}default:throw new Error(`Invalid height provider ${e.type}`)}}function Qs(e,t){const n=t.features.indexOf(e);return n!=-1?n:(t.features.push(e),t.features.length-1)}function wn(e,t,n){var o;if(typeof t=="string"){n.placements.push([e,Qs(t,n)]);return}const r=Dn((o=t==null?void 0:t.type)!=null?o:"no_op"),i=Ap[r];i?i(t.config,e,n):n.placements.push([e,Qs(JSON.stringify(t),n)])}function yo(e,t,n){var o;const r=Dn((o=t==null?void 0:t.type)!=null?o:"nope"),i=kp[r];return i?i(t==null?void 0:t.config,e,n):[e]}const Ap={decorated:(e,t,n)=>{yo(t,e==null?void 0:e.decorator,n).forEach(i=>wn(i,e==null?void 0:e.feature,n))},random_boolean_selector:(e,t,n)=>{const r=n.nextFloat()<.5?e==null?void 0:e.feature_true:e==null?void 0:e.feature_false;wn(t,r,n)},random_selector:(e,t,n)=>{var r,i;for(const o of(r=e==null?void 0:e.features)!=null?r:[])if(n.nextFloat()<((i=o==null?void 0:o.chance)!=null?i:0)){wn(t,o.feature,n);return}wn(t,e==null?void 0:e.default,n)},simple_random_selector:(e,t,n)=>{var i,o,s;const r=(s=e==null?void 0:e.features)==null?void 0:s[n.nextInt((o=(i=e==null?void 0:e.features)==null?void 0:i.length)!=null?o:0)];wn(t,r,n)}},kp={chance:(e,t,n)=>{var r;return n.nextFloat()<1/((r=e==null?void 0:e.chance)!=null?r:1)?[t]:[]},count:(e,t,n)=>{var r;return new Array(n.sampleInt((r=e==null?void 0:e.count)!=null?r:1)).fill(t)},count_extra:(e,t,n)=>{var i,o;let r=(i=e==null?void 0:e.count)!=null?i:1;return n.nextFloat(){var r;return new Array(n.sampleInt((r=e==null?void 0:e.count)!=null?r:1)).fill(t).map(i=>[i[0]+n.nextInt(16),i[1],i[2]+n.nextInt(16)])},count_noise:(e,t,n)=>{const i=n.biomeInfoNoise.sample(t[0]/200,0,t[2]/200){var s;const r=Math.max(1,e.noise_factor),i=n.biomeInfoNoise.sample(t[0]/r,0,t[2]/r),o=Math.max(0,Math.ceil((i+((s=e.noise_offset)!=null?s:0))*e.noise_to_count_ratio));return new Array(o).fill(t)},dark_oak_tree:(e,t,n)=>[...new Array(16)].map((r,i)=>{const o=Math.floor(i/4)*4+1+n.nextInt(3)+t[0],s=Math.max(n.seaLevel,Kt[rt(0,63,o)]),a=Math.floor(i%4)*4+1+n.nextInt(3)+t[2];return[o,s,a]}),decorated:(e,t,n)=>yo(t,e==null?void 0:e.outer,n).flatMap(r=>yo(r,e==null?void 0:e.inner,n)),depth_average:(e,t,n)=>{var i,o,s,a;const r=n.nextInt((i=e==null?void 0:e.spread)!=null?i:0)+n.nextInt((o=e==null?void 0:e.spread)!=null?o:0)-((s=e.spread)!=null?s:0)+((a=e==null?void 0:e.baseline)!=null?a:0);return at(t,r)},emerald_ore:(e,t,n)=>{const r=3+n.nextInt(6);return[...new Array(r)].map(()=>[t[0]+n.nextInt(16),4+n.nextInt(28),t[2]+n.nextInt(16)])},fire:(e,t,n)=>{const r=1+n.nextInt(n.nextInt(n.sampleInt(e==null?void 0:e.count)));return[...new Array(r)].map(()=>[t[0]+n.nextInt(16),n.nextInt(128),t[2]+n.nextInt(16)])},glowstone:(e,t,n)=>{const r=n.nextInt(1+n.nextInt(n.sampleInt(e==null?void 0:e.count)));return[...new Array(r)].map(()=>[t[0]+n.nextInt(16),n.nextInt(128),t[2]+n.nextInt(16)])},heightmap:(e,t,n)=>{const r=Math.max(n.seaLevel,Kt[rt(0,63,t[0])]);return at(t,r)},heightmap_spread_double:(e,t,n)=>{const r=Math.max(n.seaLevel,Kt[rt(0,63,t[0])]);return at(t,n.nextInt(r*2))},heightmap_world_surface:(e,t,n)=>{const r=Math.max(n.seaLevel,Kt[rt(0,63,t[0])]);return at(t,r)},iceberg:(e,t,n)=>[[t[0]+4+n.nextInt(8),t[1],t[2]+4+n.nextInt(8)]],lava_lake:(e,t,n)=>{var r,i;if(n.nextInt(((r=e.chance)!=null?r:1)/10)===0){const o=n.nextInt(n.nextInt(248)+8);if(o[t],range:(e,t,n)=>{var i,o,s;const r=n.nextInt(((i=e==null?void 0:e.maximum)!=null?i:1)-((o=e==null?void 0:e.top_offset)!=null?o:0))+((s=e==null?void 0:e.bottom_offset)!=null?s:0);return at(t,r)},range_biased:(e,t,n)=>{var i,o,s;const r=n.nextInt(n.nextInt(((i=e==null?void 0:e.maximum)!=null?i:1)-((o=e==null?void 0:e.top_offset)!=null?o:0))+((s=e==null?void 0:e.bottom_offset)!=null?s:0));return at(t,r)},range_very_biased:(e,t,n)=>{var i,o,s,a;const r=n.nextInt(n.nextInt(n.nextInt(((i=e==null?void 0:e.maximum)!=null?i:1)-((o=e==null?void 0:e.top_offset)!=null?o:0))+((s=e==null?void 0:e.bottom_offset)!=null?s:0))+((a=e==null?void 0:e.bottom_offset)!=null?a:0));return at(t,r)},spread_32_above:(e,t,n)=>{const r=n.nextInt(t[1]+32);return at(t,r)},top_solid_heightmap:(e,t)=>{const n=Kt[rt(0,63,t[0])];return at(t,n)},magma:(e,t,n)=>{const r=n.nextInt(t[1]+32);return at(t,r)},square:(e,t,n)=>[[t[0]+n.nextInt(16),t[1],t[2]+n.nextInt(16)]],surface_relative_threshold:(e,t)=>{var o,s;const n=Kt[rt(0,63,t[0])],r=n+((o=e==null?void 0:e.min_inclusive)!=null?o:-1/0),i=n+((s=e==null?void 0:e.max_inclusive)!=null?s:1/0);return t[1]i?[t]:[]},water_lake:(e,t,n)=>{var r;return n.nextInt((r=e.chance)!=null?r:1)===0?[[t[0]+n.nextInt(16),n.nextInt(256),t[2]+n.nextInt(16)]]:[]}};function Sp(e,t,n){var i;let r=[e];for(const o of t)!ea[Dn((i=o==null?void 0:o.type)!=null?i:"nope")]||(r=r.flatMap(a=>ea[Dn(o.type)](o,a,n)));for(const o of r)n.placements.push([o,0])}const ea={count:({count:e},t,n)=>new Array(n.sampleInt(e!=null?e:1)).fill(t),count_on_every_layer:({count:e},t,n)=>new Array(n.sampleInt(e!=null?e:1)).fill(t).map(r=>[r[0]+n.nextInt(16),r[1],r[2]+n.nextInt(16)]),environment_scan:({},e)=>[e],height_range:({height:e},t,n)=>at(t,xp(e,n)),heightmap:({},e,t)=>{const n=Math.max(t.seaLevel,Kt[rt(0,63,e[0])]);return at(e,n)},in_square:({},e,t)=>[[e[0]+t.nextInt(16),e[1],e[2]+t.nextInt(16)]],noise_based_count:({noise_to_count_ratio:e,noise_factor:t,noise_offset:n},r,i)=>{const o=Math.max(1,t),s=i.biomeInfoNoise.sample(r[0]/o,0,r[2]/o),a=Math.max(0,Math.ceil((s+(n!=null?n:0))*e));return new Array(a).fill(r)},noise_threshold_count:({noise_level:e,below_noise:t,above_noise:n},r,i)=>{const s=i.biomeInfoNoise.sample(r[0]/200,0,r[2]/200)[[n[0]+r.sampleInt(e),n[1]+r.sampleInt(t),n[2]+r.sampleInt(e)]],rarity_filter:({chance:e},t,n)=>n.nextFloat()<1/(e!=null?e:1)?[t]:[]};class Ep{constructor(){this.d=qs,this.deepslateCache=new Map,this.Z=0,this.chunksCache=[]}async loadVersion(t){if(this.loadedVersion!==t)return(this.loadingVersion!==t||!this.loadingPromise)&&(this.loadingVersion=t,this.loadingPromise=this.doLoadVersion(t)),this.loadingPromise}async doLoadVersion(t){const n=this.deepslateCache.get(t);if(n)this.d=n;else{if(Ye(t,"1.19")?this.d=qs:Ye(t,"1.18.2")?this.d=await ae(()=>import("./deepslate.esm.b3232c19.js"),["assets/deepslate.esm.b3232c19.js","assets/vec3.7a0b0b73.js"]):this.d=await ae(()=>import("./deepslate.esm.722e0796.js"),["assets/deepslate.esm.722e0796.js","assets/vec3.7a0b0b73.js"]),this.d.WorldgenRegistries){const r=[["worldgen/noise","NOISE",this.d.NoiseParameters],["worldgen/density_function","DENSITY_FUNCTION",this.d.DensityFunction]];await Promise.all(r.map(async([i,o,s])=>{const a=await b0(t,i),l=new this.d.Registry(this.d.Identifier.create(i));for(const[u,c]of a.entries())l.register(this.d.Identifier.parse(u),s.fromJson(c));this.d.WorldgenRegistries[o].assign(l)}))}this.deepslateCache.set(t,this.d)}this.loadedVersion=t,this.loadingVersion=void 0}loadChunkGenerator(t,n,r="unknown"){if(!this.loadedVersion)throw new Error("No deepslate version loaded");const i=[t,`${n}`,r];if(!sn(this.cacheState,i)){const o=new this.d.FixedBiome(Ye(this.loadedVersion,"1.18.2")?this.d.Identifier.parse(r):r);console.log(this.d);const s=this.d.NoiseGeneratorSettings.fromJson(B.DataModel.unwrapLists(t)),a=new this.d.NoiseChunkGenerator(n,o,s);this.settingsCache=s.noise,this.generatorCache=a,this.chunksCache=[],this.cacheState=Oi(i)}}generateChunks(t,n,r="unknown"){if(t=Math.floor(t),!this.settingsCache)throw new Error("Tried to generate chunks before settings are loaded");const i=this.settingsCache.minY,o=this.settingsCache.height;return[...Array(Math.ceil(n/16)+1)].map((s,a)=>{const l=(t>>4)+a,u=this.chunksCache.find(d=>d.pos[0]===l);if(u)return u;const c=new this.d.Chunk(i,o,this.d.ChunkPos.create(l,this.Z>>4));if(!this.generatorCache)throw new Error("Tried to generate chunks before generator is loaded");return this.generatorCache.fill(c,!0),this.generatorCache.buildSurface(c,r),this.chunksCache.push(c),c})}loadDensityFunction(t,n){const r=this.d.XoroshiroRandom.create(n).forkPositional(),i=this.d.NoiseSettings.fromJson({min_y:-64,height:384,size_horizontal:1,size_vertical:2,sampling:{xz_scale:1,y_scale:1,xz_factor:80,y_factor:160},bottom_slide:{target:.1171875,size:3,offset:0},top_slide:{target:-.078125,size:2,offset:8},terrain_shaper:{offset:.044,factor:4,jaggedness:0}});return this.settingsCache=i,this.d.DensityFunction.fromJson(t).mapAll(new this.d.NoiseRouter.Visitor(r,i))}getNoiseSettings(){if(!this.settingsCache)throw new Error("Tried to access noise settings when they are not loaded");return this.settingsCache}getBlockState(t,n){t=Math.floor(t),n=Math.floor(n);const r=this.chunksCache.find(i=>this.d.ChunkPos.minBlockX(i.pos)<=t&&this.d.ChunkPos.maxBlockX(i.pos)>=t);return r==null?void 0:r.getBlockState(this.d.BlockPos.create(t,n,this.Z))}}class Cp{constructor(t){this.settings={},this.chunkWidth=4,this.chunkHeight=4,this.chunkCountY=32,this.biomeDepth=.1,this.biomeScale=.2,this.noiseColumnCache=[],this.xOffset=0;const n=new Qe(t);this.minLimitPerlinNoise=new ve(n,-15,[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]),this.maxLimitPerlinNoise=new ve(n,-15,[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]),this.mainPerlinNoise=new ve(n,-7,[1,1,1,1,1,1,1,1]),this.depthNoise=new ve(n,-15,[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1])}reset(t,n,r,i,o){this.settings=t,this.chunkWidth=t.size_horizontal*4,this.chunkHeight=t.size_vertical*4,this.chunkCountY=Math.floor(t.height/this.chunkHeight),t.amplified&&n>0&&(n=1+n*2,r=1+r*4),this.biomeDepth=.265625*(n*.5-.125),this.biomeScale=96/(r*.9+.1),this.noiseColumnCache=Array(o).fill(null),this.xOffset=i}iterateNoiseColumn(t){const n=Array(this.chunkCountY*this.chunkHeight),r=Math.floor(t/this.chunkWidth),i=Math.floor(t%this.chunkWidth)/this.chunkWidth,o=this.fillNoiseColumn(r),s=this.fillNoiseColumn(r+1);for(let a=this.chunkCountY-1;a>=0;a-=1)for(let l=this.chunkHeight;l>=0;l-=1){const u=l/this.chunkHeight,c=a*this.chunkHeight+l;n[c]=a0(u,i,o[a],o[a+1],s[a],s[a+1])}return n}fillNoiseColumn(t){const n=this.noiseColumnCache[t-this.xOffset];if(n)return n;const r=Array(this.chunkCountY+1),i=684.412*this.settings.sampling.xz_scale,o=684.412*this.settings.sampling.y_scale,s=i/this.settings.sampling.xz_factor,a=o/this.settings.sampling.y_factor,l=this.settings.random_density_offset?this.getRandomDensity(t):0;for(let u=0;u<=this.chunkCountY;u+=1){let c=this.sampleAndClampNoise(t,u,this.mainPerlinNoise.getOctaveNoise(0).zo,i,o,s,a);const p=((1-u*2/this.chunkCountY+l)*this.settings.density_factor+this.settings.density_offset+this.biomeDepth)*this.biomeScale;c+=p*(p>0?4:1),this.settings.top_slide.size>0&&(c=Gi(this.settings.top_slide.target,c,(this.chunkCountY-u-this.settings.top_slide.offset)/this.settings.top_slide.size)),this.settings.bottom_slide.size>0&&(c=Gi(this.settings.bottom_slide.target,c,(u-this.settings.bottom_slide.offset)/this.settings.bottom_slide.size)),r[u]=c}return this.noiseColumnCache[t-this.xOffset]=r,r}getRandomDensity(t){const n=this.depthNoise.sample(t*200,10,this.depthNoise.getOctaveNoise(0).zo,1,0,!0),i=(n<0?-n*.3:n)*24.575625-2;return i<0?i*.009486607142857142:Math.min(i,1)*.006640625}sampleAndClampNoise(t,n,r,i,o,s,a){let l=0,u=0,c=0,d=1;for(let f=0;f<16;f+=1){const p=ve.wrap(t*i*d),m=ve.wrap(n*o*d),v=ve.wrap(r*i*d),g=o*d,_=this.minLimitPerlinNoise.getOctaveNoise(f);_&&(l+=_.sample(p,m,v,g,n*g)/d);const b=this.maxLimitPerlinNoise.getOctaveNoise(f);if(b&&(u+=b.sample(p,m,v,g,n*g)/d),f<8){const w=this.mainPerlinNoise.getOctaveNoise(f);w&&(c+=w.sample(ve.wrap(t*s*d),ve.wrap(n*a*d),ve.wrap(r*s*d),a*d,n*a*d)/d)}d/=2}return Gi(l/512,u/512,(c/10+1)/2)}}const Ip={"minecraft:air":[150,160,170],"minecraft:water":[20,80,170],"minecraft:lava":[200,100,0],"minecraft:stone":[55,55,55],"minecraft:deepslate":[34,34,36],"minecraft:bedrock":[10,10,10],"minecraft:grass_block":[47,120,23],"minecraft:dirt":[64,40,8],"minecraft:gravel":[70,70,70],"minecraft:sand":[196,180,77],"minecraft:sandstone":[148,135,52],"minecraft:netherrack":[100,40,40],"minecraft:crimson_nylium":[144,22,22],"minecraft:warped_nylium":[28,115,113],"minecraft:basalt":[73,74,85],"minecraft:end_stone":[200,200,140]},$t=new Ep;async function Mp(e,t,n){var s,a,l,u;if(Ye(n.version,"1.18")){await $t.loadVersion(n.version),$t.loadChunkGenerator(e,n.seed,n.biome),$t.generateChunks(-n.offset,n.width,n.biome);const c=$t.getNoiseSettings(),d=t.data;for(let f=0;f0?0:e[t+1]>0?150:255}function Lp(e,t,n){const r=new Qe(n.seed),i=Pn.fromJson(B.DataModel.unwrapLists(e)),o=new Tr(r,i),s=-n.offset[0]-100,a=-n.offset[1]-100,l=t.data;for(let u=0;u<256;u+=1)for(let c=0;c<256;c+=1){const d=u*4+c*4*256,f=(u+s)*n.scale,p=(c+a)*n.scale,m=(o.sample(f,p,0)+1)*128;l[d]=m,l[d+1]=m,l[d+2]=m,l[d+3]=255}}const Rp=["biomes","temperature","humidity","continentalness","erosion","weirdness"],Pp=({model:e,data:t,shown:n,version:r})=>{var k,I;const{locale:i}=Ee(),[o]=$(zt()),[s,a]=$(2),[l,u]=$(void 0),[c,d]=$(new Set(["biomes"])),f=me([0,0]),p=me(1),m=me(),v=BigInt((k=e.get(new B.Path(["generator","seed"])))!=null?k:o),g=Ae(()=>{if(!!n)return Dp(e.get(new B.Path(["generator","settings"])))},[n]),_=n?$p(t,g):"",b=(I=t.type)==null?void 0:I.replace(/^minecraft:/,""),{canvas:w,redraw:x}=Ir({size(){return[200/p.current,200/p.current]},async draw(S){const M={octaves:g,biomeColors:{},layers:c,offset:f.current,scale:s,seed:v,res:p.current,version:r};await dp(t,S,M),p.current===4&&(clearTimeout(m.current),m.current=setTimeout(()=>{p.current=1,x()},150))},async onDrag(S,M){f.current[0]=f.current[0]+S*200,f.current[1]=f.current[1]+M*200,clearTimeout(m.current),p.current=b==="multi_noise"?4:1,x()},async onHover(S,M){const O={octaves:g,biomeColors:{},layers:c,offset:f.current,scale:s,seed:o,res:1,version:r},N=await hp(t,Math.floor(S*200),Math.floor(M*200),O);u(N)},onLeave(){u(void 0)}},[r,_,s,o,c]);K(()=>{n&&(p.current=b==="multi_noise"?4:1,x())},[r,_,s,o,c,n]);const A=S=>{f.current[0]=f.current[0]*s/S,f.current[1]=f.current[1]*s/S,a(S)};return h(ne,null,h("div",{class:"controls preview-controls"},l&&h(q,{label:l.biome,class:"no-pointer"}),b==="multi_noise"&&h(Ke,{icon:"stack",tooltip:i("configure_layers")},Rp.map(S=>{const M=c.has(S);return h(q,{label:i(`layer.${S}`),active:M,tooltip:i(M?"enabled":"disabled"),onClick:O=>{d(new Set([S])),O.stopPropagation()}})})),(b==="multi_noise"||b==="checkerboard")&&h(ne,null,h(q,{icon:"dash",tooltip:i("zoom_out"),onClick:()=>A(s*1.5)}),h(q,{icon:"plus",tooltip:i("zoom_in"),onClick:()=>A(s/1.5)})),b==="multi_noise"&&h(q,{icon:"sync",tooltip:i("generate_new_seed"),onClick:()=>Hl(e)})),(l==null?void 0:l.temperature)!==void 0&&h("div",{class:"controls secondary-controls"},h(q,{class:"no-pointer",label:Object.entries(l).filter(([S])=>S!=="biome").map(([S,M])=>`${S[0].toUpperCase()}: ${M.toFixed(2)}`).join(" ")})),h("canvas",{ref:w,width:"200",height:"200"}))};function $p(e,t){return JSON.stringify([e,t])}function Dp(e){switch(typeof e!="string"&&(e=e.legacy_random_source?"minecraft:nether":"minecraft:overworld"),e.replace(/^minecraft:/,"")){case"overworld":case"amplified":return{temperature:{firstOctave:-9,amplitudes:[1.5,0,1,0,0,0]},humidity:{firstOctave:-7,amplitudes:[1,1,0,0,0,0]},continentalness:{firstOctave:-9,amplitudes:[1,1,2,2,2,1,1,1,1]},erosion:{firstOctave:-9,amplitudes:[1,1,0,1,1]},weirdness:{firstOctave:-7,amplitudes:[1,2,1,0,0,0]},shift:{firstOctave:-3,amplitudes:[1,1,1,0]}};case"end":case"floating_islands":return{temperature:{firstOctave:0,amplitudes:[0]},humidity:{firstOctave:0,amplitudes:[0]},continentalness:{firstOctave:0,amplitudes:[0]},erosion:{firstOctave:0,amplitudes:[0]},weirdness:{firstOctave:0,amplitudes:[0]},shift:{firstOctave:0,amplitudes:[0]}};default:return{temperature:{firstOctave:-7,amplitudes:[1,1]},humidity:{firstOctave:-7,amplitudes:[1,1]},continentalness:{firstOctave:-7,amplitudes:[1,1]},erosion:{firstOctave:-7,amplitudes:[1,1]},weirdness:{firstOctave:-7,amplitudes:[1,1]},shift:{firstOctave:0,amplitudes:[0]}}}}const Bp=({data:e,version:t,shown:n})=>{const{locale:r}=Ee(),[i,o]=$(4),[s,a]=$(zt()),l=JSON.stringify(e),{canvas:u,redraw:c}=Ir({size(){return[i*16,i*16]},async draw(d){yp(e,d,{seed:s,version:t,size:[i*16,128,i*16]})}},[t,l,s]);return K(()=>{n&&c()},[t,l,i,s,n]),h(ne,null,h("div",{class:"controls preview-controls"},h(q,{icon:"dash",tooltip:r("zoom_out"),onClick:()=>o(Math.min(16,i+1))}),h(q,{icon:"plus",tooltip:r("zoom_in"),onClick:()=>o(Math.max(1,i-1))}),h(q,{icon:"sync",tooltip:r("generate_new_seed"),onClick:()=>a(zt())})),h("canvas",{ref:u,width:"64",height:"64"}))},Fp=({data:e,shown:t,version:n})=>{var g,_;const{locale:r}=Ee(),[i,o]=$(zt()),[s,a]=$(!1),[l,u]=$(void 0),c=me(0),d=me(void 0),f=JSON.stringify([e]),p=(_=(g=e==null?void 0:e.noise)==null?void 0:g.height)!=null?_:256,{canvas:m,redraw:v}=Ir({size(){return[p,p]},async draw(b){const w={offset:c.current,width:b.width,seed:i,version:n};await Tp(e,b,w)},async onDrag(b){c.current+=b*p,v()},async onHover(b,w){var k,I;const x=Math.floor(b*p-c.current),A=p-Math.max(1,Math.ceil(w*p))+((I=(k=e==null?void 0:e.noise)==null?void 0:k.min_y)!=null?I:0);u(`X=${x} Y=${A}`)},onLeave(){u(void 0)}},[n,f,i]);return K(()=>{d.current&&clearInterval(d.current),t&&(v(),s&&(d.current=setInterval(()=>{c.current-=8,v()},100)))},[n,f,i,t,s]),h(ne,null,h("div",{class:"controls preview-controls"},l&&h(q,{label:l,class:"no-pointer"}),h(Ke,{icon:"gear",tooltip:r("terrain_settings")},h(q,{icon:s?"square_fill":"square",label:r("preview.auto_scroll"),onClick:()=>a(!s)})),h(q,{icon:"sync",tooltip:r("generate_new_seed"),onClick:()=>o(zt())})),h("canvas",{ref:m,width:p,height:p}))},zp=({data:e,shown:t,version:n})=>{const{locale:r}=Ee(),[i,o]=$(zt()),[s,a]=$(2),l=me([0,0]),u=JSON.stringify([e]),{canvas:c,redraw:d}=Ir({size(){return[256,256]},async draw(p){const m={offset:l.current,scale:s,seed:i,version:n};Lp(e,p,m)},async onDrag(p,m){l.current[0]=l.current[0]+p*256,l.current[1]=l.current[1]+m*256,d()}},[n,u,s,i]);K(()=>{t&&d()},[n,u,s,i,t]);const f=p=>{l.current[0]=l.current[0]*s/p,l.current[1]=l.current[1]*s/p,a(p)};return h(ne,null,h("div",{class:"controls preview-controls"},h(q,{icon:"dash",tooltip:r("zoom_out"),onClick:()=>f(s*1.5)}),h(q,{icon:"plus",tooltip:r("zoom_in"),onClick:()=>f(s/1.5)}),h(q,{icon:"sync",tooltip:r("generate_new_seed"),onClick:()=>o(zt())})),h("canvas",{ref:c,width:"256",height:"256"}))},jp=({data:e,shown:t,version:n})=>{var I,S;const{locale:r}=Ee(),[i,o]=$(zt()),[s,a]=$("minecraft:plains"),[l,u]=$(.2),[c,d]=$(.1),[f,p]=$(!1),[m,v]=$(void 0),g=me(0),_=me(void 0),b=JSON.stringify([e,l,c]),w=(S=(I=e==null?void 0:e.noise)==null?void 0:I.height)!=null?S:256,{canvas:x,redraw:A}=Ir({size(){return[w,w]},async draw(M){const O={biome:s,biomeDepth:c,biomeScale:l,offset:g.current,width:M.width,seed:i,version:n};await Mp(e,M,O)},async onDrag(M){g.current+=M*w,A()},async onHover(M,O){var le,ce;const N=Math.floor(M*w-g.current),D=w-Math.max(1,Math.ceil(O*w))+((ce=(le=e==null?void 0:e.noise)==null?void 0:le.min_y)!=null?ce:0),ee=Op(N,D);v(ee?`Y=${D} (${ee.getName().path})`:`Y=${D}`)},onLeave(){v(void 0)}},[b,i]);K(()=>{_.current&&clearInterval(_.current),t&&(async()=>{try{await A(),f&&(_.current=setInterval(()=>{g.current-=8,A()},100))}catch(M){throw M}})()},[n,b,i,t,s,l,c,f]);const k=Ae(()=>{var M;return(M=Zr==null?void 0:Zr.get("worldgen/biome"))!=null?M:[]},[n]);return h(ne,null,h("div",{class:"controls preview-controls"},m&&h(q,{label:m,class:"no-pointer"}),h(Ke,{icon:"gear",tooltip:r("terrain_settings")},Ye(n,void 0,"1.17")?h(ne,null,h(qr,{label:r("preview.scale"),value:`${l}`,onChange:M=>u(Number(M))}),h(qr,{label:r("preview.depth"),value:`${c}`,onChange:M=>d(Number(M))})):h(qr,{label:r("preview.biome"),value:s,onChange:a,dataList:k,larger:!0}),h(q,{icon:f?"square_fill":"square",label:r("preview.auto_scroll"),onClick:()=>p(!f)})),h(q,{icon:"sync",tooltip:r("generate_new_seed"),onClick:()=>o(zt())})),h("canvas",{ref:x,width:w,height:w}))},Vp=["dimension","worldgen/density_function","worldgen/noise","worldgen/noise_settings","worldgen/configured_feature","worldgen/placed_feature"];function Hp({model:e,version:t,id:n,shown:r}){var o;const[,i]=$(0);if(Ti(e,()=>{i(s=>s+1)}),!e)return h(ne,null);if(n==="dimension"&&((o=e.get(new B.Path(["generator","type"])))==null?void 0:o.endsWith("noise"))){const s=e.get(new B.Path(["generator","biome_source"]));if(s)return h(Pp,{model:e,version:t,shown:r,data:s})}if(n==="worldgen/density_function"){const s=e.get(new B.Path([]));if(s)return h(Fp,{model:e,version:t,shown:r,data:s})}if(n==="worldgen/noise"){const s=e.get(new B.Path([]));if(s)return h(zp,{model:e,version:t,shown:r,data:s})}if(n==="worldgen/noise_settings"){const s=e.get(new B.Path([]));if(s)return h(jp,{model:e,version:t,shown:r,data:s})}if(n==="worldgen/placed_feature"||n==="worldgen/configured_feature"&&Ye(t,"1.16","1.17")){const s=e.get(new B.Path([]));if(s)return h(Bp,{model:e,version:t,shown:r,data:s})}return h(ne,null)}function Qr(e,t){return e.schema.hook(Up,new B.ModelPath(e),e.data,{blockStates:t})}const Up={base({},e,t){return t},choice({switchNode:e},t,n,r){return e.hook(this,t,n,r)},list({children:e},t,n,r){if(!Array.isArray(n))return n;const i=n.map((o,s)=>e.hook(this,t.push(s),o.node,r));for(const o of Object.getOwnPropertySymbols(n))i[o]=n[o];return i},map({children:e,config:t},n,r,i){var a,l;if(r===void 0)return;const o=((a=t.validation)==null?void 0:a.validator)==="block_state_map"?(l=i.blockStates)==null?void 0:l[B.relativePath(n,t.validation.params.id).get()]:null,s={};Object.keys(r).forEach(u=>{var c;o&&!Object.keys((c=o.properties)!=null?c:{}).includes(u)||(s[u]=e.hook(this,n.push(u),r[u],i))});for(const u of Object.getOwnPropertySymbols(r))s[u]=r[u];return s},object({getActiveFields:e},t,n,r){if(n==null||typeof n!="object")return n;const i={},o=e(t);Object.keys(o).filter(s=>o[s].enabled(t)).forEach(s=>{const a=o[s].hook(this,t.push(s),n[s],r);a!=null&&(i[s]=a)});for(const s of Object.getOwnPropertySymbols(n))i[s]=n[s];return i}},Zi={"2_spaces":2,"4_spaces":4,tabs:" ",minified:void 0};let Yn=null;const Xi={json:{parse:async e=>{try{return JSON.parse(e)}catch{return Yn=await ae(()=>import("./index.9d4d1607.js").then(function(n){return n.i}),[]),Yn.parse(e)}},stringify:(e,t)=>(Yn!=null?Yn:JSON).stringify(e,null,t)+` +`},yaml:{parse:async e=>uo.load(e),stringify:(e,t)=>uo.dump(e,{flowLevel:t===void 0?0:-1,indent:typeof t=="string"?4:t})}};function Gp({name:e,model:t,blockStates:n,doCopy:r,doDownload:i,doImport:o,copySuccess:s,onError:a}){const{locale:l}=Ee(),[u,c]=$($e.getIndent()),[d,f]=$($e.getFormat()),[p,m]=$($e.getHighlighting()),[v,g]=$(!1),_=me(null),b=me(()=>{}),w=me(async()=>{}),x=me(null),A=me(),k=Me((O,N)=>{const D=Qr(O,N);return Xi[d].stringify(D,Zi[u])},[u,d]);K(()=>{b.current=()=>{if(!!A.current&&!(!t||!n))try{const O=k(t,n);A.current.setValue(O)}catch(O){O instanceof Error?(O.message=`Error getting JSON output: ${O.message}`,a(O)):a(`Error getting JSON output: ${ct(O)}`),console.error(O),A.current.setValue("")}},w.current=async()=>{if(!A.current)return;const O=A.current.getValue();if(O.length!==0)try{const N=await Xi[d].parse(O);t==null||t.reset(B.DataModel.wrapLists(N),!1)}catch(N){N instanceof Error?(N.message=`Error importing: ${N.message}`,a(N)):a(`Error importing: ${ct(N)}`),console.error(N)}}},[t,n,u,d,p]),K(()=>{p?(g(!1),A.current={getValue(){return""},setValue(){},configure(){},select(){}},ae(()=>import("./index.8ac52a74.js").then(function(O){return O.i}),[]).then(async O=>{await Promise.all([ae(()=>import("./json.c327d69b.js").then(function(D){return D.j}),[]),ae(()=>import("./yaml.e8f3b9ab.js"),[])]);const N=O.edit("editor");N.setOptions({fontSize:14,showFoldWidgets:!1,highlightSelectedWord:!1}),N.$blockScrolling=1/0,N.on("blur",()=>w.current()),N.getSession().setMode("ace/mode/json"),A.current={getValue(){return N.getSession().getValue()},setValue(D){N.getSession().setValue(D)},configure(D,ee){N.setOption("useSoftTabs",D!=="tabs"),N.setOption("tabSize",D==="tabs"?4:Zi[D]),N.getSession().setMode(`ace/mode/${ee}`)},select(){N.selectAll()}},g(!0)})):A.current={getValue(){return x.current?x.current.value:""},setValue(O){!x.current||(x.current.value=O)},configure(){},select(){}}},[p]),Ti(t,()=>{!b.current||b.current()}),K(()=>{!b.current||t&&b.current()},[t]),K(()=>{!A.current||!b.current||(!p||v)&&(A.current.configure(u,d),b.current())},[u,d,p,v]),K(()=>{r&&t&&n&&navigator.clipboard.writeText(k(t,n)).then(()=>{s()})},[r]),K(()=>{if(i&&t&&n&&_.current){const O=encodeURIComponent(k(t,n));_.current.setAttribute("href",`data:text/json;charset=utf-8,${O}`),_.current.setAttribute("download",`${e}.${d}`),_.current.click()}},[i]),K(()=>{o&&A.current&&(A.current.setValue(""),A.current.select())},[o]);const I=O=>{$e.setIndent(O),c(O)},S=O=>{$e.setFormat(O),f(O)},M=O=>{$e.setHighlighting(O),m(O)};return h(ne,null,h("div",{class:"controls source-controls"},h(Ke,{icon:"gear",tooltip:l("output_settings"),"data-cy":"source-controls"},Object.entries(Zi).map(([O])=>h(q,{label:l(`indentation.${O}`),active:u===O,onClick:()=>I(O)})),h("hr",null),Object.keys(Xi).map(O=>h(q,{label:l(`format.${O}`),active:d===O,onClick:()=>S(O)})),h("hr",null),h(q,{icon:p?"square_fill":"square",label:l("highlighting"),onClick:()=>M(!p)}))),p?h("pre",{id:"editor",class:"source"}):h("textarea",{ref:x,class:"source",spellcheck:!1,autocorrect:"off",onBlur:w.current}),h("a",{ref:_,style:"display: none;"}))}function Mc(e,t){for(var n in t)e[n]=t[n];return e}function bo(e,t){for(var n in e)if(n!=="__source"&&!(n in t))return!0;for(var r in t)if(r!=="__source"&&e[r]!==t[r])return!0;return!1}function xo(e){this.props=e}function Oc(e,t){function n(i){var o=this.props.ref,s=o==i.ref;return!s&&o&&(o.call?o(null):o.current=null),t?!t(this.props,i)||!s:bo(this.props,i)}function r(i){return this.shouldComponentUpdate=n,h(e,i)}return r.displayName="Memo("+(e.displayName||e.name)+")",r.prototype.isReactComponent=!0,r.__f=!0,r}(xo.prototype=new mt).isPureReactComponent=!0,xo.prototype.shouldComponentUpdate=function(e,t){return bo(this.props,e)||bo(this.state,t)};var ta=U.__b;U.__b=function(e){e.type&&e.type.__f&&e.ref&&(e.props.ref=e.ref,e.ref=null),ta&&ta(e)};var Yp=typeof Symbol!="undefined"&&Symbol.for&&Symbol.for("react.forward_ref")||3911;function Wp(e){function t(n,r){var i=Mc({},n);return delete i.ref,e(i,(r=n.ref||r)&&(typeof r!="object"||"current"in r)?r:null)}return t.$$typeof=Yp,t.render=t,t.prototype.isReactComponent=t.__f=!0,t.displayName="ForwardRef("+(e.displayName||e.name)+")",t}var na=function(e,t){return e==null?null:gt(gt(e).map(t))},qp={map:na,forEach:na,count:function(e){return e?gt(e).length:0},only:function(e){var t=gt(e);if(t.length!==1)throw"Children.only";return t[0]},toArray:gt},Zp=U.__e;U.__e=function(e,t,n){if(e.then){for(var r,i=t;i=i.__;)if((r=i.__c)&&r.__c)return t.__e==null&&(t.__e=n.__e,t.__k=n.__k),r.__c(e,t)}Zp(e,t,n)};var ra=U.unmount;function ei(){this.__u=0,this.t=null,this.__b=null}function Tc(e){var t=e.__.__c;return t&&t.__e&&t.__e(e)}function Xp(e){var t,n,r;function i(o){if(t||(t=e()).then(function(s){n=s.default||s},function(s){r=s}),r)throw r;if(!n)throw t;return h(n,o)}return i.displayName="Lazy",i.__f=!0,i}function Xn(){this.u=null,this.o=null}U.unmount=function(e){var t=e.__c;t&&t.__R&&t.__R(),t&&e.__h===!0&&(e.type=null),ra&&ra(e)},(ei.prototype=new mt).__c=function(e,t){var n=t.__c,r=this;r.t==null&&(r.t=[]),r.t.push(n);var i=Tc(r.__v),o=!1,s=function(){o||(o=!0,n.__R=null,i?i(a):a())};n.__R=s;var a=function(){if(!--r.__u){if(r.state.__e){var u=r.state.__e;r.__v.__k[0]=function d(f,p,m){return f&&(f.__v=null,f.__k=f.__k&&f.__k.map(function(v){return d(v,p,m)}),f.__c&&f.__c.__P===p&&(f.__e&&m.insertBefore(f.__e,f.__d),f.__c.__e=!0,f.__c.__P=m)),f}(u,u.__c.__P,u.__c.__O)}var c;for(r.setState({__e:r.__b=null});c=r.t.pop();)c.forceUpdate()}},l=t.__h===!0;r.__u++||l||r.setState({__e:r.__b=r.__v.__k[0]}),e.then(s,s)},ei.prototype.componentWillUnmount=function(){this.t=[]},ei.prototype.render=function(e,t){if(this.__b){if(this.__v.__k){var n=document.createElement("div"),r=this.__v.__k[0].__c;this.__v.__k[0]=function o(s,a,l){return s&&(s.__c&&s.__c.__H&&(s.__c.__H.__.forEach(function(u){typeof u.__c=="function"&&u.__c()}),s.__c.__H=null),(s=Mc({},s)).__c!=null&&(s.__c.__P===l&&(s.__c.__P=a),s.__c=null),s.__k=s.__k&&s.__k.map(function(u){return o(u,a,l)})),s}(this.__b,n,r.__O=r.__P)}this.__b=null}var i=t.__e&&h(ne,null,e.fallback);return i&&(i.__h=null),[h(ne,null,t.__e?null:e.children),i]};var ia=function(e,t,n){if(++n[1]===n[0]&&e.o.delete(t),e.props.revealOrder&&(e.props.revealOrder[0]!=="t"||!e.o.size))for(n=e.u;n;){for(;n.length>3;)n.pop()();if(n[1]>>1,1),t.i.removeChild(r)}}),In(h(Jp,{context:t.context},e.__v),t.l)):t.l&&t.componentWillUnmount()}function Qp(e,t){return h(Kp,{__v:e,i:t})}(Xn.prototype=new mt).__e=function(e){var t=this,n=Tc(t.__v),r=t.o.get(e);return r[0]++,function(i){var o=function(){t.props.revealOrder?(r.push(i),ia(t,e,r)):i()};n?n(o):o()}},Xn.prototype.render=function(e){this.u=null,this.o=new Map;var t=gt(e.children);e.revealOrder&&e.revealOrder[0]==="b"&&t.reverse();for(var n=t.length;n--;)this.o.set(t[n],this.u=[1,0,this.u]);return e.children},Xn.prototype.componentDidUpdate=Xn.prototype.componentDidMount=function(){var e=this;this.o.forEach(function(t,n){ia(e,n,t)})};var Nc=typeof Symbol!="undefined"&&Symbol.for&&Symbol.for("react.element")||60103,e1=/^(?:accent|alignment|arabic|baseline|cap|clip(?!PathU)|color|fill|flood|font|glyph(?!R)|horiz|marker(?!H|W|U)|overline|paint|stop|strikethrough|stroke|text(?!L)|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/,t1=function(e){return(typeof Symbol!="undefined"&&typeof Symbol()=="symbol"?/fil|che|rad/i:/fil|che|ra/i).test(e)};function n1(e,t,n){return t.__k==null&&(t.textContent=""),In(e,t),typeof n=="function"&&n(),e?e.__c:null}function r1(e,t,n){return Ua(e,t),typeof n=="function"&&n(),e?e.__c:null}mt.prototype.isReactComponent={},["componentWillMount","componentWillReceiveProps","componentWillUpdate"].forEach(function(e){Object.defineProperty(mt.prototype,e,{configurable:!0,get:function(){return this["UNSAFE_"+e]},set:function(t){Object.defineProperty(this,e,{configurable:!0,writable:!0,value:t})}})});var oa=U.event;function i1(){}function o1(){return this.cancelBubble}function s1(){return this.defaultPrevented}U.event=function(e){return oa&&(e=oa(e)),e.persist=i1,e.isPropagationStopped=o1,e.isDefaultPrevented=s1,e.nativeEvent=e};var Lc,sa={configurable:!0,get:function(){return this.class}},aa=U.vnode;U.vnode=function(e){var t=e.type,n=e.props,r=n;if(typeof t=="string"){for(var i in r={},n){var o=n[i];i==="value"&&"defaultValue"in n&&o==null||(i==="defaultValue"&&"value"in n&&n.value==null?i="value":i==="download"&&o===!0?o="":/ondoubleclick/i.test(i)?i="ondblclick":/^onchange(textarea|input)/i.test(i+t)&&!t1(n.type)?i="oninput":/^on(Ani|Tra|Tou|BeforeInp)/.test(i)?i=i.toLowerCase():e1.test(i)?i=i.replace(/[A-Z0-9]/,"-$&").toLowerCase():o===null&&(o=void 0),r[i]=o)}t=="select"&&r.multiple&&Array.isArray(r.value)&&(r.value=gt(n.children).forEach(function(s){s.props.selected=r.value.indexOf(s.props.value)!=-1})),t=="select"&&r.defaultValue!=null&&(r.value=gt(n.children).forEach(function(s){s.props.selected=r.multiple?r.defaultValue.indexOf(s.props.value)!=-1:r.defaultValue==s.props.value})),e.props=r}t&&n.class!=n.className&&(sa.enumerable="className"in n,n.className!=null&&(r.class=n.className),Object.defineProperty(r,"className",sa)),e.$$typeof=Nc,aa&&aa(e)};var la=U.__r;U.__r=function(e){la&&la(e),Lc=e.__c};var a1={ReactCurrentDispatcher:{current:{readContext:function(e){return Lc.__n[e.__c].props.value}}}};typeof performance=="object"&&typeof performance.now=="function"&&performance.now.bind(performance);function l1(e){return h.bind(null,e)}function Rc(e){return!!e&&e.$$typeof===Nc}function c1(e){return Rc(e)?Ga.apply(null,arguments):e}function u1(e){return!!e.__k&&(In(null,e),!0)}function d1(e){return e&&(e.base||e.nodeType===1&&e)||null}var h1=function(e,t){return e(t)},Ao={useState:$,useReducer:Ka,useEffect:K,useLayoutEffect:Qa,useRef:me,useImperativeHandle:Ou,useMemo:Ae,useCallback:Me,useContext:zn,useDebugValue:Tu,version:"16.8.0",Children:qp,render:n1,hydrate:r1,unmountComponentAtNode:u1,createPortal:Qp,createElement:h,createContext:Bn,createFactory:l1,cloneElement:c1,createRef:fu,Fragment:ne,isValidElement:Rc,findDOMNode:d1,Component:mt,PureComponent:xo,memo:Oc,forwardRef:Wp,unstable_batchedUpdates:h1,StrictMode:ne,Suspense:ei,SuspenseList:Xn,lazy:Xp,__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:a1};class Pc extends B.DataModel{constructor(t,n,r,i){super(t),this.mapper=n,this.getter=r,this.setter=i}map(t){return this.mapper(t)}get(t){return this.getter(t)}set(t,n,r){return this.setter(t,n,r)}}const f1=["loot_table.type","loot_entry.type","function.function","condition.condition","criterion.trigger","recipe.type","dimension.generator.type","dimension.generator.biome_source.type","dimension.generator.biome_source.preset","carver.type","feature.type","decorator.type","feature.tree.minimum_size.type","block_state_provider.type","trunk_placer.type","foliage_placer.type","tree_decorator.type","int_provider.type","float_provider.type","height_provider.type","structure_feature.type","surface_builder.type","processor.processor_type","rule_test.predicate_type","pos_rule_test.predicate_type","template_element.element_type","block_placer.type","block_predicate.type","material_rule.type","material_condition.type","structure_placement.type","density_function.type","root_placer.type","entity.type_specific.cat.variant","entity.type_specific.frog.variant"],p1=["number_provider.type","score_provider.type","nbt_provider.type","int_provider.type","float_provider.type","height_provider.type"],m1=["feature.config","decorator.config","int_provider.value","float_provider.value","block_state_provider.simple_state_provider.state","block_state_provider.rotated_block_provider.state","block_state_provider.weighted_state_provider.entries.entry.data","rule_test.block_state","structure_feature.config","surface_builder.config","template_pool.elements.entry.element","decorator.block_survives_filter.state","material_rule.block.result_state"],g1=["loot_entry.type","function.function","condition.condition","criterion.trigger","dimension.generator.type","dimension.generator.biome_source.type","feature.type","decorator.type","block_state_provider.type","feature.tree.minimum_size.type","trunk_placer.type","foliage_placer.type","tree_decorator.type","block_placer.type","rule_test.predicate_type","processor.processor_type","template_element.element_type","nbt_operation.op","number_provider.value","score_provider.name","score_provider.target","nbt_provider.source","nbt_provider.target","generator_biome.biome","block_predicate.type","material_rule.type","material_condition.type","density_function.type","root_placer.type","entity.type_specific.type"],_1=["function.set_nbt.tag","advancement.display.icon.nbt","text_component_object.nbt","entity.nbt","block.nbt","item.nbt"],v1=["generator_biome.parameters.temperature","generator_biome.parameters.humidity","generator_biome.parameters.continentalness","generator_biome.parameters.erosion","generator_biome.parameters.depth","generator_biome.parameters.weirdness","feature.end_spike.crystal_beam_target","feature.end_gateway.exit","decorator.block_filter.offset","block_predicate.matching_blocks.offset","block_predicate.matching_fluids.offset","model_element.from","model_element.to","model_element.rotation.origin","model_element.faces.uv","item_transform.rotation","item_transform.translation","item_transform.scale","generator_structure.random_spread.locate_offset"],ca=["noise_settings.surface_rule","noise_settings.noise.terrain_shaper"],w1=["density_function.argument","density_function.argument1","density_function.argument2","density_function.input","density_function.when_in_range","density_function.when_out_of_range"],y1=e=>pe.generators.find(t=>t.id===e.replace(/^\$/,"")),b1=new B.DataModel(B.MapNode(B.StringNode(),B.StringNode()),{historyMax:0});function x1({model:e,lang:t,version:n,blockStates:r}){var l;const i=new B.ModelPath(e),[o,s,a]=e.schema.hook($c,i,Oi(e.data),t,n,r,{});return(l=s==null?void 0:s.props)!=null&&l.children.some(u=>u)?h("div",{class:`node ${e.schema.type(i)}-node`,"data-category":e.schema.category(i)},h("div",{class:"node-header"},o,s),h("div",{class:"node-body"},a)):a}const $c={base(){return[null,null,null]},boolean(e,t,n,r,i,o,s){return[null,h(A1,J({},xe(J({},e),{path:t,value:n,lang:r,version:i,states:o,ctx:s}))),null]},choice({choices:e,config:t,switchNode:n},r,i,o,s,a,l){const u=n.activeCase(r,!0),c=t!=null&&t.context?new B.ModelPath(r.getModel(),new B.Path(r.getArray(),[t.context])):r,[d,f,p]=u.node.hook(this,c,i,o,s,a,l);if(e.length===1)return[d,f,p];const m=t!=null&&t.choiceContext?new B.Path([],[t.choiceContext]):t!=null&&t.context?new B.Path([],[t.context]):r,v=_=>{var A;const b=(A=e.find(k=>k.type===_))!=null?A:u,w=b.node.default(),x=b.change?b.change(B.DataModel.unwrapLists(i)):t.choiceContext==="feature"&&(w==null?void 0:w.type)==="minecraft:decorated"?w.config.feature:w;r.model.set(r,B.DataModel.wrapLists(x))},g=h("select",{value:u.type,onChange:_=>v(_.target.value)},e.map(_=>h("option",{value:_.type},wi(o,m.contextPush(_.type)))));return[d,h(ne,null,g,f),p]},list({children:e,config:t},n,r,i,o,s,a){const{expand:l,collapse:u,isToggled:c}=Ji(),[d,f]=$(50),p=n.getContext().join(".");if(v1.includes(p)){const b=h(ne,null,[...Array(t.maxLength)].map((x,A)=>h(Jn,{lang:i,path:n.modelPush(A)})),h("div",{class:"fixed-list"})),w=h(ne,null,[...Array(t.maxLength)].map((x,A)=>{var I;return e.hook(this,n.modelPush(A),(I=r==null?void 0:r[A])==null?void 0:I.node,i,o,s,a)[1]}));return[b,w,null]}const m=()=>{Array.isArray(r)||(r=[]);const b=B.DataModel.wrapLists(e.default());n.model.set(n,[{node:b,id:nn()},...r])},v=()=>{Array.isArray(r)||(r=[]);const b=B.DataModel.wrapLists(e.default());n.model.set(n,[...r,{node:b,id:nn()}])},g=h("button",{class:"add tooltipped tip-se","aria-label":ue(i,"add_top"),onClick:m},oe.plus_circle),_=h(ne,null,r&&Array.isArray(r)&&r.map(({node:b,id:w},x)=>{if(x===d)return h("div",{class:"node node-header"},h("label",null,ue(i,"entries_hidden",`${r.length-d}`)),h("button",{onClick:()=>f(Math.min(d+50,r.length))},ue(i,"entries_hidden.more","50")),h("button",{onClick:()=>f(r.length)},ue(i,"entries_hidden.all")));if(x>d)return null;const A=n.push(x).contextPush("entry"),k=e.type(A)==="object",I=c(w);if(k&&(I===!1||I===void 0&&r.length>20))return h("div",{class:"node node-header","data-category":e.category(A)},h(Jn,{lang:i,path:A,nested:!0}),h("button",{class:"toggle tooltipped tip-se","aria-label":`${ue(i,"expand")} +${ue(i,"expand_all","Ctrl")}`,onClick:l(w)},oe.chevron_right),h("label",null,wi(i,A,`${x}`)),h(ua,{key:w,path:A,value:b,schema:e}));const S=()=>A.set(void 0),M=()=>{const D=[...n.get()];[D[x-1],D[x]]=[D[x],D[x-1]],n.model.set(n,D)},O=()=>{const D=[...n.get()];[D[x+1],D[x]]=[D[x],D[x+1]],n.model.set(n,D)};return h(Ki,{key:w,path:A,schema:e,value:b,lang:i,version:o,states:s,actions:[{icon:"duplicate",label:"duplicate",onSelect:()=>{const D=[...n.get()];D.splice(x,0,{id:nn(),node:Oi(b)}),n.model.set(n,D)}}],ctx:xe(J({},a),{index:(x===0?1:0)+(x===r.length-1?2:0)})},k&&h("button",{class:"toggle tooltipped tip-se","aria-label":`${ue(i,"collapse")} +${ue(i,"collapse_all","Ctrl")}`,onClick:u(w)},oe.chevron_down),h("button",{class:"remove tooltipped tip-se","aria-label":ue(i,"remove"),onClick:S},oe.trashcan),r.length>1&&h("div",{class:"node-move"},h("button",{class:"move tooltipped tip-se","aria-label":ue(i,"move_up"),onClick:M,disabled:x===0},oe.chevron_up),h("button",{class:"move tooltipped tip-se","aria-label":ue(i,"move_down"),onClick:O,disabled:x===r.length-1},oe.chevron_down)))}),r&&r.length>0&&r.length<=d&&h("div",{class:"node node-header"},h("button",{class:"add tooltipped tip-se","aria-label":ue(i,"add_bottom"),onClick:v},oe.plus_circle)));return[null,g,_]},map({children:e,keys:t,config:n},r,i,o,s,a,l){var b,w,x,A,k;const{expand:u,collapse:c,isToggled:d}=Ji(),f=new B.ModelPath(b1,new B.Path([C1(r.toString())])),p=()=>{const I=f.get();r.model.set(r.push(I),B.DataModel.wrapLists(e.default()))},m=((b=n.validation)==null?void 0:b.validator)==="block_state_map"?a==null?void 0:a[B.relativePath(r,n.validation.params.id).get()]:null,v=m!=null&&m.properties?B.StringNode(null,{enum:Object.keys((w=m.properties)!=null?w:{})}):t;if(m&&r.last()==="Properties"){typeof i!="object"&&(i={});const I=Object.entries((x=m.properties)!=null?x:{}).map(([S,M])=>[S,B.StringNode(null,{enum:M})]);return Object.entries((A=m.properties)!=null?A:{}).forEach(([S,M])=>{typeof i[S]!="string"?r.model.errors.add(r.push(S),"error.expected_string"):M.includes(i[S])||r.model.errors.add(r.push(S),"error.invalid_enum_option",i[S])}),B.ObjectNode(Object.fromEntries(I)).hook(this,r,i,o,s,a,l)}const g=h(ne,null,v.hook(this,f,(k=f.get())!=null?k:"",o,s,a,l)[1],h("button",{class:"add tooltipped tip-se","aria-label":ue(o,"add"),onClick:p},oe.plus_circle)),_=h(ne,null,typeof i=="object"&&Object.entries(i).map(([I,S])=>{var le,ce,T,P;const M=r.modelPush(I),O=e.type(M)==="object",N=d(I);if(O&&(N===!1||N===void 0&&i.length>20))return h("div",{class:"node node-header","data-category":e.category(M)},h(Jn,{lang:o,path:M,nested:!0}),h("button",{class:"toggle tooltipped tip-se","aria-label":`${ue(o,"expand")} +${ue(o,"expand_all","Ctrl")}`,onClick:u(I)},oe.chevron_right),h("label",null,I),h(ua,{key:I,path:M,value:S,schema:e}));const D=m?B.StringNode(null,{enum:(ce=(le=m.properties)==null?void 0:le[I])!=null?ce:[]}):e;((T=m==null?void 0:m.properties)==null?void 0:T[I])&&typeof S=="string"&&!((P=m.properties)!=null&&P[I].includes(S))&&r.model.errors.add(M,"error.invalid_enum_option",S);const ee=()=>M.set(void 0);return h(Ki,{key:I,schema:D,path:M,value:S,lang:o,version:s,states:a,ctx:l,label:I},O&&h("button",{class:"toggle tooltipped tip-se","aria-label":`${ue(o,"collapse")} +${ue(o,"collapse_all","Ctrl")}`,onClick:c(I)},oe.chevron_down),h("button",{class:"remove tooltipped tip-se","aria-label":ue(o,"remove"),onClick:ee},oe.trashcan))}));return[null,g,_]},number(e,t,n,r,i,o,s){return[null,h(k1,J({},xe(J({},e),{path:t,value:n,lang:r,version:i,states:o,ctx:s}))),null]},object({node:e,config:t,getActiveFields:n,getChildModelPath:r},i,o,s,a,l,u){var b;const{expand:c,collapse:d,isToggled:f}=Ji();if(i.getArray().length==0&&I1(t.context,o)){const{wrapper:w,fields:x}=M1(n(i),i,o);o=w.data,n=()=>x,r=(A,k)=>new B.ModelPath(w,new B.Path(A.getArray(),["feature"])).push(k)}let p=null,m=null;if(e.optional())if(o===void 0){const w=()=>i.set(B.DataModel.wrapLists(e.default()));m=h("button",{class:"collapse closed tooltipped tip-se","aria-label":ue(s,"expand"),onClick:w},oe.plus_circle)}else{const w=()=>i.set(void 0);m=h("button",{class:"collapse open tooltipped tip-se","aria-label":ue(s,"remove"),onClick:w},oe.trashcan)}const v=i.getContext().join(".");if(w1.includes(v)||ca.includes(v)){const w=f(""),x=ca.includes(v)?w:!w;if(p=h(ne,null,h("button",{class:"toggle tooltipped tip-se","aria-label":ue(s,x?"collapse":"expand"),onClick:w?d(""):c("")},x?oe.chevron_down:oe.chevron_right)),!x)return[p,m,null]}const g=typeof o=="object"&&o!==null&&((b=e.default())==null?void 0:b.pools)?xe(J({},u),{loot:o==null?void 0:o.type}):u,_=h(ne,null,typeof o=="object"&&o!==null&&!(e.optional()&&o===void 0)&&Object.entries(n(i)).filter(([w,x])=>x.enabled(i)).map(([w,x])=>{const A=r(i,w),k=A.getContext().join(".");if(p1.includes(k))return null;const[I,S,M]=x.hook(this,A,o[w],s,a,l,g),O=x.type(A)==="object"&&m1.includes(k),N=g1.includes(k);return O||N?(p=h(ne,null,p,h(Jn,{lang:s,path:A}),h(Dc,{lang:s,path:A}),I),m=h(ne,null,m,S),O?M:null):h(Ki,{key:w,schema:x,path:A,value:o[w],lang:s,version:a,states:l,ctx:g})}));return[p,m,_]},string(e,t,n,r,i,o,s){return[null,h(S1,J({},xe(J({},e),{path:t,value:n,lang:r,version:i,states:o,ctx:s}))),null]}};function ua({path:e,value:t}){var r,i,o,s,a;switch(e.getContext().join(".")){case"loot_table.pools.entry":return h("label",null,(i=(r=t==null?void 0:t.entries)==null?void 0:r.length)!=null?i:0," entries");case"function.set_contents.entries.entry":case"loot_pool.entries.entry":return h("label",null,(a=(o=t==null?void 0:t.name)==null?void 0:o.replace(/^minecraft:/,""))!=null?a:(s=t==null?void 0:t.type)==null?void 0:s.replace(/^minecraft:/,""))}for(const l of Object.values(t!=null?t:{}))if(typeof l=="string")return h("label",null,l.replace(/^minecraft:/,""));return null}function Ji(){const[e,t]=$(new Map),[n,r]=$(void 0);return{expand:a=>l=>{l.ctrlKey?(t(new Map),r(!0)):t(u=>new Map(u.set(a,!0)))},collapse:a=>l=>{l.ctrlKey?(t(new Map),r(!1)):t(u=>new Map(u.set(a,!1)))},isToggled:a=>{var l;return e instanceof Map?(l=e.get(a))!=null?l:n:!1}}}function A1({path:e,node:t,value:n,lang:r}){const i=o=>{e.model.set(e,t.optional()&&n===o?void 0:o)};return h(ne,null,h("button",{class:n===!1?"selected":"",onClick:()=>i(!1)},ue(r,"false")),h("button",{class:n===!0?"selected":"",onClick:()=>i(!0)},ue(r,"true")))}function k1({path:e,config:t,integer:n,value:r,lang:i}){var a;const o=l=>{const u=l.target.value,c=n?parseInt(u):parseFloat(u);e.model.set(e,c)},s=l=>{const u=l.target.value,c=parseInt(u.slice(1),16);e.model.set(e,c)};return h(ne,null,h("input",{type:"text",value:r!=null?r:"",onBlur:o,onKeyDown:l=>{l.key==="Enter"&&o(l)}}),(t==null?void 0:t.color)&&h("input",{type:"color",value:"#"+((a=r==null?void 0:r.toString(16).padStart(6,"0"))!=null?a:"000000"),onChange:s}),["dimension.generator.seed","dimension.generator.biome_source.seed","world_settings.seed","structure_placement.salt"].includes(e.getContext().join("."))&&h("button",{onClick:()=>Hl(e.model),class:"tooltipped tip-se","aria-label":ue(i,"generate_new_seed")},oe.sync))}function S1({path:e,getValues:t,config:n,node:r,value:i,lang:o,version:s,states:a}){var f;const l=p=>{p.stopPropagation();const m=p.target.value;m!==i&&e.model.set(e,m.length===0?void 0:m)},u=t(),c=e.getContext().join("."),d=!Wn(n)&&(n==null?void 0:n.validator)==="resource"&&typeof n.params.pool=="string"?n.params.pool:void 0;if(_1.includes(c))return h("textarea",{value:i!=null?i:"",onBlur:l});if(Wn(n)&&!n.additional||f1.includes(c)){let p=new B.Path([]);return Wn(n)&&typeof n.enum=="string"?p=p.contextPush(n.enum):d?p=p.contextPush(d):Wn(n)&&(p=e),h("select",{value:i!=null?i:"",onChange:l},r.optional()&&h("option",{value:""},ue(o,"unset")),u.map(m=>h("option",{value:m},wi(o,p.contextPush(m.replace(/^minecraft:/,""))))))}else if(!Wn(n)&&(n==null?void 0:n.validator)==="block_state_key"){const p=a==null?void 0:a[B.relativePath(e,n.params.id).get()],m=Object.keys((f=p==null?void 0:p.properties)!=null?f:{});return h("select",{value:i!=null?i:"",onChange:l},m.map(v=>h("option",null,v)))}else{const p=nn(),m=d?y1(d):void 0;return h(ne,null,h("input",{value:i!=null?i:"",onBlur:l,onKeyDown:v=>{v.key==="Enter"&&l(v)},list:u.length>0?p:""}),u.length>0&&h("datalist",{id:p},u.map(v=>h("option",{value:v}))),m&&u.includes(i)&&i.startsWith("minecraft:")&&h("a",{href:`/${m.url}/?version=${s}&preset=${i.replace(/^minecraft:/,"")}`,class:"tooltipped tip-se","aria-label":ue(o,"follow_reference")},oe.link_external))}}function E1({label:e,schema:t,path:n,value:r,lang:i,version:o,states:s,ctx:a,actions:l,children:u}){var x;const c=t.type(n),d=t.category(n),f=n.getContext().join("."),[p,m]=$o(),v=A=>{A.preventDefault(),m()},g=xe(J({},a),{depth:((x=a.depth)!=null?x:0)+1});delete g.index;const[_,b,w]=t.hook($c,n,r,i,o,s,g);return h("div",{class:`node ${c}-node`,"data-category":d},h("div",{class:"node-header",onContextMenu:v},h(Jn,{lang:i,path:n}),h(Dc,{lang:i,path:n}),u,_,h("label",null,e!=null?e:wi(i,n,`${n.last()}`),p&&h("div",{class:"node-menu"},l==null?void 0:l.map(A=>{var k;return h("div",{key:A.label,class:"menu-item"},h(q,{icon:A.icon,tooltip:ue(i,A.label),tooltipLoc:"se",onClick:()=>A.onSelect()}),h("span",null,(k=A.description)!=null?k:ue(i,A.label)))}),h("div",{class:"menu-item"},h(q,{icon:"clippy",tooltip:ue(i,"copy_context"),tooltipLoc:"se",onClick:()=>navigator.clipboard.writeText(f)}),h("span",null,f)))),b),w&&h("div",{class:"node-body"},w))}const Ki=Oc(E1,(e,t)=>e.schema===t.schema&&e.lang===t.lang&&e.path.equals(t.path)&&sn(e.ctx,t.ctx)&&sn(e.value,t.value));function Wn(e){return!!(e!=null&&e.enum)}function C1(e){var t=0,n,r;for(n=0;ns.path.startsWith(t)):t.model.errors.get(t,!0);if(r.length===0)return null;const i=ue(e,r[0].error,...(o=r[0].params)!=null?o:[]);return Bc("node-error","issue_opened",i)}function Dc({lang:e,path:t}){const n=t.contextPush("help").getContext().join("."),r=ue(e,n);return r===n?null:Bc("node-help","info",r)}const Bc=(e,t,n)=>{const[r,i]=$o();return h("div",{class:`node-icon ${e}${r?" show":""}`,onClick:i},oe[t],h("span",{class:"icon-popup"},n))};function I1(e,t){var n;return e==="feature"&&((n=t==null?void 0:t.type)==null?void 0:n.replace(/^minecraft:/,""))==="decorated"&&dn(t==null?void 0:t.config)}function M1(e,t,n){const r=[],i=Kn(n,r),o={type:e.type,config:B.ObjectNode({decorators:B.ListNode(Kl),feature:Ql},{context:"feature.decorated"})},s=B.ObjectNode(o,{context:"feature"}),a=new B.Path(["config","feature"]),l=new B.Path(["config","decorators"]),u=t.getModel(),c=new Pc(s,d=>{if(d.startsWith(a))return new B.Path([...[...Array(r.length-1)].flatMap(()=>["config","feature"]),...d.modelArr]);if(d.startsWith(l)){if(d.modelArr.length===2)return new B.Path([]);const f=d.modelArr[2];if(typeof f=="number")return new B.Path([...[...Array(f)].flatMap(()=>["config","feature"]),"config","decorator",...d.modelArr.slice(3)])}return d},d=>{if(d.equals(l)){const f=[];return Kn(u.data,f),f}return u.get(c.map(d))},(d,f,p)=>{if(d.startsWith(a)){const m=[];Kn(u.data,m);const v=new B.Path([...[...Array(m.length-1)].flatMap(()=>["config","feature"]),...d.modelArr]);return u.set(v,f,p)}else if(d.startsWith(l)){const m=d.modelArr[2];if(d.modelArr.length===2){const v=c.get(a);return u.set(new B.Path,ko(v,f),p)}else if(typeof m=="number")if(d.modelArr.length===3&&f===void 0){const v=c.get(a),g=[];Kn(u.data,g),g.splice(m,1);const _=ko(v,g);return u.set(new B.Path,_,p)}else{const v=new B.Path([...[...Array(m)].flatMap(()=>["config","feature"]),"config","decorator",...d.modelArr.slice(3)]);return u.set(v,f,p)}}u.set(d,f,p)});return c.data={type:u.data.type,config:{decorators:r,feature:i}},c.errors=u.errors,{fields:o,wrapper:c}}function Kn(e,t){var n,r;return((n=e==null?void 0:e.type)==null?void 0:n.replace(/^minecraft:/,""))!=="decorated"||!dn(e==null?void 0:e.config)?e:(t.push({id:t.length,node:e.config.decorator}),Kn((r=e.config.feature)!=null?r:"",t))}function ko(e,t){return t.length===0?e:{type:"minecraft:decorated",config:{decorator:t.shift().node,feature:ko(e,t)}}}function O1({version:e,model:t,blockStates:n,onError:r}){const{lang:i}=Ee();if(!t||!n||i==="none")return h(ne,null);const[o]=el(a=>{r(`Error rendering the tree: ${a.message}`),console.error(a)});if(o)return h(ne,null);const[,s]=$(0);return Ti(t,()=>{s(a=>a+1)}),h("div",{class:"tree","data-cy":"tree"},h(x1,{model:t,lang:i,version:e,blockStates:n}))}var T1=Object.defineProperty,N1=Object.defineProperties,L1=Object.getOwnPropertyDescriptors,da=Object.getOwnPropertySymbols,R1=Object.prototype.hasOwnProperty,P1=Object.prototype.propertyIsEnumerable,ha=(e,t,n)=>t in e?T1(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Fc=(e,t)=>{for(var n in t||(t={}))R1.call(t,n)&&ha(e,n,t[n]);if(da)for(var n of da(t))P1.call(t,n)&&ha(e,n,t[n]);return e};const fa="Please consider reporting this error at https://github.com/laymonage/giscus/issues/new.";function jr(e){return`[giscus] An error occurred. Error message: "${e}".`}function pa(e){const t=document.querySelector(`meta[property='og:${e}'],meta[name='${e}']`);return t?t.content:""}function $1(){const e=document.getElementById("giscus-css")||document.createElement("style");e.id="giscus-css",e.textContent=` .giscus, .giscus-frame { width: 100%; } @@ -59,31 +59,31 @@ ${ue(s,"collapse_all","Ctrl")}`,onClick:c(C)},se.chevron_down),h("button",{class border: none; color-scheme: normal; } - `,document.head.prepend(e)}function D1(e){const[t,n]=$(""),r=function({repo:o,repoId:a,category:l="",categoryId:u="",mapping:c,term:d="",theme:f="light",reactionsEnabled:p="1",emitMetadata:m="0",inputPosition:v="bottom",lang:g="en",session:_,origin:y}){const w=new URL(location.href);w.searchParams.delete("giscus");const b=w.toString(),A={origin:y=y||b,session:_,theme:f,reactionsEnabled:p,emitMetadata:m,inputPosition:v,repo:o,repoId:a,category:l,categoryId:u,description:pa("description")};switch(c){case"url":A.term=b;break;case"title":A.term=document.title;break;case"og:title":A.term=pa("title");break;case"specific":A.term=d;break;case"number":A.number=d;break;case"pathname":default:A.term=location.pathname.length<2?"index":location.pathname.substring(1).replace(/\.\w+$/,"")}return`https://giscus.app/${g}/widget?${new URLSearchParams(A)}`}((i=Fc({},e),N1(i,L1({session:t}))));var i;const s=pe(null);return K(()=>{const o=location.href,a=new URL(o),l=localStorage.getItem("giscus-session"),u=a.searchParams.get("giscus")||"";if(u)return localStorage.setItem("giscus-session",JSON.stringify(u)),n(u),a.searchParams.delete("giscus"),void history.replaceState(void 0,document.title,a.toString());if(l)try{n(JSON.parse(l||"")||"")}catch(c){n(""),localStorage.removeItem("giscus-session"),console.warn(`${jr(c==null?void 0:c.message)} Session has been cleared.`)}},[]),K($1,[]),K(()=>{const o=function(a,l=null){return function(u){if(u.origin!=="https://giscus.app")return;const{data:c}=u;if(typeof c!="object"||!c.giscus||(l&&c.giscus.resizeHeight&&(l.style.height=`${c.giscus.resizeHeight}px`),!c.giscus.error))return;const d=c.giscus.error;if(d.includes("Bad credentials")||d.includes("Invalid state value")){if(localStorage.getItem("giscus-session")!==null)return localStorage.removeItem("giscus-session"),a(),void console.warn(`${jr(d)} Session has been cleared.`);console.error(`${jr(d)} No session is stored initially. ${fa}`)}d.includes("Discussion not found")?console.warn(`[giscus] ${d}. A new discussion will be created if a comment/reaction is submitted.`):console.error(`${jr(d)} ${fa}`)}}(()=>n(""),s.current);return window.addEventListener("message",o),()=>window.removeEventListener("message",o)},[]),xs.createElement("div",{className:"giscus"},xs.createElement("iframe",{className:"giscus-frame",title:"Comments",scrolling:"no",src:r,ref:s}))}function B1(e){const[t,n]=$(!1);return K(()=>n(!0),[]),t?xs.createElement(D1,Fc({},e)):null}function Us({term:e}){const{actualTheme:t}=lc(),n=t==="light"?"-burn":"",r=`${location.protocol}//${location.host}/assets/giscus${n}.css`;return h(B1,{repo:"misode/misode.github.io",repoId:"MDEwOlJlcG9zaXRvcnkxOTIyNTQyMzA=",category:"Site",categoryId:"DIC_kwDOC3WRFs4COB8r",mapping:e?"specific":"pathname",term:e,reactionsEnabled:"1",emitMetadata:"0",inputPosition:"top",theme:r,lang:"en"})}function zc(){return{baseUrl:null,breaks:!1,extensions:null,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1}}let Un=zc();function F1(e){Un=e}const z1=/[&<>"']/,j1=/[&<>"']/g,V1=/[<>"']|&(?!#?\w+;)/,H1=/[<>"']|&(?!#?\w+;)/g,U1={"&":"&","<":"<",">":">",'"':""","'":"'"},ma=e=>U1[e];function Pe(e,t){if(t){if(z1.test(e))return e.replace(j1,ma)}else if(V1.test(e))return e.replace(H1,ma);return e}const G1=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig;function jc(e){return e.replace(G1,(t,n)=>(n=n.toLowerCase(),n==="colon"?":":n.charAt(0)==="#"?n.charAt(1)==="x"?String.fromCharCode(parseInt(n.substring(2),16)):String.fromCharCode(+n.substring(1)):""))}const Y1=/(^|[^\[])\^/g;function ye(e,t){e=e.source||e,t=t||"";const n={replace:(r,i)=>(i=i.source||i,i=i.replace(Y1,"$1"),e=e.replace(r,i),n),getRegex:()=>new RegExp(e,t)};return n}const W1=/[^\w:]/g,q1=/^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;function _a(e,t,n){if(e){let r;try{r=decodeURIComponent(jc(n)).replace(W1,"").toLowerCase()}catch{return null}if(r.indexOf("javascript:")===0||r.indexOf("vbscript:")===0||r.indexOf("data:")===0)return null}t&&!q1.test(n)&&(n=K1(t,n));try{n=encodeURI(n).replace(/%25/g,"%")}catch{return null}return n}const Vr={},Z1=/^[^:]+:\/*[^/]*$/,X1=/^([^:]+:)[\s\S]*$/,J1=/^([^:]+:\/*[^/]*)[\s\S]*$/;function K1(e,t){Vr[" "+e]||(Z1.test(e)?Vr[" "+e]=e+"/":Vr[" "+e]=ti(e,"/",!0)),e=Vr[" "+e];const n=e.indexOf(":")===-1;return t.substring(0,2)==="//"?n?t:e.replace(X1,"$1")+t:t.charAt(0)==="/"?n?t:e.replace(J1,"$1")+t:e+t}const yi={exec:function(){}};function vt(e){let t=1,n,r;for(;t{let l=!1,u=o;for(;--u>=0&&a[u]==="\\";)l=!l;return l?"|":" |"}),r=n.split(/ \|/);let i=0;if(r[0].trim()||r.shift(),r[r.length-1].trim()||r.pop(),r.length>t)r.splice(t);else for(;r.length1;)t&1&&(n+=e),t>>=1,e+=e;return n+e}function ya(e,t,n,r){const i=t.href,s=t.title?Pe(t.title):null,o=e[1].replace(/\\([\[\]])/g,"$1");if(e[0].charAt(0)!=="!"){r.state.inLink=!0;const a={type:"link",raw:n,href:i,title:s,text:o,tokens:r.inlineTokens(o,[])};return r.state.inLink=!1,a}else return{type:"image",raw:n,href:i,title:s,text:Pe(o)}}function em(e,t){const n=e.match(/^(\s+)(?:```)/);if(n===null)return t;const r=n[1];return t.split(` -`).map(i=>{const s=i.match(/^\s+/);if(s===null)return i;const[o]=s;return o.length>=r.length?i.slice(r.length):i}).join(` -`)}class Gs{constructor(t){this.options=t||Un}space(t){const n=this.rules.block.newline.exec(t);if(n&&n[0].length>0)return{type:"space",raw:n[0]}}code(t){const n=this.rules.block.code.exec(t);if(n){const r=n[0].replace(/^ {1,4}/gm,"");return{type:"code",raw:n[0],codeBlockStyle:"indented",text:this.options.pedantic?r:ti(r,` -`)}}}fences(t){const n=this.rules.block.fences.exec(t);if(n){const r=n[0],i=em(r,n[3]||"");return{type:"code",raw:r,lang:n[2]?n[2].trim():n[2],text:i}}}heading(t){const n=this.rules.block.heading.exec(t);if(n){let r=n[2].trim();if(/#$/.test(r)){const s=ti(r,"#");(this.options.pedantic||!s||/ $/.test(s))&&(r=s.trim())}const i={type:"heading",raw:n[0],depth:n[1].length,text:r,tokens:[]};return this.lexer.inline(i.text,i.tokens),i}}hr(t){const n=this.rules.block.hr.exec(t);if(n)return{type:"hr",raw:n[0]}}blockquote(t){const n=this.rules.block.blockquote.exec(t);if(n){const r=n[0].replace(/^ *> ?/gm,"");return{type:"blockquote",raw:n[0],tokens:this.lexer.blockTokens(r,[]),text:r}}}list(t){let n=this.rules.block.list.exec(t);if(n){let r,i,s,o,a,l,u,c,d,f,p,m,v=n[1].trim();const g=v.length>1,_={type:"list",raw:"",ordered:g,start:g?+v.slice(0,-1):"",loose:!1,items:[]};v=g?`\\d{1,9}\\${v.slice(-1)}`:`\\${v}`,this.options.pedantic&&(v=g?v:"[*+-]");const y=new RegExp(`^( {0,3}${v})((?: [^\\n]*)?(?:\\n|$))`);for(;t&&(m=!1,!(!(n=y.exec(t))||this.rules.block.hr.test(t)));){if(r=n[0],t=t.substring(r.length),c=n[2].split(` + `,document.head.prepend(e)}function D1(e){const[t,n]=$(""),r=function({repo:s,repoId:a,category:l="",categoryId:u="",mapping:c,term:d="",theme:f="light",reactionsEnabled:p="1",emitMetadata:m="0",inputPosition:v="bottom",lang:g="en",session:_,origin:b}){const w=new URL(location.href);w.searchParams.delete("giscus");const x=w.toString(),A={origin:b=b||x,session:_,theme:f,reactionsEnabled:p,emitMetadata:m,inputPosition:v,repo:s,repoId:a,category:l,categoryId:u,description:pa("description")};switch(c){case"url":A.term=x;break;case"title":A.term=document.title;break;case"og:title":A.term=pa("title");break;case"specific":A.term=d;break;case"number":A.number=d;break;case"pathname":default:A.term=location.pathname.length<2?"index":location.pathname.substring(1).replace(/\.\w+$/,"")}return`https://giscus.app/${g}/widget?${new URLSearchParams(A)}`}((i=Fc({},e),N1(i,L1({session:t}))));var i;const o=me(null);return K(()=>{const s=location.href,a=new URL(s),l=localStorage.getItem("giscus-session"),u=a.searchParams.get("giscus")||"";if(u)return localStorage.setItem("giscus-session",JSON.stringify(u)),n(u),a.searchParams.delete("giscus"),void history.replaceState(void 0,document.title,a.toString());if(l)try{n(JSON.parse(l||"")||"")}catch(c){n(""),localStorage.removeItem("giscus-session"),console.warn(`${jr(c==null?void 0:c.message)} Session has been cleared.`)}},[]),K($1,[]),K(()=>{const s=function(a,l=null){return function(u){if(u.origin!=="https://giscus.app")return;const{data:c}=u;if(typeof c!="object"||!c.giscus||(l&&c.giscus.resizeHeight&&(l.style.height=`${c.giscus.resizeHeight}px`),!c.giscus.error))return;const d=c.giscus.error;if(d.includes("Bad credentials")||d.includes("Invalid state value")){if(localStorage.getItem("giscus-session")!==null)return localStorage.removeItem("giscus-session"),a(),void console.warn(`${jr(d)} Session has been cleared.`);console.error(`${jr(d)} No session is stored initially. ${fa}`)}d.includes("Discussion not found")?console.warn(`[giscus] ${d}. A new discussion will be created if a comment/reaction is submitted.`):console.error(`${jr(d)} ${fa}`)}}(()=>n(""),o.current);return window.addEventListener("message",s),()=>window.removeEventListener("message",s)},[]),Ao.createElement("div",{className:"giscus"},Ao.createElement("iframe",{className:"giscus-frame",title:"Comments",scrolling:"no",src:r,ref:o}))}function B1(e){const[t,n]=$(!1);return K(()=>n(!0),[]),t?Ao.createElement(D1,Fc({},e)):null}function Go({term:e}){const{actualTheme:t}=lc(),n=t==="light"?"-burn":"",r=`${location.protocol}//${location.host}/assets/giscus${n}.css`;return h(B1,{repo:"misode/misode.github.io",repoId:"MDEwOlJlcG9zaXRvcnkxOTIyNTQyMzA=",category:"Site",categoryId:"DIC_kwDOC3WRFs4COB8r",mapping:e?"specific":"pathname",term:e,reactionsEnabled:"1",emitMetadata:"0",inputPosition:"top",theme:r,lang:"en"})}function zc(){return{baseUrl:null,breaks:!1,extensions:null,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1}}let Un=zc();function F1(e){Un=e}const z1=/[&<>"']/,j1=/[&<>"']/g,V1=/[<>"']|&(?!#?\w+;)/,H1=/[<>"']|&(?!#?\w+;)/g,U1={"&":"&","<":"<",">":">",'"':""","'":"'"},ma=e=>U1[e];function Pe(e,t){if(t){if(z1.test(e))return e.replace(j1,ma)}else if(V1.test(e))return e.replace(H1,ma);return e}const G1=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig;function jc(e){return e.replace(G1,(t,n)=>(n=n.toLowerCase(),n==="colon"?":":n.charAt(0)==="#"?n.charAt(1)==="x"?String.fromCharCode(parseInt(n.substring(2),16)):String.fromCharCode(+n.substring(1)):""))}const Y1=/(^|[^\[])\^/g;function ye(e,t){e=e.source||e,t=t||"";const n={replace:(r,i)=>(i=i.source||i,i=i.replace(Y1,"$1"),e=e.replace(r,i),n),getRegex:()=>new RegExp(e,t)};return n}const W1=/[^\w:]/g,q1=/^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;function _a(e,t,n){if(e){let r;try{r=decodeURIComponent(jc(n)).replace(W1,"").toLowerCase()}catch{return null}if(r.indexOf("javascript:")===0||r.indexOf("vbscript:")===0||r.indexOf("data:")===0)return null}t&&!q1.test(n)&&(n=K1(t,n));try{n=encodeURI(n).replace(/%25/g,"%")}catch{return null}return n}const Vr={},Z1=/^[^:]+:\/*[^/]*$/,X1=/^([^:]+:)[\s\S]*$/,J1=/^([^:]+:\/*[^/]*)[\s\S]*$/;function K1(e,t){Vr[" "+e]||(Z1.test(e)?Vr[" "+e]=e+"/":Vr[" "+e]=ti(e,"/",!0)),e=Vr[" "+e];const n=e.indexOf(":")===-1;return t.substring(0,2)==="//"?n?t:e.replace(X1,"$1")+t:t.charAt(0)==="/"?n?t:e.replace(J1,"$1")+t:e+t}const yi={exec:function(){}};function vt(e){let t=1,n,r;for(;t{let l=!1,u=s;for(;--u>=0&&a[u]==="\\";)l=!l;return l?"|":" |"}),r=n.split(/ \|/);let i=0;if(r[0].trim()||r.shift(),r[r.length-1].trim()||r.pop(),r.length>t)r.splice(t);else for(;r.length1;)t&1&&(n+=e),t>>=1,e+=e;return n+e}function ya(e,t,n,r){const i=t.href,o=t.title?Pe(t.title):null,s=e[1].replace(/\\([\[\]])/g,"$1");if(e[0].charAt(0)!=="!"){r.state.inLink=!0;const a={type:"link",raw:n,href:i,title:o,text:s,tokens:r.inlineTokens(s,[])};return r.state.inLink=!1,a}else return{type:"image",raw:n,href:i,title:o,text:Pe(s)}}function em(e,t){const n=e.match(/^(\s+)(?:```)/);if(n===null)return t;const r=n[1];return t.split(` +`).map(i=>{const o=i.match(/^\s+/);if(o===null)return i;const[s]=o;return s.length>=r.length?i.slice(r.length):i}).join(` +`)}class Yo{constructor(t){this.options=t||Un}space(t){const n=this.rules.block.newline.exec(t);if(n&&n[0].length>0)return{type:"space",raw:n[0]}}code(t){const n=this.rules.block.code.exec(t);if(n){const r=n[0].replace(/^ {1,4}/gm,"");return{type:"code",raw:n[0],codeBlockStyle:"indented",text:this.options.pedantic?r:ti(r,` +`)}}}fences(t){const n=this.rules.block.fences.exec(t);if(n){const r=n[0],i=em(r,n[3]||"");return{type:"code",raw:r,lang:n[2]?n[2].trim():n[2],text:i}}}heading(t){const n=this.rules.block.heading.exec(t);if(n){let r=n[2].trim();if(/#$/.test(r)){const o=ti(r,"#");(this.options.pedantic||!o||/ $/.test(o))&&(r=o.trim())}const i={type:"heading",raw:n[0],depth:n[1].length,text:r,tokens:[]};return this.lexer.inline(i.text,i.tokens),i}}hr(t){const n=this.rules.block.hr.exec(t);if(n)return{type:"hr",raw:n[0]}}blockquote(t){const n=this.rules.block.blockquote.exec(t);if(n){const r=n[0].replace(/^ *> ?/gm,"");return{type:"blockquote",raw:n[0],tokens:this.lexer.blockTokens(r,[]),text:r}}}list(t){let n=this.rules.block.list.exec(t);if(n){let r,i,o,s,a,l,u,c,d,f,p,m,v=n[1].trim();const g=v.length>1,_={type:"list",raw:"",ordered:g,start:g?+v.slice(0,-1):"",loose:!1,items:[]};v=g?`\\d{1,9}\\${v.slice(-1)}`:`\\${v}`,this.options.pedantic&&(v=g?v:"[*+-]");const b=new RegExp(`^( {0,3}${v})((?: [^\\n]*)?(?:\\n|$))`);for(;t&&(m=!1,!(!(n=b.exec(t))||this.rules.block.hr.test(t)));){if(r=n[0],t=t.substring(r.length),c=n[2].split(` `,1)[0],d=t.split(` -`,1)[0],this.options.pedantic?(o=2,p=c.trimLeft()):(o=n[2].search(/[^ ]/),o=o>4?1:o,p=c.slice(o),o+=n[1].length),l=!1,!c&&/^ *$/.test(d)&&(r+=d+` -`,t=t.substring(d.length+1),m=!0),!m){const b=new RegExp(`^ {0,${Math.min(3,o-1)}}(?:[*+-]|\\d{1,9}[.)])`);for(;t&&(f=t.split(` -`,1)[0],c=f,this.options.pedantic&&(c=c.replace(/^ {1,4}(?=( {4})*[^ ])/g," ")),!b.test(c));){if(c.search(/[^ ]/)>=o||!c.trim())p+=` -`+c.slice(o);else if(!l)p+=` +`,1)[0],this.options.pedantic?(s=2,p=c.trimLeft()):(s=n[2].search(/[^ ]/),s=s>4?1:s,p=c.slice(s),s+=n[1].length),l=!1,!c&&/^ *$/.test(d)&&(r+=d+` +`,t=t.substring(d.length+1),m=!0),!m){const x=new RegExp(`^ {0,${Math.min(3,s-1)}}(?:[*+-]|\\d{1,9}[.)])`);for(;t&&(f=t.split(` +`,1)[0],c=f,this.options.pedantic&&(c=c.replace(/^ {1,4}(?=( {4})*[^ ])/g," ")),!x.test(c));){if(c.search(/[^ ]/)>=s||!c.trim())p+=` +`+c.slice(s);else if(!l)p+=` `+c;else break;!l&&!c.trim()&&(l=!0),r+=f+` -`,t=t.substring(f.length+1)}}_.loose||(u?_.loose=!0:/\n *\n *$/.test(r)&&(u=!0)),this.options.gfm&&(i=/^\[[ xX]\] /.exec(p),i&&(s=i[0]!=="[ ] ",p=p.replace(/^\[[ xX]\] +/,""))),_.items.push({type:"list_item",raw:r,task:!!i,checked:s,loose:!1,text:p}),_.raw+=r}_.items[_.items.length-1].raw=r.trimRight(),_.items[_.items.length-1].text=p.trimRight(),_.raw=_.raw.trimRight();const w=_.items.length;for(a=0;ak.type==="space"),A=b.every(k=>{const C=k.raw.split("");let S=0;for(const M of C)if(M===` -`&&(S+=1),S>1)return!0;return!1});!_.loose&&b.length&&A&&(_.loose=!0,_.items[a].loose=!0)}return _}}html(t){const n=this.rules.block.html.exec(t);if(n){const r={type:"html",raw:n[0],pre:!this.options.sanitizer&&(n[1]==="pre"||n[1]==="script"||n[1]==="style"),text:n[0]};return this.options.sanitize&&(r.type="paragraph",r.text=this.options.sanitizer?this.options.sanitizer(n[0]):Pe(n[0]),r.tokens=[],this.lexer.inline(r.text,r.tokens)),r}}def(t){const n=this.rules.block.def.exec(t);if(n){n[3]&&(n[3]=n[3].substring(1,n[3].length-1));const r=n[1].toLowerCase().replace(/\s+/g," ");return{type:"def",tag:r,raw:n[0],href:n[2],title:n[3]}}}table(t){const n=this.rules.block.table.exec(t);if(n){const r={type:"table",header:va(n[1]).map(i=>({text:i})),align:n[2].replace(/^ *|\| *$/g,"").split(/ *\| */),rows:n[3]?n[3].replace(/\n[ \t]*$/,"").split(` -`):[]};if(r.header.length===r.align.length){r.raw=n[0];let i=r.align.length,s,o,a,l;for(s=0;s({text:u}));for(i=r.header.length,o=0;o/i.test(n[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&/^<(pre|code|kbd|script)(\s|>)/i.test(n[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(n[0])&&(this.lexer.state.inRawBlock=!1),{type:this.options.sanitize?"text":"html",raw:n[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,text:this.options.sanitize?this.options.sanitizer?this.options.sanitizer(n[0]):Pe(n[0]):n[0]}}link(t){const n=this.rules.inline.link.exec(t);if(n){const r=n[2].trim();if(!this.options.pedantic&&/^$/.test(r))return;const o=ti(r.slice(0,-1),"\\");if((r.length-o.length)%2===0)return}else{const o=Q1(n[2],"()");if(o>-1){const l=(n[0].indexOf("!")===0?5:4)+n[1].length+o;n[2]=n[2].substring(0,o),n[0]=n[0].substring(0,l).trim(),n[3]=""}}let i=n[2],s="";if(this.options.pedantic){const o=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(i);o&&(i=o[1],s=o[3])}else s=n[3]?n[3].slice(1,-1):"";return i=i.trim(),/^$/.test(r)?i=i.slice(1):i=i.slice(1,-1)),ya(n,{href:i&&i.replace(this.rules.inline._escapes,"$1"),title:s&&s.replace(this.rules.inline._escapes,"$1")},n[0],this.lexer)}}reflink(t,n){let r;if((r=this.rules.inline.reflink.exec(t))||(r=this.rules.inline.nolink.exec(t))){let i=(r[2]||r[1]).replace(/\s+/g," ");if(i=n[i.toLowerCase()],!i||!i.href){const s=r[0].charAt(0);return{type:"text",raw:s,text:s}}return ya(r,i,r[0],this.lexer)}}emStrong(t,n,r=""){let i=this.rules.inline.emStrong.lDelim.exec(t);if(!i||i[3]&&r.match(/[\p{L}\p{N}]/u))return;const s=i[1]||i[2]||"";if(!s||s&&(r===""||this.rules.inline.punctuation.exec(r))){const o=i[0].length-1;let a,l,u=o,c=0;const d=i[0][0]==="*"?this.rules.inline.emStrong.rDelimAst:this.rules.inline.emStrong.rDelimUnd;for(d.lastIndex=0,n=n.slice(-1*t.length+o);(i=d.exec(n))!=null;){if(a=i[1]||i[2]||i[3]||i[4]||i[5]||i[6],!a)continue;if(l=a.length,i[3]||i[4]){u+=l;continue}else if((i[5]||i[6])&&o%3&&!((o+l)%3)){c+=l;continue}if(u-=l,u>0)continue;if(l=Math.min(l,l+u+c),Math.min(o,l)%2){const p=t.slice(1,o+i.index+l);return{type:"em",raw:t.slice(0,o+i.index+l+1),text:p,tokens:this.lexer.inlineTokens(p,[])}}const f=t.slice(2,o+i.index+l-1);return{type:"strong",raw:t.slice(0,o+i.index+l+1),text:f,tokens:this.lexer.inlineTokens(f,[])}}}}codespan(t){const n=this.rules.inline.code.exec(t);if(n){let r=n[2].replace(/\n/g," ");const i=/[^ ]/.test(r),s=/^ /.test(r)&&/ $/.test(r);return i&&s&&(r=r.substring(1,r.length-1)),r=Pe(r,!0),{type:"codespan",raw:n[0],text:r}}}br(t){const n=this.rules.inline.br.exec(t);if(n)return{type:"br",raw:n[0]}}del(t){const n=this.rules.inline.del.exec(t);if(n)return{type:"del",raw:n[0],text:n[2],tokens:this.lexer.inlineTokens(n[2],[])}}autolink(t,n){const r=this.rules.inline.autolink.exec(t);if(r){let i,s;return r[2]==="@"?(i=Pe(this.options.mangle?n(r[1]):r[1]),s="mailto:"+i):(i=Pe(r[1]),s=i),{type:"link",raw:r[0],text:i,href:s,tokens:[{type:"text",raw:i,text:i}]}}}url(t,n){let r;if(r=this.rules.inline.url.exec(t)){let i,s;if(r[2]==="@")i=Pe(this.options.mangle?n(r[0]):r[0]),s="mailto:"+i;else{let o;do o=r[0],r[0]=this.rules.inline._backpedal.exec(r[0])[0];while(o!==r[0]);i=Pe(r[0]),r[1]==="www."?s="http://"+i:s=i}return{type:"link",raw:r[0],text:i,href:s,tokens:[{type:"text",raw:i,text:i}]}}}inlineText(t,n){const r=this.rules.inline.text.exec(t);if(r){let i;return this.lexer.state.inRawBlock?i=this.options.sanitize?this.options.sanitizer?this.options.sanitizer(r[0]):Pe(r[0]):r[0]:i=Pe(this.options.smartypants?n(r[0]):r[0]),{type:"text",raw:r[0],text:i}}}}const Y={newline:/^(?: *(?:\n|$))+/,code:/^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,fences:/^ {0,3}(`{3,}(?=[^`\n]*\n)|~{3,})([^\n]*)\n(?:|([\s\S]*?)\n)(?: {0,3}\1[~`]* *(?=\n|$)|$)/,hr:/^ {0,3}((?:- *){3,}|(?:_ *){3,}|(?:\* *){3,})(?:\n+|$)/,heading:/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,blockquote:/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/,list:/^( {0,3}bull)( [^\n]+?)?(?:\n|$)/,html:"^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|)[\\s\\S]*?(?:(?:\\n *)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$))",def:/^ {0,3}\[(label)\]: *(?:\n *)?]+)>?(?:(?: +(?:\n *)?| *\n *)(title))? *(?:\n+|$)/,table:yi,lheading:/^([^\n]+)\n {0,3}(=+|-+) *(?:\n+|$)/,_paragraph:/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,text:/^[^\n]+/};Y._label=/(?!\s*\])(?:\\.|[^\[\]\\])+/;Y._title=/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/;Y.def=ye(Y.def).replace("label",Y._label).replace("title",Y._title).getRegex();Y.bullet=/(?:[*+-]|\d{1,9}[.)])/;Y.listItemStart=ye(/^( *)(bull) */).replace("bull",Y.bullet).getRegex();Y.list=ye(Y.list).replace(/bull/g,Y.bullet).replace("hr","\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))").replace("def","\\n+(?="+Y.def.source+")").getRegex();Y._tag="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul";Y._comment=/|$)/;Y.html=ye(Y.html,"i").replace("comment",Y._comment).replace("tag",Y._tag).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex();Y.paragraph=ye(Y._paragraph).replace("hr",Y.hr).replace("heading"," {0,3}#{1,6} ").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",Y._tag).getRegex();Y.blockquote=ye(Y.blockquote).replace("paragraph",Y.paragraph).getRegex();Y.normal=vt({},Y);Y.gfm=vt({},Y.normal,{table:"^ *([^\\n ].*\\|.*)\\n {0,3}(?:\\| *)?(:?-+:? *(?:\\| *:?-+:? *)*)(?:\\| *)?(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)"});Y.gfm.table=ye(Y.gfm.table).replace("hr",Y.hr).replace("heading"," {0,3}#{1,6} ").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",Y._tag).getRegex();Y.gfm.paragraph=ye(Y._paragraph).replace("hr",Y.hr).replace("heading"," {0,3}#{1,6} ").replace("|lheading","").replace("table",Y.gfm.table).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",Y._tag).getRegex();Y.pedantic=vt({},Y.normal,{html:ye(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",Y._comment).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:yi,paragraph:ye(Y.normal._paragraph).replace("hr",Y.hr).replace("heading",` *#{1,6} *[^ -]`).replace("lheading",Y.lheading).replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").getRegex()});const j={escape:/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,autolink:/^<(scheme:[^\s\x00-\x1f<>]*|email)>/,url:yi,tag:"^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^",link:/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/,reflink:/^!?\[(label)\]\[(ref)\]/,nolink:/^!?\[(ref)\](?:\[\])?/,reflinkSearch:"reflink|nolink(?!\\()",emStrong:{lDelim:/^(?:\*+(?:([punct_])|[^\s*]))|^_+(?:([punct*])|([^\s_]))/,rDelimAst:/^[^_*]*?\_\_[^_*]*?\*[^_*]*?(?=\_\_)|[punct_](\*+)(?=[\s]|$)|[^punct*_\s](\*+)(?=[punct_\s]|$)|[punct_\s](\*+)(?=[^punct*_\s])|[\s](\*+)(?=[punct_])|[punct_](\*+)(?=[punct_])|[^punct*_\s](\*+)(?=[^punct*_\s])/,rDelimUnd:/^[^_*]*?\*\*[^_*]*?\_[^_*]*?(?=\*\*)|[punct*](\_+)(?=[\s]|$)|[^punct*_\s](\_+)(?=[punct*\s]|$)|[punct*\s](\_+)(?=[^punct*_\s])|[\s](\_+)(?=[punct*])|[punct*](\_+)(?=[punct*])/},code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,br:/^( {2,}|\\)\n(?!\s*$)/,del:yi,text:/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\?@\\[\\]`^{|}~";j.punctuation=ye(j.punctuation).replace(/punctuation/g,j._punctuation).getRegex();j.blockSkip=/\[[^\]]*?\]\([^\)]*?\)|`[^`]*?`|<[^>]*?>/g;j.escapedEmSt=/\\\*|\\_/g;j._comment=ye(Y._comment).replace("(?:-->|$)","-->").getRegex();j.emStrong.lDelim=ye(j.emStrong.lDelim).replace(/punct/g,j._punctuation).getRegex();j.emStrong.rDelimAst=ye(j.emStrong.rDelimAst,"g").replace(/punct/g,j._punctuation).getRegex();j.emStrong.rDelimUnd=ye(j.emStrong.rDelimUnd,"g").replace(/punct/g,j._punctuation).getRegex();j._escapes=/\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/g;j._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/;j._email=/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/;j.autolink=ye(j.autolink).replace("scheme",j._scheme).replace("email",j._email).getRegex();j._attribute=/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/;j.tag=ye(j.tag).replace("comment",j._comment).replace("attribute",j._attribute).getRegex();j._label=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/;j._href=/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/;j._title=/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/;j.link=ye(j.link).replace("label",j._label).replace("href",j._href).replace("title",j._title).getRegex();j.reflink=ye(j.reflink).replace("label",j._label).replace("ref",Y._label).getRegex();j.nolink=ye(j.nolink).replace("ref",Y._label).getRegex();j.reflinkSearch=ye(j.reflinkSearch,"g").replace("reflink",j.reflink).replace("nolink",j.nolink).getRegex();j.normal=vt({},j);j.pedantic=vt({},j.normal,{strong:{start:/^__|\*\*/,middle:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,endAst:/\*\*(?!\*)/g,endUnd:/__(?!_)/g},em:{start:/^_|\*/,middle:/^()\*(?=\S)([\s\S]*?\S)\*(?!\*)|^_(?=\S)([\s\S]*?\S)_(?!_)/,endAst:/\*(?!\*)/g,endUnd:/_(?!_)/g},link:ye(/^!?\[(label)\]\((.*?)\)/).replace("label",j._label).getRegex(),reflink:ye(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",j._label).getRegex()});j.gfm=vt({},j.normal,{escape:ye(j.escape).replace("])","~|])").getRegex(),_extended_email:/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,url:/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,_backpedal:/(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\.5&&(r="x"+r.toString(16)),t+="&#"+r+";";return t}class Vt{constructor(t){this.tokens=[],this.tokens.links=Object.create(null),this.options=t||Un,this.options.tokenizer=this.options.tokenizer||new Gs,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};const n={block:Y.normal,inline:j.normal};this.options.pedantic?(n.block=Y.pedantic,n.inline=j.pedantic):this.options.gfm&&(n.block=Y.gfm,this.options.breaks?n.inline=j.breaks:n.inline=j.gfm),this.tokenizer.rules=n}static get rules(){return{block:Y,inline:j}}static lex(t,n){return new Vt(n).lex(t)}static lexInline(t,n){return new Vt(n).inlineTokens(t)}lex(t){t=t.replace(/\r\n|\r/g,` -`).replace(/\t/g," "),this.blockTokens(t,this.tokens);let n;for(;n=this.inlineQueue.shift();)this.inlineTokens(n.src,n.tokens);return this.tokens}blockTokens(t,n=[]){this.options.pedantic&&(t=t.replace(/^ +$/gm,""));let r,i,s,o;for(;t;)if(!(this.options.extensions&&this.options.extensions.block&&this.options.extensions.block.some(a=>(r=a.call({lexer:this},t,n))?(t=t.substring(r.raw.length),n.push(r),!0):!1))){if(r=this.tokenizer.space(t)){t=t.substring(r.raw.length),r.raw.length===1&&n.length>0?n[n.length-1].raw+=` +`,t=t.substring(f.length+1)}}_.loose||(u?_.loose=!0:/\n *\n *$/.test(r)&&(u=!0)),this.options.gfm&&(i=/^\[[ xX]\] /.exec(p),i&&(o=i[0]!=="[ ] ",p=p.replace(/^\[[ xX]\] +/,""))),_.items.push({type:"list_item",raw:r,task:!!i,checked:o,loose:!1,text:p}),_.raw+=r}_.items[_.items.length-1].raw=r.trimRight(),_.items[_.items.length-1].text=p.trimRight(),_.raw=_.raw.trimRight();const w=_.items.length;for(a=0;ak.type==="space"),A=x.every(k=>{const I=k.raw.split("");let S=0;for(const M of I)if(M===` +`&&(S+=1),S>1)return!0;return!1});!_.loose&&x.length&&A&&(_.loose=!0,_.items[a].loose=!0)}return _}}html(t){const n=this.rules.block.html.exec(t);if(n){const r={type:"html",raw:n[0],pre:!this.options.sanitizer&&(n[1]==="pre"||n[1]==="script"||n[1]==="style"),text:n[0]};return this.options.sanitize&&(r.type="paragraph",r.text=this.options.sanitizer?this.options.sanitizer(n[0]):Pe(n[0]),r.tokens=[],this.lexer.inline(r.text,r.tokens)),r}}def(t){const n=this.rules.block.def.exec(t);if(n){n[3]&&(n[3]=n[3].substring(1,n[3].length-1));const r=n[1].toLowerCase().replace(/\s+/g," ");return{type:"def",tag:r,raw:n[0],href:n[2],title:n[3]}}}table(t){const n=this.rules.block.table.exec(t);if(n){const r={type:"table",header:va(n[1]).map(i=>({text:i})),align:n[2].replace(/^ *|\| *$/g,"").split(/ *\| */),rows:n[3]?n[3].replace(/\n[ \t]*$/,"").split(` +`):[]};if(r.header.length===r.align.length){r.raw=n[0];let i=r.align.length,o,s,a,l;for(o=0;o({text:u}));for(i=r.header.length,s=0;s/i.test(n[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&/^<(pre|code|kbd|script)(\s|>)/i.test(n[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(n[0])&&(this.lexer.state.inRawBlock=!1),{type:this.options.sanitize?"text":"html",raw:n[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,text:this.options.sanitize?this.options.sanitizer?this.options.sanitizer(n[0]):Pe(n[0]):n[0]}}link(t){const n=this.rules.inline.link.exec(t);if(n){const r=n[2].trim();if(!this.options.pedantic&&/^$/.test(r))return;const s=ti(r.slice(0,-1),"\\");if((r.length-s.length)%2===0)return}else{const s=Q1(n[2],"()");if(s>-1){const l=(n[0].indexOf("!")===0?5:4)+n[1].length+s;n[2]=n[2].substring(0,s),n[0]=n[0].substring(0,l).trim(),n[3]=""}}let i=n[2],o="";if(this.options.pedantic){const s=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(i);s&&(i=s[1],o=s[3])}else o=n[3]?n[3].slice(1,-1):"";return i=i.trim(),/^$/.test(r)?i=i.slice(1):i=i.slice(1,-1)),ya(n,{href:i&&i.replace(this.rules.inline._escapes,"$1"),title:o&&o.replace(this.rules.inline._escapes,"$1")},n[0],this.lexer)}}reflink(t,n){let r;if((r=this.rules.inline.reflink.exec(t))||(r=this.rules.inline.nolink.exec(t))){let i=(r[2]||r[1]).replace(/\s+/g," ");if(i=n[i.toLowerCase()],!i||!i.href){const o=r[0].charAt(0);return{type:"text",raw:o,text:o}}return ya(r,i,r[0],this.lexer)}}emStrong(t,n,r=""){let i=this.rules.inline.emStrong.lDelim.exec(t);if(!i||i[3]&&r.match(/[\p{L}\p{N}]/u))return;const o=i[1]||i[2]||"";if(!o||o&&(r===""||this.rules.inline.punctuation.exec(r))){const s=i[0].length-1;let a,l,u=s,c=0;const d=i[0][0]==="*"?this.rules.inline.emStrong.rDelimAst:this.rules.inline.emStrong.rDelimUnd;for(d.lastIndex=0,n=n.slice(-1*t.length+s);(i=d.exec(n))!=null;){if(a=i[1]||i[2]||i[3]||i[4]||i[5]||i[6],!a)continue;if(l=a.length,i[3]||i[4]){u+=l;continue}else if((i[5]||i[6])&&s%3&&!((s+l)%3)){c+=l;continue}if(u-=l,u>0)continue;if(l=Math.min(l,l+u+c),Math.min(s,l)%2){const p=t.slice(1,s+i.index+l);return{type:"em",raw:t.slice(0,s+i.index+l+1),text:p,tokens:this.lexer.inlineTokens(p,[])}}const f=t.slice(2,s+i.index+l-1);return{type:"strong",raw:t.slice(0,s+i.index+l+1),text:f,tokens:this.lexer.inlineTokens(f,[])}}}}codespan(t){const n=this.rules.inline.code.exec(t);if(n){let r=n[2].replace(/\n/g," ");const i=/[^ ]/.test(r),o=/^ /.test(r)&&/ $/.test(r);return i&&o&&(r=r.substring(1,r.length-1)),r=Pe(r,!0),{type:"codespan",raw:n[0],text:r}}}br(t){const n=this.rules.inline.br.exec(t);if(n)return{type:"br",raw:n[0]}}del(t){const n=this.rules.inline.del.exec(t);if(n)return{type:"del",raw:n[0],text:n[2],tokens:this.lexer.inlineTokens(n[2],[])}}autolink(t,n){const r=this.rules.inline.autolink.exec(t);if(r){let i,o;return r[2]==="@"?(i=Pe(this.options.mangle?n(r[1]):r[1]),o="mailto:"+i):(i=Pe(r[1]),o=i),{type:"link",raw:r[0],text:i,href:o,tokens:[{type:"text",raw:i,text:i}]}}}url(t,n){let r;if(r=this.rules.inline.url.exec(t)){let i,o;if(r[2]==="@")i=Pe(this.options.mangle?n(r[0]):r[0]),o="mailto:"+i;else{let s;do s=r[0],r[0]=this.rules.inline._backpedal.exec(r[0])[0];while(s!==r[0]);i=Pe(r[0]),r[1]==="www."?o="http://"+i:o=i}return{type:"link",raw:r[0],text:i,href:o,tokens:[{type:"text",raw:i,text:i}]}}}inlineText(t,n){const r=this.rules.inline.text.exec(t);if(r){let i;return this.lexer.state.inRawBlock?i=this.options.sanitize?this.options.sanitizer?this.options.sanitizer(r[0]):Pe(r[0]):r[0]:i=Pe(this.options.smartypants?n(r[0]):r[0]),{type:"text",raw:r[0],text:i}}}}const W={newline:/^(?: *(?:\n|$))+/,code:/^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,fences:/^ {0,3}(`{3,}(?=[^`\n]*\n)|~{3,})([^\n]*)\n(?:|([\s\S]*?)\n)(?: {0,3}\1[~`]* *(?=\n|$)|$)/,hr:/^ {0,3}((?:- *){3,}|(?:_ *){3,}|(?:\* *){3,})(?:\n+|$)/,heading:/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,blockquote:/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/,list:/^( {0,3}bull)( [^\n]+?)?(?:\n|$)/,html:"^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|)[\\s\\S]*?(?:(?:\\n *)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$))",def:/^ {0,3}\[(label)\]: *(?:\n *)?]+)>?(?:(?: +(?:\n *)?| *\n *)(title))? *(?:\n+|$)/,table:yi,lheading:/^([^\n]+)\n {0,3}(=+|-+) *(?:\n+|$)/,_paragraph:/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,text:/^[^\n]+/};W._label=/(?!\s*\])(?:\\.|[^\[\]\\])+/;W._title=/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/;W.def=ye(W.def).replace("label",W._label).replace("title",W._title).getRegex();W.bullet=/(?:[*+-]|\d{1,9}[.)])/;W.listItemStart=ye(/^( *)(bull) */).replace("bull",W.bullet).getRegex();W.list=ye(W.list).replace(/bull/g,W.bullet).replace("hr","\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))").replace("def","\\n+(?="+W.def.source+")").getRegex();W._tag="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul";W._comment=/|$)/;W.html=ye(W.html,"i").replace("comment",W._comment).replace("tag",W._tag).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex();W.paragraph=ye(W._paragraph).replace("hr",W.hr).replace("heading"," {0,3}#{1,6} ").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",W._tag).getRegex();W.blockquote=ye(W.blockquote).replace("paragraph",W.paragraph).getRegex();W.normal=vt({},W);W.gfm=vt({},W.normal,{table:"^ *([^\\n ].*\\|.*)\\n {0,3}(?:\\| *)?(:?-+:? *(?:\\| *:?-+:? *)*)(?:\\| *)?(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)"});W.gfm.table=ye(W.gfm.table).replace("hr",W.hr).replace("heading"," {0,3}#{1,6} ").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",W._tag).getRegex();W.gfm.paragraph=ye(W._paragraph).replace("hr",W.hr).replace("heading"," {0,3}#{1,6} ").replace("|lheading","").replace("table",W.gfm.table).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",W._tag).getRegex();W.pedantic=vt({},W.normal,{html:ye(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",W._comment).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:yi,paragraph:ye(W.normal._paragraph).replace("hr",W.hr).replace("heading",` *#{1,6} *[^ +]`).replace("lheading",W.lheading).replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").getRegex()});const z={escape:/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,autolink:/^<(scheme:[^\s\x00-\x1f<>]*|email)>/,url:yi,tag:"^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^",link:/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/,reflink:/^!?\[(label)\]\[(ref)\]/,nolink:/^!?\[(ref)\](?:\[\])?/,reflinkSearch:"reflink|nolink(?!\\()",emStrong:{lDelim:/^(?:\*+(?:([punct_])|[^\s*]))|^_+(?:([punct*])|([^\s_]))/,rDelimAst:/^[^_*]*?\_\_[^_*]*?\*[^_*]*?(?=\_\_)|[punct_](\*+)(?=[\s]|$)|[^punct*_\s](\*+)(?=[punct_\s]|$)|[punct_\s](\*+)(?=[^punct*_\s])|[\s](\*+)(?=[punct_])|[punct_](\*+)(?=[punct_])|[^punct*_\s](\*+)(?=[^punct*_\s])/,rDelimUnd:/^[^_*]*?\*\*[^_*]*?\_[^_*]*?(?=\*\*)|[punct*](\_+)(?=[\s]|$)|[^punct*_\s](\_+)(?=[punct*\s]|$)|[punct*\s](\_+)(?=[^punct*_\s])|[\s](\_+)(?=[punct*])|[punct*](\_+)(?=[punct*])/},code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,br:/^( {2,}|\\)\n(?!\s*$)/,del:yi,text:/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\?@\\[\\]`^{|}~";z.punctuation=ye(z.punctuation).replace(/punctuation/g,z._punctuation).getRegex();z.blockSkip=/\[[^\]]*?\]\([^\)]*?\)|`[^`]*?`|<[^>]*?>/g;z.escapedEmSt=/\\\*|\\_/g;z._comment=ye(W._comment).replace("(?:-->|$)","-->").getRegex();z.emStrong.lDelim=ye(z.emStrong.lDelim).replace(/punct/g,z._punctuation).getRegex();z.emStrong.rDelimAst=ye(z.emStrong.rDelimAst,"g").replace(/punct/g,z._punctuation).getRegex();z.emStrong.rDelimUnd=ye(z.emStrong.rDelimUnd,"g").replace(/punct/g,z._punctuation).getRegex();z._escapes=/\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/g;z._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/;z._email=/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/;z.autolink=ye(z.autolink).replace("scheme",z._scheme).replace("email",z._email).getRegex();z._attribute=/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/;z.tag=ye(z.tag).replace("comment",z._comment).replace("attribute",z._attribute).getRegex();z._label=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/;z._href=/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/;z._title=/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/;z.link=ye(z.link).replace("label",z._label).replace("href",z._href).replace("title",z._title).getRegex();z.reflink=ye(z.reflink).replace("label",z._label).replace("ref",W._label).getRegex();z.nolink=ye(z.nolink).replace("ref",W._label).getRegex();z.reflinkSearch=ye(z.reflinkSearch,"g").replace("reflink",z.reflink).replace("nolink",z.nolink).getRegex();z.normal=vt({},z);z.pedantic=vt({},z.normal,{strong:{start:/^__|\*\*/,middle:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,endAst:/\*\*(?!\*)/g,endUnd:/__(?!_)/g},em:{start:/^_|\*/,middle:/^()\*(?=\S)([\s\S]*?\S)\*(?!\*)|^_(?=\S)([\s\S]*?\S)_(?!_)/,endAst:/\*(?!\*)/g,endUnd:/_(?!_)/g},link:ye(/^!?\[(label)\]\((.*?)\)/).replace("label",z._label).getRegex(),reflink:ye(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",z._label).getRegex()});z.gfm=vt({},z.normal,{escape:ye(z.escape).replace("])","~|])").getRegex(),_extended_email:/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,url:/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,_backpedal:/(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\.5&&(r="x"+r.toString(16)),t+="&#"+r+";";return t}class Vt{constructor(t){this.tokens=[],this.tokens.links=Object.create(null),this.options=t||Un,this.options.tokenizer=this.options.tokenizer||new Yo,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};const n={block:W.normal,inline:z.normal};this.options.pedantic?(n.block=W.pedantic,n.inline=z.pedantic):this.options.gfm&&(n.block=W.gfm,this.options.breaks?n.inline=z.breaks:n.inline=z.gfm),this.tokenizer.rules=n}static get rules(){return{block:W,inline:z}}static lex(t,n){return new Vt(n).lex(t)}static lexInline(t,n){return new Vt(n).inlineTokens(t)}lex(t){t=t.replace(/\r\n|\r/g,` +`).replace(/\t/g," "),this.blockTokens(t,this.tokens);let n;for(;n=this.inlineQueue.shift();)this.inlineTokens(n.src,n.tokens);return this.tokens}blockTokens(t,n=[]){this.options.pedantic&&(t=t.replace(/^ +$/gm,""));let r,i,o,s;for(;t;)if(!(this.options.extensions&&this.options.extensions.block&&this.options.extensions.block.some(a=>(r=a.call({lexer:this},t,n))?(t=t.substring(r.raw.length),n.push(r),!0):!1))){if(r=this.tokenizer.space(t)){t=t.substring(r.raw.length),r.raw.length===1&&n.length>0?n[n.length-1].raw+=` `:n.push(r);continue}if(r=this.tokenizer.code(t)){t=t.substring(r.raw.length),i=n[n.length-1],i&&(i.type==="paragraph"||i.type==="text")?(i.raw+=` `+r.raw,i.text+=` `+r.text,this.inlineQueue[this.inlineQueue.length-1].src=i.text):n.push(r);continue}if(r=this.tokenizer.fences(t)){t=t.substring(r.raw.length),n.push(r);continue}if(r=this.tokenizer.heading(t)){t=t.substring(r.raw.length),n.push(r);continue}if(r=this.tokenizer.hr(t)){t=t.substring(r.raw.length),n.push(r);continue}if(r=this.tokenizer.blockquote(t)){t=t.substring(r.raw.length),n.push(r);continue}if(r=this.tokenizer.list(t)){t=t.substring(r.raw.length),n.push(r);continue}if(r=this.tokenizer.html(t)){t=t.substring(r.raw.length),n.push(r);continue}if(r=this.tokenizer.def(t)){t=t.substring(r.raw.length),i=n[n.length-1],i&&(i.type==="paragraph"||i.type==="text")?(i.raw+=` `+r.raw,i.text+=` -`+r.raw,this.inlineQueue[this.inlineQueue.length-1].src=i.text):this.tokens.links[r.tag]||(this.tokens.links[r.tag]={href:r.href,title:r.title});continue}if(r=this.tokenizer.table(t)){t=t.substring(r.raw.length),n.push(r);continue}if(r=this.tokenizer.lheading(t)){t=t.substring(r.raw.length),n.push(r);continue}if(s=t,this.options.extensions&&this.options.extensions.startBlock){let a=1/0;const l=t.slice(1);let u;this.options.extensions.startBlock.forEach(function(c){u=c.call({lexer:this},l),typeof u=="number"&&u>=0&&(a=Math.min(a,u))}),a<1/0&&a>=0&&(s=t.substring(0,a+1))}if(this.state.top&&(r=this.tokenizer.paragraph(s))){i=n[n.length-1],o&&i.type==="paragraph"?(i.raw+=` +`+r.raw,this.inlineQueue[this.inlineQueue.length-1].src=i.text):this.tokens.links[r.tag]||(this.tokens.links[r.tag]={href:r.href,title:r.title});continue}if(r=this.tokenizer.table(t)){t=t.substring(r.raw.length),n.push(r);continue}if(r=this.tokenizer.lheading(t)){t=t.substring(r.raw.length),n.push(r);continue}if(o=t,this.options.extensions&&this.options.extensions.startBlock){let a=1/0;const l=t.slice(1);let u;this.options.extensions.startBlock.forEach(function(c){u=c.call({lexer:this},l),typeof u=="number"&&u>=0&&(a=Math.min(a,u))}),a<1/0&&a>=0&&(o=t.substring(0,a+1))}if(this.state.top&&(r=this.tokenizer.paragraph(o))){i=n[n.length-1],s&&i.type==="paragraph"?(i.raw+=` `+r.raw,i.text+=` -`+r.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=i.text):n.push(r),o=s.length!==t.length,t=t.substring(r.raw.length);continue}if(r=this.tokenizer.text(t)){t=t.substring(r.raw.length),i=n[n.length-1],i&&i.type==="text"?(i.raw+=` +`+r.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=i.text):n.push(r),s=o.length!==t.length,t=t.substring(r.raw.length);continue}if(r=this.tokenizer.text(t)){t=t.substring(r.raw.length),i=n[n.length-1],i&&i.type==="text"?(i.raw+=` `+r.raw,i.text+=` -`+r.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=i.text):n.push(r);continue}if(t){const a="Infinite loop on byte: "+t.charCodeAt(0);if(this.options.silent){console.error(a);break}else throw new Error(a)}}return this.state.top=!0,n}inline(t,n){this.inlineQueue.push({src:t,tokens:n})}inlineTokens(t,n=[]){let r,i,s,o=t,a,l,u;if(this.tokens.links){const c=Object.keys(this.tokens.links);if(c.length>0)for(;(a=this.tokenizer.rules.inline.reflinkSearch.exec(o))!=null;)c.includes(a[0].slice(a[0].lastIndexOf("[")+1,-1))&&(o=o.slice(0,a.index)+"["+wa("a",a[0].length-2)+"]"+o.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;(a=this.tokenizer.rules.inline.blockSkip.exec(o))!=null;)o=o.slice(0,a.index)+"["+wa("a",a[0].length-2)+"]"+o.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;(a=this.tokenizer.rules.inline.escapedEmSt.exec(o))!=null;)o=o.slice(0,a.index)+"++"+o.slice(this.tokenizer.rules.inline.escapedEmSt.lastIndex);for(;t;)if(l||(u=""),l=!1,!(this.options.extensions&&this.options.extensions.inline&&this.options.extensions.inline.some(c=>(r=c.call({lexer:this},t,n))?(t=t.substring(r.raw.length),n.push(r),!0):!1))){if(r=this.tokenizer.escape(t)){t=t.substring(r.raw.length),n.push(r);continue}if(r=this.tokenizer.tag(t)){t=t.substring(r.raw.length),i=n[n.length-1],i&&r.type==="text"&&i.type==="text"?(i.raw+=r.raw,i.text+=r.text):n.push(r);continue}if(r=this.tokenizer.link(t)){t=t.substring(r.raw.length),n.push(r);continue}if(r=this.tokenizer.reflink(t,this.tokens.links)){t=t.substring(r.raw.length),i=n[n.length-1],i&&r.type==="text"&&i.type==="text"?(i.raw+=r.raw,i.text+=r.text):n.push(r);continue}if(r=this.tokenizer.emStrong(t,o,u)){t=t.substring(r.raw.length),n.push(r);continue}if(r=this.tokenizer.codespan(t)){t=t.substring(r.raw.length),n.push(r);continue}if(r=this.tokenizer.br(t)){t=t.substring(r.raw.length),n.push(r);continue}if(r=this.tokenizer.del(t)){t=t.substring(r.raw.length),n.push(r);continue}if(r=this.tokenizer.autolink(t,ba)){t=t.substring(r.raw.length),n.push(r);continue}if(!this.state.inLink&&(r=this.tokenizer.url(t,ba))){t=t.substring(r.raw.length),n.push(r);continue}if(s=t,this.options.extensions&&this.options.extensions.startInline){let c=1/0;const d=t.slice(1);let f;this.options.extensions.startInline.forEach(function(p){f=p.call({lexer:this},d),typeof f=="number"&&f>=0&&(c=Math.min(c,f))}),c<1/0&&c>=0&&(s=t.substring(0,c+1))}if(r=this.tokenizer.inlineText(s,tm)){t=t.substring(r.raw.length),r.raw.slice(-1)!=="_"&&(u=r.raw.slice(-1)),l=!0,i=n[n.length-1],i&&i.type==="text"?(i.raw+=r.raw,i.text+=r.text):n.push(r);continue}if(t){const c="Infinite loop on byte: "+t.charCodeAt(0);if(this.options.silent){console.error(c);break}else throw new Error(c)}}return n}}class Ys{constructor(t){this.options=t||Un}code(t,n,r){const i=(n||"").match(/\S*/)[0];if(this.options.highlight){const s=this.options.highlight(t,i);s!=null&&s!==t&&(r=!0,t=s)}return t=t.replace(/\n$/,"")+` +`+r.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=i.text):n.push(r);continue}if(t){const a="Infinite loop on byte: "+t.charCodeAt(0);if(this.options.silent){console.error(a);break}else throw new Error(a)}}return this.state.top=!0,n}inline(t,n){this.inlineQueue.push({src:t,tokens:n})}inlineTokens(t,n=[]){let r,i,o,s=t,a,l,u;if(this.tokens.links){const c=Object.keys(this.tokens.links);if(c.length>0)for(;(a=this.tokenizer.rules.inline.reflinkSearch.exec(s))!=null;)c.includes(a[0].slice(a[0].lastIndexOf("[")+1,-1))&&(s=s.slice(0,a.index)+"["+wa("a",a[0].length-2)+"]"+s.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;(a=this.tokenizer.rules.inline.blockSkip.exec(s))!=null;)s=s.slice(0,a.index)+"["+wa("a",a[0].length-2)+"]"+s.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;(a=this.tokenizer.rules.inline.escapedEmSt.exec(s))!=null;)s=s.slice(0,a.index)+"++"+s.slice(this.tokenizer.rules.inline.escapedEmSt.lastIndex);for(;t;)if(l||(u=""),l=!1,!(this.options.extensions&&this.options.extensions.inline&&this.options.extensions.inline.some(c=>(r=c.call({lexer:this},t,n))?(t=t.substring(r.raw.length),n.push(r),!0):!1))){if(r=this.tokenizer.escape(t)){t=t.substring(r.raw.length),n.push(r);continue}if(r=this.tokenizer.tag(t)){t=t.substring(r.raw.length),i=n[n.length-1],i&&r.type==="text"&&i.type==="text"?(i.raw+=r.raw,i.text+=r.text):n.push(r);continue}if(r=this.tokenizer.link(t)){t=t.substring(r.raw.length),n.push(r);continue}if(r=this.tokenizer.reflink(t,this.tokens.links)){t=t.substring(r.raw.length),i=n[n.length-1],i&&r.type==="text"&&i.type==="text"?(i.raw+=r.raw,i.text+=r.text):n.push(r);continue}if(r=this.tokenizer.emStrong(t,s,u)){t=t.substring(r.raw.length),n.push(r);continue}if(r=this.tokenizer.codespan(t)){t=t.substring(r.raw.length),n.push(r);continue}if(r=this.tokenizer.br(t)){t=t.substring(r.raw.length),n.push(r);continue}if(r=this.tokenizer.del(t)){t=t.substring(r.raw.length),n.push(r);continue}if(r=this.tokenizer.autolink(t,ba)){t=t.substring(r.raw.length),n.push(r);continue}if(!this.state.inLink&&(r=this.tokenizer.url(t,ba))){t=t.substring(r.raw.length),n.push(r);continue}if(o=t,this.options.extensions&&this.options.extensions.startInline){let c=1/0;const d=t.slice(1);let f;this.options.extensions.startInline.forEach(function(p){f=p.call({lexer:this},d),typeof f=="number"&&f>=0&&(c=Math.min(c,f))}),c<1/0&&c>=0&&(o=t.substring(0,c+1))}if(r=this.tokenizer.inlineText(o,tm)){t=t.substring(r.raw.length),r.raw.slice(-1)!=="_"&&(u=r.raw.slice(-1)),l=!0,i=n[n.length-1],i&&i.type==="text"?(i.raw+=r.raw,i.text+=r.text):n.push(r);continue}if(t){const c="Infinite loop on byte: "+t.charCodeAt(0);if(this.options.silent){console.error(c);break}else throw new Error(c)}}return n}}class Wo{constructor(t){this.options=t||Un}code(t,n,r){const i=(n||"").match(/\S*/)[0];if(this.options.highlight){const o=this.options.highlight(t,i);o!=null&&o!==t&&(r=!0,t=o)}return t=t.replace(/\n$/,"")+` `,i?'
'+(r?t:Pe(t,!0))+`
`:"
"+(r?t:Pe(t,!0))+`
`}blockquote(t){return`
@@ -92,7 +92,7 @@ ${ue(s,"collapse_all","Ctrl")}`,onClick:c(C)},se.chevron_down),h("button",{class `:""+t+" `}hr(){return this.options.xhtml?`
`:`
-`}list(t,n,r){const i=n?"ol":"ul",s=n&&r!==1?' start="'+r+'"':"";return"<"+i+s+`> +`}list(t,n,r){const i=n?"ol":"ul",o=n&&r!==1?' start="'+r+'"':"";return"<"+i+o+`> `+t+" `}listitem(t){return"
  • "+t+`
  • `}checkbox(t){return" "}paragraph(t){return"

    "+t+`

    @@ -103,10 +103,10 @@ ${ue(s,"collapse_all","Ctrl")}`,onClick:c(C)},se.chevron_down),h("button",{class `}tablerow(t){return` `+t+` `}tablecell(t,n){const r=n.header?"th":"td";return(n.align?"<"+r+' align="'+n.align+'">':"<"+r+">")+t+" -`}strong(t){return""+t+""}em(t){return""+t+""}codespan(t){return""+t+""}br(){return this.options.xhtml?"
    ":"
    "}del(t){return""+t+""}link(t,n,r){if(t=_a(this.options.sanitize,this.options.baseUrl,t),t===null)return r;let i='",i}image(t,n,r){if(t=_a(this.options.sanitize,this.options.baseUrl,t),t===null)return r;let i=''+r+'":">",i}text(t){return t}}class Hc{strong(t){return t}em(t){return t}codespan(t){return t}del(t){return t}html(t){return t}text(t){return t}link(t,n,r){return""+r}image(t,n,r){return""+r}br(){return""}}class Uc{constructor(){this.seen={}}serialize(t){return t.toLowerCase().trim().replace(/<[!\/a-z].*?>/ig,"").replace(/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,./:;<=>?@[\]^`{|}~]/g,"").replace(/\s/g,"-")}getNextSafeSlug(t,n){let r=t,i=0;if(this.seen.hasOwnProperty(r)){i=this.seen[t];do i++,r=t+"-"+i;while(this.seen.hasOwnProperty(r))}return n||(this.seen[t]=i,this.seen[r]=0),r}slug(t,n={}){const r=this.serialize(t);return this.getNextSafeSlug(r,n.dryrun)}}class Ht{constructor(t){this.options=t||Un,this.options.renderer=this.options.renderer||new Ys,this.renderer=this.options.renderer,this.renderer.options=this.options,this.textRenderer=new Hc,this.slugger=new Uc}static parse(t,n){return new Ht(n).parse(t)}static parseInline(t,n){return new Ht(n).parseInline(t)}parse(t,n=!0){let r="",i,s,o,a,l,u,c,d,f,p,m,v,g,_,y,w,b,A,k;const C=t.length;for(i=0;i0&&y.tokens[0].type==="paragraph"?(y.tokens[0].text=A+" "+y.tokens[0].text,y.tokens[0].tokens&&y.tokens[0].tokens.length>0&&y.tokens[0].tokens[0].type==="text"&&(y.tokens[0].tokens[0].text=A+" "+y.tokens[0].tokens[0].text)):y.tokens.unshift({type:"text",text:A}):_+=A),_+=this.parse(y.tokens,g),f+=this.renderer.listitem(_,b,w);r+=this.renderer.list(f,m,v);continue}case"html":{r+=this.renderer.html(p.text);continue}case"paragraph":{r+=this.renderer.paragraph(this.parseInline(p.tokens));continue}case"text":{for(f=p.tokens?this.parseInline(p.tokens):p.text;i+1{r(a.text,a.lang,function(l,u){if(l)return s(l);u!=null&&u!==a.text&&(a.text=u,a.escaped=!0),o--,o===0&&s()})},0))}),o===0&&s();return}try{const r=Vt.lex(e,t);return t.walkTokens&&te.walkTokens(r,t.walkTokens),Ht.parse(r,t)}catch(r){if(r.message+=` -Please report this to https://github.com/markedjs/marked.`,t.silent)return"

    An error occurred:

    "+Pe(r.message+"",!0)+"
    ";throw r}}te.options=te.setOptions=function(e){return vt(te.defaults,e),F1(te.defaults),te};te.getDefaults=zc;te.defaults=Un;te.use=function(...e){const t=vt({},...e),n=te.defaults.extensions||{renderers:{},childTokens:{}};let r;e.forEach(i=>{if(i.extensions&&(r=!0,i.extensions.forEach(s=>{if(!s.name)throw new Error("extension name required");if(s.renderer){const o=n.renderers?n.renderers[s.name]:null;o?n.renderers[s.name]=function(...a){let l=s.renderer.apply(this,a);return l===!1&&(l=o.apply(this,a)),l}:n.renderers[s.name]=s.renderer}if(s.tokenizer){if(!s.level||s.level!=="block"&&s.level!=="inline")throw new Error("extension level must be 'block' or 'inline'");n[s.level]?n[s.level].unshift(s.tokenizer):n[s.level]=[s.tokenizer],s.start&&(s.level==="block"?n.startBlock?n.startBlock.push(s.start):n.startBlock=[s.start]:s.level==="inline"&&(n.startInline?n.startInline.push(s.start):n.startInline=[s.start]))}s.childTokens&&(n.childTokens[s.name]=s.childTokens)})),i.renderer){const s=te.defaults.renderer||new Ys;for(const o in i.renderer){const a=s[o];s[o]=(...l)=>{let u=i.renderer[o].apply(s,l);return u===!1&&(u=a.apply(s,l)),u}}t.renderer=s}if(i.tokenizer){const s=te.defaults.tokenizer||new Gs;for(const o in i.tokenizer){const a=s[o];s[o]=(...l)=>{let u=i.tokenizer[o].apply(s,l);return u===!1&&(u=a.apply(s,l)),u}}t.tokenizer=s}if(i.walkTokens){const s=te.defaults.walkTokens;t.walkTokens=function(o){i.walkTokens.call(this,o),s&&s.call(this,o)}}r&&(t.extensions=n),te.setOptions(t)})};te.walkTokens=function(e,t){for(const n of e)switch(t.call(te,n),n.type){case"table":{for(const r of n.header)te.walkTokens(r.tokens,t);for(const r of n.rows)for(const i of r)te.walkTokens(i.tokens,t);break}case"list":{te.walkTokens(n.items,t);break}default:te.defaults.extensions&&te.defaults.extensions.childTokens&&te.defaults.extensions.childTokens[n.type]?te.defaults.extensions.childTokens[n.type].forEach(function(r){te.walkTokens(n[r],t)}):n.tokens&&te.walkTokens(n.tokens,t)}};te.parseInline=function(e,t){if(typeof e=="undefined"||e===null)throw new Error("marked.parseInline(): input parameter is undefined or null");if(typeof e!="string")throw new Error("marked.parseInline(): input parameter is of type "+Object.prototype.toString.call(e)+", string expected");t=vt({},te.defaults,t||{}),Vc(t);try{const n=Vt.lexInline(e,t);return t.walkTokens&&te.walkTokens(n,t.walkTokens),Ht.parseInline(n,t)}catch(n){if(n.message+=` -Please report this to https://github.com/markedjs/marked.`,t.silent)return"

    An error occurred:

    "+Pe(n.message+"",!0)+"
    ";throw n}};te.Parser=Ht;te.parser=Ht.parse;te.Renderer=Ys;te.TextRenderer=Hc;te.Lexer=Vt;te.lexer=Vt.lex;te.Tokenizer=Gs;te.Slugger=Uc;te.parse=te;Ht.parse;Vt.lex;function nm({change:e,activeTags:t,toggleTag:n}){return h("div",{class:"changelog-entry"},h("div",{class:"changelog-version"},h(xa,J({},e.version)),h(xa,J({},e.group))),h("div",{class:"changelog-tags"},e.tags.map(r=>h(Lr,{label:r,onClick:n?()=>n(r):void 0,active:t==null?void 0:t.includes(r)}))),h("div",{class:"changelog-content",dangerouslySetInnerHTML:{__html:te(e.content)}}))}function xa({id:e,article:t}){return t===null?h("span",null,e):h("a",{href:`https://www.minecraft.net/en-us/article/${t}`,target:"_blank"},e)}function Lr({label:e,active:t,onClick:n}){const r=e==="breaking"?5:Ul(e)%360;return h("div",{class:`changelog-tag${t?" active":""}${n?" clickable":""}`,style:`--tint: ${r}`,onClick:n},e==="breaking"&&se.alert,e)}function Gc({changes:e,defaultOrder:t}){const{locale:n}=Ee(),[r,i]=$(""),[s,o]=$([]),a=f=>{s.includes(f)?o(s.filter(p=>p!==f)):o([...s,f])},l=Ae(()=>{const f=r.split(" ").map(p=>p.trim().toLowerCase()).filter(p=>p.length>0);return f.length===0&&s.length===0?e:e==null?void 0:e.filter(p=>{if(!s.every(v=>p.tags.includes(v)))return!1;const m=p.tags.join(" ")+" "+p.content.toLowerCase();return f.every(v=>v.startsWith("!")?v.length===1||!m.includes(v.slice(1)):m.includes(v))})},[e,r,s]),[u,c]=$(t==="desc"),d=Ae(()=>l==null?void 0:l.sort((f,p)=>u?p.order-f.order:f.order-p.order),[l,u]);return h(ne,null,h("div",{class:"changelog-query"},h(an,{class:"btn btn-input changelog-search",list:"sound-list",placeholder:n("changelog.search"),value:r,onChange:i}),h(q,{icon:u?"sort_desc":"sort_asc",label:u?"Newest first":"Oldest first",onClick:()=>c(!u)})),s.length>0&&h("div",{class:"changelog-tags"},s.map(f=>h(Lr,{label:f,onClick:()=>o(s.filter(p=>p!==f))}))),h("div",{class:"changelog-list"},d===void 0?h("span",{class:"note"},n("loading")):d.length===0?h("span",{class:"note"},n("changelog.no_results")):d.map(f=>h(nm,{change:f,activeTags:s,toggleTag:a}))))}function rm({version:e}){const{locale:t}=Ee(),[n,r]=$("changelog"),[i,s]=$(void 0);K(()=>{ql().then(a=>s(a.map(l=>xe(J({},l),{tags:l.tags.filter(u=>u!==l.group.id)})))).catch(a=>console.error(a))},[]);const o=Ae(()=>i==null?void 0:i.filter(a=>a.version.id===e.id||a.group.id===e.id),[e.id,i]);return h(ne,null,h("div",{class:"version-detail"},h("h2",null,e.name),h("div",{class:"version-info"},h(Rt,{label:t("versions.released"),value:Yc(e)}),h(Rt,{label:t("versions.release_target"),value:e.release_target,link:e.id!==e.release_target?`/versions/?id=${e.release_target}`:void 0}),h(Rt,{label:t("versions.data_version"),value:e.data_version}),h(Rt,{label:t("versions.protocol_version"),value:e.protocol_version}),h(Rt,{label:t("versions.data_pack_format"),value:e.data_pack_version}),h(Rt,{label:t("versions.resource_pack_format"),value:e.resource_pack_version})),h("div",{class:"version-tabs"},h("span",{class:n==="changelog"?"selected":"",onClick:()=>r("changelog")},t("versions.technical_changes")),h("span",{class:n==="discussion"?"selected":"",onClick:()=>r("discussion")},t("versions.discussion"))),h("div",{class:"version-tab"},n==="changelog"&&h(Gc,{changes:o,defaultOrder:"asc"}),n==="discussion"&&h(Us,{term:`version/${e.id}`}))))}function Yc(e){return new Date(e.release_time).toLocaleDateString(void 0,{day:"numeric",month:"short",year:"numeric"})}function im({version:e,link:t}){const{locale:n}=Ee();return h("a",{class:"version-entry",href:t},h("span",{class:"version-id"},e.id),h(Rt,{label:n("versions.released"),value:Yc(e),compact:!0}),h(Rt,{label:n("versions.data_version"),value:e.data_version,optional:!0}),h(Rt,{label:n("versions.pack_format"),value:e.data_pack_version,optional:!0}))}function sm({versions:e,link:t}){const{locale:n}=Ee(),[r,i]=$(!0),[s,o]=$(""),a=Ae(()=>e.filter(l=>l.type==="snapshot"&&!r?!1:l.id.includes(s)),[e,r,s]);return h(ne,null,h("div",{class:"versions-controls"},h(an,{class:"btn btn-input version-search",placeholder:n("versions.search"),value:s,onChange:o}),h(f0,{label:"Include snapshots",value:r,onChange:i})),h("div",{class:"version-list"},a.map(l=>h(im,{version:l,link:t==null?void 0:t(l.id)})),a.length===0&&h("span",null,n("versions.no_results"))))}function Rt({label:e,value:t,link:n,compact:r,optional:i}){return h("div",{class:`version-metadata${i?" version-metadata-hide":""}`},h("span",{class:r?"version-metadata-hide":void 0},e,": "),h("span",{class:"version-metadata-value"},t),n&&h("a",{href:n,class:"version-metadata-link"},se.link_external))}function om({title:e,link:t,versions:n,tags:r,activeTags:i,toggleTag:s}){const o=a=>l=>{s&&s(a),l.preventDefault(),l.stopImmediatePropagation()};return h("a",{class:"guide-card",href:t},h("span",{class:"guide-versions"},n.join(" \u2022 ")),h("h3",null,e),h("div",{class:"guide-tags"},r.sort().map(a=>h(Lr,{label:a,onClick:o(a),active:i==null?void 0:i.includes(a)}))))}const Aa={system:"device_desktop",dark:"moon",light:"sun"};function am(){const{lang:e,locale:t,changeLocale:n}=Ee(),{theme:r,changeTheme:i}=lc(),{version:s}=Hn(),{title:o}=_t(),a=Gl(Mn());return h("header",null,h("div",{class:"title"},h(Ja,{class:"home-link",href:"/","aria-label":t("home"),"data-cy":"home-link"},Wc.home),h("h1",null,o),a&&h(Ke,{icon:"chevron_down",tooltip:t("switch_generator"),"data-cy":"generator-switcher"},me.generators.filter(l=>l.category===(a==null?void 0:a.category)&&Ye(s,l.minVersion)).map(l=>h(q,{label:t(l.id),active:l.id===a.id,onClick:()=>qt(jt(l.url))})))),h("nav",null,h("ul",null,h("li",{"data-cy":"language-switcher"},h(Ke,{icon:"globe",tooltip:t("language")},me.languages.map(({code:l,name:u})=>h(q,{label:u,active:l===e,onClick:()=>n(l)})))),h("li",{"data-cy":"theme-switcher"},h(Ke,{icon:Aa[r],tooltip:t("theme")},Object.entries(Aa).map(([l,u])=>h(q,{icon:u,label:t(`theme.${l}`),active:l===r,onClick:()=>i(l)})))),h("li",{class:"dimmed"},h("a",{href:"https://github.com/misode/misode.github.io",target:"_blank",rel:"noreferrer",class:"tooltipped tip-sw","aria-label":t("github")},se.mark_github)))))}const Wc={home:h("svg",{width:"32",height:"28",viewBox:"0 0 32 28",fill:"none",xmlns:"http://www.w3.org/2000/svg"},h("rect",{width:"26",height:"6",rx:"3",fill:"#7CB45C"}),h("rect",{x:"8",width:"18",height:"6",rx:"3",fill:"#4BA041"}),h("rect",{y:"11",width:"32",height:"6",rx:"3",fill:"#AAA8A8"}),h("rect",{x:"11",y:"11",width:"21",height:"6",rx:"3",fill:"#91908F"}),h("rect",{x:"11",y:"22",width:"21",height:"6",rx:"3",fill:"#70B5C3"}),h("rect",{x:"17",y:"22",width:"15",height:"6",rx:"3",fill:"#4D989B"})),report:h("svg",{width:"30",height:"36",viewBox:"0 0 30 36",xmlns:"http://www.w3.org/2000/svg"},h("path",{d:"M0 16C0 13.7909 1.79086 12 4 12V12C6.20914 12 8 13.7909 8 16V32C8 34.2091 6.20914 36 4 36V36C1.79086 36 0 34.2091 0 32V16Z",fill:"#6ACC5D"}),h("path",{d:"M11 4C11 1.79086 12.7909 0 15 0V0C17.2091 0 19 1.79086 19 4V32C19 34.2091 17.2091 36 15 36V36C12.7909 36 11 34.2091 11 32V4Z",fill:"#FF4C4C"}),h("path",{d:"M22 10C22 7.79086 23.7909 6 26 6V6C28.2091 6 30 7.79086 30 10V32C30 34.2091 28.2091 36 26 36V36C23.7909 36 22 34.2091 22 32V10Z",fill:"#E5B442"}),h("path",{d:"M0 23C0 20.7909 1.79086 19 4 19V19C6.20914 19 8 20.7909 8 23V32C8 34.2091 6.20914 36 4 36V36C1.79086 36 0 34.2091 0 32V23Z",fill:"#2BAD1D"}),h("path",{d:"M11 15C11 12.7909 12.7909 11 15 11V11C17.2091 11 19 12.7909 19 15V32C19 34.2091 17.2091 36 15 36V36C12.7909 36 11 34.2091 11 32V15Z",fill:"#C10B0B"}),h("path",{d:"M22 19C22 16.7909 23.7909 15 26 15V15C28.2091 15 30 16.7909 30 19V32C30 34.2091 28.2091 36 26 36V36C23.7909 36 22 34.2091 22 32V19Z",fill:"#CC8E00"})),sounds:h("svg",{width:"20",height:"20",viewBox:"0 0 20 20",xmlns:"http://www.w3.org/2000/svg"},h("circle",{cx:"10",cy:"10",r:"10",fill:"#451475"}),h("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M3.5 10C3.5 8.27609 4.18482 6.62279 5.40381 5.40381C6.62279 4.18482 8.27609 3.5 10 3.5C11.7239 3.5 13.3772 4.18482 14.5962 5.40381C15.8152 6.62279 16.5 8.27609 16.5 10C16.5 11.7239 15.8152 13.3772 14.5962 14.5962C13.3772 15.8152 11.7239 16.5 10 16.5C8.27609 16.5 6.62279 15.8152 5.40381 14.5962C4.18482 13.3772 3.5 11.7239 3.5 10V10ZM10 2C7.87827 2 5.84344 2.84285 4.34315 4.34315C2.84285 5.84344 2 7.87827 2 10C2 12.1217 2.84285 14.1566 4.34315 15.6569C5.84344 17.1571 7.87827 18 10 18C12.1217 18 14.1566 17.1571 15.6569 15.6569C17.1571 14.1566 18 12.1217 18 10C18 7.87827 17.1571 5.84344 15.6569 4.34315C14.1566 2.84285 12.1217 2 10 2V2ZM8.379 7.227C8.34101 7.20412 8.29762 7.19175 8.25327 7.19117C8.20892 7.19059 8.16522 7.20181 8.12664 7.2237C8.08807 7.24558 8.05601 7.27733 8.03375 7.3157C8.0115 7.35406 7.99985 7.39765 8 7.442V12.559C8.00003 12.6033 8.0118 12.6467 8.03413 12.685C8.05646 12.7232 8.08854 12.7548 8.12708 12.7765C8.16563 12.7983 8.20926 12.8095 8.25352 12.8088C8.29778 12.8082 8.34108 12.7958 8.379 12.773L12.643 10.214C12.6798 10.1917 12.7103 10.1604 12.7315 10.1229C12.7526 10.0854 12.7638 10.043 12.7638 10C12.7638 9.95695 12.7526 9.91463 12.7315 9.87714C12.7103 9.83965 12.6798 9.80825 12.643 9.786L8.379 7.227Z",fill:"#C5A5E6"}))};function lm({howler:e,sounds:t,sound:n,delay:r,pitch:i,volume:s,onEdit:o,onDelete:a,delayedPlay:l}){const{locale:u}=Ee(),{version:c}=Hn(),[d,f]=$(!0),[p,m]=$(!1),[v,g]=$(!1),_=pe([]),y=`playsound minecraft:${n} master @s ~ ~ ~ ${s} ${i}`;K(()=>{var O,L,D;const M=t[n];g(((L=(O=M==null?void 0:M.sounds)==null?void 0:O.length)!=null?L:0)===0),_.current.forEach(ee=>ee.stop()),_.current=((D=M==null?void 0:M.sounds)!=null?D:[]).map(ee=>{const le=typeof ee=="string"?ee:ee.name,ce=A0(c,le),I=e({src:[ce],format:["ogg"],volume:s,rate:i});I.on("end",()=>{m(!1)});const N=()=>{d&&_.current.every(z=>z.state()==="loaded")&&f(!1)};return I.state()==="loaded"?setTimeout(()=>N()):I.on("load",()=>{N()}),I}),f(!0)},[n,t]),K(()=>{_.current.forEach(M=>M.rate(i))},[i]),K(()=>{_.current.forEach(M=>M.volume(s))},[s]);const w=()=>{if(d||v)return;b();const M=Math.floor(Math.random()*_.current.length);_.current[M].play(),m(!0)},b=()=>{_.current.forEach(M=>M.stop())};K(()=>{l&&setTimeout(()=>w(),r*50)},[l]),K(()=>()=>b(),[]);const[A,k]=$(!1),C=pe(void 0),S=()=>{navigator.clipboard.writeText(y),k(!0),C.current!==void 0&&clearTimeout(C.current),C.current=setTimeout(()=>{k(!1)},2e3)};return h("div",{class:`sound-config${d?" loading":p?" playing":""}${v?" invalid":""}`},h(q,{class:"play",icon:v?"alert":d?"sync":"play",label:u("sounds.play"),onClick:w,tooltip:u(v?"sounds.unknown_sound":d?"sounds.loading_sound":"sounds.play_sound"),tooltipLoc:"se"}),h(an,{class:"btn btn-input sound",list:"sound-list",spellcheck:!1,value:n,onChange:M=>o({sound:M})}),h("label",{class:"delay-label"},u("sounds.delay"),": "),h(p0,{class:"btn btn-input delay",min:0,value:r,onChange:M=>o({delay:M})}),h("label",{class:"pitch-label"},u("sounds.pitch"),": "),h(zo,{class:"pitch tooltipped tip-s",min:.5,max:2,step:.01,"aria-label":i.toFixed(2),style:`--x: ${(i-.5)*(100/1.5)}%`,value:i,onChange:M=>o({pitch:M})}),h("label",{class:"volume-label"},u("sounds.volume"),": "),h(zo,{class:"volume tooltipped tip-s",min:0,max:1,step:.01,"aria-label":s.toFixed(2),style:`--x: ${s*100}%`,value:s,onChange:M=>o({volume:M})}),h(q,{class:`copy${A?" active":""}`,icon:A?"check":"terminal",label:u("copy"),tooltip:u(A?"copied":"sounds.copy_command"),onClick:S}),h(q,{class:"remove",icon:"trashcan",tooltip:u("sounds.remove_sound"),onClick:()=>{a(),b()}}))}function ot({title:e,desc:t,link:n,icon:r,children:i}){const s=h(ne,null,h("div",{class:"tool-head"},r&&Wc[r],h("div",null,h("h3",null,e),h("p",null,t))),i&&h("div",{class:"tool-body"},i));return n?h("a",{class:"tool-card",href:n},s):h("div",{class:"tool-card"},s)}const ka="/";function qc({entries:e,onSelect:t,indent:n}){const r=Ae(()=>{var u;const l={};for(const c of e){const d=c.indexOf(ka);if(d>=0){const f=c.slice(0,d);((u=l[f])!=null?u:l[f]=[]).push(c.slice(d+1))}}return Object.entries(l)},e),i=Ae(()=>e.filter(l=>!l.includes(ka)),e),[s,o]=$(new Set),a=l=>{s.has(l)?s.delete(l):s.add(l),o(new Set(s))};return h("div",{class:"tree-view",style:`--indent: ${n!=null?n:0};`},r.map(([l,u])=>h("div",null,h(Sa,{icon:s.has(l)?"chevron_right":"chevron_down",key:l,label:l,onClick:()=>a(l)}),!s.has(l)&&h(qc,{entries:u,onSelect:c=>t(`${l}/${c}`),indent:(n!=null?n:0)+1}))),i.map(l=>h(Sa,{icon:"file",key:l,label:l,onClick:()=>t(l)})))}function Sa({icon:e,label:t,onClick:n}){return h("div",{class:"entry",onClick:n},se[e],t)}function Ea({category:e}){const{locale:t}=Ee();return _t(t("title.generator_category",t(e))),h("main",null,h("div",{class:"category"},me.generators.filter(n=>n.category===e).map(n=>h(ot,{title:t(n.id),link:jt(n.url)}))))}function cm({}){const{locale:e}=Ee();_t(e("title.changelog"));const{value:t,error:n}=Ir(ql,[]);return h("main",null,h(wr,{type:"text",id:"changelog"}),n&&h(kn,{error:n}),h("div",{class:"changelog"},h(Gc,{changes:t,defaultOrder:"desc"})))}const Qi="share";function um({}){var Qs;const{locale:e}=Ee(),{version:t,changeVersion:n,changeTargetVersion:r}=Hn(),{projects:i,project:s,file:o,updateFile:a,openFile:l,closeFile:u}=oc(),[c,d]=$(null),[f,p]=el();if(f)return f.message=`Something went wrong rendering the generator: ${f.message}`,h("main",null,h(kn,{error:f,onDismiss:p}));const m=Gl(Mn());if(!m)return h("main",null,h(kn,{error:`Cannot find generator "${Mn()}"`}));const v=Ae(()=>me.versions.filter(G=>Ye(G.id,m.minVersion,m.maxVersion)).map(G=>G.id).reverse(),[m.minVersion,m.maxVersion]);_t(e("title.generator",e(m.id)),v),Ye(t,m.minVersion)||d(`The minimum version for this generator is ${m.minVersion}`),Ye(t,void 0,m.maxVersion)||d(`This generator is not available in versions above ${m.maxVersion}`);const[g,_]=lr("preset"),[y,w]=lr(Qi),b=pe(!1),A=Ae(()=>$e.getBackup(m.id),[m.id]),k=()=>{A!==void 0&&(S==null||S.reset(B.DataModel.wrapLists(A),!1))},{value:C}=Ir(async()=>{let G;if(g&&y)return w(void 0),ds;if(g)G=await He(g);else if(y){const We=await N0(y);let qe=!1;if(We.version&&We.version!==t&&(n(We.version,!1),qe=!0),We.type&&We.type!==m.id){const Gt=me.generators.find(au=>au.id===We.type);Gt&&(qt(`${jt(Gt.url)}?${Qi}=${We.id}`),qe=!0)}if(qe)return ds;We.show_preview&&!st&&(Fi(!0),be(!1)),_e.openSnippet(m.id,y,t),G=We.data}const[Se,Mt]=await Promise.all([I0(t,m.id),M0(t)]);return G&&(b.current=!0,Se.reset(B.DataModel.wrapLists(G),!1)),_e.setGenerator(m.id,t),{model:Se,blockStates:Mt}},[m.id,t,y,g]),S=C==null?void 0:C.model,M=C==null?void 0:C.blockStates,[O,L]=$(!1);Ti(S,()=>{b.current||(_(void 0,!0),w(void 0,!0)),b.current=!1,$e.setBackup(m.id,B.DataModel.unwrapLists(S==null?void 0:S.data)),d(null),L(!0)},[m.id,_,w]);const[D,ee]=$(""),[le,ce]=qn(),[I,N]=qn(),z=()=>{if(D!==(o==null?void 0:o.id)&&D&&S&&M){const G=Qr(S,M);a(m.id,o==null?void 0:o.id,{id:D,data:G})?ce():(N(),o&&ee(o==null?void 0:o.id))}else o&&ee(o==null?void 0:o.id)},T=()=>{o&&a(m.id,o.id,{})};K(()=>{o&&ee(o.id)},[o]),K(()=>{var G;S&&(ee((G=o==null?void 0:o.id)!=null?G:""),o&&m.id===o.type&&S.reset(B.DataModel.wrapLists(o.data)),L(!1))},[o,S]);const x=()=>{var G;_e.resetGenerator(m.id,(G=S==null?void 0:S.historyIndex)!=null?G:1,"menu"),S==null||S.reset(B.DataModel.wrapLists(S.schema.default()),!0)},E=G=>{var Se;G.stopPropagation(),_e.undoGenerator(m.id,(Se=S==null?void 0:S.historyIndex)!=null?Se:1,"menu"),S==null||S.undo()},R=G=>{var Se;G.stopPropagation(),_e.redoGenerator(m.id,(Se=S==null?void 0:S.historyIndex)!=null?Se:1,"menu"),S==null||S.redo()},V=G=>{var Se,Mt;G.ctrlKey&&G.key==="z"?(_e.undoGenerator(m.id,(Se=S==null?void 0:S.historyIndex)!=null?Se:1,"hotkey"),S==null||S.undo()):G.ctrlKey&&G.key==="y"&&(_e.redoGenerator(m.id,(Mt=S==null?void 0:S.historyIndex)!=null?Mt:1,"hotkey"),S==null||S.redo())},W=G=>{if(G.ctrlKey&&G.key==="s"&&(G.preventDefault(),S&&M&&o)){_e.saveProjectFile(m.id,s.files.length,i.length,"hotkey");const Se=Qr(S,M);a(m.id,o==null?void 0:o.id,{id:o==null?void 0:o.id,data:Se}),L(!1),ce()}};K(()=>(document.addEventListener("keyup",V),document.addEventListener("keydown",W),()=>{document.removeEventListener("keyup",V),document.removeEventListener("keydown",W)}),[S,M,o]);const[de,Ve]=$([]);K(()=>{C0(t).then(G=>{Ve(G.get(m.id).map(Se=>Se.slice(10)))}).catch(G=>{console.error(G),d(G)})},[t,m.id]);const dt=G=>{_e.loadPreset(m.id,G),w(void 0,!0),r(t,!0),_(G)},He=async G=>{var Se,Mt,We;try{const qe=await Xl(t,(Se=m.path)!=null?Se:m.id,G),Gt=S==null?void 0:S.get(new B.Path(["generator","seed"]));return((Mt=qe==null?void 0:qe.generator)==null?void 0:Mt.seed)!==void 0&&Gt!==void 0&&(qe.generator.seed=Gt,((We=qe.generator.biome_source)==null?void 0:We.seed)!==void 0&&(qe.generator.biome_source.seed=Gt)),qe}catch{d(`Cannot load preset ${G} in ${t}`),_(void 0,!0)}},Ue=G=>{w(void 0,!0),n(G)},[Le,wt]=$(void 0),[ht,it]=$(!1),[Te,Jt]=qn({cooldown:3e3}),Ct=()=>{if(ht){it(!1);return}if(g)wt(`${location.origin}/${m.url}/?version=${t}&preset=${g}`),it(!0),X();else if(S&&M){const G=Qr(S,M);on(G,S.schema.default())?(wt(`${location.origin}/${m.url}/?version=${t}`),it(!0)):T0(m.id,t,G,st).then(({id:Se,length:Mt,compressed:We,rate:qe})=>{_e.createSnippet(m.id,Se,t,Mt,We,qe);const Gt=`${location.origin}/${m.url}/?${Qi}=${Se}`;wt(Gt),it(!0)}).catch(Se=>{Se instanceof Error&&d(Se)})}},X=()=>{navigator.clipboard.writeText(Le!=null?Le:""),Jt()};K(()=>{Te||(wt(void 0),it(!1))},[Te]);const[Be,be]=$(window.innerWidth>820),[he,yt]=$(0),[et,fn]=$(0),[pn,F]=$(0),H=()=>{_e.copyOutput(m.id,"menu"),yt(he+1)},ie=()=>{_e.downloadOutput(m.id,"menu"),fn(et+1)},fe=()=>{_e.generatorEvent("import"),be(!0),F(pn+1)},Re=()=>{Be?_e.hideOutput(m.id,"menu"):_e.showOutput(m.id,"menu"),be(!Be),yt(0),fn(0),F(0)},[tt,Bi]=qn(),[st,Fi]=$(!1),zi=Vp.includes(m.id)&&!(m.id==="worldgen/configured_feature"&&Ye(t,"1.18"));st&&!zi&&Fi(!1);let ji=2;zi&&(ji+=1),Be&&(ji+=2);const ou=()=>{Be?_e.hidePreview(m.id,"menu"):_e.showPreview(m.id,"menu"),Fi(!st),!st&&Be&&be(!1)};return h(ne,null,h("main",{class:st?"has-preview":""},h(wr,{id:"data-pack-generator",type:"text"}),h("div",{class:"controls"},h("div",{class:`project-controls ${o&&"has-file"}`},h("div",{class:"btn-row"},h(Ke,{icon:"repo",label:s.name,relative:!1},h(q,{icon:"arrow_left",label:e("project.go_to"),onClick:()=>qt("/project")}),o&&h(q,{icon:"file",label:e("project.new_file"),onClick:u}),A!==void 0&&h(q,{icon:"history",label:e("restore_backup"),onClick:k}),h(jo,{searchPlaceholder:e(s.name==="Drafts"?"project.search_drafts":"project.search"),noResults:e("project.no_files"),values:s.files.filter(G=>G.type===m.id).map(G=>G.id),onSelect:G=>l(m.id,G)})),h(an,{class:"btn btn-input",placeholder:e("project.unsaved_file"),value:D,onChange:ee,onEnter:z,onBlur:z}),o&&h(q,{icon:"trashcan",tooltip:e("project.delete_file"),onClick:T})),O?h("div",{class:"status-icon"},se.dot_fill):le?h("div",{class:"status-icon active"},se.check):I&&h("div",{class:"status-icon danger"},se.x)),h("div",{class:"generator-controls"},h(q,{icon:"upload",label:e("import"),onClick:fe}),h(Ke,{icon:"archive",label:e("presets"),relative:!1},h(jo,{searchPlaceholder:e("search"),noResults:e("no_presets"),values:de,onSelect:dt})),h(Ke,{icon:"tag",label:t,tooltip:e("switch_version"),"data-cy":"version-switcher"},v.map(G=>h(q,{label:G,active:G===t,onClick:()=>Ue(G)}))),h(Ke,{icon:"kebab_horizontal",tooltip:e("more")},h(q,{icon:"history",label:e("reset"),onClick:x}),h(q,{icon:"arrow_left",label:e("undo"),onClick:E}),h(q,{icon:"arrow_right",label:e("redo"),onClick:R})))),c&&h(kn,{error:c,onDismiss:()=>d(null)}),h(O1,{model:S,version:t,blockStates:M,onError:d})),h("div",{class:"popup-actions",style:`--offset: -${8+ji*50}px;`},h("div",{class:`popup-action action-preview${zi?" shown":""} tooltipped tip-nw`,"aria-label":e(st?"hide_preview":"show_preview"),onClick:ou},st?se.x_circle:se.play),h("div",{class:"popup-action action-share shown tooltipped tip-nw","aria-label":e("share"),onClick:Ct},se.link),h("div",{class:`popup-action action-download${Be?" shown":""} tooltipped tip-nw`,"aria-label":e("download"),onClick:ie},se.download),h("div",{class:`popup-action action-copy${Be?" shown":""}${tt?" active":""} tooltipped tip-nw`,"aria-label":e(tt?"copied":"copy"),onClick:H},tt?se.check:se.clippy),h("div",{class:"popup-action action-code shown tooltipped tip-nw","aria-label":e(Be?"hide_output":"show_output"),onClick:Re},Be?se.chevron_right:se.code)),h("div",{class:`popup-preview${st?" shown":""}`},h(Hp,{model:S,version:t,id:m.id,shown:st,onError:d})),h("div",{class:`popup-source${Be?" shown":""}`},h(Gp,{model:S,blockStates:M,doCopy:he,doDownload:et,doImport:pn,name:(Qs=m.schema)!=null?Qs:"data",copySuccess:Bi,onError:d})),h("div",{class:`popup-share${ht?" shown":""}`},h(an,{value:Le,readonly:!0}),h(q,{icon:Te?"check":"clippy",onClick:X,tooltip:e(Te?"copied":"copy_share"),tooltipLoc:"nw",active:Te,showTooltip:Te})))}var Ws={exports:{}};function qs(e){return e instanceof Map?e.clear=e.delete=e.set=function(){throw new Error("map is read-only")}:e instanceof Set&&(e.add=e.clear=e.delete=function(){throw new Error("set is read-only")}),Object.freeze(e),Object.getOwnPropertyNames(e).forEach(function(t){var n=e[t];typeof n=="object"&&!Object.isFrozen(n)&&qs(n)}),e}Ws.exports=qs;Ws.exports.default=qs;var dm=Ws.exports;class Ia{constructor(t){t.data===void 0&&(t.data={}),this.data=t.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}}function Zc(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}function Yt(e,...t){const n=Object.create(null);for(const r in e)n[r]=e[r];return t.forEach(function(r){for(const i in r)n[i]=r[i]}),n}const hm="",Ca=e=>!!e.kind,fm=(e,{prefix:t})=>{if(e.includes(".")){const n=e.split(".");return[`${t}${n.shift()}`,...n.map((r,i)=>`${r}${"_".repeat(i+1)}`)].join(" ")}return`${t}${e}`};class pm{constructor(t,n){this.buffer="",this.classPrefix=n.classPrefix,t.walk(this)}addText(t){this.buffer+=Zc(t)}openNode(t){if(!Ca(t))return;let n=t.kind;t.sublanguage?n=`language-${n}`:n=fm(n,{prefix:this.classPrefix}),this.span(n)}closeNode(t){!Ca(t)||(this.buffer+=hm)}value(){return this.buffer}span(t){this.buffer+=``}}class Zs{constructor(){this.rootNode={children:[]},this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(t){this.top.children.push(t)}openNode(t){const n={kind:t,children:[]};this.add(n),this.stack.push(n)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(t){return this.constructor._walk(t,this.rootNode)}static _walk(t,n){return typeof n=="string"?t.addText(n):n.children&&(t.openNode(n),n.children.forEach(r=>this._walk(t,r)),t.closeNode(n)),t}static _collapse(t){typeof t!="string"&&(!t.children||(t.children.every(n=>typeof n=="string")?t.children=[t.children.join("")]:t.children.forEach(n=>{Zs._collapse(n)})))}}class mm extends Zs{constructor(t){super(),this.options=t}addKeyword(t,n){t!==""&&(this.openNode(n),this.addText(t),this.closeNode())}addText(t){t!==""&&this.add(t)}addSublanguage(t,n){const r=t.root;r.kind=n,r.sublanguage=!0,this.add(r)}toHTML(){return new pm(this,this.options).value()}finalize(){return!0}}function gr(e){return e?typeof e=="string"?e:e.source:null}function Xc(e){return hn("(?=",e,")")}function gm(e){return hn("(?:",e,")*")}function _m(e){return hn("(?:",e,")?")}function hn(...e){return e.map(n=>gr(n)).join("")}function vm(e){const t=e[e.length-1];return typeof t=="object"&&t.constructor===Object?(e.splice(e.length-1,1),t):{}}function Xs(...e){const t=vm(e);return"("+(t.capture?"":"?:")+e.map(r=>gr(r)).join("|")+")"}function Jc(e){return new RegExp(e.toString()+"|").exec("").length-1}function wm(e,t){const n=e&&e.exec(t);return n&&n.index===0}const ym=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;function Js(e,{joinWith:t}){let n=0;return e.map(r=>{n+=1;const i=n;let s=gr(r),o="";for(;s.length>0;){const a=ym.exec(s);if(!a){o+=s;break}o+=s.substring(0,a.index),s=s.substring(a.index+a[0].length),a[0][0]==="\\"&&a[1]?o+="\\"+String(Number(a[1])+i):(o+=a[0],a[0]==="("&&n++)}return o}).map(r=>`(${r})`).join(t)}const bm=/\b\B/,Kc="[a-zA-Z]\\w*",Ks="[a-zA-Z_]\\w*",Qc="\\b\\d+(\\.\\d+)?",eu="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",tu="\\b(0b[01]+)",xm="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",Am=(e={})=>{const t=/^#![ ]*\//;return e.binary&&(e.begin=hn(t,/.*\b/,e.binary,/\b.*/)),Yt({scope:"meta",begin:t,end:/$/,relevance:0,"on:begin":(n,r)=>{n.index!==0&&r.ignoreMatch()}},e)},_r={begin:"\\\\[\\s\\S]",relevance:0},km={scope:"string",begin:"'",end:"'",illegal:"\\n",contains:[_r]},Sm={scope:"string",begin:'"',end:'"',illegal:"\\n",contains:[_r]},Em={begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},Di=function(e,t,n={}){const r=Yt({scope:"comment",begin:e,end:t,contains:[]},n);r.contains.push({scope:"doctag",begin:"[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)",end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0});const i=Xs("I","a","is","so","us","to","at","if","in","it","on",/[A-Za-z]+['](d|ve|re|ll|t|s|n)/,/[A-Za-z]+[-][a-z]+/,/[A-Za-z][a-z]{2,}/);return r.contains.push({begin:hn(/[ ]+/,"(",i,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),r},Im=Di("//","$"),Cm=Di("/\\*","\\*/"),Mm=Di("#","$"),Om={scope:"number",begin:Qc,relevance:0},Tm={scope:"number",begin:eu,relevance:0},Nm={scope:"number",begin:tu,relevance:0},Lm={begin:/(?=\/[^/\n]*\/)/,contains:[{scope:"regexp",begin:/\//,end:/\/[gimuy]*/,illegal:/\n/,contains:[_r,{begin:/\[/,end:/\]/,relevance:0,contains:[_r]}]}]},Rm={scope:"title",begin:Kc,relevance:0},Pm={scope:"title",begin:Ks,relevance:0},$m={begin:"\\.\\s*"+Ks,relevance:0},Dm=function(e){return Object.assign(e,{"on:begin":(t,n)=>{n.data._beginMatch=t[1]},"on:end":(t,n)=>{n.data._beginMatch!==t[1]&&n.ignoreMatch()}})};var Hr=Object.freeze({__proto__:null,MATCH_NOTHING_RE:bm,IDENT_RE:Kc,UNDERSCORE_IDENT_RE:Ks,NUMBER_RE:Qc,C_NUMBER_RE:eu,BINARY_NUMBER_RE:tu,RE_STARTERS_RE:xm,SHEBANG:Am,BACKSLASH_ESCAPE:_r,APOS_STRING_MODE:km,QUOTE_STRING_MODE:Sm,PHRASAL_WORDS_MODE:Em,COMMENT:Di,C_LINE_COMMENT_MODE:Im,C_BLOCK_COMMENT_MODE:Cm,HASH_COMMENT_MODE:Mm,NUMBER_MODE:Om,C_NUMBER_MODE:Tm,BINARY_NUMBER_MODE:Nm,REGEXP_MODE:Lm,TITLE_MODE:Rm,UNDERSCORE_TITLE_MODE:Pm,METHOD_GUARD:$m,END_SAME_AS_BEGIN:Dm});function Bm(e,t){e.input[e.index-1]==="."&&t.ignoreMatch()}function Fm(e,t){e.className!==void 0&&(e.scope=e.className,delete e.className)}function zm(e,t){!t||!e.beginKeywords||(e.begin="\\b("+e.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",e.__beforeBegin=Bm,e.keywords=e.keywords||e.beginKeywords,delete e.beginKeywords,e.relevance===void 0&&(e.relevance=0))}function jm(e,t){!Array.isArray(e.illegal)||(e.illegal=Xs(...e.illegal))}function Vm(e,t){if(!!e.match){if(e.begin||e.end)throw new Error("begin & end are not supported with match");e.begin=e.match,delete e.match}}function Hm(e,t){e.relevance===void 0&&(e.relevance=1)}const Um=(e,t)=>{if(!e.beforeMatch)return;if(e.starts)throw new Error("beforeMatch cannot be used with starts");const n=Object.assign({},e);Object.keys(e).forEach(r=>{delete e[r]}),e.keywords=n.keywords,e.begin=hn(n.beforeMatch,Xc(n.begin)),e.starts={relevance:0,contains:[Object.assign(n,{endsParent:!0})]},e.relevance=0,delete n.beforeMatch},Gm=["of","and","for","in","not","or","if","then","parent","list","value"],Ym="keyword";function nu(e,t,n=Ym){const r=Object.create(null);return typeof e=="string"?i(n,e.split(" ")):Array.isArray(e)?i(n,e):Object.keys(e).forEach(function(s){Object.assign(r,nu(e[s],t,s))}),r;function i(s,o){t&&(o=o.map(a=>a.toLowerCase())),o.forEach(function(a){const l=a.split("|");r[l[0]]=[s,Wm(l[0],l[1])]})}}function Wm(e,t){return t?Number(t):qm(e)?0:1}function qm(e){return Gm.includes(e.toLowerCase())}const Ma={},rn=e=>{console.error(e)},Oa=(e,...t)=>{console.log(`WARN: ${e}`,...t)},vn=(e,t)=>{Ma[`${e}/${t}`]||(console.log(`Deprecated as of ${e}. ${t}`),Ma[`${e}/${t}`]=!0)},bi=new Error;function ru(e,t,{key:n}){let r=0;const i=e[n],s={},o={};for(let a=1;a<=t.length;a++)o[a+r]=i[a],s[a+r]=!0,r+=Jc(t[a-1]);e[n]=o,e[n]._emit=s,e[n]._multi=!0}function Zm(e){if(!!Array.isArray(e.begin)){if(e.skip||e.excludeBegin||e.returnBegin)throw rn("skip, excludeBegin, returnBegin not compatible with beginScope: {}"),bi;if(typeof e.beginScope!="object"||e.beginScope===null)throw rn("beginScope must be object"),bi;ru(e,e.begin,{key:"beginScope"}),e.begin=Js(e.begin,{joinWith:""})}}function Xm(e){if(!!Array.isArray(e.end)){if(e.skip||e.excludeEnd||e.returnEnd)throw rn("skip, excludeEnd, returnEnd not compatible with endScope: {}"),bi;if(typeof e.endScope!="object"||e.endScope===null)throw rn("endScope must be object"),bi;ru(e,e.end,{key:"endScope"}),e.end=Js(e.end,{joinWith:""})}}function Jm(e){e.scope&&typeof e.scope=="object"&&e.scope!==null&&(e.beginScope=e.scope,delete e.scope)}function Km(e){Jm(e),typeof e.beginScope=="string"&&(e.beginScope={_wrap:e.beginScope}),typeof e.endScope=="string"&&(e.endScope={_wrap:e.endScope}),Zm(e),Xm(e)}function Qm(e){function t(o,a){return new RegExp(gr(o),"m"+(e.case_insensitive?"i":"")+(e.unicodeRegex?"u":"")+(a?"g":""))}class n{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(a,l){l.position=this.position++,this.matchIndexes[this.matchAt]=l,this.regexes.push([l,a]),this.matchAt+=Jc(a)+1}compile(){this.regexes.length===0&&(this.exec=()=>null);const a=this.regexes.map(l=>l[1]);this.matcherRe=t(Js(a,{joinWith:"|"}),!0),this.lastIndex=0}exec(a){this.matcherRe.lastIndex=this.lastIndex;const l=this.matcherRe.exec(a);if(!l)return null;const u=l.findIndex((d,f)=>f>0&&d!==void 0),c=this.matchIndexes[u];return l.splice(0,u),Object.assign(l,c)}}class r{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(a){if(this.multiRegexes[a])return this.multiRegexes[a];const l=new n;return this.rules.slice(a).forEach(([u,c])=>l.addRule(u,c)),l.compile(),this.multiRegexes[a]=l,l}resumingScanAtSamePosition(){return this.regexIndex!==0}considerAll(){this.regexIndex=0}addRule(a,l){this.rules.push([a,l]),l.type==="begin"&&this.count++}exec(a){const l=this.getMatcher(this.regexIndex);l.lastIndex=this.lastIndex;let u=l.exec(a);if(this.resumingScanAtSamePosition()&&!(u&&u.index===this.lastIndex)){const c=this.getMatcher(0);c.lastIndex=this.lastIndex+1,u=c.exec(a)}return u&&(this.regexIndex+=u.position+1,this.regexIndex===this.count&&this.considerAll()),u}}function i(o){const a=new r;return o.contains.forEach(l=>a.addRule(l.begin,{rule:l,type:"begin"})),o.terminatorEnd&&a.addRule(o.terminatorEnd,{type:"end"}),o.illegal&&a.addRule(o.illegal,{type:"illegal"}),a}function s(o,a){const l=o;if(o.isCompiled)return l;[Fm,Vm,Km,Um].forEach(c=>c(o,a)),e.compilerExtensions.forEach(c=>c(o,a)),o.__beforeBegin=null,[zm,jm,Hm].forEach(c=>c(o,a)),o.isCompiled=!0;let u=null;return typeof o.keywords=="object"&&o.keywords.$pattern&&(o.keywords=Object.assign({},o.keywords),u=o.keywords.$pattern,delete o.keywords.$pattern),u=u||/\w+/,o.keywords&&(o.keywords=nu(o.keywords,e.case_insensitive)),l.keywordPatternRe=t(u,!0),a&&(o.begin||(o.begin=/\B|\b/),l.beginRe=t(l.begin),!o.end&&!o.endsWithParent&&(o.end=/\B|\b/),o.end&&(l.endRe=t(l.end)),l.terminatorEnd=gr(l.end)||"",o.endsWithParent&&a.terminatorEnd&&(l.terminatorEnd+=(o.end?"|":"")+a.terminatorEnd)),o.illegal&&(l.illegalRe=t(o.illegal)),o.contains||(o.contains=[]),o.contains=[].concat(...o.contains.map(function(c){return eg(c==="self"?o:c)})),o.contains.forEach(function(c){s(c,l)}),o.starts&&s(o.starts,a),l.matcher=i(l),l}if(e.compilerExtensions||(e.compilerExtensions=[]),e.contains&&e.contains.includes("self"))throw new Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return e.classNameAliases=Yt(e.classNameAliases||{}),s(e)}function iu(e){return e?e.endsWithParent||iu(e.starts):!1}function eg(e){return e.variants&&!e.cachedVariants&&(e.cachedVariants=e.variants.map(function(t){return Yt(e,{variants:null},t)})),e.cachedVariants?e.cachedVariants:iu(e)?Yt(e,{starts:e.starts?Yt(e.starts):null}):Object.isFrozen(e)?Yt(e):e}var tg="11.5.1";class ng extends Error{constructor(t,n){super(t),this.name="HTMLInjectionError",this.html=n}}const es=Zc,Ta=Yt,Na=Symbol("nomatch"),rg=7,ig=function(e){const t=Object.create(null),n=Object.create(null),r=[];let i=!0;const s="Could not find the language '{}', did you forget to load/include a language module?",o={disableAutodetect:!0,name:"Plain text",contains:[]};let a={ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",cssSelector:"pre code",languages:null,__emitter:mm};function l(I){return a.noHighlightRe.test(I)}function u(I){let N=I.className+" ";N+=I.parentNode?I.parentNode.className:"";const z=a.languageDetectRe.exec(N);if(z){const T=M(z[1]);return T||(Oa(s.replace("{}",z[1])),Oa("Falling back to no-highlight mode for this block.",I)),T?z[1]:"no-highlight"}return N.split(/\s+/).find(T=>l(T)||M(T))}function c(I,N,z){let T="",x="";typeof N=="object"?(T=I,z=N.ignoreIllegals,x=N.language):(vn("10.7.0","highlight(lang, code, ...args) has been deprecated."),vn("10.7.0",`Please use highlight(code, options) instead. -https://github.com/highlightjs/highlight.js/issues/2277`),x=I,T=N),z===void 0&&(z=!0);const E={code:T,language:x};le("before:highlight",E);const R=E.result?E.result:d(E.language,E.code,z);return R.code=E.code,le("after:highlight",R),R}function d(I,N,z,T){const x=Object.create(null);function E(F,H){return F.keywords[H]}function R(){if(!X.keywords){be.addText(he);return}let F=0;X.keywordPatternRe.lastIndex=0;let H=X.keywordPatternRe.exec(he),ie="";for(;H;){ie+=he.substring(F,H.index);const fe=Te.case_insensitive?H[0].toLowerCase():H[0],Re=E(X,fe);if(Re){const[tt,Bi]=Re;if(be.addText(ie),ie="",x[fe]=(x[fe]||0)+1,x[fe]<=rg&&(yt+=Bi),tt.startsWith("_"))ie+=H[0];else{const st=Te.classNameAliases[tt]||tt;be.addKeyword(H[0],st)}}else ie+=H[0];F=X.keywordPatternRe.lastIndex,H=X.keywordPatternRe.exec(he)}ie+=he.substr(F),be.addText(ie)}function V(){if(he==="")return;let F=null;if(typeof X.subLanguage=="string"){if(!t[X.subLanguage]){be.addText(he);return}F=d(X.subLanguage,he,!0,Be[X.subLanguage]),Be[X.subLanguage]=F._top}else F=p(he,X.subLanguage.length?X.subLanguage:null);X.relevance>0&&(yt+=F.relevance),be.addSublanguage(F._emitter,F.language)}function W(){X.subLanguage!=null?V():R(),he=""}function de(F,H){let ie=1;const fe=H.length-1;for(;ie<=fe;){if(!F._emit[ie]){ie++;continue}const Re=Te.classNameAliases[F[ie]]||F[ie],tt=H[ie];Re?be.addKeyword(tt,Re):(he=tt,R(),he=""),ie++}}function Ve(F,H){return F.scope&&typeof F.scope=="string"&&be.openNode(Te.classNameAliases[F.scope]||F.scope),F.beginScope&&(F.beginScope._wrap?(be.addKeyword(he,Te.classNameAliases[F.beginScope._wrap]||F.beginScope._wrap),he=""):F.beginScope._multi&&(de(F.beginScope,H),he="")),X=Object.create(F,{parent:{value:X}}),X}function dt(F,H,ie){let fe=wm(F.endRe,ie);if(fe){if(F["on:end"]){const Re=new Ia(F);F["on:end"](H,Re),Re.isMatchIgnored&&(fe=!1)}if(fe){for(;F.endsParent&&F.parent;)F=F.parent;return F}}if(F.endsWithParent)return dt(F.parent,H,ie)}function He(F){return X.matcher.regexIndex===0?(he+=F[0],1):(pn=!0,0)}function Ue(F){const H=F[0],ie=F.rule,fe=new Ia(ie),Re=[ie.__beforeBegin,ie["on:begin"]];for(const tt of Re)if(!!tt&&(tt(F,fe),fe.isMatchIgnored))return He(H);return ie.skip?he+=H:(ie.excludeBegin&&(he+=H),W(),!ie.returnBegin&&!ie.excludeBegin&&(he=H)),Ve(ie,F),ie.returnBegin?0:H.length}function Le(F){const H=F[0],ie=N.substr(F.index),fe=dt(X,F,ie);if(!fe)return Na;const Re=X;X.endScope&&X.endScope._wrap?(W(),be.addKeyword(H,X.endScope._wrap)):X.endScope&&X.endScope._multi?(W(),de(X.endScope,F)):Re.skip?he+=H:(Re.returnEnd||Re.excludeEnd||(he+=H),W(),Re.excludeEnd&&(he=H));do X.scope&&be.closeNode(),!X.skip&&!X.subLanguage&&(yt+=X.relevance),X=X.parent;while(X!==fe.parent);return fe.starts&&Ve(fe.starts,F),Re.returnEnd?0:H.length}function wt(){const F=[];for(let H=X;H!==Te;H=H.parent)H.scope&&F.unshift(H.scope);F.forEach(H=>be.openNode(H))}let ht={};function it(F,H){const ie=H&&H[0];if(he+=F,ie==null)return W(),0;if(ht.type==="begin"&&H.type==="end"&&ht.index===H.index&&ie===""){if(he+=N.slice(H.index,H.index+1),!i){const fe=new Error(`0 width match regex (${I})`);throw fe.languageName=I,fe.badRule=ht.rule,fe}return 1}if(ht=H,H.type==="begin")return Ue(H);if(H.type==="illegal"&&!z){const fe=new Error('Illegal lexeme "'+ie+'" for mode "'+(X.scope||"")+'"');throw fe.mode=X,fe}else if(H.type==="end"){const fe=Le(H);if(fe!==Na)return fe}if(H.type==="illegal"&&ie==="")return 1;if(fn>1e5&&fn>H.index*3)throw new Error("potential infinite loop, way more iterations than matches");return he+=ie,ie.length}const Te=M(I);if(!Te)throw rn(s.replace("{}",I)),new Error('Unknown language: "'+I+'"');const Jt=Qm(Te);let Ct="",X=T||Jt;const Be={},be=new a.__emitter(a);wt();let he="",yt=0,et=0,fn=0,pn=!1;try{for(X.matcher.considerAll();;){fn++,pn?pn=!1:X.matcher.considerAll(),X.matcher.lastIndex=et;const F=X.matcher.exec(N);if(!F)break;const H=N.substring(et,F.index),ie=it(H,F);et=F.index+ie}return it(N.substr(et)),be.closeAllNodes(),be.finalize(),Ct=be.toHTML(),{language:I,value:Ct,relevance:yt,illegal:!1,_emitter:be,_top:X}}catch(F){if(F.message&&F.message.includes("Illegal"))return{language:I,value:es(N),illegal:!0,relevance:0,_illegalBy:{message:F.message,index:et,context:N.slice(et-100,et+100),mode:F.mode,resultSoFar:Ct},_emitter:be};if(i)return{language:I,value:es(N),illegal:!1,relevance:0,errorRaised:F,_emitter:be,_top:X};throw F}}function f(I){const N={value:es(I),illegal:!1,relevance:0,_top:o,_emitter:new a.__emitter(a)};return N._emitter.addText(I),N}function p(I,N){N=N||a.languages||Object.keys(t);const z=f(I),T=N.filter(M).filter(L).map(W=>d(W,I,!1));T.unshift(z);const x=T.sort((W,de)=>{if(W.relevance!==de.relevance)return de.relevance-W.relevance;if(W.language&&de.language){if(M(W.language).supersetOf===de.language)return 1;if(M(de.language).supersetOf===W.language)return-1}return 0}),[E,R]=x,V=E;return V.secondBest=R,V}function m(I,N,z){const T=N&&n[N]||z;I.classList.add("hljs"),I.classList.add(`language-${T}`)}function v(I){let N=null;const z=u(I);if(l(z))return;if(le("before:highlightElement",{el:I,language:z}),I.children.length>0&&(a.ignoreUnescapedHTML||(console.warn("One of your code blocks includes unescaped HTML. This is a potentially serious security risk."),console.warn("https://github.com/highlightjs/highlight.js/wiki/security"),console.warn("The element with unescaped HTML:"),console.warn(I)),a.throwUnescapedHTML))throw new ng("One of your code blocks includes unescaped HTML.",I.innerHTML);N=I;const T=N.textContent,x=z?c(T,{language:z,ignoreIllegals:!0}):p(T);I.innerHTML=x.value,m(I,z,x.language),I.result={language:x.language,re:x.relevance,relevance:x.relevance},x.secondBest&&(I.secondBest={language:x.secondBest.language,relevance:x.secondBest.relevance}),le("after:highlightElement",{el:I,result:x,text:T})}function g(I){a=Ta(a,I)}const _=()=>{b(),vn("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")};function y(){b(),vn("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.")}let w=!1;function b(){if(document.readyState==="loading"){w=!0;return}document.querySelectorAll(a.cssSelector).forEach(v)}function A(){w&&b()}typeof window!="undefined"&&window.addEventListener&&window.addEventListener("DOMContentLoaded",A,!1);function k(I,N){let z=null;try{z=N(e)}catch(T){if(rn("Language definition for '{}' could not be registered.".replace("{}",I)),i)rn(T);else throw T;z=o}z.name||(z.name=I),t[I]=z,z.rawDefinition=N.bind(null,e),z.aliases&&O(z.aliases,{languageName:I})}function C(I){delete t[I];for(const N of Object.keys(n))n[N]===I&&delete n[N]}function S(){return Object.keys(t)}function M(I){return I=(I||"").toLowerCase(),t[I]||t[n[I]]}function O(I,{languageName:N}){typeof I=="string"&&(I=[I]),I.forEach(z=>{n[z.toLowerCase()]=N})}function L(I){const N=M(I);return N&&!N.disableAutodetect}function D(I){I["before:highlightBlock"]&&!I["before:highlightElement"]&&(I["before:highlightElement"]=N=>{I["before:highlightBlock"](Object.assign({block:N.el},N))}),I["after:highlightBlock"]&&!I["after:highlightElement"]&&(I["after:highlightElement"]=N=>{I["after:highlightBlock"](Object.assign({block:N.el},N))})}function ee(I){D(I),r.push(I)}function le(I,N){const z=I;r.forEach(function(T){T[z]&&T[z](N)})}function ce(I){return vn("10.7.0","highlightBlock will be removed entirely in v12.0"),vn("10.7.0","Please use highlightElement now."),v(I)}Object.assign(e,{highlight:c,highlightAuto:p,highlightAll:b,highlightElement:v,highlightBlock:ce,configure:g,initHighlighting:_,initHighlightingOnLoad:y,registerLanguage:k,unregisterLanguage:C,listLanguages:S,getLanguage:M,registerAliases:O,autoDetection:L,inherit:Ta,addPlugin:ee}),e.debugMode=function(){i=!1},e.safeMode=function(){i=!0},e.versionString=tg,e.regex={concat:hn,lookahead:Xc,either:Xs,optional:_m,anyNumberOfTimes:gm};for(const I in Hr)typeof Hr[I]=="object"&&dm(Hr[I]);return Object.assign(e,Hr),e};var vr=ig({}),sg=vr;vr.HighlightJS=vr;vr.default=vr;var su=sg;function og(e){const t={className:"attr",begin:/"(\\.|[^\\"\r\n])*"(?=\s*:)/,relevance:1.01},n={match:/[{}[\],:]/,className:"punctuation",relevance:0},r={beginKeywords:["true","false","null"].join(" ")};return{name:"JSON",contains:[t,n,e.QUOTE_STRING_MODE,r,e.C_NUMBER_MODE,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE],illegal:"\\S"}}const ag='';su.registerLanguage("json",og);te.use({highlight:(e,t)=>{if(t!=="")return su.highlight(e,{language:t}).value}});function lg({id:e}){const{locale:t}=Ee(),{version:n,changeVersion:r}=Hn(),{changeTitle:i}=_t(),{value:s}=Ir(async()=>await(await fetch(`../../guides/${e}.md`)).text(),[e]),o=Ae(()=>{if(!s)return;const w=i0(s);return i(w==null?void 0:w.title,w==null?void 0:w.versions),w},[s]),a=Ae(()=>{var b;const w=me.versions.map(A=>A.id);return(b=o==null?void 0:o.versions)==null?void 0:b.sort((A,k)=>w.indexOf(k)-w.indexOf(A))},[o==null?void 0:o.versions]),l=Ae(()=>!a||a.includes(n)?n:a[0],[n,o==null?void 0:o.versions]),u=Ae(()=>{if(!s)return;te.use({renderer:{link(A,k,C){if(A===null)return C;const S=k?` title="${k}"`:"",M=A!=null&&A.match(/^https?:\/\//)?' target="_blank"':"";return`
    ${C}`},heading(A,k,C,S){const M=S.slug(C),O=`${ag}`;return`${O}${A}`}}});const w=s.substring(s.indexOf("---",3)+3),b=s0(w,l);return te(b,{version:"1.19"})},[l,s]),[c,d]=u0(),f=Me(()=>{if(!u)return;const w=document.querySelector(`[id=guide-${c.slice(1)}]`);if(w){const b=w.getBoundingClientRect().top+window.scrollY;window.scrollTo({top:b-68,behavior:"smooth"})}},[u,c]);K(()=>{f()},[u===void 0,c]);const p=Me(w=>{if(!(w.target instanceof HTMLSpanElement))return;const b="#"+w.target.id.replace(/^guide-/,"");r(n,!1,!0),d(b),b===c&&f()},[f,c,n]),[m,v]=qn(),g=Me(()=>{const w=`${location.origin}/guides/${e}/?version=${n}`;navigator.clipboard.writeText(w),v()},[e,n]),_=Me(w=>{qt(`/guides/?tags=${w}`)},[]),[y]=$(window.innerWidth>600);return h("main",null,h("div",{class:"guide"},h("div",{class:"navigation"},h("a",{class:"btn btn-link",href:"/guides/"},se.arrow_left,t("guides.all")),h(q,{icon:m?"check":"link",label:t("share"),onClick:g,active:m,tooltip:t(m?"copied":"copy_share"),class:"guide-share"}),a&&h(Ke,{icon:"tag",label:l,tooltip:t("switch_version")},a.map(w=>h(q,{label:w,active:w===l,onClick:()=>r(w)})))),(o==null?void 0:o.tags)&&o.tags.length>0&&h("div",{class:"guide-tags"},o.tags.map(w=>h(Lr,{label:w,active:!0,onClick:()=>_(w)}))),u&&h(ne,null,h(wr,{id:"guide",type:y?"image":"text"}),h("div",{class:"guide-content",dangerouslySetInnerHTML:{__html:u},onClick:p}),h(Us,null))))}const cg="tags",ts="|";function ug({}){const{locale:e}=Ee(),{version:t,changeVersion:n}=Hn();_t(e("title.guides"));const[r,i]=$(""),[s,o]=lr(cg),a=Ae(()=>{var p;return(p=s==null?void 0:s.split(ts))!=null?p:[]},[s]),l=p=>{a.includes(p)?o(a.filter(m=>m!==p).join(ts)):o([...a,p].sort().join(ts))},[u,c]=$(!1),d=Ae(()=>u===!1?[{id:"adding-custom-structures",title:"Adding custom structures",versions:["1.18.2","1.19"],tags:["worldgen","structures"]}]:[{id:"adding-custom-structures",title:"Adding custom structures",versions:["1.18.2","1.19"],tags:["worldgen","structures"]}].filter(p=>{var m;return(m=p.versions)==null?void 0:m.includes(t)}),[t,u]),f=Ae(()=>{const p=r.split(" ").map(m=>m.trim().toLowerCase()).filter(m=>m.length>0);return d.filter(m=>{var g;if(!a.every(_=>{var y;return(y=m.tags)==null?void 0:y.includes(_)}))return!1;const v=((g=m.tags)==null?void 0:g.join(" "))+" "+m.title.toLowerCase();return p.every(_=>_.startsWith("!")?_.length===1||!v.includes(_.slice(1)):v.includes(_))})},[d,r,s]);return h("main",null,h("div",{class:"guides"},h("div",{class:"changelog-query"},h(an,{class:"btn btn-input changelog-search",placeholder:e("guides.search"),value:r,onChange:i}),h(Ke,{icon:"tag",label:u?t:e("any_version"),tooltip:e("switch_version")},h(q,{label:e("any_version"),active:!u,onClick:()=>c(!u)}),me.versions.slice().reverse().map(p=>h(q,{label:p.id,active:u&&p.id===t,onClick:()=>{n(p.id),c(!0)}})))),a.length>0&&h("div",{class:"changelog-tags"},a.map(p=>h(Lr,{label:p,onClick:()=>l(p)}))),d.length===0?h(ne,null,h("span",{class:"note"},e("guides.no_results.version"))):f.length===0?h(ne,null,h("span",{class:"note"},e("guides.no_results.query"))):f.map(p=>{var m,v;return h(om,{title:p.title,link:`/guides/${p.id}/`,tags:(m=p.tags)!=null?m:[],versions:(v=p.versions)!=null?v:[],activeTags:a,toggleTag:l})})))}function dg({}){const{locale:e}=Ee();return _t(e("title.home")),h("main",null,h("div",{class:"home"},h(ot,{title:"Data packs"},me.generators.filter(t=>!t.category).map(t=>h(ot,{title:e(t.id),link:jt(t.url)})),h(ot,{title:e("worldgen"),link:"/worldgen/"})),h(ot,{title:"Resource packs"},me.generators.filter(t=>t.category==="assets").map(t=>h(ot,{title:e(t.id),link:jt(t.url)}))),h(ot,{title:"Report Inspector",icon:"report",link:"https://misode.github.io/report/",desc:"Analyse your performance reports"}),h(ot,{title:"Minecraft Sounds",icon:"sounds",link:"/sounds/",desc:"Browse through and mix all the vanilla sounds"}),h(ot,{title:"Data Pack Upgrader",link:"https://misode.github.io/upgrader/",desc:"Convert your data packs from 1.16 to 1.17 to 1.18"}),h(ot,{title:"Technical Changelog",link:"/changelog/"}),h(ot,{title:"Minecraft Versions",link:"/versions/"}),h(ot,{title:"Data Pack Guides",link:"/guides/"}),h(Us,null)))}function hg({}){const{locale:e}=Ee(),{project:t,openFile:n}=oc();_t(e("title.project",t.name));const r=Ae(()=>t.files.map(F0),t.files),i=Me(s=>{const[,o,a,...l]=s.split("/");n(a,`${o}:${l}`)},[n]);return h("main",null,h(wr,{id:"data-pack-project",type:"text"}),h("div",{class:"project"},h("h2",null,t.name),h("div",{class:"file-view"},h(qc,{entries:r,onSelect:i}))))}function fg({}){const{locale:e}=Ee(),{version:t,changeVersion:n}=Hn();_t(e("title.sounds"));const[r,i]=$(void 0);K(()=>{(async()=>{const b=await ae(()=>import("./howler.97e6844a.js").then(function(A){return A.h}),[]);i(()=>A=>new b.Howl(A))})()},[]);const{value:s,error:o}=Ir(async()=>await x0(t),[t]),a=Ae(()=>Object.keys(s!=null?s:{}),[s]),[l,u]=$(""),[c,d]=$([]),f=()=>{d([{id:nn(),sound:l,delay:0,pitch:1,volume:1},...c])},p=b=>A=>{d(c.map(k=>k.id===b?J(J({},k),A):k))},m=b=>()=>{d(c.filter(A=>A.id!==b))},[v,g]=$(0),_=()=>{g(v+1)},y=pe(null),w=()=>{if(!y.current)return;const b=c.some(k=>k.delay>0),A=c.sort((k,C)=>k.delay-C.delay).map(k=>`${b?`execute if score @s delay matches ${k.delay} run `:""}playsound minecraft:${k.sound} master @s ~ ~ ~ ${k.volume} ${k.pitch}`).join(` -`);y.current.setAttribute("href","data:text/plain;charset=utf-8,"+A+"%0A"),y.current.setAttribute("download","sounds.mcfunction"),y.current.click()};return h("main",null,o&&h(kn,{error:o}),a.length>0&&h(ne,null,h("div",{class:"controls sounds-controls"},h("div",{class:"sound-search-group"},h(an,{class:"btn btn-input sound-search",list:"sound-list",placeholder:e("sounds.search"),value:l,onChange:u,onEnter:f}),h(q,{icon:"plus",tooltip:e("sounds.add_sound"),class:"add-sound",onClick:f})),c.length>1&&h(q,{icon:"play",label:e("sounds.play_all"),class:"play-all-sounds",onClick:_}),h("div",{class:"spacer"}),h(q,{icon:"download",label:e("download"),tooltip:e("sounds.download_function"),tooltipLoc:"se",class:"download-sounds",onClick:w}),h(Ke,{icon:"tag",label:t,tooltip:e("switch_version")},me.versions.slice().reverse().map(b=>h(q,{label:b.id,active:b.id===t,onClick:()=>n(b.id)})))),h("div",{class:"sounds"},s&&r&&c.map(b=>h(lm,xe(J({key:b.id},b),{howler:r,sounds:s,delayedPlay:v,onEdit:p(b.id),onDelete:m(b.id)})))),h("a",{ref:y,style:"display: none;"}),h("datalist",{id:"sound-list"},a.map(b=>h("option",{key:b,value:b})))))}function pg({}){const{locale:e}=Ee();_t(e("title.versions"));const{value:t,error:n}=Ir(k0,[]),[r]=lr("id"),i=(t!=null?t:[]).find(a=>a.id===r);_t(i?i.name:"Versions Explorer",i?[]:void 0);const s=i&&La(t!=null?t:[],i,-1),o=i&&La(t!=null?t:[],i,1);return h("main",null,h(wr,{type:"text",id:"versions"}),n&&h(kn,{error:n}),h("div",{class:"versions"},r?h(ne,null,h("div",{class:"navigation"},h("a",{class:"btn btn-link",href:"/versions/"},se.three_bars,e("versions.all")),h("a",J({class:"btn btn-link"},o?{href:`/versions/?id=${o.id}`}:{disabled:!0}),se.arrow_left,e("versions.previous")),h("a",J({class:"btn btn-link"},s?{href:`/versions/?id=${s.id}`}:{disabled:!0}),e("versions.next"),se.arrow_right)),i?h(rm,{version:i}):h("div",{class:"version-detail"},h("h2",null,r),h("div",{class:"version-info"},h("p",null,"This version does not exist. Only versions since 1.14 are tracked, or it may be too recent.")))):h(sm,{versions:t!=null?t:[],link:a=>`/versions/?id=${a}`})))}function La(e,t,n){const i=e.findIndex(s=>s.id===t.id)+n;if(!(i<0||i>=e.length))return e[i]}function mg(){return h(ne,null,h(am,null),h(Ft,{onChange:t=>{window.dispatchEvent(new CustomEvent("replacestate")),setTimeout(()=>_e.pageview(jt(t.url)))}},h(dg,{path:"/"}),h(Ea,{path:"/worldgen",category:"worldgen"}),h(Ea,{path:"/assets",category:"assets"}),h(fg,{path:"/sounds"}),h(cm,{path:"/changelog"}),h(pg,{path:"/versions"}),h(hg,{path:"/project"}),h(ug,{path:"/guides/"}),h(lg,{path:"/guides/:id"}),h(um,{default:!0})))}function gg(){return h(D0,null,h(z0,null,h(U0,null,h(V0,null,h(B0,null,h(mg,null))))))}Cn(h(gg,null),document.body);export{Pr as c,_c as e,B as l}; -//# sourceMappingURL=index.b990f5f5.js.map +`}strong(t){return""+t+""}em(t){return""+t+""}codespan(t){return""+t+""}br(){return this.options.xhtml?"
    ":"
    "}del(t){return""+t+""}link(t,n,r){if(t=_a(this.options.sanitize,this.options.baseUrl,t),t===null)return r;let i='",i}image(t,n,r){if(t=_a(this.options.sanitize,this.options.baseUrl,t),t===null)return r;let i=''+r+'":">",i}text(t){return t}}class Hc{strong(t){return t}em(t){return t}codespan(t){return t}del(t){return t}html(t){return t}text(t){return t}link(t,n,r){return""+r}image(t,n,r){return""+r}br(){return""}}class Uc{constructor(){this.seen={}}serialize(t){return t.toLowerCase().trim().replace(/<[!\/a-z].*?>/ig,"").replace(/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,./:;<=>?@[\]^`{|}~]/g,"").replace(/\s/g,"-")}getNextSafeSlug(t,n){let r=t,i=0;if(this.seen.hasOwnProperty(r)){i=this.seen[t];do i++,r=t+"-"+i;while(this.seen.hasOwnProperty(r))}return n||(this.seen[t]=i,this.seen[r]=0),r}slug(t,n={}){const r=this.serialize(t);return this.getNextSafeSlug(r,n.dryrun)}}class Ht{constructor(t){this.options=t||Un,this.options.renderer=this.options.renderer||new Wo,this.renderer=this.options.renderer,this.renderer.options=this.options,this.textRenderer=new Hc,this.slugger=new Uc}static parse(t,n){return new Ht(n).parse(t)}static parseInline(t,n){return new Ht(n).parseInline(t)}parse(t,n=!0){let r="",i,o,s,a,l,u,c,d,f,p,m,v,g,_,b,w,x,A,k;const I=t.length;for(i=0;i0&&b.tokens[0].type==="paragraph"?(b.tokens[0].text=A+" "+b.tokens[0].text,b.tokens[0].tokens&&b.tokens[0].tokens.length>0&&b.tokens[0].tokens[0].type==="text"&&(b.tokens[0].tokens[0].text=A+" "+b.tokens[0].tokens[0].text)):b.tokens.unshift({type:"text",text:A}):_+=A),_+=this.parse(b.tokens,g),f+=this.renderer.listitem(_,x,w);r+=this.renderer.list(f,m,v);continue}case"html":{r+=this.renderer.html(p.text);continue}case"paragraph":{r+=this.renderer.paragraph(this.parseInline(p.tokens));continue}case"text":{for(f=p.tokens?this.parseInline(p.tokens):p.text;i+1{r(a.text,a.lang,function(l,u){if(l)return o(l);u!=null&&u!==a.text&&(a.text=u,a.escaped=!0),s--,s===0&&o()})},0))}),s===0&&o();return}try{const r=Vt.lex(e,t);return t.walkTokens&&te.walkTokens(r,t.walkTokens),Ht.parse(r,t)}catch(r){if(r.message+=` +Please report this to https://github.com/markedjs/marked.`,t.silent)return"

    An error occurred:

    "+Pe(r.message+"",!0)+"
    ";throw r}}te.options=te.setOptions=function(e){return vt(te.defaults,e),F1(te.defaults),te};te.getDefaults=zc;te.defaults=Un;te.use=function(...e){const t=vt({},...e),n=te.defaults.extensions||{renderers:{},childTokens:{}};let r;e.forEach(i=>{if(i.extensions&&(r=!0,i.extensions.forEach(o=>{if(!o.name)throw new Error("extension name required");if(o.renderer){const s=n.renderers?n.renderers[o.name]:null;s?n.renderers[o.name]=function(...a){let l=o.renderer.apply(this,a);return l===!1&&(l=s.apply(this,a)),l}:n.renderers[o.name]=o.renderer}if(o.tokenizer){if(!o.level||o.level!=="block"&&o.level!=="inline")throw new Error("extension level must be 'block' or 'inline'");n[o.level]?n[o.level].unshift(o.tokenizer):n[o.level]=[o.tokenizer],o.start&&(o.level==="block"?n.startBlock?n.startBlock.push(o.start):n.startBlock=[o.start]:o.level==="inline"&&(n.startInline?n.startInline.push(o.start):n.startInline=[o.start]))}o.childTokens&&(n.childTokens[o.name]=o.childTokens)})),i.renderer){const o=te.defaults.renderer||new Wo;for(const s in i.renderer){const a=o[s];o[s]=(...l)=>{let u=i.renderer[s].apply(o,l);return u===!1&&(u=a.apply(o,l)),u}}t.renderer=o}if(i.tokenizer){const o=te.defaults.tokenizer||new Yo;for(const s in i.tokenizer){const a=o[s];o[s]=(...l)=>{let u=i.tokenizer[s].apply(o,l);return u===!1&&(u=a.apply(o,l)),u}}t.tokenizer=o}if(i.walkTokens){const o=te.defaults.walkTokens;t.walkTokens=function(s){i.walkTokens.call(this,s),o&&o.call(this,s)}}r&&(t.extensions=n),te.setOptions(t)})};te.walkTokens=function(e,t){for(const n of e)switch(t.call(te,n),n.type){case"table":{for(const r of n.header)te.walkTokens(r.tokens,t);for(const r of n.rows)for(const i of r)te.walkTokens(i.tokens,t);break}case"list":{te.walkTokens(n.items,t);break}default:te.defaults.extensions&&te.defaults.extensions.childTokens&&te.defaults.extensions.childTokens[n.type]?te.defaults.extensions.childTokens[n.type].forEach(function(r){te.walkTokens(n[r],t)}):n.tokens&&te.walkTokens(n.tokens,t)}};te.parseInline=function(e,t){if(typeof e=="undefined"||e===null)throw new Error("marked.parseInline(): input parameter is undefined or null");if(typeof e!="string")throw new Error("marked.parseInline(): input parameter is of type "+Object.prototype.toString.call(e)+", string expected");t=vt({},te.defaults,t||{}),Vc(t);try{const n=Vt.lexInline(e,t);return t.walkTokens&&te.walkTokens(n,t.walkTokens),Ht.parseInline(n,t)}catch(n){if(n.message+=` +Please report this to https://github.com/markedjs/marked.`,t.silent)return"

    An error occurred:

    "+Pe(n.message+"",!0)+"
    ";throw n}};te.Parser=Ht;te.parser=Ht.parse;te.Renderer=Wo;te.TextRenderer=Hc;te.Lexer=Vt;te.lexer=Vt.lex;te.Tokenizer=Yo;te.Slugger=Uc;te.parse=te;Ht.parse;Vt.lex;function nm({change:e,activeTags:t,toggleTag:n}){return h("div",{class:"changelog-entry"},h("div",{class:"changelog-version"},h(xa,J({},e.version)),h(xa,J({},e.group))),h("div",{class:"changelog-tags"},e.tags.map(r=>h(Lr,{label:r,onClick:n?()=>n(r):void 0,active:t==null?void 0:t.includes(r)}))),h("div",{class:"changelog-content",dangerouslySetInnerHTML:{__html:te(e.content)}}))}function xa({id:e,article:t}){return t===null?h("span",null,e):h("a",{href:`https://www.minecraft.net/en-us/article/${t}`,target:"_blank"},e)}function Lr({label:e,active:t,onClick:n}){const r=e==="breaking"?5:Ul(e)%360;return h("div",{class:`changelog-tag${t?" active":""}${n?" clickable":""}`,style:`--tint: ${r}`,onClick:n},e==="breaking"&&oe.alert,e)}function Gc({changes:e,defaultOrder:t}){const{locale:n}=Ee(),[r,i]=$(""),[o,s]=$([]),a=f=>{o.includes(f)?s(o.filter(p=>p!==f)):s([...o,f])},l=Ae(()=>{const f=r.split(" ").map(p=>p.trim().toLowerCase()).filter(p=>p.length>0);return f.length===0&&o.length===0?e:e==null?void 0:e.filter(p=>{if(!o.every(v=>p.tags.includes(v)))return!1;const m=p.tags.join(" ")+" "+p.content.toLowerCase();return f.every(v=>v.startsWith("!")?v.length===1||!m.includes(v.slice(1)):m.includes(v))})},[e,r,o]),[u,c]=$(t==="desc"),d=Ae(()=>l==null?void 0:l.sort((f,p)=>u?p.order-f.order:f.order-p.order),[l,u]);return h(ne,null,h("div",{class:"changelog-query"},h(an,{class:"btn btn-input changelog-search",list:"sound-list",placeholder:n("changelog.search"),value:r,onChange:i}),h(q,{icon:u?"sort_desc":"sort_asc",label:u?"Newest first":"Oldest first",onClick:()=>c(!u)})),o.length>0&&h("div",{class:"changelog-tags"},o.map(f=>h(Lr,{label:f,onClick:()=>s(o.filter(p=>p!==f))}))),h("div",{class:"changelog-list"},d===void 0?h("span",{class:"note"},n("loading")):d.length===0?h("span",{class:"note"},n("changelog.no_results")):d.map(f=>h(nm,{change:f,activeTags:o,toggleTag:a}))))}function rm({version:e}){const{locale:t}=Ee(),[n,r]=$("changelog"),[i,o]=$(void 0);K(()=>{ql().then(a=>o(a.map(l=>xe(J({},l),{tags:l.tags.filter(u=>u!==l.group.id)})))).catch(a=>console.error(a))},[]);const s=Ae(()=>i==null?void 0:i.filter(a=>a.version.id===e.id||a.group.id===e.id),[e.id,i]);return h(ne,null,h("div",{class:"version-detail"},h("h2",null,e.name),h("div",{class:"version-info"},h(Rt,{label:t("versions.released"),value:Yc(e)}),h(Rt,{label:t("versions.release_target"),value:e.release_target,link:e.id!==e.release_target?`/versions/?id=${e.release_target}`:void 0}),h(Rt,{label:t("versions.data_version"),value:e.data_version}),h(Rt,{label:t("versions.protocol_version"),value:e.protocol_version}),h(Rt,{label:t("versions.data_pack_format"),value:e.data_pack_version}),h(Rt,{label:t("versions.resource_pack_format"),value:e.resource_pack_version})),h("div",{class:"version-tabs"},h("span",{class:n==="changelog"?"selected":"",onClick:()=>r("changelog")},t("versions.technical_changes")),h("span",{class:n==="discussion"?"selected":"",onClick:()=>r("discussion")},t("versions.discussion"))),h("div",{class:"version-tab"},n==="changelog"&&h(Gc,{changes:s,defaultOrder:"asc"}),n==="discussion"&&h(Go,{term:`version/${e.id}`}))))}function Yc(e){return new Date(e.release_time).toLocaleDateString(void 0,{day:"numeric",month:"short",year:"numeric"})}function im({version:e,link:t}){const{locale:n}=Ee();return h("a",{class:"version-entry",href:t},h("span",{class:"version-id"},e.id),h(Rt,{label:n("versions.released"),value:Yc(e),compact:!0}),h(Rt,{label:n("versions.data_version"),value:e.data_version,optional:!0}),h(Rt,{label:n("versions.pack_format"),value:e.data_pack_version,optional:!0}))}function om({versions:e,link:t}){const{locale:n}=Ee(),[r,i]=$(!0),[o,s]=$(""),a=Ae(()=>e.filter(l=>l.type==="snapshot"&&!r?!1:l.id.includes(o)),[e,r,o]);return h(ne,null,h("div",{class:"versions-controls"},h(an,{class:"btn btn-input version-search",placeholder:n("versions.search"),value:o,onChange:s}),h(f0,{label:"Include snapshots",value:r,onChange:i})),h("div",{class:"version-list"},a.map(l=>h(im,{version:l,link:t==null?void 0:t(l.id)})),a.length===0&&h("span",null,n("versions.no_results"))))}function Rt({label:e,value:t,link:n,compact:r,optional:i}){return h("div",{class:`version-metadata${i?" version-metadata-hide":""}`},h("span",{class:r?"version-metadata-hide":void 0},e,": "),h("span",{class:"version-metadata-value"},t),n&&h("a",{href:n,class:"version-metadata-link"},oe.link_external))}function sm({title:e,link:t,versions:n,tags:r,activeTags:i,toggleTag:o}){const s=a=>l=>{o&&o(a),l.preventDefault(),l.stopImmediatePropagation()};return h("a",{class:"guide-card",href:t},h("span",{class:"guide-versions"},n.join(" \u2022 ")),h("h3",null,e),h("div",{class:"guide-tags"},r.sort().map(a=>h(Lr,{label:a,onClick:s(a),active:i==null?void 0:i.includes(a)}))))}const Aa={system:"device_desktop",dark:"moon",light:"sun"};function am(){const{lang:e,locale:t,changeLocale:n}=Ee(),{theme:r,changeTheme:i}=lc(),{version:o}=Hn(),{title:s}=_t(),a=Gl(Mn());return h("header",null,h("div",{class:"title"},h(Ja,{class:"home-link",href:"/","aria-label":t("home"),"data-cy":"home-link"},Wc.home),h("h1",null,s),a&&h(Ke,{icon:"chevron_down",tooltip:t("switch_generator"),"data-cy":"generator-switcher"},pe.generators.filter(l=>l.category===(a==null?void 0:a.category)&&Ye(o,l.minVersion)).map(l=>h(q,{label:t(l.id),active:l.id===a.id,onClick:()=>qt(jt(l.url))})))),h("nav",null,h("ul",null,h("li",{"data-cy":"language-switcher"},h(Ke,{icon:"globe",tooltip:t("language")},pe.languages.map(({code:l,name:u})=>h(q,{label:u,active:l===e,onClick:()=>n(l)})))),h("li",{"data-cy":"theme-switcher"},h(Ke,{icon:Aa[r],tooltip:t("theme")},Object.entries(Aa).map(([l,u])=>h(q,{icon:u,label:t(`theme.${l}`),active:l===r,onClick:()=>i(l)})))),h("li",{class:"dimmed"},h("a",{href:"https://github.com/misode/misode.github.io",target:"_blank",rel:"noreferrer",class:"tooltipped tip-sw","aria-label":t("github")},oe.mark_github)))))}const Wc={home:h("svg",{width:"32",height:"28",viewBox:"0 0 32 28",fill:"none",xmlns:"http://www.w3.org/2000/svg"},h("rect",{width:"26",height:"6",rx:"3",fill:"#7CB45C"}),h("rect",{x:"8",width:"18",height:"6",rx:"3",fill:"#4BA041"}),h("rect",{y:"11",width:"32",height:"6",rx:"3",fill:"#AAA8A8"}),h("rect",{x:"11",y:"11",width:"21",height:"6",rx:"3",fill:"#91908F"}),h("rect",{x:"11",y:"22",width:"21",height:"6",rx:"3",fill:"#70B5C3"}),h("rect",{x:"17",y:"22",width:"15",height:"6",rx:"3",fill:"#4D989B"})),report:h("svg",{width:"30",height:"36",viewBox:"0 0 30 36",xmlns:"http://www.w3.org/2000/svg"},h("path",{d:"M0 16C0 13.7909 1.79086 12 4 12V12C6.20914 12 8 13.7909 8 16V32C8 34.2091 6.20914 36 4 36V36C1.79086 36 0 34.2091 0 32V16Z",fill:"#6ACC5D"}),h("path",{d:"M11 4C11 1.79086 12.7909 0 15 0V0C17.2091 0 19 1.79086 19 4V32C19 34.2091 17.2091 36 15 36V36C12.7909 36 11 34.2091 11 32V4Z",fill:"#FF4C4C"}),h("path",{d:"M22 10C22 7.79086 23.7909 6 26 6V6C28.2091 6 30 7.79086 30 10V32C30 34.2091 28.2091 36 26 36V36C23.7909 36 22 34.2091 22 32V10Z",fill:"#E5B442"}),h("path",{d:"M0 23C0 20.7909 1.79086 19 4 19V19C6.20914 19 8 20.7909 8 23V32C8 34.2091 6.20914 36 4 36V36C1.79086 36 0 34.2091 0 32V23Z",fill:"#2BAD1D"}),h("path",{d:"M11 15C11 12.7909 12.7909 11 15 11V11C17.2091 11 19 12.7909 19 15V32C19 34.2091 17.2091 36 15 36V36C12.7909 36 11 34.2091 11 32V15Z",fill:"#C10B0B"}),h("path",{d:"M22 19C22 16.7909 23.7909 15 26 15V15C28.2091 15 30 16.7909 30 19V32C30 34.2091 28.2091 36 26 36V36C23.7909 36 22 34.2091 22 32V19Z",fill:"#CC8E00"})),sounds:h("svg",{width:"20",height:"20",viewBox:"0 0 20 20",xmlns:"http://www.w3.org/2000/svg"},h("circle",{cx:"10",cy:"10",r:"10",fill:"#451475"}),h("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M3.5 10C3.5 8.27609 4.18482 6.62279 5.40381 5.40381C6.62279 4.18482 8.27609 3.5 10 3.5C11.7239 3.5 13.3772 4.18482 14.5962 5.40381C15.8152 6.62279 16.5 8.27609 16.5 10C16.5 11.7239 15.8152 13.3772 14.5962 14.5962C13.3772 15.8152 11.7239 16.5 10 16.5C8.27609 16.5 6.62279 15.8152 5.40381 14.5962C4.18482 13.3772 3.5 11.7239 3.5 10V10ZM10 2C7.87827 2 5.84344 2.84285 4.34315 4.34315C2.84285 5.84344 2 7.87827 2 10C2 12.1217 2.84285 14.1566 4.34315 15.6569C5.84344 17.1571 7.87827 18 10 18C12.1217 18 14.1566 17.1571 15.6569 15.6569C17.1571 14.1566 18 12.1217 18 10C18 7.87827 17.1571 5.84344 15.6569 4.34315C14.1566 2.84285 12.1217 2 10 2V2ZM8.379 7.227C8.34101 7.20412 8.29762 7.19175 8.25327 7.19117C8.20892 7.19059 8.16522 7.20181 8.12664 7.2237C8.08807 7.24558 8.05601 7.27733 8.03375 7.3157C8.0115 7.35406 7.99985 7.39765 8 7.442V12.559C8.00003 12.6033 8.0118 12.6467 8.03413 12.685C8.05646 12.7232 8.08854 12.7548 8.12708 12.7765C8.16563 12.7983 8.20926 12.8095 8.25352 12.8088C8.29778 12.8082 8.34108 12.7958 8.379 12.773L12.643 10.214C12.6798 10.1917 12.7103 10.1604 12.7315 10.1229C12.7526 10.0854 12.7638 10.043 12.7638 10C12.7638 9.95695 12.7526 9.91463 12.7315 9.87714C12.7103 9.83965 12.6798 9.80825 12.643 9.786L8.379 7.227Z",fill:"#C5A5E6"}))};function lm({howler:e,sounds:t,sound:n,delay:r,pitch:i,volume:o,onEdit:s,onDelete:a,delayedPlay:l}){const{locale:u}=Ee(),{version:c}=Hn(),[d,f]=$(!0),[p,m]=$(!1),[v,g]=$(!1),_=me([]),b=`playsound minecraft:${n} master @s ~ ~ ~ ${o} ${i}`;K(()=>{var O,N,D;const M=t[n];g(((N=(O=M==null?void 0:M.sounds)==null?void 0:O.length)!=null?N:0)===0),_.current.forEach(ee=>ee.stop()),_.current=((D=M==null?void 0:M.sounds)!=null?D:[]).map(ee=>{const le=typeof ee=="string"?ee:ee.name,ce=A0(c,le),T=e({src:[ce],format:["ogg"],volume:o,rate:i});T.on("end",()=>{m(!1)});const P=()=>{d&&_.current.every(V=>V.state()==="loaded")&&f(!1)};return T.state()==="loaded"?setTimeout(()=>P()):T.on("load",()=>{P()}),T}),f(!0)},[n,t]),K(()=>{_.current.forEach(M=>M.rate(i))},[i]),K(()=>{_.current.forEach(M=>M.volume(o))},[o]);const w=()=>{if(d||v)return;x();const M=Math.floor(Math.random()*_.current.length);_.current[M].play(),m(!0)},x=()=>{_.current.forEach(M=>M.stop())};K(()=>{l&&setTimeout(()=>w(),r*50)},[l]),K(()=>()=>x(),[]);const[A,k]=$(!1),I=me(void 0),S=()=>{navigator.clipboard.writeText(b),k(!0),I.current!==void 0&&clearTimeout(I.current),I.current=setTimeout(()=>{k(!1)},2e3)};return h("div",{class:`sound-config${d?" loading":p?" playing":""}${v?" invalid":""}`},h(q,{class:"play",icon:v?"alert":d?"sync":"play",label:u("sounds.play"),onClick:w,tooltip:u(v?"sounds.unknown_sound":d?"sounds.loading_sound":"sounds.play_sound"),tooltipLoc:"se"}),h(an,{class:"btn btn-input sound",list:"sound-list",spellcheck:!1,value:n,onChange:M=>s({sound:M})}),h("label",{class:"delay-label"},u("sounds.delay"),": "),h(p0,{class:"btn btn-input delay",min:0,value:r,onChange:M=>s({delay:M})}),h("label",{class:"pitch-label"},u("sounds.pitch"),": "),h(zs,{class:"pitch tooltipped tip-s",min:.5,max:2,step:.01,"aria-label":i.toFixed(2),style:`--x: ${(i-.5)*(100/1.5)}%`,value:i,onChange:M=>s({pitch:M})}),h("label",{class:"volume-label"},u("sounds.volume"),": "),h(zs,{class:"volume tooltipped tip-s",min:0,max:1,step:.01,"aria-label":o.toFixed(2),style:`--x: ${o*100}%`,value:o,onChange:M=>s({volume:M})}),h(q,{class:`copy${A?" active":""}`,icon:A?"check":"terminal",label:u("copy"),tooltip:u(A?"copied":"sounds.copy_command"),onClick:S}),h(q,{class:"remove",icon:"trashcan",tooltip:u("sounds.remove_sound"),onClick:()=>{a(),x()}}))}function st({title:e,desc:t,link:n,icon:r,children:i}){const o=h(ne,null,h("div",{class:"tool-head"},r&&Wc[r],h("div",null,h("h3",null,e),h("p",null,t))),i&&h("div",{class:"tool-body"},i));return n?h("a",{class:"tool-card",href:n},o):h("div",{class:"tool-card"},o)}const ka="/";function qc({entries:e,onSelect:t,indent:n}){const r=Ae(()=>{var u;const l={};for(const c of e){const d=c.indexOf(ka);if(d>=0){const f=c.slice(0,d);((u=l[f])!=null?u:l[f]=[]).push(c.slice(d+1))}}return Object.entries(l)},e),i=Ae(()=>e.filter(l=>!l.includes(ka)),e),[o,s]=$(new Set),a=l=>{o.has(l)?o.delete(l):o.add(l),s(new Set(o))};return h("div",{class:"tree-view",style:`--indent: ${n!=null?n:0};`},r.map(([l,u])=>h("div",null,h(Sa,{icon:o.has(l)?"chevron_right":"chevron_down",key:l,label:l,onClick:()=>a(l)}),!o.has(l)&&h(qc,{entries:u,onSelect:c=>t(`${l}/${c}`),indent:(n!=null?n:0)+1}))),i.map(l=>h(Sa,{icon:"file",key:l,label:l,onClick:()=>t(l)})))}function Sa({icon:e,label:t,onClick:n}){return h("div",{class:"entry",onClick:n},oe[e],t)}function Ea({category:e}){const{locale:t}=Ee();return _t(t("title.generator_category",t(e))),h("main",null,h("div",{class:"category"},pe.generators.filter(n=>n.category===e).map(n=>h(st,{title:t(n.id),link:jt(n.url)}))))}function cm({}){const{locale:e}=Ee();_t(e("title.changelog"));const{value:t,error:n}=Cr(ql,[]);return h("main",null,h(wr,{type:"text",id:"changelog"}),n&&h(kn,{error:n}),h("div",{class:"changelog"},h(Gc,{changes:t,defaultOrder:"desc"})))}const Qi="share";function um({}){var es;const{locale:e}=Ee(),{version:t,changeVersion:n,changeTargetVersion:r}=Hn(),{projects:i,project:o,file:s,updateFile:a,openFile:l,closeFile:u}=sc(),[c,d]=$(null),[f,p]=el();if(f)return f.message=`Something went wrong rendering the generator: ${f.message}`,h("main",null,h(kn,{error:f,onDismiss:p}));const m=Gl(Mn());if(!m)return h("main",null,h(kn,{error:`Cannot find generator "${Mn()}"`}));const v=Ae(()=>pe.versions.filter(G=>Ye(G.id,m.minVersion,m.maxVersion)).map(G=>G.id).reverse(),[m.minVersion,m.maxVersion]);_t(e("title.generator",e(m.id)),v),Ye(t,m.minVersion)||d(`The minimum version for this generator is ${m.minVersion}`),Ye(t,void 0,m.maxVersion)||d(`This generator is not available in versions above ${m.maxVersion}`);const[g,_]=lr("preset"),[b,w]=lr(Qi),x=me(!1),A=Ae(()=>$e.getBackup(m.id),[m.id]),k=()=>{A!==void 0&&(S==null||S.reset(B.DataModel.wrapLists(A),!1))},{value:I}=Cr(async()=>{let G;if(g&&b)return w(void 0),ho;if(g)G=await He(g);else if(b){const We=await N0(b);let qe=!1;if(We.version&&We.version!==t&&(n(We.version,!1),qe=!0),We.type&&We.type!==m.id){const Gt=pe.generators.find(au=>au.id===We.type);Gt&&(qt(`${jt(Gt.url)}?${Qi}=${We.id}`),qe=!0)}if(qe)return ho;We.show_preview&&!ot&&(Fi(!0),be(!1)),_e.openSnippet(m.id,b,t),G=We.data}const[Se,Mt]=await Promise.all([C0(t,m.id),M0(t)]);return G&&(x.current=!0,Se.reset(B.DataModel.wrapLists(G),!1)),_e.setGenerator(m.id),{model:Se,blockStates:Mt}},[m.id,t,b,g]),S=I==null?void 0:I.model,M=I==null?void 0:I.blockStates,[O,N]=$(!1);Ti(S,()=>{x.current||(_(void 0,!0),w(void 0,!0)),x.current=!1,$e.setBackup(m.id,B.DataModel.unwrapLists(S==null?void 0:S.data)),d(null),N(!0)},[m.id,_,w]);const[D,ee]=$(""),[le,ce]=qn(),[T,P]=qn(),V=()=>{if(D!==(s==null?void 0:s.id)&&D&&S&&M){const G=Qr(S,M);a(m.id,s==null?void 0:s.id,{id:D,data:G})?ce():(P(),s&&ee(s==null?void 0:s.id))}else s&&ee(s==null?void 0:s.id)},C=()=>{s&&a(m.id,s.id,{})};K(()=>{s&&ee(s.id)},[s]),K(()=>{var G;S&&(ee((G=s==null?void 0:s.id)!=null?G:""),s&&m.id===s.type&&S.reset(B.DataModel.wrapLists(s.data)),N(!1))},[s,S]);const y=()=>{var G;_e.resetGenerator(m.id,(G=S==null?void 0:S.historyIndex)!=null?G:1,"menu"),S==null||S.reset(B.DataModel.wrapLists(S.schema.default()),!0)},E=G=>{var Se;G.stopPropagation(),_e.undoGenerator(m.id,(Se=S==null?void 0:S.historyIndex)!=null?Se:1,"menu"),S==null||S.undo()},L=G=>{var Se;G.stopPropagation(),_e.redoGenerator(m.id,(Se=S==null?void 0:S.historyIndex)!=null?Se:1,"menu"),S==null||S.redo()},j=G=>{var Se,Mt;G.ctrlKey&&G.key==="z"?(_e.undoGenerator(m.id,(Se=S==null?void 0:S.historyIndex)!=null?Se:1,"hotkey"),S==null||S.undo()):G.ctrlKey&&G.key==="y"&&(_e.redoGenerator(m.id,(Mt=S==null?void 0:S.historyIndex)!=null?Mt:1,"hotkey"),S==null||S.redo())},Y=G=>{if(G.ctrlKey&&G.key==="s"&&(G.preventDefault(),S&&M&&s)){_e.saveProjectFile(m.id,o.files.length,i.length,"hotkey");const Se=Qr(S,M);a(m.id,s==null?void 0:s.id,{id:s==null?void 0:s.id,data:Se}),N(!1),ce()}};K(()=>(document.addEventListener("keyup",j),document.addEventListener("keydown",Y),()=>{document.removeEventListener("keyup",j),document.removeEventListener("keydown",Y)}),[S,M,s]);const[de,Ve]=$([]);K(()=>{I0(t).then(G=>{Ve(G.get(m.id).map(Se=>Se.slice(10)))}).catch(G=>{console.error(G),d(G)})},[t,m.id]);const dt=G=>{_e.loadPreset(m.id,G),w(void 0,!0),r(t,!0),_(G)},He=async G=>{var Se,Mt,We;try{const qe=await Xl(t,(Se=m.path)!=null?Se:m.id,G),Gt=S==null?void 0:S.get(new B.Path(["generator","seed"]));return((Mt=qe==null?void 0:qe.generator)==null?void 0:Mt.seed)!==void 0&&Gt!==void 0&&(qe.generator.seed=Gt,((We=qe.generator.biome_source)==null?void 0:We.seed)!==void 0&&(qe.generator.biome_source.seed=Gt)),qe}catch{d(`Cannot load preset ${G} in ${t}`),_(void 0,!0)}},Ue=G=>{w(void 0,!0),n(G)},[Le,wt]=$(void 0),[ht,it]=$(!1),[Te,Jt]=qn({cooldown:3e3}),It=()=>{if(ht){it(!1);return}if(g)wt(`${location.origin}/${m.url}/?version=${t}&preset=${g}`),it(!0),X();else if(S&&M){const G=Qr(S,M);sn(G,S.schema.default())?(wt(`${location.origin}/${m.url}/?version=${t}`),it(!0)):T0(m.id,t,G,ot).then(({id:Se,length:Mt,compressed:We,rate:qe})=>{_e.createSnippet(m.id,Se,t,Mt,We,qe);const Gt=`${location.origin}/${m.url}/?${Qi}=${Se}`;wt(Gt),it(!0)}).catch(Se=>{Se instanceof Error&&d(Se)})}},X=()=>{navigator.clipboard.writeText(Le!=null?Le:""),Jt()};K(()=>{Te||(wt(void 0),it(!1))},[Te]);const[Be,be]=$(window.innerWidth>820),[he,yt]=$(0),[et,fn]=$(0),[pn,F]=$(0),H=()=>{_e.copyOutput(m.id,"menu"),yt(he+1)},ie=()=>{_e.downloadOutput(m.id,"menu"),fn(et+1)},fe=()=>{_e.generatorEvent("import"),be(!0),F(pn+1)},Re=()=>{Be?_e.hideOutput(m.id,"menu"):_e.showOutput(m.id,"menu"),be(!Be),yt(0),fn(0),F(0)},[tt,Bi]=qn(),[ot,Fi]=$(!1),zi=Vp.includes(m.id)&&!(m.id==="worldgen/configured_feature"&&Ye(t,"1.18"));ot&&!zi&&Fi(!1);let ji=2;zi&&(ji+=1),Be&&(ji+=2);const su=()=>{Be?_e.hidePreview(m.id,"menu"):_e.showPreview(m.id,"menu"),Fi(!ot),!ot&&Be&&be(!1)};return h(ne,null,h("main",{class:ot?"has-preview":""},h(wr,{id:"data-pack-generator",type:"text"}),h("div",{class:"controls"},h("div",{class:`project-controls ${s&&"has-file"}`},h("div",{class:"btn-row"},h(Ke,{icon:"repo",label:o.name,relative:!1},h(q,{icon:"arrow_left",label:e("project.go_to"),onClick:()=>qt("/project")}),s&&h(q,{icon:"file",label:e("project.new_file"),onClick:u}),A!==void 0&&h(q,{icon:"history",label:e("restore_backup"),onClick:k}),h(js,{searchPlaceholder:e(o.name==="Drafts"?"project.search_drafts":"project.search"),noResults:e("project.no_files"),values:o.files.filter(G=>G.type===m.id).map(G=>G.id),onSelect:G=>l(m.id,G)})),h(an,{class:"btn btn-input",placeholder:e("project.unsaved_file"),value:D,onChange:ee,onEnter:V,onBlur:V}),s&&h(q,{icon:"trashcan",tooltip:e("project.delete_file"),onClick:C})),O?h("div",{class:"status-icon"},oe.dot_fill):le?h("div",{class:"status-icon active"},oe.check):T&&h("div",{class:"status-icon danger"},oe.x)),h("div",{class:"generator-controls"},h(q,{icon:"upload",label:e("import"),onClick:fe}),h(Ke,{icon:"archive",label:e("presets"),relative:!1},h(js,{searchPlaceholder:e("search"),noResults:e("no_presets"),values:de,onSelect:dt})),h(Ke,{icon:"tag",label:t,tooltip:e("switch_version"),"data-cy":"version-switcher"},v.map(G=>h(q,{label:G,active:G===t,onClick:()=>Ue(G)}))),h(Ke,{icon:"kebab_horizontal",tooltip:e("more")},h(q,{icon:"history",label:e("reset"),onClick:y}),h(q,{icon:"arrow_left",label:e("undo"),onClick:E}),h(q,{icon:"arrow_right",label:e("redo"),onClick:L})))),c&&h(kn,{error:c,onDismiss:()=>d(null)}),h(O1,{model:S,version:t,blockStates:M,onError:d})),h("div",{class:"popup-actions",style:`--offset: -${8+ji*50}px;`},h("div",{class:`popup-action action-preview${zi?" shown":""} tooltipped tip-nw`,"aria-label":e(ot?"hide_preview":"show_preview"),onClick:su},ot?oe.x_circle:oe.play),h("div",{class:"popup-action action-share shown tooltipped tip-nw","aria-label":e("share"),onClick:It},oe.link),h("div",{class:`popup-action action-download${Be?" shown":""} tooltipped tip-nw`,"aria-label":e("download"),onClick:ie},oe.download),h("div",{class:`popup-action action-copy${Be?" shown":""}${tt?" active":""} tooltipped tip-nw`,"aria-label":e(tt?"copied":"copy"),onClick:H},tt?oe.check:oe.clippy),h("div",{class:"popup-action action-code shown tooltipped tip-nw","aria-label":e(Be?"hide_output":"show_output"),onClick:Re},Be?oe.chevron_right:oe.code)),h("div",{class:`popup-preview${ot?" shown":""}`},h(Hp,{model:S,version:t,id:m.id,shown:ot,onError:d})),h("div",{class:`popup-source${Be?" shown":""}`},h(Gp,{model:S,blockStates:M,doCopy:he,doDownload:et,doImport:pn,name:(es=m.schema)!=null?es:"data",copySuccess:Bi,onError:d})),h("div",{class:`popup-share${ht?" shown":""}`},h(an,{value:Le,readonly:!0}),h(q,{icon:Te?"check":"clippy",onClick:X,tooltip:e(Te?"copied":"copy_share"),tooltipLoc:"nw",active:Te,showTooltip:Te})))}var qo={exports:{}};function Zo(e){return e instanceof Map?e.clear=e.delete=e.set=function(){throw new Error("map is read-only")}:e instanceof Set&&(e.add=e.clear=e.delete=function(){throw new Error("set is read-only")}),Object.freeze(e),Object.getOwnPropertyNames(e).forEach(function(t){var n=e[t];typeof n=="object"&&!Object.isFrozen(n)&&Zo(n)}),e}qo.exports=Zo;qo.exports.default=Zo;var dm=qo.exports;class Ca{constructor(t){t.data===void 0&&(t.data={}),this.data=t.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}}function Zc(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}function Yt(e,...t){const n=Object.create(null);for(const r in e)n[r]=e[r];return t.forEach(function(r){for(const i in r)n[i]=r[i]}),n}const hm="",Ia=e=>!!e.kind,fm=(e,{prefix:t})=>{if(e.includes(".")){const n=e.split(".");return[`${t}${n.shift()}`,...n.map((r,i)=>`${r}${"_".repeat(i+1)}`)].join(" ")}return`${t}${e}`};class pm{constructor(t,n){this.buffer="",this.classPrefix=n.classPrefix,t.walk(this)}addText(t){this.buffer+=Zc(t)}openNode(t){if(!Ia(t))return;let n=t.kind;t.sublanguage?n=`language-${n}`:n=fm(n,{prefix:this.classPrefix}),this.span(n)}closeNode(t){!Ia(t)||(this.buffer+=hm)}value(){return this.buffer}span(t){this.buffer+=``}}class Xo{constructor(){this.rootNode={children:[]},this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(t){this.top.children.push(t)}openNode(t){const n={kind:t,children:[]};this.add(n),this.stack.push(n)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(t){return this.constructor._walk(t,this.rootNode)}static _walk(t,n){return typeof n=="string"?t.addText(n):n.children&&(t.openNode(n),n.children.forEach(r=>this._walk(t,r)),t.closeNode(n)),t}static _collapse(t){typeof t!="string"&&(!t.children||(t.children.every(n=>typeof n=="string")?t.children=[t.children.join("")]:t.children.forEach(n=>{Xo._collapse(n)})))}}class mm extends Xo{constructor(t){super(),this.options=t}addKeyword(t,n){t!==""&&(this.openNode(n),this.addText(t),this.closeNode())}addText(t){t!==""&&this.add(t)}addSublanguage(t,n){const r=t.root;r.kind=n,r.sublanguage=!0,this.add(r)}toHTML(){return new pm(this,this.options).value()}finalize(){return!0}}function gr(e){return e?typeof e=="string"?e:e.source:null}function Xc(e){return hn("(?=",e,")")}function gm(e){return hn("(?:",e,")*")}function _m(e){return hn("(?:",e,")?")}function hn(...e){return e.map(n=>gr(n)).join("")}function vm(e){const t=e[e.length-1];return typeof t=="object"&&t.constructor===Object?(e.splice(e.length-1,1),t):{}}function Jo(...e){const t=vm(e);return"("+(t.capture?"":"?:")+e.map(r=>gr(r)).join("|")+")"}function Jc(e){return new RegExp(e.toString()+"|").exec("").length-1}function wm(e,t){const n=e&&e.exec(t);return n&&n.index===0}const ym=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;function Ko(e,{joinWith:t}){let n=0;return e.map(r=>{n+=1;const i=n;let o=gr(r),s="";for(;o.length>0;){const a=ym.exec(o);if(!a){s+=o;break}s+=o.substring(0,a.index),o=o.substring(a.index+a[0].length),a[0][0]==="\\"&&a[1]?s+="\\"+String(Number(a[1])+i):(s+=a[0],a[0]==="("&&n++)}return s}).map(r=>`(${r})`).join(t)}const bm=/\b\B/,Kc="[a-zA-Z]\\w*",Qo="[a-zA-Z_]\\w*",Qc="\\b\\d+(\\.\\d+)?",eu="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",tu="\\b(0b[01]+)",xm="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",Am=(e={})=>{const t=/^#![ ]*\//;return e.binary&&(e.begin=hn(t,/.*\b/,e.binary,/\b.*/)),Yt({scope:"meta",begin:t,end:/$/,relevance:0,"on:begin":(n,r)=>{n.index!==0&&r.ignoreMatch()}},e)},_r={begin:"\\\\[\\s\\S]",relevance:0},km={scope:"string",begin:"'",end:"'",illegal:"\\n",contains:[_r]},Sm={scope:"string",begin:'"',end:'"',illegal:"\\n",contains:[_r]},Em={begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},Di=function(e,t,n={}){const r=Yt({scope:"comment",begin:e,end:t,contains:[]},n);r.contains.push({scope:"doctag",begin:"[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)",end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0});const i=Jo("I","a","is","so","us","to","at","if","in","it","on",/[A-Za-z]+['](d|ve|re|ll|t|s|n)/,/[A-Za-z]+[-][a-z]+/,/[A-Za-z][a-z]{2,}/);return r.contains.push({begin:hn(/[ ]+/,"(",i,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),r},Cm=Di("//","$"),Im=Di("/\\*","\\*/"),Mm=Di("#","$"),Om={scope:"number",begin:Qc,relevance:0},Tm={scope:"number",begin:eu,relevance:0},Nm={scope:"number",begin:tu,relevance:0},Lm={begin:/(?=\/[^/\n]*\/)/,contains:[{scope:"regexp",begin:/\//,end:/\/[gimuy]*/,illegal:/\n/,contains:[_r,{begin:/\[/,end:/\]/,relevance:0,contains:[_r]}]}]},Rm={scope:"title",begin:Kc,relevance:0},Pm={scope:"title",begin:Qo,relevance:0},$m={begin:"\\.\\s*"+Qo,relevance:0},Dm=function(e){return Object.assign(e,{"on:begin":(t,n)=>{n.data._beginMatch=t[1]},"on:end":(t,n)=>{n.data._beginMatch!==t[1]&&n.ignoreMatch()}})};var Hr=Object.freeze({__proto__:null,MATCH_NOTHING_RE:bm,IDENT_RE:Kc,UNDERSCORE_IDENT_RE:Qo,NUMBER_RE:Qc,C_NUMBER_RE:eu,BINARY_NUMBER_RE:tu,RE_STARTERS_RE:xm,SHEBANG:Am,BACKSLASH_ESCAPE:_r,APOS_STRING_MODE:km,QUOTE_STRING_MODE:Sm,PHRASAL_WORDS_MODE:Em,COMMENT:Di,C_LINE_COMMENT_MODE:Cm,C_BLOCK_COMMENT_MODE:Im,HASH_COMMENT_MODE:Mm,NUMBER_MODE:Om,C_NUMBER_MODE:Tm,BINARY_NUMBER_MODE:Nm,REGEXP_MODE:Lm,TITLE_MODE:Rm,UNDERSCORE_TITLE_MODE:Pm,METHOD_GUARD:$m,END_SAME_AS_BEGIN:Dm});function Bm(e,t){e.input[e.index-1]==="."&&t.ignoreMatch()}function Fm(e,t){e.className!==void 0&&(e.scope=e.className,delete e.className)}function zm(e,t){!t||!e.beginKeywords||(e.begin="\\b("+e.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",e.__beforeBegin=Bm,e.keywords=e.keywords||e.beginKeywords,delete e.beginKeywords,e.relevance===void 0&&(e.relevance=0))}function jm(e,t){!Array.isArray(e.illegal)||(e.illegal=Jo(...e.illegal))}function Vm(e,t){if(!!e.match){if(e.begin||e.end)throw new Error("begin & end are not supported with match");e.begin=e.match,delete e.match}}function Hm(e,t){e.relevance===void 0&&(e.relevance=1)}const Um=(e,t)=>{if(!e.beforeMatch)return;if(e.starts)throw new Error("beforeMatch cannot be used with starts");const n=Object.assign({},e);Object.keys(e).forEach(r=>{delete e[r]}),e.keywords=n.keywords,e.begin=hn(n.beforeMatch,Xc(n.begin)),e.starts={relevance:0,contains:[Object.assign(n,{endsParent:!0})]},e.relevance=0,delete n.beforeMatch},Gm=["of","and","for","in","not","or","if","then","parent","list","value"],Ym="keyword";function nu(e,t,n=Ym){const r=Object.create(null);return typeof e=="string"?i(n,e.split(" ")):Array.isArray(e)?i(n,e):Object.keys(e).forEach(function(o){Object.assign(r,nu(e[o],t,o))}),r;function i(o,s){t&&(s=s.map(a=>a.toLowerCase())),s.forEach(function(a){const l=a.split("|");r[l[0]]=[o,Wm(l[0],l[1])]})}}function Wm(e,t){return t?Number(t):qm(e)?0:1}function qm(e){return Gm.includes(e.toLowerCase())}const Ma={},rn=e=>{console.error(e)},Oa=(e,...t)=>{console.log(`WARN: ${e}`,...t)},vn=(e,t)=>{Ma[`${e}/${t}`]||(console.log(`Deprecated as of ${e}. ${t}`),Ma[`${e}/${t}`]=!0)},bi=new Error;function ru(e,t,{key:n}){let r=0;const i=e[n],o={},s={};for(let a=1;a<=t.length;a++)s[a+r]=i[a],o[a+r]=!0,r+=Jc(t[a-1]);e[n]=s,e[n]._emit=o,e[n]._multi=!0}function Zm(e){if(!!Array.isArray(e.begin)){if(e.skip||e.excludeBegin||e.returnBegin)throw rn("skip, excludeBegin, returnBegin not compatible with beginScope: {}"),bi;if(typeof e.beginScope!="object"||e.beginScope===null)throw rn("beginScope must be object"),bi;ru(e,e.begin,{key:"beginScope"}),e.begin=Ko(e.begin,{joinWith:""})}}function Xm(e){if(!!Array.isArray(e.end)){if(e.skip||e.excludeEnd||e.returnEnd)throw rn("skip, excludeEnd, returnEnd not compatible with endScope: {}"),bi;if(typeof e.endScope!="object"||e.endScope===null)throw rn("endScope must be object"),bi;ru(e,e.end,{key:"endScope"}),e.end=Ko(e.end,{joinWith:""})}}function Jm(e){e.scope&&typeof e.scope=="object"&&e.scope!==null&&(e.beginScope=e.scope,delete e.scope)}function Km(e){Jm(e),typeof e.beginScope=="string"&&(e.beginScope={_wrap:e.beginScope}),typeof e.endScope=="string"&&(e.endScope={_wrap:e.endScope}),Zm(e),Xm(e)}function Qm(e){function t(s,a){return new RegExp(gr(s),"m"+(e.case_insensitive?"i":"")+(e.unicodeRegex?"u":"")+(a?"g":""))}class n{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(a,l){l.position=this.position++,this.matchIndexes[this.matchAt]=l,this.regexes.push([l,a]),this.matchAt+=Jc(a)+1}compile(){this.regexes.length===0&&(this.exec=()=>null);const a=this.regexes.map(l=>l[1]);this.matcherRe=t(Ko(a,{joinWith:"|"}),!0),this.lastIndex=0}exec(a){this.matcherRe.lastIndex=this.lastIndex;const l=this.matcherRe.exec(a);if(!l)return null;const u=l.findIndex((d,f)=>f>0&&d!==void 0),c=this.matchIndexes[u];return l.splice(0,u),Object.assign(l,c)}}class r{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(a){if(this.multiRegexes[a])return this.multiRegexes[a];const l=new n;return this.rules.slice(a).forEach(([u,c])=>l.addRule(u,c)),l.compile(),this.multiRegexes[a]=l,l}resumingScanAtSamePosition(){return this.regexIndex!==0}considerAll(){this.regexIndex=0}addRule(a,l){this.rules.push([a,l]),l.type==="begin"&&this.count++}exec(a){const l=this.getMatcher(this.regexIndex);l.lastIndex=this.lastIndex;let u=l.exec(a);if(this.resumingScanAtSamePosition()&&!(u&&u.index===this.lastIndex)){const c=this.getMatcher(0);c.lastIndex=this.lastIndex+1,u=c.exec(a)}return u&&(this.regexIndex+=u.position+1,this.regexIndex===this.count&&this.considerAll()),u}}function i(s){const a=new r;return s.contains.forEach(l=>a.addRule(l.begin,{rule:l,type:"begin"})),s.terminatorEnd&&a.addRule(s.terminatorEnd,{type:"end"}),s.illegal&&a.addRule(s.illegal,{type:"illegal"}),a}function o(s,a){const l=s;if(s.isCompiled)return l;[Fm,Vm,Km,Um].forEach(c=>c(s,a)),e.compilerExtensions.forEach(c=>c(s,a)),s.__beforeBegin=null,[zm,jm,Hm].forEach(c=>c(s,a)),s.isCompiled=!0;let u=null;return typeof s.keywords=="object"&&s.keywords.$pattern&&(s.keywords=Object.assign({},s.keywords),u=s.keywords.$pattern,delete s.keywords.$pattern),u=u||/\w+/,s.keywords&&(s.keywords=nu(s.keywords,e.case_insensitive)),l.keywordPatternRe=t(u,!0),a&&(s.begin||(s.begin=/\B|\b/),l.beginRe=t(l.begin),!s.end&&!s.endsWithParent&&(s.end=/\B|\b/),s.end&&(l.endRe=t(l.end)),l.terminatorEnd=gr(l.end)||"",s.endsWithParent&&a.terminatorEnd&&(l.terminatorEnd+=(s.end?"|":"")+a.terminatorEnd)),s.illegal&&(l.illegalRe=t(s.illegal)),s.contains||(s.contains=[]),s.contains=[].concat(...s.contains.map(function(c){return eg(c==="self"?s:c)})),s.contains.forEach(function(c){o(c,l)}),s.starts&&o(s.starts,a),l.matcher=i(l),l}if(e.compilerExtensions||(e.compilerExtensions=[]),e.contains&&e.contains.includes("self"))throw new Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return e.classNameAliases=Yt(e.classNameAliases||{}),o(e)}function iu(e){return e?e.endsWithParent||iu(e.starts):!1}function eg(e){return e.variants&&!e.cachedVariants&&(e.cachedVariants=e.variants.map(function(t){return Yt(e,{variants:null},t)})),e.cachedVariants?e.cachedVariants:iu(e)?Yt(e,{starts:e.starts?Yt(e.starts):null}):Object.isFrozen(e)?Yt(e):e}var tg="11.5.1";class ng extends Error{constructor(t,n){super(t),this.name="HTMLInjectionError",this.html=n}}const eo=Zc,Ta=Yt,Na=Symbol("nomatch"),rg=7,ig=function(e){const t=Object.create(null),n=Object.create(null),r=[];let i=!0;const o="Could not find the language '{}', did you forget to load/include a language module?",s={disableAutodetect:!0,name:"Plain text",contains:[]};let a={ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",cssSelector:"pre code",languages:null,__emitter:mm};function l(T){return a.noHighlightRe.test(T)}function u(T){let P=T.className+" ";P+=T.parentNode?T.parentNode.className:"";const V=a.languageDetectRe.exec(P);if(V){const C=M(V[1]);return C||(Oa(o.replace("{}",V[1])),Oa("Falling back to no-highlight mode for this block.",T)),C?V[1]:"no-highlight"}return P.split(/\s+/).find(C=>l(C)||M(C))}function c(T,P,V){let C="",y="";typeof P=="object"?(C=T,V=P.ignoreIllegals,y=P.language):(vn("10.7.0","highlight(lang, code, ...args) has been deprecated."),vn("10.7.0",`Please use highlight(code, options) instead. +https://github.com/highlightjs/highlight.js/issues/2277`),y=T,C=P),V===void 0&&(V=!0);const E={code:C,language:y};le("before:highlight",E);const L=E.result?E.result:d(E.language,E.code,V);return L.code=E.code,le("after:highlight",L),L}function d(T,P,V,C){const y=Object.create(null);function E(F,H){return F.keywords[H]}function L(){if(!X.keywords){be.addText(he);return}let F=0;X.keywordPatternRe.lastIndex=0;let H=X.keywordPatternRe.exec(he),ie="";for(;H;){ie+=he.substring(F,H.index);const fe=Te.case_insensitive?H[0].toLowerCase():H[0],Re=E(X,fe);if(Re){const[tt,Bi]=Re;if(be.addText(ie),ie="",y[fe]=(y[fe]||0)+1,y[fe]<=rg&&(yt+=Bi),tt.startsWith("_"))ie+=H[0];else{const ot=Te.classNameAliases[tt]||tt;be.addKeyword(H[0],ot)}}else ie+=H[0];F=X.keywordPatternRe.lastIndex,H=X.keywordPatternRe.exec(he)}ie+=he.substr(F),be.addText(ie)}function j(){if(he==="")return;let F=null;if(typeof X.subLanguage=="string"){if(!t[X.subLanguage]){be.addText(he);return}F=d(X.subLanguage,he,!0,Be[X.subLanguage]),Be[X.subLanguage]=F._top}else F=p(he,X.subLanguage.length?X.subLanguage:null);X.relevance>0&&(yt+=F.relevance),be.addSublanguage(F._emitter,F.language)}function Y(){X.subLanguage!=null?j():L(),he=""}function de(F,H){let ie=1;const fe=H.length-1;for(;ie<=fe;){if(!F._emit[ie]){ie++;continue}const Re=Te.classNameAliases[F[ie]]||F[ie],tt=H[ie];Re?be.addKeyword(tt,Re):(he=tt,L(),he=""),ie++}}function Ve(F,H){return F.scope&&typeof F.scope=="string"&&be.openNode(Te.classNameAliases[F.scope]||F.scope),F.beginScope&&(F.beginScope._wrap?(be.addKeyword(he,Te.classNameAliases[F.beginScope._wrap]||F.beginScope._wrap),he=""):F.beginScope._multi&&(de(F.beginScope,H),he="")),X=Object.create(F,{parent:{value:X}}),X}function dt(F,H,ie){let fe=wm(F.endRe,ie);if(fe){if(F["on:end"]){const Re=new Ca(F);F["on:end"](H,Re),Re.isMatchIgnored&&(fe=!1)}if(fe){for(;F.endsParent&&F.parent;)F=F.parent;return F}}if(F.endsWithParent)return dt(F.parent,H,ie)}function He(F){return X.matcher.regexIndex===0?(he+=F[0],1):(pn=!0,0)}function Ue(F){const H=F[0],ie=F.rule,fe=new Ca(ie),Re=[ie.__beforeBegin,ie["on:begin"]];for(const tt of Re)if(!!tt&&(tt(F,fe),fe.isMatchIgnored))return He(H);return ie.skip?he+=H:(ie.excludeBegin&&(he+=H),Y(),!ie.returnBegin&&!ie.excludeBegin&&(he=H)),Ve(ie,F),ie.returnBegin?0:H.length}function Le(F){const H=F[0],ie=P.substr(F.index),fe=dt(X,F,ie);if(!fe)return Na;const Re=X;X.endScope&&X.endScope._wrap?(Y(),be.addKeyword(H,X.endScope._wrap)):X.endScope&&X.endScope._multi?(Y(),de(X.endScope,F)):Re.skip?he+=H:(Re.returnEnd||Re.excludeEnd||(he+=H),Y(),Re.excludeEnd&&(he=H));do X.scope&&be.closeNode(),!X.skip&&!X.subLanguage&&(yt+=X.relevance),X=X.parent;while(X!==fe.parent);return fe.starts&&Ve(fe.starts,F),Re.returnEnd?0:H.length}function wt(){const F=[];for(let H=X;H!==Te;H=H.parent)H.scope&&F.unshift(H.scope);F.forEach(H=>be.openNode(H))}let ht={};function it(F,H){const ie=H&&H[0];if(he+=F,ie==null)return Y(),0;if(ht.type==="begin"&&H.type==="end"&&ht.index===H.index&&ie===""){if(he+=P.slice(H.index,H.index+1),!i){const fe=new Error(`0 width match regex (${T})`);throw fe.languageName=T,fe.badRule=ht.rule,fe}return 1}if(ht=H,H.type==="begin")return Ue(H);if(H.type==="illegal"&&!V){const fe=new Error('Illegal lexeme "'+ie+'" for mode "'+(X.scope||"")+'"');throw fe.mode=X,fe}else if(H.type==="end"){const fe=Le(H);if(fe!==Na)return fe}if(H.type==="illegal"&&ie==="")return 1;if(fn>1e5&&fn>H.index*3)throw new Error("potential infinite loop, way more iterations than matches");return he+=ie,ie.length}const Te=M(T);if(!Te)throw rn(o.replace("{}",T)),new Error('Unknown language: "'+T+'"');const Jt=Qm(Te);let It="",X=C||Jt;const Be={},be=new a.__emitter(a);wt();let he="",yt=0,et=0,fn=0,pn=!1;try{for(X.matcher.considerAll();;){fn++,pn?pn=!1:X.matcher.considerAll(),X.matcher.lastIndex=et;const F=X.matcher.exec(P);if(!F)break;const H=P.substring(et,F.index),ie=it(H,F);et=F.index+ie}return it(P.substr(et)),be.closeAllNodes(),be.finalize(),It=be.toHTML(),{language:T,value:It,relevance:yt,illegal:!1,_emitter:be,_top:X}}catch(F){if(F.message&&F.message.includes("Illegal"))return{language:T,value:eo(P),illegal:!0,relevance:0,_illegalBy:{message:F.message,index:et,context:P.slice(et-100,et+100),mode:F.mode,resultSoFar:It},_emitter:be};if(i)return{language:T,value:eo(P),illegal:!1,relevance:0,errorRaised:F,_emitter:be,_top:X};throw F}}function f(T){const P={value:eo(T),illegal:!1,relevance:0,_top:s,_emitter:new a.__emitter(a)};return P._emitter.addText(T),P}function p(T,P){P=P||a.languages||Object.keys(t);const V=f(T),C=P.filter(M).filter(N).map(Y=>d(Y,T,!1));C.unshift(V);const y=C.sort((Y,de)=>{if(Y.relevance!==de.relevance)return de.relevance-Y.relevance;if(Y.language&&de.language){if(M(Y.language).supersetOf===de.language)return 1;if(M(de.language).supersetOf===Y.language)return-1}return 0}),[E,L]=y,j=E;return j.secondBest=L,j}function m(T,P,V){const C=P&&n[P]||V;T.classList.add("hljs"),T.classList.add(`language-${C}`)}function v(T){let P=null;const V=u(T);if(l(V))return;if(le("before:highlightElement",{el:T,language:V}),T.children.length>0&&(a.ignoreUnescapedHTML||(console.warn("One of your code blocks includes unescaped HTML. This is a potentially serious security risk."),console.warn("https://github.com/highlightjs/highlight.js/wiki/security"),console.warn("The element with unescaped HTML:"),console.warn(T)),a.throwUnescapedHTML))throw new ng("One of your code blocks includes unescaped HTML.",T.innerHTML);P=T;const C=P.textContent,y=V?c(C,{language:V,ignoreIllegals:!0}):p(C);T.innerHTML=y.value,m(T,V,y.language),T.result={language:y.language,re:y.relevance,relevance:y.relevance},y.secondBest&&(T.secondBest={language:y.secondBest.language,relevance:y.secondBest.relevance}),le("after:highlightElement",{el:T,result:y,text:C})}function g(T){a=Ta(a,T)}const _=()=>{x(),vn("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")};function b(){x(),vn("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.")}let w=!1;function x(){if(document.readyState==="loading"){w=!0;return}document.querySelectorAll(a.cssSelector).forEach(v)}function A(){w&&x()}typeof window!="undefined"&&window.addEventListener&&window.addEventListener("DOMContentLoaded",A,!1);function k(T,P){let V=null;try{V=P(e)}catch(C){if(rn("Language definition for '{}' could not be registered.".replace("{}",T)),i)rn(C);else throw C;V=s}V.name||(V.name=T),t[T]=V,V.rawDefinition=P.bind(null,e),V.aliases&&O(V.aliases,{languageName:T})}function I(T){delete t[T];for(const P of Object.keys(n))n[P]===T&&delete n[P]}function S(){return Object.keys(t)}function M(T){return T=(T||"").toLowerCase(),t[T]||t[n[T]]}function O(T,{languageName:P}){typeof T=="string"&&(T=[T]),T.forEach(V=>{n[V.toLowerCase()]=P})}function N(T){const P=M(T);return P&&!P.disableAutodetect}function D(T){T["before:highlightBlock"]&&!T["before:highlightElement"]&&(T["before:highlightElement"]=P=>{T["before:highlightBlock"](Object.assign({block:P.el},P))}),T["after:highlightBlock"]&&!T["after:highlightElement"]&&(T["after:highlightElement"]=P=>{T["after:highlightBlock"](Object.assign({block:P.el},P))})}function ee(T){D(T),r.push(T)}function le(T,P){const V=T;r.forEach(function(C){C[V]&&C[V](P)})}function ce(T){return vn("10.7.0","highlightBlock will be removed entirely in v12.0"),vn("10.7.0","Please use highlightElement now."),v(T)}Object.assign(e,{highlight:c,highlightAuto:p,highlightAll:x,highlightElement:v,highlightBlock:ce,configure:g,initHighlighting:_,initHighlightingOnLoad:b,registerLanguage:k,unregisterLanguage:I,listLanguages:S,getLanguage:M,registerAliases:O,autoDetection:N,inherit:Ta,addPlugin:ee}),e.debugMode=function(){i=!1},e.safeMode=function(){i=!0},e.versionString=tg,e.regex={concat:hn,lookahead:Xc,either:Jo,optional:_m,anyNumberOfTimes:gm};for(const T in Hr)typeof Hr[T]=="object"&&dm(Hr[T]);return Object.assign(e,Hr),e};var vr=ig({}),og=vr;vr.HighlightJS=vr;vr.default=vr;var ou=og;function sg(e){const t={className:"attr",begin:/"(\\.|[^\\"\r\n])*"(?=\s*:)/,relevance:1.01},n={match:/[{}[\],:]/,className:"punctuation",relevance:0},r={beginKeywords:["true","false","null"].join(" ")};return{name:"JSON",contains:[t,n,e.QUOTE_STRING_MODE,r,e.C_NUMBER_MODE,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE],illegal:"\\S"}}const ag='';ou.registerLanguage("json",sg);te.use({highlight:(e,t)=>{if(t!=="")return ou.highlight(e,{language:t}).value}});function lg({id:e}){const{locale:t}=Ee(),{version:n,changeVersion:r}=Hn(),{changeTitle:i}=_t(),{value:o}=Cr(async()=>await(await fetch(`../../guides/${e}.md`)).text(),[e]),s=Ae(()=>{if(!o)return;const w=i0(o);return i(w==null?void 0:w.title,w==null?void 0:w.versions),w},[o]),a=Ae(()=>{var x;const w=pe.versions.map(A=>A.id);return(x=s==null?void 0:s.versions)==null?void 0:x.sort((A,k)=>w.indexOf(k)-w.indexOf(A))},[s==null?void 0:s.versions]),l=Ae(()=>!a||a.includes(n)?n:a[0],[n,s==null?void 0:s.versions]),u=Ae(()=>{if(!o)return;te.use({renderer:{link(A,k,I){if(A===null)return I;const S=k?` title="${k}"`:"",M=A!=null&&A.match(/^https?:\/\//)?' target="_blank"':"";return`
    ${I}`},heading(A,k,I,S){const M=S.slug(I),O=`${ag}`;return`${O}${A}`}}});const w=o.substring(o.indexOf("---",3)+3),x=o0(w,l);return te(x,{version:"1.19"})},[l,o]),[c,d]=u0(),f=Me(()=>{if(!u)return;const w=document.querySelector(`[id=guide-${c.slice(1)}]`);if(w){const x=w.getBoundingClientRect().top+window.scrollY;window.scrollTo({top:x-68,behavior:"smooth"})}},[u,c]);K(()=>{f()},[u===void 0,c]);const p=Me(w=>{if(!(w.target instanceof HTMLSpanElement))return;const x="#"+w.target.id.replace(/^guide-/,"");r(n,!1,!0),d(x),x===c&&f()},[f,c,n]),[m,v]=qn(),g=Me(()=>{const w=`${location.origin}/guides/${e}/?version=${n}`;navigator.clipboard.writeText(w),v()},[e,n]),_=Me(w=>{qt(`/guides/?tags=${w}`)},[]),[b]=$(window.innerWidth>600);return h("main",null,h("div",{class:"guide"},h("div",{class:"navigation"},h("a",{class:"btn btn-link",href:"/guides/"},oe.arrow_left,t("guides.all")),h(q,{icon:m?"check":"link",label:t("share"),onClick:g,active:m,tooltip:t(m?"copied":"copy_share"),class:"guide-share"}),a&&h(Ke,{icon:"tag",label:l,tooltip:t("switch_version")},a.map(w=>h(q,{label:w,active:w===l,onClick:()=>r(w)})))),(s==null?void 0:s.tags)&&s.tags.length>0&&h("div",{class:"guide-tags"},s.tags.map(w=>h(Lr,{label:w,active:!0,onClick:()=>_(w)}))),u&&h(ne,null,h(wr,{id:"guide",type:b?"image":"text"}),h("div",{class:"guide-content",dangerouslySetInnerHTML:{__html:u},onClick:p}),h(Go,null))))}const cg="tags",to="|";function ug({}){const{locale:e}=Ee(),{version:t,changeVersion:n}=Hn();_t(e("title.guides"));const[r,i]=$(""),[o,s]=lr(cg),a=Ae(()=>{var p;return(p=o==null?void 0:o.split(to))!=null?p:[]},[o]),l=p=>{a.includes(p)?s(a.filter(m=>m!==p).join(to)):s([...a,p].sort().join(to))},[u,c]=$(!1),d=Ae(()=>u===!1?[{id:"adding-custom-structures",title:"Adding custom structures",versions:["1.18.2","1.19"],tags:["worldgen","structures"]}]:[{id:"adding-custom-structures",title:"Adding custom structures",versions:["1.18.2","1.19"],tags:["worldgen","structures"]}].filter(p=>{var m;return(m=p.versions)==null?void 0:m.includes(t)}),[t,u]),f=Ae(()=>{const p=r.split(" ").map(m=>m.trim().toLowerCase()).filter(m=>m.length>0);return d.filter(m=>{var g;if(!a.every(_=>{var b;return(b=m.tags)==null?void 0:b.includes(_)}))return!1;const v=((g=m.tags)==null?void 0:g.join(" "))+" "+m.title.toLowerCase();return p.every(_=>_.startsWith("!")?_.length===1||!v.includes(_.slice(1)):v.includes(_))})},[d,r,o]);return h("main",null,h("div",{class:"guides"},h("div",{class:"changelog-query"},h(an,{class:"btn btn-input changelog-search",placeholder:e("guides.search"),value:r,onChange:i}),h(Ke,{icon:"tag",label:u?t:e("any_version"),tooltip:e("switch_version")},h(q,{label:e("any_version"),active:!u,onClick:()=>c(!u)}),pe.versions.slice().reverse().map(p=>h(q,{label:p.id,active:u&&p.id===t,onClick:()=>{n(p.id),c(!0)}})))),a.length>0&&h("div",{class:"changelog-tags"},a.map(p=>h(Lr,{label:p,onClick:()=>l(p)}))),d.length===0?h(ne,null,h("span",{class:"note"},e("guides.no_results.version"))):f.length===0?h(ne,null,h("span",{class:"note"},e("guides.no_results.query"))):f.map(p=>{var m,v;return h(sm,{title:p.title,link:`/guides/${p.id}/`,tags:(m=p.tags)!=null?m:[],versions:(v=p.versions)!=null?v:[],activeTags:a,toggleTag:l})})))}function dg({}){const{locale:e}=Ee();return _t(e("title.home")),h("main",null,h("div",{class:"home"},h(st,{title:"Data packs"},pe.generators.filter(t=>!t.category).map(t=>h(st,{title:e(t.id),link:jt(t.url)})),h(st,{title:e("worldgen"),link:"/worldgen/"})),h(st,{title:"Resource packs"},pe.generators.filter(t=>t.category==="assets").map(t=>h(st,{title:e(t.id),link:jt(t.url)}))),h(st,{title:"Report Inspector",icon:"report",link:"https://misode.github.io/report/",desc:"Analyse your performance reports"}),h(st,{title:"Minecraft Sounds",icon:"sounds",link:"/sounds/",desc:"Browse through and mix all the vanilla sounds"}),h(st,{title:"Data Pack Upgrader",link:"https://misode.github.io/upgrader/",desc:"Convert your data packs from 1.16 to 1.17 to 1.18"}),h(st,{title:"Technical Changelog",link:"/changelog/"}),h(st,{title:"Minecraft Versions",link:"/versions/"}),h(st,{title:"Data Pack Guides",link:"/guides/"}),h(Go,null)))}function hg({}){const{locale:e}=Ee(),{project:t,openFile:n}=sc();_t(e("title.project",t.name));const r=Ae(()=>t.files.map(F0),t.files),i=Me(o=>{const[,s,a,...l]=o.split("/");n(a,`${s}:${l}`)},[n]);return h("main",null,h(wr,{id:"data-pack-project",type:"text"}),h("div",{class:"project"},h("h2",null,t.name),h("div",{class:"file-view"},h(qc,{entries:r,onSelect:i}))))}function fg({}){const{locale:e}=Ee(),{version:t,changeVersion:n}=Hn();_t(e("title.sounds"));const[r,i]=$(void 0);K(()=>{(async()=>{const x=await ae(()=>import("./howler.f611c948.js").then(function(A){return A.h}),[]);i(()=>A=>new x.Howl(A))})()},[]);const{value:o,error:s}=Cr(async()=>await x0(t),[t]),a=Ae(()=>Object.keys(o!=null?o:{}),[o]),[l,u]=$(""),[c,d]=$([]),f=()=>{d([{id:nn(),sound:l,delay:0,pitch:1,volume:1},...c])},p=x=>A=>{d(c.map(k=>k.id===x?J(J({},k),A):k))},m=x=>()=>{d(c.filter(A=>A.id!==x))},[v,g]=$(0),_=()=>{g(v+1)},b=me(null),w=()=>{if(!b.current)return;const x=c.some(k=>k.delay>0),A=c.sort((k,I)=>k.delay-I.delay).map(k=>`${x?`execute if score @s delay matches ${k.delay} run `:""}playsound minecraft:${k.sound} master @s ~ ~ ~ ${k.volume} ${k.pitch}`).join(` +`);b.current.setAttribute("href","data:text/plain;charset=utf-8,"+A+"%0A"),b.current.setAttribute("download","sounds.mcfunction"),b.current.click()};return h("main",null,s&&h(kn,{error:s}),a.length>0&&h(ne,null,h("div",{class:"controls sounds-controls"},h("div",{class:"sound-search-group"},h(an,{class:"btn btn-input sound-search",list:"sound-list",placeholder:e("sounds.search"),value:l,onChange:u,onEnter:f}),h(q,{icon:"plus",tooltip:e("sounds.add_sound"),class:"add-sound",onClick:f})),c.length>1&&h(q,{icon:"play",label:e("sounds.play_all"),class:"play-all-sounds",onClick:_}),h("div",{class:"spacer"}),h(q,{icon:"download",label:e("download"),tooltip:e("sounds.download_function"),tooltipLoc:"se",class:"download-sounds",onClick:w}),h(Ke,{icon:"tag",label:t,tooltip:e("switch_version")},pe.versions.slice().reverse().map(x=>h(q,{label:x.id,active:x.id===t,onClick:()=>n(x.id)})))),h("div",{class:"sounds"},o&&r&&c.map(x=>h(lm,xe(J({key:x.id},x),{howler:r,sounds:o,delayedPlay:v,onEdit:p(x.id),onDelete:m(x.id)})))),h("a",{ref:b,style:"display: none;"}),h("datalist",{id:"sound-list"},a.map(x=>h("option",{key:x,value:x})))))}function pg({}){const{locale:e}=Ee();_t(e("title.versions"));const{value:t,error:n}=Cr(k0,[]),[r]=lr("id"),i=(t!=null?t:[]).find(a=>a.id===r);_t(i?`Minecraft ${i.name}`:"Versions Explorer",i?[]:void 0,i?"Changes and metadata":void 0);const o=i&&La(t!=null?t:[],i,-1),s=i&&La(t!=null?t:[],i,1);return h("main",null,h(wr,{type:"text",id:"versions"}),n&&h(kn,{error:n}),h("div",{class:"versions"},r?h(ne,null,h("div",{class:"navigation"},h("a",{class:"btn btn-link",href:"/versions/"},oe.three_bars,e("versions.all")),h("a",J({class:"btn btn-link"},s?{href:`/versions/?id=${s.id}`}:{disabled:!0}),oe.arrow_left,e("versions.previous")),h("a",J({class:"btn btn-link"},o?{href:`/versions/?id=${o.id}`}:{disabled:!0}),e("versions.next"),oe.arrow_right)),i?h(rm,{version:i}):h("div",{class:"version-detail"},h("h2",null,r),h("div",{class:"version-info"},h("p",null,"This version does not exist. Only versions since 1.14 are tracked, or it may be too recent.")))):h(om,{versions:t!=null?t:[],link:a=>`/versions/?id=${a}`})))}function La(e,t,n){const i=e.findIndex(o=>o.id===t.id)+n;if(!(i<0||i>=e.length))return e[i]}function mg(){return h(ne,null,h(am,null),h(Ft,{onChange:t=>{window.dispatchEvent(new CustomEvent("replacestate")),setTimeout(()=>_e.pageview(jt(t.url)))}},h(dg,{path:"/"}),h(Ea,{path:"/worldgen",category:"worldgen"}),h(Ea,{path:"/assets",category:"assets"}),h(fg,{path:"/sounds"}),h(cm,{path:"/changelog"}),h(pg,{path:"/versions"}),h(hg,{path:"/project"}),h(ug,{path:"/guides/"}),h(lg,{path:"/guides/:id"}),h(um,{default:!0})))}function gg(){return h(D0,null,h(z0,null,h(U0,null,h(V0,null,h(B0,null,h(mg,null))))))}In(h(gg,null),document.body);export{Pr as c,_c as e,B as l}; +//# sourceMappingURL=index.38fdde83.js.map diff --git a/assets/index.38fdde83.js.map b/assets/index.38fdde83.js.map new file mode 100644 index 00000000..e2eb7a5c --- /dev/null +++ b/assets/index.38fdde83.js.map @@ -0,0 +1 @@ +{"version":3,"mappings":"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","names":["p","n","u","i","t","o","r","f","e","v","d","_","b","c","I","T","y","g","x","L","z","w","C","P","H","$","M","m","j","A","s","a","N","O","k","toChildArray","this$1","cloneElement","Component","createElement","h","useEffect","Path_1","Errors_1","escapeString","dec2hex","hexId","DataModel_1","require$$0","require$$1","utils_1","require$$2","BooleanNode_1","Node_1","ListNode_1","SwitchNode_1","MapNode_1","require$$3","require$$4","Reference_1","StringNode_1","isEnum","this","require$$5","require$$6","require$$7","require$$8","require$$9","require$$10","require$$11","require$$12","require$$13","require$$14","require$$15","common","isObject","YAMLException","Mark","Type","Schema","map","json","core","_require","require","_hasOwnProperty","_toString","DEFAULT_SAFE_SCHEMA","DEFAULT_FULL_SCHEMA","State","load","loader","dumper","jsYaml","deprecated","Path","cleanUrl","yaml","hashString","lerp","rfdc","useRef","useState","useCallback","useMemo","Versions","ChoiceNode","StringNode","Reference","DataModel","createContext","useContext","Project","wasm","crypt","cryptModule","md5","md5Module","NoiseChunkGenerator","LAYERS","clamp","square","lerp2","clampedLerp","OldNoiseChunkGenerator","ModelPath","relativePath","l","MapNode","ObjectNode","memo","ListNode","useErrorBoundary","unescape","escape","Response","hljs","render"],"sources":["../../vite/modulepreload-polyfill","../../node_modules/preact/dist/preact.module.js","../../node_modules/preact-router/dist/preact-router.es.js","../../src/app/Analytics.ts","../../node_modules/preact/hooks/dist/hooks.module.js","../../src/app/components/Ad.tsx","../../src/app/components/Btn.tsx","../../node_modules/@mcschema/core/lib/model/Path.js","../../node_modules/@mcschema/core/lib/model/Errors.js","../../node_modules/@mcschema/core/lib/utils.js","../../node_modules/@mcschema/core/lib/model/DataModel.js","../../node_modules/@mcschema/core/lib/nodes/Node.js","../../node_modules/@mcschema/core/lib/nodes/BooleanNode.js","../../node_modules/@mcschema/core/lib/nodes/ListNode.js","../../node_modules/@mcschema/core/lib/nodes/SwitchNode.js","../../node_modules/@mcschema/core/lib/nodes/ChoiceNode.js","../../node_modules/@mcschema/core/lib/nodes/MapNode.js","../../node_modules/@mcschema/core/lib/nodes/NumberNode.js","../../node_modules/@mcschema/core/lib/nodes/ObjectNode.js","../../node_modules/@mcschema/core/lib/nodes/Reference.js","../../node_modules/@mcschema/core/lib/nodes/StringNode.js","../../node_modules/@mcschema/core/lib/Hook.js","../../node_modules/@mcschema/core/lib/Registries.js","../../node_modules/@mcschema/core/lib/ValidationOption.js","../../node_modules/@mcschema/core/lib/index.js","../../node_modules/js-yaml/lib/js-yaml/common.js","../../node_modules/js-yaml/lib/js-yaml/exception.js","../../node_modules/js-yaml/lib/js-yaml/mark.js","../../node_modules/js-yaml/lib/js-yaml/type.js","../../node_modules/js-yaml/lib/js-yaml/schema.js","../../node_modules/js-yaml/lib/js-yaml/type/str.js","../../node_modules/js-yaml/lib/js-yaml/type/seq.js","../../node_modules/js-yaml/lib/js-yaml/type/map.js","../../node_modules/js-yaml/lib/js-yaml/schema/failsafe.js","../../node_modules/js-yaml/lib/js-yaml/type/null.js","../../node_modules/js-yaml/lib/js-yaml/type/bool.js","../../node_modules/js-yaml/lib/js-yaml/type/int.js","../../node_modules/js-yaml/lib/js-yaml/type/float.js","../../node_modules/js-yaml/lib/js-yaml/schema/json.js","../../node_modules/js-yaml/lib/js-yaml/schema/core.js","../../node_modules/js-yaml/lib/js-yaml/type/timestamp.js","../../node_modules/js-yaml/lib/js-yaml/type/merge.js","../../node_modules/js-yaml/lib/js-yaml/type/binary.js","../../node_modules/js-yaml/lib/js-yaml/type/omap.js","../../node_modules/js-yaml/lib/js-yaml/type/pairs.js","../../node_modules/js-yaml/lib/js-yaml/type/set.js","../../node_modules/js-yaml/lib/js-yaml/schema/default_safe.js","../../node_modules/js-yaml/lib/js-yaml/type/js/undefined.js","../../node_modules/js-yaml/lib/js-yaml/type/js/regexp.js","../../node_modules/js-yaml/lib/js-yaml/type/js/function.js","../../node_modules/js-yaml/lib/js-yaml/schema/default_full.js","../../node_modules/js-yaml/lib/js-yaml/loader.js","../../node_modules/js-yaml/lib/js-yaml/dumper.js","../../node_modules/js-yaml/lib/js-yaml.js","../../node_modules/js-yaml/index.js","../../node_modules/rfdc/index.js","../../src/app/Utils.ts","../../src/app/components/BtnInput.tsx","../../src/app/hooks/useActiveTimout.ts","../../src/app/hooks/useAsyncFn.ts","../../src/app/hooks/useAsync.ts","../../src/app/hooks/useCanvas.ts","../../src/app/hooks/useFocus.ts","../../src/app/hooks/useHash.ts","../../src/app/hooks/useMediaQuery.ts","../../src/app/hooks/useModel.ts","../../src/app/hooks/useSearchParam.ts","../../src/app/components/BtnMenu.tsx","../../vite/preload-helper","../../src/app/components/Octicon.tsx","../../src/app/components/ErrorPanel.tsx","../../src/app/components/forms/Checkbox.tsx","../../src/app/components/forms/Input.tsx","../../src/app/components/forms/SearchList.tsx","../../src/app/services/Changelogs.ts","../../src/app/services/DataFetcher.ts","../../src/app/services/Schemas.ts","../../node_modules/lz-string/libs/lz-string.js","../../src/app/services/Sharing.ts","../../src/app/Store.ts","../../src/app/contexts/Locale.tsx","../../src/app/contexts/Project.tsx","../../src/app/contexts/Theme.tsx","../../src/app/contexts/Title.tsx","../../src/app/contexts/Version.tsx","../../node_modules/deepslate-rs/deepslate_rs.js","../../node_modules/deepslate-rs/deepslate_rs_bg.wasm?url","../../node_modules/crypt/crypt.js","../../node_modules/charenc/charenc.js","../../node_modules/is-buffer/index.js","../../node_modules/md5/md5.js","../../node_modules/deepslate/worldgen/dist/worldgen.esm.js","../../src/app/previews/BiomeSource.ts","../../src/app/previews/Decorator.ts","../../src/app/previews/Deepslate.ts","../../src/app/previews/noise/NoiseChunkGenerator.ts","../../src/app/previews/NoiseSettings.ts","../../src/app/previews/NormalNoise.ts","../../src/app/components/previews/BiomeSourcePreview.tsx","../../src/app/components/previews/DecoratorPreview.tsx","../../src/app/components/previews/DensityFunctionPreview.tsx","../../src/app/components/previews/NoisePreview.tsx","../../src/app/components/previews/NoiseSettingsPreview.tsx","../../src/app/components/generator/PreviewPanel.tsx","../../src/app/schema/transformOutput.ts","../../src/app/components/generator/SourcePanel.tsx","../../node_modules/preact/compat/dist/compat.module.js","../../src/app/schema/ModelWrapper.ts","../../src/app/schema/renderHtml.tsx","../../src/app/components/generator/Tree.tsx","../../node_modules/@giscus/react/dist/index.es.js","../../src/app/components/Giscus.tsx","../../node_modules/marked/lib/marked.esm.js","../../src/app/components/versions/ChangelogEntry.tsx","../../src/app/components/versions/ChangelogTag.tsx","../../src/app/components/versions/ChangelogList.tsx","../../src/app/components/versions/VersionDetail.tsx","../../src/app/components/versions/VersionEntry.tsx","../../src/app/components/versions/VersionList.tsx","../../src/app/components/versions/VersionMetaData.tsx","../../src/app/components/GuideCard.tsx","../../src/app/components/Header.tsx","../../src/app/components/Icons.tsx","../../src/app/components/sounds/SoundConfig.tsx","../../src/app/components/ToolCard.tsx","../../src/app/components/TreeView.tsx","../../src/app/pages/Category.tsx","../../src/app/pages/Changelog.tsx","../../src/app/pages/Generator.tsx","../../node_modules/highlight.js/lib/core.js","../../node_modules/highlight.js/es/languages/json.js","../../src/app/pages/Guide.tsx","../../src/app/pages/Guides.tsx","../../src/app/pages/Home.tsx","../../src/app/pages/Project.tsx","../../src/app/pages/Sounds.tsx","../../src/app/pages/Versions.tsx","../../src/app/App.tsx","../../src/app/Main.tsx"],"sourcesContent":["const p = function polyfill() {\n const relList = document.createElement('link').relList;\n if (relList && relList.supports && relList.supports('modulepreload')) {\n return;\n }\n for (const link of document.querySelectorAll('link[rel=\"modulepreload\"]')) {\n processPreload(link);\n }\n new MutationObserver((mutations) => {\n for (const mutation of mutations) {\n if (mutation.type !== 'childList') {\n continue;\n }\n for (const node of mutation.addedNodes) {\n if (node.tagName === 'LINK' && node.rel === 'modulepreload')\n processPreload(node);\n }\n }\n }).observe(document, { childList: true, subtree: true });\n function getFetchOpts(script) {\n const fetchOpts = {};\n if (script.integrity)\n fetchOpts.integrity = script.integrity;\n if (script.referrerpolicy)\n fetchOpts.referrerPolicy = script.referrerpolicy;\n if (script.crossorigin === 'use-credentials')\n fetchOpts.credentials = 'include';\n else if (script.crossorigin === 'anonymous')\n fetchOpts.credentials = 'omit';\n else\n fetchOpts.credentials = 'same-origin';\n return fetchOpts;\n }\n function processPreload(link) {\n if (link.ep)\n // ep marker = processed\n return;\n link.ep = true;\n // prepopulate the load record\n const fetchOpts = getFetchOpts(link);\n fetch(link.href, fetchOpts);\n }\n};__VITE_IS_MODERN__&&p();","var n,l,u,i,t,o,r={},f=[],e=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i;function c(n,l){for(var u in l)n[u]=l[u];return n}function s(n){var l=n.parentNode;l&&l.removeChild(n)}function a(n,l,u){var i,t,o,r=arguments,f={};for(o in l)\"key\"==o?i=l[o]:\"ref\"==o?t=l[o]:f[o]=l[o];if(arguments.length>3)for(u=[u],o=3;o0?v(k.type,k.props,k.key,null,k.__v):k)){if(k.__=u,k.__b=u.__b+1,null===(_=A[h])||_&&k.key==_.key&&k.type===_.type)A[h]=void 0;else for(p=0;p3)for(u=[u],o=3;o b.rank) ? -1 :\n\t\t\t\t(a.index - b.index)\n\t);\n}\n\n// filter out VNodes without attributes (which are unrankeable), and add `index`/`rank` properties to be used in sorting.\nfunction prepareVNodeForRanking(vnode, index) {\n\tvnode.index = index;\n\tvnode.rank = rankChild(vnode);\n\treturn vnode.props;\n}\n\nfunction segmentize(url) {\n\treturn url.replace(/(^\\/+|\\/+$)/g, '').split('/');\n}\n\nfunction rankSegment(segment) {\n\treturn segment.charAt(0)==':' ? (1 + '*+?'.indexOf(segment.charAt(segment.length-1))) || 4 : 5;\n}\n\nfunction rank(path) {\n\treturn segmentize(path).map(rankSegment).join('');\n}\n\nfunction rankChild(vnode) {\n\treturn vnode.props.default ? 0 : rank(vnode.props.path);\n}\n\nvar customHistory = null;\n\nvar ROUTERS = [];\n\nvar subscribers = [];\n\nvar EMPTY = {};\n\nfunction setUrl(url, type) {\n\tif ( type === void 0 ) type='push';\n\n\tif (customHistory && customHistory[type]) {\n\t\tcustomHistory[type](url);\n\t}\n\telse if (typeof history!=='undefined' && history[type+'State']) {\n\t\thistory[type+'State'](null, null, url);\n\t}\n}\n\n\nfunction getCurrentUrl() {\n\tvar url;\n\tif (customHistory && customHistory.location) {\n\t\turl = customHistory.location;\n\t}\n\telse if (customHistory && customHistory.getCurrentLocation) {\n\t\turl = customHistory.getCurrentLocation();\n\t}\n\telse {\n\t\turl = typeof location!=='undefined' ? location : EMPTY;\n\t}\n\treturn (\"\" + (url.pathname || '') + (url.search || ''));\n}\n\n\n\nfunction route(url, replace) {\n\tif ( replace === void 0 ) replace=false;\n\n\tif (typeof url!=='string' && url.url) {\n\t\treplace = url.replace;\n\t\turl = url.url;\n\t}\n\n\t// only push URL into history if we can handle it\n\tif (canRoute(url)) {\n\t\tsetUrl(url, replace ? 'replace' : 'push');\n\t}\n\n\treturn routeTo(url);\n}\n\n\n/** Check if the given URL can be handled by any router instances. */\nfunction canRoute(url) {\n\tfor (var i=ROUTERS.length; i--; ) {\n\t\tif (ROUTERS[i].canRoute(url)) { return true; }\n\t}\n\treturn false;\n}\n\n\n/** Tell all router instances to handle the given URL. */\nfunction routeTo(url) {\n\tvar didRoute = false;\n\tfor (var i=0; i 0;\n\t};\n\n\t/** Re-render children with a new URL to match against. */\n\tRouter.prototype.routeTo = function routeTo (url) {\n\t\tthis.setState({ url: url });\n\n\t\tvar didRoute = this.canRoute(url);\n\n\t\t// trigger a manual re-route if we're not in the middle of an update:\n\t\tif (!this.updating) { this.forceUpdate(); }\n\n\t\treturn didRoute;\n\t};\n\n\tRouter.prototype.componentWillMount = function componentWillMount () {\n\t\tROUTERS.push(this);\n\t\tthis.updating = true;\n\t};\n\n\tRouter.prototype.componentDidMount = function componentDidMount () {\n\t\tvar this$1 = this;\n\n\t\tif (customHistory) {\n\t\t\tthis.unlisten = customHistory.listen(function (location) {\n\t\t\t\tthis$1.routeTo((\"\" + (location.pathname || '') + (location.search || '')));\n\t\t\t});\n\t\t}\n\t\tthis.updating = false;\n\t};\n\n\tRouter.prototype.componentWillUnmount = function componentWillUnmount () {\n\t\tif (typeof this.unlisten==='function') { this.unlisten(); }\n\t\tROUTERS.splice(ROUTERS.indexOf(this), 1);\n\t};\n\n\tRouter.prototype.componentWillUpdate = function componentWillUpdate () {\n\t\tthis.updating = true;\n\t};\n\n\tRouter.prototype.componentDidUpdate = function componentDidUpdate () {\n\t\tthis.updating = false;\n\t};\n\n\tRouter.prototype.getMatchingChildren = function getMatchingChildren (children, url, invoke) {\n\t\treturn children\n\t\t\t.filter(prepareVNodeForRanking)\n\t\t\t.sort(pathRankSort)\n\t\t\t.map( function (vnode) {\n\t\t\t\tvar matches = exec(url, vnode.props.path, vnode.props);\n\t\t\t\tif (matches) {\n\t\t\t\t\tif (invoke !== false) {\n\t\t\t\t\t\tvar newProps = { url: url, matches: matches };\n\t\t\t\t\t\tassign(newProps, matches);\n\t\t\t\t\t\tdelete newProps.ref;\n\t\t\t\t\t\tdelete newProps.key;\n\t\t\t\t\t\treturn cloneElement(vnode, newProps);\n\t\t\t\t\t}\n\t\t\t\t\treturn vnode;\n\t\t\t\t}\n\t\t\t}).filter(Boolean);\n\t};\n\n\tRouter.prototype.render = function render (ref, ref$1) {\n\t\tvar children = ref.children;\n\t\tvar onChange = ref.onChange;\n\t\tvar url = ref$1.url;\n\n\t\tvar active = this.getMatchingChildren(toChildArray(children), url, true);\n\n\t\tvar current = active[0] || null;\n\n\t\tvar previous = this.previousUrl;\n\t\tif (url!==previous) {\n\t\t\tthis.previousUrl = url;\n\t\t\tif (typeof onChange==='function') {\n\t\t\t\tonChange({\n\t\t\t\t\trouter: this,\n\t\t\t\t\turl: url,\n\t\t\t\t\tprevious: previous,\n\t\t\t\t\tactive: active,\n\t\t\t\t\tcurrent: current\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\treturn current;\n\t};\n\n\treturn Router;\n}(Component));\n\nvar Link = function (props) { return (\n\tcreateElement('a', assign({ onClick: handleLinkClick }, props))\n); };\n\nvar Route = function (props) { return createElement(props.component, props); };\n\nRouter.subscribers = subscribers;\nRouter.getCurrentUrl = getCurrentUrl;\nRouter.route = route;\nRouter.Router = Router;\nRouter.Route = Route;\nRouter.Link = Link;\nRouter.exec = exec;\n\nexport { subscribers, getCurrentUrl, route, Router, Route, Link, exec };export default Router;\n//# sourceMappingURL=preact-router.es.js.map\n","import type { VersionId } from './services'\n\ntype Method = 'menu' | 'hotkey'\n\nexport namespace Analytics {\n\n\t/** Universal Analytics */\n\tconst ID_SITE = 'Site'\n\tconst ID_GENERATOR = 'Generator'\n\n\tconst DIM_THEME = 1\n\tconst DIM_VERSION = 3\n\tconst DIM_LANGUAGE = 4\n\tconst DIM_GENERATOR = 6\n\tconst DIM_PREFERS_COLOR_SCHEME = 7\n\n\tfunction event(category: string, action: string, label?: string) {\n\t\tga('send', 'event', category, action, label)\n\t}\n\n\tfunction dimension(index: number, value: string) {\n\t\tga('set', `dimension${index}`, value)\n\t}\n\n\texport function pageview(page: string) {\n\t\tga('set', 'page', page)\n\t\tga('send', 'pageview')\n\t}\n\n\t/**\n\t * @deprecated\n\t */\n\texport function generatorEvent(action: string, label?: string) {\n\t\tevent(ID_GENERATOR, action, label)\n\t}\n\n\tfunction legacyMethod(method: Method) {\n\t\treturn method === 'menu' ? 'Menu' : 'Hotkey'\n\t}\n\t/** END Universal Analytics 4 */\n\n\texport function setLocale(locale: string) {\n\t\tdimension(DIM_LANGUAGE, locale)\n\t\tgtag('event', 'use_locale', {\n\t\t\tlocale,\n\t\t})\n\t}\n\n\texport function changeLocale(prev_locale: string, locale: string) {\n\t\tsetLocale(locale)\n\t\tevent(ID_SITE, 'set-language', locale)\n\t\tgtag('event', 'change_locale', {\n\t\t\tprev_locale,\n\t\t})\n\t}\n\n\texport function setTheme(theme: string) {\n\t\tdimension(DIM_THEME, theme)\n\t\tgtag('set', {\n\t\t\ttheme,\n\t\t})\n\t}\n\n\texport function changeTheme(prev_theme: string, theme: string) {\n\t\tsetTheme(theme)\n\t\tevent(ID_SITE, 'set-theme', theme)\n\t\tgtag('event', 'change_theme', {\n\t\t\tprev_theme,\n\t\t})\n\t}\n\n\texport function setVersion(version: string) {\n\t\tdimension(DIM_VERSION, version)\n\t\tgtag('set', {\n\t\t\tversion,\n\t\t})\n\t}\n\n\texport function changeVersion(prev_version: string, version: string) {\n\t\tsetVersion(version)\n\t\tevent(ID_GENERATOR, 'set-version', version)\n\t\tgtag('event', 'change_version', {\n\t\t\tprev_version,\n\t\t})\n\t}\n\n\texport function setGenerator(file_type: string) {\n\t\tdimension(DIM_GENERATOR, file_type)\n\t\tgtag('event', 'use_generator', {\n\t\t\tfile_type,\n\t\t})\n\t}\n\n\texport function setPrefersColorScheme(prefers_color_scheme: string) {\n\t\tdimension(DIM_PREFERS_COLOR_SCHEME, prefers_color_scheme)\n\t\tgtag('set', {\n\t\t\tprefers_color_scheme,\n\t\t})\n\t}\n\n\texport function resetGenerator(file_type: string, history: number, method: Method) {\n\t\tevent(ID_GENERATOR, 'reset')\n\t\tgtag('event', 'reset_generator', {\n\t\t\tfile_type,\n\t\t\thistory,\n\t\t\tmethod,\n\t\t})\n\t}\n\n\texport function undoGenerator(file_type: string, history: number, method: Method) {\n\t\tevent(ID_GENERATOR, 'undo', legacyMethod(method))\n\t\tgtag('event', 'undo_generator', {\n\t\t\tfile_type,\n\t\t\thistory,\n\t\t\tmethod,\n\t\t})\n\t}\n\n\texport function redoGenerator(file_type: string, history: number, method: Method) {\n\t\tevent(ID_GENERATOR, 'undo', legacyMethod(method))\n\t\tgtag('event', 'redo_generator', {\n\t\t\tfile_type,\n\t\t\thistory,\n\t\t\tmethod,\n\t\t})\n\t}\n\n\texport function saveProjectFile(file_type: string, project_size: number, projects_count: number, method: Method) {\n\t\tevent(ID_GENERATOR, 'save-project-file', legacyMethod(method))\n\t\tgtag('event', 'save_project_file', {\n\t\t\tfile_type,\n\t\t\tproject_size,\n\t\t\tprojects_count,\n\t\t\tmethod,\n\t\t})\n\t}\n\n\texport function loadPreset(file_type: string, file_name: string) {\n\t\tevent(ID_GENERATOR, 'load-preset', file_name)\n\t\tgtag('event', 'load_generator_preset', {\n\t\t\tfile_type,\n\t\t\tfile_name,\n\t\t})\n\t}\n\n\texport function openPreset(file_type: string, file_name: string) {\n\t\tgtag('event', 'open_generator_preset', {\n\t\t\tfile_type,\n\t\t\tfile_name,\n\t\t})\n\t}\n\n\texport function createSnippet(file_type: string, snippet_id: string, version: VersionId, data_size: number, compressed_size: number, compression_rate: number) {\n\t\tgtag('event', 'create_generator_snippet', {\n\t\t\tfile_type,\n\t\t\tsnippet_id,\n\t\t\tversion,\n\t\t\tdata_size,\n\t\t\tcompressed_size,\n\t\t\tcompression_rate,\n\t\t})\n\t}\n\n\texport function openSnippet(file_type: string, snippet_id: string, version: VersionId) {\n\t\tgtag('event', 'open_generator_snippet', {\n\t\t\tfile_type,\n\t\t\tsnippet_id,\n\t\t\tversion,\n\t\t})\n\t}\n\n\texport function copyOutput(file_type: string, method: Method) {\n\t\tgtag('event', 'copy_generator_output', {\n\t\t\tfile_type,\n\t\t\tmethod,\n\t\t})\n\t}\n\n\texport function downloadOutput(file_type: string, method: Method) {\n\t\tgtag('event', 'download_generator_output', {\n\t\t\tfile_type,\n\t\t\tmethod,\n\t\t})\n\t}\n\n\texport function showOutput(file_type: string, method: Method) {\n\t\tevent(ID_GENERATOR, 'toggle-output', 'visible')\n\t\tgtag('event', 'show_generator_output', {\n\t\t\tfile_type,\n\t\t\tmethod,\n\t\t})\n\t}\n\n\texport function hideOutput(file_type: string, method: Method) {\n\t\tevent(ID_GENERATOR, 'toggle-output', 'hidden')\n\t\tgtag('event', 'hide_generator_output', {\n\t\t\tfile_type,\n\t\t\tmethod,\n\t\t})\n\t}\n\n\texport function showPreview(file_type: string, method: Method) {\n\t\tevent(ID_GENERATOR, 'toggle-preview', 'visible')\n\t\tgtag('event', 'show_generator_preview', {\n\t\t\tfile_type,\n\t\t\tmethod,\n\t\t})\n\t}\n\n\texport function hidePreview(file_type: string, method: Method) {\n\t\tevent(ID_GENERATOR, 'toggle-preview', 'hidden')\n\t\tgtag('event', 'hide_generator_preview', {\n\t\t\tfile_type,\n\t\t\tmethod,\n\t\t})\n\t}\n}\n","import{options as n}from\"preact\";var t,u,r,o=0,i=[],c=n.__b,f=n.__r,e=n.diffed,a=n.__c,v=n.unmount;function m(t,r){n.__h&&n.__h(u,t,o||r),o=0;var i=u.__H||(u.__H={__:[],__h:[]});return t>=i.__.length&&i.__.push({}),i.__[t]}function l(n){return o=1,p(w,n)}function p(n,r,o){var i=m(t++,2);return i.t=n,i.__c||(i.__=[o?o(r):w(void 0,r),function(n){var t=i.t(i.__[0],n);i.__[0]!==t&&(i.__=[t,i.__[1]],i.__c.setState({}))}],i.__c=u),i.__}function y(r,o){var i=m(t++,3);!n.__s&&k(i.__H,o)&&(i.__=r,i.__H=o,u.__H.__h.push(i))}function h(r,o){var i=m(t++,4);!n.__s&&k(i.__H,o)&&(i.__=r,i.__H=o,u.__h.push(i))}function s(n){return o=5,d(function(){return{current:n}},[])}function _(n,t,u){o=6,h(function(){\"function\"==typeof n?n(t()):n&&(n.current=t())},null==u?u:u.concat(n))}function d(n,u){var r=m(t++,7);return k(r.__H,u)&&(r.__=n(),r.__H=u,r.__h=n),r.__}function A(n,t){return o=8,d(function(){return n},t)}function F(n){var r=u.context[n.__c],o=m(t++,9);return o.__c=n,r?(null==o.__&&(o.__=!0,r.sub(u)),r.props.value):n.__}function T(t,u){n.useDebugValue&&n.useDebugValue(u?u(t):t)}function q(n){var r=m(t++,10),o=l();return r.__=n,u.componentDidCatch||(u.componentDidCatch=function(n){r.__&&r.__(n),o[1](n)}),[o[0],function(){o[1](void 0)}]}function x(){i.forEach(function(t){if(t.__P)try{t.__H.__h.forEach(g),t.__H.__h.forEach(j),t.__H.__h=[]}catch(u){t.__H.__h=[],n.__e(u,t.__v)}}),i=[]}n.__b=function(n){u=null,c&&c(n)},n.__r=function(n){f&&f(n),t=0;var r=(u=n.__c).__H;r&&(r.__h.forEach(g),r.__h.forEach(j),r.__h=[])},n.diffed=function(t){e&&e(t);var o=t.__c;o&&o.__H&&o.__H.__h.length&&(1!==i.push(o)&&r===n.requestAnimationFrame||((r=n.requestAnimationFrame)||function(n){var t,u=function(){clearTimeout(r),b&&cancelAnimationFrame(t),setTimeout(n)},r=setTimeout(u,100);b&&(t=requestAnimationFrame(u))})(x)),u=void 0},n.__c=function(t,u){u.some(function(t){try{t.__h.forEach(g),t.__h=t.__h.filter(function(n){return!n.__||j(n)})}catch(r){u.some(function(n){n.__h&&(n.__h=[])}),u=[],n.__e(r,t.__v)}}),a&&a(t,u)},n.unmount=function(t){v&&v(t);var u=t.__c;if(u&&u.__H)try{u.__H.__.forEach(g)}catch(t){n.__e(t,u.__v)}};var b=\"function\"==typeof requestAnimationFrame;function g(n){var t=u;\"function\"==typeof n.__c&&n.__c(),u=t}function j(n){var t=u;n.__c=n.__(),u=t}function k(n,t){return!n||n.length!==t.length||t.some(function(t,u){return t!==n[u]})}function w(n,t){return\"function\"==typeof t?t(n):t}export{l as useState,p as useReducer,y as useEffect,h as useLayoutEffect,s as useRef,_ as useImperativeHandle,d as useMemo,A as useCallback,F as useContext,T as useDebugValue,q as useErrorBoundary};\n//# sourceMappingURL=hooks.module.js.map\n","import { useEffect } from 'preact/hooks'\n\ndeclare const ethicalads: any\n\ntype AdProps = {\n\ttype: 'text' | 'image',\n\tid: string,\n}\nexport function Ad({ type, id }: AdProps) {\n\tuseEffect(() => {\n\t\tdocument.getElementById('ad-placeholder')?.remove()\n\t\tif ('ethicalads' in window) {\n\t\t\tethicalads.load()\n\t\t}\n\t}, [])\n\n\treturn
    \n}\n","import { Octicon } from '.'\n\ntype BtnProps = {\n\ticon?: keyof typeof Octicon,\n\tlabel?: string,\n\tactive?: boolean,\n\ttooltip?: string,\n\ttooltipLoc?: 'se' | 'sw' | 'nw',\n\tshowTooltip?: boolean,\n\tclass?: string,\n\tonClick?: (event: MouseEvent) => unknown,\n}\nexport function Btn({ icon, label, active, class: clazz, tooltip, tooltipLoc, onClick }: BtnProps) {\n\treturn
    \n\t\t{icon && Octicon[icon]}\n\t\t{label && {label}}\n\t
    \n}\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.ModelPath = exports.Path = exports.relativePath = void 0;\r\nfunction relativePath(start, relativePath) {\r\n return relativePath.reduce((path, e) => {\r\n if (e === 'pop') {\r\n return path.pop();\r\n }\r\n else {\r\n return path.push(e.push);\r\n }\r\n }, start);\r\n}\r\nexports.relativePath = relativePath;\r\n/**\r\n * Immutable helper class to represent a path in data\r\n */\r\nclass Path {\r\n /**\r\n * @param modelArr Initial array of path model elements. Empty if not given\r\n * @param contextArr Initial array of path context elements. Empty if not given\r\n */\r\n constructor(modelArr, contextArr) {\r\n this.modelArr = modelArr !== null && modelArr !== void 0 ? modelArr : [];\r\n this.contextArr = contextArr !== null && contextArr !== void 0 ? contextArr : [];\r\n }\r\n /**\r\n * The last model element of this path\r\n */\r\n last() {\r\n return this.modelArr[this.modelArr.length - 1];\r\n }\r\n /**\r\n * A new path with the specific sliced module elements\r\n */\r\n slice(start, end) {\r\n return new Path(this.modelArr.slice(start, end), this.contextArr);\r\n }\r\n /**\r\n * A new path with the first model element removed\r\n */\r\n shift() {\r\n return new Path(this.modelArr.slice(1), this.contextArr);\r\n }\r\n /**\r\n * A new path with the last model element removed\r\n */\r\n pop() {\r\n return new Path(this.modelArr.slice(0, -1), this.contextArr);\r\n }\r\n /**\r\n * A new path with an element added at the end\r\n * @param element element to push at the end of the array\r\n */\r\n push(element) {\r\n return this.modelPush(element).contextPush(element);\r\n }\r\n /**\r\n * Push an element exclusivly to the model array\r\n * @param element\r\n */\r\n modelPush(element) {\r\n return new Path([...this.modelArr, element], [...this.contextArr]);\r\n }\r\n /**\r\n * Push an element exclusivly to the context array\r\n * @param element\r\n */\r\n contextPush(element) {\r\n if (typeof element === 'number')\r\n return this.copy();\r\n const newElement = element.startsWith('minecraft:') ? element.slice(10) : element;\r\n return new Path([...this.modelArr], [...this.contextArr, newElement]);\r\n }\r\n copy() {\r\n return new Path([...this.modelArr], [...this.contextArr]);\r\n }\r\n getArray() {\r\n return this.modelArr;\r\n }\r\n /**\r\n * Attaches a model to this path and all paths created from this\r\n * @param model\r\n */\r\n withModel(model) {\r\n return new ModelPath(model, this);\r\n }\r\n getContext() {\r\n return this.contextArr;\r\n }\r\n /**\r\n * Checks path equality\r\n * @param other path to compare\r\n */\r\n equals(other) {\r\n return other.modelArr.length === this.modelArr.length\r\n && other.modelArr.every((v, i) => v === this.modelArr[i]);\r\n }\r\n /**\r\n * Checks if this path starts with another path\r\n * @param other path that this path should start with\r\n */\r\n startsWith(other) {\r\n if (this.modelArr.length < other.modelArr.length)\r\n return false;\r\n return other.modelArr.every((v, i) => v === this.modelArr[i]);\r\n }\r\n /**\r\n * Checks if this path ends with another path\r\n * @param other parent path where this path should end with\r\n */\r\n endsWith(other) {\r\n const offset = this.modelArr.length - other.modelArr.length;\r\n if (offset < 0)\r\n return false;\r\n return other.modelArr.every((v, i) => v === this.modelArr[offset + i]);\r\n }\r\n toString() {\r\n return this.modelArr\r\n .map(e => (typeof e === 'string') ? `.${e}` : `[${e}]`)\r\n .join('')\r\n .replace(/^\\./, '');\r\n }\r\n forEach(fn, thisArg) {\r\n return this.modelArr.forEach(fn, thisArg);\r\n }\r\n}\r\nexports.Path = Path;\r\nclass ModelPath extends Path {\r\n constructor(model, path) {\r\n super(path === null || path === void 0 ? void 0 : path.modelArr, path === null || path === void 0 ? void 0 : path.contextArr);\r\n this.model = model;\r\n }\r\n getModel() {\r\n return this.model;\r\n }\r\n /**\r\n * Gets the data from the model if it was attached\r\n * @returns undefined, if no model was attached\r\n */\r\n get() {\r\n var _a;\r\n return (_a = this.model) === null || _a === void 0 ? void 0 : _a.get(this);\r\n }\r\n /**\r\n * Sets the value to the model if it was attached\r\n */\r\n set(value) {\r\n var _a;\r\n (_a = this.model) === null || _a === void 0 ? void 0 : _a.set(this, value);\r\n }\r\n /**\r\n * A new path with the specific sliced module elements\r\n */\r\n slice(start, end) {\r\n return new ModelPath(this.model, super.slice(start, end));\r\n }\r\n /**\r\n * A new path with the first model element removed\r\n */\r\n shift() {\r\n return new ModelPath(this.model, super.shift());\r\n }\r\n /**\r\n * A new path with the last model element removed\r\n */\r\n pop() {\r\n return new ModelPath(this.model, super.pop());\r\n }\r\n /**\r\n * A new path with an element added at the end\r\n * @param element element to push at the end of the array\r\n */\r\n push(element) {\r\n return this.modelPush(element).contextPush(element);\r\n }\r\n /**\r\n * Push an element exclusivly to the model array\r\n * @param element\r\n */\r\n modelPush(element) {\r\n return new ModelPath(this.model, super.modelPush(element));\r\n }\r\n /**\r\n * Push an element exclusivly to the context array\r\n * @param element\r\n */\r\n contextPush(element) {\r\n return new ModelPath(this.model, super.contextPush(element));\r\n }\r\n copy() {\r\n return new ModelPath(this.model, super.copy());\r\n }\r\n}\r\nexports.ModelPath = ModelPath;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.Errors = void 0;\r\n/**\r\n * Collects errors from data paths\r\n */\r\nclass Errors {\r\n constructor() {\r\n this.errors = [];\r\n }\r\n add(path, error, ...params) {\r\n this.errors.push({ path, error, params });\r\n return false;\r\n }\r\n get(path, exact = false) {\r\n return exact ? this.errors.filter(e => e.path.equals(path))\r\n : this.errors.filter(e => e.path.startsWith(path));\r\n }\r\n getAll() {\r\n return this.errors;\r\n }\r\n clear() {\r\n this.errors = [];\r\n }\r\n count() {\r\n return this.errors.length;\r\n }\r\n *[Symbol.iterator]() {\r\n for (const e of this.errors) {\r\n yield e;\r\n }\r\n }\r\n}\r\nexports.Errors = Errors;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.hexId = exports.quoteString = exports.escapeString = void 0;\r\nfunction escapeString(str) {\r\n return str.replace(/(\\\\|\")/g, '\\\\$1');\r\n}\r\nexports.escapeString = escapeString;\r\nfunction quoteString(str) {\r\n return `\"${escapeString(str)}\"`;\r\n}\r\nexports.quoteString = quoteString;\r\nconst dec2hex = (dec) => ('0' + dec.toString(16)).substr(-2);\r\nfunction hexId(length = 12) {\r\n var arr = new Uint8Array(length / 2);\r\n window.crypto.getRandomValues(arr);\r\n return Array.from(arr, dec2hex).join('');\r\n}\r\nexports.hexId = hexId;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.DataModel = void 0;\r\nconst Path_1 = require(\"./Path\");\r\nconst Errors_1 = require(\"./Errors\");\r\nconst utils_1 = require(\"../utils\");\r\n/**\r\n * Holding the data linked to a given schema\r\n */\r\nclass DataModel {\r\n /**\r\n * @param schema node to use as schema for this model\r\n */\r\n constructor(schema, options) {\r\n var _a, _b, _c, _d;\r\n this.historyMax = (_a = options === null || options === void 0 ? void 0 : options.historyMax) !== null && _a !== void 0 ? _a : 50;\r\n this.verbose = (_b = options === null || options === void 0 ? void 0 : options.verbose) !== null && _b !== void 0 ? _b : false;\r\n this.wrapLists = (_c = options === null || options === void 0 ? void 0 : options.wrapLists) !== null && _c !== void 0 ? _c : false;\r\n this.schema = schema;\r\n const data = (_d = options === null || options === void 0 ? void 0 : options.initialData) !== null && _d !== void 0 ? _d : schema.default();\r\n this.data = this.wrapLists ? DataModel.wrapLists(data) : data;\r\n this.listeners = [];\r\n this.errors = new Errors_1.Errors();\r\n this.history = [JSON.stringify(this.data)];\r\n this.historyIndex = 0;\r\n }\r\n /**\r\n * Adds a listener to notify when the model is invalidated\r\n * @param listener the listener to be notified\r\n */\r\n addListener(listener) {\r\n this.listeners.push(listener);\r\n }\r\n /**\r\n * Removes a listener from this model\r\n * @param listener the listener to be removed\r\n */\r\n removeListener(listener) {\r\n const index = this.listeners.indexOf(listener);\r\n if (index > -1) {\r\n this.listeners.splice(index, 1);\r\n }\r\n }\r\n /**\r\n * Updates the history and notifies all\r\n * listeners that the model is invalidated\r\n */\r\n invalidate() {\r\n const newHistory = JSON.stringify(this.data);\r\n if (this.history[this.historyIndex] !== newHistory) {\r\n this.historyIndex += 1;\r\n this.history.splice(this.historyIndex, this.historyMax, newHistory);\r\n if (this.history.length > this.historyMax) {\r\n this.history.splice(0, 1);\r\n this.historyIndex -= 1;\r\n }\r\n }\r\n this.silentInvalidate();\r\n }\r\n /**\r\n * Notifies all listeners that the model is invalidated\r\n */\r\n silentInvalidate() {\r\n this.listeners.forEach(l => {\r\n if (l.invalidated)\r\n l.invalidated(this);\r\n if (l.errors)\r\n l.errors(this.errors);\r\n });\r\n }\r\n /**\r\n * Resets the full data and notifies listeners\r\n * @param value new model data\r\n */\r\n reset(value, loose) {\r\n this.data = value;\r\n this.validate(loose);\r\n this.invalidate();\r\n }\r\n /**\r\n * Gets the data at a specified path\r\n * @param path path at which to find the data\r\n * @returns undefined, if the the path does not exist in the data\r\n */\r\n get(path) {\r\n let node = this.data;\r\n path.forEach(e => {\r\n if (node === undefined)\r\n return node;\r\n if (this.wrapLists && typeof e === 'number') {\r\n node = node[e].node;\r\n }\r\n else {\r\n node = node[e];\r\n }\r\n });\r\n return node;\r\n }\r\n /**\r\n * Updates the data on a path. Node will be removed when value is undefined\r\n * @param path path to update\r\n * @param value new data at the specified path\r\n */\r\n set(path, value, silent) {\r\n if (path.getArray().length === 0) {\r\n this.reset(value, true);\r\n return;\r\n }\r\n let node = this.data;\r\n path.pop().forEach(e => {\r\n if (node[e] === undefined || typeof node[e] === 'string' || typeof node[e] === 'number') {\r\n if (this.wrapLists && typeof e === 'number') {\r\n node[e] = { node: {}, id: (0, utils_1.hexId)() };\r\n }\r\n else {\r\n node[e] = {};\r\n }\r\n }\r\n if (this.wrapLists && typeof e === 'number') {\r\n node = node[e].node;\r\n }\r\n else {\r\n node = node[e];\r\n }\r\n });\r\n if (node === null)\r\n return;\r\n if (value === undefined || (typeof value === 'number' && isNaN(value))) {\r\n if (typeof path.last() === 'number') {\r\n node.splice(path.last(), 1);\r\n }\r\n else {\r\n delete node[path.last()];\r\n }\r\n }\r\n else if (this.wrapLists && typeof path.last() === 'number') {\r\n node[path.last()] = { node: value, id: (0, utils_1.hexId)() };\r\n }\r\n else {\r\n node[path.last()] = value;\r\n }\r\n if (silent)\r\n return;\r\n if (this.verbose) {\r\n console.log('Set', path.toString(), JSON.stringify(value));\r\n }\r\n this.validate(true);\r\n this.invalidate();\r\n }\r\n /**\r\n * Go one step back in history\r\n */\r\n undo() {\r\n if (this.historyIndex > 0) {\r\n this.historyIndex -= 1;\r\n this.data = JSON.parse(this.history[this.historyIndex]);\r\n this.validate(false);\r\n this.silentInvalidate();\r\n }\r\n }\r\n /**\r\n * Go one step forward in history.\r\n */\r\n redo() {\r\n if (this.historyIndex < this.history.length - 1) {\r\n this.historyIndex += 1;\r\n this.data = JSON.parse(this.history[this.historyIndex]);\r\n this.validate(false);\r\n this.silentInvalidate();\r\n }\r\n }\r\n /**\r\n * Uses the schema to check whether the data is valid\r\n */\r\n validate(loose) {\r\n var _a;\r\n const path = new Path_1.Path().withModel(this);\r\n this.errors.clear();\r\n this.data = (_a = this.schema.validate(path, this.data, this.errors, { loose, wrapLists: this.wrapLists })) !== null && _a !== void 0 ? _a : {};\r\n }\r\n error(path, error, ...params) {\r\n const tempErrors = new Errors_1.Errors();\r\n tempErrors.add(path, error, params);\r\n this.listeners.forEach(l => {\r\n if (l.errors)\r\n l.errors(tempErrors);\r\n });\r\n }\r\n static wrapLists(value) {\r\n if (Array.isArray(value)) {\r\n const res = value.map(v => ({\r\n node: this.wrapLists(v),\r\n id: (0, utils_1.hexId)(),\r\n }));\r\n for (const a of Object.getOwnPropertySymbols(value)) {\r\n res[a] = value[a];\r\n }\r\n return res;\r\n }\r\n else if (typeof value === 'object' && value !== null) {\r\n const res = {};\r\n Object.entries(value).map(([k, v]) => {\r\n res[k] = this.wrapLists(v);\r\n });\r\n for (const a of Object.getOwnPropertySymbols(value)) {\r\n res[a] = value[a];\r\n }\r\n return res;\r\n }\r\n else {\r\n return value;\r\n }\r\n }\r\n static unwrapLists(value) {\r\n if (Array.isArray(value)) {\r\n const res = value.map(v => this.unwrapLists(v.node));\r\n for (const a of Object.getOwnPropertySymbols(value)) {\r\n res[a] = value[a];\r\n }\r\n return res;\r\n }\r\n else if (typeof value === 'object' && value !== null) {\r\n const res = {};\r\n Object.entries(value).map(([k, v]) => {\r\n res[k] = this.unwrapLists(v);\r\n });\r\n for (const a of Object.getOwnPropertySymbols(value)) {\r\n res[a] = value[a];\r\n }\r\n return res;\r\n }\r\n else {\r\n return value;\r\n }\r\n }\r\n}\r\nexports.DataModel = DataModel;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.Keep = exports.Opt = exports.Has = exports.Mod = exports.Base = void 0;\r\nexports.Base = ({\r\n type: () => 'base',\r\n category: () => undefined,\r\n default: () => undefined,\r\n enabled: () => true,\r\n keep: () => false,\r\n optional: () => false,\r\n navigate() { return this; },\r\n pathPush: (p) => p,\r\n suggest: () => [],\r\n validate: (_, v) => v,\r\n validationOption: () => undefined,\r\n hook(hook, path, ...args) { return hook.base({ node: this }, path, ...args); },\r\n canUpdate: () => false,\r\n update: () => []\r\n});\r\nconst Mod = (node, mods) => ({\r\n ...node, ...(typeof mods === 'function' ? mods(node) : mods)\r\n});\r\nexports.Mod = Mod;\r\nconst Has = (key, node) => (0, exports.Mod)(node, {\r\n enabled: (p) => p.push(key).get() !== undefined\r\n});\r\nexports.Has = Has;\r\nfunction Opt(node) {\r\n return {\r\n ...node,\r\n optional: () => true\r\n };\r\n}\r\nexports.Opt = Opt;\r\nfunction Keep(node) {\r\n return {\r\n ...node,\r\n keep: () => true\r\n };\r\n}\r\nexports.Keep = Keep;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.BooleanNode = void 0;\r\nconst DataModel_1 = require(\"../model/DataModel\");\r\nconst Node_1 = require(\"./Node\");\r\n/**\r\n * Boolean node with two buttons for true/false\r\n */\r\nconst BooleanNode = () => {\r\n return {\r\n ...Node_1.Base,\r\n type: () => 'boolean',\r\n default: () => false,\r\n suggest: () => ['false', 'true'],\r\n validate(path, value, errors, options) {\r\n if (options.loose && typeof value !== 'boolean') {\r\n value = options.wrapLists ? DataModel_1.DataModel.wrapLists(this.default()) : this.default();\r\n }\r\n if (typeof value !== 'boolean' || value === undefined) {\r\n errors.add(path, 'error.expected_boolean');\r\n }\r\n return value;\r\n },\r\n hook(hook, path, ...args) {\r\n var _a;\r\n return ((_a = hook.boolean) !== null && _a !== void 0 ? _a : hook.base).call(hook, { node: this }, path, ...args);\r\n }\r\n };\r\n};\r\nexports.BooleanNode = BooleanNode;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.ListNode = void 0;\r\nconst DataModel_1 = require(\"../model/DataModel\");\r\nconst Node_1 = require(\"./Node\");\r\nconst ListNode = (children, config) => {\r\n var _a, _b;\r\n const min = (_a = config === null || config === void 0 ? void 0 : config.minLength) !== null && _a !== void 0 ? _a : 0;\r\n const max = (_b = config === null || config === void 0 ? void 0 : config.maxLength) !== null && _b !== void 0 ? _b : Infinity;\r\n const between = (config === null || config === void 0 ? void 0 : config.minLength) && (config === null || config === void 0 ? void 0 : config.maxLength);\r\n return ({\r\n ...Node_1.Base,\r\n type: () => 'list',\r\n default: () => (config === null || config === void 0 ? void 0 : config.minLength) ? [...Array(min)].map(_ => children.default()) : [],\r\n navigate(path, index) {\r\n const nextIndex = index + 1;\r\n const pathElements = path.getArray();\r\n if (pathElements.length <= nextIndex) {\r\n return this;\r\n }\r\n return children.navigate(path, nextIndex);\r\n },\r\n pathPush(path, index) {\r\n return path.push(parseInt(index.toString())).contextPush('entry');\r\n },\r\n validate(path, value, errors, options) {\r\n if (options.loose && !Array.isArray(value)) {\r\n value = options.wrapLists ? DataModel_1.DataModel.wrapLists(this.default()) : this.default();\r\n }\r\n if (!Array.isArray(value)) {\r\n errors.add(path, 'error.expected_list');\r\n return value;\r\n }\r\n else if (between && (value.length < min || value.length > max)) {\r\n if (min === max) {\r\n errors.add(path, 'error.invalid_list_range.exact', value.length, min);\r\n }\r\n else {\r\n errors.add(path, 'error.invalid_list_range.between', value.length, min, max);\r\n }\r\n }\r\n else if (value.length < min) {\r\n errors.add(path, 'error.invalid_list_range.smaller', value.length, min);\r\n }\r\n else if (value.length > max) {\r\n errors.add(path, 'error.invalid_list_range.larger', value.length, max);\r\n }\r\n const res = value.map((obj, index) => {\r\n const newObj = children.validate(path.push(index), options.wrapLists ? obj.node : obj, errors, options);\r\n return options.wrapLists ? { node: newObj, id: obj.id } : newObj;\r\n });\r\n for (const a of Object.getOwnPropertySymbols(value)) {\r\n res[a] = value[a];\r\n }\r\n return res;\r\n },\r\n hook(hook, path, ...args) {\r\n var _a;\r\n return ((_a = hook.list) !== null && _a !== void 0 ? _a : hook.base).call(hook, { node: this, children, config: config !== null && config !== void 0 ? config : {} }, path, ...args);\r\n }\r\n });\r\n};\r\nexports.ListNode = ListNode;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.SwitchNode = void 0;\r\nconst Node_1 = require(\"./Node\");\r\n/**\r\n * Node that allows multiple types\r\n */\r\nconst SwitchNode = (cases) => {\r\n return {\r\n ...Node_1.Base,\r\n type(path) {\r\n return this.activeCase(path, true)\r\n .node.type(path);\r\n },\r\n category(path) {\r\n return this.activeCase(path, true)\r\n .node.category(path);\r\n },\r\n default: () => cases[0].node.default(),\r\n navigate(path, index) {\r\n var _a;\r\n const nextIndex = index + 1;\r\n return (_a = this.activeCase(path.slice(0, nextIndex))) === null || _a === void 0 ? void 0 : _a.node.navigate(path, index);\r\n },\r\n pathPush(path, key) {\r\n var _a, _b;\r\n return (_b = (_a = this.activeCase(path)) === null || _a === void 0 ? void 0 : _a.node.pathPush(path, key)) !== null && _b !== void 0 ? _b : path;\r\n },\r\n suggest(path, value) {\r\n var _a, _b;\r\n return (_b = (_a = this.activeCase(path)) === null || _a === void 0 ? void 0 : _a.node.suggest(path, value)) !== null && _b !== void 0 ? _b : cases\r\n .filter(c => c.match(path))\r\n .map(c => c.node.suggest(path, value))\r\n .reduce((p, c) => p.concat(c));\r\n },\r\n validate(path, value, errors, options) {\r\n let c = this.activeCase(path);\r\n if (c === undefined) {\r\n return value;\r\n }\r\n return c.node.validate(path, value, errors, options);\r\n },\r\n validationOption(path) {\r\n var _a;\r\n return (_a = this.activeCase(path)) === null || _a === void 0 ? void 0 : _a.node.validationOption(path);\r\n },\r\n activeCase(path, fallback) {\r\n const sorter = (a, b) => { var _a, _b; return ((_a = b.priority) !== null && _a !== void 0 ? _a : 0) - ((_b = a.priority) !== null && _b !== void 0 ? _b : 0); };\r\n const matchedCases = cases.filter(c => c.match(path)).sort(sorter);\r\n if (fallback && matchedCases.length === 0) {\r\n return cases.sort(sorter)[0];\r\n }\r\n return (matchedCases.length > 0 ? matchedCases[0] : undefined);\r\n },\r\n hook(hook, path, ...args) {\r\n return this.activeCase(path, true)\r\n .node.hook(hook, path, ...args);\r\n },\r\n };\r\n};\r\nexports.SwitchNode = SwitchNode;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.ObjectOrPreset = exports.StringOrList = exports.ObjectOrList = exports.ChoiceNode = void 0;\r\nconst ListNode_1 = require(\"./ListNode\");\r\nconst SwitchNode_1 = require(\"./SwitchNode\");\r\n/**\r\n * Node that allows multiple types\r\n */\r\nconst ChoiceNode = (choices, config) => {\r\n const isValid = (choice, value) => {\r\n if (choice.match) {\r\n return choice.match(value);\r\n }\r\n switch (choice.type) {\r\n case 'list': return Array.isArray(value);\r\n case 'object': return typeof value === 'object' && !Array.isArray(value);\r\n default: return typeof value === choice.type;\r\n }\r\n };\r\n const switchNode = (0, SwitchNode_1.SwitchNode)(choices.map(c => ({\r\n type: c.type,\r\n priority: c.priority,\r\n match: (path) => isValid(c, path.get()),\r\n node: c.node\r\n })));\r\n return {\r\n ...switchNode,\r\n validate(path, value, errors, options) {\r\n let choice = switchNode.activeCase(path, true);\r\n if (choice.node.optional()) {\r\n return value;\r\n }\r\n return choice.node.validate(path, value, errors, options);\r\n },\r\n hook(hook, path, ...args) {\r\n var _a;\r\n return ((_a = hook.choice) !== null && _a !== void 0 ? _a : hook.base).call(hook, { node: this, choices, config: config !== null && config !== void 0 ? config : {}, switchNode }, path, ...args);\r\n }\r\n };\r\n};\r\nexports.ChoiceNode = ChoiceNode;\r\nconst XOrList = (x) => ((node, config) => {\r\n return (0, exports.ChoiceNode)([\r\n {\r\n type: x,\r\n node,\r\n change: v => { var _a; return (_a = v[0]) !== null && _a !== void 0 ? _a : node.default(); }\r\n },\r\n {\r\n type: 'list',\r\n node: (0, ListNode_1.ListNode)(node),\r\n change: v => v ? [v] : []\r\n }\r\n ], config);\r\n});\r\nexports.ObjectOrList = XOrList('object');\r\nexports.StringOrList = XOrList('string');\r\nconst ObjectOrPreset = (presetNode, objectNode, presets) => {\r\n return (0, exports.ChoiceNode)([\r\n {\r\n type: 'string',\r\n priority: 1,\r\n node: presetNode,\r\n change: v => Object.keys(presets)[0]\r\n },\r\n {\r\n type: 'object',\r\n node: objectNode,\r\n change: v => { var _a; return (_a = presets[v]) !== null && _a !== void 0 ? _a : presets[Object.keys(presets)[0]]; }\r\n }\r\n ]);\r\n};\r\nexports.ObjectOrPreset = ObjectOrPreset;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.MapNode = void 0;\r\nconst Node_1 = require(\"./Node\");\r\nconst DataModel_1 = require(\"../model/DataModel\");\r\n/**\r\n * Map nodes similar to list nodes, but a string key is required to add children\r\n */\r\nconst MapNode = (keys, children, config) => {\r\n return {\r\n ...Node_1.Base,\r\n type: () => 'map',\r\n default: () => ({}),\r\n navigate(path, index) {\r\n const nextIndex = index + 1;\r\n const pathElements = path.getArray();\r\n if (pathElements.length <= nextIndex) {\r\n return this;\r\n }\r\n return children.navigate(path, nextIndex);\r\n },\r\n pathPush(path, key) {\r\n return path.modelPush(key);\r\n },\r\n suggest: (path) => keys.suggest(path, ''),\r\n validate(path, value, errors, options) {\r\n if (options.loose && typeof value !== 'object') {\r\n value = options.wrapLists ? DataModel_1.DataModel.wrapLists(this.default()) : this.default();\r\n }\r\n if (value === null || typeof value !== 'object') {\r\n errors.add(path, 'error.expected_object');\r\n return value;\r\n }\r\n const res = {};\r\n Object.keys(value).forEach(k => {\r\n keys.validate(path, k, errors, options);\r\n res[k] = children.validate(path.push(k), value[k], errors, options);\r\n });\r\n for (const a of Object.getOwnPropertySymbols(value)) {\r\n res[a] = value[a];\r\n }\r\n return res;\r\n },\r\n validationOption(path) {\r\n var _a;\r\n return (_a = config === null || config === void 0 ? void 0 : config.validation) !== null && _a !== void 0 ? _a : keys.validationOption(path.push(''));\r\n },\r\n hook(hook, path, ...args) {\r\n var _a;\r\n return ((_a = hook.map) !== null && _a !== void 0 ? _a : hook.base).call(hook, { node: this, keys, children, config: config !== null && config !== void 0 ? config : {} }, path, ...args);\r\n }\r\n };\r\n};\r\nexports.MapNode = MapNode;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.NumberEnum = exports.NumberNode = void 0;\r\nconst __1 = require(\"..\");\r\nconst DataModel_1 = require(\"../model/DataModel\");\r\nconst Node_1 = require(\"./Node\");\r\nconst NumberNode = (config) => {\r\n var _a, _b, _c;\r\n const integer = (config === null || config === void 0 ? void 0 : config.color) ? true : (_a = config === null || config === void 0 ? void 0 : config.integer) !== null && _a !== void 0 ? _a : false;\r\n const min = (config === null || config === void 0 ? void 0 : config.color) ? 0 : (_b = config === null || config === void 0 ? void 0 : config.min) !== null && _b !== void 0 ? _b : -Infinity;\r\n const max = (config === null || config === void 0 ? void 0 : config.color) ? 16777215 : (_c = config === null || config === void 0 ? void 0 : config.max) !== null && _c !== void 0 ? _c : Infinity;\r\n const between = (config === null || config === void 0 ? void 0 : config.min) !== undefined && (config === null || config === void 0 ? void 0 : config.max) !== undefined;\r\n return {\r\n ...Node_1.Base,\r\n type: () => 'number',\r\n default: () => min > 0 ? min : 0,\r\n validate(path, value, errors, options) {\r\n if (options.loose && typeof value !== 'number') {\r\n value = options.wrapLists ? DataModel_1.DataModel.wrapLists(this.default()) : this.default();\r\n }\r\n if (typeof value !== 'number') {\r\n errors.add(path, 'error.expected_number');\r\n }\r\n else if (integer && !Number.isInteger(value)) {\r\n errors.add(path, 'error.expected_integer');\r\n }\r\n else if (between && (value < min || value > max)) {\r\n errors.add(path, 'error.invalid_number_range.between', value, min, max);\r\n }\r\n else if (value < min) {\r\n errors.add(path, 'error.invalid_number_range.smaller', value, min);\r\n }\r\n else if (value > max) {\r\n errors.add(path, 'error.invalid_number_range.larger', value, max);\r\n }\r\n return value;\r\n },\r\n hook(hook, path, ...args) {\r\n var _a;\r\n return ((_a = hook.number) !== null && _a !== void 0 ? _a : hook.base).call(hook, { node: this, integer, min, max, between, config: config !== null && config !== void 0 ? config : {} }, path, ...args);\r\n }\r\n };\r\n};\r\nexports.NumberNode = NumberNode;\r\nconst NumberEnum = ({ integer, values }) => (0, __1.Mod)((0, exports.NumberNode)({ integer }), node => ({\r\n validate: (path, value, errors, options) => {\r\n value = node.validate(path, value, errors, options);\r\n if (!values.includes(value)) {\r\n errors.add(path, 'error.invalid_number_enum', values.join(', '));\r\n }\r\n return value;\r\n }\r\n}));\r\nexports.NumberEnum = NumberEnum;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.ObjectNode = exports.Case = exports.Switch = void 0;\r\nconst Node_1 = require(\"./Node\");\r\nconst Path_1 = require(\"../model/Path\");\r\nconst Errors_1 = require(\"../model/Errors\");\r\nconst utils_1 = require(\"../utils\");\r\nconst DataModel_1 = require(\"../model/DataModel\");\r\nexports.Switch = Symbol('switch');\r\nexports.Case = Symbol('case');\r\nconst ObjectNode = (fields, config) => {\r\n const { [exports.Switch]: filter, [exports.Case]: cases, ...defaultFields } = fields;\r\n const getActiveFields = (path) => {\r\n if (filter === undefined)\r\n return defaultFields;\r\n const switchValue = (0, Path_1.relativePath)(path, filter).get();\r\n const activeCase = cases[switchValue];\r\n return { ...defaultFields, ...activeCase };\r\n };\r\n const getChildModelPath = (path, childKey) => {\r\n var _a;\r\n const switchValue = filter ? (0, Path_1.relativePath)(path, filter).get() : undefined;\r\n const caseFields = filter ? ((_a = cases[switchValue]) !== null && _a !== void 0 ? _a : {}) : {};\r\n const caseKeys = Object.keys(caseFields);\r\n const pathWithContext = (config === null || config === void 0 ? void 0 : config.context) ?\r\n new Path_1.ModelPath(path.getModel(), new Path_1.Path(path.getArray(), [config.context])) : path;\r\n const pathWithFilter = !(config === null || config === void 0 ? void 0 : config.disableSwitchContext) && switchValue && caseKeys.includes(childKey) ?\r\n pathWithContext.contextPush(switchValue) : pathWithContext;\r\n return pathWithFilter.push(childKey);\r\n };\r\n return ({\r\n ...Node_1.Base,\r\n type: () => 'object',\r\n category: () => config === null || config === void 0 ? void 0 : config.category,\r\n default: () => ({}),\r\n keep() {\r\n return this.optional();\r\n },\r\n navigate(path, index) {\r\n const nextIndex = index + 1;\r\n const pathElements = path.getArray();\r\n if (pathElements.length <= nextIndex) {\r\n return this;\r\n }\r\n const activeFields = getActiveFields(path.slice(0, nextIndex));\r\n const node = activeFields[pathElements[nextIndex]];\r\n return node === null || node === void 0 ? void 0 : node.navigate(path, nextIndex);\r\n },\r\n pathPush(path, key) {\r\n return getChildModelPath(path, key.toString());\r\n },\r\n suggest(path, value) {\r\n const activeFields = getActiveFields(path);\r\n const existingKeys = Object.keys(typeof value === 'object' ? value : {});\r\n return Object.keys(activeFields)\r\n .filter(k => activeFields[k].enabled(path))\r\n .filter(k => !existingKeys.includes(k))\r\n .map(utils_1.quoteString);\r\n },\r\n validate(path, value, errors, options) {\r\n if (options.loose && typeof value !== 'object') {\r\n value = options.wrapLists ? DataModel_1.DataModel.wrapLists(this.default()) : this.default();\r\n }\r\n if (typeof value !== 'object' || value === null) {\r\n errors.add(path, 'error.expected_object');\r\n return value;\r\n }\r\n let activeFields = defaultFields;\r\n if (filter) {\r\n const filterPath = (0, Path_1.relativePath)(path, filter);\r\n let switchValue = filterPath.get();\r\n if (path.equals(filterPath.pop())) {\r\n const filterField = filterPath.last();\r\n switchValue = defaultFields[filterField].validate(path.push(filterField), value[filterField], new Errors_1.Errors(), options);\r\n }\r\n activeFields = { ...activeFields, ...cases[switchValue] };\r\n }\r\n const activeKeys = Object.keys(activeFields);\r\n const forcedKeys = activeKeys.filter(k => !activeFields[k].optional());\r\n const keys = new Set([...forcedKeys, ...Object.keys(value)]);\r\n const res = {};\r\n keys.forEach(k => {\r\n if (activeKeys.includes(k)) {\r\n if (!activeFields[k].enabled(path))\r\n return;\r\n const newValue = activeFields[k].validate(path.push(k), value[k], errors, options);\r\n if (!activeFields[k].keep() && activeFields[k].optional()\r\n && (newValue === undefined\r\n || (Array.isArray(newValue) && newValue.length === 0)\r\n || (newValue.constructor === Object && Object.keys(newValue).length === 0))) {\r\n delete res[k];\r\n }\r\n else {\r\n res[k] = newValue;\r\n path.getModel().set(path.push(k), newValue, true);\r\n }\r\n }\r\n else {\r\n res[k] = value[k];\r\n }\r\n });\r\n for (const a of Object.getOwnPropertySymbols(value)) {\r\n res[a] = value[a];\r\n }\r\n return res;\r\n },\r\n hook(hook, path, ...args) {\r\n var _a;\r\n return ((_a = hook.object) !== null && _a !== void 0 ? _a : hook.base).call(hook, { node: this, fields: defaultFields, config: config !== null && config !== void 0 ? config : {}, filter, cases, getActiveFields, getChildModelPath }, path, ...args);\r\n }\r\n });\r\n};\r\nexports.ObjectNode = ObjectNode;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.Reference = void 0;\r\nconst Reference = (schemas, schema) => ({\r\n type(path) {\r\n return schemas.get(schema).type.bind(this)(path);\r\n },\r\n category(path) {\r\n return schemas.get(schema).category.bind(this)(path);\r\n },\r\n default() {\r\n return schemas.get(schema).default.bind(this)();\r\n },\r\n transform(path, value) {\r\n return schemas.get(schema).transform(path, value);\r\n },\r\n enabled(path) {\r\n return schemas.get(schema).enabled.bind(this)(path);\r\n },\r\n keep() {\r\n return schemas.get(schema).keep.bind(this)();\r\n },\r\n optional() {\r\n return schemas.get(schema).optional.bind(this)();\r\n },\r\n navigate(path, index) {\r\n return schemas.get(schema).navigate.bind(this)(path, index);\r\n },\r\n pathPush(path, key) {\r\n return schemas.get(schema).pathPush.bind(this)(path, key);\r\n },\r\n suggest(path, value) {\r\n return schemas.get(schema).suggest.bind(this)(path, value);\r\n },\r\n validate(path, value, errors, options) {\r\n return schemas.get(schema).validate.bind(this)(path, value, errors, options);\r\n },\r\n validationOption(path) {\r\n return schemas.get(schema).validationOption.bind(this)(path);\r\n },\r\n hook(hook, path, ...args) {\r\n return schemas.get(schema).hook.bind(this)(hook, path, ...args);\r\n },\r\n activeCase(path, fallback) {\r\n return schemas.get(schema).activeCase.bind(this)(path, fallback);\r\n },\r\n canUpdate(path, value) {\r\n return schemas.get(schema).canUpdate.bind(this)(path, value);\r\n },\r\n update(path, value) {\r\n return schemas.get(schema).update.bind(this)(path, value);\r\n }\r\n});\r\nexports.Reference = Reference;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.StringNode = void 0;\r\nconst Node_1 = require(\"./Node\");\r\nconst utils_1 = require(\"../utils\");\r\nconst DataModel_1 = require(\"../model/DataModel\");\r\nconst isEnum = (value) => {\r\n return !!(value === null || value === void 0 ? void 0 : value.enum);\r\n};\r\nconst isValidator = (value) => {\r\n return !!(value === null || value === void 0 ? void 0 : value.validator);\r\n};\r\n/**\r\n * Simple string node with one text field\r\n */\r\nconst StringNode = (collections, config) => {\r\n const getValues = () => {\r\n var _a, _b, _c, _d;\r\n if (isEnum(config)) {\r\n if (typeof config.enum === 'string') {\r\n return (_a = collections === null || collections === void 0 ? void 0 : collections.get(config.enum)) !== null && _a !== void 0 ? _a : [];\r\n }\r\n return config.enum;\r\n }\r\n if ((config === null || config === void 0 ? void 0 : config.validator) === 'resource') {\r\n if (typeof config.params.pool === 'string') {\r\n if (config.params.requireTag) {\r\n return (_b = collections === null || collections === void 0 ? void 0 : collections.get(`tag/${config.params.pool}`).map(e => `#${e}`)) !== null && _b !== void 0 ? _b : [];\r\n }\r\n const registry = config.params.pool.replace(/^\\$/, '');\r\n return [\r\n ...config.params.allowTag ? (_c = collections === null || collections === void 0 ? void 0 : collections.get(`tag/${registry}`).map(e => `#${e}`)) !== null && _c !== void 0 ? _c : [] : [],\r\n ...(_d = collections === null || collections === void 0 ? void 0 : collections.get(registry)) !== null && _d !== void 0 ? _d : [],\r\n ];\r\n }\r\n return config.params.pool;\r\n }\r\n return [];\r\n };\r\n return {\r\n ...Node_1.Base,\r\n type: () => 'string',\r\n default: () => '',\r\n validate(path, value, errors, options) {\r\n if (options.loose && typeof value !== 'string') {\r\n value = (options.wrapLists ? DataModel_1.DataModel.wrapLists(this.default()) : this.default()) || undefined;\r\n }\r\n if (typeof value !== 'string') {\r\n errors.add(path, 'error.expected_string');\r\n return value;\r\n }\r\n if (isValidator(config)) {\r\n if (config.validator === 'resource' && value.length > 0 && !value.includes(':')) {\r\n value = value.startsWith('#')\r\n ? '#minecraft:' + value.slice(1)\r\n : 'minecraft:' + value;\r\n }\r\n if (config.validator === 'resource' && typeof value == 'string') {\r\n let id = value;\r\n if (value.startsWith('#')) {\r\n if (typeof config.params.pool === 'string' && config.params.pool.startsWith('$tag/')) {\r\n errors.add(path, 'error.disallowed_tag_prefix');\r\n return value;\r\n }\r\n else if (!config.params.allowTag && !config.params.requireTag) {\r\n errors.add(path, 'error.disallowed_tag');\r\n return value;\r\n }\r\n id = id.slice(1);\r\n }\r\n else if (config.params.requireTag) {\r\n errors.add(path, 'error.expected_tag');\r\n return value;\r\n }\r\n if (!id.match(/^(?:[_\\-a-z0-9.]*:)?[_\\-a-z0-9/.]*$/g)) {\r\n errors.add(path, 'error.invalid_resource_location');\r\n return value;\r\n }\r\n }\r\n if (config.validator === 'resource' && ((typeof config.params.pool === 'string' && config.params.pool.startsWith('$')) ||\r\n ((config.params.allowTag || config.params.requireTag) && value.startsWith('#')) ||\r\n config.params.isDefinition ||\r\n config.params.allowUnknown)) {\r\n return value;\r\n }\r\n }\r\n if ((isEnum(config) && config.additional)) {\r\n return value;\r\n }\r\n const values = getValues();\r\n if (values.length > 0 && !values.includes(value)) {\r\n errors.add(path, 'error.invalid_enum_option', value);\r\n }\r\n return value;\r\n },\r\n suggest: () => getValues().map(utils_1.quoteString),\r\n validationOption() {\r\n return isValidator(config) ? config : undefined;\r\n },\r\n hook(hook, path, ...args) {\r\n var _a;\r\n return ((_a = hook.string) !== null && _a !== void 0 ? _a : hook.base).call(hook, { node: this, getValues, config }, path, ...args);\r\n }\r\n };\r\n};\r\nexports.StringNode = StringNode;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.CollectionRegistry = exports.SchemaRegistry = void 0;\r\n/**\r\n * Registry for schemas\r\n */\r\nclass SchemaRegistry {\r\n constructor() {\r\n this.registry = {};\r\n }\r\n register(id, node) {\r\n this.registry[id] = node;\r\n }\r\n get(id) {\r\n const node = this.registry[id];\r\n if (node === undefined) {\r\n console.error(`Tried to access schema \"${id}\", but that doesn't exist.`);\r\n }\r\n return node;\r\n }\r\n}\r\nexports.SchemaRegistry = SchemaRegistry;\r\n/**\r\n * Registry for collections\r\n */\r\nclass CollectionRegistry {\r\n constructor() {\r\n this.registry = {};\r\n }\r\n register(id, list) {\r\n this.registry[id] = list;\r\n }\r\n get(id) {\r\n const list = this.registry[id];\r\n if (list === undefined) {\r\n console.warn(`Tried to access collection \"${id}\", but that doesn't exist.`);\r\n }\r\n return list !== null && list !== void 0 ? list : [];\r\n }\r\n}\r\nexports.CollectionRegistry = CollectionRegistry;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n","\"use strict\";\r\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}));\r\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__exportStar(require(\"./model/DataModel\"), exports);\r\n__exportStar(require(\"./model/Path\"), exports);\r\n__exportStar(require(\"./model/Errors\"), exports);\r\n__exportStar(require(\"./nodes/Node\"), exports);\r\n__exportStar(require(\"./nodes/BooleanNode\"), exports);\r\n__exportStar(require(\"./nodes/ChoiceNode\"), exports);\r\n__exportStar(require(\"./nodes/ListNode\"), exports);\r\n__exportStar(require(\"./nodes/MapNode\"), exports);\r\n__exportStar(require(\"./nodes/NumberNode\"), exports);\r\n__exportStar(require(\"./nodes/ObjectNode\"), exports);\r\n__exportStar(require(\"./nodes/Reference\"), exports);\r\n__exportStar(require(\"./nodes/StringNode\"), exports);\r\n__exportStar(require(\"./nodes/SwitchNode\"), exports);\r\n__exportStar(require(\"./Hook\"), exports);\r\n__exportStar(require(\"./Registries\"), exports);\r\n__exportStar(require(\"./ValidationOption\"), exports);\r\n","'use strict';\n\n\nfunction isNothing(subject) {\n return (typeof subject === 'undefined') || (subject === null);\n}\n\n\nfunction isObject(subject) {\n return (typeof subject === 'object') && (subject !== null);\n}\n\n\nfunction toArray(sequence) {\n if (Array.isArray(sequence)) return sequence;\n else if (isNothing(sequence)) return [];\n\n return [ sequence ];\n}\n\n\nfunction extend(target, source) {\n var index, length, key, sourceKeys;\n\n if (source) {\n sourceKeys = Object.keys(source);\n\n for (index = 0, length = sourceKeys.length; index < length; index += 1) {\n key = sourceKeys[index];\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\n\nfunction repeat(string, count) {\n var result = '', cycle;\n\n for (cycle = 0; cycle < count; cycle += 1) {\n result += string;\n }\n\n return result;\n}\n\n\nfunction isNegativeZero(number) {\n return (number === 0) && (Number.NEGATIVE_INFINITY === 1 / number);\n}\n\n\nmodule.exports.isNothing = isNothing;\nmodule.exports.isObject = isObject;\nmodule.exports.toArray = toArray;\nmodule.exports.repeat = repeat;\nmodule.exports.isNegativeZero = isNegativeZero;\nmodule.exports.extend = extend;\n","// YAML error class. http://stackoverflow.com/questions/8458984\n//\n'use strict';\n\nfunction YAMLException(reason, mark) {\n // Super constructor\n Error.call(this);\n\n this.name = 'YAMLException';\n this.reason = reason;\n this.mark = mark;\n this.message = (this.reason || '(unknown reason)') + (this.mark ? ' ' + this.mark.toString() : '');\n\n // Include stack trace in error object\n if (Error.captureStackTrace) {\n // Chrome and NodeJS\n Error.captureStackTrace(this, this.constructor);\n } else {\n // FF, IE 10+ and Safari 6+. Fallback for others\n this.stack = (new Error()).stack || '';\n }\n}\n\n\n// Inherit from Error\nYAMLException.prototype = Object.create(Error.prototype);\nYAMLException.prototype.constructor = YAMLException;\n\n\nYAMLException.prototype.toString = function toString(compact) {\n var result = this.name + ': ';\n\n result += this.reason || '(unknown reason)';\n\n if (!compact && this.mark) {\n result += ' ' + this.mark.toString();\n }\n\n return result;\n};\n\n\nmodule.exports = YAMLException;\n","'use strict';\n\n\nvar common = require('./common');\n\n\nfunction Mark(name, buffer, position, line, column) {\n this.name = name;\n this.buffer = buffer;\n this.position = position;\n this.line = line;\n this.column = column;\n}\n\n\nMark.prototype.getSnippet = function getSnippet(indent, maxLength) {\n var head, start, tail, end, snippet;\n\n if (!this.buffer) return null;\n\n indent = indent || 4;\n maxLength = maxLength || 75;\n\n head = '';\n start = this.position;\n\n while (start > 0 && '\\x00\\r\\n\\x85\\u2028\\u2029'.indexOf(this.buffer.charAt(start - 1)) === -1) {\n start -= 1;\n if (this.position - start > (maxLength / 2 - 1)) {\n head = ' ... ';\n start += 5;\n break;\n }\n }\n\n tail = '';\n end = this.position;\n\n while (end < this.buffer.length && '\\x00\\r\\n\\x85\\u2028\\u2029'.indexOf(this.buffer.charAt(end)) === -1) {\n end += 1;\n if (end - this.position > (maxLength / 2 - 1)) {\n tail = ' ... ';\n end -= 5;\n break;\n }\n }\n\n snippet = this.buffer.slice(start, end);\n\n return common.repeat(' ', indent) + head + snippet + tail + '\\n' +\n common.repeat(' ', indent + this.position - start + head.length) + '^';\n};\n\n\nMark.prototype.toString = function toString(compact) {\n var snippet, where = '';\n\n if (this.name) {\n where += 'in \"' + this.name + '\" ';\n }\n\n where += 'at line ' + (this.line + 1) + ', column ' + (this.column + 1);\n\n if (!compact) {\n snippet = this.getSnippet();\n\n if (snippet) {\n where += ':\\n' + snippet;\n }\n }\n\n return where;\n};\n\n\nmodule.exports = Mark;\n","'use strict';\n\nvar YAMLException = require('./exception');\n\nvar TYPE_CONSTRUCTOR_OPTIONS = [\n 'kind',\n 'resolve',\n 'construct',\n 'instanceOf',\n 'predicate',\n 'represent',\n 'defaultStyle',\n 'styleAliases'\n];\n\nvar YAML_NODE_KINDS = [\n 'scalar',\n 'sequence',\n 'mapping'\n];\n\nfunction compileStyleAliases(map) {\n var result = {};\n\n if (map !== null) {\n Object.keys(map).forEach(function (style) {\n map[style].forEach(function (alias) {\n result[String(alias)] = style;\n });\n });\n }\n\n return result;\n}\n\nfunction Type(tag, options) {\n options = options || {};\n\n Object.keys(options).forEach(function (name) {\n if (TYPE_CONSTRUCTOR_OPTIONS.indexOf(name) === -1) {\n throw new YAMLException('Unknown option \"' + name + '\" is met in definition of \"' + tag + '\" YAML type.');\n }\n });\n\n // TODO: Add tag format check.\n this.tag = tag;\n this.kind = options['kind'] || null;\n this.resolve = options['resolve'] || function () { return true; };\n this.construct = options['construct'] || function (data) { return data; };\n this.instanceOf = options['instanceOf'] || null;\n this.predicate = options['predicate'] || null;\n this.represent = options['represent'] || null;\n this.defaultStyle = options['defaultStyle'] || null;\n this.styleAliases = compileStyleAliases(options['styleAliases'] || null);\n\n if (YAML_NODE_KINDS.indexOf(this.kind) === -1) {\n throw new YAMLException('Unknown kind \"' + this.kind + '\" is specified for \"' + tag + '\" YAML type.');\n }\n}\n\nmodule.exports = Type;\n","'use strict';\n\n/*eslint-disable max-len*/\n\nvar common = require('./common');\nvar YAMLException = require('./exception');\nvar Type = require('./type');\n\n\nfunction compileList(schema, name, result) {\n var exclude = [];\n\n schema.include.forEach(function (includedSchema) {\n result = compileList(includedSchema, name, result);\n });\n\n schema[name].forEach(function (currentType) {\n result.forEach(function (previousType, previousIndex) {\n if (previousType.tag === currentType.tag && previousType.kind === currentType.kind) {\n exclude.push(previousIndex);\n }\n });\n\n result.push(currentType);\n });\n\n return result.filter(function (type, index) {\n return exclude.indexOf(index) === -1;\n });\n}\n\n\nfunction compileMap(/* lists... */) {\n var result = {\n scalar: {},\n sequence: {},\n mapping: {},\n fallback: {}\n }, index, length;\n\n function collectType(type) {\n result[type.kind][type.tag] = result['fallback'][type.tag] = type;\n }\n\n for (index = 0, length = arguments.length; index < length; index += 1) {\n arguments[index].forEach(collectType);\n }\n return result;\n}\n\n\nfunction Schema(definition) {\n this.include = definition.include || [];\n this.implicit = definition.implicit || [];\n this.explicit = definition.explicit || [];\n\n this.implicit.forEach(function (type) {\n if (type.loadKind && type.loadKind !== 'scalar') {\n throw new YAMLException('There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.');\n }\n });\n\n this.compiledImplicit = compileList(this, 'implicit', []);\n this.compiledExplicit = compileList(this, 'explicit', []);\n this.compiledTypeMap = compileMap(this.compiledImplicit, this.compiledExplicit);\n}\n\n\nSchema.DEFAULT = null;\n\n\nSchema.create = function createSchema() {\n var schemas, types;\n\n switch (arguments.length) {\n case 1:\n schemas = Schema.DEFAULT;\n types = arguments[0];\n break;\n\n case 2:\n schemas = arguments[0];\n types = arguments[1];\n break;\n\n default:\n throw new YAMLException('Wrong number of arguments for Schema.create function');\n }\n\n schemas = common.toArray(schemas);\n types = common.toArray(types);\n\n if (!schemas.every(function (schema) { return schema instanceof Schema; })) {\n throw new YAMLException('Specified list of super schemas (or a single Schema object) contains a non-Schema object.');\n }\n\n if (!types.every(function (type) { return type instanceof Type; })) {\n throw new YAMLException('Specified list of YAML types (or a single Type object) contains a non-Type object.');\n }\n\n return new Schema({\n include: schemas,\n explicit: types\n });\n};\n\n\nmodule.exports = Schema;\n","'use strict';\n\nvar Type = require('../type');\n\nmodule.exports = new Type('tag:yaml.org,2002:str', {\n kind: 'scalar',\n construct: function (data) { return data !== null ? data : ''; }\n});\n","'use strict';\n\nvar Type = require('../type');\n\nmodule.exports = new Type('tag:yaml.org,2002:seq', {\n kind: 'sequence',\n construct: function (data) { return data !== null ? data : []; }\n});\n","'use strict';\n\nvar Type = require('../type');\n\nmodule.exports = new Type('tag:yaml.org,2002:map', {\n kind: 'mapping',\n construct: function (data) { return data !== null ? data : {}; }\n});\n","// Standard YAML's Failsafe schema.\n// http://www.yaml.org/spec/1.2/spec.html#id2802346\n\n\n'use strict';\n\n\nvar Schema = require('../schema');\n\n\nmodule.exports = new Schema({\n explicit: [\n require('../type/str'),\n require('../type/seq'),\n require('../type/map')\n ]\n});\n","'use strict';\n\nvar Type = require('../type');\n\nfunction resolveYamlNull(data) {\n if (data === null) return true;\n\n var max = data.length;\n\n return (max === 1 && data === '~') ||\n (max === 4 && (data === 'null' || data === 'Null' || data === 'NULL'));\n}\n\nfunction constructYamlNull() {\n return null;\n}\n\nfunction isNull(object) {\n return object === null;\n}\n\nmodule.exports = new Type('tag:yaml.org,2002:null', {\n kind: 'scalar',\n resolve: resolveYamlNull,\n construct: constructYamlNull,\n predicate: isNull,\n represent: {\n canonical: function () { return '~'; },\n lowercase: function () { return 'null'; },\n uppercase: function () { return 'NULL'; },\n camelcase: function () { return 'Null'; }\n },\n defaultStyle: 'lowercase'\n});\n","'use strict';\n\nvar Type = require('../type');\n\nfunction resolveYamlBoolean(data) {\n if (data === null) return false;\n\n var max = data.length;\n\n return (max === 4 && (data === 'true' || data === 'True' || data === 'TRUE')) ||\n (max === 5 && (data === 'false' || data === 'False' || data === 'FALSE'));\n}\n\nfunction constructYamlBoolean(data) {\n return data === 'true' ||\n data === 'True' ||\n data === 'TRUE';\n}\n\nfunction isBoolean(object) {\n return Object.prototype.toString.call(object) === '[object Boolean]';\n}\n\nmodule.exports = new Type('tag:yaml.org,2002:bool', {\n kind: 'scalar',\n resolve: resolveYamlBoolean,\n construct: constructYamlBoolean,\n predicate: isBoolean,\n represent: {\n lowercase: function (object) { return object ? 'true' : 'false'; },\n uppercase: function (object) { return object ? 'TRUE' : 'FALSE'; },\n camelcase: function (object) { return object ? 'True' : 'False'; }\n },\n defaultStyle: 'lowercase'\n});\n","'use strict';\n\nvar common = require('../common');\nvar Type = require('../type');\n\nfunction isHexCode(c) {\n return ((0x30/* 0 */ <= c) && (c <= 0x39/* 9 */)) ||\n ((0x41/* A */ <= c) && (c <= 0x46/* F */)) ||\n ((0x61/* a */ <= c) && (c <= 0x66/* f */));\n}\n\nfunction isOctCode(c) {\n return ((0x30/* 0 */ <= c) && (c <= 0x37/* 7 */));\n}\n\nfunction isDecCode(c) {\n return ((0x30/* 0 */ <= c) && (c <= 0x39/* 9 */));\n}\n\nfunction resolveYamlInteger(data) {\n if (data === null) return false;\n\n var max = data.length,\n index = 0,\n hasDigits = false,\n ch;\n\n if (!max) return false;\n\n ch = data[index];\n\n // sign\n if (ch === '-' || ch === '+') {\n ch = data[++index];\n }\n\n if (ch === '0') {\n // 0\n if (index + 1 === max) return true;\n ch = data[++index];\n\n // base 2, base 8, base 16\n\n if (ch === 'b') {\n // base 2\n index++;\n\n for (; index < max; index++) {\n ch = data[index];\n if (ch === '_') continue;\n if (ch !== '0' && ch !== '1') return false;\n hasDigits = true;\n }\n return hasDigits && ch !== '_';\n }\n\n\n if (ch === 'x') {\n // base 16\n index++;\n\n for (; index < max; index++) {\n ch = data[index];\n if (ch === '_') continue;\n if (!isHexCode(data.charCodeAt(index))) return false;\n hasDigits = true;\n }\n return hasDigits && ch !== '_';\n }\n\n // base 8\n for (; index < max; index++) {\n ch = data[index];\n if (ch === '_') continue;\n if (!isOctCode(data.charCodeAt(index))) return false;\n hasDigits = true;\n }\n return hasDigits && ch !== '_';\n }\n\n // base 10 (except 0) or base 60\n\n // value should not start with `_`;\n if (ch === '_') return false;\n\n for (; index < max; index++) {\n ch = data[index];\n if (ch === '_') continue;\n if (ch === ':') break;\n if (!isDecCode(data.charCodeAt(index))) {\n return false;\n }\n hasDigits = true;\n }\n\n // Should have digits and should not end with `_`\n if (!hasDigits || ch === '_') return false;\n\n // if !base60 - done;\n if (ch !== ':') return true;\n\n // base60 almost not used, no needs to optimize\n return /^(:[0-5]?[0-9])+$/.test(data.slice(index));\n}\n\nfunction constructYamlInteger(data) {\n var value = data, sign = 1, ch, base, digits = [];\n\n if (value.indexOf('_') !== -1) {\n value = value.replace(/_/g, '');\n }\n\n ch = value[0];\n\n if (ch === '-' || ch === '+') {\n if (ch === '-') sign = -1;\n value = value.slice(1);\n ch = value[0];\n }\n\n if (value === '0') return 0;\n\n if (ch === '0') {\n if (value[1] === 'b') return sign * parseInt(value.slice(2), 2);\n if (value[1] === 'x') return sign * parseInt(value, 16);\n return sign * parseInt(value, 8);\n }\n\n if (value.indexOf(':') !== -1) {\n value.split(':').forEach(function (v) {\n digits.unshift(parseInt(v, 10));\n });\n\n value = 0;\n base = 1;\n\n digits.forEach(function (d) {\n value += (d * base);\n base *= 60;\n });\n\n return sign * value;\n\n }\n\n return sign * parseInt(value, 10);\n}\n\nfunction isInteger(object) {\n return (Object.prototype.toString.call(object)) === '[object Number]' &&\n (object % 1 === 0 && !common.isNegativeZero(object));\n}\n\nmodule.exports = new Type('tag:yaml.org,2002:int', {\n kind: 'scalar',\n resolve: resolveYamlInteger,\n construct: constructYamlInteger,\n predicate: isInteger,\n represent: {\n binary: function (obj) { return obj >= 0 ? '0b' + obj.toString(2) : '-0b' + obj.toString(2).slice(1); },\n octal: function (obj) { return obj >= 0 ? '0' + obj.toString(8) : '-0' + obj.toString(8).slice(1); },\n decimal: function (obj) { return obj.toString(10); },\n /* eslint-disable max-len */\n hexadecimal: function (obj) { return obj >= 0 ? '0x' + obj.toString(16).toUpperCase() : '-0x' + obj.toString(16).toUpperCase().slice(1); }\n },\n defaultStyle: 'decimal',\n styleAliases: {\n binary: [ 2, 'bin' ],\n octal: [ 8, 'oct' ],\n decimal: [ 10, 'dec' ],\n hexadecimal: [ 16, 'hex' ]\n }\n});\n","'use strict';\n\nvar common = require('../common');\nvar Type = require('../type');\n\nvar YAML_FLOAT_PATTERN = new RegExp(\n // 2.5e4, 2.5 and integers\n '^(?:[-+]?(?:0|[1-9][0-9_]*)(?:\\\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?' +\n // .2e4, .2\n // special case, seems not from spec\n '|\\\\.[0-9_]+(?:[eE][-+]?[0-9]+)?' +\n // 20:59\n '|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\\\.[0-9_]*' +\n // .inf\n '|[-+]?\\\\.(?:inf|Inf|INF)' +\n // .nan\n '|\\\\.(?:nan|NaN|NAN))$');\n\nfunction resolveYamlFloat(data) {\n if (data === null) return false;\n\n if (!YAML_FLOAT_PATTERN.test(data) ||\n // Quick hack to not allow integers end with `_`\n // Probably should update regexp & check speed\n data[data.length - 1] === '_') {\n return false;\n }\n\n return true;\n}\n\nfunction constructYamlFloat(data) {\n var value, sign, base, digits;\n\n value = data.replace(/_/g, '').toLowerCase();\n sign = value[0] === '-' ? -1 : 1;\n digits = [];\n\n if ('+-'.indexOf(value[0]) >= 0) {\n value = value.slice(1);\n }\n\n if (value === '.inf') {\n return (sign === 1) ? Number.POSITIVE_INFINITY : Number.NEGATIVE_INFINITY;\n\n } else if (value === '.nan') {\n return NaN;\n\n } else if (value.indexOf(':') >= 0) {\n value.split(':').forEach(function (v) {\n digits.unshift(parseFloat(v, 10));\n });\n\n value = 0.0;\n base = 1;\n\n digits.forEach(function (d) {\n value += d * base;\n base *= 60;\n });\n\n return sign * value;\n\n }\n return sign * parseFloat(value, 10);\n}\n\n\nvar SCIENTIFIC_WITHOUT_DOT = /^[-+]?[0-9]+e/;\n\nfunction representYamlFloat(object, style) {\n var res;\n\n if (isNaN(object)) {\n switch (style) {\n case 'lowercase': return '.nan';\n case 'uppercase': return '.NAN';\n case 'camelcase': return '.NaN';\n }\n } else if (Number.POSITIVE_INFINITY === object) {\n switch (style) {\n case 'lowercase': return '.inf';\n case 'uppercase': return '.INF';\n case 'camelcase': return '.Inf';\n }\n } else if (Number.NEGATIVE_INFINITY === object) {\n switch (style) {\n case 'lowercase': return '-.inf';\n case 'uppercase': return '-.INF';\n case 'camelcase': return '-.Inf';\n }\n } else if (common.isNegativeZero(object)) {\n return '-0.0';\n }\n\n res = object.toString(10);\n\n // JS stringifier can build scientific format without dots: 5e-100,\n // while YAML requres dot: 5.e-100. Fix it with simple hack\n\n return SCIENTIFIC_WITHOUT_DOT.test(res) ? res.replace('e', '.e') : res;\n}\n\nfunction isFloat(object) {\n return (Object.prototype.toString.call(object) === '[object Number]') &&\n (object % 1 !== 0 || common.isNegativeZero(object));\n}\n\nmodule.exports = new Type('tag:yaml.org,2002:float', {\n kind: 'scalar',\n resolve: resolveYamlFloat,\n construct: constructYamlFloat,\n predicate: isFloat,\n represent: representYamlFloat,\n defaultStyle: 'lowercase'\n});\n","// Standard YAML's JSON schema.\n// http://www.yaml.org/spec/1.2/spec.html#id2803231\n//\n// NOTE: JS-YAML does not support schema-specific tag resolution restrictions.\n// So, this schema is not such strict as defined in the YAML specification.\n// It allows numbers in binary notaion, use `Null` and `NULL` as `null`, etc.\n\n\n'use strict';\n\n\nvar Schema = require('../schema');\n\n\nmodule.exports = new Schema({\n include: [\n require('./failsafe')\n ],\n implicit: [\n require('../type/null'),\n require('../type/bool'),\n require('../type/int'),\n require('../type/float')\n ]\n});\n","// Standard YAML's Core schema.\n// http://www.yaml.org/spec/1.2/spec.html#id2804923\n//\n// NOTE: JS-YAML does not support schema-specific tag resolution restrictions.\n// So, Core schema has no distinctions from JSON schema is JS-YAML.\n\n\n'use strict';\n\n\nvar Schema = require('../schema');\n\n\nmodule.exports = new Schema({\n include: [\n require('./json')\n ]\n});\n","'use strict';\n\nvar Type = require('../type');\n\nvar YAML_DATE_REGEXP = new RegExp(\n '^([0-9][0-9][0-9][0-9])' + // [1] year\n '-([0-9][0-9])' + // [2] month\n '-([0-9][0-9])$'); // [3] day\n\nvar YAML_TIMESTAMP_REGEXP = new RegExp(\n '^([0-9][0-9][0-9][0-9])' + // [1] year\n '-([0-9][0-9]?)' + // [2] month\n '-([0-9][0-9]?)' + // [3] day\n '(?:[Tt]|[ \\\\t]+)' + // ...\n '([0-9][0-9]?)' + // [4] hour\n ':([0-9][0-9])' + // [5] minute\n ':([0-9][0-9])' + // [6] second\n '(?:\\\\.([0-9]*))?' + // [7] fraction\n '(?:[ \\\\t]*(Z|([-+])([0-9][0-9]?)' + // [8] tz [9] tz_sign [10] tz_hour\n '(?::([0-9][0-9]))?))?$'); // [11] tz_minute\n\nfunction resolveYamlTimestamp(data) {\n if (data === null) return false;\n if (YAML_DATE_REGEXP.exec(data) !== null) return true;\n if (YAML_TIMESTAMP_REGEXP.exec(data) !== null) return true;\n return false;\n}\n\nfunction constructYamlTimestamp(data) {\n var match, year, month, day, hour, minute, second, fraction = 0,\n delta = null, tz_hour, tz_minute, date;\n\n match = YAML_DATE_REGEXP.exec(data);\n if (match === null) match = YAML_TIMESTAMP_REGEXP.exec(data);\n\n if (match === null) throw new Error('Date resolve error');\n\n // match: [1] year [2] month [3] day\n\n year = +(match[1]);\n month = +(match[2]) - 1; // JS month starts with 0\n day = +(match[3]);\n\n if (!match[4]) { // no hour\n return new Date(Date.UTC(year, month, day));\n }\n\n // match: [4] hour [5] minute [6] second [7] fraction\n\n hour = +(match[4]);\n minute = +(match[5]);\n second = +(match[6]);\n\n if (match[7]) {\n fraction = match[7].slice(0, 3);\n while (fraction.length < 3) { // milli-seconds\n fraction += '0';\n }\n fraction = +fraction;\n }\n\n // match: [8] tz [9] tz_sign [10] tz_hour [11] tz_minute\n\n if (match[9]) {\n tz_hour = +(match[10]);\n tz_minute = +(match[11] || 0);\n delta = (tz_hour * 60 + tz_minute) * 60000; // delta in mili-seconds\n if (match[9] === '-') delta = -delta;\n }\n\n date = new Date(Date.UTC(year, month, day, hour, minute, second, fraction));\n\n if (delta) date.setTime(date.getTime() - delta);\n\n return date;\n}\n\nfunction representYamlTimestamp(object /*, style*/) {\n return object.toISOString();\n}\n\nmodule.exports = new Type('tag:yaml.org,2002:timestamp', {\n kind: 'scalar',\n resolve: resolveYamlTimestamp,\n construct: constructYamlTimestamp,\n instanceOf: Date,\n represent: representYamlTimestamp\n});\n","'use strict';\n\nvar Type = require('../type');\n\nfunction resolveYamlMerge(data) {\n return data === '<<' || data === null;\n}\n\nmodule.exports = new Type('tag:yaml.org,2002:merge', {\n kind: 'scalar',\n resolve: resolveYamlMerge\n});\n","'use strict';\n\n/*eslint-disable no-bitwise*/\n\nvar NodeBuffer;\n\ntry {\n // A trick for browserified version, to not include `Buffer` shim\n var _require = require;\n NodeBuffer = _require('buffer').Buffer;\n} catch (__) {}\n\nvar Type = require('../type');\n\n\n// [ 64, 65, 66 ] -> [ padding, CR, LF ]\nvar BASE64_MAP = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\\n\\r';\n\n\nfunction resolveYamlBinary(data) {\n if (data === null) return false;\n\n var code, idx, bitlen = 0, max = data.length, map = BASE64_MAP;\n\n // Convert one by one.\n for (idx = 0; idx < max; idx++) {\n code = map.indexOf(data.charAt(idx));\n\n // Skip CR/LF\n if (code > 64) continue;\n\n // Fail on illegal characters\n if (code < 0) return false;\n\n bitlen += 6;\n }\n\n // If there are any bits left, source was corrupted\n return (bitlen % 8) === 0;\n}\n\nfunction constructYamlBinary(data) {\n var idx, tailbits,\n input = data.replace(/[\\r\\n=]/g, ''), // remove CR/LF & padding to simplify scan\n max = input.length,\n map = BASE64_MAP,\n bits = 0,\n result = [];\n\n // Collect by 6*4 bits (3 bytes)\n\n for (idx = 0; idx < max; idx++) {\n if ((idx % 4 === 0) && idx) {\n result.push((bits >> 16) & 0xFF);\n result.push((bits >> 8) & 0xFF);\n result.push(bits & 0xFF);\n }\n\n bits = (bits << 6) | map.indexOf(input.charAt(idx));\n }\n\n // Dump tail\n\n tailbits = (max % 4) * 6;\n\n if (tailbits === 0) {\n result.push((bits >> 16) & 0xFF);\n result.push((bits >> 8) & 0xFF);\n result.push(bits & 0xFF);\n } else if (tailbits === 18) {\n result.push((bits >> 10) & 0xFF);\n result.push((bits >> 2) & 0xFF);\n } else if (tailbits === 12) {\n result.push((bits >> 4) & 0xFF);\n }\n\n // Wrap into Buffer for NodeJS and leave Array for browser\n if (NodeBuffer) {\n // Support node 6.+ Buffer API when available\n return NodeBuffer.from ? NodeBuffer.from(result) : new NodeBuffer(result);\n }\n\n return result;\n}\n\nfunction representYamlBinary(object /*, style*/) {\n var result = '', bits = 0, idx, tail,\n max = object.length,\n map = BASE64_MAP;\n\n // Convert every three bytes to 4 ASCII characters.\n\n for (idx = 0; idx < max; idx++) {\n if ((idx % 3 === 0) && idx) {\n result += map[(bits >> 18) & 0x3F];\n result += map[(bits >> 12) & 0x3F];\n result += map[(bits >> 6) & 0x3F];\n result += map[bits & 0x3F];\n }\n\n bits = (bits << 8) + object[idx];\n }\n\n // Dump tail\n\n tail = max % 3;\n\n if (tail === 0) {\n result += map[(bits >> 18) & 0x3F];\n result += map[(bits >> 12) & 0x3F];\n result += map[(bits >> 6) & 0x3F];\n result += map[bits & 0x3F];\n } else if (tail === 2) {\n result += map[(bits >> 10) & 0x3F];\n result += map[(bits >> 4) & 0x3F];\n result += map[(bits << 2) & 0x3F];\n result += map[64];\n } else if (tail === 1) {\n result += map[(bits >> 2) & 0x3F];\n result += map[(bits << 4) & 0x3F];\n result += map[64];\n result += map[64];\n }\n\n return result;\n}\n\nfunction isBinary(object) {\n return NodeBuffer && NodeBuffer.isBuffer(object);\n}\n\nmodule.exports = new Type('tag:yaml.org,2002:binary', {\n kind: 'scalar',\n resolve: resolveYamlBinary,\n construct: constructYamlBinary,\n predicate: isBinary,\n represent: representYamlBinary\n});\n","'use strict';\n\nvar Type = require('../type');\n\nvar _hasOwnProperty = Object.prototype.hasOwnProperty;\nvar _toString = Object.prototype.toString;\n\nfunction resolveYamlOmap(data) {\n if (data === null) return true;\n\n var objectKeys = [], index, length, pair, pairKey, pairHasKey,\n object = data;\n\n for (index = 0, length = object.length; index < length; index += 1) {\n pair = object[index];\n pairHasKey = false;\n\n if (_toString.call(pair) !== '[object Object]') return false;\n\n for (pairKey in pair) {\n if (_hasOwnProperty.call(pair, pairKey)) {\n if (!pairHasKey) pairHasKey = true;\n else return false;\n }\n }\n\n if (!pairHasKey) return false;\n\n if (objectKeys.indexOf(pairKey) === -1) objectKeys.push(pairKey);\n else return false;\n }\n\n return true;\n}\n\nfunction constructYamlOmap(data) {\n return data !== null ? data : [];\n}\n\nmodule.exports = new Type('tag:yaml.org,2002:omap', {\n kind: 'sequence',\n resolve: resolveYamlOmap,\n construct: constructYamlOmap\n});\n","'use strict';\n\nvar Type = require('../type');\n\nvar _toString = Object.prototype.toString;\n\nfunction resolveYamlPairs(data) {\n if (data === null) return true;\n\n var index, length, pair, keys, result,\n object = data;\n\n result = new Array(object.length);\n\n for (index = 0, length = object.length; index < length; index += 1) {\n pair = object[index];\n\n if (_toString.call(pair) !== '[object Object]') return false;\n\n keys = Object.keys(pair);\n\n if (keys.length !== 1) return false;\n\n result[index] = [ keys[0], pair[keys[0]] ];\n }\n\n return true;\n}\n\nfunction constructYamlPairs(data) {\n if (data === null) return [];\n\n var index, length, pair, keys, result,\n object = data;\n\n result = new Array(object.length);\n\n for (index = 0, length = object.length; index < length; index += 1) {\n pair = object[index];\n\n keys = Object.keys(pair);\n\n result[index] = [ keys[0], pair[keys[0]] ];\n }\n\n return result;\n}\n\nmodule.exports = new Type('tag:yaml.org,2002:pairs', {\n kind: 'sequence',\n resolve: resolveYamlPairs,\n construct: constructYamlPairs\n});\n","'use strict';\n\nvar Type = require('../type');\n\nvar _hasOwnProperty = Object.prototype.hasOwnProperty;\n\nfunction resolveYamlSet(data) {\n if (data === null) return true;\n\n var key, object = data;\n\n for (key in object) {\n if (_hasOwnProperty.call(object, key)) {\n if (object[key] !== null) return false;\n }\n }\n\n return true;\n}\n\nfunction constructYamlSet(data) {\n return data !== null ? data : {};\n}\n\nmodule.exports = new Type('tag:yaml.org,2002:set', {\n kind: 'mapping',\n resolve: resolveYamlSet,\n construct: constructYamlSet\n});\n","// JS-YAML's default schema for `safeLoad` function.\n// It is not described in the YAML specification.\n//\n// This schema is based on standard YAML's Core schema and includes most of\n// extra types described at YAML tag repository. (http://yaml.org/type/)\n\n\n'use strict';\n\n\nvar Schema = require('../schema');\n\n\nmodule.exports = new Schema({\n include: [\n require('./core')\n ],\n implicit: [\n require('../type/timestamp'),\n require('../type/merge')\n ],\n explicit: [\n require('../type/binary'),\n require('../type/omap'),\n require('../type/pairs'),\n require('../type/set')\n ]\n});\n","'use strict';\n\nvar Type = require('../../type');\n\nfunction resolveJavascriptUndefined() {\n return true;\n}\n\nfunction constructJavascriptUndefined() {\n /*eslint-disable no-undefined*/\n return undefined;\n}\n\nfunction representJavascriptUndefined() {\n return '';\n}\n\nfunction isUndefined(object) {\n return typeof object === 'undefined';\n}\n\nmodule.exports = new Type('tag:yaml.org,2002:js/undefined', {\n kind: 'scalar',\n resolve: resolveJavascriptUndefined,\n construct: constructJavascriptUndefined,\n predicate: isUndefined,\n represent: representJavascriptUndefined\n});\n","'use strict';\n\nvar Type = require('../../type');\n\nfunction resolveJavascriptRegExp(data) {\n if (data === null) return false;\n if (data.length === 0) return false;\n\n var regexp = data,\n tail = /\\/([gim]*)$/.exec(data),\n modifiers = '';\n\n // if regexp starts with '/' it can have modifiers and must be properly closed\n // `/foo/gim` - modifiers tail can be maximum 3 chars\n if (regexp[0] === '/') {\n if (tail) modifiers = tail[1];\n\n if (modifiers.length > 3) return false;\n // if expression starts with /, is should be properly terminated\n if (regexp[regexp.length - modifiers.length - 1] !== '/') return false;\n }\n\n return true;\n}\n\nfunction constructJavascriptRegExp(data) {\n var regexp = data,\n tail = /\\/([gim]*)$/.exec(data),\n modifiers = '';\n\n // `/foo/gim` - tail can be maximum 4 chars\n if (regexp[0] === '/') {\n if (tail) modifiers = tail[1];\n regexp = regexp.slice(1, regexp.length - modifiers.length - 1);\n }\n\n return new RegExp(regexp, modifiers);\n}\n\nfunction representJavascriptRegExp(object /*, style*/) {\n var result = '/' + object.source + '/';\n\n if (object.global) result += 'g';\n if (object.multiline) result += 'm';\n if (object.ignoreCase) result += 'i';\n\n return result;\n}\n\nfunction isRegExp(object) {\n return Object.prototype.toString.call(object) === '[object RegExp]';\n}\n\nmodule.exports = new Type('tag:yaml.org,2002:js/regexp', {\n kind: 'scalar',\n resolve: resolveJavascriptRegExp,\n construct: constructJavascriptRegExp,\n predicate: isRegExp,\n represent: representJavascriptRegExp\n});\n","'use strict';\n\nvar esprima;\n\n// Browserified version does not have esprima\n//\n// 1. For node.js just require module as deps\n// 2. For browser try to require mudule via external AMD system.\n// If not found - try to fallback to window.esprima. If not\n// found too - then fail to parse.\n//\ntry {\n // workaround to exclude package from browserify list.\n var _require = require;\n esprima = _require('esprima');\n} catch (_) {\n /* eslint-disable no-redeclare */\n /* global window */\n if (typeof window !== 'undefined') esprima = window.esprima;\n}\n\nvar Type = require('../../type');\n\nfunction resolveJavascriptFunction(data) {\n if (data === null) return false;\n\n try {\n var source = '(' + data + ')',\n ast = esprima.parse(source, { range: true });\n\n if (ast.type !== 'Program' ||\n ast.body.length !== 1 ||\n ast.body[0].type !== 'ExpressionStatement' ||\n (ast.body[0].expression.type !== 'ArrowFunctionExpression' &&\n ast.body[0].expression.type !== 'FunctionExpression')) {\n return false;\n }\n\n return true;\n } catch (err) {\n return false;\n }\n}\n\nfunction constructJavascriptFunction(data) {\n /*jslint evil:true*/\n\n var source = '(' + data + ')',\n ast = esprima.parse(source, { range: true }),\n params = [],\n body;\n\n if (ast.type !== 'Program' ||\n ast.body.length !== 1 ||\n ast.body[0].type !== 'ExpressionStatement' ||\n (ast.body[0].expression.type !== 'ArrowFunctionExpression' &&\n ast.body[0].expression.type !== 'FunctionExpression')) {\n throw new Error('Failed to resolve function');\n }\n\n ast.body[0].expression.params.forEach(function (param) {\n params.push(param.name);\n });\n\n body = ast.body[0].expression.body.range;\n\n // Esprima's ranges include the first '{' and the last '}' characters on\n // function expressions. So cut them out.\n if (ast.body[0].expression.body.type === 'BlockStatement') {\n /*eslint-disable no-new-func*/\n return new Function(params, source.slice(body[0] + 1, body[1] - 1));\n }\n // ES6 arrow functions can omit the BlockStatement. In that case, just return\n // the body.\n /*eslint-disable no-new-func*/\n return new Function(params, 'return ' + source.slice(body[0], body[1]));\n}\n\nfunction representJavascriptFunction(object /*, style*/) {\n return object.toString();\n}\n\nfunction isFunction(object) {\n return Object.prototype.toString.call(object) === '[object Function]';\n}\n\nmodule.exports = new Type('tag:yaml.org,2002:js/function', {\n kind: 'scalar',\n resolve: resolveJavascriptFunction,\n construct: constructJavascriptFunction,\n predicate: isFunction,\n represent: representJavascriptFunction\n});\n","// JS-YAML's default schema for `load` function.\n// It is not described in the YAML specification.\n//\n// This schema is based on JS-YAML's default safe schema and includes\n// JavaScript-specific types: !!js/undefined, !!js/regexp and !!js/function.\n//\n// Also this schema is used as default base schema at `Schema.create` function.\n\n\n'use strict';\n\n\nvar Schema = require('../schema');\n\n\nmodule.exports = Schema.DEFAULT = new Schema({\n include: [\n require('./default_safe')\n ],\n explicit: [\n require('../type/js/undefined'),\n require('../type/js/regexp'),\n require('../type/js/function')\n ]\n});\n","'use strict';\n\n/*eslint-disable max-len,no-use-before-define*/\n\nvar common = require('./common');\nvar YAMLException = require('./exception');\nvar Mark = require('./mark');\nvar DEFAULT_SAFE_SCHEMA = require('./schema/default_safe');\nvar DEFAULT_FULL_SCHEMA = require('./schema/default_full');\n\n\nvar _hasOwnProperty = Object.prototype.hasOwnProperty;\n\n\nvar CONTEXT_FLOW_IN = 1;\nvar CONTEXT_FLOW_OUT = 2;\nvar CONTEXT_BLOCK_IN = 3;\nvar CONTEXT_BLOCK_OUT = 4;\n\n\nvar CHOMPING_CLIP = 1;\nvar CHOMPING_STRIP = 2;\nvar CHOMPING_KEEP = 3;\n\n\nvar PATTERN_NON_PRINTABLE = /[\\x00-\\x08\\x0B\\x0C\\x0E-\\x1F\\x7F-\\x84\\x86-\\x9F\\uFFFE\\uFFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF]/;\nvar PATTERN_NON_ASCII_LINE_BREAKS = /[\\x85\\u2028\\u2029]/;\nvar PATTERN_FLOW_INDICATORS = /[,\\[\\]\\{\\}]/;\nvar PATTERN_TAG_HANDLE = /^(?:!|!!|![a-z\\-]+!)$/i;\nvar PATTERN_TAG_URI = /^(?:!|[^,\\[\\]\\{\\}])(?:%[0-9a-f]{2}|[0-9a-z\\-#;\\/\\?:@&=\\+\\$,_\\.!~\\*'\\(\\)\\[\\]])*$/i;\n\n\nfunction _class(obj) { return Object.prototype.toString.call(obj); }\n\nfunction is_EOL(c) {\n return (c === 0x0A/* LF */) || (c === 0x0D/* CR */);\n}\n\nfunction is_WHITE_SPACE(c) {\n return (c === 0x09/* Tab */) || (c === 0x20/* Space */);\n}\n\nfunction is_WS_OR_EOL(c) {\n return (c === 0x09/* Tab */) ||\n (c === 0x20/* Space */) ||\n (c === 0x0A/* LF */) ||\n (c === 0x0D/* CR */);\n}\n\nfunction is_FLOW_INDICATOR(c) {\n return c === 0x2C/* , */ ||\n c === 0x5B/* [ */ ||\n c === 0x5D/* ] */ ||\n c === 0x7B/* { */ ||\n c === 0x7D/* } */;\n}\n\nfunction fromHexCode(c) {\n var lc;\n\n if ((0x30/* 0 */ <= c) && (c <= 0x39/* 9 */)) {\n return c - 0x30;\n }\n\n /*eslint-disable no-bitwise*/\n lc = c | 0x20;\n\n if ((0x61/* a */ <= lc) && (lc <= 0x66/* f */)) {\n return lc - 0x61 + 10;\n }\n\n return -1;\n}\n\nfunction escapedHexLen(c) {\n if (c === 0x78/* x */) { return 2; }\n if (c === 0x75/* u */) { return 4; }\n if (c === 0x55/* U */) { return 8; }\n return 0;\n}\n\nfunction fromDecimalCode(c) {\n if ((0x30/* 0 */ <= c) && (c <= 0x39/* 9 */)) {\n return c - 0x30;\n }\n\n return -1;\n}\n\nfunction simpleEscapeSequence(c) {\n /* eslint-disable indent */\n return (c === 0x30/* 0 */) ? '\\x00' :\n (c === 0x61/* a */) ? '\\x07' :\n (c === 0x62/* b */) ? '\\x08' :\n (c === 0x74/* t */) ? '\\x09' :\n (c === 0x09/* Tab */) ? '\\x09' :\n (c === 0x6E/* n */) ? '\\x0A' :\n (c === 0x76/* v */) ? '\\x0B' :\n (c === 0x66/* f */) ? '\\x0C' :\n (c === 0x72/* r */) ? '\\x0D' :\n (c === 0x65/* e */) ? '\\x1B' :\n (c === 0x20/* Space */) ? ' ' :\n (c === 0x22/* \" */) ? '\\x22' :\n (c === 0x2F/* / */) ? '/' :\n (c === 0x5C/* \\ */) ? '\\x5C' :\n (c === 0x4E/* N */) ? '\\x85' :\n (c === 0x5F/* _ */) ? '\\xA0' :\n (c === 0x4C/* L */) ? '\\u2028' :\n (c === 0x50/* P */) ? '\\u2029' : '';\n}\n\nfunction charFromCodepoint(c) {\n if (c <= 0xFFFF) {\n return String.fromCharCode(c);\n }\n // Encode UTF-16 surrogate pair\n // https://en.wikipedia.org/wiki/UTF-16#Code_points_U.2B010000_to_U.2B10FFFF\n return String.fromCharCode(\n ((c - 0x010000) >> 10) + 0xD800,\n ((c - 0x010000) & 0x03FF) + 0xDC00\n );\n}\n\nvar simpleEscapeCheck = new Array(256); // integer, for fast access\nvar simpleEscapeMap = new Array(256);\nfor (var i = 0; i < 256; i++) {\n simpleEscapeCheck[i] = simpleEscapeSequence(i) ? 1 : 0;\n simpleEscapeMap[i] = simpleEscapeSequence(i);\n}\n\n\nfunction State(input, options) {\n this.input = input;\n\n this.filename = options['filename'] || null;\n this.schema = options['schema'] || DEFAULT_FULL_SCHEMA;\n this.onWarning = options['onWarning'] || null;\n this.legacy = options['legacy'] || false;\n this.json = options['json'] || false;\n this.listener = options['listener'] || null;\n\n this.implicitTypes = this.schema.compiledImplicit;\n this.typeMap = this.schema.compiledTypeMap;\n\n this.length = input.length;\n this.position = 0;\n this.line = 0;\n this.lineStart = 0;\n this.lineIndent = 0;\n\n this.documents = [];\n\n /*\n this.version;\n this.checkLineBreaks;\n this.tagMap;\n this.anchorMap;\n this.tag;\n this.anchor;\n this.kind;\n this.result;*/\n\n}\n\n\nfunction generateError(state, message) {\n return new YAMLException(\n message,\n new Mark(state.filename, state.input, state.position, state.line, (state.position - state.lineStart)));\n}\n\nfunction throwError(state, message) {\n throw generateError(state, message);\n}\n\nfunction throwWarning(state, message) {\n if (state.onWarning) {\n state.onWarning.call(null, generateError(state, message));\n }\n}\n\n\nvar directiveHandlers = {\n\n YAML: function handleYamlDirective(state, name, args) {\n\n var match, major, minor;\n\n if (state.version !== null) {\n throwError(state, 'duplication of %YAML directive');\n }\n\n if (args.length !== 1) {\n throwError(state, 'YAML directive accepts exactly one argument');\n }\n\n match = /^([0-9]+)\\.([0-9]+)$/.exec(args[0]);\n\n if (match === null) {\n throwError(state, 'ill-formed argument of the YAML directive');\n }\n\n major = parseInt(match[1], 10);\n minor = parseInt(match[2], 10);\n\n if (major !== 1) {\n throwError(state, 'unacceptable YAML version of the document');\n }\n\n state.version = args[0];\n state.checkLineBreaks = (minor < 2);\n\n if (minor !== 1 && minor !== 2) {\n throwWarning(state, 'unsupported YAML version of the document');\n }\n },\n\n TAG: function handleTagDirective(state, name, args) {\n\n var handle, prefix;\n\n if (args.length !== 2) {\n throwError(state, 'TAG directive accepts exactly two arguments');\n }\n\n handle = args[0];\n prefix = args[1];\n\n if (!PATTERN_TAG_HANDLE.test(handle)) {\n throwError(state, 'ill-formed tag handle (first argument) of the TAG directive');\n }\n\n if (_hasOwnProperty.call(state.tagMap, handle)) {\n throwError(state, 'there is a previously declared suffix for \"' + handle + '\" tag handle');\n }\n\n if (!PATTERN_TAG_URI.test(prefix)) {\n throwError(state, 'ill-formed tag prefix (second argument) of the TAG directive');\n }\n\n state.tagMap[handle] = prefix;\n }\n};\n\n\nfunction captureSegment(state, start, end, checkJson) {\n var _position, _length, _character, _result;\n\n if (start < end) {\n _result = state.input.slice(start, end);\n\n if (checkJson) {\n for (_position = 0, _length = _result.length; _position < _length; _position += 1) {\n _character = _result.charCodeAt(_position);\n if (!(_character === 0x09 ||\n (0x20 <= _character && _character <= 0x10FFFF))) {\n throwError(state, 'expected valid JSON character');\n }\n }\n } else if (PATTERN_NON_PRINTABLE.test(_result)) {\n throwError(state, 'the stream contains non-printable characters');\n }\n\n state.result += _result;\n }\n}\n\nfunction mergeMappings(state, destination, source, overridableKeys) {\n var sourceKeys, key, index, quantity;\n\n if (!common.isObject(source)) {\n throwError(state, 'cannot merge mappings; the provided source object is unacceptable');\n }\n\n sourceKeys = Object.keys(source);\n\n for (index = 0, quantity = sourceKeys.length; index < quantity; index += 1) {\n key = sourceKeys[index];\n\n if (!_hasOwnProperty.call(destination, key)) {\n destination[key] = source[key];\n overridableKeys[key] = true;\n }\n }\n}\n\nfunction storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, valueNode, startLine, startPos) {\n var index, quantity;\n\n // The output is a plain object here, so keys can only be strings.\n // We need to convert keyNode to a string, but doing so can hang the process\n // (deeply nested arrays that explode exponentially using aliases).\n if (Array.isArray(keyNode)) {\n keyNode = Array.prototype.slice.call(keyNode);\n\n for (index = 0, quantity = keyNode.length; index < quantity; index += 1) {\n if (Array.isArray(keyNode[index])) {\n throwError(state, 'nested arrays are not supported inside keys');\n }\n\n if (typeof keyNode === 'object' && _class(keyNode[index]) === '[object Object]') {\n keyNode[index] = '[object Object]';\n }\n }\n }\n\n // Avoid code execution in load() via toString property\n // (still use its own toString for arrays, timestamps,\n // and whatever user schema extensions happen to have @@toStringTag)\n if (typeof keyNode === 'object' && _class(keyNode) === '[object Object]') {\n keyNode = '[object Object]';\n }\n\n\n keyNode = String(keyNode);\n\n if (_result === null) {\n _result = {};\n }\n\n if (keyTag === 'tag:yaml.org,2002:merge') {\n if (Array.isArray(valueNode)) {\n for (index = 0, quantity = valueNode.length; index < quantity; index += 1) {\n mergeMappings(state, _result, valueNode[index], overridableKeys);\n }\n } else {\n mergeMappings(state, _result, valueNode, overridableKeys);\n }\n } else {\n if (!state.json &&\n !_hasOwnProperty.call(overridableKeys, keyNode) &&\n _hasOwnProperty.call(_result, keyNode)) {\n state.line = startLine || state.line;\n state.position = startPos || state.position;\n throwError(state, 'duplicated mapping key');\n }\n _result[keyNode] = valueNode;\n delete overridableKeys[keyNode];\n }\n\n return _result;\n}\n\nfunction readLineBreak(state) {\n var ch;\n\n ch = state.input.charCodeAt(state.position);\n\n if (ch === 0x0A/* LF */) {\n state.position++;\n } else if (ch === 0x0D/* CR */) {\n state.position++;\n if (state.input.charCodeAt(state.position) === 0x0A/* LF */) {\n state.position++;\n }\n } else {\n throwError(state, 'a line break is expected');\n }\n\n state.line += 1;\n state.lineStart = state.position;\n}\n\nfunction skipSeparationSpace(state, allowComments, checkIndent) {\n var lineBreaks = 0,\n ch = state.input.charCodeAt(state.position);\n\n while (ch !== 0) {\n while (is_WHITE_SPACE(ch)) {\n ch = state.input.charCodeAt(++state.position);\n }\n\n if (allowComments && ch === 0x23/* # */) {\n do {\n ch = state.input.charCodeAt(++state.position);\n } while (ch !== 0x0A/* LF */ && ch !== 0x0D/* CR */ && ch !== 0);\n }\n\n if (is_EOL(ch)) {\n readLineBreak(state);\n\n ch = state.input.charCodeAt(state.position);\n lineBreaks++;\n state.lineIndent = 0;\n\n while (ch === 0x20/* Space */) {\n state.lineIndent++;\n ch = state.input.charCodeAt(++state.position);\n }\n } else {\n break;\n }\n }\n\n if (checkIndent !== -1 && lineBreaks !== 0 && state.lineIndent < checkIndent) {\n throwWarning(state, 'deficient indentation');\n }\n\n return lineBreaks;\n}\n\nfunction testDocumentSeparator(state) {\n var _position = state.position,\n ch;\n\n ch = state.input.charCodeAt(_position);\n\n // Condition state.position === state.lineStart is tested\n // in parent on each call, for efficiency. No needs to test here again.\n if ((ch === 0x2D/* - */ || ch === 0x2E/* . */) &&\n ch === state.input.charCodeAt(_position + 1) &&\n ch === state.input.charCodeAt(_position + 2)) {\n\n _position += 3;\n\n ch = state.input.charCodeAt(_position);\n\n if (ch === 0 || is_WS_OR_EOL(ch)) {\n return true;\n }\n }\n\n return false;\n}\n\nfunction writeFoldedLines(state, count) {\n if (count === 1) {\n state.result += ' ';\n } else if (count > 1) {\n state.result += common.repeat('\\n', count - 1);\n }\n}\n\n\nfunction readPlainScalar(state, nodeIndent, withinFlowCollection) {\n var preceding,\n following,\n captureStart,\n captureEnd,\n hasPendingContent,\n _line,\n _lineStart,\n _lineIndent,\n _kind = state.kind,\n _result = state.result,\n ch;\n\n ch = state.input.charCodeAt(state.position);\n\n if (is_WS_OR_EOL(ch) ||\n is_FLOW_INDICATOR(ch) ||\n ch === 0x23/* # */ ||\n ch === 0x26/* & */ ||\n ch === 0x2A/* * */ ||\n ch === 0x21/* ! */ ||\n ch === 0x7C/* | */ ||\n ch === 0x3E/* > */ ||\n ch === 0x27/* ' */ ||\n ch === 0x22/* \" */ ||\n ch === 0x25/* % */ ||\n ch === 0x40/* @ */ ||\n ch === 0x60/* ` */) {\n return false;\n }\n\n if (ch === 0x3F/* ? */ || ch === 0x2D/* - */) {\n following = state.input.charCodeAt(state.position + 1);\n\n if (is_WS_OR_EOL(following) ||\n withinFlowCollection && is_FLOW_INDICATOR(following)) {\n return false;\n }\n }\n\n state.kind = 'scalar';\n state.result = '';\n captureStart = captureEnd = state.position;\n hasPendingContent = false;\n\n while (ch !== 0) {\n if (ch === 0x3A/* : */) {\n following = state.input.charCodeAt(state.position + 1);\n\n if (is_WS_OR_EOL(following) ||\n withinFlowCollection && is_FLOW_INDICATOR(following)) {\n break;\n }\n\n } else if (ch === 0x23/* # */) {\n preceding = state.input.charCodeAt(state.position - 1);\n\n if (is_WS_OR_EOL(preceding)) {\n break;\n }\n\n } else if ((state.position === state.lineStart && testDocumentSeparator(state)) ||\n withinFlowCollection && is_FLOW_INDICATOR(ch)) {\n break;\n\n } else if (is_EOL(ch)) {\n _line = state.line;\n _lineStart = state.lineStart;\n _lineIndent = state.lineIndent;\n skipSeparationSpace(state, false, -1);\n\n if (state.lineIndent >= nodeIndent) {\n hasPendingContent = true;\n ch = state.input.charCodeAt(state.position);\n continue;\n } else {\n state.position = captureEnd;\n state.line = _line;\n state.lineStart = _lineStart;\n state.lineIndent = _lineIndent;\n break;\n }\n }\n\n if (hasPendingContent) {\n captureSegment(state, captureStart, captureEnd, false);\n writeFoldedLines(state, state.line - _line);\n captureStart = captureEnd = state.position;\n hasPendingContent = false;\n }\n\n if (!is_WHITE_SPACE(ch)) {\n captureEnd = state.position + 1;\n }\n\n ch = state.input.charCodeAt(++state.position);\n }\n\n captureSegment(state, captureStart, captureEnd, false);\n\n if (state.result) {\n return true;\n }\n\n state.kind = _kind;\n state.result = _result;\n return false;\n}\n\nfunction readSingleQuotedScalar(state, nodeIndent) {\n var ch,\n captureStart, captureEnd;\n\n ch = state.input.charCodeAt(state.position);\n\n if (ch !== 0x27/* ' */) {\n return false;\n }\n\n state.kind = 'scalar';\n state.result = '';\n state.position++;\n captureStart = captureEnd = state.position;\n\n while ((ch = state.input.charCodeAt(state.position)) !== 0) {\n if (ch === 0x27/* ' */) {\n captureSegment(state, captureStart, state.position, true);\n ch = state.input.charCodeAt(++state.position);\n\n if (ch === 0x27/* ' */) {\n captureStart = state.position;\n state.position++;\n captureEnd = state.position;\n } else {\n return true;\n }\n\n } else if (is_EOL(ch)) {\n captureSegment(state, captureStart, captureEnd, true);\n writeFoldedLines(state, skipSeparationSpace(state, false, nodeIndent));\n captureStart = captureEnd = state.position;\n\n } else if (state.position === state.lineStart && testDocumentSeparator(state)) {\n throwError(state, 'unexpected end of the document within a single quoted scalar');\n\n } else {\n state.position++;\n captureEnd = state.position;\n }\n }\n\n throwError(state, 'unexpected end of the stream within a single quoted scalar');\n}\n\nfunction readDoubleQuotedScalar(state, nodeIndent) {\n var captureStart,\n captureEnd,\n hexLength,\n hexResult,\n tmp,\n ch;\n\n ch = state.input.charCodeAt(state.position);\n\n if (ch !== 0x22/* \" */) {\n return false;\n }\n\n state.kind = 'scalar';\n state.result = '';\n state.position++;\n captureStart = captureEnd = state.position;\n\n while ((ch = state.input.charCodeAt(state.position)) !== 0) {\n if (ch === 0x22/* \" */) {\n captureSegment(state, captureStart, state.position, true);\n state.position++;\n return true;\n\n } else if (ch === 0x5C/* \\ */) {\n captureSegment(state, captureStart, state.position, true);\n ch = state.input.charCodeAt(++state.position);\n\n if (is_EOL(ch)) {\n skipSeparationSpace(state, false, nodeIndent);\n\n // TODO: rework to inline fn with no type cast?\n } else if (ch < 256 && simpleEscapeCheck[ch]) {\n state.result += simpleEscapeMap[ch];\n state.position++;\n\n } else if ((tmp = escapedHexLen(ch)) > 0) {\n hexLength = tmp;\n hexResult = 0;\n\n for (; hexLength > 0; hexLength--) {\n ch = state.input.charCodeAt(++state.position);\n\n if ((tmp = fromHexCode(ch)) >= 0) {\n hexResult = (hexResult << 4) + tmp;\n\n } else {\n throwError(state, 'expected hexadecimal character');\n }\n }\n\n state.result += charFromCodepoint(hexResult);\n\n state.position++;\n\n } else {\n throwError(state, 'unknown escape sequence');\n }\n\n captureStart = captureEnd = state.position;\n\n } else if (is_EOL(ch)) {\n captureSegment(state, captureStart, captureEnd, true);\n writeFoldedLines(state, skipSeparationSpace(state, false, nodeIndent));\n captureStart = captureEnd = state.position;\n\n } else if (state.position === state.lineStart && testDocumentSeparator(state)) {\n throwError(state, 'unexpected end of the document within a double quoted scalar');\n\n } else {\n state.position++;\n captureEnd = state.position;\n }\n }\n\n throwError(state, 'unexpected end of the stream within a double quoted scalar');\n}\n\nfunction readFlowCollection(state, nodeIndent) {\n var readNext = true,\n _line,\n _tag = state.tag,\n _result,\n _anchor = state.anchor,\n following,\n terminator,\n isPair,\n isExplicitPair,\n isMapping,\n overridableKeys = {},\n keyNode,\n keyTag,\n valueNode,\n ch;\n\n ch = state.input.charCodeAt(state.position);\n\n if (ch === 0x5B/* [ */) {\n terminator = 0x5D;/* ] */\n isMapping = false;\n _result = [];\n } else if (ch === 0x7B/* { */) {\n terminator = 0x7D;/* } */\n isMapping = true;\n _result = {};\n } else {\n return false;\n }\n\n if (state.anchor !== null) {\n state.anchorMap[state.anchor] = _result;\n }\n\n ch = state.input.charCodeAt(++state.position);\n\n while (ch !== 0) {\n skipSeparationSpace(state, true, nodeIndent);\n\n ch = state.input.charCodeAt(state.position);\n\n if (ch === terminator) {\n state.position++;\n state.tag = _tag;\n state.anchor = _anchor;\n state.kind = isMapping ? 'mapping' : 'sequence';\n state.result = _result;\n return true;\n } else if (!readNext) {\n throwError(state, 'missed comma between flow collection entries');\n }\n\n keyTag = keyNode = valueNode = null;\n isPair = isExplicitPair = false;\n\n if (ch === 0x3F/* ? */) {\n following = state.input.charCodeAt(state.position + 1);\n\n if (is_WS_OR_EOL(following)) {\n isPair = isExplicitPair = true;\n state.position++;\n skipSeparationSpace(state, true, nodeIndent);\n }\n }\n\n _line = state.line;\n composeNode(state, nodeIndent, CONTEXT_FLOW_IN, false, true);\n keyTag = state.tag;\n keyNode = state.result;\n skipSeparationSpace(state, true, nodeIndent);\n\n ch = state.input.charCodeAt(state.position);\n\n if ((isExplicitPair || state.line === _line) && ch === 0x3A/* : */) {\n isPair = true;\n ch = state.input.charCodeAt(++state.position);\n skipSeparationSpace(state, true, nodeIndent);\n composeNode(state, nodeIndent, CONTEXT_FLOW_IN, false, true);\n valueNode = state.result;\n }\n\n if (isMapping) {\n storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, valueNode);\n } else if (isPair) {\n _result.push(storeMappingPair(state, null, overridableKeys, keyTag, keyNode, valueNode));\n } else {\n _result.push(keyNode);\n }\n\n skipSeparationSpace(state, true, nodeIndent);\n\n ch = state.input.charCodeAt(state.position);\n\n if (ch === 0x2C/* , */) {\n readNext = true;\n ch = state.input.charCodeAt(++state.position);\n } else {\n readNext = false;\n }\n }\n\n throwError(state, 'unexpected end of the stream within a flow collection');\n}\n\nfunction readBlockScalar(state, nodeIndent) {\n var captureStart,\n folding,\n chomping = CHOMPING_CLIP,\n didReadContent = false,\n detectedIndent = false,\n textIndent = nodeIndent,\n emptyLines = 0,\n atMoreIndented = false,\n tmp,\n ch;\n\n ch = state.input.charCodeAt(state.position);\n\n if (ch === 0x7C/* | */) {\n folding = false;\n } else if (ch === 0x3E/* > */) {\n folding = true;\n } else {\n return false;\n }\n\n state.kind = 'scalar';\n state.result = '';\n\n while (ch !== 0) {\n ch = state.input.charCodeAt(++state.position);\n\n if (ch === 0x2B/* + */ || ch === 0x2D/* - */) {\n if (CHOMPING_CLIP === chomping) {\n chomping = (ch === 0x2B/* + */) ? CHOMPING_KEEP : CHOMPING_STRIP;\n } else {\n throwError(state, 'repeat of a chomping mode identifier');\n }\n\n } else if ((tmp = fromDecimalCode(ch)) >= 0) {\n if (tmp === 0) {\n throwError(state, 'bad explicit indentation width of a block scalar; it cannot be less than one');\n } else if (!detectedIndent) {\n textIndent = nodeIndent + tmp - 1;\n detectedIndent = true;\n } else {\n throwError(state, 'repeat of an indentation width identifier');\n }\n\n } else {\n break;\n }\n }\n\n if (is_WHITE_SPACE(ch)) {\n do { ch = state.input.charCodeAt(++state.position); }\n while (is_WHITE_SPACE(ch));\n\n if (ch === 0x23/* # */) {\n do { ch = state.input.charCodeAt(++state.position); }\n while (!is_EOL(ch) && (ch !== 0));\n }\n }\n\n while (ch !== 0) {\n readLineBreak(state);\n state.lineIndent = 0;\n\n ch = state.input.charCodeAt(state.position);\n\n while ((!detectedIndent || state.lineIndent < textIndent) &&\n (ch === 0x20/* Space */)) {\n state.lineIndent++;\n ch = state.input.charCodeAt(++state.position);\n }\n\n if (!detectedIndent && state.lineIndent > textIndent) {\n textIndent = state.lineIndent;\n }\n\n if (is_EOL(ch)) {\n emptyLines++;\n continue;\n }\n\n // End of the scalar.\n if (state.lineIndent < textIndent) {\n\n // Perform the chomping.\n if (chomping === CHOMPING_KEEP) {\n state.result += common.repeat('\\n', didReadContent ? 1 + emptyLines : emptyLines);\n } else if (chomping === CHOMPING_CLIP) {\n if (didReadContent) { // i.e. only if the scalar is not empty.\n state.result += '\\n';\n }\n }\n\n // Break this `while` cycle and go to the funciton's epilogue.\n break;\n }\n\n // Folded style: use fancy rules to handle line breaks.\n if (folding) {\n\n // Lines starting with white space characters (more-indented lines) are not folded.\n if (is_WHITE_SPACE(ch)) {\n atMoreIndented = true;\n // except for the first content line (cf. Example 8.1)\n state.result += common.repeat('\\n', didReadContent ? 1 + emptyLines : emptyLines);\n\n // End of more-indented block.\n } else if (atMoreIndented) {\n atMoreIndented = false;\n state.result += common.repeat('\\n', emptyLines + 1);\n\n // Just one line break - perceive as the same line.\n } else if (emptyLines === 0) {\n if (didReadContent) { // i.e. only if we have already read some scalar content.\n state.result += ' ';\n }\n\n // Several line breaks - perceive as different lines.\n } else {\n state.result += common.repeat('\\n', emptyLines);\n }\n\n // Literal style: just add exact number of line breaks between content lines.\n } else {\n // Keep all line breaks except the header line break.\n state.result += common.repeat('\\n', didReadContent ? 1 + emptyLines : emptyLines);\n }\n\n didReadContent = true;\n detectedIndent = true;\n emptyLines = 0;\n captureStart = state.position;\n\n while (!is_EOL(ch) && (ch !== 0)) {\n ch = state.input.charCodeAt(++state.position);\n }\n\n captureSegment(state, captureStart, state.position, false);\n }\n\n return true;\n}\n\nfunction readBlockSequence(state, nodeIndent) {\n var _line,\n _tag = state.tag,\n _anchor = state.anchor,\n _result = [],\n following,\n detected = false,\n ch;\n\n if (state.anchor !== null) {\n state.anchorMap[state.anchor] = _result;\n }\n\n ch = state.input.charCodeAt(state.position);\n\n while (ch !== 0) {\n\n if (ch !== 0x2D/* - */) {\n break;\n }\n\n following = state.input.charCodeAt(state.position + 1);\n\n if (!is_WS_OR_EOL(following)) {\n break;\n }\n\n detected = true;\n state.position++;\n\n if (skipSeparationSpace(state, true, -1)) {\n if (state.lineIndent <= nodeIndent) {\n _result.push(null);\n ch = state.input.charCodeAt(state.position);\n continue;\n }\n }\n\n _line = state.line;\n composeNode(state, nodeIndent, CONTEXT_BLOCK_IN, false, true);\n _result.push(state.result);\n skipSeparationSpace(state, true, -1);\n\n ch = state.input.charCodeAt(state.position);\n\n if ((state.line === _line || state.lineIndent > nodeIndent) && (ch !== 0)) {\n throwError(state, 'bad indentation of a sequence entry');\n } else if (state.lineIndent < nodeIndent) {\n break;\n }\n }\n\n if (detected) {\n state.tag = _tag;\n state.anchor = _anchor;\n state.kind = 'sequence';\n state.result = _result;\n return true;\n }\n return false;\n}\n\nfunction readBlockMapping(state, nodeIndent, flowIndent) {\n var following,\n allowCompact,\n _line,\n _pos,\n _tag = state.tag,\n _anchor = state.anchor,\n _result = {},\n overridableKeys = {},\n keyTag = null,\n keyNode = null,\n valueNode = null,\n atExplicitKey = false,\n detected = false,\n ch;\n\n if (state.anchor !== null) {\n state.anchorMap[state.anchor] = _result;\n }\n\n ch = state.input.charCodeAt(state.position);\n\n while (ch !== 0) {\n following = state.input.charCodeAt(state.position + 1);\n _line = state.line; // Save the current line.\n _pos = state.position;\n\n //\n // Explicit notation case. There are two separate blocks:\n // first for the key (denoted by \"?\") and second for the value (denoted by \":\")\n //\n if ((ch === 0x3F/* ? */ || ch === 0x3A/* : */) && is_WS_OR_EOL(following)) {\n\n if (ch === 0x3F/* ? */) {\n if (atExplicitKey) {\n storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, null);\n keyTag = keyNode = valueNode = null;\n }\n\n detected = true;\n atExplicitKey = true;\n allowCompact = true;\n\n } else if (atExplicitKey) {\n // i.e. 0x3A/* : */ === character after the explicit key.\n atExplicitKey = false;\n allowCompact = true;\n\n } else {\n throwError(state, 'incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line');\n }\n\n state.position += 1;\n ch = following;\n\n //\n // Implicit notation case. Flow-style node as the key first, then \":\", and the value.\n //\n } else if (composeNode(state, flowIndent, CONTEXT_FLOW_OUT, false, true)) {\n\n if (state.line === _line) {\n ch = state.input.charCodeAt(state.position);\n\n while (is_WHITE_SPACE(ch)) {\n ch = state.input.charCodeAt(++state.position);\n }\n\n if (ch === 0x3A/* : */) {\n ch = state.input.charCodeAt(++state.position);\n\n if (!is_WS_OR_EOL(ch)) {\n throwError(state, 'a whitespace character is expected after the key-value separator within a block mapping');\n }\n\n if (atExplicitKey) {\n storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, null);\n keyTag = keyNode = valueNode = null;\n }\n\n detected = true;\n atExplicitKey = false;\n allowCompact = false;\n keyTag = state.tag;\n keyNode = state.result;\n\n } else if (detected) {\n throwError(state, 'can not read an implicit mapping pair; a colon is missed');\n\n } else {\n state.tag = _tag;\n state.anchor = _anchor;\n return true; // Keep the result of `composeNode`.\n }\n\n } else if (detected) {\n throwError(state, 'can not read a block mapping entry; a multiline key may not be an implicit key');\n\n } else {\n state.tag = _tag;\n state.anchor = _anchor;\n return true; // Keep the result of `composeNode`.\n }\n\n } else {\n break; // Reading is done. Go to the epilogue.\n }\n\n //\n // Common reading code for both explicit and implicit notations.\n //\n if (state.line === _line || state.lineIndent > nodeIndent) {\n if (composeNode(state, nodeIndent, CONTEXT_BLOCK_OUT, true, allowCompact)) {\n if (atExplicitKey) {\n keyNode = state.result;\n } else {\n valueNode = state.result;\n }\n }\n\n if (!atExplicitKey) {\n storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, valueNode, _line, _pos);\n keyTag = keyNode = valueNode = null;\n }\n\n skipSeparationSpace(state, true, -1);\n ch = state.input.charCodeAt(state.position);\n }\n\n if (state.lineIndent > nodeIndent && (ch !== 0)) {\n throwError(state, 'bad indentation of a mapping entry');\n } else if (state.lineIndent < nodeIndent) {\n break;\n }\n }\n\n //\n // Epilogue.\n //\n\n // Special case: last mapping's node contains only the key in explicit notation.\n if (atExplicitKey) {\n storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, null);\n }\n\n // Expose the resulting mapping.\n if (detected) {\n state.tag = _tag;\n state.anchor = _anchor;\n state.kind = 'mapping';\n state.result = _result;\n }\n\n return detected;\n}\n\nfunction readTagProperty(state) {\n var _position,\n isVerbatim = false,\n isNamed = false,\n tagHandle,\n tagName,\n ch;\n\n ch = state.input.charCodeAt(state.position);\n\n if (ch !== 0x21/* ! */) return false;\n\n if (state.tag !== null) {\n throwError(state, 'duplication of a tag property');\n }\n\n ch = state.input.charCodeAt(++state.position);\n\n if (ch === 0x3C/* < */) {\n isVerbatim = true;\n ch = state.input.charCodeAt(++state.position);\n\n } else if (ch === 0x21/* ! */) {\n isNamed = true;\n tagHandle = '!!';\n ch = state.input.charCodeAt(++state.position);\n\n } else {\n tagHandle = '!';\n }\n\n _position = state.position;\n\n if (isVerbatim) {\n do { ch = state.input.charCodeAt(++state.position); }\n while (ch !== 0 && ch !== 0x3E/* > */);\n\n if (state.position < state.length) {\n tagName = state.input.slice(_position, state.position);\n ch = state.input.charCodeAt(++state.position);\n } else {\n throwError(state, 'unexpected end of the stream within a verbatim tag');\n }\n } else {\n while (ch !== 0 && !is_WS_OR_EOL(ch)) {\n\n if (ch === 0x21/* ! */) {\n if (!isNamed) {\n tagHandle = state.input.slice(_position - 1, state.position + 1);\n\n if (!PATTERN_TAG_HANDLE.test(tagHandle)) {\n throwError(state, 'named tag handle cannot contain such characters');\n }\n\n isNamed = true;\n _position = state.position + 1;\n } else {\n throwError(state, 'tag suffix cannot contain exclamation marks');\n }\n }\n\n ch = state.input.charCodeAt(++state.position);\n }\n\n tagName = state.input.slice(_position, state.position);\n\n if (PATTERN_FLOW_INDICATORS.test(tagName)) {\n throwError(state, 'tag suffix cannot contain flow indicator characters');\n }\n }\n\n if (tagName && !PATTERN_TAG_URI.test(tagName)) {\n throwError(state, 'tag name cannot contain such characters: ' + tagName);\n }\n\n if (isVerbatim) {\n state.tag = tagName;\n\n } else if (_hasOwnProperty.call(state.tagMap, tagHandle)) {\n state.tag = state.tagMap[tagHandle] + tagName;\n\n } else if (tagHandle === '!') {\n state.tag = '!' + tagName;\n\n } else if (tagHandle === '!!') {\n state.tag = 'tag:yaml.org,2002:' + tagName;\n\n } else {\n throwError(state, 'undeclared tag handle \"' + tagHandle + '\"');\n }\n\n return true;\n}\n\nfunction readAnchorProperty(state) {\n var _position,\n ch;\n\n ch = state.input.charCodeAt(state.position);\n\n if (ch !== 0x26/* & */) return false;\n\n if (state.anchor !== null) {\n throwError(state, 'duplication of an anchor property');\n }\n\n ch = state.input.charCodeAt(++state.position);\n _position = state.position;\n\n while (ch !== 0 && !is_WS_OR_EOL(ch) && !is_FLOW_INDICATOR(ch)) {\n ch = state.input.charCodeAt(++state.position);\n }\n\n if (state.position === _position) {\n throwError(state, 'name of an anchor node must contain at least one character');\n }\n\n state.anchor = state.input.slice(_position, state.position);\n return true;\n}\n\nfunction readAlias(state) {\n var _position, alias,\n ch;\n\n ch = state.input.charCodeAt(state.position);\n\n if (ch !== 0x2A/* * */) return false;\n\n ch = state.input.charCodeAt(++state.position);\n _position = state.position;\n\n while (ch !== 0 && !is_WS_OR_EOL(ch) && !is_FLOW_INDICATOR(ch)) {\n ch = state.input.charCodeAt(++state.position);\n }\n\n if (state.position === _position) {\n throwError(state, 'name of an alias node must contain at least one character');\n }\n\n alias = state.input.slice(_position, state.position);\n\n if (!_hasOwnProperty.call(state.anchorMap, alias)) {\n throwError(state, 'unidentified alias \"' + alias + '\"');\n }\n\n state.result = state.anchorMap[alias];\n skipSeparationSpace(state, true, -1);\n return true;\n}\n\nfunction composeNode(state, parentIndent, nodeContext, allowToSeek, allowCompact) {\n var allowBlockStyles,\n allowBlockScalars,\n allowBlockCollections,\n indentStatus = 1, // 1: this>parent, 0: this=parent, -1: this parentIndent) {\n indentStatus = 1;\n } else if (state.lineIndent === parentIndent) {\n indentStatus = 0;\n } else if (state.lineIndent < parentIndent) {\n indentStatus = -1;\n }\n }\n }\n\n if (indentStatus === 1) {\n while (readTagProperty(state) || readAnchorProperty(state)) {\n if (skipSeparationSpace(state, true, -1)) {\n atNewLine = true;\n allowBlockCollections = allowBlockStyles;\n\n if (state.lineIndent > parentIndent) {\n indentStatus = 1;\n } else if (state.lineIndent === parentIndent) {\n indentStatus = 0;\n } else if (state.lineIndent < parentIndent) {\n indentStatus = -1;\n }\n } else {\n allowBlockCollections = false;\n }\n }\n }\n\n if (allowBlockCollections) {\n allowBlockCollections = atNewLine || allowCompact;\n }\n\n if (indentStatus === 1 || CONTEXT_BLOCK_OUT === nodeContext) {\n if (CONTEXT_FLOW_IN === nodeContext || CONTEXT_FLOW_OUT === nodeContext) {\n flowIndent = parentIndent;\n } else {\n flowIndent = parentIndent + 1;\n }\n\n blockIndent = state.position - state.lineStart;\n\n if (indentStatus === 1) {\n if (allowBlockCollections &&\n (readBlockSequence(state, blockIndent) ||\n readBlockMapping(state, blockIndent, flowIndent)) ||\n readFlowCollection(state, flowIndent)) {\n hasContent = true;\n } else {\n if ((allowBlockScalars && readBlockScalar(state, flowIndent)) ||\n readSingleQuotedScalar(state, flowIndent) ||\n readDoubleQuotedScalar(state, flowIndent)) {\n hasContent = true;\n\n } else if (readAlias(state)) {\n hasContent = true;\n\n if (state.tag !== null || state.anchor !== null) {\n throwError(state, 'alias node should not have any properties');\n }\n\n } else if (readPlainScalar(state, flowIndent, CONTEXT_FLOW_IN === nodeContext)) {\n hasContent = true;\n\n if (state.tag === null) {\n state.tag = '?';\n }\n }\n\n if (state.anchor !== null) {\n state.anchorMap[state.anchor] = state.result;\n }\n }\n } else if (indentStatus === 0) {\n // Special case: block sequences are allowed to have same indentation level as the parent.\n // http://www.yaml.org/spec/1.2/spec.html#id2799784\n hasContent = allowBlockCollections && readBlockSequence(state, blockIndent);\n }\n }\n\n if (state.tag !== null && state.tag !== '!') {\n if (state.tag === '?') {\n // Implicit resolving is not allowed for non-scalar types, and '?'\n // non-specific tag is only automatically assigned to plain scalars.\n //\n // We only need to check kind conformity in case user explicitly assigns '?'\n // tag, for example like this: \"! [0]\"\n //\n if (state.result !== null && state.kind !== 'scalar') {\n throwError(state, 'unacceptable node kind for ! tag; it should be \"scalar\", not \"' + state.kind + '\"');\n }\n\n for (typeIndex = 0, typeQuantity = state.implicitTypes.length; typeIndex < typeQuantity; typeIndex += 1) {\n type = state.implicitTypes[typeIndex];\n\n if (type.resolve(state.result)) { // `state.result` updated in resolver if matched\n state.result = type.construct(state.result);\n state.tag = type.tag;\n if (state.anchor !== null) {\n state.anchorMap[state.anchor] = state.result;\n }\n break;\n }\n }\n } else if (_hasOwnProperty.call(state.typeMap[state.kind || 'fallback'], state.tag)) {\n type = state.typeMap[state.kind || 'fallback'][state.tag];\n\n if (state.result !== null && type.kind !== state.kind) {\n throwError(state, 'unacceptable node kind for !<' + state.tag + '> tag; it should be \"' + type.kind + '\", not \"' + state.kind + '\"');\n }\n\n if (!type.resolve(state.result)) { // `state.result` updated in resolver if matched\n throwError(state, 'cannot resolve a node with !<' + state.tag + '> explicit tag');\n } else {\n state.result = type.construct(state.result);\n if (state.anchor !== null) {\n state.anchorMap[state.anchor] = state.result;\n }\n }\n } else {\n throwError(state, 'unknown tag !<' + state.tag + '>');\n }\n }\n\n if (state.listener !== null) {\n state.listener('close', state);\n }\n return state.tag !== null || state.anchor !== null || hasContent;\n}\n\nfunction readDocument(state) {\n var documentStart = state.position,\n _position,\n directiveName,\n directiveArgs,\n hasDirectives = false,\n ch;\n\n state.version = null;\n state.checkLineBreaks = state.legacy;\n state.tagMap = {};\n state.anchorMap = {};\n\n while ((ch = state.input.charCodeAt(state.position)) !== 0) {\n skipSeparationSpace(state, true, -1);\n\n ch = state.input.charCodeAt(state.position);\n\n if (state.lineIndent > 0 || ch !== 0x25/* % */) {\n break;\n }\n\n hasDirectives = true;\n ch = state.input.charCodeAt(++state.position);\n _position = state.position;\n\n while (ch !== 0 && !is_WS_OR_EOL(ch)) {\n ch = state.input.charCodeAt(++state.position);\n }\n\n directiveName = state.input.slice(_position, state.position);\n directiveArgs = [];\n\n if (directiveName.length < 1) {\n throwError(state, 'directive name must not be less than one character in length');\n }\n\n while (ch !== 0) {\n while (is_WHITE_SPACE(ch)) {\n ch = state.input.charCodeAt(++state.position);\n }\n\n if (ch === 0x23/* # */) {\n do { ch = state.input.charCodeAt(++state.position); }\n while (ch !== 0 && !is_EOL(ch));\n break;\n }\n\n if (is_EOL(ch)) break;\n\n _position = state.position;\n\n while (ch !== 0 && !is_WS_OR_EOL(ch)) {\n ch = state.input.charCodeAt(++state.position);\n }\n\n directiveArgs.push(state.input.slice(_position, state.position));\n }\n\n if (ch !== 0) readLineBreak(state);\n\n if (_hasOwnProperty.call(directiveHandlers, directiveName)) {\n directiveHandlers[directiveName](state, directiveName, directiveArgs);\n } else {\n throwWarning(state, 'unknown document directive \"' + directiveName + '\"');\n }\n }\n\n skipSeparationSpace(state, true, -1);\n\n if (state.lineIndent === 0 &&\n state.input.charCodeAt(state.position) === 0x2D/* - */ &&\n state.input.charCodeAt(state.position + 1) === 0x2D/* - */ &&\n state.input.charCodeAt(state.position + 2) === 0x2D/* - */) {\n state.position += 3;\n skipSeparationSpace(state, true, -1);\n\n } else if (hasDirectives) {\n throwError(state, 'directives end mark is expected');\n }\n\n composeNode(state, state.lineIndent - 1, CONTEXT_BLOCK_OUT, false, true);\n skipSeparationSpace(state, true, -1);\n\n if (state.checkLineBreaks &&\n PATTERN_NON_ASCII_LINE_BREAKS.test(state.input.slice(documentStart, state.position))) {\n throwWarning(state, 'non-ASCII line breaks are interpreted as content');\n }\n\n state.documents.push(state.result);\n\n if (state.position === state.lineStart && testDocumentSeparator(state)) {\n\n if (state.input.charCodeAt(state.position) === 0x2E/* . */) {\n state.position += 3;\n skipSeparationSpace(state, true, -1);\n }\n return;\n }\n\n if (state.position < (state.length - 1)) {\n throwError(state, 'end of the stream or a document separator is expected');\n } else {\n return;\n }\n}\n\n\nfunction loadDocuments(input, options) {\n input = String(input);\n options = options || {};\n\n if (input.length !== 0) {\n\n // Add tailing `\\n` if not exists\n if (input.charCodeAt(input.length - 1) !== 0x0A/* LF */ &&\n input.charCodeAt(input.length - 1) !== 0x0D/* CR */) {\n input += '\\n';\n }\n\n // Strip BOM\n if (input.charCodeAt(0) === 0xFEFF) {\n input = input.slice(1);\n }\n }\n\n var state = new State(input, options);\n\n var nullpos = input.indexOf('\\0');\n\n if (nullpos !== -1) {\n state.position = nullpos;\n throwError(state, 'null byte is not allowed in input');\n }\n\n // Use 0 as string terminator. That significantly simplifies bounds check.\n state.input += '\\0';\n\n while (state.input.charCodeAt(state.position) === 0x20/* Space */) {\n state.lineIndent += 1;\n state.position += 1;\n }\n\n while (state.position < (state.length - 1)) {\n readDocument(state);\n }\n\n return state.documents;\n}\n\n\nfunction loadAll(input, iterator, options) {\n if (iterator !== null && typeof iterator === 'object' && typeof options === 'undefined') {\n options = iterator;\n iterator = null;\n }\n\n var documents = loadDocuments(input, options);\n\n if (typeof iterator !== 'function') {\n return documents;\n }\n\n for (var index = 0, length = documents.length; index < length; index += 1) {\n iterator(documents[index]);\n }\n}\n\n\nfunction load(input, options) {\n var documents = loadDocuments(input, options);\n\n if (documents.length === 0) {\n /*eslint-disable no-undefined*/\n return undefined;\n } else if (documents.length === 1) {\n return documents[0];\n }\n throw new YAMLException('expected a single document in the stream, but found more');\n}\n\n\nfunction safeLoadAll(input, iterator, options) {\n if (typeof iterator === 'object' && iterator !== null && typeof options === 'undefined') {\n options = iterator;\n iterator = null;\n }\n\n return loadAll(input, iterator, common.extend({ schema: DEFAULT_SAFE_SCHEMA }, options));\n}\n\n\nfunction safeLoad(input, options) {\n return load(input, common.extend({ schema: DEFAULT_SAFE_SCHEMA }, options));\n}\n\n\nmodule.exports.loadAll = loadAll;\nmodule.exports.load = load;\nmodule.exports.safeLoadAll = safeLoadAll;\nmodule.exports.safeLoad = safeLoad;\n","'use strict';\n\n/*eslint-disable no-use-before-define*/\n\nvar common = require('./common');\nvar YAMLException = require('./exception');\nvar DEFAULT_FULL_SCHEMA = require('./schema/default_full');\nvar DEFAULT_SAFE_SCHEMA = require('./schema/default_safe');\n\nvar _toString = Object.prototype.toString;\nvar _hasOwnProperty = Object.prototype.hasOwnProperty;\n\nvar CHAR_TAB = 0x09; /* Tab */\nvar CHAR_LINE_FEED = 0x0A; /* LF */\nvar CHAR_CARRIAGE_RETURN = 0x0D; /* CR */\nvar CHAR_SPACE = 0x20; /* Space */\nvar CHAR_EXCLAMATION = 0x21; /* ! */\nvar CHAR_DOUBLE_QUOTE = 0x22; /* \" */\nvar CHAR_SHARP = 0x23; /* # */\nvar CHAR_PERCENT = 0x25; /* % */\nvar CHAR_AMPERSAND = 0x26; /* & */\nvar CHAR_SINGLE_QUOTE = 0x27; /* ' */\nvar CHAR_ASTERISK = 0x2A; /* * */\nvar CHAR_COMMA = 0x2C; /* , */\nvar CHAR_MINUS = 0x2D; /* - */\nvar CHAR_COLON = 0x3A; /* : */\nvar CHAR_EQUALS = 0x3D; /* = */\nvar CHAR_GREATER_THAN = 0x3E; /* > */\nvar CHAR_QUESTION = 0x3F; /* ? */\nvar CHAR_COMMERCIAL_AT = 0x40; /* @ */\nvar CHAR_LEFT_SQUARE_BRACKET = 0x5B; /* [ */\nvar CHAR_RIGHT_SQUARE_BRACKET = 0x5D; /* ] */\nvar CHAR_GRAVE_ACCENT = 0x60; /* ` */\nvar CHAR_LEFT_CURLY_BRACKET = 0x7B; /* { */\nvar CHAR_VERTICAL_LINE = 0x7C; /* | */\nvar CHAR_RIGHT_CURLY_BRACKET = 0x7D; /* } */\n\nvar ESCAPE_SEQUENCES = {};\n\nESCAPE_SEQUENCES[0x00] = '\\\\0';\nESCAPE_SEQUENCES[0x07] = '\\\\a';\nESCAPE_SEQUENCES[0x08] = '\\\\b';\nESCAPE_SEQUENCES[0x09] = '\\\\t';\nESCAPE_SEQUENCES[0x0A] = '\\\\n';\nESCAPE_SEQUENCES[0x0B] = '\\\\v';\nESCAPE_SEQUENCES[0x0C] = '\\\\f';\nESCAPE_SEQUENCES[0x0D] = '\\\\r';\nESCAPE_SEQUENCES[0x1B] = '\\\\e';\nESCAPE_SEQUENCES[0x22] = '\\\\\"';\nESCAPE_SEQUENCES[0x5C] = '\\\\\\\\';\nESCAPE_SEQUENCES[0x85] = '\\\\N';\nESCAPE_SEQUENCES[0xA0] = '\\\\_';\nESCAPE_SEQUENCES[0x2028] = '\\\\L';\nESCAPE_SEQUENCES[0x2029] = '\\\\P';\n\nvar DEPRECATED_BOOLEANS_SYNTAX = [\n 'y', 'Y', 'yes', 'Yes', 'YES', 'on', 'On', 'ON',\n 'n', 'N', 'no', 'No', 'NO', 'off', 'Off', 'OFF'\n];\n\nfunction compileStyleMap(schema, map) {\n var result, keys, index, length, tag, style, type;\n\n if (map === null) return {};\n\n result = {};\n keys = Object.keys(map);\n\n for (index = 0, length = keys.length; index < length; index += 1) {\n tag = keys[index];\n style = String(map[tag]);\n\n if (tag.slice(0, 2) === '!!') {\n tag = 'tag:yaml.org,2002:' + tag.slice(2);\n }\n type = schema.compiledTypeMap['fallback'][tag];\n\n if (type && _hasOwnProperty.call(type.styleAliases, style)) {\n style = type.styleAliases[style];\n }\n\n result[tag] = style;\n }\n\n return result;\n}\n\nfunction encodeHex(character) {\n var string, handle, length;\n\n string = character.toString(16).toUpperCase();\n\n if (character <= 0xFF) {\n handle = 'x';\n length = 2;\n } else if (character <= 0xFFFF) {\n handle = 'u';\n length = 4;\n } else if (character <= 0xFFFFFFFF) {\n handle = 'U';\n length = 8;\n } else {\n throw new YAMLException('code point within a string may not be greater than 0xFFFFFFFF');\n }\n\n return '\\\\' + handle + common.repeat('0', length - string.length) + string;\n}\n\nfunction State(options) {\n this.schema = options['schema'] || DEFAULT_FULL_SCHEMA;\n this.indent = Math.max(1, (options['indent'] || 2));\n this.noArrayIndent = options['noArrayIndent'] || false;\n this.skipInvalid = options['skipInvalid'] || false;\n this.flowLevel = (common.isNothing(options['flowLevel']) ? -1 : options['flowLevel']);\n this.styleMap = compileStyleMap(this.schema, options['styles'] || null);\n this.sortKeys = options['sortKeys'] || false;\n this.lineWidth = options['lineWidth'] || 80;\n this.noRefs = options['noRefs'] || false;\n this.noCompatMode = options['noCompatMode'] || false;\n this.condenseFlow = options['condenseFlow'] || false;\n\n this.implicitTypes = this.schema.compiledImplicit;\n this.explicitTypes = this.schema.compiledExplicit;\n\n this.tag = null;\n this.result = '';\n\n this.duplicates = [];\n this.usedDuplicates = null;\n}\n\n// Indents every line in a string. Empty lines (\\n only) are not indented.\nfunction indentString(string, spaces) {\n var ind = common.repeat(' ', spaces),\n position = 0,\n next = -1,\n result = '',\n line,\n length = string.length;\n\n while (position < length) {\n next = string.indexOf('\\n', position);\n if (next === -1) {\n line = string.slice(position);\n position = length;\n } else {\n line = string.slice(position, next + 1);\n position = next + 1;\n }\n\n if (line.length && line !== '\\n') result += ind;\n\n result += line;\n }\n\n return result;\n}\n\nfunction generateNextLine(state, level) {\n return '\\n' + common.repeat(' ', state.indent * level);\n}\n\nfunction testImplicitResolving(state, str) {\n var index, length, type;\n\n for (index = 0, length = state.implicitTypes.length; index < length; index += 1) {\n type = state.implicitTypes[index];\n\n if (type.resolve(str)) {\n return true;\n }\n }\n\n return false;\n}\n\n// [33] s-white ::= s-space | s-tab\nfunction isWhitespace(c) {\n return c === CHAR_SPACE || c === CHAR_TAB;\n}\n\n// Returns true if the character can be printed without escaping.\n// From YAML 1.2: \"any allowed characters known to be non-printable\n// should also be escaped. [However,] This isn’t mandatory\"\n// Derived from nb-char - \\t - #x85 - #xA0 - #x2028 - #x2029.\nfunction isPrintable(c) {\n return (0x00020 <= c && c <= 0x00007E)\n || ((0x000A1 <= c && c <= 0x00D7FF) && c !== 0x2028 && c !== 0x2029)\n || ((0x0E000 <= c && c <= 0x00FFFD) && c !== 0xFEFF /* BOM */)\n || (0x10000 <= c && c <= 0x10FFFF);\n}\n\n// [34] ns-char ::= nb-char - s-white\n// [27] nb-char ::= c-printable - b-char - c-byte-order-mark\n// [26] b-char ::= b-line-feed | b-carriage-return\n// [24] b-line-feed ::= #xA /* LF */\n// [25] b-carriage-return ::= #xD /* CR */\n// [3] c-byte-order-mark ::= #xFEFF\nfunction isNsChar(c) {\n return isPrintable(c) && !isWhitespace(c)\n // byte-order-mark\n && c !== 0xFEFF\n // b-char\n && c !== CHAR_CARRIAGE_RETURN\n && c !== CHAR_LINE_FEED;\n}\n\n// Simplified test for values allowed after the first character in plain style.\nfunction isPlainSafe(c, prev) {\n // Uses a subset of nb-char - c-flow-indicator - \":\" - \"#\"\n // where nb-char ::= c-printable - b-char - c-byte-order-mark.\n return isPrintable(c) && c !== 0xFEFF\n // - c-flow-indicator\n && c !== CHAR_COMMA\n && c !== CHAR_LEFT_SQUARE_BRACKET\n && c !== CHAR_RIGHT_SQUARE_BRACKET\n && c !== CHAR_LEFT_CURLY_BRACKET\n && c !== CHAR_RIGHT_CURLY_BRACKET\n // - \":\" - \"#\"\n // /* An ns-char preceding */ \"#\"\n && c !== CHAR_COLON\n && ((c !== CHAR_SHARP) || (prev && isNsChar(prev)));\n}\n\n// Simplified test for values allowed as the first character in plain style.\nfunction isPlainSafeFirst(c) {\n // Uses a subset of ns-char - c-indicator\n // where ns-char = nb-char - s-white.\n return isPrintable(c) && c !== 0xFEFF\n && !isWhitespace(c) // - s-white\n // - (c-indicator ::=\n // “-” | “?” | “:” | “,” | “[” | “]” | “{” | “}”\n && c !== CHAR_MINUS\n && c !== CHAR_QUESTION\n && c !== CHAR_COLON\n && c !== CHAR_COMMA\n && c !== CHAR_LEFT_SQUARE_BRACKET\n && c !== CHAR_RIGHT_SQUARE_BRACKET\n && c !== CHAR_LEFT_CURLY_BRACKET\n && c !== CHAR_RIGHT_CURLY_BRACKET\n // | “#” | “&” | “*” | “!” | “|” | “=” | “>” | “'” | “\"”\n && c !== CHAR_SHARP\n && c !== CHAR_AMPERSAND\n && c !== CHAR_ASTERISK\n && c !== CHAR_EXCLAMATION\n && c !== CHAR_VERTICAL_LINE\n && c !== CHAR_EQUALS\n && c !== CHAR_GREATER_THAN\n && c !== CHAR_SINGLE_QUOTE\n && c !== CHAR_DOUBLE_QUOTE\n // | “%” | “@” | “`”)\n && c !== CHAR_PERCENT\n && c !== CHAR_COMMERCIAL_AT\n && c !== CHAR_GRAVE_ACCENT;\n}\n\n// Determines whether block indentation indicator is required.\nfunction needIndentIndicator(string) {\n var leadingSpaceRe = /^\\n* /;\n return leadingSpaceRe.test(string);\n}\n\nvar STYLE_PLAIN = 1,\n STYLE_SINGLE = 2,\n STYLE_LITERAL = 3,\n STYLE_FOLDED = 4,\n STYLE_DOUBLE = 5;\n\n// Determines which scalar styles are possible and returns the preferred style.\n// lineWidth = -1 => no limit.\n// Pre-conditions: str.length > 0.\n// Post-conditions:\n// STYLE_PLAIN or STYLE_SINGLE => no \\n are in the string.\n// STYLE_LITERAL => no lines are suitable for folding (or lineWidth is -1).\n// STYLE_FOLDED => a line > lineWidth and can be folded (and lineWidth != -1).\nfunction chooseScalarStyle(string, singleLineOnly, indentPerLevel, lineWidth, testAmbiguousType) {\n var i;\n var char, prev_char;\n var hasLineBreak = false;\n var hasFoldableLine = false; // only checked if shouldTrackWidth\n var shouldTrackWidth = lineWidth !== -1;\n var previousLineBreak = -1; // count the first line correctly\n var plain = isPlainSafeFirst(string.charCodeAt(0))\n && !isWhitespace(string.charCodeAt(string.length - 1));\n\n if (singleLineOnly) {\n // Case: no block styles.\n // Check for disallowed characters to rule out plain and single.\n for (i = 0; i < string.length; i++) {\n char = string.charCodeAt(i);\n if (!isPrintable(char)) {\n return STYLE_DOUBLE;\n }\n prev_char = i > 0 ? string.charCodeAt(i - 1) : null;\n plain = plain && isPlainSafe(char, prev_char);\n }\n } else {\n // Case: block styles permitted.\n for (i = 0; i < string.length; i++) {\n char = string.charCodeAt(i);\n if (char === CHAR_LINE_FEED) {\n hasLineBreak = true;\n // Check if any line can be folded.\n if (shouldTrackWidth) {\n hasFoldableLine = hasFoldableLine ||\n // Foldable line = too long, and not more-indented.\n (i - previousLineBreak - 1 > lineWidth &&\n string[previousLineBreak + 1] !== ' ');\n previousLineBreak = i;\n }\n } else if (!isPrintable(char)) {\n return STYLE_DOUBLE;\n }\n prev_char = i > 0 ? string.charCodeAt(i - 1) : null;\n plain = plain && isPlainSafe(char, prev_char);\n }\n // in case the end is missing a \\n\n hasFoldableLine = hasFoldableLine || (shouldTrackWidth &&\n (i - previousLineBreak - 1 > lineWidth &&\n string[previousLineBreak + 1] !== ' '));\n }\n // Although every style can represent \\n without escaping, prefer block styles\n // for multiline, since they're more readable and they don't add empty lines.\n // Also prefer folding a super-long line.\n if (!hasLineBreak && !hasFoldableLine) {\n // Strings interpretable as another type have to be quoted;\n // e.g. the string 'true' vs. the boolean true.\n return plain && !testAmbiguousType(string)\n ? STYLE_PLAIN : STYLE_SINGLE;\n }\n // Edge case: block indentation indicator can only have one digit.\n if (indentPerLevel > 9 && needIndentIndicator(string)) {\n return STYLE_DOUBLE;\n }\n // At this point we know block styles are valid.\n // Prefer literal style unless we want to fold.\n return hasFoldableLine ? STYLE_FOLDED : STYLE_LITERAL;\n}\n\n// Note: line breaking/folding is implemented for only the folded style.\n// NB. We drop the last trailing newline (if any) of a returned block scalar\n// since the dumper adds its own newline. This always works:\n// • No ending newline => unaffected; already using strip \"-\" chomping.\n// • Ending newline => removed then restored.\n// Importantly, this keeps the \"+\" chomp indicator from gaining an extra line.\nfunction writeScalar(state, string, level, iskey) {\n state.dump = (function () {\n if (string.length === 0) {\n return \"''\";\n }\n if (!state.noCompatMode &&\n DEPRECATED_BOOLEANS_SYNTAX.indexOf(string) !== -1) {\n return \"'\" + string + \"'\";\n }\n\n var indent = state.indent * Math.max(1, level); // no 0-indent scalars\n // As indentation gets deeper, let the width decrease monotonically\n // to the lower bound min(state.lineWidth, 40).\n // Note that this implies\n // state.lineWidth ≤ 40 + state.indent: width is fixed at the lower bound.\n // state.lineWidth > 40 + state.indent: width decreases until the lower bound.\n // This behaves better than a constant minimum width which disallows narrower options,\n // or an indent threshold which causes the width to suddenly increase.\n var lineWidth = state.lineWidth === -1\n ? -1 : Math.max(Math.min(state.lineWidth, 40), state.lineWidth - indent);\n\n // Without knowing if keys are implicit/explicit, assume implicit for safety.\n var singleLineOnly = iskey\n // No block styles in flow mode.\n || (state.flowLevel > -1 && level >= state.flowLevel);\n function testAmbiguity(string) {\n return testImplicitResolving(state, string);\n }\n\n switch (chooseScalarStyle(string, singleLineOnly, state.indent, lineWidth, testAmbiguity)) {\n case STYLE_PLAIN:\n return string;\n case STYLE_SINGLE:\n return \"'\" + string.replace(/'/g, \"''\") + \"'\";\n case STYLE_LITERAL:\n return '|' + blockHeader(string, state.indent)\n + dropEndingNewline(indentString(string, indent));\n case STYLE_FOLDED:\n return '>' + blockHeader(string, state.indent)\n + dropEndingNewline(indentString(foldString(string, lineWidth), indent));\n case STYLE_DOUBLE:\n return '\"' + escapeString(string, lineWidth) + '\"';\n default:\n throw new YAMLException('impossible error: invalid scalar style');\n }\n }());\n}\n\n// Pre-conditions: string is valid for a block scalar, 1 <= indentPerLevel <= 9.\nfunction blockHeader(string, indentPerLevel) {\n var indentIndicator = needIndentIndicator(string) ? String(indentPerLevel) : '';\n\n // note the special case: the string '\\n' counts as a \"trailing\" empty line.\n var clip = string[string.length - 1] === '\\n';\n var keep = clip && (string[string.length - 2] === '\\n' || string === '\\n');\n var chomp = keep ? '+' : (clip ? '' : '-');\n\n return indentIndicator + chomp + '\\n';\n}\n\n// (See the note for writeScalar.)\nfunction dropEndingNewline(string) {\n return string[string.length - 1] === '\\n' ? string.slice(0, -1) : string;\n}\n\n// Note: a long line without a suitable break point will exceed the width limit.\n// Pre-conditions: every char in str isPrintable, str.length > 0, width > 0.\nfunction foldString(string, width) {\n // In folded style, $k$ consecutive newlines output as $k+1$ newlines—\n // unless they're before or after a more-indented line, or at the very\n // beginning or end, in which case $k$ maps to $k$.\n // Therefore, parse each chunk as newline(s) followed by a content line.\n var lineRe = /(\\n+)([^\\n]*)/g;\n\n // first line (possibly an empty line)\n var result = (function () {\n var nextLF = string.indexOf('\\n');\n nextLF = nextLF !== -1 ? nextLF : string.length;\n lineRe.lastIndex = nextLF;\n return foldLine(string.slice(0, nextLF), width);\n }());\n // If we haven't reached the first content line yet, don't add an extra \\n.\n var prevMoreIndented = string[0] === '\\n' || string[0] === ' ';\n var moreIndented;\n\n // rest of the lines\n var match;\n while ((match = lineRe.exec(string))) {\n var prefix = match[1], line = match[2];\n moreIndented = (line[0] === ' ');\n result += prefix\n + (!prevMoreIndented && !moreIndented && line !== ''\n ? '\\n' : '')\n + foldLine(line, width);\n prevMoreIndented = moreIndented;\n }\n\n return result;\n}\n\n// Greedy line breaking.\n// Picks the longest line under the limit each time,\n// otherwise settles for the shortest line over the limit.\n// NB. More-indented lines *cannot* be folded, as that would add an extra \\n.\nfunction foldLine(line, width) {\n if (line === '' || line[0] === ' ') return line;\n\n // Since a more-indented line adds a \\n, breaks can't be followed by a space.\n var breakRe = / [^ ]/g; // note: the match index will always be <= length-2.\n var match;\n // start is an inclusive index. end, curr, and next are exclusive.\n var start = 0, end, curr = 0, next = 0;\n var result = '';\n\n // Invariants: 0 <= start <= length-1.\n // 0 <= curr <= next <= max(0, length-2). curr - start <= width.\n // Inside the loop:\n // A match implies length >= 2, so curr and next are <= length-2.\n while ((match = breakRe.exec(line))) {\n next = match.index;\n // maintain invariant: curr - start <= width\n if (next - start > width) {\n end = (curr > start) ? curr : next; // derive end <= length-2\n result += '\\n' + line.slice(start, end);\n // skip the space that was output as \\n\n start = end + 1; // derive start <= length-1\n }\n curr = next;\n }\n\n // By the invariants, start <= length-1, so there is something left over.\n // It is either the whole string or a part starting from non-whitespace.\n result += '\\n';\n // Insert a break if the remainder is too long and there is a break available.\n if (line.length - start > width && curr > start) {\n result += line.slice(start, curr) + '\\n' + line.slice(curr + 1);\n } else {\n result += line.slice(start);\n }\n\n return result.slice(1); // drop extra \\n joiner\n}\n\n// Escapes a double-quoted string.\nfunction escapeString(string) {\n var result = '';\n var char, nextChar;\n var escapeSeq;\n\n for (var i = 0; i < string.length; i++) {\n char = string.charCodeAt(i);\n // Check for surrogate pairs (reference Unicode 3.0 section \"3.7 Surrogates\").\n if (char >= 0xD800 && char <= 0xDBFF/* high surrogate */) {\n nextChar = string.charCodeAt(i + 1);\n if (nextChar >= 0xDC00 && nextChar <= 0xDFFF/* low surrogate */) {\n // Combine the surrogate pair and store it escaped.\n result += encodeHex((char - 0xD800) * 0x400 + nextChar - 0xDC00 + 0x10000);\n // Advance index one extra since we already used that char here.\n i++; continue;\n }\n }\n escapeSeq = ESCAPE_SEQUENCES[char];\n result += !escapeSeq && isPrintable(char)\n ? string[i]\n : escapeSeq || encodeHex(char);\n }\n\n return result;\n}\n\nfunction writeFlowSequence(state, level, object) {\n var _result = '',\n _tag = state.tag,\n index,\n length;\n\n for (index = 0, length = object.length; index < length; index += 1) {\n // Write only valid elements.\n if (writeNode(state, level, object[index], false, false)) {\n if (index !== 0) _result += ',' + (!state.condenseFlow ? ' ' : '');\n _result += state.dump;\n }\n }\n\n state.tag = _tag;\n state.dump = '[' + _result + ']';\n}\n\nfunction writeBlockSequence(state, level, object, compact) {\n var _result = '',\n _tag = state.tag,\n index,\n length;\n\n for (index = 0, length = object.length; index < length; index += 1) {\n // Write only valid elements.\n if (writeNode(state, level + 1, object[index], true, true)) {\n if (!compact || index !== 0) {\n _result += generateNextLine(state, level);\n }\n\n if (state.dump && CHAR_LINE_FEED === state.dump.charCodeAt(0)) {\n _result += '-';\n } else {\n _result += '- ';\n }\n\n _result += state.dump;\n }\n }\n\n state.tag = _tag;\n state.dump = _result || '[]'; // Empty sequence if no valid values.\n}\n\nfunction writeFlowMapping(state, level, object) {\n var _result = '',\n _tag = state.tag,\n objectKeyList = Object.keys(object),\n index,\n length,\n objectKey,\n objectValue,\n pairBuffer;\n\n for (index = 0, length = objectKeyList.length; index < length; index += 1) {\n\n pairBuffer = '';\n if (index !== 0) pairBuffer += ', ';\n\n if (state.condenseFlow) pairBuffer += '\"';\n\n objectKey = objectKeyList[index];\n objectValue = object[objectKey];\n\n if (!writeNode(state, level, objectKey, false, false)) {\n continue; // Skip this pair because of invalid key;\n }\n\n if (state.dump.length > 1024) pairBuffer += '? ';\n\n pairBuffer += state.dump + (state.condenseFlow ? '\"' : '') + ':' + (state.condenseFlow ? '' : ' ');\n\n if (!writeNode(state, level, objectValue, false, false)) {\n continue; // Skip this pair because of invalid value.\n }\n\n pairBuffer += state.dump;\n\n // Both key and value are valid.\n _result += pairBuffer;\n }\n\n state.tag = _tag;\n state.dump = '{' + _result + '}';\n}\n\nfunction writeBlockMapping(state, level, object, compact) {\n var _result = '',\n _tag = state.tag,\n objectKeyList = Object.keys(object),\n index,\n length,\n objectKey,\n objectValue,\n explicitPair,\n pairBuffer;\n\n // Allow sorting keys so that the output file is deterministic\n if (state.sortKeys === true) {\n // Default sorting\n objectKeyList.sort();\n } else if (typeof state.sortKeys === 'function') {\n // Custom sort function\n objectKeyList.sort(state.sortKeys);\n } else if (state.sortKeys) {\n // Something is wrong\n throw new YAMLException('sortKeys must be a boolean or a function');\n }\n\n for (index = 0, length = objectKeyList.length; index < length; index += 1) {\n pairBuffer = '';\n\n if (!compact || index !== 0) {\n pairBuffer += generateNextLine(state, level);\n }\n\n objectKey = objectKeyList[index];\n objectValue = object[objectKey];\n\n if (!writeNode(state, level + 1, objectKey, true, true, true)) {\n continue; // Skip this pair because of invalid key.\n }\n\n explicitPair = (state.tag !== null && state.tag !== '?') ||\n (state.dump && state.dump.length > 1024);\n\n if (explicitPair) {\n if (state.dump && CHAR_LINE_FEED === state.dump.charCodeAt(0)) {\n pairBuffer += '?';\n } else {\n pairBuffer += '? ';\n }\n }\n\n pairBuffer += state.dump;\n\n if (explicitPair) {\n pairBuffer += generateNextLine(state, level);\n }\n\n if (!writeNode(state, level + 1, objectValue, true, explicitPair)) {\n continue; // Skip this pair because of invalid value.\n }\n\n if (state.dump && CHAR_LINE_FEED === state.dump.charCodeAt(0)) {\n pairBuffer += ':';\n } else {\n pairBuffer += ': ';\n }\n\n pairBuffer += state.dump;\n\n // Both key and value are valid.\n _result += pairBuffer;\n }\n\n state.tag = _tag;\n state.dump = _result || '{}'; // Empty mapping if no valid pairs.\n}\n\nfunction detectType(state, object, explicit) {\n var _result, typeList, index, length, type, style;\n\n typeList = explicit ? state.explicitTypes : state.implicitTypes;\n\n for (index = 0, length = typeList.length; index < length; index += 1) {\n type = typeList[index];\n\n if ((type.instanceOf || type.predicate) &&\n (!type.instanceOf || ((typeof object === 'object') && (object instanceof type.instanceOf))) &&\n (!type.predicate || type.predicate(object))) {\n\n state.tag = explicit ? type.tag : '?';\n\n if (type.represent) {\n style = state.styleMap[type.tag] || type.defaultStyle;\n\n if (_toString.call(type.represent) === '[object Function]') {\n _result = type.represent(object, style);\n } else if (_hasOwnProperty.call(type.represent, style)) {\n _result = type.represent[style](object, style);\n } else {\n throw new YAMLException('!<' + type.tag + '> tag resolver accepts not \"' + style + '\" style');\n }\n\n state.dump = _result;\n }\n\n return true;\n }\n }\n\n return false;\n}\n\n// Serializes `object` and writes it to global `result`.\n// Returns true on success, or false on invalid object.\n//\nfunction writeNode(state, level, object, block, compact, iskey) {\n state.tag = null;\n state.dump = object;\n\n if (!detectType(state, object, false)) {\n detectType(state, object, true);\n }\n\n var type = _toString.call(state.dump);\n\n if (block) {\n block = (state.flowLevel < 0 || state.flowLevel > level);\n }\n\n var objectOrArray = type === '[object Object]' || type === '[object Array]',\n duplicateIndex,\n duplicate;\n\n if (objectOrArray) {\n duplicateIndex = state.duplicates.indexOf(object);\n duplicate = duplicateIndex !== -1;\n }\n\n if ((state.tag !== null && state.tag !== '?') || duplicate || (state.indent !== 2 && level > 0)) {\n compact = false;\n }\n\n if (duplicate && state.usedDuplicates[duplicateIndex]) {\n state.dump = '*ref_' + duplicateIndex;\n } else {\n if (objectOrArray && duplicate && !state.usedDuplicates[duplicateIndex]) {\n state.usedDuplicates[duplicateIndex] = true;\n }\n if (type === '[object Object]') {\n if (block && (Object.keys(state.dump).length !== 0)) {\n writeBlockMapping(state, level, state.dump, compact);\n if (duplicate) {\n state.dump = '&ref_' + duplicateIndex + state.dump;\n }\n } else {\n writeFlowMapping(state, level, state.dump);\n if (duplicate) {\n state.dump = '&ref_' + duplicateIndex + ' ' + state.dump;\n }\n }\n } else if (type === '[object Array]') {\n var arrayLevel = (state.noArrayIndent && (level > 0)) ? level - 1 : level;\n if (block && (state.dump.length !== 0)) {\n writeBlockSequence(state, arrayLevel, state.dump, compact);\n if (duplicate) {\n state.dump = '&ref_' + duplicateIndex + state.dump;\n }\n } else {\n writeFlowSequence(state, arrayLevel, state.dump);\n if (duplicate) {\n state.dump = '&ref_' + duplicateIndex + ' ' + state.dump;\n }\n }\n } else if (type === '[object String]') {\n if (state.tag !== '?') {\n writeScalar(state, state.dump, level, iskey);\n }\n } else {\n if (state.skipInvalid) return false;\n throw new YAMLException('unacceptable kind of an object to dump ' + type);\n }\n\n if (state.tag !== null && state.tag !== '?') {\n state.dump = '!<' + state.tag + '> ' + state.dump;\n }\n }\n\n return true;\n}\n\nfunction getDuplicateReferences(object, state) {\n var objects = [],\n duplicatesIndexes = [],\n index,\n length;\n\n inspectNode(object, objects, duplicatesIndexes);\n\n for (index = 0, length = duplicatesIndexes.length; index < length; index += 1) {\n state.duplicates.push(objects[duplicatesIndexes[index]]);\n }\n state.usedDuplicates = new Array(length);\n}\n\nfunction inspectNode(object, objects, duplicatesIndexes) {\n var objectKeyList,\n index,\n length;\n\n if (object !== null && typeof object === 'object') {\n index = objects.indexOf(object);\n if (index !== -1) {\n if (duplicatesIndexes.indexOf(index) === -1) {\n duplicatesIndexes.push(index);\n }\n } else {\n objects.push(object);\n\n if (Array.isArray(object)) {\n for (index = 0, length = object.length; index < length; index += 1) {\n inspectNode(object[index], objects, duplicatesIndexes);\n }\n } else {\n objectKeyList = Object.keys(object);\n\n for (index = 0, length = objectKeyList.length; index < length; index += 1) {\n inspectNode(object[objectKeyList[index]], objects, duplicatesIndexes);\n }\n }\n }\n }\n}\n\nfunction dump(input, options) {\n options = options || {};\n\n var state = new State(options);\n\n if (!state.noRefs) getDuplicateReferences(input, state);\n\n if (writeNode(state, 0, input, true, true)) return state.dump + '\\n';\n\n return '';\n}\n\nfunction safeDump(input, options) {\n return dump(input, common.extend({ schema: DEFAULT_SAFE_SCHEMA }, options));\n}\n\nmodule.exports.dump = dump;\nmodule.exports.safeDump = safeDump;\n","'use strict';\n\n\nvar loader = require('./js-yaml/loader');\nvar dumper = require('./js-yaml/dumper');\n\n\nfunction deprecated(name) {\n return function () {\n throw new Error('Function ' + name + ' is deprecated and cannot be used.');\n };\n}\n\n\nmodule.exports.Type = require('./js-yaml/type');\nmodule.exports.Schema = require('./js-yaml/schema');\nmodule.exports.FAILSAFE_SCHEMA = require('./js-yaml/schema/failsafe');\nmodule.exports.JSON_SCHEMA = require('./js-yaml/schema/json');\nmodule.exports.CORE_SCHEMA = require('./js-yaml/schema/core');\nmodule.exports.DEFAULT_SAFE_SCHEMA = require('./js-yaml/schema/default_safe');\nmodule.exports.DEFAULT_FULL_SCHEMA = require('./js-yaml/schema/default_full');\nmodule.exports.load = loader.load;\nmodule.exports.loadAll = loader.loadAll;\nmodule.exports.safeLoad = loader.safeLoad;\nmodule.exports.safeLoadAll = loader.safeLoadAll;\nmodule.exports.dump = dumper.dump;\nmodule.exports.safeDump = dumper.safeDump;\nmodule.exports.YAMLException = require('./js-yaml/exception');\n\n// Deprecated schema names from JS-YAML 2.0.x\nmodule.exports.MINIMAL_SCHEMA = require('./js-yaml/schema/failsafe');\nmodule.exports.SAFE_SCHEMA = require('./js-yaml/schema/default_safe');\nmodule.exports.DEFAULT_SCHEMA = require('./js-yaml/schema/default_full');\n\n// Deprecated functions from JS-YAML 1.x.x\nmodule.exports.scan = deprecated('scan');\nmodule.exports.parse = deprecated('parse');\nmodule.exports.compose = deprecated('compose');\nmodule.exports.addConstructor = deprecated('addConstructor');\n","'use strict';\n\n\nvar yaml = require('./lib/js-yaml.js');\n\n\nmodule.exports = yaml;\n","'use strict'\nmodule.exports = rfdc\n\nfunction copyBuffer (cur) {\n if (cur instanceof Buffer) {\n return Buffer.from(cur)\n }\n\n return new cur.constructor(cur.buffer.slice(), cur.byteOffset, cur.length)\n}\n\nfunction rfdc (opts) {\n opts = opts || {}\n\n if (opts.circles) return rfdcCircles(opts)\n return opts.proto ? cloneProto : clone\n\n function cloneArray (a, fn) {\n var keys = Object.keys(a)\n var a2 = new Array(keys.length)\n for (var i = 0; i < keys.length; i++) {\n var k = keys[i]\n var cur = a[k]\n if (typeof cur !== 'object' || cur === null) {\n a2[k] = cur\n } else if (cur instanceof Date) {\n a2[k] = new Date(cur)\n } else if (ArrayBuffer.isView(cur)) {\n a2[k] = copyBuffer(cur)\n } else {\n a2[k] = fn(cur)\n }\n }\n return a2\n }\n\n function clone (o) {\n if (typeof o !== 'object' || o === null) return o\n if (o instanceof Date) return new Date(o)\n if (Array.isArray(o)) return cloneArray(o, clone)\n if (o instanceof Map) return new Map(cloneArray(Array.from(o), clone))\n if (o instanceof Set) return new Set(cloneArray(Array.from(o), clone))\n var o2 = {}\n for (var k in o) {\n if (Object.hasOwnProperty.call(o, k) === false) continue\n var cur = o[k]\n if (typeof cur !== 'object' || cur === null) {\n o2[k] = cur\n } else if (cur instanceof Date) {\n o2[k] = new Date(cur)\n } else if (cur instanceof Map) {\n o2[k] = new Map(cloneArray(Array.from(cur), clone))\n } else if (cur instanceof Set) {\n o2[k] = new Set(cloneArray(Array.from(cur), clone))\n } else if (ArrayBuffer.isView(cur)) {\n o2[k] = copyBuffer(cur)\n } else {\n o2[k] = clone(cur)\n }\n }\n return o2\n }\n\n function cloneProto (o) {\n if (typeof o !== 'object' || o === null) return o\n if (o instanceof Date) return new Date(o)\n if (Array.isArray(o)) return cloneArray(o, cloneProto)\n if (o instanceof Map) return new Map(cloneArray(Array.from(o), cloneProto))\n if (o instanceof Set) return new Set(cloneArray(Array.from(o), cloneProto))\n var o2 = {}\n for (var k in o) {\n var cur = o[k]\n if (typeof cur !== 'object' || cur === null) {\n o2[k] = cur\n } else if (cur instanceof Date) {\n o2[k] = new Date(cur)\n } else if (cur instanceof Map) {\n o2[k] = new Map(cloneArray(Array.from(cur), cloneProto))\n } else if (cur instanceof Set) {\n o2[k] = new Set(cloneArray(Array.from(cur), cloneProto))\n } else if (ArrayBuffer.isView(cur)) {\n o2[k] = copyBuffer(cur)\n } else {\n o2[k] = cloneProto(cur)\n }\n }\n return o2\n }\n}\n\nfunction rfdcCircles (opts) {\n var refs = []\n var refsNew = []\n\n return opts.proto ? cloneProto : clone\n\n function cloneArray (a, fn) {\n var keys = Object.keys(a)\n var a2 = new Array(keys.length)\n for (var i = 0; i < keys.length; i++) {\n var k = keys[i]\n var cur = a[k]\n if (typeof cur !== 'object' || cur === null) {\n a2[k] = cur\n } else if (cur instanceof Date) {\n a2[k] = new Date(cur)\n } else if (ArrayBuffer.isView(cur)) {\n a2[k] = copyBuffer(cur)\n } else {\n var index = refs.indexOf(cur)\n if (index !== -1) {\n a2[k] = refsNew[index]\n } else {\n a2[k] = fn(cur)\n }\n }\n }\n return a2\n }\n\n function clone (o) {\n if (typeof o !== 'object' || o === null) return o\n if (o instanceof Date) return new Date(o)\n if (Array.isArray(o)) return cloneArray(o, clone)\n if (o instanceof Map) return new Map(cloneArray(Array.from(o), clone))\n if (o instanceof Set) return new Set(cloneArray(Array.from(o), clone))\n var o2 = {}\n refs.push(o)\n refsNew.push(o2)\n for (var k in o) {\n if (Object.hasOwnProperty.call(o, k) === false) continue\n var cur = o[k]\n if (typeof cur !== 'object' || cur === null) {\n o2[k] = cur\n } else if (cur instanceof Date) {\n o2[k] = new Date(cur)\n } else if (cur instanceof Map) {\n o2[k] = new Map(cloneArray(Array.from(cur), clone))\n } else if (cur instanceof Set) {\n o2[k] = new Set(cloneArray(Array.from(cur), clone))\n } else if (ArrayBuffer.isView(cur)) {\n o2[k] = copyBuffer(cur)\n } else {\n var i = refs.indexOf(cur)\n if (i !== -1) {\n o2[k] = refsNew[i]\n } else {\n o2[k] = clone(cur)\n }\n }\n }\n refs.pop()\n refsNew.pop()\n return o2\n }\n\n function cloneProto (o) {\n if (typeof o !== 'object' || o === null) return o\n if (o instanceof Date) return new Date(o)\n if (Array.isArray(o)) return cloneArray(o, cloneProto)\n if (o instanceof Map) return new Map(cloneArray(Array.from(o), cloneProto))\n if (o instanceof Set) return new Set(cloneArray(Array.from(o), cloneProto))\n var o2 = {}\n refs.push(o)\n refsNew.push(o2)\n for (var k in o) {\n var cur = o[k]\n if (typeof cur !== 'object' || cur === null) {\n o2[k] = cur\n } else if (cur instanceof Date) {\n o2[k] = new Date(cur)\n } else if (cur instanceof Map) {\n o2[k] = new Map(cloneArray(Array.from(cur), cloneProto))\n } else if (cur instanceof Set) {\n o2[k] = new Set(cloneArray(Array.from(cur), cloneProto))\n } else if (ArrayBuffer.isView(cur)) {\n o2[k] = copyBuffer(cur)\n } else {\n var i = refs.indexOf(cur)\n if (i !== -1) {\n o2[k] = refsNew[i]\n } else {\n o2[k] = cloneProto(cur)\n }\n }\n }\n refs.pop()\n refsNew.pop()\n return o2\n }\n}\n","import type { DataModel } from '@mcschema/core'\nimport { Path } from '@mcschema/core'\nimport yaml from 'js-yaml'\nimport { route } from 'preact-router'\nimport rfdc from 'rfdc'\nimport config from '../config.json'\n\nexport function isPromise(obj: any): obj is Promise {\n\treturn typeof (obj as any)?.then === 'function' \n}\n\nexport function isObject(obj: any): obj is Record {\n\treturn typeof obj === 'object' && obj !== null\n}\n\nconst dec2hex = (dec: number) => ('0' + dec.toString(16)).substr(-2)\n\nexport function hexId(length = 12) {\n\tvar arr = new Uint8Array(length / 2)\n\twindow.crypto.getRandomValues(arr)\n\treturn Array.from(arr, dec2hex).join('')\n}\n\nexport function randomSeed() {\n\treturn BigInt(Math.floor(Math.random() * Number.MAX_SAFE_INTEGER))\n}\n\nexport function newSeed(model: DataModel) {\n\tconst seed = Math.floor(Math.random() * (4294967296)) - 2147483648\n\tconst dimensions = model.get(new Path(['dimensions']))\n\tmodel.set(new Path(['seed']), seed, true)\n\tif (isObject(dimensions)) {\n\t\tObject.keys(dimensions).forEach(id => {\n\t\t\tmodel.set(new Path(['dimensions', id, 'generator', 'seed']), seed, true)\n\t\t\tmodel.set(new Path(['dimensions', id, 'generator', 'biome_source', 'seed']), seed, true)\n\t\t})\n\t}\n\tmodel.set(new Path(['placement', 'salt']), Math.abs(seed), true)\n\tmodel.set(new Path(['generator', 'seed']), seed, true)\n\tmodel.set(new Path(['generator', 'biome_source', 'seed']), seed)\n}\n\nexport function htmlEncode(str: string) {\n\treturn str.replace(/&/g, '&').replace(//g, '>')\n\t\t.replace(/\"/g, '"').replace(/'/g, ''').replace(/\\//g, '/')\n}\n\nexport function hashString(s: string) {\n\tlet h = 0\n\tfor(let i = 0; i < s.length; i++)\n\t\th = Math.imul(31, h) + s.charCodeAt(i) | 0\n\treturn h\n}\n\nexport function cleanUrl(url: string) {\n\treturn `/${url}/`.replaceAll('//', '/')\n}\n\nexport function getPath(url: string) {\n\tconst searchIndex = url.indexOf('?')\n\tif (searchIndex >= 0) {\n\t\turl = url.slice(0, searchIndex)\n\t}\n\treturn cleanUrl(url)\n}\n\nexport function getGenerator(url: string) {\n\tconst trimmedUrl = getPath(url).replace(/^\\//, '').replace(/\\/$/, '')\n\treturn config.generators.find(g => g.url === trimmedUrl)\n}\n\nexport function changeUrl({ path, search, hash, replace }: { path?: string, search?: string, hash?: string, replace?: boolean }) {\n\tconst url = (path !== undefined ? cleanUrl(path) : location.pathname)\n\t\t+ (search !== undefined ? (search.startsWith('?') || search.length === 0 ? search : '?' + search) : location.search)\n\t\t+ (hash !== undefined ? (hash.startsWith('#') ? hash : '#' + hash) : location.hash)\n\troute(url, replace)\n}\n\nexport function parseFrontMatter(source: string): Record {\n\tconst data = yaml.load(source.substring(3, source.indexOf('---', 3)))\n\tif (!isObject(data)) return {}\n\treturn data\n}\n\nexport function versionContent(content: string, version: string) {\n\tlet cursor = 0\n\twhile (true) {\n\t\tconst start = content.indexOf('{#', cursor)\n\t\tif (start < 0) {\n\t\t\tbreak\n\t\t}\n\t\tconst end = findMatchingClose(content, start + 2)\n\t\tconst vStart = content.indexOf('#[', start + 1)\n\t\tlet sub = ''\n\t\tif (vStart >= 0 && vStart < end) {\n\t\t\tconst vEnd = content.indexOf(']', vStart + 2)\n\t\t\tconst v = content.substring(vStart + 2, vEnd)\n\t\t\tif (v === version) {\n\t\t\t\tsub = content.substring(vEnd + 1, end).trim()\n\t\t\t}\n\t\t} else {\n\t\t\tconst key = content.substring(start + 2, end)\n\t\t\tconst versionConfig = config.versions.find(v => v.id === version)\n\t\t\tsub = ({\n\t\t\t\tversion: versionConfig?.id,\n\t\t\t\tpack_format: versionConfig?.pack_format.toString(),\n\t\t\t} as Record)[key] ?? ''\n\t\t}\n\t\tcontent = content.substring(0, start) + sub + content.substring(end + 2)\n\t\tcursor = start\n\t\t\n\t}\n\treturn content\n}\n\nfunction findMatchingClose(source: string, index: number) {\n\tlet depth = 0\n\tlet iteration = 0\n\twhile (iteration++ < 1000) {\n\t\tconst close = source.indexOf('#}', index)\n\t\tconst open = source.indexOf('{#', index)\n\t\tif (close < 0) {\n\t\t\tconsole.warn('Missing closing bracket')\n\t\t\treturn source.length\n\t\t}\n\t\tif (open < 0) {\n\t\t\tif (depth === 0) {\n\t\t\t\treturn close\n\t\t\t} else {\n\t\t\t\tdepth -= 1\n\t\t\t\tindex = close + 2\n\t\t\t}\n\t\t} else if (open < close) {\n\t\t\tdepth += 1\n\t\t\tindex = open + 2\n\t\t} else if (depth === 0) {\n\t\t\treturn close\n\t\t} else {\n\t\t\tdepth -= 1\n\t\t\tindex = close + 2\n\t\t}\n\t}\n\tconsole.warn('Exceeded max iterations while finding closing bracket')\n\treturn source.length\n}\n\nexport function stringToColor(str: string): [number, number, number] {\n\tconst h = Math.abs(hashString(str))\n\treturn [h % 256, (h >> 8) % 256, (h >> 16) % 256]\n}\n\nexport function square(a: number) {\n\treturn a * a\n}\n\nexport function clamp(a: number, b: number, c: number) {\n\treturn Math.max(a, Math.min(b, c))\n}\n\nexport function clampedLerp(a: number, b: number, c: number): number {\n\tif (c < 0) {\n\t\treturn a\n\t} else if (c > 1) {\n\t\treturn b\n\t} else {\n\t\treturn lerp(c, a, b)\n\t}\n}\n\nexport function lerp(a: number, b: number, c: number): number {\n\treturn b + a * (c - b)\n}\n\nexport function lerp2(a: number, b: number, c: number, d: number, e: number, f: number): number {\n\treturn lerp(b, lerp(a, c, d), lerp(a, e, f))\n}\n\nexport function lerp3(a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number) {\n\treturn lerp(c, lerp2(a, b, d, e, f, g), lerp2(a, b, h, i, j, k))\n}\n\nexport function smoothstep(x: number): number {\n\treturn x * x * x * (x * (x * 6 - 15) + 10)\n}\n\nexport function message(e: unknown): string {\n\tif (e instanceof Error) return e.message\n\treturn `${e}`\n}\n\nexport const deepClone = rfdc()\n\n/**\n * MIT License\n * \n * Copyright (c) 2017 Evgeny Poberezkin\n * \n * https://github.com/epoberezkin/fast-deep-equal/blob/master/LICENSE\n */\nexport function deepEqual(a: any, b: any) {\n\tif (a === b) return true\n\n\tif (a && b && typeof a == 'object' && typeof b == 'object') {\n\t\tif (a.constructor !== b.constructor) return false\n\t\tlet length, i\n\t\tif (Array.isArray(a)) {\n\t\t\tlength = a.length\n\t\t\tif (length != b.length) return false\n\t\t\tfor (i = 0; i < length; i++) {\n\t\t\t\tif (!deepEqual(a[i], b[i])) return false\n\t\t\t}\n\t\t\treturn true\n\t\t}\n\t\tif (a.valueOf !== Object.prototype.valueOf) return a.valueOf() === b.valueOf()\n\t\tif (a.toString !== Object.prototype.toString) return a.toString() === b.toString()\n\t\tconst keys = Object.keys(a)\n\t\tlength = keys.length\n\t\tif (length !== Object.keys(b).length) return false\n\t\tfor (i = length; i-- !== 0;)\n\t\t\tif (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false\n\t\tfor (i = length; i-- !== 0;) {\n\t\t\tconst key = keys[i]\n\t\t\tif (!deepEqual(a[key], b[key])) return false\n\t\t}\n\t\treturn true\n\t}\n\treturn a !== a && b !== b\n}\n\nexport class BiMap {\n\tprivate readonly forward: Map\n\tprivate readonly backward: Map\n\n\tconstructor() {\n\t\tthis.forward = new Map()\n\t\tthis.backward = new Map()\n\t}\n\n\tpublic set(a: A, b: B) {\n\t\tthis.forward.set(a, b)\n\t\tthis.backward.set(b, a)\n\t}\n\n\tpublic getA(key: B) {\n\t\treturn this.backward.get(key)\n\t}\n\n\tpublic getB(key: A) {\n\t\treturn this.forward.get(key)\n\t}\n\n\tpublic getOrPut(key: A, defaultValue: B) {\n\t\tconst b = this.forward.get(key)\n\t\tif (b === undefined) {\n\t\t\tthis.set(key, defaultValue)\n\t\t\treturn defaultValue\n\t\t}\n\t\treturn b\n\t}\n}\n","import { useEffect, useRef } from 'preact/hooks'\nimport { Octicon } from '.'\nimport { hexId } from '../Utils'\n\ntype BtnInputProps = {\n\ticon?: keyof typeof Octicon,\n\tlabel?: string,\n\tlarge?: boolean,\n\tlarger?: boolean,\n\tdoSelect?: number,\n\tvalue?: string,\n\tplaceholder?: string,\n\tdataList?: string[],\n\tonChange?: (value: string) => unknown,\n}\nexport function BtnInput({ icon, label, large, larger, doSelect, value, placeholder, dataList, onChange }: BtnInputProps) {\n\tconst onInput = onChange === undefined ? () => {} : (e: any) => {\n\t\tconst value = (e.target as HTMLInputElement).value\n\t\tonChange?.(value)\n\t}\n\n\tconst ref = useRef(null)\n\tuseEffect(() => {\n\t\tif (doSelect && ref.current) {\n\t\t\tref.current.select()\n\t\t}\n\t}, [doSelect])\n\n\tconst dataListId = dataList && hexId()\n\n\treturn
    e.stopPropagation()}>\n\t\t{icon && Octicon[icon]}\n\t\t{label && {label}}\n\t\t\n\t\t{dataList && \n\t\t\t{dataList.map(e => }\n\t
    \n}\n","import { useRef, useState } from 'preact/hooks'\n\ninterface ActiveTimeoutOptions {\n\tcooldown?: number,\n\tinvert?: boolean,\n\tinitial?: boolean,\n}\nexport function useActiveTimeout({ cooldown, invert, initial }: ActiveTimeoutOptions = {}): [boolean | undefined, () => unknown] {\n\tconst [active, setActive] = useState(initial)\n\tconst timeout = useRef(undefined)\n\n\tconst trigger = () => {\n\t\tsetActive(invert ? false : true)\n\t\tif (timeout.current !== undefined) clearTimeout(timeout.current)\n\t\ttimeout.current = setTimeout(() => {\n\t\t\tsetActive(invert ? true : false)\n\t\t}, cooldown ?? 2000) as any\n\t}\n\n\treturn [active, trigger]\n}\n","import type { Inputs } from 'preact/hooks'\nimport { useCallback, useEffect, useRef, useState } from 'preact/hooks'\n\n\nexport type AsyncState = {\n\tloading: boolean,\n\terror?: undefined,\n\tvalue?: undefined,\n} | {\n\tloading: true,\n\terror?: Error | undefined,\n\tvalue?: T,\n} | {\n\tloading: false,\n\terror: Error,\n\tvalue?: undefined,\n} | {\n\tloading: false,\n\terror?: undefined,\n\tvalue: T,\n}\n\nexport const AsyncCancel = Symbol('async-cancel')\n\nexport function useAsyncFn Promise>(\n\tfn: T,\n\tinputs: Inputs = [],\n\tinitialState: AsyncState = { loading: false },\n): [AsyncState, (...args: Parameters) => Promise] {\n\tconst [state, setState] = useState>(initialState)\n\tconst isMounted = useRef(false)\n\tconst lastCallId = useRef(0)\n\n\tuseEffect(() => {\n\t\tisMounted.current = true\n\t\treturn () => isMounted.current = false\n\t}, [])\n\n\tconst callback = useCallback((...args: Parameters): Promise => {\n\t\tconst callId = ++lastCallId.current\n\t\tif (!state.loading) {\n\t\t\tsetState(prev => ({ ...prev, loading: true }))\n\t\t}\n\n\t\treturn fn(...args).then(\n\t\t\tvalue => {\n\t\t\t\tif (isMounted.current && callId === lastCallId.current && value !== AsyncCancel) {\n\t\t\t\t\tsetState({ value, loading: false })\n\t\t\t\t}\n\t\t\t\treturn value\n\t\t\t},\n\t\t\terror => {\n\t\t\t\tif (isMounted.current && callId === lastCallId.current) {\n\t\t\t\t\tsetState({ error, loading: false })\n\t\t\t\t}\n\t\t\t\treturn undefined\n\t\t\t})\n\t}, inputs)\n\n\treturn [state, callback]\n}\n","import type { Inputs } from 'preact/hooks'\nimport { useEffect } from 'preact/hooks'\nimport type { AsyncCancel, AsyncState } from './useAsyncFn'\nimport { useAsyncFn } from './useAsyncFn'\n\nexport function useAsync(\n\tfn: () => Promise,\n\tinputs: Inputs = [],\n\tinitialState: AsyncState = { loading: true },\n): AsyncState {\n\tconst [state, callback] = useAsyncFn Promise>(fn, inputs, initialState)\n\n\tuseEffect(() => {\n\t\tcallback()\n\t}, [callback])\n\n\treturn state\n}\n","import type { Inputs } from 'preact/hooks'\nimport { useEffect, useRef } from 'preact/hooks'\n\ntype Vec2 = [number, number]\n\nexport function useCanvas({ size, draw, onDrag, onHover, onLeave }: {\n\tsize: () => Vec2,\n\tdraw: (img: ImageData) => Promise,\n\tonDrag?: (dx: number, dy: number) => Promise,\n\tonHover?: (x: number, y: number) => unknown,\n\tonLeave?: () => unknown,\n}, inputs?: Inputs) {\n\tconst canvas = useRef(null)\n\n\tconst dragStart = useRef()\n\tconst dragRequest = useRef()\n\tconst dragPending = useRef([0, 0])\n\tconst dragBusy = useRef(false)\n\n\tuseEffect(() => {\n\t\tif (!canvas.current) return\n\t\tconst onMouseDown = (e: MouseEvent) => {\n\t\t\tdragStart.current = [e.offsetX, e.offsetY]\n\t\t}\n\t\tconst onMouseMove = (e: MouseEvent) => {\n\t\t\tif (dragStart.current === undefined) {\n\t\t\t\tif (!canvas.current) return\n\t\t\t\tconst x = e.offsetX / canvas.current.clientWidth\n\t\t\t\tconst y = e.offsetY / canvas.current.clientHeight\n\t\t\t\tonHover?.(x, y)\n\t\t\t\treturn\n\t\t\t}\n\t\t\tif (!onDrag) return\n\t\t\tconst dx = e.offsetX - dragStart.current[0]\n\t\t\tconst dy = e.offsetY - dragStart.current[1]\n\t\t\tif (!(dx === 0 && dy === 0)) {\n\t\t\t\tdragPending.current = [dragPending.current[0] + dx, dragPending.current[1] + dy]\n\t\t\t\tif (!dragBusy.current) {\n\t\t\t\t\tif (dragRequest.current) {\n\t\t\t\t\t\tcancelAnimationFrame(dragRequest.current)\n\t\t\t\t\t}\n\t\t\t\t\tdragRequest.current = requestAnimationFrame(async () => {\n\t\t\t\t\t\tif (!canvas.current) return\n\t\t\t\t\t\tdragBusy.current = true\n\t\t\t\t\t\tconst dx = dragPending.current[0] / canvas.current.clientWidth\n\t\t\t\t\t\tconst dy = dragPending.current[1] / canvas.current.clientHeight\n\t\t\t\t\t\tdragPending.current = [0, 0]\n\t\t\t\t\t\tawait onDrag?.(dx, dy)\n\t\t\t\t\t\tdragBusy.current = false\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t}\n\t\t\tdragStart.current = [e.offsetX, e.offsetY]\n\t\t}\n\t\tconst onMouseUp = () => {\n\t\t\tdragStart.current = undefined\n\t\t}\n\t\tconst onMouseLeave = () => {\n\t\t\tonLeave?.()\n\t\t}\n\n\t\tcanvas.current.addEventListener('mousedown', onMouseDown)\n\t\tcanvas.current.addEventListener('mousemove', onMouseMove)\n\t\tcanvas.current.addEventListener('mouseleave', onMouseLeave)\n\t\tdocument.body.addEventListener('mouseup', onMouseUp)\n\n\t\treturn () => {\n\t\t\tcanvas.current?.removeEventListener('mousedown', onMouseDown)\n\t\t\tcanvas.current?.removeEventListener('mousemove', onMouseMove)\n\t\t\tcanvas.current?.removeEventListener('mouseleave', onMouseLeave)\n\t\t\tdocument.body.removeEventListener('mouseup', onMouseUp)\n\t\t}\n\t}, [...inputs ?? [], canvas.current])\n\n\tconst redraw = useRef<() => Promise>()\n\tconst redrawCount = useRef(0)\n\tredraw.current = async () => {\n\t\tif (!canvas.current) return\n\t\tconst ctx = canvas.current.getContext('2d')!\n\t\tconst s = size()\n\t\tcanvas.current.width = s[0]\n\t\tcanvas.current.height = s[1]\n\t\tconst img = ctx.getImageData(0, 0, s[0], s[1])\n\t\tconst ownCount = redrawCount.current += 1\n\t\ttry {\n\t\t\tawait draw(img)\n\t\t} catch (e) {\n\t\t\tthrow e\n\t\t}\n\t\tif (ownCount === redrawCount.current) {\n\t\t\tctx.putImageData(img, 0, 0)\n\t\t}\n\t}\n\n\treturn {\n\t\tcanvas,\n\t\tredraw: redraw.current,\n\t}\n}\n","import { useEffect, useState } from 'preact/hooks'\n\nexport function useFocus(): [boolean, () => unknown] {\n\tconst [active, setActive] = useState(false)\n\n\tconst hider = () => {\n\t\tsetActive(false)\n\t}\n\n\tuseEffect(() => {\n\t\tif (active) {\n\t\t\tdocument.body.addEventListener('click', hider)\n\t\t\tdocument.body.addEventListener('contextmenu', hider)\n\t\t}\n\t\treturn () => {\n\t\t\tdocument.body.removeEventListener('click', hider)\n\t\t\tdocument.body.removeEventListener('contextmenu', hider)\n\t\t}\n\t}, [active])\n\n\treturn [active, () => setActive(true)]\n}\n","import { useCallback, useEffect, useState } from 'preact/hooks'\nimport { changeUrl } from '../Utils'\n\nexport function useHash(): [string, (hash: string) => unknown] {\n\tconst [hash, setHash] = useState(window.location.hash)\n\n\tconst onChange = useCallback(() => {\n\t\tsetHash(window.location.hash)\n\t}, [])\n\n\tuseEffect(() => {\n\t\twindow.addEventListener('hashchange', onChange)\n\t\twindow.addEventListener('replacestate', onChange)\n\t\treturn () => {\n\t\t\twindow.removeEventListener('hashchange', onChange)\n\t\t\twindow.removeEventListener('replacestate', onChange)\n\t\t}\n\t}, [])\n\n\tconst changeHash = useCallback((newHash: string) => {\n\t\tif (newHash !== hash) {\n\t\t\tchangeUrl({ hash: newHash })\n\t\t}\n\t}, [hash])\n\n\treturn [hash, changeHash]\n}\n","import { useEffect, useState } from 'preact/hooks'\n\nexport function useMediaQuery(query: string): boolean {\n\tconst [prefers, setPrefers] = useState(matchMedia(query).matches)\n\n\tconst onChange = (e: MediaQueryListEvent) => {\n\t\tsetPrefers(e.matches)\n\t}\n\n\tuseEffect(() => {\n\t\tconst mediaQuery = matchMedia(query)\n\t\tmediaQuery.addEventListener('change', onChange)\n\t\treturn () => {\n\t\t\tmediaQuery.removeEventListener('change', onChange)\n\t\t}\n\t}, [query])\n\n\treturn prefers\n}\n","import type { DataModel } from '@mcschema/core'\nimport type { Inputs } from 'preact/hooks'\nimport { useEffect } from 'preact/hooks'\n\nexport function useModel(model: DataModel | undefined | null, invalidated: (model: DataModel) => unknown, inputs?: Inputs) {\n\tconst listener = {\n\t\tinvalidated() {\n\t\t\tif (model) {\n\t\t\t\tinvalidated(model)\n\t\t\t}\n\t\t},\n\t}\n\n\tuseEffect(() => {\n\t\tmodel?.addListener(listener)\n\t\treturn () => {\n\t\t\tmodel?.removeListener(listener)\n\t\t}\n\t}, [model, ...inputs ?? []])\n}\n","import { useCallback, useEffect, useState } from 'preact/hooks'\nimport { changeUrl } from '../Utils'\n\nconst getValue = (search: string, param: string) => new URLSearchParams(search).get(param) ?? undefined\n\nexport function useSearchParam(param: string): [string | undefined, (value: string | undefined, replace?: boolean) => unknown] {\n\tconst location = window.location\n\tconst [value, setValue] = useState(getValue(location.search, param))\n\n\tuseEffect(() => {\n\t\tconst onChange = () => {\n\t\t\tsetValue(getValue(location.search, param))\n\t\t}\n\n\t\twindow.addEventListener('popstate', onChange)\n\t\twindow.addEventListener('pushstate', onChange)\n\t\twindow.addEventListener('replacestate', onChange)\n\n\t\treturn () => {\n\t\t\twindow.removeEventListener('popstate', onChange)\n\t\t\twindow.removeEventListener('pushstate', onChange)\n\t\t\twindow.removeEventListener('replacestate', onChange)\n\t\t}\n\t}, [])\n\n\tconst changeValue = useCallback((newValue: string | undefined, replace?: boolean) => {\n\t\tif (newValue !== value) {\n\t\t\tsetValue(newValue)\n\t\t\tconst params = new URLSearchParams(location.search)\n\t\t\tif (newValue === undefined || newValue.length === 0) {\n\t\t\t\tparams.delete(param)\n\t\t\t} else {\n\t\t\t\tparams.set(param, newValue)\n\t\t\t}\n\t\t\tchangeUrl({ search: params.toString().replaceAll('%7C', '|'), replace })\n\t\t}\n\t}, [value])\n\n\treturn [value, changeValue]\n};\n","import type { ComponentChildren } from 'preact'\nimport type { Octicon } from '.'\nimport { Btn } from '.'\nimport { useFocus } from '../hooks'\n\ninterface BtnMenuProps extends JSX.HTMLAttributes {\n\ticon?: keyof typeof Octicon,\n\tlabel?: string,\n\trelative?: boolean,\n\ttooltip?: string,\n\ttooltipLoc?: 'se' | 'sw' | 'nw',\n\tchildren: ComponentChildren,\n}\nexport function BtnMenu(props: BtnMenuProps) {\n\tconst { icon, label, relative, tooltip, tooltipLoc, children } = props\n\tconst [active, setActive] = useFocus()\n\n\treturn
    \n\t\t\n\t\t{active &&
    \n\t\t\t{children}\n\t\t
    }\n\t
    \n}\n","const scriptRel = 'modulepreload';const seen = {};const base = '/';export const __vitePreload = function preload(baseModule, deps) {\n // @ts-ignore\n if (!__VITE_IS_MODERN__ || !deps || deps.length === 0) {\n return baseModule();\n }\n return Promise.all(deps.map((dep) => {\n // @ts-ignore\n dep = `${base}${dep}`;\n // @ts-ignore\n if (dep in seen)\n return;\n // @ts-ignore\n seen[dep] = true;\n const isCss = dep.endsWith('.css');\n const cssSelector = isCss ? '[rel=\"stylesheet\"]' : '';\n // @ts-ignore check if the file is already preloaded by SSR markup\n if (document.querySelector(`link[href=\"${dep}\"]${cssSelector}`)) {\n return;\n }\n // @ts-ignore\n const link = document.createElement('link');\n // @ts-ignore\n link.rel = isCss ? 'stylesheet' : scriptRel;\n if (!isCss) {\n link.as = 'script';\n link.crossOrigin = '';\n }\n link.href = dep;\n // @ts-ignore\n document.head.appendChild(link);\n if (isCss) {\n return new Promise((res, rej) => {\n link.addEventListener('load', res);\n link.addEventListener('error', () => rej(new Error(`Unable to preload CSS for ${dep}`)));\n });\n }\n })).then(() => baseModule());\n}","export const Octicon = {\n\talert: ,\n\tarchive: ,\n\tarrow_left: ,\n\tarrow_right: ,\n\tcheck: ,\n\tchevron_down: ,\n\tchevron_right: ,\n\tchevron_up: ,\n\tclippy: ,\n\tcode: ,\n\tdash: ,\n\tdevice_desktop: ,\n\tdot_fill: ,\n\tdownload: ,\n\tduplicate: ,\n\teye: ,\n\teye_closed: ,\n\tfile: ,\n\tfile_directory: ,\n\tgear: ,\n\tglobe: ,\n\thistory: ,\n\tinfo: ,\n\tissue_opened: ,\n\tkebab_horizontal: ,\n\tlink: ,\n\tlink_external: ,\n\tmark_github: ,\n\tmoon: ,\n\tplay: ,\n\tplus: ,\n\tplus_circle: ,\n\trepo: ,\n\tsearch: ,\n\tsort_asc: ,\n\tsort_desc: ,\n\tsquare: ,\n\tsquare_fill: ,\n\tstack: ,\n\tsun: ,\n\tsync: ,\n\ttag: ,\n\tterminal: ,\n\tthree_bars: ,\n\ttrashcan: ,\n\tunfold: ,\n\tupload: ,\n\tx: ,\n\tx_circle: ,\n}\n","import { useEffect, useMemo, useState } from 'preact/hooks'\nimport { Octicon } from './Octicon'\n\ntype ErrorPanelProps = {\n\terror: string | Error,\n\tonDismiss?: () => unknown,\n}\nexport function ErrorPanel({ error, onDismiss }: ErrorPanelProps) {\n\tconst [stackVisible, setStackVisible] = useState(false)\n\tconst [stack, setStack] = useState(undefined)\n\n\tuseEffect(() => {\n\t\tif (error instanceof Error) {\n\t\t\tconst stack = error.stack!.split('\\n').map(line => {\n\t\t\t\treturn line.replace(/^(\\s+)at (?:async )?(https?:.*)/, '$1at ($2)')\n\t\t\t})\n\t\t\tsetStack(stack.join('\\n'))\n\t\t\timport('sourcemapped-stacktrace').then(({ mapStackTrace }) => {\n\t\t\t\tmapStackTrace(stack.join('\\n'), (mapped) => {\n\t\t\t\t\tconst mappedStack = mapped.map(line => {\n\t\t\t\t\t\treturn line.replace(/..\\/..\\/src\\//, 'src/')\n\t\t\t\t\t}).join('\\n')\n\t\t\t\t\tsetStack(mappedStack)\n\t\t\t\t})\n\t\t\t})\n\t\t}\n\t}, [error])\n\n\tconst url = useMemo(() => {\n\t\tlet url ='https://github.com/misode/misode.github.io/issues/new'\n\t\tif (error instanceof Error) {\n\t\t\turl += `?title=${encodeURIComponent(`${error.name}: ${error.message}`)}`\n\t\t\tif (stack) {\n\t\t\t\turl += `&body=${encodeURIComponent(`\\`\\`\\`\\n${error.name}: ${error.message}\\n${stack}\\n\\`\\`\\`\\n`)}`\n\t\t\t}\n\t\t} else {\n\t\t\turl += `?title=${encodeURIComponent(error.toString())}`\n\t\t}\n\t\treturn url\n\t}, [error, stack])\n\n\treturn
    \n\t\t{onDismiss &&
    {Octicon.x}
    }\n\t\t

    \n\t\t\t{error instanceof Error ? error.message : error}\n\t\t\t{stack && setStackVisible(!stackVisible)}>\n\t\t\t\t{Octicon.info}\n\t\t\t}\n\t\t

    \n\t\t{stack && stackVisible &&
    {stack}
    }\n\t\t

    If you think this is a bug, you can report it on GitHub

    \n\t
    \n}\n","import { hexId } from '../../Utils'\n\ninterface Props {\n\tlabel: string,\n\tvalue: boolean,\n\tonChange: (value: boolean) => unknown,\n}\nexport function Checkbox({ label, value, onChange }: Props) {\n\tconst id = hexId()\n\treturn \n}\n","import type { JSXInternal } from 'preact/src/jsx'\n\ntype InputProps = JSXInternal.HTMLAttributes\n\ntype BaseInputProps = Omit & {\n\tonChange?: (value: T) => unknown,\n\tonEnter?: (value: T) => unknown,\n}\nfunction BaseInput(name: string, type: string, fn: (value: string) => T) {\n\tconst component = (props: BaseInputProps) => {\n\t\tconst onChange = props.onChange && ((evt: Event) => {\n\t\t\tconst value = (evt.target as HTMLInputElement).value\n\t\t\tprops.onChange?.(fn(value))\n\t\t})\n\t\tconst onKeyDown = props.onEnter && ((evt: KeyboardEvent) => {\n\t\t\tif (evt.key === 'Enter') {\n\t\t\t\tconst value = (evt.target as HTMLInputElement).value\n\t\t\t\tprops.onEnter?.(fn(value))\n\t\t\t}\n\t\t})\n\t\treturn \n\t}\n\tcomponent.displayName = name\n\treturn component\n}\n\nexport const TextInput = BaseInput('TextInput', 'text', v => v)\n\nexport const NumberInput = BaseInput('NumberInput', 'number', v => Number(v))\n\nexport const RangeInput = BaseInput('RangeInput', 'range', v => Number(v))\n","import { useMemo, useState } from 'preact/hooks'\nimport { Btn, BtnInput } from '..'\n\ninterface Props {\n\tvalues?: string[],\n\tonSelect?: (value: string) => unknown,\n\tsearchPlaceholder?: string,\n\tnoResults?: string,\n}\nexport function SearchList({ values, onSelect, searchPlaceholder, noResults }: Props) {\n\tconst [search, setSearch] = useState('')\n\tconst results = useMemo(() => {\n\t\tconst terms = search.trim().split(' ')\n\t\treturn values?.filter(v => terms.every(t => v.includes(t))) ?? []\n\t}, [values, search])\n\n\treturn <>\n\t\t\n\t\t
    \n\t\t\t{results.map(v => onSelect?.(v)} />)}\n\t\t\t{results.length === 0 && }\n\t\t
    \n\t\n}\n","import { isObject } from '../Utils'\n\nconst repo = 'https://raw.githubusercontent.com/misode/technical-changes/main'\n\nexport type Change = {\n\tgroup: ChangelogVersion,\n\tversion: ChangelogVersion,\n\torder: number,\n\ttags: string[],\n\tcontent: string,\n}\n\nexport type ChangelogVersion = {\n\tid: string,\n\tarticle: string | null,\n}\n\nlet Changelogs: Change[] | Promise | null = null\n\nexport async function getChangelogs() {\n\tif (!Changelogs) {\n\t\tconst index = await (await fetch(`${repo}/index.json`)).json() as string[]\n\t\tChangelogs = (await Promise.all(\n\t\t\tindex.map((group, i) => fetchGroup(parseVersion(group), i))\n\t\t)).flat().map(change => ({\n\t\t\t...change,\n\t\t\ttags: [change.group.id, ...change.tags],\n\t\t}))\n\t}\n\treturn Changelogs\n}\n\nasync function fetchGroup(group: ChangelogVersion, groupIndex: number) {\n\tconst index = await (await fetch(`${repo}/${group.id}/index.json`)).json() as string[]\n\treturn (await Promise.all(\n\t\tindex.map((version, i) => fetchChangelog(group, parseVersion(version), groupIndex, i))\n\t)).flat()\n}\n\nasync function fetchChangelog(group: ChangelogVersion, version: ChangelogVersion, groupIndex: number, versionIndex: number) {\n\tconst text = await (await fetch(`${repo}/${group.id}/${version.id}.md`)).text()\n\treturn parseChangelog(text).map(change => ({\n\t\tversion,\n\t\tgroup,\n\t\torder: groupIndex * 1000 + versionIndex,\n\t\t...change,\n\t}))\n}\n\nfunction parseChangelog(text: string) {\n\treturn text.split('\\n\\n')\n\t\t.map(entry => {\n\t\t\tconst i = entry.indexOf('|')\n\t\t\treturn {\n\t\t\t\ttags: entry.substring(0, i).trim().split(' '),\n\t\t\t\tcontent: entry.slice(i + 1).trim()\n\t\t\t\t\t.replaceAll('->', '→')\n\t\t\t\t\t.replaceAll('\\n...\\n', '\\n\\n'),\n\t\t\t}\n\t\t})\n}\n\nfunction parseVersion(version: unknown): ChangelogVersion {\n\tif (typeof version === 'string') {\n\t\treturn {\n\t\t\tid: version,\n\t\t\tarticle: version.match(/\\d\\dw\\d\\d[a-z]/) ? 'minecraft-snapshot-' + version : version.match(/\\d+\\.\\d+(\\.\\d+)?-pre[0-9]+/) ? 'minecraft-' + version.replaceAll('.', '-').replaceAll('pre', 'pre-release-') : null,\n\t\t}\n\t} else if (isObject(version)) {\n\t\treturn version as ChangelogVersion\n\t}\n\treturn { id: 'unknown', article: null }\n}\n","import type { CollectionRegistry } from '@mcschema/core'\nimport config from '../../config.json'\nimport { message } from '../Utils'\nimport type { BlockStateRegistry, VersionId } from './Schemas'\n\n// Cleanup old caches\n['1.15', '1.16', '1.17'].forEach(v => localStorage.removeItem(`cache_${v}`));\n['mcdata_master', 'vanilla_datapack_summary'].forEach(v => localStorage.removeItem(`cached_${v}`))\ncaches.delete('misode-v1')\n\nconst CACHE_NAME = 'misode-v2'\nconst CACHE_LATEST_VERSION = 'cached_latest_version'\n\ntype Version = {\n\tid: string,\n\tref?: string,\n\tdynamic?: boolean,\n}\n\ndeclare var __LATEST_VERSION__: string\nconst latestVersion = __LATEST_VERSION__ ?? ''\nconst mcmetaUrl = 'https://raw.githubusercontent.com/misode/mcmeta'\n\ntype McmetaTypes = 'summary' | 'data' | 'assets' | 'registries'\n\nfunction mcmeta(version: { dynamic: true } | { dynamic?: false, ref?: string}, type: McmetaTypes) {\n\treturn `${mcmetaUrl}/${version.dynamic ? type : `${version.ref}-${type}`}`\n}\n\nasync function validateCache(version: Version) {\n\tif (version.dynamic) {\n\t\tif (localStorage.getItem(CACHE_LATEST_VERSION) !== latestVersion) {\n\t\t\tawait deleteMatching(url => url.startsWith(`${mcmetaUrl}/summary/`) || url.startsWith(`${mcmetaUrl}/data/`) || url.startsWith(`${mcmetaUrl}/assets/`) || url.startsWith(`${mcmetaUrl}/registries/`))\n\t\t\tlocalStorage.setItem(CACHE_LATEST_VERSION, latestVersion)\n\t\t}\n\t\tversion.ref = latestVersion\n\t}\n}\n\nexport async function fetchData(versionId: string, collectionTarget: CollectionRegistry, blockStateTarget: BlockStateRegistry) {\n\tconst version = config.versions.find(v => v.id === versionId) as Version | undefined\n\tif (!version) {\n\t\tconsole.error(`[fetchData] Unknown version ${version} in ${JSON.stringify(config.versions)}`)\n\t\treturn\n\t}\n\n\tawait validateCache(version)\n\n\tawait Promise.all([\n\t\tfetchRegistries(version, collectionTarget),\n\t\tfetchBlockStateMap(version, blockStateTarget),\n\t])\n}\n\nasync function fetchRegistries(version: Version, target: CollectionRegistry) {\n\tconsole.debug(`[fetchRegistries] ${version.id}`)\n\ttry {\n\t\tconst data = await getData(`${mcmeta(version, 'summary')}/registries/data.min.json`)\n\t\tfor (const id in data) {\n\t\t\ttarget.register(id, data[id].map((e: string) => 'minecraft:' + e))\n\t\t}\n\t} catch (e) {\n\t\tconsole.warn('Error occurred while fetching registries:', message(e))\n\t}\n}\n\nasync function fetchBlockStateMap(version: Version, target: BlockStateRegistry) {\n\tconsole.debug(`[fetchBlockStateMap] ${version.id}`)\n\ttry {\n\t\tconst data = await getData(`${mcmeta(version, 'summary')}/blocks/data.min.json`)\n\t\tfor (const id in data) {\n\t\t\ttarget['minecraft:' + id] = {\n\t\t\t\tproperties: data[id][0],\n\t\t\t\tdefault: data[id][1],\n\t\t\t}\n\t\t}\n\t} catch (e) {\n\t\tconsole.warn('Error occurred while fetching block state map:', message(e))\n\t}\n}\n\nexport async function fetchPreset(versionId: VersionId, registry: string, id: string) {\n\tconsole.debug(`[fetchPreset] ${versionId} ${registry} ${id}`)\n\tconst version = config.versions.find(v => v.id === versionId)!\n\ttry {\n\t\tconst type = ['blockstates', 'models'].includes(registry) ? 'assets' : 'data'\n\t\tconst url = `${mcmeta(version, type)}/${type}/minecraft/${registry}/${id}.json`\n\t\tconst res = await fetch(url)\n\t\treturn await res.json()\n\t} catch (e) {\n\t\tthrow new Error(`Error occurred while fetching ${registry} preset ${id}: ${message(e)}`)\n\t}\n}\n\nexport async function fetchAllPresets(versionId: VersionId, registry: string) {\n\tconsole.debug(`[fetchAllPresets] ${versionId} ${registry}`)\n\tconst version = config.versions.find(v => v.id === versionId)!\n\tawait validateCache(version)\n\ttry {\n\t\tconst entries = await getData(`${mcmeta(version, 'registries')}/${registry}/data.min.json`)\n\t\treturn new Map(await Promise.all(\n\t\t\tentries.map(async (e: string) =>\n\t\t\t\t[e, await getData(`${mcmeta(version, 'data')}/data/minecraft/${registry}/${e}.json`)])\n\t\t))\n\t} catch (e) {\n\t\tthrow new Error(`Error occurred while fetching all ${registry} presets: ${message(e)}`)\n\t}\n}\n\nexport type SoundEvents = {\n\t[key: string]: {\n\t\tsounds: (string | { name: string })[],\n\t},\n}\nexport async function fetchSounds(versionId: VersionId): Promise {\n\tconst version = config.versions.find(v => v.id === versionId)!\n\tawait validateCache(version)\n\ttry {\n\t\tconst url = `${mcmeta(version, 'summary')}/sounds/data.min.json`\n\t\treturn await getData(url)\n\t} catch (e) {\n\t\tthrow new Error(`Error occurred while fetching sounds for ${version}: ${message(e)}`)\n\t}\n}\n\nexport function getSoundUrl(versionId: VersionId, path: string) {\n\tconst version = config.versions.find(v => v.id === versionId)!\n\treturn `${mcmeta(version, 'assets')}/assets/minecraft/sounds/${path}.ogg`\n}\n\nexport type VersionMeta = {\n\tid: string,\n\tname: string,\n\trelease_target: string,\n\ttype: 'snapshot' | 'release',\n\tstable: boolean,\n\tdata_version: number,\n\tprotocol_version: number,\n\tdata_pack_version: number,\n\tresource_pack_version: number,\n\tbuild_time: string,\n\trelease_time: string,\n\tsha1: string,\n}\nexport async function fetchVersions(): Promise {\n\tconst version = config.versions[config.versions.length - 1]\n\tawait validateCache(version)\n\ttry {\n\t\treturn getData(`${mcmeta(version, 'summary')}/versions/data.min.json`)\n\t} catch (e) {\n\t\tthrow new Error(`Error occured while fetching versions: ${message(e)}`)\n\t}\n}\n\nasync function getData(url: string, fn: (v: any) => T = (v: any) => v): Promise {\n\ttry {\n\t\tconst cache = await caches.open(CACHE_NAME)\n\t\tconsole.debug(`[getData] Opened cache ${CACHE_NAME} ${url}`)\n\t\tconst cacheResponse = await cache.match(url)\n \n\t\tif (cacheResponse && cacheResponse.ok) {\n\t\t\tconsole.debug(`[getData] Retrieving cached data ${url}`)\n\t\t\treturn await cacheResponse.json()\n\t\t}\n \n\t\tconsole.debug(`[getData] fetching data ${url}`)\n\t\tconst fetchResponse = await fetch(url)\n\t\tconst responseData = fn(await fetchResponse.json())\n\t\tawait cache.put(url, new Response(JSON.stringify(responseData)))\n\t\treturn responseData\n\t} catch (e) {\n\t\tconsole.warn(`[getData] Failed to open cache ${CACHE_NAME}: ${message(e)}`)\n\n\t\tconsole.debug(`[getData] fetching data ${url}`)\n\t\tconst fetchResponse = await fetch(url)\n\t\tconst responseData = fn(await fetchResponse.json())\n\t\treturn responseData\n\t}\n}\n\nasync function deleteMatching(matches: (url: string) => boolean) {\n\ttry {\n\t\tconst cache = await caches.open(CACHE_NAME)\n\t\tconsole.debug(`[deleteMatching] Opened cache ${CACHE_NAME}`)\n\t\tconst promises: Promise[] = []\n \n\t\tfor (const request of await cache.keys()) {\n\t\t\tif (matches(request.url)) {\n\t\t\t\tpromises.push(cache.delete(request))\n\t\t\t}\n\t\t}\n\t\tconsole.debug(`[deleteMatching] Removing ${promises.length} cache objects...`)\n\t\tawait Promise.all(promises)\n\t} catch (e) {\n\t\tconsole.warn(`[deleteMatching] Failed to open cache ${CACHE_NAME}: ${message(e)}`)\n\t}\n}\n","import type { CollectionRegistry, INode, SchemaRegistry } from '@mcschema/core'\nimport { ChoiceNode, DataModel, Reference, StringNode } from '@mcschema/core'\nimport config from '../../config.json'\nimport { message } from '../Utils'\nimport { fetchData } from './DataFetcher'\n\nexport const VersionIds = ['1.15', '1.16', '1.17', '1.18', '1.18.2', '1.19'] as const\nexport type VersionId = typeof VersionIds[number]\n\nexport type BlockStateRegistry = {\n\t[block: string]: {\n\t\tproperties?: {\n\t\t\t[key: string]: string[],\n\t\t},\n\t\tdefault?: {\n\t\t\t[key: string]: string,\n\t\t},\n\t},\n}\n\ntype VersionData = {\n\tcollections: CollectionRegistry,\n\tschemas: SchemaRegistry,\n\tblockStates: BlockStateRegistry,\n}\nconst Versions: Record> = {}\n\ntype ModelData = {\n\tmodel: DataModel,\n\tversion: VersionId,\n}\nconst Models: Record = {}\n\nconst versionGetter: {\n\t[versionId in VersionId]: () => Promise<{\n\t\tgetCollections: () => CollectionRegistry,\n\t\tgetSchemas: (collections: CollectionRegistry) => SchemaRegistry,\n\t}>\n} = {\n\t1.15: () => import('@mcschema/java-1.15'),\n\t1.16: () => import('@mcschema/java-1.16'),\n\t1.17: () => import('@mcschema/java-1.17'),\n\t1.18: () => import('@mcschema/java-1.18'),\n\t'1.18.2': () => import('@mcschema/java-1.18.2'),\n\t1.19: () => import('@mcschema/java-1.19'),\n}\n\nexport let CachedDecorator: INode\nexport let CachedFeature: INode\nexport let CachedCollections: CollectionRegistry\n\nasync function getVersion(id: VersionId): Promise {\n\tif (!Versions[id]) {\n\t\tVersions[id] = (async () => {\n\t\t\ttry {\n\t\t\t\tconst mcschema = await versionGetter[id]()\n\t\t\t\tconst collections = mcschema.getCollections()\n\t\t\t\tconst blockStates: BlockStateRegistry = {}\n\t\t\t\tawait fetchData(id, collections, blockStates)\n\t\t\t\tconst schemas = mcschema.getSchemas(collections)\n\t\t\t\tVersions[id] = { collections, schemas, blockStates }\n\t\t\t\treturn Versions[id]\n\t\t\t} catch (e) {\n\t\t\t\tthrow new Error(`Cannot get version \"${id}\": ${message(e)}`)\n\t\t\t}\n\t\t})()\n\t\treturn Versions[id]\n\t}\n\treturn Versions[id]\n}\n\nexport async function getModel(version: VersionId, id: string): Promise {\n\tif (!Models[id] || Models[id].version !== version) {\n\t\tconst versionData = await getVersion(version)\n\t\t\n\t\tCachedDecorator = Reference(versionData.schemas, 'configured_decorator')\n\t\tCachedFeature = ChoiceNode([\n\t\t\t{\n\t\t\t\ttype: 'string',\n\t\t\t\tnode: StringNode(versionData.collections, { validator: 'resource', params: { pool: '$worldgen/configured_feature' } }),\n\t\t\t},\n\t\t\t{\n\t\t\t\ttype: 'object',\n\t\t\t\tnode: Reference(versionData.schemas, 'configured_feature'),\n\t\t\t},\n\t\t], { choiceContext: 'feature' })\n\n\t\tconst schemaName = config.generators.find(g => g.id === id)?.schema\n\t\tif (!schemaName) {\n\t\t\tthrow new Error(`Cannot find model ${id}`)\n\t\t}\n\t\ttry {\n\t\t\tconst schema = versionData.schemas.get(schemaName)\n\t\t\tconst model = new DataModel(schema, { wrapLists: true })\n\t\t\tif (Models[id]) {\n\t\t\t\tmodel.reset(Models[id].model.data, false)\n\t\t\t} else {\n\t\t\t\tmodel.validate(true)\n\t\t\t\tmodel.history = [JSON.stringify(model.data)]\n\t\t\t}\n\t\t\tModels[id] = { model, version }\n\t\t} catch (e) {\n\t\t\tconst err = new Error(`Cannot get generator \"${id}\" for version \"${version}\": ${message(e)}`)\n\t\t\tif (e instanceof Error) err.stack = e.stack\n\t\t\tthrow err\n\t\t}\n\t}\n\treturn Models[id].model\n}\n\nexport async function getCollections(version: VersionId): Promise {\n\tconst versionData = await getVersion(version)\n\tCachedCollections = versionData.collections\n\treturn versionData.collections\n}\n\nexport async function getBlockStates(version: VersionId): Promise {\n\tconst versionData = await getVersion(version)\n\treturn versionData.blockStates\n}\n\nexport function checkVersion(versionId: string, minVersionId: string | undefined, maxVersionId?: string) {\n\tconst version = config.versions.findIndex(v => v.id === versionId)\n\tconst minVersion = minVersionId ? config.versions.findIndex(v => v.id === minVersionId) : 0\n\tconst maxVersion = maxVersionId ? config.versions.findIndex(v => v.id === maxVersionId) : config.versions.length - 1\n\treturn minVersion <= version && version <= maxVersion\n}\n","// Copyright (c) 2013 Pieroxy \n// This work is free. You can redistribute it and/or modify it\n// under the terms of the WTFPL, Version 2\n// For more information see LICENSE.txt or http://www.wtfpl.net/\n//\n// For more information, the home page:\n// http://pieroxy.net/blog/pages/lz-string/testing.html\n//\n// LZ-based compression algorithm, version 1.4.4\nvar LZString = (function() {\n\n// private property\nvar f = String.fromCharCode;\nvar keyStrBase64 = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";\nvar keyStrUriSafe = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+-$\";\nvar baseReverseDic = {};\n\nfunction getBaseValue(alphabet, character) {\n if (!baseReverseDic[alphabet]) {\n baseReverseDic[alphabet] = {};\n for (var i=0 ; i>> 8;\n buf[i*2+1] = current_value % 256;\n }\n return buf;\n },\n\n //decompress from uint8array (UCS-2 big endian format)\n decompressFromUint8Array:function (compressed) {\n if (compressed===null || compressed===undefined){\n return LZString.decompress(compressed);\n } else {\n var buf=new Array(compressed.length/2); // 2 bytes per character\n for (var i=0, TotalLen=buf.length; i> 1;\n }\n } else {\n value = 1;\n for (i=0 ; i> 1;\n }\n }\n context_enlargeIn--;\n if (context_enlargeIn == 0) {\n context_enlargeIn = Math.pow(2, context_numBits);\n context_numBits++;\n }\n delete context_dictionaryToCreate[context_w];\n } else {\n value = context_dictionary[context_w];\n for (i=0 ; i> 1;\n }\n\n\n }\n context_enlargeIn--;\n if (context_enlargeIn == 0) {\n context_enlargeIn = Math.pow(2, context_numBits);\n context_numBits++;\n }\n // Add wc to the dictionary.\n context_dictionary[context_wc] = context_dictSize++;\n context_w = String(context_c);\n }\n }\n\n // Output the code for w.\n if (context_w !== \"\") {\n if (Object.prototype.hasOwnProperty.call(context_dictionaryToCreate,context_w)) {\n if (context_w.charCodeAt(0)<256) {\n for (i=0 ; i> 1;\n }\n } else {\n value = 1;\n for (i=0 ; i> 1;\n }\n }\n context_enlargeIn--;\n if (context_enlargeIn == 0) {\n context_enlargeIn = Math.pow(2, context_numBits);\n context_numBits++;\n }\n delete context_dictionaryToCreate[context_w];\n } else {\n value = context_dictionary[context_w];\n for (i=0 ; i> 1;\n }\n\n\n }\n context_enlargeIn--;\n if (context_enlargeIn == 0) {\n context_enlargeIn = Math.pow(2, context_numBits);\n context_numBits++;\n }\n }\n\n // Mark the end of the stream\n value = 2;\n for (i=0 ; i> 1;\n }\n\n // Flush the last char\n while (true) {\n context_data_val = (context_data_val << 1);\n if (context_data_position == bitsPerChar-1) {\n context_data.push(getCharFromInt(context_data_val));\n break;\n }\n else context_data_position++;\n }\n return context_data.join('');\n },\n\n decompress: function (compressed) {\n if (compressed == null) return \"\";\n if (compressed == \"\") return null;\n return LZString._decompress(compressed.length, 32768, function(index) { return compressed.charCodeAt(index); });\n },\n\n _decompress: function (length, resetValue, getNextValue) {\n var dictionary = [],\n next,\n enlargeIn = 4,\n dictSize = 4,\n numBits = 3,\n entry = \"\",\n result = [],\n i,\n w,\n bits, resb, maxpower, power,\n c,\n data = {val:getNextValue(0), position:resetValue, index:1};\n\n for (i = 0; i < 3; i += 1) {\n dictionary[i] = i;\n }\n\n bits = 0;\n maxpower = Math.pow(2,2);\n power=1;\n while (power!=maxpower) {\n resb = data.val & data.position;\n data.position >>= 1;\n if (data.position == 0) {\n data.position = resetValue;\n data.val = getNextValue(data.index++);\n }\n bits |= (resb>0 ? 1 : 0) * power;\n power <<= 1;\n }\n\n switch (next = bits) {\n case 0:\n bits = 0;\n maxpower = Math.pow(2,8);\n power=1;\n while (power!=maxpower) {\n resb = data.val & data.position;\n data.position >>= 1;\n if (data.position == 0) {\n data.position = resetValue;\n data.val = getNextValue(data.index++);\n }\n bits |= (resb>0 ? 1 : 0) * power;\n power <<= 1;\n }\n c = f(bits);\n break;\n case 1:\n bits = 0;\n maxpower = Math.pow(2,16);\n power=1;\n while (power!=maxpower) {\n resb = data.val & data.position;\n data.position >>= 1;\n if (data.position == 0) {\n data.position = resetValue;\n data.val = getNextValue(data.index++);\n }\n bits |= (resb>0 ? 1 : 0) * power;\n power <<= 1;\n }\n c = f(bits);\n break;\n case 2:\n return \"\";\n }\n dictionary[3] = c;\n w = c;\n result.push(c);\n while (true) {\n if (data.index > length) {\n return \"\";\n }\n\n bits = 0;\n maxpower = Math.pow(2,numBits);\n power=1;\n while (power!=maxpower) {\n resb = data.val & data.position;\n data.position >>= 1;\n if (data.position == 0) {\n data.position = resetValue;\n data.val = getNextValue(data.index++);\n }\n bits |= (resb>0 ? 1 : 0) * power;\n power <<= 1;\n }\n\n switch (c = bits) {\n case 0:\n bits = 0;\n maxpower = Math.pow(2,8);\n power=1;\n while (power!=maxpower) {\n resb = data.val & data.position;\n data.position >>= 1;\n if (data.position == 0) {\n data.position = resetValue;\n data.val = getNextValue(data.index++);\n }\n bits |= (resb>0 ? 1 : 0) * power;\n power <<= 1;\n }\n\n dictionary[dictSize++] = f(bits);\n c = dictSize-1;\n enlargeIn--;\n break;\n case 1:\n bits = 0;\n maxpower = Math.pow(2,16);\n power=1;\n while (power!=maxpower) {\n resb = data.val & data.position;\n data.position >>= 1;\n if (data.position == 0) {\n data.position = resetValue;\n data.val = getNextValue(data.index++);\n }\n bits |= (resb>0 ? 1 : 0) * power;\n power <<= 1;\n }\n dictionary[dictSize++] = f(bits);\n c = dictSize-1;\n enlargeIn--;\n break;\n case 2:\n return result.join('');\n }\n\n if (enlargeIn == 0) {\n enlargeIn = Math.pow(2, numBits);\n numBits++;\n }\n\n if (dictionary[c]) {\n entry = dictionary[c];\n } else {\n if (c === dictSize) {\n entry = w + w.charAt(0);\n } else {\n return null;\n }\n }\n result.push(entry);\n\n // Add w+entry[0] to the dictionary.\n dictionary[dictSize++] = w + entry.charAt(0);\n enlargeIn--;\n\n w = entry;\n\n if (enlargeIn == 0) {\n enlargeIn = Math.pow(2, numBits);\n numBits++;\n }\n\n }\n }\n};\n return LZString;\n})();\n\nif (typeof define === 'function' && define.amd) {\n define(function () { return LZString; });\n} else if( typeof module !== 'undefined' && module != null ) {\n module.exports = LZString\n}\n","import lz from 'lz-string'\nimport type { VersionId } from './Schemas'\n\nconst API_PREFIX = 'https://z15g7can.directus.app/items'\n\nconst ShareCache = new Map()\n\nexport async function shareSnippet(type: string, version: VersionId, jsonData: any, show_preview: boolean) {\n\ttry {\n\t\tconst raw = JSON.stringify(jsonData)\n\t\tconst data = lz.compressToBase64(raw)\n\t\tconsole.log('Compression rate', raw.length / raw.length)\n\t\tconst body = JSON.stringify({ data, type, version, show_preview })\n\t\tlet id = ShareCache.get(body)\n\t\tif (!id) {\n\t\t\tconst snippet = await fetchApi('/snippets', body)\n\t\t\tShareCache.set(body, snippet.id)\n\t\t\tid = snippet.id as string\n\t\t}\n\t\treturn { id, length: raw.length, compressed: data.length, rate: raw.length / data.length }\n\t} catch (e) {\n\t\tif (e instanceof Error) {\n\t\t\te.message = `Error creating share link: ${e.message}`\n\t\t}\n\t\tthrow e\n\t}\n}\n\nexport async function getSnippet(id: string) {\n\ttry {\n\t\tconst snippet = await fetchApi(`/snippets/${id}`)\n\t\treturn {\n\t\t\t...snippet,\n\t\t\tdata: JSON.parse(lz.decompressFromBase64(snippet.data) ?? '{}'),\n\t\t}\n\t} catch (e) {\n\t\tif (e instanceof Error) {\n\t\t\te.message = `Error loading shared content: ${e.message}`\n\t\t}\n\t\tthrow e\n\t}\n}\n\nasync function fetchApi(url: string, body?: string) {\n\tconst res = await fetch(API_PREFIX + url, body ? {\n\t\tmethod: 'post',\n\t\theaders: { 'Content-Type': 'application/json' },\n\t\tbody,\n\t} : undefined)\n\tconst data = await res.json()\n\tif (data.data) {\n\t\treturn data.data\n\t}\n\tthrow new Error(data.errors?.[0]?.message ?? 'Unknown error')\n}\n","import type { Project } from './contexts'\nimport { DRAFT_PROJECT } from './contexts'\nimport type { VersionId } from './services'\nimport { VersionIds } from './services'\n\nexport namespace Store {\n\texport const ID_LANGUAGE = 'language'\n\texport const ID_THEME = 'theme'\n\texport const ID_VERSION = 'schema_version'\n\texport const ID_INDENT = 'indentation'\n\texport const ID_FORMAT = 'output_format'\n\texport const ID_HIGHLIGHTING = 'output_highlighting'\n\texport const ID_SOUNDS_VERSION = 'minecraft_sounds_version'\n\texport const ID_PROJECTS = 'misode_projects'\n\texport const ID_BACKUPS = 'misode_generator_backups'\n\n\texport function getLanguage() {\n\t\treturn localStorage.getItem(ID_LANGUAGE) ?? 'en'\n\t}\n\n\texport function getTheme() {\n\t\treturn localStorage.getItem(ID_THEME) ?? 'dark'\n\t}\n\n\texport function getVersion(): VersionId {\n\t\tconst version = localStorage.getItem(ID_VERSION)\n\t\tif (version && VersionIds.includes(version as VersionId)) {\n\t\t\treturn version as VersionId\n\t\t}\n\t\treturn '1.18.2'\n\t}\n\n\texport function getIndent() {\n\t\treturn localStorage.getItem(ID_INDENT) ?? '2_spaces'\n\t}\n\n\texport function getFormat() {\n\t\treturn localStorage.getItem(ID_FORMAT) ?? 'json'\n\t}\n\n\texport function getHighlighting() {\n\t\treturn localStorage.getItem(ID_HIGHLIGHTING) !== 'false'\n\t}\n\n\texport function getSoundsVersion() {\n\t\treturn localStorage.getItem(ID_SOUNDS_VERSION) ?? 'latest'\n\t}\n\n\texport function getProjects(): Project[] {\n\t\tconst projects = localStorage.getItem(ID_PROJECTS)\n\t\tif (projects) {\n\t\t\treturn JSON.parse(projects) as Project[]\n\t\t}\n\t\treturn [DRAFT_PROJECT]\n\t}\n\n\texport function getBackup(id: string): object | undefined {\n\t\tconst backups = JSON.parse(localStorage.getItem(ID_BACKUPS) ?? '{}')\n\t\treturn backups[id]\n\t}\n\n\texport function setLanguage(language: string | undefined) {\n\t\tif (language) localStorage.setItem(ID_LANGUAGE, language)\n\t}\n\n\texport function setTheme(theme: string | undefined) {\n\t\tif (theme) localStorage.setItem(ID_THEME, theme)\n\t}\n\n\texport function setVersion(version: VersionId | undefined) {\n\t\tif (version) localStorage.setItem(ID_VERSION, version)\n\t}\n\n\texport function setIndent(indent: string | undefined) {\n\t\tif (indent) localStorage.setItem(ID_INDENT, indent)\n\t}\n\n\texport function setFormat(format: string | undefined) {\n\t\tif (format) localStorage.setItem(ID_FORMAT, format)\n\t}\n\n\texport function setHighlighting(highlighting: boolean | undefined) {\n\t\tif (highlighting !== undefined) localStorage.setItem(ID_HIGHLIGHTING, highlighting.toString())\n\t}\n\n\texport function setSoundsVersion(version: string | undefined) {\n\t\tif (version) localStorage.setItem(ID_SOUNDS_VERSION, version)\n\t}\n\n\texport function setProjects(projects: Project[] | undefined) {\n\t\tif (projects) localStorage.setItem(ID_PROJECTS, JSON.stringify(projects))\n\t}\n\n\texport function setBackup(id: string, data: object | undefined) {\n\t\tconst backups = JSON.parse(localStorage.getItem(ID_BACKUPS) ?? '{}')\n\t\tif (data === undefined) {\n\t\t\tdelete backups[id]\n\t\t} else {\n\t\t\tbackups[id] = data\n\t\t}\n\t\tlocalStorage.setItem(ID_BACKUPS, JSON.stringify(backups))\n\t}\n}\n","import type { ComponentChildren } from 'preact'\nimport { createContext } from 'preact'\nimport { useCallback, useContext, useEffect, useState } from 'preact/hooks'\nimport config from '../../config.json'\nimport English from '../../locales/en.json'\nimport { Analytics } from '../Analytics'\nimport { Store } from '../Store'\n\ninterface Locale {\n\tlang: string,\n\tlocale: (key: string, ...params: string[]) => string,\n\tchangeLocale: (lang: string) => unknown,\n}\nconst Locale = createContext({\n\tlang: 'none',\n\tlocale: key => key,\n\tchangeLocale: () => {},\n})\n\nexport const Locales: {\n\t[key: string]: {\n\t\t[key: string]: string,\n\t},\n} = {\n\tfallback: English,\n}\n\nexport function localize(lang: string, key: string, ...params: string[]) {\n\tconst value: string | undefined = Locales[lang]?.[key]\n\t?? Locales.en?.[key] ?? Locales.fallback[key] ?? key\n\treturn resolveLocaleParams(value, params)\n}\n\nfunction resolveLocaleParams(value: string, params?: string[]): string {\n\treturn value.replace(/%\\d+%/g, match => {\n\t\tconst index = parseInt(match.slice(1, -1))\n\t\treturn params?.[index] !== undefined ? params[index] : match\n\t})\n}\n\nasync function loadLocale(language: string) {\n\tif (Locales[language]) return\n\tconst langConfig = config.languages.find(lang => lang.code === language)\n\tif (!langConfig) return\n\tconst data = await import(`../../locales/${language}.json`)\n\tconst schema = langConfig.schemas !== false\n\t\t&& await import(`../../../node_modules/@mcschema/locales/src/${language}.json`)\n\tLocales[language] = { ...data.default, ...schema.default }\n}\n\nexport function useLocale() {\n\treturn useContext(Locale)\n}\n\nexport function LocaleProvider({ children }: { children: ComponentChildren }) {\n\tconst [lang, setLanguage] = useState('none')\n\n\tconst locale = useCallback((key: string, ...params: string[]) => {\n\t\treturn localize(lang, key, ...params)\n\t}, [lang])\n\n\tconst changeLocale = useCallback(async (newLang: string) => {\n\t\tawait loadLocale(newLang)\n\t\tAnalytics.changeLocale(lang, newLang)\n\t\tStore.setLanguage(newLang)\n\t\tsetLanguage(newLang)\n\t}, [lang])\n\n\tuseEffect(() => {\n\t\t(async () => {\n\t\t\tconst target = Store.getLanguage()\n\t\t\tAnalytics.setLocale(target)\n\t\t\tawait Promise.all([\n\t\t\t\tloadLocale('en'),\n\t\t\t\t...(target !== 'en' ? [loadLocale(target)] : []),\n\t\t\t])\n\t\t\tsetLanguage(target)\n\t\t})()\n\t}, [])\n\n\tconst value: Locale = {\n\t\tlang,\n\t\tlocale,\n\t\tchangeLocale,\n\t}\n\n\treturn \n\t\t{children}\n\t\n}\n","import type { ComponentChildren } from 'preact'\nimport { createContext } from 'preact'\nimport { route } from 'preact-router'\nimport { useCallback, useContext, useMemo, useState } from 'preact/hooks'\nimport config from '../../config.json'\nimport type { VersionId } from '../services'\nimport { Store } from '../Store'\nimport { cleanUrl } from '../Utils'\n\nexport type Project = {\n\tname: string,\n\tnamespace: string,\n\tversion?: VersionId,\n\tfiles: ProjectFile[],\n}\nexport const DRAFT_PROJECT: Project = {\n\tname: 'Drafts',\n\tnamespace: 'draft',\n\tfiles: [],\n}\n\nexport type ProjectFile = {\n\ttype: string,\n\tid: string,\n\tdata: any,\n}\n\ninterface ProjectContext {\n\tprojects: Project[],\n\tproject: Project,\n\tfile?: ProjectFile,\n\tchangeProject: (name: string) => unknown,\n\tupdateProject: (project: Partial) => unknown,\n\tupdateFile: (type: string, id: string | undefined, file: Partial) => boolean,\n\topenFile: (type: string, id: string) => unknown,\n\tcloseFile: () => unknown,\n}\nconst Project = createContext({\n\tprojects: [DRAFT_PROJECT],\n\tproject: DRAFT_PROJECT,\n\tchangeProject: () => {},\n\tupdateProject: () => {},\n\tupdateFile: () => false,\n\topenFile: () => {},\n\tcloseFile: () => {},\n})\n\nexport function useProject() {\n\treturn useContext(Project)\n}\n\nexport function ProjectProvider({ children }: { children: ComponentChildren }) {\n\tconst [projects, setProjects] = useState(Store.getProjects())\n\n\tconst [projectName, setProjectName] = useState(DRAFT_PROJECT.name)\n\tconst project = useMemo(() => {\n\t\treturn projects.find(p => p.name === projectName) ?? DRAFT_PROJECT\n\t}, [projects, projectName])\n\n\tconst [fileId, setFileId] = useState<[string, string] | undefined>(undefined)\n\tconst file = useMemo(() => {\n\t\tif (!fileId) return undefined\n\t\treturn project.files.find(f => f.type === fileId[0] && f.id === fileId[1])\n\t}, [project, fileId])\n\n\tconst changeProjects = useCallback((projects: Project[]) => {\n\t\tStore.setProjects(projects)\n\t\tsetProjects(projects)\n\t}, [])\n\n\tconst updateProject = useCallback((edits: Partial) => {\n\t\tchangeProjects(projects.map(p => p.name === projectName ?\t{ ...p, ...edits } : p))\n\t}, [projects, projectName])\n\n\tconst updateFile = useCallback((type: string, id: string | undefined, edits: Partial) => {\n\t\tif (!edits.id) { // remove\n\t\t\tupdateProject({ files: project.files.filter(f => f.type !== type || f.id !== id) })\n\t\t} else {\n\t\t\tconst newId = edits.id.includes(':') ? edits.id : `${project.namespace}:${edits.id}`\n\t\t\tconst exists = project.files.some(f => f.type === type && f.id === newId)\n\t\t\tif (!id) { // create\n\t\t\t\tif (exists) return false\n\t\t\t\tupdateProject({ files: [...project.files, { type, id: newId, data: edits.data ?? {} } ]})\n\t\t\t\tsetFileId([type, newId])\n\t\t\t} else { // rename or update data\n\t\t\t\tif (file?.id === id && id !== newId && exists) {\n\t\t\t\t\treturn false\n\t\t\t\t}\n\t\t\t\tupdateProject({ files: project.files.map(f => f.type === type && f.id === id ? { ...f, ...edits, id: newId } : f)})\n\t\t\t\tif (file?.id === id) setFileId([type, newId])\n\t\t\t}\n\t\t}\n\t\treturn true\n\t}, [updateProject, project, file])\n\n\tconst openFile = useCallback((type: string, id: string) => {\n\t\tconst gen = config.generators.find(g => g.id === type || g.path === type)\n\t\tif (!gen) {\n\t\t\tthrow new Error(`Cannot find generator of type ${type}`)\n\t\t}\n\t\tsetFileId([gen.id, id])\n\t\troute(cleanUrl(gen.url))\n\t}, [])\n\n\tconst closeFile = useCallback(() => {\n\t\tsetFileId(undefined)\n\t}, [])\n\n\tconst value: ProjectContext = {\n\t\tprojects,\n\t\tproject,\n\t\tfile,\n\t\tchangeProject: setProjectName,\n\t\tupdateProject,\n\t\tupdateFile,\n\t\topenFile,\n\t\tcloseFile,\n\t}\n\n\treturn \n\t\t{children}\n\t\n}\n\nexport function getFilePath(file: ProjectFile) {\n\tconst [namespace, id] = file.id.includes(':') ? file.id.split(':') : ['minecraft', file.id]\n\tconst gen = config.generators.find(g => g.id === file.type)\n\tif (!gen) {\n\t\tthrow new Error(`Cannot find generator of type ${file.type}`)\n\t}\n\treturn `data/${namespace}/${gen.path ?? gen.id}/${id}`\n}\n","import type { ComponentChildren } from 'preact'\nimport { createContext } from 'preact'\nimport { useCallback, useContext, useEffect, useState } from 'preact/hooks'\nimport { Analytics } from '../Analytics'\nimport { useMediaQuery } from '../hooks'\nimport { Store } from '../Store'\n\ninterface Theme {\n\ttheme: string,\n\tactualTheme: 'light' | 'dark',\n\tchangeTheme: (theme: string) => unknown,\n}\nconst Theme = createContext({\n\ttheme: 'dark',\n\tactualTheme: 'dark',\n\tchangeTheme: () => {},\n})\n\nexport function useTheme() {\n\treturn useContext(Theme)\n}\n\nexport function ThemeProvider({ children }: { children: ComponentChildren }) {\n\tconst [theme, setTheme] = useState(Store.getTheme())\n\tconst prefersLight = useMediaQuery('(prefers-color-scheme: light)')\n\tconst prefersDark = useMediaQuery('(prefers-color-scheme: dark)')\n\n\tuseEffect(() => {\n\t\tdocument.documentElement.setAttribute('data-theme', theme)\n\t}, [theme])\n\n\tconst changeTheme = useCallback((newTheme: string) => {\n\t\tAnalytics.changeTheme(theme, newTheme)\n\t\tStore.setTheme(newTheme)\n\t\tsetTheme(newTheme)\n\t}, [theme])\n\n\tuseEffect(() => {\n\t\tAnalytics.setPrefersColorScheme(prefersLight ? 'light' : prefersDark ? 'dark' : 'none')\n\t}, [prefersLight, prefersDark])\n\n\tuseEffect(() => {\n\t\tAnalytics.setTheme(theme)\n\t}, [])\n\n\tconst value: Theme = {\n\t\ttheme,\n\t\tactualTheme: theme === 'light' || (theme !== 'dark' && prefersLight) ? 'light' : 'dark',\n\t\tchangeTheme,\n\t}\n\n\treturn \n\t\t{children}\n\t\n}\n","import type { ComponentChildren } from 'preact'\nimport { createContext } from 'preact'\nimport { useCallback, useContext, useEffect, useState } from 'preact/hooks'\nimport { useLocale } from '.'\nimport config from '../../config.json'\nimport type { VersionId } from '../services'\n\nconst VERSIONS_IN_TITLE = 3\n\ninterface Title {\n\ttitle: string,\n\tchangeTitle: (title: string, versions?: VersionId[], suffix?: string) => unknown,\n}\nconst Title = createContext({\n\ttitle: '',\n\tchangeTitle: () => {},\n})\n\nexport function useTitle(title?: string, versions?: VersionId[], suffix?: string) {\n\tconst context = useContext(Title)\n\tuseEffect(() => {\n\t\tif (title) {\n\t\t\tcontext.changeTitle(title, versions, suffix)\n\t\t}\n\t}, [title, versions, suffix])\n\treturn context\n}\n\nexport function TitleProvider({ children }: { children: ComponentChildren }) {\n\tconst { locale } = useLocale()\n\tconst [title, setTitle] = useState<string>(locale('title.home'))\n\n\tconst changeTitle = useCallback((title: string, versionIds?: VersionId[], suffix?: string) => {\n\t\tlet versions = config.versions\n\t\tif (versionIds !== undefined) {\n\t\t\tversions = config.versions.filter(v => versionIds?.includes(v.id as VersionId))\n\t\t}\n\t\tlet titleSuffix = ''\n\t\tif (suffix) {\n\t\t\ttitleSuffix = ` - ${suffix}`\n\t\t}\n\t\tif (!(versionIds?.length === 0)) {\n\t\t\tconst titleVersions = versions.map(v => v.id).slice(-VERSIONS_IN_TITLE)\n\t\t\ttitleSuffix = ` - Minecraft ${titleVersions.join(', ')}`\n\t\t}\n\t\tdocument.title = title + titleSuffix\n\t\tsetTitle(title)\n\t}, [])\n\n\tconst value = {\n\t\ttitle,\n\t\tchangeTitle,\n\t}\n\n\treturn <Title.Provider value={value}>\n\t\t{children}\n\t</Title.Provider>\n}\n","import type { ComponentChildren } from 'preact'\nimport { createContext } from 'preact'\nimport { useCallback, useContext, useEffect, useState } from 'preact/hooks'\nimport { Analytics } from '../Analytics'\nimport { useSearchParam } from '../hooks'\nimport type { VersionId } from '../services'\nimport { VersionIds } from '../services'\nimport { Store } from '../Store'\n\nconst VERSION_PARAM = 'version'\n\ninterface Version {\n\tversion: VersionId,\n\tchangeVersion: (version: VersionId, store?: boolean, updateSearch?: boolean) => unknown,\n\tchangeTargetVersion: (version: VersionId, replace?: boolean) => unknown,\n}\nconst Version = createContext<Version>({\n\tversion: '1.18.2',\n\tchangeVersion: () => {},\n\tchangeTargetVersion: () => {},\n})\n\nexport function useVersion() {\n\treturn useContext(Version)\n}\n\nexport function VersionProvider({ children }: { children: ComponentChildren }) {\n\tconst [version, setVersion] = useState<VersionId>(Store.getVersion())\n\n\tconst [targetVersion, changeTargetVersion] = useSearchParam(VERSION_PARAM)\n\n\tuseEffect(() => {\n\t\tif (VersionIds.includes(targetVersion as VersionId) && version !== targetVersion) {\n\t\t\tAnalytics.setVersion(targetVersion as VersionId)\n\t\t\tsetVersion(targetVersion as VersionId)\n\t\t}\n\t}, [version, targetVersion])\n\n\tconst changeVersion = useCallback((newVersion: VersionId, store = true, updateSearch = false) => {\n\t\tif (updateSearch || targetVersion) {\n\t\t\tchangeTargetVersion(newVersion, true)\n\t\t}\n\t\tif (store) {\n\t\t\tAnalytics.changeVersion(version, newVersion)\n\t\t\tStore.setVersion(newVersion)\n\t\t}\n\t\tsetVersion(newVersion)\n\t}, [version, targetVersion])\n\n\tuseEffect(() => {\n\t\tAnalytics.setVersion(version)\n\t}, [])\n\n\tconst value: Version = {\n\t\tversion,\n\t\tchangeVersion,\n\t\tchangeTargetVersion,\n\t}\n\n\treturn <Version.Provider value={value}>\n\t\t{children}\n\t</Version.Provider>\n}\n","\nlet wasm;\n\nlet cachedTextDecoder = new TextDecoder('utf-8', { ignoreBOM: true, fatal: true });\n\ncachedTextDecoder.decode();\n\nlet cachegetUint8Memory0 = null;\nfunction getUint8Memory0() {\n if (cachegetUint8Memory0 === null || cachegetUint8Memory0.buffer !== wasm.memory.buffer) {\n cachegetUint8Memory0 = new Uint8Array(wasm.memory.buffer);\n }\n return cachegetUint8Memory0;\n}\n\nfunction getStringFromWasm0(ptr, len) {\n return cachedTextDecoder.decode(getUint8Memory0().subarray(ptr, ptr + len));\n}\n\nconst u32CvtShim = new Uint32Array(2);\n\nconst int64CvtShim = new BigInt64Array(u32CvtShim.buffer);\n\nlet cachegetInt32Memory0 = null;\nfunction getInt32Memory0() {\n if (cachegetInt32Memory0 === null || cachegetInt32Memory0.buffer !== wasm.memory.buffer) {\n cachegetInt32Memory0 = new Int32Array(wasm.memory.buffer);\n }\n return cachegetInt32Memory0;\n}\n\nlet cachegetFloat64Memory0 = null;\nfunction getFloat64Memory0() {\n if (cachegetFloat64Memory0 === null || cachegetFloat64Memory0.buffer !== wasm.memory.buffer) {\n cachegetFloat64Memory0 = new Float64Array(wasm.memory.buffer);\n }\n return cachegetFloat64Memory0;\n}\n\nfunction getArrayF64FromWasm0(ptr, len) {\n return getFloat64Memory0().subarray(ptr / 8, ptr / 8 + len);\n}\n/**\n* @param {BigInt} seed\n* @param {number} x_from\n* @param {number} x_to\n* @param {number} x_step\n* @param {number} y_from\n* @param {number} y_to\n* @param {number} y_step\n* @param {number} z_from\n* @param {number} z_to\n* @param {number} z_step\n* @returns {Float64Array}\n*/\nexport function improved_noise(seed, x_from, x_to, x_step, y_from, y_to, y_step, z_from, z_to, z_step) {\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n int64CvtShim[0] = seed;\n const low0 = u32CvtShim[0];\n const high0 = u32CvtShim[1];\n wasm.improved_noise(retptr, low0, high0, x_from, x_to, x_step, y_from, y_to, y_step, z_from, z_to, z_step);\n var r0 = getInt32Memory0()[retptr / 4 + 0];\n var r1 = getInt32Memory0()[retptr / 4 + 1];\n var v1 = getArrayF64FromWasm0(r0, r1).slice();\n wasm.__wbindgen_free(r0, r1 * 8);\n return v1;\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n }\n}\n\nlet WASM_VECTOR_LEN = 0;\n\nfunction passArrayF64ToWasm0(arg, malloc) {\n const ptr = malloc(arg.length * 8);\n getFloat64Memory0().set(arg, ptr / 8);\n WASM_VECTOR_LEN = arg.length;\n return ptr;\n}\n/**\n* @param {BigInt} seed\n* @param {number} first_octave\n* @param {Float64Array} amplitudes\n* @param {number} x_from\n* @param {number} x_to\n* @param {number} x_step\n* @param {number} y_from\n* @param {number} y_to\n* @param {number} y_step\n* @param {number} z_from\n* @param {number} z_to\n* @param {number} z_step\n* @returns {Float64Array}\n*/\nexport function perlin_noise(seed, first_octave, amplitudes, x_from, x_to, x_step, y_from, y_to, y_step, z_from, z_to, z_step) {\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n int64CvtShim[0] = seed;\n const low0 = u32CvtShim[0];\n const high0 = u32CvtShim[1];\n var ptr1 = passArrayF64ToWasm0(amplitudes, wasm.__wbindgen_malloc);\n var len1 = WASM_VECTOR_LEN;\n wasm.perlin_noise(retptr, low0, high0, first_octave, ptr1, len1, x_from, x_to, x_step, y_from, y_to, y_step, z_from, z_to, z_step);\n var r0 = getInt32Memory0()[retptr / 4 + 0];\n var r1 = getInt32Memory0()[retptr / 4 + 1];\n var v2 = getArrayF64FromWasm0(r0, r1).slice();\n wasm.__wbindgen_free(r0, r1 * 8);\n return v2;\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n }\n}\n\n/**\n* @param {BigInt} seed\n* @param {number} first_octave\n* @param {Float64Array} amplitudes\n* @param {number} x_from\n* @param {number} x_to\n* @param {number} x_step\n* @param {number} y_from\n* @param {number} y_to\n* @param {number} y_step\n* @param {number} z_from\n* @param {number} z_to\n* @param {number} z_step\n* @returns {Float64Array}\n*/\nexport function normal_noise(seed, first_octave, amplitudes, x_from, x_to, x_step, y_from, y_to, y_step, z_from, z_to, z_step) {\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n int64CvtShim[0] = seed;\n const low0 = u32CvtShim[0];\n const high0 = u32CvtShim[1];\n var ptr1 = passArrayF64ToWasm0(amplitudes, wasm.__wbindgen_malloc);\n var len1 = WASM_VECTOR_LEN;\n wasm.normal_noise(retptr, low0, high0, first_octave, ptr1, len1, x_from, x_to, x_step, y_from, y_to, y_step, z_from, z_to, z_step);\n var r0 = getInt32Memory0()[retptr / 4 + 0];\n var r1 = getInt32Memory0()[retptr / 4 + 1];\n var v2 = getArrayF64FromWasm0(r0, r1).slice();\n wasm.__wbindgen_free(r0, r1 * 8);\n return v2;\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n }\n}\n\nlet cachegetUint32Memory0 = null;\nfunction getUint32Memory0() {\n if (cachegetUint32Memory0 === null || cachegetUint32Memory0.buffer !== wasm.memory.buffer) {\n cachegetUint32Memory0 = new Uint32Array(wasm.memory.buffer);\n }\n return cachegetUint32Memory0;\n}\n\nfunction passArray32ToWasm0(arg, malloc) {\n const ptr = malloc(arg.length * 4);\n getUint32Memory0().set(arg, ptr / 4);\n WASM_VECTOR_LEN = arg.length;\n return ptr;\n}\n/**\n* @param {Float64Array} t_min\n* @param {Float64Array} t_max\n* @param {Float64Array} h_min\n* @param {Float64Array} h_max\n* @param {Float64Array} c_min\n* @param {Float64Array} c_max\n* @param {Float64Array} e_min\n* @param {Float64Array} e_max\n* @param {Float64Array} w_min\n* @param {Float64Array} w_max\n* @param {Float64Array} d_min\n* @param {Float64Array} d_max\n* @param {Float64Array} offset\n* @param {Int32Array} biome\n* @returns {ParameterList}\n*/\nexport function biome_parameters(t_min, t_max, h_min, h_max, c_min, c_max, e_min, e_max, w_min, w_max, d_min, d_max, offset, biome) {\n var ptr0 = passArrayF64ToWasm0(t_min, wasm.__wbindgen_malloc);\n var len0 = WASM_VECTOR_LEN;\n var ptr1 = passArrayF64ToWasm0(t_max, wasm.__wbindgen_malloc);\n var len1 = WASM_VECTOR_LEN;\n var ptr2 = passArrayF64ToWasm0(h_min, wasm.__wbindgen_malloc);\n var len2 = WASM_VECTOR_LEN;\n var ptr3 = passArrayF64ToWasm0(h_max, wasm.__wbindgen_malloc);\n var len3 = WASM_VECTOR_LEN;\n var ptr4 = passArrayF64ToWasm0(c_min, wasm.__wbindgen_malloc);\n var len4 = WASM_VECTOR_LEN;\n var ptr5 = passArrayF64ToWasm0(c_max, wasm.__wbindgen_malloc);\n var len5 = WASM_VECTOR_LEN;\n var ptr6 = passArrayF64ToWasm0(e_min, wasm.__wbindgen_malloc);\n var len6 = WASM_VECTOR_LEN;\n var ptr7 = passArrayF64ToWasm0(e_max, wasm.__wbindgen_malloc);\n var len7 = WASM_VECTOR_LEN;\n var ptr8 = passArrayF64ToWasm0(w_min, wasm.__wbindgen_malloc);\n var len8 = WASM_VECTOR_LEN;\n var ptr9 = passArrayF64ToWasm0(w_max, wasm.__wbindgen_malloc);\n var len9 = WASM_VECTOR_LEN;\n var ptr10 = passArrayF64ToWasm0(d_min, wasm.__wbindgen_malloc);\n var len10 = WASM_VECTOR_LEN;\n var ptr11 = passArrayF64ToWasm0(d_max, wasm.__wbindgen_malloc);\n var len11 = WASM_VECTOR_LEN;\n var ptr12 = passArrayF64ToWasm0(offset, wasm.__wbindgen_malloc);\n var len12 = WASM_VECTOR_LEN;\n var ptr13 = passArray32ToWasm0(biome, wasm.__wbindgen_malloc);\n var len13 = WASM_VECTOR_LEN;\n var ret = wasm.biome_parameters(ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3, ptr4, len4, ptr5, len5, ptr6, len6, ptr7, len7, ptr8, len8, ptr9, len9, ptr10, len10, ptr11, len11, ptr12, len12, ptr13, len13);\n return ParameterList.__wrap(ret);\n}\n\n/**\n* @param {number} first_octave\n* @param {Float64Array} amplitudes\n* @returns {NoiseParameters}\n*/\nexport function noise_parameters(first_octave, amplitudes) {\n var ptr0 = passArrayF64ToWasm0(amplitudes, wasm.__wbindgen_malloc);\n var len0 = WASM_VECTOR_LEN;\n var ret = wasm.noise_parameters(first_octave, ptr0, len0);\n return NoiseParameters.__wrap(ret);\n}\n\n/**\n* @param {BigInt} seed\n* @param {number} t_first\n* @param {Float64Array} t_amplitudes\n* @param {number} h_first\n* @param {Float64Array} h_amplitudes\n* @param {number} c_first\n* @param {Float64Array} c_amplitudes\n* @param {number} e_first\n* @param {Float64Array} e_amplitudes\n* @param {number} w_first\n* @param {Float64Array} w_amplitudes\n* @param {number} s_first\n* @param {Float64Array} s_amplitudes\n* @returns {Sampler}\n*/\nexport function climate_sampler(seed, t_first, t_amplitudes, h_first, h_amplitudes, c_first, c_amplitudes, e_first, e_amplitudes, w_first, w_amplitudes, s_first, s_amplitudes) {\n int64CvtShim[0] = seed;\n const low0 = u32CvtShim[0];\n const high0 = u32CvtShim[1];\n var ptr1 = passArrayF64ToWasm0(t_amplitudes, wasm.__wbindgen_malloc);\n var len1 = WASM_VECTOR_LEN;\n var ptr2 = passArrayF64ToWasm0(h_amplitudes, wasm.__wbindgen_malloc);\n var len2 = WASM_VECTOR_LEN;\n var ptr3 = passArrayF64ToWasm0(c_amplitudes, wasm.__wbindgen_malloc);\n var len3 = WASM_VECTOR_LEN;\n var ptr4 = passArrayF64ToWasm0(e_amplitudes, wasm.__wbindgen_malloc);\n var len4 = WASM_VECTOR_LEN;\n var ptr5 = passArrayF64ToWasm0(w_amplitudes, wasm.__wbindgen_malloc);\n var len5 = WASM_VECTOR_LEN;\n var ptr6 = passArrayF64ToWasm0(s_amplitudes, wasm.__wbindgen_malloc);\n var len6 = WASM_VECTOR_LEN;\n var ret = wasm.climate_sampler(low0, high0, t_first, ptr1, len1, h_first, ptr2, len2, c_first, ptr3, len3, e_first, ptr4, len4, w_first, ptr5, len5, s_first, ptr6, len6);\n return Sampler.__wrap(ret);\n}\n\nfunction _assertClass(instance, klass) {\n if (!(instance instanceof klass)) {\n throw new Error(`expected instance of ${klass.name}`);\n }\n return instance.ptr;\n}\n/**\n* @param {ParameterList} parameters\n* @param {Float64Array} target\n* @returns {number}\n*/\nexport function find_biome(parameters, target) {\n _assertClass(parameters, ParameterList);\n var ptr0 = passArrayF64ToWasm0(target, wasm.__wbindgen_malloc);\n var len0 = WASM_VECTOR_LEN;\n var ret = wasm.find_biome(parameters.ptr, ptr0, len0);\n return ret;\n}\n\nfunction getArrayI32FromWasm0(ptr, len) {\n return getInt32Memory0().subarray(ptr / 4, ptr / 4 + len);\n}\n/**\n* @param {ParameterList} parameters\n* @param {Sampler} sampler\n* @param {number} x_from\n* @param {number} x_to\n* @param {number} x_step\n* @param {number} y_from\n* @param {number} y_to\n* @param {number} y_step\n* @param {number} z_from\n* @param {number} z_to\n* @param {number} z_step\n* @returns {Int32Array}\n*/\nexport function multi_noise(parameters, sampler, x_from, x_to, x_step, y_from, y_to, y_step, z_from, z_to, z_step) {\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n _assertClass(parameters, ParameterList);\n _assertClass(sampler, Sampler);\n wasm.multi_noise(retptr, parameters.ptr, sampler.ptr, x_from, x_to, x_step, y_from, y_to, y_step, z_from, z_to, z_step);\n var r0 = getInt32Memory0()[retptr / 4 + 0];\n var r1 = getInt32Memory0()[retptr / 4 + 1];\n var v0 = getArrayI32FromWasm0(r0, r1).slice();\n wasm.__wbindgen_free(r0, r1 * 4);\n return v0;\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n }\n}\n\n/**\n* @param {Sampler} sampler\n* @param {number} x_from\n* @param {number} x_to\n* @param {number} x_step\n* @param {number} y_from\n* @param {number} y_to\n* @param {number} y_step\n* @param {number} z_from\n* @param {number} z_to\n* @param {number} z_step\n* @returns {Float64Array}\n*/\nexport function climate_noise(sampler, x_from, x_to, x_step, y_from, y_to, y_step, z_from, z_to, z_step) {\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n _assertClass(sampler, Sampler);\n wasm.climate_noise(retptr, sampler.ptr, x_from, x_to, x_step, y_from, y_to, y_step, z_from, z_to, z_step);\n var r0 = getInt32Memory0()[retptr / 4 + 0];\n var r1 = getInt32Memory0()[retptr / 4 + 1];\n var v0 = getArrayF64FromWasm0(r0, r1).slice();\n wasm.__wbindgen_free(r0, r1 * 8);\n return v0;\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n }\n}\n\n/**\n* @param {number} x\n* @returns {Test}\n*/\nexport function create_test(x) {\n var ret = wasm.create_test(x);\n return Test.__wrap(ret);\n}\n\n/**\n* @param {Test} test\n* @returns {number}\n*/\nexport function calc_test(test) {\n _assertClass(test, Test);\n var ret = wasm.calc_test(test.ptr);\n return ret;\n}\n\n/**\n*/\nexport class ImprovedNoise {\n\n __destroy_into_raw() {\n const ptr = this.ptr;\n this.ptr = 0;\n\n return ptr;\n }\n\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_improvednoise_free(ptr);\n }\n}\n/**\n*/\nexport class NoiseOctaves {\n\n __destroy_into_raw() {\n const ptr = this.ptr;\n this.ptr = 0;\n\n return ptr;\n }\n\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_noiseoctaves_free(ptr);\n }\n}\n/**\n*/\nexport class NoiseParameters {\n\n static __wrap(ptr) {\n const obj = Object.create(NoiseParameters.prototype);\n obj.ptr = ptr;\n\n return obj;\n }\n\n __destroy_into_raw() {\n const ptr = this.ptr;\n this.ptr = 0;\n\n return ptr;\n }\n\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_noiseparameters_free(ptr);\n }\n}\n/**\n*/\nexport class NormalNoise {\n\n __destroy_into_raw() {\n const ptr = this.ptr;\n this.ptr = 0;\n\n return ptr;\n }\n\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_normalnoise_free(ptr);\n }\n}\n/**\n*/\nexport class ParameterList {\n\n static __wrap(ptr) {\n const obj = Object.create(ParameterList.prototype);\n obj.ptr = ptr;\n\n return obj;\n }\n\n __destroy_into_raw() {\n const ptr = this.ptr;\n this.ptr = 0;\n\n return ptr;\n }\n\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_parameterlist_free(ptr);\n }\n}\n/**\n*/\nexport class PerlinNoise {\n\n __destroy_into_raw() {\n const ptr = this.ptr;\n this.ptr = 0;\n\n return ptr;\n }\n\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_perlinnoise_free(ptr);\n }\n}\n/**\n*/\nexport class Sampler {\n\n static __wrap(ptr) {\n const obj = Object.create(Sampler.prototype);\n obj.ptr = ptr;\n\n return obj;\n }\n\n __destroy_into_raw() {\n const ptr = this.ptr;\n this.ptr = 0;\n\n return ptr;\n }\n\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_sampler_free(ptr);\n }\n}\n/**\n*/\nexport class Test {\n\n static __wrap(ptr) {\n const obj = Object.create(Test.prototype);\n obj.ptr = ptr;\n\n return obj;\n }\n\n __destroy_into_raw() {\n const ptr = this.ptr;\n this.ptr = 0;\n\n return ptr;\n }\n\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_test_free(ptr);\n }\n}\n\nasync function load(module, imports) {\n if (typeof Response === 'function' && module instanceof Response) {\n if (typeof WebAssembly.instantiateStreaming === 'function') {\n try {\n return await WebAssembly.instantiateStreaming(module, imports);\n\n } catch (e) {\n if (module.headers.get('Content-Type') != 'application/wasm') {\n console.warn(\"`WebAssembly.instantiateStreaming` failed because your server does not serve wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\\n\", e);\n\n } else {\n throw e;\n }\n }\n }\n\n const bytes = await module.arrayBuffer();\n return await WebAssembly.instantiate(bytes, imports);\n\n } else {\n const instance = await WebAssembly.instantiate(module, imports);\n\n if (instance instanceof WebAssembly.Instance) {\n return { instance, module };\n\n } else {\n return instance;\n }\n }\n}\n\nasync function init(input) {\n if (typeof input === 'undefined') {\n input = new URL('deepslate_rs_bg.wasm', import.meta.url);\n }\n const imports = {};\n imports.wbg = {};\n imports.wbg.__wbindgen_throw = function(arg0, arg1) {\n throw new Error(getStringFromWasm0(arg0, arg1));\n };\n\n if (typeof input === 'string' || (typeof Request === 'function' && input instanceof Request) || (typeof URL === 'function' && input instanceof URL)) {\n input = fetch(input);\n }\n\n\n\n const { instance, module } = await load(await input, imports);\n\n wasm = instance.exports;\n init.__wbindgen_wasm_module = module;\n\n return wasm;\n}\n\nexport default init;\n\n","export default \"__VITE_ASSET__4990c219__\"","(function() {\n var base64map\n = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',\n\n crypt = {\n // Bit-wise rotation left\n rotl: function(n, b) {\n return (n << b) | (n >>> (32 - b));\n },\n\n // Bit-wise rotation right\n rotr: function(n, b) {\n return (n << (32 - b)) | (n >>> b);\n },\n\n // Swap big-endian to little-endian and vice versa\n endian: function(n) {\n // If number given, swap endian\n if (n.constructor == Number) {\n return crypt.rotl(n, 8) & 0x00FF00FF | crypt.rotl(n, 24) & 0xFF00FF00;\n }\n\n // Else, assume array and swap all items\n for (var i = 0; i < n.length; i++)\n n[i] = crypt.endian(n[i]);\n return n;\n },\n\n // Generate an array of any length of random bytes\n randomBytes: function(n) {\n for (var bytes = []; n > 0; n--)\n bytes.push(Math.floor(Math.random() * 256));\n return bytes;\n },\n\n // Convert a byte array to big-endian 32-bit words\n bytesToWords: function(bytes) {\n for (var words = [], i = 0, b = 0; i < bytes.length; i++, b += 8)\n words[b >>> 5] |= bytes[i] << (24 - b % 32);\n return words;\n },\n\n // Convert big-endian 32-bit words to a byte array\n wordsToBytes: function(words) {\n for (var bytes = [], b = 0; b < words.length * 32; b += 8)\n bytes.push((words[b >>> 5] >>> (24 - b % 32)) & 0xFF);\n return bytes;\n },\n\n // Convert a byte array to a hex string\n bytesToHex: function(bytes) {\n for (var hex = [], i = 0; i < bytes.length; i++) {\n hex.push((bytes[i] >>> 4).toString(16));\n hex.push((bytes[i] & 0xF).toString(16));\n }\n return hex.join('');\n },\n\n // Convert a hex string to a byte array\n hexToBytes: function(hex) {\n for (var bytes = [], c = 0; c < hex.length; c += 2)\n bytes.push(parseInt(hex.substr(c, 2), 16));\n return bytes;\n },\n\n // Convert a byte array to a base-64 string\n bytesToBase64: function(bytes) {\n for (var base64 = [], i = 0; i < bytes.length; i += 3) {\n var triplet = (bytes[i] << 16) | (bytes[i + 1] << 8) | bytes[i + 2];\n for (var j = 0; j < 4; j++)\n if (i * 8 + j * 6 <= bytes.length * 8)\n base64.push(base64map.charAt((triplet >>> 6 * (3 - j)) & 0x3F));\n else\n base64.push('=');\n }\n return base64.join('');\n },\n\n // Convert a base-64 string to a byte array\n base64ToBytes: function(base64) {\n // Remove non-base-64 characters\n base64 = base64.replace(/[^A-Z0-9+\\/]/ig, '');\n\n for (var bytes = [], i = 0, imod4 = 0; i < base64.length;\n imod4 = ++i % 4) {\n if (imod4 == 0) continue;\n bytes.push(((base64map.indexOf(base64.charAt(i - 1))\n & (Math.pow(2, -2 * imod4 + 8) - 1)) << (imod4 * 2))\n | (base64map.indexOf(base64.charAt(i)) >>> (6 - imod4 * 2)));\n }\n return bytes;\n }\n };\n\n module.exports = crypt;\n})();\n","var charenc = {\n // UTF-8 encoding\n utf8: {\n // Convert a string to a byte array\n stringToBytes: function(str) {\n return charenc.bin.stringToBytes(unescape(encodeURIComponent(str)));\n },\n\n // Convert a byte array to a string\n bytesToString: function(bytes) {\n return decodeURIComponent(escape(charenc.bin.bytesToString(bytes)));\n }\n },\n\n // Binary encoding\n bin: {\n // Convert a string to a byte array\n stringToBytes: function(str) {\n for (var bytes = [], i = 0; i < str.length; i++)\n bytes.push(str.charCodeAt(i) & 0xFF);\n return bytes;\n },\n\n // Convert a byte array to a string\n bytesToString: function(bytes) {\n for (var str = [], i = 0; i < bytes.length; i++)\n str.push(String.fromCharCode(bytes[i]));\n return str.join('');\n }\n }\n};\n\nmodule.exports = charenc;\n","/*!\n * Determine if an object is a Buffer\n *\n * @author Feross Aboukhadijeh <https://feross.org>\n * @license MIT\n */\n\n// The _isBuffer check is for Safari 5-7 support, because it's missing\n// Object.prototype.constructor. Remove this eventually\nmodule.exports = function (obj) {\n return obj != null && (isBuffer(obj) || isSlowBuffer(obj) || !!obj._isBuffer)\n}\n\nfunction isBuffer (obj) {\n return !!obj.constructor && typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj)\n}\n\n// For Node v0.10 support. Remove this eventually.\nfunction isSlowBuffer (obj) {\n return typeof obj.readFloatLE === 'function' && typeof obj.slice === 'function' && isBuffer(obj.slice(0, 0))\n}\n","(function(){\r\n var crypt = require('crypt'),\r\n utf8 = require('charenc').utf8,\r\n isBuffer = require('is-buffer'),\r\n bin = require('charenc').bin,\r\n\r\n // The core\r\n md5 = function (message, options) {\r\n // Convert to byte array\r\n if (message.constructor == String)\r\n if (options && options.encoding === 'binary')\r\n message = bin.stringToBytes(message);\r\n else\r\n message = utf8.stringToBytes(message);\r\n else if (isBuffer(message))\r\n message = Array.prototype.slice.call(message, 0);\r\n else if (!Array.isArray(message) && message.constructor !== Uint8Array)\r\n message = message.toString();\r\n // else, assume byte array already\r\n\r\n var m = crypt.bytesToWords(message),\r\n l = message.length * 8,\r\n a = 1732584193,\r\n b = -271733879,\r\n c = -1732584194,\r\n d = 271733878;\r\n\r\n // Swap endian\r\n for (var i = 0; i < m.length; i++) {\r\n m[i] = ((m[i] << 8) | (m[i] >>> 24)) & 0x00FF00FF |\r\n ((m[i] << 24) | (m[i] >>> 8)) & 0xFF00FF00;\r\n }\r\n\r\n // Padding\r\n m[l >>> 5] |= 0x80 << (l % 32);\r\n m[(((l + 64) >>> 9) << 4) + 14] = l;\r\n\r\n // Method shortcuts\r\n var FF = md5._ff,\r\n GG = md5._gg,\r\n HH = md5._hh,\r\n II = md5._ii;\r\n\r\n for (var i = 0; i < m.length; i += 16) {\r\n\r\n var aa = a,\r\n bb = b,\r\n cc = c,\r\n dd = d;\r\n\r\n a = FF(a, b, c, d, m[i+ 0], 7, -680876936);\r\n d = FF(d, a, b, c, m[i+ 1], 12, -389564586);\r\n c = FF(c, d, a, b, m[i+ 2], 17, 606105819);\r\n b = FF(b, c, d, a, m[i+ 3], 22, -1044525330);\r\n a = FF(a, b, c, d, m[i+ 4], 7, -176418897);\r\n d = FF(d, a, b, c, m[i+ 5], 12, 1200080426);\r\n c = FF(c, d, a, b, m[i+ 6], 17, -1473231341);\r\n b = FF(b, c, d, a, m[i+ 7], 22, -45705983);\r\n a = FF(a, b, c, d, m[i+ 8], 7, 1770035416);\r\n d = FF(d, a, b, c, m[i+ 9], 12, -1958414417);\r\n c = FF(c, d, a, b, m[i+10], 17, -42063);\r\n b = FF(b, c, d, a, m[i+11], 22, -1990404162);\r\n a = FF(a, b, c, d, m[i+12], 7, 1804603682);\r\n d = FF(d, a, b, c, m[i+13], 12, -40341101);\r\n c = FF(c, d, a, b, m[i+14], 17, -1502002290);\r\n b = FF(b, c, d, a, m[i+15], 22, 1236535329);\r\n\r\n a = GG(a, b, c, d, m[i+ 1], 5, -165796510);\r\n d = GG(d, a, b, c, m[i+ 6], 9, -1069501632);\r\n c = GG(c, d, a, b, m[i+11], 14, 643717713);\r\n b = GG(b, c, d, a, m[i+ 0], 20, -373897302);\r\n a = GG(a, b, c, d, m[i+ 5], 5, -701558691);\r\n d = GG(d, a, b, c, m[i+10], 9, 38016083);\r\n c = GG(c, d, a, b, m[i+15], 14, -660478335);\r\n b = GG(b, c, d, a, m[i+ 4], 20, -405537848);\r\n a = GG(a, b, c, d, m[i+ 9], 5, 568446438);\r\n d = GG(d, a, b, c, m[i+14], 9, -1019803690);\r\n c = GG(c, d, a, b, m[i+ 3], 14, -187363961);\r\n b = GG(b, c, d, a, m[i+ 8], 20, 1163531501);\r\n a = GG(a, b, c, d, m[i+13], 5, -1444681467);\r\n d = GG(d, a, b, c, m[i+ 2], 9, -51403784);\r\n c = GG(c, d, a, b, m[i+ 7], 14, 1735328473);\r\n b = GG(b, c, d, a, m[i+12], 20, -1926607734);\r\n\r\n a = HH(a, b, c, d, m[i+ 5], 4, -378558);\r\n d = HH(d, a, b, c, m[i+ 8], 11, -2022574463);\r\n c = HH(c, d, a, b, m[i+11], 16, 1839030562);\r\n b = HH(b, c, d, a, m[i+14], 23, -35309556);\r\n a = HH(a, b, c, d, m[i+ 1], 4, -1530992060);\r\n d = HH(d, a, b, c, m[i+ 4], 11, 1272893353);\r\n c = HH(c, d, a, b, m[i+ 7], 16, -155497632);\r\n b = HH(b, c, d, a, m[i+10], 23, -1094730640);\r\n a = HH(a, b, c, d, m[i+13], 4, 681279174);\r\n d = HH(d, a, b, c, m[i+ 0], 11, -358537222);\r\n c = HH(c, d, a, b, m[i+ 3], 16, -722521979);\r\n b = HH(b, c, d, a, m[i+ 6], 23, 76029189);\r\n a = HH(a, b, c, d, m[i+ 9], 4, -640364487);\r\n d = HH(d, a, b, c, m[i+12], 11, -421815835);\r\n c = HH(c, d, a, b, m[i+15], 16, 530742520);\r\n b = HH(b, c, d, a, m[i+ 2], 23, -995338651);\r\n\r\n a = II(a, b, c, d, m[i+ 0], 6, -198630844);\r\n d = II(d, a, b, c, m[i+ 7], 10, 1126891415);\r\n c = II(c, d, a, b, m[i+14], 15, -1416354905);\r\n b = II(b, c, d, a, m[i+ 5], 21, -57434055);\r\n a = II(a, b, c, d, m[i+12], 6, 1700485571);\r\n d = II(d, a, b, c, m[i+ 3], 10, -1894986606);\r\n c = II(c, d, a, b, m[i+10], 15, -1051523);\r\n b = II(b, c, d, a, m[i+ 1], 21, -2054922799);\r\n a = II(a, b, c, d, m[i+ 8], 6, 1873313359);\r\n d = II(d, a, b, c, m[i+15], 10, -30611744);\r\n c = II(c, d, a, b, m[i+ 6], 15, -1560198380);\r\n b = II(b, c, d, a, m[i+13], 21, 1309151649);\r\n a = II(a, b, c, d, m[i+ 4], 6, -145523070);\r\n d = II(d, a, b, c, m[i+11], 10, -1120210379);\r\n c = II(c, d, a, b, m[i+ 2], 15, 718787259);\r\n b = II(b, c, d, a, m[i+ 9], 21, -343485551);\r\n\r\n a = (a + aa) >>> 0;\r\n b = (b + bb) >>> 0;\r\n c = (c + cc) >>> 0;\r\n d = (d + dd) >>> 0;\r\n }\r\n\r\n return crypt.endian([a, b, c, d]);\r\n };\r\n\r\n // Auxiliary functions\r\n md5._ff = function (a, b, c, d, x, s, t) {\r\n var n = a + (b & c | ~b & d) + (x >>> 0) + t;\r\n return ((n << s) | (n >>> (32 - s))) + b;\r\n };\r\n md5._gg = function (a, b, c, d, x, s, t) {\r\n var n = a + (b & d | c & ~d) + (x >>> 0) + t;\r\n return ((n << s) | (n >>> (32 - s))) + b;\r\n };\r\n md5._hh = function (a, b, c, d, x, s, t) {\r\n var n = a + (b ^ c ^ d) + (x >>> 0) + t;\r\n return ((n << s) | (n >>> (32 - s))) + b;\r\n };\r\n md5._ii = function (a, b, c, d, x, s, t) {\r\n var n = a + (c ^ (b | ~d)) + (x >>> 0) + t;\r\n return ((n << s) | (n >>> (32 - s))) + b;\r\n };\r\n\r\n // Package private blocksize\r\n md5._blocksize = 16;\r\n md5._digestsize = 16;\r\n\r\n module.exports = function (message, options) {\r\n if (message === undefined || message === null)\r\n throw new Error('Illegal argument ' + message);\r\n\r\n var digestbytes = crypt.wordsToBytes(md5(message, options));\r\n return options && options.asBytes ? digestbytes :\r\n options && options.asString ? bin.bytesToString(digestbytes) :\r\n crypt.bytesToHex(digestbytes);\r\n };\r\n\r\n})();\r\n","import md5 from 'md5';\n\nvar Json;\n(function(Json2) {\n function readNumber(obj) {\n return typeof obj === \"number\" ? obj : void 0;\n }\n Json2.readNumber = readNumber;\n function readInt(obj) {\n return typeof obj === \"number\" ? Math.floor(obj) : void 0;\n }\n Json2.readInt = readInt;\n function readString(obj) {\n return typeof obj === \"string\" ? obj : void 0;\n }\n Json2.readString = readString;\n function readBoolean(obj) {\n return typeof obj === \"boolean\" ? obj : void 0;\n }\n Json2.readBoolean = readBoolean;\n function readObject(obj) {\n return typeof obj === \"object\" && obj !== null ? obj : void 0;\n }\n Json2.readObject = readObject;\n function readArray(obj, parser) {\n if (!Array.isArray(obj))\n return void 0;\n return obj.map((el) => parser(el));\n }\n Json2.readArray = readArray;\n function readMap(obj, parser) {\n const root = readObject(obj) ?? {};\n return Object.fromEntries(Object.entries(root).map(([k, v]) => [k, parser(v)]));\n }\n Json2.readMap = readMap;\n function compose(obj, parser, mapper) {\n const result = parser(obj);\n return result ? mapper(result) : void 0;\n }\n Json2.compose = compose;\n function readEnum(obj, values) {\n if (typeof obj !== \"string\")\n return values[0];\n if (values.includes(obj))\n return obj;\n return values[0];\n }\n Json2.readEnum = readEnum;\n})(Json || (Json = {}));\n\nfunction lazy(getter) {\n let value = null;\n return () => {\n if (value == null) {\n value = getter();\n }\n return value;\n };\n}\nfunction computeIfAbsent(map, key, getter) {\n const existing = map.get(key);\n if (existing) {\n return existing;\n }\n const value = getter(key);\n map.set(key, value);\n return value;\n}\n\nfunction square(x) {\n return x * x;\n}\nfunction clamp(x, min, max) {\n return Math.max(min, Math.min(max, x));\n}\nfunction lerp(a, b, c) {\n return b + a * (c - b);\n}\nfunction lerp2(a, b, c, d, e, f) {\n return lerp(b, lerp(a, c, d), lerp(a, e, f));\n}\nfunction lerp3(a, b, c, d, e, f, g, h, i, j, k) {\n return lerp(c, lerp2(a, b, d, e, f, g), lerp2(a, b, h, i, j, k));\n}\nfunction lazyLerp(a, b, c) {\n if (a === 0)\n return b();\n if (a === 1)\n return c();\n return b() + a * (c() - b());\n}\nfunction lazyLerp2(a, b, c, d, e, f) {\n return lazyLerp(b, () => lazyLerp(a, c, d), () => lazyLerp(a, e, f));\n}\nfunction lazyLerp3(a, b, c, d, e, f, g, h, i, j, k) {\n return lazyLerp(c, () => lazyLerp2(a, b, d, e, f, g), () => lazyLerp2(a, b, h, i, j, k));\n}\nfunction clampedLerp(a, b, c) {\n if (c < 0) {\n return a;\n } else if (c > 1) {\n return b;\n } else {\n return lerp(c, a, b);\n }\n}\nfunction inverseLerp(a, b, c) {\n return (a - b) / (c - b);\n}\nfunction smoothstep(x) {\n return x * x * x * (x * (x * 6 - 15) + 10);\n}\nfunction map(a, b, c, d, e) {\n return lerp(inverseLerp(a, b, c), d, e);\n}\nfunction clampedMap(a, b, c, d, e) {\n return clampedLerp(d, e, inverseLerp(a, b, c));\n}\nfunction binarySearch(n, n2, predicate) {\n let n3 = n2 - n;\n while (n3 > 0) {\n const n4 = Math.floor(n3 / 2);\n const n5 = n + n4;\n if (predicate(n5)) {\n n3 = n4;\n continue;\n }\n n = n5 + 1;\n n3 -= n4 + 1;\n }\n return n;\n}\nfunction getSeed(x, y, z) {\n let seed = BigInt(x * 3129871) ^ BigInt(z) * BigInt(116129781) ^ BigInt(y);\n seed = seed * seed * BigInt(42317861) + seed * BigInt(11);\n return seed >> BigInt(16);\n}\nfunction longfromBytes(a, b, c, d, e, f, g, h) {\n return BigInt(a) << BigInt(56) | BigInt(b) << BigInt(48) | BigInt(c) << BigInt(40) | BigInt(d) << BigInt(32) | BigInt(e) << BigInt(24) | BigInt(f) << BigInt(16) | BigInt(g) << BigInt(8) | BigInt(h);\n}\nfunction isPowerOfTwo(x) {\n return (x & x - 1) === 0;\n}\nfunction upperPowerOfTwo(x) {\n x -= 1;\n x |= x >> 1;\n x |= x >> 2;\n x |= x >> 4;\n x |= x >> 8;\n x |= x >> 18;\n x |= x >> 32;\n return x + 1;\n}\n\nvar MinMaxNumberFunction;\n(function(MinMaxNumberFunction2) {\n function is(obj) {\n return typeof obj === \"object\" && obj !== null && \"minValue\" in obj && \"maxValue\" in obj;\n }\n MinMaxNumberFunction2.is = is;\n})(MinMaxNumberFunction || (MinMaxNumberFunction = {}));\nvar CubicSpline;\n(function(CubicSpline2) {\n function fromJson(obj, extractor) {\n if (typeof obj === \"number\") {\n return new Constant(obj);\n }\n const root = Json.readObject(obj) ?? {};\n const spline = new MultiPoint(extractor(root.coordinate));\n const points = Json.readArray(root.points, (e) => Json.readObject(e) ?? {}) ?? [];\n if (points.length === 0) {\n return new Constant(0);\n }\n for (const point of points) {\n const location = Json.readNumber(point.location) ?? 0;\n const value = fromJson(point.value, extractor);\n const derivative = Json.readNumber(point.derivative) ?? 0;\n spline.addPoint(location, value, derivative);\n }\n return spline;\n }\n CubicSpline2.fromJson = fromJson;\n class Constant {\n constructor(value) {\n this.value = value;\n }\n compute() {\n return this.value;\n }\n min() {\n return this.value;\n }\n max() {\n return this.value;\n }\n mapAll() {\n return this;\n }\n calculateMinMax() {\n }\n }\n CubicSpline2.Constant = Constant;\n class MultiPoint {\n constructor(coordinate, locations = [], values = [], derivatives = []) {\n this.coordinate = coordinate;\n this.locations = locations;\n this.values = values;\n this.derivatives = derivatives;\n this.calculatedMin = Number.NEGATIVE_INFINITY;\n this.calculatedMax = Number.POSITIVE_INFINITY;\n }\n compute(c) {\n const coordinate = this.coordinate.compute(c);\n const i = binarySearch(0, this.locations.length, (n2) => coordinate < this.locations[n2]) - 1;\n const n = this.locations.length - 1;\n if (i < 0) {\n return this.values[0].compute(c) + this.derivatives[0] * (coordinate - this.locations[0]);\n }\n if (i === n) {\n return this.values[n].compute(c) + this.derivatives[n] * (coordinate - this.locations[n]);\n }\n const loc0 = this.locations[i];\n const loc1 = this.locations[i + 1];\n const der0 = this.derivatives[i];\n const der1 = this.derivatives[i + 1];\n const f = (coordinate - loc0) / (loc1 - loc0);\n const val0 = this.values[i].compute(c);\n const val1 = this.values[i + 1].compute(c);\n const f8 = der0 * (loc1 - loc0) - (val1 - val0);\n const f9 = -der1 * (loc1 - loc0) + (val1 - val0);\n const f10 = lerp(f, val0, val1) + f * (1 - f) * lerp(f, f8, f9);\n return f10;\n }\n min() {\n return this.calculatedMin;\n }\n max() {\n return this.calculatedMax;\n }\n mapAll(visitor) {\n return new MultiPoint(visitor(this.coordinate), this.locations, this.values.map((v) => v.mapAll(visitor)), this.derivatives);\n }\n addPoint(location, value, derivative = 0) {\n this.locations.push(location);\n this.values.push(typeof value === \"number\" ? new CubicSpline2.Constant(value) : value);\n this.derivatives.push(derivative);\n return this;\n }\n calculateMinMax() {\n if (!MinMaxNumberFunction.is(this.coordinate)) {\n return;\n }\n const lastIdx = this.locations.length - 1;\n var splineMin = Number.POSITIVE_INFINITY;\n var splineMax = Number.NEGATIVE_INFINITY;\n const coordinateMin = this.coordinate.minValue();\n const coordinateMax = this.coordinate.maxValue();\n for (const innerSpline of this.values) {\n innerSpline.calculateMinMax();\n }\n if (coordinateMin < this.locations[0]) {\n const minExtend = MultiPoint.linearExtend(coordinateMin, this.locations, this.values[0].min(), this.derivatives, 0);\n const maxExtend = MultiPoint.linearExtend(coordinateMin, this.locations, this.values[0].max(), this.derivatives, 0);\n splineMin = Math.min(splineMin, Math.min(minExtend, maxExtend));\n splineMax = Math.max(splineMax, Math.max(minExtend, maxExtend));\n }\n if (coordinateMax > this.locations[lastIdx]) {\n const minExtend = MultiPoint.linearExtend(coordinateMax, this.locations, this.values[lastIdx].min(), this.derivatives, lastIdx);\n const maxExtend = MultiPoint.linearExtend(coordinateMax, this.locations, this.values[lastIdx].max(), this.derivatives, lastIdx);\n splineMin = Math.min(splineMin, Math.min(minExtend, maxExtend));\n splineMax = Math.max(splineMax, Math.max(minExtend, maxExtend));\n }\n for (const innerSpline of this.values) {\n splineMin = Math.min(splineMin, innerSpline.min());\n splineMax = Math.max(splineMax, innerSpline.max());\n }\n for (var i = 0; i < lastIdx; ++i) {\n const locationLeft = this.locations[i];\n const locationRight = this.locations[i + 1];\n const locationDelta = locationRight - locationLeft;\n const splineLeft = this.values[i];\n const splineRight = this.values[i + 1];\n const minLeft = splineLeft.min();\n const maxLeft = splineLeft.max();\n const minRight = splineRight.min();\n const maxRight = splineRight.max();\n const derivativeLeft = this.derivatives[i];\n const derivativeRight = this.derivatives[i + 1];\n if (derivativeLeft !== 0 || derivativeRight !== 0) {\n const maxValueDeltaLeft = derivativeLeft * locationDelta;\n const maxValueDeltaRight = derivativeRight * locationDelta;\n const minValue = Math.min(minLeft, minRight);\n const maxValue = Math.max(maxLeft, maxRight);\n const minDeltaLeft = maxValueDeltaLeft - maxRight + minLeft;\n const maxDeltaLeft = maxValueDeltaLeft - minRight + maxLeft;\n const minDeltaRight = -maxValueDeltaRight + minRight - maxLeft;\n const maxDeltaRight = -maxValueDeltaRight + maxRight - minLeft;\n const minDelta = Math.min(minDeltaLeft, minDeltaRight);\n const maxDelta = Math.max(maxDeltaLeft, maxDeltaRight);\n splineMin = Math.min(splineMin, minValue + 0.25 * minDelta);\n splineMax = Math.max(splineMax, maxValue + 0.25 * maxDelta);\n }\n }\n this.calculatedMin = splineMin;\n this.calculatedMax = splineMax;\n }\n static linearExtend(location, locations, value, derivatives, useIndex) {\n const derivative = derivatives[useIndex];\n return derivative == 0 ? value : value + derivative * (location - locations[useIndex]);\n }\n }\n CubicSpline2.MultiPoint = MultiPoint;\n})(CubicSpline || (CubicSpline = {}));\n\nconst _LegacyRandom = class {\n constructor(seed) {\n this.seed = BigInt(0);\n this.setSeed(seed);\n }\n fork() {\n return new _LegacyRandom(this.nextLong());\n }\n forkPositional() {\n return new LegacyPositionalRandom(this.nextLong());\n }\n setSeed(seed) {\n this.seed = seed ^ _LegacyRandom.MULTIPLIER & _LegacyRandom.MODULUS_MASK;\n }\n advance() {\n this.seed = this.seed * _LegacyRandom.MULTIPLIER + _LegacyRandom.INCREMENT & _LegacyRandom.MODULUS_MASK;\n }\n consume(count) {\n for (let i = 0; i < count; i += 1) {\n this.advance();\n }\n }\n next(bits) {\n this.advance();\n const out = Number(this.seed >> BigInt(_LegacyRandom.MODULUS_BITS - bits));\n return out > 2147483647 ? out - 4294967296 : out;\n }\n nextInt(max) {\n if (max === void 0) {\n return this.next(32);\n }\n if ((max & max - 1) == 0) {\n return Number(BigInt(max) * BigInt(this.next(31)) >> BigInt(31));\n }\n let a, b;\n while ((a = this.next(31)) - (b = a % max) + (max - 1) < 0) {\n }\n return b;\n }\n nextLong() {\n return (BigInt(this.next(32)) << BigInt(32)) + BigInt(this.next(32));\n }\n nextFloat() {\n return this.next(24) * _LegacyRandom.FLOAT_MULTIPLIER;\n }\n nextDouble() {\n const a = this.next(30);\n this.advance();\n return a * _LegacyRandom.DOUBLE_MULTIPLIER;\n }\n};\nlet LegacyRandom = _LegacyRandom;\nLegacyRandom.MODULUS_BITS = 48;\nLegacyRandom.MODULUS_MASK = BigInt(\"281474976710655\");\nLegacyRandom.MULTIPLIER = BigInt(\"25214903917\");\nLegacyRandom.INCREMENT = BigInt(\"11\");\nLegacyRandom.FLOAT_MULTIPLIER = 1 / Math.pow(2, 24);\nLegacyRandom.DOUBLE_MULTIPLIER = 1 / Math.pow(2, 30);\nclass LegacyPositionalRandom {\n constructor(seed) {\n this.seed = seed;\n }\n at(x, y, z) {\n const seed = getSeed(x, y, z);\n return new LegacyRandom(seed ^ this.seed);\n }\n fromHashOf(name) {\n const hash = md5(name, { asBytes: true });\n const seed = longfromBytes(hash[0], hash[1], hash[2], hash[3], hash[4], hash[5], hash[6], hash[7]);\n return new LegacyRandom(seed ^ this.seed);\n }\n seedKey() {\n return [this.seed, BigInt(0)];\n }\n}\n\nconst _XoroshiroRandom = class {\n constructor(seed) {\n this.seed = [BigInt(0), BigInt(0)];\n this.seed = seed;\n }\n static create(seed) {\n return new _XoroshiroRandom(_XoroshiroRandom.upgradeSeedTo128bit(seed));\n }\n static mixStafford13(value) {\n value = (value ^ value >> _XoroshiroRandom.BIGINT_30) * _XoroshiroRandom.STAFFORD_1 & _XoroshiroRandom.MAX_ULONG;\n value = (value ^ value >> _XoroshiroRandom.BIGINT_27) * _XoroshiroRandom.STAFFORD_2 & _XoroshiroRandom.MAX_ULONG;\n return (value ^ value >> _XoroshiroRandom.BIGINT_31) & _XoroshiroRandom.MAX_ULONG;\n }\n static upgradeSeedTo128bit(seed) {\n if (seed < 0) {\n seed += _XoroshiroRandom.POW2_60;\n }\n const seedLo = seed ^ _XoroshiroRandom.SILVER_RATIO_64;\n const seedHi = seedLo + _XoroshiroRandom.GOLDEN_RATIO_64 & _XoroshiroRandom.MAX_ULONG;\n return [_XoroshiroRandom.mixStafford13(seedLo), _XoroshiroRandom.mixStafford13(seedHi)];\n }\n static rotateLeft(value, shift) {\n return value << shift & _XoroshiroRandom.MAX_ULONG | value >> _XoroshiroRandom.BIGINT_64 - shift;\n }\n setSeed(seed) {\n this.seed = _XoroshiroRandom.upgradeSeedTo128bit(seed);\n }\n fork() {\n return new _XoroshiroRandom([this.next(), this.next()]);\n }\n forkPositional() {\n return new XoroshiroPositionalRandom(this.next(), this.next());\n }\n next() {\n const seedLo = this.seed[0];\n let seedHi = this.seed[1];\n const value = _XoroshiroRandom.rotateLeft(seedLo + seedHi & _XoroshiroRandom.MAX_ULONG, _XoroshiroRandom.BIGINT_17) + seedLo & _XoroshiroRandom.MAX_ULONG;\n seedHi ^= seedLo;\n this.seed = [\n _XoroshiroRandom.rotateLeft(seedLo, _XoroshiroRandom.BIGINT_49) ^ seedHi ^ seedHi << _XoroshiroRandom.BIGINT_21 & _XoroshiroRandom.MAX_ULONG,\n _XoroshiroRandom.rotateLeft(seedHi, _XoroshiroRandom.BIGINT_28)\n ];\n return value;\n }\n nextLong() {\n let value = this.next();\n if (value > _XoroshiroRandom.POW2_63)\n value -= _XoroshiroRandom.POW2_60;\n return value;\n }\n consume(count) {\n let seedLo = this.seed[0];\n let seedHi = this.seed[1];\n for (let i = 0; i < count; i += 1) {\n seedHi ^= seedLo;\n seedLo = _XoroshiroRandom.rotateLeft(seedLo, _XoroshiroRandom.BIGINT_49) ^ seedHi ^ seedHi << _XoroshiroRandom.BIGINT_21;\n seedHi = _XoroshiroRandom.rotateLeft(seedHi, _XoroshiroRandom.BIGINT_28);\n }\n this.seed = [seedLo, seedHi];\n }\n nextBits(bits) {\n return this.next() >> BigInt(64 - bits);\n }\n nextInt(max) {\n let value = this.next() & _XoroshiroRandom.MAX_UINT;\n if (!max) {\n let result = Number(value);\n if (result >= 2147483648) {\n result -= 4294967296;\n }\n return result;\n } else {\n const maxBigint = BigInt(max);\n let product = value * maxBigint;\n let productLo = product & _XoroshiroRandom.MAX_UINT;\n if (productLo < maxBigint) {\n const newMax = ((~maxBigint & _XoroshiroRandom.MAX_UINT) + _XoroshiroRandom.BIGINT_1) % maxBigint;\n while (productLo < newMax) {\n value = this.next() & _XoroshiroRandom.MAX_UINT;\n product = value * maxBigint;\n productLo = product & _XoroshiroRandom.MAX_UINT;\n }\n }\n const productHi = product >> _XoroshiroRandom.BIGINT_32;\n return Number(productHi);\n }\n }\n nextFloat() {\n return Number(this.nextBits(24)) * _XoroshiroRandom.FLOAT_MULTIPLIER;\n }\n nextDouble() {\n return Number(this.nextBits(53)) * _XoroshiroRandom.DOUBLE_MULTIPLIER;\n }\n parityConfigString() {\n return \"seedLo: \" + this.seed[0] + \", seedHi: \" + this.seed[1];\n }\n};\nlet XoroshiroRandom = _XoroshiroRandom;\nXoroshiroRandom.SILVER_RATIO_64 = BigInt(\"7640891576956012809\");\nXoroshiroRandom.GOLDEN_RATIO_64 = BigInt(\"-7046029254386353131\");\nXoroshiroRandom.FLOAT_MULTIPLIER = 1 / Math.pow(2, 24);\nXoroshiroRandom.DOUBLE_MULTIPLIER = 11102230246251565e-32;\nXoroshiroRandom.BIGINT_1 = BigInt(1);\nXoroshiroRandom.BIGINT_17 = BigInt(17);\nXoroshiroRandom.BIGINT_21 = BigInt(21);\nXoroshiroRandom.BIGINT_27 = BigInt(27);\nXoroshiroRandom.BIGINT_28 = BigInt(28);\nXoroshiroRandom.BIGINT_30 = BigInt(30);\nXoroshiroRandom.BIGINT_31 = BigInt(31);\nXoroshiroRandom.BIGINT_32 = BigInt(32);\nXoroshiroRandom.BIGINT_49 = BigInt(49);\nXoroshiroRandom.BIGINT_64 = BigInt(64);\nXoroshiroRandom.STAFFORD_1 = BigInt(\"-4658895280553007687\");\nXoroshiroRandom.STAFFORD_2 = BigInt(\"-7723592293110705685\");\nXoroshiroRandom.MAX_ULONG = BigInt(\"0xFFFFFFFFFFFFFFFF\");\nXoroshiroRandom.POW2_60 = BigInt(\"0x10000000000000000\");\nXoroshiroRandom.POW2_63 = BigInt(\"0x8000000000000000\");\nXoroshiroRandom.MAX_UINT = BigInt(4294967295);\nclass XoroshiroPositionalRandom {\n constructor(seedLo, seedHi) {\n this.seedLo = seedLo;\n this.seedHi = seedHi;\n }\n at(x, y, z) {\n const positionSeed = getSeed(x, y, z);\n const seedLo = positionSeed ^ this.seedLo;\n return new XoroshiroRandom([seedLo, this.seedHi]);\n }\n fromHashOf(name) {\n const hash = md5(name, { asBytes: true });\n const lo = longfromBytes(hash[0], hash[1], hash[2], hash[3], hash[4], hash[5], hash[6], hash[7]);\n const hi = longfromBytes(hash[8], hash[9], hash[10], hash[11], hash[12], hash[13], hash[14], hash[15]);\n return new XoroshiroRandom([lo ^ this.seedLo, hi ^ this.seedHi]);\n }\n seedKey() {\n return [this.seedLo, this.seedHi];\n }\n}\n\nconst _SimplexNoise = class {\n constructor(random) {\n this.xo = random.nextDouble() * 256;\n this.yo = random.nextDouble() * 256;\n this.zo = random.nextDouble() * 256;\n this.p = Array(256);\n for (let i = 0; i < 256; i += 1) {\n this.p[i] = i;\n }\n for (let i = 0; i < 256; i += 1) {\n const j = random.nextInt(256 - i);\n const b = this.p[i];\n this.p[i] = this.p[i + j];\n this.p[i + j] = b;\n }\n }\n sample2D(d, d2) {\n let d3;\n let n3;\n let d4;\n const d6 = (d + d2) * _SimplexNoise.F2;\n const n4 = Math.floor(d + d6);\n const d7 = n4 - (d3 = (n4 + (n3 = Math.floor(d2 + d6))) * _SimplexNoise.G2);\n const d8 = d - d7;\n let a;\n let b;\n if (d8 > (d4 = d2 - (n3 - d3))) {\n a = 1;\n b = 0;\n } else {\n a = 0;\n b = 1;\n }\n const d9 = d8 - a + _SimplexNoise.G2;\n const d10 = d4 - b + _SimplexNoise.G2;\n const d11 = d8 - 1 + 2 * _SimplexNoise.G2;\n const d12 = d4 - 1 + 2 * _SimplexNoise.G2;\n const n5 = n4 & 255;\n const n6 = n3 & 255;\n const n7 = this.P(n5 + this.P(n6)) % 12;\n const n8 = this.P(n5 + a + this.P(n6 + b)) % 12;\n const n9 = this.P(n5 + 1 + this.P(n6 + 1)) % 12;\n const d13 = this.getCornerNoise3D(n7, d8, d4, 0, 0.5);\n const d14 = this.getCornerNoise3D(n8, d9, d10, 0, 0.5);\n const d15 = this.getCornerNoise3D(n9, d11, d12, 0, 0.5);\n return 70 * (d13 + d14 + d15);\n }\n sample(x, y, z) {\n const d5 = (x + y + z) * 0.3333333333333333;\n const x2 = Math.floor(x + d5);\n const y2 = Math.floor(y + d5);\n const z2 = Math.floor(z + d5);\n const d7 = (x2 + y2 + z2) * 0.16666666666666666;\n const x3 = x - (x2 - d7);\n const y3 = y - (y2 - d7);\n const z3 = z - (z2 - d7);\n let a;\n let b;\n let c;\n let d;\n let e;\n let f;\n if (x3 >= y3) {\n if (y3 >= z3) {\n a = 1;\n b = 0;\n c = 0;\n d = 1;\n e = 1;\n f = 0;\n } else if (x3 >= z3) {\n a = 1;\n b = 0;\n c = 0;\n d = 1;\n e = 0;\n f = 1;\n } else {\n a = 0;\n b = 0;\n c = 1;\n d = 1;\n e = 0;\n f = 1;\n }\n } else if (y3 < z3) {\n a = 0;\n b = 0;\n c = 1;\n d = 0;\n e = 1;\n f = 1;\n } else if (x3 < z3) {\n a = 0;\n b = 1;\n c = 0;\n d = 0;\n e = 1;\n f = 1;\n } else {\n a = 0;\n b = 1;\n c = 0;\n d = 1;\n e = 1;\n f = 0;\n }\n const x4 = x3 - a + 0.16666666666666666;\n const y4 = y3 - b + 0.16666666666666666;\n const z4 = z3 - c + 0.16666666666666666;\n const x5 = x3 - d + 0.3333333333333333;\n const y5 = y3 - e + 0.3333333333333333;\n const z5 = z3 - f + 0.3333333333333333;\n const x6 = x3 - 0.5;\n const y6 = y3 - 0.5;\n const z6 = z3 - 0.5;\n const x7 = x2 & 255;\n const y7 = y2 & 255;\n const z7 = z2 & 255;\n const g = this.P(x7 + this.P(y7 + this.P(z7))) % 12;\n const h = this.P(x7 + a + this.P(y7 + b + this.P(z7 + c))) % 12;\n const i = this.P(x7 + d + this.P(y7 + e + this.P(z7 + f))) % 12;\n const j = this.P(x7 + 1 + this.P(y7 + 1 + this.P(z7 + 1))) % 12;\n const k = this.getCornerNoise3D(g, x3, y3, z3, 0.6);\n const l = this.getCornerNoise3D(h, x4, y4, z4, 0.6);\n const m = this.getCornerNoise3D(i, x5, y5, z5, 0.6);\n const n = this.getCornerNoise3D(j, x6, y6, z6, 0.6);\n return 32 * (k + l + m + n);\n }\n P(i) {\n return this.p[i & 255];\n }\n getCornerNoise3D(i, a, b, c, d) {\n let f;\n let e = d - a * a - b * b - c * c;\n if (e < 0) {\n f = 0;\n } else {\n e *= e;\n f = e * e * _SimplexNoise.gradDot(i, a, b, c);\n }\n return f;\n }\n static gradDot(a, b, c, d) {\n const grad = _SimplexNoise.GRADIENT[a & 15];\n return grad[0] * b + grad[1] * c + grad[2] * d;\n }\n};\nlet SimplexNoise = _SimplexNoise;\nSimplexNoise.GRADIENT = [[1, 1, 0], [-1, 1, 0], [1, -1, 0], [-1, -1, 0], [1, 0, 1], [-1, 0, 1], [1, 0, -1], [-1, 0, -1], [0, 1, 1], [0, -1, 1], [0, 1, -1], [0, -1, -1], [1, 1, 0], [0, -1, 1], [-1, 1, 0], [0, -1, -1]];\nSimplexNoise.F2 = 0.5 * (Math.sqrt(3) - 1);\nSimplexNoise.G2 = (3 - Math.sqrt(3)) / 6;\n\nclass ImprovedNoise {\n constructor(random) {\n this.xo = random.nextDouble() * 256;\n this.yo = random.nextDouble() * 256;\n this.zo = random.nextDouble() * 256;\n this.p = Array(256);\n for (let i = 0; i < 256; i += 1) {\n this.p[i] = i > 127 ? i - 256 : i;\n }\n for (let i = 0; i < 256; i += 1) {\n const j = random.nextInt(256 - i);\n const b = this.p[i];\n this.p[i] = this.p[i + j];\n this.p[i + j] = b;\n }\n }\n sample(x, y, z, yScale = 0, yLimit = 0) {\n const x2 = x + this.xo;\n const y2 = y + this.yo;\n const z2 = z + this.zo;\n const x3 = Math.floor(x2);\n const y3 = Math.floor(y2);\n const z3 = Math.floor(z2);\n const x4 = x2 - x3;\n const y4 = y2 - y3;\n const z4 = z2 - z3;\n let y6 = 0;\n if (yScale !== 0) {\n const t = yLimit >= 0 && yLimit < y4 ? yLimit : y4;\n y6 = Math.floor(t / yScale + 1e-7) * yScale;\n }\n return this.sampleAndLerp(x3, y3, z3, x4, y4 - y6, z4, y4);\n }\n sampleAndLerp(a, b, c, d, e, f, g) {\n const h = this.P(a);\n const i = this.P(a + 1);\n const j = this.P(h + b);\n const k = this.P(h + b + 1);\n const l = this.P(i + b);\n const m = this.P(i + b + 1);\n const n = SimplexNoise.gradDot(this.P(j + c), d, e, f);\n const o = SimplexNoise.gradDot(this.P(l + c), d - 1, e, f);\n const p = SimplexNoise.gradDot(this.P(k + c), d, e - 1, f);\n const q = SimplexNoise.gradDot(this.P(m + c), d - 1, e - 1, f);\n const r = SimplexNoise.gradDot(this.P(j + c + 1), d, e, f - 1);\n const s = SimplexNoise.gradDot(this.P(l + c + 1), d - 1, e, f - 1);\n const t = SimplexNoise.gradDot(this.P(k + c + 1), d, e - 1, f - 1);\n const u = SimplexNoise.gradDot(this.P(m + c + 1), d - 1, e - 1, f - 1);\n const v = smoothstep(d);\n const w = smoothstep(g);\n const x = smoothstep(f);\n return lerp3(v, w, x, n, o, p, q, r, s, t, u);\n }\n P(i) {\n return this.p[i & 255] & 255;\n }\n}\n\nclass PerlinNoise {\n constructor(random, firstOctave, amplitudes) {\n if (random instanceof XoroshiroRandom) {\n const forkedRandom = random.forkPositional();\n this.noiseLevels = Array(amplitudes.length);\n for (let i = 0; i < amplitudes.length; i++) {\n if (amplitudes[i] !== 0) {\n const octave = firstOctave + i;\n this.noiseLevels[i] = new ImprovedNoise(forkedRandom.fromHashOf(\"octave_\" + octave));\n }\n }\n } else {\n if (1 - firstOctave < amplitudes.length) {\n throw new Error(\"Positive octaves are not allowed when using LegacyRandom\");\n }\n this.noiseLevels = Array(amplitudes.length);\n for (let i = -firstOctave; i >= 0; i -= 1) {\n if (i < amplitudes.length && amplitudes[i] !== 0) {\n this.noiseLevels[i] = new ImprovedNoise(random);\n } else {\n random.consume(262);\n }\n }\n }\n this.amplitudes = amplitudes;\n this.lowestFreqInputFactor = Math.pow(2, firstOctave);\n this.lowestFreqValueFactor = Math.pow(2, amplitudes.length - 1) / (Math.pow(2, amplitudes.length) - 1);\n this.maxValue = this.edgeValue(2);\n }\n sample(x, y, z, yScale = 0, yLimit = 0, fixY = false) {\n let value = 0;\n let inputF = this.lowestFreqInputFactor;\n let valueF = this.lowestFreqValueFactor;\n for (let i = 0; i < this.noiseLevels.length; i += 1) {\n const noise = this.noiseLevels[i];\n if (noise) {\n value += this.amplitudes[i] * valueF * noise.sample(PerlinNoise.wrap(x * inputF), fixY ? -noise.yo : PerlinNoise.wrap(y * inputF), PerlinNoise.wrap(z * inputF), yScale * inputF, yLimit * inputF);\n }\n inputF *= 2;\n valueF /= 2;\n }\n return value;\n }\n getOctaveNoise(i) {\n return this.noiseLevels[this.noiseLevels.length - 1 - i];\n }\n edgeValue(x) {\n let value = 0;\n let valueF = this.lowestFreqValueFactor;\n for (let i = 0; i < this.noiseLevels.length; i += 1) {\n if (this.noiseLevels[i]) {\n value += this.amplitudes[i] * x * valueF;\n }\n valueF /= 2;\n }\n return value;\n }\n static wrap(value) {\n return value - Math.floor(value / 33554432 + 0.5) * 33554432;\n }\n}\n\nclass BlendedNoise {\n constructor(random, xzScale, yScale, xzFactor, yFactor, smearScaleMultiplier) {\n this.xzScale = xzScale;\n this.yScale = yScale;\n this.xzFactor = xzFactor;\n this.yFactor = yFactor;\n this.smearScaleMultiplier = smearScaleMultiplier;\n this.minLimitNoise = new PerlinNoise(random, -15, [1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0]);\n this.maxLimitNoise = new PerlinNoise(random, -15, [1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0]);\n this.mainNoise = new PerlinNoise(random, -7, [1, 1, 1, 1, 1, 0, 0, 0]);\n this.xzMultiplier = 684.412 * xzScale;\n this.yMultiplier = 684.412 * yScale;\n this.maxValue = this.minLimitNoise.edgeValue(this.yScale + 2);\n }\n sample(x, y, z) {\n const scaledX = x * this.xzMultiplier;\n const scaledY = y * this.yMultiplier;\n const scaledZ = z * this.xzMultiplier;\n const factoredX = scaledX / this.xzFactor;\n const factoredY = scaledY / this.yFactor;\n const factoredZ = scaledZ / this.xzFactor;\n const smear = this.yMultiplier * this.smearScaleMultiplier;\n const factoredSmear = smear / this.yFactor;\n let noise;\n let value = 0;\n let factor = 1;\n for (let i = 0; i < 8; i += 1) {\n noise = this.mainNoise.getOctaveNoise(i);\n if (noise) {\n const xx = PerlinNoise.wrap(factoredX * factor);\n const yy = PerlinNoise.wrap(factoredY * factor);\n const zz = PerlinNoise.wrap(factoredZ * factor);\n value += noise.sample(xx, yy, zz, factoredSmear * factor, factoredY * factor) / factor;\n }\n factor /= 2;\n }\n value = (value / 10 + 1) / 2;\n factor = 1;\n let min = 0;\n let max = 0;\n for (let i = 0; i < 16; i += 1) {\n const xx = PerlinNoise.wrap(scaledX * factor);\n const yy = PerlinNoise.wrap(scaledY * factor);\n const zz = PerlinNoise.wrap(scaledZ * factor);\n const smearsmear = smear * factor;\n if (value < 1 && (noise = this.minLimitNoise.getOctaveNoise(i))) {\n min += noise.sample(xx, yy, zz, smearsmear, scaledY * factor) / factor;\n }\n if (value > 0 && (noise = this.maxLimitNoise.getOctaveNoise(i))) {\n max += noise.sample(xx, yy, zz, smearsmear, scaledY * factor) / factor;\n }\n factor /= 2;\n }\n return clampedLerp(min / 512, max / 512, value) / 128;\n }\n}\n\nconst _NormalNoise = class {\n constructor(random, { firstOctave, amplitudes }) {\n this.first = new PerlinNoise(random, firstOctave, amplitudes);\n this.second = new PerlinNoise(random, firstOctave, amplitudes);\n let min = Infinity;\n let max = -Infinity;\n for (let i = 0; i < amplitudes.length; i += 1) {\n if (amplitudes[i] !== 0) {\n min = Math.min(min, i);\n max = Math.max(max, i);\n }\n }\n const expectedDeviation = 0.1 * (1 + 1 / (max - min + 1));\n this.valueFactor = 1 / 6 / expectedDeviation;\n this.maxValue = (this.first.maxValue + this.second.maxValue) * this.valueFactor;\n }\n sample(x, y, z) {\n const x2 = x * _NormalNoise.INPUT_FACTOR;\n const y2 = y * _NormalNoise.INPUT_FACTOR;\n const z2 = z * _NormalNoise.INPUT_FACTOR;\n return (this.first.sample(x, y, z) + this.second.sample(x2, y2, z2)) * this.valueFactor;\n }\n};\nlet NormalNoise = _NormalNoise;\nNormalNoise.INPUT_FACTOR = 1.0181268882175227;\nvar NoiseParameters;\n(function(NoiseParameters2) {\n function create(firstOctave, amplitudes) {\n return { firstOctave, amplitudes };\n }\n NoiseParameters2.create = create;\n function fromJson(obj) {\n const root = Json.readObject(obj) ?? {};\n return {\n firstOctave: Json.readInt(root.firstOctave) ?? 0,\n amplitudes: Json.readArray(root.amplitudes, (e) => Json.readNumber(e) ?? 0) ?? []\n };\n }\n NoiseParameters2.fromJson = fromJson;\n})(NoiseParameters || (NoiseParameters = {}));\n\nclass PerlinSimplexNoise {\n constructor(random, octaves) {\n const lastOctave = octaves[octaves.length - 1];\n const negFirstOctave = -octaves[0];\n const range = negFirstOctave + lastOctave + 1;\n const octavesSet = new Set(octaves);\n const noise = new SimplexNoise(random);\n this.noiseLevels = Array(range);\n if (lastOctave >= 0 && lastOctave < range && octavesSet.has(0)) {\n this.noiseLevels[lastOctave] = noise;\n }\n for (let i = lastOctave + 1; i < range; i += 1) {\n if (i >= 0 && octavesSet.has(lastOctave - i)) {\n this.noiseLevels[i] = new SimplexNoise(random);\n } else {\n random.consume(262);\n }\n }\n if (lastOctave > 0) {\n throw new Error(\"Positive octaves are not allowed\");\n }\n this.highestFreqInputFactor = Math.pow(2, lastOctave);\n this.highestFreqValueFactor = 1 / (Math.pow(2, range) - 1);\n }\n sample(x, y, useOffsets) {\n let value = 0;\n let inputF = this.highestFreqInputFactor;\n let valueF = this.highestFreqValueFactor;\n for (let i = 0; i < this.noiseLevels.length; i += 1) {\n const noise = this.noiseLevels[i];\n if (noise) {\n value += valueF * noise.sample2D(x * inputF + (useOffsets ? noise.xo : 0), y * inputF + (useOffsets ? noise.yo : 0));\n }\n inputF /= 2;\n valueF *= 2;\n }\n return value;\n }\n}\n\nvar Direction;\n(function(Direction2) {\n Direction2[\"UP\"] = \"up\";\n Direction2[\"DOWN\"] = \"down\";\n Direction2[\"NORTH\"] = \"north\";\n Direction2[\"EAST\"] = \"east\";\n Direction2[\"SOUTH\"] = \"south\";\n Direction2[\"WEST\"] = \"west\";\n})(Direction || (Direction = {}));\nconst directionNormals = {\n [Direction.UP]: [0, 1, 0],\n [Direction.DOWN]: [0, -1, 0],\n [Direction.NORTH]: [0, 0, -1],\n [Direction.EAST]: [1, 0, 0],\n [Direction.SOUTH]: [0, 0, 1],\n [Direction.WEST]: [-1, 0, 0]\n};\n(function(Direction2) {\n Direction2.ALL = [Direction2.UP, Direction2.DOWN, Direction2.NORTH, Direction2.EAST, Direction2.SOUTH, Direction2.WEST];\n function normal(dir) {\n return directionNormals[dir];\n }\n Direction2.normal = normal;\n})(Direction || (Direction = {}));\n\nvar BlockPos$1;\n(function(BlockPos2) {\n function create(x, y, z) {\n return [x, y, z];\n }\n BlockPos2.create = create;\n BlockPos2.ZERO = BlockPos2.create(0, 0, 0);\n function offset(pos, dx, dy, dz) {\n return [pos[0] + dx, pos[1] + dy, pos[2] + dz];\n }\n BlockPos2.offset = offset;\n function towards(pos, dir) {\n return BlockPos2.offset(pos, ...Direction.normal(dir));\n }\n BlockPos2.towards = towards;\n function equals(a, b) {\n if (a === b)\n return true;\n return a[0] === b[0] && a[1] === b[1] && a[2] === b[2];\n }\n BlockPos2.equals = equals;\n function magnitude(pos) {\n return pos[0] * pos[0] + pos[1] * pos[1] + pos[2] * pos[2];\n }\n BlockPos2.magnitude = magnitude;\n})(BlockPos$1 || (BlockPos$1 = {}));\n\nfunction getTag(tags, name, type) {\n if (!tags[name]) {\n throw new Error(`Missing ${name} tag`);\n }\n if (tags[name].type !== type) {\n throw new Error(`Expected ${name} to be of type ${type}, but found ${tags[name].type}`);\n }\n return tags[name].value;\n}\nfunction getListTag(tags, name, type, length) {\n const value = getTag(tags, name, \"list\");\n if (value.type !== type) {\n throw new Error(`Expected ${name} to be a list of ${type}s, but found ${value.type}s`);\n }\n if (length && value.value.length !== length) {\n throw new Error(`Expected ${name} to be a list of length ${length}, but found length ${value.value.length}`);\n }\n return value.value;\n}\nfunction getOptional(readResult, fallback) {\n try {\n return readResult();\n } catch (e) {\n return fallback;\n }\n}\n\nconst _Identifier = class {\n constructor(namespace, path) {\n this.namespace = namespace;\n this.path = path;\n if (!namespace.match(/^[a-z0-9._-]+$/)) {\n throw new Error(`Non [a-z0-9._-] character in namespace of ${namespace}:${path}`);\n }\n if (!path.match(/^[a-z0-9/._-]+$/)) {\n throw new Error(`Non [a-z0-9/._-] character in path of ${namespace}:${path}`);\n }\n }\n equals(other) {\n if (this === other) {\n return true;\n }\n return this.namespace === other.namespace && this.path === other.path;\n }\n toString() {\n return `${this.namespace}:${this.path}`;\n }\n static create(path) {\n return new _Identifier(this.DEFAULT_NAMESPACE, path);\n }\n static parse(id) {\n const sep = id.indexOf(this.SEPARATOR);\n if (sep >= 0) {\n const namespace = sep >= 1 ? id.substring(0, sep) : this.DEFAULT_NAMESPACE;\n const path = id.substring(sep + 1);\n return new _Identifier(namespace, path);\n }\n return new _Identifier(this.DEFAULT_NAMESPACE, id);\n }\n};\nlet Identifier = _Identifier;\nIdentifier.DEFAULT_NAMESPACE = \"minecraft\";\nIdentifier.SEPARATOR = \":\";\n\nconst _BlockState = class {\n constructor(name, properties = {}) {\n this.properties = properties;\n this.name = typeof name === \"string\" ? Identifier.parse(name) : name;\n }\n getName() {\n return this.name;\n }\n getProperties() {\n return this.properties;\n }\n getProperty(key) {\n return this.properties[key];\n }\n isFluid() {\n return this.is(_BlockState.WATER) || this.is(_BlockState.LAVA);\n }\n equals(other) {\n if (!this.name.equals(other.name)) {\n return false;\n }\n return Object.keys(this.properties).every((p) => {\n return other.properties[p] === this.properties[p];\n });\n }\n is(other) {\n return this.name.equals(other.name);\n }\n toString() {\n if (Object.keys(this.properties).length === 0) {\n return this.name.toString();\n }\n return `${this.name.toString()}[${Object.entries(this.properties).map(([k, v]) => k + \"=\" + v).join(\",\")}]`;\n }\n static fromNbt(nbt) {\n const name = Identifier.parse(getTag(nbt.value, \"Name\", \"string\"));\n const propsTag = getOptional(() => getTag(nbt.value, \"Properties\", \"compound\"), {});\n const properties = Object.keys(propsTag).reduce((acc, k) => ({ ...acc, [k]: getTag(propsTag, k, \"string\") }), {});\n return new _BlockState(name, properties);\n }\n static fromJson(obj) {\n const root = Json.readObject(obj) ?? {};\n const name = Identifier.parse(Json.readString(root.Name) ?? _BlockState.STONE.name.toString());\n const properties = Json.readMap(root.Properties, (p) => Json.readString(p) ?? \"\");\n return new _BlockState(name, properties);\n }\n};\nlet BlockState = _BlockState;\nBlockState.AIR = new _BlockState(Identifier.create(\"air\"));\nBlockState.STONE = new _BlockState(Identifier.create(\"stone\"));\nBlockState.WATER = new _BlockState(Identifier.create(\"water\"), { level: \"0\" });\nBlockState.LAVA = new _BlockState(Identifier.create(\"lava\"), { level: \"0\" });\n\nconst _ChunkSection = class {\n constructor(minY) {\n this.minY = minY;\n this.storage = Array(_ChunkSection.SIZE).fill(0);\n this.palette = [BlockState.AIR];\n }\n get minBlockY() {\n return this.minY << 4;\n }\n index(x, y, z) {\n return (x << 8) + (y << 4) + z;\n }\n getBlockState(x, y, z) {\n const id = this.storage[this.index(x, y, z)];\n return this.palette[id] ?? BlockState.AIR;\n }\n setBlockState(x, y, z, state) {\n let id = this.palette.findIndex((b) => b.equals(state));\n if (id === -1) {\n id = this.palette.length;\n this.palette.push(state);\n }\n this.storage[this.index(x, y, z)] = id;\n }\n};\nlet ChunkSection = _ChunkSection;\nChunkSection.WIDTH = 16;\nChunkSection.SIZE = _ChunkSection.WIDTH * _ChunkSection.WIDTH * _ChunkSection.WIDTH;\n\nclass Chunk {\n constructor(minY, height, pos) {\n this.minY = minY;\n this.height = height;\n this.pos = pos;\n this.sections = Array(this.sectionsCount).fill(null);\n }\n get maxY() {\n return this.minY + this.height;\n }\n get minSection() {\n return this.minY >> 4;\n }\n get maxSection() {\n return (this.maxY - 1 >> 4) + 1;\n }\n get sectionsCount() {\n return this.maxSection - this.minSection;\n }\n getSectionIndex(y) {\n return (y >> 4) - this.minSection;\n }\n getBlockState(pos) {\n const [x, y, z] = pos;\n const section = this.sections[this.getSectionIndex(y)];\n return section?.getBlockState(x & 15, y & 15, z & 15) ?? BlockState.AIR;\n }\n setBlockState(pos, state) {\n const [x, y, z] = pos;\n const sectionIndex = this.getSectionIndex(y);\n let section = this.sections[sectionIndex];\n if (section === null) {\n if (state.equals(BlockState.AIR))\n return;\n section = this.getOrCreateSection(sectionIndex);\n }\n section.setBlockState(x & 15, y & 15, z & 15, state);\n }\n getOrCreateSection(index) {\n if (this.sections[index] == null) {\n this.sections[index] = new ChunkSection(this.minSection + index);\n }\n return this.sections[index];\n }\n}\n\nvar ChunkPos;\n(function(ChunkPos2) {\n function create(x, z) {\n return [x, z];\n }\n ChunkPos2.create = create;\n function fromBlockPos(blockPos) {\n return [blockPos[0] >> 4, blockPos[2] >> 4];\n }\n ChunkPos2.fromBlockPos = fromBlockPos;\n function fromLong(long) {\n return [Number(long) & 4294967295, Number(long >> BigInt(32))];\n }\n ChunkPos2.fromLong = fromLong;\n function toLong(chunkPos) {\n return asLong(chunkPos[0], chunkPos[1]);\n }\n ChunkPos2.toLong = toLong;\n function asLong(x, z) {\n return BigInt(x & 4294967295) | BigInt(z & 4294967295) << BigInt(32);\n }\n ChunkPos2.asLong = asLong;\n function minBlockX(chunkPos) {\n return chunkPos[0] << 4;\n }\n ChunkPos2.minBlockX = minBlockX;\n function minBlockZ(chunkPos) {\n return chunkPos[1] << 4;\n }\n ChunkPos2.minBlockZ = minBlockZ;\n function maxBlockX(chunkPos) {\n return (chunkPos[0] << 4) + 15;\n }\n ChunkPos2.maxBlockX = maxBlockX;\n function maxBlockZ(chunkPos) {\n return (chunkPos[1] << 4) + 15;\n }\n ChunkPos2.maxBlockZ = maxBlockZ;\n})(ChunkPos || (ChunkPos = {}));\n\nvar Holder;\n(function(Holder2) {\n function parser(registry, directParser) {\n return (obj) => {\n if (typeof obj === \"string\") {\n return reference(registry, Identifier.parse(obj));\n } else {\n return direct(directParser(obj));\n }\n };\n }\n Holder2.parser = parser;\n function direct(value) {\n return {\n value: () => value,\n key: () => void 0\n };\n }\n Holder2.direct = direct;\n function reference(registry, id) {\n return {\n value: () => registry.getOrThrow(id),\n key: () => id\n };\n }\n Holder2.reference = reference;\n})(Holder || (Holder = {}));\n\nconst _Registry = class {\n constructor(key, parser) {\n this.key = key;\n this.parser = parser;\n this.storage = new Map();\n this.builtin = new Map();\n }\n register(id, value, builtin) {\n this.storage.set(id.toString(), value);\n if (builtin) {\n this.builtin.set(id.toString(), value);\n }\n return Holder.reference(this, id);\n }\n keys() {\n return [...this.storage.keys()].map((e) => Identifier.parse(e));\n }\n get(id) {\n return this.storage.get(id.toString());\n }\n getOrThrow(id) {\n const value = this.storage.get(id.toString());\n if (value === void 0) {\n throw new Error(`Missing key in ${this.key.toString()}: ${id.toString()}`);\n }\n return value;\n }\n parse(obj) {\n if (!this.parser) {\n throw new Error(`No parser exists for ${this.key.toString()}`);\n }\n return this.parser(obj);\n }\n clear() {\n this.storage.clear();\n for (const [key, value] of this.builtin.entries()) {\n this.storage.set(key, value);\n }\n return this;\n }\n assign(other) {\n if (!this.key.equals(other.key)) {\n throw new Error(`Cannot assign registry of type ${other.key.toString()} to registry of type ${this.key.toString()}`);\n }\n for (const key of other.keys()) {\n this.storage.set(key.toString(), other.getOrThrow(key));\n }\n return this;\n }\n cloneEmpty() {\n return new _Registry(this.key, this.parser);\n }\n};\nlet Registry = _Registry;\nRegistry.REGISTRY = new _Registry(Identifier.create(\"root\"));\n\nclass Structure {\n constructor(size, palette = [], blocks = []) {\n this.size = size;\n this.palette = palette;\n this.blocks = blocks;\n this.blocksMap = [];\n blocks.forEach((block) => {\n if (!this.isInside(block.pos)) {\n throw new Error(`Found block at ${block.pos} which is outside the structure bounds ${this.size}`);\n }\n this.blocksMap[block.pos[0] * size[1] * size[2] + block.pos[1] * size[2] + block.pos[2]] = block;\n });\n }\n getSize() {\n return this.size;\n }\n addBlock(pos, name, properties, nbt) {\n if (!this.isInside(pos)) {\n throw new Error(`Cannot add block at ${pos} outside the structure bounds ${this.size}`);\n }\n const blockState = new BlockState(name, properties);\n let state = this.palette.findIndex((b) => b.equals(blockState));\n if (state === -1) {\n state = this.palette.length;\n this.palette.push(blockState);\n }\n this.blocks.push({ pos, state, nbt });\n this.blocksMap[pos[0] * this.size[1] * this.size[2] + pos[1] * this.size[2] + pos[2]] = { pos, state, nbt };\n return this;\n }\n getBlocks() {\n return this.blocks.map((b) => ({\n pos: b.pos,\n state: this.palette[b.state],\n nbt: b.nbt\n }));\n }\n getBlock(pos) {\n if (!this.isInside(pos))\n return null;\n const block = this.blocksMap[pos[0] * this.size[1] * this.size[2] + pos[1] * this.size[2] + pos[2]];\n if (!block)\n return null;\n const placedBlock = {\n pos: block.pos,\n state: this.palette[block.state],\n nbt: block.nbt\n };\n return placedBlock;\n }\n isInside(pos) {\n return pos[0] >= 0 && pos[0] < this.size[0] && pos[1] >= 0 && pos[1] < this.size[1] && pos[2] >= 0 && pos[2] < this.size[2];\n }\n static fromNbt(nbt) {\n const size = getListTag(nbt.value, \"size\", \"int\", 3);\n const palette = getListTag(nbt.value, \"palette\", \"compound\").map((tags) => BlockState.fromNbt({ name: \"\", value: tags }));\n const blocks = getListTag(nbt.value, \"blocks\", \"compound\").map((tags) => {\n const pos = getListTag(tags, \"pos\", \"int\", 3);\n const state = getTag(tags, \"state\", \"int\");\n const nbt2 = getOptional(() => getTag(tags, \"nbt\", \"compound\"), void 0);\n return { pos, state, nbt: nbt2 };\n });\n return new Structure(size, palette, blocks);\n }\n}\n\nvar WorldgenRegistries;\n(function(WorldgenRegistries2) {\n WorldgenRegistries2.NOISE = register(\"worldgen/noise\");\n WorldgenRegistries2.DENSITY_FUNCTION = register(\"worldgen/density_function\");\n function register(name) {\n const registry = new Registry(Identifier.create(name));\n Registry.REGISTRY.register(registry.key, registry);\n return registry;\n }\n})(WorldgenRegistries || (WorldgenRegistries = {}));\n\nclass DensityFunction {\n minValue() {\n return -this.maxValue();\n }\n mapAll(visitor) {\n return visitor.map(this);\n }\n}\n(function(DensityFunction2) {\n function context(x, y, z) {\n return {\n x,\n y,\n z\n };\n }\n DensityFunction2.context = context;\n class Transformer extends DensityFunction2 {\n constructor(input) {\n super();\n this.input = input;\n }\n compute(context2) {\n return this.transform(context2, this.input.compute(context2));\n }\n }\n const NoiseParser = Holder.parser(WorldgenRegistries.NOISE, NoiseParameters.fromJson);\n function fromJson(obj, inputParser = fromJson) {\n if (typeof obj === \"string\") {\n return new HolderHolder(Holder.reference(WorldgenRegistries.DENSITY_FUNCTION, Identifier.parse(obj)));\n }\n if (typeof obj === \"number\") {\n return new Constant(obj);\n }\n const root = Json.readObject(obj) ?? {};\n const type = Json.readString(root.type)?.replace(/^minecraft:/, \"\");\n switch (type) {\n case \"blend_alpha\":\n return new ConstantMinMax(1, 0, 1);\n case \"blend_offset\":\n return new ConstantMinMax(0, -Infinity, Infinity);\n case \"beardifier\":\n return new ConstantMinMax(0, -Infinity, Infinity);\n case \"old_blended_noise\":\n return new OldBlendedNoise(Json.readNumber(root.xz_scale) ?? 1, Json.readNumber(root.y_scale) ?? 1, Json.readNumber(root.xz_factor) ?? 80, Json.readNumber(root.y_factor) ?? 160, Json.readNumber(root.smear_scale_multiplier) ?? 8);\n case \"flat_cache\":\n return new FlatCache(inputParser(root.argument));\n case \"interpolated\":\n return new Interpolated(inputParser(root.argument));\n case \"cache_2d\":\n return new Cache2D(inputParser(root.argument));\n case \"cache_once\":\n return new CacheOnce(inputParser(root.argument));\n case \"cache_all_in_cell\":\n return new CacheAllInCell(inputParser(root.argument));\n case \"noise\":\n return new Noise(Json.readNumber(root.xz_scale) ?? 1, Json.readNumber(root.y_scale) ?? 1, NoiseParser(root.noise));\n case \"end_islands\":\n return new EndIslands();\n case \"weird_scaled_sampler\":\n return new WeirdScaledSampler(inputParser(root.input), Json.readEnum(root.rarity_value_mapper, RarityValueMapper), NoiseParser(root.noise));\n case \"shifted_noise\":\n return new ShiftedNoise(inputParser(root.shift_x), inputParser(root.shift_y), inputParser(root.shift_z), Json.readNumber(root.xz_scale) ?? 1, Json.readNumber(root.y_scale) ?? 1, NoiseParser(root.noise));\n case \"range_choice\":\n return new RangeChoice(inputParser(root.input), Json.readNumber(root.min_inclusive) ?? 0, Json.readNumber(root.max_exclusive) ?? 1, inputParser(root.when_in_range), inputParser(root.when_out_of_range));\n case \"shift_a\":\n return new ShiftA(NoiseParser(root.argument));\n case \"shift_b\":\n return new ShiftB(NoiseParser(root.argument));\n case \"shift\":\n return new Shift(NoiseParser(root.argument));\n case \"blend_density\":\n return new BlendDensity(inputParser(root.argument));\n case \"clamp\":\n return new Clamp(inputParser(root.input), Json.readNumber(root.min) ?? 0, Json.readNumber(root.max) ?? 1);\n case \"abs\":\n case \"square\":\n case \"cube\":\n case \"half_negative\":\n case \"quarter_negative\":\n case \"squeeze\":\n return new Mapped(type, inputParser(root.argument));\n case \"add\":\n case \"mul\":\n case \"min\":\n case \"max\":\n return new Ap2(Json.readEnum(type, Ap2Type), inputParser(root.argument1), inputParser(root.argument2));\n case \"spline\":\n return new Spline(CubicSpline.fromJson(root.spline, inputParser));\n case \"constant\":\n return new Constant(Json.readNumber(root.argument) ?? 0);\n case \"y_clamped_gradient\":\n return new YClampedGradient(Json.readInt(root.from_y) ?? -4064, Json.readInt(root.to_y) ?? 4062, Json.readNumber(root.from_value) ?? -4064, Json.readNumber(root.to_value) ?? 4062);\n }\n return Constant.ZERO;\n }\n DensityFunction2.fromJson = fromJson;\n const _Constant = class extends DensityFunction2 {\n constructor(value) {\n super();\n this.value = value;\n }\n compute() {\n return this.value;\n }\n minValue() {\n return this.value;\n }\n maxValue() {\n return this.value;\n }\n };\n let Constant = _Constant;\n Constant.ZERO = new _Constant(0);\n Constant.ONE = new _Constant(1);\n DensityFunction2.Constant = Constant;\n class HolderHolder extends DensityFunction2 {\n constructor(holder) {\n super();\n this.holder = holder;\n }\n compute(context2) {\n return this.holder.value().compute(context2);\n }\n minValue() {\n return this.holder.value().minValue();\n }\n maxValue() {\n return this.holder.value().maxValue();\n }\n }\n DensityFunction2.HolderHolder = HolderHolder;\n class ConstantMinMax extends DensityFunction2.Constant {\n constructor(value, min, max) {\n super(value);\n this.min = min;\n this.max = max;\n }\n minValue() {\n return this.min;\n }\n maxValue() {\n return this.max;\n }\n }\n DensityFunction2.ConstantMinMax = ConstantMinMax;\n class OldBlendedNoise extends DensityFunction2 {\n constructor(xzScale, yScale, xzFactor, yFactor, smearScaleMultiplier, blendedNoise) {\n super();\n this.xzScale = xzScale;\n this.yScale = yScale;\n this.xzFactor = xzFactor;\n this.yFactor = yFactor;\n this.smearScaleMultiplier = smearScaleMultiplier;\n this.blendedNoise = blendedNoise;\n }\n compute(context2) {\n return this.blendedNoise?.sample(context2.x, context2.y, context2.z) ?? 0;\n }\n maxValue() {\n return this.blendedNoise?.maxValue ?? 0;\n }\n }\n DensityFunction2.OldBlendedNoise = OldBlendedNoise;\n class Wrapper extends DensityFunction2 {\n constructor(wrapped) {\n super();\n this.wrapped = wrapped;\n }\n minValue() {\n return this.wrapped.minValue();\n }\n maxValue() {\n return this.wrapped.maxValue();\n }\n }\n class FlatCache extends Wrapper {\n constructor(wrapped) {\n super(wrapped);\n this.lastValue = 0;\n }\n compute(context2) {\n const quartX = context2.x >> 2;\n const quartZ = context2.z >> 2;\n if (this.lastQuartX !== quartX || this.lastQuartZ !== quartZ) {\n this.lastValue = this.wrapped.compute(DensityFunction2.context(quartX << 2, 0, quartZ << 2));\n this.lastQuartX = quartX;\n this.lastQuartZ = quartZ;\n }\n return this.lastValue;\n }\n mapAll(visitor) {\n return visitor.map(new FlatCache(this.wrapped.mapAll(visitor)));\n }\n }\n DensityFunction2.FlatCache = FlatCache;\n class CacheAllInCell extends Wrapper {\n constructor(wrapped) {\n super(wrapped);\n }\n compute(context2) {\n return this.wrapped.compute(context2);\n }\n mapAll(visitor) {\n return visitor.map(new CacheAllInCell(this.wrapped.mapAll(visitor)));\n }\n }\n DensityFunction2.CacheAllInCell = CacheAllInCell;\n class Cache2D extends Wrapper {\n constructor(wrapped) {\n super(wrapped);\n this.lastValue = 0;\n }\n compute(context2) {\n const blockX = context2.x;\n const blockZ = context2.z;\n if (this.lastBlockX !== blockX || this.lastBlockZ !== blockZ) {\n this.lastValue = this.wrapped.compute(context2);\n this.lastBlockX = blockX;\n this.lastBlockZ = blockZ;\n }\n return this.lastValue;\n }\n mapAll(visitor) {\n return visitor.map(new Cache2D(this.wrapped.mapAll(visitor)));\n }\n }\n DensityFunction2.Cache2D = Cache2D;\n class CacheOnce extends Wrapper {\n constructor(wrapped) {\n super(wrapped);\n this.lastValue = 0;\n }\n compute(context2) {\n const blockX = context2.x;\n const blockY = context2.y;\n const blockZ = context2.z;\n if (this.lastBlockX !== blockX || this.lastBlockY !== blockY || this.lastBlockZ !== blockZ) {\n this.lastValue = this.wrapped.compute(context2);\n this.lastBlockX = blockX;\n this.lastBlockY = blockY;\n this.lastBlockZ = blockZ;\n }\n return this.lastValue;\n }\n mapAll(visitor) {\n return visitor.map(new CacheOnce(this.wrapped.mapAll(visitor)));\n }\n }\n DensityFunction2.CacheOnce = CacheOnce;\n class Interpolated extends Wrapper {\n constructor(wrapped, cellWidth = 4, cellHeight = 4) {\n super(wrapped);\n this.cellWidth = cellWidth;\n this.cellHeight = cellHeight;\n this.values = new Map();\n }\n compute({ x: blockX, y: blockY, z: blockZ }) {\n const w = this.cellWidth;\n const h = this.cellHeight;\n const x = (blockX % w + w) % w / w;\n const y = (blockY % h + h) % h / h;\n const z = (blockZ % w + w) % w / w;\n const firstX = Math.floor(blockX / w) * w;\n const firstY = Math.floor(blockY / h) * h;\n const firstZ = Math.floor(blockZ / w) * w;\n const noise000 = () => this.computeCorner(firstX, firstY, firstZ);\n const noise001 = () => this.computeCorner(firstX, firstY, firstZ + w);\n const noise010 = () => this.computeCorner(firstX, firstY + h, firstZ);\n const noise011 = () => this.computeCorner(firstX, firstY + h, firstZ + w);\n const noise100 = () => this.computeCorner(firstX + w, firstY, firstZ);\n const noise101 = () => this.computeCorner(firstX + w, firstY, firstZ + w);\n const noise110 = () => this.computeCorner(firstX + w, firstY + h, firstZ);\n const noise111 = () => this.computeCorner(firstX + w, firstY + h, firstZ + w);\n return lazyLerp3(x, y, z, noise000, noise100, noise010, noise110, noise001, noise101, noise011, noise111);\n }\n computeCorner(x, y, z) {\n return computeIfAbsent(this.values, `${x} ${y} ${z}`, () => {\n return this.wrapped.compute(DensityFunction2.context(x, y, z));\n });\n }\n mapAll(visitor) {\n return visitor.map(new Interpolated(this.wrapped.mapAll(visitor)));\n }\n withCellSize(cellWidth, cellHeight) {\n return new Interpolated(this.wrapped, cellWidth, cellHeight);\n }\n }\n DensityFunction2.Interpolated = Interpolated;\n class Noise extends DensityFunction2 {\n constructor(xzScale, yScale, noiseData, noise) {\n super();\n this.xzScale = xzScale;\n this.yScale = yScale;\n this.noiseData = noiseData;\n this.noise = noise;\n }\n compute(context2) {\n return this.noise?.sample(context2.x * this.xzScale, context2.y * this.yScale, context2.z * this.xzScale) ?? 0;\n }\n maxValue() {\n return this.noise?.maxValue ?? 2;\n }\n }\n DensityFunction2.Noise = Noise;\n class EndIslands extends DensityFunction2 {\n compute() {\n return 0;\n }\n minValue() {\n return -0.84375;\n }\n maxValue() {\n return 0.5625;\n }\n }\n const RarityValueMapper = [\"type_1\", \"type_2\"];\n const _WeirdScaledSampler = class extends Transformer {\n constructor(input, rarityValueMapper, noiseData, noise) {\n super(input);\n this.rarityValueMapper = rarityValueMapper;\n this.noiseData = noiseData;\n this.noise = noise;\n this.mapper = _WeirdScaledSampler.ValueMapper[this.rarityValueMapper];\n }\n transform(context2, density) {\n if (!this.noise) {\n return 0;\n }\n const rarity = this.mapper(density);\n return rarity * Math.abs(this.noise.sample(context2.x / rarity, context2.y / rarity, context2.z / rarity));\n }\n mapAll(visitor) {\n return visitor.map(new _WeirdScaledSampler(this.input.mapAll(visitor), this.rarityValueMapper, this.noiseData, this.noise));\n }\n minValue() {\n return 0;\n }\n maxValue() {\n return this.rarityValueMapper === \"type_1\" ? 2 : 3;\n }\n static rarityValueMapper1(value) {\n if (value < -0.5) {\n return 0.75;\n } else if (value < 0) {\n return 1;\n } else if (value < 0.5) {\n return 1.5;\n } else {\n return 2;\n }\n }\n static rarityValueMapper2(value) {\n if (value < -0.75) {\n return 0.5;\n } else if (value < -0.5) {\n return 0.75;\n } else if (value < 0.5) {\n return 1;\n } else if (value < 0.75) {\n return 2;\n } else {\n return 3;\n }\n }\n };\n let WeirdScaledSampler = _WeirdScaledSampler;\n WeirdScaledSampler.ValueMapper = {\n type_1: _WeirdScaledSampler.rarityValueMapper1,\n type_2: _WeirdScaledSampler.rarityValueMapper2\n };\n DensityFunction2.WeirdScaledSampler = WeirdScaledSampler;\n class ShiftedNoise extends Noise {\n constructor(shiftX, shiftY, shiftZ, xzScale, yScale, noiseData, noise) {\n super(xzScale, yScale, noiseData, noise);\n this.shiftX = shiftX;\n this.shiftY = shiftY;\n this.shiftZ = shiftZ;\n }\n compute(context2) {\n const xx = context2.x * this.xzScale + this.shiftX.compute(context2);\n const yy = context2.y * this.yScale + this.shiftY.compute(context2);\n const zz = context2.z * this.xzScale + this.shiftZ.compute(context2);\n return this.noise?.sample(xx, yy, zz) ?? 0;\n }\n mapAll(visitor) {\n return visitor.map(new ShiftedNoise(this.shiftX.mapAll(visitor), this.shiftY.mapAll(visitor), this.shiftZ.mapAll(visitor), this.xzScale, this.yScale, this.noiseData, this.noise));\n }\n }\n DensityFunction2.ShiftedNoise = ShiftedNoise;\n class RangeChoice extends DensityFunction2 {\n constructor(input, minInclusive, maxExclusive, whenInRange, whenOutOfRange) {\n super();\n this.input = input;\n this.minInclusive = minInclusive;\n this.maxExclusive = maxExclusive;\n this.whenInRange = whenInRange;\n this.whenOutOfRange = whenOutOfRange;\n }\n compute(context2) {\n const x = this.input.compute(context2);\n return this.minInclusive <= x && x < this.maxExclusive ? this.whenInRange.compute(context2) : this.whenOutOfRange.compute(context2);\n }\n mapAll(visitor) {\n return visitor.map(new RangeChoice(this.input.mapAll(visitor), this.minInclusive, this.maxExclusive, this.whenInRange.mapAll(visitor), this.whenOutOfRange.mapAll(visitor)));\n }\n minValue() {\n return Math.min(this.whenInRange.minValue(), this.whenOutOfRange.minValue());\n }\n maxValue() {\n return Math.max(this.whenInRange.maxValue(), this.whenOutOfRange.maxValue());\n }\n }\n DensityFunction2.RangeChoice = RangeChoice;\n class ShiftNoise extends DensityFunction2 {\n constructor(noiseData, offsetNoise) {\n super();\n this.noiseData = noiseData;\n this.offsetNoise = offsetNoise;\n }\n compute(context2) {\n return this.offsetNoise?.sample(context2.x * 0.25, context2.y * 0.25, context2.z * 0.25) ?? 0;\n }\n maxValue() {\n return (this.offsetNoise?.maxValue ?? 2) * 4;\n }\n }\n DensityFunction2.ShiftNoise = ShiftNoise;\n class ShiftA extends ShiftNoise {\n constructor(noiseData, offsetNoise) {\n super(noiseData, offsetNoise);\n }\n compute(context2) {\n return super.compute(DensityFunction2.context(context2.x, 0, context2.z));\n }\n withNewNoise(newNoise) {\n return new ShiftA(this.noiseData, newNoise);\n }\n }\n DensityFunction2.ShiftA = ShiftA;\n class ShiftB extends ShiftNoise {\n constructor(noiseData, offsetNoise) {\n super(noiseData, offsetNoise);\n }\n compute(context2) {\n return super.compute(DensityFunction2.context(context2.z, context2.x, 0));\n }\n withNewNoise(newNoise) {\n return new ShiftB(this.noiseData, newNoise);\n }\n }\n DensityFunction2.ShiftB = ShiftB;\n class Shift extends ShiftNoise {\n constructor(noiseData, offsetNoise) {\n super(noiseData, offsetNoise);\n }\n withNewNoise(newNoise) {\n return new Shift(this.noiseData, newNoise);\n }\n }\n DensityFunction2.Shift = Shift;\n class BlendDensity extends Transformer {\n constructor(input) {\n super(input);\n }\n transform(context2, density) {\n return density;\n }\n mapAll(visitor) {\n return visitor.map(new BlendDensity(this.input.mapAll(visitor)));\n }\n minValue() {\n return -Infinity;\n }\n maxValue() {\n return Infinity;\n }\n }\n DensityFunction2.BlendDensity = BlendDensity;\n class Clamp extends Transformer {\n constructor(input, min, max) {\n super(input);\n this.min = min;\n this.max = max;\n }\n transform(context2, density) {\n return clamp(density, this.min, this.max);\n }\n mapAll(visitor) {\n return visitor.map(new Clamp(this.input.mapAll(visitor), this.min, this.max));\n }\n minValue() {\n return this.min;\n }\n maxValue() {\n return this.max;\n }\n }\n DensityFunction2.Clamp = Clamp;\n const _Mapped = class extends Transformer {\n constructor(type, input, min, max) {\n super(input);\n this.type = type;\n this.min = min;\n this.max = max;\n this.transformer = _Mapped.MappedTypes[this.type];\n }\n transform(context2, density) {\n return this.transformer(density);\n }\n mapAll(visitor) {\n return visitor.map(new _Mapped(this.type, this.input.mapAll(visitor)));\n }\n minValue() {\n return this.min ?? -Infinity;\n }\n maxValue() {\n return this.max ?? Infinity;\n }\n withMinMax() {\n const minInput = this.input.minValue();\n let min = this.transformer(minInput);\n let max = this.transformer(this.input.maxValue());\n if (this.type === \"abs\" || this.type === \"square\") {\n max = Math.max(min, max);\n min = Math.max(0, minInput);\n }\n return new _Mapped(this.type, this.input, min, max);\n }\n };\n let Mapped = _Mapped;\n Mapped.MappedTypes = {\n abs: (d) => Math.abs(d),\n square: (d) => d * d,\n cube: (d) => d * d * d,\n half_negative: (d) => d > 0 ? d : d * 0.5,\n quarter_negative: (d) => d > 0 ? d : d * 0.25,\n squeeze: (d) => {\n const c = clamp(d, -1, 1);\n return c / 2 - c * c * c / 24;\n }\n };\n DensityFunction2.Mapped = Mapped;\n const Ap2Type = [\"add\", \"mul\", \"min\", \"max\"];\n class Ap2 extends DensityFunction2 {\n constructor(type, argument1, argument2, min, max) {\n super();\n this.type = type;\n this.argument1 = argument1;\n this.argument2 = argument2;\n this.min = min;\n this.max = max;\n }\n compute(context2) {\n const a = this.argument1.compute(context2);\n switch (this.type) {\n case \"add\":\n return a + this.argument2.compute(context2);\n case \"mul\":\n return a === 0 ? 0 : a * this.argument2.compute(context2);\n case \"min\":\n return a < this.argument2.minValue() ? a : Math.min(a, this.argument2.compute(context2));\n case \"max\":\n return a > this.argument2.maxValue() ? a : Math.max(a, this.argument2.compute(context2));\n }\n }\n mapAll(visitor) {\n return visitor.map(new Ap2(this.type, this.argument1.mapAll(visitor), this.argument2.mapAll(visitor)));\n }\n minValue() {\n return this.min ?? -Infinity;\n }\n maxValue() {\n return this.max ?? Infinity;\n }\n withMinMax() {\n const min1 = this.argument1.minValue();\n const min2 = this.argument2.minValue();\n const max1 = this.argument1.maxValue();\n const max2 = this.argument2.maxValue();\n if ((this.type === \"min\" || this.type === \"max\") && (min1 >= max2 || min2 >= max1)) {\n console.warn(`Creating a ${this.type} function between two non-overlapping inputs`);\n }\n let min, max;\n switch (this.type) {\n case \"add\":\n min = min1 + min2;\n max = max1 + max2;\n break;\n case \"mul\":\n min = min1 > 0 && min2 > 0 ? min1 * min2 || 0 : max1 < 0 && max2 < 0 ? max1 * max2 || 0 : Math.min(min1 * max2 || 0, min2 * max1 || 0);\n max = min1 > 0 && min2 > 0 ? max1 * max2 || 0 : max1 < 0 && max2 < 0 ? min1 * min2 || 0 : Math.max(min1 * min2 || 0, max1 * max2 || 0);\n break;\n case \"min\":\n min = Math.min(min1, min2);\n max = Math.min(max1, max2);\n break;\n case \"max\":\n min = Math.max(min1, min2);\n max = Math.max(max1, max2);\n break;\n }\n return new Ap2(this.type, this.argument1, this.argument2, min, max);\n }\n }\n DensityFunction2.Ap2 = Ap2;\n class Spline extends DensityFunction2 {\n constructor(spline) {\n super();\n this.spline = spline;\n }\n compute(context2) {\n return this.spline.compute(context2);\n }\n mapAll(visitor) {\n const newCubicSpline = this.spline.mapAll((fn) => {\n if (fn instanceof DensityFunction2) {\n return fn.mapAll(visitor);\n }\n return fn;\n });\n newCubicSpline.calculateMinMax();\n return visitor.map(new Spline(newCubicSpline));\n }\n minValue() {\n return this.spline.min();\n }\n maxValue() {\n return this.spline.max();\n }\n }\n DensityFunction2.Spline = Spline;\n class YClampedGradient extends DensityFunction2 {\n constructor(fromY, toY, fromValue, toValue) {\n super();\n this.fromY = fromY;\n this.toY = toY;\n this.fromValue = fromValue;\n this.toValue = toValue;\n }\n compute(context2) {\n return clampedMap(context2.y, this.fromY, this.toY, this.fromValue, this.toValue);\n }\n minValue() {\n return Math.min(this.fromValue, this.toValue);\n }\n maxValue() {\n return Math.max(this.fromValue, this.toValue);\n }\n }\n DensityFunction2.YClampedGradient = YClampedGradient;\n})(DensityFunction || (DensityFunction = {}));\n\nclass FluidStatus {\n constructor(level, type) {\n this.level = level;\n this.type = type;\n }\n at(level) {\n return level < this.level ? this.type : BlockState.AIR;\n }\n}\nvar Aquifer;\n(function(Aquifer2) {\n function createDisabled(fluidPicker) {\n return {\n compute({ x, y, z }, density) {\n if (density > 0) {\n return void 0;\n }\n return fluidPicker(x, y, z).at(y);\n }\n };\n }\n Aquifer2.createDisabled = createDisabled;\n})(Aquifer || (Aquifer = {}));\nconst _NoiseAquifer = class {\n constructor(noiseChunk, chunkPos, barrierNoise, fluidLevelFloodednessNoise, fluidLevelSpreadNoise, lavaNoise, random, minY, height, globalFluidPicker) {\n this.noiseChunk = noiseChunk;\n this.barrierNoise = barrierNoise;\n this.fluidLevelFloodednessNoise = fluidLevelFloodednessNoise;\n this.fluidLevelSpreadNoise = fluidLevelSpreadNoise;\n this.lavaNoise = lavaNoise;\n this.random = random;\n this.globalFluidPicker = globalFluidPicker;\n this.minGridX = this.gridX(ChunkPos.minBlockX(chunkPos)) - 1;\n this.gridSizeX = this.gridX(ChunkPos.maxBlockX(chunkPos)) + 1 - this.minGridX + 1;\n this.minGridY = this.gridY(minY) - 1;\n this.minGridZ = this.gridZ(ChunkPos.minBlockZ(chunkPos)) - 1;\n this.gridSizeZ = this.gridZ(ChunkPos.maxBlockZ(chunkPos)) + 1 - this.minGridZ + 1;\n const gridSizeY = this.gridY(minY + height) + 1 - this.minGridY + 1;\n this.gridSize = this.gridSizeX * gridSizeY * this.gridSizeZ;\n this.aquiferCache = Array(this.gridSize).fill(void 0);\n this.aquiferLocationCache = Array(this.gridSize).fill(BlockPos$1.ZERO);\n }\n compute({ x, y, z }, density) {\n if (density <= 0) {\n if (this.globalFluidPicker(x, y, z).at(y).is(BlockState.LAVA)) {\n return BlockState.LAVA;\n } else {\n const gridX = this.gridX(x - 5);\n const gridY = this.gridY(y + 1);\n const gridZ = this.gridZ(z - 5);\n let mag1 = Number.MAX_SAFE_INTEGER;\n let mag2 = Number.MAX_SAFE_INTEGER;\n let mag3 = Number.MAX_SAFE_INTEGER;\n let loc1 = BlockPos$1.ZERO;\n let loc2 = BlockPos$1.ZERO;\n let loc3 = BlockPos$1.ZERO;\n for (let xOffset = 0; xOffset <= 1; xOffset += 1) {\n for (let yOffset = -1; yOffset <= 1; yOffset += 1) {\n for (let zOffset = 0; zOffset <= 1; zOffset += 1) {\n const location = this.getLocation(gridX + xOffset, gridY + yOffset, gridZ + zOffset);\n const magnitude = BlockPos$1.magnitude(location);\n if (mag1 >= magnitude) {\n loc3 = loc2;\n loc2 = loc1;\n loc1 = location;\n mag3 = mag2;\n mag2 = mag1;\n mag1 = magnitude;\n } else if (mag2 >= magnitude) {\n loc3 = loc2;\n loc2 = location;\n mag3 = mag2;\n mag2 = magnitude;\n } else if (mag3 >= magnitude) {\n loc3 = location;\n mag3 = magnitude;\n }\n }\n }\n }\n const status1 = this.getStatus(loc1);\n const status2 = this.getStatus(loc2);\n const status3 = this.getStatus(loc3);\n const similarity12 = _NoiseAquifer.similarity(mag1, mag2);\n const similarity13 = _NoiseAquifer.similarity(mag1, mag3);\n const similarity23 = _NoiseAquifer.similarity(mag2, mag3);\n let pressure;\n if (status1.at(y).is(BlockState.WATER) && this.globalFluidPicker(x, y - 1, z).at(y - 1).is(BlockState.LAVA)) {\n pressure = 1;\n } else if (similarity12 > -1) {\n const barrier = lazy(() => this.barrierNoise.compute(DensityFunction.context(x, y * 0.5, z)));\n const pressure12 = this.calculatePressure(y, status1, status2, barrier);\n const pressure13 = this.calculatePressure(y, status1, status3, barrier);\n const pressure23 = this.calculatePressure(y, status2, status3, barrier);\n const n = Math.max(pressure12, pressure13 * Math.max(0, similarity13), pressure23 * Math.max(similarity23));\n pressure = Math.max(0, 2 * Math.max(0, similarity12) * n);\n } else {\n pressure = 0;\n }\n if (density + pressure <= 0) {\n return status1.at(y);\n }\n }\n }\n return void 0;\n }\n static similarity(a, b) {\n return 1 - Math.abs(b - a) / 25;\n }\n calculatePressure(y, status1, status2, barrier) {\n const fluid1 = status1.at(y);\n const fluid2 = status2.at(y);\n if (fluid1.is(BlockState.LAVA) && fluid2.is(BlockState.WATER) || fluid1.is(BlockState.WATER) && fluid2.is(BlockState.LAVA)) {\n return 1;\n }\n const levelDiff = Math.abs(status1.level - status2.level);\n if (levelDiff === 0) {\n return 0;\n }\n const levelAvg = (status1.level + status2.level) / 2;\n const levelAvgDiff = y + 0.5 - levelAvg;\n const p = levelDiff / 2 - Math.abs(levelAvgDiff);\n const pressure = levelAvgDiff > 0 ? p > 0 ? p / 1.5 : p / 2.5 : p > -3 ? (p + 3) / 3 : (p + 3) / 10;\n if (pressure < -2 || pressure > 2) {\n return pressure;\n }\n return pressure + barrier();\n }\n getStatus(location) {\n const [x, y, z] = location;\n const index = this.getIndex(this.gridX(x), this.gridY(y), this.gridZ(z));\n const cachedStatus = this.aquiferCache[index];\n if (cachedStatus !== void 0) {\n return cachedStatus;\n }\n const status = this.computeStatus(x, y, z);\n this.aquiferCache[index] = status;\n return status;\n }\n computeStatus(x, y, z) {\n const globalStatus = this.globalFluidPicker(x, y, z);\n let minPreliminarySurface = Number.MAX_SAFE_INTEGER;\n let isAquifer = false;\n for (const [xOffset, zOffset] of _NoiseAquifer.SURFACE_SAMPLING) {\n const blockX = x + (zOffset << 4);\n const blockZ = z + (zOffset << 4);\n const preliminarySurface = this.noiseChunk.getPreliminarySurfaceLevel(blockX, blockZ);\n minPreliminarySurface = Math.min(minPreliminarySurface, preliminarySurface);\n const noOffset = xOffset === 0 && zOffset === 0;\n if (noOffset && y - 12 > preliminarySurface + 8) {\n return globalStatus;\n }\n if (noOffset || y + 12 > preliminarySurface + 8) {\n const newStatus = this.globalFluidPicker(blockX, preliminarySurface + 8, blockZ);\n if (!newStatus.at(preliminarySurface + 8).is(BlockState.AIR)) {\n if (noOffset) {\n return newStatus;\n } else {\n isAquifer = true;\n }\n }\n }\n }\n const allowedFloodedness = isAquifer ? clampedMap(minPreliminarySurface + 8 - y, 0, 64, 1, 0) : 0;\n const floodedness = clamp(this.fluidLevelFloodednessNoise.compute(DensityFunction.context(x, y * 0.67, z)), -1, 1);\n if (floodedness > map(allowedFloodedness, 1, 0, -0.3, 0.8)) {\n return globalStatus;\n }\n if (floodedness <= map(allowedFloodedness, 1, 0, -0.8, 0.4)) {\n return new FluidStatus(Number.MIN_SAFE_INTEGER, globalStatus.type);\n }\n const gridY = Math.floor(y / 40);\n const spread = this.fluidLevelSpreadNoise.compute(DensityFunction.context(Math.floor(x / 16), gridY, Math.floor(z / 16)));\n const level = gridY * 40 + 20 + Math.floor(spread / 3) * 3;\n const statusLevel = Math.min(minPreliminarySurface, level);\n const fluid = this.getFluidType(x, y, z, globalStatus.type, level);\n return new FluidStatus(statusLevel, fluid);\n }\n getFluidType(x, y, z, global, level) {\n if (level <= -10) {\n const lava = this.lavaNoise.compute(DensityFunction.context(Math.floor(x / 64), Math.floor(y / 40), Math.floor(z / 64)));\n if (Math.abs(lava) > 0.3) {\n return BlockState.LAVA;\n }\n }\n return global;\n }\n getLocation(x, y, z) {\n const index = this.getIndex(x, y, z);\n const cachedLocation = this.aquiferLocationCache[index];\n if (BlockPos$1.equals(cachedLocation, BlockPos$1.ZERO)) {\n return cachedLocation;\n }\n const random = this.random.at(x, y, z);\n const location = BlockPos$1.create(x * _NoiseAquifer.X_SPACING + random.nextInt(10), y * _NoiseAquifer.Y_SPACING + random.nextInt(9), z * _NoiseAquifer.Z_SPACING + random.nextInt(10));\n this.aquiferLocationCache[index] = location;\n return location;\n }\n getIndex(x, y, z) {\n const gridX = x - this.minGridX;\n const gridY = y - this.minGridY;\n const gridZ = z - this.minGridZ;\n const index = (gridY * this.gridSizeZ + gridZ) * this.gridSizeX + gridX;\n if (index < 0 || index >= this.gridSize) {\n throw new Error(`Invalid aquifer index at ${x} ${y} ${z}: 0 <= ${index} < ${this.gridSize}`);\n }\n return index;\n }\n gridX(x) {\n return Math.floor(x / _NoiseAquifer.X_SPACING);\n }\n gridY(y) {\n return Math.floor(y / _NoiseAquifer.Y_SPACING);\n }\n gridZ(z) {\n return Math.floor(z / _NoiseAquifer.Z_SPACING);\n }\n};\nlet NoiseAquifer$1 = _NoiseAquifer;\nNoiseAquifer$1.X_SPACING = 16;\nNoiseAquifer$1.Y_SPACING = 12;\nNoiseAquifer$1.Z_SPACING = 16;\nNoiseAquifer$1.SURFACE_SAMPLING = [[-2, -1], [-1, -1], [0, -1], [1, -1], [-3, 0], [-2, 0], [-1, 0], [0, 0], [1, 0], [-2, 1], [-1, 1], [0, 1], [1, 1]];\n\nvar Climate;\n(function(Climate2) {\n const PARAMETER_SPACE = 7;\n function target(temperature, humidity, continentalness, erosion, depth, weirdness) {\n return new TargetPoint(temperature, humidity, continentalness, erosion, depth, weirdness);\n }\n Climate2.target = target;\n function parameters(temperature, humidity, continentalness, erosion, depth, weirdness, offset) {\n return new ParamPoint(param(temperature), param(humidity), param(continentalness), param(erosion), param(depth), param(weirdness), offset);\n }\n Climate2.parameters = parameters;\n function param(value, max) {\n if (typeof value === \"number\") {\n return new Param(value, max ?? value);\n }\n return value;\n }\n Climate2.param = param;\n class Param {\n constructor(min, max) {\n this.min = min;\n this.max = max;\n }\n distance(param2) {\n const diffMax = (typeof param2 === \"number\" ? param2 : param2.min) - this.max;\n const diffMin = this.min - (typeof param2 === \"number\" ? param2 : param2.max);\n if (diffMax > 0) {\n return diffMax;\n }\n return Math.max(diffMin, 0);\n }\n union(param2) {\n return new Param(Math.min(this.min, param2.min), Math.max(this.max, param2.max));\n }\n static fromJson(obj) {\n if (typeof obj === \"number\")\n return new Param(obj, obj);\n const [min, max] = Json.readArray(obj, (e) => Json.readNumber(e)) ?? [];\n return new Param(min ?? 0, max ?? 0);\n }\n }\n Climate2.Param = Param;\n class ParamPoint {\n constructor(temperature, humidity, continentalness, erosion, depth, weirdness, offset) {\n this.temperature = temperature;\n this.humidity = humidity;\n this.continentalness = continentalness;\n this.erosion = erosion;\n this.depth = depth;\n this.weirdness = weirdness;\n this.offset = offset;\n }\n fittness(point) {\n return square(this.temperature.distance(point.temperature)) + square(this.humidity.distance(point.humidity)) + square(this.continentalness.distance(point.continentalness)) + square(this.erosion.distance(point.erosion)) + square(this.depth.distance(point.depth)) + square(this.weirdness.distance(point.weirdness)) + square(this.offset - point.offset);\n }\n space() {\n return [this.temperature, this.humidity, this.continentalness, this.erosion, this.depth, this.weirdness, new Param(this.offset, this.offset)];\n }\n static fromJson(obj) {\n const root = Json.readObject(obj) ?? {};\n return new ParamPoint(Param.fromJson(root.temperature), Param.fromJson(root.humidity), Param.fromJson(root.continentalness), Param.fromJson(root.erosion), Param.fromJson(root.depth), Param.fromJson(root.weirdness), Json.readInt(root.offset) ?? 0);\n }\n }\n Climate2.ParamPoint = ParamPoint;\n class TargetPoint {\n constructor(temperature, humidity, continentalness, erosion, depth, weirdness) {\n this.temperature = temperature;\n this.humidity = humidity;\n this.continentalness = continentalness;\n this.erosion = erosion;\n this.depth = depth;\n this.weirdness = weirdness;\n }\n get offset() {\n return 0;\n }\n toArray() {\n return [this.temperature, this.humidity, this.continentalness, this.erosion, this.depth, this.weirdness, this.offset];\n }\n }\n Climate2.TargetPoint = TargetPoint;\n class Parameters {\n constructor(things) {\n this.things = things;\n this.index = new RTree(things);\n }\n find(target2) {\n return this.index.search(target2, (node, values) => node.distance(values));\n }\n }\n Climate2.Parameters = Parameters;\n class Sampler {\n constructor(temperature, humidity, continentalness, erosion, depth, weirdness) {\n this.temperature = temperature;\n this.humidity = humidity;\n this.continentalness = continentalness;\n this.erosion = erosion;\n this.depth = depth;\n this.weirdness = weirdness;\n }\n static fromRouter(router) {\n return new Climate2.Sampler(router.temperature, router.vegetation, router.continents, router.erosion, router.depth, router.ridges);\n }\n sample(x, y, z) {\n const context = DensityFunction.context(x << 2, y << 2, z << 2);\n return Climate2.target(this.temperature.compute(context), this.humidity.compute(context), this.continentalness.compute(context), this.erosion.compute(context), this.depth.compute(context), this.weirdness.compute(context));\n }\n }\n Climate2.Sampler = Sampler;\n const _RTree = class {\n constructor(points) {\n this.root = _RTree.build(points.map(([point, thing]) => new RLeaf(point, thing)));\n }\n static build(nodes) {\n if (nodes.length === 1) {\n return nodes[0];\n }\n if (nodes.length <= _RTree.CHILDREN_PER_NODE) {\n const sortedNodes = nodes.map((node) => {\n let key = 0;\n for (let i = 0; i < PARAMETER_SPACE; i += 1) {\n const param2 = node.space[i];\n key += Math.abs((param2.min + param2.max) / 2);\n }\n return { key, node };\n }).sort((a, b) => a.key - b.key).map(({ node }) => node);\n return new RSubTree(sortedNodes);\n }\n let f = Infinity;\n let n3 = -1;\n let result = [];\n for (let n2 = 0; n2 < PARAMETER_SPACE; ++n2) {\n nodes = _RTree.sort(nodes, n2, false);\n result = _RTree.bucketize(nodes);\n let f2 = 0;\n for (const subTree2 of result) {\n f2 += _RTree.area(subTree2.space);\n }\n if (!(f > f2))\n continue;\n f = f2;\n n3 = n2;\n }\n nodes = _RTree.sort(nodes, n3, false);\n result = _RTree.bucketize(nodes);\n result = _RTree.sort(result, n3, true);\n return new RSubTree(result.map((subTree) => _RTree.build(subTree.children)));\n }\n static sort(nodes, i, abs) {\n return nodes.map((node) => {\n const param2 = node.space[i];\n const f = (param2.min + param2.max) / 2;\n const key = abs ? Math.abs(f) : f;\n return { key, node };\n }).sort((a, b) => a.key - b.key).map(({ node }) => node);\n }\n static bucketize(nodes) {\n const arrayList = [];\n let arrayList2 = [];\n const n = Math.pow(10, Math.floor(Math.log(nodes.length - 0.01) / Math.log(10)));\n for (const node of nodes) {\n arrayList2.push(node);\n if (arrayList2.length < n)\n continue;\n arrayList.push(new RSubTree(arrayList2));\n arrayList2 = [];\n }\n if (arrayList2.length !== 0) {\n arrayList.push(new RSubTree(arrayList2));\n }\n return arrayList;\n }\n static area(params) {\n let f = 0;\n for (const param2 of params) {\n f += Math.abs(param2.max - param2.min);\n }\n return f;\n }\n search(target2, distance) {\n const leaf = this.root.search(target2.toArray(), distance);\n return leaf.thing();\n }\n };\n let RTree = _RTree;\n RTree.CHILDREN_PER_NODE = 10;\n Climate2.RTree = RTree;\n class RNode {\n constructor(space) {\n this.space = space;\n }\n distance(values) {\n let result = 0;\n for (let i = 0; i < PARAMETER_SPACE; i += 1) {\n result += square(this.space[i].distance(values[i]));\n }\n return result;\n }\n }\n Climate2.RNode = RNode;\n class RSubTree extends RNode {\n constructor(children) {\n super(RSubTree.buildSpace(children));\n this.children = children;\n }\n static buildSpace(nodes) {\n let space = [...Array(PARAMETER_SPACE)].map(() => new Param(Infinity, -Infinity));\n for (const node of nodes) {\n space = [...Array(PARAMETER_SPACE)].map((_, i) => space[i].union(node.space[i]));\n }\n return space;\n }\n search(values, distance) {\n let dist = Infinity;\n let leaf = null;\n for (const node of this.children) {\n const d1 = distance(node, values);\n if (dist <= d1)\n continue;\n const leaf2 = node.search(values, distance);\n const d2 = node == leaf2 ? d1 : distance(leaf2, values);\n if (dist <= d2)\n continue;\n dist = d2;\n leaf = leaf2;\n }\n return leaf;\n }\n }\n Climate2.RSubTree = RSubTree;\n class RLeaf extends RNode {\n constructor(point, thing) {\n super(point.space());\n this.thing = thing;\n }\n search() {\n return this;\n }\n }\n Climate2.RLeaf = RLeaf;\n})(Climate || (Climate = {}));\n\nclass FixedBiome {\n constructor(biome) {\n this.biome = biome;\n }\n getBiome() {\n return this.biome;\n }\n static fromJson(obj) {\n const root = Json.readObject(obj) ?? {};\n const biome = Identifier.parse(Json.readString(root.biome) ?? \"minecraft:the_void\");\n return new FixedBiome(biome);\n }\n}\n\nclass MultiNoise {\n constructor(parameters) {\n this.parameters = parameters;\n }\n getBiome(x, y, z, climateSampler) {\n const target = climateSampler.sample(x, y, z);\n return this.parameters.find(target);\n }\n static fromJson(obj) {\n const root = Json.readObject(obj) ?? {};\n const biomes = Json.readArray(root.biomes, (b) => ((b2) => ({\n biome: Identifier.parse(Json.readString(b2.biome) ?? \"minecraft:the_void\"),\n parameters: Climate.ParamPoint.fromJson(b2.parameters)\n }))(Json.readObject(b) ?? {})) ?? [];\n const parameters = biomes.map((b) => [b.parameters, () => b.biome]);\n return new MultiNoise(new Climate.Parameters(parameters));\n }\n}\n\nvar Noises;\n(function(Noises2) {\n Noises2.TEMPERATURE = create(\"temperature\", -10, [1.5, 0, 1, 0, 0, 0]);\n Noises2.VEGETATION = create(\"vegetation\", -8, [1, 1, 0, 0, 0, 0]);\n Noises2.CONTINENTALNESS = create(\"continentalness\", -9, [1, 1, 2, 2, 2, 1, 1, 1, 1]);\n Noises2.EROSION = create(\"erosion\", -9, [1, 1, 0, 1, 1]);\n Noises2.TEMPERATURE_LARGE = create(\"temperature_large\", -12, [1.5, 0, 1, 0, 0, 0]);\n Noises2.VEGETATION_LARGE = create(\"vegetation_large\", -10, [1, 1, 0, 0, 0, 0]);\n Noises2.CONTINENTALNESS_LARGE = create(\"continentalness_large\", -11, [1, 1, 2, 2, 2, 1, 1, 1, 1]);\n Noises2.EROSION_LARGE = create(\"erosion_large\", -11, [1, 1, 0, 1, 1]);\n Noises2.RIDGE = create(\"ridge\", -7, [1, 2, 1, 0, 0, 0]);\n Noises2.SHIFT = create(\"offset\", -3, [1, 1, 1, 0]);\n Noises2.AQUIFER_BARRIER = create(\"aquifer_barrier\", -3, [1]);\n Noises2.AQUIFER_FLUID_LEVEL_FLOODEDNESS = create(\"aquifer_fluid_level_floodedness\", -7, [1]);\n Noises2.AQUIFER_FLUID_LEVEL_SPREAD = create(\"aquifer_fluid_level_spread\", -5, [1]);\n Noises2.AQUIFER_LAVA = create(\"aquifer_lava\", -1, [1]);\n Noises2.PILLAR = create(\"pillar\", -7, [1, 1]);\n Noises2.PILLAR_RARENESS = create(\"pillar_rareness\", -8, [1]);\n Noises2.PILLAR_THICKNESS = create(\"pillar_thickness\", -8, [1]);\n Noises2.SPAGHETTI_2D = create(\"spaghetti_2d\", -8, [1]);\n Noises2.SPAGHETTI_2D_ELEVATION = create(\"spaghetti_2d_elevation\", -8, [1]);\n Noises2.SPAGHETTI_2D_MODULATOR = create(\"spaghetti_2d_modulator\", -8, [1]);\n Noises2.SPAGHETTI_2D_THICKNESS = create(\"spaghetti_2d_thickness\", -8, [1]);\n Noises2.SPAGHETTI_3D_1 = create(\"spaghetti_3d_1\", -8, [1]);\n Noises2.SPAGHETTI_3D_2 = create(\"spaghetti_3d_2\", -8, [1]);\n Noises2.SPAGHETTI_3D_RARITY = create(\"spaghetti_3d_rarity\", -8, [1]);\n Noises2.SPAGHETTI_3D_THICKNESS = create(\"spaghetti_3d_thickness\", -8, [1]);\n Noises2.SPAGHETTI_ROUGHNESS = create(\"spaghetti_roughness\", -8, [1]);\n Noises2.SPAGHETTI_ROUGHNESS_MODULATOR = create(\"spaghetti_roughness_modulator\", -8, [1]);\n Noises2.CAVE_ENTRANCE = create(\"cave_entrance\", -7, [0.4, 0.5, 1]);\n Noises2.CAVE_LAYER = create(\"cave_layer\", -8, [1]);\n Noises2.CAVE_CHEESE = create(\"cave_cheese\", -8, [0.5, 1, 2, 1, 2, 1, 0, 2, 0]);\n Noises2.NOODLE = create(\"noodle\", -8, [1]);\n Noises2.NOODLE_THICKNESS = create(\"noodle_thickness\", -8, [1]);\n Noises2.NOODLE_RIDGE_A = create(\"noodle_ridge_a\", -7, [1]);\n Noises2.NOODLE_RIDGE_B = create(\"noodle_ridge_b\", -7, [1]);\n Noises2.JAGGED = create(\"jagged\", -16, [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]);\n Noises2.SURFACE = create(\"surface\", -6, [1, 1, 1]);\n Noises2.SURFACE_SECONDARY = create(\"surface_secondary\", -6, [1, 1, 0, 1]);\n function create(name, firstOctave, amplitudes) {\n return WorldgenRegistries.NOISE.register(Identifier.create(name), NoiseParameters.create(firstOctave, amplitudes));\n }\n const noiseCache = new Map();\n function instantiate(random, noise) {\n const key = noise.key()?.toString();\n if (!key) {\n throw new Error(\"Cannot instantiate noise from direct holder\");\n }\n const randomKey = random.seedKey();\n const cached = noiseCache.get(key);\n if (cached && cached[0] === randomKey[0] && cached[1] === randomKey[1]) {\n return cached[2];\n }\n const result = new NormalNoise(random.fromHashOf(key), noise.value());\n noiseCache.set(key, [randomKey[0], randomKey[1], result]);\n return result;\n }\n Noises2.instantiate = instantiate;\n})(Noises || (Noises = {}));\n\nvar NoiseSettings;\n(function(NoiseSettings2) {\n function fromJson(obj) {\n const root = Json.readObject(obj) ?? {};\n return {\n minY: Json.readInt(root.min_y) ?? 0,\n height: Json.readInt(root.height) ?? 256,\n xzSize: Json.readInt(root.size_horizontal) ?? 1,\n ySize: Json.readInt(root.size_vertical) ?? 1\n };\n }\n NoiseSettings2.fromJson = fromJson;\n function cellHeight(settings) {\n return settings.ySize << 2;\n }\n NoiseSettings2.cellHeight = cellHeight;\n function cellWidth(settings) {\n return settings.xzSize << 2;\n }\n NoiseSettings2.cellWidth = cellWidth;\n function cellCountY(settings) {\n return settings.height / cellHeight(settings);\n }\n NoiseSettings2.cellCountY = cellCountY;\n function minCellY(settings) {\n return Math.floor(settings.minY / cellHeight(settings));\n }\n NoiseSettings2.minCellY = minCellY;\n})(NoiseSettings || (NoiseSettings = {}));\nvar NoiseSlideSettings;\n(function(NoiseSlideSettings2) {\n function fromJson(obj) {\n const root = Json.readObject(obj) ?? {};\n return {\n target: Json.readNumber(root.target) ?? 0,\n size: Json.readInt(root.size) ?? 0,\n offset: Json.readInt(root.offset) ?? 0\n };\n }\n NoiseSlideSettings2.fromJson = fromJson;\n function apply(slide, density, y) {\n if (slide.size <= 0)\n return density;\n const t = (y - slide.offset) / slide.size;\n return clampedLerp(slide.target, density, t);\n }\n NoiseSlideSettings2.apply = apply;\n})(NoiseSlideSettings || (NoiseSlideSettings = {}));\n\nvar NoiseRouter;\n(function(NoiseRouter2) {\n const parser = (obj) => Holder.parser(WorldgenRegistries.DENSITY_FUNCTION, DensityFunction.fromJson)(obj).value();\n function fromJson(obj) {\n const root = Json.readObject(obj) ?? {};\n return {\n barrier: parser(root.barrier),\n fluidLevelFloodedness: parser(root.fluid_level_floodedness),\n fluidLevelSpread: parser(root.fluid_level_spread),\n lava: parser(root.lava),\n temperature: parser(root.temperature),\n vegetation: parser(root.vegetation),\n continents: parser(root.continents),\n erosion: parser(root.erosion),\n depth: parser(root.depth),\n ridges: parser(root.ridges),\n initialDensityWithoutJaggedness: parser(root.initial_density_without_jaggedness),\n finalDensity: parser(root.final_density),\n veinToggle: parser(root.vein_toggle),\n veinRidged: parser(root.vein_ridged),\n veinGap: parser(root.vein_gap)\n };\n }\n NoiseRouter2.fromJson = fromJson;\n function create(router) {\n return {\n barrier: DensityFunction.Constant.ZERO,\n fluidLevelFloodedness: DensityFunction.Constant.ZERO,\n fluidLevelSpread: DensityFunction.Constant.ZERO,\n lava: DensityFunction.Constant.ZERO,\n temperature: DensityFunction.Constant.ZERO,\n vegetation: DensityFunction.Constant.ZERO,\n continents: DensityFunction.Constant.ZERO,\n erosion: DensityFunction.Constant.ZERO,\n depth: DensityFunction.Constant.ZERO,\n ridges: DensityFunction.Constant.ZERO,\n initialDensityWithoutJaggedness: DensityFunction.Constant.ZERO,\n finalDensity: DensityFunction.Constant.ZERO,\n veinToggle: DensityFunction.Constant.ZERO,\n veinRidged: DensityFunction.Constant.ZERO,\n veinGap: DensityFunction.Constant.ZERO,\n ...router\n };\n }\n NoiseRouter2.create = create;\n function withSettings(simple, settings, seed, legacyRandomSource = false) {\n const random = (legacyRandomSource ? new LegacyRandom(seed) : XoroshiroRandom.create(seed)).forkPositional();\n const visitor = new Visitor(random, settings);\n return {\n ...visitor.mapAll(simple),\n aquiferPositionalRandomFactory: random.fromHashOf(Identifier.create(\"aquifer\").toString()).forkPositional(),\n oreVeinsPositionalRandomFactory: random.fromHashOf(Identifier.create(\"ore\").toString()).forkPositional()\n };\n }\n NoiseRouter2.withSettings = withSettings;\n class Visitor {\n constructor(random, settings) {\n this.random = random;\n this.settings = settings;\n this.mapped = new Map();\n }\n map(fn) {\n if (fn instanceof DensityFunction.HolderHolder) {\n const key = fn.holder.key();\n if (key !== void 0 && this.mapped.has(key.toString())) {\n return this.mapped.get(key.toString());\n } else {\n const value = fn.holder.value().mapAll(this);\n if (key !== void 0) {\n this.mapped.set(key.toString(), value);\n }\n return value;\n }\n }\n if (fn instanceof DensityFunction.Interpolated) {\n return fn.withCellSize(NoiseSettings.cellWidth(this.settings), NoiseSettings.cellHeight(this.settings));\n }\n if (fn instanceof DensityFunction.ShiftedNoise) {\n const noise = Noises.instantiate(this.random, fn.noiseData);\n return new DensityFunction.ShiftedNoise(fn.shiftX, fn.shiftY, fn.shiftZ, fn.xzScale, fn.yScale, fn.noiseData, noise);\n }\n if (fn instanceof DensityFunction.Noise) {\n return new DensityFunction.Noise(fn.xzScale, fn.yScale, fn.noiseData, Noises.instantiate(this.random, fn.noiseData));\n }\n if (fn instanceof DensityFunction.ShiftNoise) {\n return fn.withNewNoise(Noises.instantiate(this.random, fn.noiseData));\n }\n if (fn instanceof DensityFunction.WeirdScaledSampler) {\n return new DensityFunction.WeirdScaledSampler(fn.input, fn.rarityValueMapper, fn.noiseData, Noises.instantiate(this.random, fn.noiseData));\n }\n if (fn instanceof DensityFunction.OldBlendedNoise) {\n return new DensityFunction.OldBlendedNoise(fn.xzScale, fn.yScale, fn.xzFactor, fn.yFactor, fn.smearScaleMultiplier, new BlendedNoise(this.random.fromHashOf(Identifier.create(\"terrain\").toString()), fn.xzScale, fn.yScale, fn.xzFactor, fn.yFactor, fn.smearScaleMultiplier));\n }\n if (fn instanceof DensityFunction.Mapped) {\n return fn.withMinMax();\n }\n if (fn instanceof DensityFunction.Ap2) {\n return fn.withMinMax();\n }\n return fn;\n }\n mapAll(router) {\n return {\n barrier: router.barrier.mapAll(this),\n fluidLevelFloodedness: router.fluidLevelFloodedness.mapAll(this),\n fluidLevelSpread: router.fluidLevelSpread.mapAll(this),\n lava: router.lava.mapAll(this),\n temperature: router.temperature.mapAll(this),\n vegetation: router.vegetation.mapAll(this),\n continents: router.continents.mapAll(this),\n erosion: router.erosion.mapAll(this),\n depth: router.depth.mapAll(this),\n ridges: router.ridges.mapAll(this),\n initialDensityWithoutJaggedness: router.initialDensityWithoutJaggedness.mapAll(this),\n finalDensity: router.finalDensity.mapAll(this),\n veinToggle: router.veinToggle.mapAll(this),\n veinRidged: router.veinRidged.mapAll(this),\n veinGap: router.veinGap.mapAll(this)\n };\n }\n }\n NoiseRouter2.Visitor = Visitor;\n function computePreliminarySurfaceLevelScanning(settings, initialDensity, x, z) {\n const maxCellY = NoiseSettings.minCellY(settings) + NoiseSettings.cellCountY(settings);\n const minCellY = NoiseSettings.minCellY(settings);\n const cellHeight = NoiseSettings.cellHeight(settings);\n for (let yCell = maxCellY; yCell >= minCellY; yCell -= 1) {\n const y = yCell * cellHeight;\n const density = clamp(initialDensity.compute(DensityFunction.context(x, y, z)), -64, 64);\n if (density >= 0.390625) {\n return y;\n }\n }\n return Number.MAX_SAFE_INTEGER;\n }\n NoiseRouter2.computePreliminarySurfaceLevelScanning = computePreliminarySurfaceLevelScanning;\n})(NoiseRouter || (NoiseRouter = {}));\n\nclass NoiseChunk {\n constructor(cellCountXZ, cellCountY, cellNoiseMinY, router, minX, minZ, settings, aquifersEnabled, fluidPicker) {\n this.cellCountXZ = cellCountXZ;\n this.cellCountY = cellCountY;\n this.cellNoiseMinY = cellNoiseMinY;\n this.router = router;\n this.minX = minX;\n this.minZ = minZ;\n this.settings = settings;\n this.preliminarySurfaceLevel = new Map();\n this.cellWidth = NoiseSettings.cellWidth(settings);\n this.cellHeight = NoiseSettings.cellHeight(settings);\n this.firstCellX = Math.floor(minX / this.cellWidth);\n this.firstCellZ = Math.floor(minZ / this.cellWidth);\n this.firstNoiseX = minX >> 2;\n this.firstNoiseZ = minZ >> 2;\n this.noiseSizeXZ = cellCountXZ * this.cellWidth >> 2;\n if (!aquifersEnabled || true) {\n this.aquifer = Aquifer.createDisabled(fluidPicker);\n } else {\n const chunkPos = ChunkPos.fromBlockPos(BlockPos.create(minX, 0, minZ));\n const minY = cellNoiseMinY * NoiseSettings.cellHeight(settings);\n const height = cellCountY * NoiseSettings.cellHeight(settings);\n this.aquifer = new NoiseAquifer(this, chunkPos, router.barrier, router.fluidLevelFloodedness, router.fluidLevelSpread, router.lava, router.aquiferPositionalRandomFactory, minY, height, fluidPicker);\n }\n const finalDensity = this.router.finalDensity;\n this.materialRule = MaterialRule.fromList([\n (context) => this.aquifer.compute(context, finalDensity.compute(context))\n ]);\n this.initialDensityWithoutJaggedness = this.router.initialDensityWithoutJaggedness;\n }\n getFinalState(x, y, z) {\n return this.materialRule({ x, y, z });\n }\n getPreliminarySurfaceLevel(x, z) {\n return computeIfAbsent(this.preliminarySurfaceLevel, ChunkPos.asLong(x, z), () => {\n const level = NoiseRouter.computePreliminarySurfaceLevelScanning(this.settings, this.initialDensityWithoutJaggedness, x << 2, z << 2);\n return level;\n });\n }\n getAquifer() {\n return this.aquifer;\n }\n}\nvar MaterialRule;\n(function(MaterialRule2) {\n function fromList(rules) {\n return (context) => {\n for (const rule of rules) {\n const state = rule(context);\n if (state)\n return state;\n }\n return void 0;\n };\n }\n MaterialRule2.fromList = fromList;\n})(MaterialRule || (MaterialRule = {}));\n\nvar VerticalAnchor;\n(function(VerticalAnchor2) {\n function fromJson(obj) {\n const root = Json.readObject(obj) ?? {};\n if (root.absolute !== void 0) {\n return absolute(Json.readNumber(root.absolute) ?? 0);\n } else if (root.above_bottom !== void 0) {\n return aboveBottom(Json.readNumber(root.above_bottom) ?? 0);\n } else if (root.below_top !== void 0) {\n return belowTop(Json.readNumber(root.below_top) ?? 0);\n }\n return () => 0;\n }\n VerticalAnchor2.fromJson = fromJson;\n function absolute(value) {\n return () => value;\n }\n function aboveBottom(value) {\n return (context) => context.minY + value;\n }\n function belowTop(value) {\n return (context) => context.maxY - value;\n }\n})(VerticalAnchor || (VerticalAnchor = {}));\nvar WorldgenContext;\n(function(WorldgenContext2) {\n function create(minY, height) {\n return {\n minY,\n height,\n maxY: minY + height - 1\n };\n }\n WorldgenContext2.create = create;\n})(WorldgenContext || (WorldgenContext = {}));\n\nclass SurfaceSystem {\n constructor(rule, defaultBlock, seed) {\n this.rule = rule;\n this.defaultBlock = defaultBlock;\n this.random = XoroshiroRandom.create(seed).forkPositional();\n this.surfaceNoise = Noises.instantiate(this.random, Noises.SURFACE);\n this.surfaceSecondaryNoise = Noises.instantiate(this.random, Noises.SURFACE_SECONDARY);\n this.positionalRandoms = new Map();\n }\n buildSurface(chunk, noiseChunk, worldgenContext, getBiome) {\n const minX = ChunkPos.minBlockX(chunk.pos);\n const minZ = ChunkPos.minBlockZ(chunk.pos);\n const surfaceContext = new SurfaceContext(this, chunk, noiseChunk, worldgenContext, getBiome);\n const ruleWithContext = this.rule(surfaceContext);\n for (let x = 0; x < 16; x += 1) {\n const worldX = minX + x;\n for (let z = 0; z < 1; z += 1) {\n const worldZ = minZ + z;\n surfaceContext.updateXZ(worldX, worldZ);\n let stoneDepthAbove = 0;\n let waterHeight = Number.MIN_SAFE_INTEGER;\n let stoneDepthOffset = Number.MAX_SAFE_INTEGER;\n for (let y = chunk.maxY; y >= chunk.minY; y -= 1) {\n const worldPos = BlockPos$1.create(worldX, y, worldZ);\n const oldState = chunk.getBlockState(worldPos);\n if (oldState.equals(BlockState.AIR)) {\n stoneDepthAbove = 0;\n waterHeight = Number.MIN_SAFE_INTEGER;\n continue;\n }\n if (oldState.isFluid()) {\n if (waterHeight === Number.MIN_SAFE_INTEGER) {\n waterHeight = y + 1;\n }\n continue;\n }\n if (stoneDepthOffset >= y) {\n stoneDepthOffset = Number.MIN_SAFE_INTEGER;\n for (let i = y - 1; i >= chunk.minY; i -= 1) {\n const state = chunk.getBlockState(BlockPos$1.create(worldX, i, worldZ));\n if (state.equals(BlockState.AIR) || state.isFluid()) {\n stoneDepthOffset = i + 1;\n break;\n }\n }\n }\n stoneDepthAbove += 1;\n const stoneDepthBelow = y - stoneDepthOffset + 1;\n if (!oldState.equals(this.defaultBlock)) {\n continue;\n }\n surfaceContext.updateY(stoneDepthAbove, stoneDepthBelow, waterHeight, y);\n const newState = ruleWithContext(worldX, y, worldZ);\n if (newState) {\n chunk.setBlockState(worldPos, newState);\n }\n }\n }\n }\n }\n getSurfaceDepth(x, z) {\n const noise = this.surfaceNoise.sample(x, 0, z);\n const offset = this.random.at(x, 0, z).nextDouble() * 0.25;\n return noise * 2.75 + 3 + offset;\n }\n getSurfaceSecondary(x, z) {\n return this.surfaceSecondaryNoise.sample(x, 0, z);\n }\n getRandom(name) {\n return computeIfAbsent(this.positionalRandoms, name, () => {\n return this.random.fromHashOf(name);\n });\n }\n}\nclass SurfaceContext {\n constructor(system, chunk, noiseChunk, context, getBiome) {\n this.system = system;\n this.chunk = chunk;\n this.noiseChunk = noiseChunk;\n this.context = context;\n this.getBiome = getBiome;\n this.blockX = 0;\n this.blockY = 0;\n this.blockZ = 0;\n this.stoneDepthAbove = 0;\n this.stoneDepthBelow = 0;\n this.surfaceDepth = 0;\n this.waterHeight = 0;\n this.biome = () => \"\";\n this.surfaceSecondary = () => 0;\n this.minSurfaceLevel = () => 0;\n }\n updateXZ(x, z) {\n this.blockX = x;\n this.blockZ = z;\n this.surfaceDepth = this.system.getSurfaceDepth(x, z);\n this.surfaceSecondary = lazy(() => this.system.getSurfaceSecondary(x, z));\n this.minSurfaceLevel = lazy(() => this.calculateMinSurfaceLevel(x, z));\n }\n updateY(stoneDepthAbove, stoneDepthBelow, waterHeight, y) {\n this.blockY = y;\n this.stoneDepthAbove = stoneDepthAbove;\n this.stoneDepthBelow = stoneDepthBelow;\n this.waterHeight = waterHeight;\n this.biome = lazy(() => this.getBiome(BlockPos$1.create(this.blockX, this.blockY, this.blockZ)));\n }\n calculateMinSurfaceLevel(x, z) {\n const cellX = x >> 4;\n const cellZ = z >> 4;\n const level00 = this.noiseChunk.getPreliminarySurfaceLevel(cellX << 4, cellZ << 4);\n const level10 = this.noiseChunk.getPreliminarySurfaceLevel(cellX + 1 << 4, cellZ << 4);\n const level01 = this.noiseChunk.getPreliminarySurfaceLevel(cellX << 4, cellZ + 1 << 4);\n const level11 = this.noiseChunk.getPreliminarySurfaceLevel(cellX + 1 << 4, cellZ + 1 << 4);\n const level = Math.floor(lerp2((x & 15) / 16, (z & 15) / 16, level00, level10, level01, level11));\n return level + this.surfaceDepth - 8;\n }\n}\nvar SurfaceRule;\n(function(SurfaceRule2) {\n SurfaceRule2.NOOP = () => () => void 0;\n function fromJson(obj) {\n const root = Json.readObject(obj) ?? {};\n const type = Json.readString(root.type)?.replace(/^minecraft:/, \"\");\n switch (type) {\n case \"block\":\n return block(BlockState.fromJson(root.result_state));\n case \"sequence\":\n return sequence(Json.readArray(root.sequence, SurfaceRule2.fromJson) ?? []);\n case \"condition\":\n return condition(SurfaceCondition.fromJson(root.if_true), SurfaceRule2.fromJson(root.then_run));\n }\n return SurfaceRule2.NOOP;\n }\n SurfaceRule2.fromJson = fromJson;\n function block(state) {\n return () => () => state;\n }\n SurfaceRule2.block = block;\n function sequence(rules) {\n return (context) => {\n const rulesWithContext = rules.map((rule) => rule(context));\n return (x, y, z) => {\n for (const rule of rulesWithContext) {\n const result = rule(x, y, z);\n if (result)\n return result;\n }\n return void 0;\n };\n };\n }\n SurfaceRule2.sequence = sequence;\n function condition(ifTrue, thenRun) {\n return (context) => (x, y, z) => {\n if (ifTrue(context)) {\n return thenRun(context)(x, y, z);\n }\n return void 0;\n };\n }\n SurfaceRule2.condition = condition;\n})(SurfaceRule || (SurfaceRule = {}));\nvar SurfaceCondition;\n(function(SurfaceCondition2) {\n SurfaceCondition2.FALSE = () => false;\n SurfaceCondition2.TRUE = () => true;\n function fromJson(obj) {\n const root = Json.readObject(obj) ?? {};\n const type = Json.readString(root.type)?.replace(/^minecraft:/, \"\");\n switch (type) {\n case \"above_preliminary_surface\":\n return abovePreliminarySurface();\n case \"biome\":\n return biome(Json.readArray(root.biome_is, (e) => Json.readString(e) ?? \"\") ?? []);\n case \"not\":\n return not(SurfaceCondition2.fromJson(root.invert));\n case \"stone_depth\":\n return stoneDepth(Json.readInt(root.offset) ?? 0, Json.readBoolean(root.add_surface_depth) ?? false, Json.readInt(root.secondary_depth_range) ?? 0, Json.readString(root.surface_type) === \"ceiling\");\n case \"vertical_gradient\":\n return verticalGradient(Json.readString(root.random_name) ?? \"\", VerticalAnchor.fromJson(root.true_at_and_below), VerticalAnchor.fromJson(root.false_at_and_above));\n case \"water\":\n return water(Json.readInt(root.offset) ?? 0, Json.readInt(root.surface_depth_multiplier) ?? 0, Json.readBoolean(root.add_surface_depth) ?? false);\n case \"y_above\":\n return yAbove(VerticalAnchor.fromJson(root.anchor), Json.readInt(root.surface_depth_multiplier) ?? 0, Json.readBoolean(root.add_surface_depth) ?? false);\n }\n return SurfaceCondition2.FALSE;\n }\n SurfaceCondition2.fromJson = fromJson;\n function abovePreliminarySurface() {\n return (context) => context.blockY >= context.minSurfaceLevel();\n }\n SurfaceCondition2.abovePreliminarySurface = abovePreliminarySurface;\n function biome(biomes) {\n const biomeSet = new Set(biomes);\n return (context) => biomeSet.has(context.biome());\n }\n SurfaceCondition2.biome = biome;\n function not(invert) {\n return (context) => !invert(context);\n }\n SurfaceCondition2.not = not;\n function stoneDepth(offset, addSurfaceDepth, secondaryDepthRange, ceiling) {\n return (context) => {\n const depth = ceiling ? context.stoneDepthBelow : context.stoneDepthAbove;\n const surfaceDepth = addSurfaceDepth ? context.surfaceDepth : 0;\n const secondaryDepth = secondaryDepthRange === 0 ? 0 : map(context.surfaceSecondary(), -1, 1, 0, secondaryDepthRange);\n return depth <= 1 + offset + surfaceDepth + secondaryDepth;\n };\n }\n SurfaceCondition2.stoneDepth = stoneDepth;\n function verticalGradient(randomName, trueAtAndBelow, falseAtAndAbove) {\n return (context) => {\n const trueAtAndBelowY = trueAtAndBelow(context.context);\n const falseAtAndAboveY = falseAtAndAbove(context.context);\n if (context.blockY <= trueAtAndBelowY) {\n return true;\n }\n if (context.blockY >= falseAtAndAboveY) {\n return false;\n }\n const random = context.system.getRandom(randomName);\n const chance = map(context.blockY, trueAtAndBelowY, falseAtAndAboveY, 1, 0);\n return random.nextFloat() < chance;\n };\n }\n SurfaceCondition2.verticalGradient = verticalGradient;\n function water(offset, surfaceDepthMultiplier, addStoneDepth) {\n return (context) => {\n if (context.waterHeight === Number.MIN_SAFE_INTEGER) {\n return true;\n }\n const stoneDepth2 = addStoneDepth ? context.stoneDepthAbove : 0;\n return context.blockY + stoneDepth2 >= context.waterHeight + offset + context.surfaceDepth * surfaceDepthMultiplier;\n };\n }\n SurfaceCondition2.water = water;\n function yAbove(anchor, surfaceDepthMultiplier, addStoneDepth) {\n return (context) => {\n const stoneDepth2 = addStoneDepth ? context.stoneDepthAbove : 0;\n return context.blockY + stoneDepth2 >= anchor(context.context) + context.surfaceDepth * surfaceDepthMultiplier;\n };\n }\n SurfaceCondition2.yAbove = yAbove;\n})(SurfaceCondition || (SurfaceCondition = {}));\n\nclass NoiseChunkGenerator {\n constructor(seed, biomeSource, settings) {\n this.biomeSource = biomeSource;\n this.settings = settings;\n this.router = NoiseRouter.withSettings(settings.noiseRouter, settings.noise, seed, settings.legacyRandomSource);\n this.noiseChunkCache = new Map();\n this.surfaceSystem = new SurfaceSystem(settings.surfaceRule, settings.defaultBlock, seed);\n const lavaFluid = new FluidStatus(-54, BlockState.LAVA);\n const defaultFluid = new FluidStatus(settings.seaLevel, settings.defaultFluid);\n this.globalFluidPicker = (x, y, z) => {\n if (y < Math.min(-54, settings.seaLevel)) {\n return lavaFluid;\n }\n return defaultFluid;\n };\n }\n fill(chunk, onlyFirstZ = false) {\n const minY = Math.max(chunk.minY, this.settings.noise.minY);\n const maxY = Math.min(chunk.maxY, this.settings.noise.minY + this.settings.noise.height);\n const cellWidth = NoiseSettings.cellWidth(this.settings.noise);\n const cellHeight = NoiseSettings.cellHeight(this.settings.noise);\n const cellCountXZ = Math.floor(16 / cellWidth);\n const minCellY = Math.floor(minY / cellHeight);\n const cellCountY = Math.floor((maxY - minY) / cellHeight);\n const minX = ChunkPos.minBlockX(chunk.pos);\n const minZ = ChunkPos.minBlockZ(chunk.pos);\n const noiseChunk = this.getNoiseChunk(chunk);\n for (let cellX = 0; cellX < cellCountXZ; cellX += 1) {\n for (let cellZ = 0; cellZ < (onlyFirstZ ? 1 : cellCountXZ); cellZ += 1) {\n let section = chunk.getOrCreateSection(chunk.sectionsCount - 1);\n for (let cellY = cellCountY - 1; cellY >= 0; cellY -= 1) {\n for (let offY = cellHeight - 1; offY >= 0; offY -= 1) {\n const blockY = (minCellY + cellY) * cellHeight + offY;\n const sectionY = blockY & 15;\n const sectionIndex = chunk.getSectionIndex(blockY);\n if (chunk.getSectionIndex(section.minBlockY) !== sectionIndex) {\n section = chunk.getOrCreateSection(sectionIndex);\n }\n for (let offX = 0; offX < cellWidth; offX += 1) {\n const blockX = minX + cellX * cellWidth + offX;\n const sectionX = blockX & 15;\n for (let offZ = 0; offZ < (onlyFirstZ ? 1 : cellWidth); offZ += 1) {\n const blockZ = minZ + cellZ * cellWidth + offZ;\n const sectionZ = blockZ & 15;\n const state = noiseChunk.getFinalState(blockX, blockY, blockZ) ?? this.settings.defaultBlock;\n section.setBlockState(sectionX, sectionY, sectionZ, state);\n }\n }\n }\n }\n }\n }\n }\n buildSurface(chunk, biome = \"minecraft:plains\") {\n const noiseChunk = this.getNoiseChunk(chunk);\n const context = WorldgenContext.create(this.settings.noise.minY, this.settings.noise.height);\n this.surfaceSystem.buildSurface(chunk, noiseChunk, context, () => biome);\n }\n getNoiseChunk(chunk) {\n return computeIfAbsent(this.noiseChunkCache, ChunkPos.toLong(chunk.pos), () => {\n const minY = Math.max(chunk.minY, this.settings.noise.minY);\n const maxY = Math.min(chunk.maxY, this.settings.noise.minY + this.settings.noise.height);\n const cellWidth = NoiseSettings.cellWidth(this.settings.noise);\n const cellHeight = NoiseSettings.cellHeight(this.settings.noise);\n const cellCountXZ = Math.floor(16 / cellWidth);\n const minCellY = Math.floor(minY / cellHeight);\n const cellCountY = Math.floor((maxY - minY) / cellHeight);\n const minX = ChunkPos.minBlockX(chunk.pos);\n const minZ = ChunkPos.minBlockZ(chunk.pos);\n return new NoiseChunk(cellCountXZ, cellCountY, minCellY, this.router, minX, minZ, this.settings.noise, this.settings.aquifersEnabled, this.globalFluidPicker);\n });\n }\n}\n\nvar NoiseGeneratorSettings;\n(function(NoiseGeneratorSettings2) {\n function fromJson(obj) {\n const root = Json.readObject(obj) ?? {};\n return {\n surfaceRule: SurfaceRule.fromJson(root.surface_rule),\n noise: NoiseSettings.fromJson(root.noise),\n defaultBlock: BlockState.fromJson(root.default_block),\n defaultFluid: BlockState.fromJson(root.default_fluid),\n noiseRouter: NoiseRouter.fromJson(root.noise_router),\n seaLevel: Json.readInt(root.sea_level) ?? 0,\n disableMobGeneration: Json.readBoolean(root.disable_mob_generation) ?? false,\n aquifersEnabled: Json.readBoolean(root.aquifers_enabled) ?? false,\n oreVeinsEnabled: Json.readBoolean(root.ore_veins_enabled) ?? false,\n legacyRandomSource: Json.readBoolean(root.legacy_random_source) ?? false\n };\n }\n NoiseGeneratorSettings2.fromJson = fromJson;\n})(NoiseGeneratorSettings || (NoiseGeneratorSettings = {}));\n\nexport { Aquifer, BlendedNoise, BlockPos$1 as BlockPos, BlockState, Chunk, ChunkPos, ChunkSection, Climate, CubicSpline, DensityFunction, Direction, FixedBiome, FluidStatus, Holder, Identifier, ImprovedNoise, Json, LegacyPositionalRandom, LegacyRandom, MaterialRule, MinMaxNumberFunction, MultiNoise, NoiseAquifer$1 as NoiseAquifer, NoiseChunk, NoiseChunkGenerator, NoiseGeneratorSettings, NoiseParameters, NoiseRouter, NoiseSettings, NoiseSlideSettings, Noises, NormalNoise, PerlinNoise, PerlinSimplexNoise, Registry, SimplexNoise, Structure, SurfaceCondition, SurfaceContext, SurfaceRule, SurfaceSystem, VerticalAnchor, WorldgenContext, WorldgenRegistries, XoroshiroPositionalRandom, XoroshiroRandom, binarySearch, clamp, clampedLerp, clampedMap, computeIfAbsent, getSeed, inverseLerp, isPowerOfTwo, lazy, lazyLerp, lazyLerp2, lazyLerp3, lerp, lerp2, lerp3, longfromBytes, map, smoothstep, square, upperPowerOfTwo };\n//# sourceMappingURL=worldgen.esm.js.map\n","import { DataModel } from '@mcschema/core'\nimport init, { biome_parameters, climate_noise, climate_sampler, multi_noise } from 'deepslate-rs'\n// @ts-expect-error\nimport wasm from 'deepslate-rs/deepslate_rs_bg.wasm?url'\nimport type { NoiseParameters } from 'deepslate/worldgen'\nimport { FixedBiome, Identifier, LegacyRandom, NormalNoise } from 'deepslate/worldgen'\nimport type { VersionId } from '../services'\nimport { checkVersion, fetchPreset } from '../services'\nimport { BiMap, clamp, deepClone, deepEqual, square, stringToColor } from '../Utils'\n\nlet ready = false\nasync function loadWasm() {\n\tif (ready) return\n\tawait init(wasm)\n\tready = true\n\tconsole.debug(`Loaded deepslate-rs from \"${wasm}\"`)\n}\n\nconst LAYERS = {\n\ttemperature: [-1, 1],\n\thumidity: [-1, 1],\n\tcontinentalness: [-1.1, 1],\n\terosion: [-1, 1],\n\tweirdness: [-1, 1],\n\toffset: [-1, 1],\n\tfactor: [0, 12],\n\tjaggedness: [0, 1],\n}\n\ntype Triple = [number, number, number]\ntype BiomeColors = Record<string, Triple>\ntype BiomeSourceOptions = {\n\toctaves: Record<string, NoiseParameters>,\n\tbiomeColors: BiomeColors,\n\toffset: [number, number],\n\tscale: number,\n\tres: number,\n\tseed: bigint,\n\tversion: VersionId,\n\tlayers: Set<keyof typeof LAYERS | 'biomes'>,\n}\n\ninterface CachedBiomeSource {\n\tgetBiome(x: number, y: number, z: number): Identifier\n\tgetBiomes?(xFrom: number, xTo: number, xStep: number, yFrom: number, yTo: number, yStep: number, zFrom: number, zTo: number, zStep: number): Identifier[]\n\tgetClimate?(x: number, y: number, z: number): {[k: string]: number}\n\tgetClimates?(xFrom: number, xTo: number, xStep: number, yFrom: number, yTo: number, yStep: number, zFrom: number, zTo: number, zStep: number): {[k: string]: number}[]\n}\n\nlet cacheState: any\nlet biomeSourceCache: CachedBiomeSource\n\nexport async function biomeMap(state: any, img: ImageData, options: BiomeSourceOptions) {\n\tconst { biomeSource } = await getCached(state, options)\n\n\tconst data = img.data\n\tconst ox = -Math.round(options.offset[0]) - 100 + options.res / 2\n\tconst oz = -Math.round(options.offset[1]) - 100 + options.res / 2\n\tconst row = img.width * 4 / options.res\n\tconst col = 4 / options.res\n\n\tconst xRange: Triple = [ox * options.scale, (200 + ox) * options.scale, options.res * options.scale]\n\tconst zRange: Triple = [oz * options.scale, (200 + oz) * options.scale, options.res * options.scale]\n\n\tconst biomes = !options.layers.has('biomes') ? undefined : biomeSource.getBiomes?.(...xRange, 64, 65, 1, ...zRange)\n\tconst layers = [...options.layers].filter(l => l !== 'biomes') as (keyof typeof LAYERS)[]\n\tconst noise = layers.length === 0 ? undefined : biomeSource.getClimates?.(...xRange, 64, 65, 1, ...zRange)\n\n\tfor (let x = 0; x < 200; x += options.res) {\n\t\tfor (let z = 0; z < 200; z += options.res) {\n\t\t\tconst i = z * row + x * col\n\t\t\tconst j = (x / options.res) * 200 / options.res + z / options.res\n\t\t\tconst worldX = (x + ox) * options.scale\n\t\t\tconst worldZ = (z + oz) * options.scale\n\t\t\tlet color: Triple = [50, 50, 50]\n\t\t\tif (options.layers.has('biomes')) {\n\t\t\t\tconst biome = biomes?.[j] ?? biomeSource.getBiome(worldX, 64, worldZ)\n\t\t\t\tcolor = getBiomeColor(biome.toString(), options.biomeColors)\n\t\t\t} else if (noise && layers[0]) {\n\t\t\t\tconst value = noise[j][layers[0]]\n\t\t\t\tconst [min, max] = LAYERS[layers[0]]\n\t\t\t\tconst brightness = (value - min) / (max - min) * 256\n\t\t\t\tcolor = [brightness, brightness, brightness]\n\t\t\t}\n\t\t\tdata[i] = color[0]\n\t\t\tdata[i + 1] = color[1]\n\t\t\tdata[i + 2] = color[2]\n\t\t\tdata[i + 3] = 255\n\t\t}\n\t}\n}\n\nexport async function getBiome(state: any, x: number, z: number, options: BiomeSourceOptions): Promise<{[k: string]: number | string} | undefined> {\n\tconst { biomeSource } = await getCached(state, options)\n\n\tconst [xx, zz] = toWorld([x, z], options)\n\treturn {\n\t\tbiome: biomeSource.getBiome(xx, 64, zz).toString(),\n\t\t...biomeSource.getClimate?.(xx, 64, zz),\n\t}\n}\n\nasync function getCached(state: any, options: BiomeSourceOptions): Promise<{ biomeSource: CachedBiomeSource}> {\n\tconst newState = [state, options.octaves, `${options.seed}`, options.version]\n\tif (!deepEqual(newState, cacheState)) {\n\t\tcacheState = deepClone(newState)\n\n\t\tbiomeSourceCache = await getBiomeSource(state, options)\n\t}\n\treturn {\n\t\tbiomeSource: biomeSourceCache,\n\t} \n}\n\nasync function getBiomeSource(state: any, options: BiomeSourceOptions): Promise<CachedBiomeSource> {\n\tswitch (state?.type?.replace(/^minecraft:/, '')) {\n\t\tcase 'fixed':\n\t\t\treturn new FixedBiome(Identifier.parse(state.biome as string))\n\n\t\tcase 'checkerboard':\n\t\t\tconst shift = (state.scale ?? 2) + 2\n\t\t\tconst numBiomes = state.biomes?.length ?? 0\n\t\t\treturn {\n\t\t\t\tgetBiome(x: number, _y: number, z: number) {\n\t\t\t\t\tconst i = (((x >> shift) + (z >> shift)) % numBiomes + numBiomes) % numBiomes\n\t\t\t\t\treturn Identifier.parse(state.biomes?.[i].node as string)\n\t\t\t\t},\n\t\t\t}\n\n\t\tcase 'multi_noise':\n\t\t\tswitch(state.preset?.replace(/^minecraft:/, '')) {\n\t\t\t\tcase 'nether':\n\t\t\t\t\tstate = checkVersion(options.version, '1.18') ? NetherPreset18 : NetherPreset\n\t\t\t\t\tbreak\n\t\t\t\tcase 'overworld':\n\t\t\t\t\tstate = checkVersion(options.version, '1.18') ? await OverworldPreset18() : state\n\t\t\t\t\tbreak\n\t\t\t}\n\t\t\tstate = DataModel.unwrapLists(state)\n\t\t\tif (checkVersion(options.version, '1.18')) {\n\t\t\t\tawait loadWasm()\n\t\t\t\tconst BiomeIds = new BiMap<string, number>()\n\t\t\t\tconst param = (p: number | number[]) => {\n\t\t\t\t\treturn typeof p === 'number' ? [p, p] : p\n\t\t\t\t}\n\t\t\t\tconst [t0, t1, h0, h1, c0, c1, e0, e1, w0, w1, d0, d1, o, b] = [[], [], [], [], [], [], [], [], [], [], [], [], [], []] as number[][]\n\t\t\t\tfor (const i of state.biomes) {\n\t\t\t\t\tconst { temperature, humidity, continentalness, erosion, weirdness, depth, offset } = i.parameters\n\t\t\t\t\tt0.push(param(temperature)[0])\n\t\t\t\t\tt1.push(param(temperature)[1])\n\t\t\t\t\th0.push(param(humidity)[0])\n\t\t\t\t\th1.push(param(humidity)[1])\n\t\t\t\t\tc0.push(param(continentalness)[0])\n\t\t\t\t\tc1.push(param(continentalness)[1])\n\t\t\t\t\te0.push(param(erosion)[0])\n\t\t\t\t\te1.push(param(erosion)[1])\n\t\t\t\t\tw0.push(param(weirdness)[0])\n\t\t\t\t\tw1.push(param(weirdness)[1])\n\t\t\t\t\td0.push(param(depth)[0])\n\t\t\t\t\td1.push(param(depth)[1])\n\t\t\t\t\to.push(offset)\n\t\t\t\t\tb.push(BiomeIds.getOrPut(i.biome, Math.floor(Math.random() * 2147483647)))\n\t\t\t\t}\n\t\t\t\tconst parameters = biome_parameters(new Float64Array(t0), new Float64Array(t1), new Float64Array(h0), new Float64Array(h1), new Float64Array(c0), new Float64Array(c1), new Float64Array(e0), new Float64Array(e1), new Float64Array(w0), new Float64Array(w1), new Float64Array(d0), new Float64Array(d1), new Float64Array(o), new Int32Array(b))\n\t\t\t\tconst sampler = climate_sampler(options.seed, options.octaves.temperature.firstOctave, new Float64Array(options.octaves.temperature.amplitudes), options.octaves.humidity.firstOctave, new Float64Array(options.octaves.humidity.amplitudes), options.octaves.continentalness.firstOctave, new Float64Array(options.octaves.continentalness.amplitudes), options.octaves.erosion.firstOctave, new Float64Array(options.octaves.erosion.amplitudes), options.octaves.weirdness.firstOctave, new Float64Array(options.octaves.weirdness.amplitudes), options.octaves.shift.firstOctave, new Float64Array(options.octaves.shift.amplitudes))\n\t\t\t\treturn {\n\t\t\t\t\tgetBiome(x, y, z) {\n\t\t\t\t\t\tconst ids = multi_noise(parameters, sampler, x, x + 1, 1, y, y + 1, 1, z, z + 1, 1)\n\t\t\t\t\t\treturn Identifier.parse(BiomeIds.getA(ids[0]) ?? 'unknown')\n\t\t\t\t\t},\n\t\t\t\t\tgetBiomes(xFrom, xTo, xStep, yFrom, yTo, yStep, zFrom, zTo, zStep) {\n\t\t\t\t\t\tconst ids = multi_noise(parameters, sampler, xFrom, xTo, xStep, yFrom, yTo, yStep, zFrom, zTo, zStep)\n\t\t\t\t\t\treturn [...ids].map(id => Identifier.parse(BiomeIds.getA(id) ?? 'unknown'))\n\t\t\t\t\t},\n\t\t\t\t\tgetClimate(x, y, z) {\n\t\t\t\t\t\tconst climate = climate_noise(sampler, x, x + 1, 1, y, y + 1, 1, z, z + 1, 1)\n\t\t\t\t\t\tconst [t, h, c, e, w] = climate.slice(0, 5)\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\ttemperature: t,\n\t\t\t\t\t\t\thumidity: h,\n\t\t\t\t\t\t\tcontinentalness: c,\n\t\t\t\t\t\t\terosion: e,\n\t\t\t\t\t\t\tweirdness: w,\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\tgetClimates(xFrom, xTo, xStep, yFrom, yTo, yStep, zFrom, zTo, zStep) {\n\t\t\t\t\t\tconst climate = climate_noise(sampler, xFrom, xTo, xStep, yFrom, yTo, yStep, zFrom, zTo, zStep)\n\t\t\t\t\t\tconst result = []\n\t\t\t\t\t\tfor (let i = 0; i < climate.length; i += 7) {\n\t\t\t\t\t\t\tconst [t, h, c, e, w] = climate.slice(i, i + 5)\n\t\t\t\t\t\t\tresult.push({\n\t\t\t\t\t\t\t\ttemperature: t,\n\t\t\t\t\t\t\t\thumidity: h,\n\t\t\t\t\t\t\t\tcontinentalness: c,\n\t\t\t\t\t\t\t\terosion: e,\n\t\t\t\t\t\t\t\tweirdness: w,\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn result\n\t\t\t\t\t},\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tconst noise = ['altitude', 'temperature', 'humidity', 'weirdness']\n\t\t\t\t\t.map((id, i) => {\n\t\t\t\t\t\tconst config = state[`${id}_noise`]\n\t\t\t\t\t\tconfig.firstOctave = clamp(config.firstOctave ?? -7, -100, -1)\n\t\t\t\t\t\treturn new NormalNoise(new LegacyRandom(options.seed + BigInt(i)), config)\n\t\t\t\t\t})\n\t\t\t\tif (!Array.isArray(state.biomes) || state.biomes.length === 0) {\n\t\t\t\t\treturn new FixedBiome(Identifier.create('unknown'))\n\t\t\t\t}\n\t\t\t\treturn {\n\t\t\t\t\tgetBiome(x: number, _y: number, z: number): Identifier {\n\t\t\t\t\t\tconst n = noise.map(n => n.sample(x, z, 0))\n\t\t\t\t\t\tlet minDist = Infinity\n\t\t\t\t\t\tlet minBiome = ''\n\t\t\t\t\t\tfor (const { biome, parameters: p } of state.biomes) {\n\t\t\t\t\t\t\tconst dist = square(p.altitude - n[0]) + square(p.temperature - n[1]) + square(p.humidity - n[2]) + square(p.weirdness - n[3]) + square(p.offset)\n\t\t\t\t\t\t\tif (dist < minDist) {\n\t\t\t\t\t\t\t\tminDist = dist\n\t\t\t\t\t\t\t\tminBiome = biome\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn Identifier.parse(minBiome)\n\t\t\t\t\t},\n\t\t\t\t}\n\t\t\t}\n\t}\n\tthrow new Error('Unknown biome source')\n}\n\nfunction getBiomeColor(biome: string, biomeColors: BiomeColors): Triple {\n\tif (!biome) {\n\t\treturn [128, 128, 128]\n\t}\n\tconst color = biomeColors[biome] ?? VanillaColors[biome]\n\tif (color === undefined) {\n\t\treturn stringToColor(biome)\n\t}\n\treturn color\n}\n\nfunction toWorld([x, z]: [number, number], options: BiomeSourceOptions) {\n\tconst xx = (x - options.offset[0] - 100 + options.res / 2) * options.scale\n\tconst zz = (z - options.offset[1] - 100 + options.res / 2) * options.scale\n\treturn [xx, zz]\n}\n\nconst VanillaColors: Record<string, Triple> = {\n\t'minecraft:badlands': [217,69,21],\n\t'minecraft:badlands_plateau': [202,140,101],\n\t'minecraft:bamboo_jungle': [118,142,20],\n\t'minecraft:bamboo_jungle_hills': [59,71,10],\n\t'minecraft:basalt_deltas': [64,54,54],\n\t'minecraft:beach': [250,222,85],\n\t'minecraft:birch_forest': [48,116,68],\n\t'minecraft:birch_forest_hills': [31,95,50],\n\t'minecraft:cold_ocean': [32,32,112],\n\t'minecraft:crimson_forest': [221,8,8],\n\t'minecraft:dark_forest': [64,81,26],\n\t'minecraft:dark_forest_hills': [104,121,66],\n\t'minecraft:deep_cold_ocean': [32,32,56],\n\t'minecraft:deep_frozen_ocean': [64,64,144],\n\t'minecraft:deep_lukewarm_ocean': [0,0,64],\n\t'minecraft:deep_ocean': [0,0,48],\n\t'minecraft:deep_warm_ocean': [0,0,80],\n\t'minecraft:desert': [250,148,24],\n\t'minecraft:desert_hills': [210,95,18],\n\t'minecraft:desert_lakes': [255,188,64],\n\t'minecraft:end_barrens': [128,128,255],\n\t'minecraft:end_highlands': [128,128,255],\n\t'minecraft:end_midlands': [128,128,255],\n\t'minecraft:eroded_badlands': [255,109,61],\n\t'minecraft:flower_forest': [45,142,73],\n\t'minecraft:forest': [5,102,33],\n\t'minecraft:frozen_ocean': [112,112,214],\n\t'minecraft:frozen_river': [160,160,255],\n\t'minecraft:giant_spruce_taiga': [129,142,121],\n\t'minecraft:old_growth_spruce_taiga': [129,142,121],\n\t'minecraft:giant_spruce_taiga_hills': [109,119,102],\n\t'minecraft:giant_tree_taiga': [89,102,81],\n\t'minecraft:old_growth_pine_taiga': [89,102,81],\n\t'minecraft:giant_tree_taiga_hills': [69,79,62],\n\t'minecraft:gravelly_hills': [136,136,136],\n\t'minecraft:gravelly_mountains': [136,136,136],\n\t'minecraft:windswept_gravelly_hills': [136,136,136],\n\t'minecraft:ice_spikes': [180,220,220],\n\t'minecraft:jungle': [83,123,9],\n\t'minecraft:jungle_edge': [98,139,23],\n\t'minecraft:sparse_jungle': [98,139,23],\n\t'minecraft:jungle_hills': [44,66,5],\n\t'minecraft:lukewarm_ocean': [0,0,144],\n\t'minecraft:modified_badlands_plateau': [242,180,141],\n\t'minecraft:modified_gravelly_mountains': [120,152,120],\n\t'minecraft:modified_jungle': [123,163,49],\n\t'minecraft:modified_jungle_edge': [138,179,63],\n\t'minecraft:modified_wooded_badlands_plateau': [216,191,141],\n\t'minecraft:mountain_edge': [114,120,154],\n\t'minecraft:extreme_hills': [96,96,96],\n\t'minecraft:mountains': [96,96,96],\n\t'minecraft:windswept_hills': [96,96,96],\n\t'minecraft:mushroom_field_shore': [160,0,255],\n\t'minecraft:mushroom_fields': [255,0,255],\n\t'minecraft:nether_wastes': [191,59,59],\n\t'minecraft:ocean': [0,0,112],\n\t'minecraft:plains': [141,179,96],\n\t'minecraft:river': [0,0,255],\n\t'minecraft:savanna': [189,178,95],\n\t'minecraft:savanna_plateau': [167,157,100],\n\t'minecraft:shattered_savanna': [229,218,135],\n\t'minecraft:windswept_savanna': [229,218,135],\n\t'minecraft:shattered_savanna_plateau': [207,197,140],\n\t'minecraft:small_end_islands': [128,128,255],\n\t'minecraft:snowy_beach': [250,240,192],\n\t'minecraft:snowy_mountains': [160,160,160],\n\t'minecraft:snowy_taiga': [49,85,74],\n\t'minecraft:snowy_taiga_hills': [36,63,54],\n\t'minecraft:snowy_taiga_mountains': [89,125,114],\n\t'minecraft:snowy_tundra': [255,255,255],\n\t'minecraft:snowy_plains': [255,255,255],\n\t'minecraft:soul_sand_valley': [94,56,48],\n\t'minecraft:stone_shore': [162,162,132],\n\t'minecraft:stony_shore': [162,162,132],\n\t'minecraft:sunflower_plains': [181,219,136],\n\t'minecraft:swamp': [7,249,178],\n\t'minecraft:swamp_hills': [47,255,218],\n\t'minecraft:taiga': [11,102,89],\n\t'minecraft:taiga_hills': [22,57,51],\n\t'minecraft:taiga_mountains': [51,142,129],\n\t'minecraft:tall_birch_forest': [88,156,108],\n\t'minecraft:old_growth_birch_forest': [88,156,108],\n\t'minecraft:tall_birch_hills': [71,135,90],\n\t'minecraft:the_end': [128,128,255],\n\t'minecraft:the_void': [0,0,0],\n\t'minecraft:warm_ocean': [0,0,172],\n\t'minecraft:warped_forest': [73,144,123],\n\t'minecraft:wooded_badlands_plateau': [176,151,101],\n\t'minecraft:wooded_badlands': [176,151,101],\n\t'minecraft:wooded_hills': [34,85,28],\n\t'minecraft:wooded_mountains': [80,112,80],\n\t'minecraft:windswept_forest': [80,112,80],\n\t'minecraft:snowy_slopes': [140, 195, 222],\n\t'minecraft:lofty_peaks': [196, 168, 193],\n\t'minecraft:jagged_peaks': [196, 168, 193],\n\t'minecraft:snowcapped_peaks': [200, 198, 200],\n\t'minecraft:frozen_peaks': [200, 198, 200],\n\t'minecraft:stony_peaks': [82, 92, 103],\n\t'minecraft:grove': [150, 150, 189],\n\t'minecraft:meadow': [169, 197, 80],\n\t'minecraft:lush_caves': [112, 255, 79],\n\t'minecraft:dripstone_caves': [140, 124, 0],\n}\n\nconst NetherPreset = {type:'minecraft:multi_noise',seed:0,altitude_noise:{firstOctave:-7,amplitudes:[1,1]},temperature_noise:{firstOctave:-7,amplitudes:[1,1]},humidity_noise:{firstOctave:-7,amplitudes:[1,1]},weirdness_noise:{firstOctave:-7,amplitudes:[1,1]},biomes:[{biome:'minecraft:nether_wastes',parameters:{altitude:0,temperature:0,humidity:0,weirdness:0,offset:0}},{biome:'minecraft:soul_sand_valley',parameters:{altitude:0,temperature:0,humidity:-0.5,weirdness:0,offset:0}},{biome:'minecraft:crimson_forest',parameters:{altitude:0,temperature:0.4,humidity:0,weirdness:0,offset:0}},{biome:'minecraft:warped_forest',parameters:{altitude:0,temperature:0,humidity:0.5,weirdness:0,offset:0.375}},{biome:'minecraft:basalt_deltas',parameters:{altitude:0,temperature:-0.5,humidity:0,weirdness:0,offset:0.175}}]}\n\nconst NetherPreset18 = {type:'minecraft:multi_noise',biomes:[{biome:'minecraft:nether_wastes',parameters:{temperature:0,humidity:0,continentalness:0,erosion:0,depth:0,weirdness:0,offset:0}},{biome:'minecraft:soul_sand_valley',parameters:{temperature:0,humidity:-0.5,continentalness:0,erosion:0,depth:0,weirdness:0,offset:0}},{biome:'minecraft:crimson_forest',parameters:{temperature:0.4,humidity:0,continentalness:0,erosion:0,depth:0,weirdness:0,offset:0}},{biome:'minecraft:warped_forest',parameters:{temperature:0,humidity:0.5,continentalness:0,erosion:0,depth:0,weirdness:0,offset:0.375}},{biome:'minecraft:basalt_deltas',parameters:{temperature:-0.5,humidity:0,continentalness:0,erosion:0,depth:0,weirdness:0,offset:0.175}}]}\n\nasync function OverworldPreset18() {\n\tconst overworld = await fetchPreset('1.18', 'dimension', 'overworld')\n\treturn overworld.generator.biome_source\n}\n","import { DataModel } from '@mcschema/core'\nimport type { Random } from 'deepslate/worldgen'\nimport { LegacyRandom, PerlinNoise } from 'deepslate/worldgen'\nimport type { VersionId } from '../services'\nimport { checkVersion } from '../services'\nimport { clamp, isObject, stringToColor } from '../Utils'\n\ntype BlockPos = [number, number, number]\ntype Placement = [BlockPos, number]\n\ntype PlacementContext = {\n\tplacements: Placement[],\n\tfeatures: string[],\n\trandom: Random,\n\tbiomeInfoNoise: PerlinNoise,\n\tseaLevel: number,\n\tversion: VersionId,\n\tnextFloat(): number,\n\tnextInt(max: number): number,\n\tnextGaussian(): number,\n\tsampleInt(provider: any): number,\n}\n\nconst terrain = [50, 50, 51, 51, 52, 52, 53, 54, 56, 57, 57, 58, 58, 59, 60, 60, 60, 59, 59, 59, 60, 61, 61, 62, 63, 63, 64, 64, 64, 65, 65, 66, 66, 65, 65, 66, 66, 67, 67, 67, 68, 69, 71, 73, 74, 76, 79, 80, 81, 81, 82, 83, 83, 82, 82, 81, 81, 80, 80, 80, 81, 81, 82, 82] \n\nconst featureColors = [\n\t[255, 77, 54], // red\n\t[59, 118, 255], // blue\n\t[91, 207, 25], // green\n\t[217, 32, 245], // magenta\n\t[255, 209, 41], // yellow\n\t[52, 204, 209], // cyan\n]\n\nexport type DecoratorOptions = {\n\tsize: [number, number, number],\n\tseed: bigint,\n\tversion: VersionId,\n}\nexport function decorator(state: any, img: ImageData, options: DecoratorOptions) {\n\tconst random = new LegacyRandom(options.seed)\n\tconst ctx: PlacementContext = {\n\t\tplacements: [],\n\t\tfeatures: [],\n\t\trandom,\n\t\tbiomeInfoNoise: new PerlinNoise(random.fork(), 0, [1]),\n\t\tseaLevel: 63,\n\t\tversion: options.version,\n\t\tnextFloat: () => random.nextFloat(),\n\t\tnextInt: (max: number) => random.nextInt(max),\n\t\tnextGaussian: () => Math.sqrt(-2 * Math.log(1 - random.nextFloat())) * Math.cos(2 * Math.PI * random.nextFloat()),\n\t\tsampleInt(value) { return sampleInt(value, this) },\n\t}\n\n\tfor (let x = 0; x < options.size[0] / 16; x += 1) {\n\t\tfor (let z = 0; z < options.size[2] / 16; z += 1) {\n\t\t\tif (checkVersion(options.version, undefined, '1.17')) {\n\t\t\t\tgetPlacements([x * 16, 0, z * 16], DataModel.unwrapLists(state), ctx)\n\t\t\t} else {\n\t\t\t\tmodifyPlacement([x * 16, 0, z * 16], DataModel.unwrapLists(state.placement), ctx)\n\t\t\t}\n\t\t}\n\t}\n\n\tconst data = img.data\n\timg.data.fill(255)\n\n\tfor (const [pos, feature] of ctx.placements) {\n\t\tif (pos[0] < 0 || pos[1] < 0 || pos[2] < 0 || pos[0] >= options.size[0] || pos[1] >= options.size[1] || pos[2] >= options.size[2]) continue\n\t\tconst i = (pos[2] * (img.width * 4)) + (pos[0] * 4)\n\t\tconst color = feature < featureColors.length ? featureColors[feature] : stringToColor(ctx.features[feature])\n\t\tdata[i] = clamp(50, 205, color[0])\n\t\tdata[i + 1] = clamp(50, 205, color[1])\n\t\tdata[i + 2] = clamp(50, 205, color[2])\n\t\tdata[i + 3] = 255\n\t}\n\n\tfor (let x = 0; x < options.size[0]; x += 1) {\n\t\tfor (let y = 0; y < options.size[2]; y += 1) {\n\t\t\tif ((Math.floor(x / 16) + Math.floor(y / 16)) % 2 === 0) continue\n\t\t\tconst i = (y * (img.width * 4)) + (x * 4)\n\t\t\tfor (let j = 0; j < 3; j += 1) {\n\t\t\t\tdata[i + j] = 0.85 * data[i + j] \n\t\t\t}\n\t\t}\n\t}\n}\n\nfunction normalize(id: string) {\n\treturn id.startsWith('minecraft:') ? id.slice(10) : id\n}\n\nfunction decorateY(pos: BlockPos, y: number): BlockPos[] {\n\treturn [[ pos[0], y, pos[2] ]]\n}\n\nfunction sampleInt(value: any, ctx: PlacementContext): number {\n\tif (typeof value === 'number') {\n\t\treturn value\n\t} else if (value.base) {\n\t\treturn value.base ?? 1 + ctx.nextInt(1 + (value.spread ?? 0))\n\t} else {\n\t\tswitch (normalize(value.type)) {\n\t\t\tcase 'constant': return value.value\n\t\t\tcase 'uniform': return value.value.min_inclusive + ctx.nextInt(value.value.max_inclusive - value.value.min_inclusive + 1)\n\t\t\tcase 'biased_to_bottom': return value.value.min_inclusive + ctx.nextInt(ctx.nextInt(value.value.max_inclusive - value.value.min_inclusive + 1) + 1)\n\t\t\tcase 'clamped': return clamp(ctx.sampleInt(value.value.source), value.value.min_inclusive, value.value.max_inclusive)\n\t\t\tcase 'clamped_normal':\n\t\t\t\tconst normal = value.value.mean + ctx.nextGaussian() * value.value.deviation\n\t\t\t\treturn Math.floor(clamp(value.value.min_inclusive, value.value.max_inclusive, normal))\n\t\t\tcase 'weighted_list':\n\t\t\t\tconst totalWeight = (value.distribution as any[]).reduce<number>((sum, e) => sum + e.weight, 0)\n\t\t\t\tlet i = ctx.nextInt(totalWeight)\n\t\t\t\tfor (const e of value.distribution) {\n\t\t\t\t\ti -= e.weight\n\t\t\t\t\tif (i < 0) return ctx.sampleInt(e.data)\n\t\t\t\t}\n\t\t\t\treturn 0\n\t\t}\n\t\treturn 1\n\t}\n}\n\nfunction resolveAnchor(anchor: any, _ctx: PlacementContext): number {\n\tif (!isObject(anchor)) throw new Error('Invalid vertical anchor')\n\tif (anchor.absolute) return anchor.absolute\n\tif (anchor.above_bottom) return anchor.above_bottom\n\tif (anchor.below_top) return 256 - anchor.below_top\n\tthrow new Error('Invalid vertical anchor')\n}\n\nfunction sampleHeight(height: any, ctx: PlacementContext): number {\n\tif (!isObject(height)) throw new Error('Invalid height provider')\n\tif (typeof height.type !== 'string') {\n\t\treturn resolveAnchor(height, ctx)\n\t}\n\tswitch (normalize(height.type)) {\n\t\tcase 'constant': return resolveAnchor(height.value, ctx)\n\t\tcase 'uniform': {\n\t\t\tconst min = resolveAnchor(height.min_inclusive, ctx)\n\t\t\tconst max = resolveAnchor(height.max_inclusive, ctx)\n\t\t\treturn min + ctx.nextInt(max - min + 1)\n\t\t}\n\t\tcase 'biased_to_bottom': {\n\t\t\tconst min = resolveAnchor(height.min_inclusive, ctx)\n\t\t\tconst max = resolveAnchor(height.max_inclusive, ctx)\n\t\t\tconst n = ctx.nextInt(max - min - (height.inner ?? 1) + 1)\n\t\t\treturn min + ctx.nextInt(n + (height.inner ?? 1))\n\t\t}\n\t\tcase 'very_biased_to_bottom': {\n\t\t\tconst min = resolveAnchor(height.min_inclusive, ctx)\n\t\t\tconst max = resolveAnchor(height.max_inclusive, ctx)\n\t\t\tconst inner = height.inner ?? 1\n\t\t\tconst n1 = min + inner + ctx.nextInt(max - min - inner + 1)\n\t\t\tconst n2 = min + ctx.nextInt(n1 - min)\n\t\t\treturn min + ctx.nextInt(n2 - min + inner)\n\t\t}\n\t\tcase 'trapezoid': {\n\t\t\tconst min = resolveAnchor(height.min_inclusive, ctx)\n\t\t\tconst max = resolveAnchor(height.max_inclusive, ctx)\n\t\t\tconst plateau = height.plateau ?? 0\n\t\t\tif (plateau >= max - min) {\n\t\t\t\treturn min + ctx.nextInt(max - min + 1)\n\t\t\t}\n\t\t\tconst n1 = (max - min - plateau) / 2\n\t\t\tconst n2 = (max - min) - n1\n\t\t\treturn min + ctx.nextInt(n2 + 1) + ctx.nextInt(n1 + 1)\n\t\t}\n\t\tdefault: throw new Error(`Invalid height provider ${height.type}`)\n\t}\n}\n\n// 1.17 and before\nfunction useFeature(s: string, ctx: PlacementContext) {\n\tconst i = ctx.features.indexOf(s)\n\tif (i != -1) return i\n\tctx.features.push(s)\n\treturn ctx.features.length - 1\n}\n\nfunction getPlacements(pos: BlockPos, feature: any, ctx: PlacementContext): void {\n\tif (typeof feature === 'string') {\n\t\tctx.placements.push([pos, useFeature(feature, ctx)])\n\t\treturn\n\t}\n\tconst type = normalize(feature?.type ?? 'no_op')\n\tconst featureFn = Features[type]\n\tif (featureFn) {\n\t\tfeatureFn(feature.config, pos, ctx)\n\t} else {\n\t\tctx.placements.push([pos, useFeature(JSON.stringify(feature), ctx)])\n\t}\n}\n\nfunction getPositions(pos: BlockPos, decorator: any, ctx: PlacementContext): BlockPos[] {\n\tconst type = normalize(decorator?.type ?? 'nope')\n\tconst decoratorFn = Decorators[type]\n\tif (!decoratorFn) {\n\t\treturn [pos]\n\t}\n\treturn decoratorFn(decorator?.config, pos, ctx)\n}\n\nconst Features: {\n\t[key: string]: (config: any, pos: BlockPos, ctx: PlacementContext) => void,\n} = {\n\tdecorated: (config, pos, ctx) => {\n\t\tconst positions = getPositions(pos, config?.decorator, ctx)\n\t\tpositions.forEach(p => getPlacements(p, config?.feature, ctx))\n\t},\n\trandom_boolean_selector: (config, pos, ctx) => {\n\t\tconst feature = ctx.nextFloat() < 0.5 ? config?.feature_true : config?.feature_false\n\t\tgetPlacements(pos, feature, ctx)\n\t},\n\trandom_selector: (config, pos, ctx) => {\n\t\tfor (const f of config?.features ?? []) {\n\t\t\tif (ctx.nextFloat() < (f?.chance ?? 0)) {\n\t\t\t\tgetPlacements(pos, f.feature, ctx)\n\t\t\t\treturn\n\t\t\t}\n\t\t}\n\t\tgetPlacements(pos, config?.default, ctx)\n\t},\n\tsimple_random_selector: (config, pos, ctx) => {\n\t\tconst feature = config?.features?.[ctx.nextInt(config?.features?.length ?? 0)]\n\t\tgetPlacements(pos, feature, ctx)\n\t},\n}\n\nconst Decorators: {\n\t[key: string]: (config: any, pos: BlockPos, ctx: PlacementContext) => BlockPos[],\n} = {\n\tchance: (config, pos, ctx) => {\n\t\treturn ctx.nextFloat() < 1 / (config?.chance ?? 1) ? [pos] : []\n\t},\n\tcount: (config, pos, ctx) => {\n\t\treturn new Array(ctx.sampleInt(config?.count ?? 1)).fill(pos)\n\t},\n\tcount_extra: (config, pos, ctx) => {\n\t\tlet count = config?.count ?? 1\n\t\tif (ctx.nextFloat() < config.extra_chance ?? 0){\n\t\t\tcount += config.extra_count ?? 0\n\t\t}\n\t\treturn new Array(count).fill(pos)\n\t},\n\tcount_multilayer: (config, pos, ctx) => {\n\t\treturn new Array(ctx.sampleInt(config?.count ?? 1)).fill(pos)\n\t\t\t.map(p => [\n\t\t\t\tp[0] + ctx.nextInt(16),\n\t\t\t\tp[1], \n\t\t\t\tp[2] + ctx.nextInt(16),\n\t\t\t])\n\t},\n\tcount_noise: (config, pos, ctx) => {\n\t\tconst noise = ctx.biomeInfoNoise.sample(pos[0] / 200, 0, pos[2] / 200)\n\t\tconst count = noise < config.noise_level ? config.below_noise : config.above_noise\n\t\treturn new Array(count).fill(pos)\n\t},\n\tcount_noise_biased: (config, pos, ctx) => {\n\t\tconst factor = Math.max(1, config.noise_factor)\n\t\tconst noise = ctx.biomeInfoNoise.sample(pos[0] / factor, 0, pos[2] / factor)\n\t\tconst count = Math.max(0, Math.ceil((noise + (config.noise_offset ?? 0)) * config.noise_to_count_ratio))\n\t\treturn new Array(count).fill(pos)\n\t},\n\tdark_oak_tree: (_config, pos, ctx) => {\n\t\treturn [...new Array(16)].map((_, i) => {\n\t\t\tconst x = Math.floor(i / 4) * 4 + 1 + ctx.nextInt(3) + pos[0]\n\t\t\tconst y = Math.max(ctx.seaLevel, terrain[clamp(0, 63, x)])\n\t\t\tconst z = Math.floor(i % 4) * 4 + 1 + ctx.nextInt(3) + pos[2]\n\t\t\treturn [x, y, z]\n\t\t})\n\t},\n\tdecorated: (config, pos, ctx) => {\n\t\treturn getPositions(pos, config?.outer, ctx).flatMap(p => {\n\t\t\treturn getPositions(p, config?.inner, ctx)\n\t\t})\n\t},\n\tdepth_average: (config, pos, ctx) => {\n\t\tconst y = ctx.nextInt(config?.spread ?? 0) + ctx.nextInt(config?.spread ?? 0) - (config.spread ?? 0) + (config?.baseline ?? 0)\n\t\treturn decorateY(pos, y)\n\t},\n\temerald_ore: (_config, pos, ctx) => {\n\t\tconst count = 3 + ctx.nextInt(6)\n\t\treturn [...new Array(count)].map(() => [\n\t\t\tpos[0] + ctx.nextInt(16),\n\t\t\t4 + ctx.nextInt(28),\n\t\t\tpos[2] + ctx.nextInt(16),\n\t\t])\n\t},\n\tfire: (config, pos, ctx) => {\n\t\tconst count = 1 + ctx.nextInt(ctx.nextInt(ctx.sampleInt(config?.count)))\n\t\treturn [...new Array(count)].map(() => [\n\t\t\tpos[0] + ctx.nextInt(16),\n\t\t\tctx.nextInt(128),\n\t\t\tpos[2] + ctx.nextInt(16),\n\t\t])\n\t},\n\tglowstone: (config, pos, ctx) => {\n\t\tconst count = ctx.nextInt(1 + ctx.nextInt(ctx.sampleInt(config?.count)))\n\t\treturn [...new Array(count)].map(() => [\n\t\t\tpos[0] + ctx.nextInt(16),\n\t\t\tctx.nextInt(128),\n\t\t\tpos[2] + ctx.nextInt(16),\n\t\t])\n\t},\n\theightmap: (_config, pos, ctx) => {\n\t\tconst y = Math.max(ctx.seaLevel, terrain[clamp(0, 63, pos[0])])\n\t\treturn decorateY(pos, y)\n\t},\n\theightmap_spread_double: (_config, pos, ctx) => {\n\t\tconst y = Math.max(ctx.seaLevel, terrain[clamp(0, 63, pos[0])])\n\t\treturn decorateY(pos, ctx.nextInt(y * 2))\n\t},\n\theightmap_world_surface: (_config, pos, ctx) => {\n\t\tconst y = Math.max(ctx.seaLevel, terrain[clamp(0, 63, pos[0])])\n\t\treturn decorateY(pos, y)\n\t},\n\ticeberg: (_config, pos, ctx) => {\n\t\treturn [[\n\t\t\tpos[0] + 4 + ctx.nextInt(8),\n\t\t\tpos[1],\n\t\t\tpos[2] + 4 + ctx.nextInt(8),\n\t\t]]\n\t},\n\tlava_lake: (config, pos, ctx) => {\n\t\tif (ctx.nextInt((config.chance ?? 1) / 10) === 0) {\n\t\t\tconst y = ctx.nextInt(ctx.nextInt(256 - 8) + 8)\n\t\t\tif (y < ctx.seaLevel || ctx.nextInt((config?.chance ?? 1) / 8) == 0) {\n\t\t\t\tconst x = ctx.nextInt(16) + pos[0]\n\t\t\t\tconst z = ctx.nextInt(16) + pos[2]\n\t\t\t\treturn [[x, y, z]]\n\t\t\t}\n\t\t}\n\t\treturn []\n\t},\n\tnope: (_config, pos) => {\n\t\treturn [pos]\n\t},\n\trange: (config, pos, ctx) => {\n\t\tconst y = ctx.nextInt((config?.maximum ?? 1) - (config?.top_offset ?? 0)) + (config?.bottom_offset ?? 0)\n\t\treturn decorateY(pos, y)\n\t},\n\trange_biased: (config, pos, ctx) => {\n\t\tconst y = ctx.nextInt(ctx.nextInt((config?.maximum ?? 1) - (config?.top_offset ?? 0)) + (config?.bottom_offset ?? 0))\n\t\treturn decorateY(pos, y)\n\t},\n\trange_very_biased: (config, pos, ctx) => {\n\t\tconst y = ctx.nextInt(ctx.nextInt(ctx.nextInt((config?.maximum ?? 1) - (config?.top_offset ?? 0)) + (config?.bottom_offset ?? 0)) + (config?.bottom_offset ?? 0))\n\t\treturn decorateY(pos, y)\n\t},\n\tspread_32_above: (_config, pos, ctx) => {\n\t\tconst y = ctx.nextInt(pos[1] + 32)\n\t\treturn decorateY(pos, y)\n\t},\n\ttop_solid_heightmap: (_config, pos) => {\n\t\tconst y = terrain[clamp(0, 63, pos[0])]\n\t\treturn decorateY(pos, y)\n\t},\n\tmagma: (_config, pos, ctx) => {\n\t\tconst y = ctx.nextInt(pos[1] + 32)\n\t\treturn decorateY(pos, y)\n\t},\n\tsquare: (_config, pos, ctx) => {\n\t\treturn [[\n\t\t\tpos[0] + ctx.nextInt(16),\n\t\t\tpos[1],\n\t\t\tpos[2] + ctx.nextInt(16),\n\t\t]]\n\t},\n\tsurface_relative_threshold: (config, pos) => {\n\t\tconst height = terrain[clamp(0, 63, pos[0])]\n\t\tconst min = height + (config?.min_inclusive ?? -Infinity)\n\t\tconst max = height + (config?.max_inclusive ?? Infinity)\n\t\treturn (pos[1] < min || pos[1] > max) ? [pos] : []\n\t},\n\twater_lake: (config, pos, ctx) => {\n\t\tif (ctx.nextInt(config.chance ?? 1) === 0) {\n\t\t\treturn [[\n\t\t\t\tpos[0] + ctx.nextInt(16),\n\t\t\t\tctx.nextInt(256),\n\t\t\t\tpos[2] + ctx.nextInt(16),\n\t\t\t]]\n\t\t}\n\t\treturn []\n\t},\n}\n\n// 1.18 and after\nfunction modifyPlacement(pos: BlockPos, placement: any[], ctx: PlacementContext) {\n\tlet positions = [pos]\n\tfor (const modifier of placement) {\n\t\tconst modifierFn = PlacementModifiers[normalize(modifier?.type ?? 'nope')]\n\t\tif (!modifierFn) continue\n\t\tpositions = positions.flatMap(pos =>\n\t\t\tPlacementModifiers[normalize(modifier.type)](modifier, pos, ctx)\n\t\t)\n\t}\n\tfor (const pos of positions) {\n\t\tctx.placements.push([pos, 0])\n\t}\n}\n\nconst PlacementModifiers: {\n\t[key: string]: (config: any, pos: BlockPos, ctx: PlacementContext) => BlockPos[],\n} = {\n\tcount: ({ count }, pos, ctx) => {\n\t\treturn new Array(ctx.sampleInt(count ?? 1)).fill(pos)\n\t},\n\tcount_on_every_layer: ({ count }, pos, ctx) => {\n\t\treturn new Array(ctx.sampleInt(count ?? 1)).fill(pos)\n\t\t\t.map(p => [\n\t\t\t\tp[0] + ctx.nextInt(16),\n\t\t\t\tp[1], \n\t\t\t\tp[2] + ctx.nextInt(16),\n\t\t\t])\n\t},\n\tenvironment_scan: ({}, pos) => {\n\t\treturn [pos]\n\t},\n\theight_range: ({ height }, pos, ctx) => {\n\t\treturn decorateY(pos, sampleHeight(height, ctx))\n\t},\n\theightmap: ({}, pos, ctx) => {\n\t\tconst y = Math.max(ctx.seaLevel, terrain[clamp(0, 63, pos[0])])\n\t\treturn decorateY(pos, y)\n\t},\n\tin_square: ({}, pos, ctx) => {\n\t\treturn [[\n\t\t\tpos[0] + ctx.nextInt(16),\n\t\t\tpos[1],\n\t\t\tpos[2] + ctx.nextInt(16),\n\t\t]]\n\t},\n\tnoise_based_count: ({ noise_to_count_ratio, noise_factor, noise_offset }, pos, ctx) => {\n\t\tconst factor = Math.max(1, noise_factor)\n\t\tconst noise = ctx.biomeInfoNoise.sample(pos[0] / factor, 0, pos[2] / factor)\n\t\tconst count = Math.max(0, Math.ceil((noise + (noise_offset ?? 0)) * noise_to_count_ratio))\n\t\treturn new Array(count).fill(pos)\n\t},\n\tnoise_threshold_count: ({ noise_level, below_noise, above_noise }, pos, ctx) => {\n\t\tconst noise = ctx.biomeInfoNoise.sample(pos[0] / 200, 0, pos[2] / 200)\n\t\tconst count = noise < noise_level ? below_noise : above_noise\n\t\treturn new Array(count).fill(pos)\n\t},\n\trandom_offset: ({ xz_spread, y_spread }, pos, ctx) => {\n\t\treturn [[\n\t\t\tpos[0] + ctx.sampleInt(xz_spread),\n\t\t\tpos[1] + ctx.sampleInt(y_spread),\n\t\t\tpos[2] + ctx.sampleInt(xz_spread),\n\t\t]]\n\t},\n\trarity_filter: ({ chance }, pos, ctx) => {\n\t\treturn ctx.nextFloat() < 1 / (chance ?? 1) ? [pos] : []\n\t},\n}\n","import { DataModel } from '@mcschema/core'\nimport * as deepslate19 from 'deepslate/worldgen'\nimport type { VersionId } from '../services'\nimport { checkVersion, fetchAllPresets } from '../services'\nimport { deepClone, deepEqual } from '../Utils'\n\nexport class Deepslate {\n\tprivate d = deepslate19\n\tprivate loadedVersion: VersionId | undefined\n\tprivate loadingVersion: VersionId | undefined\n\tprivate loadingPromise: Promise<void> | undefined\n\tprivate readonly deepslateCache = new Map<VersionId, typeof deepslate19>()\n\tprivate readonly Z = 0\n\n\tprivate cacheState: unknown\n\tprivate settingsCache: NoiseSettings | undefined\n\tprivate generatorCache: ChunkGenerator | undefined\n\tprivate chunksCache: Chunk[] = []\n\n\tpublic async loadVersion(version: VersionId) {\n\t\tif (this.loadedVersion === version) {\n\t\t\treturn\n\t\t}\n\t\tif (this.loadingVersion !== version || !this.loadingPromise) {\n\t\t\tthis.loadingVersion = version\n\t\t\tthis.loadingPromise = this.doLoadVersion(version)\n\t\t}\n\t\treturn this.loadingPromise\n\t}\n\n\tprivate async doLoadVersion(version: VersionId) {\n\t\tconst cachedDeepslate = this.deepslateCache.get(version)\n\t\tif (cachedDeepslate) {\n\t\t\tthis.d = cachedDeepslate\n\t\t} else {\n\t\t\tif (checkVersion(version, '1.19')) {\n\t\t\t\tthis.d = deepslate19\n\t\t\t} else if (checkVersion(version, '1.18.2')) {\n\t\t\t\tthis.d = await import('deepslate-1.18.2') as any\n\t\t\t} else {\n\t\t\t\tthis.d = await import('deepslate-1.18') as any\n\t\t\t}\n\t\t\tif (this.d.WorldgenRegistries) {\n\t\t\t\tconst REGISTRIES: [string, keyof typeof deepslate19.WorldgenRegistries, { fromJson(obj: unknown): any}][] = [\n\t\t\t\t\t['worldgen/noise', 'NOISE', this.d.NoiseParameters],\n\t\t\t\t\t['worldgen/density_function', 'DENSITY_FUNCTION', this.d.DensityFunction],\n\t\t\t\t]\n\t\t\t\tawait Promise.all(REGISTRIES.map(async ([id, name, parser]) => {\n\t\t\t\t\tconst entries = await fetchAllPresets(version, id)\n\t\t\t\t\tconst registry = new this.d.Registry<typeof parser>(this.d.Identifier.create(id))\n\t\t\t\t\tfor (const [key, value] of entries.entries()) {\n\t\t\t\t\t\tregistry.register(this.d.Identifier.parse(key), parser.fromJson(value))\n\t\t\t\t\t}\n\t\t\t\t\tthis.d.WorldgenRegistries[name].assign(registry as any)\n\t\t\t\t}))\n\t\t\t}\n\t\t\tthis.deepslateCache.set(version, this.d)\n\t\t}\n\t\tthis.loadedVersion = version\n\t\tthis.loadingVersion = undefined\n\t}\n\n\tpublic loadChunkGenerator(settings: unknown, seed: bigint, biome = 'unknown') {\n\t\tif (!this.loadedVersion) {\n\t\t\tthrow new Error('No deepslate version loaded')\n\t\t}\n\t\tconst newCacheState = [settings, `${seed}`, biome]\n\t\tif (!deepEqual(this.cacheState, newCacheState)) {\n\t\t\tconst biomeSource = new this.d.FixedBiome(checkVersion(this.loadedVersion, '1.18.2') ? this.d.Identifier.parse(biome) : biome as any)\n\t\t\tconsole.log(this.d)\n\t\t\tconst noiseSettings = this.d.NoiseGeneratorSettings.fromJson(DataModel.unwrapLists(settings))\n\t\t\tconst chunkGenerator = new this.d.NoiseChunkGenerator(seed, biomeSource, noiseSettings)\n\t\t\tthis.settingsCache = noiseSettings.noise\n\t\t\tthis.generatorCache = chunkGenerator\n\t\t\tthis.chunksCache = []\n\t\t\tthis.cacheState = deepClone(newCacheState)\n\t\t}\n\t}\n\n\tpublic generateChunks(minX: number, width: number, biome = 'unknown') {\n\t\tminX = Math.floor(minX)\n\t\tif (!this.settingsCache) {\n\t\t\tthrow new Error('Tried to generate chunks before settings are loaded')\n\t\t}\n\t\tconst minY = this.settingsCache.minY\n\t\tconst height = this.settingsCache.height\n\n\t\treturn [...Array(Math.ceil(width / 16) + 1)].map((_, i) => {\n\t\t\tconst x = (minX >> 4) + i\n\t\t\tconst cached = this.chunksCache.find(c => c.pos[0] === x)\n\t\t\tif (cached) {\n\t\t\t\treturn cached\n\t\t\t}\n\t\t\tconst chunk = new this.d.Chunk(minY, height, this.d.ChunkPos.create(x, this.Z >> 4))\n\t\t\tif (!this.generatorCache) {\n\t\t\t\tthrow new Error('Tried to generate chunks before generator is loaded')\n\t\t\t}\n\t\t\tthis.generatorCache.fill(chunk, true)\n\t\t\tthis.generatorCache.buildSurface(chunk, biome)\n\t\t\tthis.chunksCache.push(chunk)\n\t\t\treturn chunk\n\t\t})\n\t}\n\n\tpublic loadDensityFunction(state: unknown, seed: bigint) {\n\t\tconst random = this.d.XoroshiroRandom.create(seed).forkPositional()\n\t\tconst settings = this.d.NoiseSettings.fromJson({\n\t\t\tmin_y: -64,\n\t\t\theight: 384,\n\t\t\tsize_horizontal: 1,\n\t\t\tsize_vertical: 2,\n\t\t\tsampling: { xz_scale: 1, y_scale: 1, xz_factor: 80, y_factor: 160 },\n\t\t\tbottom_slide: { target: 0.1171875, size: 3, offset: 0 },\n\t\t\ttop_slide: { target: -0.078125, size: 2, offset: 8 },\n\t\t\tterrain_shaper: { offset: 0.044, factor: 4, jaggedness: 0 },\n\t\t})\n\t\tthis.settingsCache = settings\n\t\tconst originalFn = this.d.DensityFunction.fromJson(state)\n\t\treturn originalFn.mapAll(new this.d.NoiseRouter.Visitor(random, settings))\n\t}\n\n\tpublic getNoiseSettings(): NoiseSettings {\n\t\tif (!this.settingsCache) {\n\t\t\tthrow new Error('Tried to access noise settings when they are not loaded')\n\t\t}\n\t\treturn this.settingsCache\n\t}\n\n\tpublic getBlockState(x: number, y: number) {\n\t\tx = Math.floor(x)\n\t\ty = Math.floor(y)\n\t\tconst chunk = this.chunksCache.find(c => this.d.ChunkPos.minBlockX(c.pos) <= x && this.d.ChunkPos.maxBlockX(c.pos) >= x)\n\t\treturn chunk?.getBlockState(this.d.BlockPos.create(x, y, this.Z))\n\t}\n}\n\ninterface NoiseSettings {\n\tminY: number,\n\theight: number,\n}\n\ninterface ChunkGenerator {\n\tfill(chunk: Chunk, onlyFirstZ?: boolean): void\n\tbuildSurface(chunk: Chunk, biome: string): void\n}\n\ninterface Chunk {\n\treadonly pos: deepslate19.ChunkPos;\n\tgetBlockState(pos: deepslate19.BlockPos): deepslate19.BlockState;\n}\n","import { LegacyRandom, PerlinNoise } from 'deepslate/worldgen'\nimport { clampedLerp, lerp2 } from '../../Utils'\n\nexport class NoiseChunkGenerator {\n\tprivate readonly minLimitPerlinNoise: PerlinNoise\n\tprivate readonly maxLimitPerlinNoise: PerlinNoise\n\tprivate readonly mainPerlinNoise: PerlinNoise\n\tprivate readonly depthNoise: PerlinNoise\n\n\tprivate settings: any = {}\n\tprivate chunkWidth: number = 4\n\tprivate chunkHeight: number = 4\n\tprivate chunkCountY: number = 32\n\tprivate biomeDepth: number = 0.1\n\tprivate biomeScale: number = 0.2\n\n\tprivate noiseColumnCache: (number[] | null)[] = []\n\tprivate xOffset: number = 0\n\n\tconstructor(seed: bigint) {\n\t\tconst random = new LegacyRandom(seed)\n\t\tthis.minLimitPerlinNoise = new PerlinNoise(random, -15, [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1])\n\t\tthis.maxLimitPerlinNoise = new PerlinNoise(random, -15, [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1])\n\t\tthis.mainPerlinNoise = new PerlinNoise(random, -7, [1, 1, 1, 1, 1, 1, 1, 1])\n\t\tthis.depthNoise = new PerlinNoise(random, -15, [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1])\n\t}\n\n\tpublic reset(settings: any, depth: number, scale: number, xOffset: number, width: number) {\n\t\tthis.settings = settings\n\t\tthis.chunkWidth = settings.size_horizontal * 4\n\t\tthis.chunkHeight = settings.size_vertical * 4\n\t\tthis.chunkCountY = Math.floor(settings.height / this.chunkHeight)\n\n\t\tif (settings.amplified && depth > 0) {\n\t\t\tdepth = 1 + depth * 2\n\t\t\tscale = 1 + scale * 4\n\t\t}\n\t\tthis.biomeDepth = 0.265625 * (depth * 0.5 - 0.125)\n\t\tthis.biomeScale = 96.0 / (scale * 0.9 + 0.1)\n\n\t\tthis.noiseColumnCache = Array(width).fill(null)\n\t\tthis.xOffset = xOffset\n\t}\n \n\tpublic iterateNoiseColumn(x: number): number[] {\n\t\tconst data = Array(this.chunkCountY * this.chunkHeight)\n\t\tconst cx = Math.floor(x / this.chunkWidth)\n\t\tconst ox = Math.floor(x % this.chunkWidth) / this.chunkWidth\n\t\tconst noise1 = this.fillNoiseColumn(cx)\n\t\tconst noise2 = this.fillNoiseColumn(cx + 1)\n\n\t\tfor (let y = this.chunkCountY - 1; y >= 0; y -= 1) {\n\t\t\tfor (let yy = this.chunkHeight; yy >= 0; yy -= 1) {\n\t\t\t\tconst oy = yy / this.chunkHeight\n\t\t\t\tconst i = y * this.chunkHeight + yy\n\t\t\t\tdata[i] = lerp2(oy, ox, noise1[y], noise1[y+1], noise2[y], noise2[y+1])\n\t\t\t}\n\t\t}\n\t\treturn data\n\t}\n\n\tprivate fillNoiseColumn(x: number): number[] {\n\t\tconst cachedColumn = this.noiseColumnCache[x - this.xOffset]\n\t\tif (cachedColumn) return cachedColumn\n\n\t\tconst data = Array(this.chunkCountY + 1)\n\n\t\tconst xzScale = 684.412 * this.settings.sampling.xz_scale\n\t\tconst yScale = 684.412 * this.settings.sampling.y_scale\n\t\tconst xzFactor = xzScale / this.settings.sampling.xz_factor\n\t\tconst yFactor = yScale / this.settings.sampling.y_factor\n\t\tconst randomDensity = this.settings.random_density_offset ? this.getRandomDensity(x) : 0\n\n\t\tfor (let y = 0; y <= this.chunkCountY; y += 1) {\n\t\t\tlet noise = this.sampleAndClampNoise(x, y, this.mainPerlinNoise.getOctaveNoise(0)!.zo, xzScale, yScale, xzFactor, yFactor)\n\t\t\tconst yOffset = 1 - y * 2 / this.chunkCountY + randomDensity\n\t\t\tconst density = yOffset * this.settings.density_factor + this.settings.density_offset\n\t\t\tconst falloff = (density + this.biomeDepth) * this.biomeScale\n\t\t\tnoise += falloff * (falloff > 0 ? 4 : 1)\n\n\t\t\tif (this.settings.top_slide.size > 0) {\n\t\t\t\tnoise = clampedLerp(\n\t\t\t\t\tthis.settings.top_slide.target,\n\t\t\t\t\tnoise,\n\t\t\t\t\t(this.chunkCountY - y - (this.settings.top_slide.offset)) / (this.settings.top_slide.size)\n\t\t\t\t)\n\t\t\t}\n\n\t\t\tif (this.settings.bottom_slide.size > 0) {\n\t\t\t\tnoise = clampedLerp(\n\t\t\t\t\tthis.settings.bottom_slide.target,\n\t\t\t\t\tnoise,\n\t\t\t\t\t(y - (this.settings.bottom_slide.offset)) / (this.settings.bottom_slide.size)\n\t\t\t\t)\n\t\t\t}\n\t\t\tdata[y] = noise\n\t\t}\n\n\t\tthis.noiseColumnCache[x - this.xOffset] = data\n\t\treturn data\n\t}\n\n\tprivate getRandomDensity(x: number): number {\n\t\tconst noise = this.depthNoise.sample(x * 200, 10, this.depthNoise.getOctaveNoise(0)!.zo, 1, 0, true)\n\t\tconst a = (noise < 0) ? -noise * 0.3 : noise\n\t\tconst b = a * 24.575625 - 2\n\t\treturn (b < 0) ? b * 0.009486607142857142 : Math.min(b, 1) * 0.006640625\n\t}\n\n\tprivate sampleAndClampNoise(x: number, y: number, z: number, xzScale: number, yScale: number, xzFactor: number, yFactor: number): number {\n\t\tlet a = 0\n\t\tlet b = 0\n\t\tlet c = 0\n\t\tlet d = 1\n\n\t\tfor (let i = 0; i < 16; i += 1) {\n\t\t\tconst x2 = PerlinNoise.wrap(x * xzScale * d)\n\t\t\tconst y2 = PerlinNoise.wrap(y * yScale * d)\n\t\t\tconst z2 = PerlinNoise.wrap(z * xzScale * d)\n\t\t\tconst e = yScale * d\n\n\t\t\tconst minLimitNoise = this.minLimitPerlinNoise.getOctaveNoise(i)\n\t\t\tif (minLimitNoise) {\n\t\t\t\ta += minLimitNoise.sample(x2, y2, z2, e, y * e) / d\n\t\t\t}\n\n\t\t\tconst maxLimitNoise = this.maxLimitPerlinNoise.getOctaveNoise(i)\n\t\t\tif (maxLimitNoise) {\n\t\t\t\tb += maxLimitNoise.sample(x2, y2, z2, e, y * e) / d\n\t\t\t}\n\n\t\t\tif (i < 8) {\n\t\t\t\tconst mainNoise = this.mainPerlinNoise.getOctaveNoise(i)\n\t\t\t\tif (mainNoise) {\n\t\t\t\t\tc += mainNoise.sample(\n\t\t\t\t\t\tPerlinNoise.wrap(x * xzFactor * d),\n\t\t\t\t\t\tPerlinNoise.wrap(y * yFactor * d),\n\t\t\t\t\t\tPerlinNoise.wrap(z * xzFactor * d),\n\t\t\t\t\t\tyFactor * d,\n\t\t\t\t\t\ty * yFactor * d \n\t\t\t\t\t) / d\n\t\t\t\t}\n\t\t\t}\n\n\t\t\td /= 2\n\t\t}\n\n\t\treturn clampedLerp(a / 512, b / 512, (c / 10 + 1) / 2)\n\t}\n}\n","import { BlockState, clampedMap, DensityFunction } from 'deepslate/worldgen'\nimport type { VersionId } from '../services'\nimport { checkVersion } from '../services'\nimport { Deepslate } from './Deepslate'\nimport { NoiseChunkGenerator as OldNoiseChunkGenerator } from './noise/NoiseChunkGenerator'\n\nexport type NoiseSettingsOptions = {\n\tbiome?: string,\n\tbiomeScale?: number,\n\tbiomeDepth?: number,\n\toffset: number,\n\twidth: number,\n\tseed: bigint,\n\tversion: VersionId,\n}\n\nconst colors: Record<string, [number, number, number]> = {\n\t'minecraft:air': [150, 160, 170],\n\t'minecraft:water': [20, 80, 170],\n\t'minecraft:lava': [200, 100, 0],\n\t'minecraft:stone': [55, 55, 55],\n\t'minecraft:deepslate': [34, 34, 36],\n\t'minecraft:bedrock': [10, 10, 10],\n\t'minecraft:grass_block': [47, 120, 23],\n\t'minecraft:dirt': [64, 40, 8],\n\t'minecraft:gravel': [70, 70, 70],\n\t'minecraft:sand': [196, 180, 77],\n\t'minecraft:sandstone': [148, 135, 52],\n\t'minecraft:netherrack': [100, 40, 40],\n\t'minecraft:crimson_nylium': [144, 22, 22],\n\t'minecraft:warped_nylium': [28, 115, 113],\n\t'minecraft:basalt': [73, 74, 85],\n\t'minecraft:end_stone': [200, 200, 140],\n}\n\nconst DEEPSLATE = new Deepslate()\n\nexport async function noiseSettings(state: any, img: ImageData, options: NoiseSettingsOptions) {\n\tif (checkVersion(options.version, '1.18')) {\n\n\t\tawait DEEPSLATE.loadVersion(options.version)\n\t\tDEEPSLATE.loadChunkGenerator(state, options.seed, options.biome)\n\t\tDEEPSLATE.generateChunks(-options.offset, options.width, options.biome)\n\t\tconst noise = DEEPSLATE.getNoiseSettings()\n\n\t\tconst data = img.data\n\t\tfor (let x = 0; x < options.width; x += 1) {\n\t\t\tfor (let y = 0; y < noise.height; y += 1) {\n\t\t\t\tconst i = x * 4 + (noise.height-y-1) * 4 * img.width\n\t\t\t\tconst state = DEEPSLATE.getBlockState(x - options.offset, y + noise.minY) ?? BlockState.AIR\n\t\t\t\tconst color = colors[state.getName().toString()] ?? [0, 0, 0]\n\t\t\t\tdata[i] = color[0]\n\t\t\t\tdata[i + 1] = color[1]\n\t\t\t\tdata[i + 2] = color[2]\n\t\t\t\tdata[i + 3] = 255\n\t\t\t}\n\t\t}\n\t\treturn\n\t}\n\n\tconst generator = new OldNoiseChunkGenerator(options.seed)\n\tgenerator.reset(state.noise, options.biomeDepth ?? 0, options.biomeScale ?? 0, options.offset, options.width)\n\tconst data = img.data\n\tconst row = img.width * 4\n\tfor (let x = 0; x < options.width; x += 1) {\n\t\tconst noise = generator.iterateNoiseColumn(x - options.offset).reverse()\n\t\tfor (let y = 0; y < state.noise.height; y += 1) {\n\t\t\tconst i = y * row + x * 4\n\t\t\tconst color = getColor(noise, y)\n\t\t\tdata[i] = color\n\t\t\tdata[i + 1] = color\n\t\t\tdata[i + 2] = color\n\t\t\tdata[i + 3] = 255\n\t\t}\n\t}\n}\n\nexport function getNoiseBlock(x: number, y: number) {\n\treturn DEEPSLATE.getBlockState(x, y)\n}\n\nexport async function densityFunction(state: any, img: ImageData, options: NoiseSettingsOptions) {\n\tawait DEEPSLATE.loadVersion(options.version)\n\tconst fn = DEEPSLATE.loadDensityFunction(state, options.seed)\n\tconst noise = DEEPSLATE.getNoiseSettings()\n\n\tconst arr = Array(options.width * noise.height)\n\tlet min = Infinity\n\tlet max = -Infinity\n\tfor (let x = 0; x < options.width; x += 1) {\n\t\tfor (let y = 0; y < noise.height; y += 1) {\n\t\t\tconst i = x + (noise.height-y-1) * options.width\n\t\t\tconst density = fn.compute(DensityFunction.context(x - options.offset, y, 0))\n\t\t\tmin = Math.min(min, density)\n\t\t\tmax = Math.max(max, density)\n\t\t\tarr[i] = density\n\t\t}\n\t}\n\n\tconst data = img.data\n\tfor (let i = 0; i < options.width * noise.height; i += 1) {\n\t\tconst color = Math.floor(clampedMap(arr[i], min, max, 0, 256))\n\t\tdata[4 * i] = color\n\t\tdata[4 * i + 1] = color\n\t\tdata[4 * i + 2] = color\n\t\tdata[4 * i + 3] = 255\n\t}\n}\n\nfunction getColor(noise: number[], y: number): number {\n\tif (noise[y] > 0) {\n\t\treturn 0\n\t}\n\tif (noise[y+1] > 0) {\n\t\treturn 150\n\t}\n\treturn 255\n}\n","import { DataModel } from '@mcschema/core'\nimport { LegacyRandom, NoiseParameters, NormalNoise } from 'deepslate/worldgen'\nimport type { VersionId } from '../services'\n\nexport type NoiseOptions = {\n\toffset: [number, number],\n\tscale: number,\n\tseed: bigint,\n\tversion: VersionId,\n}\n\nexport function normalNoise(state: any, img: ImageData, options: NoiseOptions) {\n\tconst random = new LegacyRandom(options.seed)\n\tconst params = NoiseParameters.fromJson(DataModel.unwrapLists(state))\n\tconst noise = new NormalNoise(random, params)\n\n\tconst ox = -options.offset[0] - 100\n\tconst oz = -options.offset[1] - 100\n\tconst data = img.data\n\tfor (let x = 0; x < 256; x += 1) {\n\t\tfor (let y = 0; y < 256; y += 1) {\n\t\t\tconst i = x * 4 + y * 4 * 256\n\t\t\tconst xx = (x + ox) * options.scale\n\t\t\tconst yy = (y + oz) * options.scale\n\t\t\tconst color = (noise.sample(xx, yy, 0) + 1) * 128\n\t\t\tdata[i] = color\n\t\t\tdata[i + 1] = color\n\t\t\tdata[i + 2] = color\n\t\t\tdata[i + 3] = 255\n\t\t}\n\t}\n}\n","import { Path } from '@mcschema/core'\nimport type { NoiseParameters } from 'deepslate/worldgen'\nimport { useEffect, useMemo, useRef, useState } from 'preact/hooks'\nimport type { PreviewProps } from '.'\nimport { Btn, BtnMenu } from '..'\nimport { useLocale } from '../../contexts'\nimport { useCanvas } from '../../hooks'\nimport { biomeMap, getBiome } from '../../previews'\nimport { newSeed, randomSeed } from '../../Utils'\n\nconst LAYERS = ['biomes', 'temperature', 'humidity', 'continentalness', 'erosion', 'weirdness'] as const\n\nexport const BiomeSourcePreview = ({ model, data, shown, version }: PreviewProps) => {\n\tconst { locale } = useLocale()\n\tconst [configuredSeed] = useState(randomSeed())\n\tconst [scale, setScale] = useState(2)\n\tconst [focused, setFocused] = useState<{[k: string]: number | string} | undefined>(undefined)\n\tconst [layers, setLayers] = useState(new Set<typeof LAYERS[number]>(['biomes']))\n\tconst offset = useRef<[number, number]>([0, 0])\n\tconst res = useRef(1)\n\tconst refineTimeout = useRef<number>()\n\n\tconst seed = BigInt(model.get(new Path(['generator', 'seed'])) ?? configuredSeed)\n\tconst octaves = useMemo(() => {\n\t\tif (!shown) return undefined\n\t\treturn getOctaves(model.get(new Path(['generator', 'settings'])))\n\t}, [shown])\n\tconst state = shown ? calculateState(data, octaves!) : ''\n\tconst type: string = data.type?.replace(/^minecraft:/, '')\n\n\tconst { canvas, redraw } = useCanvas({\n\t\tsize() {\n\t\t\treturn [200 / res.current, 200 / res.current]\n\t\t},\n\t\tasync draw(img) {\n\t\t\tconst options = { octaves: octaves!, biomeColors: {}, layers, offset: offset.current, scale, seed, res: res.current, version }\n\t\t\tawait biomeMap(data, img, options)\n\t\t\tif (res.current === 4) {\n\t\t\t\tclearTimeout(refineTimeout.current)\n\t\t\t\trefineTimeout.current = setTimeout(() => {\n\t\t\t\t\tres.current = 1\n\t\t\t\t\tredraw()\n\t\t\t\t}, 150) as any\n\t\t\t}\n\t\t},\n\t\tasync onDrag(dx, dy) {\n\t\t\toffset.current[0] = offset.current[0] + dx * 200\n\t\t\toffset.current[1] = offset.current[1] + dy * 200\n\t\t\tclearTimeout(refineTimeout.current)\n\t\t\tres.current = type === 'multi_noise' ? 4 : 1\n\t\t\tredraw()\n\t\t},\n\t\tasync onHover(x, y) {\n\t\t\tconst options = { octaves: octaves!, biomeColors: {}, layers, offset: offset.current, scale, seed: configuredSeed, res: 1, version }\n\t\t\tconst biome = await getBiome(data, Math.floor(x * 200), Math.floor(y * 200), options)\n\t\t\tsetFocused(biome)\n\t\t},\n\t\tonLeave() {\n\t\t\tsetFocused(undefined)\n\t\t},\n\t}, [version, state, scale, configuredSeed, layers])\n\n\tuseEffect(() => {\n\t\tif (shown) {\n\t\t\tres.current = type === 'multi_noise' ? 4 : 1\n\t\t\tredraw()\n\t\t}\n\t}, [version, state, scale, configuredSeed, layers, shown])\n\n\tconst changeScale = (newScale: number) => {\n\t\toffset.current[0] = offset.current[0] * scale / newScale\n\t\toffset.current[1] = offset.current[1] * scale / newScale\n\t\tsetScale(newScale)\n\t}\n\n\treturn <>\n\t\t<div class=\"controls preview-controls\">\n\t\t\t{focused && <Btn label={focused.biome as string} class=\"no-pointer\" />}\n\t\t\t{type === 'multi_noise' &&\n\t\t\t\t<BtnMenu icon=\"stack\" tooltip={locale('configure_layers')}>\n\t\t\t\t\t{LAYERS.map(name => {\n\t\t\t\t\t\tconst enabled = layers.has(name)\n\t\t\t\t\t\treturn <Btn label={locale(`layer.${name}`)} \n\t\t\t\t\t\t\tactive={enabled}\n\t\t\t\t\t\t\ttooltip={enabled ? locale('enabled') : locale('disabled')}\n\t\t\t\t\t\t\tonClick={(e) => {\n\t\t\t\t\t\t\t\tsetLayers(new Set([name]))\n\t\t\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\t\t}} />\n\t\t\t\t\t})}\n\t\t\t\t</BtnMenu>}\n\t\t\t{(type === 'multi_noise' || type === 'checkerboard') && <>\n\t\t\t\t<Btn icon=\"dash\" tooltip={locale('zoom_out')}\n\t\t\t\t\tonClick={() => changeScale(scale * 1.5)} />\n\t\t\t\t<Btn icon=\"plus\" tooltip={locale('zoom_in')}\n\t\t\t\t\tonClick={() => changeScale(scale / 1.5)} />\n\t\t\t</>}\n\t\t\t{type === 'multi_noise' &&\n\t\t\t\t<Btn icon=\"sync\" tooltip={locale('generate_new_seed')}\n\t\t\t\t\tonClick={() => newSeed(model)} />}\n\t\t</div>\n\t\t{focused?.temperature !== undefined && <div class=\"controls secondary-controls\">\n\t\t\t<Btn class=\"no-pointer\" label={Object.entries(focused)\n\t\t\t\t.filter(([k]) => k !== 'biome')\n\t\t\t\t.map(([k, v]) => `${k[0].toUpperCase()}: ${(v as number).toFixed(2)}`).join(' ')}/>\n\t\t</div>}\n\t\t<canvas ref={canvas} width=\"200\" height=\"200\"></canvas>\n\t</>\n}\n\nfunction calculateState(data: any, octaves: Record<string, NoiseParameters>) {\n\treturn JSON.stringify([data, octaves])\n}\n\nexport function getOctaves(obj: any): Record<string, NoiseParameters> {\n\tif (typeof obj !== 'string') {\n\t\tobj = obj.legacy_random_source ? 'minecraft:nether' : 'minecraft:overworld'\n\t}\n\tswitch (obj.replace(/^minecraft:/, '')) {\n\t\tcase 'overworld':\n\t\tcase 'amplified':\n\t\t\treturn {\n\t\t\t\ttemperature: { firstOctave: -9, amplitudes: [1.5, 0, 1, 0, 0, 0] },\n\t\t\t\thumidity: { firstOctave: -7, amplitudes: [1, 1, 0, 0, 0, 0] },\n\t\t\t\tcontinentalness: { firstOctave: -9, amplitudes: [1, 1, 2, 2, 2, 1, 1, 1, 1] },\n\t\t\t\terosion: { firstOctave: -9, amplitudes: [1, 1, 0, 1, 1] },\n\t\t\t\tweirdness: { firstOctave: -7, amplitudes: [1, 2, 1, 0, 0, 0] },\n\t\t\t\tshift: { firstOctave: -3, amplitudes: [1, 1, 1, 0] },\n\t\t\t}\n\t\tcase 'end':\n\t\tcase 'floating_islands':\n\t\t\treturn {\n\t\t\t\ttemperature: { firstOctave: 0, amplitudes: [0] },\n\t\t\t\thumidity: { firstOctave: 0, amplitudes: [0] },\n\t\t\t\tcontinentalness: { firstOctave: 0, amplitudes: [0] },\n\t\t\t\terosion: { firstOctave: 0, amplitudes: [0] },\n\t\t\t\tweirdness: { firstOctave: 0, amplitudes: [0] },\n\t\t\t\tshift: { firstOctave: 0, amplitudes: [0] },\n\t\t\t}\n\t\tdefault:\n\t\t\treturn {\n\t\t\t\ttemperature: { firstOctave: -7, amplitudes: [1, 1] },\n\t\t\t\thumidity: { firstOctave: -7, amplitudes: [1, 1] },\n\t\t\t\tcontinentalness: { firstOctave: -7, amplitudes: [1, 1] },\n\t\t\t\terosion: { firstOctave: -7, amplitudes: [1, 1] },\n\t\t\t\tweirdness: { firstOctave: -7, amplitudes: [1, 1] },\n\t\t\t\tshift: { firstOctave: 0, amplitudes: [0] },\n\t\t\t}\n\t}\n}\n","import { useEffect, useState } from 'preact/hooks'\nimport type { PreviewProps } from '.'\nimport { Btn } from '..'\nimport { useLocale } from '../../contexts'\nimport { useCanvas } from '../../hooks'\nimport { decorator } from '../../previews'\nimport { randomSeed } from '../../Utils'\n\nexport const DecoratorPreview = ({ data, version, shown }: PreviewProps) => {\n\tconst { locale } = useLocale()\n\tconst [scale, setScale] = useState(4)\n\tconst [seed, setSeed] = useState(randomSeed())\n\n\tconst state = JSON.stringify(data)\n\n\tconst { canvas, redraw } = useCanvas({\n\t\tsize() {\n\t\t\treturn [scale * 16, scale * 16]\n\t\t},\n\t\tasync draw(img) {\n\t\t\tdecorator(data, img, { seed, version, size: [scale * 16, 128, scale * 16] })\n\t\t},\n\t}, [version, state, seed])\n\n\tuseEffect(() => {\n\t\tif (shown) {\n\t\t\tredraw()\n\t\t}\n\t}, [version, state, scale, seed, shown])\n\n\treturn <>\n\t\t<div class=\"controls preview-controls\">\n\t\t\t<Btn icon=\"dash\" tooltip={locale('zoom_out')}\n\t\t\t\tonClick={() => setScale(Math.min(16, scale + 1))} />\n\t\t\t<Btn icon=\"plus\" tooltip={locale('zoom_in')}\n\t\t\t\tonClick={() => setScale(Math.max(1, scale - 1))} />\n\t\t\t<Btn icon=\"sync\" tooltip={locale('generate_new_seed')}\n\t\t\t\tonClick={() => setSeed(randomSeed())} />\n\t\t</div>\n\t\t<canvas ref={canvas} width=\"64\" height=\"64\"></canvas>\n\t</>\n}\n","import { useEffect, useRef, useState } from 'preact/hooks'\nimport type { PreviewProps } from '.'\nimport { Btn, BtnMenu } from '..'\nimport { useLocale } from '../../contexts'\nimport { useCanvas } from '../../hooks'\nimport { densityFunction } from '../../previews'\nimport { randomSeed } from '../../Utils'\n\nexport const DensityFunctionPreview = ({ data, shown, version }: PreviewProps) => {\n\tconst { locale } = useLocale()\n\tconst [seed, setSeed] = useState(randomSeed())\n\tconst [autoScroll, setAutoScroll] = useState(false)\n\tconst [focused, setFocused] = useState<string | undefined>(undefined)\n\tconst offset = useRef(0)\n\tconst scrollInterval = useRef<number | undefined>(undefined)\n\tconst state = JSON.stringify([data])\n\n\tconst size = data?.noise?.height ?? 256\n\tconst { canvas, redraw } = useCanvas({\n\t\tsize() {\n\t\t\treturn [size, size]\n\t\t},\n\t\tasync draw(img) {\n\t\t\tconst options = { offset: offset.current, width: img.width, seed, version }\n\t\t\tawait densityFunction(data, img, options)\n\t\t},\n\t\tasync onDrag(dx) {\n\t\t\toffset.current += dx * size\n\t\t\tredraw()\n\t\t},\n\t\tasync onHover(x, y) {\n\t\t\tconst worldX = Math.floor(x * size - offset.current)\n\t\t\tconst worldY = size - Math.max(1, Math.ceil(y * size)) + (data?.noise?.min_y ?? 0)\n\t\t\tsetFocused(`X=${worldX} Y=${worldY}`)\n\t\t},\n\t\tonLeave() {\n\t\t\tsetFocused(undefined)\n\t\t},\n\t}, [version, state, seed])\n\n\tuseEffect(() => {\n\t\tif (scrollInterval.current) {\n\t\t\tclearInterval(scrollInterval.current)\n\t\t}\n\t\tif (shown) {\n\t\t\tredraw()\n\t\t\tif (autoScroll) {\n\t\t\t\tscrollInterval.current = setInterval(() => {\n\t\t\t\t\toffset.current -= 8\n\t\t\t\t\tredraw()\n\t\t\t\t}, 100) as any\n\t\t\t}\n\t\t}\n\t}, [version, state, seed, shown, autoScroll])\n\n\treturn <>\n\t\t<div class=\"controls preview-controls\">\n\t\t\t{focused && <Btn label={focused} class=\"no-pointer\" />}\n\t\t\t<BtnMenu icon=\"gear\" tooltip={locale('terrain_settings')}>\n\t\t\t\t<Btn icon={autoScroll ? 'square_fill' : 'square'} label={locale('preview.auto_scroll')} onClick={() => setAutoScroll(!autoScroll)} />\n\t\t\t</BtnMenu>\n\t\t\t<Btn icon=\"sync\" tooltip={locale('generate_new_seed')}\n\t\t\t\tonClick={() => setSeed(randomSeed())} />\n\t\t</div>\n\t\t<canvas ref={canvas} width={size} height={size}></canvas>\n\t</>\n}\n","import { useEffect, useRef, useState } from 'preact/hooks'\nimport type { PreviewProps } from '.'\nimport { Btn } from '..'\nimport { useLocale } from '../../contexts'\nimport { useCanvas } from '../../hooks'\nimport { normalNoise } from '../../previews'\nimport { randomSeed } from '../../Utils'\n\nexport const NoisePreview = ({ data, shown, version }: PreviewProps) => {\n\tconst { locale } = useLocale()\n\tconst [seed, setSeed] = useState(randomSeed())\n\tconst [scale, setScale] = useState(2)\n\tconst offset = useRef<[number, number]>([0, 0])\n\tconst state = JSON.stringify([data])\n\n\tconst { canvas, redraw } = useCanvas({\n\t\tsize() {\n\t\t\treturn [256, 256]\n\t\t},\n\t\tasync draw(img) {\n\t\t\tconst options = { offset: offset.current, scale, seed, version }\n\t\t\tnormalNoise(data, img, options)\n\t\t},\n\t\tasync onDrag(dx, dy) {\n\t\t\toffset.current[0] = offset.current[0] + dx * 256\n\t\t\toffset.current[1] = offset.current[1] + dy * 256\n\t\t\tredraw()\n\t\t},\n\t}, [version, state, scale, seed])\n\n\tuseEffect(() => {\n\t\tif (shown) {\n\t\t\tredraw()\n\t\t}\n\t}, [version, state, scale, seed, shown])\n\n\tconst changeScale = (newScale: number) => {\n\t\toffset.current[0] = offset.current[0] * scale / newScale\n\t\toffset.current[1] = offset.current[1] * scale / newScale\n\t\tsetScale(newScale)\n\t}\n\n\treturn <>\n\t\t<div class=\"controls preview-controls\">\n\t\t\t<Btn icon=\"dash\" tooltip={locale('zoom_out')}\n\t\t\t\tonClick={() => changeScale(scale * 1.5)} />\n\t\t\t<Btn icon=\"plus\" tooltip={locale('zoom_in')}\n\t\t\t\tonClick={() => changeScale(scale / 1.5)} />\n\t\t\t<Btn icon=\"sync\" tooltip={locale('generate_new_seed')}\n\t\t\t\tonClick={() => setSeed(randomSeed())} />\n\t\t</div>\n\t\t<canvas ref={canvas} width=\"256\" height=\"256\"></canvas>\n\t</>\n}\n","import { useEffect, useMemo, useRef, useState } from 'preact/hooks'\nimport type { PreviewProps } from '.'\nimport { Btn, BtnInput, BtnMenu } from '..'\nimport { useLocale } from '../../contexts'\nimport { useCanvas } from '../../hooks'\nimport { getNoiseBlock, noiseSettings } from '../../previews'\nimport { CachedCollections, checkVersion } from '../../services'\nimport { randomSeed } from '../../Utils'\n\nexport const NoiseSettingsPreview = ({ data, shown, version }: PreviewProps) => {\n\tconst { locale } = useLocale()\n\tconst [seed, setSeed] = useState(randomSeed())\n\tconst [biome, setBiome] = useState('minecraft:plains')\n\tconst [biomeScale, setBiomeScale] = useState(0.2)\n\tconst [biomeDepth, setBiomeDepth] = useState(0.1)\n\tconst [autoScroll, setAutoScroll] = useState(false)\n\tconst [focused, setFocused] = useState<string | undefined>(undefined)\n\tconst offset = useRef(0)\n\tconst scrollInterval = useRef<number | undefined>(undefined)\n\tconst state = JSON.stringify([data, biomeScale, biomeDepth])\n\n\tconst size = data?.noise?.height ?? 256\n\tconst { canvas, redraw } = useCanvas({\n\t\tsize() {\n\t\t\treturn [size, size]\n\t\t},\n\t\tasync draw(img) {\n\t\t\tconst options = { biome, biomeDepth, biomeScale, offset: offset.current, width: img.width, seed, version }\n\t\t\tawait noiseSettings(data, img, options)\n\t\t},\n\t\tasync onDrag(dx) {\n\t\t\toffset.current += dx * size\n\t\t\tredraw()\n\t\t},\n\t\tasync onHover(x, y) {\n\t\t\tconst worldX = Math.floor(x * size - offset.current)\n\t\t\tconst worldY = size - Math.max(1, Math.ceil(y * size)) + (data?.noise?.min_y ?? 0)\n\t\t\tconst block = getNoiseBlock(worldX, worldY)\n\t\t\tsetFocused(block ? `Y=${worldY} (${block.getName().path})` : `Y=${worldY}`)\n\t\t},\n\t\tonLeave() {\n\t\t\tsetFocused(undefined)\n\t\t},\n\t}, [state, seed])\n\n\tuseEffect(() => {\n\t\tif (scrollInterval.current) {\n\t\t\tclearInterval(scrollInterval.current)\n\t\t}\n\t\tif (shown) {\n\t\t\t(async () => {\n\t\t\t\ttry {\n\t\t\t\t\tawait redraw()\n\t\t\t\t\tif (autoScroll) {\n\t\t\t\t\t\tscrollInterval.current = setInterval(() => {\n\t\t\t\t\t\t\toffset.current -= 8\n\t\t\t\t\t\t\tredraw()\n\t\t\t\t\t\t}, 100) as any\n\t\t\t\t\t}\n\t\t\t\t} catch (e) {\n\t\t\t\t\tthrow e\n\t\t\t\t}\n\t\t\t})()\n\t\t}\n\t}, [version, state, seed, shown, biome, biomeScale, biomeDepth, autoScroll])\n\n\tconst allBiomes = useMemo(() => CachedCollections?.get('worldgen/biome') ?? [], [version])\n\n\treturn <>\n\t\t<div class=\"controls preview-controls\">\n\t\t\t{focused && <Btn label={focused} class=\"no-pointer\" />}\n\t\t\t<BtnMenu icon=\"gear\" tooltip={locale('terrain_settings')}>\n\t\t\t\t{checkVersion(version, undefined, '1.17') ? <>\n\t\t\t\t\t<BtnInput label={locale('preview.scale')} value={`${biomeScale}`} onChange={v => setBiomeScale(Number(v))} />\n\t\t\t\t\t<BtnInput label={locale('preview.depth')} value={`${biomeDepth}`} onChange={v => setBiomeDepth(Number(v))} />\n\t\t\t\t</> :\n\t\t\t\t\t<BtnInput label={locale('preview.biome')} value={biome} onChange={setBiome} dataList={allBiomes} larger />\n\t\t\t\t}\n\t\t\t\t<Btn icon={autoScroll ? 'square_fill' : 'square'} label={locale('preview.auto_scroll')} onClick={() => setAutoScroll(!autoScroll)} />\n\t\t\t</BtnMenu>\n\t\t\t<Btn icon=\"sync\" tooltip={locale('generate_new_seed')}\n\t\t\t\tonClick={() => setSeed(randomSeed())} />\n\t\t</div>\n\t\t<canvas ref={canvas} width={size} height={size}></canvas>\n\t</>\n}\n","import type { DataModel } from '@mcschema/core'\nimport { Path } from '@mcschema/core'\nimport { useState } from 'preact/hooks'\nimport { useModel } from '../../hooks'\nimport type { VersionId } from '../../services'\nimport { checkVersion } from '../../services'\nimport { BiomeSourcePreview, DecoratorPreview, DensityFunctionPreview, NoisePreview, NoiseSettingsPreview } from '../previews'\n\nexport const HasPreview = ['dimension', 'worldgen/density_function', 'worldgen/noise', 'worldgen/noise_settings', 'worldgen/configured_feature', 'worldgen/placed_feature']\n\ntype PreviewPanelProps = {\n\tmodel: DataModel | undefined,\n\tversion: VersionId,\n\tid: string,\n\tshown: boolean,\n\tonError: (message: string) => unknown,\n}\nexport function PreviewPanel({ model, version, id, shown }: PreviewPanelProps) {\n\tconst [, setCount] = useState(0)\n\n\tuseModel(model, () => {\n\t\tsetCount(count => count + 1)\n\t})\n\n\tif (!model) return <></>\n\n\tif (id === 'dimension' && model.get(new Path(['generator', 'type']))?.endsWith('noise')) {\n\t\tconst data = model.get(new Path(['generator', 'biome_source']))\n\t\tif (data) return <BiomeSourcePreview {...{ model, version, shown, data }} />\n\t}\n\n\tif (id === 'worldgen/density_function') {\n\t\tconst data = model.get(new Path([]))\n\t\tif (data) return <DensityFunctionPreview {...{ model, version, shown, data }} />\n\t}\n\n\tif (id === 'worldgen/noise') {\n\t\tconst data = model.get(new Path([]))\n\t\tif (data) return <NoisePreview {...{ model, version, shown, data }} />\n\t}\n\n\tif (id === 'worldgen/noise_settings') {\n\t\tconst data = model.get(new Path([]))\n\t\tif (data) return <NoiseSettingsPreview {...{ model, version, shown, data }} />\n\t}\n\n\tif ((id === 'worldgen/placed_feature' || (id === 'worldgen/configured_feature' && checkVersion(version, '1.16', '1.17')))) {\n\t\tconst data = model.get(new Path([]))\n\t\tif (data) return <DecoratorPreview {...{ model, version, shown, data }} />\n\t}\n\n\treturn <></>\n}\n","import type { DataModel, Hook } from '@mcschema/core'\nimport { ModelPath, relativePath } from '@mcschema/core'\nimport type { BlockStateRegistry } from '../services'\n\nexport function getOutput(model: DataModel, blockStates: BlockStateRegistry): any {\n\treturn model.schema.hook(transformOutput, new ModelPath(model), model.data, { blockStates })\n}\n\nexport type OutputProps = {\n\tblockStates: BlockStateRegistry,\n}\nexport const transformOutput: Hook<[any, OutputProps], any> = {\n\tbase({}, _, value) {\n\t\treturn value\n\t},\n\n\tchoice({ switchNode }, path, value, props) {\n\t\treturn switchNode.hook(this, path, value, props)\n\t},\n\n\tlist({ children }, path, value, props) {\n\t\tif (!Array.isArray(value)) return value\n\t\tconst res = value.map((obj, index) =>\n\t\t\tchildren.hook(this, path.push(index), obj.node, props)\n\t\t)\n\t\tfor (const a of Object.getOwnPropertySymbols(value)) {\n\t\t\tres[a as any] = value[a as any]\n\t\t}\n\t\treturn res\n\t},\n\n\tmap({ children, config }, path, value, props) {\n\t\tif (value === undefined) return undefined\n\t\tconst blockState = config.validation?.validator === 'block_state_map'? props.blockStates?.[relativePath(path, config.validation.params.id).get()] : null\n\t\tconst res: any = {}\n\t\tObject.keys(value).forEach(f => {\n\t\t\tif (blockState) {\n\t\t\t\tif (!Object.keys(blockState.properties ?? {}).includes(f)) return\n\t\t\t}\n\t\t\tres[f] = children.hook(this, path.push(f), value[f], props)\n\t\t})\n\t\tfor (const a of Object.getOwnPropertySymbols(value)) {\n\t\t\tres[a as any] = value[a]\n\t\t}\n\t\treturn res\n\t},\n\n\tobject({ getActiveFields }, path, value, props) {\n\t\tif (value === undefined || value === null || typeof value !== 'object') {\n\t\t\treturn value\n\t\t}\n\t\tconst res: any = {}\n\t\tconst activeFields = getActiveFields(path)\n\t\tObject.keys(activeFields)\n\t\t\t.filter(k => activeFields[k].enabled(path))\n\t\t\t.forEach(f => {\n\t\t\t\tconst out = activeFields[f].hook(this, path.push(f), value[f], props)\n\t\t\t\tif (out !== undefined && out !== null) {\n\t\t\t\t\tres[f] = out\n\t\t\t\t}\n\t\t\t})\n\t\tfor (const a of Object.getOwnPropertySymbols(value)) {\n\t\t\tres[a as any] = value[a]\n\t\t}\n\t\treturn res\n\t},\n}\n","import { DataModel } from '@mcschema/core'\nimport yaml from 'js-yaml'\nimport { useCallback, useEffect, useRef, useState } from 'preact/hooks'\nimport { Btn, BtnMenu } from '..'\nimport { useLocale } from '../../contexts'\nimport { useModel } from '../../hooks'\nimport { getOutput } from '../../schema/transformOutput'\nimport type { BlockStateRegistry } from '../../services'\nimport { Store } from '../../Store'\nimport { message } from '../../Utils'\n\n\nconst INDENT: Record<string, number | string | undefined> = {\n\t'2_spaces': 2,\n\t'4_spaces': 4,\n\ttabs: '\\t',\n\tminified: undefined,\n}\n\nlet commentJson: typeof import('comment-json') | null = null\n\nconst FORMATS: Record<string, {\n\tparse: (v: string) => Promise<any>,\n\tstringify: (v: any, indentation: string | number | undefined) => string,\n}> = {\n\tjson: {\n\t\tparse: async (v) => {\n\t\t\ttry {\n\t\t\t\treturn JSON.parse(v)\n\t\t\t} catch (e) {\n\t\t\t\tcommentJson = await import('comment-json')\n\t\t\t\treturn commentJson.parse(v)\n\t\t\t}\n\t\t},\n\t\tstringify: (v, i) => (commentJson ?? JSON).stringify(v, null, i) + '\\n',\n\t},\n\tyaml: {\n\t\tparse: async (v) => yaml.load(v),\n\t\tstringify: (v, i) => yaml.dump(v, {\n\t\t\tflowLevel: i === undefined ? 0 : -1,\n\t\t\tindent: typeof i === 'string' ? 4 : i,\n\t\t}),\n\t},\n}\n\ninterface Editor {\n\tgetValue(): string\n\tsetValue(value: string): void\n\tconfigure(indent: string, format: string): void\n\tselect(): void\n}\n\ntype SourcePanelProps = {\n\tname: string,\n\tmodel: DataModel | undefined,\n\tblockStates: BlockStateRegistry | undefined,\n\tdoCopy?: number,\n\tdoDownload?: number,\n\tdoImport?: number,\n\tcopySuccess: () => unknown,\n\tonError: (message: string | Error) => unknown,\n}\nexport function SourcePanel({ name, model, blockStates, doCopy, doDownload, doImport, copySuccess, onError }: SourcePanelProps) {\n\tconst { locale } = useLocale()\n\tconst [indent, setIndent] = useState(Store.getIndent())\n\tconst [format, setFormat] = useState(Store.getFormat())\n\tconst [highlighting, setHighlighting] = useState(Store.getHighlighting())\n\tconst [braceLoaded, setBraceLoaded] = useState(false)\n\tconst download = useRef<HTMLAnchorElement>(null)\n\tconst retransform = useRef<Function>(() => {})\n\tconst onImport = useRef<() => Promise<void>>(async () => {})\n\n\tconst textarea = useRef<HTMLTextAreaElement>(null)\n\tconst editor = useRef<Editor>()\n\n\tconst getSerializedOutput = useCallback((model: DataModel, blockStates: BlockStateRegistry) => {\n\t\tconst data = getOutput(model, blockStates)\n\t\treturn FORMATS[format].stringify(data, INDENT[indent])\n\t}, [indent, format])\n\n\tuseEffect(() => {\n\t\tretransform.current = () => {\n\t\t\tif (!editor.current) return\n\t\t\tif (!model || !blockStates) return\n\t\t\ttry {\n\t\t\t\tconst output = getSerializedOutput(model, blockStates)\n\t\t\t\teditor.current.setValue(output)\n\t\t\t} catch (e) {\n\t\t\t\tif (e instanceof Error) {\n\t\t\t\t\te.message = `Error getting JSON output: ${e.message}`\n\t\t\t\t\tonError(e)\n\t\t\t\t} else {\n\t\t\t\t\tonError(`Error getting JSON output: ${message(e)}`)\n\t\t\t\t}\n\t\t\t\tconsole.error(e)\n\t\t\t\teditor.current.setValue('')\n\t\t\t}\n\t\t}\n\n\t\tonImport.current = async () => {\n\t\t\tif (!editor.current) return\n\t\t\tconst value = editor.current.getValue()\n\t\t\tif (value.length === 0) return\n\t\t\ttry {\n\t\t\t\tconst data = await FORMATS[format].parse(value)\n\t\t\t\tmodel?.reset(DataModel.wrapLists(data), false)\n\t\t\t} catch (e) {\n\t\t\t\tif (e instanceof Error) {\n\t\t\t\t\te.message = `Error importing: ${e.message}`\n\t\t\t\t\tonError(e)\n\t\t\t\t} else {\n\t\t\t\t\tonError(`Error importing: ${message(e)}`)\n\t\t\t\t}\n\t\t\t\tconsole.error(e)\n\t\t\t}\n\t\t}\n\t}, [model, blockStates, indent, format, highlighting])\n\n\tuseEffect(() => {\n\t\tif (highlighting) {\n\t\t\tsetBraceLoaded(false)\n\t\t\teditor.current = {\n\t\t\t\tgetValue() { return ''},\n\t\t\t\tsetValue() {},\n\t\t\t\tconfigure() {},\n\t\t\t\tselect() {},\n\t\t\t}\n\t\t\timport('brace').then(async (brace) => {\n\t\t\t\tawait Promise.all([\n\t\t\t\t\timport('brace/mode/json'),\n\t\t\t\t\timport('brace/mode/yaml'),\n\t\t\t\t])\n\t\t\t\tconst braceEditor = brace.edit('editor')\n\t\t\t\tbraceEditor.setOptions({\n\t\t\t\t\tfontSize: 14,\n\t\t\t\t\tshowFoldWidgets: false,\n\t\t\t\t\thighlightSelectedWord: false,\n\t\t\t\t})\n\t\t\t\tbraceEditor.$blockScrolling = Infinity\n\t\t\t\tbraceEditor.on('blur', () => onImport.current())\n\t\t\t\tbraceEditor.getSession().setMode('ace/mode/json')\n\n\t\t\t\teditor.current = {\n\t\t\t\t\tgetValue() {\n\t\t\t\t\t\treturn braceEditor.getSession().getValue()\n\t\t\t\t\t},\n\t\t\t\t\tsetValue(value) {\n\t\t\t\t\t\tbraceEditor.getSession().setValue(value)\n\t\t\t\t\t},\n\t\t\t\t\tconfigure(indent, format) {\n\t\t\t\t\t\tbraceEditor.setOption('useSoftTabs', indent !== 'tabs')\n\t\t\t\t\t\tbraceEditor.setOption('tabSize', indent === 'tabs' ? 4 : INDENT[indent])\n\t\t\t\t\t\tbraceEditor.getSession().setMode(`ace/mode/${format}`)\n\t\t\t\t\t},\n\t\t\t\t\tselect() {\n\t\t\t\t\t\tbraceEditor.selectAll()\n\t\t\t\t\t},\n\t\t\t\t}\n\t\t\t\tsetBraceLoaded(true)\n\t\t\t})\n\t\t} else {\n\t\t\teditor.current = {\n\t\t\t\tgetValue() {\n\t\t\t\t\tif (!textarea.current) return ''\n\t\t\t\t\treturn textarea.current.value\n\t\t\t\t},\n\t\t\t\tsetValue(value: string) {\n\t\t\t\t\tif (!textarea.current) return\n\t\t\t\t\ttextarea.current.value = value\n\t\t\t\t},\n\t\t\t\tconfigure() {},\n\t\t\t\tselect() {},\n\t\t\t}\n\t\t}\n\t}, [highlighting])\n\n\tuseModel(model, () => {\n\t\tif (!retransform.current) return\n\t\tretransform.current()\n\t})\n\tuseEffect(() => {\n\t\tif (!retransform.current) return\n\t\tif (model) retransform.current()\n\t}, [model])\n\n\tuseEffect(() => {\n\t\tif (!editor.current || !retransform.current) return\n\t\tif (!highlighting || braceLoaded) {\n\t\t\teditor.current.configure(indent, format)\n\t\t\tretransform.current()\n\t\t}\n\t}, [indent, format, highlighting, braceLoaded])\n\n\tuseEffect(() => {\n\t\tif (doCopy && model && blockStates) {\n\t\t\tnavigator.clipboard.writeText(getSerializedOutput(model, blockStates)).then(() => {\n\t\t\t\tcopySuccess()\n\t\t\t})\n\t\t}\n\t}, [doCopy])\n\n\tuseEffect(() => {\n\t\tif (doDownload && model && blockStates && download.current) {\n\t\t\tconst content = encodeURIComponent(getSerializedOutput(model, blockStates))\n\t\t\tdownload.current.setAttribute('href', `data:text/json;charset=utf-8,${content}`)\n\t\t\tdownload.current.setAttribute('download', `${name}.${format}`)\n\t\t\tdownload.current.click()\n\t\t}\n\t}, [doDownload])\n\n\tuseEffect(() => {\n\t\tif (doImport && editor.current) {\n\t\t\teditor.current.setValue('')\n\t\t\teditor.current.select()\n\t\t}\n\t}, [doImport])\n\n\tconst changeIndent = (value: string) => {\n\t\tStore.setIndent(value)\n\t\tsetIndent(value)\n\t}\n\n\tconst changeFormat = (value: string) => {\n\t\tStore.setFormat(value)\n\t\tsetFormat(value)\n\t}\n\n\tconst changeHighlighting = (value: boolean) => {\n\t\tStore.setHighlighting(value)\n\t\tsetHighlighting(value)\n\t}\n\n\treturn <> \n\t\t<div class=\"controls source-controls\">\n\t\t\t<BtnMenu icon=\"gear\" tooltip={locale('output_settings')} data-cy=\"source-controls\">\n\t\t\t\t{Object.entries(INDENT).map(([key]) =>\n\t\t\t\t\t<Btn label={locale(`indentation.${key}`)} active={indent === key}\n\t\t\t\t\t\tonClick={() => changeIndent(key)}/>\n\t\t\t\t)}\n\t\t\t\t<hr />\n\t\t\t\t{Object.keys(FORMATS).map(key =>\n\t\t\t\t\t<Btn label={locale(`format.${key}`)} active={format === key}\n\t\t\t\t\t\tonClick={() => changeFormat(key)} />)}\n\t\t\t\t<hr />\n\t\t\t\t<Btn icon={highlighting ? 'square_fill' : 'square'} label={locale('highlighting')}\n\t\t\t\t\tonClick={() => changeHighlighting(!highlighting)} />\n\t\t\t</BtnMenu>\n\t\t</div>\n\t\t{highlighting\n\t\t\t? <pre id=\"editor\" class=\"source\"></pre>\n\t\t\t: <textarea ref={textarea} class=\"source\" spellcheck={false} autocorrect=\"off\" onBlur={onImport.current}></textarea>}\n\t\t<a ref={download} style=\"display: none;\"></a>\n\t</>\n}\n","import{useState as n,useReducer as t,useEffect as e,useLayoutEffect as r,useRef as u,useImperativeHandle as o,useMemo as i,useCallback as l,useContext as f,useDebugValue as c}from\"preact/hooks\";export*from\"preact/hooks\";import{Component as a,createElement as s,options as h,toChildArray as p,Fragment as v,render as d,hydrate as m,cloneElement as y,createRef as b,createContext as _}from\"preact\";export{createElement,createContext,createRef,Fragment,Component}from\"preact\";function C(n,t){for(var e in t)n[e]=t[e];return n}function S(n,t){for(var e in n)if(\"__source\"!==e&&!(e in t))return!0;for(var r in t)if(\"__source\"!==r&&n[r]!==t[r])return!0;return!1}function E(n){this.props=n}function g(n,t){function e(n){var e=this.props.ref,r=e==n.ref;return!r&&e&&(e.call?e(null):e.current=null),t?!t(this.props,n)||!r:S(this.props,n)}function r(t){return this.shouldComponentUpdate=e,s(n,t)}return r.displayName=\"Memo(\"+(n.displayName||n.name)+\")\",r.prototype.isReactComponent=!0,r.__f=!0,r}(E.prototype=new a).isPureReactComponent=!0,E.prototype.shouldComponentUpdate=function(n,t){return S(this.props,n)||S(this.state,t)};var w=h.__b;h.__b=function(n){n.type&&n.type.__f&&n.ref&&(n.props.ref=n.ref,n.ref=null),w&&w(n)};var R=\"undefined\"!=typeof Symbol&&Symbol.for&&Symbol.for(\"react.forward_ref\")||3911;function x(n){function t(t,e){var r=C({},t);return delete r.ref,n(r,(e=t.ref||e)&&(\"object\"!=typeof e||\"current\"in e)?e:null)}return t.$$typeof=R,t.render=t,t.prototype.isReactComponent=t.__f=!0,t.displayName=\"ForwardRef(\"+(n.displayName||n.name)+\")\",t}var N=function(n,t){return null==n?null:p(p(n).map(t))},k={map:N,forEach:N,count:function(n){return n?p(n).length:0},only:function(n){var t=p(n);if(1!==t.length)throw\"Children.only\";return t[0]},toArray:p},A=h.__e;h.__e=function(n,t,e){if(n.then)for(var r,u=t;u=u.__;)if((r=u.__c)&&r.__c)return null==t.__e&&(t.__e=e.__e,t.__k=e.__k),r.__c(n,t);A(n,t,e)};var O=h.unmount;function L(){this.__u=0,this.t=null,this.__b=null}function U(n){var t=n.__.__c;return t&&t.__e&&t.__e(n)}function D(n){var t,e,r;function u(u){if(t||(t=n()).then(function(n){e=n.default||n},function(n){r=n}),r)throw r;if(!e)throw t;return s(e,u)}return u.displayName=\"Lazy\",u.__f=!0,u}function F(){this.u=null,this.o=null}h.unmount=function(n){var t=n.__c;t&&t.__R&&t.__R(),t&&!0===n.__h&&(n.type=null),O&&O(n)},(L.prototype=new a).__c=function(n,t){var e=t.__c,r=this;null==r.t&&(r.t=[]),r.t.push(e);var u=U(r.__v),o=!1,i=function(){o||(o=!0,e.__R=null,u?u(l):l())};e.__R=i;var l=function(){if(!--r.__u){if(r.state.__e){var n=r.state.__e;r.__v.__k[0]=function n(t,e,r){return t&&(t.__v=null,t.__k=t.__k&&t.__k.map(function(t){return n(t,e,r)}),t.__c&&t.__c.__P===e&&(t.__e&&r.insertBefore(t.__e,t.__d),t.__c.__e=!0,t.__c.__P=r)),t}(n,n.__c.__P,n.__c.__O)}var t;for(r.setState({__e:r.__b=null});t=r.t.pop();)t.forceUpdate()}},f=!0===t.__h;r.__u++||f||r.setState({__e:r.__b=r.__v.__k[0]}),n.then(i,i)},L.prototype.componentWillUnmount=function(){this.t=[]},L.prototype.render=function(n,t){if(this.__b){if(this.__v.__k){var e=document.createElement(\"div\"),r=this.__v.__k[0].__c;this.__v.__k[0]=function n(t,e,r){return t&&(t.__c&&t.__c.__H&&(t.__c.__H.__.forEach(function(n){\"function\"==typeof n.__c&&n.__c()}),t.__c.__H=null),null!=(t=C({},t)).__c&&(t.__c.__P===r&&(t.__c.__P=e),t.__c=null),t.__k=t.__k&&t.__k.map(function(t){return n(t,e,r)})),t}(this.__b,e,r.__O=r.__P)}this.__b=null}var u=t.__e&&s(v,null,n.fallback);return u&&(u.__h=null),[s(v,null,t.__e?null:n.children),u]};var M=function(n,t,e){if(++e[1]===e[0]&&n.o.delete(t),n.props.revealOrder&&(\"t\"!==n.props.revealOrder[0]||!n.o.size))for(e=n.u;e;){for(;e.length>3;)e.pop()();if(e[1]<e[0])break;n.u=e=e[2]}};function T(n){return this.getChildContext=function(){return n.context},n.children}function j(n){var t=this,e=n.i;t.componentWillUnmount=function(){d(null,t.l),t.l=null,t.i=null},t.i&&t.i!==e&&t.componentWillUnmount(),n.__v?(t.l||(t.i=e,t.l={nodeType:1,parentNode:e,childNodes:[],appendChild:function(n){this.childNodes.push(n),t.i.appendChild(n)},insertBefore:function(n,e){this.childNodes.push(n),t.i.appendChild(n)},removeChild:function(n){this.childNodes.splice(this.childNodes.indexOf(n)>>>1,1),t.i.removeChild(n)}}),d(s(T,{context:t.context},n.__v),t.l)):t.l&&t.componentWillUnmount()}function I(n,t){return s(j,{__v:n,i:t})}(F.prototype=new a).__e=function(n){var t=this,e=U(t.__v),r=t.o.get(n);return r[0]++,function(u){var o=function(){t.props.revealOrder?(r.push(u),M(t,n,r)):u()};e?e(o):o()}},F.prototype.render=function(n){this.u=null,this.o=new Map;var t=p(n.children);n.revealOrder&&\"b\"===n.revealOrder[0]&&t.reverse();for(var e=t.length;e--;)this.o.set(t[e],this.u=[1,0,this.u]);return n.children},F.prototype.componentDidUpdate=F.prototype.componentDidMount=function(){var n=this;this.o.forEach(function(t,e){M(n,e,t)})};var W=\"undefined\"!=typeof Symbol&&Symbol.for&&Symbol.for(\"react.element\")||60103,P=/^(?:accent|alignment|arabic|baseline|cap|clip(?!PathU)|color|fill|flood|font|glyph(?!R)|horiz|marker(?!H|W|U)|overline|paint|stop|strikethrough|stroke|text(?!L)|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/,V=function(n){return(\"undefined\"!=typeof Symbol&&\"symbol\"==typeof Symbol()?/fil|che|rad/i:/fil|che|ra/i).test(n)};function z(n,t,e){return null==t.__k&&(t.textContent=\"\"),d(n,t),\"function\"==typeof e&&e(),n?n.__c:null}function B(n,t,e){return m(n,t),\"function\"==typeof e&&e(),n?n.__c:null}a.prototype.isReactComponent={},[\"componentWillMount\",\"componentWillReceiveProps\",\"componentWillUpdate\"].forEach(function(n){Object.defineProperty(a.prototype,n,{configurable:!0,get:function(){return this[\"UNSAFE_\"+n]},set:function(t){Object.defineProperty(this,n,{configurable:!0,writable:!0,value:t})}})});var H=h.event;function Z(){}function Y(){return this.cancelBubble}function $(){return this.defaultPrevented}h.event=function(n){return H&&(n=H(n)),n.persist=Z,n.isPropagationStopped=Y,n.isDefaultPrevented=$,n.nativeEvent=n};var q,G={configurable:!0,get:function(){return this.class}},J=h.vnode;h.vnode=function(n){var t=n.type,e=n.props,r=e;if(\"string\"==typeof t){for(var u in r={},e){var o=e[u];\"value\"===u&&\"defaultValue\"in e&&null==o||(\"defaultValue\"===u&&\"value\"in e&&null==e.value?u=\"value\":\"download\"===u&&!0===o?o=\"\":/ondoubleclick/i.test(u)?u=\"ondblclick\":/^onchange(textarea|input)/i.test(u+t)&&!V(e.type)?u=\"oninput\":/^on(Ani|Tra|Tou|BeforeInp)/.test(u)?u=u.toLowerCase():P.test(u)?u=u.replace(/[A-Z0-9]/,\"-$&\").toLowerCase():null===o&&(o=void 0),r[u]=o)}\"select\"==t&&r.multiple&&Array.isArray(r.value)&&(r.value=p(e.children).forEach(function(n){n.props.selected=-1!=r.value.indexOf(n.props.value)})),\"select\"==t&&null!=r.defaultValue&&(r.value=p(e.children).forEach(function(n){n.props.selected=r.multiple?-1!=r.defaultValue.indexOf(n.props.value):r.defaultValue==n.props.value})),n.props=r}t&&e.class!=e.className&&(G.enumerable=\"className\"in e,null!=e.className&&(r.class=e.className),Object.defineProperty(r,\"className\",G)),n.$$typeof=W,J&&J(n)};var K=h.__r;h.__r=function(n){K&&K(n),q=n.__c};var Q={ReactCurrentDispatcher:{current:{readContext:function(n){return q.__n[n.__c].props.value}}}},X=1,nn=2,tn=3,en=4,rn=5;function un(n,t){return t()}var on=\"object\"==typeof performance&&\"function\"==typeof performance.now?performance.now.bind(performance):function(){return Date.now()},ln=\"16.8.0\";function fn(n){return s.bind(null,n)}function cn(n){return!!n&&n.$$typeof===W}function an(n){return cn(n)?y.apply(null,arguments):n}function sn(n){return!!n.__k&&(d(null,n),!0)}function hn(n){return n&&(n.base||1===n.nodeType&&n)||null}var pn=function(n,t){return n(t)},vn=v;export default{useState:n,useReducer:t,useEffect:e,useLayoutEffect:r,useRef:u,useImperativeHandle:o,useMemo:i,useCallback:l,useContext:f,useDebugValue:c,version:\"16.8.0\",Children:k,render:z,hydrate:B,unmountComponentAtNode:sn,createPortal:I,createElement:s,createContext:_,createFactory:fn,cloneElement:an,createRef:b,Fragment:v,isValidElement:cn,findDOMNode:hn,Component:a,PureComponent:E,memo:g,forwardRef:x,unstable_batchedUpdates:pn,StrictMode:v,Suspense:L,SuspenseList:F,lazy:D,__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:Q};export{ln as version,k as Children,z as render,B as hydrate,sn as unmountComponentAtNode,I as createPortal,fn as createFactory,an as cloneElement,cn as isValidElement,hn as findDOMNode,E as PureComponent,g as memo,x as forwardRef,pn as unstable_batchedUpdates,vn as StrictMode,L as Suspense,F as SuspenseList,D as lazy,Q as __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,X as unstable_ImmediatePriority,nn as unstable_UserBlockingPriority,tn as unstable_NormalPriority,en as unstable_LowPriority,rn as unstable_IdlePriority,un as unstable_runWithPriority,on as unstable_now};\n//# sourceMappingURL=compat.module.js.map\n","import type { INode, Path } from '@mcschema/core'\nimport { DataModel } from '@mcschema/core'\n\nexport class ModelWrapper extends DataModel {\n\tconstructor(\n\t\tschema: INode<any>,\n\t\tprivate readonly mapper: (path: Path) => Path,\n\t\tprivate readonly getter: (path: Path) => any,\n\t\tprivate readonly setter: (path: Path, value: any, silent?: boolean) => any,\n\t) {\n\t\tsuper(schema)\n\t}\n\n\tmap(path: Path) {\n\t\treturn this.mapper(path)\n\t}\n\n\tget(path: Path) {\n\t\treturn this.getter(path)\n\t}\n\n\tset(path: Path, value: any, silent?: boolean) {\n\t\treturn this.setter(path, value, silent)\n\t}\n}\n","import type { BooleanHookParams, EnumOption, Hook, INode, NodeChildren, NumberHookParams, StringHookParams, ValidationOption } from '@mcschema/core'\nimport { DataModel, ListNode, MapNode, ModelPath, ObjectNode, Path, relativePath, StringNode } from '@mcschema/core'\nimport type { ComponentChildren, JSX } from 'preact'\nimport { memo } from 'preact/compat'\nimport { useState } from 'preact/hooks'\nimport config from '../../config.json'\nimport { Btn, Octicon } from '../components'\nimport { localize } from '../contexts'\nimport { useFocus } from '../hooks'\nimport type { BlockStateRegistry, VersionId } from '../services'\nimport { CachedDecorator, CachedFeature } from '../services'\nimport { deepClone, deepEqual, hexId, isObject, newSeed } from '../Utils'\nimport { ModelWrapper } from './ModelWrapper'\n\nconst selectRegistries = ['loot_table.type', 'loot_entry.type', 'function.function', 'condition.condition', 'criterion.trigger', 'recipe.type', 'dimension.generator.type', 'dimension.generator.biome_source.type', 'dimension.generator.biome_source.preset', 'carver.type', 'feature.type', 'decorator.type', 'feature.tree.minimum_size.type', 'block_state_provider.type', 'trunk_placer.type', 'foliage_placer.type', 'tree_decorator.type', 'int_provider.type', 'float_provider.type', 'height_provider.type', 'structure_feature.type', 'surface_builder.type', 'processor.processor_type', 'rule_test.predicate_type', 'pos_rule_test.predicate_type', 'template_element.element_type', 'block_placer.type', 'block_predicate.type', 'material_rule.type', 'material_condition.type', 'structure_placement.type', 'density_function.type', 'root_placer.type', 'entity.type_specific.cat.variant', 'entity.type_specific.frog.variant']\nconst hiddenFields = ['number_provider.type', 'score_provider.type', 'nbt_provider.type', 'int_provider.type', 'float_provider.type', 'height_provider.type']\nconst flattenedFields = ['feature.config', 'decorator.config', 'int_provider.value', 'float_provider.value', 'block_state_provider.simple_state_provider.state', 'block_state_provider.rotated_block_provider.state', 'block_state_provider.weighted_state_provider.entries.entry.data', 'rule_test.block_state', 'structure_feature.config', 'surface_builder.config', 'template_pool.elements.entry.element', 'decorator.block_survives_filter.state', 'material_rule.block.result_state']\nconst inlineFields = ['loot_entry.type', 'function.function', 'condition.condition', 'criterion.trigger', 'dimension.generator.type', 'dimension.generator.biome_source.type', 'feature.type', 'decorator.type', 'block_state_provider.type', 'feature.tree.minimum_size.type', 'trunk_placer.type', 'foliage_placer.type', 'tree_decorator.type', 'block_placer.type', 'rule_test.predicate_type', 'processor.processor_type', 'template_element.element_type', 'nbt_operation.op', 'number_provider.value', 'score_provider.name', 'score_provider.target', 'nbt_provider.source', 'nbt_provider.target', 'generator_biome.biome', 'block_predicate.type', 'material_rule.type', 'material_condition.type', 'density_function.type', 'root_placer.type', 'entity.type_specific.type']\nconst nbtFields = ['function.set_nbt.tag', 'advancement.display.icon.nbt', 'text_component_object.nbt', 'entity.nbt', 'block.nbt', 'item.nbt']\nconst fixedLists = ['generator_biome.parameters.temperature', 'generator_biome.parameters.humidity', 'generator_biome.parameters.continentalness', 'generator_biome.parameters.erosion', 'generator_biome.parameters.depth', 'generator_biome.parameters.weirdness', 'feature.end_spike.crystal_beam_target', 'feature.end_gateway.exit', 'decorator.block_filter.offset', 'block_predicate.matching_blocks.offset', 'block_predicate.matching_fluids.offset', 'model_element.from', 'model_element.to', 'model_element.rotation.origin', 'model_element.faces.uv', 'item_transform.rotation', 'item_transform.translation', 'item_transform.scale', 'generator_structure.random_spread.locate_offset']\nconst collapsedFields = ['noise_settings.surface_rule', 'noise_settings.noise.terrain_shaper']\nconst collapsableFields = ['density_function.argument', 'density_function.argument1', 'density_function.argument2', 'density_function.input', 'density_function.when_in_range', 'density_function.when_out_of_range']\n\nconst findGenerator = (id: string) => {\n\treturn config.generators.find(g => g.id === id.replace(/^\\$/, ''))\n}\n\n/**\n * Secondary model used to remember the keys of a map\n */\nconst keysModel = new DataModel(MapNode(\n\tStringNode(),\n\tStringNode()\n), { historyMax: 0 })\n\ntype JSXTriple = [JSX.Element | null, JSX.Element | null, JSX.Element | null]\ntype RenderHook = Hook<[any, string, VersionId, BlockStateRegistry, Record<string, any>], JSXTriple>\n\ntype NodeProps<T> = T & {\n\tnode: INode<any>,\n\tpath: ModelPath,\n\tvalue: any,\n\tlang: string,\n\tversion: VersionId,\n\tstates: BlockStateRegistry,\n\tctx: Record<string, any>,\n}\n\nexport function FullNode({ model, lang, version, blockStates }: { model: DataModel, lang: string, version: VersionId, blockStates: BlockStateRegistry }) {\n\tconst path = new ModelPath(model)\n\tconst [prefix, suffix, body] = model.schema.hook(renderHtml, path, deepClone(model.data), lang, version, blockStates, {})\n\treturn suffix?.props?.children.some((c: any) => c) ? <div class={`node ${model.schema.type(path)}-node`} data-category={model.schema.category(path)}>\n\t\t<div class=\"node-header\">{prefix}{suffix}</div>\n\t\t<div class=\"node-body\">{body}</div>\n\t</div> : body\n}\n\nconst renderHtml: RenderHook = {\n\tbase() {\n\t\treturn [null, null, null]\n\t},\n\n\tboolean(params, path, value, lang, version, states, ctx) {\n\t\treturn [null, <BooleanSuffix {...{...params, path, value, lang, version, states, ctx}} />, null]\n\t},\n\n\tchoice({ choices, config, switchNode }, path, value, lang, version, states, ctx) {\n\t\tconst choice = switchNode.activeCase(path, true) as typeof choices[number]\n\t\tconst contextPath = (config?.context) ? new ModelPath(path.getModel(), new Path(path.getArray(), [config.context])) : path\n\t\tconst [prefix, suffix, body] = choice.node.hook(this, contextPath, value, lang, version, states, ctx)\n\t\tif (choices.length === 1) {\n\t\t\treturn [prefix, suffix, body]\n\t\t}\n\t\tconst choiceContextPath = config?.choiceContext ? new Path([], [config.choiceContext]) : config?.context ? new Path([], [config.context]) : path\n\t\tconst set = (type: string) => {\n\t\t\tconst c = choices.find(c => c.type === type) ?? choice\n\t\t\tconst def = c.node.default()\n\t\t\tconst newValue = c.change\n\t\t\t\t? c.change(DataModel.unwrapLists(value))\n\t\t\t\t: config.choiceContext === 'feature' && def?.type === 'minecraft:decorated' ? def.config.feature : def\n\t\t\tpath.model.set(path, DataModel.wrapLists(newValue))\n\t\t}\n\t\tconst inject = <select value={choice.type} onChange={(e) => set((e.target as HTMLSelectElement).value)}>\n\t\t\t{choices.map(c => <option value={c.type}>\n\t\t\t\t{pathLocale(lang, choiceContextPath.contextPush(c.type))}\n\t\t\t</option>)}\n\t\t</select>\n\t\treturn [prefix, <>{inject}{suffix}</>, body]\n\t},\n\n\tlist({ children, config }, path, value, lang, version, states, ctx) {\n\t\tconst { expand, collapse, isToggled } = useToggles()\n\t\tconst [maxShown, setMaxShown] = useState(50)\n\n\t\tconst context = path.getContext().join('.')\n\t\tif (fixedLists.includes(context)) {\n\t\t\tconst prefix = <>\n\t\t\t\t{[...Array(config.maxLength!)].map((_, i) =>\n\t\t\t\t\t<ErrorPopup lang={lang} path={path.modelPush(i)} />)}\n\t\t\t\t<div class=\"fixed-list\"></div>\n\t\t\t</>\n\t\t\tconst suffix = <>{[...Array(config.maxLength)].map((_, i) => {\n\t\t\t\tconst child = children.hook(this, path.modelPush(i), value?.[i]?.node, lang, version, states, ctx)\n\t\t\t\treturn child[1]\n\t\t\t})}</>\n\t\t\treturn [prefix, suffix, null]\n\t\t}\n\n\t\tconst onAdd = () => {\n\t\t\tif (!Array.isArray(value)) value = []\n\t\t\tconst node = DataModel.wrapLists(children.default())\n\t\t\tpath.model.set(path, [{ node, id: hexId() }, ...value])\n\t\t}\n\t\tconst onAddBottom = () => {\n\t\t\tif (!Array.isArray(value)) value = []\n\t\t\tconst node = DataModel.wrapLists(children.default())\n\t\t\tpath.model.set(path, [...value, { node, id: hexId() }])\n\t\t}\n\t\tconst suffix = <button class=\"add tooltipped tip-se\" aria-label={localize(lang, 'add_top')} onClick={onAdd}>{Octicon.plus_circle}</button>\n\t\tconst body = <>\n\t\t\t{(value && Array.isArray(value)) && value.map(({ node: cValue, id: cId }, index) => {\n\t\t\t\tif (index === maxShown) {\n\t\t\t\t\treturn <div class=\"node node-header\">\n\t\t\t\t\t\t<label>{localize(lang, 'entries_hidden', `${value.length - maxShown}`)}</label>\n\t\t\t\t\t\t<button onClick={() => setMaxShown(Math.min(maxShown + 50, value.length))}>{localize(lang, 'entries_hidden.more', '50')}</button>\n\t\t\t\t\t\t<button onClick={() => setMaxShown(value.length)}>{localize(lang, 'entries_hidden.all')}</button>\n\t\t\t\t\t</div>\n\t\t\t\t}\n\t\t\t\tif (index > maxShown) {\n\t\t\t\t\treturn null\n\t\t\t\t}\n\n\t\t\t\tconst cPath = path.push(index).contextPush('entry')\n\t\t\t\tconst canToggle = children.type(cPath) === 'object'\n\t\t\t\tconst toggle = isToggled(cId)\n\t\t\t\tif (canToggle && (toggle === false || (toggle === undefined && value.length > 20))) {\n\t\t\t\t\treturn <div class=\"node node-header\" data-category={children.category(cPath)}>\n\t\t\t\t\t\t<ErrorPopup lang={lang} path={cPath} nested />\n\t\t\t\t\t\t<button class=\"toggle tooltipped tip-se\" aria-label={`${localize(lang, 'expand')}\\n${localize(lang, 'expand_all', 'Ctrl')}`} onClick={expand(cId)}>{Octicon.chevron_right}</button>\n\t\t\t\t\t\t<label>{pathLocale(lang, cPath, `${index}`)}</label>\n\t\t\t\t\t\t<Collapsed key={cId} path={cPath} value={cValue} schema={children} />\n\t\t\t\t\t</div>\n\t\t\t\t}\n\n\t\t\t\tconst onRemove = () => cPath.set(undefined)\n\t\t\t\tconst onMoveUp = () => {\n\t\t\t\t\tconst v = [...path.get()];\n\t\t\t\t\t[v[index - 1], v[index]] = [v[index], v[index - 1]]\n\t\t\t\t\tpath.model.set(path, v)\n\t\t\t\t}\n\t\t\t\tconst onMoveDown = () => {\n\t\t\t\t\tconst v = [...path.get()];\n\t\t\t\t\t[v[index + 1], v[index]] = [v[index], v[index + 1]]\n\t\t\t\t\tpath.model.set(path, v)\n\t\t\t\t}\n\t\t\t\tconst actions: MenuAction[] = [\n\t\t\t\t\t{\n\t\t\t\t\t\ticon: 'duplicate',\n\t\t\t\t\t\tlabel: 'duplicate',\n\t\t\t\t\t\tonSelect: () => {\n\t\t\t\t\t\t\tconst v = [...path.get()]\n\t\t\t\t\t\t\tv.splice(index, 0, { id: hexId(), node: deepClone(cValue) })\n\t\t\t\t\t\t\tpath.model.set(path, v)\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t]\n\t\t\t\treturn <MemoedTreeNode key={cId} path={cPath} schema={children} value={cValue} {...{lang, version, states, actions}} ctx={{...ctx, index: (index === 0 ? 1 : 0) + (index === value.length - 1 ? 2 : 0)}}>\n\t\t\t\t\t{canToggle && <button class=\"toggle tooltipped tip-se\" aria-label={`${localize(lang, 'collapse')}\\n${localize(lang, 'collapse_all', 'Ctrl')}`} onClick={collapse(cId)}>{Octicon.chevron_down}</button>}\n\t\t\t\t\t<button class=\"remove tooltipped tip-se\" aria-label={localize(lang, 'remove')} onClick={onRemove}>{Octicon.trashcan}</button>\n\t\t\t\t\t{value.length > 1 && <div class=\"node-move\">\n\t\t\t\t\t\t<button class=\"move tooltipped tip-se\" aria-label={localize(lang, 'move_up')} onClick={onMoveUp} disabled={index === 0}>{Octicon.chevron_up}</button>\n\t\t\t\t\t\t<button class=\"move tooltipped tip-se\" aria-label={localize(lang, 'move_down')} onClick={onMoveDown} disabled={index === value.length - 1}>{Octicon.chevron_down}</button>\n\t\t\t\t\t</div>}\n\t\t\t\t</MemoedTreeNode>\n\t\t\t})}\n\t\t\t{(value && value.length > 0 && value.length <= maxShown) && <div class=\"node node-header\">\n\t\t\t\t<button class=\"add tooltipped tip-se\" aria-label={localize(lang, 'add_bottom')} onClick={onAddBottom}>{Octicon.plus_circle}</button>\n\t\t\t</div>}\n\t\t</>\n\t\treturn [null, suffix, body]\n\t},\n\n\tmap({ children, keys, config }, path, value, lang, version, states, ctx) {\n\t\tconst { expand, collapse, isToggled } = useToggles()\n\n\t\tconst keyPath = new ModelPath(keysModel, new Path([hashString(path.toString())]))\n\t\tconst onAdd = () => {\n\t\t\tconst key = keyPath.get()\n\t\t\tpath.model.set(path.push(key), DataModel.wrapLists(children.default()))\n\t\t}\n\t\tconst blockState = config.validation?.validator === 'block_state_map' ? states?.[relativePath(path, config.validation.params.id).get()] : null\n\t\tconst keysSchema = blockState?.properties\n\t\t\t? StringNode(null!, { enum: Object.keys(blockState.properties ?? {}) })\n\t\t\t: keys\n\t\tif (blockState && path.last() === 'Properties') {\n\t\t\tif (typeof value !== 'object') value = {}\n\t\t\tconst properties = Object.entries(blockState.properties ?? {})\n\t\t\t\t.map(([key, values]) => [key, StringNode(null!, { enum: values })])\n\t\t\tObject.entries(blockState.properties ?? {}).forEach(([key, values]) => {\n\t\t\t\tif (typeof value[key] !== 'string') {\n\t\t\t\t\tpath.model.errors.add(path.push(key), 'error.expected_string')\n\t\t\t\t} else if (!values.includes(value[key])) {\n\t\t\t\t\tpath.model.errors.add(path.push(key), 'error.invalid_enum_option', value[key])\n\t\t\t\t}\n\t\t\t})\n\t\t\treturn ObjectNode(Object.fromEntries(properties)).hook(this, path, value, lang, version, states, ctx)\n\t\t}\n\t\tconst suffix = <>\n\t\t\t{keysSchema.hook(this, keyPath, keyPath.get() ?? '', lang, version, states, ctx)[1]}\n\t\t\t<button class=\"add tooltipped tip-se\" aria-label={localize(lang, 'add')} onClick={onAdd}>{Octicon.plus_circle}</button>\n\t\t</>\n\t\tconst body = <>\n\t\t\t{typeof value === 'object' && Object.entries(value).map(([key, cValue]) => {\n\n\t\t\t\tconst cPath = path.modelPush(key)\n\t\t\t\tconst canToggle = children.type(cPath) === 'object'\n\t\t\t\tconst toggle = isToggled(key)\n\t\t\t\tif (canToggle && (toggle === false || (toggle === undefined && value.length > 20))) {\n\t\t\t\t\treturn <div class=\"node node-header\" data-category={children.category(cPath)}>\n\t\t\t\t\t\t<ErrorPopup lang={lang} path={cPath} nested />\n\t\t\t\t\t\t<button class=\"toggle tooltipped tip-se\" aria-label={`${localize(lang, 'expand')}\\n${localize(lang, 'expand_all', 'Ctrl')}`} onClick={expand(key)}>{Octicon.chevron_right}</button>\n\t\t\t\t\t\t<label>{key}</label>\n\t\t\t\t\t\t<Collapsed key={key} path={cPath} value={cValue} schema={children} />\n\t\t\t\t\t</div>\n\t\t\t\t}\n\t\t\t\tconst cSchema = blockState\n\t\t\t\t\t? StringNode(null!, { enum: blockState.properties?.[key] ?? [] })\n\t\t\t\t\t: children\n\t\t\t\tif (blockState?.properties?.[key] && typeof cValue === 'string'\n\t\t\t\t\t&& !blockState.properties?.[key].includes(cValue)) {\n\t\t\t\t\tpath.model.errors.add(cPath, 'error.invalid_enum_option', cValue)\n\t\t\t\t}\n\t\t\t\tconst onRemove = () => cPath.set(undefined)\n\t\t\t\treturn <MemoedTreeNode key={key} schema={cSchema} path={cPath} value={cValue} {...{lang, version, states, ctx}} label={key}>\n\t\t\t\t\t{canToggle && <button class=\"toggle tooltipped tip-se\" aria-label={`${localize(lang, 'collapse')}\\n${localize(lang, 'collapse_all', 'Ctrl')}`} onClick={collapse(key)}>{Octicon.chevron_down}</button>}\n\t\t\t\t\t<button class=\"remove tooltipped tip-se\" aria-label={localize(lang, 'remove')} onClick={onRemove}>{Octicon.trashcan}</button>\n\t\t\t\t</MemoedTreeNode>\n\t\t\t})}\n\t\t</>\n\t\treturn [null, suffix, body]\n\t},\n\n\tnumber(params, path, value, lang, version, states, ctx) {\n\t\treturn [null, <NumberSuffix {...{...params, path, value, lang, version, states, ctx}} />, null]\n\t},\n\n\tobject({ node, config, getActiveFields, getChildModelPath }, path, value, lang, version, states, ctx) {\n\t\tconst { expand, collapse, isToggled } = useToggles()\n\n\t\tif (path.getArray().length == 0 && isDecorated(config.context, value)) {\n\t\t\tconst { wrapper, fields } = createDecoratorsWrapper(getActiveFields(path), path, value)\n\t\t\tvalue = wrapper.data\n\t\t\tgetActiveFields = () => fields\n\t\t\tgetChildModelPath = (path, key) => new ModelPath(wrapper, new Path(path.getArray(), ['feature'])).push(key)\n\t\t}\n\n\t\tlet prefix: JSX.Element | null = null\n\t\tlet suffix: JSX.Element | null = null\n\t\tif (node.optional()) {\n\t\t\tif (value === undefined) {\n\t\t\t\tconst onExpand = () => path.set(DataModel.wrapLists(node.default()))\n\t\t\t\tsuffix = <button class=\"collapse closed tooltipped tip-se\" aria-label={localize(lang, 'expand')} onClick={onExpand}>{Octicon.plus_circle}</button>\n\t\t\t} else {\n\t\t\t\tconst onCollapse = () => path.set(undefined)\n\t\t\t\tsuffix = <button class=\"collapse open tooltipped tip-se\" aria-label={localize(lang, 'remove')} onClick={onCollapse}>{Octicon.trashcan}</button>\n\t\t\t}\n\t\t}\n\t\tconst context = path.getContext().join('.')\n\t\tif (collapsableFields.includes(context) || collapsedFields.includes(context)) {\n\t\t\tconst toggled = isToggled('')\n\t\t\tconst expanded = collapsedFields.includes(context) ? toggled : !toggled\n\t\t\tprefix = <>\n\t\t\t\t<button class=\"toggle tooltipped tip-se\" aria-label={localize(lang, expanded ? 'collapse' : 'expand')} onClick={toggled ? collapse('') : expand('')}>{expanded ? Octicon.chevron_down : Octicon.chevron_right}</button>\n\t\t\t</>\n\t\t\tif (!expanded) {\n\t\t\t\treturn [prefix, suffix, null]\n\t\t\t}\n\t\t}\n\n\t\tconst newCtx = (typeof value === 'object' && value !== null && node.default()?.pools)\n\t\t\t? { ...ctx, loot: value?.type } : ctx\n\t\tconst body = <>\n\t\t\t{(typeof value === 'object' && value !== null && !(node.optional() && value === undefined)) &&\n\t\t\t\tObject.entries(getActiveFields(path))\n\t\t\t\t\t.filter(([_, child]) => child.enabled(path))\n\t\t\t\t\t.map(([key, child]) => {\n\t\t\t\t\t\tconst cPath = getChildModelPath(path, key)\n\t\t\t\t\t\tconst context = cPath.getContext().join('.')\n\t\t\t\t\t\tif (hiddenFields.includes(context)) return null\n\t\t\t\t\t\tconst [cPrefix, cSuffix, cBody] = child.hook(this, cPath, value[key], lang, version, states, newCtx)\n\t\t\t\t\t\tconst isFlattened = child.type(cPath) === 'object' && flattenedFields.includes(context)\n\t\t\t\t\t\tconst isInlined = inlineFields.includes(context)\n\t\t\t\t\t\tif (isFlattened || isInlined) {\n\t\t\t\t\t\t\tprefix = <>{prefix}<ErrorPopup lang={lang} path={cPath} /><HelpPopup lang={lang} path={cPath} />{cPrefix}</>\n\t\t\t\t\t\t\tsuffix = <>{suffix}{cSuffix}</>\n\t\t\t\t\t\t\treturn isFlattened ? cBody : null\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn <MemoedTreeNode key={key} schema={child} path={cPath} value={value[key]} {...{lang, version, states, ctx: newCtx}} />\n\t\t\t\t\t})\n\t\t\t}\n\t\t</>\n\t\treturn [prefix, suffix, body]\n\t},\n\n\tstring(params, path, value, lang, version, states, ctx) {\n\t\treturn [null, <StringSuffix {...{...params, path, value, lang, version, states, ctx}} />, null]\n\t},\n}\n\nfunction Collapsed({ path, value }: { path: ModelPath, value: any, schema: INode<any> }) {\n\tconst context = path.getContext().join('.')\n\tswitch (context) {\n\t\tcase 'loot_table.pools.entry':\n\t\t\treturn <label>{value?.entries?.length ?? 0} entries</label>\n\t\tcase 'function.set_contents.entries.entry':\n\t\tcase 'loot_pool.entries.entry':\n\t\t\treturn <label>{value?.name?.replace(/^minecraft:/, '') ?? value?.type?.replace(/^minecraft:/, '')}</label>\n\t}\n\tfor (const child of Object.values(value ?? {})) {\n\t\tif (typeof child === 'string') {\n\t\t\treturn <label>{child.replace(/^minecraft:/, '')}</label>\n\t\t}\n\t}\n\treturn null\n}\n\nfunction useToggles() {\n\tconst [toggleState, setToggleState] = useState(new Map<string, boolean>())\n\tconst [toggleAll, setToggleAll] = useState<boolean | undefined>(undefined)\n\n\tconst expand = (key: string) => (evt: MouseEvent) => {\n\t\tif (evt.ctrlKey) {\n\t\t\tsetToggleState(new Map())\n\t\t\tsetToggleAll(true)\n\t\t} else {\n\t\t\tsetToggleState(state => new Map(state.set(key, true)))\n\t\t}\n\t}\n\tconst collapse = (key: string) => (evt: MouseEvent) => {\n\t\tif (evt.ctrlKey) {\n\t\t\tsetToggleState(new Map())\n\t\t\tsetToggleAll(false)\n\t\t} else {\n\t\t\tsetToggleState(state => new Map(state.set(key, false)))\n\t\t}\n\t}\n\t\n\tconst isToggled = (key: string) => {\n\t\tif (!(toggleState instanceof Map)) return false\n\t\treturn toggleState.get(key) ?? toggleAll\n\t}\n\n\treturn { expand, collapse, isToggled }\n}\n\nfunction BooleanSuffix({ path, node, value, lang }: NodeProps<BooleanHookParams>) {\n\tconst set = (target: boolean) => {\n\t\tpath.model.set(path, node.optional() && value === target ? undefined : target)\n\t}\n\treturn <>\n\t\t<button class={value === false ? 'selected' : ''} onClick={() => set(false)}>{localize(lang, 'false')}</button>\n\t\t<button class={value === true ? 'selected' : ''} onClick={() => set(true)}>{localize(lang, 'true')}</button>\n\t</>\n}\n\nfunction NumberSuffix({ path, config, integer, value, lang }: NodeProps<NumberHookParams>) {\n\tconst onChange = (evt: Event) => {\n\t\tconst value = (evt.target as HTMLInputElement).value\n\t\tconst parsed = integer ? parseInt(value) : parseFloat(value)\n\t\tpath.model.set(path, parsed)\n\t}\n\tconst onColor = (evt: Event) => {\n\t\tconst value = (evt.target as HTMLInputElement).value\n\t\tconst parsed = parseInt(value.slice(1), 16)\n\t\tpath.model.set(path, parsed)\n\t}\n\treturn <>\n\t\t<input type=\"text\" value={value ?? ''} onBlur={onChange} onKeyDown={evt => {if (evt.key === 'Enter') onChange(evt)}} />\n\t\t{config?.color && <input type=\"color\" value={'#' + (value?.toString(16).padStart(6, '0') ?? '000000')} onChange={onColor} />}\n\t\t{['dimension.generator.seed', 'dimension.generator.biome_source.seed', 'world_settings.seed', 'structure_placement.salt'].includes(path.getContext().join('.')) && <button onClick={() => newSeed(path.model)} class=\"tooltipped tip-se\" aria-label={localize(lang, 'generate_new_seed')}>{Octicon.sync}</button>}\n\t</>\n}\n\nfunction StringSuffix({ path, getValues, config, node, value, lang, version, states }: NodeProps<StringHookParams>) {\n\tconst onChange = (evt: Event) => {\n\t\tevt.stopPropagation()\n\t\tconst newValue = (evt.target as HTMLSelectElement).value\n\t\tif (newValue === value) return\n\t\tpath.model.set(path, newValue.length === 0 ? undefined : newValue)\n\t}\n\tconst values = getValues()\n\tconst context = path.getContext().join('.')\n\tconst id = !isEnum(config) && config?.validator === 'resource' && typeof config.params.pool === 'string' ? config.params.pool : undefined\n\n\tif (nbtFields.includes(context)) {\n\t\treturn <textarea value={value ?? ''} onBlur={onChange}></textarea>\n\t} else if ((isEnum(config) && !config.additional) || selectRegistries.includes(context)) {\n\t\tlet context = new Path([])\n\t\tif (isEnum(config) && typeof config.enum === 'string') {\n\t\t\tcontext = context.contextPush(config.enum)\n\t\t} else if (id) {\n\t\t\tcontext = context.contextPush(id)\n\t\t} else if (isEnum(config)) {\n\t\t\tcontext = path\n\t\t}\n\t\treturn <select value={value ?? ''} onChange={onChange}>\n\t\t\t{node.optional() && <option value=\"\">{localize(lang, 'unset')}</option>}\n\t\t\t{values.map(v => <option value={v}>\n\t\t\t\t{pathLocale(lang, context.contextPush(v.replace(/^minecraft:/, '')))}\n\t\t\t</option>)}\n\t\t</select>\n\t} else if (!isEnum(config) && config?.validator === 'block_state_key') {\n\t\tconst blockState = states?.[relativePath(path, config.params.id).get()]\n\t\tconst values = Object.keys(blockState?.properties ?? {})\n\t\treturn <select value={value ?? ''} onChange={onChange}>\n\t\t\t{values.map(v => <option>{v}</option>)}\n\t\t</select>\n\t} else {\n\t\tconst datalistId = hexId()\n\t\tconst gen = id ? findGenerator(id) : undefined\n\t\treturn <>\n\t\t\t<input value={value ?? ''} onBlur={onChange} onKeyDown={evt => {if (evt.key === 'Enter') onChange(evt)}}\n\t\t\t\tlist={values.length > 0 ? datalistId : ''} />\n\t\t\t{values.length > 0 && <datalist id={datalistId}>\n\t\t\t\t{values.map(v => <option value={v} />)}\n\t\t\t</datalist>}\n\t\t\t{gen && values.includes(value) && value.startsWith('minecraft:') &&\n\t\t\t\t<a href={`/${gen.url}/?version=${version}&preset=${value.replace(/^minecraft:/, '')}`} class=\"tooltipped tip-se\" aria-label={localize(lang, 'follow_reference')}>{Octicon.link_external}</a>}\n\t\t</>\n\t}\n}\n\ntype MenuAction = {\n\tlabel: string,\n\tdescription?: string,\n\ticon: keyof typeof Octicon,\n\tonSelect: () => unknown,\n}\n\ntype TreeNodeProps = {\n\tschema: INode<any>,\n\tpath: ModelPath,\n\tvalue: any,\n\tlang: string,\n\tversion: VersionId,\n\tstates: BlockStateRegistry,\n\tctx: Record<string, any>,\n\tcompare?: any,\n\tlabel?: string,\n\tactions?: MenuAction[],\n\tchildren?: ComponentChildren,\n}\nfunction TreeNode({ label, schema, path, value, lang, version, states, ctx, actions, children }: TreeNodeProps) {\n\tconst type = schema.type(path)\n\tconst category = schema.category(path)\n\tconst context = path.getContext().join('.')\n\n\tconst [active, setActive] = useFocus()\n\tconst onContextMenu = (evt: MouseEvent) => {\n\t\tevt.preventDefault()\n\t\tsetActive()\n\t}\n\n\tconst newCtx: Record<string, any> = { ...ctx, depth: (ctx.depth ?? 0) + 1 }\n\tdelete newCtx.index\n\tconst [prefix, suffix, body] = schema.hook(renderHtml, path, value, lang, version, states, newCtx)\n\treturn <div class={`node ${type}-node`} data-category={category}>\n\t\t<div class=\"node-header\" onContextMenu={onContextMenu}>\n\t\t\t<ErrorPopup lang={lang} path={path} />\n\t\t\t<HelpPopup lang={lang} path={path} />\n\t\t\t{children}\n\t\t\t{prefix}\n\t\t\t<label>\n\t\t\t\t{label ?? pathLocale(lang, path, `${path.last()}`)}\n\t\t\t\t{active && <div class=\"node-menu\">\n\t\t\t\t\t{actions?.map(a => <div key={a.label} class=\"menu-item\">\n\t\t\t\t\t\t<Btn icon={a.icon} tooltip={localize(lang, a.label)} tooltipLoc=\"se\" onClick={() => a.onSelect()}/>\n\t\t\t\t\t\t<span>{a.description ?? localize(lang, a.label)}</span>\n\t\t\t\t\t</div>)}\n\t\t\t\t\t<div class=\"menu-item\">\n\t\t\t\t\t\t<Btn icon=\"clippy\" tooltip={localize(lang, 'copy_context')} tooltipLoc=\"se\" onClick={() => navigator.clipboard.writeText(context)} />\n\t\t\t\t\t\t<span>{context}</span>\n\t\t\t\t\t</div>\n\t\t\t\t</div>}\n\t\t\t</label>\n\t\t\t{suffix}\n\t\t</div>\n\t\t{body && <div class=\"node-body\">{body}</div>}\n\t</div>\n}\n\nconst MemoedTreeNode = memo(TreeNode, (prev, next) => {\n\treturn prev.schema === next.schema\n\t\t&& prev.lang === next.lang\n\t\t&& prev.path.equals(next.path)\n\t\t&& deepEqual(prev.ctx, next.ctx)\n\t\t&& deepEqual(prev.value, next.value)\n})\n\nfunction isEnum(value?: ValidationOption | EnumOption): value is EnumOption {\n\treturn !!(value as any)?.enum\n}\n\nfunction hashString(str: string) {\n\tvar hash = 0, i, chr\n\tfor (i = 0; i < str.length; i++) {\n\t\tchr = str.charCodeAt(i)\n\t\thash = ((hash << 5) - hash) + chr\n\t\thash |= 0\n\t}\n\treturn hash\n}\n\nfunction pathLocale(lang: string, path: Path, ...params: string[]) {\n\tconst ctx = path.getContext()\n\tfor (let i = 0; i < ctx.length; i += 1) {\n\t\tconst key = ctx.slice(i).join('.')\n\t\tconst result = localize(lang, key, ...params)\n\t\tif (key !== result) {\n\t\t\treturn result\n\t\t}\n\t}\n\treturn ctx[ctx.length - 1]\n}\n\nfunction ErrorPopup({ lang, path, nested }: { lang: string, path: ModelPath, nested?: boolean }) {\n\tif (path.model instanceof ModelWrapper) {\n\t\tpath = path.model.map(path).withModel(path.model)\n\t}\n\tconst e = nested\n\t\t?\tpath.model.errors.getAll().filter(e => e.path.startsWith(path))\n\t\t: path.model.errors.get(path, true)\n\tif (e.length === 0) return null\n\tconst message = localize(lang, e[0].error, ...(e[0].params ?? []))\n\treturn popupIcon('node-error', 'issue_opened', message)\n}\n\nfunction HelpPopup({ lang, path }: { lang: string, path: Path }) {\n\tconst key = path.contextPush('help').getContext().join('.')\n\tconst message = localize(lang, key)\n\tif (message === key) return null\n\treturn popupIcon('node-help', 'info', message)\n}\n\nconst popupIcon = (type: string, icon: keyof typeof Octicon, popup: string) => {\n\tconst [active, setActive] = useFocus()\n\n\treturn <div class={`node-icon ${type}${active ? ' show' : ''}`} onClick={setActive}>\n\t\t{Octicon[icon]}\n\t\t<span class=\"icon-popup\">{popup}</span>\n\t</div>\n}\n\nfunction isDecorated(context: string | undefined, value: any) {\n\treturn context === 'feature'\n\t\t&& value?.type?.replace(/^minecraft:/, '') === 'decorated'\n\t\t&& isObject(value?.config)\n}\n\nfunction createDecoratorsWrapper(originalFields: NodeChildren, path: ModelPath, value: any) {\n\tconst decorators: any[] = []\n\tconst feature = iterateNestedDecorators(value, decorators)\n\tconst fields = {\n\t\ttype: originalFields.type,\n\t\tconfig: ObjectNode({\n\t\t\tdecorators: ListNode(CachedDecorator),\n\t\t\tfeature: CachedFeature,\n\t\t}, { context: 'feature.decorated' }),\n\t}\n\tconst schema = ObjectNode(fields, { context: 'feature' })\n\tconst featurePath = new Path(['config', 'feature'])\n\tconst decoratorsPath = new Path(['config', 'decorators'])\n\tconst model = path.getModel()\n\tconst wrapper: ModelWrapper = new ModelWrapper(schema, path => {\n\t\tif (path.startsWith(featurePath)) {\n\t\t\treturn new Path([...[...Array(decorators.length - 1)].flatMap(() => ['config', 'feature']), ...path.modelArr])\n\t\t} else if (path.startsWith(decoratorsPath)) {\n\t\t\tif (path.modelArr.length === 2) {\n\t\t\t\treturn new Path([])\n\t\t\t}\n\t\t\tconst index = path.modelArr[2]\n\t\t\tif (typeof index === 'number') {\n\t\t\t\treturn new Path([...[...Array(index)].flatMap(() => ['config', 'feature']), 'config', 'decorator', ...path.modelArr.slice(3)])\n\t\t\t}\n\t\t}\n\t\treturn path\n\t}, path => {\n\t\tif (path.equals(decoratorsPath)) {\n\t\t\tconst newDecorators: any[] = []\n\t\t\titerateNestedDecorators(model.data, newDecorators)\n\t\t\treturn newDecorators\n\t\t}\n\t\treturn model.get(wrapper.map(path))\n\t}, (path, value, silent) => {\n\t\tif (path.startsWith(featurePath)) {\n\t\t\tconst newDecorators: any[] = []\n\t\t\titerateNestedDecorators(model.data, newDecorators)\n\t\t\tconst newPath =new Path([...[...Array(newDecorators.length - 1)].flatMap(() => ['config', 'feature']), ...path.modelArr])\n\t\t\treturn model.set(newPath, value, silent)\n\t\t} else if (path.startsWith(decoratorsPath)) {\n\t\t\tconst index = path.modelArr[2]\n\t\t\tif (path.modelArr.length === 2) {\n\t\t\t\tconst feature = wrapper.get(featurePath)\n\t\t\t\treturn model.set(new Path(), produceNestedDecorators(feature, value), silent)\n\t\t\t} else if (typeof index === 'number') {\n\t\t\t\tif (path.modelArr.length === 3 && value === undefined) {\n\t\t\t\t\tconst feature = wrapper.get(featurePath)\n\t\t\t\t\tconst newDecorators: any[] = []\n\t\t\t\t\titerateNestedDecorators(model.data, newDecorators)\n\t\t\t\t\tnewDecorators.splice(index, 1)\n\t\t\t\t\tconst newValue = produceNestedDecorators(feature, newDecorators)\n\t\t\t\t\treturn model.set(new Path(), newValue, silent)\n\t\t\t\t} else {\n\t\t\t\t\tconst newPath = new Path([...[...Array(index)].flatMap(() => ['config', 'feature']), 'config', 'decorator', ...path.modelArr.slice(3)])\n\t\t\t\t\treturn model.set(newPath, value, silent)\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tmodel.set(path, value, silent)\n\t})\n\twrapper.data = {\n\t\ttype: model.data.type,\n\t\tconfig: {\n\t\t\tdecorators,\n\t\t\tfeature,\n\t\t},\n\t}\n\twrapper.errors = model.errors\n\treturn { fields, wrapper }\n}\n\nfunction iterateNestedDecorators(value: any, decorators: any[]): any {\n\tif (value?.type?.replace(/^minecraft:/, '') !== 'decorated') {\n\t\treturn value\n\t}\n\tif (!isObject(value?.config)) {\n\t\treturn value\n\t}\n\tdecorators.push({ id: decorators.length, node: value.config.decorator })\n\treturn iterateNestedDecorators(value.config.feature ?? '', decorators)\n}\n\nfunction produceNestedDecorators(feature: any, decorators: any[]): any {\n\tif (decorators.length === 0) return feature\n\treturn {\n\t\ttype: 'minecraft:decorated',\n\t\tconfig: {\n\t\t\tdecorator: decorators.shift().node,\n\t\t\tfeature: produceNestedDecorators(feature, decorators),\n\t\t},\n\t}\n}\n","import type { DataModel } from '@mcschema/core'\nimport { useErrorBoundary, useState } from 'preact/hooks'\nimport { useLocale } from '../../contexts'\nimport { useModel } from '../../hooks'\nimport { FullNode } from '../../schema/renderHtml'\nimport type { BlockStateRegistry, VersionId } from '../../services'\n\ntype TreePanelProps = {\n\tversion: VersionId,\n\tmodel: DataModel | undefined,\n\tblockStates: BlockStateRegistry | undefined,\n\tonError: (message: string) => unknown,\n}\nexport function Tree({ version, model, blockStates, onError }: TreePanelProps) {\n\tconst { lang } = useLocale()\n\tif (!model || !blockStates || lang === 'none') return <></>\n\n\tconst [error] = useErrorBoundary(e => {\n\t\tonError(`Error rendering the tree: ${e.message}`)\n\t\tconsole.error(e)\n\t})\n\tif (error) return <></>\n\n\tconst [, setState] = useState(0)\n\tuseModel(model, () => {\n\t\tsetState(state => state + 1)\n\t})\n\n\treturn <div class=\"tree\" data-cy=\"tree\">\n\t\t<FullNode {...{model, lang, version, blockStates}}/>\n\t</div>\n}\n","var e=Object.defineProperty,t=Object.defineProperties,s=Object.getOwnPropertyDescriptors,r=Object.getOwnPropertySymbols,n=Object.prototype.hasOwnProperty,o=Object.prototype.propertyIsEnumerable,i=(t,s,r)=>s in t?e(t,s,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[s]=r,c=(e,t)=>{for(var s in t||(t={}))n.call(t,s)&&i(e,s,t[s]);if(r)for(var s of r(t))o.call(t,s)&&i(e,s,t[s]);return e};import a,{useState as l,useEffect as u,useRef as m}from\"react\";const g=\"Please consider reporting this error at https://github.com/laymonage/giscus/issues/new.\";function d(e){return`[giscus] An error occurred. Error message: \"${e}\".`}function p(e){const t=document.querySelector(`meta[property='og:${e}'],meta[name='${e}']`);return t?t.content:\"\"}function f(){const e=document.getElementById(\"giscus-css\")||document.createElement(\"style\");e.id=\"giscus-css\",e.textContent=\"\\n .giscus, .giscus-frame {\\n width: 100%;\\n }\\n .giscus-frame {\\n border: none;\\n color-scheme: normal;\\n }\\n \",document.head.prepend(e)}function h(e){const[r,n]=l(\"\"),o=function({repo:e,repoId:t,category:s=\"\",categoryId:r=\"\",mapping:n,term:o=\"\",theme:i=\"light\",reactionsEnabled:c=\"1\",emitMetadata:a=\"0\",inputPosition:l=\"bottom\",lang:u=\"en\",session:m,origin:g}){const d=new URL(location.href);d.searchParams.delete(\"giscus\");const f=d.toString(),h={origin:g=g||f,session:m,theme:i,reactionsEnabled:c,emitMetadata:a,inputPosition:l,repo:e,repoId:t,category:s,categoryId:r,description:p(\"description\")};switch(n){case\"url\":h.term=f;break;case\"title\":h.term=document.title;break;case\"og:title\":h.term=p(\"title\");break;case\"specific\":h.term=o;break;case\"number\":h.number=o;break;case\"pathname\":default:h.term=location.pathname.length<2?\"index\":location.pathname.substring(1).replace(/\\.\\w+$/,\"\")}return`https://giscus.app/${u}/widget?${new URLSearchParams(h)}`}((i=c({},e),t(i,s({session:r}))));var i;const h=m(null);return u((()=>{const e=location.href,t=new URL(e),s=localStorage.getItem(\"giscus-session\"),r=t.searchParams.get(\"giscus\")||\"\";if(r)return localStorage.setItem(\"giscus-session\",JSON.stringify(r)),n(r),t.searchParams.delete(\"giscus\"),void history.replaceState(void 0,document.title,t.toString());if(s)try{n(JSON.parse(s||\"\")||\"\")}catch(o){n(\"\"),localStorage.removeItem(\"giscus-session\"),console.warn(`${d(null==o?void 0:o.message)} Session has been cleared.`)}}),[]),u(f,[]),u((()=>{const e=function(e,t=null){return function(s){if(\"https://giscus.app\"!==s.origin)return;const{data:r}=s;if(\"object\"!=typeof r||!r.giscus)return;if(t&&r.giscus.resizeHeight&&(t.style.height=`${r.giscus.resizeHeight}px`),!r.giscus.error)return;const n=r.giscus.error;if(n.includes(\"Bad credentials\")||n.includes(\"Invalid state value\")){if(null!==localStorage.getItem(\"giscus-session\"))return localStorage.removeItem(\"giscus-session\"),e(),void console.warn(`${d(n)} Session has been cleared.`);console.error(`${d(n)} No session is stored initially. ${g}`)}n.includes(\"Discussion not found\")?console.warn(`[giscus] ${n}. A new discussion will be created if a comment/reaction is submitted.`):console.error(`${d(n)} ${g}`)}}((()=>n(\"\")),h.current);return window.addEventListener(\"message\",e),()=>window.removeEventListener(\"message\",e)}),[]),a.createElement(\"div\",{className:\"giscus\"},a.createElement(\"iframe\",{className:\"giscus-frame\",title:\"Comments\",scrolling:\"no\",src:o,ref:h}))}function b(e){const[t,s]=l(!1);return u((()=>s(!0)),[]),t?a.createElement(h,c({},e)):null}export{b as Giscus};\n","import { Giscus as GiscusReact } from '@giscus/react'\nimport { useTheme } from '../contexts'\n\ninterface Props {\n\tterm?: string,\n}\nexport function Giscus({ term }: Props) {\n\tconst { actualTheme } = useTheme()\n\tconst themeSuffix = actualTheme === 'light' ? '-burn' : ''\n\tconst themeUrl = (import.meta as any).env.DEV\n\t\t? `http://localhost:3000/src/styles/giscus${themeSuffix}.css`\n\t\t: `${location.protocol}//${location.host}/assets/giscus${themeSuffix}.css`\n\n\treturn <GiscusReact\n\t\trepo=\"misode/misode.github.io\"\n\t\trepoId=\"MDEwOlJlcG9zaXRvcnkxOTIyNTQyMzA=\"\n\t\tcategory=\"Site\"\n\t\tcategoryId=\"DIC_kwDOC3WRFs4COB8r\"\n\t\tmapping={term ? 'specific' : 'pathname'}\n\t\tterm={term}\n\t\treactionsEnabled=\"1\"\n\t\temitMetadata=\"0\"\n\t\tinputPosition=\"top\"\n\t\ttheme={themeUrl}\n\t\tlang=\"en\" />\n}\n","/**\n * marked - a markdown parser\n * Copyright (c) 2011-2022, Christopher Jeffrey. (MIT Licensed)\n * https://github.com/markedjs/marked\n */\n\n/**\n * DO NOT EDIT THIS FILE\n * The code in this file is generated from files in ./src/\n */\n\nfunction getDefaults() {\n return {\n baseUrl: null,\n breaks: false,\n extensions: null,\n gfm: true,\n headerIds: true,\n headerPrefix: '',\n highlight: null,\n langPrefix: 'language-',\n mangle: true,\n pedantic: false,\n renderer: null,\n sanitize: false,\n sanitizer: null,\n silent: false,\n smartLists: false,\n smartypants: false,\n tokenizer: null,\n walkTokens: null,\n xhtml: false\n };\n}\n\nlet defaults = getDefaults();\n\nfunction changeDefaults(newDefaults) {\n defaults = newDefaults;\n}\n\n/**\n * Helpers\n */\nconst escapeTest = /[&<>\"']/;\nconst escapeReplace = /[&<>\"']/g;\nconst escapeTestNoEncode = /[<>\"']|&(?!#?\\w+;)/;\nconst escapeReplaceNoEncode = /[<>\"']|&(?!#?\\w+;)/g;\nconst escapeReplacements = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": '''\n};\nconst getEscapeReplacement = (ch) => escapeReplacements[ch];\nfunction escape(html, encode) {\n if (encode) {\n if (escapeTest.test(html)) {\n return html.replace(escapeReplace, getEscapeReplacement);\n }\n } else {\n if (escapeTestNoEncode.test(html)) {\n return html.replace(escapeReplaceNoEncode, getEscapeReplacement);\n }\n }\n\n return html;\n}\n\nconst unescapeTest = /&(#(?:\\d+)|(?:#x[0-9A-Fa-f]+)|(?:\\w+));?/ig;\n\nfunction unescape(html) {\n // explicitly match decimal, hex, and named HTML entities\n return html.replace(unescapeTest, (_, n) => {\n n = n.toLowerCase();\n if (n === 'colon') return ':';\n if (n.charAt(0) === '#') {\n return n.charAt(1) === 'x'\n ? String.fromCharCode(parseInt(n.substring(2), 16))\n : String.fromCharCode(+n.substring(1));\n }\n return '';\n });\n}\n\nconst caret = /(^|[^\\[])\\^/g;\nfunction edit(regex, opt) {\n regex = regex.source || regex;\n opt = opt || '';\n const obj = {\n replace: (name, val) => {\n val = val.source || val;\n val = val.replace(caret, '$1');\n regex = regex.replace(name, val);\n return obj;\n },\n getRegex: () => {\n return new RegExp(regex, opt);\n }\n };\n return obj;\n}\n\nconst nonWordAndColonTest = /[^\\w:]/g;\nconst originIndependentUrl = /^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;\nfunction cleanUrl(sanitize, base, href) {\n if (sanitize) {\n let prot;\n try {\n prot = decodeURIComponent(unescape(href))\n .replace(nonWordAndColonTest, '')\n .toLowerCase();\n } catch (e) {\n return null;\n }\n if (prot.indexOf('javascript:') === 0 || prot.indexOf('vbscript:') === 0 || prot.indexOf('data:') === 0) {\n return null;\n }\n }\n if (base && !originIndependentUrl.test(href)) {\n href = resolveUrl(base, href);\n }\n try {\n href = encodeURI(href).replace(/%25/g, '%');\n } catch (e) {\n return null;\n }\n return href;\n}\n\nconst baseUrls = {};\nconst justDomain = /^[^:]+:\\/*[^/]*$/;\nconst protocol = /^([^:]+:)[\\s\\S]*$/;\nconst domain = /^([^:]+:\\/*[^/]*)[\\s\\S]*$/;\n\nfunction resolveUrl(base, href) {\n if (!baseUrls[' ' + base]) {\n // we can ignore everything in base after the last slash of its path component,\n // but we might need to add _that_\n // https://tools.ietf.org/html/rfc3986#section-3\n if (justDomain.test(base)) {\n baseUrls[' ' + base] = base + '/';\n } else {\n baseUrls[' ' + base] = rtrim(base, '/', true);\n }\n }\n base = baseUrls[' ' + base];\n const relativeBase = base.indexOf(':') === -1;\n\n if (href.substring(0, 2) === '//') {\n if (relativeBase) {\n return href;\n }\n return base.replace(protocol, '$1') + href;\n } else if (href.charAt(0) === '/') {\n if (relativeBase) {\n return href;\n }\n return base.replace(domain, '$1') + href;\n } else {\n return base + href;\n }\n}\n\nconst noopTest = { exec: function noopTest() {} };\n\nfunction merge(obj) {\n let i = 1,\n target,\n key;\n\n for (; i < arguments.length; i++) {\n target = arguments[i];\n for (key in target) {\n if (Object.prototype.hasOwnProperty.call(target, key)) {\n obj[key] = target[key];\n }\n }\n }\n\n return obj;\n}\n\nfunction splitCells(tableRow, count) {\n // ensure that every cell-delimiting pipe has a space\n // before it to distinguish it from an escaped pipe\n const row = tableRow.replace(/\\|/g, (match, offset, str) => {\n let escaped = false,\n curr = offset;\n while (--curr >= 0 && str[curr] === '\\\\') escaped = !escaped;\n if (escaped) {\n // odd number of slashes means | is escaped\n // so we leave it alone\n return '|';\n } else {\n // add space before unescaped |\n return ' |';\n }\n }),\n cells = row.split(/ \\|/);\n let i = 0;\n\n // First/last cell in a row cannot be empty if it has no leading/trailing pipe\n if (!cells[0].trim()) { cells.shift(); }\n if (!cells[cells.length - 1].trim()) { cells.pop(); }\n\n if (cells.length > count) {\n cells.splice(count);\n } else {\n while (cells.length < count) cells.push('');\n }\n\n for (; i < cells.length; i++) {\n // leading or trailing whitespace is ignored per the gfm spec\n cells[i] = cells[i].trim().replace(/\\\\\\|/g, '|');\n }\n return cells;\n}\n\n// Remove trailing 'c's. Equivalent to str.replace(/c*$/, '').\n// /c*$/ is vulnerable to REDOS.\n// invert: Remove suffix of non-c chars instead. Default falsey.\nfunction rtrim(str, c, invert) {\n const l = str.length;\n if (l === 0) {\n return '';\n }\n\n // Length of suffix matching the invert condition.\n let suffLen = 0;\n\n // Step left until we fail to match the invert condition.\n while (suffLen < l) {\n const currChar = str.charAt(l - suffLen - 1);\n if (currChar === c && !invert) {\n suffLen++;\n } else if (currChar !== c && invert) {\n suffLen++;\n } else {\n break;\n }\n }\n\n return str.substr(0, l - suffLen);\n}\n\nfunction findClosingBracket(str, b) {\n if (str.indexOf(b[1]) === -1) {\n return -1;\n }\n const l = str.length;\n let level = 0,\n i = 0;\n for (; i < l; i++) {\n if (str[i] === '\\\\') {\n i++;\n } else if (str[i] === b[0]) {\n level++;\n } else if (str[i] === b[1]) {\n level--;\n if (level < 0) {\n return i;\n }\n }\n }\n return -1;\n}\n\nfunction checkSanitizeDeprecation(opt) {\n if (opt && opt.sanitize && !opt.silent) {\n console.warn('marked(): sanitize and sanitizer parameters are deprecated since version 0.7.0, should not be used and will be removed in the future. Read more here: https://marked.js.org/#/USING_ADVANCED.md#options');\n }\n}\n\n// copied from https://stackoverflow.com/a/5450113/806777\nfunction repeatString(pattern, count) {\n if (count < 1) {\n return '';\n }\n let result = '';\n while (count > 1) {\n if (count & 1) {\n result += pattern;\n }\n count >>= 1;\n pattern += pattern;\n }\n return result + pattern;\n}\n\nfunction outputLink(cap, link, raw, lexer) {\n const href = link.href;\n const title = link.title ? escape(link.title) : null;\n const text = cap[1].replace(/\\\\([\\[\\]])/g, '$1');\n\n if (cap[0].charAt(0) !== '!') {\n lexer.state.inLink = true;\n const token = {\n type: 'link',\n raw,\n href,\n title,\n text,\n tokens: lexer.inlineTokens(text, [])\n };\n lexer.state.inLink = false;\n return token;\n } else {\n return {\n type: 'image',\n raw,\n href,\n title,\n text: escape(text)\n };\n }\n}\n\nfunction indentCodeCompensation(raw, text) {\n const matchIndentToCode = raw.match(/^(\\s+)(?:```)/);\n\n if (matchIndentToCode === null) {\n return text;\n }\n\n const indentToCode = matchIndentToCode[1];\n\n return text\n .split('\\n')\n .map(node => {\n const matchIndentInNode = node.match(/^\\s+/);\n if (matchIndentInNode === null) {\n return node;\n }\n\n const [indentInNode] = matchIndentInNode;\n\n if (indentInNode.length >= indentToCode.length) {\n return node.slice(indentToCode.length);\n }\n\n return node;\n })\n .join('\\n');\n}\n\n/**\n * Tokenizer\n */\nclass Tokenizer {\n constructor(options) {\n this.options = options || defaults;\n }\n\n space(src) {\n const cap = this.rules.block.newline.exec(src);\n if (cap && cap[0].length > 0) {\n return {\n type: 'space',\n raw: cap[0]\n };\n }\n }\n\n code(src) {\n const cap = this.rules.block.code.exec(src);\n if (cap) {\n const text = cap[0].replace(/^ {1,4}/gm, '');\n return {\n type: 'code',\n raw: cap[0],\n codeBlockStyle: 'indented',\n text: !this.options.pedantic\n ? rtrim(text, '\\n')\n : text\n };\n }\n }\n\n fences(src) {\n const cap = this.rules.block.fences.exec(src);\n if (cap) {\n const raw = cap[0];\n const text = indentCodeCompensation(raw, cap[3] || '');\n\n return {\n type: 'code',\n raw,\n lang: cap[2] ? cap[2].trim() : cap[2],\n text\n };\n }\n }\n\n heading(src) {\n const cap = this.rules.block.heading.exec(src);\n if (cap) {\n let text = cap[2].trim();\n\n // remove trailing #s\n if (/#$/.test(text)) {\n const trimmed = rtrim(text, '#');\n if (this.options.pedantic) {\n text = trimmed.trim();\n } else if (!trimmed || / $/.test(trimmed)) {\n // CommonMark requires space before trailing #s\n text = trimmed.trim();\n }\n }\n\n const token = {\n type: 'heading',\n raw: cap[0],\n depth: cap[1].length,\n text: text,\n tokens: []\n };\n this.lexer.inline(token.text, token.tokens);\n return token;\n }\n }\n\n hr(src) {\n const cap = this.rules.block.hr.exec(src);\n if (cap) {\n return {\n type: 'hr',\n raw: cap[0]\n };\n }\n }\n\n blockquote(src) {\n const cap = this.rules.block.blockquote.exec(src);\n if (cap) {\n const text = cap[0].replace(/^ *> ?/gm, '');\n\n return {\n type: 'blockquote',\n raw: cap[0],\n tokens: this.lexer.blockTokens(text, []),\n text\n };\n }\n }\n\n list(src) {\n let cap = this.rules.block.list.exec(src);\n if (cap) {\n let raw, istask, ischecked, indent, i, blankLine, endsWithBlankLine,\n line, nextLine, rawLine, itemContents, endEarly;\n\n let bull = cap[1].trim();\n const isordered = bull.length > 1;\n\n const list = {\n type: 'list',\n raw: '',\n ordered: isordered,\n start: isordered ? +bull.slice(0, -1) : '',\n loose: false,\n items: []\n };\n\n bull = isordered ? `\\\\d{1,9}\\\\${bull.slice(-1)}` : `\\\\${bull}`;\n\n if (this.options.pedantic) {\n bull = isordered ? bull : '[*+-]';\n }\n\n // Get next list item\n const itemRegex = new RegExp(`^( {0,3}${bull})((?: [^\\\\n]*)?(?:\\\\n|$))`);\n\n // Check if current bullet point can start a new List Item\n while (src) {\n endEarly = false;\n if (!(cap = itemRegex.exec(src))) {\n break;\n }\n\n if (this.rules.block.hr.test(src)) { // End list if bullet was actually HR (possibly move into itemRegex?)\n break;\n }\n\n raw = cap[0];\n src = src.substring(raw.length);\n\n line = cap[2].split('\\n', 1)[0];\n nextLine = src.split('\\n', 1)[0];\n\n if (this.options.pedantic) {\n indent = 2;\n itemContents = line.trimLeft();\n } else {\n indent = cap[2].search(/[^ ]/); // Find first non-space char\n indent = indent > 4 ? 1 : indent; // Treat indented code blocks (> 4 spaces) as having only 1 indent\n itemContents = line.slice(indent);\n indent += cap[1].length;\n }\n\n blankLine = false;\n\n if (!line && /^ *$/.test(nextLine)) { // Items begin with at most one blank line\n raw += nextLine + '\\n';\n src = src.substring(nextLine.length + 1);\n endEarly = true;\n }\n\n if (!endEarly) {\n const nextBulletRegex = new RegExp(`^ {0,${Math.min(3, indent - 1)}}(?:[*+-]|\\\\d{1,9}[.)])`);\n\n // Check if following lines should be included in List Item\n while (src) {\n rawLine = src.split('\\n', 1)[0];\n line = rawLine;\n\n // Re-align to follow commonmark nesting rules\n if (this.options.pedantic) {\n line = line.replace(/^ {1,4}(?=( {4})*[^ ])/g, ' ');\n }\n\n // End list item if found start of new bullet\n if (nextBulletRegex.test(line)) {\n break;\n }\n\n if (line.search(/[^ ]/) >= indent || !line.trim()) { // Dedent if possible\n itemContents += '\\n' + line.slice(indent);\n } else if (!blankLine) { // Until blank line, item doesn't need indentation\n itemContents += '\\n' + line;\n } else { // Otherwise, improper indentation ends this item\n break;\n }\n\n if (!blankLine && !line.trim()) { // Check if current line is blank\n blankLine = true;\n }\n\n raw += rawLine + '\\n';\n src = src.substring(rawLine.length + 1);\n }\n }\n\n if (!list.loose) {\n // If the previous item ended with a blank line, the list is loose\n if (endsWithBlankLine) {\n list.loose = true;\n } else if (/\\n *\\n *$/.test(raw)) {\n endsWithBlankLine = true;\n }\n }\n\n // Check for task list items\n if (this.options.gfm) {\n istask = /^\\[[ xX]\\] /.exec(itemContents);\n if (istask) {\n ischecked = istask[0] !== '[ ] ';\n itemContents = itemContents.replace(/^\\[[ xX]\\] +/, '');\n }\n }\n\n list.items.push({\n type: 'list_item',\n raw: raw,\n task: !!istask,\n checked: ischecked,\n loose: false,\n text: itemContents\n });\n\n list.raw += raw;\n }\n\n // Do not consume newlines at end of final item. Alternatively, make itemRegex *start* with any newlines to simplify/speed up endsWithBlankLine logic\n list.items[list.items.length - 1].raw = raw.trimRight();\n list.items[list.items.length - 1].text = itemContents.trimRight();\n list.raw = list.raw.trimRight();\n\n const l = list.items.length;\n\n // Item child tokens handled here at end because we needed to have the final item to trim it first\n for (i = 0; i < l; i++) {\n this.lexer.state.top = false;\n list.items[i].tokens = this.lexer.blockTokens(list.items[i].text, []);\n const spacers = list.items[i].tokens.filter(t => t.type === 'space');\n const hasMultipleLineBreaks = spacers.every(t => {\n const chars = t.raw.split('');\n let lineBreaks = 0;\n for (const char of chars) {\n if (char === '\\n') {\n lineBreaks += 1;\n }\n if (lineBreaks > 1) {\n return true;\n }\n }\n\n return false;\n });\n\n if (!list.loose && spacers.length && hasMultipleLineBreaks) {\n // Having a single line break doesn't mean a list is loose. A single line break is terminating the last list item\n list.loose = true;\n list.items[i].loose = true;\n }\n }\n\n return list;\n }\n }\n\n html(src) {\n const cap = this.rules.block.html.exec(src);\n if (cap) {\n const token = {\n type: 'html',\n raw: cap[0],\n pre: !this.options.sanitizer\n && (cap[1] === 'pre' || cap[1] === 'script' || cap[1] === 'style'),\n text: cap[0]\n };\n if (this.options.sanitize) {\n token.type = 'paragraph';\n token.text = this.options.sanitizer ? this.options.sanitizer(cap[0]) : escape(cap[0]);\n token.tokens = [];\n this.lexer.inline(token.text, token.tokens);\n }\n return token;\n }\n }\n\n def(src) {\n const cap = this.rules.block.def.exec(src);\n if (cap) {\n if (cap[3]) cap[3] = cap[3].substring(1, cap[3].length - 1);\n const tag = cap[1].toLowerCase().replace(/\\s+/g, ' ');\n return {\n type: 'def',\n tag,\n raw: cap[0],\n href: cap[2],\n title: cap[3]\n };\n }\n }\n\n table(src) {\n const cap = this.rules.block.table.exec(src);\n if (cap) {\n const item = {\n type: 'table',\n header: splitCells(cap[1]).map(c => { return { text: c }; }),\n align: cap[2].replace(/^ *|\\| *$/g, '').split(/ *\\| */),\n rows: cap[3] ? cap[3].replace(/\\n[ \\t]*$/, '').split('\\n') : []\n };\n\n if (item.header.length === item.align.length) {\n item.raw = cap[0];\n\n let l = item.align.length;\n let i, j, k, row;\n for (i = 0; i < l; i++) {\n if (/^ *-+: *$/.test(item.align[i])) {\n item.align[i] = 'right';\n } else if (/^ *:-+: *$/.test(item.align[i])) {\n item.align[i] = 'center';\n } else if (/^ *:-+ *$/.test(item.align[i])) {\n item.align[i] = 'left';\n } else {\n item.align[i] = null;\n }\n }\n\n l = item.rows.length;\n for (i = 0; i < l; i++) {\n item.rows[i] = splitCells(item.rows[i], item.header.length).map(c => { return { text: c }; });\n }\n\n // parse child tokens inside headers and cells\n\n // header child tokens\n l = item.header.length;\n for (j = 0; j < l; j++) {\n item.header[j].tokens = [];\n this.lexer.inlineTokens(item.header[j].text, item.header[j].tokens);\n }\n\n // cell child tokens\n l = item.rows.length;\n for (j = 0; j < l; j++) {\n row = item.rows[j];\n for (k = 0; k < row.length; k++) {\n row[k].tokens = [];\n this.lexer.inlineTokens(row[k].text, row[k].tokens);\n }\n }\n\n return item;\n }\n }\n }\n\n lheading(src) {\n const cap = this.rules.block.lheading.exec(src);\n if (cap) {\n const token = {\n type: 'heading',\n raw: cap[0],\n depth: cap[2].charAt(0) === '=' ? 1 : 2,\n text: cap[1],\n tokens: []\n };\n this.lexer.inline(token.text, token.tokens);\n return token;\n }\n }\n\n paragraph(src) {\n const cap = this.rules.block.paragraph.exec(src);\n if (cap) {\n const token = {\n type: 'paragraph',\n raw: cap[0],\n text: cap[1].charAt(cap[1].length - 1) === '\\n'\n ? cap[1].slice(0, -1)\n : cap[1],\n tokens: []\n };\n this.lexer.inline(token.text, token.tokens);\n return token;\n }\n }\n\n text(src) {\n const cap = this.rules.block.text.exec(src);\n if (cap) {\n const token = {\n type: 'text',\n raw: cap[0],\n text: cap[0],\n tokens: []\n };\n this.lexer.inline(token.text, token.tokens);\n return token;\n }\n }\n\n escape(src) {\n const cap = this.rules.inline.escape.exec(src);\n if (cap) {\n return {\n type: 'escape',\n raw: cap[0],\n text: escape(cap[1])\n };\n }\n }\n\n tag(src) {\n const cap = this.rules.inline.tag.exec(src);\n if (cap) {\n if (!this.lexer.state.inLink && /^<a /i.test(cap[0])) {\n this.lexer.state.inLink = true;\n } else if (this.lexer.state.inLink && /^<\\/a>/i.test(cap[0])) {\n this.lexer.state.inLink = false;\n }\n if (!this.lexer.state.inRawBlock && /^<(pre|code|kbd|script)(\\s|>)/i.test(cap[0])) {\n this.lexer.state.inRawBlock = true;\n } else if (this.lexer.state.inRawBlock && /^<\\/(pre|code|kbd|script)(\\s|>)/i.test(cap[0])) {\n this.lexer.state.inRawBlock = false;\n }\n\n return {\n type: this.options.sanitize\n ? 'text'\n : 'html',\n raw: cap[0],\n inLink: this.lexer.state.inLink,\n inRawBlock: this.lexer.state.inRawBlock,\n text: this.options.sanitize\n ? (this.options.sanitizer\n ? this.options.sanitizer(cap[0])\n : escape(cap[0]))\n : cap[0]\n };\n }\n }\n\n link(src) {\n const cap = this.rules.inline.link.exec(src);\n if (cap) {\n const trimmedUrl = cap[2].trim();\n if (!this.options.pedantic && /^</.test(trimmedUrl)) {\n // commonmark requires matching angle brackets\n if (!(/>$/.test(trimmedUrl))) {\n return;\n }\n\n // ending angle bracket cannot be escaped\n const rtrimSlash = rtrim(trimmedUrl.slice(0, -1), '\\\\');\n if ((trimmedUrl.length - rtrimSlash.length) % 2 === 0) {\n return;\n }\n } else {\n // find closing parenthesis\n const lastParenIndex = findClosingBracket(cap[2], '()');\n if (lastParenIndex > -1) {\n const start = cap[0].indexOf('!') === 0 ? 5 : 4;\n const linkLen = start + cap[1].length + lastParenIndex;\n cap[2] = cap[2].substring(0, lastParenIndex);\n cap[0] = cap[0].substring(0, linkLen).trim();\n cap[3] = '';\n }\n }\n let href = cap[2];\n let title = '';\n if (this.options.pedantic) {\n // split pedantic href and title\n const link = /^([^'\"]*[^\\s])\\s+(['\"])(.*)\\2/.exec(href);\n\n if (link) {\n href = link[1];\n title = link[3];\n }\n } else {\n title = cap[3] ? cap[3].slice(1, -1) : '';\n }\n\n href = href.trim();\n if (/^</.test(href)) {\n if (this.options.pedantic && !(/>$/.test(trimmedUrl))) {\n // pedantic allows starting angle bracket without ending angle bracket\n href = href.slice(1);\n } else {\n href = href.slice(1, -1);\n }\n }\n return outputLink(cap, {\n href: href ? href.replace(this.rules.inline._escapes, '$1') : href,\n title: title ? title.replace(this.rules.inline._escapes, '$1') : title\n }, cap[0], this.lexer);\n }\n }\n\n reflink(src, links) {\n let cap;\n if ((cap = this.rules.inline.reflink.exec(src))\n || (cap = this.rules.inline.nolink.exec(src))) {\n let link = (cap[2] || cap[1]).replace(/\\s+/g, ' ');\n link = links[link.toLowerCase()];\n if (!link || !link.href) {\n const text = cap[0].charAt(0);\n return {\n type: 'text',\n raw: text,\n text\n };\n }\n return outputLink(cap, link, cap[0], this.lexer);\n }\n }\n\n emStrong(src, maskedSrc, prevChar = '') {\n let match = this.rules.inline.emStrong.lDelim.exec(src);\n if (!match) return;\n\n // _ can't be between two alphanumerics. \\p{L}\\p{N} includes non-english alphabet/numbers as well\n if (match[3] && prevChar.match(/[\\p{L}\\p{N}]/u)) return;\n\n const nextChar = match[1] || match[2] || '';\n\n if (!nextChar || (nextChar && (prevChar === '' || this.rules.inline.punctuation.exec(prevChar)))) {\n const lLength = match[0].length - 1;\n let rDelim, rLength, delimTotal = lLength, midDelimTotal = 0;\n\n const endReg = match[0][0] === '*' ? this.rules.inline.emStrong.rDelimAst : this.rules.inline.emStrong.rDelimUnd;\n endReg.lastIndex = 0;\n\n // Clip maskedSrc to same section of string as src (move to lexer?)\n maskedSrc = maskedSrc.slice(-1 * src.length + lLength);\n\n while ((match = endReg.exec(maskedSrc)) != null) {\n rDelim = match[1] || match[2] || match[3] || match[4] || match[5] || match[6];\n\n if (!rDelim) continue; // skip single * in __abc*abc__\n\n rLength = rDelim.length;\n\n if (match[3] || match[4]) { // found another Left Delim\n delimTotal += rLength;\n continue;\n } else if (match[5] || match[6]) { // either Left or Right Delim\n if (lLength % 3 && !((lLength + rLength) % 3)) {\n midDelimTotal += rLength;\n continue; // CommonMark Emphasis Rules 9-10\n }\n }\n\n delimTotal -= rLength;\n\n if (delimTotal > 0) continue; // Haven't found enough closing delimiters\n\n // Remove extra characters. *a*** -> *a*\n rLength = Math.min(rLength, rLength + delimTotal + midDelimTotal);\n\n // Create `em` if smallest delimiter has odd char count. *a***\n if (Math.min(lLength, rLength) % 2) {\n const text = src.slice(1, lLength + match.index + rLength);\n return {\n type: 'em',\n raw: src.slice(0, lLength + match.index + rLength + 1),\n text,\n tokens: this.lexer.inlineTokens(text, [])\n };\n }\n\n // Create 'strong' if smallest delimiter has even char count. **a***\n const text = src.slice(2, lLength + match.index + rLength - 1);\n return {\n type: 'strong',\n raw: src.slice(0, lLength + match.index + rLength + 1),\n text,\n tokens: this.lexer.inlineTokens(text, [])\n };\n }\n }\n }\n\n codespan(src) {\n const cap = this.rules.inline.code.exec(src);\n if (cap) {\n let text = cap[2].replace(/\\n/g, ' ');\n const hasNonSpaceChars = /[^ ]/.test(text);\n const hasSpaceCharsOnBothEnds = /^ /.test(text) && / $/.test(text);\n if (hasNonSpaceChars && hasSpaceCharsOnBothEnds) {\n text = text.substring(1, text.length - 1);\n }\n text = escape(text, true);\n return {\n type: 'codespan',\n raw: cap[0],\n text\n };\n }\n }\n\n br(src) {\n const cap = this.rules.inline.br.exec(src);\n if (cap) {\n return {\n type: 'br',\n raw: cap[0]\n };\n }\n }\n\n del(src) {\n const cap = this.rules.inline.del.exec(src);\n if (cap) {\n return {\n type: 'del',\n raw: cap[0],\n text: cap[2],\n tokens: this.lexer.inlineTokens(cap[2], [])\n };\n }\n }\n\n autolink(src, mangle) {\n const cap = this.rules.inline.autolink.exec(src);\n if (cap) {\n let text, href;\n if (cap[2] === '@') {\n text = escape(this.options.mangle ? mangle(cap[1]) : cap[1]);\n href = 'mailto:' + text;\n } else {\n text = escape(cap[1]);\n href = text;\n }\n\n return {\n type: 'link',\n raw: cap[0],\n text,\n href,\n tokens: [\n {\n type: 'text',\n raw: text,\n text\n }\n ]\n };\n }\n }\n\n url(src, mangle) {\n let cap;\n if (cap = this.rules.inline.url.exec(src)) {\n let text, href;\n if (cap[2] === '@') {\n text = escape(this.options.mangle ? mangle(cap[0]) : cap[0]);\n href = 'mailto:' + text;\n } else {\n // do extended autolink path validation\n let prevCapZero;\n do {\n prevCapZero = cap[0];\n cap[0] = this.rules.inline._backpedal.exec(cap[0])[0];\n } while (prevCapZero !== cap[0]);\n text = escape(cap[0]);\n if (cap[1] === 'www.') {\n href = 'http://' + text;\n } else {\n href = text;\n }\n }\n return {\n type: 'link',\n raw: cap[0],\n text,\n href,\n tokens: [\n {\n type: 'text',\n raw: text,\n text\n }\n ]\n };\n }\n }\n\n inlineText(src, smartypants) {\n const cap = this.rules.inline.text.exec(src);\n if (cap) {\n let text;\n if (this.lexer.state.inRawBlock) {\n text = this.options.sanitize ? (this.options.sanitizer ? this.options.sanitizer(cap[0]) : escape(cap[0])) : cap[0];\n } else {\n text = escape(this.options.smartypants ? smartypants(cap[0]) : cap[0]);\n }\n return {\n type: 'text',\n raw: cap[0],\n text\n };\n }\n }\n}\n\n/**\n * Block-Level Grammar\n */\nconst block = {\n newline: /^(?: *(?:\\n|$))+/,\n code: /^( {4}[^\\n]+(?:\\n(?: *(?:\\n|$))*)?)+/,\n fences: /^ {0,3}(`{3,}(?=[^`\\n]*\\n)|~{3,})([^\\n]*)\\n(?:|([\\s\\S]*?)\\n)(?: {0,3}\\1[~`]* *(?=\\n|$)|$)/,\n hr: /^ {0,3}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)/,\n heading: /^ {0,3}(#{1,6})(?=\\s|$)(.*)(?:\\n+|$)/,\n blockquote: /^( {0,3}> ?(paragraph|[^\\n]*)(?:\\n|$))+/,\n list: /^( {0,3}bull)( [^\\n]+?)?(?:\\n|$)/,\n html: '^ {0,3}(?:' // optional indentation\n + '<(script|pre|style|textarea)[\\\\s>][\\\\s\\\\S]*?(?:</\\\\1>[^\\\\n]*\\\\n+|$)' // (1)\n + '|comment[^\\\\n]*(\\\\n+|$)' // (2)\n + '|<\\\\?[\\\\s\\\\S]*?(?:\\\\?>\\\\n*|$)' // (3)\n + '|<![A-Z][\\\\s\\\\S]*?(?:>\\\\n*|$)' // (4)\n + '|<!\\\\[CDATA\\\\[[\\\\s\\\\S]*?(?:\\\\]\\\\]>\\\\n*|$)' // (5)\n + '|</?(tag)(?: +|\\\\n|/?>)[\\\\s\\\\S]*?(?:(?:\\\\n *)+\\\\n|$)' // (6)\n + '|<(?!script|pre|style|textarea)([a-z][\\\\w-]*)(?:attribute)*? */?>(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:(?:\\\\n *)+\\\\n|$)' // (7) open tag\n + '|</(?!script|pre|style|textarea)[a-z][\\\\w-]*\\\\s*>(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:(?:\\\\n *)+\\\\n|$)' // (7) closing tag\n + ')',\n def: /^ {0,3}\\[(label)\\]: *(?:\\n *)?<?([^\\s>]+)>?(?:(?: +(?:\\n *)?| *\\n *)(title))? *(?:\\n+|$)/,\n table: noopTest,\n lheading: /^([^\\n]+)\\n {0,3}(=+|-+) *(?:\\n+|$)/,\n // regex template, placeholders will be replaced according to different paragraph\n // interruption rules of commonmark and the original markdown spec:\n _paragraph: /^([^\\n]+(?:\\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\\n)[^\\n]+)*)/,\n text: /^[^\\n]+/\n};\n\nblock._label = /(?!\\s*\\])(?:\\\\.|[^\\[\\]\\\\])+/;\nblock._title = /(?:\"(?:\\\\\"?|[^\"\\\\])*\"|'[^'\\n]*(?:\\n[^'\\n]+)*\\n?'|\\([^()]*\\))/;\nblock.def = edit(block.def)\n .replace('label', block._label)\n .replace('title', block._title)\n .getRegex();\n\nblock.bullet = /(?:[*+-]|\\d{1,9}[.)])/;\nblock.listItemStart = edit(/^( *)(bull) */)\n .replace('bull', block.bullet)\n .getRegex();\n\nblock.list = edit(block.list)\n .replace(/bull/g, block.bullet)\n .replace('hr', '\\\\n+(?=\\\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\\\* *){3,})(?:\\\\n+|$))')\n .replace('def', '\\\\n+(?=' + block.def.source + ')')\n .getRegex();\n\nblock._tag = 'address|article|aside|base|basefont|blockquote|body|caption'\n + '|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption'\n + '|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe'\n + '|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option'\n + '|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr'\n + '|track|ul';\nblock._comment = /<!--(?!-?>)[\\s\\S]*?(?:-->|$)/;\nblock.html = edit(block.html, 'i')\n .replace('comment', block._comment)\n .replace('tag', block._tag)\n .replace('attribute', / +[a-zA-Z:_][\\w.:-]*(?: *= *\"[^\"\\n]*\"| *= *'[^'\\n]*'| *= *[^\\s\"'=<>`]+)?/)\n .getRegex();\n\nblock.paragraph = edit(block._paragraph)\n .replace('hr', block.hr)\n .replace('heading', ' {0,3}#{1,6} ')\n .replace('|lheading', '') // setex headings don't interrupt commonmark paragraphs\n .replace('|table', '')\n .replace('blockquote', ' {0,3}>')\n .replace('fences', ' {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n')\n .replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt\n .replace('html', '</?(?:tag)(?: +|\\\\n|/?>)|<(?:script|pre|style|textarea|!--)')\n .replace('tag', block._tag) // pars can be interrupted by type (6) html blocks\n .getRegex();\n\nblock.blockquote = edit(block.blockquote)\n .replace('paragraph', block.paragraph)\n .getRegex();\n\n/**\n * Normal Block Grammar\n */\n\nblock.normal = merge({}, block);\n\n/**\n * GFM Block Grammar\n */\n\nblock.gfm = merge({}, block.normal, {\n table: '^ *([^\\\\n ].*\\\\|.*)\\\\n' // Header\n + ' {0,3}(?:\\\\| *)?(:?-+:? *(?:\\\\| *:?-+:? *)*)(?:\\\\| *)?' // Align\n + '(?:\\\\n((?:(?! *\\\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\\\n|$))*)\\\\n*|$)' // Cells\n});\n\nblock.gfm.table = edit(block.gfm.table)\n .replace('hr', block.hr)\n .replace('heading', ' {0,3}#{1,6} ')\n .replace('blockquote', ' {0,3}>')\n .replace('code', ' {4}[^\\\\n]')\n .replace('fences', ' {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n')\n .replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt\n .replace('html', '</?(?:tag)(?: +|\\\\n|/?>)|<(?:script|pre|style|textarea|!--)')\n .replace('tag', block._tag) // tables can be interrupted by type (6) html blocks\n .getRegex();\n\nblock.gfm.paragraph = edit(block._paragraph)\n .replace('hr', block.hr)\n .replace('heading', ' {0,3}#{1,6} ')\n .replace('|lheading', '') // setex headings don't interrupt commonmark paragraphs\n .replace('table', block.gfm.table) // interrupt paragraphs with table\n .replace('blockquote', ' {0,3}>')\n .replace('fences', ' {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n')\n .replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt\n .replace('html', '</?(?:tag)(?: +|\\\\n|/?>)|<(?:script|pre|style|textarea|!--)')\n .replace('tag', block._tag) // pars can be interrupted by type (6) html blocks\n .getRegex();\n/**\n * Pedantic grammar (original John Gruber's loose markdown specification)\n */\n\nblock.pedantic = merge({}, block.normal, {\n html: edit(\n '^ *(?:comment *(?:\\\\n|\\\\s*$)'\n + '|<(tag)[\\\\s\\\\S]+?</\\\\1> *(?:\\\\n{2,}|\\\\s*$)' // closed tag\n + '|<tag(?:\"[^\"]*\"|\\'[^\\']*\\'|\\\\s[^\\'\"/>\\\\s]*)*?/?> *(?:\\\\n{2,}|\\\\s*$))')\n .replace('comment', block._comment)\n .replace(/tag/g, '(?!(?:'\n + 'a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub'\n + '|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)'\n + '\\\\b)\\\\w+(?!:|[^\\\\w\\\\s@]*@)\\\\b')\n .getRegex(),\n def: /^ *\\[([^\\]]+)\\]: *<?([^\\s>]+)>?(?: +([\"(][^\\n]+[\")]))? *(?:\\n+|$)/,\n heading: /^(#{1,6})(.*)(?:\\n+|$)/,\n fences: noopTest, // fences not supported\n paragraph: edit(block.normal._paragraph)\n .replace('hr', block.hr)\n .replace('heading', ' *#{1,6} *[^\\n]')\n .replace('lheading', block.lheading)\n .replace('blockquote', ' {0,3}>')\n .replace('|fences', '')\n .replace('|list', '')\n .replace('|html', '')\n .getRegex()\n});\n\n/**\n * Inline-Level Grammar\n */\nconst inline = {\n escape: /^\\\\([!\"#$%&'()*+,\\-./:;<=>?@\\[\\]\\\\^_`{|}~])/,\n autolink: /^<(scheme:[^\\s\\x00-\\x1f<>]*|email)>/,\n url: noopTest,\n tag: '^comment'\n + '|^</[a-zA-Z][\\\\w:-]*\\\\s*>' // self-closing tag\n + '|^<[a-zA-Z][\\\\w-]*(?:attribute)*?\\\\s*/?>' // open tag\n + '|^<\\\\?[\\\\s\\\\S]*?\\\\?>' // processing instruction, e.g. <?php ?>\n + '|^<![a-zA-Z]+\\\\s[\\\\s\\\\S]*?>' // declaration, e.g. <!DOCTYPE html>\n + '|^<!\\\\[CDATA\\\\[[\\\\s\\\\S]*?\\\\]\\\\]>', // CDATA section\n link: /^!?\\[(label)\\]\\(\\s*(href)(?:\\s+(title))?\\s*\\)/,\n reflink: /^!?\\[(label)\\]\\[(ref)\\]/,\n nolink: /^!?\\[(ref)\\](?:\\[\\])?/,\n reflinkSearch: 'reflink|nolink(?!\\\\()',\n emStrong: {\n lDelim: /^(?:\\*+(?:([punct_])|[^\\s*]))|^_+(?:([punct*])|([^\\s_]))/,\n // (1) and (2) can only be a Right Delimiter. (3) and (4) can only be Left. (5) and (6) can be either Left or Right.\n // () Skip orphan delim inside strong (1) #*** (2) a***#, a*** (3) #***a, ***a (4) ***# (5) #***# (6) a***a\n rDelimAst: /^[^_*]*?\\_\\_[^_*]*?\\*[^_*]*?(?=\\_\\_)|[punct_](\\*+)(?=[\\s]|$)|[^punct*_\\s](\\*+)(?=[punct_\\s]|$)|[punct_\\s](\\*+)(?=[^punct*_\\s])|[\\s](\\*+)(?=[punct_])|[punct_](\\*+)(?=[punct_])|[^punct*_\\s](\\*+)(?=[^punct*_\\s])/,\n rDelimUnd: /^[^_*]*?\\*\\*[^_*]*?\\_[^_*]*?(?=\\*\\*)|[punct*](\\_+)(?=[\\s]|$)|[^punct*_\\s](\\_+)(?=[punct*\\s]|$)|[punct*\\s](\\_+)(?=[^punct*_\\s])|[\\s](\\_+)(?=[punct*])|[punct*](\\_+)(?=[punct*])/ // ^- Not allowed for _\n },\n code: /^(`+)([^`]|[^`][\\s\\S]*?[^`])\\1(?!`)/,\n br: /^( {2,}|\\\\)\\n(?!\\s*$)/,\n del: noopTest,\n text: /^(`+|[^`])(?:(?= {2,}\\n)|[\\s\\S]*?(?:(?=[\\\\<!\\[`*_]|\\b_|$)|[^ ](?= {2,}\\n)))/,\n punctuation: /^([\\spunctuation])/\n};\n\n// list of punctuation marks from CommonMark spec\n// without * and _ to handle the different emphasis markers * and _\ninline._punctuation = '!\"#$%&\\'()+\\\\-.,/:;<=>?@\\\\[\\\\]`^{|}~';\ninline.punctuation = edit(inline.punctuation).replace(/punctuation/g, inline._punctuation).getRegex();\n\n// sequences em should skip over [title](link), `code`, <html>\ninline.blockSkip = /\\[[^\\]]*?\\]\\([^\\)]*?\\)|`[^`]*?`|<[^>]*?>/g;\ninline.escapedEmSt = /\\\\\\*|\\\\_/g;\n\ninline._comment = edit(block._comment).replace('(?:-->|$)', '-->').getRegex();\n\ninline.emStrong.lDelim = edit(inline.emStrong.lDelim)\n .replace(/punct/g, inline._punctuation)\n .getRegex();\n\ninline.emStrong.rDelimAst = edit(inline.emStrong.rDelimAst, 'g')\n .replace(/punct/g, inline._punctuation)\n .getRegex();\n\ninline.emStrong.rDelimUnd = edit(inline.emStrong.rDelimUnd, 'g')\n .replace(/punct/g, inline._punctuation)\n .getRegex();\n\ninline._escapes = /\\\\([!\"#$%&'()*+,\\-./:;<=>?@\\[\\]\\\\^_`{|}~])/g;\n\ninline._scheme = /[a-zA-Z][a-zA-Z0-9+.-]{1,31}/;\ninline._email = /[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/;\ninline.autolink = edit(inline.autolink)\n .replace('scheme', inline._scheme)\n .replace('email', inline._email)\n .getRegex();\n\ninline._attribute = /\\s+[a-zA-Z:_][\\w.:-]*(?:\\s*=\\s*\"[^\"]*\"|\\s*=\\s*'[^']*'|\\s*=\\s*[^\\s\"'=<>`]+)?/;\n\ninline.tag = edit(inline.tag)\n .replace('comment', inline._comment)\n .replace('attribute', inline._attribute)\n .getRegex();\n\ninline._label = /(?:\\[(?:\\\\.|[^\\[\\]\\\\])*\\]|\\\\.|`[^`]*`|[^\\[\\]\\\\`])*?/;\ninline._href = /<(?:\\\\.|[^\\n<>\\\\])+>|[^\\s\\x00-\\x1f]*/;\ninline._title = /\"(?:\\\\\"?|[^\"\\\\])*\"|'(?:\\\\'?|[^'\\\\])*'|\\((?:\\\\\\)?|[^)\\\\])*\\)/;\n\ninline.link = edit(inline.link)\n .replace('label', inline._label)\n .replace('href', inline._href)\n .replace('title', inline._title)\n .getRegex();\n\ninline.reflink = edit(inline.reflink)\n .replace('label', inline._label)\n .replace('ref', block._label)\n .getRegex();\n\ninline.nolink = edit(inline.nolink)\n .replace('ref', block._label)\n .getRegex();\n\ninline.reflinkSearch = edit(inline.reflinkSearch, 'g')\n .replace('reflink', inline.reflink)\n .replace('nolink', inline.nolink)\n .getRegex();\n\n/**\n * Normal Inline Grammar\n */\n\ninline.normal = merge({}, inline);\n\n/**\n * Pedantic Inline Grammar\n */\n\ninline.pedantic = merge({}, inline.normal, {\n strong: {\n start: /^__|\\*\\*/,\n middle: /^__(?=\\S)([\\s\\S]*?\\S)__(?!_)|^\\*\\*(?=\\S)([\\s\\S]*?\\S)\\*\\*(?!\\*)/,\n endAst: /\\*\\*(?!\\*)/g,\n endUnd: /__(?!_)/g\n },\n em: {\n start: /^_|\\*/,\n middle: /^()\\*(?=\\S)([\\s\\S]*?\\S)\\*(?!\\*)|^_(?=\\S)([\\s\\S]*?\\S)_(?!_)/,\n endAst: /\\*(?!\\*)/g,\n endUnd: /_(?!_)/g\n },\n link: edit(/^!?\\[(label)\\]\\((.*?)\\)/)\n .replace('label', inline._label)\n .getRegex(),\n reflink: edit(/^!?\\[(label)\\]\\s*\\[([^\\]]*)\\]/)\n .replace('label', inline._label)\n .getRegex()\n});\n\n/**\n * GFM Inline Grammar\n */\n\ninline.gfm = merge({}, inline.normal, {\n escape: edit(inline.escape).replace('])', '~|])').getRegex(),\n _extended_email: /[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,\n url: /^((?:ftp|https?):\\/\\/|www\\.)(?:[a-zA-Z0-9\\-]+\\.?)+[^\\s<]*|^email/,\n _backpedal: /(?:[^?!.,:;*_~()&]+|\\([^)]*\\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,\n del: /^(~~?)(?=[^\\s~])([\\s\\S]*?[^\\s~])\\1(?=[^~]|$)/,\n text: /^([`~]+|[^`~])(?:(?= {2,}\\n)|(?=[a-zA-Z0-9.!#$%&'*+\\/=?_`{\\|}~-]+@)|[\\s\\S]*?(?:(?=[\\\\<!\\[`*~_]|\\b_|https?:\\/\\/|ftp:\\/\\/|www\\.|$)|[^ ](?= {2,}\\n)|[^a-zA-Z0-9.!#$%&'*+\\/=?_`{\\|}~-](?=[a-zA-Z0-9.!#$%&'*+\\/=?_`{\\|}~-]+@)))/\n});\n\ninline.gfm.url = edit(inline.gfm.url, 'i')\n .replace('email', inline.gfm._extended_email)\n .getRegex();\n/**\n * GFM + Line Breaks Inline Grammar\n */\n\ninline.breaks = merge({}, inline.gfm, {\n br: edit(inline.br).replace('{2,}', '*').getRegex(),\n text: edit(inline.gfm.text)\n .replace('\\\\b_', '\\\\b_| {2,}\\\\n')\n .replace(/\\{2,\\}/g, '*')\n .getRegex()\n});\n\n/**\n * smartypants text replacement\n */\nfunction smartypants(text) {\n return text\n // em-dashes\n .replace(/---/g, '\\u2014')\n // en-dashes\n .replace(/--/g, '\\u2013')\n // opening singles\n .replace(/(^|[-\\u2014/(\\[{\"\\s])'/g, '$1\\u2018')\n // closing singles & apostrophes\n .replace(/'/g, '\\u2019')\n // opening doubles\n .replace(/(^|[-\\u2014/(\\[{\\u2018\\s])\"/g, '$1\\u201c')\n // closing doubles\n .replace(/\"/g, '\\u201d')\n // ellipses\n .replace(/\\.{3}/g, '\\u2026');\n}\n\n/**\n * mangle email addresses\n */\nfunction mangle(text) {\n let out = '',\n i,\n ch;\n\n const l = text.length;\n for (i = 0; i < l; i++) {\n ch = text.charCodeAt(i);\n if (Math.random() > 0.5) {\n ch = 'x' + ch.toString(16);\n }\n out += '&#' + ch + ';';\n }\n\n return out;\n}\n\n/**\n * Block Lexer\n */\nclass Lexer {\n constructor(options) {\n this.tokens = [];\n this.tokens.links = Object.create(null);\n this.options = options || defaults;\n this.options.tokenizer = this.options.tokenizer || new Tokenizer();\n this.tokenizer = this.options.tokenizer;\n this.tokenizer.options = this.options;\n this.tokenizer.lexer = this;\n this.inlineQueue = [];\n this.state = {\n inLink: false,\n inRawBlock: false,\n top: true\n };\n\n const rules = {\n block: block.normal,\n inline: inline.normal\n };\n\n if (this.options.pedantic) {\n rules.block = block.pedantic;\n rules.inline = inline.pedantic;\n } else if (this.options.gfm) {\n rules.block = block.gfm;\n if (this.options.breaks) {\n rules.inline = inline.breaks;\n } else {\n rules.inline = inline.gfm;\n }\n }\n this.tokenizer.rules = rules;\n }\n\n /**\n * Expose Rules\n */\n static get rules() {\n return {\n block,\n inline\n };\n }\n\n /**\n * Static Lex Method\n */\n static lex(src, options) {\n const lexer = new Lexer(options);\n return lexer.lex(src);\n }\n\n /**\n * Static Lex Inline Method\n */\n static lexInline(src, options) {\n const lexer = new Lexer(options);\n return lexer.inlineTokens(src);\n }\n\n /**\n * Preprocessing\n */\n lex(src) {\n src = src\n .replace(/\\r\\n|\\r/g, '\\n')\n .replace(/\\t/g, ' ');\n\n this.blockTokens(src, this.tokens);\n\n let next;\n while (next = this.inlineQueue.shift()) {\n this.inlineTokens(next.src, next.tokens);\n }\n\n return this.tokens;\n }\n\n /**\n * Lexing\n */\n blockTokens(src, tokens = []) {\n if (this.options.pedantic) {\n src = src.replace(/^ +$/gm, '');\n }\n let token, lastToken, cutSrc, lastParagraphClipped;\n\n while (src) {\n if (this.options.extensions\n && this.options.extensions.block\n && this.options.extensions.block.some((extTokenizer) => {\n if (token = extTokenizer.call({ lexer: this }, src, tokens)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n return true;\n }\n return false;\n })) {\n continue;\n }\n\n // newline\n if (token = this.tokenizer.space(src)) {\n src = src.substring(token.raw.length);\n if (token.raw.length === 1 && tokens.length > 0) {\n // if there's a single \\n as a spacer, it's terminating the last line,\n // so move it there so that we don't get unecessary paragraph tags\n tokens[tokens.length - 1].raw += '\\n';\n } else {\n tokens.push(token);\n }\n continue;\n }\n\n // code\n if (token = this.tokenizer.code(src)) {\n src = src.substring(token.raw.length);\n lastToken = tokens[tokens.length - 1];\n // An indented code block cannot interrupt a paragraph.\n if (lastToken && (lastToken.type === 'paragraph' || lastToken.type === 'text')) {\n lastToken.raw += '\\n' + token.raw;\n lastToken.text += '\\n' + token.text;\n this.inlineQueue[this.inlineQueue.length - 1].src = lastToken.text;\n } else {\n tokens.push(token);\n }\n continue;\n }\n\n // fences\n if (token = this.tokenizer.fences(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n\n // heading\n if (token = this.tokenizer.heading(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n\n // hr\n if (token = this.tokenizer.hr(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n\n // blockquote\n if (token = this.tokenizer.blockquote(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n\n // list\n if (token = this.tokenizer.list(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n\n // html\n if (token = this.tokenizer.html(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n\n // def\n if (token = this.tokenizer.def(src)) {\n src = src.substring(token.raw.length);\n lastToken = tokens[tokens.length - 1];\n if (lastToken && (lastToken.type === 'paragraph' || lastToken.type === 'text')) {\n lastToken.raw += '\\n' + token.raw;\n lastToken.text += '\\n' + token.raw;\n this.inlineQueue[this.inlineQueue.length - 1].src = lastToken.text;\n } else if (!this.tokens.links[token.tag]) {\n this.tokens.links[token.tag] = {\n href: token.href,\n title: token.title\n };\n }\n continue;\n }\n\n // table (gfm)\n if (token = this.tokenizer.table(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n\n // lheading\n if (token = this.tokenizer.lheading(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n\n // top-level paragraph\n // prevent paragraph consuming extensions by clipping 'src' to extension start\n cutSrc = src;\n if (this.options.extensions && this.options.extensions.startBlock) {\n let startIndex = Infinity;\n const tempSrc = src.slice(1);\n let tempStart;\n this.options.extensions.startBlock.forEach(function(getStartIndex) {\n tempStart = getStartIndex.call({ lexer: this }, tempSrc);\n if (typeof tempStart === 'number' && tempStart >= 0) { startIndex = Math.min(startIndex, tempStart); }\n });\n if (startIndex < Infinity && startIndex >= 0) {\n cutSrc = src.substring(0, startIndex + 1);\n }\n }\n if (this.state.top && (token = this.tokenizer.paragraph(cutSrc))) {\n lastToken = tokens[tokens.length - 1];\n if (lastParagraphClipped && lastToken.type === 'paragraph') {\n lastToken.raw += '\\n' + token.raw;\n lastToken.text += '\\n' + token.text;\n this.inlineQueue.pop();\n this.inlineQueue[this.inlineQueue.length - 1].src = lastToken.text;\n } else {\n tokens.push(token);\n }\n lastParagraphClipped = (cutSrc.length !== src.length);\n src = src.substring(token.raw.length);\n continue;\n }\n\n // text\n if (token = this.tokenizer.text(src)) {\n src = src.substring(token.raw.length);\n lastToken = tokens[tokens.length - 1];\n if (lastToken && lastToken.type === 'text') {\n lastToken.raw += '\\n' + token.raw;\n lastToken.text += '\\n' + token.text;\n this.inlineQueue.pop();\n this.inlineQueue[this.inlineQueue.length - 1].src = lastToken.text;\n } else {\n tokens.push(token);\n }\n continue;\n }\n\n if (src) {\n const errMsg = 'Infinite loop on byte: ' + src.charCodeAt(0);\n if (this.options.silent) {\n console.error(errMsg);\n break;\n } else {\n throw new Error(errMsg);\n }\n }\n }\n\n this.state.top = true;\n return tokens;\n }\n\n inline(src, tokens) {\n this.inlineQueue.push({ src, tokens });\n }\n\n /**\n * Lexing/Compiling\n */\n inlineTokens(src, tokens = []) {\n let token, lastToken, cutSrc;\n\n // String with links masked to avoid interference with em and strong\n let maskedSrc = src;\n let match;\n let keepPrevChar, prevChar;\n\n // Mask out reflinks\n if (this.tokens.links) {\n const links = Object.keys(this.tokens.links);\n if (links.length > 0) {\n while ((match = this.tokenizer.rules.inline.reflinkSearch.exec(maskedSrc)) != null) {\n if (links.includes(match[0].slice(match[0].lastIndexOf('[') + 1, -1))) {\n maskedSrc = maskedSrc.slice(0, match.index) + '[' + repeatString('a', match[0].length - 2) + ']' + maskedSrc.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex);\n }\n }\n }\n }\n // Mask out other blocks\n while ((match = this.tokenizer.rules.inline.blockSkip.exec(maskedSrc)) != null) {\n maskedSrc = maskedSrc.slice(0, match.index) + '[' + repeatString('a', match[0].length - 2) + ']' + maskedSrc.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);\n }\n\n // Mask out escaped em & strong delimiters\n while ((match = this.tokenizer.rules.inline.escapedEmSt.exec(maskedSrc)) != null) {\n maskedSrc = maskedSrc.slice(0, match.index) + '++' + maskedSrc.slice(this.tokenizer.rules.inline.escapedEmSt.lastIndex);\n }\n\n while (src) {\n if (!keepPrevChar) {\n prevChar = '';\n }\n keepPrevChar = false;\n\n // extensions\n if (this.options.extensions\n && this.options.extensions.inline\n && this.options.extensions.inline.some((extTokenizer) => {\n if (token = extTokenizer.call({ lexer: this }, src, tokens)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n return true;\n }\n return false;\n })) {\n continue;\n }\n\n // escape\n if (token = this.tokenizer.escape(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n\n // tag\n if (token = this.tokenizer.tag(src)) {\n src = src.substring(token.raw.length);\n lastToken = tokens[tokens.length - 1];\n if (lastToken && token.type === 'text' && lastToken.type === 'text') {\n lastToken.raw += token.raw;\n lastToken.text += token.text;\n } else {\n tokens.push(token);\n }\n continue;\n }\n\n // link\n if (token = this.tokenizer.link(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n\n // reflink, nolink\n if (token = this.tokenizer.reflink(src, this.tokens.links)) {\n src = src.substring(token.raw.length);\n lastToken = tokens[tokens.length - 1];\n if (lastToken && token.type === 'text' && lastToken.type === 'text') {\n lastToken.raw += token.raw;\n lastToken.text += token.text;\n } else {\n tokens.push(token);\n }\n continue;\n }\n\n // em & strong\n if (token = this.tokenizer.emStrong(src, maskedSrc, prevChar)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n\n // code\n if (token = this.tokenizer.codespan(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n\n // br\n if (token = this.tokenizer.br(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n\n // del (gfm)\n if (token = this.tokenizer.del(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n\n // autolink\n if (token = this.tokenizer.autolink(src, mangle)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n\n // url (gfm)\n if (!this.state.inLink && (token = this.tokenizer.url(src, mangle))) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n\n // text\n // prevent inlineText consuming extensions by clipping 'src' to extension start\n cutSrc = src;\n if (this.options.extensions && this.options.extensions.startInline) {\n let startIndex = Infinity;\n const tempSrc = src.slice(1);\n let tempStart;\n this.options.extensions.startInline.forEach(function(getStartIndex) {\n tempStart = getStartIndex.call({ lexer: this }, tempSrc);\n if (typeof tempStart === 'number' && tempStart >= 0) { startIndex = Math.min(startIndex, tempStart); }\n });\n if (startIndex < Infinity && startIndex >= 0) {\n cutSrc = src.substring(0, startIndex + 1);\n }\n }\n if (token = this.tokenizer.inlineText(cutSrc, smartypants)) {\n src = src.substring(token.raw.length);\n if (token.raw.slice(-1) !== '_') { // Track prevChar before string of ____ started\n prevChar = token.raw.slice(-1);\n }\n keepPrevChar = true;\n lastToken = tokens[tokens.length - 1];\n if (lastToken && lastToken.type === 'text') {\n lastToken.raw += token.raw;\n lastToken.text += token.text;\n } else {\n tokens.push(token);\n }\n continue;\n }\n\n if (src) {\n const errMsg = 'Infinite loop on byte: ' + src.charCodeAt(0);\n if (this.options.silent) {\n console.error(errMsg);\n break;\n } else {\n throw new Error(errMsg);\n }\n }\n }\n\n return tokens;\n }\n}\n\n/**\n * Renderer\n */\nclass Renderer {\n constructor(options) {\n this.options = options || defaults;\n }\n\n code(code, infostring, escaped) {\n const lang = (infostring || '').match(/\\S*/)[0];\n if (this.options.highlight) {\n const out = this.options.highlight(code, lang);\n if (out != null && out !== code) {\n escaped = true;\n code = out;\n }\n }\n\n code = code.replace(/\\n$/, '') + '\\n';\n\n if (!lang) {\n return '<pre><code>'\n + (escaped ? code : escape(code, true))\n + '</code></pre>\\n';\n }\n\n return '<pre><code class=\"'\n + this.options.langPrefix\n + escape(lang, true)\n + '\">'\n + (escaped ? code : escape(code, true))\n + '</code></pre>\\n';\n }\n\n blockquote(quote) {\n return '<blockquote>\\n' + quote + '</blockquote>\\n';\n }\n\n html(html) {\n return html;\n }\n\n heading(text, level, raw, slugger) {\n if (this.options.headerIds) {\n return '<h'\n + level\n + ' id=\"'\n + this.options.headerPrefix\n + slugger.slug(raw)\n + '\">'\n + text\n + '</h'\n + level\n + '>\\n';\n }\n // ignore IDs\n return '<h' + level + '>' + text + '</h' + level + '>\\n';\n }\n\n hr() {\n return this.options.xhtml ? '<hr/>\\n' : '<hr>\\n';\n }\n\n list(body, ordered, start) {\n const type = ordered ? 'ol' : 'ul',\n startatt = (ordered && start !== 1) ? (' start=\"' + start + '\"') : '';\n return '<' + type + startatt + '>\\n' + body + '</' + type + '>\\n';\n }\n\n listitem(text) {\n return '<li>' + text + '</li>\\n';\n }\n\n checkbox(checked) {\n return '<input '\n + (checked ? 'checked=\"\" ' : '')\n + 'disabled=\"\" type=\"checkbox\"'\n + (this.options.xhtml ? ' /' : '')\n + '> ';\n }\n\n paragraph(text) {\n return '<p>' + text + '</p>\\n';\n }\n\n table(header, body) {\n if (body) body = '<tbody>' + body + '</tbody>';\n\n return '<table>\\n'\n + '<thead>\\n'\n + header\n + '</thead>\\n'\n + body\n + '</table>\\n';\n }\n\n tablerow(content) {\n return '<tr>\\n' + content + '</tr>\\n';\n }\n\n tablecell(content, flags) {\n const type = flags.header ? 'th' : 'td';\n const tag = flags.align\n ? '<' + type + ' align=\"' + flags.align + '\">'\n : '<' + type + '>';\n return tag + content + '</' + type + '>\\n';\n }\n\n // span level renderer\n strong(text) {\n return '<strong>' + text + '</strong>';\n }\n\n em(text) {\n return '<em>' + text + '</em>';\n }\n\n codespan(text) {\n return '<code>' + text + '</code>';\n }\n\n br() {\n return this.options.xhtml ? '<br/>' : '<br>';\n }\n\n del(text) {\n return '<del>' + text + '</del>';\n }\n\n link(href, title, text) {\n href = cleanUrl(this.options.sanitize, this.options.baseUrl, href);\n if (href === null) {\n return text;\n }\n let out = '<a href=\"' + escape(href) + '\"';\n if (title) {\n out += ' title=\"' + title + '\"';\n }\n out += '>' + text + '</a>';\n return out;\n }\n\n image(href, title, text) {\n href = cleanUrl(this.options.sanitize, this.options.baseUrl, href);\n if (href === null) {\n return text;\n }\n\n let out = '<img src=\"' + href + '\" alt=\"' + text + '\"';\n if (title) {\n out += ' title=\"' + title + '\"';\n }\n out += this.options.xhtml ? '/>' : '>';\n return out;\n }\n\n text(text) {\n return text;\n }\n}\n\n/**\n * TextRenderer\n * returns only the textual part of the token\n */\nclass TextRenderer {\n // no need for block level renderers\n strong(text) {\n return text;\n }\n\n em(text) {\n return text;\n }\n\n codespan(text) {\n return text;\n }\n\n del(text) {\n return text;\n }\n\n html(text) {\n return text;\n }\n\n text(text) {\n return text;\n }\n\n link(href, title, text) {\n return '' + text;\n }\n\n image(href, title, text) {\n return '' + text;\n }\n\n br() {\n return '';\n }\n}\n\n/**\n * Slugger generates header id\n */\nclass Slugger {\n constructor() {\n this.seen = {};\n }\n\n serialize(value) {\n return value\n .toLowerCase()\n .trim()\n // remove html tags\n .replace(/<[!\\/a-z].*?>/ig, '')\n // remove unwanted chars\n .replace(/[\\u2000-\\u206F\\u2E00-\\u2E7F\\\\'!\"#$%&()*+,./:;<=>?@[\\]^`{|}~]/g, '')\n .replace(/\\s/g, '-');\n }\n\n /**\n * Finds the next safe (unique) slug to use\n */\n getNextSafeSlug(originalSlug, isDryRun) {\n let slug = originalSlug;\n let occurenceAccumulator = 0;\n if (this.seen.hasOwnProperty(slug)) {\n occurenceAccumulator = this.seen[originalSlug];\n do {\n occurenceAccumulator++;\n slug = originalSlug + '-' + occurenceAccumulator;\n } while (this.seen.hasOwnProperty(slug));\n }\n if (!isDryRun) {\n this.seen[originalSlug] = occurenceAccumulator;\n this.seen[slug] = 0;\n }\n return slug;\n }\n\n /**\n * Convert string to unique id\n * @param {object} options\n * @param {boolean} options.dryrun Generates the next unique slug without updating the internal accumulator.\n */\n slug(value, options = {}) {\n const slug = this.serialize(value);\n return this.getNextSafeSlug(slug, options.dryrun);\n }\n}\n\n/**\n * Parsing & Compiling\n */\nclass Parser {\n constructor(options) {\n this.options = options || defaults;\n this.options.renderer = this.options.renderer || new Renderer();\n this.renderer = this.options.renderer;\n this.renderer.options = this.options;\n this.textRenderer = new TextRenderer();\n this.slugger = new Slugger();\n }\n\n /**\n * Static Parse Method\n */\n static parse(tokens, options) {\n const parser = new Parser(options);\n return parser.parse(tokens);\n }\n\n /**\n * Static Parse Inline Method\n */\n static parseInline(tokens, options) {\n const parser = new Parser(options);\n return parser.parseInline(tokens);\n }\n\n /**\n * Parse Loop\n */\n parse(tokens, top = true) {\n let out = '',\n i,\n j,\n k,\n l2,\n l3,\n row,\n cell,\n header,\n body,\n token,\n ordered,\n start,\n loose,\n itemBody,\n item,\n checked,\n task,\n checkbox,\n ret;\n\n const l = tokens.length;\n for (i = 0; i < l; i++) {\n token = tokens[i];\n\n // Run any renderer extensions\n if (this.options.extensions && this.options.extensions.renderers && this.options.extensions.renderers[token.type]) {\n ret = this.options.extensions.renderers[token.type].call({ parser: this }, token);\n if (ret !== false || !['space', 'hr', 'heading', 'code', 'table', 'blockquote', 'list', 'html', 'paragraph', 'text'].includes(token.type)) {\n out += ret || '';\n continue;\n }\n }\n\n switch (token.type) {\n case 'space': {\n continue;\n }\n case 'hr': {\n out += this.renderer.hr();\n continue;\n }\n case 'heading': {\n out += this.renderer.heading(\n this.parseInline(token.tokens),\n token.depth,\n unescape(this.parseInline(token.tokens, this.textRenderer)),\n this.slugger);\n continue;\n }\n case 'code': {\n out += this.renderer.code(token.text,\n token.lang,\n token.escaped);\n continue;\n }\n case 'table': {\n header = '';\n\n // header\n cell = '';\n l2 = token.header.length;\n for (j = 0; j < l2; j++) {\n cell += this.renderer.tablecell(\n this.parseInline(token.header[j].tokens),\n { header: true, align: token.align[j] }\n );\n }\n header += this.renderer.tablerow(cell);\n\n body = '';\n l2 = token.rows.length;\n for (j = 0; j < l2; j++) {\n row = token.rows[j];\n\n cell = '';\n l3 = row.length;\n for (k = 0; k < l3; k++) {\n cell += this.renderer.tablecell(\n this.parseInline(row[k].tokens),\n { header: false, align: token.align[k] }\n );\n }\n\n body += this.renderer.tablerow(cell);\n }\n out += this.renderer.table(header, body);\n continue;\n }\n case 'blockquote': {\n body = this.parse(token.tokens);\n out += this.renderer.blockquote(body);\n continue;\n }\n case 'list': {\n ordered = token.ordered;\n start = token.start;\n loose = token.loose;\n l2 = token.items.length;\n\n body = '';\n for (j = 0; j < l2; j++) {\n item = token.items[j];\n checked = item.checked;\n task = item.task;\n\n itemBody = '';\n if (item.task) {\n checkbox = this.renderer.checkbox(checked);\n if (loose) {\n if (item.tokens.length > 0 && item.tokens[0].type === 'paragraph') {\n item.tokens[0].text = checkbox + ' ' + item.tokens[0].text;\n if (item.tokens[0].tokens && item.tokens[0].tokens.length > 0 && item.tokens[0].tokens[0].type === 'text') {\n item.tokens[0].tokens[0].text = checkbox + ' ' + item.tokens[0].tokens[0].text;\n }\n } else {\n item.tokens.unshift({\n type: 'text',\n text: checkbox\n });\n }\n } else {\n itemBody += checkbox;\n }\n }\n\n itemBody += this.parse(item.tokens, loose);\n body += this.renderer.listitem(itemBody, task, checked);\n }\n\n out += this.renderer.list(body, ordered, start);\n continue;\n }\n case 'html': {\n // TODO parse inline content if parameter markdown=1\n out += this.renderer.html(token.text);\n continue;\n }\n case 'paragraph': {\n out += this.renderer.paragraph(this.parseInline(token.tokens));\n continue;\n }\n case 'text': {\n body = token.tokens ? this.parseInline(token.tokens) : token.text;\n while (i + 1 < l && tokens[i + 1].type === 'text') {\n token = tokens[++i];\n body += '\\n' + (token.tokens ? this.parseInline(token.tokens) : token.text);\n }\n out += top ? this.renderer.paragraph(body) : body;\n continue;\n }\n\n default: {\n const errMsg = 'Token with \"' + token.type + '\" type was not found.';\n if (this.options.silent) {\n console.error(errMsg);\n return;\n } else {\n throw new Error(errMsg);\n }\n }\n }\n }\n\n return out;\n }\n\n /**\n * Parse Inline Tokens\n */\n parseInline(tokens, renderer) {\n renderer = renderer || this.renderer;\n let out = '',\n i,\n token,\n ret;\n\n const l = tokens.length;\n for (i = 0; i < l; i++) {\n token = tokens[i];\n\n // Run any renderer extensions\n if (this.options.extensions && this.options.extensions.renderers && this.options.extensions.renderers[token.type]) {\n ret = this.options.extensions.renderers[token.type].call({ parser: this }, token);\n if (ret !== false || !['escape', 'html', 'link', 'image', 'strong', 'em', 'codespan', 'br', 'del', 'text'].includes(token.type)) {\n out += ret || '';\n continue;\n }\n }\n\n switch (token.type) {\n case 'escape': {\n out += renderer.text(token.text);\n break;\n }\n case 'html': {\n out += renderer.html(token.text);\n break;\n }\n case 'link': {\n out += renderer.link(token.href, token.title, this.parseInline(token.tokens, renderer));\n break;\n }\n case 'image': {\n out += renderer.image(token.href, token.title, token.text);\n break;\n }\n case 'strong': {\n out += renderer.strong(this.parseInline(token.tokens, renderer));\n break;\n }\n case 'em': {\n out += renderer.em(this.parseInline(token.tokens, renderer));\n break;\n }\n case 'codespan': {\n out += renderer.codespan(token.text);\n break;\n }\n case 'br': {\n out += renderer.br();\n break;\n }\n case 'del': {\n out += renderer.del(this.parseInline(token.tokens, renderer));\n break;\n }\n case 'text': {\n out += renderer.text(token.text);\n break;\n }\n default: {\n const errMsg = 'Token with \"' + token.type + '\" type was not found.';\n if (this.options.silent) {\n console.error(errMsg);\n return;\n } else {\n throw new Error(errMsg);\n }\n }\n }\n }\n return out;\n }\n}\n\n/**\n * Marked\n */\nfunction marked(src, opt, callback) {\n // throw error in case of non string input\n if (typeof src === 'undefined' || src === null) {\n throw new Error('marked(): input parameter is undefined or null');\n }\n if (typeof src !== 'string') {\n throw new Error('marked(): input parameter is of type '\n + Object.prototype.toString.call(src) + ', string expected');\n }\n\n if (typeof opt === 'function') {\n callback = opt;\n opt = null;\n }\n\n opt = merge({}, marked.defaults, opt || {});\n checkSanitizeDeprecation(opt);\n\n if (callback) {\n const highlight = opt.highlight;\n let tokens;\n\n try {\n tokens = Lexer.lex(src, opt);\n } catch (e) {\n return callback(e);\n }\n\n const done = function(err) {\n let out;\n\n if (!err) {\n try {\n if (opt.walkTokens) {\n marked.walkTokens(tokens, opt.walkTokens);\n }\n out = Parser.parse(tokens, opt);\n } catch (e) {\n err = e;\n }\n }\n\n opt.highlight = highlight;\n\n return err\n ? callback(err)\n : callback(null, out);\n };\n\n if (!highlight || highlight.length < 3) {\n return done();\n }\n\n delete opt.highlight;\n\n if (!tokens.length) return done();\n\n let pending = 0;\n marked.walkTokens(tokens, function(token) {\n if (token.type === 'code') {\n pending++;\n setTimeout(() => {\n highlight(token.text, token.lang, function(err, code) {\n if (err) {\n return done(err);\n }\n if (code != null && code !== token.text) {\n token.text = code;\n token.escaped = true;\n }\n\n pending--;\n if (pending === 0) {\n done();\n }\n });\n }, 0);\n }\n });\n\n if (pending === 0) {\n done();\n }\n\n return;\n }\n\n try {\n const tokens = Lexer.lex(src, opt);\n if (opt.walkTokens) {\n marked.walkTokens(tokens, opt.walkTokens);\n }\n return Parser.parse(tokens, opt);\n } catch (e) {\n e.message += '\\nPlease report this to https://github.com/markedjs/marked.';\n if (opt.silent) {\n return '<p>An error occurred:</p><pre>'\n + escape(e.message + '', true)\n + '</pre>';\n }\n throw e;\n }\n}\n\n/**\n * Options\n */\n\nmarked.options =\nmarked.setOptions = function(opt) {\n merge(marked.defaults, opt);\n changeDefaults(marked.defaults);\n return marked;\n};\n\nmarked.getDefaults = getDefaults;\n\nmarked.defaults = defaults;\n\n/**\n * Use Extension\n */\n\nmarked.use = function(...args) {\n const opts = merge({}, ...args);\n const extensions = marked.defaults.extensions || { renderers: {}, childTokens: {} };\n let hasExtensions;\n\n args.forEach((pack) => {\n // ==-- Parse \"addon\" extensions --== //\n if (pack.extensions) {\n hasExtensions = true;\n pack.extensions.forEach((ext) => {\n if (!ext.name) {\n throw new Error('extension name required');\n }\n if (ext.renderer) { // Renderer extensions\n const prevRenderer = extensions.renderers ? extensions.renderers[ext.name] : null;\n if (prevRenderer) {\n // Replace extension with func to run new extension but fall back if false\n extensions.renderers[ext.name] = function(...args) {\n let ret = ext.renderer.apply(this, args);\n if (ret === false) {\n ret = prevRenderer.apply(this, args);\n }\n return ret;\n };\n } else {\n extensions.renderers[ext.name] = ext.renderer;\n }\n }\n if (ext.tokenizer) { // Tokenizer Extensions\n if (!ext.level || (ext.level !== 'block' && ext.level !== 'inline')) {\n throw new Error(\"extension level must be 'block' or 'inline'\");\n }\n if (extensions[ext.level]) {\n extensions[ext.level].unshift(ext.tokenizer);\n } else {\n extensions[ext.level] = [ext.tokenizer];\n }\n if (ext.start) { // Function to check for start of token\n if (ext.level === 'block') {\n if (extensions.startBlock) {\n extensions.startBlock.push(ext.start);\n } else {\n extensions.startBlock = [ext.start];\n }\n } else if (ext.level === 'inline') {\n if (extensions.startInline) {\n extensions.startInline.push(ext.start);\n } else {\n extensions.startInline = [ext.start];\n }\n }\n }\n }\n if (ext.childTokens) { // Child tokens to be visited by walkTokens\n extensions.childTokens[ext.name] = ext.childTokens;\n }\n });\n }\n\n // ==-- Parse \"overwrite\" extensions --== //\n if (pack.renderer) {\n const renderer = marked.defaults.renderer || new Renderer();\n for (const prop in pack.renderer) {\n const prevRenderer = renderer[prop];\n // Replace renderer with func to run extension, but fall back if false\n renderer[prop] = (...args) => {\n let ret = pack.renderer[prop].apply(renderer, args);\n if (ret === false) {\n ret = prevRenderer.apply(renderer, args);\n }\n return ret;\n };\n }\n opts.renderer = renderer;\n }\n if (pack.tokenizer) {\n const tokenizer = marked.defaults.tokenizer || new Tokenizer();\n for (const prop in pack.tokenizer) {\n const prevTokenizer = tokenizer[prop];\n // Replace tokenizer with func to run extension, but fall back if false\n tokenizer[prop] = (...args) => {\n let ret = pack.tokenizer[prop].apply(tokenizer, args);\n if (ret === false) {\n ret = prevTokenizer.apply(tokenizer, args);\n }\n return ret;\n };\n }\n opts.tokenizer = tokenizer;\n }\n\n // ==-- Parse WalkTokens extensions --== //\n if (pack.walkTokens) {\n const walkTokens = marked.defaults.walkTokens;\n opts.walkTokens = function(token) {\n pack.walkTokens.call(this, token);\n if (walkTokens) {\n walkTokens.call(this, token);\n }\n };\n }\n\n if (hasExtensions) {\n opts.extensions = extensions;\n }\n\n marked.setOptions(opts);\n });\n};\n\n/**\n * Run callback for every token\n */\n\nmarked.walkTokens = function(tokens, callback) {\n for (const token of tokens) {\n callback.call(marked, token);\n switch (token.type) {\n case 'table': {\n for (const cell of token.header) {\n marked.walkTokens(cell.tokens, callback);\n }\n for (const row of token.rows) {\n for (const cell of row) {\n marked.walkTokens(cell.tokens, callback);\n }\n }\n break;\n }\n case 'list': {\n marked.walkTokens(token.items, callback);\n break;\n }\n default: {\n if (marked.defaults.extensions && marked.defaults.extensions.childTokens && marked.defaults.extensions.childTokens[token.type]) { // Walk any extensions\n marked.defaults.extensions.childTokens[token.type].forEach(function(childTokens) {\n marked.walkTokens(token[childTokens], callback);\n });\n } else if (token.tokens) {\n marked.walkTokens(token.tokens, callback);\n }\n }\n }\n }\n};\n\n/**\n * Parse Inline\n */\nmarked.parseInline = function(src, opt) {\n // throw error in case of non string input\n if (typeof src === 'undefined' || src === null) {\n throw new Error('marked.parseInline(): input parameter is undefined or null');\n }\n if (typeof src !== 'string') {\n throw new Error('marked.parseInline(): input parameter is of type '\n + Object.prototype.toString.call(src) + ', string expected');\n }\n\n opt = merge({}, marked.defaults, opt || {});\n checkSanitizeDeprecation(opt);\n\n try {\n const tokens = Lexer.lexInline(src, opt);\n if (opt.walkTokens) {\n marked.walkTokens(tokens, opt.walkTokens);\n }\n return Parser.parseInline(tokens, opt);\n } catch (e) {\n e.message += '\\nPlease report this to https://github.com/markedjs/marked.';\n if (opt.silent) {\n return '<p>An error occurred:</p><pre>'\n + escape(e.message + '', true)\n + '</pre>';\n }\n throw e;\n }\n};\n\n/**\n * Expose\n */\nmarked.Parser = Parser;\nmarked.parser = Parser.parse;\nmarked.Renderer = Renderer;\nmarked.TextRenderer = TextRenderer;\nmarked.Lexer = Lexer;\nmarked.lexer = Lexer.lex;\nmarked.Tokenizer = Tokenizer;\nmarked.Slugger = Slugger;\nmarked.parse = marked;\n\nconst options = marked.options;\nconst setOptions = marked.setOptions;\nconst use = marked.use;\nconst walkTokens = marked.walkTokens;\nconst parseInline = marked.parseInline;\nconst parse = marked;\nconst parser = Parser.parse;\nconst lexer = Lexer.lex;\n\nexport { Lexer, Parser, Renderer, Slugger, TextRenderer, Tokenizer, defaults, getDefaults, lexer, marked, options, parse, parseInline, parser, setOptions, use, walkTokens };\n","import { marked } from 'marked'\nimport { ChangelogTag } from '.'\nimport type { Change, ChangelogVersion } from '../../services'\n\ntype Props = {\n\tchange: Change,\n\tactiveTags?: string[],\n\ttoggleTag?: (tag: string) => unknown,\n}\nexport function ChangelogEntry({ change, activeTags, toggleTag }: Props) {\n\treturn <div class=\"changelog-entry\">\n\t\t<div class=\"changelog-version\">\n\t\t\t<ArticleLink {...change.version}/>\n\t\t\t<ArticleLink {...change.group}/>\n\t\t</div>\n\t\t<div class=\"changelog-tags\">\n\t\t\t{change.tags.map(tag => <ChangelogTag label={tag} onClick={toggleTag ? () => toggleTag(tag) : undefined} active={activeTags?.includes(tag)} />)}\n\t\t</div>\n\t\t<div class=\"changelog-content\" dangerouslySetInnerHTML={{ __html: marked(change.content) }} />\n\t</div>\n}\n\nfunction ArticleLink({ id, article }: ChangelogVersion) {\n\treturn article === null\n\t\t? <span>{id}</span>\n\t\t: <a href={`https://www.minecraft.net/en-us/article/${article}`} target=\"_blank\">{id}</a>\n}\n","import { Octicon } from '..'\nimport { hashString } from '../../Utils'\n\ntype TagProps = {\n\tlabel: string,\n\tactive?: boolean,\n\tonClick?: (e: MouseEvent) => unknown,\n}\nexport function ChangelogTag({ label, active, onClick }: TagProps) {\n\tconst color = label === 'breaking' ? 5 : hashString(label) % 360\n\treturn <div class={`changelog-tag${active ? ' active' : ''}${onClick ? ' clickable' : ''}`} style={`--tint: ${color}`} onClick={onClick}>\n\t\t{label === 'breaking' && Octicon.alert}\n\t\t{label}\n\t</div>\n}\n","import { useMemo, useState } from 'preact/hooks'\nimport { Btn, TextInput } from '..'\nimport { useLocale } from '../../contexts'\nimport type { Change } from '../../services'\nimport { ChangelogEntry } from './ChangelogEntry'\nimport { ChangelogTag } from './ChangelogTag'\n\ninterface Props {\n\tchanges: Change[] | undefined,\n\tdefaultOrder: 'asc' | 'desc',\n}\nexport function ChangelogList({ changes, defaultOrder }: Props) {\n\tconst { locale } = useLocale()\n\t\n\tconst [search, setSearch] = useState('')\n\tconst [tags, setTags] = useState<string[]>([])\n\tconst toggleTag = (tag: string) => {\n\t\tif (!tags.includes(tag)) {\n\t\t\tsetTags([...tags, tag])\n\t\t} else {\n\t\t\tsetTags(tags.filter(t => t !== tag))\n\t\t}\n\t}\n\n\tconst filteredChangelogs = useMemo(() => {\n\t\tconst query = search.split(' ').map(q => q.trim().toLowerCase()).filter(q => q.length > 0)\n\t\tif (query.length === 0 && tags.length === 0) return changes\n\t\treturn changes?.filter(change => {\n\t\t\tif (!tags.every(tag => change.tags.includes(tag))) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t\tconst content = change.tags.join(' ') + ' ' + change.content.toLowerCase()\n\t\t\treturn query.every(q => {\n\t\t\t\tif (q.startsWith('!')) {\n\t\t\t\t\treturn q.length === 1 || !content.includes(q.slice(1))\n\t\t\t\t}\n\t\t\t\treturn content.includes(q)\n\t\t\t})\n\t\t})\n\t}, [changes, search, tags])\n\n\tconst [sort, setSort] = useState(defaultOrder === 'desc')\n\n\tconst sortedChangelogs = useMemo(() => {\n\t\treturn filteredChangelogs?.sort((a, b) => sort ? b.order - a.order : a.order - b.order)\n\t}, [filteredChangelogs, sort])\n\n\treturn <>\n\t\t<div class=\"changelog-query\">\n\t\t\t<TextInput class=\"btn btn-input changelog-search\" list=\"sound-list\" placeholder={locale('changelog.search')}\n\t\t\t\tvalue={search} onChange={setSearch} />\n\t\t\t<Btn icon={sort ? 'sort_desc' : 'sort_asc'} label={sort ? 'Newest first' : 'Oldest first'} onClick={() => setSort(!sort)} />\n\t\t</div>\n\t\t{tags.length > 0 && <div class=\"changelog-tags\">\n\t\t\t{tags.map(tag => <ChangelogTag label={tag} onClick={() => setTags(tags.filter(t => t !== tag))} />)}\n\t\t</div>}\n\t\t<div class=\"changelog-list\">\n\t\t\t{sortedChangelogs === undefined\n\t\t\t\t? <span class=\"note\">{locale('loading')}</span>\n\t\t\t\t: sortedChangelogs.length === 0\n\t\t\t\t\t? <span class=\"note\">{locale('changelog.no_results')}</span>\n\t\t\t\t\t:\tsortedChangelogs.map(change =>\n\t\t\t\t\t\t<ChangelogEntry change={change} activeTags={tags} toggleTag={toggleTag} />)}\n\t\t</div>\n\t</>\n}\n","import { useEffect, useMemo, useState } from 'preact/hooks'\nimport { VersionMetaData } from '.'\nimport { useLocale } from '../../contexts'\nimport type { Change, VersionMeta } from '../../services'\nimport { getChangelogs } from '../../services'\nimport { Giscus } from '../Giscus'\nimport { ChangelogList } from './ChangelogList'\n\ntype Tab = 'changelog' | 'discussion' \n\ninterface Props {\n\tversion: VersionMeta\n}\nexport function VersionDetail({ version }: Props) {\n\tconst { locale } = useLocale()\n\n\tconst [tab, setTab] = useState<Tab>('changelog')\n\n\tconst [changelogs, setChangelogs] = useState<Change[] | undefined>(undefined)\n\tuseEffect(() => {\n\t\tgetChangelogs()\n\t\t\t.then(changelogs => setChangelogs(\n\t\t\t\tchangelogs.map(c => ({ ...c, tags: c.tags.filter(t => t !== c.group.id) }))\n\t\t\t))\n\t\t\t.catch(e => console.error(e))\n\t}, [])\n\n\tconst filteredChangelogs = useMemo(() =>\n\t\tchangelogs?.filter(c => c.version.id === version.id || c.group.id === version.id),\n\t[version.id, changelogs])\n\n\treturn <>\n\t\t<div class=\"version-detail\">\n\t\t\t<h2>{version.name}</h2>\n\t\t\t<div class=\"version-info\">\n\t\t\t\t<VersionMetaData label={locale('versions.released')} value={releaseDate(version)} />\n\t\t\t\t<VersionMetaData label={locale('versions.release_target')} value={version.release_target} link={version.id !== version.release_target ? `/versions/?id=${version.release_target}` : undefined} />\n\t\t\t\t<VersionMetaData label={locale('versions.data_version')} value={version.data_version} />\n\t\t\t\t<VersionMetaData label={locale('versions.protocol_version')} value={version.protocol_version} />\n\t\t\t\t<VersionMetaData label={locale('versions.data_pack_format')} value={version.data_pack_version} />\n\t\t\t\t<VersionMetaData label={locale('versions.resource_pack_format')} value={version.resource_pack_version} />\n\t\t\t</div>\n\t\t\t<div class=\"version-tabs\">\n\t\t\t\t<span class={tab === 'changelog' ? 'selected' : ''} onClick={() => setTab('changelog')}>{locale('versions.technical_changes')}</span>\n\t\t\t\t<span class={tab === 'discussion' ? 'selected' : ''} onClick={() => setTab('discussion')}>{locale('versions.discussion')}</span>\n\t\t\t</div>\n\t\t\t<div class=\"version-tab\">\n\t\t\t\t{tab === 'changelog' && <ChangelogList changes={filteredChangelogs} defaultOrder=\"asc\" />}\n\t\t\t\t{tab === 'discussion' && <Giscus term={`version/${version.id}`} />}\n\t\t\t</div>\n\t\t</div>\n\t</>\n}\n\nexport function releaseDate(version: VersionMeta) {\n\treturn new Date(version.release_time).toLocaleDateString(undefined, { day: 'numeric', month: 'short', year: 'numeric' })\n}\n","import { releaseDate, VersionMetaData } from '.'\nimport { useLocale } from '../../contexts'\nimport type { VersionMeta } from '../../services'\n\ninterface Props {\n\tversion: VersionMeta,\n\tlink?: string,\n}\nexport function VersionEntry({ version, link }: Props) {\n\tconst { locale } = useLocale()\n\n\treturn <a class=\"version-entry\" href={link}>\n\t\t<span class=\"version-id\">{version.id}</span>\n\t\t<VersionMetaData label={locale('versions.released')} value={releaseDate(version)} compact />\n\t\t<VersionMetaData label={locale('versions.data_version')} value={version.data_version} optional />\n\t\t<VersionMetaData label={locale('versions.pack_format')} value={version.data_pack_version} optional />\n\t</a>\n}\n","import { useMemo, useState } from 'preact/hooks'\nimport { Checkbox, TextInput } from '..'\nimport { useLocale } from '../../contexts'\nimport type { VersionMeta } from '../../services'\nimport { VersionEntry } from './VersionEntry'\n\ninterface Props {\n\tversions: VersionMeta[]\n\tlink?: (id: string) => string\n}\nexport function VersionList({ versions, link }: Props) {\n\tconst { locale } = useLocale()\n\t\n\tconst [snapshots, setSnapshots] = useState(true)\n\tconst [search, setSearch] = useState('')\n\n\tconst filteredVersions = useMemo(() => versions.filter(v => {\n\t\tif (v.type === 'snapshot' && !snapshots) return false\n\t\treturn v.id.includes(search)\n\t}), [versions, snapshots, search])\n\n\n\treturn <>\n\t\t<div class=\"versions-controls\">\n\t\t\t<TextInput class=\"btn btn-input version-search\" placeholder={locale('versions.search')}\n\t\t\t\tvalue={search} onChange={setSearch} />\n\t\t\t<Checkbox label=\"Include snapshots\" value={snapshots} onChange={setSnapshots} />\n\t\t</div>\n\t\t<div class=\"version-list\">\n\t\t\t{filteredVersions.map(v => <VersionEntry version={v} link={link?.(v.id)} />)}\n\t\t\t{filteredVersions.length === 0 && <span>\n\t\t\t\t{locale('versions.no_results')}\n\t\t\t</span>}\n\t\t</div>\n\t</>\n}\n","import { Octicon } from '..'\n\ninterface Props {\n\tlabel: string,\n\tvalue: string | number,\n\tlink?: string,\n\tcompact?: boolean,\n\toptional?: boolean,\n}\nexport function VersionMetaData({ label, value, link, compact, optional }: Props) {\n\treturn <div class={`version-metadata${optional ? ' version-metadata-hide' : ''}`}>\n\t\t<span class={compact ? 'version-metadata-hide' : undefined}>{label}: </span>\n\t\t<span class=\"version-metadata-value\">{value}</span>\n\t\t{link && <a href={link} class=\"version-metadata-link\">{Octicon.link_external}</a>}\n\t</div>\n}\n","import { ChangelogTag } from './versions'\n\ninterface Props {\n\ttitle: string,\n\tlink: string,\n\tversions: string[],\n\ttags: string[],\n\tactiveTags?: string[],\n\ttoggleTag?: (tag: string) => unknown,\n}\nexport function GuideCard({ title, link, versions, tags, activeTags, toggleTag }: Props) {\n\tconst onToggleTag = (tag: string) => (e: MouseEvent) => {\n\t\tif (toggleTag) toggleTag(tag)\n\t\te.preventDefault()\n\t\te.stopImmediatePropagation()\n\t}\n\n\treturn <a class=\"guide-card\" href={link} >\n\t\t<span class=\"guide-versions\">{versions.join(' • ')}</span>\n\t\t<h3>{title}</h3>\n\t\t<div class=\"guide-tags\">\n\t\t\t{tags.sort().map(tag => <ChangelogTag label={tag} onClick={onToggleTag(tag)} active={activeTags?.includes(tag)} />)}\n\t\t</div>\n\t</a>\n}\n","import { getCurrentUrl, Link, route } from 'preact-router'\nimport { Btn, BtnMenu, Icons, Octicon } from '.'\nimport config from '../../config.json'\nimport { useLocale, useTheme, useTitle, useVersion } from '../contexts'\nimport { checkVersion } from '../services'\nimport { cleanUrl, getGenerator } from '../Utils'\n\nconst Themes: Record<string, keyof typeof Octicon> = {\n\tsystem: 'device_desktop',\n\tdark: 'moon',\n\tlight: 'sun',\n}\n\nexport function Header() {\n\tconst { lang, locale, changeLocale: changeLanguage } = useLocale()\n\tconst { theme, changeTheme } = useTheme()\n\tconst { version } = useVersion()\n\tconst { title } = useTitle()\n\tconst gen = getGenerator(getCurrentUrl())\n\n\treturn <header>\n\t\t<div class=\"title\">\n\t\t\t<Link class=\"home-link\" href=\"/\" aria-label={locale('home')} data-cy=\"home-link\">{Icons.home}</Link>\n\t\t\t<h1>{title}</h1>\n\t\t\t{gen && <BtnMenu icon=\"chevron_down\" tooltip={locale('switch_generator')} data-cy=\"generator-switcher\">\n\t\t\t\t{config.generators\n\t\t\t\t\t.filter(g => g.category === gen?.category && checkVersion(version, g.minVersion))\n\t\t\t\t\t.map(g =>\n\t\t\t\t\t\t<Btn label={locale(g.id)} active={g.id === gen.id} onClick={() => route(cleanUrl(g.url))} />\n\t\t\t\t\t)}\n\t\t\t</BtnMenu>}\n\t\t</div>\n\t\t<nav>\n\t\t\t<ul>\n\t\t\t\t<li data-cy=\"language-switcher\">\n\t\t\t\t\t<BtnMenu icon=\"globe\" tooltip={locale('language')}>\n\t\t\t\t\t\t{config.languages.map(({ code, name }) =>\n\t\t\t\t\t\t\t<Btn label={name} active={code === lang}\n\t\t\t\t\t\t\t\tonClick={() => changeLanguage(code)} />\n\t\t\t\t\t\t)}\n\t\t\t\t\t</BtnMenu>\n\t\t\t\t</li>\n\t\t\t\t<li data-cy=\"theme-switcher\">\n\t\t\t\t\t<BtnMenu icon={Themes[theme]} tooltip={locale('theme')}>\n\t\t\t\t\t\t{Object.entries(Themes).map(([th, icon]) =>\n\t\t\t\t\t\t\t<Btn icon={icon} label={locale(`theme.${th}`)} active={th === theme}\n\t\t\t\t\t\t\t\tonClick={() => changeTheme(th)} />\n\t\t\t\t\t\t)}\n\t\t\t\t\t</BtnMenu>\n\t\t\t\t</li>\n\t\t\t\t<li class=\"dimmed\">\n\t\t\t\t\t<a href=\"https://github.com/misode/misode.github.io\" target=\"_blank\" rel=\"noreferrer\" class=\"tooltipped tip-sw\" aria-label={locale('github')}>\n\t\t\t\t\t\t{Octicon.mark_github}\n\t\t\t\t\t</a>\n\t\t\t\t</li>\n\t\t\t</ul>\n\t\t</nav>\n\t</header>\n}\n","export const Icons = {\n\thome: <svg width=\"32\" height=\"28\" viewBox=\"0 0 32 28\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><rect width=\"26\" height=\"6\" rx=\"3\" fill=\"#7CB45C\"/><rect x=\"8\" width=\"18\" height=\"6\" rx=\"3\" fill=\"#4BA041\"/><rect y=\"11\" width=\"32\" height=\"6\" rx=\"3\" fill=\"#AAA8A8\"/><rect x=\"11\" y=\"11\" width=\"21\" height=\"6\" rx=\"3\" fill=\"#91908F\"/><rect x=\"11\" y=\"22\" width=\"21\" height=\"6\" rx=\"3\" fill=\"#70B5C3\"/><rect x=\"17\" y=\"22\" width=\"15\" height=\"6\" rx=\"3\" fill=\"#4D989B\"/></svg>,\n\treport: <svg width=\"30\" height=\"36\" viewBox=\"0 0 30 36\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M0 16C0 13.7909 1.79086 12 4 12V12C6.20914 12 8 13.7909 8 16V32C8 34.2091 6.20914 36 4 36V36C1.79086 36 0 34.2091 0 32V16Z\" fill=\"#6ACC5D\"/><path d=\"M11 4C11 1.79086 12.7909 0 15 0V0C17.2091 0 19 1.79086 19 4V32C19 34.2091 17.2091 36 15 36V36C12.7909 36 11 34.2091 11 32V4Z\" fill=\"#FF4C4C\"/><path d=\"M22 10C22 7.79086 23.7909 6 26 6V6C28.2091 6 30 7.79086 30 10V32C30 34.2091 28.2091 36 26 36V36C23.7909 36 22 34.2091 22 32V10Z\" fill=\"#E5B442\"/><path d=\"M0 23C0 20.7909 1.79086 19 4 19V19C6.20914 19 8 20.7909 8 23V32C8 34.2091 6.20914 36 4 36V36C1.79086 36 0 34.2091 0 32V23Z\" fill=\"#2BAD1D\"/><path d=\"M11 15C11 12.7909 12.7909 11 15 11V11C17.2091 11 19 12.7909 19 15V32C19 34.2091 17.2091 36 15 36V36C12.7909 36 11 34.2091 11 32V15Z\" fill=\"#C10B0B\"/><path d=\"M22 19C22 16.7909 23.7909 15 26 15V15C28.2091 15 30 16.7909 30 19V32C30 34.2091 28.2091 36 26 36V36C23.7909 36 22 34.2091 22 32V19Z\" fill=\"#CC8E00\"/></svg>,\n\tsounds: <svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><circle cx=\"10\" cy=\"10\" r=\"10\" fill=\"#451475\"/><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M3.5 10C3.5 8.27609 4.18482 6.62279 5.40381 5.40381C6.62279 4.18482 8.27609 3.5 10 3.5C11.7239 3.5 13.3772 4.18482 14.5962 5.40381C15.8152 6.62279 16.5 8.27609 16.5 10C16.5 11.7239 15.8152 13.3772 14.5962 14.5962C13.3772 15.8152 11.7239 16.5 10 16.5C8.27609 16.5 6.62279 15.8152 5.40381 14.5962C4.18482 13.3772 3.5 11.7239 3.5 10V10ZM10 2C7.87827 2 5.84344 2.84285 4.34315 4.34315C2.84285 5.84344 2 7.87827 2 10C2 12.1217 2.84285 14.1566 4.34315 15.6569C5.84344 17.1571 7.87827 18 10 18C12.1217 18 14.1566 17.1571 15.6569 15.6569C17.1571 14.1566 18 12.1217 18 10C18 7.87827 17.1571 5.84344 15.6569 4.34315C14.1566 2.84285 12.1217 2 10 2V2ZM8.379 7.227C8.34101 7.20412 8.29762 7.19175 8.25327 7.19117C8.20892 7.19059 8.16522 7.20181 8.12664 7.2237C8.08807 7.24558 8.05601 7.27733 8.03375 7.3157C8.0115 7.35406 7.99985 7.39765 8 7.442V12.559C8.00003 12.6033 8.0118 12.6467 8.03413 12.685C8.05646 12.7232 8.08854 12.7548 8.12708 12.7765C8.16563 12.7983 8.20926 12.8095 8.25352 12.8088C8.29778 12.8082 8.34108 12.7958 8.379 12.773L12.643 10.214C12.6798 10.1917 12.7103 10.1604 12.7315 10.1229C12.7526 10.0854 12.7638 10.043 12.7638 10C12.7638 9.95695 12.7526 9.91463 12.7315 9.87714C12.7103 9.83965 12.6798 9.80825 12.643 9.786L8.379 7.227Z\" fill=\"#C5A5E6\"/></svg>,\n}\n","import type { Howl, HowlOptions } from 'howler'\nimport { useEffect, useRef, useState } from 'preact/hooks'\nimport { Btn, NumberInput, RangeInput, TextInput } from '..'\nimport { useLocale, useVersion } from '../../contexts'\nimport type { SoundEvents } from '../../services'\nimport { getSoundUrl } from '../../services'\n\nexport interface SoundConfig {\n\tid: string,\n\tsound: string,\n\tdelay: number,\n\tpitch: number,\n\tvolume: number,\n}\ntype SoundConfigProps = SoundConfig & {\n\thowler: (options: HowlOptions) => Howl,\n\tsounds: SoundEvents,\n\tonEdit: (changes: Partial<SoundConfig>) => unknown,\n\tonDelete: () => unknown,\n\tdelayedPlay?: number,\n}\nexport function SoundConfig({ howler, sounds, sound, delay, pitch, volume, onEdit, onDelete, delayedPlay }: SoundConfigProps) {\n\tconst { locale } = useLocale()\n\tconst { version } = useVersion()\n\tconst [loading, setLoading] = useState(true)\n\tconst [playing, setPlaying] = useState(false)\n\tconst [invalid, setInvalid] = useState(false)\n\tconst howls = useRef<Howl[]>([])\n\tconst command = `playsound minecraft:${sound} master @s ~ ~ ~ ${volume} ${pitch}`\n\n\tuseEffect(() => {\n\t\tconst soundEvent = sounds[sound]\n\t\tsetInvalid((soundEvent?.sounds?.length ?? 0) === 0)\n\t\thowls.current.forEach(h => h.stop())\n\t\thowls.current = (soundEvent?.sounds ?? []).map(entry => {\n\t\t\tconst soundPath = typeof entry === 'string' ? entry : entry.name\n\t\t\tconst url = getSoundUrl(version, soundPath)\n\t\t\tconst howl = howler({\n\t\t\t\tsrc: [url],\n\t\t\t\tformat: ['ogg'],\n\t\t\t\tvolume,\n\t\t\t\trate: pitch,\n\t\t\t})\n\t\t\thowl.on('end', () => {\n\t\t\t\tsetPlaying(false)\n\t\t\t})\n\t\t\tconst completed = () => {\n\t\t\t\tif (loading && howls.current.every(h => h.state() === 'loaded')) {\n\t\t\t\t\tsetLoading(false)\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (howl.state() === 'loaded') {\n\t\t\t\tsetTimeout(() => completed())\n\t\t\t} else {\n\t\t\t\thowl.on('load', () => {\n\t\t\t\t\tcompleted()\n\t\t\t\t})\n\t\t\t}\n\t\t\treturn howl\n\t\t})\n\t\tsetLoading(true)\n\t}, [sound, sounds])\n\n\tuseEffect(() => {\n\t\thowls.current.forEach(h => h.rate(pitch))\n\t}, [pitch])\n\n\tuseEffect(() => {\n\t\thowls.current.forEach(h => h.volume(volume))\n\t}, [volume])\n\n\tconst play = () => {\n\t\tif (loading || invalid) return\n\t\tstop()\n\t\tconst howl = Math.floor(Math.random() * howls.current.length)\n\t\thowls.current[howl].play()\n\t\tsetPlaying(true)\n\t}\n\tconst stop = () => {\n\t\thowls.current.forEach(h => h.stop())\n\t}\n\tuseEffect(() => {\n\t\tif (delayedPlay) setTimeout(() => play(), delay * 50)\n\t}, [delayedPlay])\n\n\tuseEffect(() => {\n\t\treturn () => stop()\n\t}, [])\n\n\tconst [copyActive, setCopyActive] = useState(false)\n\tconst copyTimeout = useRef<number | undefined>(undefined)\n\tconst copy = () => {\n\t\tnavigator.clipboard.writeText(command)\n\t\tsetCopyActive(true)\n\t\tif (copyTimeout.current !== undefined) clearTimeout(copyTimeout.current)\n\t\tcopyTimeout.current = setTimeout(() => {\n\t\t\tsetCopyActive(false)\n\t\t}, 2000) as any\n\t}\n\n\treturn <div class={`sound-config${loading ? ' loading' : playing ? ' playing' : ''}${invalid ? ' invalid' : ''}`}>\n\t\t<Btn class=\"play\" icon={invalid ? 'alert' : loading ? 'sync' : 'play'} label={locale('sounds.play')} onClick={play} tooltip={invalid ? locale('sounds.unknown_sound') : loading ? locale('sounds.loading_sound') : locale('sounds.play_sound')} tooltipLoc=\"se\" />\n\t\t<TextInput class=\"btn btn-input sound\" list=\"sound-list\" spellcheck={false}\n\t\t\tvalue={sound} onChange={sound => onEdit({ sound })} />\n\t\t<label class=\"delay-label\">{locale('sounds.delay')}: </label>\n\t\t<NumberInput class=\"btn btn-input delay\" min={0}\n\t\t\tvalue={delay} onChange={delay => onEdit({ delay })} />\n\t\t<label class=\"pitch-label\">{locale('sounds.pitch')}: </label>\n\t\t<RangeInput class=\"pitch tooltipped tip-s\" min={0.5} max={2} step={0.01}\n\t\t\taria-label={pitch.toFixed(2)} style={`--x: ${(pitch - 0.5) * (100 / 1.5)}%`}\n\t\t\tvalue={pitch} onChange={pitch => onEdit({ pitch })} />\n\t\t<label class=\"volume-label\">{locale('sounds.volume')}: </label>\n\t\t<RangeInput class=\"volume tooltipped tip-s\" min={0} max={1} step={0.01}\n\t\t\taria-label={volume.toFixed(2)} style={`--x: ${volume * 100}%`}\n\t\t\tvalue={volume} onChange={volume => onEdit({ volume })} />\n\t\t<Btn class={`copy${copyActive ? ' active' : ''}`} icon={copyActive ? 'check' : 'terminal'} label={locale('copy')} tooltip={copyActive ? locale('copied') : locale('sounds.copy_command')}\n\t\t\tonClick={copy} />\n\t\t<Btn class=\"remove\" icon=\"trashcan\" tooltip={locale('sounds.remove_sound')}\n\t\t\tonClick={() => {onDelete(); stop()}} />\n\t</div>\n}\n","import type { ComponentChildren } from 'preact'\nimport { Icons } from './Icons'\n\ntype ToolCardProps = {\n\ttitle: string,\n\tdesc?: string,\n\tlink?: string,\n\ticon?: keyof typeof Icons,\n\tchildren?: ComponentChildren,\n}\nexport function ToolCard({ title, desc, link, icon, children }: ToolCardProps) {\n\tconst content = <>\n\t\t<div class=\"tool-head\">\n\t\t\t{icon && Icons[icon]}\n\t\t\t<div>\n\t\t\t\t<h3>{title}</h3>\n\t\t\t\t<p>{desc}</p>\n\t\t\t</div>\n\t\t</div>\n\t\t{children && <div class=\"tool-body\">\n\t\t\t{children}\n\t\t</div>}\n\t</>\n\treturn link\n\t\t? <a class=\"tool-card\" href={link}>{content}</a>\n\t\t: <div class=\"tool-card\">{content}</div>\n}\n","import { useMemo, useState } from 'preact/hooks'\nimport { Octicon } from '.'\n\nconst SEPARATOR = '/'\n\ninterface Props {\n\tentries: string[],\n\tonSelect: (entry: string) => unknown,\n\tindent?: number,\n}\nexport function TreeView({ entries, onSelect, indent }: Props) {\n\tconst roots = useMemo(() => {\n\t\tconst groups: Record<string, string[]> = {}\n\t\tfor (const entry of entries) {\n\t\t\tconst i = entry.indexOf(SEPARATOR)\n\t\t\tif (i >= 0) {\n\t\t\t\tconst root = entry.slice(0, i)\n\t\t\t\t;(groups[root] ??= []).push(entry.slice(i + 1))\n\t\t\t}\n\t\t}\n\t\treturn Object.entries(groups)\n\t}, entries)\n\n\tconst leaves = useMemo(() => {\n\t\treturn entries.filter(e => !e.includes(SEPARATOR))\n\t}, entries)\n\n\tconst [hidden, setHidden] = useState(new Set<string>())\n\tconst toggle = (root: string) => {\n\t\tif (hidden.has(root)) {\n\t\t\thidden.delete(root)\n\t\t} else {\n\t\t\thidden.add(root)\n\t\t}\n\t\tsetHidden(new Set(hidden))\n\t}\n\n\treturn <div class=\"tree-view\" style={`--indent: ${indent ?? 0};`}>\n\t\t{roots.map(([r, entries]) => <div>\n\t\t\t<TreeViewEntry icon={hidden.has(r) ? 'chevron_right' : 'chevron_down'} key={r} label={r} onClick={() => toggle(r)}/>\n\t\t\t{!hidden.has(r) &&\n\t\t\t\t<TreeView entries={entries} onSelect={e => onSelect(`${r}/${e}`)} indent={(indent ?? 0) + 1} />}\n\t\t</div>)}\n\t\t{leaves.map(e => <TreeViewEntry icon=\"file\" key={e} label={e} onClick={() => onSelect(e)} />)}\n\t</div>\n}\n\ninterface TreeViewEntryProps {\n\ticon: keyof typeof Octicon,\n\tlabel: string,\n\tonClick?: () => unknown,\n}\nfunction TreeViewEntry({ icon, label, onClick }: TreeViewEntryProps) {\n\treturn <div class=\"entry\" onClick={onClick} >\n\t\t{Octicon[icon]}\n\t\t{label}\n\t</div>\n}\n","import config from '../../config.json'\nimport { ToolCard } from '../components'\nimport { useLocale, useTitle } from '../contexts'\nimport { cleanUrl } from '../Utils'\n\ninterface Props {\n\tcategory: string,\n\tpath?: string,\n}\nexport function Category({ category }: Props) {\n\tconst { locale } = useLocale()\n\tuseTitle(locale('title.generator_category', locale(category)))\n\treturn <main>\n\t\t<div class=\"category\">\n\t\t\t{config.generators.filter(g => g.category === category).map(g => \n\t\t\t\t<ToolCard title={locale(g.id)} link={cleanUrl(g.url)} />\n\t\t\t)}\n\t\t</div>\n\t</main>\n}\n","import { Ad, ChangelogList, ErrorPanel } from '../components'\nimport { useLocale, useTitle } from '../contexts'\nimport { useAsync } from '../hooks'\nimport { getChangelogs } from '../services'\n\ninterface Props {\n\tpath?: string,\n}\nexport function Changelog({}: Props) {\n\tconst { locale } = useLocale()\n\tuseTitle(locale('title.changelog'))\n\n\tconst { value: changelogs, error } = useAsync(getChangelogs, [])\n\n\treturn <main>\n\t\t<Ad type=\"text\" id=\"changelog\" />\n\t\t{error && <ErrorPanel error={error} />}\n\t\t<div class=\"changelog\">\n\t\t\t<ChangelogList changes={changelogs} defaultOrder=\"desc\" />\n\t\t</div>\n\t</main>\n}\n","import { DataModel, Path } from '@mcschema/core'\nimport { getCurrentUrl, route } from 'preact-router'\nimport { useEffect, useErrorBoundary, useMemo, useRef, useState } from 'preact/hooks'\nimport config from '../../config.json'\nimport { Analytics } from '../Analytics'\nimport { Ad, Btn, BtnMenu, ErrorPanel, HasPreview, Octicon, PreviewPanel, SearchList, SourcePanel, TextInput, Tree } from '../components'\nimport { useLocale, useProject, useTitle, useVersion } from '../contexts'\nimport { AsyncCancel, useActiveTimeout, useAsync, useModel, useSearchParam } from '../hooks'\nimport { getOutput } from '../schema/transformOutput'\nimport type { VersionId } from '../services'\nimport { checkVersion, fetchPreset, getBlockStates, getCollections, getModel, getSnippet, shareSnippet } from '../services'\nimport { Store } from '../Store'\nimport { cleanUrl, deepEqual, getGenerator } from '../Utils'\n\nexport const SHARE_KEY = 'share'\n\ninterface Props {\n\tdefault?: true,\n}\nexport function Generator({}: Props) {\n\tconst { locale } = useLocale()\n\tconst { version, changeVersion, changeTargetVersion } = useVersion()\n\tconst { projects, project, file, updateFile, openFile, closeFile } = useProject()\n\tconst [error, setError] = useState<Error | string | null>(null)\n\tconst [errorBoundary, errorRetry] = useErrorBoundary()\n\tif (errorBoundary) {\n\t\terrorBoundary.message = `Something went wrong rendering the generator: ${errorBoundary.message}`\n\t\treturn <main><ErrorPanel error={errorBoundary} onDismiss={errorRetry} /></main>\n\t}\n\n\tconst gen = getGenerator(getCurrentUrl())\n\tif (!gen) {\n\t\treturn <main><ErrorPanel error={`Cannot find generator \"${getCurrentUrl()}\"`} /></main>\n\t}\n\n\tconst allowedVersions = useMemo(() => {\n\t\treturn config.versions\n\t\t\t.filter(v => checkVersion(v.id, gen.minVersion, gen.maxVersion))\n\t\t\t.map(v => v.id as VersionId)\n\t\t\t.reverse()\n\t}, [gen.minVersion, gen.maxVersion])\n\n\tuseTitle(locale('title.generator', locale(gen.id)), allowedVersions)\n\n\tif (!checkVersion(version, gen.minVersion)) {\n\t\tsetError(`The minimum version for this generator is ${gen.minVersion}`)\n\t}\n\tif (!checkVersion(version, undefined, gen.maxVersion)) {\n\t\tsetError(`This generator is not available in versions above ${gen.maxVersion}`)\n\t}\n\n\tconst [currentPreset, setCurrentPreset] = useSearchParam('preset')\n\tconst [sharedSnippetId, setSharedSnippetId] = useSearchParam(SHARE_KEY)\n\tconst ignoreChange = useRef(false)\n\tconst backup = useMemo(() => Store.getBackup(gen.id), [gen.id])\n\n\tconst loadBackup = () => {\n\t\tif (backup !== undefined) {\n\t\t\tmodel?.reset(DataModel.wrapLists(backup), false)\n\t\t}\n\t}\n\n\tconst { value } = useAsync(async () => {\n\t\tlet data: unknown = undefined\n\t\tif (currentPreset && sharedSnippetId) {\n\t\t\tsetSharedSnippetId(undefined)\n\t\t\treturn AsyncCancel\n\t\t}\n\t\tif (currentPreset) {\n\t\t\tdata = await loadPreset(currentPreset)\n\t\t} else if (sharedSnippetId) {\n\t\t\tconst snippet = await getSnippet(sharedSnippetId)\n\t\t\tlet cancel = false\n\t\t\tif (snippet.version && snippet.version !== version) {\n\t\t\t\tchangeVersion(snippet.version, false)\n\t\t\t\tcancel = true\n\t\t\t}\n\t\t\tif (snippet.type && snippet.type !== gen.id) {\n\t\t\t\tconst snippetGen = config.generators.find(g => g.id === snippet.type)\n\t\t\t\tif (snippetGen) {\n\t\t\t\t\troute(`${cleanUrl(snippetGen.url)}?${SHARE_KEY}=${snippet.id}`)\n\t\t\t\t\tcancel = true\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (cancel) {\n\t\t\t\treturn AsyncCancel\n\t\t\t}\n\t\t\tif (snippet.show_preview && !previewShown) {\n\t\t\t\tsetPreviewShown(true)\n\t\t\t\tsetSourceShown(false)\n\t\t\t}\n\t\t\tAnalytics.openSnippet(gen.id, sharedSnippetId, version)\n\t\t\tdata = snippet.data\n\t\t}\n\t\tconst [model, blockStates] = await Promise.all([\n\t\t\tgetModel(version, gen.id),\n\t\t\tgetBlockStates(version),\n\t\t])\n\t\tif (data) {\n\t\t\tignoreChange.current = true\n\t\t\tmodel.reset(DataModel.wrapLists(data), false)\n\t\t}\n\t\tAnalytics.setGenerator(gen.id)\n\t\treturn { model, blockStates }\n\t}, [gen.id, version, sharedSnippetId, currentPreset])\n\n\tconst model = value?.model\n\tconst blockStates = value?.blockStates\n\n\tconst [dirty, setDirty] = useState(false)\n\tuseModel(model, () => {\n\t\tif (!ignoreChange.current) {\n\t\t\tsetCurrentPreset(undefined, true)\n\t\t\tsetSharedSnippetId(undefined, true)\n\t\t}\n\t\tignoreChange.current = false\n\t\tStore.setBackup(gen.id, DataModel.unwrapLists(model?.data))\n\t\tsetError(null)\n\t\tsetDirty(true)\n\t}, [gen.id, setCurrentPreset, setSharedSnippetId])\n\n\tconst [fileRename, setFileRename] = useState('')\n\tconst [fileSaved, doSave] = useActiveTimeout()\n\tconst [fileError, doFileError] = useActiveTimeout()\n\n\tconst doFileRename = () => {\n\t\tif (fileRename !== file?.id && fileRename && model && blockStates) {\n\t\t\tconst data = getOutput(model, blockStates)\n\t\t\tconst success = updateFile(gen.id, file?.id, { id: fileRename, data })\n\t\t\tif (success) {\n\t\t\t\tdoSave()\n\t\t\t} else {\n\t\t\t\tdoFileError()\n\t\t\t\tif (file) {\n\t\t\t\t\tsetFileRename(file?.id)\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (file) {\n\t\t\tsetFileRename(file?.id)\n\t\t}\n\t}\n\n\tconst deleteFile = () => {\n\t\tif (file) {\n\t\t\tupdateFile(gen.id, file.id, {})\n\t\t}\n\t}\n\n\tuseEffect(() => {\n\t\tif (file) {\n\t\t\tsetFileRename(file.id)\n\t\t}\n\t}, [file])\n\n\tuseEffect(() => {\n\t\tif (model) {\n\t\t\tsetFileRename(file?.id ?? '')\n\t\t\tif (file && gen.id === file.type) {\n\t\t\t\tmodel.reset(DataModel.wrapLists(file.data))\n\t\t\t}\n\t\t\tsetDirty(false)\n\t\t}\n\t}, [file, model])\n\n\tconst reset = () => {\n\t\tAnalytics.resetGenerator(gen.id, model?.historyIndex ?? 1, 'menu')\n\t\tmodel?.reset(DataModel.wrapLists(model.schema.default()), true)\n\t}\n\tconst undo = (e: MouseEvent) => {\n\t\te.stopPropagation()\n\t\tAnalytics.undoGenerator(gen.id, model?.historyIndex ?? 1, 'menu')\n\t\tmodel?.undo()\n\t}\n\tconst redo = (e: MouseEvent) => {\n\t\te.stopPropagation()\n\t\tAnalytics.redoGenerator(gen.id, model?.historyIndex ?? 1, 'menu')\n\t\tmodel?.redo()\n\t}\n\n\tconst onKeyUp = (e: KeyboardEvent) => {\n\t\tif (e.ctrlKey && e.key === 'z') {\n\t\t\tAnalytics.undoGenerator(gen.id, model?.historyIndex ?? 1, 'hotkey')\n\t\t\tmodel?.undo()\n\t\t} else if (e.ctrlKey && e.key === 'y') {\n\t\t\tAnalytics.redoGenerator(gen.id, model?.historyIndex ?? 1, 'hotkey')\n\t\t\tmodel?.redo()\n\t\t}\n\t}\n\tconst onKeyDown = (e: KeyboardEvent) => {\n\t\tif (e.ctrlKey && e.key === 's') {\n\t\t\te.preventDefault()\n\t\t\tif (model && blockStates && file) {\n\t\t\t\tAnalytics.saveProjectFile(gen.id, project.files.length, projects.length, 'hotkey')\n\t\t\t\tconst data = getOutput(model, blockStates)\n\t\t\t\tupdateFile(gen.id, file?.id, { id: file?.id, data })\n\t\t\t\tsetDirty(false)\n\t\t\t\tdoSave()\n\t\t\t}\n\t\t}\n\t}\n\tuseEffect(() => {\n\t\tdocument.addEventListener('keyup', onKeyUp)\n\t\tdocument.addEventListener('keydown', onKeyDown)\n\t\treturn () => {\n\t\t\tdocument.removeEventListener('keyup', onKeyUp)\n\t\t\tdocument.removeEventListener('keydown', onKeyDown)\n\t\t}\n\t}, [model, blockStates, file])\n\n\tconst [presets, setPresets] = useState<string[]>([])\n\tuseEffect(() => {\n\t\tgetCollections(version).then(collections => {\n\t\t\tsetPresets(collections.get(gen.id).map(p => p.slice(10)))\n\t\t})\n\t\t\t.catch(e => { console.error(e); setError(e) })\n\t}, [version, gen.id])\n\n\tconst selectPreset = (id: string) => {\n\t\tAnalytics.loadPreset(gen.id, id)\n\t\tsetSharedSnippetId(undefined, true)\n\t\tchangeTargetVersion(version, true)\n\t\tsetCurrentPreset(id)\n\t}\n\n\tconst loadPreset = async (id: string) => {\n\t\ttry {\n\t\t\tconst preset = await fetchPreset(version, gen.path ?? gen.id, id)\n\t\t\tconst seed = model?.get(new Path(['generator', 'seed']))\n\t\t\tif (preset?.generator?.seed !== undefined && seed !== undefined) {\n\t\t\t\tpreset.generator.seed = seed\n\t\t\t\tif (preset.generator.biome_source?.seed !== undefined) {\n\t\t\t\t\tpreset.generator.biome_source.seed = seed\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn preset\n\t\t} catch (e) {\n\t\t\tsetError(`Cannot load preset ${id} in ${version}`)\n\t\t\tsetCurrentPreset(undefined, true)\n\t\t}\n\t}\n\n\tconst selectVersion = (version: VersionId) => {\n\t\tsetSharedSnippetId(undefined, true)\n\t\tchangeVersion(version)\n\t}\n\n\tconst [shareUrl, setShareUrl] = useState<string | undefined>(undefined)\n\tconst [shareShown, setShareShown] = useState(false)\n\tconst [shareCopyActive, shareCopySuccess] = useActiveTimeout({ cooldown: 3000 })\n\tconst share = () => {\n\t\tif (shareShown) {\n\t\t\tsetShareShown(false)\n\t\t\treturn\n\t\t}\n\t\tif (currentPreset) {\n\t\t\tsetShareUrl(`${location.origin}/${gen.url}/?version=${version}&preset=${currentPreset}`)\n\t\t\tsetShareShown(true)\n\t\t\tcopySharedId()\n\t\t} else if (model && blockStates) {\n\t\t\tconst output = getOutput(model, blockStates)\n\t\t\tif (deepEqual(output, model.schema.default())) {\n\t\t\t\tsetShareUrl(`${location.origin}/${gen.url}/?version=${version}`)\n\t\t\t\tsetShareShown(true)\n\t\t\t} else {\n\t\t\t\tshareSnippet(gen.id, version, output, previewShown)\n\t\t\t\t\t.then(({ id, length, compressed, rate }) => {\n\t\t\t\t\t\tAnalytics.createSnippet(gen.id, id, version, length, compressed, rate)\n\t\t\t\t\t\tconst url = `${location.origin}/${gen.url}/?${SHARE_KEY}=${id}`\n\t\t\t\t\t\tsetShareUrl(url)\n\t\t\t\t\t\tsetShareShown(true)\n\t\t\t\t\t})\n\t\t\t\t\t.catch(e => {\n\t\t\t\t\t\tif (e instanceof Error) {\n\t\t\t\t\t\t\tsetError(e)\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t}\n\t\t}\n\t}\n\tconst copySharedId = () => {\n\t\tnavigator.clipboard.writeText(shareUrl ?? '')\n\t\tshareCopySuccess()\n\t}\n\tuseEffect(() => {\n\t\tif (!shareCopyActive) {\n\t\t\tsetShareUrl(undefined)\n\t\t\tsetShareShown(false)\n\t\t}\n\t}, [shareCopyActive])\n\n\tconst [sourceShown, setSourceShown] = useState(window.innerWidth > 820)\n\tconst [doCopy, setCopy] = useState(0)\n\tconst [doDownload, setDownload] = useState(0)\n\tconst [doImport, setImport] = useState(0)\n\n\tconst copySource = () => {\n\t\tAnalytics.copyOutput(gen.id, 'menu')\n\t\tsetCopy(doCopy + 1)\n\t}\n\tconst downloadSource = () => {\n\t\tAnalytics.downloadOutput(gen.id, 'menu')\n\t\tsetDownload(doDownload + 1)\n\t}\n\tconst importSource = () => {\n\t\tAnalytics.generatorEvent('import')\n\t\tsetSourceShown(true)\n\t\tsetImport(doImport + 1)\n\t}\n\tconst toggleSource = () => {\n\t\tif (sourceShown) {\n\t\t\tAnalytics.hideOutput(gen.id, 'menu')\n\t\t} else {\n\t\t\tAnalytics.showOutput(gen.id, 'menu')\n\t\t}\n\t\tsetSourceShown(!sourceShown)\n\t\tsetCopy(0)\n\t\tsetDownload(0)\n\t\tsetImport(0)\n\t}\n\n\tconst [copyActive, copySuccess] = useActiveTimeout()\n\n\tconst [previewShown, setPreviewShown] = useState(false)\n\tconst hasPreview = HasPreview.includes(gen.id) && !(gen.id === 'worldgen/configured_feature' && checkVersion(version, '1.18'))\n\tif (previewShown && !hasPreview) setPreviewShown(false)\n\tlet actionsShown = 2\n\tif (hasPreview) actionsShown += 1\n\tif (sourceShown) actionsShown += 2\n\n\tconst togglePreview = () => {\n\t\tif (sourceShown) {\n\t\t\tAnalytics.hidePreview(gen.id, 'menu')\n\t\t} else {\n\t\t\tAnalytics.showPreview(gen.id, 'menu')\n\t\t}\n\t\tsetPreviewShown(!previewShown)\n\t\tif (!previewShown && sourceShown) {\n\t\t\tsetSourceShown(false)\n\t\t}\n\t}\n\n\treturn <>\n\t\t<main class={previewShown ? 'has-preview' : ''}>\n\t\t\t<Ad id=\"data-pack-generator\" type=\"text\" />\n\t\t\t<div class=\"controls\">\n\t\t\t\t<div class={`project-controls ${file && 'has-file'}`}>\n\t\t\t\t\t<div class=\"btn-row\">\n\t\t\t\t\t\t<BtnMenu icon=\"repo\" label={project.name} relative={false}>\n\t\t\t\t\t\t\t<Btn icon=\"arrow_left\" label={locale('project.go_to')} onClick={() => route('/project')} />\n\t\t\t\t\t\t\t{file && <Btn icon=\"file\" label={locale('project.new_file')} onClick={closeFile} />}\n\t\t\t\t\t\t\t{backup !== undefined && <Btn icon=\"history\" label={locale('restore_backup')} onClick={loadBackup} />}\n\t\t\t\t\t\t\t<SearchList searchPlaceholder={locale(project.name === 'Drafts' ? 'project.search_drafts' : 'project.search')} noResults={locale('project.no_files')} values={project.files.filter(f => f.type === gen.id).map(f => f.id)} onSelect={(id) => openFile(gen.id, id)} />\n\t\t\t\t\t\t</BtnMenu>\n\t\t\t\t\t\t<TextInput class=\"btn btn-input\" placeholder={locale('project.unsaved_file')} value={fileRename} onChange={setFileRename} onEnter={doFileRename} onBlur={doFileRename} />\n\t\t\t\t\t\t{file && <Btn icon=\"trashcan\" tooltip={locale('project.delete_file')} onClick={deleteFile} />}\n\t\t\t\t\t</div>\n\t\t\t\t\t{dirty ? <div class=\"status-icon\">{Octicon.dot_fill}</div>\n\t\t\t\t\t\t: fileSaved ? <div class=\"status-icon active\">{Octicon.check}</div>\n\t\t\t\t\t\t\t: fileError && <div class=\"status-icon danger\">{Octicon.x}</div> }\n\t\t\t\t</div>\n\t\t\t\t<div class=\"generator-controls\">\n\t\t\t\t\t<Btn icon=\"upload\" label={locale('import')} onClick={importSource} />\n\t\t\t\t\t<BtnMenu icon=\"archive\" label={locale('presets')} relative={false}>\n\t\t\t\t\t\t<SearchList searchPlaceholder={locale('search')} noResults={locale('no_presets')} values={presets} onSelect={selectPreset}/>\n\t\t\t\t\t</BtnMenu>\n\t\t\t\t\t<BtnMenu icon=\"tag\" label={version} tooltip={locale('switch_version')} data-cy=\"version-switcher\">\n\t\t\t\t\t\t{allowedVersions.map(v =>\n\t\t\t\t\t\t\t<Btn label={v} active={v === version} onClick={() => selectVersion(v)} />\n\t\t\t\t\t\t)}\n\t\t\t\t\t</BtnMenu>\n\t\t\t\t\t<BtnMenu icon=\"kebab_horizontal\" tooltip={locale('more')}>\n\t\t\t\t\t\t<Btn icon=\"history\" label={locale('reset')} onClick={reset} />\n\t\t\t\t\t\t<Btn icon=\"arrow_left\" label={locale('undo')} onClick={undo} />\n\t\t\t\t\t\t<Btn icon=\"arrow_right\" label={locale('redo')} onClick={redo} />\n\t\t\t\t\t</BtnMenu>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t{error && <ErrorPanel error={error} onDismiss={() => setError(null)} />}\n\t\t\t<Tree {...{model, version, blockStates}} onError={setError} />\n\t\t</main>\n\t\t<div class=\"popup-actions\" style={`--offset: -${8 + actionsShown * 50}px;`}>\n\t\t\t<div class={`popup-action action-preview${hasPreview ? ' shown' : ''} tooltipped tip-nw`} aria-label={locale(previewShown ? 'hide_preview' : 'show_preview')} onClick={togglePreview}>\n\t\t\t\t{previewShown ? Octicon.x_circle : Octicon.play}\n\t\t\t</div>\n\t\t\t<div class={'popup-action action-share shown tooltipped tip-nw'} aria-label={locale('share')} onClick={share}>\n\t\t\t\t{Octicon.link}\n\t\t\t</div>\n\t\t\t<div class={`popup-action action-download${sourceShown ? ' shown' : ''} tooltipped tip-nw`} aria-label={locale('download')} onClick={downloadSource}>\n\t\t\t\t{Octicon.download}\n\t\t\t</div>\n\t\t\t<div class={`popup-action action-copy${sourceShown ? ' shown' : ''}${copyActive ? ' active' : ''} tooltipped tip-nw`} aria-label={locale(copyActive ? 'copied' : 'copy')} onClick={copySource}>\n\t\t\t\t{copyActive ? Octicon.check : Octicon.clippy}\n\t\t\t</div>\n\t\t\t<div class={'popup-action action-code shown tooltipped tip-nw'} aria-label={locale(sourceShown ? 'hide_output' : 'show_output')} onClick={toggleSource}>\n\t\t\t\t{sourceShown ? Octicon.chevron_right : Octicon.code}\n\t\t\t</div>\n\t\t</div>\n\t\t<div class={`popup-preview${previewShown ? ' shown' : ''}`}>\n\t\t\t<PreviewPanel {...{model, version, id: gen.id}} shown={previewShown} onError={setError} />\n\t\t</div>\n\t\t<div class={`popup-source${sourceShown ? ' shown' : ''}`}>\n\t\t\t<SourcePanel {...{model, blockStates, doCopy, doDownload, doImport}} name={gen.schema ?? 'data'} copySuccess={copySuccess} onError={setError} />\n\t\t</div>\n\t\t<div class={`popup-share${shareShown ? ' shown' : ''}`}>\n\t\t\t<TextInput value={shareUrl} readonly />\n\t\t\t<Btn icon={shareCopyActive ? 'check' : 'clippy'} onClick={copySharedId} tooltip={locale(shareCopyActive ? 'copied' : 'copy_share')} tooltipLoc=\"nw\" active={shareCopyActive} showTooltip={shareCopyActive} />\n\t\t</div>\n\t</>\n}\n","var deepFreezeEs6 = {exports: {}};\n\nfunction deepFreeze(obj) {\n if (obj instanceof Map) {\n obj.clear = obj.delete = obj.set = function () {\n throw new Error('map is read-only');\n };\n } else if (obj instanceof Set) {\n obj.add = obj.clear = obj.delete = function () {\n throw new Error('set is read-only');\n };\n }\n\n // Freeze self\n Object.freeze(obj);\n\n Object.getOwnPropertyNames(obj).forEach(function (name) {\n var prop = obj[name];\n\n // Freeze prop if it is an object\n if (typeof prop == 'object' && !Object.isFrozen(prop)) {\n deepFreeze(prop);\n }\n });\n\n return obj;\n}\n\ndeepFreezeEs6.exports = deepFreeze;\ndeepFreezeEs6.exports.default = deepFreeze;\n\nvar deepFreeze$1 = deepFreezeEs6.exports;\n\n/** @typedef {import('highlight.js').CallbackResponse} CallbackResponse */\n/** @typedef {import('highlight.js').CompiledMode} CompiledMode */\n/** @implements CallbackResponse */\n\nclass Response {\n /**\n * @param {CompiledMode} mode\n */\n constructor(mode) {\n // eslint-disable-next-line no-undefined\n if (mode.data === undefined) mode.data = {};\n\n this.data = mode.data;\n this.isMatchIgnored = false;\n }\n\n ignoreMatch() {\n this.isMatchIgnored = true;\n }\n}\n\n/**\n * @param {string} value\n * @returns {string}\n */\nfunction escapeHTML(value) {\n return value\n .replace(/&/g, '&')\n .replace(/</g, '<')\n .replace(/>/g, '>')\n .replace(/\"/g, '"')\n .replace(/'/g, ''');\n}\n\n/**\n * performs a shallow merge of multiple objects into one\n *\n * @template T\n * @param {T} original\n * @param {Record<string,any>[]} objects\n * @returns {T} a single new object\n */\nfunction inherit$1(original, ...objects) {\n /** @type Record<string,any> */\n const result = Object.create(null);\n\n for (const key in original) {\n result[key] = original[key];\n }\n objects.forEach(function(obj) {\n for (const key in obj) {\n result[key] = obj[key];\n }\n });\n return /** @type {T} */ (result);\n}\n\n/**\n * @typedef {object} Renderer\n * @property {(text: string) => void} addText\n * @property {(node: Node) => void} openNode\n * @property {(node: Node) => void} closeNode\n * @property {() => string} value\n */\n\n/** @typedef {{kind?: string, sublanguage?: boolean}} Node */\n/** @typedef {{walk: (r: Renderer) => void}} Tree */\n/** */\n\nconst SPAN_CLOSE = '</span>';\n\n/**\n * Determines if a node needs to be wrapped in <span>\n *\n * @param {Node} node */\nconst emitsWrappingTags = (node) => {\n return !!node.kind;\n};\n\n/**\n *\n * @param {string} name\n * @param {{prefix:string}} options\n */\nconst expandScopeName = (name, { prefix }) => {\n if (name.includes(\".\")) {\n const pieces = name.split(\".\");\n return [\n `${prefix}${pieces.shift()}`,\n ...(pieces.map((x, i) => `${x}${\"_\".repeat(i + 1)}`))\n ].join(\" \");\n }\n return `${prefix}${name}`;\n};\n\n/** @type {Renderer} */\nclass HTMLRenderer {\n /**\n * Creates a new HTMLRenderer\n *\n * @param {Tree} parseTree - the parse tree (must support `walk` API)\n * @param {{classPrefix: string}} options\n */\n constructor(parseTree, options) {\n this.buffer = \"\";\n this.classPrefix = options.classPrefix;\n parseTree.walk(this);\n }\n\n /**\n * Adds texts to the output stream\n *\n * @param {string} text */\n addText(text) {\n this.buffer += escapeHTML(text);\n }\n\n /**\n * Adds a node open to the output stream (if needed)\n *\n * @param {Node} node */\n openNode(node) {\n if (!emitsWrappingTags(node)) return;\n\n let scope = node.kind;\n if (node.sublanguage) {\n scope = `language-${scope}`;\n } else {\n scope = expandScopeName(scope, { prefix: this.classPrefix });\n }\n this.span(scope);\n }\n\n /**\n * Adds a node close to the output stream (if needed)\n *\n * @param {Node} node */\n closeNode(node) {\n if (!emitsWrappingTags(node)) return;\n\n this.buffer += SPAN_CLOSE;\n }\n\n /**\n * returns the accumulated buffer\n */\n value() {\n return this.buffer;\n }\n\n // helpers\n\n /**\n * Builds a span element\n *\n * @param {string} className */\n span(className) {\n this.buffer += `<span class=\"${className}\">`;\n }\n}\n\n/** @typedef {{kind?: string, sublanguage?: boolean, children: Node[]} | string} Node */\n/** @typedef {{kind?: string, sublanguage?: boolean, children: Node[]} } DataNode */\n/** @typedef {import('highlight.js').Emitter} Emitter */\n/** */\n\nclass TokenTree {\n constructor() {\n /** @type DataNode */\n this.rootNode = { children: [] };\n this.stack = [this.rootNode];\n }\n\n get top() {\n return this.stack[this.stack.length - 1];\n }\n\n get root() { return this.rootNode; }\n\n /** @param {Node} node */\n add(node) {\n this.top.children.push(node);\n }\n\n /** @param {string} kind */\n openNode(kind) {\n /** @type Node */\n const node = { kind, children: [] };\n this.add(node);\n this.stack.push(node);\n }\n\n closeNode() {\n if (this.stack.length > 1) {\n return this.stack.pop();\n }\n // eslint-disable-next-line no-undefined\n return undefined;\n }\n\n closeAllNodes() {\n while (this.closeNode());\n }\n\n toJSON() {\n return JSON.stringify(this.rootNode, null, 4);\n }\n\n /**\n * @typedef { import(\"./html_renderer\").Renderer } Renderer\n * @param {Renderer} builder\n */\n walk(builder) {\n // this does not\n return this.constructor._walk(builder, this.rootNode);\n // this works\n // return TokenTree._walk(builder, this.rootNode);\n }\n\n /**\n * @param {Renderer} builder\n * @param {Node} node\n */\n static _walk(builder, node) {\n if (typeof node === \"string\") {\n builder.addText(node);\n } else if (node.children) {\n builder.openNode(node);\n node.children.forEach((child) => this._walk(builder, child));\n builder.closeNode(node);\n }\n return builder;\n }\n\n /**\n * @param {Node} node\n */\n static _collapse(node) {\n if (typeof node === \"string\") return;\n if (!node.children) return;\n\n if (node.children.every(el => typeof el === \"string\")) {\n // node.text = node.children.join(\"\");\n // delete node.children;\n node.children = [node.children.join(\"\")];\n } else {\n node.children.forEach((child) => {\n TokenTree._collapse(child);\n });\n }\n }\n}\n\n/**\n Currently this is all private API, but this is the minimal API necessary\n that an Emitter must implement to fully support the parser.\n\n Minimal interface:\n\n - addKeyword(text, kind)\n - addText(text)\n - addSublanguage(emitter, subLanguageName)\n - finalize()\n - openNode(kind)\n - closeNode()\n - closeAllNodes()\n - toHTML()\n\n*/\n\n/**\n * @implements {Emitter}\n */\nclass TokenTreeEmitter extends TokenTree {\n /**\n * @param {*} options\n */\n constructor(options) {\n super();\n this.options = options;\n }\n\n /**\n * @param {string} text\n * @param {string} kind\n */\n addKeyword(text, kind) {\n if (text === \"\") { return; }\n\n this.openNode(kind);\n this.addText(text);\n this.closeNode();\n }\n\n /**\n * @param {string} text\n */\n addText(text) {\n if (text === \"\") { return; }\n\n this.add(text);\n }\n\n /**\n * @param {Emitter & {root: DataNode}} emitter\n * @param {string} name\n */\n addSublanguage(emitter, name) {\n /** @type DataNode */\n const node = emitter.root;\n node.kind = name;\n node.sublanguage = true;\n this.add(node);\n }\n\n toHTML() {\n const renderer = new HTMLRenderer(this, this.options);\n return renderer.value();\n }\n\n finalize() {\n return true;\n }\n}\n\n/**\n * @param {string} value\n * @returns {RegExp}\n * */\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction source(re) {\n if (!re) return null;\n if (typeof re === \"string\") return re;\n\n return re.source;\n}\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction lookahead(re) {\n return concat('(?=', re, ')');\n}\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction anyNumberOfTimes(re) {\n return concat('(?:', re, ')*');\n}\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction optional(re) {\n return concat('(?:', re, ')?');\n}\n\n/**\n * @param {...(RegExp | string) } args\n * @returns {string}\n */\nfunction concat(...args) {\n const joined = args.map((x) => source(x)).join(\"\");\n return joined;\n}\n\n/**\n * @param { Array<string | RegExp | Object> } args\n * @returns {object}\n */\nfunction stripOptionsFromArgs(args) {\n const opts = args[args.length - 1];\n\n if (typeof opts === 'object' && opts.constructor === Object) {\n args.splice(args.length - 1, 1);\n return opts;\n } else {\n return {};\n }\n}\n\n/** @typedef { {capture?: boolean} } RegexEitherOptions */\n\n/**\n * Any of the passed expresssions may match\n *\n * Creates a huge this | this | that | that match\n * @param {(RegExp | string)[] | [...(RegExp | string)[], RegexEitherOptions]} args\n * @returns {string}\n */\nfunction either(...args) {\n /** @type { object & {capture?: boolean} } */\n const opts = stripOptionsFromArgs(args);\n const joined = '('\n + (opts.capture ? \"\" : \"?:\")\n + args.map((x) => source(x)).join(\"|\") + \")\";\n return joined;\n}\n\n/**\n * @param {RegExp | string} re\n * @returns {number}\n */\nfunction countMatchGroups(re) {\n return (new RegExp(re.toString() + '|')).exec('').length - 1;\n}\n\n/**\n * Does lexeme start with a regular expression match at the beginning\n * @param {RegExp} re\n * @param {string} lexeme\n */\nfunction startsWith(re, lexeme) {\n const match = re && re.exec(lexeme);\n return match && match.index === 0;\n}\n\n// BACKREF_RE matches an open parenthesis or backreference. To avoid\n// an incorrect parse, it additionally matches the following:\n// - [...] elements, where the meaning of parentheses and escapes change\n// - other escape sequences, so we do not misparse escape sequences as\n// interesting elements\n// - non-matching or lookahead parentheses, which do not capture. These\n// follow the '(' with a '?'.\nconst BACKREF_RE = /\\[(?:[^\\\\\\]]|\\\\.)*\\]|\\(\\??|\\\\([1-9][0-9]*)|\\\\./;\n\n// **INTERNAL** Not intended for outside usage\n// join logically computes regexps.join(separator), but fixes the\n// backreferences so they continue to match.\n// it also places each individual regular expression into it's own\n// match group, keeping track of the sequencing of those match groups\n// is currently an exercise for the caller. :-)\n/**\n * @param {(string | RegExp)[]} regexps\n * @param {{joinWith: string}} opts\n * @returns {string}\n */\nfunction _rewriteBackreferences(regexps, { joinWith }) {\n let numCaptures = 0;\n\n return regexps.map((regex) => {\n numCaptures += 1;\n const offset = numCaptures;\n let re = source(regex);\n let out = '';\n\n while (re.length > 0) {\n const match = BACKREF_RE.exec(re);\n if (!match) {\n out += re;\n break;\n }\n out += re.substring(0, match.index);\n re = re.substring(match.index + match[0].length);\n if (match[0][0] === '\\\\' && match[1]) {\n // Adjust the backreference.\n out += '\\\\' + String(Number(match[1]) + offset);\n } else {\n out += match[0];\n if (match[0] === '(') {\n numCaptures++;\n }\n }\n }\n return out;\n }).map(re => `(${re})`).join(joinWith);\n}\n\n/** @typedef {import('highlight.js').Mode} Mode */\n/** @typedef {import('highlight.js').ModeCallback} ModeCallback */\n\n// Common regexps\nconst MATCH_NOTHING_RE = /\\b\\B/;\nconst IDENT_RE = '[a-zA-Z]\\\\w*';\nconst UNDERSCORE_IDENT_RE = '[a-zA-Z_]\\\\w*';\nconst NUMBER_RE = '\\\\b\\\\d+(\\\\.\\\\d+)?';\nconst C_NUMBER_RE = '(-?)(\\\\b0[xX][a-fA-F0-9]+|(\\\\b\\\\d+(\\\\.\\\\d*)?|\\\\.\\\\d+)([eE][-+]?\\\\d+)?)'; // 0x..., 0..., decimal, float\nconst BINARY_NUMBER_RE = '\\\\b(0b[01]+)'; // 0b...\nconst RE_STARTERS_RE = '!|!=|!==|%|%=|&|&&|&=|\\\\*|\\\\*=|\\\\+|\\\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\\\?|\\\\[|\\\\{|\\\\(|\\\\^|\\\\^=|\\\\||\\\\|=|\\\\|\\\\||~';\n\n/**\n* @param { Partial<Mode> & {binary?: string | RegExp} } opts\n*/\nconst SHEBANG = (opts = {}) => {\n const beginShebang = /^#![ ]*\\//;\n if (opts.binary) {\n opts.begin = concat(\n beginShebang,\n /.*\\b/,\n opts.binary,\n /\\b.*/);\n }\n return inherit$1({\n scope: 'meta',\n begin: beginShebang,\n end: /$/,\n relevance: 0,\n /** @type {ModeCallback} */\n \"on:begin\": (m, resp) => {\n if (m.index !== 0) resp.ignoreMatch();\n }\n }, opts);\n};\n\n// Common modes\nconst BACKSLASH_ESCAPE = {\n begin: '\\\\\\\\[\\\\s\\\\S]', relevance: 0\n};\nconst APOS_STRING_MODE = {\n scope: 'string',\n begin: '\\'',\n end: '\\'',\n illegal: '\\\\n',\n contains: [BACKSLASH_ESCAPE]\n};\nconst QUOTE_STRING_MODE = {\n scope: 'string',\n begin: '\"',\n end: '\"',\n illegal: '\\\\n',\n contains: [BACKSLASH_ESCAPE]\n};\nconst PHRASAL_WORDS_MODE = {\n begin: /\\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\\b/\n};\n/**\n * Creates a comment mode\n *\n * @param {string | RegExp} begin\n * @param {string | RegExp} end\n * @param {Mode | {}} [modeOptions]\n * @returns {Partial<Mode>}\n */\nconst COMMENT = function(begin, end, modeOptions = {}) {\n const mode = inherit$1(\n {\n scope: 'comment',\n begin,\n end,\n contains: []\n },\n modeOptions\n );\n mode.contains.push({\n scope: 'doctag',\n // hack to avoid the space from being included. the space is necessary to\n // match here to prevent the plain text rule below from gobbling up doctags\n begin: '[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)',\n end: /(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,\n excludeBegin: true,\n relevance: 0\n });\n const ENGLISH_WORD = either(\n // list of common 1 and 2 letter words in English\n \"I\",\n \"a\",\n \"is\",\n \"so\",\n \"us\",\n \"to\",\n \"at\",\n \"if\",\n \"in\",\n \"it\",\n \"on\",\n // note: this is not an exhaustive list of contractions, just popular ones\n /[A-Za-z]+['](d|ve|re|ll|t|s|n)/, // contractions - can't we'd they're let's, etc\n /[A-Za-z]+[-][a-z]+/, // `no-way`, etc.\n /[A-Za-z][a-z]{2,}/ // allow capitalized words at beginning of sentences\n );\n // looking like plain text, more likely to be a comment\n mode.contains.push(\n {\n // TODO: how to include \", (, ) without breaking grammars that use these for\n // comment delimiters?\n // begin: /[ ]+([()\"]?([A-Za-z'-]{3,}|is|a|I|so|us|[tT][oO]|at|if|in|it|on)[.]?[()\":]?([.][ ]|[ ]|\\))){3}/\n // ---\n\n // this tries to find sequences of 3 english words in a row (without any\n // \"programming\" type syntax) this gives us a strong signal that we've\n // TRULY found a comment - vs perhaps scanning with the wrong language.\n // It's possible to find something that LOOKS like the start of the\n // comment - but then if there is no readable text - good chance it is a\n // false match and not a comment.\n //\n // for a visual example please see:\n // https://github.com/highlightjs/highlight.js/issues/2827\n\n begin: concat(\n /[ ]+/, // necessary to prevent us gobbling up doctags like /* @author Bob Mcgill */\n '(',\n ENGLISH_WORD,\n /[.]?[:]?([.][ ]|[ ])/,\n '){3}') // look for 3 words in a row\n }\n );\n return mode;\n};\nconst C_LINE_COMMENT_MODE = COMMENT('//', '$');\nconst C_BLOCK_COMMENT_MODE = COMMENT('/\\\\*', '\\\\*/');\nconst HASH_COMMENT_MODE = COMMENT('#', '$');\nconst NUMBER_MODE = {\n scope: 'number',\n begin: NUMBER_RE,\n relevance: 0\n};\nconst C_NUMBER_MODE = {\n scope: 'number',\n begin: C_NUMBER_RE,\n relevance: 0\n};\nconst BINARY_NUMBER_MODE = {\n scope: 'number',\n begin: BINARY_NUMBER_RE,\n relevance: 0\n};\nconst REGEXP_MODE = {\n // this outer rule makes sure we actually have a WHOLE regex and not simply\n // an expression such as:\n //\n // 3 / something\n //\n // (which will then blow up when regex's `illegal` sees the newline)\n begin: /(?=\\/[^/\\n]*\\/)/,\n contains: [{\n scope: 'regexp',\n begin: /\\//,\n end: /\\/[gimuy]*/,\n illegal: /\\n/,\n contains: [\n BACKSLASH_ESCAPE,\n {\n begin: /\\[/,\n end: /\\]/,\n relevance: 0,\n contains: [BACKSLASH_ESCAPE]\n }\n ]\n }]\n};\nconst TITLE_MODE = {\n scope: 'title',\n begin: IDENT_RE,\n relevance: 0\n};\nconst UNDERSCORE_TITLE_MODE = {\n scope: 'title',\n begin: UNDERSCORE_IDENT_RE,\n relevance: 0\n};\nconst METHOD_GUARD = {\n // excludes method names from keyword processing\n begin: '\\\\.\\\\s*' + UNDERSCORE_IDENT_RE,\n relevance: 0\n};\n\n/**\n * Adds end same as begin mechanics to a mode\n *\n * Your mode must include at least a single () match group as that first match\n * group is what is used for comparison\n * @param {Partial<Mode>} mode\n */\nconst END_SAME_AS_BEGIN = function(mode) {\n return Object.assign(mode,\n {\n /** @type {ModeCallback} */\n 'on:begin': (m, resp) => { resp.data._beginMatch = m[1]; },\n /** @type {ModeCallback} */\n 'on:end': (m, resp) => { if (resp.data._beginMatch !== m[1]) resp.ignoreMatch(); }\n });\n};\n\nvar MODES = /*#__PURE__*/Object.freeze({\n __proto__: null,\n MATCH_NOTHING_RE: MATCH_NOTHING_RE,\n IDENT_RE: IDENT_RE,\n UNDERSCORE_IDENT_RE: UNDERSCORE_IDENT_RE,\n NUMBER_RE: NUMBER_RE,\n C_NUMBER_RE: C_NUMBER_RE,\n BINARY_NUMBER_RE: BINARY_NUMBER_RE,\n RE_STARTERS_RE: RE_STARTERS_RE,\n SHEBANG: SHEBANG,\n BACKSLASH_ESCAPE: BACKSLASH_ESCAPE,\n APOS_STRING_MODE: APOS_STRING_MODE,\n QUOTE_STRING_MODE: QUOTE_STRING_MODE,\n PHRASAL_WORDS_MODE: PHRASAL_WORDS_MODE,\n COMMENT: COMMENT,\n C_LINE_COMMENT_MODE: C_LINE_COMMENT_MODE,\n C_BLOCK_COMMENT_MODE: C_BLOCK_COMMENT_MODE,\n HASH_COMMENT_MODE: HASH_COMMENT_MODE,\n NUMBER_MODE: NUMBER_MODE,\n C_NUMBER_MODE: C_NUMBER_MODE,\n BINARY_NUMBER_MODE: BINARY_NUMBER_MODE,\n REGEXP_MODE: REGEXP_MODE,\n TITLE_MODE: TITLE_MODE,\n UNDERSCORE_TITLE_MODE: UNDERSCORE_TITLE_MODE,\n METHOD_GUARD: METHOD_GUARD,\n END_SAME_AS_BEGIN: END_SAME_AS_BEGIN\n});\n\n/**\n@typedef {import('highlight.js').CallbackResponse} CallbackResponse\n@typedef {import('highlight.js').CompilerExt} CompilerExt\n*/\n\n// Grammar extensions / plugins\n// See: https://github.com/highlightjs/highlight.js/issues/2833\n\n// Grammar extensions allow \"syntactic sugar\" to be added to the grammar modes\n// without requiring any underlying changes to the compiler internals.\n\n// `compileMatch` being the perfect small example of now allowing a grammar\n// author to write `match` when they desire to match a single expression rather\n// than being forced to use `begin`. The extension then just moves `match` into\n// `begin` when it runs. Ie, no features have been added, but we've just made\n// the experience of writing (and reading grammars) a little bit nicer.\n\n// ------\n\n// TODO: We need negative look-behind support to do this properly\n/**\n * Skip a match if it has a preceding dot\n *\n * This is used for `beginKeywords` to prevent matching expressions such as\n * `bob.keyword.do()`. The mode compiler automatically wires this up as a\n * special _internal_ 'on:begin' callback for modes with `beginKeywords`\n * @param {RegExpMatchArray} match\n * @param {CallbackResponse} response\n */\nfunction skipIfHasPrecedingDot(match, response) {\n const before = match.input[match.index - 1];\n if (before === \".\") {\n response.ignoreMatch();\n }\n}\n\n/**\n *\n * @type {CompilerExt}\n */\nfunction scopeClassName(mode, _parent) {\n // eslint-disable-next-line no-undefined\n if (mode.className !== undefined) {\n mode.scope = mode.className;\n delete mode.className;\n }\n}\n\n/**\n * `beginKeywords` syntactic sugar\n * @type {CompilerExt}\n */\nfunction beginKeywords(mode, parent) {\n if (!parent) return;\n if (!mode.beginKeywords) return;\n\n // for languages with keywords that include non-word characters checking for\n // a word boundary is not sufficient, so instead we check for a word boundary\n // or whitespace - this does no harm in any case since our keyword engine\n // doesn't allow spaces in keywords anyways and we still check for the boundary\n // first\n mode.begin = '\\\\b(' + mode.beginKeywords.split(' ').join('|') + ')(?!\\\\.)(?=\\\\b|\\\\s)';\n mode.__beforeBegin = skipIfHasPrecedingDot;\n mode.keywords = mode.keywords || mode.beginKeywords;\n delete mode.beginKeywords;\n\n // prevents double relevance, the keywords themselves provide\n // relevance, the mode doesn't need to double it\n // eslint-disable-next-line no-undefined\n if (mode.relevance === undefined) mode.relevance = 0;\n}\n\n/**\n * Allow `illegal` to contain an array of illegal values\n * @type {CompilerExt}\n */\nfunction compileIllegal(mode, _parent) {\n if (!Array.isArray(mode.illegal)) return;\n\n mode.illegal = either(...mode.illegal);\n}\n\n/**\n * `match` to match a single expression for readability\n * @type {CompilerExt}\n */\nfunction compileMatch(mode, _parent) {\n if (!mode.match) return;\n if (mode.begin || mode.end) throw new Error(\"begin & end are not supported with match\");\n\n mode.begin = mode.match;\n delete mode.match;\n}\n\n/**\n * provides the default 1 relevance to all modes\n * @type {CompilerExt}\n */\nfunction compileRelevance(mode, _parent) {\n // eslint-disable-next-line no-undefined\n if (mode.relevance === undefined) mode.relevance = 1;\n}\n\n// allow beforeMatch to act as a \"qualifier\" for the match\n// the full match begin must be [beforeMatch][begin]\nconst beforeMatchExt = (mode, parent) => {\n if (!mode.beforeMatch) return;\n // starts conflicts with endsParent which we need to make sure the child\n // rule is not matched multiple times\n if (mode.starts) throw new Error(\"beforeMatch cannot be used with starts\");\n\n const originalMode = Object.assign({}, mode);\n Object.keys(mode).forEach((key) => { delete mode[key]; });\n\n mode.keywords = originalMode.keywords;\n mode.begin = concat(originalMode.beforeMatch, lookahead(originalMode.begin));\n mode.starts = {\n relevance: 0,\n contains: [\n Object.assign(originalMode, { endsParent: true })\n ]\n };\n mode.relevance = 0;\n\n delete originalMode.beforeMatch;\n};\n\n// keywords that should have no default relevance value\nconst COMMON_KEYWORDS = [\n 'of',\n 'and',\n 'for',\n 'in',\n 'not',\n 'or',\n 'if',\n 'then',\n 'parent', // common variable name\n 'list', // common variable name\n 'value' // common variable name\n];\n\nconst DEFAULT_KEYWORD_SCOPE = \"keyword\";\n\n/**\n * Given raw keywords from a language definition, compile them.\n *\n * @param {string | Record<string,string|string[]> | Array<string>} rawKeywords\n * @param {boolean} caseInsensitive\n */\nfunction compileKeywords(rawKeywords, caseInsensitive, scopeName = DEFAULT_KEYWORD_SCOPE) {\n /** @type KeywordDict */\n const compiledKeywords = Object.create(null);\n\n // input can be a string of keywords, an array of keywords, or a object with\n // named keys representing scopeName (which can then point to a string or array)\n if (typeof rawKeywords === 'string') {\n compileList(scopeName, rawKeywords.split(\" \"));\n } else if (Array.isArray(rawKeywords)) {\n compileList(scopeName, rawKeywords);\n } else {\n Object.keys(rawKeywords).forEach(function(scopeName) {\n // collapse all our objects back into the parent object\n Object.assign(\n compiledKeywords,\n compileKeywords(rawKeywords[scopeName], caseInsensitive, scopeName)\n );\n });\n }\n return compiledKeywords;\n\n // ---\n\n /**\n * Compiles an individual list of keywords\n *\n * Ex: \"for if when while|5\"\n *\n * @param {string} scopeName\n * @param {Array<string>} keywordList\n */\n function compileList(scopeName, keywordList) {\n if (caseInsensitive) {\n keywordList = keywordList.map(x => x.toLowerCase());\n }\n keywordList.forEach(function(keyword) {\n const pair = keyword.split('|');\n compiledKeywords[pair[0]] = [scopeName, scoreForKeyword(pair[0], pair[1])];\n });\n }\n}\n\n/**\n * Returns the proper score for a given keyword\n *\n * Also takes into account comment keywords, which will be scored 0 UNLESS\n * another score has been manually assigned.\n * @param {string} keyword\n * @param {string} [providedScore]\n */\nfunction scoreForKeyword(keyword, providedScore) {\n // manual scores always win over common keywords\n // so you can force a score of 1 if you really insist\n if (providedScore) {\n return Number(providedScore);\n }\n\n return commonKeyword(keyword) ? 0 : 1;\n}\n\n/**\n * Determines if a given keyword is common or not\n *\n * @param {string} keyword */\nfunction commonKeyword(keyword) {\n return COMMON_KEYWORDS.includes(keyword.toLowerCase());\n}\n\n/*\n\nFor the reasoning behind this please see:\nhttps://github.com/highlightjs/highlight.js/issues/2880#issuecomment-747275419\n\n*/\n\n/**\n * @type {Record<string, boolean>}\n */\nconst seenDeprecations = {};\n\n/**\n * @param {string} message\n */\nconst error = (message) => {\n console.error(message);\n};\n\n/**\n * @param {string} message\n * @param {any} args\n */\nconst warn = (message, ...args) => {\n console.log(`WARN: ${message}`, ...args);\n};\n\n/**\n * @param {string} version\n * @param {string} message\n */\nconst deprecated = (version, message) => {\n if (seenDeprecations[`${version}/${message}`]) return;\n\n console.log(`Deprecated as of ${version}. ${message}`);\n seenDeprecations[`${version}/${message}`] = true;\n};\n\n/* eslint-disable no-throw-literal */\n\n/**\n@typedef {import('highlight.js').CompiledMode} CompiledMode\n*/\n\nconst MultiClassError = new Error();\n\n/**\n * Renumbers labeled scope names to account for additional inner match\n * groups that otherwise would break everything.\n *\n * Lets say we 3 match scopes:\n *\n * { 1 => ..., 2 => ..., 3 => ... }\n *\n * So what we need is a clean match like this:\n *\n * (a)(b)(c) => [ \"a\", \"b\", \"c\" ]\n *\n * But this falls apart with inner match groups:\n *\n * (a)(((b)))(c) => [\"a\", \"b\", \"b\", \"b\", \"c\" ]\n *\n * Our scopes are now \"out of alignment\" and we're repeating `b` 3 times.\n * What needs to happen is the numbers are remapped:\n *\n * { 1 => ..., 2 => ..., 5 => ... }\n *\n * We also need to know that the ONLY groups that should be output\n * are 1, 2, and 5. This function handles this behavior.\n *\n * @param {CompiledMode} mode\n * @param {Array<RegExp | string>} regexes\n * @param {{key: \"beginScope\"|\"endScope\"}} opts\n */\nfunction remapScopeNames(mode, regexes, { key }) {\n let offset = 0;\n const scopeNames = mode[key];\n /** @type Record<number,boolean> */\n const emit = {};\n /** @type Record<number,string> */\n const positions = {};\n\n for (let i = 1; i <= regexes.length; i++) {\n positions[i + offset] = scopeNames[i];\n emit[i + offset] = true;\n offset += countMatchGroups(regexes[i - 1]);\n }\n // we use _emit to keep track of which match groups are \"top-level\" to avoid double\n // output from inside match groups\n mode[key] = positions;\n mode[key]._emit = emit;\n mode[key]._multi = true;\n}\n\n/**\n * @param {CompiledMode} mode\n */\nfunction beginMultiClass(mode) {\n if (!Array.isArray(mode.begin)) return;\n\n if (mode.skip || mode.excludeBegin || mode.returnBegin) {\n error(\"skip, excludeBegin, returnBegin not compatible with beginScope: {}\");\n throw MultiClassError;\n }\n\n if (typeof mode.beginScope !== \"object\" || mode.beginScope === null) {\n error(\"beginScope must be object\");\n throw MultiClassError;\n }\n\n remapScopeNames(mode, mode.begin, { key: \"beginScope\" });\n mode.begin = _rewriteBackreferences(mode.begin, { joinWith: \"\" });\n}\n\n/**\n * @param {CompiledMode} mode\n */\nfunction endMultiClass(mode) {\n if (!Array.isArray(mode.end)) return;\n\n if (mode.skip || mode.excludeEnd || mode.returnEnd) {\n error(\"skip, excludeEnd, returnEnd not compatible with endScope: {}\");\n throw MultiClassError;\n }\n\n if (typeof mode.endScope !== \"object\" || mode.endScope === null) {\n error(\"endScope must be object\");\n throw MultiClassError;\n }\n\n remapScopeNames(mode, mode.end, { key: \"endScope\" });\n mode.end = _rewriteBackreferences(mode.end, { joinWith: \"\" });\n}\n\n/**\n * this exists only to allow `scope: {}` to be used beside `match:`\n * Otherwise `beginScope` would necessary and that would look weird\n\n {\n match: [ /def/, /\\w+/ ]\n scope: { 1: \"keyword\" , 2: \"title\" }\n }\n\n * @param {CompiledMode} mode\n */\nfunction scopeSugar(mode) {\n if (mode.scope && typeof mode.scope === \"object\" && mode.scope !== null) {\n mode.beginScope = mode.scope;\n delete mode.scope;\n }\n}\n\n/**\n * @param {CompiledMode} mode\n */\nfunction MultiClass(mode) {\n scopeSugar(mode);\n\n if (typeof mode.beginScope === \"string\") {\n mode.beginScope = { _wrap: mode.beginScope };\n }\n if (typeof mode.endScope === \"string\") {\n mode.endScope = { _wrap: mode.endScope };\n }\n\n beginMultiClass(mode);\n endMultiClass(mode);\n}\n\n/**\n@typedef {import('highlight.js').Mode} Mode\n@typedef {import('highlight.js').CompiledMode} CompiledMode\n@typedef {import('highlight.js').Language} Language\n@typedef {import('highlight.js').HLJSPlugin} HLJSPlugin\n@typedef {import('highlight.js').CompiledLanguage} CompiledLanguage\n*/\n\n// compilation\n\n/**\n * Compiles a language definition result\n *\n * Given the raw result of a language definition (Language), compiles this so\n * that it is ready for highlighting code.\n * @param {Language} language\n * @returns {CompiledLanguage}\n */\nfunction compileLanguage(language) {\n /**\n * Builds a regex with the case sensitivity of the current language\n *\n * @param {RegExp | string} value\n * @param {boolean} [global]\n */\n function langRe(value, global) {\n return new RegExp(\n source(value),\n 'm'\n + (language.case_insensitive ? 'i' : '')\n + (language.unicodeRegex ? 'u' : '')\n + (global ? 'g' : '')\n );\n }\n\n /**\n Stores multiple regular expressions and allows you to quickly search for\n them all in a string simultaneously - returning the first match. It does\n this by creating a huge (a|b|c) regex - each individual item wrapped with ()\n and joined by `|` - using match groups to track position. When a match is\n found checking which position in the array has content allows us to figure\n out which of the original regexes / match groups triggered the match.\n\n The match object itself (the result of `Regex.exec`) is returned but also\n enhanced by merging in any meta-data that was registered with the regex.\n This is how we keep track of which mode matched, and what type of rule\n (`illegal`, `begin`, end, etc).\n */\n class MultiRegex {\n constructor() {\n this.matchIndexes = {};\n // @ts-ignore\n this.regexes = [];\n this.matchAt = 1;\n this.position = 0;\n }\n\n // @ts-ignore\n addRule(re, opts) {\n opts.position = this.position++;\n // @ts-ignore\n this.matchIndexes[this.matchAt] = opts;\n this.regexes.push([opts, re]);\n this.matchAt += countMatchGroups(re) + 1;\n }\n\n compile() {\n if (this.regexes.length === 0) {\n // avoids the need to check length every time exec is called\n // @ts-ignore\n this.exec = () => null;\n }\n const terminators = this.regexes.map(el => el[1]);\n this.matcherRe = langRe(_rewriteBackreferences(terminators, { joinWith: '|' }), true);\n this.lastIndex = 0;\n }\n\n /** @param {string} s */\n exec(s) {\n this.matcherRe.lastIndex = this.lastIndex;\n const match = this.matcherRe.exec(s);\n if (!match) { return null; }\n\n // eslint-disable-next-line no-undefined\n const i = match.findIndex((el, i) => i > 0 && el !== undefined);\n // @ts-ignore\n const matchData = this.matchIndexes[i];\n // trim off any earlier non-relevant match groups (ie, the other regex\n // match groups that make up the multi-matcher)\n match.splice(0, i);\n\n return Object.assign(match, matchData);\n }\n }\n\n /*\n Created to solve the key deficiently with MultiRegex - there is no way to\n test for multiple matches at a single location. Why would we need to do\n that? In the future a more dynamic engine will allow certain matches to be\n ignored. An example: if we matched say the 3rd regex in a large group but\n decided to ignore it - we'd need to started testing again at the 4th\n regex... but MultiRegex itself gives us no real way to do that.\n\n So what this class creates MultiRegexs on the fly for whatever search\n position they are needed.\n\n NOTE: These additional MultiRegex objects are created dynamically. For most\n grammars most of the time we will never actually need anything more than the\n first MultiRegex - so this shouldn't have too much overhead.\n\n Say this is our search group, and we match regex3, but wish to ignore it.\n\n regex1 | regex2 | regex3 | regex4 | regex5 ' ie, startAt = 0\n\n What we need is a new MultiRegex that only includes the remaining\n possibilities:\n\n regex4 | regex5 ' ie, startAt = 3\n\n This class wraps all that complexity up in a simple API... `startAt` decides\n where in the array of expressions to start doing the matching. It\n auto-increments, so if a match is found at position 2, then startAt will be\n set to 3. If the end is reached startAt will return to 0.\n\n MOST of the time the parser will be setting startAt manually to 0.\n */\n class ResumableMultiRegex {\n constructor() {\n // @ts-ignore\n this.rules = [];\n // @ts-ignore\n this.multiRegexes = [];\n this.count = 0;\n\n this.lastIndex = 0;\n this.regexIndex = 0;\n }\n\n // @ts-ignore\n getMatcher(index) {\n if (this.multiRegexes[index]) return this.multiRegexes[index];\n\n const matcher = new MultiRegex();\n this.rules.slice(index).forEach(([re, opts]) => matcher.addRule(re, opts));\n matcher.compile();\n this.multiRegexes[index] = matcher;\n return matcher;\n }\n\n resumingScanAtSamePosition() {\n return this.regexIndex !== 0;\n }\n\n considerAll() {\n this.regexIndex = 0;\n }\n\n // @ts-ignore\n addRule(re, opts) {\n this.rules.push([re, opts]);\n if (opts.type === \"begin\") this.count++;\n }\n\n /** @param {string} s */\n exec(s) {\n const m = this.getMatcher(this.regexIndex);\n m.lastIndex = this.lastIndex;\n let result = m.exec(s);\n\n // The following is because we have no easy way to say \"resume scanning at the\n // existing position but also skip the current rule ONLY\". What happens is\n // all prior rules are also skipped which can result in matching the wrong\n // thing. Example of matching \"booger\":\n\n // our matcher is [string, \"booger\", number]\n //\n // ....booger....\n\n // if \"booger\" is ignored then we'd really need a regex to scan from the\n // SAME position for only: [string, number] but ignoring \"booger\" (if it\n // was the first match), a simple resume would scan ahead who knows how\n // far looking only for \"number\", ignoring potential string matches (or\n // future \"booger\" matches that might be valid.)\n\n // So what we do: We execute two matchers, one resuming at the same\n // position, but the second full matcher starting at the position after:\n\n // /--- resume first regex match here (for [number])\n // |/---- full match here for [string, \"booger\", number]\n // vv\n // ....booger....\n\n // Which ever results in a match first is then used. So this 3-4 step\n // process essentially allows us to say \"match at this position, excluding\n // a prior rule that was ignored\".\n //\n // 1. Match \"booger\" first, ignore. Also proves that [string] does non match.\n // 2. Resume matching for [number]\n // 3. Match at index + 1 for [string, \"booger\", number]\n // 4. If #2 and #3 result in matches, which came first?\n if (this.resumingScanAtSamePosition()) {\n if (result && result.index === this.lastIndex) ; else { // use the second matcher result\n const m2 = this.getMatcher(0);\n m2.lastIndex = this.lastIndex + 1;\n result = m2.exec(s);\n }\n }\n\n if (result) {\n this.regexIndex += result.position + 1;\n if (this.regexIndex === this.count) {\n // wrap-around to considering all matches again\n this.considerAll();\n }\n }\n\n return result;\n }\n }\n\n /**\n * Given a mode, builds a huge ResumableMultiRegex that can be used to walk\n * the content and find matches.\n *\n * @param {CompiledMode} mode\n * @returns {ResumableMultiRegex}\n */\n function buildModeRegex(mode) {\n const mm = new ResumableMultiRegex();\n\n mode.contains.forEach(term => mm.addRule(term.begin, { rule: term, type: \"begin\" }));\n\n if (mode.terminatorEnd) {\n mm.addRule(mode.terminatorEnd, { type: \"end\" });\n }\n if (mode.illegal) {\n mm.addRule(mode.illegal, { type: \"illegal\" });\n }\n\n return mm;\n }\n\n /** skip vs abort vs ignore\n *\n * @skip - The mode is still entered and exited normally (and contains rules apply),\n * but all content is held and added to the parent buffer rather than being\n * output when the mode ends. Mostly used with `sublanguage` to build up\n * a single large buffer than can be parsed by sublanguage.\n *\n * - The mode begin ands ends normally.\n * - Content matched is added to the parent mode buffer.\n * - The parser cursor is moved forward normally.\n *\n * @abort - A hack placeholder until we have ignore. Aborts the mode (as if it\n * never matched) but DOES NOT continue to match subsequent `contains`\n * modes. Abort is bad/suboptimal because it can result in modes\n * farther down not getting applied because an earlier rule eats the\n * content but then aborts.\n *\n * - The mode does not begin.\n * - Content matched by `begin` is added to the mode buffer.\n * - The parser cursor is moved forward accordingly.\n *\n * @ignore - Ignores the mode (as if it never matched) and continues to match any\n * subsequent `contains` modes. Ignore isn't technically possible with\n * the current parser implementation.\n *\n * - The mode does not begin.\n * - Content matched by `begin` is ignored.\n * - The parser cursor is not moved forward.\n */\n\n /**\n * Compiles an individual mode\n *\n * This can raise an error if the mode contains certain detectable known logic\n * issues.\n * @param {Mode} mode\n * @param {CompiledMode | null} [parent]\n * @returns {CompiledMode | never}\n */\n function compileMode(mode, parent) {\n const cmode = /** @type CompiledMode */ (mode);\n if (mode.isCompiled) return cmode;\n\n [\n scopeClassName,\n // do this early so compiler extensions generally don't have to worry about\n // the distinction between match/begin\n compileMatch,\n MultiClass,\n beforeMatchExt\n ].forEach(ext => ext(mode, parent));\n\n language.compilerExtensions.forEach(ext => ext(mode, parent));\n\n // __beforeBegin is considered private API, internal use only\n mode.__beforeBegin = null;\n\n [\n beginKeywords,\n // do this later so compiler extensions that come earlier have access to the\n // raw array if they wanted to perhaps manipulate it, etc.\n compileIllegal,\n // default to 1 relevance if not specified\n compileRelevance\n ].forEach(ext => ext(mode, parent));\n\n mode.isCompiled = true;\n\n let keywordPattern = null;\n if (typeof mode.keywords === \"object\" && mode.keywords.$pattern) {\n // we need a copy because keywords might be compiled multiple times\n // so we can't go deleting $pattern from the original on the first\n // pass\n mode.keywords = Object.assign({}, mode.keywords);\n keywordPattern = mode.keywords.$pattern;\n delete mode.keywords.$pattern;\n }\n keywordPattern = keywordPattern || /\\w+/;\n\n if (mode.keywords) {\n mode.keywords = compileKeywords(mode.keywords, language.case_insensitive);\n }\n\n cmode.keywordPatternRe = langRe(keywordPattern, true);\n\n if (parent) {\n if (!mode.begin) mode.begin = /\\B|\\b/;\n cmode.beginRe = langRe(cmode.begin);\n if (!mode.end && !mode.endsWithParent) mode.end = /\\B|\\b/;\n if (mode.end) cmode.endRe = langRe(cmode.end);\n cmode.terminatorEnd = source(cmode.end) || '';\n if (mode.endsWithParent && parent.terminatorEnd) {\n cmode.terminatorEnd += (mode.end ? '|' : '') + parent.terminatorEnd;\n }\n }\n if (mode.illegal) cmode.illegalRe = langRe(/** @type {RegExp | string} */ (mode.illegal));\n if (!mode.contains) mode.contains = [];\n\n mode.contains = [].concat(...mode.contains.map(function(c) {\n return expandOrCloneMode(c === 'self' ? mode : c);\n }));\n mode.contains.forEach(function(c) { compileMode(/** @type Mode */ (c), cmode); });\n\n if (mode.starts) {\n compileMode(mode.starts, parent);\n }\n\n cmode.matcher = buildModeRegex(cmode);\n return cmode;\n }\n\n if (!language.compilerExtensions) language.compilerExtensions = [];\n\n // self is not valid at the top-level\n if (language.contains && language.contains.includes('self')) {\n throw new Error(\"ERR: contains `self` is not supported at the top-level of a language. See documentation.\");\n }\n\n // we need a null object, which inherit will guarantee\n language.classNameAliases = inherit$1(language.classNameAliases || {});\n\n return compileMode(/** @type Mode */ (language));\n}\n\n/**\n * Determines if a mode has a dependency on it's parent or not\n *\n * If a mode does have a parent dependency then often we need to clone it if\n * it's used in multiple places so that each copy points to the correct parent,\n * where-as modes without a parent can often safely be re-used at the bottom of\n * a mode chain.\n *\n * @param {Mode | null} mode\n * @returns {boolean} - is there a dependency on the parent?\n * */\nfunction dependencyOnParent(mode) {\n if (!mode) return false;\n\n return mode.endsWithParent || dependencyOnParent(mode.starts);\n}\n\n/**\n * Expands a mode or clones it if necessary\n *\n * This is necessary for modes with parental dependenceis (see notes on\n * `dependencyOnParent`) and for nodes that have `variants` - which must then be\n * exploded into their own individual modes at compile time.\n *\n * @param {Mode} mode\n * @returns {Mode | Mode[]}\n * */\nfunction expandOrCloneMode(mode) {\n if (mode.variants && !mode.cachedVariants) {\n mode.cachedVariants = mode.variants.map(function(variant) {\n return inherit$1(mode, { variants: null }, variant);\n });\n }\n\n // EXPAND\n // if we have variants then essentially \"replace\" the mode with the variants\n // this happens in compileMode, where this function is called from\n if (mode.cachedVariants) {\n return mode.cachedVariants;\n }\n\n // CLONE\n // if we have dependencies on parents then we need a unique\n // instance of ourselves, so we can be reused with many\n // different parents without issue\n if (dependencyOnParent(mode)) {\n return inherit$1(mode, { starts: mode.starts ? inherit$1(mode.starts) : null });\n }\n\n if (Object.isFrozen(mode)) {\n return inherit$1(mode);\n }\n\n // no special dependency issues, just return ourselves\n return mode;\n}\n\nvar version = \"11.5.1\";\n\nclass HTMLInjectionError extends Error {\n constructor(reason, html) {\n super(reason);\n this.name = \"HTMLInjectionError\";\n this.html = html;\n }\n}\n\n/*\nSyntax highlighting with language autodetection.\nhttps://highlightjs.org/\n*/\n\n/**\n@typedef {import('highlight.js').Mode} Mode\n@typedef {import('highlight.js').CompiledMode} CompiledMode\n@typedef {import('highlight.js').CompiledScope} CompiledScope\n@typedef {import('highlight.js').Language} Language\n@typedef {import('highlight.js').HLJSApi} HLJSApi\n@typedef {import('highlight.js').HLJSPlugin} HLJSPlugin\n@typedef {import('highlight.js').PluginEvent} PluginEvent\n@typedef {import('highlight.js').HLJSOptions} HLJSOptions\n@typedef {import('highlight.js').LanguageFn} LanguageFn\n@typedef {import('highlight.js').HighlightedHTMLElement} HighlightedHTMLElement\n@typedef {import('highlight.js').BeforeHighlightContext} BeforeHighlightContext\n@typedef {import('highlight.js/private').MatchType} MatchType\n@typedef {import('highlight.js/private').KeywordData} KeywordData\n@typedef {import('highlight.js/private').EnhancedMatch} EnhancedMatch\n@typedef {import('highlight.js/private').AnnotatedError} AnnotatedError\n@typedef {import('highlight.js').AutoHighlightResult} AutoHighlightResult\n@typedef {import('highlight.js').HighlightOptions} HighlightOptions\n@typedef {import('highlight.js').HighlightResult} HighlightResult\n*/\n\n\nconst escape = escapeHTML;\nconst inherit = inherit$1;\nconst NO_MATCH = Symbol(\"nomatch\");\nconst MAX_KEYWORD_HITS = 7;\n\n/**\n * @param {any} hljs - object that is extended (legacy)\n * @returns {HLJSApi}\n */\nconst HLJS = function(hljs) {\n // Global internal variables used within the highlight.js library.\n /** @type {Record<string, Language>} */\n const languages = Object.create(null);\n /** @type {Record<string, string>} */\n const aliases = Object.create(null);\n /** @type {HLJSPlugin[]} */\n const plugins = [];\n\n // safe/production mode - swallows more errors, tries to keep running\n // even if a single syntax or parse hits a fatal error\n let SAFE_MODE = true;\n const LANGUAGE_NOT_FOUND = \"Could not find the language '{}', did you forget to load/include a language module?\";\n /** @type {Language} */\n const PLAINTEXT_LANGUAGE = { disableAutodetect: true, name: 'Plain text', contains: [] };\n\n // Global options used when within external APIs. This is modified when\n // calling the `hljs.configure` function.\n /** @type HLJSOptions */\n let options = {\n ignoreUnescapedHTML: false,\n throwUnescapedHTML: false,\n noHighlightRe: /^(no-?highlight)$/i,\n languageDetectRe: /\\blang(?:uage)?-([\\w-]+)\\b/i,\n classPrefix: 'hljs-',\n cssSelector: 'pre code',\n languages: null,\n // beta configuration options, subject to change, welcome to discuss\n // https://github.com/highlightjs/highlight.js/issues/1086\n __emitter: TokenTreeEmitter\n };\n\n /* Utility functions */\n\n /**\n * Tests a language name to see if highlighting should be skipped\n * @param {string} languageName\n */\n function shouldNotHighlight(languageName) {\n return options.noHighlightRe.test(languageName);\n }\n\n /**\n * @param {HighlightedHTMLElement} block - the HTML element to determine language for\n */\n function blockLanguage(block) {\n let classes = block.className + ' ';\n\n classes += block.parentNode ? block.parentNode.className : '';\n\n // language-* takes precedence over non-prefixed class names.\n const match = options.languageDetectRe.exec(classes);\n if (match) {\n const language = getLanguage(match[1]);\n if (!language) {\n warn(LANGUAGE_NOT_FOUND.replace(\"{}\", match[1]));\n warn(\"Falling back to no-highlight mode for this block.\", block);\n }\n return language ? match[1] : 'no-highlight';\n }\n\n return classes\n .split(/\\s+/)\n .find((_class) => shouldNotHighlight(_class) || getLanguage(_class));\n }\n\n /**\n * Core highlighting function.\n *\n * OLD API\n * highlight(lang, code, ignoreIllegals, continuation)\n *\n * NEW API\n * highlight(code, {lang, ignoreIllegals})\n *\n * @param {string} codeOrLanguageName - the language to use for highlighting\n * @param {string | HighlightOptions} optionsOrCode - the code to highlight\n * @param {boolean} [ignoreIllegals] - whether to ignore illegal matches, default is to bail\n *\n * @returns {HighlightResult} Result - an object that represents the result\n * @property {string} language - the language name\n * @property {number} relevance - the relevance score\n * @property {string} value - the highlighted HTML code\n * @property {string} code - the original raw code\n * @property {CompiledMode} top - top of the current mode stack\n * @property {boolean} illegal - indicates whether any illegal matches were found\n */\n function highlight(codeOrLanguageName, optionsOrCode, ignoreIllegals) {\n let code = \"\";\n let languageName = \"\";\n if (typeof optionsOrCode === \"object\") {\n code = codeOrLanguageName;\n ignoreIllegals = optionsOrCode.ignoreIllegals;\n languageName = optionsOrCode.language;\n } else {\n // old API\n deprecated(\"10.7.0\", \"highlight(lang, code, ...args) has been deprecated.\");\n deprecated(\"10.7.0\", \"Please use highlight(code, options) instead.\\nhttps://github.com/highlightjs/highlight.js/issues/2277\");\n languageName = codeOrLanguageName;\n code = optionsOrCode;\n }\n\n // https://github.com/highlightjs/highlight.js/issues/3149\n // eslint-disable-next-line no-undefined\n if (ignoreIllegals === undefined) { ignoreIllegals = true; }\n\n /** @type {BeforeHighlightContext} */\n const context = {\n code,\n language: languageName\n };\n // the plugin can change the desired language or the code to be highlighted\n // just be changing the object it was passed\n fire(\"before:highlight\", context);\n\n // a before plugin can usurp the result completely by providing it's own\n // in which case we don't even need to call highlight\n const result = context.result\n ? context.result\n : _highlight(context.language, context.code, ignoreIllegals);\n\n result.code = context.code;\n // the plugin can change anything in result to suite it\n fire(\"after:highlight\", result);\n\n return result;\n }\n\n /**\n * private highlight that's used internally and does not fire callbacks\n *\n * @param {string} languageName - the language to use for highlighting\n * @param {string} codeToHighlight - the code to highlight\n * @param {boolean?} [ignoreIllegals] - whether to ignore illegal matches, default is to bail\n * @param {CompiledMode?} [continuation] - current continuation mode, if any\n * @returns {HighlightResult} - result of the highlight operation\n */\n function _highlight(languageName, codeToHighlight, ignoreIllegals, continuation) {\n const keywordHits = Object.create(null);\n\n /**\n * Return keyword data if a match is a keyword\n * @param {CompiledMode} mode - current mode\n * @param {string} matchText - the textual match\n * @returns {KeywordData | false}\n */\n function keywordData(mode, matchText) {\n return mode.keywords[matchText];\n }\n\n function processKeywords() {\n if (!top.keywords) {\n emitter.addText(modeBuffer);\n return;\n }\n\n let lastIndex = 0;\n top.keywordPatternRe.lastIndex = 0;\n let match = top.keywordPatternRe.exec(modeBuffer);\n let buf = \"\";\n\n while (match) {\n buf += modeBuffer.substring(lastIndex, match.index);\n const word = language.case_insensitive ? match[0].toLowerCase() : match[0];\n const data = keywordData(top, word);\n if (data) {\n const [kind, keywordRelevance] = data;\n emitter.addText(buf);\n buf = \"\";\n\n keywordHits[word] = (keywordHits[word] || 0) + 1;\n if (keywordHits[word] <= MAX_KEYWORD_HITS) relevance += keywordRelevance;\n if (kind.startsWith(\"_\")) {\n // _ implied for relevance only, do not highlight\n // by applying a class name\n buf += match[0];\n } else {\n const cssClass = language.classNameAliases[kind] || kind;\n emitter.addKeyword(match[0], cssClass);\n }\n } else {\n buf += match[0];\n }\n lastIndex = top.keywordPatternRe.lastIndex;\n match = top.keywordPatternRe.exec(modeBuffer);\n }\n buf += modeBuffer.substr(lastIndex);\n emitter.addText(buf);\n }\n\n function processSubLanguage() {\n if (modeBuffer === \"\") return;\n /** @type HighlightResult */\n let result = null;\n\n if (typeof top.subLanguage === 'string') {\n if (!languages[top.subLanguage]) {\n emitter.addText(modeBuffer);\n return;\n }\n result = _highlight(top.subLanguage, modeBuffer, true, continuations[top.subLanguage]);\n continuations[top.subLanguage] = /** @type {CompiledMode} */ (result._top);\n } else {\n result = highlightAuto(modeBuffer, top.subLanguage.length ? top.subLanguage : null);\n }\n\n // Counting embedded language score towards the host language may be disabled\n // with zeroing the containing mode relevance. Use case in point is Markdown that\n // allows XML everywhere and makes every XML snippet to have a much larger Markdown\n // score.\n if (top.relevance > 0) {\n relevance += result.relevance;\n }\n emitter.addSublanguage(result._emitter, result.language);\n }\n\n function processBuffer() {\n if (top.subLanguage != null) {\n processSubLanguage();\n } else {\n processKeywords();\n }\n modeBuffer = '';\n }\n\n /**\n * @param {CompiledScope} scope\n * @param {RegExpMatchArray} match\n */\n function emitMultiClass(scope, match) {\n let i = 1;\n const max = match.length - 1;\n while (i <= max) {\n if (!scope._emit[i]) { i++; continue; }\n const klass = language.classNameAliases[scope[i]] || scope[i];\n const text = match[i];\n if (klass) {\n emitter.addKeyword(text, klass);\n } else {\n modeBuffer = text;\n processKeywords();\n modeBuffer = \"\";\n }\n i++;\n }\n }\n\n /**\n * @param {CompiledMode} mode - new mode to start\n * @param {RegExpMatchArray} match\n */\n function startNewMode(mode, match) {\n if (mode.scope && typeof mode.scope === \"string\") {\n emitter.openNode(language.classNameAliases[mode.scope] || mode.scope);\n }\n if (mode.beginScope) {\n // beginScope just wraps the begin match itself in a scope\n if (mode.beginScope._wrap) {\n emitter.addKeyword(modeBuffer, language.classNameAliases[mode.beginScope._wrap] || mode.beginScope._wrap);\n modeBuffer = \"\";\n } else if (mode.beginScope._multi) {\n // at this point modeBuffer should just be the match\n emitMultiClass(mode.beginScope, match);\n modeBuffer = \"\";\n }\n }\n\n top = Object.create(mode, { parent: { value: top } });\n return top;\n }\n\n /**\n * @param {CompiledMode } mode - the mode to potentially end\n * @param {RegExpMatchArray} match - the latest match\n * @param {string} matchPlusRemainder - match plus remainder of content\n * @returns {CompiledMode | void} - the next mode, or if void continue on in current mode\n */\n function endOfMode(mode, match, matchPlusRemainder) {\n let matched = startsWith(mode.endRe, matchPlusRemainder);\n\n if (matched) {\n if (mode[\"on:end\"]) {\n const resp = new Response(mode);\n mode[\"on:end\"](match, resp);\n if (resp.isMatchIgnored) matched = false;\n }\n\n if (matched) {\n while (mode.endsParent && mode.parent) {\n mode = mode.parent;\n }\n return mode;\n }\n }\n // even if on:end fires an `ignore` it's still possible\n // that we might trigger the end node because of a parent mode\n if (mode.endsWithParent) {\n return endOfMode(mode.parent, match, matchPlusRemainder);\n }\n }\n\n /**\n * Handle matching but then ignoring a sequence of text\n *\n * @param {string} lexeme - string containing full match text\n */\n function doIgnore(lexeme) {\n if (top.matcher.regexIndex === 0) {\n // no more regexes to potentially match here, so we move the cursor forward one\n // space\n modeBuffer += lexeme[0];\n return 1;\n } else {\n // no need to move the cursor, we still have additional regexes to try and\n // match at this very spot\n resumeScanAtSamePosition = true;\n return 0;\n }\n }\n\n /**\n * Handle the start of a new potential mode match\n *\n * @param {EnhancedMatch} match - the current match\n * @returns {number} how far to advance the parse cursor\n */\n function doBeginMatch(match) {\n const lexeme = match[0];\n const newMode = match.rule;\n\n const resp = new Response(newMode);\n // first internal before callbacks, then the public ones\n const beforeCallbacks = [newMode.__beforeBegin, newMode[\"on:begin\"]];\n for (const cb of beforeCallbacks) {\n if (!cb) continue;\n cb(match, resp);\n if (resp.isMatchIgnored) return doIgnore(lexeme);\n }\n\n if (newMode.skip) {\n modeBuffer += lexeme;\n } else {\n if (newMode.excludeBegin) {\n modeBuffer += lexeme;\n }\n processBuffer();\n if (!newMode.returnBegin && !newMode.excludeBegin) {\n modeBuffer = lexeme;\n }\n }\n startNewMode(newMode, match);\n return newMode.returnBegin ? 0 : lexeme.length;\n }\n\n /**\n * Handle the potential end of mode\n *\n * @param {RegExpMatchArray} match - the current match\n */\n function doEndMatch(match) {\n const lexeme = match[0];\n const matchPlusRemainder = codeToHighlight.substr(match.index);\n\n const endMode = endOfMode(top, match, matchPlusRemainder);\n if (!endMode) { return NO_MATCH; }\n\n const origin = top;\n if (top.endScope && top.endScope._wrap) {\n processBuffer();\n emitter.addKeyword(lexeme, top.endScope._wrap);\n } else if (top.endScope && top.endScope._multi) {\n processBuffer();\n emitMultiClass(top.endScope, match);\n } else if (origin.skip) {\n modeBuffer += lexeme;\n } else {\n if (!(origin.returnEnd || origin.excludeEnd)) {\n modeBuffer += lexeme;\n }\n processBuffer();\n if (origin.excludeEnd) {\n modeBuffer = lexeme;\n }\n }\n do {\n if (top.scope) {\n emitter.closeNode();\n }\n if (!top.skip && !top.subLanguage) {\n relevance += top.relevance;\n }\n top = top.parent;\n } while (top !== endMode.parent);\n if (endMode.starts) {\n startNewMode(endMode.starts, match);\n }\n return origin.returnEnd ? 0 : lexeme.length;\n }\n\n function processContinuations() {\n const list = [];\n for (let current = top; current !== language; current = current.parent) {\n if (current.scope) {\n list.unshift(current.scope);\n }\n }\n list.forEach(item => emitter.openNode(item));\n }\n\n /** @type {{type?: MatchType, index?: number, rule?: Mode}}} */\n let lastMatch = {};\n\n /**\n * Process an individual match\n *\n * @param {string} textBeforeMatch - text preceding the match (since the last match)\n * @param {EnhancedMatch} [match] - the match itself\n */\n function processLexeme(textBeforeMatch, match) {\n const lexeme = match && match[0];\n\n // add non-matched text to the current mode buffer\n modeBuffer += textBeforeMatch;\n\n if (lexeme == null) {\n processBuffer();\n return 0;\n }\n\n // we've found a 0 width match and we're stuck, so we need to advance\n // this happens when we have badly behaved rules that have optional matchers to the degree that\n // sometimes they can end up matching nothing at all\n // Ref: https://github.com/highlightjs/highlight.js/issues/2140\n if (lastMatch.type === \"begin\" && match.type === \"end\" && lastMatch.index === match.index && lexeme === \"\") {\n // spit the \"skipped\" character that our regex choked on back into the output sequence\n modeBuffer += codeToHighlight.slice(match.index, match.index + 1);\n if (!SAFE_MODE) {\n /** @type {AnnotatedError} */\n const err = new Error(`0 width match regex (${languageName})`);\n err.languageName = languageName;\n err.badRule = lastMatch.rule;\n throw err;\n }\n return 1;\n }\n lastMatch = match;\n\n if (match.type === \"begin\") {\n return doBeginMatch(match);\n } else if (match.type === \"illegal\" && !ignoreIllegals) {\n // illegal match, we do not continue processing\n /** @type {AnnotatedError} */\n const err = new Error('Illegal lexeme \"' + lexeme + '\" for mode \"' + (top.scope || '<unnamed>') + '\"');\n err.mode = top;\n throw err;\n } else if (match.type === \"end\") {\n const processed = doEndMatch(match);\n if (processed !== NO_MATCH) {\n return processed;\n }\n }\n\n // edge case for when illegal matches $ (end of line) which is technically\n // a 0 width match but not a begin/end match so it's not caught by the\n // first handler (when ignoreIllegals is true)\n if (match.type === \"illegal\" && lexeme === \"\") {\n // advance so we aren't stuck in an infinite loop\n return 1;\n }\n\n // infinite loops are BAD, this is a last ditch catch all. if we have a\n // decent number of iterations yet our index (cursor position in our\n // parsing) still 3x behind our index then something is very wrong\n // so we bail\n if (iterations > 100000 && iterations > match.index * 3) {\n const err = new Error('potential infinite loop, way more iterations than matches');\n throw err;\n }\n\n /*\n Why might be find ourselves here? An potential end match that was\n triggered but could not be completed. IE, `doEndMatch` returned NO_MATCH.\n (this could be because a callback requests the match be ignored, etc)\n\n This causes no real harm other than stopping a few times too many.\n */\n\n modeBuffer += lexeme;\n return lexeme.length;\n }\n\n const language = getLanguage(languageName);\n if (!language) {\n error(LANGUAGE_NOT_FOUND.replace(\"{}\", languageName));\n throw new Error('Unknown language: \"' + languageName + '\"');\n }\n\n const md = compileLanguage(language);\n let result = '';\n /** @type {CompiledMode} */\n let top = continuation || md;\n /** @type Record<string,CompiledMode> */\n const continuations = {}; // keep continuations for sub-languages\n const emitter = new options.__emitter(options);\n processContinuations();\n let modeBuffer = '';\n let relevance = 0;\n let index = 0;\n let iterations = 0;\n let resumeScanAtSamePosition = false;\n\n try {\n top.matcher.considerAll();\n\n for (;;) {\n iterations++;\n if (resumeScanAtSamePosition) {\n // only regexes not matched previously will now be\n // considered for a potential match\n resumeScanAtSamePosition = false;\n } else {\n top.matcher.considerAll();\n }\n top.matcher.lastIndex = index;\n\n const match = top.matcher.exec(codeToHighlight);\n // console.log(\"match\", match[0], match.rule && match.rule.begin)\n\n if (!match) break;\n\n const beforeMatch = codeToHighlight.substring(index, match.index);\n const processedCount = processLexeme(beforeMatch, match);\n index = match.index + processedCount;\n }\n processLexeme(codeToHighlight.substr(index));\n emitter.closeAllNodes();\n emitter.finalize();\n result = emitter.toHTML();\n\n return {\n language: languageName,\n value: result,\n relevance: relevance,\n illegal: false,\n _emitter: emitter,\n _top: top\n };\n } catch (err) {\n if (err.message && err.message.includes('Illegal')) {\n return {\n language: languageName,\n value: escape(codeToHighlight),\n illegal: true,\n relevance: 0,\n _illegalBy: {\n message: err.message,\n index: index,\n context: codeToHighlight.slice(index - 100, index + 100),\n mode: err.mode,\n resultSoFar: result\n },\n _emitter: emitter\n };\n } else if (SAFE_MODE) {\n return {\n language: languageName,\n value: escape(codeToHighlight),\n illegal: false,\n relevance: 0,\n errorRaised: err,\n _emitter: emitter,\n _top: top\n };\n } else {\n throw err;\n }\n }\n }\n\n /**\n * returns a valid highlight result, without actually doing any actual work,\n * auto highlight starts with this and it's possible for small snippets that\n * auto-detection may not find a better match\n * @param {string} code\n * @returns {HighlightResult}\n */\n function justTextHighlightResult(code) {\n const result = {\n value: escape(code),\n illegal: false,\n relevance: 0,\n _top: PLAINTEXT_LANGUAGE,\n _emitter: new options.__emitter(options)\n };\n result._emitter.addText(code);\n return result;\n }\n\n /**\n Highlighting with language detection. Accepts a string with the code to\n highlight. Returns an object with the following properties:\n\n - language (detected language)\n - relevance (int)\n - value (an HTML string with highlighting markup)\n - secondBest (object with the same structure for second-best heuristically\n detected language, may be absent)\n\n @param {string} code\n @param {Array<string>} [languageSubset]\n @returns {AutoHighlightResult}\n */\n function highlightAuto(code, languageSubset) {\n languageSubset = languageSubset || options.languages || Object.keys(languages);\n const plaintext = justTextHighlightResult(code);\n\n const results = languageSubset.filter(getLanguage).filter(autoDetection).map(name =>\n _highlight(name, code, false)\n );\n results.unshift(plaintext); // plaintext is always an option\n\n const sorted = results.sort((a, b) => {\n // sort base on relevance\n if (a.relevance !== b.relevance) return b.relevance - a.relevance;\n\n // always award the tie to the base language\n // ie if C++ and Arduino are tied, it's more likely to be C++\n if (a.language && b.language) {\n if (getLanguage(a.language).supersetOf === b.language) {\n return 1;\n } else if (getLanguage(b.language).supersetOf === a.language) {\n return -1;\n }\n }\n\n // otherwise say they are equal, which has the effect of sorting on\n // relevance while preserving the original ordering - which is how ties\n // have historically been settled, ie the language that comes first always\n // wins in the case of a tie\n return 0;\n });\n\n const [best, secondBest] = sorted;\n\n /** @type {AutoHighlightResult} */\n const result = best;\n result.secondBest = secondBest;\n\n return result;\n }\n\n /**\n * Builds new class name for block given the language name\n *\n * @param {HTMLElement} element\n * @param {string} [currentLang]\n * @param {string} [resultLang]\n */\n function updateClassName(element, currentLang, resultLang) {\n const language = (currentLang && aliases[currentLang]) || resultLang;\n\n element.classList.add(\"hljs\");\n element.classList.add(`language-${language}`);\n }\n\n /**\n * Applies highlighting to a DOM node containing code.\n *\n * @param {HighlightedHTMLElement} element - the HTML element to highlight\n */\n function highlightElement(element) {\n /** @type HTMLElement */\n let node = null;\n const language = blockLanguage(element);\n\n if (shouldNotHighlight(language)) return;\n\n fire(\"before:highlightElement\",\n { el: element, language: language });\n\n // we should be all text, no child nodes (unescaped HTML) - this is possibly\n // an HTML injection attack - it's likely too late if this is already in\n // production (the code has likely already done its damage by the time\n // we're seeing it)... but we yell loudly about this so that hopefully it's\n // more likely to be caught in development before making it to production\n if (element.children.length > 0) {\n if (!options.ignoreUnescapedHTML) {\n console.warn(\"One of your code blocks includes unescaped HTML. This is a potentially serious security risk.\");\n console.warn(\"https://github.com/highlightjs/highlight.js/wiki/security\");\n console.warn(\"The element with unescaped HTML:\");\n console.warn(element);\n }\n if (options.throwUnescapedHTML) {\n const err = new HTMLInjectionError(\n \"One of your code blocks includes unescaped HTML.\",\n element.innerHTML\n );\n throw err;\n }\n }\n\n node = element;\n const text = node.textContent;\n const result = language ? highlight(text, { language, ignoreIllegals: true }) : highlightAuto(text);\n\n element.innerHTML = result.value;\n updateClassName(element, language, result.language);\n element.result = {\n language: result.language,\n // TODO: remove with version 11.0\n re: result.relevance,\n relevance: result.relevance\n };\n if (result.secondBest) {\n element.secondBest = {\n language: result.secondBest.language,\n relevance: result.secondBest.relevance\n };\n }\n\n fire(\"after:highlightElement\", { el: element, result, text });\n }\n\n /**\n * Updates highlight.js global options with the passed options\n *\n * @param {Partial<HLJSOptions>} userOptions\n */\n function configure(userOptions) {\n options = inherit(options, userOptions);\n }\n\n // TODO: remove v12, deprecated\n const initHighlighting = () => {\n highlightAll();\n deprecated(\"10.6.0\", \"initHighlighting() deprecated. Use highlightAll() now.\");\n };\n\n // TODO: remove v12, deprecated\n function initHighlightingOnLoad() {\n highlightAll();\n deprecated(\"10.6.0\", \"initHighlightingOnLoad() deprecated. Use highlightAll() now.\");\n }\n\n let wantsHighlight = false;\n\n /**\n * auto-highlights all pre>code elements on the page\n */\n function highlightAll() {\n // if we are called too early in the loading process\n if (document.readyState === \"loading\") {\n wantsHighlight = true;\n return;\n }\n\n const blocks = document.querySelectorAll(options.cssSelector);\n blocks.forEach(highlightElement);\n }\n\n function boot() {\n // if a highlight was requested before DOM was loaded, do now\n if (wantsHighlight) highlightAll();\n }\n\n // make sure we are in the browser environment\n if (typeof window !== 'undefined' && window.addEventListener) {\n window.addEventListener('DOMContentLoaded', boot, false);\n }\n\n /**\n * Register a language grammar module\n *\n * @param {string} languageName\n * @param {LanguageFn} languageDefinition\n */\n function registerLanguage(languageName, languageDefinition) {\n let lang = null;\n try {\n lang = languageDefinition(hljs);\n } catch (error$1) {\n error(\"Language definition for '{}' could not be registered.\".replace(\"{}\", languageName));\n // hard or soft error\n if (!SAFE_MODE) { throw error$1; } else { error(error$1); }\n // languages that have serious errors are replaced with essentially a\n // \"plaintext\" stand-in so that the code blocks will still get normal\n // css classes applied to them - and one bad language won't break the\n // entire highlighter\n lang = PLAINTEXT_LANGUAGE;\n }\n // give it a temporary name if it doesn't have one in the meta-data\n if (!lang.name) lang.name = languageName;\n languages[languageName] = lang;\n lang.rawDefinition = languageDefinition.bind(null, hljs);\n\n if (lang.aliases) {\n registerAliases(lang.aliases, { languageName });\n }\n }\n\n /**\n * Remove a language grammar module\n *\n * @param {string} languageName\n */\n function unregisterLanguage(languageName) {\n delete languages[languageName];\n for (const alias of Object.keys(aliases)) {\n if (aliases[alias] === languageName) {\n delete aliases[alias];\n }\n }\n }\n\n /**\n * @returns {string[]} List of language internal names\n */\n function listLanguages() {\n return Object.keys(languages);\n }\n\n /**\n * @param {string} name - name of the language to retrieve\n * @returns {Language | undefined}\n */\n function getLanguage(name) {\n name = (name || '').toLowerCase();\n return languages[name] || languages[aliases[name]];\n }\n\n /**\n *\n * @param {string|string[]} aliasList - single alias or list of aliases\n * @param {{languageName: string}} opts\n */\n function registerAliases(aliasList, { languageName }) {\n if (typeof aliasList === 'string') {\n aliasList = [aliasList];\n }\n aliasList.forEach(alias => { aliases[alias.toLowerCase()] = languageName; });\n }\n\n /**\n * Determines if a given language has auto-detection enabled\n * @param {string} name - name of the language\n */\n function autoDetection(name) {\n const lang = getLanguage(name);\n return lang && !lang.disableAutodetect;\n }\n\n /**\n * Upgrades the old highlightBlock plugins to the new\n * highlightElement API\n * @param {HLJSPlugin} plugin\n */\n function upgradePluginAPI(plugin) {\n // TODO: remove with v12\n if (plugin[\"before:highlightBlock\"] && !plugin[\"before:highlightElement\"]) {\n plugin[\"before:highlightElement\"] = (data) => {\n plugin[\"before:highlightBlock\"](\n Object.assign({ block: data.el }, data)\n );\n };\n }\n if (plugin[\"after:highlightBlock\"] && !plugin[\"after:highlightElement\"]) {\n plugin[\"after:highlightElement\"] = (data) => {\n plugin[\"after:highlightBlock\"](\n Object.assign({ block: data.el }, data)\n );\n };\n }\n }\n\n /**\n * @param {HLJSPlugin} plugin\n */\n function addPlugin(plugin) {\n upgradePluginAPI(plugin);\n plugins.push(plugin);\n }\n\n /**\n *\n * @param {PluginEvent} event\n * @param {any} args\n */\n function fire(event, args) {\n const cb = event;\n plugins.forEach(function(plugin) {\n if (plugin[cb]) {\n plugin[cb](args);\n }\n });\n }\n\n /**\n * DEPRECATED\n * @param {HighlightedHTMLElement} el\n */\n function deprecateHighlightBlock(el) {\n deprecated(\"10.7.0\", \"highlightBlock will be removed entirely in v12.0\");\n deprecated(\"10.7.0\", \"Please use highlightElement now.\");\n\n return highlightElement(el);\n }\n\n /* Interface definition */\n Object.assign(hljs, {\n highlight,\n highlightAuto,\n highlightAll,\n highlightElement,\n // TODO: Remove with v12 API\n highlightBlock: deprecateHighlightBlock,\n configure,\n initHighlighting,\n initHighlightingOnLoad,\n registerLanguage,\n unregisterLanguage,\n listLanguages,\n getLanguage,\n registerAliases,\n autoDetection,\n inherit,\n addPlugin\n });\n\n hljs.debugMode = function() { SAFE_MODE = false; };\n hljs.safeMode = function() { SAFE_MODE = true; };\n hljs.versionString = version;\n\n hljs.regex = {\n concat: concat,\n lookahead: lookahead,\n either: either,\n optional: optional,\n anyNumberOfTimes: anyNumberOfTimes\n };\n\n for (const key in MODES) {\n // @ts-ignore\n if (typeof MODES[key] === \"object\") {\n // @ts-ignore\n deepFreeze$1(MODES[key]);\n }\n }\n\n // merge all the modes/regexes into our main object\n Object.assign(hljs, MODES);\n\n return hljs;\n};\n\n// export an \"instance\" of the highlighter\nvar highlight = HLJS({});\n\nmodule.exports = highlight;\nhighlight.HighlightJS = highlight;\nhighlight.default = highlight;\n","/*\nLanguage: JSON\nDescription: JSON (JavaScript Object Notation) is a lightweight data-interchange format.\nAuthor: Ivan Sagalaev <maniac@softwaremaniacs.org>\nWebsite: http://www.json.org\nCategory: common, protocols, web\n*/\n\nfunction json(hljs) {\n const ATTRIBUTE = {\n className: 'attr',\n begin: /\"(\\\\.|[^\\\\\"\\r\\n])*\"(?=\\s*:)/,\n relevance: 1.01\n };\n const PUNCTUATION = {\n match: /[{}[\\],:]/,\n className: \"punctuation\",\n relevance: 0\n };\n // normally we would rely on `keywords` for this but using a mode here allows us\n // to use the very tight `illegal: \\S` rule later to flag any other character\n // as illegal indicating that despite looking like JSON we do not truly have\n // JSON and thus improve false-positively greatly since JSON will try and claim\n // all sorts of JSON looking stuff\n const LITERALS = { beginKeywords: [\n \"true\",\n \"false\",\n \"null\"\n ].join(\" \") };\n\n return {\n name: 'JSON',\n contains: [\n ATTRIBUTE,\n PUNCTUATION,\n hljs.QUOTE_STRING_MODE,\n LITERALS,\n hljs.C_NUMBER_MODE,\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE\n ],\n illegal: '\\\\S'\n };\n}\n\nexport { json as default };\n","import hljs from 'highlight.js/lib/core'\nimport json from 'highlight.js/lib/languages/json'\nimport { marked } from 'marked'\nimport { route } from 'preact-router'\nimport { useCallback, useEffect, useMemo, useState } from 'preact/hooks'\nimport config from '../../config.json'\nimport { Ad, Btn, BtnMenu, ChangelogTag, Giscus, Octicon } from '../components'\nimport { useLocale, useTitle, useVersion } from '../contexts'\nimport { useActiveTimeout, useAsync, useHash } from '../hooks'\nimport type { VersionId } from '../services'\nimport { parseFrontMatter, versionContent } from '../Utils'\n\nconst HASH = '<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" width=\"16\" height=\"16\"><path fill-rule=\"evenodd\" d=\"M6.368 1.01a.75.75 0 01.623.859L6.57 4.5h3.98l.46-2.868a.75.75 0 011.48.237L12.07 4.5h2.18a.75.75 0 010 1.5h-2.42l-.64 4h2.56a.75.75 0 010 1.5h-2.8l-.46 2.869a.75.75 0 01-1.48-.237l.42-2.632H5.45l-.46 2.869a.75.75 0 01-1.48-.237l.42-2.632H1.75a.75.75 0 010-1.5h2.42l.64-4H2.25a.75.75 0 010-1.5h2.8l.46-2.868a.75.75 0 01.858-.622zM9.67 10l.64-4H6.33l-.64 4h3.98z\"></path></svg>'\n\nhljs.registerLanguage('json', json)\n\nmarked.use({\n\thighlight: (code, lang) => {\n\t\tif (lang === '') return undefined\n\t\treturn hljs.highlight(code, { language: lang }).value\n\t},\n})\n\ninterface Props {\n\tpath?: string\n\tid?: string\n}\nexport function Guide({ id }: Props) {\n\tconst { locale } = useLocale()\n\tconst { version, changeVersion } = useVersion()\n\tconst { changeTitle } = useTitle()\n\n\tconst { value: content } = useAsync(async () => {\n\t\tconst res = await fetch(`../../guides/${id}.md`)\n\t\treturn await res.text()\n\t}, [id])\n\n\tconst frontMatter = useMemo(() => {\n\t\tif (!content) return undefined\n\t\tconst data = parseFrontMatter(content)\n\t\tchangeTitle(data?.title, data?.versions)\n\t\treturn data\n\t}, [content])\n\n\tconst allowedVersions = useMemo(() => {\n\t\tconst orderedVersions = config.versions.map(v => v.id)\n\t\treturn (frontMatter?.versions as string[])\n\t\t\t?.sort((a, b) => orderedVersions.indexOf(b) - orderedVersions.indexOf(a))\n\t}, [frontMatter?.versions])\n\n\tconst guideVersion = useMemo(() => {\n\t\tif (!allowedVersions) return version\n\t\tif (allowedVersions.includes(version)) return version\n\t\treturn allowedVersions[0]\n\t}, [version, frontMatter?.versions])\n\n\tconst html = useMemo(() => {\n\t\tif (!content) return undefined\n\t\tmarked.use({ renderer: {\n\t\t\tlink(href, title, text) {\n\t\t\t\tif (href === null) return text\n\t\t\t\tconst title2 = title ? ` title=\"${title}\"` : '' \n\t\t\t\tconst target = href?.match(/^https?:\\/\\//) ? ' target=\"_blank\"' : ''\n\t\t\t\treturn `<a href=\"${href}\"${title2}${target}>${text}</a>`\n\t\t\t},\n\t\t\theading(text, level, raw, slugger) {\n\t\t\t\tconst id = slugger.slug(raw)\n\t\t\t\tconst link = `<span id=\"guide-${id}\" href=\"?version=${version}#${id}\">${HASH}</span>`\n\t\t\t\treturn `<h${level}>${link}${text}</h${level}>`\n\t\t\t},\n\t\t}})\n\t\tconst guide = content.substring(content.indexOf('---', 3) + 3)\n\t\tconst versionedContent = versionContent(guide, guideVersion)\n\t\treturn marked(versionedContent, { version: '1.19' } as any)\n\t}, [guideVersion, content])\n\n\tconst [hash, setHash] = useHash()\n\n\tconst scrollToHeading = useCallback(() => {\n\t\tif (!html) return\n\t\tconst heading = document.querySelector(`[id=guide-${hash.slice(1)}]`)\n\t\tif (heading) {\n\t\t\tconst top = heading.getBoundingClientRect().top + window.scrollY\n\t\t\twindow.scrollTo({ top: top - 68, behavior: 'smooth' })\n\t\t}\n\t}, [html, hash])\n\n\tuseEffect(() => {\n\t\tscrollToHeading()\n\t}, [html === undefined, hash])\n\n\tconst clickGuideContent = useCallback((e: MouseEvent) => {\n\t\tif (!(e.target instanceof HTMLSpanElement)) return\n\t\tconst targetHash = '#' + e.target.id.replace(/^guide-/, '')\n\t\tchangeVersion(version, false, true)\n\t\tsetHash(targetHash)\n\t\tif (targetHash === hash) {\n\t\t\tscrollToHeading()\n\t\t}\n\t}, [scrollToHeading, hash, version])\n\n\tconst [shareActive, shareSuccess] = useActiveTimeout()\n\n\tconst onShare = useCallback(() => {\n\t\tconst url = `${location.origin}/guides/${id}/?version=${version}`\n\t\tnavigator.clipboard.writeText(url)\n\t\tshareSuccess()\n\t}, [id, version])\n\n\tconst onClickTag = useCallback((tag: string) => {\n\t\troute(`/guides/?tags=${tag}`)\n\t}, [])\n\n\tconst [largeWidth] = useState(window.innerWidth > 600)\n\n\treturn <main>\n\t\t<div class=\"guide\">\n\t\t\t<div class=\"navigation\">\n\t\t\t\t<a class=\"btn btn-link\" href=\"/guides/\">\n\t\t\t\t\t{Octicon.arrow_left}\n\t\t\t\t\t{locale('guides.all')}\n\t\t\t\t</a>\n\t\t\t\t<Btn icon={shareActive ? 'check' : 'link'} label={locale('share')} onClick={onShare} active={shareActive} tooltip={locale(shareActive ? 'copied' : 'copy_share')} class=\"guide-share\" />\n\t\t\t\t{allowedVersions && <BtnMenu icon=\"tag\" label={guideVersion} tooltip={locale('switch_version')}>\n\t\t\t\t\t{allowedVersions.map((v: string) => \n\t\t\t\t\t\t<Btn label={v} active={v === guideVersion} onClick={() => changeVersion(v as VersionId)} />)}\n\t\t\t\t</BtnMenu>}\n\t\t\t</div>\n\t\t\t{(frontMatter?.tags && frontMatter.tags.length > 0) && <div class=\"guide-tags\">\n\t\t\t\t{frontMatter.tags.map((tag: string) =>\n\t\t\t\t\t<ChangelogTag label={tag} active onClick={() => onClickTag(tag)} />\n\t\t\t\t)}\n\t\t\t</div>}\n\t\t\t{html && <>\n\t\t\t\t<Ad id=\"guide\" type={largeWidth ? 'image' : 'text'} />\n\t\t\t\t<div class=\"guide-content\" dangerouslySetInnerHTML={{ __html: html }} onClick={clickGuideContent}></div>\n\t\t\t\t<Giscus />\n\t\t\t</>}\n\t\t</div>\n\t</main>\n}\n","import { useMemo, useState } from 'preact/hooks'\nimport config from '../../config.json'\nimport { Btn, BtnMenu, ChangelogTag, GuideCard, TextInput } from '../components'\nimport { useLocale, useTitle, useVersion } from '../contexts'\nimport { useSearchParam } from '../hooks'\nimport type { VersionId } from '../services'\n\ninterface Guide {\n\tid: string,\n\ttitle: string,\n\tversions?: string[],\n\ttags?: string[],\n}\n\ndeclare var __GUIDES__: Guide[]\n\nconst TAG_KEY = 'tags'\nconst TAG_SEP = '|'\n\ninterface Props {\n\tpath?: string\n}\nexport function Guides({}: Props) {\n\tconst { locale } = useLocale()\n\tconst { version, changeVersion } = useVersion()\n\tuseTitle(locale('title.guides'))\n\n\tconst [search, setSearch] = useState('')\n\tconst [tags, setTags] = useSearchParam(TAG_KEY)\n\tconst activeTags = useMemo(() => tags?.split(TAG_SEP) ?? [], [tags])\n\tconst toggleTag = (tag: string) => {\n\t\tif (activeTags.includes(tag)) {\n\t\t\tsetTags(activeTags.filter(t => t !== tag).join(TAG_SEP))\n\t\t} else {\n\t\t\tsetTags([...activeTags, tag].sort().join(TAG_SEP))\n\t\t}\n\t}\n\n\tconst [versionFilter, setVersionFiler] = useState(false)\n\n\tconst versionedGuides = useMemo(() => {\n\t\tif (versionFilter === false) return __GUIDES__\n\t\treturn __GUIDES__.filter(guide => {\n\t\t\treturn guide.versions?.includes(version)\n\t\t})\n\t}, [version, versionFilter])\n\n\tconst filteredGuides = useMemo(() => {\n\t\tconst query = search.split(' ').map(q => q.trim().toLowerCase()).filter(q => q.length > 0)\n\t\treturn versionedGuides.filter(guide => {\n\t\t\tif (!activeTags.every(tag => guide.tags?.includes(tag))) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t\tconst content = guide.tags?.join(' ') + ' ' + guide.title.toLowerCase()\n\t\t\treturn query.every(q => {\n\t\t\t\tif (q.startsWith('!')) {\n\t\t\t\t\treturn q.length === 1 || !content.includes(q.slice(1))\n\t\t\t\t}\n\t\t\t\treturn content.includes(q)\n\t\t\t})\n\t\t})\n\t}, [versionedGuides, search, tags])\n\n\treturn <main>\n\t\t<div class=\"guides\">\n\t\t\t<div class=\"changelog-query\">\n\t\t\t\t<TextInput class=\"btn btn-input changelog-search\" placeholder={locale('guides.search')} value={search} onChange={setSearch} />\n\t\t\t\t<BtnMenu icon=\"tag\" label={versionFilter ? version : locale('any_version')} tooltip={locale('switch_version')}>\n\t\t\t\t\t<Btn label={locale('any_version')} active={!versionFilter} onClick={() => setVersionFiler(!versionFilter)} />\n\t\t\t\t\t{config.versions.slice().reverse().map(v =>\n\t\t\t\t\t\t<Btn label={v.id} active={versionFilter && v.id === version} onClick={() => {changeVersion(v.id as VersionId); setVersionFiler(true)}} />\n\t\t\t\t\t)}\n\t\t\t\t</BtnMenu>\n\t\t\t</div>\n\t\t\t{activeTags.length > 0 && <div class=\"changelog-tags\">\n\t\t\t\t{activeTags.map(tag => <ChangelogTag label={tag} onClick={() => toggleTag(tag)} />)}\n\t\t\t</div>}\n\t\t\t{versionedGuides.length === 0 ? <>\n\t\t\t\t<span class=\"note\">{locale('guides.no_results.version')}</span>\n\t\t\t</> : filteredGuides.length === 0 ? <>\n\t\t\t\t<span class=\"note\">{locale('guides.no_results.query')}</span>\n\t\t\t</> : filteredGuides.map(g =>\n\t\t\t\t<GuideCard title={g.title} link={`/guides/${g.id}/`} tags={g.tags ?? []} versions={g.versions ?? []} activeTags={activeTags} toggleTag={toggleTag} />\n\t\t\t)}\n\t\t</div>\n\t</main>\n}\n","import config from '../../config.json'\nimport { Giscus, ToolCard } from '../components'\nimport { useLocale, useTitle } from '../contexts'\nimport { cleanUrl } from '../Utils'\n\ninterface Props {\n\tpath?: string,\n}\nexport function Home({}: Props) {\n\tconst { locale } = useLocale()\n\tuseTitle(locale('title.home'))\n\treturn <main>\n\t\t<div class=\"home\">\n\t\t\t<ToolCard title=\"Data packs\">\n\t\t\t\t{config.generators.filter(g => !g.category).map(g => \n\t\t\t\t\t<ToolCard title={locale(g.id)} link={cleanUrl(g.url)} />\n\t\t\t\t)}\n\t\t\t\t<ToolCard title={locale('worldgen')} link=\"/worldgen/\" />\n\t\t\t</ToolCard>\n\t\t\t<ToolCard title=\"Resource packs\">\n\t\t\t\t{config.generators.filter(g => g.category === 'assets').map(g =>\n\t\t\t\t\t<ToolCard title={locale(g.id)} link={cleanUrl(g.url)} />\n\t\t\t\t)}\n\t\t\t</ToolCard>\n\t\t\t<ToolCard title=\"Report Inspector\" icon=\"report\"\n\t\t\t\tlink=\"https://misode.github.io/report/\"\n\t\t\t\tdesc=\"Analyse your performance reports\" />\n\t\t\t<ToolCard title=\"Minecraft Sounds\" icon=\"sounds\"\n\t\t\t\tlink=\"/sounds/\"\n\t\t\t\tdesc=\"Browse through and mix all the vanilla sounds\" />\n\t\t\t<ToolCard title=\"Data Pack Upgrader\"\n\t\t\t\tlink=\"https://misode.github.io/upgrader/\"\n\t\t\t\tdesc=\"Convert your data packs from 1.16 to 1.17 to 1.18\" />\n\t\t\t<ToolCard title=\"Technical Changelog\" link=\"/changelog/\" />\n\t\t\t<ToolCard title=\"Minecraft Versions\" link=\"/versions/\" />\n\t\t\t<ToolCard title=\"Data Pack Guides\" link=\"/guides/\" />\n\t\t\t<Giscus />\n\t\t</div>\n\t</main>\n}\n","import { useCallback, useMemo } from 'preact/hooks'\nimport { Ad, TreeView } from '../components'\nimport { getFilePath, useLocale, useProject, useTitle } from '../contexts'\n\ninterface Props {\n\tpath?: string,\n}\nexport function Project({}: Props) {\n\tconst { locale } = useLocale()\n\tconst { project, openFile } = useProject()\n\tuseTitle(locale('title.project', project.name))\n\tconst entries = useMemo(() => project.files.map(getFilePath), project.files)\n\n\tconst selectFile = useCallback((entry: string) => {\n\t\tconst [, namespace, type, ...id] = entry.split('/')\n\t\topenFile(type, `${namespace}:${id}`)\n\t}, [openFile])\n\n\treturn <main>\n\t\t<Ad id=\"data-pack-project\" type=\"text\" />\n\t\t<div class=\"project\">\n\t\t\t<h2>{project.name}</h2>\n\t\t\t<div class=\"file-view\">\n\t\t\t\t<TreeView entries={entries} onSelect={selectFile}/>\n\t\t\t</div>\n\t\t</div>\n\t</main>\n}\n","import type { Howl, HowlOptions } from 'howler'\nimport { useEffect, useMemo, useRef, useState } from 'preact/hooks'\nimport config from '../../config.json'\nimport { Btn, BtnMenu, ErrorPanel, SoundConfig, TextInput } from '../components'\nimport { useLocale, useTitle, useVersion } from '../contexts'\nimport { useAsync } from '../hooks'\nimport type { VersionId } from '../services'\nimport { fetchSounds } from '../services'\nimport { hexId } from '../Utils'\n\ninterface Props {\n\tpath?: string,\n}\nexport function Sounds({}: Props) {\n\tconst { locale } = useLocale()\n\tconst { version, changeVersion } = useVersion()\n\tuseTitle(locale('title.sounds'))\n\n\tconst [howler, setHowler] = useState<undefined | ((options: HowlOptions) => Howl)>(undefined)\n\tuseEffect(() => {\n\t\t(async () => {\n\t\t\tconst howler = await import('howler')\n\t\t\tsetHowler(() => (options: HowlOptions) => new howler.Howl(options))\n\t\t})()\n\t}, [])\n\n\tconst { value: sounds, error } = useAsync(async () => {\n\t\treturn await fetchSounds(version)\n\t}, [version])\n\tconst soundKeys = useMemo(() => Object.keys(sounds ?? {}), [sounds])\n\n\tconst [search, setSearch] = useState('')\n\tconst [configs, setConfigs] = useState<SoundConfig[]>([])\n\tconst addConfig = () => {\n\t\tsetConfigs([{ id: hexId(), sound: search, delay: 0, pitch: 1, volume: 1 }, ...configs])\n\t}\n\tconst editConfig = (id: string) => (changes: Partial<SoundConfig>) => {\n\t\tsetConfigs(configs.map(c => c.id === id ? { ...c, ...changes } : c))\n\t}\n\tconst deleteConfig = (id: string) => () => {\n\t\tsetConfigs(configs.filter(c => c.id !== id))\n\t}\n\n\tconst [delayedPlay, setDelayedPlay] = useState(0)\n\tconst playAll = () => {\n\t\tsetDelayedPlay(delayedPlay + 1)\n\t}\n\n\tconst download = useRef<HTMLAnchorElement>(null)\n\tconst downloadFunction = () => {\n\t\tif (!download.current) return\n\t\tconst hasDelay = configs.some(c => c.delay > 0)\n\t\tconst content = configs\n\t\t\t.sort((a, b) => a.delay - b.delay)\n\t\t\t.map(c => `${hasDelay ? `execute if score @s delay matches ${c.delay} run ` : ''}playsound minecraft:${c.sound} master @s ~ ~ ~ ${c.volume} ${c.pitch}`)\n\t\t\t.join('\\n')\n\t\tdownload.current.setAttribute('href', 'data:text/plain;charset=utf-8,' + content + '%0A')\n\t\tdownload.current.setAttribute('download', 'sounds.mcfunction')\n\t\tdownload.current.click()\n\t}\n\n\treturn <main>\n\t\t{error && <ErrorPanel error={error} />}\n\t\t{soundKeys.length > 0 && <>\n\t\t\t<div class=\"controls sounds-controls\">\n\t\t\t\t<div class=\"sound-search-group\">\n\t\t\t\t\t<TextInput class=\"btn btn-input sound-search\" list=\"sound-list\" placeholder={locale('sounds.search')}\n\t\t\t\t\t\tvalue={search} onChange={setSearch} onEnter={addConfig} />\n\t\t\t\t\t<Btn icon=\"plus\" tooltip={locale('sounds.add_sound')} class=\"add-sound\" onClick={addConfig} />\n\t\t\t\t</div>\n\t\t\t\t{configs.length > 1 && <Btn icon=\"play\" label={ locale('sounds.play_all')} class=\"play-all-sounds\" onClick={playAll} />}\n\t\t\t\t<div class=\"spacer\"></div>\n\t\t\t\t<Btn icon=\"download\" label={locale('download')} tooltip={locale('sounds.download_function')} tooltipLoc=\"se\" class=\"download-sounds\" onClick={downloadFunction} />\n\t\t\t\t<BtnMenu icon=\"tag\" label={version} tooltip={locale('switch_version')}>\n\t\t\t\t\t{config.versions.slice().reverse().map(v =>\n\t\t\t\t\t\t<Btn label={v.id} active={v.id === version} onClick={() => changeVersion(v.id as VersionId)} />\n\t\t\t\t\t)}\n\t\t\t\t</BtnMenu>\n\t\t\t</div>\n\t\t\t<div class=\"sounds\">\n\t\t\t\t{sounds && howler && configs.map(c =>\n\t\t\t\t\t<SoundConfig key={c.id} {...c} {...{ howler, sounds, delayedPlay }} onEdit={editConfig(c.id)} onDelete={deleteConfig(c.id)} />\n\t\t\t\t)}\n\t\t\t</div>\n\t\t\t<a ref={download} style=\"display: none;\"></a>\n\t\t\t<datalist id=\"sound-list\">\n\t\t\t\t{soundKeys.map(s => <option key={s} value={s} />)}\n\t\t\t</datalist>\n\t\t</>}\n\t</main>\n}\n","import { Ad, ErrorPanel, Octicon, VersionDetail, VersionList } from '../components'\nimport { useLocale, useTitle } from '../contexts'\nimport { useAsync, useSearchParam } from '../hooks'\nimport type { VersionMeta } from '../services'\nimport { fetchVersions } from '../services'\n\ninterface Props {\n\tpath?: string,\n}\nexport function Versions({}: Props) {\n\tconst { locale } = useLocale()\n\tuseTitle(locale('title.versions'))\n\n\tconst { value: versions, error } = useAsync(fetchVersions, [])\n\n\tconst [selectedId] = useSearchParam('id')\n\tconst selected = (versions ?? []).find(v => v.id === selectedId)\n\n\tuseTitle(\n\t\tselected ? `Minecraft ${selected.name}` : 'Versions Explorer',\n\t\tselected ? [] : undefined,\n\t\tselected ? 'Changes and metadata' : undefined)\n\n\tconst nextVersion = selected && getOffsetVersion(versions ?? [], selected, -1)\n\tconst previousVersion = selected && getOffsetVersion(versions ?? [], selected, 1)\n\n\treturn <main>\n\t\t<Ad type=\"text\" id=\"versions\" />\n\t\t{error && <ErrorPanel error={error} />}\n\t\t<div class=\"versions\">\n\t\t\t{selectedId ? <>\n\t\t\t\t<div class=\"navigation\">\n\t\t\t\t\t<a class=\"btn btn-link\" href=\"/versions/\">\n\t\t\t\t\t\t{Octicon.three_bars}\n\t\t\t\t\t\t{locale('versions.all')}\n\t\t\t\t\t</a>\n\t\t\t\t\t<a class=\"btn btn-link\" {...previousVersion ? {href: `/versions/?id=${previousVersion.id}`} : {disabled: true}}>\n\t\t\t\t\t\t{Octicon.arrow_left}\n\t\t\t\t\t\t{locale('versions.previous')}\n\t\t\t\t\t</a>\n\t\t\t\t\t<a class=\"btn btn-link\" {...nextVersion ? {href: `/versions/?id=${nextVersion.id}`} : {disabled: true}}>\n\t\t\t\t\t\t{locale('versions.next')}\n\t\t\t\t\t\t{Octicon.arrow_right}\n\t\t\t\t\t</a>\n\t\t\t\t</div>\n\t\t\t\t{selected ? <VersionDetail version={selected} />\n\t\t\t\t\t: <div class=\"version-detail\">\n\t\t\t\t\t\t<h2>{selectedId}</h2>\n\t\t\t\t\t\t<div class=\"version-info\">\n\t\t\t\t\t\t\t<p>This version does not exist. Only versions since 1.14 are tracked, or it may be too recent.</p>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>}\n\t\t\t</> : <VersionList versions={versions ?? []} link={id => `/versions/?id=${id}`} />}\n\t\t</div>\n\t</main>\n}\n\nfunction getOffsetVersion(versions: VersionMeta[], current: VersionMeta, offset: number) {\n\tconst currentIndex = versions.findIndex(v => v.id === current.id)\n\tconst offsetIndex = currentIndex + offset\n\tif (offsetIndex < 0 || offsetIndex >= versions.length) {\n\t\treturn undefined\n\t}\n\treturn versions[offsetIndex]\n}\n","import type { RouterOnChangeArgs } from 'preact-router'\nimport { Router } from 'preact-router'\nimport '../styles/global.css'\nimport '../styles/nodes.css'\nimport { Analytics } from './Analytics'\nimport { Header } from './components'\nimport { Category, Changelog, Generator, Guide, Guides, Home, Project, Sounds, Versions } from './pages'\nimport { cleanUrl } from './Utils'\n\nexport function App() {\n\tconst changeRoute = (e: RouterOnChangeArgs) => {\n\t\twindow.dispatchEvent(new CustomEvent('replacestate'))\n\t\t// Needs a timeout to ensure the title is set correctly\n\t\tsetTimeout(() => Analytics.pageview(cleanUrl(e.url)))\n\t}\n\n\treturn <>\n\t\t<Header />\n\t\t<Router onChange={changeRoute}>\n\t\t\t<Home path=\"/\" />\n\t\t\t<Category path=\"/worldgen\" category=\"worldgen\" />\n\t\t\t<Category path=\"/assets\" category=\"assets\" />\n\t\t\t<Sounds path=\"/sounds\" />\n\t\t\t<Changelog path=\"/changelog\" />\n\t\t\t<Versions path=\"/versions\" />\n\t\t\t<Project path=\"/project\" />\n\t\t\t<Guides path=\"/guides/\" />\n\t\t\t<Guide path=\"/guides/:id\" />\n\t\t\t<Generator default />\n\t\t</Router>\n\t</>\n}\n","import { render } from 'preact'\nimport '../styles/global.css'\nimport '../styles/nodes.css'\nimport { App } from './App'\nimport { LocaleProvider, ProjectProvider, ThemeProvider, TitleProvider, VersionProvider } from './contexts'\n\nfunction Main() {\n\treturn <LocaleProvider>\n\t\t<ThemeProvider>\n\t\t\t<VersionProvider>\n\t\t\t\t<TitleProvider>\n\t\t\t\t\t<ProjectProvider>\n\t\t\t\t\t\t<App />\n\t\t\t\t\t</ProjectProvider>\n\t\t\t\t</TitleProvider>\n\t\t\t</VersionProvider>\n\t\t</ThemeProvider>\n\t</LocaleProvider>\n}\n\nrender(<Main />, document.body)\n"],"file":"assets/index.38fdde83.js"} \ No newline at end of file diff --git a/assets/index.3e238ebe.js b/assets/index.68968b48.js similarity index 99% rename from assets/index.3e238ebe.js rename to assets/index.68968b48.js index 639f2974..d6888c3e 100644 --- a/assets/index.3e238ebe.js +++ b/assets/index.68968b48.js @@ -1,2 +1,2 @@ -var $e=Object.defineProperty,Te=Object.defineProperties;var De=Object.getOwnPropertyDescriptors;var je=Object.getOwnPropertySymbols;var Ae=Object.prototype.hasOwnProperty,qe=Object.prototype.propertyIsEnumerable;var Me=(r,o,e)=>o in r?$e(r,o,{enumerable:!0,configurable:!0,writable:!0,value:e}):r[o]=e,k=(r,o)=>{for(var e in o||(o={}))Ae.call(o,e)&&Me(r,e,o[e]);if(je)for(var e of je(o))qe.call(o,e)&&Me(r,e,o[e]);return r},xe=(r,o)=>Te(r,De(o));import{l as v,c as W}from"./index.b990f5f5.js";function Fe(r,o){return o.forEach(function(e){e&&typeof e!="string"&&!Array.isArray(e)&&Object.keys(e).forEach(function(t){if(t!=="default"&&!(t in r)){var s=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,s.get?s:{enumerable:!0,get:function(){return e[t]}})}})}),Object.freeze(Object.defineProperty(r,Symbol.toStringTag,{value:"Module"}))}var q={},Z={};Object.defineProperty(Z,"__esModule",{value:!0});Z.initCollections=void 0;function Ie(r){r.register("advancement_trigger",["minecraft:bee_nest_destroyed","minecraft:bred_animals","minecraft:brewed_potion","minecraft:changed_dimension","minecraft:channeled_lightning","minecraft:construct_beacon","minecraft:consume_item","minecraft:cured_zombie_villager","minecraft:effects_changed","minecraft:enchanted_item","minecraft:enter_block","minecraft:entity_hurt_player","minecraft:entity_killed_player","minecraft:filled_bucket","minecraft:fishing_rod_hooked","minecraft:hero_of_the_village","minecraft:impossible","minecraft:inventory_changed","minecraft:item_durability_changed","minecraft:item_used_on_block","minecraft:killed_by_crossbow","minecraft:levitation","minecraft:location","minecraft:nether_travel","minecraft:placed_block","minecraft:player_generates_container_loot","minecraft:player_hurt_entity","minecraft:player_interacted_with_entity","minecraft:player_killed_entity","minecraft:recipe_unlocked","minecraft:shot_crossbow","minecraft:slept_in_bed","minecraft:slide_down_block","minecraft:summoned_entity","minecraft:tame_animal","minecraft:target_hit","minecraft:tick","minecraft:thrown_item_picked_up_by_entity","minecraft:used_ender_eye","minecraft:used_totem","minecraft:villager_trade","minecraft:voluntary_exile"]),r.register("dimension",["minecraft:overworld","minecraft:the_nether","minecraft:the_end"]),r.register("dimension_type",["minecraft:overworld","minecraft:the_nether","minecraft:the_end"]),r.register("keybind",["key.advancements","key.attack","key.back","key.chat","key.command","key.drop","key.forward","key.fullscreen","key.hotbar.1","key.hotbar.2","key.hotbar.3","key.hotbar.4","key.hotbar.5","key.hotbar.6","key.hotbar.7","key.hotbar.8","key.hotbar.9","key.inventory","key.jump","key.left","key.loadToolbarActivator","key.pickItem","key.playerlist","key.right","key.saveToolbarActivator","key.screenshot","key.smoothCamera","key.sneak","key.spectatorOutlines","key.sprint","key.swapOffhand","key.togglePerspective","key.use"]),r.register("slot",["mainhand","offhand","head","chest","legs","feet"]),r.register("gamemode",["survival","creative","adventure","spectator"]),r.register("worldgen/noise_settings",["minecraft:overworld","minecraft:nether","minecraft:end","minecraft:amplified","minecraft:caves","minecraft:floating_islands"]),r.register("entity_source",["this","direct_killer","killer","killer_player"]),r.register("copy_source",["block_entity","this","killer","killer_player"]),r.register("loot_table_apply_bonus_formula",["minecraft:uniform_bonus_count","minecraft:binomial_with_bonus_count","minecraft:ore_drops"]),r.register("map_decoration",["mansion","monument","player","frame","red_marker","blue_marker","target_x","target_point","player_off_map","player_off_limits","red_x","banner_white","banner_orange","banner_magenta","banner_light_blue","banner_yellow","banner_lime","banner_pink","banner_gray","banner_light_gray","banner_cyan","banner_purple","banner_blue","banner_brown","banner_green","banner_red","banner_black"]),r.register("map_feature",["bastion_remnant","buried_treasure","desert_pyramid","endcity","fortress","igloo","jungle_pyramid","mansion","mineshaft","monument","nether_fossil","ocean_ruin","pillager_outpost","ruined_portal","shipwreck","stronghold","swamp_hut","village"]),r.register("recipe_group",["bed","light_gray_dye","iron_ingot","wooden_stairs","black_dye","stained_terracotta","dyed_bed","magenta_dye","bark","rabbit_stew","light_blue_dye","wooden_fence_gate","planks","stained_glass","wooden_door","stained_glass_pane","wooden_fence","sticks","concrete_powder","wooden_pressure_plate","boat","brown_dye","yellow_dye","bonemeal","red_dye","wooden_trapdoor","wooden_button","gold_ingot","pink_dye","wooden_slab","orange_dye","carpet","sign","wool","sugar","blue_dye","white_dye","banner","netherite_ingot"]),r.register("worldgen/configured_feature",["minecraft:acacia","minecraft:bamboo_light","minecraft:bamboo_vegetation","minecraft:bamboo","minecraft:basalt_blobs","minecraft:basalt_pillar","minecraft:birch_bees_0002","minecraft:birch_bees_002","minecraft:birch_bees_005","minecraft:birch_other","minecraft:birch_tall","minecraft:birch","minecraft:blackstone_blobs","minecraft:blue_ice","minecraft:bonus_chest","minecraft:brown_mushroom_giant","minecraft:brown_mushroom_nether","minecraft:brown_mushroom_normal","minecraft:brown_mushroom_swamp","minecraft:brown_mushroom_taiga","minecraft:chorus_plant","minecraft:crimson_forest_vegetation","minecraft:crimson_fungi_planted","minecraft:crimson_fungi","minecraft:dark_forest_vegetation_brown","minecraft:dark_forest_vegetation_red","minecraft:dark_oak","minecraft:delta","minecraft:desert_well","minecraft:disk_clay","minecraft:disk_gravel","minecraft:disk_sand","minecraft:end_gateway_delayed","minecraft:end_gateway","minecraft:end_island_decorated","minecraft:end_island","minecraft:end_spike","minecraft:fancy_oak_bees_0002","minecraft:fancy_oak_bees_002","minecraft:fancy_oak_bees_005","minecraft:fancy_oak","minecraft:flower_default","minecraft:flower_forest","minecraft:flower_plain_decorated","minecraft:flower_plain","minecraft:flower_swamp","minecraft:flower_warm","minecraft:forest_flower_trees","minecraft:forest_flower_vegetation_common","minecraft:forest_flower_vegetation","minecraft:forest_rock","minecraft:fossil","minecraft:freeze_top_layer","minecraft:glowstone_extra","minecraft:glowstone","minecraft:huge_brown_mushroom","minecraft:huge_red_mushroom","minecraft:ice_patch","minecraft:ice_spike","minecraft:iceberg_blue","minecraft:iceberg_packed","minecraft:jungle_bush","minecraft:jungle_tree_no_vine","minecraft:jungle_tree","minecraft:kelp_cold","minecraft:kelp_warm","minecraft:lake_lava","minecraft:lake_water","minecraft:large_basalt_columns","minecraft:mega_jungle_tree","minecraft:mega_pine","minecraft:mega_spruce","minecraft:monster_room","minecraft:mushroom_field_vegetation","minecraft:nether_sprouts","minecraft:oak_badlands","minecraft:oak_bees_0002","minecraft:oak_bees_002","minecraft:oak_bees_005","minecraft:oak","minecraft:ore_andesite","minecraft:ore_blackstone","minecraft:ore_coal","minecraft:ore_debris_large","minecraft:ore_debris_small","minecraft:ore_diamond","minecraft:ore_diorite","minecraft:ore_dirt","minecraft:ore_emerald","minecraft:ore_gold_deltas","minecraft:ore_gold_extra","minecraft:ore_gold_nether","minecraft:ore_gold","minecraft:ore_granite","minecraft:ore_gravel_nether","minecraft:ore_gravel","minecraft:ore_infested","minecraft:ore_iron","minecraft:ore_lapis","minecraft:ore_magma","minecraft:ore_quartz_deltas","minecraft:ore_quartz_nether","minecraft:ore_redstone","minecraft:ore_soul_sand","minecraft:patch_berry_bush","minecraft:patch_berry_decorated","minecraft:patch_berry_sparse","minecraft:patch_brown_mushroom","minecraft:patch_cactus_decorated","minecraft:patch_cactus_desert","minecraft:patch_cactus","minecraft:patch_crimson_roots","minecraft:patch_dead_bush_2","minecraft:patch_dead_bush_badlands","minecraft:patch_dead_bush","minecraft:patch_fire","minecraft:patch_grass_badlands","minecraft:patch_grass_forest","minecraft:patch_grass_jungle","minecraft:patch_grass_normal","minecraft:patch_grass_plain","minecraft:patch_grass_savanna","minecraft:patch_grass_taiga_2","minecraft:patch_grass_taiga","minecraft:patch_large_fern","minecraft:patch_melon","minecraft:patch_pumpkin","minecraft:patch_red_mushroom","minecraft:patch_soul_fire","minecraft:patch_sugar_cane_badlands","minecraft:patch_sugar_cane_desert","minecraft:patch_sugar_cane_swamp","minecraft:patch_sugar_cane","minecraft:patch_sunflower","minecraft:patch_taiga_grass","minecraft:patch_tall_grass_2","minecraft:patch_tall_grass","minecraft:patch_waterlilly","minecraft:pile_hay","minecraft:pile_ice","minecraft:pile_melon","minecraft:pile_pumpkin","minecraft:pile_snow","minecraft:pine","minecraft:plain_vegetation","minecraft:red_mushroom_giant","minecraft:red_mushroom_nether","minecraft:red_mushroom_normal","minecraft:red_mushroom_swamp","minecraft:red_mushroom_taiga","minecraft:sea_pickle","minecraft:seagrass_cold","minecraft:seagrass_deep_cold","minecraft:seagrass_deep_warm","minecraft:seagrass_deep","minecraft:seagrass_normal","minecraft:seagrass_river","minecraft:seagrass_simple","minecraft:seagrass_swamp","minecraft:seagrass_warm","minecraft:small_basalt_columns","minecraft:spring_closed_double","minecraft:spring_closed","minecraft:spring_delta","minecraft:spring_lava_double","minecraft:spring_lava","minecraft:spring_open","minecraft:spring_water","minecraft:spruce_snowy","minecraft:spruce","minecraft:super_birch_bees_0002","minecraft:swamp_tree","minecraft:taiga_vegetation","minecraft:trees_birch","minecraft:trees_giant_spruce","minecraft:trees_giant","minecraft:trees_jungle_edge","minecraft:trees_jungle","minecraft:trees_mountain_edge","minecraft:trees_mountain","minecraft:trees_savanna","minecraft:trees_shattered_savanna","minecraft:trees_water","minecraft:twisting_vines","minecraft:vines","minecraft:void_start_platform","minecraft:warm_ocean_vegetation","minecraft:warped_forest_vegetation","minecraft:warped_fungi_planted","minecraft:warped_fungi","minecraft:weeping_vines"]),r.register("worldgen/configured_structure_feature",["minecraft:bastion_remnant","minecraft:buried_treasure","minecraft:desert_pyramid","minecraft:end_city","minecraft:fortress","minecraft:igloo","minecraft:jungle_pyramid","minecraft:mansion","minecraft:mineshaft_mesa","minecraft:mineshaft","minecraft:monument","minecraft:nether_fossil","minecraft:ocean_ruin_cold","minecraft:ocean_ruin_warm","minecraft:pillager_outpost","minecraft:ruined_portal_desert","minecraft:ruined_portal_jungle","minecraft:ruined_portal_mountain","minecraft:ruined_portal_nether","minecraft:ruined_portal_ocean","minecraft:ruined_portal_swamp","minecraft:ruined_portal","minecraft:shipwreck_beached","minecraft:shipwreck","minecraft:stronghold","minecraft:swamp_hut","minecraft:village_desert","minecraft:village_plains","minecraft:village_savanna","minecraft:village_snowy","minecraft:village_taiga"]),r.register("worldgen/configured_surface_builder",["minecraft:badlands","minecraft:basalt_deltas","minecraft:crimson_forest","minecraft:desert","minecraft:end","minecraft:eroded_badlands","minecraft:frozen_ocean","minecraft:full_sand","minecraft:giant_tree_taiga","minecraft:grass","minecraft:gravelly_mountain","minecraft:ice_spikes","minecraft:mountain","minecraft:mycelium","minecraft:nether","minecraft:nope","minecraft:ocean_sand","minecraft:shattered_savanna","minecraft:soul_sand_valley","minecraft:stone","minecraft:swamp","minecraft:warped_forest","minecraft:wooded_badlands"]),r.register("biome_category",["beach","desert","extreme_hills","forest","icy","jungle","mesa","mushroom","nether","none","ocean","plains","river","savanna","swamp","taiga","the_end"]),r.register("heightmap_type",["MOTION_BLOCKING","MOTION_BLOCKING_NO_LEAVES","OCEAN_FLOOR","OCEAN_FLOOR_WG","WORLD_SURFACE","WORLD_SURFACE_WG"]),r.register("generation_step",["air","liquid"]),r.register("loot_context_type",["minecraft:empty","minecraft:chest","minecraft:command","minecraft:selector","minecraft:fishing","minecraft:entity","minecraft:gift","minecraft:barter","minecraft:advancement_reward","minecraft:advancement_entity","minecraft:generic","minecraft:block"]),r.register("cat_texture",["textures/entity/cat/tabby.png","textures/entity/cat/black.png","textures/entity/cat/red.png","textures/entity/cat/siamese.png","textures/entity/cat/british_shorthair.png","textures/entity/cat/calico.png","textures/entity/cat/persian.png","textures/entity/cat/ragdoll.png","textures/entity/cat/white.png","textures/entity/cat/jellie.png","textures/entity/cat/all_black.png"])}Z.initCollections=Ie;var Y={},J={},$={};(function(r){Object.defineProperty(r,"__esModule",{value:!0}),r.initCommonSchemas=r.UniformInt=r.Range=r.NoiseSettingsPresets=r.DefaultNoiseSettings=r.DimensionTypePresets=r.DefaultDimensionType=r.ConditionCases=void 0;const o=v;r.DefaultDimensionType={ultrawarm:!1,natural:!0,piglin_safe:!1,respawn_anchor_works:!1,bed_works:!0,has_raids:!0,has_skylight:!0,has_ceiling:!1,coordinate_scale:1,ambient_light:0,logical_height:256,infiniburn:"minecraft:infiniburn_overworld"},r.DefaultNoiseSettings={name:"minecraft:overworld",bedrock_roof_position:-10,bedrock_floor_position:0,sea_level:63,disable_mob_generation:!1,noise:{density_factor:1,density_offset:-.46875,simplex_surface_noise:!0,random_density_offset:!0,size_horizontal:1,size_vertical:2,height:256,sampling:{xz_scale:1,y_scale:1,xz_factor:80,y_factor:160},top_slide:{target:-10,size:3,offset:0},bottom_slide:{target:-30,size:0,offset:0}},default_block:{Name:"minecraft:stone"},default_fluid:{Name:"minecraft:water",Properties:{level:"0"}}};function e(t,s){const i=o.StringNode.bind(void 0,s),m=o.Reference.bind(void 0,t);t.register("block_state",(0,o.Mod)((0,o.ObjectNode)({Name:i({validator:"resource",params:{pool:"block"}}),Properties:(0,o.Opt)((0,o.MapNode)(i(),i(),{validation:{validator:"block_state_map",params:{id:["pop",{push:"Name"}]}}}))},{context:"block_state"}),{default:()=>({Name:"minecraft:stone"})})),t.register("fluid_state",(0,o.Mod)((0,o.ObjectNode)({Name:i({validator:"resource",params:{pool:"fluid"}}),Properties:(0,o.Opt)((0,o.MapNode)(i(),i()))},{context:"fluid_state"}),{default:()=>({Name:"minecraft:water",Properties:{level:"0"}})})),t.register("block_pos",(0,o.Mod)((0,o.ListNode)((0,o.NumberNode)({integer:!0}),{minLength:3,maxLength:3}),{default:()=>[0,0,0]})),r.Range=l=>(0,o.ChoiceNode)([...l!=null&&l.forceRange?[]:[{type:"number",node:(0,o.NumberNode)(l),change:N=>{var w,T,U;return N===void 0?0:(U=(T=(w=N.min)!==null&&w!==void 0?w:N.max)!==null&&T!==void 0?T:N.n)!==null&&U!==void 0?U:0}}],{type:"object",priority:-1,node:(0,o.ObjectNode)({min:l!=null&&l.bounds?(0,o.NumberNode)(l):(0,o.Opt)((0,o.NumberNode)(l)),max:l!=null&&l.bounds?(0,o.NumberNode)(l):(0,o.Opt)((0,o.NumberNode)(l))},{context:"range"}),change:N=>({min:typeof N=="number"?N:N===void 0?1:N.n,max:typeof N=="number"?N:N===void 0?1:N.n})},...l!=null&&l.allowBinomial?[{type:"binomial",node:(0,o.ObjectNode)({type:i({enum:["minecraft:binomial"]}),n:(0,o.NumberNode)({integer:!0,min:0}),p:(0,o.NumberNode)({min:0,max:1})},{context:"range"}),match:N=>N!==void 0&&N.type==="minecraft:binomial",change:N=>{var w,T;return{type:"minecraft:binomial",n:typeof N=="number"?N:N===void 0?1:(T=(w=N.min)!==null&&w!==void 0?w:N.max)!==null&&T!==void 0?T:1,p:.5}}}]:[]],{choiceContext:"range"}),r.UniformInt=l=>(0,o.ChoiceNode)([{type:"number",node:(0,o.NumberNode)({integer:!0,min:l==null?void 0:l.min,max:l==null?void 0:l.max}),change:N=>N.base},{type:"object",node:(0,o.ObjectNode)({base:(0,o.NumberNode)({integer:!0,min:l==null?void 0:l.min,max:l==null?void 0:l.max}),spread:(0,o.NumberNode)({integer:!0,min:0,max:l==null?void 0:l.maxSpread})}),change:N=>({base:N,spread:0})}],{context:"uniform_int"}),r.ConditionCases={"minecraft:alternative":{terms:(0,o.ListNode)(m("condition"))},"minecraft:block_state_property":{block:i({validator:"resource",params:{pool:"block"}}),properties:(0,o.MapNode)(i(),i(),{validation:{validator:"block_state_map",params:{id:["pop",{push:"block"}]}}})},"minecraft:damage_source_properties":{predicate:m("damage_source_predicate")},"minecraft:entity_properties":{entity:i({enum:"entity_source"}),predicate:m("entity_predicate")},"minecraft:entity_scores":{entity:i({enum:"entity_source"}),scores:(0,o.MapNode)(i({validator:"objective"}),(0,r.Range)({forceRange:!0}))},"minecraft:inverted":{term:m("condition")},"minecraft:killed_by_player":{inverse:(0,o.Opt)((0,o.BooleanNode)())},"minecraft:location_check":{offsetX:(0,o.Opt)((0,o.NumberNode)({integer:!0})),offsetY:(0,o.Opt)((0,o.NumberNode)({integer:!0})),offsetZ:(0,o.Opt)((0,o.NumberNode)({integer:!0})),predicate:m("location_predicate")},"minecraft:match_tool":{predicate:m("item_predicate")},"minecraft:random_chance":{chance:(0,o.NumberNode)({min:0,max:1})},"minecraft:random_chance_with_looting":{chance:(0,o.NumberNode)({min:0,max:1}),looting_multiplier:(0,o.NumberNode)()},"minecraft:reference":{name:i({validator:"resource",params:{pool:"$predicate"}})},"minecraft:table_bonus":{enchantment:i({validator:"resource",params:{pool:"enchantment"}}),chances:(0,o.ListNode)((0,o.NumberNode)({min:0,max:1}))},"minecraft:time_check":{value:(0,r.Range)(),period:(0,o.Opt)((0,o.NumberNode)())},"minecraft:weather_check":{raining:(0,o.Opt)((0,o.BooleanNode)()),thundering:(0,o.Opt)((0,o.BooleanNode)())}},r.DimensionTypePresets=l=>(0,o.ObjectOrPreset)(i({validator:"resource",params:{pool:"$dimension_type"}}),l,{"minecraft:overworld":r.DefaultDimensionType,"minecraft:the_nether":{name:"minecraft:the_nether",ultrawarm:!0,natural:!1,shrunk:!0,piglin_safe:!0,respawn_anchor_works:!0,bed_works:!1,has_raids:!1,has_skylight:!1,has_ceiling:!0,ambient_light:.1,fixed_time:18e3,logical_height:128,effects:"minecraft:the_nether",infiniburn:"minecraft:infiniburn_nether"},"minecraft:the_end":{name:"minecraft:the_end",ultrawarm:!1,natural:!1,shrunk:!1,piglin_safe:!1,respawn_anchor_works:!1,bed_works:!1,has_raids:!0,has_skylight:!1,has_ceiling:!1,ambient_light:0,fixed_time:6e3,logical_height:256,effects:"minecraft:the_end",infiniburn:"minecraft:infiniburn_end"}}),r.NoiseSettingsPresets=l=>(0,o.ObjectOrPreset)(i({validator:"resource",params:{pool:"$worldgen/noise_settings"}}),l,{"minecraft:overworld":r.DefaultNoiseSettings,"minecraft:nether":{name:"minecraft:nether",bedrock_roof_position:0,bedrock_floor_position:0,sea_level:32,disable_mob_generation:!0,noise:{density_factor:0,density_offset:.019921875,simplex_surface_noise:!1,random_density_offset:!1,size_horizontal:1,size_vertical:2,height:128,sampling:{xz_scale:1,y_scale:3,xz_factor:80,y_factor:60},top_slide:{target:120,size:3,offset:0},bottom_slide:{target:320,size:4,offset:-1}},default_block:{Name:"minecraft:netherrack"},default_fluid:{Name:"minecraft:lava",Properties:{level:"0"}}},"minecraft:end":{name:"minecraft:end",bedrock_roof_position:-10,bedrock_floor_position:-10,sea_level:0,disable_mob_generation:!0,noise:{density_factor:0,density_offset:0,simplex_surface_noise:!0,random_density_offset:!1,island_noise_override:!0,size_horizontal:2,size_vertical:1,height:128,sampling:{xz_scale:2,y_scale:1,xz_factor:80,y_factor:160},top_slide:{target:-3e3,size:64,offset:-46},bottom_slide:{target:-30,size:7,offset:1}},default_block:{Name:"minecraft:end_stone"},default_fluid:{Name:"minecraft:air"}},"minecraft:amplified":{name:"minecraft:amplified",bedrock_roof_position:-10,bedrock_floor_position:0,sea_level:63,disable_mob_generation:!1,noise:{density_factor:1,density_offset:-.46875,simplex_surface_noise:!0,random_density_offset:!0,amplified:!0,size_horizontal:1,size_vertical:2,height:256,sampling:{xz_scale:1,y_scale:1,xz_factor:80,y_factor:160},top_slide:{target:-10,size:3,offset:0},bottom_slide:{target:-30,size:0,offset:0}},default_block:{Name:"minecraft:stone"},default_fluid:{Name:"minecraft:water",Properties:{level:"0"}}},"minecraft:caves":{name:"minecraft:caves",bedrock_roof_position:0,bedrock_floor_position:0,sea_level:32,disable_mob_generation:!0,noise:{density_factor:0,density_offset:.019921875,simplex_surface_noise:!1,random_density_offset:!1,size_horizontal:1,size_vertical:2,height:128,sampling:{xz_scale:1,y_scale:3,xz_factor:80,y_factor:60},top_slide:{target:120,size:3,offset:0},bottom_slide:{target:320,size:4,offset:-1}},default_block:{Name:"minecraft:stone"},default_fluid:{Name:"minecraft:water",Properties:{level:"0"}}},"minecraft:floating_islands":{name:"minecraft:floating_islands",bedrock_roof_position:-10,bedrock_floor_position:-10,sea_level:0,disable_mob_generation:!0,noise:{density_factor:0,density_offset:0,simplex_surface_noise:!0,random_density_offset:!1,island_noise_override:!0,size_horizontal:2,size_vertical:1,height:128,sampling:{xz_scale:2,y_scale:1,xz_factor:80,y_factor:160},top_slide:{target:-3e3,size:64,offset:-46},bottom_slide:{target:-30,size:7,offset:1}},default_block:{Name:"minecraft:stone"},default_fluid:{Name:"minecraft:water",Properties:{level:"0"}}}})}r.initCommonSchemas=e})($);Object.defineProperty(J,"__esModule",{value:!0});J.initAdvancementSchemas=void 0;const c=v,L=$;function Ee(r,o){const e=c.Reference.bind(void 0,r),t=c.StringNode.bind(void 0,o),s=(0,c.ChoiceNode)([{type:"object",node:(0,c.Opt)(e("entity_predicate")),change:i=>{var m,l;return(l=(m=i[0])===null||m===void 0?void 0:m.predicate)!==null&&l!==void 0?l:{}}},{type:"list",node:(0,c.ListNode)(e("condition")),change:i=>[{condition:"minecraft:entity_properties",predicate:i}]}],{context:"conditions"});r.register("advancement",(0,c.Mod)((0,c.ObjectNode)({display:(0,c.Opt)((0,c.Mod)((0,c.ObjectNode)({icon:(0,c.ObjectNode)({item:t({validator:"resource",params:{pool:"item"}}),nbt:(0,c.Opt)(t({validator:"nbt",params:{registry:{category:"minecraft:item",id:["pop",{push:"item"}]}}}))}),title:e("text_component"),description:e("text_component"),background:(0,c.Opt)(t()),frame:(0,c.Opt)(t({enum:["task","challenge","goal"]})),show_toast:(0,c.Opt)((0,c.BooleanNode)()),announce_to_chat:(0,c.Opt)((0,c.BooleanNode)()),hidden:(0,c.Opt)((0,c.BooleanNode)())}),{default:()=>({icon:{item:"minecraft:stone"},title:"",description:""})})),parent:(0,c.Opt)(t({validator:"resource",params:{pool:"$advancement"}})),criteria:(0,c.MapNode)(t(),e("advancement_criteria")),requirements:(0,c.Opt)((0,c.ListNode)((0,c.ListNode)(t()))),rewards:(0,c.Opt)((0,c.ObjectNode)({function:(0,c.Opt)(t({validator:"resource",params:{pool:"$function"}})),loot:(0,c.Opt)((0,c.ListNode)(t({validator:"resource",params:{pool:"$loot_table"}}))),recipes:(0,c.Opt)((0,c.ListNode)(t({validator:"resource",params:{pool:"$recipe"}}))),experience:(0,c.Opt)((0,c.NumberNode)({integer:!0}))}))},{context:"advancement"}),{default:()=>({criteria:{requirement:{trigger:"minecraft:location"}}})})),r.register("advancement_criteria",(0,c.ObjectNode)({trigger:t({validator:"resource",params:{pool:o.get("advancement_trigger")}}),conditions:(0,c.Opt)((0,c.ObjectNode)({player:(0,c.Mod)(s,{enabled:i=>i.pop().push("trigger").get()!=="minecraft:impossible"}),[c.Switch]:["pop",{push:"trigger"}],[c.Case]:{"minecraft:bee_nest_destroyed":{block:(0,c.Opt)(t({validator:"resource",params:{pool:"block"}})),num_bees_inside:(0,c.Opt)((0,c.NumberNode)({integer:!0})),item:(0,c.Opt)(e("item_predicate"))},"minecraft:bred_animals":{parent:s,partner:s,child:s},"minecraft:brewed_potion":{potion:(0,c.Opt)(t({validator:"resource",params:{pool:"potion"}}))},"minecraft:changed_dimension":{from:(0,c.Opt)(t({validator:"resource",params:{pool:"$dimension"}})),to:(0,c.Opt)(t({validator:"resource",params:{pool:"$dimension"}}))},"minecraft:channeled_lightning":{victims:(0,c.Opt)((0,c.ListNode)(s))},"minecraft:construct_beacon":{level:(0,c.Opt)((0,L.Range)())},"minecraft:consume_item":{item:(0,c.Opt)(e("item_predicate"))},"minecraft:cured_zombie_villager":{villager:s,zombie:s},"minecraft:effects_changed":{effects:(0,c.Opt)((0,c.MapNode)(t({validator:"resource",params:{pool:"mob_effect"}}),e("status_effect_predicate")))},"minecraft:enter_block":{block:(0,c.Opt)(t({validator:"resource",params:{pool:"block"}})),state:(0,c.Opt)((0,c.MapNode)(t(),t(),{validation:{validator:"block_state_map",params:{id:["pop",{push:"block"}]}}}))},"minecraft:enchanted_item":{levels:(0,c.Opt)((0,L.Range)()),item:(0,c.Opt)(e("item_predicate"))},"minecraft:entity_hurt_player":{damage:(0,c.Opt)(e("damage_predicate"))},"minecraft:entity_killed_player":{entity:s,killing_blow:(0,c.Opt)(e("damage_source_predicate"))},"minecraft:filled_bucket":{item:(0,c.Opt)(e("item_predicate"))},"minecraft:fishing_rod_hooked":{entity:s,item:(0,c.Opt)(e("item_predicate"))},"minecraft:hero_of_the_village":{location:(0,c.Opt)(e("location_predicate"))},"minecraft:inventory_changed":{slots:(0,c.Opt)((0,c.ObjectNode)({empty:(0,c.Opt)((0,L.Range)()),occupied:(0,c.Opt)((0,L.Range)()),full:(0,c.Opt)((0,L.Range)())})),items:(0,c.Opt)((0,c.ListNode)(e("item_predicate")))},"minecraft:item_durability_changed":{delta:(0,c.Opt)((0,L.Range)()),durability:(0,c.Opt)((0,L.Range)()),item:(0,c.Opt)(e("item_predicate"))},"minecraft:item_used_on_block":{item:(0,c.Opt)(e("item_predicate")),location:(0,c.Opt)(e("location_predicate"))},"minecraft:killed_by_crossbow":{unique_entity_types:(0,c.Opt)((0,L.Range)()),victims:(0,c.Opt)((0,c.ListNode)(s))},"minecraft:levitation":{distance:(0,c.Opt)((0,L.Range)()),duration:(0,c.Opt)((0,L.Range)())},"minecraft:location":{location:(0,c.Opt)(e("location_predicate"))},"minecraft:nether_travel":{distance:(0,c.Opt)((0,L.Range)()),entered:(0,c.Opt)(e("location_predicate")),exited:(0,c.Opt)(e("location_predicate"))},"minecraft:placed_block":{block:(0,c.Opt)(t({validator:"resource",params:{pool:"block"}})),state:(0,c.Opt)((0,c.MapNode)(t(),t(),{validation:{validator:"block_state_map",params:{id:["pop",{push:"block"}]}}})),item:(0,c.Opt)(e("item_predicate")),location:(0,c.Opt)(e("location_predicate"))},"minecraft:player_generates_container_loot":{loot_table:t({validator:"resource",params:{pool:"$loot_table"}})},"minecraft:player_hurt_entity":{damage:(0,c.Opt)(e("damage_predicate")),entity:s},"minecraft:player_interacted_with_entity":{item:(0,c.Opt)(e("item_predicate")),entity:s},"minecraft:player_killed_entity":{entity:s,killing_blow:(0,c.Opt)(e("damage_source_predicate"))},"minecraft:recipe_unlocked":{recipe:t({validator:"resource",params:{pool:"$recipe"}})},"minecraft:slept_in_bed":{location:(0,c.Opt)(e("location_predicate"))},"minecraft:slide_down_block":{block:(0,c.Opt)(t({validator:"resource",params:{pool:"block"}}))},"minecraft:shot_crossbow":{item:(0,c.Opt)(e("item_predicate"))},"minecraft:summoned_entity":{entity:s},"minecraft:tame_animal":{entity:s},"minecraft:target_hit":{projectile:s,shooter:s,signal_strength:(0,c.Opt)((0,L.Range)({integer:!0}))},"minecraft:thrown_item_picked_up_by_entity":{entity:s,item:(0,c.Opt)(e("item_predicate"))},"minecraft:used_ender_eye":{distance:(0,c.Opt)((0,L.Range)())},"minecraft:used_totem":{item:(0,c.Opt)(e("item_predicate"))},"minecraft:villager_trade":{villager:s,item:(0,c.Opt)(e("item_predicate"))},"minecraft:voluntary_exile":{location:e("location_predicate")}}},{context:"criterion"}))},{category:"predicate",context:"criterion"}))}J.initAdvancementSchemas=Ee;var Q={},ee={};Object.defineProperty(ee,"__esModule",{value:!0});ee.initModelSchemas=void 0;const b=v;function Ue(r,o){b.Reference.bind(void 0,r);const e=b.StringNode.bind(void 0,o),t=(i,m,l)=>(0,b.ListNode)((0,b.NumberNode)({min:m,max:l}),{minLength:i,maxLength:i}),s=(0,b.ChoiceNode)([{type:"alias",match:i=>typeof i=="string"&&i.startsWith("#"),node:e(),change:i=>typeof i=="string"?`#${i}`:"#0"},{type:"reference",match:i=>typeof i=="string",node:e({validator:"resource",params:{pool:"$texture"}}),change:i=>typeof i=="string"?i.replace(/^#/,""):""}],{choiceContext:"texture"});r.register("model",(0,b.Mod)((0,b.ObjectNode)({parent:(0,b.Opt)(e({validator:"resource",params:{pool:"$model"}})),ambientocclusion:(0,b.Opt)((0,b.BooleanNode)()),gui_light:(0,b.Opt)(e({enum:"gui_light"})),textures:(0,b.Opt)((0,b.MapNode)(e(),s)),elements:(0,b.Opt)((0,b.ListNode)((0,b.ObjectNode)({from:t(3,-16,32),to:t(3,-16,32),rotation:(0,b.Opt)((0,b.ObjectNode)({origin:t(3),axis:e({enum:"axis"}),angle:(0,b.NumberEnum)({values:[-45,-22.5,0,22.5,45]}),rescale:(0,b.Opt)((0,b.BooleanNode)())})),shade:(0,b.Opt)((0,b.BooleanNode)()),faces:(0,b.MapNode)(e({enum:"direction"}),(0,b.ObjectNode)({texture:s,uv:(0,b.Opt)(t(4)),cullface:(0,b.Opt)(e({enum:"direction"})),rotation:(0,b.Opt)((0,b.NumberNode)({integer:!0})),tintindex:(0,b.Opt)((0,b.NumberNode)({integer:!0}))}))},{context:"model_element"}))),display:(0,b.Opt)((0,b.MapNode)(e({enum:"display_position"}),(0,b.ObjectNode)({rotation:t(3),translation:t(3,-80,80),scale:t(3,-4,4)},{context:"item_transform"}))),overrides:(0,b.Opt)((0,b.ListNode)((0,b.ObjectNode)({predicate:(0,b.MapNode)(e({enum:"item_model_predicates"}),(0,b.NumberNode)()),model:e({validator:"resource",params:{pool:"$model"}})},{context:"model_override"})))},{context:"model"}),{default:()=>({parent:"minecraft:item/generated",textures:{layer0:"minecraft:item/diamond"}})}))}ee.initModelSchemas=Ue;var te={};Object.defineProperty(te,"__esModule",{value:!0});te.initBlockDefinitionSchemas=void 0;const h=v;function We(r,o){const e=h.Reference.bind(void 0,r),t=h.StringNode.bind(void 0,o);r.register("block_definition",(0,h.Mod)((0,h.ChoiceNode)([{type:"variants",match:i=>i.variants!==void 0,node:(0,h.ObjectNode)({variants:(0,h.MapNode)(t(),e("model_variant"))}),change:i=>({variants:{"":{}}})},{type:"multipart",match:i=>i.multipart!==void 0,node:(0,h.ObjectNode)({multipart:(0,h.ListNode)((0,h.ObjectNode)({when:(0,h.Opt)(e("multipart_condition")),apply:e("model_variant")}))}),change:i=>({multipart:{when:{},apply:{}}})}],{context:"block_definition"}),{default:()=>({variants:{"":{model:"minecraft:block/stone"}}})}));const s={model:t({validator:"resource",params:{pool:"$model"}}),x:(0,h.Opt)((0,h.NumberEnum)({integer:!0,values:[0,90,180,270]})),y:(0,h.Opt)((0,h.NumberEnum)({integer:!0,values:[0,90,180,270]})),uvlock:(0,h.Opt)((0,h.BooleanNode)())};r.register("model_variant",(0,h.ChoiceNode)([{type:"object",node:(0,h.ObjectNode)(s),change:i=>Array.isArray(i)&&i.length>0?i[0]:{}},{type:"list",node:(0,h.ListNode)((0,h.ObjectNode)(xe(k({},s),{weight:(0,h.Opt)((0,h.NumberNode)({integer:!0,min:1}))}),{context:"model_variant"})),change:i=>[k({weight:1},i)]}],{context:"model_variant"})),r.register("multipart_condition",(0,h.ChoiceNode)([{type:"object",priority:-1,match:()=>!0,node:(0,h.MapNode)(t(),t()),change:i=>typeof i=="object"&&Array.isArray(i==null?void 0:i.OR)&&i.OR.length>0?i.OR[0]:{}},{type:"or",match:i=>typeof i=="object"&&(i==null?void 0:i.OR)!==void 0,node:(0,h.ObjectNode)({OR:(0,h.ListNode)(e("multipart_condition"))}),change:i=>({OR:[i!=null?i:{}]})}],{context:"multipart_condition"}))}te.initBlockDefinitionSchemas=We;Object.defineProperty(Q,"__esModule",{value:!0});Q.initAssetsSchemas=void 0;const Ge=ee,Ve=te;function He(r,o){(0,Ve.initBlockDefinitionSchemas)(r,o),(0,Ge.initModelSchemas)(r,o)}Q.initAssetsSchemas=He;var re={};Object.defineProperty(re,"__esModule",{value:!0});re.initConditionSchemas=void 0;const I=v,Ke=$;function Xe(r,o){const e=I.Reference.bind(void 0,r),t=I.StringNode.bind(void 0,o);r.register("predicate",(0,I.ObjectOrList)(e("condition"),{choiceContext:"condition"})),r.register("condition",(0,I.Mod)((0,I.ObjectNode)({condition:t({validator:"resource",params:{pool:"loot_condition_type"}}),[I.Switch]:[{push:"condition"}],[I.Case]:Ke.ConditionCases},{category:"predicate",context:"condition"}),{default:()=>({condition:"minecraft:entity_properties",entity:"this"})}))}re.initConditionSchemas=Xe;var oe={};Object.defineProperty(oe,"__esModule",{value:!0});oe.initDimensionSchemas=void 0;const g=v,Ce=$;function Ze(r,o){const e=g.Reference.bind(void 0,r),t=g.StringNode.bind(void 0,o),s=i=>(0,g.Mod)(i,{enabled:m=>m.push("preset").get()===void 0});r.register("dimension",(0,g.Mod)((0,g.ObjectNode)({type:(0,Ce.DimensionTypePresets)(e("dimension_type")),generator:(0,g.ObjectNode)({type:t({validator:"resource",params:{pool:"worldgen/chunk_generator"}}),[g.Switch]:[{push:"type"}],[g.Case]:{"minecraft:noise":{seed:(0,g.NumberNode)({integer:!0}),settings:(0,Ce.NoiseSettingsPresets)(e("noise_settings")),biome_source:(0,g.ObjectNode)({type:t({validator:"resource",params:{pool:"worldgen/biome_source"}}),[g.Switch]:[{push:"type"}],[g.Case]:{"minecraft:fixed":{biome:t({validator:"resource",params:{pool:"$worldgen/biome"}})},"minecraft:multi_noise":{seed:(0,g.NumberNode)({integer:!0}),preset:(0,g.Opt)(t({enum:["nether"]})),altitude_noise:s(e("generator_biome_noise")),temperature_noise:s(e("generator_biome_noise")),humidity_noise:s(e("generator_biome_noise")),weirdness_noise:s(e("generator_biome_noise")),biomes:s((0,g.Mod)((0,g.ListNode)(e("generator_biome")),{default:()=>[{biome:"minecraft:plains"}]}))},"minecraft:checkerboard":{scale:(0,g.Opt)((0,g.NumberNode)({integer:!0,min:0,max:62})),biomes:(0,g.ListNode)(t({validator:"resource",params:{pool:"$worldgen/biome"}}))},"minecraft:the_end":{seed:(0,g.NumberNode)({integer:!0})},"minecraft:vanilla_layered":{seed:(0,g.NumberNode)({integer:!0}),large_biomes:(0,g.Opt)((0,g.BooleanNode)()),legacy_biome_init_layer:(0,g.Opt)((0,g.BooleanNode)())}}},{category:"predicate",disableSwitchContext:!0})},"minecraft:flat":{settings:(0,g.ObjectNode)({biome:(0,g.Opt)(t({validator:"resource",params:{pool:"$worldgen/biome"}})),lakes:(0,g.Opt)((0,g.BooleanNode)()),features:(0,g.Opt)((0,g.BooleanNode)()),layers:(0,g.ListNode)(e("generator_layer")),structures:e("generator_structures")})}}},{disableSwitchContext:!0})},{category:"pool",context:"dimension"}),{default:()=>{const i=Math.floor(Math.random()*4294967296)-2147483648;return{type:"minecraft:overworld",generator:{type:"minecraft:noise",seed:i,biome_source:{type:"minecraft:fixed",seed:i,biome:"minecraft:plains"},settings:"minecraft:overworld"}}}})),r.register("generator_biome",(0,g.Mod)((0,g.ObjectNode)({biome:t({validator:"resource",params:{pool:"$worldgen/biome"}}),parameters:(0,g.ObjectNode)({altitude:(0,g.NumberNode)(),temperature:(0,g.NumberNode)(),humidity:(0,g.NumberNode)(),weirdness:(0,g.NumberNode)(),offset:(0,g.NumberNode)()})},{context:"generator_biome"}),{default:()=>({biome:"minecraft:plains",parameters:{altitude:0,temperature:0,humidity:0,weirdness:0,offset:0}})})),r.register("generator_biome_noise",(0,g.Mod)((0,g.ObjectNode)({firstOctave:(0,g.NumberNode)({integer:!0}),amplitudes:(0,g.ListNode)((0,g.NumberNode)())},{context:"generator_biome_noise"}),{default:()=>({firstOctave:-7,amplitudes:[1,1]})}))}oe.initDimensionSchemas=Ze;var ae={};Object.defineProperty(ae,"__esModule",{value:!0});ae.initDimensionTypeSchemas=void 0;const x=v,Ye=$;function Je(r,o){const e=x.StringNode.bind(void 0,o);r.register("dimension_type",(0,x.Mod)((0,x.ObjectNode)({name:(0,x.Mod)(e({validator:"resource",params:{pool:"$dimension_type",isDefinition:!0}}),{enabled:t=>t.getArray().length>0}),ultrawarm:(0,x.BooleanNode)(),natural:(0,x.BooleanNode)(),piglin_safe:(0,x.BooleanNode)(),respawn_anchor_works:(0,x.BooleanNode)(),bed_works:(0,x.BooleanNode)(),has_raids:(0,x.BooleanNode)(),has_skylight:(0,x.BooleanNode)(),has_ceiling:(0,x.BooleanNode)(),coordinate_scale:(0,x.NumberNode)({min:1e-5,max:3e7}),ambient_light:(0,x.NumberNode)(),fixed_time:(0,x.Opt)((0,x.NumberNode)({integer:!0})),logical_height:(0,x.NumberNode)({integer:!0,min:0,max:256}),effects:(0,x.Opt)(e({enum:["minecraft:overworld","minecraft:the_nether","minecraft:the_end"]})),infiniburn:e({validator:"resource",params:{pool:"$tag/block"}})},{context:"dimension_type"}),{default:()=>Ye.DefaultDimensionType}))}ae.initDimensionTypeSchemas=Je;var ie={},B={};Object.defineProperty(B,"__esModule",{value:!0});B.LootFunctions=B.LootConditions=B.LootCopySources=B.LootEntitySources=B.LootTableTypes=void 0;B.LootTableTypes=new Map([["minecraft:advancement_entity",{requires:[7,8],allows:[]}],["minecraft:advancement_reward",{requires:[7,8],allows:[]}],["minecraft:barter",{requires:[8],allows:[]}],["minecraft:block",{requires:[1,7,9],allows:[0,4,8]}],["minecraft:chest",{requires:[7],allows:[8]}],["minecraft:command",{requires:[7],allows:[8]}],["minecraft:empty",{requires:[],allows:[]}],["minecraft:entity",{requires:[2,7,8],allows:[3,5,6]}],["minecraft:fishing",{requires:[7,9],allows:[8]}],["minecraft:generic",{requires:[2,0,1,3,4,5,6,7,8,9],allows:[]}],["minecraft:gift",{requires:[7,8],allows:[]}],["minecraft:selector",{requires:[7],allows:[8]}]]);B.LootEntitySources=new Map([["direct_killer",[3]],["killer",[5]],["killer_player",[5]],["this",[8]]]);B.LootCopySources=new Map([["block_entity",[0]],["killer",[5]],["killer_player",[5]],["this",[8]]]);B.LootConditions=new Map([["minecraft:alternative",[]],["minecraft:block_state_property",[1]],["minecraft:damage_source_properties",[2]],["minecraft:entity_properties",[7]],["minecraft:entity_scores",[]],["minecraft:inverted",[]],["minecraft:killed_by_player",[6]],["minecraft:location_check",[]],["minecraft:match_tool",[9]],["minecraft:random_chance",[]],["minecraft:random_chance_with_looting",[5]],["minecraft:reference",[]],["minecraft:survives_explosion",[4]],["minecraft:table_bonus",[9]],["minecraft:time_check",[]],["minecraft:weather_check",[]]]);B.LootFunctions=new Map([["minecraft:apply_bonus",[9]],["minecraft:copy_name",[]],["minecraft:copy_nbt",[]],["minecraft:copy_state",[1]],["minecraft:enchant_randomly",[]],["minecraft:enchant_with_levels",[]],["minecraft:exploration_map",[7]],["minecraft:explosion_decay",[]],["minecraft:fill_player_head",[]],["minecraft:furnace_smelt",[]],["minecraft:limit_count",[]],["minecraft:looting_enchant",[5]],["minecraft:set_attributes",[]],["minecraft:set_contents",[]],["minecraft:set_count",[]],["minecraft:set_damage",[]],["minecraft:set_loot_table",[]],["minecraft:set_lore",[]],["minecraft:set_name",[]],["minecraft:set_nbt",[]],["minecraft:set_stew_effect",[]]]);Object.defineProperty(ie,"__esModule",{value:!0});ie.initLootTableSchemas=void 0;const d=v,V=B,z=$;function Qe(r,o){const e=d.Reference.bind(void 0,r),t=d.StringNode.bind(void 0,o),s={conditions:(0,d.Opt)((0,d.ListNode)(e("loot_condition")))},i=k({functions:(0,d.Opt)((0,d.ListNode)(e("loot_function")))},s);function m(j,D,C){const Oe=[],ze=X=>o.get(D).filter(ke=>{var G;return((G=j.get(ke))!==null&&G!==void 0?G:[]).every(we=>X.includes(we))});for(const[X,{allows:ke,requires:G}]of V.LootTableTypes){const Se=[...ke,...G];Oe.push({match:we=>we.getModel().get(new d.Path(["type"]))===X,node:C(ze(Se))})}return Oe.push({match:X=>!0,node:C(D)}),(0,d.SwitchNode)(Oe)}const l=m(V.LootConditions,"loot_condition_type",j=>t({validator:"resource",params:{pool:j instanceof Array?j:"loot_condition_type"}})),N=m(V.LootFunctions,"loot_function_type",j=>t({validator:"resource",params:{pool:j instanceof Array?j:"loot_function_type"}})),w=m(V.LootEntitySources,"entity_source",j=>t({enum:j})),T=m(V.LootCopySources,"copy_source",j=>t({enum:j}));r.register("loot_table",(0,d.Mod)((0,d.ObjectNode)({type:(0,d.Opt)(t({validator:"resource",params:{pool:o.get("loot_context_type")}})),pools:(0,d.Opt)((0,d.ListNode)((0,d.Mod)((0,d.ObjectNode)(k({rolls:(0,z.Range)({allowBinomial:!0,integer:!0}),bonus_rolls:(0,d.Opt)((0,z.Range)({integer:!0})),entries:(0,d.ListNode)(e("loot_entry"))},i),{category:"pool",context:"loot_pool"}),{default:()=>({rolls:1,entries:[{type:"minecraft:item",name:"minecraft:stone"}]})}))),functions:(0,d.Opt)((0,d.ListNode)(e("loot_function")))},{context:"loot_table"}),{default:()=>({pools:[{rolls:1,entries:[{type:"minecraft:item",name:"minecraft:stone"}]}]})}));const U={enabled:j=>{var D;return((D=j.pop().get())===null||D===void 0?void 0:D.length)>1&&!["minecraft:alternatives","minecraft:group","minecraft:sequence"].includes(j.push("type").get())}};r.register("loot_entry",(0,d.Mod)((0,d.ObjectNode)({type:t({validator:"resource",params:{pool:"loot_pool_entry_type"}}),weight:(0,d.Opt)((0,d.Mod)((0,d.NumberNode)({integer:!0,min:1}),U)),quality:(0,d.Opt)((0,d.Mod)((0,d.NumberNode)({integer:!0}),U)),[d.Switch]:[{push:"type"}],[d.Case]:{"minecraft:alternatives":k({children:(0,d.ListNode)(e("loot_entry"))},i),"minecraft:dynamic":k({name:t()},i),"minecraft:group":k({children:(0,d.ListNode)(e("loot_entry"))},i),"minecraft:item":k({name:t({validator:"resource",params:{pool:"item"}})},i),"minecraft:loot_table":k({name:t({validator:"resource",params:{pool:"$loot_table"}})},i),"minecraft:sequence":k({children:(0,d.ListNode)(e("loot_entry"))},i),"minecraft:tag":k({name:t({validator:"resource",params:{pool:"$tag/item"}}),expand:(0,d.Opt)((0,d.BooleanNode)())},i)}},{context:"loot_entry"}),{default:()=>({type:"minecraft:item",name:"minecraft:stone"})})),r.register("loot_function",(0,d.Mod)((0,d.ObjectNode)({function:N,[d.Switch]:[{push:"function"}],[d.Case]:(()=>{const j={"minecraft:apply_bonus":{enchantment:t({validator:"resource",params:{pool:"enchantment"}}),formula:t({validator:"resource",params:{pool:o.get("loot_table_apply_bonus_formula")}}),parameters:(0,d.Mod)((0,d.ObjectNode)({bonusMultiplier:(0,d.Mod)((0,d.NumberNode)(),{enabled:C=>C.pop().push("formula").get()==="minecraft:uniform_bonus_count"}),extra:(0,d.Mod)((0,d.NumberNode)(),{enabled:C=>C.pop().push("formula").get()==="minecraft:binomial_with_bonus_count"}),probability:(0,d.Mod)((0,d.NumberNode)(),{enabled:C=>C.pop().push("formula").get()==="minecraft:binomial_with_bonus_count"})}),{enabled:C=>C.push("formula").get()!=="minecraft:ore_drops"})},"minecraft:copy_name":{source:T},"minecraft:copy_nbt":{source:T,ops:(0,d.ListNode)((0,d.ObjectNode)({source:t({validator:"nbt_path",params:{category:{getter:"copy_source",path:["pop","pop","pop",{push:"source"}]}}}),target:t({validator:"nbt_path",params:{category:"minecraft:item"}}),op:t({enum:["replace","append","merge"]})},{context:"nbt_operation"}))},"minecraft:copy_state":{block:t({validator:"resource",params:{pool:"block"}}),properties:(0,d.ListNode)(t({validator:"block_state_key",params:{id:["pop","pop",{push:"block"}]}}))},"minecraft:enchant_randomly":{enchantments:(0,d.Opt)((0,d.ListNode)(t({validator:"resource",params:{pool:"enchantment"}})))},"minecraft:enchant_with_levels":{levels:(0,z.Range)({allowBinomial:!0}),treasure:(0,d.Opt)((0,d.BooleanNode)())},"minecraft:exploration_map":{destination:(0,d.Opt)(t({enum:"map_feature"})),decoration:(0,d.Opt)(t({enum:"map_decoration"})),zoom:(0,d.Opt)((0,d.NumberNode)({integer:!0})),search_radius:(0,d.Opt)((0,d.NumberNode)({integer:!0})),skip_existing_chunks:(0,d.Opt)((0,d.BooleanNode)())},"minecraft:fill_player_head":{entity:w},"minecraft:limit_count":{limit:(0,z.Range)({bounds:!0})},"minecraft:looting_enchant":{count:(0,z.Range)({bounds:!0}),limit:(0,d.Opt)((0,d.NumberNode)({integer:!0}))},"minecraft:set_attributes":{modifiers:(0,d.ListNode)(e("attribute_modifier"))},"minecraft:set_contents":{entries:(0,d.ListNode)(e("loot_entry"))},"minecraft:set_count":{count:(0,z.Range)({allowBinomial:!0})},"minecraft:set_damage":{damage:(0,z.Range)({forceRange:!0})},"minecraft:set_loot_table":{name:t({validator:"resource",params:{pool:"$loot_table"}}),seed:(0,d.Opt)((0,d.NumberNode)({integer:!0}))},"minecraft:set_lore":{entity:(0,d.Opt)(w),lore:(0,d.ListNode)(e("text_component")),replace:(0,d.Opt)((0,d.BooleanNode)())},"minecraft:set_name":{entity:(0,d.Opt)(w),name:(0,d.Opt)(e("text_component"))},"minecraft:set_nbt":{tag:t({validator:"nbt",params:{registry:{category:"minecraft:item"}}})},"minecraft:set_stew_effect":{effects:(0,d.Opt)((0,d.ListNode)((0,d.ObjectNode)({type:t({validator:"resource",params:{pool:"mob_effect"}}),duration:(0,z.Range)()})))}},D={};return o.get("loot_function_type").forEach(C=>{D[C]=k(k({},j[C]),s)}),D})()},{category:"function",context:"function"}),{default:()=>({function:"minecraft:set_count",count:1})})),r.register("loot_condition",(0,d.Mod)((0,d.ObjectNode)({condition:l,[d.Switch]:[{push:"condition"}],[d.Case]:xe(k({},z.ConditionCases),{"minecraft:entity_properties":{entity:w,predicate:e("entity_predicate")},"minecraft:entity_scores":{entity:w,scores:(0,d.MapNode)(t({validator:"objective"}),(0,z.Range)({bounds:!0}))}})},{category:"predicate",context:"condition"}),{default:()=>({condition:"minecraft:random_chance",chance:.5})})),r.register("attribute_modifier",(0,d.Mod)((0,d.ObjectNode)({attribute:t({validator:"resource",params:{pool:"attribute"}}),name:t(),amount:(0,z.Range)({bounds:!0}),operation:t({enum:["addition","multiply_base","multiply_total"]}),slot:(0,d.StringOrList)(t({enum:"slot"}))},{context:"attribute_modifier"}),{default:()=>({attribute:"minecraft:generic.max_health",name:"",amount:1,operation:"addition",slot:"mainhand"})}))}ie.initLootTableSchemas=Qe;var ne={};Object.defineProperty(ne,"__esModule",{value:!0});ne.initPackMcmetaSchemas=void 0;const E=v;function et(r,o){r.register("pack_mcmeta",(0,E.Mod)((0,E.ObjectNode)({pack:(0,E.Mod)((0,E.ObjectNode)({pack_format:(0,E.Mod)((0,E.NumberNode)({integer:!0,min:6,max:6}),{default:()=>6}),description:(0,E.Reference)(r,"text_component")}),{default:()=>({pack_format:6,description:""})})}),{default:()=>({pack:{pack_format:6,description:""}})}))}ne.initPackMcmetaSchemas=et;var ce={};Object.defineProperty(ce,"__esModule",{value:!0});ce.initPredicatesSchemas=void 0;const a=v,S=$;function tt(r,o){const e=a.Reference.bind(void 0,r),t=a.StringNode.bind(void 0,o),s=(0,a.ChoiceNode)([{type:"string",node:t(),change:i=>typeof i=="boolean"||typeof i=="number"?i.toString():""},{type:"number",node:(0,a.NumberNode)(),change:i=>typeof i=="string"?parseInt(i):0},{type:"object",node:(0,a.ObjectNode)({min:(0,a.Opt)((0,a.NumberNode)({integer:!0})),max:(0,a.Opt)((0,a.NumberNode)({integer:!0}))}),change:i=>typeof i=="number"?{min:i,max:i}:{}},{type:"boolean",node:(0,a.BooleanNode)(),change:i=>i==="true"||i===1}]);r.register("item_predicate",(0,a.ObjectNode)({item:(0,a.Opt)(t({validator:"resource",params:{pool:"item"}})),tag:(0,a.Opt)(t({validator:"resource",params:{pool:"$tag/item"}})),count:(0,a.Opt)((0,S.Range)()),durability:(0,a.Opt)((0,S.Range)()),potion:(0,a.Opt)(t({validator:"resource",params:{pool:"potion"}})),nbt:(0,a.Opt)(t({validator:"nbt",params:{registry:{category:"minecraft:item",id:["pop",{push:"item"}]}}})),enchantments:(0,a.Opt)((0,a.ListNode)(e("enchantment_predicate")))},{context:"item"})),r.register("enchantment_predicate",(0,a.ObjectNode)({enchantment:(0,a.Opt)(t({validator:"resource",params:{pool:"enchantment"}})),levels:(0,a.Opt)((0,S.Range)())},{context:"enchantment"})),r.register("block_predicate",(0,a.ObjectNode)({block:(0,a.Opt)(t({validator:"resource",params:{pool:"block"}})),tag:(0,a.Opt)(t({validator:"resource",params:{pool:"$tag/block"}})),nbt:(0,a.Opt)(t({validator:"nbt",params:{registry:{category:"minecraft:block",id:["pop",{push:"block"}]}}})),state:(0,a.Opt)((0,a.MapNode)(t(),s,{validation:{validator:"block_state_map",params:{id:["pop",{push:"block"}]}}}))},{context:"block"})),r.register("fluid_predicate",(0,a.ObjectNode)({fluid:(0,a.Opt)(t({validator:"resource",params:{pool:"fluid"}})),tag:(0,a.Opt)(t({validator:"resource",params:{pool:"$tag/fluid"}})),state:(0,a.Opt)((0,a.MapNode)(t(),s))},{context:"fluid"})),r.register("location_predicate",(0,a.ObjectNode)({position:(0,a.Opt)((0,a.ObjectNode)({x:(0,a.Opt)((0,S.Range)()),y:(0,a.Opt)((0,S.Range)()),z:(0,a.Opt)((0,S.Range)())})),biome:(0,a.Opt)(t({validator:"resource",params:{pool:"$worldgen/biome"}})),feature:(0,a.Opt)(t({enum:o.get("worldgen/structure_feature").map(i=>i.slice(10))})),dimension:(0,a.Opt)(t({validator:"resource",params:{pool:"$dimension"}})),light:(0,a.Opt)((0,a.ObjectNode)({light:(0,a.Opt)((0,S.Range)({integer:!0,min:0,max:15}))})),smokey:(0,a.Opt)((0,a.BooleanNode)()),block:(0,a.Opt)(e("block_predicate")),fluid:(0,a.Opt)(e("fluid_predicate"))},{context:"location"})),r.register("statistic_predicate",(0,a.ObjectNode)({type:t({validator:"resource",params:{pool:"stat_type"}}),stat:t(),value:(0,S.Range)(),[a.Switch]:[{push:"type"}],[a.Case]:{"minecraft:mined":{stat:t({validator:"resource",params:{pool:"block"}})},"minecraft:crafted":{stat:t({validator:"resource",params:{pool:"item"}})},"minecraft:used":{stat:t({validator:"resource",params:{pool:"item"}})},"minecraft:broken":{stat:t({validator:"resource",params:{pool:"item"}})},"minecraft:picked_up":{stat:t({validator:"resource",params:{pool:"item"}})},"minecraft:dropped":{stat:t({validator:"resource",params:{pool:"item"}})},"minecraft:killed":{stat:t({validator:"resource",params:{pool:"entity_type"}})},"minecraft:killed_by":{stat:t({validator:"resource",params:{pool:"entity_type"}})},"minecraft:custom":{stat:t({validator:"resource",params:{pool:"custom_stat"}})}}})),r.register("player_predicate",(0,a.ObjectNode)({gamemode:(0,a.Opt)(t({enum:"gamemode"})),level:(0,a.Opt)((0,S.Range)()),advancements:(0,a.Opt)((0,a.MapNode)(t({validator:"resource",params:{pool:"$advancement"}}),(0,a.ChoiceNode)([{type:"boolean",node:(0,a.BooleanNode)(),change:i=>!0},{type:"object",node:(0,a.MapNode)(t(),(0,a.BooleanNode)())}]))),recipes:(0,a.Opt)((0,a.MapNode)(t({validator:"resource",params:{pool:"$recipe"}}),(0,a.BooleanNode)())),stats:(0,a.Opt)((0,a.ListNode)(e("statistic_predicate")))},{context:"player"})),r.register("status_effect_predicate",(0,a.ObjectNode)({amplifier:(0,a.Opt)((0,S.Range)()),duration:(0,a.Opt)((0,S.Range)()),ambient:(0,a.Opt)((0,a.BooleanNode)()),visible:(0,a.Opt)((0,a.BooleanNode)())},{context:"status_effect"})),r.register("distance_predicate",(0,a.ObjectNode)({x:(0,a.Opt)((0,S.Range)()),y:(0,a.Opt)((0,S.Range)()),z:(0,a.Opt)((0,S.Range)()),absolute:(0,a.Opt)((0,S.Range)()),horizontal:(0,a.Opt)((0,S.Range)())},{context:"distance"})),r.register("entity_predicate",(0,a.ObjectNode)({type:(0,a.Opt)(t({validator:"resource",params:{pool:"entity_type",allowTag:!0}})),nbt:(0,a.Opt)(t({validator:"nbt",params:{registry:{category:"minecraft:entity",id:["pop",{push:"type"}]}}})),team:(0,a.Opt)(t({validator:"team"})),location:(0,a.Opt)(e("location_predicate")),distance:(0,a.Opt)(e("distance_predicate")),flags:(0,a.Opt)((0,a.ObjectNode)({is_on_fire:(0,a.Opt)((0,a.BooleanNode)()),is_sneaking:(0,a.Opt)((0,a.BooleanNode)()),is_sprinting:(0,a.Opt)((0,a.BooleanNode)()),is_swimming:(0,a.Opt)((0,a.BooleanNode)()),is_baby:(0,a.Opt)((0,a.BooleanNode)())})),equipment:(0,a.Opt)((0,a.MapNode)(t({enum:"slot"}),e("item_predicate"))),vehicle:(0,a.Opt)(e("entity_predicate")),targeted_entity:(0,a.Opt)(e("entity_predicate")),player:(0,a.Opt)(e("player_predicate")),fishing_hook:(0,a.Opt)((0,a.ObjectNode)({in_open_water:(0,a.Opt)((0,a.BooleanNode)())})),catType:(0,a.Opt)(t({enum:"cat_texture"})),effects:(0,a.Opt)((0,a.MapNode)(t({validator:"resource",params:{pool:"mob_effect"}}),e("status_effect_predicate")))},{context:"entity"})),r.register("damage_source_predicate",(0,a.ObjectNode)({is_explosion:(0,a.Opt)((0,a.BooleanNode)()),is_fire:(0,a.Opt)((0,a.BooleanNode)()),is_magic:(0,a.Opt)((0,a.BooleanNode)()),is_projectile:(0,a.Opt)((0,a.BooleanNode)()),is_lightning:(0,a.Opt)((0,a.BooleanNode)()),bypasses_armor:(0,a.Opt)((0,a.BooleanNode)()),bypasses_invulnerability:(0,a.Opt)((0,a.BooleanNode)()),bypasses_magic:(0,a.Opt)((0,a.BooleanNode)()),source_entity:(0,a.Opt)(e("entity_predicate")),direct_entity:(0,a.Opt)(e("entity_predicate"))},{context:"damage_source"})),r.register("damage_predicate",(0,a.ObjectNode)({dealt:(0,a.Opt)((0,S.Range)()),taken:(0,a.Opt)((0,S.Range)()),blocked:(0,a.Opt)((0,a.BooleanNode)()),source_entity:(0,a.Opt)(e("entity_predicate")),type:(0,a.Opt)(e("damage_source_predicate"))},{context:"damage"}))}ce.initPredicatesSchemas=tt;var se={};Object.defineProperty(se,"__esModule",{value:!0});se.initRecipeSchemas=void 0;const f=v;function rt(r,o){const e=f.Reference.bind(void 0,r),t=f.StringNode.bind(void 0,o);r.register("recipe",(0,f.Mod)((0,f.ObjectNode)({type:t({validator:"resource",params:{pool:"recipe_serializer"}}),[f.Switch]:[{push:"type"}],[f.Case]:{"minecraft:crafting_shaped":{group:(0,f.Opt)(t({enum:"recipe_group",additional:!0})),pattern:(0,f.ListNode)(t()),key:(0,f.MapNode)(t(),e("recipe_ingredient")),result:e("recipe_result")},"minecraft:crafting_shapeless":{group:(0,f.Opt)(t()),ingredients:(0,f.ListNode)(e("recipe_ingredient")),result:e("recipe_result")},"minecraft:smelting":{group:(0,f.Opt)(t()),ingredient:e("recipe_ingredient"),result:t({validator:"resource",params:{pool:"item"}}),experience:(0,f.Opt)((0,f.NumberNode)()),cookingtime:(0,f.Opt)((0,f.Mod)((0,f.NumberNode)({integer:!0}),{default:()=>200}))},"minecraft:blasting":{group:(0,f.Opt)(t()),ingredient:e("recipe_ingredient"),result:t({validator:"resource",params:{pool:"item"}}),experience:(0,f.Opt)((0,f.NumberNode)()),cookingtime:(0,f.Opt)((0,f.Mod)((0,f.NumberNode)({integer:!0}),{default:()=>100}))},"minecraft:smoking":{group:(0,f.Opt)(t()),ingredient:e("recipe_ingredient"),result:t({validator:"resource",params:{pool:"item"}}),experience:(0,f.Opt)((0,f.NumberNode)()),cookingtime:(0,f.Opt)((0,f.Mod)((0,f.NumberNode)({integer:!0}),{default:()=>100}))},"minecraft:campfire_cooking":{group:(0,f.Opt)(t()),ingredient:e("recipe_ingredient"),result:t({validator:"resource",params:{pool:"item"}}),experience:(0,f.Opt)((0,f.NumberNode)()),cookingtime:(0,f.Opt)((0,f.Mod)((0,f.NumberNode)({integer:!0}),{default:()=>100}))},"minecraft:stonecutting":{group:(0,f.Opt)(t()),ingredient:e("recipe_ingredient"),result:t({validator:"resource",params:{pool:"item"}}),count:(0,f.NumberNode)({integer:!0})},"minecraft:smithing":{group:(0,f.Opt)(t()),base:e("recipe_ingredient_object"),addition:e("recipe_ingredient_object"),result:e("recipe_result")}}},{context:"recipe",disableSwitchContext:!0}),{default:()=>({type:"minecraft:crafting_shaped"})})),r.register("recipe_ingredient",(0,f.Mod)((0,f.ChoiceNode)([{type:"object",node:e("recipe_ingredient_object"),change:s=>s[0]},{type:"list",node:(0,f.ListNode)(e("recipe_ingredient_object")),change:s=>[s]}]),{default:()=>({item:"minecraft:stone"})})),r.register("recipe_ingredient_object",(0,f.Mod)((0,f.ObjectNode)({item:(0,f.Opt)(t({validator:"resource",params:{pool:"item"}})),tag:(0,f.Opt)(t({validator:"resource",params:{pool:"$tag/item"}}))}),{default:()=>({item:"minecraft:stone"})})),r.register("recipe_result",(0,f.Mod)((0,f.ObjectNode)({item:t({validator:"resource",params:{pool:"item"}}),count:(0,f.Opt)((0,f.Mod)((0,f.NumberNode)({integer:!0}),{default:()=>1}))}),{default:()=>({item:"minecraft:stone"})}))}se.initRecipeSchemas=rt;var de={};Object.defineProperty(de,"__esModule",{value:!0});de.initTagsSchemas=void 0;const A=v;function ot(r,o){const e=A.StringNode.bind(void 0,o),t=s=>(0,A.Mod)((0,A.ObjectNode)({replace:(0,A.Opt)((0,A.BooleanNode)()),values:(0,A.ListNode)((0,A.ChoiceNode)([{type:"string",node:e({validator:"resource",params:{pool:s,allowTag:!0}}),change:i=>i.id},{type:"object",node:(0,A.ObjectNode)({id:e({validator:"resource",params:{pool:s,allowTag:!0,allowUnknown:!0}}),required:(0,A.BooleanNode)()}),change:i=>({id:i})}]))},{context:"tag"}),{default:()=>({values:[]})});r.register("block_tag",t("block")),r.register("entity_type_tag",t("entity_type")),r.register("fluid_tag",t("fluid")),r.register("function_tag",t("$function")),r.register("item_tag",t("item"))}de.initTagsSchemas=ot;var me={};Object.defineProperty(me,"__esModule",{value:!0});me.initTextComponentSchemas=void 0;const _=v;function at(r,o){const e=_.Reference.bind(void 0,r),t=_.StringNode.bind(void 0,o),s=m=>{var l;return m instanceof Array?s(m[0]):(l=m==null?void 0:m.text)!==null&&l!==void 0?l:typeof m=="object"?"":m==null?void 0:m.toString()};r.register("text_component",(0,_.Mod)((0,_.ChoiceNode)([{type:"object",node:e("text_component_object"),change:m=>m instanceof Array?typeof m[0]=="object"?m[0]:{text:s(m[0])}:typeof m=="object"?m:{text:s(m)}},{type:"list",node:e("text_component_list"),change:m=>[m]},{type:"string",priority:1,node:t(),change:s},{type:"number",node:(0,_.NumberNode)(),change:m=>{const l=parseFloat(s(m));return isFinite(l)?l:m?1:0}},{type:"boolean",node:(0,_.BooleanNode)(),change:m=>{const l=s(m);return l==="true"||l==="false"?l==="true":!!l}}],{context:"text_component"}),{default:()=>({text:""})}));const i={color:(0,_.Opt)(t()),font:(0,_.Opt)(t()),bold:(0,_.Opt)((0,_.BooleanNode)()),italic:(0,_.Opt)((0,_.BooleanNode)()),underlined:(0,_.Opt)((0,_.BooleanNode)()),strikethrough:(0,_.Opt)((0,_.BooleanNode)()),obfuscated:(0,_.Opt)((0,_.BooleanNode)()),insertion:(0,_.Opt)(t()),clickEvent:(0,_.Opt)((0,_.ObjectNode)({action:t({enum:["open_url","open_file","run_command","suggest_command","change_page","copy_to_clipboard"]}),[_.Switch]:[{push:"action"}],[_.Case]:{change_page:{value:t()},copy_to_clipboard:{value:t()},open_file:{value:t()},open_url:{value:t()},run_command:{value:t({validator:"command",params:{leadingSlash:!0,allowPartial:!0}})},suggest_command:{value:t({validator:"command",params:{leadingSlash:!0,allowPartial:!0}})}}})),hoverEvent:(0,_.Opt)((0,_.ObjectNode)({action:t({enum:["show_text","show_item","show_entity"]}),[_.Switch]:[{push:"action"}],[_.Case]:{show_text:{value:(0,_.Opt)(e("text_component")),contents:(0,_.Opt)(e("text_component"))},show_item:{value:(0,_.Opt)(t({validator:"nbt",params:{module:"util::InventoryItem"}})),contents:(0,_.Opt)((0,_.ObjectNode)({id:t({validator:"resource",params:{pool:"item"}}),count:(0,_.Opt)((0,_.NumberNode)({integer:!0})),tag:(0,_.Opt)(t({validator:"nbt",params:{registry:{category:"minecraft:item",id:["pop",{push:"id"}]}}}))}))},show_entity:{value:(0,_.Opt)((0,_.ObjectNode)({name:(0,_.Opt)(t()),type:(0,_.Opt)(t()),id:(0,_.Opt)(t())})),contents:(0,_.Opt)((0,_.Mod)((0,_.ObjectNode)({name:(0,_.Opt)(e("text_component")),type:t({validator:"resource",params:{pool:"entity_type"}}),id:t({validator:"uuid"})}),{default:()=>({type:"minecraft:pig",id:"00000001-0001-0001-0001-000000000001"})}))}}})),extra:(0,_.Opt)(e("text_component_list"))};r.register("text_component_object",(0,_.Mod)((0,_.ChoiceNode)([{type:"text",match:m=>typeof m=="object",change:m=>({text:""}),priority:-1,node:(0,_.ObjectNode)(k({text:t()},i))},{type:"translation",match:m=>(m==null?void 0:m.translate)!==void 0,change:m=>({translate:""}),node:(0,_.ObjectNode)(k({translate:t(),with:(0,_.Opt)(e("text_component_list"))},i))},{type:"score",match:m=>(m==null?void 0:m.score)!==void 0,change:m=>({score:{}}),node:(0,_.ObjectNode)(k({score:(0,_.ObjectNode)({name:t({validator:"entity",params:{amount:"single",type:"entities",isScoreHolder:!0}}),objective:t({validator:"objective"}),value:(0,_.Opt)(t())})},i))},{type:"selector",match:m=>(m==null?void 0:m.selector)!==void 0,change:m=>({selector:""}),node:(0,_.ObjectNode)(k({selector:t({validator:"entity",params:{amount:"multiple",type:"entities"}})},i))},{type:"keybind",match:m=>(m==null?void 0:m.keybind)!==void 0,change:m=>({keybind:""}),node:(0,_.ObjectNode)(k({keybind:t({enum:"keybind",additional:!0})},i))},{type:"nbt",match:m=>(m==null?void 0:m.nbt)!==void 0,change:m=>({nbt:""}),node:(0,_.ObjectNode)(k({nbt:t({validator:"nbt_path"}),block:(0,_.Opt)(t({validator:"vector",params:{dimension:3,isInteger:!0}})),entity:(0,_.Opt)(t({validator:"entity",params:{amount:"multiple",type:"entities"}})),storage:(0,_.Opt)(t({validator:"resource",params:{pool:"$storage"}})),interpret:(0,_.Opt)((0,_.BooleanNode)())},i))}],{context:"text_component_object",choiceContext:"text_component.object"}),{default:()=>({text:""})})),r.register("text_component_list",(0,_.Mod)((0,_.ListNode)(e("text_component")),{default:()=>[{text:""}]}))}me.initTextComponentSchemas=at;var le={},_e={};Object.defineProperty(_e,"__esModule",{value:!0});_e.initBiomeSchemas=void 0;const p=v;function it(r,o){const e=p.StringNode.bind(void 0,o);r.register("biome",(0,p.Mod)((0,p.ObjectNode)({surface_builder:e({validator:"resource",params:{pool:"$worldgen/configured_surface_builder"}}),depth:(0,p.NumberNode)(),scale:(0,p.NumberNode)(),temperature:(0,p.NumberNode)(),downfall:(0,p.NumberNode)(),precipitation:e({enum:["none","rain","snow"]}),temperature_modifier:(0,p.Opt)(e({enum:["none","frozen"]})),category:e({enum:"biome_category"}),player_spawn_friendly:(0,p.Opt)((0,p.BooleanNode)()),creature_spawn_probability:(0,p.Opt)((0,p.NumberNode)({min:0,max:1})),effects:(0,p.ObjectNode)({sky_color:(0,p.NumberNode)({color:!0}),fog_color:(0,p.NumberNode)({color:!0}),water_color:(0,p.NumberNode)({color:!0}),water_fog_color:(0,p.NumberNode)({color:!0}),grass_color:(0,p.Opt)((0,p.NumberNode)({color:!0})),foliage_color:(0,p.Opt)((0,p.NumberNode)({color:!0})),grass_color_modifier:(0,p.Opt)(e({enum:["none","dark_forest","swamp"]})),ambient_sound:(0,p.Opt)(e()),mood_sound:(0,p.Opt)((0,p.ObjectNode)({sound:e(),tick_delay:(0,p.NumberNode)({integer:!0}),block_search_extent:(0,p.NumberNode)({integer:!0}),offset:(0,p.NumberNode)()})),additions_sound:(0,p.Opt)((0,p.ObjectNode)({sound:e(),tick_chance:(0,p.NumberNode)({min:0,max:1})})),music:(0,p.Opt)((0,p.ObjectNode)({sound:e(),min_delay:(0,p.NumberNode)({integer:!0,min:0}),max_delay:(0,p.NumberNode)({integer:!0,min:0}),replace_current_music:(0,p.BooleanNode)()})),particle:(0,p.Opt)((0,p.ObjectNode)({options:(0,p.ObjectNode)({type:e()}),probability:(0,p.NumberNode)({min:0,max:1})}))}),starts:(0,p.ListNode)(e({validator:"resource",params:{pool:"$worldgen/configured_structure_feature"}})),spawners:(0,p.MapNode)(e({enum:["water_ambient","ambient","misc","water_creature","creature","monster"]}),(0,p.Mod)((0,p.ListNode)((0,p.ObjectNode)({type:e({validator:"resource",params:{pool:"entity_type"}}),weight:(0,p.NumberNode)({integer:!0}),minCount:(0,p.NumberNode)({integer:!0}),maxCount:(0,p.NumberNode)({integer:!0})})),{category:()=>"pool",default:()=>[{type:"minecraft:bat",weight:1}]})),spawn_costs:(0,p.MapNode)(e({validator:"resource",params:{pool:"entity_type"}}),(0,p.Mod)((0,p.ObjectNode)({energy_budget:(0,p.NumberNode)(),charge:(0,p.NumberNode)()},{category:"function"}),{default:()=>({energy_budget:.12,charge:1})})),carvers:(0,p.MapNode)(e({enum:["air","liquid"]}),(0,p.Mod)((0,p.ListNode)(e({validator:"resource",params:{pool:"$worldgen/configured_carver"}})),{default:()=>["minecraft:cave"]})),features:(0,p.ListNode)((0,p.Mod)((0,p.ListNode)(e({validator:"resource",params:{pool:"$worldgen/configured_feature"}})),{category:()=>"predicate"}),{maxLength:10})},{context:"biome"}),{default:()=>({surface_builder:"minecraft:grass",depth:.125,scale:.05,temperature:.8,downfall:.4,precipitation:"rain",category:"plains",effects:{sky_color:7907327,fog_color:12638463,water_color:4159204,water_fog_color:329011}})}))}_e.initBiomeSchemas=it;var pe={};Object.defineProperty(pe,"__esModule",{value:!0});pe.initCarverSchemas=void 0;const H=v;function nt(r,o){const e=H.StringNode.bind(void 0,o);r.register("configured_carver",(0,H.Mod)((0,H.ObjectNode)({type:e({validator:"resource",params:{pool:"worldgen/carver"}}),config:(0,H.ObjectNode)({probability:(0,H.NumberNode)({min:0,max:1})})},{context:"carver"}),{default:()=>({type:"minecraft:cave",config:{probability:.1}})}))}pe.initCarverSchemas=nt;var ue={};Object.defineProperty(ue,"__esModule",{value:!0});ue.initDecoratorSchemas=void 0;const O=v,ct=$;function st(r,o){const e=O.Reference.bind(void 0,r),t=O.StringNode.bind(void 0,o),s={maximum:(0,O.NumberNode)({integer:!0}),bottom_offset:(0,O.NumberNode)({integer:!0}),top_offset:(0,O.NumberNode)({integer:!0})},i={chance:(0,O.NumberNode)({integer:!0,min:0})},m={count:(0,ct.UniformInt)({min:-10,max:128,maxSpread:128})};r.register("configured_decorator",(0,O.ObjectNode)({type:t({validator:"resource",params:{pool:"worldgen/decorator"}}),config:(0,O.ObjectNode)({[O.Switch]:["pop",{push:"type"}],[O.Case]:{"minecraft:carving_mask":{step:t({enum:"generation_step"}),probability:(0,O.NumberNode)({min:0,max:1})},"minecraft:chance":i,"minecraft:count":m,"minecraft:count_extra":{count:(0,O.NumberNode)({integer:!0}),extra_count:(0,O.NumberNode)({integer:!0}),extra_chance:(0,O.NumberNode)({min:0,max:1})},"minecraft:count_multilayer":m,"minecraft:count_noise":{noise_level:(0,O.NumberNode)(),below_noise:(0,O.NumberNode)({integer:!0}),above_noise:(0,O.NumberNode)({integer:!0})},"minecraft:count_noise_biased":{noise_to_count_ratio:(0,O.NumberNode)({integer:!0}),noise_factor:(0,O.NumberNode)(),noise_offset:(0,O.Opt)((0,O.NumberNode)())},"minecraft:decorated":{outer:e("configured_decorator"),inner:e("configured_decorator")},"minecraft:depth_average":{baseline:(0,O.NumberNode)({integer:!0}),spread:(0,O.NumberNode)({integer:!0})},"minecraft:fire":m,"minecraft:glowstone":m,"minecraft:lava_lake":i,"minecraft:range":s,"minecraft:range_biased":s,"minecraft:range_very_biased":s,"minecraft:water_lake":i}},{context:"decorator",category:"predicate"})},{context:"decorator",category:"predicate"}))}ue.initDecoratorSchemas=st;var fe={},ge={};Object.defineProperty(ge,"__esModule",{value:!0});ge.initProcessorListSchemas=void 0;const y=v;function dt(r,o){const e=y.Reference.bind(void 0,r),t=y.StringNode.bind(void 0,o);r.register("processor_list",(0,y.Mod)((0,y.ObjectNode)({processors:(0,y.ListNode)(e("processor"))},{context:"processor_list"}),{default:()=>({processors:[{processor_type:"minecraft:rule",rules:[{location_predicate:{predicate_type:"minecraft:always_true"},input_predicate:{predicate_type:"minecraft:always_true"}}]}]})})),r.register("processor",(0,y.Mod)((0,y.ObjectNode)({processor_type:t({validator:"resource",params:{pool:"worldgen/structure_processor"}}),[y.Switch]:[{push:"processor_type"}],[y.Case]:{"minecraft:block_age":{mossiness:(0,y.NumberNode)()},"minecraft:block_ignore":{blocks:(0,y.ListNode)(e("block_state"))},"minecraft:block_rot":{integrity:(0,y.NumberNode)({min:0,max:1})},"minecraft:gravity":{heightmap:t({enum:"heightmap_type"}),offset:(0,y.NumberNode)({integer:!0})},"minecraft:rule":{rules:(0,y.ListNode)(e("processor_rule"))}}},{category:"function",context:"processor"}),{default:()=>({processor_type:"minecraft:rule",rules:[{location_predicate:{predicate_type:"minecraft:always_true"},input_predicate:{predicate_type:"minecraft:always_true"}}]})})),r.register("processor_rule",(0,y.Mod)((0,y.ObjectNode)({position_predicate:(0,y.Opt)(e("pos_rule_test")),location_predicate:e("rule_test"),input_predicate:e("rule_test"),output_state:e("block_state"),output_nbt:(0,y.Opt)(t({validator:"nbt",params:{registry:{category:"minecraft:block"}}}))},{category:"predicate",context:"processor_rule"}),{default:()=>({location_predicate:{predicate_type:"minecraft:always_true"},input_predicate:{predicate_type:"minecraft:always_true"}})}));const s={min_dist:(0,y.NumberNode)({min:0,max:255,integer:!0}),max_dist:(0,y.NumberNode)({min:0,max:255,integer:!0}),min_chance:(0,y.NumberNode)({min:0,max:1}),max_chance:(0,y.NumberNode)({min:0,max:1})};r.register("pos_rule_test",(0,y.ObjectNode)({predicate_type:t({validator:"resource",params:{pool:"pos_rule_test"}}),[y.Switch]:[{push:"predicate_type"}],[y.Case]:{"minecraft:axis_aligned_linear_pos":k({axis:t({enum:["x","y","z"]})},s),"minecraft:linear_pos":s}},{context:"pos_rule_test",disableSwitchContext:!0})),r.register("rule_test",(0,y.ObjectNode)({predicate_type:t({validator:"resource",params:{pool:"rule_test"}}),[y.Switch]:[{push:"predicate_type"}],[y.Case]:{"minecraft:block_match":{block:t({validator:"resource",params:{pool:"block"}})},"minecraft:blockstate_match":{block_state:e("block_state")},"minecraft:random_block_match":{block:t({validator:"resource",params:{pool:"block"}}),probability:(0,y.NumberNode)({min:0,max:1})},"minecraft:random_blockstate_match":{block_state:e("block_state"),probability:(0,y.NumberNode)({min:0,max:1})},"minecraft:tag_match":{tag:t({validator:"resource",params:{pool:"$tag/block"}})}}},{context:"rule_test",disableSwitchContext:!0}))}ge.initProcessorListSchemas=dt;Object.defineProperty(fe,"__esModule",{value:!0});fe.initFeatureSchemas=void 0;const n=v,P=$;function mt(r,o){const e=n.Reference.bind(void 0,r),t=n.StringNode.bind(void 0,o),s={can_replace:(0,n.BooleanNode)(),project:(0,n.BooleanNode)(),need_water:(0,n.BooleanNode)(),xspread:(0,n.NumberNode)({integer:!0}),yspread:(0,n.NumberNode)({integer:!0}),zspread:(0,n.NumberNode)({integer:!0}),tries:(0,n.NumberNode)({integer:!0}),state_provider:e("block_state_provider"),block_placer:e("block_placer"),whitelist:(0,n.ListNode)(e("block_state")),blacklist:(0,n.ListNode)(e("block_state"))},i={state:e("block_state"),radius:(0,P.UniformInt)({min:0,max:4,maxSpread:4}),half_height:(0,n.NumberNode)({integer:!0,min:0,max:4}),targets:(0,n.ListNode)(e("block_state"))},m={cap_provider:e("block_state_provider"),stem_provider:e("block_state_provider"),foliage_radius:(0,n.Opt)((0,n.NumberNode)({integer:!0}))},l={state:e("block_state"),size:(0,n.NumberNode)({integer:!0,min:0,max:64}),target:e("rule_test")},N={count:(0,P.UniformInt)({min:-10,max:128,maxSpread:128})},w=(0,n.ChoiceNode)([{type:"string",node:t({validator:"resource",params:{pool:"$worldgen/configured_feature"}})},{type:"object",node:e("configured_feature")}],{choiceContext:"feature"});r.register("configured_feature",(0,n.Mod)((0,n.ObjectNode)({type:t({validator:"resource",params:{pool:"worldgen/feature"}}),config:(0,n.ObjectNode)({[n.Switch]:["pop",{push:"type"}],[n.Case]:{"minecraft:bamboo":{probability:(0,n.NumberNode)({min:0,max:1})},"minecraft:basalt_columns":{reach:(0,P.UniformInt)({min:0,max:2,maxSpread:1}),height:(0,P.UniformInt)({min:1,max:5,maxSpread:5})},"minecraft:block_pile":{state_provider:e("block_state_provider")},"minecraft:decorated":{decorator:e("configured_decorator"),feature:w},"minecraft:delta_feature":{contents:e("block_state"),rim:e("block_state"),size:(0,P.UniformInt)({min:0,max:8,maxSpread:8}),rim_size:(0,P.UniformInt)({min:0,max:8,maxSpread:8})},"minecraft:disk":i,"minecraft:emerald_ore":{state:e("block_state"),target:e("block_state")},"minecraft:end_gateway":{exact:(0,n.BooleanNode)(),exit:(0,n.Opt)(e("block_pos"))},"minecraft:end_spike":{crystal_invulnerable:(0,n.Opt)((0,n.BooleanNode)()),crystal_beam_target:(0,n.Opt)(e("block_pos")),spikes:(0,n.ListNode)((0,n.ObjectNode)({centerX:(0,n.Opt)((0,n.NumberNode)({integer:!0})),centerZ:(0,n.Opt)((0,n.NumberNode)({integer:!0})),radius:(0,n.Opt)((0,n.NumberNode)({integer:!0})),height:(0,n.Opt)((0,n.NumberNode)({integer:!0})),guarded:(0,n.Opt)((0,n.BooleanNode)())}))},"minecraft:fill_layer":{state:e("block_state"),height:(0,n.NumberNode)({integer:!0,min:0,max:255})},"minecraft:flower":s,"minecraft:forest_rock":{state:e("block_state")},"minecraft:huge_brown_mushroom":m,"minecraft:huge_fungus":{hat_state:e("block_state"),decor_state:e("block_state"),stem_state:e("block_state"),valid_base_block:e("block_state"),planted:(0,n.Opt)((0,n.BooleanNode)())},"minecraft:huge_red_mushroom":m,"minecraft:ice_patch":i,"minecraft:iceberg":{state:e("block_state")},"minecraft:lake":{state:e("block_state")},"minecraft:nether_forest_vegetation":{state_provider:e("block_state_provider")},"minecraft:netherrack_replace_blobs":{state:e("block_state"),target:e("block_state"),radius:(0,P.UniformInt)()},"minecraft:no_bonemeal_flower":s,"minecraft:no_surface_ore":l,"minecraft:ore":l,"minecraft:random_patch":s,"minecraft:random_boolean_selector":{feature_false:w,feature_true:w},"minecraft:random_selector":{features:(0,n.ListNode)((0,n.ObjectNode)({chance:(0,n.NumberNode)({min:0,max:1}),feature:w})),default:w},"minecraft:sea_pickle":N,"minecraft:seagrass":{probability:(0,n.NumberNode)({min:0,max:1})},"minecraft:simple_block":{to_place:e("block_state"),place_on:(0,n.ListNode)(e("block_state")),place_in:(0,n.ListNode)(e("block_state")),place_under:(0,n.ListNode)(e("block_state"))},"minecraft:simple_random_selector":{features:(0,n.ListNode)(w)},"minecraft:spring_feature":{state:e("fluid_state"),rock_count:(0,n.NumberNode)({integer:!0}),hole_count:(0,n.NumberNode)({integer:!0}),requires_block_below:(0,n.BooleanNode)(),valid_blocks:(0,n.ListNode)(t({validator:"resource",params:{pool:"block"}}))},"minecraft:tree":{max_water_depth:(0,n.NumberNode)({integer:!0}),ignore_vines:(0,n.BooleanNode)(),heightmap:t({enum:"heightmap_type"}),minimum_size:e("feature_size"),trunk_provider:e("block_state_provider"),leaves_provider:e("block_state_provider"),trunk_placer:(0,n.ObjectNode)({type:t({validator:"resource",params:{pool:"worldgen/trunk_placer_type"}}),base_height:(0,n.NumberNode)({integer:!0,min:0,max:32}),height_rand_a:(0,n.NumberNode)({integer:!0,min:0,max:24}),height_rand_b:(0,n.NumberNode)({integer:!0,min:0,max:24})},{context:"trunk_placer"}),foliage_placer:(0,n.ObjectNode)({type:t({validator:"resource",params:{pool:"worldgen/foliage_placer_type"}}),radius:(0,P.UniformInt)({min:0,max:8,maxSpread:8}),offset:(0,P.UniformInt)({min:0,max:8,maxSpread:8}),[n.Switch]:[{push:"type"}],[n.Case]:{"minecraft:blob_foliage_placer":{height:(0,n.NumberNode)({integer:!0,min:0,max:16})},"minecraft:bush_foliage_placer":{height:(0,n.NumberNode)({integer:!0,min:0,max:16})},"minecraft:fancy_foliage_placer":{height:(0,n.NumberNode)({integer:!0,min:0,max:16})},"minecraft:jungle_foliage_placer":{height:(0,n.NumberNode)({integer:!0,min:0,max:16})},"minecraft:mega_pine_foliage_placer":{crown_height:(0,P.UniformInt)({min:0,max:16,maxSpread:8})},"minecraft:pine_foliage_placer":{height:(0,P.UniformInt)({min:0,max:16,maxSpread:8})},"minecraft:spruce_foliage_placer":{trunk_height:(0,P.UniformInt)({min:0,max:16,maxSpread:8})}}},{context:"foliage_placer",disableSwitchContext:!0}),decorators:(0,n.ListNode)((0,n.ObjectNode)({type:t({validator:"resource",params:{pool:"worldgen/tree_decorator_type"}}),[n.Switch]:[{push:"type"}],[n.Case]:{"minecraft:alter_ground":{provider:e("block_state_provider")},"minecraft:beehive":{probability:(0,n.NumberNode)({min:0,max:1})},"minecraft:cocoa":{probability:(0,n.NumberNode)({min:0,max:1})}}},{context:"tree_decorator"}))}}},{context:"feature"})},{context:"feature"}),{default:()=>({type:"minecraft:decorated",config:{decorator:{type:"minecraft:count",config:{count:4}},feature:{type:"minecraft:tree",config:{max_water_depth:0,ignore_vines:!0,minimum_size:{},trunk_placer:{base_height:5,height_rand_a:2,height_rand_b:0},foliage_placer:{radius:2,offset:0,height:3}}}}})})),r.register("feature_size",(0,n.Mod)((0,n.ObjectNode)({type:t({validator:"resource",params:{pool:"worldgen/feature_size_type"}}),min_clipped_height:(0,n.Opt)((0,n.NumberNode)({min:0,max:80})),[n.Switch]:[{push:"type"}],[n.Case]:{"minecraft:two_layers_feature_size":{limit:(0,n.Opt)((0,n.NumberNode)({integer:!0,min:0,max:81})),lower_size:(0,n.Opt)((0,n.NumberNode)({integer:!0,min:0,max:16})),upper_size:(0,n.Opt)((0,n.NumberNode)({integer:!0,min:0,max:16}))},"minecraft:three_layers_feature_size":{limit:(0,n.Opt)((0,n.NumberNode)({integer:!0,min:0,max:80})),upper_limit:(0,n.Opt)((0,n.NumberNode)({integer:!0,min:0,max:80})),lower_size:(0,n.Opt)((0,n.NumberNode)({integer:!0,min:0,max:16})),middle_size:(0,n.Opt)((0,n.NumberNode)({integer:!0,min:0,max:16})),upper_size:(0,n.Opt)((0,n.NumberNode)({integer:!0,min:0,max:16}))}}},{disableSwitchContext:!0}),{default:()=>({type:"minecraft:two_layers_feature_size"})})),r.register("block_state_provider",(0,n.Mod)((0,n.ObjectNode)({type:t({validator:"resource",params:{pool:"worldgen/block_state_provider_type"}}),[n.Switch]:[{push:"type"}],[n.Case]:{"minecraft:rotated_block_provider":{state:e("block_state")},"minecraft:simple_state_provider":{state:e("block_state")},"minecraft:weighted_state_provider":{entries:(0,n.ListNode)((0,n.Mod)((0,n.ObjectNode)({weight:(0,n.NumberNode)({integer:!0,min:1}),data:e("block_state")}),{default:()=>({data:{}})}))}}},{context:"block_state_provider"}),{default:()=>({type:"minecraft:simple_state_provider"})})),r.register("block_placer",(0,n.Mod)((0,n.ObjectNode)({type:t({validator:"resource",params:{pool:"worldgen/block_placer_type"}}),[n.Switch]:[{push:"type"}],[n.Case]:{"minecraft:column_placer":{min_size:(0,n.NumberNode)({integer:!0}),extra_size:(0,n.NumberNode)({integer:!0})}}},{context:"block_placer"}),{default:()=>({type:"minecraft:simple_block_placer"})}))}fe.initFeatureSchemas=mt;var be={};Object.defineProperty(be,"__esModule",{value:!0});be.initNoiseSettingsSchemas=void 0;const u=v,lt=$;function _t(r,o){const e=u.Reference.bind(void 0,r),t=u.StringNode.bind(void 0,o);r.register("noise_settings",(0,u.Mod)((0,u.ObjectNode)({name:(0,u.Mod)(t({validator:"resource",params:{pool:"$worldgen/noise_settings",isDefinition:!0}}),{enabled:s=>s.getArray().length>0}),bedrock_roof_position:(0,u.NumberNode)({integer:!0}),bedrock_floor_position:(0,u.NumberNode)({integer:!0}),sea_level:(0,u.NumberNode)({integer:!0}),disable_mob_generation:(0,u.BooleanNode)(),default_block:e("block_state"),default_fluid:e("block_state"),noise:(0,u.ObjectNode)({height:(0,u.NumberNode)({integer:!0}),density_factor:(0,u.NumberNode)(),density_offset:(0,u.NumberNode)(),size_horizontal:(0,u.NumberNode)({integer:!0}),size_vertical:(0,u.NumberNode)({integer:!0}),simplex_surface_noise:(0,u.BooleanNode)(),random_density_offset:(0,u.Opt)((0,u.BooleanNode)()),island_noise_override:(0,u.Opt)((0,u.BooleanNode)()),amplified:(0,u.Opt)((0,u.BooleanNode)()),sampling:(0,u.ObjectNode)({xz_scale:(0,u.NumberNode)(),y_scale:(0,u.NumberNode)(),xz_factor:(0,u.NumberNode)(),y_factor:(0,u.NumberNode)()}),bottom_slide:(0,u.ObjectNode)({target:(0,u.NumberNode)({integer:!0}),size:(0,u.NumberNode)({integer:!0}),offset:(0,u.NumberNode)({integer:!0})}),top_slide:(0,u.ObjectNode)({target:(0,u.NumberNode)({integer:!0}),size:(0,u.NumberNode)({integer:!0}),offset:(0,u.NumberNode)({integer:!0})})}),structures:e("generator_structures")},{context:"noise_settings"}),{default:()=>lt.DefaultNoiseSettings})),r.register("generator_structures",(0,u.ObjectNode)({stronghold:(0,u.Opt)((0,u.ObjectNode)({distance:(0,u.NumberNode)({integer:!0,min:0,max:1023}),spread:(0,u.NumberNode)({integer:!0,min:0,max:1023}),count:(0,u.NumberNode)({integer:!0,min:1,max:4095})})),structures:(0,u.MapNode)(t({validator:"resource",params:{pool:"worldgen/structure_feature"}}),(0,u.Mod)((0,u.ObjectNode)({spacing:(0,u.NumberNode)({integer:!0,min:0,max:4096}),separation:(0,u.Mod)((0,u.NumberNode)({integer:!0,min:0,max:4096}),s=>({validate:(i,m,l,N)=>(i.pop().push("spacing").get()<=m&&l.add(i,"error.separation_smaller_spacing"),s.validate(i,m,l,N))})),salt:(0,u.NumberNode)({integer:!0,min:0})},{context:"generator_structure"}),{default:()=>({spacing:10,separation:5,salt:0})}))})),r.register("generator_layer",(0,u.Mod)((0,u.ObjectNode)({block:t({validator:"resource",params:{pool:"block"}}),height:(0,u.NumberNode)({integer:!0,min:1})}),{default:()=>({block:"minecraft:stone",height:1})}))}be.initNoiseSettingsSchemas=_t;var Ne={};Object.defineProperty(Ne,"__esModule",{value:!0});Ne.initStructureFeatureSchemas=void 0;const R=v;function pt(r,o){const e=R.StringNode.bind(void 0,o),t={start_pool:e({validator:"resource",params:{pool:"$worldgen/template_pool"}}),size:(0,R.NumberNode)({integer:!0})};r.register("configured_structure_feature",(0,R.Mod)((0,R.ObjectNode)({type:e({validator:"resource",params:{pool:"worldgen/structure_feature"}}),config:(0,R.ObjectNode)({[R.Switch]:["pop",{push:"type"}],[R.Case]:{"minecraft:bastion_remnant":t,"minecraft:buried_treasure":{probability:(0,R.NumberNode)({min:0,max:1})},"minecraft:mineshaft":{type:e({enum:["normal","mesa"]}),probability:(0,R.NumberNode)({min:0,max:1})},"minecraft:ocean_ruin":{biome_temp:e({enum:["cold","warm"]}),large_probability:(0,R.NumberNode)({min:0,max:1}),cluster_probability:(0,R.NumberNode)({min:0,max:1})},"minecraft:pillager_outpost":t,"minecraft:ruined_portal":{portal_type:e({enum:["standard","desert","jungle","mountain","nether","ocean","swamp"]})},"minecraft:shipwreck":{is_beached:(0,R.Opt)((0,R.BooleanNode)())},"minecraft:village":t}},{context:"structure_feature",disableSwitchContext:!0})},{context:"structure_feature"}),{default:()=>({type:"minecraft:bastion_remnant",config:{start_pool:"minecraft:bastion/starts",size:6}})}))}Ne.initStructureFeatureSchemas=pt;var ye={};Object.defineProperty(ye,"__esModule",{value:!0});ye.initSurfaceBuilderSchemas=void 0;const K=v;function ut(r,o){const e=K.StringNode.bind(void 0,o),t=K.Reference.bind(void 0,r);r.register("configured_surface_builder",(0,K.Mod)((0,K.ObjectNode)({type:e({validator:"resource",params:{pool:"worldgen/surface_builder"}}),config:(0,K.ObjectNode)({top_material:t("block_state"),under_material:t("block_state"),underwater_material:t("block_state")},{context:"surface_builder"})},{context:"surface_builder"}),{default:()=>({type:"minecraft:default",config:{top_material:{Name:"minecraft:grass_block",Properties:{snowy:"false"}},under_material:{Name:"minecraft:dirt"},underwater_material:{Name:"minecraft:gravel"}}})}))}ye.initSurfaceBuilderSchemas=ut;var he={};Object.defineProperty(he,"__esModule",{value:!0});he.initTemplatePoolSchemas=void 0;const M=v;function ft(r,o){const e=M.Reference.bind(void 0,r),t=M.StringNode.bind(void 0,o),s=(0,M.ChoiceNode)([{type:"string",node:t({validator:"resource",params:{pool:"$worldgen/processor_list"}}),change:i=>{}},{type:"object",node:e("processor_list"),change:i=>({processors:[{processor_type:"minecraft:nop"}]})}]);r.register("template_pool",(0,M.Mod)((0,M.ObjectNode)({name:t(),fallback:t(),elements:(0,M.ListNode)(e("template_weighted_element"))},{context:"template_pool"}),{default:()=>({fallback:"minecraft:empty",elements:[{weight:1,element:{element_type:"minecraft:single_pool_element",projection:"rigid",processors:"minecraft:empty"}}]})})),r.register("template_weighted_element",(0,M.Mod)((0,M.ObjectNode)({weight:(0,M.NumberNode)({integer:!0,min:1}),element:e("template_element")},{category:"pool"}),{default:()=>({weight:1,element:{element_type:"minecraft:single_pool_element",projection:"rigid",processors:"minecraft:empty"}})})),r.register("template_element",(0,M.Mod)((0,M.ObjectNode)({element_type:t({validator:"resource",params:{pool:"worldgen/structure_pool_element"}}),projection:t({enum:["rigid","terrain_matching"]}),[M.Switch]:[{push:"element_type"}],[M.Case]:{"minecraft:feature_pool_element":{feature:t({validator:"resource",params:{pool:"$worldgen/configured_feature"}})},"minecraft:legacy_single_pool_element":{location:t({validator:"resource",params:{pool:"$structure"}}),processors:s},"minecraft:list_pool_element":{elements:(0,M.ListNode)(e("template_element"))},"minecraft:single_pool_element":{location:t({validator:"resource",params:{pool:"$structure"}}),processors:s}}},{context:"template_element",disableSwitchContext:!0}),{default:()=>({element_type:"minecraft:single_pool_element",projection:"rigid",processors:"minecraft:empty"})}))}he.initTemplatePoolSchemas=ft;Object.defineProperty(le,"__esModule",{value:!0});le.initWorldgenSchemas=void 0;const gt=_e,bt=pe,Nt=ue,yt=fe,ht=be,vt=ge,Ot=Ne,kt=ye,wt=he;function xt(r,o){(0,gt.initBiomeSchemas)(r,o),(0,bt.initCarverSchemas)(r,o),(0,Nt.initDecoratorSchemas)(r,o),(0,yt.initFeatureSchemas)(r,o),(0,ht.initNoiseSettingsSchemas)(r,o),(0,vt.initProcessorListSchemas)(r,o),(0,Ot.initStructureFeatureSchemas)(r,o),(0,kt.initSurfaceBuilderSchemas)(r,o),(0,wt.initTemplatePoolSchemas)(r,o)}le.initWorldgenSchemas=xt;var ve={};Object.defineProperty(ve,"__esModule",{value:!0});ve.initWorldSettingsSchemas=void 0;const F=v;function St(r,o){const e=F.Reference.bind(void 0,r),t=F.StringNode.bind(void 0,o);r.register("world_settings",(0,F.Mod)((0,F.ObjectNode)({generate_features:(0,F.BooleanNode)(),bonus_chest:(0,F.BooleanNode)(),seed:(0,F.NumberNode)({integer:!0}),dimensions:(0,F.MapNode)(t({validator:"resource",params:{pool:"$dimension"}}),e("dimension"))},{context:"world_settings"}),{default:()=>{const s=Math.floor(Math.random()*4294967296)-2147483648;return{generate_features:!0,bonus_chest:!1,seed:s,dimensions:{"minecraft:overworld":{type:"minecraft:overworld",generator:{type:"minecraft:noise",seed:s,biome_source:{type:"minecraft:vanilla_layered",seed:s},settings:"minecraft:overworld"}},"minecraft:the_nether":{type:"minecraft:the_nether",generator:{type:"minecraft:noise",seed:s,biome_source:{type:"minecraft:multi_noise",seed:s,humidity_noise:{firstOctave:-7,amplitudes:[1,1]},altitude_noise:{firstOctave:-7,amplitudes:[1,1]},weirdness_noise:{firstOctave:-7,amplitudes:[1,1]},temperature_noise:{firstOctave:-7,amplitudes:[1,1]},biomes:[{parameters:{altitude:0,weirdness:0,offset:0,temperature:0,humidity:0},biome:"minecraft:nether_wastes"},{parameters:{altitude:0,weirdness:0,offset:0,temperature:0,humidity:-.5},biome:"minecraft:soul_sand_valley"},{parameters:{altitude:0,weirdness:0,offset:0,temperature:.4,humidity:0},biome:"minecraft:crimson_forest"},{parameters:{altitude:0,weirdness:0,offset:.375,temperature:0,humidity:.5},biome:"minecraft:warped_forest"},{parameters:{altitude:0,weirdness:0,offset:.175,temperature:-.5,humidity:0},biome:"minecraft:basalt_deltas"}]},settings:"minecraft:nether"}},"minecraft:the_end":{type:"minecraft:the_end",generator:{type:"minecraft:noise",seed:s,biome_source:{type:"minecraft:the_end",seed:s},settings:"minecraft:end"}}}}}}))}ve.initWorldSettingsSchemas=St;Object.defineProperty(Y,"__esModule",{value:!0});Y.initSchemas=void 0;const jt=J,Mt=Q,Ct=$,Lt=re,Rt=oe,Bt=ae,Pt=ie,zt=ne,$t=ce,Tt=se,Dt=de,At=me,qt=le,Ft=ve;function It(r,o){(0,Ct.initCommonSchemas)(r,o),(0,jt.initAdvancementSchemas)(r,o),(0,Mt.initAssetsSchemas)(r,o),(0,Lt.initConditionSchemas)(r,o),(0,Bt.initDimensionTypeSchemas)(r,o),(0,Rt.initDimensionSchemas)(r,o),(0,Pt.initLootTableSchemas)(r,o),(0,zt.initPackMcmetaSchemas)(r,o),(0,$t.initPredicatesSchemas)(r,o),(0,Tt.initRecipeSchemas)(r,o),(0,Dt.initTagsSchemas)(r,o),(0,At.initTextComponentSchemas)(r,o),(0,qt.initWorldgenSchemas)(r,o),(0,Ft.initWorldSettingsSchemas)(r,o)}Y.initSchemas=It;var Et=W&&W.__createBinding||(Object.create?function(r,o,e,t){t===void 0&&(t=e);var s=Object.getOwnPropertyDescriptor(o,e);(!s||("get"in s?!o.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return o[e]}}),Object.defineProperty(r,t,s)}:function(r,o,e,t){t===void 0&&(t=e),r[t]=o[e]}),Ut=W&&W.__setModuleDefault||(Object.create?function(r,o){Object.defineProperty(r,"default",{enumerable:!0,value:o})}:function(r,o){r.default=o}),Wt=W&&W.__importStar||function(r){if(r&&r.__esModule)return r;var o={};if(r!=null)for(var e in r)e!=="default"&&Object.prototype.hasOwnProperty.call(r,e)&&Et(o,r,e);return Ut(o,r),o};Object.defineProperty(q,"__esModule",{value:!0});var Le=q.getSchemas=Pe=q.getCollections=Be=q.lootContext=void 0;const Re=v,Gt=Z,Vt=Y;var Be=q.lootContext=Wt(B);function Ht(){const r=new Re.CollectionRegistry;return(0,Gt.initCollections)(r),r}var Pe=q.getCollections=Ht;function Kt(r){const o=new Re.SchemaRegistry;return(0,Vt.initSchemas)(o,r),o}Le=q.getSchemas=Kt;var Yt=Fe({__proto__:null,get getSchemas(){return Le},get getCollections(){return Pe},get lootContext(){return Be},default:q},[q]);export{Yt as i}; -//# sourceMappingURL=index.3e238ebe.js.map +var $e=Object.defineProperty,Te=Object.defineProperties;var De=Object.getOwnPropertyDescriptors;var je=Object.getOwnPropertySymbols;var Ae=Object.prototype.hasOwnProperty,qe=Object.prototype.propertyIsEnumerable;var Me=(r,o,e)=>o in r?$e(r,o,{enumerable:!0,configurable:!0,writable:!0,value:e}):r[o]=e,k=(r,o)=>{for(var e in o||(o={}))Ae.call(o,e)&&Me(r,e,o[e]);if(je)for(var e of je(o))qe.call(o,e)&&Me(r,e,o[e]);return r},xe=(r,o)=>Te(r,De(o));import{l as v,c as W}from"./index.38fdde83.js";function Fe(r,o){return o.forEach(function(e){e&&typeof e!="string"&&!Array.isArray(e)&&Object.keys(e).forEach(function(t){if(t!=="default"&&!(t in r)){var s=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,s.get?s:{enumerable:!0,get:function(){return e[t]}})}})}),Object.freeze(Object.defineProperty(r,Symbol.toStringTag,{value:"Module"}))}var q={},Z={};Object.defineProperty(Z,"__esModule",{value:!0});Z.initCollections=void 0;function Ie(r){r.register("advancement_trigger",["minecraft:bee_nest_destroyed","minecraft:bred_animals","minecraft:brewed_potion","minecraft:changed_dimension","minecraft:channeled_lightning","minecraft:construct_beacon","minecraft:consume_item","minecraft:cured_zombie_villager","minecraft:effects_changed","minecraft:enchanted_item","minecraft:enter_block","minecraft:entity_hurt_player","minecraft:entity_killed_player","minecraft:filled_bucket","minecraft:fishing_rod_hooked","minecraft:hero_of_the_village","minecraft:impossible","minecraft:inventory_changed","minecraft:item_durability_changed","minecraft:item_used_on_block","minecraft:killed_by_crossbow","minecraft:levitation","minecraft:location","minecraft:nether_travel","minecraft:placed_block","minecraft:player_generates_container_loot","minecraft:player_hurt_entity","minecraft:player_interacted_with_entity","minecraft:player_killed_entity","minecraft:recipe_unlocked","minecraft:shot_crossbow","minecraft:slept_in_bed","minecraft:slide_down_block","minecraft:summoned_entity","minecraft:tame_animal","minecraft:target_hit","minecraft:tick","minecraft:thrown_item_picked_up_by_entity","minecraft:used_ender_eye","minecraft:used_totem","minecraft:villager_trade","minecraft:voluntary_exile"]),r.register("dimension",["minecraft:overworld","minecraft:the_nether","minecraft:the_end"]),r.register("dimension_type",["minecraft:overworld","minecraft:the_nether","minecraft:the_end"]),r.register("keybind",["key.advancements","key.attack","key.back","key.chat","key.command","key.drop","key.forward","key.fullscreen","key.hotbar.1","key.hotbar.2","key.hotbar.3","key.hotbar.4","key.hotbar.5","key.hotbar.6","key.hotbar.7","key.hotbar.8","key.hotbar.9","key.inventory","key.jump","key.left","key.loadToolbarActivator","key.pickItem","key.playerlist","key.right","key.saveToolbarActivator","key.screenshot","key.smoothCamera","key.sneak","key.spectatorOutlines","key.sprint","key.swapOffhand","key.togglePerspective","key.use"]),r.register("slot",["mainhand","offhand","head","chest","legs","feet"]),r.register("gamemode",["survival","creative","adventure","spectator"]),r.register("worldgen/noise_settings",["minecraft:overworld","minecraft:nether","minecraft:end","minecraft:amplified","minecraft:caves","minecraft:floating_islands"]),r.register("entity_source",["this","direct_killer","killer","killer_player"]),r.register("copy_source",["block_entity","this","killer","killer_player"]),r.register("loot_table_apply_bonus_formula",["minecraft:uniform_bonus_count","minecraft:binomial_with_bonus_count","minecraft:ore_drops"]),r.register("map_decoration",["mansion","monument","player","frame","red_marker","blue_marker","target_x","target_point","player_off_map","player_off_limits","red_x","banner_white","banner_orange","banner_magenta","banner_light_blue","banner_yellow","banner_lime","banner_pink","banner_gray","banner_light_gray","banner_cyan","banner_purple","banner_blue","banner_brown","banner_green","banner_red","banner_black"]),r.register("map_feature",["bastion_remnant","buried_treasure","desert_pyramid","endcity","fortress","igloo","jungle_pyramid","mansion","mineshaft","monument","nether_fossil","ocean_ruin","pillager_outpost","ruined_portal","shipwreck","stronghold","swamp_hut","village"]),r.register("recipe_group",["bed","light_gray_dye","iron_ingot","wooden_stairs","black_dye","stained_terracotta","dyed_bed","magenta_dye","bark","rabbit_stew","light_blue_dye","wooden_fence_gate","planks","stained_glass","wooden_door","stained_glass_pane","wooden_fence","sticks","concrete_powder","wooden_pressure_plate","boat","brown_dye","yellow_dye","bonemeal","red_dye","wooden_trapdoor","wooden_button","gold_ingot","pink_dye","wooden_slab","orange_dye","carpet","sign","wool","sugar","blue_dye","white_dye","banner","netherite_ingot"]),r.register("worldgen/configured_feature",["minecraft:acacia","minecraft:bamboo_light","minecraft:bamboo_vegetation","minecraft:bamboo","minecraft:basalt_blobs","minecraft:basalt_pillar","minecraft:birch_bees_0002","minecraft:birch_bees_002","minecraft:birch_bees_005","minecraft:birch_other","minecraft:birch_tall","minecraft:birch","minecraft:blackstone_blobs","minecraft:blue_ice","minecraft:bonus_chest","minecraft:brown_mushroom_giant","minecraft:brown_mushroom_nether","minecraft:brown_mushroom_normal","minecraft:brown_mushroom_swamp","minecraft:brown_mushroom_taiga","minecraft:chorus_plant","minecraft:crimson_forest_vegetation","minecraft:crimson_fungi_planted","minecraft:crimson_fungi","minecraft:dark_forest_vegetation_brown","minecraft:dark_forest_vegetation_red","minecraft:dark_oak","minecraft:delta","minecraft:desert_well","minecraft:disk_clay","minecraft:disk_gravel","minecraft:disk_sand","minecraft:end_gateway_delayed","minecraft:end_gateway","minecraft:end_island_decorated","minecraft:end_island","minecraft:end_spike","minecraft:fancy_oak_bees_0002","minecraft:fancy_oak_bees_002","minecraft:fancy_oak_bees_005","minecraft:fancy_oak","minecraft:flower_default","minecraft:flower_forest","minecraft:flower_plain_decorated","minecraft:flower_plain","minecraft:flower_swamp","minecraft:flower_warm","minecraft:forest_flower_trees","minecraft:forest_flower_vegetation_common","minecraft:forest_flower_vegetation","minecraft:forest_rock","minecraft:fossil","minecraft:freeze_top_layer","minecraft:glowstone_extra","minecraft:glowstone","minecraft:huge_brown_mushroom","minecraft:huge_red_mushroom","minecraft:ice_patch","minecraft:ice_spike","minecraft:iceberg_blue","minecraft:iceberg_packed","minecraft:jungle_bush","minecraft:jungle_tree_no_vine","minecraft:jungle_tree","minecraft:kelp_cold","minecraft:kelp_warm","minecraft:lake_lava","minecraft:lake_water","minecraft:large_basalt_columns","minecraft:mega_jungle_tree","minecraft:mega_pine","minecraft:mega_spruce","minecraft:monster_room","minecraft:mushroom_field_vegetation","minecraft:nether_sprouts","minecraft:oak_badlands","minecraft:oak_bees_0002","minecraft:oak_bees_002","minecraft:oak_bees_005","minecraft:oak","minecraft:ore_andesite","minecraft:ore_blackstone","minecraft:ore_coal","minecraft:ore_debris_large","minecraft:ore_debris_small","minecraft:ore_diamond","minecraft:ore_diorite","minecraft:ore_dirt","minecraft:ore_emerald","minecraft:ore_gold_deltas","minecraft:ore_gold_extra","minecraft:ore_gold_nether","minecraft:ore_gold","minecraft:ore_granite","minecraft:ore_gravel_nether","minecraft:ore_gravel","minecraft:ore_infested","minecraft:ore_iron","minecraft:ore_lapis","minecraft:ore_magma","minecraft:ore_quartz_deltas","minecraft:ore_quartz_nether","minecraft:ore_redstone","minecraft:ore_soul_sand","minecraft:patch_berry_bush","minecraft:patch_berry_decorated","minecraft:patch_berry_sparse","minecraft:patch_brown_mushroom","minecraft:patch_cactus_decorated","minecraft:patch_cactus_desert","minecraft:patch_cactus","minecraft:patch_crimson_roots","minecraft:patch_dead_bush_2","minecraft:patch_dead_bush_badlands","minecraft:patch_dead_bush","minecraft:patch_fire","minecraft:patch_grass_badlands","minecraft:patch_grass_forest","minecraft:patch_grass_jungle","minecraft:patch_grass_normal","minecraft:patch_grass_plain","minecraft:patch_grass_savanna","minecraft:patch_grass_taiga_2","minecraft:patch_grass_taiga","minecraft:patch_large_fern","minecraft:patch_melon","minecraft:patch_pumpkin","minecraft:patch_red_mushroom","minecraft:patch_soul_fire","minecraft:patch_sugar_cane_badlands","minecraft:patch_sugar_cane_desert","minecraft:patch_sugar_cane_swamp","minecraft:patch_sugar_cane","minecraft:patch_sunflower","minecraft:patch_taiga_grass","minecraft:patch_tall_grass_2","minecraft:patch_tall_grass","minecraft:patch_waterlilly","minecraft:pile_hay","minecraft:pile_ice","minecraft:pile_melon","minecraft:pile_pumpkin","minecraft:pile_snow","minecraft:pine","minecraft:plain_vegetation","minecraft:red_mushroom_giant","minecraft:red_mushroom_nether","minecraft:red_mushroom_normal","minecraft:red_mushroom_swamp","minecraft:red_mushroom_taiga","minecraft:sea_pickle","minecraft:seagrass_cold","minecraft:seagrass_deep_cold","minecraft:seagrass_deep_warm","minecraft:seagrass_deep","minecraft:seagrass_normal","minecraft:seagrass_river","minecraft:seagrass_simple","minecraft:seagrass_swamp","minecraft:seagrass_warm","minecraft:small_basalt_columns","minecraft:spring_closed_double","minecraft:spring_closed","minecraft:spring_delta","minecraft:spring_lava_double","minecraft:spring_lava","minecraft:spring_open","minecraft:spring_water","minecraft:spruce_snowy","minecraft:spruce","minecraft:super_birch_bees_0002","minecraft:swamp_tree","minecraft:taiga_vegetation","minecraft:trees_birch","minecraft:trees_giant_spruce","minecraft:trees_giant","minecraft:trees_jungle_edge","minecraft:trees_jungle","minecraft:trees_mountain_edge","minecraft:trees_mountain","minecraft:trees_savanna","minecraft:trees_shattered_savanna","minecraft:trees_water","minecraft:twisting_vines","minecraft:vines","minecraft:void_start_platform","minecraft:warm_ocean_vegetation","minecraft:warped_forest_vegetation","minecraft:warped_fungi_planted","minecraft:warped_fungi","minecraft:weeping_vines"]),r.register("worldgen/configured_structure_feature",["minecraft:bastion_remnant","minecraft:buried_treasure","minecraft:desert_pyramid","minecraft:end_city","minecraft:fortress","minecraft:igloo","minecraft:jungle_pyramid","minecraft:mansion","minecraft:mineshaft_mesa","minecraft:mineshaft","minecraft:monument","minecraft:nether_fossil","minecraft:ocean_ruin_cold","minecraft:ocean_ruin_warm","minecraft:pillager_outpost","minecraft:ruined_portal_desert","minecraft:ruined_portal_jungle","minecraft:ruined_portal_mountain","minecraft:ruined_portal_nether","minecraft:ruined_portal_ocean","minecraft:ruined_portal_swamp","minecraft:ruined_portal","minecraft:shipwreck_beached","minecraft:shipwreck","minecraft:stronghold","minecraft:swamp_hut","minecraft:village_desert","minecraft:village_plains","minecraft:village_savanna","minecraft:village_snowy","minecraft:village_taiga"]),r.register("worldgen/configured_surface_builder",["minecraft:badlands","minecraft:basalt_deltas","minecraft:crimson_forest","minecraft:desert","minecraft:end","minecraft:eroded_badlands","minecraft:frozen_ocean","minecraft:full_sand","minecraft:giant_tree_taiga","minecraft:grass","minecraft:gravelly_mountain","minecraft:ice_spikes","minecraft:mountain","minecraft:mycelium","minecraft:nether","minecraft:nope","minecraft:ocean_sand","minecraft:shattered_savanna","minecraft:soul_sand_valley","minecraft:stone","minecraft:swamp","minecraft:warped_forest","minecraft:wooded_badlands"]),r.register("biome_category",["beach","desert","extreme_hills","forest","icy","jungle","mesa","mushroom","nether","none","ocean","plains","river","savanna","swamp","taiga","the_end"]),r.register("heightmap_type",["MOTION_BLOCKING","MOTION_BLOCKING_NO_LEAVES","OCEAN_FLOOR","OCEAN_FLOOR_WG","WORLD_SURFACE","WORLD_SURFACE_WG"]),r.register("generation_step",["air","liquid"]),r.register("loot_context_type",["minecraft:empty","minecraft:chest","minecraft:command","minecraft:selector","minecraft:fishing","minecraft:entity","minecraft:gift","minecraft:barter","minecraft:advancement_reward","minecraft:advancement_entity","minecraft:generic","minecraft:block"]),r.register("cat_texture",["textures/entity/cat/tabby.png","textures/entity/cat/black.png","textures/entity/cat/red.png","textures/entity/cat/siamese.png","textures/entity/cat/british_shorthair.png","textures/entity/cat/calico.png","textures/entity/cat/persian.png","textures/entity/cat/ragdoll.png","textures/entity/cat/white.png","textures/entity/cat/jellie.png","textures/entity/cat/all_black.png"])}Z.initCollections=Ie;var Y={},J={},$={};(function(r){Object.defineProperty(r,"__esModule",{value:!0}),r.initCommonSchemas=r.UniformInt=r.Range=r.NoiseSettingsPresets=r.DefaultNoiseSettings=r.DimensionTypePresets=r.DefaultDimensionType=r.ConditionCases=void 0;const o=v;r.DefaultDimensionType={ultrawarm:!1,natural:!0,piglin_safe:!1,respawn_anchor_works:!1,bed_works:!0,has_raids:!0,has_skylight:!0,has_ceiling:!1,coordinate_scale:1,ambient_light:0,logical_height:256,infiniburn:"minecraft:infiniburn_overworld"},r.DefaultNoiseSettings={name:"minecraft:overworld",bedrock_roof_position:-10,bedrock_floor_position:0,sea_level:63,disable_mob_generation:!1,noise:{density_factor:1,density_offset:-.46875,simplex_surface_noise:!0,random_density_offset:!0,size_horizontal:1,size_vertical:2,height:256,sampling:{xz_scale:1,y_scale:1,xz_factor:80,y_factor:160},top_slide:{target:-10,size:3,offset:0},bottom_slide:{target:-30,size:0,offset:0}},default_block:{Name:"minecraft:stone"},default_fluid:{Name:"minecraft:water",Properties:{level:"0"}}};function e(t,s){const i=o.StringNode.bind(void 0,s),m=o.Reference.bind(void 0,t);t.register("block_state",(0,o.Mod)((0,o.ObjectNode)({Name:i({validator:"resource",params:{pool:"block"}}),Properties:(0,o.Opt)((0,o.MapNode)(i(),i(),{validation:{validator:"block_state_map",params:{id:["pop",{push:"Name"}]}}}))},{context:"block_state"}),{default:()=>({Name:"minecraft:stone"})})),t.register("fluid_state",(0,o.Mod)((0,o.ObjectNode)({Name:i({validator:"resource",params:{pool:"fluid"}}),Properties:(0,o.Opt)((0,o.MapNode)(i(),i()))},{context:"fluid_state"}),{default:()=>({Name:"minecraft:water",Properties:{level:"0"}})})),t.register("block_pos",(0,o.Mod)((0,o.ListNode)((0,o.NumberNode)({integer:!0}),{minLength:3,maxLength:3}),{default:()=>[0,0,0]})),r.Range=l=>(0,o.ChoiceNode)([...l!=null&&l.forceRange?[]:[{type:"number",node:(0,o.NumberNode)(l),change:N=>{var w,T,U;return N===void 0?0:(U=(T=(w=N.min)!==null&&w!==void 0?w:N.max)!==null&&T!==void 0?T:N.n)!==null&&U!==void 0?U:0}}],{type:"object",priority:-1,node:(0,o.ObjectNode)({min:l!=null&&l.bounds?(0,o.NumberNode)(l):(0,o.Opt)((0,o.NumberNode)(l)),max:l!=null&&l.bounds?(0,o.NumberNode)(l):(0,o.Opt)((0,o.NumberNode)(l))},{context:"range"}),change:N=>({min:typeof N=="number"?N:N===void 0?1:N.n,max:typeof N=="number"?N:N===void 0?1:N.n})},...l!=null&&l.allowBinomial?[{type:"binomial",node:(0,o.ObjectNode)({type:i({enum:["minecraft:binomial"]}),n:(0,o.NumberNode)({integer:!0,min:0}),p:(0,o.NumberNode)({min:0,max:1})},{context:"range"}),match:N=>N!==void 0&&N.type==="minecraft:binomial",change:N=>{var w,T;return{type:"minecraft:binomial",n:typeof N=="number"?N:N===void 0?1:(T=(w=N.min)!==null&&w!==void 0?w:N.max)!==null&&T!==void 0?T:1,p:.5}}}]:[]],{choiceContext:"range"}),r.UniformInt=l=>(0,o.ChoiceNode)([{type:"number",node:(0,o.NumberNode)({integer:!0,min:l==null?void 0:l.min,max:l==null?void 0:l.max}),change:N=>N.base},{type:"object",node:(0,o.ObjectNode)({base:(0,o.NumberNode)({integer:!0,min:l==null?void 0:l.min,max:l==null?void 0:l.max}),spread:(0,o.NumberNode)({integer:!0,min:0,max:l==null?void 0:l.maxSpread})}),change:N=>({base:N,spread:0})}],{context:"uniform_int"}),r.ConditionCases={"minecraft:alternative":{terms:(0,o.ListNode)(m("condition"))},"minecraft:block_state_property":{block:i({validator:"resource",params:{pool:"block"}}),properties:(0,o.MapNode)(i(),i(),{validation:{validator:"block_state_map",params:{id:["pop",{push:"block"}]}}})},"minecraft:damage_source_properties":{predicate:m("damage_source_predicate")},"minecraft:entity_properties":{entity:i({enum:"entity_source"}),predicate:m("entity_predicate")},"minecraft:entity_scores":{entity:i({enum:"entity_source"}),scores:(0,o.MapNode)(i({validator:"objective"}),(0,r.Range)({forceRange:!0}))},"minecraft:inverted":{term:m("condition")},"minecraft:killed_by_player":{inverse:(0,o.Opt)((0,o.BooleanNode)())},"minecraft:location_check":{offsetX:(0,o.Opt)((0,o.NumberNode)({integer:!0})),offsetY:(0,o.Opt)((0,o.NumberNode)({integer:!0})),offsetZ:(0,o.Opt)((0,o.NumberNode)({integer:!0})),predicate:m("location_predicate")},"minecraft:match_tool":{predicate:m("item_predicate")},"minecraft:random_chance":{chance:(0,o.NumberNode)({min:0,max:1})},"minecraft:random_chance_with_looting":{chance:(0,o.NumberNode)({min:0,max:1}),looting_multiplier:(0,o.NumberNode)()},"minecraft:reference":{name:i({validator:"resource",params:{pool:"$predicate"}})},"minecraft:table_bonus":{enchantment:i({validator:"resource",params:{pool:"enchantment"}}),chances:(0,o.ListNode)((0,o.NumberNode)({min:0,max:1}))},"minecraft:time_check":{value:(0,r.Range)(),period:(0,o.Opt)((0,o.NumberNode)())},"minecraft:weather_check":{raining:(0,o.Opt)((0,o.BooleanNode)()),thundering:(0,o.Opt)((0,o.BooleanNode)())}},r.DimensionTypePresets=l=>(0,o.ObjectOrPreset)(i({validator:"resource",params:{pool:"$dimension_type"}}),l,{"minecraft:overworld":r.DefaultDimensionType,"minecraft:the_nether":{name:"minecraft:the_nether",ultrawarm:!0,natural:!1,shrunk:!0,piglin_safe:!0,respawn_anchor_works:!0,bed_works:!1,has_raids:!1,has_skylight:!1,has_ceiling:!0,ambient_light:.1,fixed_time:18e3,logical_height:128,effects:"minecraft:the_nether",infiniburn:"minecraft:infiniburn_nether"},"minecraft:the_end":{name:"minecraft:the_end",ultrawarm:!1,natural:!1,shrunk:!1,piglin_safe:!1,respawn_anchor_works:!1,bed_works:!1,has_raids:!0,has_skylight:!1,has_ceiling:!1,ambient_light:0,fixed_time:6e3,logical_height:256,effects:"minecraft:the_end",infiniburn:"minecraft:infiniburn_end"}}),r.NoiseSettingsPresets=l=>(0,o.ObjectOrPreset)(i({validator:"resource",params:{pool:"$worldgen/noise_settings"}}),l,{"minecraft:overworld":r.DefaultNoiseSettings,"minecraft:nether":{name:"minecraft:nether",bedrock_roof_position:0,bedrock_floor_position:0,sea_level:32,disable_mob_generation:!0,noise:{density_factor:0,density_offset:.019921875,simplex_surface_noise:!1,random_density_offset:!1,size_horizontal:1,size_vertical:2,height:128,sampling:{xz_scale:1,y_scale:3,xz_factor:80,y_factor:60},top_slide:{target:120,size:3,offset:0},bottom_slide:{target:320,size:4,offset:-1}},default_block:{Name:"minecraft:netherrack"},default_fluid:{Name:"minecraft:lava",Properties:{level:"0"}}},"minecraft:end":{name:"minecraft:end",bedrock_roof_position:-10,bedrock_floor_position:-10,sea_level:0,disable_mob_generation:!0,noise:{density_factor:0,density_offset:0,simplex_surface_noise:!0,random_density_offset:!1,island_noise_override:!0,size_horizontal:2,size_vertical:1,height:128,sampling:{xz_scale:2,y_scale:1,xz_factor:80,y_factor:160},top_slide:{target:-3e3,size:64,offset:-46},bottom_slide:{target:-30,size:7,offset:1}},default_block:{Name:"minecraft:end_stone"},default_fluid:{Name:"minecraft:air"}},"minecraft:amplified":{name:"minecraft:amplified",bedrock_roof_position:-10,bedrock_floor_position:0,sea_level:63,disable_mob_generation:!1,noise:{density_factor:1,density_offset:-.46875,simplex_surface_noise:!0,random_density_offset:!0,amplified:!0,size_horizontal:1,size_vertical:2,height:256,sampling:{xz_scale:1,y_scale:1,xz_factor:80,y_factor:160},top_slide:{target:-10,size:3,offset:0},bottom_slide:{target:-30,size:0,offset:0}},default_block:{Name:"minecraft:stone"},default_fluid:{Name:"minecraft:water",Properties:{level:"0"}}},"minecraft:caves":{name:"minecraft:caves",bedrock_roof_position:0,bedrock_floor_position:0,sea_level:32,disable_mob_generation:!0,noise:{density_factor:0,density_offset:.019921875,simplex_surface_noise:!1,random_density_offset:!1,size_horizontal:1,size_vertical:2,height:128,sampling:{xz_scale:1,y_scale:3,xz_factor:80,y_factor:60},top_slide:{target:120,size:3,offset:0},bottom_slide:{target:320,size:4,offset:-1}},default_block:{Name:"minecraft:stone"},default_fluid:{Name:"minecraft:water",Properties:{level:"0"}}},"minecraft:floating_islands":{name:"minecraft:floating_islands",bedrock_roof_position:-10,bedrock_floor_position:-10,sea_level:0,disable_mob_generation:!0,noise:{density_factor:0,density_offset:0,simplex_surface_noise:!0,random_density_offset:!1,island_noise_override:!0,size_horizontal:2,size_vertical:1,height:128,sampling:{xz_scale:2,y_scale:1,xz_factor:80,y_factor:160},top_slide:{target:-3e3,size:64,offset:-46},bottom_slide:{target:-30,size:7,offset:1}},default_block:{Name:"minecraft:stone"},default_fluid:{Name:"minecraft:water",Properties:{level:"0"}}}})}r.initCommonSchemas=e})($);Object.defineProperty(J,"__esModule",{value:!0});J.initAdvancementSchemas=void 0;const c=v,L=$;function Ee(r,o){const e=c.Reference.bind(void 0,r),t=c.StringNode.bind(void 0,o),s=(0,c.ChoiceNode)([{type:"object",node:(0,c.Opt)(e("entity_predicate")),change:i=>{var m,l;return(l=(m=i[0])===null||m===void 0?void 0:m.predicate)!==null&&l!==void 0?l:{}}},{type:"list",node:(0,c.ListNode)(e("condition")),change:i=>[{condition:"minecraft:entity_properties",predicate:i}]}],{context:"conditions"});r.register("advancement",(0,c.Mod)((0,c.ObjectNode)({display:(0,c.Opt)((0,c.Mod)((0,c.ObjectNode)({icon:(0,c.ObjectNode)({item:t({validator:"resource",params:{pool:"item"}}),nbt:(0,c.Opt)(t({validator:"nbt",params:{registry:{category:"minecraft:item",id:["pop",{push:"item"}]}}}))}),title:e("text_component"),description:e("text_component"),background:(0,c.Opt)(t()),frame:(0,c.Opt)(t({enum:["task","challenge","goal"]})),show_toast:(0,c.Opt)((0,c.BooleanNode)()),announce_to_chat:(0,c.Opt)((0,c.BooleanNode)()),hidden:(0,c.Opt)((0,c.BooleanNode)())}),{default:()=>({icon:{item:"minecraft:stone"},title:"",description:""})})),parent:(0,c.Opt)(t({validator:"resource",params:{pool:"$advancement"}})),criteria:(0,c.MapNode)(t(),e("advancement_criteria")),requirements:(0,c.Opt)((0,c.ListNode)((0,c.ListNode)(t()))),rewards:(0,c.Opt)((0,c.ObjectNode)({function:(0,c.Opt)(t({validator:"resource",params:{pool:"$function"}})),loot:(0,c.Opt)((0,c.ListNode)(t({validator:"resource",params:{pool:"$loot_table"}}))),recipes:(0,c.Opt)((0,c.ListNode)(t({validator:"resource",params:{pool:"$recipe"}}))),experience:(0,c.Opt)((0,c.NumberNode)({integer:!0}))}))},{context:"advancement"}),{default:()=>({criteria:{requirement:{trigger:"minecraft:location"}}})})),r.register("advancement_criteria",(0,c.ObjectNode)({trigger:t({validator:"resource",params:{pool:o.get("advancement_trigger")}}),conditions:(0,c.Opt)((0,c.ObjectNode)({player:(0,c.Mod)(s,{enabled:i=>i.pop().push("trigger").get()!=="minecraft:impossible"}),[c.Switch]:["pop",{push:"trigger"}],[c.Case]:{"minecraft:bee_nest_destroyed":{block:(0,c.Opt)(t({validator:"resource",params:{pool:"block"}})),num_bees_inside:(0,c.Opt)((0,c.NumberNode)({integer:!0})),item:(0,c.Opt)(e("item_predicate"))},"minecraft:bred_animals":{parent:s,partner:s,child:s},"minecraft:brewed_potion":{potion:(0,c.Opt)(t({validator:"resource",params:{pool:"potion"}}))},"minecraft:changed_dimension":{from:(0,c.Opt)(t({validator:"resource",params:{pool:"$dimension"}})),to:(0,c.Opt)(t({validator:"resource",params:{pool:"$dimension"}}))},"minecraft:channeled_lightning":{victims:(0,c.Opt)((0,c.ListNode)(s))},"minecraft:construct_beacon":{level:(0,c.Opt)((0,L.Range)())},"minecraft:consume_item":{item:(0,c.Opt)(e("item_predicate"))},"minecraft:cured_zombie_villager":{villager:s,zombie:s},"minecraft:effects_changed":{effects:(0,c.Opt)((0,c.MapNode)(t({validator:"resource",params:{pool:"mob_effect"}}),e("status_effect_predicate")))},"minecraft:enter_block":{block:(0,c.Opt)(t({validator:"resource",params:{pool:"block"}})),state:(0,c.Opt)((0,c.MapNode)(t(),t(),{validation:{validator:"block_state_map",params:{id:["pop",{push:"block"}]}}}))},"minecraft:enchanted_item":{levels:(0,c.Opt)((0,L.Range)()),item:(0,c.Opt)(e("item_predicate"))},"minecraft:entity_hurt_player":{damage:(0,c.Opt)(e("damage_predicate"))},"minecraft:entity_killed_player":{entity:s,killing_blow:(0,c.Opt)(e("damage_source_predicate"))},"minecraft:filled_bucket":{item:(0,c.Opt)(e("item_predicate"))},"minecraft:fishing_rod_hooked":{entity:s,item:(0,c.Opt)(e("item_predicate"))},"minecraft:hero_of_the_village":{location:(0,c.Opt)(e("location_predicate"))},"minecraft:inventory_changed":{slots:(0,c.Opt)((0,c.ObjectNode)({empty:(0,c.Opt)((0,L.Range)()),occupied:(0,c.Opt)((0,L.Range)()),full:(0,c.Opt)((0,L.Range)())})),items:(0,c.Opt)((0,c.ListNode)(e("item_predicate")))},"minecraft:item_durability_changed":{delta:(0,c.Opt)((0,L.Range)()),durability:(0,c.Opt)((0,L.Range)()),item:(0,c.Opt)(e("item_predicate"))},"minecraft:item_used_on_block":{item:(0,c.Opt)(e("item_predicate")),location:(0,c.Opt)(e("location_predicate"))},"minecraft:killed_by_crossbow":{unique_entity_types:(0,c.Opt)((0,L.Range)()),victims:(0,c.Opt)((0,c.ListNode)(s))},"minecraft:levitation":{distance:(0,c.Opt)((0,L.Range)()),duration:(0,c.Opt)((0,L.Range)())},"minecraft:location":{location:(0,c.Opt)(e("location_predicate"))},"minecraft:nether_travel":{distance:(0,c.Opt)((0,L.Range)()),entered:(0,c.Opt)(e("location_predicate")),exited:(0,c.Opt)(e("location_predicate"))},"minecraft:placed_block":{block:(0,c.Opt)(t({validator:"resource",params:{pool:"block"}})),state:(0,c.Opt)((0,c.MapNode)(t(),t(),{validation:{validator:"block_state_map",params:{id:["pop",{push:"block"}]}}})),item:(0,c.Opt)(e("item_predicate")),location:(0,c.Opt)(e("location_predicate"))},"minecraft:player_generates_container_loot":{loot_table:t({validator:"resource",params:{pool:"$loot_table"}})},"minecraft:player_hurt_entity":{damage:(0,c.Opt)(e("damage_predicate")),entity:s},"minecraft:player_interacted_with_entity":{item:(0,c.Opt)(e("item_predicate")),entity:s},"minecraft:player_killed_entity":{entity:s,killing_blow:(0,c.Opt)(e("damage_source_predicate"))},"minecraft:recipe_unlocked":{recipe:t({validator:"resource",params:{pool:"$recipe"}})},"minecraft:slept_in_bed":{location:(0,c.Opt)(e("location_predicate"))},"minecraft:slide_down_block":{block:(0,c.Opt)(t({validator:"resource",params:{pool:"block"}}))},"minecraft:shot_crossbow":{item:(0,c.Opt)(e("item_predicate"))},"minecraft:summoned_entity":{entity:s},"minecraft:tame_animal":{entity:s},"minecraft:target_hit":{projectile:s,shooter:s,signal_strength:(0,c.Opt)((0,L.Range)({integer:!0}))},"minecraft:thrown_item_picked_up_by_entity":{entity:s,item:(0,c.Opt)(e("item_predicate"))},"minecraft:used_ender_eye":{distance:(0,c.Opt)((0,L.Range)())},"minecraft:used_totem":{item:(0,c.Opt)(e("item_predicate"))},"minecraft:villager_trade":{villager:s,item:(0,c.Opt)(e("item_predicate"))},"minecraft:voluntary_exile":{location:e("location_predicate")}}},{context:"criterion"}))},{category:"predicate",context:"criterion"}))}J.initAdvancementSchemas=Ee;var Q={},ee={};Object.defineProperty(ee,"__esModule",{value:!0});ee.initModelSchemas=void 0;const b=v;function Ue(r,o){b.Reference.bind(void 0,r);const e=b.StringNode.bind(void 0,o),t=(i,m,l)=>(0,b.ListNode)((0,b.NumberNode)({min:m,max:l}),{minLength:i,maxLength:i}),s=(0,b.ChoiceNode)([{type:"alias",match:i=>typeof i=="string"&&i.startsWith("#"),node:e(),change:i=>typeof i=="string"?`#${i}`:"#0"},{type:"reference",match:i=>typeof i=="string",node:e({validator:"resource",params:{pool:"$texture"}}),change:i=>typeof i=="string"?i.replace(/^#/,""):""}],{choiceContext:"texture"});r.register("model",(0,b.Mod)((0,b.ObjectNode)({parent:(0,b.Opt)(e({validator:"resource",params:{pool:"$model"}})),ambientocclusion:(0,b.Opt)((0,b.BooleanNode)()),gui_light:(0,b.Opt)(e({enum:"gui_light"})),textures:(0,b.Opt)((0,b.MapNode)(e(),s)),elements:(0,b.Opt)((0,b.ListNode)((0,b.ObjectNode)({from:t(3,-16,32),to:t(3,-16,32),rotation:(0,b.Opt)((0,b.ObjectNode)({origin:t(3),axis:e({enum:"axis"}),angle:(0,b.NumberEnum)({values:[-45,-22.5,0,22.5,45]}),rescale:(0,b.Opt)((0,b.BooleanNode)())})),shade:(0,b.Opt)((0,b.BooleanNode)()),faces:(0,b.MapNode)(e({enum:"direction"}),(0,b.ObjectNode)({texture:s,uv:(0,b.Opt)(t(4)),cullface:(0,b.Opt)(e({enum:"direction"})),rotation:(0,b.Opt)((0,b.NumberNode)({integer:!0})),tintindex:(0,b.Opt)((0,b.NumberNode)({integer:!0}))}))},{context:"model_element"}))),display:(0,b.Opt)((0,b.MapNode)(e({enum:"display_position"}),(0,b.ObjectNode)({rotation:t(3),translation:t(3,-80,80),scale:t(3,-4,4)},{context:"item_transform"}))),overrides:(0,b.Opt)((0,b.ListNode)((0,b.ObjectNode)({predicate:(0,b.MapNode)(e({enum:"item_model_predicates"}),(0,b.NumberNode)()),model:e({validator:"resource",params:{pool:"$model"}})},{context:"model_override"})))},{context:"model"}),{default:()=>({parent:"minecraft:item/generated",textures:{layer0:"minecraft:item/diamond"}})}))}ee.initModelSchemas=Ue;var te={};Object.defineProperty(te,"__esModule",{value:!0});te.initBlockDefinitionSchemas=void 0;const h=v;function We(r,o){const e=h.Reference.bind(void 0,r),t=h.StringNode.bind(void 0,o);r.register("block_definition",(0,h.Mod)((0,h.ChoiceNode)([{type:"variants",match:i=>i.variants!==void 0,node:(0,h.ObjectNode)({variants:(0,h.MapNode)(t(),e("model_variant"))}),change:i=>({variants:{"":{}}})},{type:"multipart",match:i=>i.multipart!==void 0,node:(0,h.ObjectNode)({multipart:(0,h.ListNode)((0,h.ObjectNode)({when:(0,h.Opt)(e("multipart_condition")),apply:e("model_variant")}))}),change:i=>({multipart:{when:{},apply:{}}})}],{context:"block_definition"}),{default:()=>({variants:{"":{model:"minecraft:block/stone"}}})}));const s={model:t({validator:"resource",params:{pool:"$model"}}),x:(0,h.Opt)((0,h.NumberEnum)({integer:!0,values:[0,90,180,270]})),y:(0,h.Opt)((0,h.NumberEnum)({integer:!0,values:[0,90,180,270]})),uvlock:(0,h.Opt)((0,h.BooleanNode)())};r.register("model_variant",(0,h.ChoiceNode)([{type:"object",node:(0,h.ObjectNode)(s),change:i=>Array.isArray(i)&&i.length>0?i[0]:{}},{type:"list",node:(0,h.ListNode)((0,h.ObjectNode)(xe(k({},s),{weight:(0,h.Opt)((0,h.NumberNode)({integer:!0,min:1}))}),{context:"model_variant"})),change:i=>[k({weight:1},i)]}],{context:"model_variant"})),r.register("multipart_condition",(0,h.ChoiceNode)([{type:"object",priority:-1,match:()=>!0,node:(0,h.MapNode)(t(),t()),change:i=>typeof i=="object"&&Array.isArray(i==null?void 0:i.OR)&&i.OR.length>0?i.OR[0]:{}},{type:"or",match:i=>typeof i=="object"&&(i==null?void 0:i.OR)!==void 0,node:(0,h.ObjectNode)({OR:(0,h.ListNode)(e("multipart_condition"))}),change:i=>({OR:[i!=null?i:{}]})}],{context:"multipart_condition"}))}te.initBlockDefinitionSchemas=We;Object.defineProperty(Q,"__esModule",{value:!0});Q.initAssetsSchemas=void 0;const Ge=ee,Ve=te;function He(r,o){(0,Ve.initBlockDefinitionSchemas)(r,o),(0,Ge.initModelSchemas)(r,o)}Q.initAssetsSchemas=He;var re={};Object.defineProperty(re,"__esModule",{value:!0});re.initConditionSchemas=void 0;const I=v,Ke=$;function Xe(r,o){const e=I.Reference.bind(void 0,r),t=I.StringNode.bind(void 0,o);r.register("predicate",(0,I.ObjectOrList)(e("condition"),{choiceContext:"condition"})),r.register("condition",(0,I.Mod)((0,I.ObjectNode)({condition:t({validator:"resource",params:{pool:"loot_condition_type"}}),[I.Switch]:[{push:"condition"}],[I.Case]:Ke.ConditionCases},{category:"predicate",context:"condition"}),{default:()=>({condition:"minecraft:entity_properties",entity:"this"})}))}re.initConditionSchemas=Xe;var oe={};Object.defineProperty(oe,"__esModule",{value:!0});oe.initDimensionSchemas=void 0;const g=v,Ce=$;function Ze(r,o){const e=g.Reference.bind(void 0,r),t=g.StringNode.bind(void 0,o),s=i=>(0,g.Mod)(i,{enabled:m=>m.push("preset").get()===void 0});r.register("dimension",(0,g.Mod)((0,g.ObjectNode)({type:(0,Ce.DimensionTypePresets)(e("dimension_type")),generator:(0,g.ObjectNode)({type:t({validator:"resource",params:{pool:"worldgen/chunk_generator"}}),[g.Switch]:[{push:"type"}],[g.Case]:{"minecraft:noise":{seed:(0,g.NumberNode)({integer:!0}),settings:(0,Ce.NoiseSettingsPresets)(e("noise_settings")),biome_source:(0,g.ObjectNode)({type:t({validator:"resource",params:{pool:"worldgen/biome_source"}}),[g.Switch]:[{push:"type"}],[g.Case]:{"minecraft:fixed":{biome:t({validator:"resource",params:{pool:"$worldgen/biome"}})},"minecraft:multi_noise":{seed:(0,g.NumberNode)({integer:!0}),preset:(0,g.Opt)(t({enum:["nether"]})),altitude_noise:s(e("generator_biome_noise")),temperature_noise:s(e("generator_biome_noise")),humidity_noise:s(e("generator_biome_noise")),weirdness_noise:s(e("generator_biome_noise")),biomes:s((0,g.Mod)((0,g.ListNode)(e("generator_biome")),{default:()=>[{biome:"minecraft:plains"}]}))},"minecraft:checkerboard":{scale:(0,g.Opt)((0,g.NumberNode)({integer:!0,min:0,max:62})),biomes:(0,g.ListNode)(t({validator:"resource",params:{pool:"$worldgen/biome"}}))},"minecraft:the_end":{seed:(0,g.NumberNode)({integer:!0})},"minecraft:vanilla_layered":{seed:(0,g.NumberNode)({integer:!0}),large_biomes:(0,g.Opt)((0,g.BooleanNode)()),legacy_biome_init_layer:(0,g.Opt)((0,g.BooleanNode)())}}},{category:"predicate",disableSwitchContext:!0})},"minecraft:flat":{settings:(0,g.ObjectNode)({biome:(0,g.Opt)(t({validator:"resource",params:{pool:"$worldgen/biome"}})),lakes:(0,g.Opt)((0,g.BooleanNode)()),features:(0,g.Opt)((0,g.BooleanNode)()),layers:(0,g.ListNode)(e("generator_layer")),structures:e("generator_structures")})}}},{disableSwitchContext:!0})},{category:"pool",context:"dimension"}),{default:()=>{const i=Math.floor(Math.random()*4294967296)-2147483648;return{type:"minecraft:overworld",generator:{type:"minecraft:noise",seed:i,biome_source:{type:"minecraft:fixed",seed:i,biome:"minecraft:plains"},settings:"minecraft:overworld"}}}})),r.register("generator_biome",(0,g.Mod)((0,g.ObjectNode)({biome:t({validator:"resource",params:{pool:"$worldgen/biome"}}),parameters:(0,g.ObjectNode)({altitude:(0,g.NumberNode)(),temperature:(0,g.NumberNode)(),humidity:(0,g.NumberNode)(),weirdness:(0,g.NumberNode)(),offset:(0,g.NumberNode)()})},{context:"generator_biome"}),{default:()=>({biome:"minecraft:plains",parameters:{altitude:0,temperature:0,humidity:0,weirdness:0,offset:0}})})),r.register("generator_biome_noise",(0,g.Mod)((0,g.ObjectNode)({firstOctave:(0,g.NumberNode)({integer:!0}),amplitudes:(0,g.ListNode)((0,g.NumberNode)())},{context:"generator_biome_noise"}),{default:()=>({firstOctave:-7,amplitudes:[1,1]})}))}oe.initDimensionSchemas=Ze;var ae={};Object.defineProperty(ae,"__esModule",{value:!0});ae.initDimensionTypeSchemas=void 0;const x=v,Ye=$;function Je(r,o){const e=x.StringNode.bind(void 0,o);r.register("dimension_type",(0,x.Mod)((0,x.ObjectNode)({name:(0,x.Mod)(e({validator:"resource",params:{pool:"$dimension_type",isDefinition:!0}}),{enabled:t=>t.getArray().length>0}),ultrawarm:(0,x.BooleanNode)(),natural:(0,x.BooleanNode)(),piglin_safe:(0,x.BooleanNode)(),respawn_anchor_works:(0,x.BooleanNode)(),bed_works:(0,x.BooleanNode)(),has_raids:(0,x.BooleanNode)(),has_skylight:(0,x.BooleanNode)(),has_ceiling:(0,x.BooleanNode)(),coordinate_scale:(0,x.NumberNode)({min:1e-5,max:3e7}),ambient_light:(0,x.NumberNode)(),fixed_time:(0,x.Opt)((0,x.NumberNode)({integer:!0})),logical_height:(0,x.NumberNode)({integer:!0,min:0,max:256}),effects:(0,x.Opt)(e({enum:["minecraft:overworld","minecraft:the_nether","minecraft:the_end"]})),infiniburn:e({validator:"resource",params:{pool:"$tag/block"}})},{context:"dimension_type"}),{default:()=>Ye.DefaultDimensionType}))}ae.initDimensionTypeSchemas=Je;var ie={},B={};Object.defineProperty(B,"__esModule",{value:!0});B.LootFunctions=B.LootConditions=B.LootCopySources=B.LootEntitySources=B.LootTableTypes=void 0;B.LootTableTypes=new Map([["minecraft:advancement_entity",{requires:[7,8],allows:[]}],["minecraft:advancement_reward",{requires:[7,8],allows:[]}],["minecraft:barter",{requires:[8],allows:[]}],["minecraft:block",{requires:[1,7,9],allows:[0,4,8]}],["minecraft:chest",{requires:[7],allows:[8]}],["minecraft:command",{requires:[7],allows:[8]}],["minecraft:empty",{requires:[],allows:[]}],["minecraft:entity",{requires:[2,7,8],allows:[3,5,6]}],["minecraft:fishing",{requires:[7,9],allows:[8]}],["minecraft:generic",{requires:[2,0,1,3,4,5,6,7,8,9],allows:[]}],["minecraft:gift",{requires:[7,8],allows:[]}],["minecraft:selector",{requires:[7],allows:[8]}]]);B.LootEntitySources=new Map([["direct_killer",[3]],["killer",[5]],["killer_player",[5]],["this",[8]]]);B.LootCopySources=new Map([["block_entity",[0]],["killer",[5]],["killer_player",[5]],["this",[8]]]);B.LootConditions=new Map([["minecraft:alternative",[]],["minecraft:block_state_property",[1]],["minecraft:damage_source_properties",[2]],["minecraft:entity_properties",[7]],["minecraft:entity_scores",[]],["minecraft:inverted",[]],["minecraft:killed_by_player",[6]],["minecraft:location_check",[]],["minecraft:match_tool",[9]],["minecraft:random_chance",[]],["minecraft:random_chance_with_looting",[5]],["minecraft:reference",[]],["minecraft:survives_explosion",[4]],["minecraft:table_bonus",[9]],["minecraft:time_check",[]],["minecraft:weather_check",[]]]);B.LootFunctions=new Map([["minecraft:apply_bonus",[9]],["minecraft:copy_name",[]],["minecraft:copy_nbt",[]],["minecraft:copy_state",[1]],["minecraft:enchant_randomly",[]],["minecraft:enchant_with_levels",[]],["minecraft:exploration_map",[7]],["minecraft:explosion_decay",[]],["minecraft:fill_player_head",[]],["minecraft:furnace_smelt",[]],["minecraft:limit_count",[]],["minecraft:looting_enchant",[5]],["minecraft:set_attributes",[]],["minecraft:set_contents",[]],["minecraft:set_count",[]],["minecraft:set_damage",[]],["minecraft:set_loot_table",[]],["minecraft:set_lore",[]],["minecraft:set_name",[]],["minecraft:set_nbt",[]],["minecraft:set_stew_effect",[]]]);Object.defineProperty(ie,"__esModule",{value:!0});ie.initLootTableSchemas=void 0;const d=v,V=B,z=$;function Qe(r,o){const e=d.Reference.bind(void 0,r),t=d.StringNode.bind(void 0,o),s={conditions:(0,d.Opt)((0,d.ListNode)(e("loot_condition")))},i=k({functions:(0,d.Opt)((0,d.ListNode)(e("loot_function")))},s);function m(j,D,C){const Oe=[],ze=X=>o.get(D).filter(ke=>{var G;return((G=j.get(ke))!==null&&G!==void 0?G:[]).every(we=>X.includes(we))});for(const[X,{allows:ke,requires:G}]of V.LootTableTypes){const Se=[...ke,...G];Oe.push({match:we=>we.getModel().get(new d.Path(["type"]))===X,node:C(ze(Se))})}return Oe.push({match:X=>!0,node:C(D)}),(0,d.SwitchNode)(Oe)}const l=m(V.LootConditions,"loot_condition_type",j=>t({validator:"resource",params:{pool:j instanceof Array?j:"loot_condition_type"}})),N=m(V.LootFunctions,"loot_function_type",j=>t({validator:"resource",params:{pool:j instanceof Array?j:"loot_function_type"}})),w=m(V.LootEntitySources,"entity_source",j=>t({enum:j})),T=m(V.LootCopySources,"copy_source",j=>t({enum:j}));r.register("loot_table",(0,d.Mod)((0,d.ObjectNode)({type:(0,d.Opt)(t({validator:"resource",params:{pool:o.get("loot_context_type")}})),pools:(0,d.Opt)((0,d.ListNode)((0,d.Mod)((0,d.ObjectNode)(k({rolls:(0,z.Range)({allowBinomial:!0,integer:!0}),bonus_rolls:(0,d.Opt)((0,z.Range)({integer:!0})),entries:(0,d.ListNode)(e("loot_entry"))},i),{category:"pool",context:"loot_pool"}),{default:()=>({rolls:1,entries:[{type:"minecraft:item",name:"minecraft:stone"}]})}))),functions:(0,d.Opt)((0,d.ListNode)(e("loot_function")))},{context:"loot_table"}),{default:()=>({pools:[{rolls:1,entries:[{type:"minecraft:item",name:"minecraft:stone"}]}]})}));const U={enabled:j=>{var D;return((D=j.pop().get())===null||D===void 0?void 0:D.length)>1&&!["minecraft:alternatives","minecraft:group","minecraft:sequence"].includes(j.push("type").get())}};r.register("loot_entry",(0,d.Mod)((0,d.ObjectNode)({type:t({validator:"resource",params:{pool:"loot_pool_entry_type"}}),weight:(0,d.Opt)((0,d.Mod)((0,d.NumberNode)({integer:!0,min:1}),U)),quality:(0,d.Opt)((0,d.Mod)((0,d.NumberNode)({integer:!0}),U)),[d.Switch]:[{push:"type"}],[d.Case]:{"minecraft:alternatives":k({children:(0,d.ListNode)(e("loot_entry"))},i),"minecraft:dynamic":k({name:t()},i),"minecraft:group":k({children:(0,d.ListNode)(e("loot_entry"))},i),"minecraft:item":k({name:t({validator:"resource",params:{pool:"item"}})},i),"minecraft:loot_table":k({name:t({validator:"resource",params:{pool:"$loot_table"}})},i),"minecraft:sequence":k({children:(0,d.ListNode)(e("loot_entry"))},i),"minecraft:tag":k({name:t({validator:"resource",params:{pool:"$tag/item"}}),expand:(0,d.Opt)((0,d.BooleanNode)())},i)}},{context:"loot_entry"}),{default:()=>({type:"minecraft:item",name:"minecraft:stone"})})),r.register("loot_function",(0,d.Mod)((0,d.ObjectNode)({function:N,[d.Switch]:[{push:"function"}],[d.Case]:(()=>{const j={"minecraft:apply_bonus":{enchantment:t({validator:"resource",params:{pool:"enchantment"}}),formula:t({validator:"resource",params:{pool:o.get("loot_table_apply_bonus_formula")}}),parameters:(0,d.Mod)((0,d.ObjectNode)({bonusMultiplier:(0,d.Mod)((0,d.NumberNode)(),{enabled:C=>C.pop().push("formula").get()==="minecraft:uniform_bonus_count"}),extra:(0,d.Mod)((0,d.NumberNode)(),{enabled:C=>C.pop().push("formula").get()==="minecraft:binomial_with_bonus_count"}),probability:(0,d.Mod)((0,d.NumberNode)(),{enabled:C=>C.pop().push("formula").get()==="minecraft:binomial_with_bonus_count"})}),{enabled:C=>C.push("formula").get()!=="minecraft:ore_drops"})},"minecraft:copy_name":{source:T},"minecraft:copy_nbt":{source:T,ops:(0,d.ListNode)((0,d.ObjectNode)({source:t({validator:"nbt_path",params:{category:{getter:"copy_source",path:["pop","pop","pop",{push:"source"}]}}}),target:t({validator:"nbt_path",params:{category:"minecraft:item"}}),op:t({enum:["replace","append","merge"]})},{context:"nbt_operation"}))},"minecraft:copy_state":{block:t({validator:"resource",params:{pool:"block"}}),properties:(0,d.ListNode)(t({validator:"block_state_key",params:{id:["pop","pop",{push:"block"}]}}))},"minecraft:enchant_randomly":{enchantments:(0,d.Opt)((0,d.ListNode)(t({validator:"resource",params:{pool:"enchantment"}})))},"minecraft:enchant_with_levels":{levels:(0,z.Range)({allowBinomial:!0}),treasure:(0,d.Opt)((0,d.BooleanNode)())},"minecraft:exploration_map":{destination:(0,d.Opt)(t({enum:"map_feature"})),decoration:(0,d.Opt)(t({enum:"map_decoration"})),zoom:(0,d.Opt)((0,d.NumberNode)({integer:!0})),search_radius:(0,d.Opt)((0,d.NumberNode)({integer:!0})),skip_existing_chunks:(0,d.Opt)((0,d.BooleanNode)())},"minecraft:fill_player_head":{entity:w},"minecraft:limit_count":{limit:(0,z.Range)({bounds:!0})},"minecraft:looting_enchant":{count:(0,z.Range)({bounds:!0}),limit:(0,d.Opt)((0,d.NumberNode)({integer:!0}))},"minecraft:set_attributes":{modifiers:(0,d.ListNode)(e("attribute_modifier"))},"minecraft:set_contents":{entries:(0,d.ListNode)(e("loot_entry"))},"minecraft:set_count":{count:(0,z.Range)({allowBinomial:!0})},"minecraft:set_damage":{damage:(0,z.Range)({forceRange:!0})},"minecraft:set_loot_table":{name:t({validator:"resource",params:{pool:"$loot_table"}}),seed:(0,d.Opt)((0,d.NumberNode)({integer:!0}))},"minecraft:set_lore":{entity:(0,d.Opt)(w),lore:(0,d.ListNode)(e("text_component")),replace:(0,d.Opt)((0,d.BooleanNode)())},"minecraft:set_name":{entity:(0,d.Opt)(w),name:(0,d.Opt)(e("text_component"))},"minecraft:set_nbt":{tag:t({validator:"nbt",params:{registry:{category:"minecraft:item"}}})},"minecraft:set_stew_effect":{effects:(0,d.Opt)((0,d.ListNode)((0,d.ObjectNode)({type:t({validator:"resource",params:{pool:"mob_effect"}}),duration:(0,z.Range)()})))}},D={};return o.get("loot_function_type").forEach(C=>{D[C]=k(k({},j[C]),s)}),D})()},{category:"function",context:"function"}),{default:()=>({function:"minecraft:set_count",count:1})})),r.register("loot_condition",(0,d.Mod)((0,d.ObjectNode)({condition:l,[d.Switch]:[{push:"condition"}],[d.Case]:xe(k({},z.ConditionCases),{"minecraft:entity_properties":{entity:w,predicate:e("entity_predicate")},"minecraft:entity_scores":{entity:w,scores:(0,d.MapNode)(t({validator:"objective"}),(0,z.Range)({bounds:!0}))}})},{category:"predicate",context:"condition"}),{default:()=>({condition:"minecraft:random_chance",chance:.5})})),r.register("attribute_modifier",(0,d.Mod)((0,d.ObjectNode)({attribute:t({validator:"resource",params:{pool:"attribute"}}),name:t(),amount:(0,z.Range)({bounds:!0}),operation:t({enum:["addition","multiply_base","multiply_total"]}),slot:(0,d.StringOrList)(t({enum:"slot"}))},{context:"attribute_modifier"}),{default:()=>({attribute:"minecraft:generic.max_health",name:"",amount:1,operation:"addition",slot:"mainhand"})}))}ie.initLootTableSchemas=Qe;var ne={};Object.defineProperty(ne,"__esModule",{value:!0});ne.initPackMcmetaSchemas=void 0;const E=v;function et(r,o){r.register("pack_mcmeta",(0,E.Mod)((0,E.ObjectNode)({pack:(0,E.Mod)((0,E.ObjectNode)({pack_format:(0,E.Mod)((0,E.NumberNode)({integer:!0,min:6,max:6}),{default:()=>6}),description:(0,E.Reference)(r,"text_component")}),{default:()=>({pack_format:6,description:""})})}),{default:()=>({pack:{pack_format:6,description:""}})}))}ne.initPackMcmetaSchemas=et;var ce={};Object.defineProperty(ce,"__esModule",{value:!0});ce.initPredicatesSchemas=void 0;const a=v,S=$;function tt(r,o){const e=a.Reference.bind(void 0,r),t=a.StringNode.bind(void 0,o),s=(0,a.ChoiceNode)([{type:"string",node:t(),change:i=>typeof i=="boolean"||typeof i=="number"?i.toString():""},{type:"number",node:(0,a.NumberNode)(),change:i=>typeof i=="string"?parseInt(i):0},{type:"object",node:(0,a.ObjectNode)({min:(0,a.Opt)((0,a.NumberNode)({integer:!0})),max:(0,a.Opt)((0,a.NumberNode)({integer:!0}))}),change:i=>typeof i=="number"?{min:i,max:i}:{}},{type:"boolean",node:(0,a.BooleanNode)(),change:i=>i==="true"||i===1}]);r.register("item_predicate",(0,a.ObjectNode)({item:(0,a.Opt)(t({validator:"resource",params:{pool:"item"}})),tag:(0,a.Opt)(t({validator:"resource",params:{pool:"$tag/item"}})),count:(0,a.Opt)((0,S.Range)()),durability:(0,a.Opt)((0,S.Range)()),potion:(0,a.Opt)(t({validator:"resource",params:{pool:"potion"}})),nbt:(0,a.Opt)(t({validator:"nbt",params:{registry:{category:"minecraft:item",id:["pop",{push:"item"}]}}})),enchantments:(0,a.Opt)((0,a.ListNode)(e("enchantment_predicate")))},{context:"item"})),r.register("enchantment_predicate",(0,a.ObjectNode)({enchantment:(0,a.Opt)(t({validator:"resource",params:{pool:"enchantment"}})),levels:(0,a.Opt)((0,S.Range)())},{context:"enchantment"})),r.register("block_predicate",(0,a.ObjectNode)({block:(0,a.Opt)(t({validator:"resource",params:{pool:"block"}})),tag:(0,a.Opt)(t({validator:"resource",params:{pool:"$tag/block"}})),nbt:(0,a.Opt)(t({validator:"nbt",params:{registry:{category:"minecraft:block",id:["pop",{push:"block"}]}}})),state:(0,a.Opt)((0,a.MapNode)(t(),s,{validation:{validator:"block_state_map",params:{id:["pop",{push:"block"}]}}}))},{context:"block"})),r.register("fluid_predicate",(0,a.ObjectNode)({fluid:(0,a.Opt)(t({validator:"resource",params:{pool:"fluid"}})),tag:(0,a.Opt)(t({validator:"resource",params:{pool:"$tag/fluid"}})),state:(0,a.Opt)((0,a.MapNode)(t(),s))},{context:"fluid"})),r.register("location_predicate",(0,a.ObjectNode)({position:(0,a.Opt)((0,a.ObjectNode)({x:(0,a.Opt)((0,S.Range)()),y:(0,a.Opt)((0,S.Range)()),z:(0,a.Opt)((0,S.Range)())})),biome:(0,a.Opt)(t({validator:"resource",params:{pool:"$worldgen/biome"}})),feature:(0,a.Opt)(t({enum:o.get("worldgen/structure_feature").map(i=>i.slice(10))})),dimension:(0,a.Opt)(t({validator:"resource",params:{pool:"$dimension"}})),light:(0,a.Opt)((0,a.ObjectNode)({light:(0,a.Opt)((0,S.Range)({integer:!0,min:0,max:15}))})),smokey:(0,a.Opt)((0,a.BooleanNode)()),block:(0,a.Opt)(e("block_predicate")),fluid:(0,a.Opt)(e("fluid_predicate"))},{context:"location"})),r.register("statistic_predicate",(0,a.ObjectNode)({type:t({validator:"resource",params:{pool:"stat_type"}}),stat:t(),value:(0,S.Range)(),[a.Switch]:[{push:"type"}],[a.Case]:{"minecraft:mined":{stat:t({validator:"resource",params:{pool:"block"}})},"minecraft:crafted":{stat:t({validator:"resource",params:{pool:"item"}})},"minecraft:used":{stat:t({validator:"resource",params:{pool:"item"}})},"minecraft:broken":{stat:t({validator:"resource",params:{pool:"item"}})},"minecraft:picked_up":{stat:t({validator:"resource",params:{pool:"item"}})},"minecraft:dropped":{stat:t({validator:"resource",params:{pool:"item"}})},"minecraft:killed":{stat:t({validator:"resource",params:{pool:"entity_type"}})},"minecraft:killed_by":{stat:t({validator:"resource",params:{pool:"entity_type"}})},"minecraft:custom":{stat:t({validator:"resource",params:{pool:"custom_stat"}})}}})),r.register("player_predicate",(0,a.ObjectNode)({gamemode:(0,a.Opt)(t({enum:"gamemode"})),level:(0,a.Opt)((0,S.Range)()),advancements:(0,a.Opt)((0,a.MapNode)(t({validator:"resource",params:{pool:"$advancement"}}),(0,a.ChoiceNode)([{type:"boolean",node:(0,a.BooleanNode)(),change:i=>!0},{type:"object",node:(0,a.MapNode)(t(),(0,a.BooleanNode)())}]))),recipes:(0,a.Opt)((0,a.MapNode)(t({validator:"resource",params:{pool:"$recipe"}}),(0,a.BooleanNode)())),stats:(0,a.Opt)((0,a.ListNode)(e("statistic_predicate")))},{context:"player"})),r.register("status_effect_predicate",(0,a.ObjectNode)({amplifier:(0,a.Opt)((0,S.Range)()),duration:(0,a.Opt)((0,S.Range)()),ambient:(0,a.Opt)((0,a.BooleanNode)()),visible:(0,a.Opt)((0,a.BooleanNode)())},{context:"status_effect"})),r.register("distance_predicate",(0,a.ObjectNode)({x:(0,a.Opt)((0,S.Range)()),y:(0,a.Opt)((0,S.Range)()),z:(0,a.Opt)((0,S.Range)()),absolute:(0,a.Opt)((0,S.Range)()),horizontal:(0,a.Opt)((0,S.Range)())},{context:"distance"})),r.register("entity_predicate",(0,a.ObjectNode)({type:(0,a.Opt)(t({validator:"resource",params:{pool:"entity_type",allowTag:!0}})),nbt:(0,a.Opt)(t({validator:"nbt",params:{registry:{category:"minecraft:entity",id:["pop",{push:"type"}]}}})),team:(0,a.Opt)(t({validator:"team"})),location:(0,a.Opt)(e("location_predicate")),distance:(0,a.Opt)(e("distance_predicate")),flags:(0,a.Opt)((0,a.ObjectNode)({is_on_fire:(0,a.Opt)((0,a.BooleanNode)()),is_sneaking:(0,a.Opt)((0,a.BooleanNode)()),is_sprinting:(0,a.Opt)((0,a.BooleanNode)()),is_swimming:(0,a.Opt)((0,a.BooleanNode)()),is_baby:(0,a.Opt)((0,a.BooleanNode)())})),equipment:(0,a.Opt)((0,a.MapNode)(t({enum:"slot"}),e("item_predicate"))),vehicle:(0,a.Opt)(e("entity_predicate")),targeted_entity:(0,a.Opt)(e("entity_predicate")),player:(0,a.Opt)(e("player_predicate")),fishing_hook:(0,a.Opt)((0,a.ObjectNode)({in_open_water:(0,a.Opt)((0,a.BooleanNode)())})),catType:(0,a.Opt)(t({enum:"cat_texture"})),effects:(0,a.Opt)((0,a.MapNode)(t({validator:"resource",params:{pool:"mob_effect"}}),e("status_effect_predicate")))},{context:"entity"})),r.register("damage_source_predicate",(0,a.ObjectNode)({is_explosion:(0,a.Opt)((0,a.BooleanNode)()),is_fire:(0,a.Opt)((0,a.BooleanNode)()),is_magic:(0,a.Opt)((0,a.BooleanNode)()),is_projectile:(0,a.Opt)((0,a.BooleanNode)()),is_lightning:(0,a.Opt)((0,a.BooleanNode)()),bypasses_armor:(0,a.Opt)((0,a.BooleanNode)()),bypasses_invulnerability:(0,a.Opt)((0,a.BooleanNode)()),bypasses_magic:(0,a.Opt)((0,a.BooleanNode)()),source_entity:(0,a.Opt)(e("entity_predicate")),direct_entity:(0,a.Opt)(e("entity_predicate"))},{context:"damage_source"})),r.register("damage_predicate",(0,a.ObjectNode)({dealt:(0,a.Opt)((0,S.Range)()),taken:(0,a.Opt)((0,S.Range)()),blocked:(0,a.Opt)((0,a.BooleanNode)()),source_entity:(0,a.Opt)(e("entity_predicate")),type:(0,a.Opt)(e("damage_source_predicate"))},{context:"damage"}))}ce.initPredicatesSchemas=tt;var se={};Object.defineProperty(se,"__esModule",{value:!0});se.initRecipeSchemas=void 0;const f=v;function rt(r,o){const e=f.Reference.bind(void 0,r),t=f.StringNode.bind(void 0,o);r.register("recipe",(0,f.Mod)((0,f.ObjectNode)({type:t({validator:"resource",params:{pool:"recipe_serializer"}}),[f.Switch]:[{push:"type"}],[f.Case]:{"minecraft:crafting_shaped":{group:(0,f.Opt)(t({enum:"recipe_group",additional:!0})),pattern:(0,f.ListNode)(t()),key:(0,f.MapNode)(t(),e("recipe_ingredient")),result:e("recipe_result")},"minecraft:crafting_shapeless":{group:(0,f.Opt)(t()),ingredients:(0,f.ListNode)(e("recipe_ingredient")),result:e("recipe_result")},"minecraft:smelting":{group:(0,f.Opt)(t()),ingredient:e("recipe_ingredient"),result:t({validator:"resource",params:{pool:"item"}}),experience:(0,f.Opt)((0,f.NumberNode)()),cookingtime:(0,f.Opt)((0,f.Mod)((0,f.NumberNode)({integer:!0}),{default:()=>200}))},"minecraft:blasting":{group:(0,f.Opt)(t()),ingredient:e("recipe_ingredient"),result:t({validator:"resource",params:{pool:"item"}}),experience:(0,f.Opt)((0,f.NumberNode)()),cookingtime:(0,f.Opt)((0,f.Mod)((0,f.NumberNode)({integer:!0}),{default:()=>100}))},"minecraft:smoking":{group:(0,f.Opt)(t()),ingredient:e("recipe_ingredient"),result:t({validator:"resource",params:{pool:"item"}}),experience:(0,f.Opt)((0,f.NumberNode)()),cookingtime:(0,f.Opt)((0,f.Mod)((0,f.NumberNode)({integer:!0}),{default:()=>100}))},"minecraft:campfire_cooking":{group:(0,f.Opt)(t()),ingredient:e("recipe_ingredient"),result:t({validator:"resource",params:{pool:"item"}}),experience:(0,f.Opt)((0,f.NumberNode)()),cookingtime:(0,f.Opt)((0,f.Mod)((0,f.NumberNode)({integer:!0}),{default:()=>100}))},"minecraft:stonecutting":{group:(0,f.Opt)(t()),ingredient:e("recipe_ingredient"),result:t({validator:"resource",params:{pool:"item"}}),count:(0,f.NumberNode)({integer:!0})},"minecraft:smithing":{group:(0,f.Opt)(t()),base:e("recipe_ingredient_object"),addition:e("recipe_ingredient_object"),result:e("recipe_result")}}},{context:"recipe",disableSwitchContext:!0}),{default:()=>({type:"minecraft:crafting_shaped"})})),r.register("recipe_ingredient",(0,f.Mod)((0,f.ChoiceNode)([{type:"object",node:e("recipe_ingredient_object"),change:s=>s[0]},{type:"list",node:(0,f.ListNode)(e("recipe_ingredient_object")),change:s=>[s]}]),{default:()=>({item:"minecraft:stone"})})),r.register("recipe_ingredient_object",(0,f.Mod)((0,f.ObjectNode)({item:(0,f.Opt)(t({validator:"resource",params:{pool:"item"}})),tag:(0,f.Opt)(t({validator:"resource",params:{pool:"$tag/item"}}))}),{default:()=>({item:"minecraft:stone"})})),r.register("recipe_result",(0,f.Mod)((0,f.ObjectNode)({item:t({validator:"resource",params:{pool:"item"}}),count:(0,f.Opt)((0,f.Mod)((0,f.NumberNode)({integer:!0}),{default:()=>1}))}),{default:()=>({item:"minecraft:stone"})}))}se.initRecipeSchemas=rt;var de={};Object.defineProperty(de,"__esModule",{value:!0});de.initTagsSchemas=void 0;const A=v;function ot(r,o){const e=A.StringNode.bind(void 0,o),t=s=>(0,A.Mod)((0,A.ObjectNode)({replace:(0,A.Opt)((0,A.BooleanNode)()),values:(0,A.ListNode)((0,A.ChoiceNode)([{type:"string",node:e({validator:"resource",params:{pool:s,allowTag:!0}}),change:i=>i.id},{type:"object",node:(0,A.ObjectNode)({id:e({validator:"resource",params:{pool:s,allowTag:!0,allowUnknown:!0}}),required:(0,A.BooleanNode)()}),change:i=>({id:i})}]))},{context:"tag"}),{default:()=>({values:[]})});r.register("block_tag",t("block")),r.register("entity_type_tag",t("entity_type")),r.register("fluid_tag",t("fluid")),r.register("function_tag",t("$function")),r.register("item_tag",t("item"))}de.initTagsSchemas=ot;var me={};Object.defineProperty(me,"__esModule",{value:!0});me.initTextComponentSchemas=void 0;const _=v;function at(r,o){const e=_.Reference.bind(void 0,r),t=_.StringNode.bind(void 0,o),s=m=>{var l;return m instanceof Array?s(m[0]):(l=m==null?void 0:m.text)!==null&&l!==void 0?l:typeof m=="object"?"":m==null?void 0:m.toString()};r.register("text_component",(0,_.Mod)((0,_.ChoiceNode)([{type:"object",node:e("text_component_object"),change:m=>m instanceof Array?typeof m[0]=="object"?m[0]:{text:s(m[0])}:typeof m=="object"?m:{text:s(m)}},{type:"list",node:e("text_component_list"),change:m=>[m]},{type:"string",priority:1,node:t(),change:s},{type:"number",node:(0,_.NumberNode)(),change:m=>{const l=parseFloat(s(m));return isFinite(l)?l:m?1:0}},{type:"boolean",node:(0,_.BooleanNode)(),change:m=>{const l=s(m);return l==="true"||l==="false"?l==="true":!!l}}],{context:"text_component"}),{default:()=>({text:""})}));const i={color:(0,_.Opt)(t()),font:(0,_.Opt)(t()),bold:(0,_.Opt)((0,_.BooleanNode)()),italic:(0,_.Opt)((0,_.BooleanNode)()),underlined:(0,_.Opt)((0,_.BooleanNode)()),strikethrough:(0,_.Opt)((0,_.BooleanNode)()),obfuscated:(0,_.Opt)((0,_.BooleanNode)()),insertion:(0,_.Opt)(t()),clickEvent:(0,_.Opt)((0,_.ObjectNode)({action:t({enum:["open_url","open_file","run_command","suggest_command","change_page","copy_to_clipboard"]}),[_.Switch]:[{push:"action"}],[_.Case]:{change_page:{value:t()},copy_to_clipboard:{value:t()},open_file:{value:t()},open_url:{value:t()},run_command:{value:t({validator:"command",params:{leadingSlash:!0,allowPartial:!0}})},suggest_command:{value:t({validator:"command",params:{leadingSlash:!0,allowPartial:!0}})}}})),hoverEvent:(0,_.Opt)((0,_.ObjectNode)({action:t({enum:["show_text","show_item","show_entity"]}),[_.Switch]:[{push:"action"}],[_.Case]:{show_text:{value:(0,_.Opt)(e("text_component")),contents:(0,_.Opt)(e("text_component"))},show_item:{value:(0,_.Opt)(t({validator:"nbt",params:{module:"util::InventoryItem"}})),contents:(0,_.Opt)((0,_.ObjectNode)({id:t({validator:"resource",params:{pool:"item"}}),count:(0,_.Opt)((0,_.NumberNode)({integer:!0})),tag:(0,_.Opt)(t({validator:"nbt",params:{registry:{category:"minecraft:item",id:["pop",{push:"id"}]}}}))}))},show_entity:{value:(0,_.Opt)((0,_.ObjectNode)({name:(0,_.Opt)(t()),type:(0,_.Opt)(t()),id:(0,_.Opt)(t())})),contents:(0,_.Opt)((0,_.Mod)((0,_.ObjectNode)({name:(0,_.Opt)(e("text_component")),type:t({validator:"resource",params:{pool:"entity_type"}}),id:t({validator:"uuid"})}),{default:()=>({type:"minecraft:pig",id:"00000001-0001-0001-0001-000000000001"})}))}}})),extra:(0,_.Opt)(e("text_component_list"))};r.register("text_component_object",(0,_.Mod)((0,_.ChoiceNode)([{type:"text",match:m=>typeof m=="object",change:m=>({text:""}),priority:-1,node:(0,_.ObjectNode)(k({text:t()},i))},{type:"translation",match:m=>(m==null?void 0:m.translate)!==void 0,change:m=>({translate:""}),node:(0,_.ObjectNode)(k({translate:t(),with:(0,_.Opt)(e("text_component_list"))},i))},{type:"score",match:m=>(m==null?void 0:m.score)!==void 0,change:m=>({score:{}}),node:(0,_.ObjectNode)(k({score:(0,_.ObjectNode)({name:t({validator:"entity",params:{amount:"single",type:"entities",isScoreHolder:!0}}),objective:t({validator:"objective"}),value:(0,_.Opt)(t())})},i))},{type:"selector",match:m=>(m==null?void 0:m.selector)!==void 0,change:m=>({selector:""}),node:(0,_.ObjectNode)(k({selector:t({validator:"entity",params:{amount:"multiple",type:"entities"}})},i))},{type:"keybind",match:m=>(m==null?void 0:m.keybind)!==void 0,change:m=>({keybind:""}),node:(0,_.ObjectNode)(k({keybind:t({enum:"keybind",additional:!0})},i))},{type:"nbt",match:m=>(m==null?void 0:m.nbt)!==void 0,change:m=>({nbt:""}),node:(0,_.ObjectNode)(k({nbt:t({validator:"nbt_path"}),block:(0,_.Opt)(t({validator:"vector",params:{dimension:3,isInteger:!0}})),entity:(0,_.Opt)(t({validator:"entity",params:{amount:"multiple",type:"entities"}})),storage:(0,_.Opt)(t({validator:"resource",params:{pool:"$storage"}})),interpret:(0,_.Opt)((0,_.BooleanNode)())},i))}],{context:"text_component_object",choiceContext:"text_component.object"}),{default:()=>({text:""})})),r.register("text_component_list",(0,_.Mod)((0,_.ListNode)(e("text_component")),{default:()=>[{text:""}]}))}me.initTextComponentSchemas=at;var le={},_e={};Object.defineProperty(_e,"__esModule",{value:!0});_e.initBiomeSchemas=void 0;const p=v;function it(r,o){const e=p.StringNode.bind(void 0,o);r.register("biome",(0,p.Mod)((0,p.ObjectNode)({surface_builder:e({validator:"resource",params:{pool:"$worldgen/configured_surface_builder"}}),depth:(0,p.NumberNode)(),scale:(0,p.NumberNode)(),temperature:(0,p.NumberNode)(),downfall:(0,p.NumberNode)(),precipitation:e({enum:["none","rain","snow"]}),temperature_modifier:(0,p.Opt)(e({enum:["none","frozen"]})),category:e({enum:"biome_category"}),player_spawn_friendly:(0,p.Opt)((0,p.BooleanNode)()),creature_spawn_probability:(0,p.Opt)((0,p.NumberNode)({min:0,max:1})),effects:(0,p.ObjectNode)({sky_color:(0,p.NumberNode)({color:!0}),fog_color:(0,p.NumberNode)({color:!0}),water_color:(0,p.NumberNode)({color:!0}),water_fog_color:(0,p.NumberNode)({color:!0}),grass_color:(0,p.Opt)((0,p.NumberNode)({color:!0})),foliage_color:(0,p.Opt)((0,p.NumberNode)({color:!0})),grass_color_modifier:(0,p.Opt)(e({enum:["none","dark_forest","swamp"]})),ambient_sound:(0,p.Opt)(e()),mood_sound:(0,p.Opt)((0,p.ObjectNode)({sound:e(),tick_delay:(0,p.NumberNode)({integer:!0}),block_search_extent:(0,p.NumberNode)({integer:!0}),offset:(0,p.NumberNode)()})),additions_sound:(0,p.Opt)((0,p.ObjectNode)({sound:e(),tick_chance:(0,p.NumberNode)({min:0,max:1})})),music:(0,p.Opt)((0,p.ObjectNode)({sound:e(),min_delay:(0,p.NumberNode)({integer:!0,min:0}),max_delay:(0,p.NumberNode)({integer:!0,min:0}),replace_current_music:(0,p.BooleanNode)()})),particle:(0,p.Opt)((0,p.ObjectNode)({options:(0,p.ObjectNode)({type:e()}),probability:(0,p.NumberNode)({min:0,max:1})}))}),starts:(0,p.ListNode)(e({validator:"resource",params:{pool:"$worldgen/configured_structure_feature"}})),spawners:(0,p.MapNode)(e({enum:["water_ambient","ambient","misc","water_creature","creature","monster"]}),(0,p.Mod)((0,p.ListNode)((0,p.ObjectNode)({type:e({validator:"resource",params:{pool:"entity_type"}}),weight:(0,p.NumberNode)({integer:!0}),minCount:(0,p.NumberNode)({integer:!0}),maxCount:(0,p.NumberNode)({integer:!0})})),{category:()=>"pool",default:()=>[{type:"minecraft:bat",weight:1}]})),spawn_costs:(0,p.MapNode)(e({validator:"resource",params:{pool:"entity_type"}}),(0,p.Mod)((0,p.ObjectNode)({energy_budget:(0,p.NumberNode)(),charge:(0,p.NumberNode)()},{category:"function"}),{default:()=>({energy_budget:.12,charge:1})})),carvers:(0,p.MapNode)(e({enum:["air","liquid"]}),(0,p.Mod)((0,p.ListNode)(e({validator:"resource",params:{pool:"$worldgen/configured_carver"}})),{default:()=>["minecraft:cave"]})),features:(0,p.ListNode)((0,p.Mod)((0,p.ListNode)(e({validator:"resource",params:{pool:"$worldgen/configured_feature"}})),{category:()=>"predicate"}),{maxLength:10})},{context:"biome"}),{default:()=>({surface_builder:"minecraft:grass",depth:.125,scale:.05,temperature:.8,downfall:.4,precipitation:"rain",category:"plains",effects:{sky_color:7907327,fog_color:12638463,water_color:4159204,water_fog_color:329011}})}))}_e.initBiomeSchemas=it;var pe={};Object.defineProperty(pe,"__esModule",{value:!0});pe.initCarverSchemas=void 0;const H=v;function nt(r,o){const e=H.StringNode.bind(void 0,o);r.register("configured_carver",(0,H.Mod)((0,H.ObjectNode)({type:e({validator:"resource",params:{pool:"worldgen/carver"}}),config:(0,H.ObjectNode)({probability:(0,H.NumberNode)({min:0,max:1})})},{context:"carver"}),{default:()=>({type:"minecraft:cave",config:{probability:.1}})}))}pe.initCarverSchemas=nt;var ue={};Object.defineProperty(ue,"__esModule",{value:!0});ue.initDecoratorSchemas=void 0;const O=v,ct=$;function st(r,o){const e=O.Reference.bind(void 0,r),t=O.StringNode.bind(void 0,o),s={maximum:(0,O.NumberNode)({integer:!0}),bottom_offset:(0,O.NumberNode)({integer:!0}),top_offset:(0,O.NumberNode)({integer:!0})},i={chance:(0,O.NumberNode)({integer:!0,min:0})},m={count:(0,ct.UniformInt)({min:-10,max:128,maxSpread:128})};r.register("configured_decorator",(0,O.ObjectNode)({type:t({validator:"resource",params:{pool:"worldgen/decorator"}}),config:(0,O.ObjectNode)({[O.Switch]:["pop",{push:"type"}],[O.Case]:{"minecraft:carving_mask":{step:t({enum:"generation_step"}),probability:(0,O.NumberNode)({min:0,max:1})},"minecraft:chance":i,"minecraft:count":m,"minecraft:count_extra":{count:(0,O.NumberNode)({integer:!0}),extra_count:(0,O.NumberNode)({integer:!0}),extra_chance:(0,O.NumberNode)({min:0,max:1})},"minecraft:count_multilayer":m,"minecraft:count_noise":{noise_level:(0,O.NumberNode)(),below_noise:(0,O.NumberNode)({integer:!0}),above_noise:(0,O.NumberNode)({integer:!0})},"minecraft:count_noise_biased":{noise_to_count_ratio:(0,O.NumberNode)({integer:!0}),noise_factor:(0,O.NumberNode)(),noise_offset:(0,O.Opt)((0,O.NumberNode)())},"minecraft:decorated":{outer:e("configured_decorator"),inner:e("configured_decorator")},"minecraft:depth_average":{baseline:(0,O.NumberNode)({integer:!0}),spread:(0,O.NumberNode)({integer:!0})},"minecraft:fire":m,"minecraft:glowstone":m,"minecraft:lava_lake":i,"minecraft:range":s,"minecraft:range_biased":s,"minecraft:range_very_biased":s,"minecraft:water_lake":i}},{context:"decorator",category:"predicate"})},{context:"decorator",category:"predicate"}))}ue.initDecoratorSchemas=st;var fe={},ge={};Object.defineProperty(ge,"__esModule",{value:!0});ge.initProcessorListSchemas=void 0;const y=v;function dt(r,o){const e=y.Reference.bind(void 0,r),t=y.StringNode.bind(void 0,o);r.register("processor_list",(0,y.Mod)((0,y.ObjectNode)({processors:(0,y.ListNode)(e("processor"))},{context:"processor_list"}),{default:()=>({processors:[{processor_type:"minecraft:rule",rules:[{location_predicate:{predicate_type:"minecraft:always_true"},input_predicate:{predicate_type:"minecraft:always_true"}}]}]})})),r.register("processor",(0,y.Mod)((0,y.ObjectNode)({processor_type:t({validator:"resource",params:{pool:"worldgen/structure_processor"}}),[y.Switch]:[{push:"processor_type"}],[y.Case]:{"minecraft:block_age":{mossiness:(0,y.NumberNode)()},"minecraft:block_ignore":{blocks:(0,y.ListNode)(e("block_state"))},"minecraft:block_rot":{integrity:(0,y.NumberNode)({min:0,max:1})},"minecraft:gravity":{heightmap:t({enum:"heightmap_type"}),offset:(0,y.NumberNode)({integer:!0})},"minecraft:rule":{rules:(0,y.ListNode)(e("processor_rule"))}}},{category:"function",context:"processor"}),{default:()=>({processor_type:"minecraft:rule",rules:[{location_predicate:{predicate_type:"minecraft:always_true"},input_predicate:{predicate_type:"minecraft:always_true"}}]})})),r.register("processor_rule",(0,y.Mod)((0,y.ObjectNode)({position_predicate:(0,y.Opt)(e("pos_rule_test")),location_predicate:e("rule_test"),input_predicate:e("rule_test"),output_state:e("block_state"),output_nbt:(0,y.Opt)(t({validator:"nbt",params:{registry:{category:"minecraft:block"}}}))},{category:"predicate",context:"processor_rule"}),{default:()=>({location_predicate:{predicate_type:"minecraft:always_true"},input_predicate:{predicate_type:"minecraft:always_true"}})}));const s={min_dist:(0,y.NumberNode)({min:0,max:255,integer:!0}),max_dist:(0,y.NumberNode)({min:0,max:255,integer:!0}),min_chance:(0,y.NumberNode)({min:0,max:1}),max_chance:(0,y.NumberNode)({min:0,max:1})};r.register("pos_rule_test",(0,y.ObjectNode)({predicate_type:t({validator:"resource",params:{pool:"pos_rule_test"}}),[y.Switch]:[{push:"predicate_type"}],[y.Case]:{"minecraft:axis_aligned_linear_pos":k({axis:t({enum:["x","y","z"]})},s),"minecraft:linear_pos":s}},{context:"pos_rule_test",disableSwitchContext:!0})),r.register("rule_test",(0,y.ObjectNode)({predicate_type:t({validator:"resource",params:{pool:"rule_test"}}),[y.Switch]:[{push:"predicate_type"}],[y.Case]:{"minecraft:block_match":{block:t({validator:"resource",params:{pool:"block"}})},"minecraft:blockstate_match":{block_state:e("block_state")},"minecraft:random_block_match":{block:t({validator:"resource",params:{pool:"block"}}),probability:(0,y.NumberNode)({min:0,max:1})},"minecraft:random_blockstate_match":{block_state:e("block_state"),probability:(0,y.NumberNode)({min:0,max:1})},"minecraft:tag_match":{tag:t({validator:"resource",params:{pool:"$tag/block"}})}}},{context:"rule_test",disableSwitchContext:!0}))}ge.initProcessorListSchemas=dt;Object.defineProperty(fe,"__esModule",{value:!0});fe.initFeatureSchemas=void 0;const n=v,P=$;function mt(r,o){const e=n.Reference.bind(void 0,r),t=n.StringNode.bind(void 0,o),s={can_replace:(0,n.BooleanNode)(),project:(0,n.BooleanNode)(),need_water:(0,n.BooleanNode)(),xspread:(0,n.NumberNode)({integer:!0}),yspread:(0,n.NumberNode)({integer:!0}),zspread:(0,n.NumberNode)({integer:!0}),tries:(0,n.NumberNode)({integer:!0}),state_provider:e("block_state_provider"),block_placer:e("block_placer"),whitelist:(0,n.ListNode)(e("block_state")),blacklist:(0,n.ListNode)(e("block_state"))},i={state:e("block_state"),radius:(0,P.UniformInt)({min:0,max:4,maxSpread:4}),half_height:(0,n.NumberNode)({integer:!0,min:0,max:4}),targets:(0,n.ListNode)(e("block_state"))},m={cap_provider:e("block_state_provider"),stem_provider:e("block_state_provider"),foliage_radius:(0,n.Opt)((0,n.NumberNode)({integer:!0}))},l={state:e("block_state"),size:(0,n.NumberNode)({integer:!0,min:0,max:64}),target:e("rule_test")},N={count:(0,P.UniformInt)({min:-10,max:128,maxSpread:128})},w=(0,n.ChoiceNode)([{type:"string",node:t({validator:"resource",params:{pool:"$worldgen/configured_feature"}})},{type:"object",node:e("configured_feature")}],{choiceContext:"feature"});r.register("configured_feature",(0,n.Mod)((0,n.ObjectNode)({type:t({validator:"resource",params:{pool:"worldgen/feature"}}),config:(0,n.ObjectNode)({[n.Switch]:["pop",{push:"type"}],[n.Case]:{"minecraft:bamboo":{probability:(0,n.NumberNode)({min:0,max:1})},"minecraft:basalt_columns":{reach:(0,P.UniformInt)({min:0,max:2,maxSpread:1}),height:(0,P.UniformInt)({min:1,max:5,maxSpread:5})},"minecraft:block_pile":{state_provider:e("block_state_provider")},"minecraft:decorated":{decorator:e("configured_decorator"),feature:w},"minecraft:delta_feature":{contents:e("block_state"),rim:e("block_state"),size:(0,P.UniformInt)({min:0,max:8,maxSpread:8}),rim_size:(0,P.UniformInt)({min:0,max:8,maxSpread:8})},"minecraft:disk":i,"minecraft:emerald_ore":{state:e("block_state"),target:e("block_state")},"minecraft:end_gateway":{exact:(0,n.BooleanNode)(),exit:(0,n.Opt)(e("block_pos"))},"minecraft:end_spike":{crystal_invulnerable:(0,n.Opt)((0,n.BooleanNode)()),crystal_beam_target:(0,n.Opt)(e("block_pos")),spikes:(0,n.ListNode)((0,n.ObjectNode)({centerX:(0,n.Opt)((0,n.NumberNode)({integer:!0})),centerZ:(0,n.Opt)((0,n.NumberNode)({integer:!0})),radius:(0,n.Opt)((0,n.NumberNode)({integer:!0})),height:(0,n.Opt)((0,n.NumberNode)({integer:!0})),guarded:(0,n.Opt)((0,n.BooleanNode)())}))},"minecraft:fill_layer":{state:e("block_state"),height:(0,n.NumberNode)({integer:!0,min:0,max:255})},"minecraft:flower":s,"minecraft:forest_rock":{state:e("block_state")},"minecraft:huge_brown_mushroom":m,"minecraft:huge_fungus":{hat_state:e("block_state"),decor_state:e("block_state"),stem_state:e("block_state"),valid_base_block:e("block_state"),planted:(0,n.Opt)((0,n.BooleanNode)())},"minecraft:huge_red_mushroom":m,"minecraft:ice_patch":i,"minecraft:iceberg":{state:e("block_state")},"minecraft:lake":{state:e("block_state")},"minecraft:nether_forest_vegetation":{state_provider:e("block_state_provider")},"minecraft:netherrack_replace_blobs":{state:e("block_state"),target:e("block_state"),radius:(0,P.UniformInt)()},"minecraft:no_bonemeal_flower":s,"minecraft:no_surface_ore":l,"minecraft:ore":l,"minecraft:random_patch":s,"minecraft:random_boolean_selector":{feature_false:w,feature_true:w},"minecraft:random_selector":{features:(0,n.ListNode)((0,n.ObjectNode)({chance:(0,n.NumberNode)({min:0,max:1}),feature:w})),default:w},"minecraft:sea_pickle":N,"minecraft:seagrass":{probability:(0,n.NumberNode)({min:0,max:1})},"minecraft:simple_block":{to_place:e("block_state"),place_on:(0,n.ListNode)(e("block_state")),place_in:(0,n.ListNode)(e("block_state")),place_under:(0,n.ListNode)(e("block_state"))},"minecraft:simple_random_selector":{features:(0,n.ListNode)(w)},"minecraft:spring_feature":{state:e("fluid_state"),rock_count:(0,n.NumberNode)({integer:!0}),hole_count:(0,n.NumberNode)({integer:!0}),requires_block_below:(0,n.BooleanNode)(),valid_blocks:(0,n.ListNode)(t({validator:"resource",params:{pool:"block"}}))},"minecraft:tree":{max_water_depth:(0,n.NumberNode)({integer:!0}),ignore_vines:(0,n.BooleanNode)(),heightmap:t({enum:"heightmap_type"}),minimum_size:e("feature_size"),trunk_provider:e("block_state_provider"),leaves_provider:e("block_state_provider"),trunk_placer:(0,n.ObjectNode)({type:t({validator:"resource",params:{pool:"worldgen/trunk_placer_type"}}),base_height:(0,n.NumberNode)({integer:!0,min:0,max:32}),height_rand_a:(0,n.NumberNode)({integer:!0,min:0,max:24}),height_rand_b:(0,n.NumberNode)({integer:!0,min:0,max:24})},{context:"trunk_placer"}),foliage_placer:(0,n.ObjectNode)({type:t({validator:"resource",params:{pool:"worldgen/foliage_placer_type"}}),radius:(0,P.UniformInt)({min:0,max:8,maxSpread:8}),offset:(0,P.UniformInt)({min:0,max:8,maxSpread:8}),[n.Switch]:[{push:"type"}],[n.Case]:{"minecraft:blob_foliage_placer":{height:(0,n.NumberNode)({integer:!0,min:0,max:16})},"minecraft:bush_foliage_placer":{height:(0,n.NumberNode)({integer:!0,min:0,max:16})},"minecraft:fancy_foliage_placer":{height:(0,n.NumberNode)({integer:!0,min:0,max:16})},"minecraft:jungle_foliage_placer":{height:(0,n.NumberNode)({integer:!0,min:0,max:16})},"minecraft:mega_pine_foliage_placer":{crown_height:(0,P.UniformInt)({min:0,max:16,maxSpread:8})},"minecraft:pine_foliage_placer":{height:(0,P.UniformInt)({min:0,max:16,maxSpread:8})},"minecraft:spruce_foliage_placer":{trunk_height:(0,P.UniformInt)({min:0,max:16,maxSpread:8})}}},{context:"foliage_placer",disableSwitchContext:!0}),decorators:(0,n.ListNode)((0,n.ObjectNode)({type:t({validator:"resource",params:{pool:"worldgen/tree_decorator_type"}}),[n.Switch]:[{push:"type"}],[n.Case]:{"minecraft:alter_ground":{provider:e("block_state_provider")},"minecraft:beehive":{probability:(0,n.NumberNode)({min:0,max:1})},"minecraft:cocoa":{probability:(0,n.NumberNode)({min:0,max:1})}}},{context:"tree_decorator"}))}}},{context:"feature"})},{context:"feature"}),{default:()=>({type:"minecraft:decorated",config:{decorator:{type:"minecraft:count",config:{count:4}},feature:{type:"minecraft:tree",config:{max_water_depth:0,ignore_vines:!0,minimum_size:{},trunk_placer:{base_height:5,height_rand_a:2,height_rand_b:0},foliage_placer:{radius:2,offset:0,height:3}}}}})})),r.register("feature_size",(0,n.Mod)((0,n.ObjectNode)({type:t({validator:"resource",params:{pool:"worldgen/feature_size_type"}}),min_clipped_height:(0,n.Opt)((0,n.NumberNode)({min:0,max:80})),[n.Switch]:[{push:"type"}],[n.Case]:{"minecraft:two_layers_feature_size":{limit:(0,n.Opt)((0,n.NumberNode)({integer:!0,min:0,max:81})),lower_size:(0,n.Opt)((0,n.NumberNode)({integer:!0,min:0,max:16})),upper_size:(0,n.Opt)((0,n.NumberNode)({integer:!0,min:0,max:16}))},"minecraft:three_layers_feature_size":{limit:(0,n.Opt)((0,n.NumberNode)({integer:!0,min:0,max:80})),upper_limit:(0,n.Opt)((0,n.NumberNode)({integer:!0,min:0,max:80})),lower_size:(0,n.Opt)((0,n.NumberNode)({integer:!0,min:0,max:16})),middle_size:(0,n.Opt)((0,n.NumberNode)({integer:!0,min:0,max:16})),upper_size:(0,n.Opt)((0,n.NumberNode)({integer:!0,min:0,max:16}))}}},{disableSwitchContext:!0}),{default:()=>({type:"minecraft:two_layers_feature_size"})})),r.register("block_state_provider",(0,n.Mod)((0,n.ObjectNode)({type:t({validator:"resource",params:{pool:"worldgen/block_state_provider_type"}}),[n.Switch]:[{push:"type"}],[n.Case]:{"minecraft:rotated_block_provider":{state:e("block_state")},"minecraft:simple_state_provider":{state:e("block_state")},"minecraft:weighted_state_provider":{entries:(0,n.ListNode)((0,n.Mod)((0,n.ObjectNode)({weight:(0,n.NumberNode)({integer:!0,min:1}),data:e("block_state")}),{default:()=>({data:{}})}))}}},{context:"block_state_provider"}),{default:()=>({type:"minecraft:simple_state_provider"})})),r.register("block_placer",(0,n.Mod)((0,n.ObjectNode)({type:t({validator:"resource",params:{pool:"worldgen/block_placer_type"}}),[n.Switch]:[{push:"type"}],[n.Case]:{"minecraft:column_placer":{min_size:(0,n.NumberNode)({integer:!0}),extra_size:(0,n.NumberNode)({integer:!0})}}},{context:"block_placer"}),{default:()=>({type:"minecraft:simple_block_placer"})}))}fe.initFeatureSchemas=mt;var be={};Object.defineProperty(be,"__esModule",{value:!0});be.initNoiseSettingsSchemas=void 0;const u=v,lt=$;function _t(r,o){const e=u.Reference.bind(void 0,r),t=u.StringNode.bind(void 0,o);r.register("noise_settings",(0,u.Mod)((0,u.ObjectNode)({name:(0,u.Mod)(t({validator:"resource",params:{pool:"$worldgen/noise_settings",isDefinition:!0}}),{enabled:s=>s.getArray().length>0}),bedrock_roof_position:(0,u.NumberNode)({integer:!0}),bedrock_floor_position:(0,u.NumberNode)({integer:!0}),sea_level:(0,u.NumberNode)({integer:!0}),disable_mob_generation:(0,u.BooleanNode)(),default_block:e("block_state"),default_fluid:e("block_state"),noise:(0,u.ObjectNode)({height:(0,u.NumberNode)({integer:!0}),density_factor:(0,u.NumberNode)(),density_offset:(0,u.NumberNode)(),size_horizontal:(0,u.NumberNode)({integer:!0}),size_vertical:(0,u.NumberNode)({integer:!0}),simplex_surface_noise:(0,u.BooleanNode)(),random_density_offset:(0,u.Opt)((0,u.BooleanNode)()),island_noise_override:(0,u.Opt)((0,u.BooleanNode)()),amplified:(0,u.Opt)((0,u.BooleanNode)()),sampling:(0,u.ObjectNode)({xz_scale:(0,u.NumberNode)(),y_scale:(0,u.NumberNode)(),xz_factor:(0,u.NumberNode)(),y_factor:(0,u.NumberNode)()}),bottom_slide:(0,u.ObjectNode)({target:(0,u.NumberNode)({integer:!0}),size:(0,u.NumberNode)({integer:!0}),offset:(0,u.NumberNode)({integer:!0})}),top_slide:(0,u.ObjectNode)({target:(0,u.NumberNode)({integer:!0}),size:(0,u.NumberNode)({integer:!0}),offset:(0,u.NumberNode)({integer:!0})})}),structures:e("generator_structures")},{context:"noise_settings"}),{default:()=>lt.DefaultNoiseSettings})),r.register("generator_structures",(0,u.ObjectNode)({stronghold:(0,u.Opt)((0,u.ObjectNode)({distance:(0,u.NumberNode)({integer:!0,min:0,max:1023}),spread:(0,u.NumberNode)({integer:!0,min:0,max:1023}),count:(0,u.NumberNode)({integer:!0,min:1,max:4095})})),structures:(0,u.MapNode)(t({validator:"resource",params:{pool:"worldgen/structure_feature"}}),(0,u.Mod)((0,u.ObjectNode)({spacing:(0,u.NumberNode)({integer:!0,min:0,max:4096}),separation:(0,u.Mod)((0,u.NumberNode)({integer:!0,min:0,max:4096}),s=>({validate:(i,m,l,N)=>(i.pop().push("spacing").get()<=m&&l.add(i,"error.separation_smaller_spacing"),s.validate(i,m,l,N))})),salt:(0,u.NumberNode)({integer:!0,min:0})},{context:"generator_structure"}),{default:()=>({spacing:10,separation:5,salt:0})}))})),r.register("generator_layer",(0,u.Mod)((0,u.ObjectNode)({block:t({validator:"resource",params:{pool:"block"}}),height:(0,u.NumberNode)({integer:!0,min:1})}),{default:()=>({block:"minecraft:stone",height:1})}))}be.initNoiseSettingsSchemas=_t;var Ne={};Object.defineProperty(Ne,"__esModule",{value:!0});Ne.initStructureFeatureSchemas=void 0;const R=v;function pt(r,o){const e=R.StringNode.bind(void 0,o),t={start_pool:e({validator:"resource",params:{pool:"$worldgen/template_pool"}}),size:(0,R.NumberNode)({integer:!0})};r.register("configured_structure_feature",(0,R.Mod)((0,R.ObjectNode)({type:e({validator:"resource",params:{pool:"worldgen/structure_feature"}}),config:(0,R.ObjectNode)({[R.Switch]:["pop",{push:"type"}],[R.Case]:{"minecraft:bastion_remnant":t,"minecraft:buried_treasure":{probability:(0,R.NumberNode)({min:0,max:1})},"minecraft:mineshaft":{type:e({enum:["normal","mesa"]}),probability:(0,R.NumberNode)({min:0,max:1})},"minecraft:ocean_ruin":{biome_temp:e({enum:["cold","warm"]}),large_probability:(0,R.NumberNode)({min:0,max:1}),cluster_probability:(0,R.NumberNode)({min:0,max:1})},"minecraft:pillager_outpost":t,"minecraft:ruined_portal":{portal_type:e({enum:["standard","desert","jungle","mountain","nether","ocean","swamp"]})},"minecraft:shipwreck":{is_beached:(0,R.Opt)((0,R.BooleanNode)())},"minecraft:village":t}},{context:"structure_feature",disableSwitchContext:!0})},{context:"structure_feature"}),{default:()=>({type:"minecraft:bastion_remnant",config:{start_pool:"minecraft:bastion/starts",size:6}})}))}Ne.initStructureFeatureSchemas=pt;var ye={};Object.defineProperty(ye,"__esModule",{value:!0});ye.initSurfaceBuilderSchemas=void 0;const K=v;function ut(r,o){const e=K.StringNode.bind(void 0,o),t=K.Reference.bind(void 0,r);r.register("configured_surface_builder",(0,K.Mod)((0,K.ObjectNode)({type:e({validator:"resource",params:{pool:"worldgen/surface_builder"}}),config:(0,K.ObjectNode)({top_material:t("block_state"),under_material:t("block_state"),underwater_material:t("block_state")},{context:"surface_builder"})},{context:"surface_builder"}),{default:()=>({type:"minecraft:default",config:{top_material:{Name:"minecraft:grass_block",Properties:{snowy:"false"}},under_material:{Name:"minecraft:dirt"},underwater_material:{Name:"minecraft:gravel"}}})}))}ye.initSurfaceBuilderSchemas=ut;var he={};Object.defineProperty(he,"__esModule",{value:!0});he.initTemplatePoolSchemas=void 0;const M=v;function ft(r,o){const e=M.Reference.bind(void 0,r),t=M.StringNode.bind(void 0,o),s=(0,M.ChoiceNode)([{type:"string",node:t({validator:"resource",params:{pool:"$worldgen/processor_list"}}),change:i=>{}},{type:"object",node:e("processor_list"),change:i=>({processors:[{processor_type:"minecraft:nop"}]})}]);r.register("template_pool",(0,M.Mod)((0,M.ObjectNode)({name:t(),fallback:t(),elements:(0,M.ListNode)(e("template_weighted_element"))},{context:"template_pool"}),{default:()=>({fallback:"minecraft:empty",elements:[{weight:1,element:{element_type:"minecraft:single_pool_element",projection:"rigid",processors:"minecraft:empty"}}]})})),r.register("template_weighted_element",(0,M.Mod)((0,M.ObjectNode)({weight:(0,M.NumberNode)({integer:!0,min:1}),element:e("template_element")},{category:"pool"}),{default:()=>({weight:1,element:{element_type:"minecraft:single_pool_element",projection:"rigid",processors:"minecraft:empty"}})})),r.register("template_element",(0,M.Mod)((0,M.ObjectNode)({element_type:t({validator:"resource",params:{pool:"worldgen/structure_pool_element"}}),projection:t({enum:["rigid","terrain_matching"]}),[M.Switch]:[{push:"element_type"}],[M.Case]:{"minecraft:feature_pool_element":{feature:t({validator:"resource",params:{pool:"$worldgen/configured_feature"}})},"minecraft:legacy_single_pool_element":{location:t({validator:"resource",params:{pool:"$structure"}}),processors:s},"minecraft:list_pool_element":{elements:(0,M.ListNode)(e("template_element"))},"minecraft:single_pool_element":{location:t({validator:"resource",params:{pool:"$structure"}}),processors:s}}},{context:"template_element",disableSwitchContext:!0}),{default:()=>({element_type:"minecraft:single_pool_element",projection:"rigid",processors:"minecraft:empty"})}))}he.initTemplatePoolSchemas=ft;Object.defineProperty(le,"__esModule",{value:!0});le.initWorldgenSchemas=void 0;const gt=_e,bt=pe,Nt=ue,yt=fe,ht=be,vt=ge,Ot=Ne,kt=ye,wt=he;function xt(r,o){(0,gt.initBiomeSchemas)(r,o),(0,bt.initCarverSchemas)(r,o),(0,Nt.initDecoratorSchemas)(r,o),(0,yt.initFeatureSchemas)(r,o),(0,ht.initNoiseSettingsSchemas)(r,o),(0,vt.initProcessorListSchemas)(r,o),(0,Ot.initStructureFeatureSchemas)(r,o),(0,kt.initSurfaceBuilderSchemas)(r,o),(0,wt.initTemplatePoolSchemas)(r,o)}le.initWorldgenSchemas=xt;var ve={};Object.defineProperty(ve,"__esModule",{value:!0});ve.initWorldSettingsSchemas=void 0;const F=v;function St(r,o){const e=F.Reference.bind(void 0,r),t=F.StringNode.bind(void 0,o);r.register("world_settings",(0,F.Mod)((0,F.ObjectNode)({generate_features:(0,F.BooleanNode)(),bonus_chest:(0,F.BooleanNode)(),seed:(0,F.NumberNode)({integer:!0}),dimensions:(0,F.MapNode)(t({validator:"resource",params:{pool:"$dimension"}}),e("dimension"))},{context:"world_settings"}),{default:()=>{const s=Math.floor(Math.random()*4294967296)-2147483648;return{generate_features:!0,bonus_chest:!1,seed:s,dimensions:{"minecraft:overworld":{type:"minecraft:overworld",generator:{type:"minecraft:noise",seed:s,biome_source:{type:"minecraft:vanilla_layered",seed:s},settings:"minecraft:overworld"}},"minecraft:the_nether":{type:"minecraft:the_nether",generator:{type:"minecraft:noise",seed:s,biome_source:{type:"minecraft:multi_noise",seed:s,humidity_noise:{firstOctave:-7,amplitudes:[1,1]},altitude_noise:{firstOctave:-7,amplitudes:[1,1]},weirdness_noise:{firstOctave:-7,amplitudes:[1,1]},temperature_noise:{firstOctave:-7,amplitudes:[1,1]},biomes:[{parameters:{altitude:0,weirdness:0,offset:0,temperature:0,humidity:0},biome:"minecraft:nether_wastes"},{parameters:{altitude:0,weirdness:0,offset:0,temperature:0,humidity:-.5},biome:"minecraft:soul_sand_valley"},{parameters:{altitude:0,weirdness:0,offset:0,temperature:.4,humidity:0},biome:"minecraft:crimson_forest"},{parameters:{altitude:0,weirdness:0,offset:.375,temperature:0,humidity:.5},biome:"minecraft:warped_forest"},{parameters:{altitude:0,weirdness:0,offset:.175,temperature:-.5,humidity:0},biome:"minecraft:basalt_deltas"}]},settings:"minecraft:nether"}},"minecraft:the_end":{type:"minecraft:the_end",generator:{type:"minecraft:noise",seed:s,biome_source:{type:"minecraft:the_end",seed:s},settings:"minecraft:end"}}}}}}))}ve.initWorldSettingsSchemas=St;Object.defineProperty(Y,"__esModule",{value:!0});Y.initSchemas=void 0;const jt=J,Mt=Q,Ct=$,Lt=re,Rt=oe,Bt=ae,Pt=ie,zt=ne,$t=ce,Tt=se,Dt=de,At=me,qt=le,Ft=ve;function It(r,o){(0,Ct.initCommonSchemas)(r,o),(0,jt.initAdvancementSchemas)(r,o),(0,Mt.initAssetsSchemas)(r,o),(0,Lt.initConditionSchemas)(r,o),(0,Bt.initDimensionTypeSchemas)(r,o),(0,Rt.initDimensionSchemas)(r,o),(0,Pt.initLootTableSchemas)(r,o),(0,zt.initPackMcmetaSchemas)(r,o),(0,$t.initPredicatesSchemas)(r,o),(0,Tt.initRecipeSchemas)(r,o),(0,Dt.initTagsSchemas)(r,o),(0,At.initTextComponentSchemas)(r,o),(0,qt.initWorldgenSchemas)(r,o),(0,Ft.initWorldSettingsSchemas)(r,o)}Y.initSchemas=It;var Et=W&&W.__createBinding||(Object.create?function(r,o,e,t){t===void 0&&(t=e);var s=Object.getOwnPropertyDescriptor(o,e);(!s||("get"in s?!o.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return o[e]}}),Object.defineProperty(r,t,s)}:function(r,o,e,t){t===void 0&&(t=e),r[t]=o[e]}),Ut=W&&W.__setModuleDefault||(Object.create?function(r,o){Object.defineProperty(r,"default",{enumerable:!0,value:o})}:function(r,o){r.default=o}),Wt=W&&W.__importStar||function(r){if(r&&r.__esModule)return r;var o={};if(r!=null)for(var e in r)e!=="default"&&Object.prototype.hasOwnProperty.call(r,e)&&Et(o,r,e);return Ut(o,r),o};Object.defineProperty(q,"__esModule",{value:!0});var Le=q.getSchemas=Pe=q.getCollections=Be=q.lootContext=void 0;const Re=v,Gt=Z,Vt=Y;var Be=q.lootContext=Wt(B);function Ht(){const r=new Re.CollectionRegistry;return(0,Gt.initCollections)(r),r}var Pe=q.getCollections=Ht;function Kt(r){const o=new Re.SchemaRegistry;return(0,Vt.initSchemas)(o,r),o}Le=q.getSchemas=Kt;var Yt=Fe({__proto__:null,get getSchemas(){return Le},get getCollections(){return Pe},get lootContext(){return Be},default:q},[q]);export{Yt as i}; +//# sourceMappingURL=index.68968b48.js.map diff --git a/assets/index.3e238ebe.js.map b/assets/index.68968b48.js.map similarity index 99% rename from assets/index.3e238ebe.js.map rename to assets/index.68968b48.js.map index 61ce37cd..2446c5e3 100644 --- a/assets/index.3e238ebe.js.map +++ b/assets/index.68968b48.js.map @@ -1 +1 @@ -{"version":3,"file":"index.3e238ebe.js","sources":["../../node_modules/@mcschema/java-1.16/lib/Collections.js","../../node_modules/@mcschema/java-1.16/lib/schemas/Common.js","../../node_modules/@mcschema/java-1.16/lib/schemas/Advancement.js","../../node_modules/@mcschema/java-1.16/lib/schemas/assets/Model.js","../../node_modules/@mcschema/java-1.16/lib/schemas/assets/BlockDefinition.js","../../node_modules/@mcschema/java-1.16/lib/schemas/assets/index.js","../../node_modules/@mcschema/java-1.16/lib/schemas/Condition.js","../../node_modules/@mcschema/java-1.16/lib/schemas/Dimension.js","../../node_modules/@mcschema/java-1.16/lib/schemas/DimensionType.js","../../node_modules/@mcschema/java-1.16/lib/LootContext.js","../../node_modules/@mcschema/java-1.16/lib/schemas/LootTable.js","../../node_modules/@mcschema/java-1.16/lib/schemas/PackMcmeta.js","../../node_modules/@mcschema/java-1.16/lib/schemas/Predicates.js","../../node_modules/@mcschema/java-1.16/lib/schemas/Recipe.js","../../node_modules/@mcschema/java-1.16/lib/schemas/Tags.js","../../node_modules/@mcschema/java-1.16/lib/schemas/TextComponent.js","../../node_modules/@mcschema/java-1.16/lib/schemas/worldgen/Biome.js","../../node_modules/@mcschema/java-1.16/lib/schemas/worldgen/Carver.js","../../node_modules/@mcschema/java-1.16/lib/schemas/worldgen/Decorator.js","../../node_modules/@mcschema/java-1.16/lib/schemas/worldgen/ProcessorList.js","../../node_modules/@mcschema/java-1.16/lib/schemas/worldgen/Feature.js","../../node_modules/@mcschema/java-1.16/lib/schemas/worldgen/NoiseSettings.js","../../node_modules/@mcschema/java-1.16/lib/schemas/worldgen/StructureFeature.js","../../node_modules/@mcschema/java-1.16/lib/schemas/worldgen/SurfaceBuilder.js","../../node_modules/@mcschema/java-1.16/lib/schemas/worldgen/TemplatePool.js","../../node_modules/@mcschema/java-1.16/lib/schemas/worldgen/index.js","../../node_modules/@mcschema/java-1.16/lib/schemas/WorldSettings.js","../../node_modules/@mcschema/java-1.16/lib/schemas/index.js","../../node_modules/@mcschema/java-1.16/lib/index.js"],"sourcesContent":["\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initCollections = void 0;\r\nfunction initCollections(collections) {\r\n collections.register('advancement_trigger', [\r\n 'minecraft:bee_nest_destroyed',\r\n 'minecraft:bred_animals',\r\n 'minecraft:brewed_potion',\r\n 'minecraft:changed_dimension',\r\n 'minecraft:channeled_lightning',\r\n 'minecraft:construct_beacon',\r\n 'minecraft:consume_item',\r\n 'minecraft:cured_zombie_villager',\r\n 'minecraft:effects_changed',\r\n 'minecraft:enchanted_item',\r\n 'minecraft:enter_block',\r\n 'minecraft:entity_hurt_player',\r\n 'minecraft:entity_killed_player',\r\n 'minecraft:filled_bucket',\r\n 'minecraft:fishing_rod_hooked',\r\n 'minecraft:hero_of_the_village',\r\n 'minecraft:impossible',\r\n 'minecraft:inventory_changed',\r\n 'minecraft:item_durability_changed',\r\n 'minecraft:item_used_on_block',\r\n 'minecraft:killed_by_crossbow',\r\n 'minecraft:levitation',\r\n 'minecraft:location',\r\n 'minecraft:nether_travel',\r\n 'minecraft:placed_block',\r\n 'minecraft:player_generates_container_loot',\r\n 'minecraft:player_hurt_entity',\r\n 'minecraft:player_interacted_with_entity',\r\n 'minecraft:player_killed_entity',\r\n 'minecraft:recipe_unlocked',\r\n 'minecraft:shot_crossbow',\r\n 'minecraft:slept_in_bed',\r\n 'minecraft:slide_down_block',\r\n 'minecraft:summoned_entity',\r\n 'minecraft:tame_animal',\r\n 'minecraft:target_hit',\r\n 'minecraft:tick',\r\n 'minecraft:thrown_item_picked_up_by_entity',\r\n 'minecraft:used_ender_eye',\r\n 'minecraft:used_totem',\r\n 'minecraft:villager_trade',\r\n 'minecraft:voluntary_exile'\r\n ]);\r\n collections.register('dimension', [\r\n 'minecraft:overworld',\r\n 'minecraft:the_nether',\r\n 'minecraft:the_end'\r\n ]);\r\n collections.register('dimension_type', [\r\n 'minecraft:overworld',\r\n 'minecraft:the_nether',\r\n 'minecraft:the_end'\r\n ]);\r\n collections.register('keybind', [\r\n 'key.advancements',\r\n 'key.attack',\r\n 'key.back',\r\n 'key.chat',\r\n 'key.command',\r\n 'key.drop',\r\n 'key.forward',\r\n 'key.fullscreen',\r\n 'key.hotbar.1',\r\n 'key.hotbar.2',\r\n 'key.hotbar.3',\r\n 'key.hotbar.4',\r\n 'key.hotbar.5',\r\n 'key.hotbar.6',\r\n 'key.hotbar.7',\r\n 'key.hotbar.8',\r\n 'key.hotbar.9',\r\n 'key.inventory',\r\n 'key.jump',\r\n 'key.left',\r\n 'key.loadToolbarActivator',\r\n 'key.pickItem',\r\n 'key.playerlist',\r\n 'key.right',\r\n 'key.saveToolbarActivator',\r\n 'key.screenshot',\r\n 'key.smoothCamera',\r\n 'key.sneak',\r\n 'key.spectatorOutlines',\r\n 'key.sprint',\r\n 'key.swapOffhand',\r\n 'key.togglePerspective',\r\n 'key.use'\r\n ]);\r\n collections.register('slot', [\r\n 'mainhand',\r\n 'offhand',\r\n 'head',\r\n 'chest',\r\n 'legs',\r\n 'feet'\r\n ]);\r\n collections.register('gamemode', [\r\n 'survival',\r\n 'creative',\r\n 'adventure',\r\n 'spectator'\r\n ]);\r\n collections.register('worldgen/noise_settings', [\r\n 'minecraft:overworld',\r\n 'minecraft:nether',\r\n 'minecraft:end',\r\n 'minecraft:amplified',\r\n 'minecraft:caves',\r\n 'minecraft:floating_islands'\r\n ]);\r\n collections.register('entity_source', [\r\n 'this',\r\n 'direct_killer',\r\n 'killer',\r\n 'killer_player'\r\n ]);\r\n collections.register('copy_source', [\r\n 'block_entity',\r\n 'this',\r\n 'killer',\r\n 'killer_player'\r\n ]);\r\n collections.register('loot_table_apply_bonus_formula', [\r\n 'minecraft:uniform_bonus_count',\r\n 'minecraft:binomial_with_bonus_count',\r\n 'minecraft:ore_drops'\r\n ]);\r\n collections.register('map_decoration', [\r\n 'mansion',\r\n 'monument',\r\n 'player',\r\n 'frame',\r\n 'red_marker',\r\n 'blue_marker',\r\n 'target_x',\r\n 'target_point',\r\n 'player_off_map',\r\n 'player_off_limits',\r\n 'red_x',\r\n 'banner_white',\r\n 'banner_orange',\r\n 'banner_magenta',\r\n 'banner_light_blue',\r\n 'banner_yellow',\r\n 'banner_lime',\r\n 'banner_pink',\r\n 'banner_gray',\r\n 'banner_light_gray',\r\n 'banner_cyan',\r\n 'banner_purple',\r\n 'banner_blue',\r\n 'banner_brown',\r\n 'banner_green',\r\n 'banner_red',\r\n 'banner_black'\r\n ]);\r\n collections.register('map_feature', [\r\n 'bastion_remnant',\r\n 'buried_treasure',\r\n 'desert_pyramid',\r\n 'endcity',\r\n 'fortress',\r\n 'igloo',\r\n 'jungle_pyramid',\r\n 'mansion',\r\n 'mineshaft',\r\n 'monument',\r\n 'nether_fossil',\r\n 'ocean_ruin',\r\n 'pillager_outpost',\r\n 'ruined_portal',\r\n 'shipwreck',\r\n 'stronghold',\r\n 'swamp_hut',\r\n 'village'\r\n ]);\r\n collections.register('recipe_group', [\r\n 'bed',\r\n 'light_gray_dye',\r\n 'iron_ingot',\r\n 'wooden_stairs',\r\n 'black_dye',\r\n 'stained_terracotta',\r\n 'dyed_bed',\r\n 'magenta_dye',\r\n 'bark',\r\n 'rabbit_stew',\r\n 'light_blue_dye',\r\n 'wooden_fence_gate',\r\n 'planks',\r\n 'stained_glass',\r\n 'wooden_door',\r\n 'stained_glass_pane',\r\n 'wooden_fence',\r\n 'sticks',\r\n 'concrete_powder',\r\n 'wooden_pressure_plate',\r\n 'boat',\r\n 'brown_dye',\r\n 'yellow_dye',\r\n 'bonemeal',\r\n 'red_dye',\r\n 'wooden_trapdoor',\r\n 'wooden_button',\r\n 'gold_ingot',\r\n 'pink_dye',\r\n 'wooden_slab',\r\n 'orange_dye',\r\n 'carpet',\r\n 'sign',\r\n 'wool',\r\n 'sugar',\r\n 'blue_dye',\r\n 'white_dye',\r\n 'banner',\r\n 'netherite_ingot'\r\n ]);\r\n collections.register('worldgen/configured_feature', [\r\n 'minecraft:acacia',\r\n 'minecraft:bamboo_light',\r\n 'minecraft:bamboo_vegetation',\r\n 'minecraft:bamboo',\r\n 'minecraft:basalt_blobs',\r\n 'minecraft:basalt_pillar',\r\n 'minecraft:birch_bees_0002',\r\n 'minecraft:birch_bees_002',\r\n 'minecraft:birch_bees_005',\r\n 'minecraft:birch_other',\r\n 'minecraft:birch_tall',\r\n 'minecraft:birch',\r\n 'minecraft:blackstone_blobs',\r\n 'minecraft:blue_ice',\r\n 'minecraft:bonus_chest',\r\n 'minecraft:brown_mushroom_giant',\r\n 'minecraft:brown_mushroom_nether',\r\n 'minecraft:brown_mushroom_normal',\r\n 'minecraft:brown_mushroom_swamp',\r\n 'minecraft:brown_mushroom_taiga',\r\n 'minecraft:chorus_plant',\r\n 'minecraft:crimson_forest_vegetation',\r\n 'minecraft:crimson_fungi_planted',\r\n 'minecraft:crimson_fungi',\r\n 'minecraft:dark_forest_vegetation_brown',\r\n 'minecraft:dark_forest_vegetation_red',\r\n 'minecraft:dark_oak',\r\n 'minecraft:delta',\r\n 'minecraft:desert_well',\r\n 'minecraft:disk_clay',\r\n 'minecraft:disk_gravel',\r\n 'minecraft:disk_sand',\r\n 'minecraft:end_gateway_delayed',\r\n 'minecraft:end_gateway',\r\n 'minecraft:end_island_decorated',\r\n 'minecraft:end_island',\r\n 'minecraft:end_spike',\r\n 'minecraft:fancy_oak_bees_0002',\r\n 'minecraft:fancy_oak_bees_002',\r\n 'minecraft:fancy_oak_bees_005',\r\n 'minecraft:fancy_oak',\r\n 'minecraft:flower_default',\r\n 'minecraft:flower_forest',\r\n 'minecraft:flower_plain_decorated',\r\n 'minecraft:flower_plain',\r\n 'minecraft:flower_swamp',\r\n 'minecraft:flower_warm',\r\n 'minecraft:forest_flower_trees',\r\n 'minecraft:forest_flower_vegetation_common',\r\n 'minecraft:forest_flower_vegetation',\r\n 'minecraft:forest_rock',\r\n 'minecraft:fossil',\r\n 'minecraft:freeze_top_layer',\r\n 'minecraft:glowstone_extra',\r\n 'minecraft:glowstone',\r\n 'minecraft:huge_brown_mushroom',\r\n 'minecraft:huge_red_mushroom',\r\n 'minecraft:ice_patch',\r\n 'minecraft:ice_spike',\r\n 'minecraft:iceberg_blue',\r\n 'minecraft:iceberg_packed',\r\n 'minecraft:jungle_bush',\r\n 'minecraft:jungle_tree_no_vine',\r\n 'minecraft:jungle_tree',\r\n 'minecraft:kelp_cold',\r\n 'minecraft:kelp_warm',\r\n 'minecraft:lake_lava',\r\n 'minecraft:lake_water',\r\n 'minecraft:large_basalt_columns',\r\n 'minecraft:mega_jungle_tree',\r\n 'minecraft:mega_pine',\r\n 'minecraft:mega_spruce',\r\n 'minecraft:monster_room',\r\n 'minecraft:mushroom_field_vegetation',\r\n 'minecraft:nether_sprouts',\r\n 'minecraft:oak_badlands',\r\n 'minecraft:oak_bees_0002',\r\n 'minecraft:oak_bees_002',\r\n 'minecraft:oak_bees_005',\r\n 'minecraft:oak',\r\n 'minecraft:ore_andesite',\r\n 'minecraft:ore_blackstone',\r\n 'minecraft:ore_coal',\r\n 'minecraft:ore_debris_large',\r\n 'minecraft:ore_debris_small',\r\n 'minecraft:ore_diamond',\r\n 'minecraft:ore_diorite',\r\n 'minecraft:ore_dirt',\r\n 'minecraft:ore_emerald',\r\n 'minecraft:ore_gold_deltas',\r\n 'minecraft:ore_gold_extra',\r\n 'minecraft:ore_gold_nether',\r\n 'minecraft:ore_gold',\r\n 'minecraft:ore_granite',\r\n 'minecraft:ore_gravel_nether',\r\n 'minecraft:ore_gravel',\r\n 'minecraft:ore_infested',\r\n 'minecraft:ore_iron',\r\n 'minecraft:ore_lapis',\r\n 'minecraft:ore_magma',\r\n 'minecraft:ore_quartz_deltas',\r\n 'minecraft:ore_quartz_nether',\r\n 'minecraft:ore_redstone',\r\n 'minecraft:ore_soul_sand',\r\n 'minecraft:patch_berry_bush',\r\n 'minecraft:patch_berry_decorated',\r\n 'minecraft:patch_berry_sparse',\r\n 'minecraft:patch_brown_mushroom',\r\n 'minecraft:patch_cactus_decorated',\r\n 'minecraft:patch_cactus_desert',\r\n 'minecraft:patch_cactus',\r\n 'minecraft:patch_crimson_roots',\r\n 'minecraft:patch_dead_bush_2',\r\n 'minecraft:patch_dead_bush_badlands',\r\n 'minecraft:patch_dead_bush',\r\n 'minecraft:patch_fire',\r\n 'minecraft:patch_grass_badlands',\r\n 'minecraft:patch_grass_forest',\r\n 'minecraft:patch_grass_jungle',\r\n 'minecraft:patch_grass_normal',\r\n 'minecraft:patch_grass_plain',\r\n 'minecraft:patch_grass_savanna',\r\n 'minecraft:patch_grass_taiga_2',\r\n 'minecraft:patch_grass_taiga',\r\n 'minecraft:patch_large_fern',\r\n 'minecraft:patch_melon',\r\n 'minecraft:patch_pumpkin',\r\n 'minecraft:patch_red_mushroom',\r\n 'minecraft:patch_soul_fire',\r\n 'minecraft:patch_sugar_cane_badlands',\r\n 'minecraft:patch_sugar_cane_desert',\r\n 'minecraft:patch_sugar_cane_swamp',\r\n 'minecraft:patch_sugar_cane',\r\n 'minecraft:patch_sunflower',\r\n 'minecraft:patch_taiga_grass',\r\n 'minecraft:patch_tall_grass_2',\r\n 'minecraft:patch_tall_grass',\r\n 'minecraft:patch_waterlilly',\r\n 'minecraft:pile_hay',\r\n 'minecraft:pile_ice',\r\n 'minecraft:pile_melon',\r\n 'minecraft:pile_pumpkin',\r\n 'minecraft:pile_snow',\r\n 'minecraft:pine',\r\n 'minecraft:plain_vegetation',\r\n 'minecraft:red_mushroom_giant',\r\n 'minecraft:red_mushroom_nether',\r\n 'minecraft:red_mushroom_normal',\r\n 'minecraft:red_mushroom_swamp',\r\n 'minecraft:red_mushroom_taiga',\r\n 'minecraft:sea_pickle',\r\n 'minecraft:seagrass_cold',\r\n 'minecraft:seagrass_deep_cold',\r\n 'minecraft:seagrass_deep_warm',\r\n 'minecraft:seagrass_deep',\r\n 'minecraft:seagrass_normal',\r\n 'minecraft:seagrass_river',\r\n 'minecraft:seagrass_simple',\r\n 'minecraft:seagrass_swamp',\r\n 'minecraft:seagrass_warm',\r\n 'minecraft:small_basalt_columns',\r\n 'minecraft:spring_closed_double',\r\n 'minecraft:spring_closed',\r\n 'minecraft:spring_delta',\r\n 'minecraft:spring_lava_double',\r\n 'minecraft:spring_lava',\r\n 'minecraft:spring_open',\r\n 'minecraft:spring_water',\r\n 'minecraft:spruce_snowy',\r\n 'minecraft:spruce',\r\n 'minecraft:super_birch_bees_0002',\r\n 'minecraft:swamp_tree',\r\n 'minecraft:taiga_vegetation',\r\n 'minecraft:trees_birch',\r\n 'minecraft:trees_giant_spruce',\r\n 'minecraft:trees_giant',\r\n 'minecraft:trees_jungle_edge',\r\n 'minecraft:trees_jungle',\r\n 'minecraft:trees_mountain_edge',\r\n 'minecraft:trees_mountain',\r\n 'minecraft:trees_savanna',\r\n 'minecraft:trees_shattered_savanna',\r\n 'minecraft:trees_water',\r\n 'minecraft:twisting_vines',\r\n 'minecraft:vines',\r\n 'minecraft:void_start_platform',\r\n 'minecraft:warm_ocean_vegetation',\r\n 'minecraft:warped_forest_vegetation',\r\n 'minecraft:warped_fungi_planted',\r\n 'minecraft:warped_fungi',\r\n 'minecraft:weeping_vines'\r\n ]);\r\n collections.register('worldgen/configured_structure_feature', [\r\n 'minecraft:bastion_remnant',\r\n 'minecraft:buried_treasure',\r\n 'minecraft:desert_pyramid',\r\n 'minecraft:end_city',\r\n 'minecraft:fortress',\r\n 'minecraft:igloo',\r\n 'minecraft:jungle_pyramid',\r\n 'minecraft:mansion',\r\n 'minecraft:mineshaft_mesa',\r\n 'minecraft:mineshaft',\r\n 'minecraft:monument',\r\n 'minecraft:nether_fossil',\r\n 'minecraft:ocean_ruin_cold',\r\n 'minecraft:ocean_ruin_warm',\r\n 'minecraft:pillager_outpost',\r\n 'minecraft:ruined_portal_desert',\r\n 'minecraft:ruined_portal_jungle',\r\n 'minecraft:ruined_portal_mountain',\r\n 'minecraft:ruined_portal_nether',\r\n 'minecraft:ruined_portal_ocean',\r\n 'minecraft:ruined_portal_swamp',\r\n 'minecraft:ruined_portal',\r\n 'minecraft:shipwreck_beached',\r\n 'minecraft:shipwreck',\r\n 'minecraft:stronghold',\r\n 'minecraft:swamp_hut',\r\n 'minecraft:village_desert',\r\n 'minecraft:village_plains',\r\n 'minecraft:village_savanna',\r\n 'minecraft:village_snowy',\r\n 'minecraft:village_taiga'\r\n ]);\r\n collections.register('worldgen/configured_surface_builder', [\r\n 'minecraft:badlands',\r\n 'minecraft:basalt_deltas',\r\n 'minecraft:crimson_forest',\r\n 'minecraft:desert',\r\n 'minecraft:end',\r\n 'minecraft:eroded_badlands',\r\n 'minecraft:frozen_ocean',\r\n 'minecraft:full_sand',\r\n 'minecraft:giant_tree_taiga',\r\n 'minecraft:grass',\r\n 'minecraft:gravelly_mountain',\r\n 'minecraft:ice_spikes',\r\n 'minecraft:mountain',\r\n 'minecraft:mycelium',\r\n 'minecraft:nether',\r\n 'minecraft:nope',\r\n 'minecraft:ocean_sand',\r\n 'minecraft:shattered_savanna',\r\n 'minecraft:soul_sand_valley',\r\n 'minecraft:stone',\r\n 'minecraft:swamp',\r\n 'minecraft:warped_forest',\r\n 'minecraft:wooded_badlands'\r\n ]);\r\n collections.register('biome_category', [\r\n 'beach',\r\n 'desert',\r\n 'extreme_hills',\r\n 'forest',\r\n 'icy',\r\n 'jungle',\r\n 'mesa',\r\n 'mushroom',\r\n 'nether',\r\n 'none',\r\n 'ocean',\r\n 'plains',\r\n 'river',\r\n 'savanna',\r\n 'swamp',\r\n 'taiga',\r\n 'the_end'\r\n ]);\r\n collections.register('heightmap_type', [\r\n 'MOTION_BLOCKING',\r\n 'MOTION_BLOCKING_NO_LEAVES',\r\n 'OCEAN_FLOOR',\r\n 'OCEAN_FLOOR_WG',\r\n 'WORLD_SURFACE',\r\n 'WORLD_SURFACE_WG'\r\n ]);\r\n collections.register('generation_step', [\r\n 'air',\r\n 'liquid'\r\n ]);\r\n collections.register('loot_context_type', [\r\n 'minecraft:empty',\r\n 'minecraft:chest',\r\n 'minecraft:command',\r\n 'minecraft:selector',\r\n 'minecraft:fishing',\r\n 'minecraft:entity',\r\n 'minecraft:gift',\r\n 'minecraft:barter',\r\n 'minecraft:advancement_reward',\r\n 'minecraft:advancement_entity',\r\n 'minecraft:generic',\r\n 'minecraft:block'\r\n ]);\r\n collections.register('cat_texture', [\r\n 'textures/entity/cat/tabby.png',\r\n 'textures/entity/cat/black.png',\r\n 'textures/entity/cat/red.png',\r\n 'textures/entity/cat/siamese.png',\r\n 'textures/entity/cat/british_shorthair.png',\r\n 'textures/entity/cat/calico.png',\r\n 'textures/entity/cat/persian.png',\r\n 'textures/entity/cat/ragdoll.png',\r\n 'textures/entity/cat/white.png',\r\n 'textures/entity/cat/jellie.png',\r\n 'textures/entity/cat/all_black.png'\r\n ]);\r\n}\r\nexports.initCollections = initCollections;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initCommonSchemas = exports.UniformInt = exports.Range = exports.NoiseSettingsPresets = exports.DefaultNoiseSettings = exports.DimensionTypePresets = exports.DefaultDimensionType = exports.ConditionCases = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nexports.DefaultDimensionType = {\r\n ultrawarm: false,\r\n natural: true,\r\n piglin_safe: false,\r\n respawn_anchor_works: false,\r\n bed_works: true,\r\n has_raids: true,\r\n has_skylight: true,\r\n has_ceiling: false,\r\n coordinate_scale: 1,\r\n ambient_light: 0,\r\n logical_height: 256,\r\n infiniburn: 'minecraft:infiniburn_overworld',\r\n};\r\nexports.DefaultNoiseSettings = {\r\n name: 'minecraft:overworld',\r\n bedrock_roof_position: -10,\r\n bedrock_floor_position: 0,\r\n sea_level: 63,\r\n disable_mob_generation: false,\r\n noise: {\r\n density_factor: 1,\r\n density_offset: -0.46875,\r\n simplex_surface_noise: true,\r\n random_density_offset: true,\r\n size_horizontal: 1,\r\n size_vertical: 2,\r\n height: 256,\r\n sampling: {\r\n xz_scale: 1,\r\n y_scale: 1,\r\n xz_factor: 80,\r\n y_factor: 160\r\n },\r\n top_slide: {\r\n target: -10,\r\n size: 3,\r\n offset: 0\r\n },\r\n bottom_slide: {\r\n target: -30,\r\n size: 0,\r\n offset: 0\r\n }\r\n },\r\n default_block: {\r\n Name: \"minecraft:stone\"\r\n },\r\n default_fluid: {\r\n Name: \"minecraft:water\",\r\n Properties: {\r\n level: \"0\"\r\n }\r\n }\r\n};\r\nfunction initCommonSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n schemas.register('block_state', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n Name: StringNode({ validator: 'resource', params: { pool: 'block' } }),\r\n Properties: (0, core_1.Opt)((0, core_1.MapNode)(StringNode(), StringNode(), { validation: { validator: 'block_state_map', params: { id: ['pop', { push: 'Name' }] } } }))\r\n }, { context: 'block_state' }), {\r\n default: () => ({\r\n Name: 'minecraft:stone'\r\n })\r\n }));\r\n schemas.register('fluid_state', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n Name: StringNode({ validator: 'resource', params: { pool: 'fluid' } }),\r\n Properties: (0, core_1.Opt)((0, core_1.MapNode)(StringNode(), StringNode()))\r\n }, { context: 'fluid_state' }), {\r\n default: () => ({\r\n Name: 'minecraft:water',\r\n Properties: {\r\n 'level': '0'\r\n }\r\n })\r\n }));\r\n schemas.register('block_pos', (0, core_1.Mod)((0, core_1.ListNode)((0, core_1.NumberNode)({ integer: true }), { minLength: 3, maxLength: 3 }), {\r\n default: () => [0, 0, 0]\r\n }));\r\n exports.Range = (config) => (0, core_1.ChoiceNode)([\r\n ...((config === null || config === void 0 ? void 0 : config.forceRange) ? [] : [{\r\n type: 'number',\r\n node: (0, core_1.NumberNode)(config),\r\n change: (v) => { var _a, _b, _c; return v === undefined ? 0 : (_c = (_b = (_a = v.min) !== null && _a !== void 0 ? _a : v.max) !== null && _b !== void 0 ? _b : v.n) !== null && _c !== void 0 ? _c : 0; }\r\n }]),\r\n {\r\n type: 'object',\r\n priority: -1,\r\n node: (0, core_1.ObjectNode)({\r\n min: (config === null || config === void 0 ? void 0 : config.bounds) ? (0, core_1.NumberNode)(config) : (0, core_1.Opt)((0, core_1.NumberNode)(config)),\r\n max: (config === null || config === void 0 ? void 0 : config.bounds) ? (0, core_1.NumberNode)(config) : (0, core_1.Opt)((0, core_1.NumberNode)(config))\r\n }, { context: 'range' }),\r\n change: (v) => ({\r\n min: typeof v === 'number' ? v : v === undefined ? 1 : v.n,\r\n max: typeof v === 'number' ? v : v === undefined ? 1 : v.n\r\n })\r\n },\r\n ...((config === null || config === void 0 ? void 0 : config.allowBinomial) ? [{\r\n type: 'binomial',\r\n node: (0, core_1.ObjectNode)({\r\n type: StringNode({ enum: ['minecraft:binomial'] }),\r\n n: (0, core_1.NumberNode)({ integer: true, min: 0 }),\r\n p: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n }, { context: 'range' }),\r\n match: (v) => v !== undefined && v.type === 'minecraft:binomial',\r\n change: (v) => {\r\n var _a, _b;\r\n return ({\r\n type: 'minecraft:binomial',\r\n n: typeof v === 'number' ? v : v === undefined ? 1 : ((_b = (_a = v.min) !== null && _a !== void 0 ? _a : v.max) !== null && _b !== void 0 ? _b : 1),\r\n p: 0.5\r\n });\r\n }\r\n }] : [])\r\n ], { choiceContext: 'range' });\r\n exports.UniformInt = (config) => (0, core_1.ChoiceNode)([\r\n {\r\n type: 'number',\r\n node: (0, core_1.NumberNode)({ integer: true, min: config === null || config === void 0 ? void 0 : config.min, max: config === null || config === void 0 ? void 0 : config.max }),\r\n change: v => v.base\r\n },\r\n {\r\n type: 'object',\r\n node: (0, core_1.ObjectNode)({\r\n base: (0, core_1.NumberNode)({ integer: true, min: config === null || config === void 0 ? void 0 : config.min, max: config === null || config === void 0 ? void 0 : config.max }),\r\n spread: (0, core_1.NumberNode)({ integer: true, min: 0, max: config === null || config === void 0 ? void 0 : config.maxSpread })\r\n }),\r\n change: v => ({\r\n base: v,\r\n spread: 0\r\n })\r\n }\r\n ], { context: 'uniform_int' });\r\n exports.ConditionCases = {\r\n 'minecraft:alternative': {\r\n terms: (0, core_1.ListNode)(Reference('condition'))\r\n },\r\n 'minecraft:block_state_property': {\r\n block: StringNode({ validator: 'resource', params: { pool: 'block' } }),\r\n properties: (0, core_1.MapNode)(StringNode(), StringNode(), { validation: { validator: 'block_state_map', params: { id: ['pop', { push: 'block' }] } } })\r\n },\r\n 'minecraft:damage_source_properties': {\r\n predicate: Reference('damage_source_predicate')\r\n },\r\n 'minecraft:entity_properties': {\r\n entity: StringNode({ enum: 'entity_source' }),\r\n predicate: Reference('entity_predicate')\r\n },\r\n 'minecraft:entity_scores': {\r\n entity: StringNode({ enum: 'entity_source' }),\r\n scores: (0, core_1.MapNode)(StringNode({ validator: 'objective' }), (0, exports.Range)({ forceRange: true }))\r\n },\r\n 'minecraft:inverted': {\r\n term: Reference('condition')\r\n },\r\n 'minecraft:killed_by_player': {\r\n inverse: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n },\r\n 'minecraft:location_check': {\r\n offsetX: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n offsetY: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n offsetZ: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n predicate: Reference('location_predicate')\r\n },\r\n 'minecraft:match_tool': {\r\n predicate: Reference('item_predicate')\r\n },\r\n 'minecraft:random_chance': {\r\n chance: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n },\r\n 'minecraft:random_chance_with_looting': {\r\n chance: (0, core_1.NumberNode)({ min: 0, max: 1 }),\r\n looting_multiplier: (0, core_1.NumberNode)()\r\n },\r\n 'minecraft:reference': {\r\n name: StringNode({ validator: 'resource', params: { pool: '$predicate' } })\r\n },\r\n 'minecraft:table_bonus': {\r\n enchantment: StringNode({ validator: 'resource', params: { pool: 'enchantment' } }),\r\n chances: (0, core_1.ListNode)((0, core_1.NumberNode)({ min: 0, max: 1 }))\r\n },\r\n 'minecraft:time_check': {\r\n value: (0, exports.Range)(),\r\n period: (0, core_1.Opt)((0, core_1.NumberNode)())\r\n },\r\n 'minecraft:weather_check': {\r\n raining: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n thundering: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n }\r\n };\r\n exports.DimensionTypePresets = (node) => (0, core_1.ObjectOrPreset)(StringNode({ validator: 'resource', params: { pool: '$dimension_type' } }), node, {\r\n 'minecraft:overworld': exports.DefaultDimensionType,\r\n 'minecraft:the_nether': {\r\n name: 'minecraft:the_nether',\r\n ultrawarm: true,\r\n natural: false,\r\n shrunk: true,\r\n piglin_safe: true,\r\n respawn_anchor_works: true,\r\n bed_works: false,\r\n has_raids: false,\r\n has_skylight: false,\r\n has_ceiling: true,\r\n ambient_light: 0.1,\r\n fixed_time: 18000,\r\n logical_height: 128,\r\n effects: 'minecraft:the_nether',\r\n infiniburn: 'minecraft:infiniburn_nether',\r\n },\r\n 'minecraft:the_end': {\r\n name: 'minecraft:the_end',\r\n ultrawarm: false,\r\n natural: false,\r\n shrunk: false,\r\n piglin_safe: false,\r\n respawn_anchor_works: false,\r\n bed_works: false,\r\n has_raids: true,\r\n has_skylight: false,\r\n has_ceiling: false,\r\n ambient_light: 0,\r\n fixed_time: 6000,\r\n logical_height: 256,\r\n effects: 'minecraft:the_end',\r\n infiniburn: 'minecraft:infiniburn_end',\r\n }\r\n });\r\n exports.NoiseSettingsPresets = (node) => (0, core_1.ObjectOrPreset)(StringNode({ validator: 'resource', params: { pool: '$worldgen/noise_settings' } }), node, {\r\n 'minecraft:overworld': exports.DefaultNoiseSettings,\r\n 'minecraft:nether': {\r\n name: 'minecraft:nether',\r\n bedrock_roof_position: 0,\r\n bedrock_floor_position: 0,\r\n sea_level: 32,\r\n disable_mob_generation: true,\r\n noise: {\r\n density_factor: 0,\r\n density_offset: 0.019921875,\r\n simplex_surface_noise: false,\r\n random_density_offset: false,\r\n size_horizontal: 1,\r\n size_vertical: 2,\r\n height: 128,\r\n sampling: {\r\n xz_scale: 1,\r\n y_scale: 3,\r\n xz_factor: 80,\r\n y_factor: 60\r\n },\r\n top_slide: {\r\n target: 120,\r\n size: 3,\r\n offset: 0\r\n },\r\n bottom_slide: {\r\n target: 320,\r\n size: 4,\r\n offset: -1\r\n }\r\n },\r\n default_block: {\r\n Name: \"minecraft:netherrack\"\r\n },\r\n default_fluid: {\r\n Name: \"minecraft:lava\",\r\n Properties: {\r\n level: \"0\"\r\n }\r\n }\r\n },\r\n 'minecraft:end': {\r\n name: 'minecraft:end',\r\n bedrock_roof_position: -10,\r\n bedrock_floor_position: -10,\r\n sea_level: 0,\r\n disable_mob_generation: true,\r\n noise: {\r\n density_factor: 0,\r\n density_offset: 0,\r\n simplex_surface_noise: true,\r\n random_density_offset: false,\r\n island_noise_override: true,\r\n size_horizontal: 2,\r\n size_vertical: 1,\r\n height: 128,\r\n sampling: {\r\n xz_scale: 2,\r\n y_scale: 1,\r\n xz_factor: 80,\r\n y_factor: 160\r\n },\r\n top_slide: {\r\n target: -3000,\r\n size: 64,\r\n offset: -46\r\n },\r\n bottom_slide: {\r\n target: -30,\r\n size: 7,\r\n offset: 1\r\n }\r\n },\r\n default_block: {\r\n Name: \"minecraft:end_stone\"\r\n },\r\n default_fluid: {\r\n Name: \"minecraft:air\"\r\n }\r\n },\r\n 'minecraft:amplified': {\r\n name: 'minecraft:amplified',\r\n bedrock_roof_position: -10,\r\n bedrock_floor_position: 0,\r\n sea_level: 63,\r\n disable_mob_generation: false,\r\n noise: {\r\n density_factor: 1,\r\n density_offset: -0.46875,\r\n simplex_surface_noise: true,\r\n random_density_offset: true,\r\n amplified: true,\r\n size_horizontal: 1,\r\n size_vertical: 2,\r\n height: 256,\r\n sampling: {\r\n xz_scale: 1,\r\n y_scale: 1,\r\n xz_factor: 80,\r\n y_factor: 160\r\n },\r\n top_slide: {\r\n target: -10,\r\n size: 3,\r\n offset: 0\r\n },\r\n bottom_slide: {\r\n target: -30,\r\n size: 0,\r\n offset: 0\r\n }\r\n },\r\n default_block: {\r\n Name: \"minecraft:stone\"\r\n },\r\n default_fluid: {\r\n Name: \"minecraft:water\",\r\n Properties: {\r\n level: \"0\"\r\n }\r\n }\r\n },\r\n 'minecraft:caves': {\r\n name: 'minecraft:caves',\r\n bedrock_roof_position: 0,\r\n bedrock_floor_position: 0,\r\n sea_level: 32,\r\n disable_mob_generation: true,\r\n noise: {\r\n density_factor: 0,\r\n density_offset: 0.019921875,\r\n simplex_surface_noise: false,\r\n random_density_offset: false,\r\n size_horizontal: 1,\r\n size_vertical: 2,\r\n height: 128,\r\n sampling: {\r\n xz_scale: 1,\r\n y_scale: 3,\r\n xz_factor: 80,\r\n y_factor: 60\r\n },\r\n top_slide: {\r\n target: 120,\r\n size: 3,\r\n offset: 0\r\n },\r\n bottom_slide: {\r\n target: 320,\r\n size: 4,\r\n offset: -1\r\n }\r\n },\r\n default_block: {\r\n Name: \"minecraft:stone\"\r\n },\r\n default_fluid: {\r\n Name: \"minecraft:water\",\r\n Properties: {\r\n level: \"0\"\r\n }\r\n }\r\n },\r\n 'minecraft:floating_islands': {\r\n name: 'minecraft:floating_islands',\r\n bedrock_roof_position: -10,\r\n bedrock_floor_position: -10,\r\n sea_level: 0,\r\n disable_mob_generation: true,\r\n noise: {\r\n density_factor: 0,\r\n density_offset: 0,\r\n simplex_surface_noise: true,\r\n random_density_offset: false,\r\n island_noise_override: true,\r\n size_horizontal: 2,\r\n size_vertical: 1,\r\n height: 128,\r\n sampling: {\r\n xz_scale: 2,\r\n y_scale: 1,\r\n xz_factor: 80,\r\n y_factor: 160\r\n },\r\n top_slide: {\r\n target: -3000,\r\n size: 64,\r\n offset: -46\r\n },\r\n bottom_slide: {\r\n target: -30,\r\n size: 7,\r\n offset: 1\r\n }\r\n },\r\n default_block: {\r\n Name: \"minecraft:stone\"\r\n },\r\n default_fluid: {\r\n Name: \"minecraft:water\",\r\n Properties: {\r\n level: \"0\"\r\n }\r\n }\r\n }\r\n });\r\n}\r\nexports.initCommonSchemas = initCommonSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initAdvancementSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"./Common\");\r\nfunction initAdvancementSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const EntityPredicate = (0, core_1.ChoiceNode)([\r\n {\r\n type: 'object',\r\n node: (0, core_1.Opt)(Reference('entity_predicate')),\r\n change: v => { var _a, _b; return (_b = (_a = v[0]) === null || _a === void 0 ? void 0 : _a.predicate) !== null && _b !== void 0 ? _b : ({}); }\r\n },\r\n {\r\n type: 'list',\r\n node: (0, core_1.ListNode)(Reference('condition')),\r\n change: v => [{\r\n condition: 'minecraft:entity_properties',\r\n predicate: v\r\n }]\r\n }\r\n ], { context: 'conditions' });\r\n schemas.register('advancement', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n display: (0, core_1.Opt)((0, core_1.Mod)((0, core_1.ObjectNode)({\r\n icon: (0, core_1.ObjectNode)({\r\n item: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n nbt: (0, core_1.Opt)(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:item', id: ['pop', { push: 'item' }] } } }))\r\n }),\r\n title: Reference('text_component'),\r\n description: Reference('text_component'),\r\n background: (0, core_1.Opt)(StringNode()),\r\n frame: (0, core_1.Opt)(StringNode({ enum: ['task', 'challenge', 'goal'] })),\r\n show_toast: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n announce_to_chat: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n hidden: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n }), {\r\n default: () => ({\r\n icon: {\r\n item: 'minecraft:stone'\r\n },\r\n title: '',\r\n description: ''\r\n })\r\n })),\r\n parent: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$advancement' } })),\r\n criteria: (0, core_1.MapNode)(StringNode(), Reference('advancement_criteria')),\r\n requirements: (0, core_1.Opt)((0, core_1.ListNode)((0, core_1.ListNode)(StringNode() // TODO: add validation\r\n ))),\r\n rewards: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n function: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$function' } })),\r\n loot: (0, core_1.Opt)((0, core_1.ListNode)(StringNode({ validator: 'resource', params: { pool: '$loot_table' } }))),\r\n recipes: (0, core_1.Opt)((0, core_1.ListNode)(StringNode({ validator: 'resource', params: { pool: '$recipe' } }))),\r\n experience: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true }))\r\n })),\r\n }, { context: 'advancement' }), {\r\n default: () => ({\r\n criteria: {\r\n requirement: {\r\n trigger: 'minecraft:location'\r\n }\r\n }\r\n })\r\n }));\r\n schemas.register('advancement_criteria', (0, core_1.ObjectNode)({\r\n trigger: StringNode({ validator: 'resource', params: { pool: collections.get('advancement_trigger') } }),\r\n conditions: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n player: (0, core_1.Mod)(EntityPredicate, {\r\n enabled: path => path.pop().push('trigger').get() !== 'minecraft:impossible'\r\n }),\r\n [core_1.Switch]: ['pop', { push: 'trigger' }],\r\n [core_1.Case]: {\r\n 'minecraft:bee_nest_destroyed': {\r\n block: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: 'block' } })),\r\n num_bees_inside: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n item: (0, core_1.Opt)(Reference('item_predicate'))\r\n },\r\n 'minecraft:bred_animals': {\r\n parent: EntityPredicate,\r\n partner: EntityPredicate,\r\n child: EntityPredicate\r\n },\r\n 'minecraft:brewed_potion': {\r\n potion: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: 'potion' } }))\r\n },\r\n 'minecraft:changed_dimension': {\r\n from: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$dimension' } })),\r\n to: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$dimension' } }))\r\n },\r\n 'minecraft:channeled_lightning': {\r\n victims: (0, core_1.Opt)((0, core_1.ListNode)(EntityPredicate))\r\n },\r\n 'minecraft:construct_beacon': {\r\n level: (0, core_1.Opt)((0, Common_1.Range)())\r\n },\r\n 'minecraft:consume_item': {\r\n item: (0, core_1.Opt)(Reference('item_predicate'))\r\n },\r\n 'minecraft:cured_zombie_villager': {\r\n villager: EntityPredicate,\r\n zombie: EntityPredicate\r\n },\r\n 'minecraft:effects_changed': {\r\n effects: (0, core_1.Opt)((0, core_1.MapNode)(StringNode({ validator: 'resource', params: { pool: 'mob_effect' } }), Reference('status_effect_predicate')))\r\n },\r\n 'minecraft:enter_block': {\r\n block: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: 'block' } })),\r\n state: (0, core_1.Opt)((0, core_1.MapNode)(StringNode(), StringNode(), { validation: { validator: 'block_state_map', params: { id: ['pop', { push: 'block' }] } } }))\r\n },\r\n 'minecraft:enchanted_item': {\r\n levels: (0, core_1.Opt)((0, Common_1.Range)()),\r\n item: (0, core_1.Opt)(Reference('item_predicate'))\r\n },\r\n 'minecraft:entity_hurt_player': {\r\n damage: (0, core_1.Opt)(Reference('damage_predicate'))\r\n },\r\n 'minecraft:entity_killed_player': {\r\n entity: EntityPredicate,\r\n killing_blow: (0, core_1.Opt)(Reference('damage_source_predicate'))\r\n },\r\n 'minecraft:filled_bucket': {\r\n item: (0, core_1.Opt)(Reference('item_predicate'))\r\n },\r\n 'minecraft:fishing_rod_hooked': {\r\n entity: EntityPredicate,\r\n item: (0, core_1.Opt)(Reference('item_predicate'))\r\n },\r\n 'minecraft:hero_of_the_village': {\r\n location: (0, core_1.Opt)(Reference('location_predicate'))\r\n },\r\n 'minecraft:inventory_changed': {\r\n slots: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n empty: (0, core_1.Opt)((0, Common_1.Range)()),\r\n occupied: (0, core_1.Opt)((0, Common_1.Range)()),\r\n full: (0, core_1.Opt)((0, Common_1.Range)())\r\n })),\r\n items: (0, core_1.Opt)((0, core_1.ListNode)(Reference('item_predicate')))\r\n },\r\n 'minecraft:item_durability_changed': {\r\n delta: (0, core_1.Opt)((0, Common_1.Range)()),\r\n durability: (0, core_1.Opt)((0, Common_1.Range)()),\r\n item: (0, core_1.Opt)(Reference('item_predicate'))\r\n },\r\n 'minecraft:item_used_on_block': {\r\n item: (0, core_1.Opt)(Reference('item_predicate')),\r\n location: (0, core_1.Opt)(Reference('location_predicate'))\r\n },\r\n 'minecraft:killed_by_crossbow': {\r\n unique_entity_types: (0, core_1.Opt)((0, Common_1.Range)()),\r\n victims: (0, core_1.Opt)((0, core_1.ListNode)(EntityPredicate))\r\n },\r\n 'minecraft:levitation': {\r\n distance: (0, core_1.Opt)((0, Common_1.Range)()),\r\n duration: (0, core_1.Opt)((0, Common_1.Range)())\r\n },\r\n 'minecraft:location': {\r\n location: (0, core_1.Opt)(Reference('location_predicate'))\r\n },\r\n 'minecraft:nether_travel': {\r\n distance: (0, core_1.Opt)((0, Common_1.Range)()),\r\n entered: (0, core_1.Opt)(Reference('location_predicate')),\r\n exited: (0, core_1.Opt)(Reference('location_predicate'))\r\n },\r\n 'minecraft:placed_block': {\r\n block: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: 'block' } })),\r\n state: (0, core_1.Opt)((0, core_1.MapNode)(StringNode(), StringNode(), { validation: { validator: 'block_state_map', params: { id: ['pop', { push: 'block' }] } } })),\r\n item: (0, core_1.Opt)(Reference('item_predicate')),\r\n location: (0, core_1.Opt)(Reference('location_predicate'))\r\n },\r\n 'minecraft:player_generates_container_loot': {\r\n loot_table: StringNode({ validator: 'resource', params: { pool: '$loot_table' } })\r\n },\r\n 'minecraft:player_hurt_entity': {\r\n damage: (0, core_1.Opt)(Reference('damage_predicate')),\r\n entity: EntityPredicate\r\n },\r\n 'minecraft:player_interacted_with_entity': {\r\n item: (0, core_1.Opt)(Reference('item_predicate')),\r\n entity: EntityPredicate\r\n },\r\n 'minecraft:player_killed_entity': {\r\n entity: EntityPredicate,\r\n killing_blow: (0, core_1.Opt)(Reference('damage_source_predicate'))\r\n },\r\n 'minecraft:recipe_unlocked': {\r\n recipe: StringNode({ validator: 'resource', params: { pool: '$recipe' } })\r\n },\r\n 'minecraft:slept_in_bed': {\r\n location: (0, core_1.Opt)(Reference('location_predicate'))\r\n },\r\n 'minecraft:slide_down_block': {\r\n block: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: 'block' } }))\r\n },\r\n 'minecraft:shot_crossbow': {\r\n item: (0, core_1.Opt)(Reference('item_predicate'))\r\n },\r\n 'minecraft:summoned_entity': {\r\n entity: EntityPredicate\r\n },\r\n 'minecraft:tame_animal': {\r\n entity: EntityPredicate\r\n },\r\n 'minecraft:target_hit': {\r\n projectile: EntityPredicate,\r\n shooter: EntityPredicate,\r\n signal_strength: (0, core_1.Opt)((0, Common_1.Range)({ integer: true }))\r\n },\r\n 'minecraft:thrown_item_picked_up_by_entity': {\r\n entity: EntityPredicate,\r\n item: (0, core_1.Opt)(Reference('item_predicate'))\r\n },\r\n 'minecraft:used_ender_eye': {\r\n distance: (0, core_1.Opt)((0, Common_1.Range)())\r\n },\r\n 'minecraft:used_totem': {\r\n item: (0, core_1.Opt)(Reference('item_predicate'))\r\n },\r\n 'minecraft:villager_trade': {\r\n villager: EntityPredicate,\r\n item: (0, core_1.Opt)(Reference('item_predicate'))\r\n },\r\n 'minecraft:voluntary_exile': {\r\n location: Reference('location_predicate')\r\n }\r\n }\r\n }, { context: 'criterion' }))\r\n }, { category: 'predicate', context: 'criterion' }));\r\n}\r\nexports.initAdvancementSchemas = initAdvancementSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initModelSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initModelSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const Vec = (length, min, max) => (0, core_1.ListNode)((0, core_1.NumberNode)({ min, max }), { minLength: length, maxLength: length });\r\n const Texture = (0, core_1.ChoiceNode)([\r\n {\r\n type: 'alias',\r\n match: (v) => typeof v === 'string' && v.startsWith('#'),\r\n node: StringNode(),\r\n change: (v) => typeof v === 'string' ? `#${v}` : \"#0\"\r\n },\r\n {\r\n type: 'reference',\r\n match: (v) => typeof v === 'string',\r\n node: StringNode({ validator: 'resource', params: { pool: '$texture' } }),\r\n change: (v) => typeof v === 'string' ? v.replace(/^#/, '') : \"\"\r\n }\r\n ], { choiceContext: 'texture' });\r\n schemas.register('model', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n parent: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$model' } })),\r\n ambientocclusion: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n gui_light: (0, core_1.Opt)(StringNode({ enum: 'gui_light' })),\r\n textures: (0, core_1.Opt)((0, core_1.MapNode)(StringNode(), Texture)),\r\n elements: (0, core_1.Opt)((0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n from: Vec(3, -16, 32),\r\n to: Vec(3, -16, 32),\r\n rotation: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n origin: Vec(3),\r\n axis: StringNode({ enum: 'axis' }),\r\n angle: (0, core_1.NumberEnum)({ values: [-45, -22.5, 0, 22.5, 45] }),\r\n rescale: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n })),\r\n shade: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n faces: (0, core_1.MapNode)(StringNode({ enum: 'direction' }), (0, core_1.ObjectNode)({\r\n texture: Texture,\r\n uv: (0, core_1.Opt)(Vec(4)),\r\n cullface: (0, core_1.Opt)(StringNode({ enum: 'direction' })),\r\n rotation: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n tintindex: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true }))\r\n }))\r\n }, { context: 'model_element' }))),\r\n display: (0, core_1.Opt)((0, core_1.MapNode)(StringNode({ enum: 'display_position' }), (0, core_1.ObjectNode)({\r\n rotation: Vec(3),\r\n translation: Vec(3, -80, 80),\r\n scale: Vec(3, -4, 4)\r\n }, { context: 'item_transform' }))),\r\n overrides: (0, core_1.Opt)((0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n predicate: (0, core_1.MapNode)(StringNode({ enum: 'item_model_predicates' }), (0, core_1.NumberNode)()),\r\n model: StringNode({ validator: 'resource', params: { pool: '$model' } })\r\n }, { context: 'model_override' })))\r\n }, { context: 'model' }), {\r\n default: () => ({\r\n parent: 'minecraft:item/generated',\r\n textures: {\r\n layer0: 'minecraft:item/diamond'\r\n }\r\n })\r\n }));\r\n}\r\nexports.initModelSchemas = initModelSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initBlockDefinitionSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initBlockDefinitionSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('block_definition', (0, core_1.Mod)((0, core_1.ChoiceNode)([\r\n {\r\n type: 'variants',\r\n match: (v) => v.variants !== undefined,\r\n node: (0, core_1.ObjectNode)({\r\n variants: (0, core_1.MapNode)(StringNode(), Reference('model_variant'))\r\n }),\r\n change: (v) => ({ variants: { \"\": {} } })\r\n },\r\n {\r\n type: 'multipart',\r\n match: (v) => v.multipart !== undefined,\r\n node: (0, core_1.ObjectNode)({\r\n multipart: (0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n when: (0, core_1.Opt)(Reference('multipart_condition')),\r\n apply: Reference('model_variant'),\r\n }))\r\n }),\r\n change: (v) => ({ multipart: { when: {}, apply: {} } })\r\n }\r\n ], { context: 'block_definition' }), {\r\n default: () => ({\r\n variants: {\r\n \"\": {\r\n model: 'minecraft:block/stone'\r\n }\r\n }\r\n })\r\n }));\r\n const VariantChildren = {\r\n model: StringNode({ validator: 'resource', params: { pool: '$model' } }),\r\n x: (0, core_1.Opt)((0, core_1.NumberEnum)({ integer: true, values: [0, 90, 180, 270] })),\r\n y: (0, core_1.Opt)((0, core_1.NumberEnum)({ integer: true, values: [0, 90, 180, 270] })),\r\n uvlock: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n };\r\n schemas.register('model_variant', (0, core_1.ChoiceNode)([\r\n {\r\n type: 'object',\r\n node: (0, core_1.ObjectNode)(VariantChildren),\r\n change: (v) => Array.isArray(v) && v.length > 0 ? v[0] : ({})\r\n },\r\n {\r\n type: 'list',\r\n node: (0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n ...VariantChildren,\r\n weight: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 1 }))\r\n }, { context: 'model_variant' })),\r\n change: (v) => [{ weight: 1, ...v }]\r\n }\r\n ], { context: 'model_variant' }));\r\n schemas.register('multipart_condition', (0, core_1.ChoiceNode)([\r\n {\r\n type: 'object',\r\n priority: -1,\r\n match: () => true,\r\n node: (0, core_1.MapNode)(StringNode(), StringNode()),\r\n change: (v) => typeof v === 'object' && Array.isArray(v === null || v === void 0 ? void 0 : v.OR) && v.OR.length > 0 ? v.OR[0] : ({})\r\n },\r\n {\r\n type: 'or',\r\n match: (v) => typeof v === 'object' && (v === null || v === void 0 ? void 0 : v.OR) !== undefined,\r\n node: (0, core_1.ObjectNode)({\r\n OR: (0, core_1.ListNode)(Reference('multipart_condition'))\r\n }),\r\n change: (v) => ({ OR: [v !== null && v !== void 0 ? v : {}] })\r\n }\r\n ], { context: 'multipart_condition' }));\r\n}\r\nexports.initBlockDefinitionSchemas = initBlockDefinitionSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initAssetsSchemas = void 0;\r\nconst Model_1 = require(\"./Model\");\r\nconst BlockDefinition_1 = require(\"./BlockDefinition\");\r\nfunction initAssetsSchemas(schemas, collections) {\r\n (0, BlockDefinition_1.initBlockDefinitionSchemas)(schemas, collections);\r\n (0, Model_1.initModelSchemas)(schemas, collections);\r\n}\r\nexports.initAssetsSchemas = initAssetsSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initConditionSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"./Common\");\r\nfunction initConditionSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('predicate', (0, core_1.ObjectOrList)(Reference('condition'), { choiceContext: 'condition' }));\r\n schemas.register('condition', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n condition: StringNode({ validator: 'resource', params: { pool: 'loot_condition_type' } }),\r\n [core_1.Switch]: [{ push: 'condition' }],\r\n [core_1.Case]: Common_1.ConditionCases\r\n }, { category: 'predicate', context: 'condition' }), {\r\n default: () => ({\r\n condition: 'minecraft:entity_properties',\r\n entity: 'this'\r\n })\r\n }));\r\n}\r\nexports.initConditionSchemas = initConditionSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initDimensionSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"./Common\");\r\nfunction initDimensionSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const NoPreset = (node) => (0, core_1.Mod)(node, {\r\n enabled: path => path.push('preset').get() === undefined\r\n });\r\n schemas.register('dimension', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n type: (0, Common_1.DimensionTypePresets)(Reference('dimension_type')),\r\n generator: (0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/chunk_generator' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:noise': {\r\n seed: (0, core_1.NumberNode)({ integer: true }),\r\n settings: (0, Common_1.NoiseSettingsPresets)(Reference('noise_settings')),\r\n biome_source: (0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/biome_source' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:fixed': {\r\n biome: StringNode({ validator: 'resource', params: { pool: '$worldgen/biome' } })\r\n },\r\n 'minecraft:multi_noise': {\r\n seed: (0, core_1.NumberNode)({ integer: true }),\r\n preset: (0, core_1.Opt)(StringNode({ enum: ['nether'] })),\r\n altitude_noise: NoPreset(Reference('generator_biome_noise')),\r\n temperature_noise: NoPreset(Reference('generator_biome_noise')),\r\n humidity_noise: NoPreset(Reference('generator_biome_noise')),\r\n weirdness_noise: NoPreset(Reference('generator_biome_noise')),\r\n biomes: NoPreset((0, core_1.Mod)((0, core_1.ListNode)(Reference('generator_biome')), {\r\n default: () => [{\r\n biome: 'minecraft:plains'\r\n }]\r\n }))\r\n },\r\n 'minecraft:checkerboard': {\r\n scale: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 0, max: 62 })),\r\n biomes: (0, core_1.ListNode)(StringNode({ validator: 'resource', params: { pool: '$worldgen/biome' } }))\r\n },\r\n 'minecraft:the_end': {\r\n seed: (0, core_1.NumberNode)({ integer: true })\r\n },\r\n 'minecraft:vanilla_layered': {\r\n seed: (0, core_1.NumberNode)({ integer: true }),\r\n large_biomes: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n legacy_biome_init_layer: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n }\r\n }\r\n }, { category: 'predicate', disableSwitchContext: true })\r\n },\r\n 'minecraft:flat': {\r\n settings: (0, core_1.ObjectNode)({\r\n biome: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$worldgen/biome' } })),\r\n lakes: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n features: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n layers: (0, core_1.ListNode)(Reference('generator_layer')),\r\n structures: Reference('generator_structures')\r\n })\r\n }\r\n }\r\n }, { disableSwitchContext: true })\r\n }, { category: 'pool', context: 'dimension' }), {\r\n default: () => {\r\n const seed = Math.floor(Math.random() * (4294967296)) - 2147483648;\r\n return {\r\n type: 'minecraft:overworld',\r\n generator: {\r\n type: 'minecraft:noise',\r\n seed,\r\n biome_source: {\r\n type: 'minecraft:fixed',\r\n seed,\r\n biome: 'minecraft:plains'\r\n },\r\n settings: 'minecraft:overworld'\r\n }\r\n };\r\n }\r\n }));\r\n schemas.register('generator_biome', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n biome: StringNode({ validator: 'resource', params: { pool: '$worldgen/biome' } }),\r\n parameters: (0, core_1.ObjectNode)({\r\n altitude: (0, core_1.NumberNode)(),\r\n temperature: (0, core_1.NumberNode)(),\r\n humidity: (0, core_1.NumberNode)(),\r\n weirdness: (0, core_1.NumberNode)(),\r\n offset: (0, core_1.NumberNode)()\r\n })\r\n }, { context: 'generator_biome' }), {\r\n default: () => ({\r\n biome: 'minecraft:plains',\r\n parameters: {\r\n altitude: 0,\r\n temperature: 0,\r\n humidity: 0,\r\n weirdness: 0,\r\n offset: 0\r\n }\r\n })\r\n }));\r\n schemas.register('generator_biome_noise', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n firstOctave: (0, core_1.NumberNode)({ integer: true }),\r\n amplitudes: (0, core_1.ListNode)((0, core_1.NumberNode)())\r\n }, { context: 'generator_biome_noise' }), {\r\n default: () => ({\r\n firstOctave: -7,\r\n amplitudes: [1, 1]\r\n })\r\n }));\r\n}\r\nexports.initDimensionSchemas = initDimensionSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initDimensionTypeSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"./Common\");\r\nfunction initDimensionTypeSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('dimension_type', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n name: (0, core_1.Mod)(StringNode({ validator: 'resource', params: { pool: '$dimension_type', isDefinition: true } }), {\r\n enabled: (path) => path.getArray().length > 0\r\n }),\r\n ultrawarm: (0, core_1.BooleanNode)(),\r\n natural: (0, core_1.BooleanNode)(),\r\n piglin_safe: (0, core_1.BooleanNode)(),\r\n respawn_anchor_works: (0, core_1.BooleanNode)(),\r\n bed_works: (0, core_1.BooleanNode)(),\r\n has_raids: (0, core_1.BooleanNode)(),\r\n has_skylight: (0, core_1.BooleanNode)(),\r\n has_ceiling: (0, core_1.BooleanNode)(),\r\n coordinate_scale: (0, core_1.NumberNode)({ min: 0.00001, max: 30000000 }),\r\n ambient_light: (0, core_1.NumberNode)(),\r\n fixed_time: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n logical_height: (0, core_1.NumberNode)({ integer: true, min: 0, max: 256 }),\r\n effects: (0, core_1.Opt)(StringNode({ enum: ['minecraft:overworld', 'minecraft:the_nether', 'minecraft:the_end'] })),\r\n infiniburn: StringNode({ validator: 'resource', params: { pool: '$tag/block' } })\r\n }, { context: 'dimension_type' }), {\r\n default: () => Common_1.DefaultDimensionType\r\n }));\r\n}\r\nexports.initDimensionTypeSchemas = initDimensionTypeSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.LootFunctions = exports.LootConditions = exports.LootCopySources = exports.LootEntitySources = exports.LootTableTypes = void 0;\r\nexports.LootTableTypes = new Map([\r\n ['minecraft:advancement_entity', { requires: [7 /* Origin */, 8 /* ThisEntity */], allows: [] }],\r\n ['minecraft:advancement_reward', { requires: [7 /* Origin */, 8 /* ThisEntity */], allows: [] }],\r\n ['minecraft:barter', { requires: [8 /* ThisEntity */], allows: [] }],\r\n ['minecraft:block', { requires: [1 /* BlockState */, 7 /* Origin */, 9 /* Tool */], allows: [0 /* BlockEntity */, 4 /* ExplosionRadius */, 8 /* ThisEntity */] }],\r\n ['minecraft:chest', { requires: [7 /* Origin */], allows: [8 /* ThisEntity */] }],\r\n ['minecraft:command', { requires: [7 /* Origin */], allows: [8 /* ThisEntity */] }],\r\n ['minecraft:empty', { requires: [], allows: [] }],\r\n ['minecraft:entity', { requires: [2 /* DamageSource */, 7 /* Origin */, 8 /* ThisEntity */], allows: [3 /* DirectKillerEntity */, 5 /* KillerEntity */, 6 /* LastDamagePlayer */] }],\r\n ['minecraft:fishing', { requires: [7 /* Origin */, 9 /* Tool */], allows: [8 /* ThisEntity */] }],\r\n ['minecraft:generic', { requires: [2 /* DamageSource */, 0 /* BlockEntity */, 1 /* BlockState */, 3 /* DirectKillerEntity */, 4 /* ExplosionRadius */, 5 /* KillerEntity */, 6 /* LastDamagePlayer */, 7 /* Origin */, 8 /* ThisEntity */, 9 /* Tool */], allows: [] }],\r\n ['minecraft:gift', { requires: [7 /* Origin */, 8 /* ThisEntity */], allows: [] }],\r\n ['minecraft:selector', { requires: [7 /* Origin */], allows: [8 /* ThisEntity */] }]\r\n]);\r\n/**\r\n * A map from loot entity sources to an array of their required context.\r\n */\r\nexports.LootEntitySources = new Map([\r\n ['direct_killer', [3 /* DirectKillerEntity */]],\r\n ['killer', [5 /* KillerEntity */]],\r\n ['killer_player', [5 /* KillerEntity */]],\r\n ['this', [8 /* ThisEntity */]]\r\n]);\r\n/**\r\n * A map from loot copy sources to an array of their required context.\r\n */\r\nexports.LootCopySources = new Map([\r\n ['block_entity', [0 /* BlockEntity */]],\r\n ['killer', [5 /* KillerEntity */]],\r\n ['killer_player', [5 /* KillerEntity */]],\r\n ['this', [8 /* ThisEntity */]]\r\n]);\r\n/**\r\n * A map from loot condition IDs to an array of their required context.\r\n */\r\nexports.LootConditions = new Map([\r\n ['minecraft:alternative', []],\r\n ['minecraft:block_state_property', [1 /* BlockState */]],\r\n ['minecraft:damage_source_properties', [2 /* DamageSource */]],\r\n ['minecraft:entity_properties', [7 /* Origin */]],\r\n ['minecraft:entity_scores', []],\r\n ['minecraft:inverted', []],\r\n ['minecraft:killed_by_player', [6 /* LastDamagePlayer */]],\r\n ['minecraft:location_check', []],\r\n ['minecraft:match_tool', [9 /* Tool */]],\r\n ['minecraft:random_chance', []],\r\n ['minecraft:random_chance_with_looting', [5 /* KillerEntity */]],\r\n ['minecraft:reference', []],\r\n ['minecraft:survives_explosion', [4 /* ExplosionRadius */]],\r\n ['minecraft:table_bonus', [9 /* Tool */]],\r\n ['minecraft:time_check', []],\r\n ['minecraft:weather_check', []]\r\n]);\r\n/**\r\n * A map from loot function IDs to an array of their required context.\r\n */\r\nexports.LootFunctions = new Map([\r\n ['minecraft:apply_bonus', [9 /* Tool */]],\r\n ['minecraft:copy_name', []],\r\n ['minecraft:copy_nbt', []],\r\n ['minecraft:copy_state', [1 /* BlockState */]],\r\n ['minecraft:enchant_randomly', []],\r\n ['minecraft:enchant_with_levels', []],\r\n ['minecraft:exploration_map', [7 /* Origin */]],\r\n ['minecraft:explosion_decay', []],\r\n ['minecraft:fill_player_head', []],\r\n ['minecraft:furnace_smelt', []],\r\n ['minecraft:limit_count', []],\r\n ['minecraft:looting_enchant', [5 /* KillerEntity */]],\r\n ['minecraft:set_attributes', []],\r\n ['minecraft:set_contents', []],\r\n ['minecraft:set_count', []],\r\n ['minecraft:set_damage', []],\r\n ['minecraft:set_loot_table', []],\r\n ['minecraft:set_lore', []],\r\n ['minecraft:set_name', []],\r\n ['minecraft:set_nbt', []],\r\n ['minecraft:set_stew_effect', []]\r\n]);\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initLootTableSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst LootContext_1 = require(\"../LootContext\");\r\nconst Common_1 = require(\"./Common\");\r\nfunction initLootTableSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const conditions = {\r\n conditions: (0, core_1.Opt)((0, core_1.ListNode)(Reference('loot_condition')))\r\n };\r\n const functionsAndConditions = {\r\n functions: (0, core_1.Opt)((0, core_1.ListNode)(Reference('loot_function'))),\r\n ...conditions\r\n };\r\n function compileSwitchNode(contextMap, collectionID, getNode) {\r\n const cases = [];\r\n const getAvailableOptions = (providedContext) => collections\r\n .get(collectionID)\r\n .filter(t => {\r\n var _a;\r\n const requiredContext = (_a = contextMap.get(t)) !== null && _a !== void 0 ? _a : [];\r\n return requiredContext.every(c => providedContext.includes(c));\r\n });\r\n for (const [tableType, { allows, requires }] of LootContext_1.LootTableTypes) {\r\n const providedContext = [...allows, ...requires];\r\n cases.push({\r\n match: path => path.getModel().get(new core_1.Path(['type'])) === tableType,\r\n node: getNode(getAvailableOptions(providedContext))\r\n });\r\n }\r\n cases.push({ match: _ => true, node: getNode(collectionID) });\r\n return (0, core_1.SwitchNode)(cases);\r\n }\r\n const conditionSwtichNode = compileSwitchNode(LootContext_1.LootConditions, 'loot_condition_type', type => StringNode({ validator: 'resource', params: { pool: type instanceof Array ? type : `loot_condition_type` } }));\r\n const functionSwtichNode = compileSwitchNode(LootContext_1.LootFunctions, 'loot_function_type', type => StringNode({ validator: 'resource', params: { pool: type instanceof Array ? type : `loot_function_type` } }));\r\n const entitySourceSwtichNode = compileSwitchNode(LootContext_1.LootEntitySources, 'entity_source', type => StringNode({ enum: type }));\r\n const copySourceSwtichNode = compileSwitchNode(LootContext_1.LootCopySources, 'copy_source', type => StringNode({ enum: type }));\r\n schemas.register('loot_table', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n type: (0, core_1.Opt)(StringNode({ validator: \"resource\", params: { pool: collections.get('loot_context_type') } })),\r\n pools: (0, core_1.Opt)((0, core_1.ListNode)((0, core_1.Mod)((0, core_1.ObjectNode)({\r\n rolls: (0, Common_1.Range)({ allowBinomial: true, integer: true }),\r\n bonus_rolls: (0, core_1.Opt)((0, Common_1.Range)({ integer: true })),\r\n entries: (0, core_1.ListNode)(Reference('loot_entry')),\r\n ...functionsAndConditions\r\n }, { category: 'pool', context: 'loot_pool' }), {\r\n default: () => ({\r\n rolls: 1,\r\n entries: [{\r\n type: 'minecraft:item',\r\n name: 'minecraft:stone'\r\n }]\r\n })\r\n }))),\r\n functions: (0, core_1.Opt)((0, core_1.ListNode)(Reference('loot_function')))\r\n }, { context: 'loot_table' }), {\r\n default: () => ({\r\n pools: [{\r\n rolls: 1,\r\n entries: [{\r\n type: 'minecraft:item',\r\n name: 'minecraft:stone'\r\n }]\r\n }]\r\n })\r\n }));\r\n const weightMod = {\r\n enabled: path => {\r\n var _a;\r\n return ((_a = path.pop().get()) === null || _a === void 0 ? void 0 : _a.length) > 1\r\n && !['minecraft:alternatives', 'minecraft:group', 'minecraft:sequence'].includes(path.push('type').get());\r\n }\r\n };\r\n schemas.register('loot_entry', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'loot_pool_entry_type' } }),\r\n weight: (0, core_1.Opt)((0, core_1.Mod)((0, core_1.NumberNode)({ integer: true, min: 1 }), weightMod)),\r\n quality: (0, core_1.Opt)((0, core_1.Mod)((0, core_1.NumberNode)({ integer: true }), weightMod)),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:alternatives': {\r\n children: (0, core_1.ListNode)(Reference('loot_entry')),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:dynamic': {\r\n name: StringNode(),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:group': {\r\n children: (0, core_1.ListNode)(Reference('loot_entry')),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:item': {\r\n name: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:loot_table': {\r\n name: StringNode({ validator: 'resource', params: { pool: '$loot_table' } }),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:sequence': {\r\n children: (0, core_1.ListNode)(Reference('loot_entry')),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:tag': {\r\n name: StringNode({ validator: 'resource', params: { pool: '$tag/item' } }),\r\n expand: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n ...functionsAndConditions\r\n }\r\n }\r\n }, { context: 'loot_entry' }), {\r\n default: () => ({\r\n type: 'minecraft:item',\r\n name: 'minecraft:stone'\r\n })\r\n }));\r\n schemas.register('loot_function', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n function: functionSwtichNode,\r\n [core_1.Switch]: [{ push: 'function' }],\r\n [core_1.Case]: (() => {\r\n const cases = {\r\n 'minecraft:apply_bonus': {\r\n enchantment: StringNode({ validator: 'resource', params: { pool: 'enchantment' } }),\r\n formula: StringNode({ validator: 'resource', params: { pool: collections.get('loot_table_apply_bonus_formula') } }),\r\n parameters: (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n bonusMultiplier: (0, core_1.Mod)((0, core_1.NumberNode)(), {\r\n enabled: path => path.pop().push('formula').get() === 'minecraft:uniform_bonus_count'\r\n }),\r\n extra: (0, core_1.Mod)((0, core_1.NumberNode)(), {\r\n enabled: path => path.pop().push('formula').get() === 'minecraft:binomial_with_bonus_count'\r\n }),\r\n probability: (0, core_1.Mod)((0, core_1.NumberNode)(), {\r\n enabled: path => path.pop().push('formula').get() === 'minecraft:binomial_with_bonus_count'\r\n })\r\n }), {\r\n enabled: path => path.push('formula').get() !== 'minecraft:ore_drops'\r\n })\r\n },\r\n 'minecraft:copy_name': {\r\n source: copySourceSwtichNode\r\n },\r\n 'minecraft:copy_nbt': {\r\n source: copySourceSwtichNode,\r\n ops: (0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n source: StringNode({ validator: 'nbt_path', params: { category: { getter: 'copy_source', path: ['pop', 'pop', 'pop', { push: 'source' }] } } }),\r\n target: StringNode({ validator: 'nbt_path', params: { category: 'minecraft:item' } }),\r\n op: StringNode({ enum: ['replace', 'append', 'merge'] })\r\n }, { context: 'nbt_operation' }))\r\n },\r\n 'minecraft:copy_state': {\r\n block: StringNode({ validator: 'resource', params: { pool: 'block' } }),\r\n properties: (0, core_1.ListNode)(StringNode({ validator: 'block_state_key', params: { id: ['pop', 'pop', { push: 'block' }] } }))\r\n },\r\n 'minecraft:enchant_randomly': {\r\n enchantments: (0, core_1.Opt)((0, core_1.ListNode)(StringNode({ validator: 'resource', params: { pool: 'enchantment' } })))\r\n },\r\n 'minecraft:enchant_with_levels': {\r\n levels: (0, Common_1.Range)({ allowBinomial: true }),\r\n treasure: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n },\r\n 'minecraft:exploration_map': {\r\n destination: (0, core_1.Opt)(StringNode({ enum: 'map_feature' })),\r\n decoration: (0, core_1.Opt)(StringNode({ enum: 'map_decoration' })),\r\n zoom: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n search_radius: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n skip_existing_chunks: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n },\r\n 'minecraft:fill_player_head': {\r\n entity: entitySourceSwtichNode\r\n },\r\n 'minecraft:limit_count': {\r\n limit: (0, Common_1.Range)({ bounds: true })\r\n },\r\n 'minecraft:looting_enchant': {\r\n count: (0, Common_1.Range)({ bounds: true }),\r\n limit: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true }))\r\n },\r\n 'minecraft:set_attributes': {\r\n modifiers: (0, core_1.ListNode)(Reference('attribute_modifier'))\r\n },\r\n 'minecraft:set_contents': {\r\n entries: (0, core_1.ListNode)(Reference('loot_entry'))\r\n },\r\n 'minecraft:set_count': {\r\n count: (0, Common_1.Range)({ allowBinomial: true })\r\n },\r\n 'minecraft:set_damage': {\r\n damage: (0, Common_1.Range)({ forceRange: true })\r\n },\r\n 'minecraft:set_loot_table': {\r\n name: StringNode({ validator: 'resource', params: { pool: '$loot_table' } }),\r\n seed: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true }))\r\n },\r\n 'minecraft:set_lore': {\r\n entity: (0, core_1.Opt)(entitySourceSwtichNode),\r\n lore: (0, core_1.ListNode)(Reference('text_component')),\r\n replace: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n },\r\n 'minecraft:set_name': {\r\n entity: (0, core_1.Opt)(entitySourceSwtichNode),\r\n name: (0, core_1.Opt)(Reference('text_component'))\r\n },\r\n 'minecraft:set_nbt': {\r\n tag: StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:item' } } })\r\n },\r\n 'minecraft:set_stew_effect': {\r\n effects: (0, core_1.Opt)((0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'mob_effect' } }),\r\n duration: (0, Common_1.Range)()\r\n })))\r\n }\r\n };\r\n const res = {};\r\n collections.get('loot_function_type').forEach(f => {\r\n res[f] = { ...cases[f], ...conditions };\r\n });\r\n return res;\r\n })()\r\n }, { category: 'function', context: 'function' }), {\r\n default: () => ({\r\n function: 'minecraft:set_count',\r\n count: 1\r\n })\r\n }));\r\n schemas.register('loot_condition', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n condition: conditionSwtichNode,\r\n [core_1.Switch]: [{ push: 'condition' }],\r\n [core_1.Case]: {\r\n ...Common_1.ConditionCases,\r\n 'minecraft:entity_properties': {\r\n entity: entitySourceSwtichNode,\r\n predicate: Reference('entity_predicate')\r\n },\r\n 'minecraft:entity_scores': {\r\n entity: entitySourceSwtichNode,\r\n scores: (0, core_1.MapNode)(StringNode({ validator: 'objective' }), (0, Common_1.Range)({ bounds: true }))\r\n }\r\n }\r\n }, { category: 'predicate', context: 'condition' }), {\r\n default: () => ({\r\n condition: 'minecraft:random_chance',\r\n chance: 0.5\r\n })\r\n }));\r\n schemas.register('attribute_modifier', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n attribute: StringNode({ validator: 'resource', params: { pool: 'attribute' } }),\r\n name: StringNode(),\r\n amount: (0, Common_1.Range)({ bounds: true }),\r\n operation: StringNode({ enum: ['addition', 'multiply_base', 'multiply_total'] }),\r\n slot: (0, core_1.StringOrList)(StringNode({ enum: 'slot' }))\r\n }, { context: 'attribute_modifier' }), {\r\n default: () => ({\r\n attribute: 'minecraft:generic.max_health',\r\n name: '',\r\n amount: 1,\r\n operation: 'addition',\r\n slot: 'mainhand'\r\n })\r\n }));\r\n}\r\nexports.initLootTableSchemas = initLootTableSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initPackMcmetaSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initPackMcmetaSchemas(schemas, _) {\r\n const getSimpleString = (jsonText) => { var _a, _b; return jsonText instanceof Array ? getSimpleString(jsonText[0]) : (_b = (_a = jsonText === null || jsonText === void 0 ? void 0 : jsonText.text) !== null && _a !== void 0 ? _a : jsonText === null || jsonText === void 0 ? void 0 : jsonText.toString()) !== null && _b !== void 0 ? _b : ''; };\r\n schemas.register('pack_mcmeta', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n pack: (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n pack_format: (0, core_1.Mod)((0, core_1.NumberNode)({ integer: true, min: 6, max: 6 }), { default: () => 6 }),\r\n description: (0, core_1.Reference)(schemas, 'text_component')\r\n }), {\r\n default: () => ({\r\n pack_format: 6,\r\n description: ''\r\n })\r\n })\r\n }), {\r\n default: () => ({\r\n pack: {\r\n pack_format: 6,\r\n description: ''\r\n }\r\n })\r\n }));\r\n}\r\nexports.initPackMcmetaSchemas = initPackMcmetaSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initPredicatesSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"./Common\");\r\nfunction initPredicatesSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const StateChoice = (0, core_1.ChoiceNode)([\r\n {\r\n type: 'string',\r\n node: StringNode(),\r\n change: v => (typeof v === 'boolean' || typeof v === 'number') ? v.toString() : ''\r\n },\r\n {\r\n type: 'number',\r\n node: (0, core_1.NumberNode)(),\r\n change: v => (typeof v === 'string') ? parseInt(v) : 0\r\n },\r\n {\r\n type: 'object',\r\n node: (0, core_1.ObjectNode)({\r\n min: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n max: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true }))\r\n }),\r\n change: v => (typeof v === 'number') ? ({ min: v, max: v }) : ({})\r\n },\r\n {\r\n type: 'boolean',\r\n node: (0, core_1.BooleanNode)(),\r\n change: v => v === 'true' || v === 1\r\n }\r\n ]);\r\n schemas.register('item_predicate', (0, core_1.ObjectNode)({\r\n item: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: 'item' } })),\r\n tag: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$tag/item' } })),\r\n count: (0, core_1.Opt)((0, Common_1.Range)()),\r\n durability: (0, core_1.Opt)((0, Common_1.Range)()),\r\n potion: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: 'potion' } })),\r\n nbt: (0, core_1.Opt)(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:item', id: ['pop', { push: 'item' }] } } })),\r\n enchantments: (0, core_1.Opt)((0, core_1.ListNode)(Reference('enchantment_predicate')))\r\n }, { context: 'item' }));\r\n schemas.register('enchantment_predicate', (0, core_1.ObjectNode)({\r\n enchantment: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: 'enchantment' } })),\r\n levels: (0, core_1.Opt)((0, Common_1.Range)())\r\n }, { context: 'enchantment' }));\r\n schemas.register('block_predicate', (0, core_1.ObjectNode)({\r\n block: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: 'block' } })),\r\n tag: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$tag/block' } })),\r\n nbt: (0, core_1.Opt)(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:block', id: ['pop', { push: 'block' }] } } })),\r\n state: (0, core_1.Opt)((0, core_1.MapNode)(StringNode(), StateChoice, { validation: { validator: 'block_state_map', params: { id: ['pop', { push: 'block' }] } } }))\r\n }, { context: 'block' }));\r\n schemas.register('fluid_predicate', (0, core_1.ObjectNode)({\r\n fluid: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: 'fluid' } })),\r\n tag: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$tag/fluid' } })),\r\n state: (0, core_1.Opt)((0, core_1.MapNode)(StringNode(), StateChoice))\r\n }, { context: 'fluid' }));\r\n schemas.register('location_predicate', (0, core_1.ObjectNode)({\r\n position: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n x: (0, core_1.Opt)((0, Common_1.Range)()),\r\n y: (0, core_1.Opt)((0, Common_1.Range)()),\r\n z: (0, core_1.Opt)((0, Common_1.Range)())\r\n })),\r\n biome: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$worldgen/biome' } })),\r\n feature: (0, core_1.Opt)(StringNode({ enum: collections.get('worldgen/structure_feature').map(v => v.slice(10)) })),\r\n dimension: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$dimension' } })),\r\n light: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n light: (0, core_1.Opt)((0, Common_1.Range)({ integer: true, min: 0, max: 15 }))\r\n })),\r\n smokey: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n block: (0, core_1.Opt)(Reference('block_predicate')),\r\n fluid: (0, core_1.Opt)(Reference('fluid_predicate'))\r\n }, { context: 'location' }));\r\n schemas.register('statistic_predicate', (0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'stat_type' } }),\r\n stat: StringNode(),\r\n value: (0, Common_1.Range)(),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:mined': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'block' } })\r\n },\r\n 'minecraft:crafted': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'item' } })\r\n },\r\n 'minecraft:used': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'item' } })\r\n },\r\n 'minecraft:broken': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'item' } })\r\n },\r\n 'minecraft:picked_up': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'item' } })\r\n },\r\n 'minecraft:dropped': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'item' } })\r\n },\r\n 'minecraft:killed': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'entity_type' } })\r\n },\r\n 'minecraft:killed_by': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'entity_type' } })\r\n },\r\n 'minecraft:custom': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'custom_stat' } })\r\n }\r\n }\r\n }));\r\n schemas.register('player_predicate', (0, core_1.ObjectNode)({\r\n gamemode: (0, core_1.Opt)(StringNode({ enum: 'gamemode' })),\r\n level: (0, core_1.Opt)((0, Common_1.Range)()),\r\n advancements: (0, core_1.Opt)((0, core_1.MapNode)(StringNode({ validator: 'resource', params: { pool: '$advancement' } }), (0, core_1.ChoiceNode)([\r\n { type: 'boolean', node: (0, core_1.BooleanNode)(), change: _ => true },\r\n {\r\n type: 'object', node: (0, core_1.MapNode)(StringNode(), (0, core_1.BooleanNode)())\r\n }\r\n ]))),\r\n recipes: (0, core_1.Opt)((0, core_1.MapNode)(StringNode({ validator: 'resource', params: { pool: '$recipe' } }), (0, core_1.BooleanNode)())),\r\n stats: (0, core_1.Opt)((0, core_1.ListNode)(Reference('statistic_predicate')))\r\n }, { context: 'player' }));\r\n schemas.register('status_effect_predicate', (0, core_1.ObjectNode)({\r\n amplifier: (0, core_1.Opt)((0, Common_1.Range)()),\r\n duration: (0, core_1.Opt)((0, Common_1.Range)()),\r\n ambient: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n visible: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n }, { context: 'status_effect' }));\r\n schemas.register('distance_predicate', (0, core_1.ObjectNode)({\r\n x: (0, core_1.Opt)((0, Common_1.Range)()),\r\n y: (0, core_1.Opt)((0, Common_1.Range)()),\r\n z: (0, core_1.Opt)((0, Common_1.Range)()),\r\n absolute: (0, core_1.Opt)((0, Common_1.Range)()),\r\n horizontal: (0, core_1.Opt)((0, Common_1.Range)())\r\n }, { context: 'distance' }));\r\n schemas.register('entity_predicate', (0, core_1.ObjectNode)({\r\n type: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: 'entity_type', allowTag: true } })),\r\n nbt: (0, core_1.Opt)(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:entity', id: ['pop', { push: 'type' }] } } })),\r\n team: (0, core_1.Opt)(StringNode({ validator: 'team' })),\r\n location: (0, core_1.Opt)(Reference('location_predicate')),\r\n distance: (0, core_1.Opt)(Reference('distance_predicate')),\r\n flags: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n is_on_fire: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n is_sneaking: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n is_sprinting: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n is_swimming: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n is_baby: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n })),\r\n equipment: (0, core_1.Opt)((0, core_1.MapNode)(StringNode({ enum: 'slot' }), Reference('item_predicate'))),\r\n vehicle: (0, core_1.Opt)(Reference('entity_predicate')),\r\n targeted_entity: (0, core_1.Opt)(Reference('entity_predicate')),\r\n player: (0, core_1.Opt)(Reference('player_predicate')),\r\n fishing_hook: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n in_open_water: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n })),\r\n catType: (0, core_1.Opt)(StringNode({ enum: 'cat_texture' })),\r\n effects: (0, core_1.Opt)((0, core_1.MapNode)(StringNode({ validator: 'resource', params: { pool: 'mob_effect' } }), Reference('status_effect_predicate')))\r\n }, { context: 'entity' }));\r\n schemas.register('damage_source_predicate', (0, core_1.ObjectNode)({\r\n is_explosion: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n is_fire: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n is_magic: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n is_projectile: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n is_lightning: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n bypasses_armor: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n bypasses_invulnerability: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n bypasses_magic: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n source_entity: (0, core_1.Opt)(Reference('entity_predicate')),\r\n direct_entity: (0, core_1.Opt)(Reference('entity_predicate'))\r\n }, { context: 'damage_source' }));\r\n schemas.register('damage_predicate', (0, core_1.ObjectNode)({\r\n dealt: (0, core_1.Opt)((0, Common_1.Range)()),\r\n taken: (0, core_1.Opt)((0, Common_1.Range)()),\r\n blocked: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n source_entity: (0, core_1.Opt)(Reference('entity_predicate')),\r\n type: (0, core_1.Opt)(Reference('damage_source_predicate'))\r\n }, { context: 'damage' }));\r\n}\r\nexports.initPredicatesSchemas = initPredicatesSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initRecipeSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initRecipeSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('recipe', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'recipe_serializer' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:crafting_shaped': {\r\n group: (0, core_1.Opt)(StringNode({ enum: 'recipe_group', additional: true })),\r\n pattern: (0, core_1.ListNode)(StringNode()),\r\n key: (0, core_1.MapNode)(StringNode(), // TODO: add validation\r\n Reference('recipe_ingredient')),\r\n result: Reference('recipe_result')\r\n },\r\n 'minecraft:crafting_shapeless': {\r\n group: (0, core_1.Opt)(StringNode()),\r\n ingredients: (0, core_1.ListNode)(Reference('recipe_ingredient')),\r\n result: Reference('recipe_result')\r\n },\r\n 'minecraft:smelting': {\r\n group: (0, core_1.Opt)(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n experience: (0, core_1.Opt)((0, core_1.NumberNode)()),\r\n cookingtime: (0, core_1.Opt)((0, core_1.Mod)((0, core_1.NumberNode)({ integer: true }), { default: () => 200 }))\r\n },\r\n 'minecraft:blasting': {\r\n group: (0, core_1.Opt)(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n experience: (0, core_1.Opt)((0, core_1.NumberNode)()),\r\n cookingtime: (0, core_1.Opt)((0, core_1.Mod)((0, core_1.NumberNode)({ integer: true }), { default: () => 100 }))\r\n },\r\n 'minecraft:smoking': {\r\n group: (0, core_1.Opt)(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n experience: (0, core_1.Opt)((0, core_1.NumberNode)()),\r\n cookingtime: (0, core_1.Opt)((0, core_1.Mod)((0, core_1.NumberNode)({ integer: true }), { default: () => 100 }))\r\n },\r\n 'minecraft:campfire_cooking': {\r\n group: (0, core_1.Opt)(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n experience: (0, core_1.Opt)((0, core_1.NumberNode)()),\r\n cookingtime: (0, core_1.Opt)((0, core_1.Mod)((0, core_1.NumberNode)({ integer: true }), { default: () => 100 }))\r\n },\r\n 'minecraft:stonecutting': {\r\n group: (0, core_1.Opt)(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n count: (0, core_1.NumberNode)({ integer: true })\r\n },\r\n 'minecraft:smithing': {\r\n group: (0, core_1.Opt)(StringNode()),\r\n base: Reference('recipe_ingredient_object'),\r\n addition: Reference('recipe_ingredient_object'),\r\n result: Reference('recipe_result')\r\n }\r\n }\r\n }, { context: 'recipe', disableSwitchContext: true }), {\r\n default: () => ({\r\n type: 'minecraft:crafting_shaped'\r\n })\r\n }));\r\n schemas.register('recipe_ingredient', (0, core_1.Mod)((0, core_1.ChoiceNode)([\r\n {\r\n type: 'object',\r\n node: Reference('recipe_ingredient_object'),\r\n change: v => v[0]\r\n },\r\n {\r\n type: 'list',\r\n node: (0, core_1.ListNode)(Reference('recipe_ingredient_object')),\r\n change: v => [v]\r\n }\r\n ]), {\r\n default: () => ({\r\n item: 'minecraft:stone'\r\n })\r\n }));\r\n schemas.register('recipe_ingredient_object', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n item: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: 'item' } })),\r\n tag: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$tag/item' } }))\r\n }), {\r\n default: () => ({\r\n item: 'minecraft:stone'\r\n })\r\n }));\r\n schemas.register('recipe_result', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n item: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n count: (0, core_1.Opt)((0, core_1.Mod)((0, core_1.NumberNode)({ integer: true }), { default: () => 1 }))\r\n }), {\r\n default: () => ({\r\n item: 'minecraft:stone'\r\n })\r\n }));\r\n}\r\nexports.initRecipeSchemas = initRecipeSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initTagsSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initTagsSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const TagBase = (type) => (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n replace: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n values: (0, core_1.ListNode)((0, core_1.ChoiceNode)([\r\n {\r\n type: 'string',\r\n node: StringNode({ validator: 'resource', params: { pool: type, allowTag: true } }),\r\n change: v => v.id\r\n },\r\n {\r\n type: 'object',\r\n node: (0, core_1.ObjectNode)({\r\n id: StringNode({ validator: 'resource', params: { pool: type, allowTag: true, allowUnknown: true } }),\r\n required: (0, core_1.BooleanNode)()\r\n }),\r\n change: v => ({ id: v })\r\n }\r\n ])),\r\n }, { context: 'tag' }), {\r\n default: () => ({\r\n values: []\r\n })\r\n });\r\n schemas.register('block_tag', TagBase('block'));\r\n schemas.register('entity_type_tag', TagBase('entity_type'));\r\n schemas.register('fluid_tag', TagBase('fluid'));\r\n schemas.register('function_tag', TagBase('$function'));\r\n schemas.register('item_tag', TagBase('item'));\r\n}\r\nexports.initTagsSchemas = initTagsSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initTextComponentSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initTextComponentSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const getSimpleString = (v) => { var _a; return v instanceof Array ? getSimpleString(v[0]) : (_a = v === null || v === void 0 ? void 0 : v.text) !== null && _a !== void 0 ? _a : (typeof v === 'object' ? '' : v === null || v === void 0 ? void 0 : v.toString()); };\r\n schemas.register('text_component', (0, core_1.Mod)((0, core_1.ChoiceNode)([\r\n {\r\n type: 'object',\r\n node: Reference('text_component_object'),\r\n change: v => v instanceof Array ? (typeof v[0] === 'object' ? v[0] : { text: getSimpleString(v[0]) }) : typeof v === 'object' ? v : { text: getSimpleString(v) }\r\n },\r\n {\r\n type: 'list',\r\n node: Reference('text_component_list'),\r\n change: v => [v]\r\n },\r\n {\r\n type: 'string',\r\n priority: 1,\r\n node: StringNode(),\r\n change: getSimpleString\r\n },\r\n {\r\n type: 'number',\r\n node: (0, core_1.NumberNode)(),\r\n change: v => {\r\n const n = parseFloat(getSimpleString(v));\r\n return isFinite(n) ? n : (!!v ? 1 : 0);\r\n }\r\n },\r\n {\r\n type: 'boolean',\r\n node: (0, core_1.BooleanNode)(),\r\n change: v => {\r\n const s = getSimpleString(v);\r\n return s === 'true' || s === 'false' ? s === 'true' : !!s;\r\n }\r\n }\r\n ], { context: 'text_component' }), {\r\n default: () => ({\r\n text: \"\"\r\n })\r\n }));\r\n const CommonFields = {\r\n color: (0, core_1.Opt)(StringNode()) /* TODO */,\r\n font: (0, core_1.Opt)(StringNode()),\r\n bold: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n italic: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n underlined: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n strikethrough: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n obfuscated: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n insertion: (0, core_1.Opt)(StringNode()),\r\n clickEvent: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n action: StringNode({ enum: ['open_url', 'open_file', 'run_command', 'suggest_command', 'change_page', 'copy_to_clipboard'] }),\r\n [core_1.Switch]: [{ push: 'action' }],\r\n [core_1.Case]: {\r\n 'change_page': {\r\n value: StringNode()\r\n },\r\n 'copy_to_clipboard': {\r\n value: StringNode()\r\n },\r\n 'open_file': {\r\n value: StringNode()\r\n },\r\n 'open_url': {\r\n value: StringNode()\r\n },\r\n 'run_command': {\r\n value: StringNode({ validator: 'command', params: { leadingSlash: true, allowPartial: true } })\r\n },\r\n 'suggest_command': {\r\n value: StringNode({ validator: 'command', params: { leadingSlash: true, allowPartial: true } })\r\n }\r\n }\r\n })),\r\n hoverEvent: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n action: StringNode({ enum: ['show_text', 'show_item', 'show_entity'] }),\r\n [core_1.Switch]: [{ push: 'action' }],\r\n [core_1.Case]: {\r\n 'show_text': {\r\n value: (0, core_1.Opt)(Reference('text_component')),\r\n contents: (0, core_1.Opt)(Reference('text_component'))\r\n },\r\n 'show_item': {\r\n value: (0, core_1.Opt)(StringNode({ validator: 'nbt', params: { module: 'util::InventoryItem' } })),\r\n contents: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n id: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n count: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n tag: (0, core_1.Opt)(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:item', id: ['pop', { push: 'id' }] } } }))\r\n }))\r\n },\r\n 'show_entity': {\r\n value: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n name: (0, core_1.Opt)(StringNode()),\r\n type: (0, core_1.Opt)(StringNode()),\r\n id: (0, core_1.Opt)(StringNode())\r\n })),\r\n contents: (0, core_1.Opt)((0, core_1.Mod)((0, core_1.ObjectNode)({\r\n name: (0, core_1.Opt)(Reference('text_component')),\r\n type: StringNode({ validator: 'resource', params: { pool: 'entity_type' } }),\r\n id: StringNode({ validator: 'uuid' })\r\n }), {\r\n default: () => ({\r\n type: 'minecraft:pig',\r\n id: '00000001-0001-0001-0001-000000000001'\r\n })\r\n }))\r\n }\r\n }\r\n })),\r\n extra: (0, core_1.Opt)(Reference('text_component_list'))\r\n };\r\n schemas.register('text_component_object', (0, core_1.Mod)((0, core_1.ChoiceNode)([\r\n {\r\n type: 'text',\r\n match: v => typeof v === 'object',\r\n change: v => ({ text: '' }),\r\n priority: -1,\r\n node: (0, core_1.ObjectNode)({\r\n text: StringNode(),\r\n ...CommonFields\r\n })\r\n },\r\n {\r\n type: 'translation',\r\n match: v => (v === null || v === void 0 ? void 0 : v.translate) !== undefined,\r\n change: v => ({ translate: '' }),\r\n node: (0, core_1.ObjectNode)({\r\n translate: StringNode(),\r\n with: (0, core_1.Opt)(Reference('text_component_list')),\r\n ...CommonFields\r\n })\r\n },\r\n {\r\n type: 'score',\r\n match: v => (v === null || v === void 0 ? void 0 : v.score) !== undefined,\r\n change: v => ({ score: {} }),\r\n node: (0, core_1.ObjectNode)({\r\n score: (0, core_1.ObjectNode)({\r\n name: StringNode({ validator: 'entity', params: { amount: 'single', type: 'entities', isScoreHolder: true } }),\r\n objective: StringNode({ validator: 'objective' }),\r\n value: (0, core_1.Opt)(StringNode())\r\n }),\r\n ...CommonFields\r\n })\r\n },\r\n {\r\n type: 'selector',\r\n match: v => (v === null || v === void 0 ? void 0 : v.selector) !== undefined,\r\n change: v => ({ selector: '' }),\r\n node: (0, core_1.ObjectNode)({\r\n selector: StringNode({ validator: 'entity', params: { amount: 'multiple', type: 'entities' } }),\r\n ...CommonFields\r\n })\r\n },\r\n {\r\n type: 'keybind',\r\n match: v => (v === null || v === void 0 ? void 0 : v.keybind) !== undefined,\r\n change: v => ({ keybind: '' }),\r\n node: (0, core_1.ObjectNode)({\r\n keybind: StringNode({ enum: 'keybind', additional: true }),\r\n ...CommonFields\r\n })\r\n },\r\n {\r\n type: 'nbt',\r\n match: v => (v === null || v === void 0 ? void 0 : v.nbt) !== undefined,\r\n change: v => ({ nbt: '' }),\r\n node: (0, core_1.ObjectNode)({\r\n nbt: StringNode({ validator: 'nbt_path' }),\r\n block: (0, core_1.Opt)(StringNode({ validator: 'vector', params: { dimension: 3, isInteger: true } })),\r\n entity: (0, core_1.Opt)(StringNode({ validator: 'entity', params: { amount: 'multiple', type: 'entities' } })),\r\n storage: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$storage' } })),\r\n interpret: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n ...CommonFields\r\n })\r\n }\r\n ], { context: 'text_component_object', choiceContext: 'text_component.object' }), {\r\n default: () => ({\r\n text: \"\"\r\n })\r\n }));\r\n schemas.register('text_component_list', (0, core_1.Mod)((0, core_1.ListNode)(Reference('text_component')), {\r\n default: () => [{\r\n text: \"\"\r\n }]\r\n }));\r\n}\r\nexports.initTextComponentSchemas = initTextComponentSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initBiomeSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initBiomeSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('biome', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n surface_builder: StringNode({ validator: 'resource', params: { pool: '$worldgen/configured_surface_builder' } }),\r\n depth: (0, core_1.NumberNode)(),\r\n scale: (0, core_1.NumberNode)(),\r\n temperature: (0, core_1.NumberNode)(),\r\n downfall: (0, core_1.NumberNode)(),\r\n precipitation: StringNode({ enum: ['none', 'rain', 'snow'] }),\r\n temperature_modifier: (0, core_1.Opt)(StringNode({ enum: ['none', 'frozen'] })),\r\n category: StringNode({ enum: 'biome_category' }),\r\n player_spawn_friendly: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n creature_spawn_probability: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 1 })),\r\n effects: (0, core_1.ObjectNode)({\r\n sky_color: (0, core_1.NumberNode)({ color: true }),\r\n fog_color: (0, core_1.NumberNode)({ color: true }),\r\n water_color: (0, core_1.NumberNode)({ color: true }),\r\n water_fog_color: (0, core_1.NumberNode)({ color: true }),\r\n grass_color: (0, core_1.Opt)((0, core_1.NumberNode)({ color: true })),\r\n foliage_color: (0, core_1.Opt)((0, core_1.NumberNode)({ color: true })),\r\n grass_color_modifier: (0, core_1.Opt)(StringNode({ enum: ['none', 'dark_forest', 'swamp'] })),\r\n ambient_sound: (0, core_1.Opt)(StringNode()),\r\n mood_sound: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n sound: StringNode(),\r\n tick_delay: (0, core_1.NumberNode)({ integer: true }),\r\n block_search_extent: (0, core_1.NumberNode)({ integer: true }),\r\n offset: (0, core_1.NumberNode)()\r\n })),\r\n additions_sound: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n sound: StringNode(),\r\n tick_chance: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n })),\r\n music: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n sound: StringNode(),\r\n min_delay: (0, core_1.NumberNode)({ integer: true, min: 0 }),\r\n max_delay: (0, core_1.NumberNode)({ integer: true, min: 0 }),\r\n replace_current_music: (0, core_1.BooleanNode)()\r\n })),\r\n particle: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n options: (0, core_1.ObjectNode)({\r\n type: StringNode()\r\n }),\r\n probability: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n }))\r\n }),\r\n starts: (0, core_1.ListNode)(StringNode({ validator: 'resource', params: { pool: '$worldgen/configured_structure_feature' } })),\r\n spawners: (0, core_1.MapNode)(StringNode({ enum: [\r\n 'water_ambient',\r\n 'ambient',\r\n 'misc',\r\n 'water_creature',\r\n 'creature',\r\n 'monster'\r\n ] }), (0, core_1.Mod)((0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'entity_type' } }),\r\n weight: (0, core_1.NumberNode)({ integer: true }),\r\n minCount: (0, core_1.NumberNode)({ integer: true }),\r\n maxCount: (0, core_1.NumberNode)({ integer: true })\r\n })), {\r\n category: () => 'pool',\r\n default: () => [{\r\n type: 'minecraft:bat',\r\n weight: 1\r\n }]\r\n })),\r\n spawn_costs: (0, core_1.MapNode)(StringNode({ validator: 'resource', params: { pool: 'entity_type' } }), (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n energy_budget: (0, core_1.NumberNode)(),\r\n charge: (0, core_1.NumberNode)()\r\n }, { category: 'function' }), {\r\n default: () => ({\r\n energy_budget: 0.12,\r\n charge: 1.0\r\n })\r\n })),\r\n carvers: (0, core_1.MapNode)(StringNode({ enum: ['air', 'liquid'] }), (0, core_1.Mod)((0, core_1.ListNode)(StringNode({ validator: 'resource', params: { pool: '$worldgen/configured_carver' } })), {\r\n default: () => ['minecraft:cave']\r\n })),\r\n features: (0, core_1.ListNode)((0, core_1.Mod)((0, core_1.ListNode)(StringNode({ validator: 'resource', params: { pool: '$worldgen/configured_feature' } })), { category: () => 'predicate' }), { maxLength: 10 })\r\n }, { context: 'biome' }), {\r\n default: () => ({\r\n surface_builder: 'minecraft:grass',\r\n depth: 0.125,\r\n scale: 0.05,\r\n temperature: 0.8,\r\n downfall: 0.4,\r\n precipitation: 'rain',\r\n category: 'plains',\r\n effects: {\r\n sky_color: 7907327,\r\n fog_color: 12638463,\r\n water_color: 4159204,\r\n water_fog_color: 329011\r\n }\r\n })\r\n }));\r\n}\r\nexports.initBiomeSchemas = initBiomeSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initCarverSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initCarverSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('configured_carver', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/carver' } }),\r\n config: (0, core_1.ObjectNode)({\r\n probability: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n })\r\n }, { context: 'carver' }), {\r\n default: () => ({\r\n type: 'minecraft:cave',\r\n config: {\r\n probability: 0.1\r\n }\r\n })\r\n }));\r\n}\r\nexports.initCarverSchemas = initCarverSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initDecoratorSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"../Common\");\r\nfunction initDecoratorSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const RangeConfig = {\r\n maximum: (0, core_1.NumberNode)({ integer: true }),\r\n bottom_offset: (0, core_1.NumberNode)({ integer: true }),\r\n top_offset: (0, core_1.NumberNode)({ integer: true })\r\n };\r\n const ChanceConfig = {\r\n chance: (0, core_1.NumberNode)({ integer: true, min: 0 })\r\n };\r\n const CountConfig = {\r\n count: (0, Common_1.UniformInt)({ min: -10, max: 128, maxSpread: 128 })\r\n };\r\n schemas.register('configured_decorator', (0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/decorator' } }),\r\n config: (0, core_1.ObjectNode)({\r\n [core_1.Switch]: ['pop', { push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:carving_mask': {\r\n step: StringNode({ enum: 'generation_step' }),\r\n probability: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n },\r\n 'minecraft:chance': ChanceConfig,\r\n 'minecraft:count': CountConfig,\r\n 'minecraft:count_extra': {\r\n count: (0, core_1.NumberNode)({ integer: true }),\r\n extra_count: (0, core_1.NumberNode)({ integer: true }),\r\n extra_chance: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n },\r\n 'minecraft:count_multilayer': CountConfig,\r\n 'minecraft:count_noise': {\r\n noise_level: (0, core_1.NumberNode)(),\r\n below_noise: (0, core_1.NumberNode)({ integer: true }),\r\n above_noise: (0, core_1.NumberNode)({ integer: true })\r\n },\r\n 'minecraft:count_noise_biased': {\r\n noise_to_count_ratio: (0, core_1.NumberNode)({ integer: true }),\r\n noise_factor: (0, core_1.NumberNode)(),\r\n noise_offset: (0, core_1.Opt)((0, core_1.NumberNode)())\r\n },\r\n 'minecraft:decorated': {\r\n outer: Reference('configured_decorator'),\r\n inner: Reference('configured_decorator')\r\n },\r\n 'minecraft:depth_average': {\r\n baseline: (0, core_1.NumberNode)({ integer: true }),\r\n spread: (0, core_1.NumberNode)({ integer: true })\r\n },\r\n 'minecraft:fire': CountConfig,\r\n 'minecraft:glowstone': CountConfig,\r\n 'minecraft:lava_lake': ChanceConfig,\r\n 'minecraft:range': RangeConfig,\r\n 'minecraft:range_biased': RangeConfig,\r\n 'minecraft:range_very_biased': RangeConfig,\r\n 'minecraft:water_lake': ChanceConfig\r\n }\r\n }, { context: 'decorator', category: 'predicate' })\r\n }, { context: 'decorator', category: 'predicate' }));\r\n}\r\nexports.initDecoratorSchemas = initDecoratorSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initProcessorListSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initProcessorListSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('processor_list', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n processors: (0, core_1.ListNode)(Reference('processor'))\r\n }, { context: 'processor_list' }), {\r\n default: () => ({\r\n processors: [{\r\n processor_type: 'minecraft:rule',\r\n rules: [{\r\n location_predicate: {\r\n predicate_type: 'minecraft:always_true'\r\n },\r\n input_predicate: {\r\n predicate_type: 'minecraft:always_true'\r\n }\r\n }]\r\n }]\r\n })\r\n }));\r\n schemas.register('processor', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n processor_type: StringNode({ validator: 'resource', params: { pool: 'worldgen/structure_processor' } }),\r\n [core_1.Switch]: [{ push: 'processor_type' }],\r\n [core_1.Case]: {\r\n 'minecraft:block_age': {\r\n mossiness: (0, core_1.NumberNode)()\r\n },\r\n 'minecraft:block_ignore': {\r\n blocks: (0, core_1.ListNode)(Reference('block_state'))\r\n },\r\n 'minecraft:block_rot': {\r\n integrity: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n },\r\n 'minecraft:gravity': {\r\n heightmap: StringNode({ enum: 'heightmap_type' }),\r\n offset: (0, core_1.NumberNode)({ integer: true })\r\n },\r\n 'minecraft:rule': {\r\n rules: (0, core_1.ListNode)(Reference('processor_rule'))\r\n }\r\n }\r\n }, { category: 'function', context: 'processor' }), {\r\n default: () => ({\r\n processor_type: 'minecraft:rule',\r\n rules: [{\r\n location_predicate: {\r\n predicate_type: 'minecraft:always_true'\r\n },\r\n input_predicate: {\r\n predicate_type: 'minecraft:always_true'\r\n }\r\n }]\r\n })\r\n }));\r\n schemas.register('processor_rule', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n position_predicate: (0, core_1.Opt)(Reference('pos_rule_test')),\r\n location_predicate: Reference('rule_test'),\r\n input_predicate: Reference('rule_test'),\r\n output_state: Reference('block_state'),\r\n output_nbt: (0, core_1.Opt)(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:block' } } }))\r\n }, { category: 'predicate', context: 'processor_rule' }), {\r\n default: () => ({\r\n location_predicate: {\r\n predicate_type: 'minecraft:always_true'\r\n },\r\n input_predicate: {\r\n predicate_type: 'minecraft:always_true'\r\n }\r\n })\r\n }));\r\n const posTestFields = {\r\n min_dist: (0, core_1.NumberNode)({ min: 0, max: 255, integer: true }),\r\n max_dist: (0, core_1.NumberNode)({ min: 0, max: 255, integer: true }),\r\n min_chance: (0, core_1.NumberNode)({ min: 0, max: 1 }),\r\n max_chance: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n };\r\n schemas.register('pos_rule_test', (0, core_1.ObjectNode)({\r\n predicate_type: StringNode({ validator: 'resource', params: { pool: 'pos_rule_test' } }),\r\n [core_1.Switch]: [{ push: 'predicate_type' }],\r\n [core_1.Case]: {\r\n 'minecraft:axis_aligned_linear_pos': {\r\n axis: StringNode({ enum: ['x', 'y', 'z'] }),\r\n ...posTestFields\r\n },\r\n 'minecraft:linear_pos': posTestFields\r\n }\r\n }, { context: 'pos_rule_test', disableSwitchContext: true }));\r\n schemas.register('rule_test', (0, core_1.ObjectNode)({\r\n predicate_type: StringNode({ validator: 'resource', params: { pool: 'rule_test' } }),\r\n [core_1.Switch]: [{ push: 'predicate_type' }],\r\n [core_1.Case]: {\r\n 'minecraft:block_match': {\r\n block: StringNode({ validator: 'resource', params: { pool: 'block' } })\r\n },\r\n 'minecraft:blockstate_match': {\r\n block_state: Reference('block_state')\r\n },\r\n 'minecraft:random_block_match': {\r\n block: StringNode({ validator: 'resource', params: { pool: 'block' } }),\r\n probability: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n },\r\n 'minecraft:random_blockstate_match': {\r\n block_state: Reference('block_state'),\r\n probability: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n },\r\n 'minecraft:tag_match': {\r\n tag: StringNode({ validator: 'resource', params: { pool: '$tag/block' } })\r\n }\r\n }\r\n }, { context: 'rule_test', disableSwitchContext: true }));\r\n}\r\nexports.initProcessorListSchemas = initProcessorListSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initFeatureSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"../Common\");\r\nrequire(\"./Decorator\");\r\nrequire(\"./ProcessorList\");\r\nfunction initFeatureSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const RandomPatchConfig = {\r\n can_replace: (0, core_1.BooleanNode)(),\r\n project: (0, core_1.BooleanNode)(),\r\n need_water: (0, core_1.BooleanNode)(),\r\n xspread: (0, core_1.NumberNode)({ integer: true }),\r\n yspread: (0, core_1.NumberNode)({ integer: true }),\r\n zspread: (0, core_1.NumberNode)({ integer: true }),\r\n tries: (0, core_1.NumberNode)({ integer: true }),\r\n state_provider: Reference('block_state_provider'),\r\n block_placer: Reference('block_placer'),\r\n whitelist: (0, core_1.ListNode)(Reference('block_state')),\r\n blacklist: (0, core_1.ListNode)(Reference('block_state'))\r\n };\r\n const DiskConfig = {\r\n state: Reference('block_state'),\r\n radius: (0, Common_1.UniformInt)({ min: 0, max: 4, maxSpread: 4 }),\r\n half_height: (0, core_1.NumberNode)({ integer: true, min: 0, max: 4 }),\r\n targets: (0, core_1.ListNode)(Reference('block_state'))\r\n };\r\n const HugeMushroomConfig = {\r\n cap_provider: Reference('block_state_provider'),\r\n stem_provider: Reference('block_state_provider'),\r\n foliage_radius: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true }))\r\n };\r\n const OreConfig = {\r\n state: Reference('block_state'),\r\n size: (0, core_1.NumberNode)({ integer: true, min: 0, max: 64 }),\r\n target: Reference('rule_test')\r\n };\r\n const CountConfig = {\r\n count: (0, Common_1.UniformInt)({ min: -10, max: 128, maxSpread: 128 })\r\n };\r\n const Feature = (0, core_1.ChoiceNode)([\r\n {\r\n type: 'string',\r\n node: StringNode({ validator: 'resource', params: { pool: '$worldgen/configured_feature' } })\r\n },\r\n {\r\n type: 'object',\r\n node: Reference('configured_feature')\r\n }\r\n ], { choiceContext: 'feature' });\r\n schemas.register('configured_feature', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/feature' } }),\r\n config: (0, core_1.ObjectNode)({\r\n [core_1.Switch]: ['pop', { push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:bamboo': {\r\n probability: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n },\r\n 'minecraft:basalt_columns': {\r\n reach: (0, Common_1.UniformInt)({ min: 0, max: 2, maxSpread: 1 }),\r\n height: (0, Common_1.UniformInt)({ min: 1, max: 5, maxSpread: 5 })\r\n },\r\n 'minecraft:block_pile': {\r\n state_provider: Reference('block_state_provider')\r\n },\r\n 'minecraft:decorated': {\r\n decorator: Reference('configured_decorator'),\r\n feature: Feature\r\n },\r\n 'minecraft:delta_feature': {\r\n contents: Reference('block_state'),\r\n rim: Reference('block_state'),\r\n size: (0, Common_1.UniformInt)({ min: 0, max: 8, maxSpread: 8 }),\r\n rim_size: (0, Common_1.UniformInt)({ min: 0, max: 8, maxSpread: 8 })\r\n },\r\n 'minecraft:disk': DiskConfig,\r\n 'minecraft:emerald_ore': {\r\n state: Reference('block_state'),\r\n target: Reference('block_state')\r\n },\r\n 'minecraft:end_gateway': {\r\n exact: (0, core_1.BooleanNode)(),\r\n exit: (0, core_1.Opt)(Reference('block_pos'))\r\n },\r\n 'minecraft:end_spike': {\r\n crystal_invulnerable: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n crystal_beam_target: (0, core_1.Opt)(Reference('block_pos')),\r\n spikes: (0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n centerX: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n centerZ: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n radius: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n height: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n guarded: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n }))\r\n },\r\n 'minecraft:fill_layer': {\r\n state: Reference('block_state'),\r\n height: (0, core_1.NumberNode)({ integer: true, min: 0, max: 255 })\r\n },\r\n 'minecraft:flower': RandomPatchConfig,\r\n 'minecraft:forest_rock': {\r\n state: Reference('block_state')\r\n },\r\n 'minecraft:huge_brown_mushroom': HugeMushroomConfig,\r\n 'minecraft:huge_fungus': {\r\n hat_state: Reference('block_state'),\r\n decor_state: Reference('block_state'),\r\n stem_state: Reference('block_state'),\r\n valid_base_block: Reference('block_state'),\r\n planted: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n },\r\n 'minecraft:huge_red_mushroom': HugeMushroomConfig,\r\n 'minecraft:ice_patch': DiskConfig,\r\n 'minecraft:iceberg': {\r\n state: Reference('block_state')\r\n },\r\n 'minecraft:lake': {\r\n state: Reference('block_state')\r\n },\r\n 'minecraft:nether_forest_vegetation': {\r\n state_provider: Reference('block_state_provider')\r\n },\r\n 'minecraft:netherrack_replace_blobs': {\r\n state: Reference('block_state'),\r\n target: Reference('block_state'),\r\n radius: (0, Common_1.UniformInt)()\r\n },\r\n 'minecraft:no_bonemeal_flower': RandomPatchConfig,\r\n 'minecraft:no_surface_ore': OreConfig,\r\n 'minecraft:ore': OreConfig,\r\n 'minecraft:random_patch': RandomPatchConfig,\r\n 'minecraft:random_boolean_selector': {\r\n feature_false: Feature,\r\n feature_true: Feature\r\n },\r\n 'minecraft:random_selector': {\r\n features: (0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n chance: (0, core_1.NumberNode)({ min: 0, max: 1 }),\r\n feature: Feature\r\n })),\r\n default: Feature\r\n },\r\n 'minecraft:sea_pickle': CountConfig,\r\n 'minecraft:seagrass': {\r\n probability: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n },\r\n 'minecraft:simple_block': {\r\n to_place: Reference('block_state'),\r\n place_on: (0, core_1.ListNode)(Reference('block_state')),\r\n place_in: (0, core_1.ListNode)(Reference('block_state')),\r\n place_under: (0, core_1.ListNode)(Reference('block_state'))\r\n },\r\n 'minecraft:simple_random_selector': {\r\n features: (0, core_1.ListNode)(Feature)\r\n },\r\n 'minecraft:spring_feature': {\r\n state: Reference('fluid_state'),\r\n rock_count: (0, core_1.NumberNode)({ integer: true }),\r\n hole_count: (0, core_1.NumberNode)({ integer: true }),\r\n requires_block_below: (0, core_1.BooleanNode)(),\r\n valid_blocks: (0, core_1.ListNode)(StringNode({ validator: 'resource', params: { pool: 'block' } }))\r\n },\r\n 'minecraft:tree': {\r\n max_water_depth: (0, core_1.NumberNode)({ integer: true }),\r\n ignore_vines: (0, core_1.BooleanNode)(),\r\n heightmap: StringNode({ enum: 'heightmap_type' }),\r\n minimum_size: Reference('feature_size'),\r\n trunk_provider: Reference('block_state_provider'),\r\n leaves_provider: Reference('block_state_provider'),\r\n trunk_placer: (0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/trunk_placer_type' } }),\r\n base_height: (0, core_1.NumberNode)({ integer: true, min: 0, max: 32 }),\r\n height_rand_a: (0, core_1.NumberNode)({ integer: true, min: 0, max: 24 }),\r\n height_rand_b: (0, core_1.NumberNode)({ integer: true, min: 0, max: 24 })\r\n }, { context: 'trunk_placer' }),\r\n foliage_placer: (0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/foliage_placer_type' } }),\r\n radius: (0, Common_1.UniformInt)({ min: 0, max: 8, maxSpread: 8 }),\r\n offset: (0, Common_1.UniformInt)({ min: 0, max: 8, maxSpread: 8 }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:blob_foliage_placer': {\r\n height: (0, core_1.NumberNode)({ integer: true, min: 0, max: 16 })\r\n },\r\n 'minecraft:bush_foliage_placer': {\r\n height: (0, core_1.NumberNode)({ integer: true, min: 0, max: 16 })\r\n },\r\n 'minecraft:fancy_foliage_placer': {\r\n height: (0, core_1.NumberNode)({ integer: true, min: 0, max: 16 })\r\n },\r\n 'minecraft:jungle_foliage_placer': {\r\n height: (0, core_1.NumberNode)({ integer: true, min: 0, max: 16 })\r\n },\r\n 'minecraft:mega_pine_foliage_placer': {\r\n crown_height: (0, Common_1.UniformInt)({ min: 0, max: 16, maxSpread: 8 })\r\n },\r\n 'minecraft:pine_foliage_placer': {\r\n height: (0, Common_1.UniformInt)({ min: 0, max: 16, maxSpread: 8 })\r\n },\r\n 'minecraft:spruce_foliage_placer': {\r\n trunk_height: (0, Common_1.UniformInt)({ min: 0, max: 16, maxSpread: 8 })\r\n }\r\n }\r\n }, { context: 'foliage_placer', disableSwitchContext: true }),\r\n decorators: (0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/tree_decorator_type' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:alter_ground': {\r\n provider: Reference('block_state_provider')\r\n },\r\n 'minecraft:beehive': {\r\n probability: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n },\r\n 'minecraft:cocoa': {\r\n probability: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n }\r\n }\r\n }, { context: 'tree_decorator' }))\r\n }\r\n }\r\n }, { context: 'feature' })\r\n }, { context: 'feature' }), {\r\n default: () => ({\r\n type: 'minecraft:decorated',\r\n config: {\r\n decorator: {\r\n type: 'minecraft:count',\r\n config: {\r\n count: 4\r\n }\r\n },\r\n feature: {\r\n type: 'minecraft:tree',\r\n config: {\r\n max_water_depth: 0,\r\n ignore_vines: true,\r\n minimum_size: {},\r\n trunk_placer: {\r\n base_height: 5,\r\n height_rand_a: 2,\r\n height_rand_b: 0\r\n },\r\n foliage_placer: {\r\n radius: 2,\r\n offset: 0,\r\n height: 3\r\n }\r\n }\r\n }\r\n }\r\n })\r\n }));\r\n schemas.register('feature_size', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/feature_size_type' } }),\r\n min_clipped_height: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 80 })),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:two_layers_feature_size': {\r\n limit: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 0, max: 81 })),\r\n lower_size: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 0, max: 16 })),\r\n upper_size: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 0, max: 16 }))\r\n },\r\n 'minecraft:three_layers_feature_size': {\r\n limit: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 0, max: 80 })),\r\n upper_limit: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 0, max: 80 })),\r\n lower_size: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 0, max: 16 })),\r\n middle_size: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 0, max: 16 })),\r\n upper_size: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 0, max: 16 }))\r\n }\r\n }\r\n }, { disableSwitchContext: true }), {\r\n default: () => ({\r\n type: 'minecraft:two_layers_feature_size'\r\n })\r\n }));\r\n schemas.register('block_state_provider', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/block_state_provider_type' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:rotated_block_provider': {\r\n state: Reference('block_state')\r\n },\r\n 'minecraft:simple_state_provider': {\r\n state: Reference('block_state')\r\n },\r\n 'minecraft:weighted_state_provider': {\r\n entries: (0, core_1.ListNode)((0, core_1.Mod)((0, core_1.ObjectNode)({\r\n weight: (0, core_1.NumberNode)({ integer: true, min: 1 }),\r\n data: Reference('block_state')\r\n }), {\r\n default: () => ({\r\n data: {}\r\n })\r\n }))\r\n }\r\n }\r\n }, { context: 'block_state_provider' }), {\r\n default: () => ({\r\n type: 'minecraft:simple_state_provider'\r\n })\r\n }));\r\n schemas.register('block_placer', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/block_placer_type' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:column_placer': {\r\n min_size: (0, core_1.NumberNode)({ integer: true }),\r\n extra_size: (0, core_1.NumberNode)({ integer: true })\r\n }\r\n }\r\n }, { context: 'block_placer' }), {\r\n default: () => ({\r\n type: 'minecraft:simple_block_placer'\r\n })\r\n }));\r\n}\r\nexports.initFeatureSchemas = initFeatureSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initNoiseSettingsSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"../Common\");\r\nfunction initNoiseSettingsSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('noise_settings', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n name: (0, core_1.Mod)(StringNode({ validator: 'resource', params: { pool: '$worldgen/noise_settings', isDefinition: true } }), {\r\n enabled: (path) => path.getArray().length > 0\r\n }),\r\n bedrock_roof_position: (0, core_1.NumberNode)({ integer: true }),\r\n bedrock_floor_position: (0, core_1.NumberNode)({ integer: true }),\r\n sea_level: (0, core_1.NumberNode)({ integer: true }),\r\n disable_mob_generation: (0, core_1.BooleanNode)(),\r\n default_block: Reference('block_state'),\r\n default_fluid: Reference('block_state'),\r\n noise: (0, core_1.ObjectNode)({\r\n height: (0, core_1.NumberNode)({ integer: true }),\r\n density_factor: (0, core_1.NumberNode)(),\r\n density_offset: (0, core_1.NumberNode)(),\r\n size_horizontal: (0, core_1.NumberNode)({ integer: true }),\r\n size_vertical: (0, core_1.NumberNode)({ integer: true }),\r\n simplex_surface_noise: (0, core_1.BooleanNode)(),\r\n random_density_offset: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n island_noise_override: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n amplified: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n sampling: (0, core_1.ObjectNode)({\r\n xz_scale: (0, core_1.NumberNode)(),\r\n y_scale: (0, core_1.NumberNode)(),\r\n xz_factor: (0, core_1.NumberNode)(),\r\n y_factor: (0, core_1.NumberNode)()\r\n }),\r\n bottom_slide: (0, core_1.ObjectNode)({\r\n target: (0, core_1.NumberNode)({ integer: true }),\r\n size: (0, core_1.NumberNode)({ integer: true }),\r\n offset: (0, core_1.NumberNode)({ integer: true })\r\n }),\r\n top_slide: (0, core_1.ObjectNode)({\r\n target: (0, core_1.NumberNode)({ integer: true }),\r\n size: (0, core_1.NumberNode)({ integer: true }),\r\n offset: (0, core_1.NumberNode)({ integer: true })\r\n })\r\n }),\r\n structures: Reference('generator_structures')\r\n }, { context: 'noise_settings' }), {\r\n default: () => Common_1.DefaultNoiseSettings\r\n }));\r\n schemas.register('generator_structures', (0, core_1.ObjectNode)({\r\n stronghold: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n distance: (0, core_1.NumberNode)({ integer: true, min: 0, max: 1023 }),\r\n spread: (0, core_1.NumberNode)({ integer: true, min: 0, max: 1023 }),\r\n count: (0, core_1.NumberNode)({ integer: true, min: 1, max: 4095 })\r\n })),\r\n structures: (0, core_1.MapNode)(StringNode({ validator: 'resource', params: { pool: 'worldgen/structure_feature' } }), (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n spacing: (0, core_1.NumberNode)({ integer: true, min: 0, max: 4096 }),\r\n separation: (0, core_1.Mod)((0, core_1.NumberNode)({ integer: true, min: 0, max: 4096 }), (node) => ({\r\n validate: (path, value, errors, options) => {\r\n if (path.pop().push('spacing').get() <= value) {\r\n errors.add(path, 'error.separation_smaller_spacing');\r\n }\r\n return node.validate(path, value, errors, options);\r\n }\r\n })),\r\n salt: (0, core_1.NumberNode)({ integer: true, min: 0 })\r\n }, { context: 'generator_structure' }), {\r\n default: () => ({\r\n spacing: 10,\r\n separation: 5,\r\n salt: 0\r\n })\r\n }))\r\n }));\r\n schemas.register('generator_layer', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n block: StringNode({ validator: 'resource', params: { pool: 'block' } }),\r\n height: (0, core_1.NumberNode)({ integer: true, min: 1 })\r\n }), {\r\n default: () => ({\r\n block: 'minecraft:stone',\r\n height: 1\r\n })\r\n }));\r\n}\r\nexports.initNoiseSettingsSchemas = initNoiseSettingsSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initStructureFeatureSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initStructureFeatureSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const templatePoolConfig = {\r\n start_pool: StringNode({ validator: 'resource', params: { pool: '$worldgen/template_pool' } }),\r\n size: (0, core_1.NumberNode)({ integer: true })\r\n };\r\n schemas.register('configured_structure_feature', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/structure_feature' } }),\r\n config: (0, core_1.ObjectNode)({\r\n [core_1.Switch]: ['pop', { push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:bastion_remnant': templatePoolConfig,\r\n 'minecraft:buried_treasure': {\r\n probability: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n },\r\n 'minecraft:mineshaft': {\r\n type: StringNode({ enum: ['normal', 'mesa'] }),\r\n probability: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n },\r\n 'minecraft:ocean_ruin': {\r\n biome_temp: StringNode({ enum: ['cold', 'warm'] }),\r\n large_probability: (0, core_1.NumberNode)({ min: 0, max: 1 }),\r\n cluster_probability: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n },\r\n 'minecraft:pillager_outpost': templatePoolConfig,\r\n 'minecraft:ruined_portal': {\r\n portal_type: StringNode({ enum: ['standard', 'desert', 'jungle', 'mountain', 'nether', 'ocean', 'swamp'] })\r\n },\r\n 'minecraft:shipwreck': {\r\n is_beached: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n },\r\n 'minecraft:village': templatePoolConfig\r\n }\r\n }, { context: 'structure_feature', disableSwitchContext: true })\r\n }, { context: 'structure_feature' }), {\r\n default: () => ({\r\n type: 'minecraft:bastion_remnant',\r\n config: {\r\n start_pool: 'minecraft:bastion/starts',\r\n size: 6\r\n }\r\n })\r\n }));\r\n}\r\nexports.initStructureFeatureSchemas = initStructureFeatureSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initSurfaceBuilderSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initSurfaceBuilderSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n schemas.register('configured_surface_builder', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/surface_builder' } }),\r\n config: (0, core_1.ObjectNode)({\r\n top_material: Reference('block_state'),\r\n under_material: Reference('block_state'),\r\n underwater_material: Reference('block_state'),\r\n }, { context: 'surface_builder' })\r\n }, { context: 'surface_builder' }), {\r\n default: () => ({\r\n type: 'minecraft:default',\r\n config: {\r\n top_material: {\r\n Name: 'minecraft:grass_block',\r\n Properties: {\r\n snowy: 'false'\r\n }\r\n },\r\n under_material: {\r\n Name: 'minecraft:dirt'\r\n },\r\n underwater_material: {\r\n Name: 'minecraft:gravel'\r\n }\r\n }\r\n })\r\n }));\r\n}\r\nexports.initSurfaceBuilderSchemas = initSurfaceBuilderSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initTemplatePoolSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nrequire(\"./ProcessorList\");\r\nfunction initTemplatePoolSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const Processors = (0, core_1.ChoiceNode)([\r\n {\r\n type: 'string',\r\n node: StringNode({ validator: 'resource', params: { pool: '$worldgen/processor_list' } }),\r\n change: v => undefined\r\n },\r\n {\r\n type: 'object',\r\n node: Reference('processor_list'),\r\n change: v => ({\r\n processors: [{\r\n \"processor_type\": \"minecraft:nop\"\r\n }]\r\n })\r\n }\r\n ]);\r\n schemas.register('template_pool', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n name: StringNode(),\r\n fallback: StringNode(),\r\n elements: (0, core_1.ListNode)(Reference('template_weighted_element'))\r\n }, { context: 'template_pool' }), {\r\n default: () => ({\r\n fallback: 'minecraft:empty',\r\n elements: [\r\n {\r\n weight: 1,\r\n element: {\r\n element_type: 'minecraft:single_pool_element',\r\n projection: 'rigid',\r\n processors: 'minecraft:empty'\r\n }\r\n }\r\n ]\r\n })\r\n }));\r\n schemas.register('template_weighted_element', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n weight: (0, core_1.NumberNode)({ integer: true, min: 1 }),\r\n element: Reference('template_element')\r\n }, { category: 'pool' }), {\r\n default: () => ({\r\n weight: 1,\r\n element: {\r\n element_type: 'minecraft:single_pool_element',\r\n projection: 'rigid',\r\n processors: 'minecraft:empty'\r\n }\r\n })\r\n }));\r\n schemas.register('template_element', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n element_type: StringNode({ validator: 'resource', params: { pool: 'worldgen/structure_pool_element' } }),\r\n projection: StringNode({ enum: ['rigid', 'terrain_matching'] }),\r\n [core_1.Switch]: [{ push: 'element_type' }],\r\n [core_1.Case]: {\r\n 'minecraft:feature_pool_element': {\r\n feature: StringNode({ validator: 'resource', params: { pool: '$worldgen/configured_feature' } })\r\n },\r\n 'minecraft:legacy_single_pool_element': {\r\n location: StringNode({ validator: 'resource', params: { pool: '$structure' } }),\r\n processors: Processors\r\n },\r\n 'minecraft:list_pool_element': {\r\n elements: (0, core_1.ListNode)(Reference('template_element'))\r\n },\r\n 'minecraft:single_pool_element': {\r\n location: StringNode({ validator: 'resource', params: { pool: '$structure' } }),\r\n processors: Processors\r\n }\r\n }\r\n }, { context: 'template_element', disableSwitchContext: true }), {\r\n default: () => ({\r\n element_type: 'minecraft:single_pool_element',\r\n projection: 'rigid',\r\n processors: 'minecraft:empty'\r\n })\r\n }));\r\n}\r\nexports.initTemplatePoolSchemas = initTemplatePoolSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initWorldgenSchemas = void 0;\r\nconst Biome_1 = require(\"./Biome\");\r\nconst Carver_1 = require(\"./Carver\");\r\nconst Decorator_1 = require(\"./Decorator\");\r\nconst Feature_1 = require(\"./Feature\");\r\nconst NoiseSettings_1 = require(\"./NoiseSettings\");\r\nconst ProcessorList_1 = require(\"./ProcessorList\");\r\nconst StructureFeature_1 = require(\"./StructureFeature\");\r\nconst SurfaceBuilder_1 = require(\"./SurfaceBuilder\");\r\nconst TemplatePool_1 = require(\"./TemplatePool\");\r\nfunction initWorldgenSchemas(schemas, collections) {\r\n (0, Biome_1.initBiomeSchemas)(schemas, collections);\r\n (0, Carver_1.initCarverSchemas)(schemas, collections);\r\n (0, Decorator_1.initDecoratorSchemas)(schemas, collections);\r\n (0, Feature_1.initFeatureSchemas)(schemas, collections);\r\n (0, NoiseSettings_1.initNoiseSettingsSchemas)(schemas, collections);\r\n (0, ProcessorList_1.initProcessorListSchemas)(schemas, collections);\r\n (0, StructureFeature_1.initStructureFeatureSchemas)(schemas, collections);\r\n (0, SurfaceBuilder_1.initSurfaceBuilderSchemas)(schemas, collections);\r\n (0, TemplatePool_1.initTemplatePoolSchemas)(schemas, collections);\r\n}\r\nexports.initWorldgenSchemas = initWorldgenSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initWorldSettingsSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initWorldSettingsSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('world_settings', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n generate_features: (0, core_1.BooleanNode)(),\r\n bonus_chest: (0, core_1.BooleanNode)(),\r\n seed: (0, core_1.NumberNode)({ integer: true }),\r\n dimensions: (0, core_1.MapNode)(StringNode({ validator: 'resource', params: { pool: '$dimension' } }), Reference('dimension'))\r\n }, { context: 'world_settings' }), {\r\n default: () => {\r\n const seed = Math.floor(Math.random() * (4294967296)) - 2147483648;\r\n return {\r\n generate_features: true,\r\n bonus_chest: false,\r\n seed,\r\n dimensions: {\r\n 'minecraft:overworld': {\r\n type: 'minecraft:overworld',\r\n generator: {\r\n type: 'minecraft:noise',\r\n seed,\r\n biome_source: {\r\n type: 'minecraft:vanilla_layered',\r\n seed\r\n },\r\n settings: 'minecraft:overworld',\r\n }\r\n },\r\n 'minecraft:the_nether': {\r\n type: 'minecraft:the_nether',\r\n generator: {\r\n type: 'minecraft:noise',\r\n seed,\r\n biome_source: {\r\n type: 'minecraft:multi_noise',\r\n seed,\r\n humidity_noise: {\r\n firstOctave: -7,\r\n amplitudes: [1.0, 1.0]\r\n },\r\n altitude_noise: {\r\n firstOctave: -7,\r\n amplitudes: [1.0, 1.0]\r\n },\r\n weirdness_noise: {\r\n firstOctave: -7,\r\n amplitudes: [1.0, 1.0]\r\n },\r\n temperature_noise: {\r\n firstOctave: -7,\r\n amplitudes: [1.0, 1.0]\r\n },\r\n biomes: [\r\n {\r\n parameters: { altitude: 0.0, weirdness: 0.0, offset: 0.0, temperature: 0.0, humidity: 0.0 },\r\n biome: 'minecraft:nether_wastes'\r\n },\r\n {\r\n parameters: { altitude: 0.0, weirdness: 0.0, offset: 0.0, temperature: 0.0, humidity: -0.5 },\r\n biome: 'minecraft:soul_sand_valley'\r\n },\r\n {\r\n parameters: { altitude: 0.0, weirdness: 0.0, offset: 0.0, temperature: 0.4, humidity: 0.0 },\r\n biome: 'minecraft:crimson_forest'\r\n },\r\n {\r\n parameters: { altitude: 0.0, weirdness: 0.0, offset: 0.375, temperature: 0.0, humidity: 0.5 },\r\n biome: 'minecraft:warped_forest'\r\n },\r\n {\r\n parameters: { altitude: 0.0, weirdness: 0.0, offset: 0.175, temperature: -0.5, humidity: 0.0 },\r\n biome: 'minecraft:basalt_deltas'\r\n }\r\n ]\r\n },\r\n settings: 'minecraft:nether'\r\n }\r\n },\r\n 'minecraft:the_end': {\r\n type: \"minecraft:the_end\",\r\n generator: {\r\n type: \"minecraft:noise\",\r\n seed,\r\n biome_source: {\r\n type: \"minecraft:the_end\",\r\n seed\r\n },\r\n settings: \"minecraft:end\"\r\n }\r\n }\r\n }\r\n };\r\n }\r\n }));\r\n}\r\nexports.initWorldSettingsSchemas = initWorldSettingsSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initSchemas = void 0;\r\nconst Advancement_1 = require(\"./Advancement\");\r\nconst assets_1 = require(\"./assets\");\r\nconst Common_1 = require(\"./Common\");\r\nconst Condition_1 = require(\"./Condition\");\r\nconst Dimension_1 = require(\"./Dimension\");\r\nconst DimensionType_1 = require(\"./DimensionType\");\r\nconst LootTable_1 = require(\"./LootTable\");\r\nconst PackMcmeta_1 = require(\"./PackMcmeta\");\r\nconst Predicates_1 = require(\"./Predicates\");\r\nconst Recipe_1 = require(\"./Recipe\");\r\nconst Tags_1 = require(\"./Tags\");\r\nconst TextComponent_1 = require(\"./TextComponent\");\r\nconst worldgen_1 = require(\"./worldgen\");\r\nconst WorldSettings_1 = require(\"./WorldSettings\");\r\nfunction initSchemas(schemas, collections) {\r\n // `Common.ts` is the only file that has exports. It should be initialized first. \r\n (0, Common_1.initCommonSchemas)(schemas, collections);\r\n (0, Advancement_1.initAdvancementSchemas)(schemas, collections);\r\n (0, assets_1.initAssetsSchemas)(schemas, collections);\r\n (0, Condition_1.initConditionSchemas)(schemas, collections);\r\n (0, DimensionType_1.initDimensionTypeSchemas)(schemas, collections);\r\n (0, Dimension_1.initDimensionSchemas)(schemas, collections);\r\n (0, LootTable_1.initLootTableSchemas)(schemas, collections);\r\n (0, PackMcmeta_1.initPackMcmetaSchemas)(schemas, collections);\r\n (0, Predicates_1.initPredicatesSchemas)(schemas, collections);\r\n (0, Recipe_1.initRecipeSchemas)(schemas, collections);\r\n (0, Tags_1.initTagsSchemas)(schemas, collections);\r\n (0, TextComponent_1.initTextComponentSchemas)(schemas, collections);\r\n (0, worldgen_1.initWorldgenSchemas)(schemas, collections);\r\n (0, WorldSettings_1.initWorldSettingsSchemas)(schemas, collections);\r\n}\r\nexports.initSchemas = initSchemas;\r\n","\"use strict\";\r\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}));\r\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n});\r\nvar __importStar = (this && this.__importStar) || function (mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.getSchemas = exports.getCollections = exports.lootContext = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Collections_1 = require(\"./Collections\");\r\nconst schemas_1 = require(\"./schemas\");\r\nexports.lootContext = __importStar(require(\"./LootContext\"));\r\nfunction getCollections() {\r\n const collections = new core_1.CollectionRegistry();\r\n (0, Collections_1.initCollections)(collections);\r\n return collections;\r\n}\r\nexports.getCollections = getCollections;\r\n/**\r\n * @param collections The CollectionRegistry for this version. Note that apart from\r\n * the built-in collections, the client of this module is responsible for futhermore\r\n * adding the vanilla registries to it: the collection IDs shouldn't contain the\r\n * namespace (`minecraft:`) part, while the values within the collections should.\r\n *\r\n * @example\r\n * for (const key in VANILLA_REGISTRIES>) {\r\n * collections.register(\r\n * key.replace(/^minecraft:/, ''),\r\n * Object.keys(VANILLA_REGISTRIES[key].entries)\r\n * )\r\n * }\r\n */\r\nfunction getSchemas(collections) {\r\n const schemas = new core_1.SchemaRegistry();\r\n (0, schemas_1.initSchemas)(schemas, collections);\r\n return schemas;\r\n}\r\nexports.getSchemas = getSchemas;\r\n"],"names":["require$$0","core_1","Common_1","require$$1","require$$2","require$$3","require$$4","require$$5","require$$6","require$$7","require$$8","require$$9","require$$10","require$$11","require$$12","require$$13","this"],"mappings":"81BACA,OAAO,eAAe,EAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EACrC,EAAA,gBAAG,OAC1B,YAAyB,EAAa,CAClC,EAAY,SAAS,sBAAuB,CACxC,+BACA,yBACA,0BACA,8BACA,gCACA,6BACA,yBACA,kCACA,4BACA,2BACA,wBACA,+BACA,iCACA,0BACA,+BACA,gCACA,uBACA,8BACA,oCACA,+BACA,+BACA,uBACA,qBACA,0BACA,yBACA,4CACA,+BACA,0CACA,iCACA,4BACA,0BACA,yBACA,6BACA,4BACA,wBACA,uBACA,iBACA,4CACA,2BACA,uBACA,2BACA,2BACR,CAAK,EACD,EAAY,SAAS,YAAa,CAC9B,sBACA,uBACA,mBACR,CAAK,EACD,EAAY,SAAS,iBAAkB,CACnC,sBACA,uBACA,mBACR,CAAK,EACD,EAAY,SAAS,UAAW,CAC5B,mBACA,aACA,WACA,WACA,cACA,WACA,cACA,iBACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,gBACA,WACA,WACA,2BACA,eACA,iBACA,YACA,2BACA,iBACA,mBACA,YACA,wBACA,aACA,kBACA,wBACA,SACR,CAAK,EACD,EAAY,SAAS,OAAQ,CACzB,WACA,UACA,OACA,QACA,OACA,MACR,CAAK,EACD,EAAY,SAAS,WAAY,CAC7B,WACA,WACA,YACA,WACR,CAAK,EACD,EAAY,SAAS,0BAA2B,CAC5C,sBACA,mBACA,gBACA,sBACA,kBACA,4BACR,CAAK,EACD,EAAY,SAAS,gBAAiB,CAClC,OACA,gBACA,SACA,eACR,CAAK,EACD,EAAY,SAAS,cAAe,CAChC,eACA,OACA,SACA,eACR,CAAK,EACD,EAAY,SAAS,iCAAkC,CACnD,gCACA,sCACA,qBACR,CAAK,EACD,EAAY,SAAS,iBAAkB,CACnC,UACA,WACA,SACA,QACA,aACA,cACA,WACA,eACA,iBACA,oBACA,QACA,eACA,gBACA,iBACA,oBACA,gBACA,cACA,cACA,cACA,oBACA,cACA,gBACA,cACA,eACA,eACA,aACA,cACR,CAAK,EACD,EAAY,SAAS,cAAe,CAChC,kBACA,kBACA,iBACA,UACA,WACA,QACA,iBACA,UACA,YACA,WACA,gBACA,aACA,mBACA,gBACA,YACA,aACA,YACA,SACR,CAAK,EACD,EAAY,SAAS,eAAgB,CACjC,MACA,iBACA,aACA,gBACA,YACA,qBACA,WACA,cACA,OACA,cACA,iBACA,oBACA,SACA,gBACA,cACA,qBACA,eACA,SACA,kBACA,wBACA,OACA,YACA,aACA,WACA,UACA,kBACA,gBACA,aACA,WACA,cACA,aACA,SACA,OACA,OACA,QACA,WACA,YACA,SACA,iBACR,CAAK,EACD,EAAY,SAAS,8BAA+B,CAChD,mBACA,yBACA,8BACA,mBACA,yBACA,0BACA,4BACA,2BACA,2BACA,wBACA,uBACA,kBACA,6BACA,qBACA,wBACA,iCACA,kCACA,kCACA,iCACA,iCACA,yBACA,sCACA,kCACA,0BACA,yCACA,uCACA,qBACA,kBACA,wBACA,sBACA,wBACA,sBACA,gCACA,wBACA,iCACA,uBACA,sBACA,gCACA,+BACA,+BACA,sBACA,2BACA,0BACA,mCACA,yBACA,yBACA,wBACA,gCACA,4CACA,qCACA,wBACA,mBACA,6BACA,4BACA,sBACA,gCACA,8BACA,sBACA,sBACA,yBACA,2BACA,wBACA,gCACA,wBACA,sBACA,sBACA,sBACA,uBACA,iCACA,6BACA,sBACA,wBACA,yBACA,sCACA,2BACA,yBACA,0BACA,yBACA,yBACA,gBACA,yBACA,2BACA,qBACA,6BACA,6BACA,wBACA,wBACA,qBACA,wBACA,4BACA,2BACA,4BACA,qBACA,wBACA,8BACA,uBACA,yBACA,qBACA,sBACA,sBACA,8BACA,8BACA,yBACA,0BACA,6BACA,kCACA,+BACA,iCACA,mCACA,gCACA,yBACA,gCACA,8BACA,qCACA,4BACA,uBACA,iCACA,+BACA,+BACA,+BACA,8BACA,gCACA,gCACA,8BACA,6BACA,wBACA,0BACA,+BACA,4BACA,sCACA,oCACA,mCACA,6BACA,4BACA,8BACA,+BACA,6BACA,6BACA,qBACA,qBACA,uBACA,yBACA,sBACA,iBACA,6BACA,+BACA,gCACA,gCACA,+BACA,+BACA,uBACA,0BACA,+BACA,+BACA,0BACA,4BACA,2BACA,4BACA,2BACA,0BACA,iCACA,iCACA,0BACA,yBACA,+BACA,wBACA,wBACA,yBACA,yBACA,mBACA,kCACA,uBACA,6BACA,wBACA,+BACA,wBACA,8BACA,yBACA,gCACA,2BACA,0BACA,oCACA,wBACA,2BACA,kBACA,gCACA,kCACA,qCACA,iCACA,yBACA,yBACR,CAAK,EACD,EAAY,SAAS,wCAAyC,CAC1D,4BACA,4BACA,2BACA,qBACA,qBACA,kBACA,2BACA,oBACA,2BACA,sBACA,qBACA,0BACA,4BACA,4BACA,6BACA,iCACA,iCACA,mCACA,iCACA,gCACA,gCACA,0BACA,8BACA,sBACA,uBACA,sBACA,2BACA,2BACA,4BACA,0BACA,yBACR,CAAK,EACD,EAAY,SAAS,sCAAuC,CACxD,qBACA,0BACA,2BACA,mBACA,gBACA,4BACA,yBACA,sBACA,6BACA,kBACA,8BACA,uBACA,qBACA,qBACA,mBACA,iBACA,uBACA,8BACA,6BACA,kBACA,kBACA,0BACA,2BACR,CAAK,EACD,EAAY,SAAS,iBAAkB,CACnC,QACA,SACA,gBACA,SACA,MACA,SACA,OACA,WACA,SACA,OACA,QACA,SACA,QACA,UACA,QACA,QACA,SACR,CAAK,EACD,EAAY,SAAS,iBAAkB,CACnC,kBACA,4BACA,cACA,iBACA,gBACA,kBACR,CAAK,EACD,EAAY,SAAS,kBAAmB,CACpC,MACA,QACR,CAAK,EACD,EAAY,SAAS,oBAAqB,CACtC,kBACA,kBACA,oBACA,qBACA,oBACA,mBACA,iBACA,mBACA,+BACA,+BACA,oBACA,iBACR,CAAK,EACD,EAAY,SAAS,cAAe,CAChC,gCACA,gCACA,8BACA,kCACA,4CACA,iCACA,kCACA,kCACA,gCACA,iCACA,mCACR,CAAK,CACL,CACA,EAAA,gBAA0B,mCCnhB1B,OAAO,eAAc,EAAU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"} \ No newline at end of file +{"version":3,"file":"index.68968b48.js","sources":["../../node_modules/@mcschema/java-1.16/lib/Collections.js","../../node_modules/@mcschema/java-1.16/lib/schemas/Common.js","../../node_modules/@mcschema/java-1.16/lib/schemas/Advancement.js","../../node_modules/@mcschema/java-1.16/lib/schemas/assets/Model.js","../../node_modules/@mcschema/java-1.16/lib/schemas/assets/BlockDefinition.js","../../node_modules/@mcschema/java-1.16/lib/schemas/assets/index.js","../../node_modules/@mcschema/java-1.16/lib/schemas/Condition.js","../../node_modules/@mcschema/java-1.16/lib/schemas/Dimension.js","../../node_modules/@mcschema/java-1.16/lib/schemas/DimensionType.js","../../node_modules/@mcschema/java-1.16/lib/LootContext.js","../../node_modules/@mcschema/java-1.16/lib/schemas/LootTable.js","../../node_modules/@mcschema/java-1.16/lib/schemas/PackMcmeta.js","../../node_modules/@mcschema/java-1.16/lib/schemas/Predicates.js","../../node_modules/@mcschema/java-1.16/lib/schemas/Recipe.js","../../node_modules/@mcschema/java-1.16/lib/schemas/Tags.js","../../node_modules/@mcschema/java-1.16/lib/schemas/TextComponent.js","../../node_modules/@mcschema/java-1.16/lib/schemas/worldgen/Biome.js","../../node_modules/@mcschema/java-1.16/lib/schemas/worldgen/Carver.js","../../node_modules/@mcschema/java-1.16/lib/schemas/worldgen/Decorator.js","../../node_modules/@mcschema/java-1.16/lib/schemas/worldgen/ProcessorList.js","../../node_modules/@mcschema/java-1.16/lib/schemas/worldgen/Feature.js","../../node_modules/@mcschema/java-1.16/lib/schemas/worldgen/NoiseSettings.js","../../node_modules/@mcschema/java-1.16/lib/schemas/worldgen/StructureFeature.js","../../node_modules/@mcschema/java-1.16/lib/schemas/worldgen/SurfaceBuilder.js","../../node_modules/@mcschema/java-1.16/lib/schemas/worldgen/TemplatePool.js","../../node_modules/@mcschema/java-1.16/lib/schemas/worldgen/index.js","../../node_modules/@mcschema/java-1.16/lib/schemas/WorldSettings.js","../../node_modules/@mcschema/java-1.16/lib/schemas/index.js","../../node_modules/@mcschema/java-1.16/lib/index.js"],"sourcesContent":["\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initCollections = void 0;\r\nfunction initCollections(collections) {\r\n collections.register('advancement_trigger', [\r\n 'minecraft:bee_nest_destroyed',\r\n 'minecraft:bred_animals',\r\n 'minecraft:brewed_potion',\r\n 'minecraft:changed_dimension',\r\n 'minecraft:channeled_lightning',\r\n 'minecraft:construct_beacon',\r\n 'minecraft:consume_item',\r\n 'minecraft:cured_zombie_villager',\r\n 'minecraft:effects_changed',\r\n 'minecraft:enchanted_item',\r\n 'minecraft:enter_block',\r\n 'minecraft:entity_hurt_player',\r\n 'minecraft:entity_killed_player',\r\n 'minecraft:filled_bucket',\r\n 'minecraft:fishing_rod_hooked',\r\n 'minecraft:hero_of_the_village',\r\n 'minecraft:impossible',\r\n 'minecraft:inventory_changed',\r\n 'minecraft:item_durability_changed',\r\n 'minecraft:item_used_on_block',\r\n 'minecraft:killed_by_crossbow',\r\n 'minecraft:levitation',\r\n 'minecraft:location',\r\n 'minecraft:nether_travel',\r\n 'minecraft:placed_block',\r\n 'minecraft:player_generates_container_loot',\r\n 'minecraft:player_hurt_entity',\r\n 'minecraft:player_interacted_with_entity',\r\n 'minecraft:player_killed_entity',\r\n 'minecraft:recipe_unlocked',\r\n 'minecraft:shot_crossbow',\r\n 'minecraft:slept_in_bed',\r\n 'minecraft:slide_down_block',\r\n 'minecraft:summoned_entity',\r\n 'minecraft:tame_animal',\r\n 'minecraft:target_hit',\r\n 'minecraft:tick',\r\n 'minecraft:thrown_item_picked_up_by_entity',\r\n 'minecraft:used_ender_eye',\r\n 'minecraft:used_totem',\r\n 'minecraft:villager_trade',\r\n 'minecraft:voluntary_exile'\r\n ]);\r\n collections.register('dimension', [\r\n 'minecraft:overworld',\r\n 'minecraft:the_nether',\r\n 'minecraft:the_end'\r\n ]);\r\n collections.register('dimension_type', [\r\n 'minecraft:overworld',\r\n 'minecraft:the_nether',\r\n 'minecraft:the_end'\r\n ]);\r\n collections.register('keybind', [\r\n 'key.advancements',\r\n 'key.attack',\r\n 'key.back',\r\n 'key.chat',\r\n 'key.command',\r\n 'key.drop',\r\n 'key.forward',\r\n 'key.fullscreen',\r\n 'key.hotbar.1',\r\n 'key.hotbar.2',\r\n 'key.hotbar.3',\r\n 'key.hotbar.4',\r\n 'key.hotbar.5',\r\n 'key.hotbar.6',\r\n 'key.hotbar.7',\r\n 'key.hotbar.8',\r\n 'key.hotbar.9',\r\n 'key.inventory',\r\n 'key.jump',\r\n 'key.left',\r\n 'key.loadToolbarActivator',\r\n 'key.pickItem',\r\n 'key.playerlist',\r\n 'key.right',\r\n 'key.saveToolbarActivator',\r\n 'key.screenshot',\r\n 'key.smoothCamera',\r\n 'key.sneak',\r\n 'key.spectatorOutlines',\r\n 'key.sprint',\r\n 'key.swapOffhand',\r\n 'key.togglePerspective',\r\n 'key.use'\r\n ]);\r\n collections.register('slot', [\r\n 'mainhand',\r\n 'offhand',\r\n 'head',\r\n 'chest',\r\n 'legs',\r\n 'feet'\r\n ]);\r\n collections.register('gamemode', [\r\n 'survival',\r\n 'creative',\r\n 'adventure',\r\n 'spectator'\r\n ]);\r\n collections.register('worldgen/noise_settings', [\r\n 'minecraft:overworld',\r\n 'minecraft:nether',\r\n 'minecraft:end',\r\n 'minecraft:amplified',\r\n 'minecraft:caves',\r\n 'minecraft:floating_islands'\r\n ]);\r\n collections.register('entity_source', [\r\n 'this',\r\n 'direct_killer',\r\n 'killer',\r\n 'killer_player'\r\n ]);\r\n collections.register('copy_source', [\r\n 'block_entity',\r\n 'this',\r\n 'killer',\r\n 'killer_player'\r\n ]);\r\n collections.register('loot_table_apply_bonus_formula', [\r\n 'minecraft:uniform_bonus_count',\r\n 'minecraft:binomial_with_bonus_count',\r\n 'minecraft:ore_drops'\r\n ]);\r\n collections.register('map_decoration', [\r\n 'mansion',\r\n 'monument',\r\n 'player',\r\n 'frame',\r\n 'red_marker',\r\n 'blue_marker',\r\n 'target_x',\r\n 'target_point',\r\n 'player_off_map',\r\n 'player_off_limits',\r\n 'red_x',\r\n 'banner_white',\r\n 'banner_orange',\r\n 'banner_magenta',\r\n 'banner_light_blue',\r\n 'banner_yellow',\r\n 'banner_lime',\r\n 'banner_pink',\r\n 'banner_gray',\r\n 'banner_light_gray',\r\n 'banner_cyan',\r\n 'banner_purple',\r\n 'banner_blue',\r\n 'banner_brown',\r\n 'banner_green',\r\n 'banner_red',\r\n 'banner_black'\r\n ]);\r\n collections.register('map_feature', [\r\n 'bastion_remnant',\r\n 'buried_treasure',\r\n 'desert_pyramid',\r\n 'endcity',\r\n 'fortress',\r\n 'igloo',\r\n 'jungle_pyramid',\r\n 'mansion',\r\n 'mineshaft',\r\n 'monument',\r\n 'nether_fossil',\r\n 'ocean_ruin',\r\n 'pillager_outpost',\r\n 'ruined_portal',\r\n 'shipwreck',\r\n 'stronghold',\r\n 'swamp_hut',\r\n 'village'\r\n ]);\r\n collections.register('recipe_group', [\r\n 'bed',\r\n 'light_gray_dye',\r\n 'iron_ingot',\r\n 'wooden_stairs',\r\n 'black_dye',\r\n 'stained_terracotta',\r\n 'dyed_bed',\r\n 'magenta_dye',\r\n 'bark',\r\n 'rabbit_stew',\r\n 'light_blue_dye',\r\n 'wooden_fence_gate',\r\n 'planks',\r\n 'stained_glass',\r\n 'wooden_door',\r\n 'stained_glass_pane',\r\n 'wooden_fence',\r\n 'sticks',\r\n 'concrete_powder',\r\n 'wooden_pressure_plate',\r\n 'boat',\r\n 'brown_dye',\r\n 'yellow_dye',\r\n 'bonemeal',\r\n 'red_dye',\r\n 'wooden_trapdoor',\r\n 'wooden_button',\r\n 'gold_ingot',\r\n 'pink_dye',\r\n 'wooden_slab',\r\n 'orange_dye',\r\n 'carpet',\r\n 'sign',\r\n 'wool',\r\n 'sugar',\r\n 'blue_dye',\r\n 'white_dye',\r\n 'banner',\r\n 'netherite_ingot'\r\n ]);\r\n collections.register('worldgen/configured_feature', [\r\n 'minecraft:acacia',\r\n 'minecraft:bamboo_light',\r\n 'minecraft:bamboo_vegetation',\r\n 'minecraft:bamboo',\r\n 'minecraft:basalt_blobs',\r\n 'minecraft:basalt_pillar',\r\n 'minecraft:birch_bees_0002',\r\n 'minecraft:birch_bees_002',\r\n 'minecraft:birch_bees_005',\r\n 'minecraft:birch_other',\r\n 'minecraft:birch_tall',\r\n 'minecraft:birch',\r\n 'minecraft:blackstone_blobs',\r\n 'minecraft:blue_ice',\r\n 'minecraft:bonus_chest',\r\n 'minecraft:brown_mushroom_giant',\r\n 'minecraft:brown_mushroom_nether',\r\n 'minecraft:brown_mushroom_normal',\r\n 'minecraft:brown_mushroom_swamp',\r\n 'minecraft:brown_mushroom_taiga',\r\n 'minecraft:chorus_plant',\r\n 'minecraft:crimson_forest_vegetation',\r\n 'minecraft:crimson_fungi_planted',\r\n 'minecraft:crimson_fungi',\r\n 'minecraft:dark_forest_vegetation_brown',\r\n 'minecraft:dark_forest_vegetation_red',\r\n 'minecraft:dark_oak',\r\n 'minecraft:delta',\r\n 'minecraft:desert_well',\r\n 'minecraft:disk_clay',\r\n 'minecraft:disk_gravel',\r\n 'minecraft:disk_sand',\r\n 'minecraft:end_gateway_delayed',\r\n 'minecraft:end_gateway',\r\n 'minecraft:end_island_decorated',\r\n 'minecraft:end_island',\r\n 'minecraft:end_spike',\r\n 'minecraft:fancy_oak_bees_0002',\r\n 'minecraft:fancy_oak_bees_002',\r\n 'minecraft:fancy_oak_bees_005',\r\n 'minecraft:fancy_oak',\r\n 'minecraft:flower_default',\r\n 'minecraft:flower_forest',\r\n 'minecraft:flower_plain_decorated',\r\n 'minecraft:flower_plain',\r\n 'minecraft:flower_swamp',\r\n 'minecraft:flower_warm',\r\n 'minecraft:forest_flower_trees',\r\n 'minecraft:forest_flower_vegetation_common',\r\n 'minecraft:forest_flower_vegetation',\r\n 'minecraft:forest_rock',\r\n 'minecraft:fossil',\r\n 'minecraft:freeze_top_layer',\r\n 'minecraft:glowstone_extra',\r\n 'minecraft:glowstone',\r\n 'minecraft:huge_brown_mushroom',\r\n 'minecraft:huge_red_mushroom',\r\n 'minecraft:ice_patch',\r\n 'minecraft:ice_spike',\r\n 'minecraft:iceberg_blue',\r\n 'minecraft:iceberg_packed',\r\n 'minecraft:jungle_bush',\r\n 'minecraft:jungle_tree_no_vine',\r\n 'minecraft:jungle_tree',\r\n 'minecraft:kelp_cold',\r\n 'minecraft:kelp_warm',\r\n 'minecraft:lake_lava',\r\n 'minecraft:lake_water',\r\n 'minecraft:large_basalt_columns',\r\n 'minecraft:mega_jungle_tree',\r\n 'minecraft:mega_pine',\r\n 'minecraft:mega_spruce',\r\n 'minecraft:monster_room',\r\n 'minecraft:mushroom_field_vegetation',\r\n 'minecraft:nether_sprouts',\r\n 'minecraft:oak_badlands',\r\n 'minecraft:oak_bees_0002',\r\n 'minecraft:oak_bees_002',\r\n 'minecraft:oak_bees_005',\r\n 'minecraft:oak',\r\n 'minecraft:ore_andesite',\r\n 'minecraft:ore_blackstone',\r\n 'minecraft:ore_coal',\r\n 'minecraft:ore_debris_large',\r\n 'minecraft:ore_debris_small',\r\n 'minecraft:ore_diamond',\r\n 'minecraft:ore_diorite',\r\n 'minecraft:ore_dirt',\r\n 'minecraft:ore_emerald',\r\n 'minecraft:ore_gold_deltas',\r\n 'minecraft:ore_gold_extra',\r\n 'minecraft:ore_gold_nether',\r\n 'minecraft:ore_gold',\r\n 'minecraft:ore_granite',\r\n 'minecraft:ore_gravel_nether',\r\n 'minecraft:ore_gravel',\r\n 'minecraft:ore_infested',\r\n 'minecraft:ore_iron',\r\n 'minecraft:ore_lapis',\r\n 'minecraft:ore_magma',\r\n 'minecraft:ore_quartz_deltas',\r\n 'minecraft:ore_quartz_nether',\r\n 'minecraft:ore_redstone',\r\n 'minecraft:ore_soul_sand',\r\n 'minecraft:patch_berry_bush',\r\n 'minecraft:patch_berry_decorated',\r\n 'minecraft:patch_berry_sparse',\r\n 'minecraft:patch_brown_mushroom',\r\n 'minecraft:patch_cactus_decorated',\r\n 'minecraft:patch_cactus_desert',\r\n 'minecraft:patch_cactus',\r\n 'minecraft:patch_crimson_roots',\r\n 'minecraft:patch_dead_bush_2',\r\n 'minecraft:patch_dead_bush_badlands',\r\n 'minecraft:patch_dead_bush',\r\n 'minecraft:patch_fire',\r\n 'minecraft:patch_grass_badlands',\r\n 'minecraft:patch_grass_forest',\r\n 'minecraft:patch_grass_jungle',\r\n 'minecraft:patch_grass_normal',\r\n 'minecraft:patch_grass_plain',\r\n 'minecraft:patch_grass_savanna',\r\n 'minecraft:patch_grass_taiga_2',\r\n 'minecraft:patch_grass_taiga',\r\n 'minecraft:patch_large_fern',\r\n 'minecraft:patch_melon',\r\n 'minecraft:patch_pumpkin',\r\n 'minecraft:patch_red_mushroom',\r\n 'minecraft:patch_soul_fire',\r\n 'minecraft:patch_sugar_cane_badlands',\r\n 'minecraft:patch_sugar_cane_desert',\r\n 'minecraft:patch_sugar_cane_swamp',\r\n 'minecraft:patch_sugar_cane',\r\n 'minecraft:patch_sunflower',\r\n 'minecraft:patch_taiga_grass',\r\n 'minecraft:patch_tall_grass_2',\r\n 'minecraft:patch_tall_grass',\r\n 'minecraft:patch_waterlilly',\r\n 'minecraft:pile_hay',\r\n 'minecraft:pile_ice',\r\n 'minecraft:pile_melon',\r\n 'minecraft:pile_pumpkin',\r\n 'minecraft:pile_snow',\r\n 'minecraft:pine',\r\n 'minecraft:plain_vegetation',\r\n 'minecraft:red_mushroom_giant',\r\n 'minecraft:red_mushroom_nether',\r\n 'minecraft:red_mushroom_normal',\r\n 'minecraft:red_mushroom_swamp',\r\n 'minecraft:red_mushroom_taiga',\r\n 'minecraft:sea_pickle',\r\n 'minecraft:seagrass_cold',\r\n 'minecraft:seagrass_deep_cold',\r\n 'minecraft:seagrass_deep_warm',\r\n 'minecraft:seagrass_deep',\r\n 'minecraft:seagrass_normal',\r\n 'minecraft:seagrass_river',\r\n 'minecraft:seagrass_simple',\r\n 'minecraft:seagrass_swamp',\r\n 'minecraft:seagrass_warm',\r\n 'minecraft:small_basalt_columns',\r\n 'minecraft:spring_closed_double',\r\n 'minecraft:spring_closed',\r\n 'minecraft:spring_delta',\r\n 'minecraft:spring_lava_double',\r\n 'minecraft:spring_lava',\r\n 'minecraft:spring_open',\r\n 'minecraft:spring_water',\r\n 'minecraft:spruce_snowy',\r\n 'minecraft:spruce',\r\n 'minecraft:super_birch_bees_0002',\r\n 'minecraft:swamp_tree',\r\n 'minecraft:taiga_vegetation',\r\n 'minecraft:trees_birch',\r\n 'minecraft:trees_giant_spruce',\r\n 'minecraft:trees_giant',\r\n 'minecraft:trees_jungle_edge',\r\n 'minecraft:trees_jungle',\r\n 'minecraft:trees_mountain_edge',\r\n 'minecraft:trees_mountain',\r\n 'minecraft:trees_savanna',\r\n 'minecraft:trees_shattered_savanna',\r\n 'minecraft:trees_water',\r\n 'minecraft:twisting_vines',\r\n 'minecraft:vines',\r\n 'minecraft:void_start_platform',\r\n 'minecraft:warm_ocean_vegetation',\r\n 'minecraft:warped_forest_vegetation',\r\n 'minecraft:warped_fungi_planted',\r\n 'minecraft:warped_fungi',\r\n 'minecraft:weeping_vines'\r\n ]);\r\n collections.register('worldgen/configured_structure_feature', [\r\n 'minecraft:bastion_remnant',\r\n 'minecraft:buried_treasure',\r\n 'minecraft:desert_pyramid',\r\n 'minecraft:end_city',\r\n 'minecraft:fortress',\r\n 'minecraft:igloo',\r\n 'minecraft:jungle_pyramid',\r\n 'minecraft:mansion',\r\n 'minecraft:mineshaft_mesa',\r\n 'minecraft:mineshaft',\r\n 'minecraft:monument',\r\n 'minecraft:nether_fossil',\r\n 'minecraft:ocean_ruin_cold',\r\n 'minecraft:ocean_ruin_warm',\r\n 'minecraft:pillager_outpost',\r\n 'minecraft:ruined_portal_desert',\r\n 'minecraft:ruined_portal_jungle',\r\n 'minecraft:ruined_portal_mountain',\r\n 'minecraft:ruined_portal_nether',\r\n 'minecraft:ruined_portal_ocean',\r\n 'minecraft:ruined_portal_swamp',\r\n 'minecraft:ruined_portal',\r\n 'minecraft:shipwreck_beached',\r\n 'minecraft:shipwreck',\r\n 'minecraft:stronghold',\r\n 'minecraft:swamp_hut',\r\n 'minecraft:village_desert',\r\n 'minecraft:village_plains',\r\n 'minecraft:village_savanna',\r\n 'minecraft:village_snowy',\r\n 'minecraft:village_taiga'\r\n ]);\r\n collections.register('worldgen/configured_surface_builder', [\r\n 'minecraft:badlands',\r\n 'minecraft:basalt_deltas',\r\n 'minecraft:crimson_forest',\r\n 'minecraft:desert',\r\n 'minecraft:end',\r\n 'minecraft:eroded_badlands',\r\n 'minecraft:frozen_ocean',\r\n 'minecraft:full_sand',\r\n 'minecraft:giant_tree_taiga',\r\n 'minecraft:grass',\r\n 'minecraft:gravelly_mountain',\r\n 'minecraft:ice_spikes',\r\n 'minecraft:mountain',\r\n 'minecraft:mycelium',\r\n 'minecraft:nether',\r\n 'minecraft:nope',\r\n 'minecraft:ocean_sand',\r\n 'minecraft:shattered_savanna',\r\n 'minecraft:soul_sand_valley',\r\n 'minecraft:stone',\r\n 'minecraft:swamp',\r\n 'minecraft:warped_forest',\r\n 'minecraft:wooded_badlands'\r\n ]);\r\n collections.register('biome_category', [\r\n 'beach',\r\n 'desert',\r\n 'extreme_hills',\r\n 'forest',\r\n 'icy',\r\n 'jungle',\r\n 'mesa',\r\n 'mushroom',\r\n 'nether',\r\n 'none',\r\n 'ocean',\r\n 'plains',\r\n 'river',\r\n 'savanna',\r\n 'swamp',\r\n 'taiga',\r\n 'the_end'\r\n ]);\r\n collections.register('heightmap_type', [\r\n 'MOTION_BLOCKING',\r\n 'MOTION_BLOCKING_NO_LEAVES',\r\n 'OCEAN_FLOOR',\r\n 'OCEAN_FLOOR_WG',\r\n 'WORLD_SURFACE',\r\n 'WORLD_SURFACE_WG'\r\n ]);\r\n collections.register('generation_step', [\r\n 'air',\r\n 'liquid'\r\n ]);\r\n collections.register('loot_context_type', [\r\n 'minecraft:empty',\r\n 'minecraft:chest',\r\n 'minecraft:command',\r\n 'minecraft:selector',\r\n 'minecraft:fishing',\r\n 'minecraft:entity',\r\n 'minecraft:gift',\r\n 'minecraft:barter',\r\n 'minecraft:advancement_reward',\r\n 'minecraft:advancement_entity',\r\n 'minecraft:generic',\r\n 'minecraft:block'\r\n ]);\r\n collections.register('cat_texture', [\r\n 'textures/entity/cat/tabby.png',\r\n 'textures/entity/cat/black.png',\r\n 'textures/entity/cat/red.png',\r\n 'textures/entity/cat/siamese.png',\r\n 'textures/entity/cat/british_shorthair.png',\r\n 'textures/entity/cat/calico.png',\r\n 'textures/entity/cat/persian.png',\r\n 'textures/entity/cat/ragdoll.png',\r\n 'textures/entity/cat/white.png',\r\n 'textures/entity/cat/jellie.png',\r\n 'textures/entity/cat/all_black.png'\r\n ]);\r\n}\r\nexports.initCollections = initCollections;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initCommonSchemas = exports.UniformInt = exports.Range = exports.NoiseSettingsPresets = exports.DefaultNoiseSettings = exports.DimensionTypePresets = exports.DefaultDimensionType = exports.ConditionCases = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nexports.DefaultDimensionType = {\r\n ultrawarm: false,\r\n natural: true,\r\n piglin_safe: false,\r\n respawn_anchor_works: false,\r\n bed_works: true,\r\n has_raids: true,\r\n has_skylight: true,\r\n has_ceiling: false,\r\n coordinate_scale: 1,\r\n ambient_light: 0,\r\n logical_height: 256,\r\n infiniburn: 'minecraft:infiniburn_overworld',\r\n};\r\nexports.DefaultNoiseSettings = {\r\n name: 'minecraft:overworld',\r\n bedrock_roof_position: -10,\r\n bedrock_floor_position: 0,\r\n sea_level: 63,\r\n disable_mob_generation: false,\r\n noise: {\r\n density_factor: 1,\r\n density_offset: -0.46875,\r\n simplex_surface_noise: true,\r\n random_density_offset: true,\r\n size_horizontal: 1,\r\n size_vertical: 2,\r\n height: 256,\r\n sampling: {\r\n xz_scale: 1,\r\n y_scale: 1,\r\n xz_factor: 80,\r\n y_factor: 160\r\n },\r\n top_slide: {\r\n target: -10,\r\n size: 3,\r\n offset: 0\r\n },\r\n bottom_slide: {\r\n target: -30,\r\n size: 0,\r\n offset: 0\r\n }\r\n },\r\n default_block: {\r\n Name: \"minecraft:stone\"\r\n },\r\n default_fluid: {\r\n Name: \"minecraft:water\",\r\n Properties: {\r\n level: \"0\"\r\n }\r\n }\r\n};\r\nfunction initCommonSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n schemas.register('block_state', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n Name: StringNode({ validator: 'resource', params: { pool: 'block' } }),\r\n Properties: (0, core_1.Opt)((0, core_1.MapNode)(StringNode(), StringNode(), { validation: { validator: 'block_state_map', params: { id: ['pop', { push: 'Name' }] } } }))\r\n }, { context: 'block_state' }), {\r\n default: () => ({\r\n Name: 'minecraft:stone'\r\n })\r\n }));\r\n schemas.register('fluid_state', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n Name: StringNode({ validator: 'resource', params: { pool: 'fluid' } }),\r\n Properties: (0, core_1.Opt)((0, core_1.MapNode)(StringNode(), StringNode()))\r\n }, { context: 'fluid_state' }), {\r\n default: () => ({\r\n Name: 'minecraft:water',\r\n Properties: {\r\n 'level': '0'\r\n }\r\n })\r\n }));\r\n schemas.register('block_pos', (0, core_1.Mod)((0, core_1.ListNode)((0, core_1.NumberNode)({ integer: true }), { minLength: 3, maxLength: 3 }), {\r\n default: () => [0, 0, 0]\r\n }));\r\n exports.Range = (config) => (0, core_1.ChoiceNode)([\r\n ...((config === null || config === void 0 ? void 0 : config.forceRange) ? [] : [{\r\n type: 'number',\r\n node: (0, core_1.NumberNode)(config),\r\n change: (v) => { var _a, _b, _c; return v === undefined ? 0 : (_c = (_b = (_a = v.min) !== null && _a !== void 0 ? _a : v.max) !== null && _b !== void 0 ? _b : v.n) !== null && _c !== void 0 ? _c : 0; }\r\n }]),\r\n {\r\n type: 'object',\r\n priority: -1,\r\n node: (0, core_1.ObjectNode)({\r\n min: (config === null || config === void 0 ? void 0 : config.bounds) ? (0, core_1.NumberNode)(config) : (0, core_1.Opt)((0, core_1.NumberNode)(config)),\r\n max: (config === null || config === void 0 ? void 0 : config.bounds) ? (0, core_1.NumberNode)(config) : (0, core_1.Opt)((0, core_1.NumberNode)(config))\r\n }, { context: 'range' }),\r\n change: (v) => ({\r\n min: typeof v === 'number' ? v : v === undefined ? 1 : v.n,\r\n max: typeof v === 'number' ? v : v === undefined ? 1 : v.n\r\n })\r\n },\r\n ...((config === null || config === void 0 ? void 0 : config.allowBinomial) ? [{\r\n type: 'binomial',\r\n node: (0, core_1.ObjectNode)({\r\n type: StringNode({ enum: ['minecraft:binomial'] }),\r\n n: (0, core_1.NumberNode)({ integer: true, min: 0 }),\r\n p: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n }, { context: 'range' }),\r\n match: (v) => v !== undefined && v.type === 'minecraft:binomial',\r\n change: (v) => {\r\n var _a, _b;\r\n return ({\r\n type: 'minecraft:binomial',\r\n n: typeof v === 'number' ? v : v === undefined ? 1 : ((_b = (_a = v.min) !== null && _a !== void 0 ? _a : v.max) !== null && _b !== void 0 ? _b : 1),\r\n p: 0.5\r\n });\r\n }\r\n }] : [])\r\n ], { choiceContext: 'range' });\r\n exports.UniformInt = (config) => (0, core_1.ChoiceNode)([\r\n {\r\n type: 'number',\r\n node: (0, core_1.NumberNode)({ integer: true, min: config === null || config === void 0 ? void 0 : config.min, max: config === null || config === void 0 ? void 0 : config.max }),\r\n change: v => v.base\r\n },\r\n {\r\n type: 'object',\r\n node: (0, core_1.ObjectNode)({\r\n base: (0, core_1.NumberNode)({ integer: true, min: config === null || config === void 0 ? void 0 : config.min, max: config === null || config === void 0 ? void 0 : config.max }),\r\n spread: (0, core_1.NumberNode)({ integer: true, min: 0, max: config === null || config === void 0 ? void 0 : config.maxSpread })\r\n }),\r\n change: v => ({\r\n base: v,\r\n spread: 0\r\n })\r\n }\r\n ], { context: 'uniform_int' });\r\n exports.ConditionCases = {\r\n 'minecraft:alternative': {\r\n terms: (0, core_1.ListNode)(Reference('condition'))\r\n },\r\n 'minecraft:block_state_property': {\r\n block: StringNode({ validator: 'resource', params: { pool: 'block' } }),\r\n properties: (0, core_1.MapNode)(StringNode(), StringNode(), { validation: { validator: 'block_state_map', params: { id: ['pop', { push: 'block' }] } } })\r\n },\r\n 'minecraft:damage_source_properties': {\r\n predicate: Reference('damage_source_predicate')\r\n },\r\n 'minecraft:entity_properties': {\r\n entity: StringNode({ enum: 'entity_source' }),\r\n predicate: Reference('entity_predicate')\r\n },\r\n 'minecraft:entity_scores': {\r\n entity: StringNode({ enum: 'entity_source' }),\r\n scores: (0, core_1.MapNode)(StringNode({ validator: 'objective' }), (0, exports.Range)({ forceRange: true }))\r\n },\r\n 'minecraft:inverted': {\r\n term: Reference('condition')\r\n },\r\n 'minecraft:killed_by_player': {\r\n inverse: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n },\r\n 'minecraft:location_check': {\r\n offsetX: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n offsetY: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n offsetZ: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n predicate: Reference('location_predicate')\r\n },\r\n 'minecraft:match_tool': {\r\n predicate: Reference('item_predicate')\r\n },\r\n 'minecraft:random_chance': {\r\n chance: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n },\r\n 'minecraft:random_chance_with_looting': {\r\n chance: (0, core_1.NumberNode)({ min: 0, max: 1 }),\r\n looting_multiplier: (0, core_1.NumberNode)()\r\n },\r\n 'minecraft:reference': {\r\n name: StringNode({ validator: 'resource', params: { pool: '$predicate' } })\r\n },\r\n 'minecraft:table_bonus': {\r\n enchantment: StringNode({ validator: 'resource', params: { pool: 'enchantment' } }),\r\n chances: (0, core_1.ListNode)((0, core_1.NumberNode)({ min: 0, max: 1 }))\r\n },\r\n 'minecraft:time_check': {\r\n value: (0, exports.Range)(),\r\n period: (0, core_1.Opt)((0, core_1.NumberNode)())\r\n },\r\n 'minecraft:weather_check': {\r\n raining: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n thundering: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n }\r\n };\r\n exports.DimensionTypePresets = (node) => (0, core_1.ObjectOrPreset)(StringNode({ validator: 'resource', params: { pool: '$dimension_type' } }), node, {\r\n 'minecraft:overworld': exports.DefaultDimensionType,\r\n 'minecraft:the_nether': {\r\n name: 'minecraft:the_nether',\r\n ultrawarm: true,\r\n natural: false,\r\n shrunk: true,\r\n piglin_safe: true,\r\n respawn_anchor_works: true,\r\n bed_works: false,\r\n has_raids: false,\r\n has_skylight: false,\r\n has_ceiling: true,\r\n ambient_light: 0.1,\r\n fixed_time: 18000,\r\n logical_height: 128,\r\n effects: 'minecraft:the_nether',\r\n infiniburn: 'minecraft:infiniburn_nether',\r\n },\r\n 'minecraft:the_end': {\r\n name: 'minecraft:the_end',\r\n ultrawarm: false,\r\n natural: false,\r\n shrunk: false,\r\n piglin_safe: false,\r\n respawn_anchor_works: false,\r\n bed_works: false,\r\n has_raids: true,\r\n has_skylight: false,\r\n has_ceiling: false,\r\n ambient_light: 0,\r\n fixed_time: 6000,\r\n logical_height: 256,\r\n effects: 'minecraft:the_end',\r\n infiniburn: 'minecraft:infiniburn_end',\r\n }\r\n });\r\n exports.NoiseSettingsPresets = (node) => (0, core_1.ObjectOrPreset)(StringNode({ validator: 'resource', params: { pool: '$worldgen/noise_settings' } }), node, {\r\n 'minecraft:overworld': exports.DefaultNoiseSettings,\r\n 'minecraft:nether': {\r\n name: 'minecraft:nether',\r\n bedrock_roof_position: 0,\r\n bedrock_floor_position: 0,\r\n sea_level: 32,\r\n disable_mob_generation: true,\r\n noise: {\r\n density_factor: 0,\r\n density_offset: 0.019921875,\r\n simplex_surface_noise: false,\r\n random_density_offset: false,\r\n size_horizontal: 1,\r\n size_vertical: 2,\r\n height: 128,\r\n sampling: {\r\n xz_scale: 1,\r\n y_scale: 3,\r\n xz_factor: 80,\r\n y_factor: 60\r\n },\r\n top_slide: {\r\n target: 120,\r\n size: 3,\r\n offset: 0\r\n },\r\n bottom_slide: {\r\n target: 320,\r\n size: 4,\r\n offset: -1\r\n }\r\n },\r\n default_block: {\r\n Name: \"minecraft:netherrack\"\r\n },\r\n default_fluid: {\r\n Name: \"minecraft:lava\",\r\n Properties: {\r\n level: \"0\"\r\n }\r\n }\r\n },\r\n 'minecraft:end': {\r\n name: 'minecraft:end',\r\n bedrock_roof_position: -10,\r\n bedrock_floor_position: -10,\r\n sea_level: 0,\r\n disable_mob_generation: true,\r\n noise: {\r\n density_factor: 0,\r\n density_offset: 0,\r\n simplex_surface_noise: true,\r\n random_density_offset: false,\r\n island_noise_override: true,\r\n size_horizontal: 2,\r\n size_vertical: 1,\r\n height: 128,\r\n sampling: {\r\n xz_scale: 2,\r\n y_scale: 1,\r\n xz_factor: 80,\r\n y_factor: 160\r\n },\r\n top_slide: {\r\n target: -3000,\r\n size: 64,\r\n offset: -46\r\n },\r\n bottom_slide: {\r\n target: -30,\r\n size: 7,\r\n offset: 1\r\n }\r\n },\r\n default_block: {\r\n Name: \"minecraft:end_stone\"\r\n },\r\n default_fluid: {\r\n Name: \"minecraft:air\"\r\n }\r\n },\r\n 'minecraft:amplified': {\r\n name: 'minecraft:amplified',\r\n bedrock_roof_position: -10,\r\n bedrock_floor_position: 0,\r\n sea_level: 63,\r\n disable_mob_generation: false,\r\n noise: {\r\n density_factor: 1,\r\n density_offset: -0.46875,\r\n simplex_surface_noise: true,\r\n random_density_offset: true,\r\n amplified: true,\r\n size_horizontal: 1,\r\n size_vertical: 2,\r\n height: 256,\r\n sampling: {\r\n xz_scale: 1,\r\n y_scale: 1,\r\n xz_factor: 80,\r\n y_factor: 160\r\n },\r\n top_slide: {\r\n target: -10,\r\n size: 3,\r\n offset: 0\r\n },\r\n bottom_slide: {\r\n target: -30,\r\n size: 0,\r\n offset: 0\r\n }\r\n },\r\n default_block: {\r\n Name: \"minecraft:stone\"\r\n },\r\n default_fluid: {\r\n Name: \"minecraft:water\",\r\n Properties: {\r\n level: \"0\"\r\n }\r\n }\r\n },\r\n 'minecraft:caves': {\r\n name: 'minecraft:caves',\r\n bedrock_roof_position: 0,\r\n bedrock_floor_position: 0,\r\n sea_level: 32,\r\n disable_mob_generation: true,\r\n noise: {\r\n density_factor: 0,\r\n density_offset: 0.019921875,\r\n simplex_surface_noise: false,\r\n random_density_offset: false,\r\n size_horizontal: 1,\r\n size_vertical: 2,\r\n height: 128,\r\n sampling: {\r\n xz_scale: 1,\r\n y_scale: 3,\r\n xz_factor: 80,\r\n y_factor: 60\r\n },\r\n top_slide: {\r\n target: 120,\r\n size: 3,\r\n offset: 0\r\n },\r\n bottom_slide: {\r\n target: 320,\r\n size: 4,\r\n offset: -1\r\n }\r\n },\r\n default_block: {\r\n Name: \"minecraft:stone\"\r\n },\r\n default_fluid: {\r\n Name: \"minecraft:water\",\r\n Properties: {\r\n level: \"0\"\r\n }\r\n }\r\n },\r\n 'minecraft:floating_islands': {\r\n name: 'minecraft:floating_islands',\r\n bedrock_roof_position: -10,\r\n bedrock_floor_position: -10,\r\n sea_level: 0,\r\n disable_mob_generation: true,\r\n noise: {\r\n density_factor: 0,\r\n density_offset: 0,\r\n simplex_surface_noise: true,\r\n random_density_offset: false,\r\n island_noise_override: true,\r\n size_horizontal: 2,\r\n size_vertical: 1,\r\n height: 128,\r\n sampling: {\r\n xz_scale: 2,\r\n y_scale: 1,\r\n xz_factor: 80,\r\n y_factor: 160\r\n },\r\n top_slide: {\r\n target: -3000,\r\n size: 64,\r\n offset: -46\r\n },\r\n bottom_slide: {\r\n target: -30,\r\n size: 7,\r\n offset: 1\r\n }\r\n },\r\n default_block: {\r\n Name: \"minecraft:stone\"\r\n },\r\n default_fluid: {\r\n Name: \"minecraft:water\",\r\n Properties: {\r\n level: \"0\"\r\n }\r\n }\r\n }\r\n });\r\n}\r\nexports.initCommonSchemas = initCommonSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initAdvancementSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"./Common\");\r\nfunction initAdvancementSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const EntityPredicate = (0, core_1.ChoiceNode)([\r\n {\r\n type: 'object',\r\n node: (0, core_1.Opt)(Reference('entity_predicate')),\r\n change: v => { var _a, _b; return (_b = (_a = v[0]) === null || _a === void 0 ? void 0 : _a.predicate) !== null && _b !== void 0 ? _b : ({}); }\r\n },\r\n {\r\n type: 'list',\r\n node: (0, core_1.ListNode)(Reference('condition')),\r\n change: v => [{\r\n condition: 'minecraft:entity_properties',\r\n predicate: v\r\n }]\r\n }\r\n ], { context: 'conditions' });\r\n schemas.register('advancement', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n display: (0, core_1.Opt)((0, core_1.Mod)((0, core_1.ObjectNode)({\r\n icon: (0, core_1.ObjectNode)({\r\n item: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n nbt: (0, core_1.Opt)(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:item', id: ['pop', { push: 'item' }] } } }))\r\n }),\r\n title: Reference('text_component'),\r\n description: Reference('text_component'),\r\n background: (0, core_1.Opt)(StringNode()),\r\n frame: (0, core_1.Opt)(StringNode({ enum: ['task', 'challenge', 'goal'] })),\r\n show_toast: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n announce_to_chat: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n hidden: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n }), {\r\n default: () => ({\r\n icon: {\r\n item: 'minecraft:stone'\r\n },\r\n title: '',\r\n description: ''\r\n })\r\n })),\r\n parent: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$advancement' } })),\r\n criteria: (0, core_1.MapNode)(StringNode(), Reference('advancement_criteria')),\r\n requirements: (0, core_1.Opt)((0, core_1.ListNode)((0, core_1.ListNode)(StringNode() // TODO: add validation\r\n ))),\r\n rewards: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n function: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$function' } })),\r\n loot: (0, core_1.Opt)((0, core_1.ListNode)(StringNode({ validator: 'resource', params: { pool: '$loot_table' } }))),\r\n recipes: (0, core_1.Opt)((0, core_1.ListNode)(StringNode({ validator: 'resource', params: { pool: '$recipe' } }))),\r\n experience: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true }))\r\n })),\r\n }, { context: 'advancement' }), {\r\n default: () => ({\r\n criteria: {\r\n requirement: {\r\n trigger: 'minecraft:location'\r\n }\r\n }\r\n })\r\n }));\r\n schemas.register('advancement_criteria', (0, core_1.ObjectNode)({\r\n trigger: StringNode({ validator: 'resource', params: { pool: collections.get('advancement_trigger') } }),\r\n conditions: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n player: (0, core_1.Mod)(EntityPredicate, {\r\n enabled: path => path.pop().push('trigger').get() !== 'minecraft:impossible'\r\n }),\r\n [core_1.Switch]: ['pop', { push: 'trigger' }],\r\n [core_1.Case]: {\r\n 'minecraft:bee_nest_destroyed': {\r\n block: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: 'block' } })),\r\n num_bees_inside: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n item: (0, core_1.Opt)(Reference('item_predicate'))\r\n },\r\n 'minecraft:bred_animals': {\r\n parent: EntityPredicate,\r\n partner: EntityPredicate,\r\n child: EntityPredicate\r\n },\r\n 'minecraft:brewed_potion': {\r\n potion: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: 'potion' } }))\r\n },\r\n 'minecraft:changed_dimension': {\r\n from: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$dimension' } })),\r\n to: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$dimension' } }))\r\n },\r\n 'minecraft:channeled_lightning': {\r\n victims: (0, core_1.Opt)((0, core_1.ListNode)(EntityPredicate))\r\n },\r\n 'minecraft:construct_beacon': {\r\n level: (0, core_1.Opt)((0, Common_1.Range)())\r\n },\r\n 'minecraft:consume_item': {\r\n item: (0, core_1.Opt)(Reference('item_predicate'))\r\n },\r\n 'minecraft:cured_zombie_villager': {\r\n villager: EntityPredicate,\r\n zombie: EntityPredicate\r\n },\r\n 'minecraft:effects_changed': {\r\n effects: (0, core_1.Opt)((0, core_1.MapNode)(StringNode({ validator: 'resource', params: { pool: 'mob_effect' } }), Reference('status_effect_predicate')))\r\n },\r\n 'minecraft:enter_block': {\r\n block: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: 'block' } })),\r\n state: (0, core_1.Opt)((0, core_1.MapNode)(StringNode(), StringNode(), { validation: { validator: 'block_state_map', params: { id: ['pop', { push: 'block' }] } } }))\r\n },\r\n 'minecraft:enchanted_item': {\r\n levels: (0, core_1.Opt)((0, Common_1.Range)()),\r\n item: (0, core_1.Opt)(Reference('item_predicate'))\r\n },\r\n 'minecraft:entity_hurt_player': {\r\n damage: (0, core_1.Opt)(Reference('damage_predicate'))\r\n },\r\n 'minecraft:entity_killed_player': {\r\n entity: EntityPredicate,\r\n killing_blow: (0, core_1.Opt)(Reference('damage_source_predicate'))\r\n },\r\n 'minecraft:filled_bucket': {\r\n item: (0, core_1.Opt)(Reference('item_predicate'))\r\n },\r\n 'minecraft:fishing_rod_hooked': {\r\n entity: EntityPredicate,\r\n item: (0, core_1.Opt)(Reference('item_predicate'))\r\n },\r\n 'minecraft:hero_of_the_village': {\r\n location: (0, core_1.Opt)(Reference('location_predicate'))\r\n },\r\n 'minecraft:inventory_changed': {\r\n slots: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n empty: (0, core_1.Opt)((0, Common_1.Range)()),\r\n occupied: (0, core_1.Opt)((0, Common_1.Range)()),\r\n full: (0, core_1.Opt)((0, Common_1.Range)())\r\n })),\r\n items: (0, core_1.Opt)((0, core_1.ListNode)(Reference('item_predicate')))\r\n },\r\n 'minecraft:item_durability_changed': {\r\n delta: (0, core_1.Opt)((0, Common_1.Range)()),\r\n durability: (0, core_1.Opt)((0, Common_1.Range)()),\r\n item: (0, core_1.Opt)(Reference('item_predicate'))\r\n },\r\n 'minecraft:item_used_on_block': {\r\n item: (0, core_1.Opt)(Reference('item_predicate')),\r\n location: (0, core_1.Opt)(Reference('location_predicate'))\r\n },\r\n 'minecraft:killed_by_crossbow': {\r\n unique_entity_types: (0, core_1.Opt)((0, Common_1.Range)()),\r\n victims: (0, core_1.Opt)((0, core_1.ListNode)(EntityPredicate))\r\n },\r\n 'minecraft:levitation': {\r\n distance: (0, core_1.Opt)((0, Common_1.Range)()),\r\n duration: (0, core_1.Opt)((0, Common_1.Range)())\r\n },\r\n 'minecraft:location': {\r\n location: (0, core_1.Opt)(Reference('location_predicate'))\r\n },\r\n 'minecraft:nether_travel': {\r\n distance: (0, core_1.Opt)((0, Common_1.Range)()),\r\n entered: (0, core_1.Opt)(Reference('location_predicate')),\r\n exited: (0, core_1.Opt)(Reference('location_predicate'))\r\n },\r\n 'minecraft:placed_block': {\r\n block: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: 'block' } })),\r\n state: (0, core_1.Opt)((0, core_1.MapNode)(StringNode(), StringNode(), { validation: { validator: 'block_state_map', params: { id: ['pop', { push: 'block' }] } } })),\r\n item: (0, core_1.Opt)(Reference('item_predicate')),\r\n location: (0, core_1.Opt)(Reference('location_predicate'))\r\n },\r\n 'minecraft:player_generates_container_loot': {\r\n loot_table: StringNode({ validator: 'resource', params: { pool: '$loot_table' } })\r\n },\r\n 'minecraft:player_hurt_entity': {\r\n damage: (0, core_1.Opt)(Reference('damage_predicate')),\r\n entity: EntityPredicate\r\n },\r\n 'minecraft:player_interacted_with_entity': {\r\n item: (0, core_1.Opt)(Reference('item_predicate')),\r\n entity: EntityPredicate\r\n },\r\n 'minecraft:player_killed_entity': {\r\n entity: EntityPredicate,\r\n killing_blow: (0, core_1.Opt)(Reference('damage_source_predicate'))\r\n },\r\n 'minecraft:recipe_unlocked': {\r\n recipe: StringNode({ validator: 'resource', params: { pool: '$recipe' } })\r\n },\r\n 'minecraft:slept_in_bed': {\r\n location: (0, core_1.Opt)(Reference('location_predicate'))\r\n },\r\n 'minecraft:slide_down_block': {\r\n block: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: 'block' } }))\r\n },\r\n 'minecraft:shot_crossbow': {\r\n item: (0, core_1.Opt)(Reference('item_predicate'))\r\n },\r\n 'minecraft:summoned_entity': {\r\n entity: EntityPredicate\r\n },\r\n 'minecraft:tame_animal': {\r\n entity: EntityPredicate\r\n },\r\n 'minecraft:target_hit': {\r\n projectile: EntityPredicate,\r\n shooter: EntityPredicate,\r\n signal_strength: (0, core_1.Opt)((0, Common_1.Range)({ integer: true }))\r\n },\r\n 'minecraft:thrown_item_picked_up_by_entity': {\r\n entity: EntityPredicate,\r\n item: (0, core_1.Opt)(Reference('item_predicate'))\r\n },\r\n 'minecraft:used_ender_eye': {\r\n distance: (0, core_1.Opt)((0, Common_1.Range)())\r\n },\r\n 'minecraft:used_totem': {\r\n item: (0, core_1.Opt)(Reference('item_predicate'))\r\n },\r\n 'minecraft:villager_trade': {\r\n villager: EntityPredicate,\r\n item: (0, core_1.Opt)(Reference('item_predicate'))\r\n },\r\n 'minecraft:voluntary_exile': {\r\n location: Reference('location_predicate')\r\n }\r\n }\r\n }, { context: 'criterion' }))\r\n }, { category: 'predicate', context: 'criterion' }));\r\n}\r\nexports.initAdvancementSchemas = initAdvancementSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initModelSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initModelSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const Vec = (length, min, max) => (0, core_1.ListNode)((0, core_1.NumberNode)({ min, max }), { minLength: length, maxLength: length });\r\n const Texture = (0, core_1.ChoiceNode)([\r\n {\r\n type: 'alias',\r\n match: (v) => typeof v === 'string' && v.startsWith('#'),\r\n node: StringNode(),\r\n change: (v) => typeof v === 'string' ? `#${v}` : \"#0\"\r\n },\r\n {\r\n type: 'reference',\r\n match: (v) => typeof v === 'string',\r\n node: StringNode({ validator: 'resource', params: { pool: '$texture' } }),\r\n change: (v) => typeof v === 'string' ? v.replace(/^#/, '') : \"\"\r\n }\r\n ], { choiceContext: 'texture' });\r\n schemas.register('model', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n parent: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$model' } })),\r\n ambientocclusion: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n gui_light: (0, core_1.Opt)(StringNode({ enum: 'gui_light' })),\r\n textures: (0, core_1.Opt)((0, core_1.MapNode)(StringNode(), Texture)),\r\n elements: (0, core_1.Opt)((0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n from: Vec(3, -16, 32),\r\n to: Vec(3, -16, 32),\r\n rotation: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n origin: Vec(3),\r\n axis: StringNode({ enum: 'axis' }),\r\n angle: (0, core_1.NumberEnum)({ values: [-45, -22.5, 0, 22.5, 45] }),\r\n rescale: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n })),\r\n shade: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n faces: (0, core_1.MapNode)(StringNode({ enum: 'direction' }), (0, core_1.ObjectNode)({\r\n texture: Texture,\r\n uv: (0, core_1.Opt)(Vec(4)),\r\n cullface: (0, core_1.Opt)(StringNode({ enum: 'direction' })),\r\n rotation: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n tintindex: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true }))\r\n }))\r\n }, { context: 'model_element' }))),\r\n display: (0, core_1.Opt)((0, core_1.MapNode)(StringNode({ enum: 'display_position' }), (0, core_1.ObjectNode)({\r\n rotation: Vec(3),\r\n translation: Vec(3, -80, 80),\r\n scale: Vec(3, -4, 4)\r\n }, { context: 'item_transform' }))),\r\n overrides: (0, core_1.Opt)((0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n predicate: (0, core_1.MapNode)(StringNode({ enum: 'item_model_predicates' }), (0, core_1.NumberNode)()),\r\n model: StringNode({ validator: 'resource', params: { pool: '$model' } })\r\n }, { context: 'model_override' })))\r\n }, { context: 'model' }), {\r\n default: () => ({\r\n parent: 'minecraft:item/generated',\r\n textures: {\r\n layer0: 'minecraft:item/diamond'\r\n }\r\n })\r\n }));\r\n}\r\nexports.initModelSchemas = initModelSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initBlockDefinitionSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initBlockDefinitionSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('block_definition', (0, core_1.Mod)((0, core_1.ChoiceNode)([\r\n {\r\n type: 'variants',\r\n match: (v) => v.variants !== undefined,\r\n node: (0, core_1.ObjectNode)({\r\n variants: (0, core_1.MapNode)(StringNode(), Reference('model_variant'))\r\n }),\r\n change: (v) => ({ variants: { \"\": {} } })\r\n },\r\n {\r\n type: 'multipart',\r\n match: (v) => v.multipart !== undefined,\r\n node: (0, core_1.ObjectNode)({\r\n multipart: (0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n when: (0, core_1.Opt)(Reference('multipart_condition')),\r\n apply: Reference('model_variant'),\r\n }))\r\n }),\r\n change: (v) => ({ multipart: { when: {}, apply: {} } })\r\n }\r\n ], { context: 'block_definition' }), {\r\n default: () => ({\r\n variants: {\r\n \"\": {\r\n model: 'minecraft:block/stone'\r\n }\r\n }\r\n })\r\n }));\r\n const VariantChildren = {\r\n model: StringNode({ validator: 'resource', params: { pool: '$model' } }),\r\n x: (0, core_1.Opt)((0, core_1.NumberEnum)({ integer: true, values: [0, 90, 180, 270] })),\r\n y: (0, core_1.Opt)((0, core_1.NumberEnum)({ integer: true, values: [0, 90, 180, 270] })),\r\n uvlock: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n };\r\n schemas.register('model_variant', (0, core_1.ChoiceNode)([\r\n {\r\n type: 'object',\r\n node: (0, core_1.ObjectNode)(VariantChildren),\r\n change: (v) => Array.isArray(v) && v.length > 0 ? v[0] : ({})\r\n },\r\n {\r\n type: 'list',\r\n node: (0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n ...VariantChildren,\r\n weight: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 1 }))\r\n }, { context: 'model_variant' })),\r\n change: (v) => [{ weight: 1, ...v }]\r\n }\r\n ], { context: 'model_variant' }));\r\n schemas.register('multipart_condition', (0, core_1.ChoiceNode)([\r\n {\r\n type: 'object',\r\n priority: -1,\r\n match: () => true,\r\n node: (0, core_1.MapNode)(StringNode(), StringNode()),\r\n change: (v) => typeof v === 'object' && Array.isArray(v === null || v === void 0 ? void 0 : v.OR) && v.OR.length > 0 ? v.OR[0] : ({})\r\n },\r\n {\r\n type: 'or',\r\n match: (v) => typeof v === 'object' && (v === null || v === void 0 ? void 0 : v.OR) !== undefined,\r\n node: (0, core_1.ObjectNode)({\r\n OR: (0, core_1.ListNode)(Reference('multipart_condition'))\r\n }),\r\n change: (v) => ({ OR: [v !== null && v !== void 0 ? v : {}] })\r\n }\r\n ], { context: 'multipart_condition' }));\r\n}\r\nexports.initBlockDefinitionSchemas = initBlockDefinitionSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initAssetsSchemas = void 0;\r\nconst Model_1 = require(\"./Model\");\r\nconst BlockDefinition_1 = require(\"./BlockDefinition\");\r\nfunction initAssetsSchemas(schemas, collections) {\r\n (0, BlockDefinition_1.initBlockDefinitionSchemas)(schemas, collections);\r\n (0, Model_1.initModelSchemas)(schemas, collections);\r\n}\r\nexports.initAssetsSchemas = initAssetsSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initConditionSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"./Common\");\r\nfunction initConditionSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('predicate', (0, core_1.ObjectOrList)(Reference('condition'), { choiceContext: 'condition' }));\r\n schemas.register('condition', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n condition: StringNode({ validator: 'resource', params: { pool: 'loot_condition_type' } }),\r\n [core_1.Switch]: [{ push: 'condition' }],\r\n [core_1.Case]: Common_1.ConditionCases\r\n }, { category: 'predicate', context: 'condition' }), {\r\n default: () => ({\r\n condition: 'minecraft:entity_properties',\r\n entity: 'this'\r\n })\r\n }));\r\n}\r\nexports.initConditionSchemas = initConditionSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initDimensionSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"./Common\");\r\nfunction initDimensionSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const NoPreset = (node) => (0, core_1.Mod)(node, {\r\n enabled: path => path.push('preset').get() === undefined\r\n });\r\n schemas.register('dimension', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n type: (0, Common_1.DimensionTypePresets)(Reference('dimension_type')),\r\n generator: (0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/chunk_generator' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:noise': {\r\n seed: (0, core_1.NumberNode)({ integer: true }),\r\n settings: (0, Common_1.NoiseSettingsPresets)(Reference('noise_settings')),\r\n biome_source: (0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/biome_source' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:fixed': {\r\n biome: StringNode({ validator: 'resource', params: { pool: '$worldgen/biome' } })\r\n },\r\n 'minecraft:multi_noise': {\r\n seed: (0, core_1.NumberNode)({ integer: true }),\r\n preset: (0, core_1.Opt)(StringNode({ enum: ['nether'] })),\r\n altitude_noise: NoPreset(Reference('generator_biome_noise')),\r\n temperature_noise: NoPreset(Reference('generator_biome_noise')),\r\n humidity_noise: NoPreset(Reference('generator_biome_noise')),\r\n weirdness_noise: NoPreset(Reference('generator_biome_noise')),\r\n biomes: NoPreset((0, core_1.Mod)((0, core_1.ListNode)(Reference('generator_biome')), {\r\n default: () => [{\r\n biome: 'minecraft:plains'\r\n }]\r\n }))\r\n },\r\n 'minecraft:checkerboard': {\r\n scale: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 0, max: 62 })),\r\n biomes: (0, core_1.ListNode)(StringNode({ validator: 'resource', params: { pool: '$worldgen/biome' } }))\r\n },\r\n 'minecraft:the_end': {\r\n seed: (0, core_1.NumberNode)({ integer: true })\r\n },\r\n 'minecraft:vanilla_layered': {\r\n seed: (0, core_1.NumberNode)({ integer: true }),\r\n large_biomes: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n legacy_biome_init_layer: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n }\r\n }\r\n }, { category: 'predicate', disableSwitchContext: true })\r\n },\r\n 'minecraft:flat': {\r\n settings: (0, core_1.ObjectNode)({\r\n biome: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$worldgen/biome' } })),\r\n lakes: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n features: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n layers: (0, core_1.ListNode)(Reference('generator_layer')),\r\n structures: Reference('generator_structures')\r\n })\r\n }\r\n }\r\n }, { disableSwitchContext: true })\r\n }, { category: 'pool', context: 'dimension' }), {\r\n default: () => {\r\n const seed = Math.floor(Math.random() * (4294967296)) - 2147483648;\r\n return {\r\n type: 'minecraft:overworld',\r\n generator: {\r\n type: 'minecraft:noise',\r\n seed,\r\n biome_source: {\r\n type: 'minecraft:fixed',\r\n seed,\r\n biome: 'minecraft:plains'\r\n },\r\n settings: 'minecraft:overworld'\r\n }\r\n };\r\n }\r\n }));\r\n schemas.register('generator_biome', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n biome: StringNode({ validator: 'resource', params: { pool: '$worldgen/biome' } }),\r\n parameters: (0, core_1.ObjectNode)({\r\n altitude: (0, core_1.NumberNode)(),\r\n temperature: (0, core_1.NumberNode)(),\r\n humidity: (0, core_1.NumberNode)(),\r\n weirdness: (0, core_1.NumberNode)(),\r\n offset: (0, core_1.NumberNode)()\r\n })\r\n }, { context: 'generator_biome' }), {\r\n default: () => ({\r\n biome: 'minecraft:plains',\r\n parameters: {\r\n altitude: 0,\r\n temperature: 0,\r\n humidity: 0,\r\n weirdness: 0,\r\n offset: 0\r\n }\r\n })\r\n }));\r\n schemas.register('generator_biome_noise', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n firstOctave: (0, core_1.NumberNode)({ integer: true }),\r\n amplitudes: (0, core_1.ListNode)((0, core_1.NumberNode)())\r\n }, { context: 'generator_biome_noise' }), {\r\n default: () => ({\r\n firstOctave: -7,\r\n amplitudes: [1, 1]\r\n })\r\n }));\r\n}\r\nexports.initDimensionSchemas = initDimensionSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initDimensionTypeSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"./Common\");\r\nfunction initDimensionTypeSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('dimension_type', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n name: (0, core_1.Mod)(StringNode({ validator: 'resource', params: { pool: '$dimension_type', isDefinition: true } }), {\r\n enabled: (path) => path.getArray().length > 0\r\n }),\r\n ultrawarm: (0, core_1.BooleanNode)(),\r\n natural: (0, core_1.BooleanNode)(),\r\n piglin_safe: (0, core_1.BooleanNode)(),\r\n respawn_anchor_works: (0, core_1.BooleanNode)(),\r\n bed_works: (0, core_1.BooleanNode)(),\r\n has_raids: (0, core_1.BooleanNode)(),\r\n has_skylight: (0, core_1.BooleanNode)(),\r\n has_ceiling: (0, core_1.BooleanNode)(),\r\n coordinate_scale: (0, core_1.NumberNode)({ min: 0.00001, max: 30000000 }),\r\n ambient_light: (0, core_1.NumberNode)(),\r\n fixed_time: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n logical_height: (0, core_1.NumberNode)({ integer: true, min: 0, max: 256 }),\r\n effects: (0, core_1.Opt)(StringNode({ enum: ['minecraft:overworld', 'minecraft:the_nether', 'minecraft:the_end'] })),\r\n infiniburn: StringNode({ validator: 'resource', params: { pool: '$tag/block' } })\r\n }, { context: 'dimension_type' }), {\r\n default: () => Common_1.DefaultDimensionType\r\n }));\r\n}\r\nexports.initDimensionTypeSchemas = initDimensionTypeSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.LootFunctions = exports.LootConditions = exports.LootCopySources = exports.LootEntitySources = exports.LootTableTypes = void 0;\r\nexports.LootTableTypes = new Map([\r\n ['minecraft:advancement_entity', { requires: [7 /* Origin */, 8 /* ThisEntity */], allows: [] }],\r\n ['minecraft:advancement_reward', { requires: [7 /* Origin */, 8 /* ThisEntity */], allows: [] }],\r\n ['minecraft:barter', { requires: [8 /* ThisEntity */], allows: [] }],\r\n ['minecraft:block', { requires: [1 /* BlockState */, 7 /* Origin */, 9 /* Tool */], allows: [0 /* BlockEntity */, 4 /* ExplosionRadius */, 8 /* ThisEntity */] }],\r\n ['minecraft:chest', { requires: [7 /* Origin */], allows: [8 /* ThisEntity */] }],\r\n ['minecraft:command', { requires: [7 /* Origin */], allows: [8 /* ThisEntity */] }],\r\n ['minecraft:empty', { requires: [], allows: [] }],\r\n ['minecraft:entity', { requires: [2 /* DamageSource */, 7 /* Origin */, 8 /* ThisEntity */], allows: [3 /* DirectKillerEntity */, 5 /* KillerEntity */, 6 /* LastDamagePlayer */] }],\r\n ['minecraft:fishing', { requires: [7 /* Origin */, 9 /* Tool */], allows: [8 /* ThisEntity */] }],\r\n ['minecraft:generic', { requires: [2 /* DamageSource */, 0 /* BlockEntity */, 1 /* BlockState */, 3 /* DirectKillerEntity */, 4 /* ExplosionRadius */, 5 /* KillerEntity */, 6 /* LastDamagePlayer */, 7 /* Origin */, 8 /* ThisEntity */, 9 /* Tool */], allows: [] }],\r\n ['minecraft:gift', { requires: [7 /* Origin */, 8 /* ThisEntity */], allows: [] }],\r\n ['minecraft:selector', { requires: [7 /* Origin */], allows: [8 /* ThisEntity */] }]\r\n]);\r\n/**\r\n * A map from loot entity sources to an array of their required context.\r\n */\r\nexports.LootEntitySources = new Map([\r\n ['direct_killer', [3 /* DirectKillerEntity */]],\r\n ['killer', [5 /* KillerEntity */]],\r\n ['killer_player', [5 /* KillerEntity */]],\r\n ['this', [8 /* ThisEntity */]]\r\n]);\r\n/**\r\n * A map from loot copy sources to an array of their required context.\r\n */\r\nexports.LootCopySources = new Map([\r\n ['block_entity', [0 /* BlockEntity */]],\r\n ['killer', [5 /* KillerEntity */]],\r\n ['killer_player', [5 /* KillerEntity */]],\r\n ['this', [8 /* ThisEntity */]]\r\n]);\r\n/**\r\n * A map from loot condition IDs to an array of their required context.\r\n */\r\nexports.LootConditions = new Map([\r\n ['minecraft:alternative', []],\r\n ['minecraft:block_state_property', [1 /* BlockState */]],\r\n ['minecraft:damage_source_properties', [2 /* DamageSource */]],\r\n ['minecraft:entity_properties', [7 /* Origin */]],\r\n ['minecraft:entity_scores', []],\r\n ['minecraft:inverted', []],\r\n ['minecraft:killed_by_player', [6 /* LastDamagePlayer */]],\r\n ['minecraft:location_check', []],\r\n ['minecraft:match_tool', [9 /* Tool */]],\r\n ['minecraft:random_chance', []],\r\n ['minecraft:random_chance_with_looting', [5 /* KillerEntity */]],\r\n ['minecraft:reference', []],\r\n ['minecraft:survives_explosion', [4 /* ExplosionRadius */]],\r\n ['minecraft:table_bonus', [9 /* Tool */]],\r\n ['minecraft:time_check', []],\r\n ['minecraft:weather_check', []]\r\n]);\r\n/**\r\n * A map from loot function IDs to an array of their required context.\r\n */\r\nexports.LootFunctions = new Map([\r\n ['minecraft:apply_bonus', [9 /* Tool */]],\r\n ['minecraft:copy_name', []],\r\n ['minecraft:copy_nbt', []],\r\n ['minecraft:copy_state', [1 /* BlockState */]],\r\n ['minecraft:enchant_randomly', []],\r\n ['minecraft:enchant_with_levels', []],\r\n ['minecraft:exploration_map', [7 /* Origin */]],\r\n ['minecraft:explosion_decay', []],\r\n ['minecraft:fill_player_head', []],\r\n ['minecraft:furnace_smelt', []],\r\n ['minecraft:limit_count', []],\r\n ['minecraft:looting_enchant', [5 /* KillerEntity */]],\r\n ['minecraft:set_attributes', []],\r\n ['minecraft:set_contents', []],\r\n ['minecraft:set_count', []],\r\n ['minecraft:set_damage', []],\r\n ['minecraft:set_loot_table', []],\r\n ['minecraft:set_lore', []],\r\n ['minecraft:set_name', []],\r\n ['minecraft:set_nbt', []],\r\n ['minecraft:set_stew_effect', []]\r\n]);\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initLootTableSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst LootContext_1 = require(\"../LootContext\");\r\nconst Common_1 = require(\"./Common\");\r\nfunction initLootTableSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const conditions = {\r\n conditions: (0, core_1.Opt)((0, core_1.ListNode)(Reference('loot_condition')))\r\n };\r\n const functionsAndConditions = {\r\n functions: (0, core_1.Opt)((0, core_1.ListNode)(Reference('loot_function'))),\r\n ...conditions\r\n };\r\n function compileSwitchNode(contextMap, collectionID, getNode) {\r\n const cases = [];\r\n const getAvailableOptions = (providedContext) => collections\r\n .get(collectionID)\r\n .filter(t => {\r\n var _a;\r\n const requiredContext = (_a = contextMap.get(t)) !== null && _a !== void 0 ? _a : [];\r\n return requiredContext.every(c => providedContext.includes(c));\r\n });\r\n for (const [tableType, { allows, requires }] of LootContext_1.LootTableTypes) {\r\n const providedContext = [...allows, ...requires];\r\n cases.push({\r\n match: path => path.getModel().get(new core_1.Path(['type'])) === tableType,\r\n node: getNode(getAvailableOptions(providedContext))\r\n });\r\n }\r\n cases.push({ match: _ => true, node: getNode(collectionID) });\r\n return (0, core_1.SwitchNode)(cases);\r\n }\r\n const conditionSwtichNode = compileSwitchNode(LootContext_1.LootConditions, 'loot_condition_type', type => StringNode({ validator: 'resource', params: { pool: type instanceof Array ? type : `loot_condition_type` } }));\r\n const functionSwtichNode = compileSwitchNode(LootContext_1.LootFunctions, 'loot_function_type', type => StringNode({ validator: 'resource', params: { pool: type instanceof Array ? type : `loot_function_type` } }));\r\n const entitySourceSwtichNode = compileSwitchNode(LootContext_1.LootEntitySources, 'entity_source', type => StringNode({ enum: type }));\r\n const copySourceSwtichNode = compileSwitchNode(LootContext_1.LootCopySources, 'copy_source', type => StringNode({ enum: type }));\r\n schemas.register('loot_table', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n type: (0, core_1.Opt)(StringNode({ validator: \"resource\", params: { pool: collections.get('loot_context_type') } })),\r\n pools: (0, core_1.Opt)((0, core_1.ListNode)((0, core_1.Mod)((0, core_1.ObjectNode)({\r\n rolls: (0, Common_1.Range)({ allowBinomial: true, integer: true }),\r\n bonus_rolls: (0, core_1.Opt)((0, Common_1.Range)({ integer: true })),\r\n entries: (0, core_1.ListNode)(Reference('loot_entry')),\r\n ...functionsAndConditions\r\n }, { category: 'pool', context: 'loot_pool' }), {\r\n default: () => ({\r\n rolls: 1,\r\n entries: [{\r\n type: 'minecraft:item',\r\n name: 'minecraft:stone'\r\n }]\r\n })\r\n }))),\r\n functions: (0, core_1.Opt)((0, core_1.ListNode)(Reference('loot_function')))\r\n }, { context: 'loot_table' }), {\r\n default: () => ({\r\n pools: [{\r\n rolls: 1,\r\n entries: [{\r\n type: 'minecraft:item',\r\n name: 'minecraft:stone'\r\n }]\r\n }]\r\n })\r\n }));\r\n const weightMod = {\r\n enabled: path => {\r\n var _a;\r\n return ((_a = path.pop().get()) === null || _a === void 0 ? void 0 : _a.length) > 1\r\n && !['minecraft:alternatives', 'minecraft:group', 'minecraft:sequence'].includes(path.push('type').get());\r\n }\r\n };\r\n schemas.register('loot_entry', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'loot_pool_entry_type' } }),\r\n weight: (0, core_1.Opt)((0, core_1.Mod)((0, core_1.NumberNode)({ integer: true, min: 1 }), weightMod)),\r\n quality: (0, core_1.Opt)((0, core_1.Mod)((0, core_1.NumberNode)({ integer: true }), weightMod)),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:alternatives': {\r\n children: (0, core_1.ListNode)(Reference('loot_entry')),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:dynamic': {\r\n name: StringNode(),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:group': {\r\n children: (0, core_1.ListNode)(Reference('loot_entry')),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:item': {\r\n name: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:loot_table': {\r\n name: StringNode({ validator: 'resource', params: { pool: '$loot_table' } }),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:sequence': {\r\n children: (0, core_1.ListNode)(Reference('loot_entry')),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:tag': {\r\n name: StringNode({ validator: 'resource', params: { pool: '$tag/item' } }),\r\n expand: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n ...functionsAndConditions\r\n }\r\n }\r\n }, { context: 'loot_entry' }), {\r\n default: () => ({\r\n type: 'minecraft:item',\r\n name: 'minecraft:stone'\r\n })\r\n }));\r\n schemas.register('loot_function', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n function: functionSwtichNode,\r\n [core_1.Switch]: [{ push: 'function' }],\r\n [core_1.Case]: (() => {\r\n const cases = {\r\n 'minecraft:apply_bonus': {\r\n enchantment: StringNode({ validator: 'resource', params: { pool: 'enchantment' } }),\r\n formula: StringNode({ validator: 'resource', params: { pool: collections.get('loot_table_apply_bonus_formula') } }),\r\n parameters: (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n bonusMultiplier: (0, core_1.Mod)((0, core_1.NumberNode)(), {\r\n enabled: path => path.pop().push('formula').get() === 'minecraft:uniform_bonus_count'\r\n }),\r\n extra: (0, core_1.Mod)((0, core_1.NumberNode)(), {\r\n enabled: path => path.pop().push('formula').get() === 'minecraft:binomial_with_bonus_count'\r\n }),\r\n probability: (0, core_1.Mod)((0, core_1.NumberNode)(), {\r\n enabled: path => path.pop().push('formula').get() === 'minecraft:binomial_with_bonus_count'\r\n })\r\n }), {\r\n enabled: path => path.push('formula').get() !== 'minecraft:ore_drops'\r\n })\r\n },\r\n 'minecraft:copy_name': {\r\n source: copySourceSwtichNode\r\n },\r\n 'minecraft:copy_nbt': {\r\n source: copySourceSwtichNode,\r\n ops: (0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n source: StringNode({ validator: 'nbt_path', params: { category: { getter: 'copy_source', path: ['pop', 'pop', 'pop', { push: 'source' }] } } }),\r\n target: StringNode({ validator: 'nbt_path', params: { category: 'minecraft:item' } }),\r\n op: StringNode({ enum: ['replace', 'append', 'merge'] })\r\n }, { context: 'nbt_operation' }))\r\n },\r\n 'minecraft:copy_state': {\r\n block: StringNode({ validator: 'resource', params: { pool: 'block' } }),\r\n properties: (0, core_1.ListNode)(StringNode({ validator: 'block_state_key', params: { id: ['pop', 'pop', { push: 'block' }] } }))\r\n },\r\n 'minecraft:enchant_randomly': {\r\n enchantments: (0, core_1.Opt)((0, core_1.ListNode)(StringNode({ validator: 'resource', params: { pool: 'enchantment' } })))\r\n },\r\n 'minecraft:enchant_with_levels': {\r\n levels: (0, Common_1.Range)({ allowBinomial: true }),\r\n treasure: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n },\r\n 'minecraft:exploration_map': {\r\n destination: (0, core_1.Opt)(StringNode({ enum: 'map_feature' })),\r\n decoration: (0, core_1.Opt)(StringNode({ enum: 'map_decoration' })),\r\n zoom: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n search_radius: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n skip_existing_chunks: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n },\r\n 'minecraft:fill_player_head': {\r\n entity: entitySourceSwtichNode\r\n },\r\n 'minecraft:limit_count': {\r\n limit: (0, Common_1.Range)({ bounds: true })\r\n },\r\n 'minecraft:looting_enchant': {\r\n count: (0, Common_1.Range)({ bounds: true }),\r\n limit: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true }))\r\n },\r\n 'minecraft:set_attributes': {\r\n modifiers: (0, core_1.ListNode)(Reference('attribute_modifier'))\r\n },\r\n 'minecraft:set_contents': {\r\n entries: (0, core_1.ListNode)(Reference('loot_entry'))\r\n },\r\n 'minecraft:set_count': {\r\n count: (0, Common_1.Range)({ allowBinomial: true })\r\n },\r\n 'minecraft:set_damage': {\r\n damage: (0, Common_1.Range)({ forceRange: true })\r\n },\r\n 'minecraft:set_loot_table': {\r\n name: StringNode({ validator: 'resource', params: { pool: '$loot_table' } }),\r\n seed: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true }))\r\n },\r\n 'minecraft:set_lore': {\r\n entity: (0, core_1.Opt)(entitySourceSwtichNode),\r\n lore: (0, core_1.ListNode)(Reference('text_component')),\r\n replace: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n },\r\n 'minecraft:set_name': {\r\n entity: (0, core_1.Opt)(entitySourceSwtichNode),\r\n name: (0, core_1.Opt)(Reference('text_component'))\r\n },\r\n 'minecraft:set_nbt': {\r\n tag: StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:item' } } })\r\n },\r\n 'minecraft:set_stew_effect': {\r\n effects: (0, core_1.Opt)((0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'mob_effect' } }),\r\n duration: (0, Common_1.Range)()\r\n })))\r\n }\r\n };\r\n const res = {};\r\n collections.get('loot_function_type').forEach(f => {\r\n res[f] = { ...cases[f], ...conditions };\r\n });\r\n return res;\r\n })()\r\n }, { category: 'function', context: 'function' }), {\r\n default: () => ({\r\n function: 'minecraft:set_count',\r\n count: 1\r\n })\r\n }));\r\n schemas.register('loot_condition', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n condition: conditionSwtichNode,\r\n [core_1.Switch]: [{ push: 'condition' }],\r\n [core_1.Case]: {\r\n ...Common_1.ConditionCases,\r\n 'minecraft:entity_properties': {\r\n entity: entitySourceSwtichNode,\r\n predicate: Reference('entity_predicate')\r\n },\r\n 'minecraft:entity_scores': {\r\n entity: entitySourceSwtichNode,\r\n scores: (0, core_1.MapNode)(StringNode({ validator: 'objective' }), (0, Common_1.Range)({ bounds: true }))\r\n }\r\n }\r\n }, { category: 'predicate', context: 'condition' }), {\r\n default: () => ({\r\n condition: 'minecraft:random_chance',\r\n chance: 0.5\r\n })\r\n }));\r\n schemas.register('attribute_modifier', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n attribute: StringNode({ validator: 'resource', params: { pool: 'attribute' } }),\r\n name: StringNode(),\r\n amount: (0, Common_1.Range)({ bounds: true }),\r\n operation: StringNode({ enum: ['addition', 'multiply_base', 'multiply_total'] }),\r\n slot: (0, core_1.StringOrList)(StringNode({ enum: 'slot' }))\r\n }, { context: 'attribute_modifier' }), {\r\n default: () => ({\r\n attribute: 'minecraft:generic.max_health',\r\n name: '',\r\n amount: 1,\r\n operation: 'addition',\r\n slot: 'mainhand'\r\n })\r\n }));\r\n}\r\nexports.initLootTableSchemas = initLootTableSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initPackMcmetaSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initPackMcmetaSchemas(schemas, _) {\r\n const getSimpleString = (jsonText) => { var _a, _b; return jsonText instanceof Array ? getSimpleString(jsonText[0]) : (_b = (_a = jsonText === null || jsonText === void 0 ? void 0 : jsonText.text) !== null && _a !== void 0 ? _a : jsonText === null || jsonText === void 0 ? void 0 : jsonText.toString()) !== null && _b !== void 0 ? _b : ''; };\r\n schemas.register('pack_mcmeta', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n pack: (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n pack_format: (0, core_1.Mod)((0, core_1.NumberNode)({ integer: true, min: 6, max: 6 }), { default: () => 6 }),\r\n description: (0, core_1.Reference)(schemas, 'text_component')\r\n }), {\r\n default: () => ({\r\n pack_format: 6,\r\n description: ''\r\n })\r\n })\r\n }), {\r\n default: () => ({\r\n pack: {\r\n pack_format: 6,\r\n description: ''\r\n }\r\n })\r\n }));\r\n}\r\nexports.initPackMcmetaSchemas = initPackMcmetaSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initPredicatesSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"./Common\");\r\nfunction initPredicatesSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const StateChoice = (0, core_1.ChoiceNode)([\r\n {\r\n type: 'string',\r\n node: StringNode(),\r\n change: v => (typeof v === 'boolean' || typeof v === 'number') ? v.toString() : ''\r\n },\r\n {\r\n type: 'number',\r\n node: (0, core_1.NumberNode)(),\r\n change: v => (typeof v === 'string') ? parseInt(v) : 0\r\n },\r\n {\r\n type: 'object',\r\n node: (0, core_1.ObjectNode)({\r\n min: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n max: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true }))\r\n }),\r\n change: v => (typeof v === 'number') ? ({ min: v, max: v }) : ({})\r\n },\r\n {\r\n type: 'boolean',\r\n node: (0, core_1.BooleanNode)(),\r\n change: v => v === 'true' || v === 1\r\n }\r\n ]);\r\n schemas.register('item_predicate', (0, core_1.ObjectNode)({\r\n item: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: 'item' } })),\r\n tag: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$tag/item' } })),\r\n count: (0, core_1.Opt)((0, Common_1.Range)()),\r\n durability: (0, core_1.Opt)((0, Common_1.Range)()),\r\n potion: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: 'potion' } })),\r\n nbt: (0, core_1.Opt)(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:item', id: ['pop', { push: 'item' }] } } })),\r\n enchantments: (0, core_1.Opt)((0, core_1.ListNode)(Reference('enchantment_predicate')))\r\n }, { context: 'item' }));\r\n schemas.register('enchantment_predicate', (0, core_1.ObjectNode)({\r\n enchantment: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: 'enchantment' } })),\r\n levels: (0, core_1.Opt)((0, Common_1.Range)())\r\n }, { context: 'enchantment' }));\r\n schemas.register('block_predicate', (0, core_1.ObjectNode)({\r\n block: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: 'block' } })),\r\n tag: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$tag/block' } })),\r\n nbt: (0, core_1.Opt)(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:block', id: ['pop', { push: 'block' }] } } })),\r\n state: (0, core_1.Opt)((0, core_1.MapNode)(StringNode(), StateChoice, { validation: { validator: 'block_state_map', params: { id: ['pop', { push: 'block' }] } } }))\r\n }, { context: 'block' }));\r\n schemas.register('fluid_predicate', (0, core_1.ObjectNode)({\r\n fluid: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: 'fluid' } })),\r\n tag: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$tag/fluid' } })),\r\n state: (0, core_1.Opt)((0, core_1.MapNode)(StringNode(), StateChoice))\r\n }, { context: 'fluid' }));\r\n schemas.register('location_predicate', (0, core_1.ObjectNode)({\r\n position: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n x: (0, core_1.Opt)((0, Common_1.Range)()),\r\n y: (0, core_1.Opt)((0, Common_1.Range)()),\r\n z: (0, core_1.Opt)((0, Common_1.Range)())\r\n })),\r\n biome: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$worldgen/biome' } })),\r\n feature: (0, core_1.Opt)(StringNode({ enum: collections.get('worldgen/structure_feature').map(v => v.slice(10)) })),\r\n dimension: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$dimension' } })),\r\n light: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n light: (0, core_1.Opt)((0, Common_1.Range)({ integer: true, min: 0, max: 15 }))\r\n })),\r\n smokey: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n block: (0, core_1.Opt)(Reference('block_predicate')),\r\n fluid: (0, core_1.Opt)(Reference('fluid_predicate'))\r\n }, { context: 'location' }));\r\n schemas.register('statistic_predicate', (0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'stat_type' } }),\r\n stat: StringNode(),\r\n value: (0, Common_1.Range)(),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:mined': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'block' } })\r\n },\r\n 'minecraft:crafted': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'item' } })\r\n },\r\n 'minecraft:used': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'item' } })\r\n },\r\n 'minecraft:broken': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'item' } })\r\n },\r\n 'minecraft:picked_up': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'item' } })\r\n },\r\n 'minecraft:dropped': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'item' } })\r\n },\r\n 'minecraft:killed': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'entity_type' } })\r\n },\r\n 'minecraft:killed_by': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'entity_type' } })\r\n },\r\n 'minecraft:custom': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'custom_stat' } })\r\n }\r\n }\r\n }));\r\n schemas.register('player_predicate', (0, core_1.ObjectNode)({\r\n gamemode: (0, core_1.Opt)(StringNode({ enum: 'gamemode' })),\r\n level: (0, core_1.Opt)((0, Common_1.Range)()),\r\n advancements: (0, core_1.Opt)((0, core_1.MapNode)(StringNode({ validator: 'resource', params: { pool: '$advancement' } }), (0, core_1.ChoiceNode)([\r\n { type: 'boolean', node: (0, core_1.BooleanNode)(), change: _ => true },\r\n {\r\n type: 'object', node: (0, core_1.MapNode)(StringNode(), (0, core_1.BooleanNode)())\r\n }\r\n ]))),\r\n recipes: (0, core_1.Opt)((0, core_1.MapNode)(StringNode({ validator: 'resource', params: { pool: '$recipe' } }), (0, core_1.BooleanNode)())),\r\n stats: (0, core_1.Opt)((0, core_1.ListNode)(Reference('statistic_predicate')))\r\n }, { context: 'player' }));\r\n schemas.register('status_effect_predicate', (0, core_1.ObjectNode)({\r\n amplifier: (0, core_1.Opt)((0, Common_1.Range)()),\r\n duration: (0, core_1.Opt)((0, Common_1.Range)()),\r\n ambient: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n visible: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n }, { context: 'status_effect' }));\r\n schemas.register('distance_predicate', (0, core_1.ObjectNode)({\r\n x: (0, core_1.Opt)((0, Common_1.Range)()),\r\n y: (0, core_1.Opt)((0, Common_1.Range)()),\r\n z: (0, core_1.Opt)((0, Common_1.Range)()),\r\n absolute: (0, core_1.Opt)((0, Common_1.Range)()),\r\n horizontal: (0, core_1.Opt)((0, Common_1.Range)())\r\n }, { context: 'distance' }));\r\n schemas.register('entity_predicate', (0, core_1.ObjectNode)({\r\n type: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: 'entity_type', allowTag: true } })),\r\n nbt: (0, core_1.Opt)(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:entity', id: ['pop', { push: 'type' }] } } })),\r\n team: (0, core_1.Opt)(StringNode({ validator: 'team' })),\r\n location: (0, core_1.Opt)(Reference('location_predicate')),\r\n distance: (0, core_1.Opt)(Reference('distance_predicate')),\r\n flags: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n is_on_fire: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n is_sneaking: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n is_sprinting: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n is_swimming: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n is_baby: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n })),\r\n equipment: (0, core_1.Opt)((0, core_1.MapNode)(StringNode({ enum: 'slot' }), Reference('item_predicate'))),\r\n vehicle: (0, core_1.Opt)(Reference('entity_predicate')),\r\n targeted_entity: (0, core_1.Opt)(Reference('entity_predicate')),\r\n player: (0, core_1.Opt)(Reference('player_predicate')),\r\n fishing_hook: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n in_open_water: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n })),\r\n catType: (0, core_1.Opt)(StringNode({ enum: 'cat_texture' })),\r\n effects: (0, core_1.Opt)((0, core_1.MapNode)(StringNode({ validator: 'resource', params: { pool: 'mob_effect' } }), Reference('status_effect_predicate')))\r\n }, { context: 'entity' }));\r\n schemas.register('damage_source_predicate', (0, core_1.ObjectNode)({\r\n is_explosion: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n is_fire: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n is_magic: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n is_projectile: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n is_lightning: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n bypasses_armor: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n bypasses_invulnerability: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n bypasses_magic: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n source_entity: (0, core_1.Opt)(Reference('entity_predicate')),\r\n direct_entity: (0, core_1.Opt)(Reference('entity_predicate'))\r\n }, { context: 'damage_source' }));\r\n schemas.register('damage_predicate', (0, core_1.ObjectNode)({\r\n dealt: (0, core_1.Opt)((0, Common_1.Range)()),\r\n taken: (0, core_1.Opt)((0, Common_1.Range)()),\r\n blocked: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n source_entity: (0, core_1.Opt)(Reference('entity_predicate')),\r\n type: (0, core_1.Opt)(Reference('damage_source_predicate'))\r\n }, { context: 'damage' }));\r\n}\r\nexports.initPredicatesSchemas = initPredicatesSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initRecipeSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initRecipeSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('recipe', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'recipe_serializer' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:crafting_shaped': {\r\n group: (0, core_1.Opt)(StringNode({ enum: 'recipe_group', additional: true })),\r\n pattern: (0, core_1.ListNode)(StringNode()),\r\n key: (0, core_1.MapNode)(StringNode(), // TODO: add validation\r\n Reference('recipe_ingredient')),\r\n result: Reference('recipe_result')\r\n },\r\n 'minecraft:crafting_shapeless': {\r\n group: (0, core_1.Opt)(StringNode()),\r\n ingredients: (0, core_1.ListNode)(Reference('recipe_ingredient')),\r\n result: Reference('recipe_result')\r\n },\r\n 'minecraft:smelting': {\r\n group: (0, core_1.Opt)(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n experience: (0, core_1.Opt)((0, core_1.NumberNode)()),\r\n cookingtime: (0, core_1.Opt)((0, core_1.Mod)((0, core_1.NumberNode)({ integer: true }), { default: () => 200 }))\r\n },\r\n 'minecraft:blasting': {\r\n group: (0, core_1.Opt)(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n experience: (0, core_1.Opt)((0, core_1.NumberNode)()),\r\n cookingtime: (0, core_1.Opt)((0, core_1.Mod)((0, core_1.NumberNode)({ integer: true }), { default: () => 100 }))\r\n },\r\n 'minecraft:smoking': {\r\n group: (0, core_1.Opt)(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n experience: (0, core_1.Opt)((0, core_1.NumberNode)()),\r\n cookingtime: (0, core_1.Opt)((0, core_1.Mod)((0, core_1.NumberNode)({ integer: true }), { default: () => 100 }))\r\n },\r\n 'minecraft:campfire_cooking': {\r\n group: (0, core_1.Opt)(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n experience: (0, core_1.Opt)((0, core_1.NumberNode)()),\r\n cookingtime: (0, core_1.Opt)((0, core_1.Mod)((0, core_1.NumberNode)({ integer: true }), { default: () => 100 }))\r\n },\r\n 'minecraft:stonecutting': {\r\n group: (0, core_1.Opt)(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n count: (0, core_1.NumberNode)({ integer: true })\r\n },\r\n 'minecraft:smithing': {\r\n group: (0, core_1.Opt)(StringNode()),\r\n base: Reference('recipe_ingredient_object'),\r\n addition: Reference('recipe_ingredient_object'),\r\n result: Reference('recipe_result')\r\n }\r\n }\r\n }, { context: 'recipe', disableSwitchContext: true }), {\r\n default: () => ({\r\n type: 'minecraft:crafting_shaped'\r\n })\r\n }));\r\n schemas.register('recipe_ingredient', (0, core_1.Mod)((0, core_1.ChoiceNode)([\r\n {\r\n type: 'object',\r\n node: Reference('recipe_ingredient_object'),\r\n change: v => v[0]\r\n },\r\n {\r\n type: 'list',\r\n node: (0, core_1.ListNode)(Reference('recipe_ingredient_object')),\r\n change: v => [v]\r\n }\r\n ]), {\r\n default: () => ({\r\n item: 'minecraft:stone'\r\n })\r\n }));\r\n schemas.register('recipe_ingredient_object', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n item: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: 'item' } })),\r\n tag: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$tag/item' } }))\r\n }), {\r\n default: () => ({\r\n item: 'minecraft:stone'\r\n })\r\n }));\r\n schemas.register('recipe_result', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n item: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n count: (0, core_1.Opt)((0, core_1.Mod)((0, core_1.NumberNode)({ integer: true }), { default: () => 1 }))\r\n }), {\r\n default: () => ({\r\n item: 'minecraft:stone'\r\n })\r\n }));\r\n}\r\nexports.initRecipeSchemas = initRecipeSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initTagsSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initTagsSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const TagBase = (type) => (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n replace: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n values: (0, core_1.ListNode)((0, core_1.ChoiceNode)([\r\n {\r\n type: 'string',\r\n node: StringNode({ validator: 'resource', params: { pool: type, allowTag: true } }),\r\n change: v => v.id\r\n },\r\n {\r\n type: 'object',\r\n node: (0, core_1.ObjectNode)({\r\n id: StringNode({ validator: 'resource', params: { pool: type, allowTag: true, allowUnknown: true } }),\r\n required: (0, core_1.BooleanNode)()\r\n }),\r\n change: v => ({ id: v })\r\n }\r\n ])),\r\n }, { context: 'tag' }), {\r\n default: () => ({\r\n values: []\r\n })\r\n });\r\n schemas.register('block_tag', TagBase('block'));\r\n schemas.register('entity_type_tag', TagBase('entity_type'));\r\n schemas.register('fluid_tag', TagBase('fluid'));\r\n schemas.register('function_tag', TagBase('$function'));\r\n schemas.register('item_tag', TagBase('item'));\r\n}\r\nexports.initTagsSchemas = initTagsSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initTextComponentSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initTextComponentSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const getSimpleString = (v) => { var _a; return v instanceof Array ? getSimpleString(v[0]) : (_a = v === null || v === void 0 ? void 0 : v.text) !== null && _a !== void 0 ? _a : (typeof v === 'object' ? '' : v === null || v === void 0 ? void 0 : v.toString()); };\r\n schemas.register('text_component', (0, core_1.Mod)((0, core_1.ChoiceNode)([\r\n {\r\n type: 'object',\r\n node: Reference('text_component_object'),\r\n change: v => v instanceof Array ? (typeof v[0] === 'object' ? v[0] : { text: getSimpleString(v[0]) }) : typeof v === 'object' ? v : { text: getSimpleString(v) }\r\n },\r\n {\r\n type: 'list',\r\n node: Reference('text_component_list'),\r\n change: v => [v]\r\n },\r\n {\r\n type: 'string',\r\n priority: 1,\r\n node: StringNode(),\r\n change: getSimpleString\r\n },\r\n {\r\n type: 'number',\r\n node: (0, core_1.NumberNode)(),\r\n change: v => {\r\n const n = parseFloat(getSimpleString(v));\r\n return isFinite(n) ? n : (!!v ? 1 : 0);\r\n }\r\n },\r\n {\r\n type: 'boolean',\r\n node: (0, core_1.BooleanNode)(),\r\n change: v => {\r\n const s = getSimpleString(v);\r\n return s === 'true' || s === 'false' ? s === 'true' : !!s;\r\n }\r\n }\r\n ], { context: 'text_component' }), {\r\n default: () => ({\r\n text: \"\"\r\n })\r\n }));\r\n const CommonFields = {\r\n color: (0, core_1.Opt)(StringNode()) /* TODO */,\r\n font: (0, core_1.Opt)(StringNode()),\r\n bold: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n italic: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n underlined: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n strikethrough: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n obfuscated: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n insertion: (0, core_1.Opt)(StringNode()),\r\n clickEvent: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n action: StringNode({ enum: ['open_url', 'open_file', 'run_command', 'suggest_command', 'change_page', 'copy_to_clipboard'] }),\r\n [core_1.Switch]: [{ push: 'action' }],\r\n [core_1.Case]: {\r\n 'change_page': {\r\n value: StringNode()\r\n },\r\n 'copy_to_clipboard': {\r\n value: StringNode()\r\n },\r\n 'open_file': {\r\n value: StringNode()\r\n },\r\n 'open_url': {\r\n value: StringNode()\r\n },\r\n 'run_command': {\r\n value: StringNode({ validator: 'command', params: { leadingSlash: true, allowPartial: true } })\r\n },\r\n 'suggest_command': {\r\n value: StringNode({ validator: 'command', params: { leadingSlash: true, allowPartial: true } })\r\n }\r\n }\r\n })),\r\n hoverEvent: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n action: StringNode({ enum: ['show_text', 'show_item', 'show_entity'] }),\r\n [core_1.Switch]: [{ push: 'action' }],\r\n [core_1.Case]: {\r\n 'show_text': {\r\n value: (0, core_1.Opt)(Reference('text_component')),\r\n contents: (0, core_1.Opt)(Reference('text_component'))\r\n },\r\n 'show_item': {\r\n value: (0, core_1.Opt)(StringNode({ validator: 'nbt', params: { module: 'util::InventoryItem' } })),\r\n contents: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n id: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n count: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n tag: (0, core_1.Opt)(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:item', id: ['pop', { push: 'id' }] } } }))\r\n }))\r\n },\r\n 'show_entity': {\r\n value: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n name: (0, core_1.Opt)(StringNode()),\r\n type: (0, core_1.Opt)(StringNode()),\r\n id: (0, core_1.Opt)(StringNode())\r\n })),\r\n contents: (0, core_1.Opt)((0, core_1.Mod)((0, core_1.ObjectNode)({\r\n name: (0, core_1.Opt)(Reference('text_component')),\r\n type: StringNode({ validator: 'resource', params: { pool: 'entity_type' } }),\r\n id: StringNode({ validator: 'uuid' })\r\n }), {\r\n default: () => ({\r\n type: 'minecraft:pig',\r\n id: '00000001-0001-0001-0001-000000000001'\r\n })\r\n }))\r\n }\r\n }\r\n })),\r\n extra: (0, core_1.Opt)(Reference('text_component_list'))\r\n };\r\n schemas.register('text_component_object', (0, core_1.Mod)((0, core_1.ChoiceNode)([\r\n {\r\n type: 'text',\r\n match: v => typeof v === 'object',\r\n change: v => ({ text: '' }),\r\n priority: -1,\r\n node: (0, core_1.ObjectNode)({\r\n text: StringNode(),\r\n ...CommonFields\r\n })\r\n },\r\n {\r\n type: 'translation',\r\n match: v => (v === null || v === void 0 ? void 0 : v.translate) !== undefined,\r\n change: v => ({ translate: '' }),\r\n node: (0, core_1.ObjectNode)({\r\n translate: StringNode(),\r\n with: (0, core_1.Opt)(Reference('text_component_list')),\r\n ...CommonFields\r\n })\r\n },\r\n {\r\n type: 'score',\r\n match: v => (v === null || v === void 0 ? void 0 : v.score) !== undefined,\r\n change: v => ({ score: {} }),\r\n node: (0, core_1.ObjectNode)({\r\n score: (0, core_1.ObjectNode)({\r\n name: StringNode({ validator: 'entity', params: { amount: 'single', type: 'entities', isScoreHolder: true } }),\r\n objective: StringNode({ validator: 'objective' }),\r\n value: (0, core_1.Opt)(StringNode())\r\n }),\r\n ...CommonFields\r\n })\r\n },\r\n {\r\n type: 'selector',\r\n match: v => (v === null || v === void 0 ? void 0 : v.selector) !== undefined,\r\n change: v => ({ selector: '' }),\r\n node: (0, core_1.ObjectNode)({\r\n selector: StringNode({ validator: 'entity', params: { amount: 'multiple', type: 'entities' } }),\r\n ...CommonFields\r\n })\r\n },\r\n {\r\n type: 'keybind',\r\n match: v => (v === null || v === void 0 ? void 0 : v.keybind) !== undefined,\r\n change: v => ({ keybind: '' }),\r\n node: (0, core_1.ObjectNode)({\r\n keybind: StringNode({ enum: 'keybind', additional: true }),\r\n ...CommonFields\r\n })\r\n },\r\n {\r\n type: 'nbt',\r\n match: v => (v === null || v === void 0 ? void 0 : v.nbt) !== undefined,\r\n change: v => ({ nbt: '' }),\r\n node: (0, core_1.ObjectNode)({\r\n nbt: StringNode({ validator: 'nbt_path' }),\r\n block: (0, core_1.Opt)(StringNode({ validator: 'vector', params: { dimension: 3, isInteger: true } })),\r\n entity: (0, core_1.Opt)(StringNode({ validator: 'entity', params: { amount: 'multiple', type: 'entities' } })),\r\n storage: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$storage' } })),\r\n interpret: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n ...CommonFields\r\n })\r\n }\r\n ], { context: 'text_component_object', choiceContext: 'text_component.object' }), {\r\n default: () => ({\r\n text: \"\"\r\n })\r\n }));\r\n schemas.register('text_component_list', (0, core_1.Mod)((0, core_1.ListNode)(Reference('text_component')), {\r\n default: () => [{\r\n text: \"\"\r\n }]\r\n }));\r\n}\r\nexports.initTextComponentSchemas = initTextComponentSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initBiomeSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initBiomeSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('biome', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n surface_builder: StringNode({ validator: 'resource', params: { pool: '$worldgen/configured_surface_builder' } }),\r\n depth: (0, core_1.NumberNode)(),\r\n scale: (0, core_1.NumberNode)(),\r\n temperature: (0, core_1.NumberNode)(),\r\n downfall: (0, core_1.NumberNode)(),\r\n precipitation: StringNode({ enum: ['none', 'rain', 'snow'] }),\r\n temperature_modifier: (0, core_1.Opt)(StringNode({ enum: ['none', 'frozen'] })),\r\n category: StringNode({ enum: 'biome_category' }),\r\n player_spawn_friendly: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n creature_spawn_probability: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 1 })),\r\n effects: (0, core_1.ObjectNode)({\r\n sky_color: (0, core_1.NumberNode)({ color: true }),\r\n fog_color: (0, core_1.NumberNode)({ color: true }),\r\n water_color: (0, core_1.NumberNode)({ color: true }),\r\n water_fog_color: (0, core_1.NumberNode)({ color: true }),\r\n grass_color: (0, core_1.Opt)((0, core_1.NumberNode)({ color: true })),\r\n foliage_color: (0, core_1.Opt)((0, core_1.NumberNode)({ color: true })),\r\n grass_color_modifier: (0, core_1.Opt)(StringNode({ enum: ['none', 'dark_forest', 'swamp'] })),\r\n ambient_sound: (0, core_1.Opt)(StringNode()),\r\n mood_sound: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n sound: StringNode(),\r\n tick_delay: (0, core_1.NumberNode)({ integer: true }),\r\n block_search_extent: (0, core_1.NumberNode)({ integer: true }),\r\n offset: (0, core_1.NumberNode)()\r\n })),\r\n additions_sound: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n sound: StringNode(),\r\n tick_chance: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n })),\r\n music: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n sound: StringNode(),\r\n min_delay: (0, core_1.NumberNode)({ integer: true, min: 0 }),\r\n max_delay: (0, core_1.NumberNode)({ integer: true, min: 0 }),\r\n replace_current_music: (0, core_1.BooleanNode)()\r\n })),\r\n particle: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n options: (0, core_1.ObjectNode)({\r\n type: StringNode()\r\n }),\r\n probability: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n }))\r\n }),\r\n starts: (0, core_1.ListNode)(StringNode({ validator: 'resource', params: { pool: '$worldgen/configured_structure_feature' } })),\r\n spawners: (0, core_1.MapNode)(StringNode({ enum: [\r\n 'water_ambient',\r\n 'ambient',\r\n 'misc',\r\n 'water_creature',\r\n 'creature',\r\n 'monster'\r\n ] }), (0, core_1.Mod)((0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'entity_type' } }),\r\n weight: (0, core_1.NumberNode)({ integer: true }),\r\n minCount: (0, core_1.NumberNode)({ integer: true }),\r\n maxCount: (0, core_1.NumberNode)({ integer: true })\r\n })), {\r\n category: () => 'pool',\r\n default: () => [{\r\n type: 'minecraft:bat',\r\n weight: 1\r\n }]\r\n })),\r\n spawn_costs: (0, core_1.MapNode)(StringNode({ validator: 'resource', params: { pool: 'entity_type' } }), (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n energy_budget: (0, core_1.NumberNode)(),\r\n charge: (0, core_1.NumberNode)()\r\n }, { category: 'function' }), {\r\n default: () => ({\r\n energy_budget: 0.12,\r\n charge: 1.0\r\n })\r\n })),\r\n carvers: (0, core_1.MapNode)(StringNode({ enum: ['air', 'liquid'] }), (0, core_1.Mod)((0, core_1.ListNode)(StringNode({ validator: 'resource', params: { pool: '$worldgen/configured_carver' } })), {\r\n default: () => ['minecraft:cave']\r\n })),\r\n features: (0, core_1.ListNode)((0, core_1.Mod)((0, core_1.ListNode)(StringNode({ validator: 'resource', params: { pool: '$worldgen/configured_feature' } })), { category: () => 'predicate' }), { maxLength: 10 })\r\n }, { context: 'biome' }), {\r\n default: () => ({\r\n surface_builder: 'minecraft:grass',\r\n depth: 0.125,\r\n scale: 0.05,\r\n temperature: 0.8,\r\n downfall: 0.4,\r\n precipitation: 'rain',\r\n category: 'plains',\r\n effects: {\r\n sky_color: 7907327,\r\n fog_color: 12638463,\r\n water_color: 4159204,\r\n water_fog_color: 329011\r\n }\r\n })\r\n }));\r\n}\r\nexports.initBiomeSchemas = initBiomeSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initCarverSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initCarverSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('configured_carver', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/carver' } }),\r\n config: (0, core_1.ObjectNode)({\r\n probability: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n })\r\n }, { context: 'carver' }), {\r\n default: () => ({\r\n type: 'minecraft:cave',\r\n config: {\r\n probability: 0.1\r\n }\r\n })\r\n }));\r\n}\r\nexports.initCarverSchemas = initCarverSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initDecoratorSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"../Common\");\r\nfunction initDecoratorSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const RangeConfig = {\r\n maximum: (0, core_1.NumberNode)({ integer: true }),\r\n bottom_offset: (0, core_1.NumberNode)({ integer: true }),\r\n top_offset: (0, core_1.NumberNode)({ integer: true })\r\n };\r\n const ChanceConfig = {\r\n chance: (0, core_1.NumberNode)({ integer: true, min: 0 })\r\n };\r\n const CountConfig = {\r\n count: (0, Common_1.UniformInt)({ min: -10, max: 128, maxSpread: 128 })\r\n };\r\n schemas.register('configured_decorator', (0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/decorator' } }),\r\n config: (0, core_1.ObjectNode)({\r\n [core_1.Switch]: ['pop', { push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:carving_mask': {\r\n step: StringNode({ enum: 'generation_step' }),\r\n probability: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n },\r\n 'minecraft:chance': ChanceConfig,\r\n 'minecraft:count': CountConfig,\r\n 'minecraft:count_extra': {\r\n count: (0, core_1.NumberNode)({ integer: true }),\r\n extra_count: (0, core_1.NumberNode)({ integer: true }),\r\n extra_chance: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n },\r\n 'minecraft:count_multilayer': CountConfig,\r\n 'minecraft:count_noise': {\r\n noise_level: (0, core_1.NumberNode)(),\r\n below_noise: (0, core_1.NumberNode)({ integer: true }),\r\n above_noise: (0, core_1.NumberNode)({ integer: true })\r\n },\r\n 'minecraft:count_noise_biased': {\r\n noise_to_count_ratio: (0, core_1.NumberNode)({ integer: true }),\r\n noise_factor: (0, core_1.NumberNode)(),\r\n noise_offset: (0, core_1.Opt)((0, core_1.NumberNode)())\r\n },\r\n 'minecraft:decorated': {\r\n outer: Reference('configured_decorator'),\r\n inner: Reference('configured_decorator')\r\n },\r\n 'minecraft:depth_average': {\r\n baseline: (0, core_1.NumberNode)({ integer: true }),\r\n spread: (0, core_1.NumberNode)({ integer: true })\r\n },\r\n 'minecraft:fire': CountConfig,\r\n 'minecraft:glowstone': CountConfig,\r\n 'minecraft:lava_lake': ChanceConfig,\r\n 'minecraft:range': RangeConfig,\r\n 'minecraft:range_biased': RangeConfig,\r\n 'minecraft:range_very_biased': RangeConfig,\r\n 'minecraft:water_lake': ChanceConfig\r\n }\r\n }, { context: 'decorator', category: 'predicate' })\r\n }, { context: 'decorator', category: 'predicate' }));\r\n}\r\nexports.initDecoratorSchemas = initDecoratorSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initProcessorListSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initProcessorListSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('processor_list', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n processors: (0, core_1.ListNode)(Reference('processor'))\r\n }, { context: 'processor_list' }), {\r\n default: () => ({\r\n processors: [{\r\n processor_type: 'minecraft:rule',\r\n rules: [{\r\n location_predicate: {\r\n predicate_type: 'minecraft:always_true'\r\n },\r\n input_predicate: {\r\n predicate_type: 'minecraft:always_true'\r\n }\r\n }]\r\n }]\r\n })\r\n }));\r\n schemas.register('processor', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n processor_type: StringNode({ validator: 'resource', params: { pool: 'worldgen/structure_processor' } }),\r\n [core_1.Switch]: [{ push: 'processor_type' }],\r\n [core_1.Case]: {\r\n 'minecraft:block_age': {\r\n mossiness: (0, core_1.NumberNode)()\r\n },\r\n 'minecraft:block_ignore': {\r\n blocks: (0, core_1.ListNode)(Reference('block_state'))\r\n },\r\n 'minecraft:block_rot': {\r\n integrity: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n },\r\n 'minecraft:gravity': {\r\n heightmap: StringNode({ enum: 'heightmap_type' }),\r\n offset: (0, core_1.NumberNode)({ integer: true })\r\n },\r\n 'minecraft:rule': {\r\n rules: (0, core_1.ListNode)(Reference('processor_rule'))\r\n }\r\n }\r\n }, { category: 'function', context: 'processor' }), {\r\n default: () => ({\r\n processor_type: 'minecraft:rule',\r\n rules: [{\r\n location_predicate: {\r\n predicate_type: 'minecraft:always_true'\r\n },\r\n input_predicate: {\r\n predicate_type: 'minecraft:always_true'\r\n }\r\n }]\r\n })\r\n }));\r\n schemas.register('processor_rule', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n position_predicate: (0, core_1.Opt)(Reference('pos_rule_test')),\r\n location_predicate: Reference('rule_test'),\r\n input_predicate: Reference('rule_test'),\r\n output_state: Reference('block_state'),\r\n output_nbt: (0, core_1.Opt)(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:block' } } }))\r\n }, { category: 'predicate', context: 'processor_rule' }), {\r\n default: () => ({\r\n location_predicate: {\r\n predicate_type: 'minecraft:always_true'\r\n },\r\n input_predicate: {\r\n predicate_type: 'minecraft:always_true'\r\n }\r\n })\r\n }));\r\n const posTestFields = {\r\n min_dist: (0, core_1.NumberNode)({ min: 0, max: 255, integer: true }),\r\n max_dist: (0, core_1.NumberNode)({ min: 0, max: 255, integer: true }),\r\n min_chance: (0, core_1.NumberNode)({ min: 0, max: 1 }),\r\n max_chance: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n };\r\n schemas.register('pos_rule_test', (0, core_1.ObjectNode)({\r\n predicate_type: StringNode({ validator: 'resource', params: { pool: 'pos_rule_test' } }),\r\n [core_1.Switch]: [{ push: 'predicate_type' }],\r\n [core_1.Case]: {\r\n 'minecraft:axis_aligned_linear_pos': {\r\n axis: StringNode({ enum: ['x', 'y', 'z'] }),\r\n ...posTestFields\r\n },\r\n 'minecraft:linear_pos': posTestFields\r\n }\r\n }, { context: 'pos_rule_test', disableSwitchContext: true }));\r\n schemas.register('rule_test', (0, core_1.ObjectNode)({\r\n predicate_type: StringNode({ validator: 'resource', params: { pool: 'rule_test' } }),\r\n [core_1.Switch]: [{ push: 'predicate_type' }],\r\n [core_1.Case]: {\r\n 'minecraft:block_match': {\r\n block: StringNode({ validator: 'resource', params: { pool: 'block' } })\r\n },\r\n 'minecraft:blockstate_match': {\r\n block_state: Reference('block_state')\r\n },\r\n 'minecraft:random_block_match': {\r\n block: StringNode({ validator: 'resource', params: { pool: 'block' } }),\r\n probability: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n },\r\n 'minecraft:random_blockstate_match': {\r\n block_state: Reference('block_state'),\r\n probability: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n },\r\n 'minecraft:tag_match': {\r\n tag: StringNode({ validator: 'resource', params: { pool: '$tag/block' } })\r\n }\r\n }\r\n }, { context: 'rule_test', disableSwitchContext: true }));\r\n}\r\nexports.initProcessorListSchemas = initProcessorListSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initFeatureSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"../Common\");\r\nrequire(\"./Decorator\");\r\nrequire(\"./ProcessorList\");\r\nfunction initFeatureSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const RandomPatchConfig = {\r\n can_replace: (0, core_1.BooleanNode)(),\r\n project: (0, core_1.BooleanNode)(),\r\n need_water: (0, core_1.BooleanNode)(),\r\n xspread: (0, core_1.NumberNode)({ integer: true }),\r\n yspread: (0, core_1.NumberNode)({ integer: true }),\r\n zspread: (0, core_1.NumberNode)({ integer: true }),\r\n tries: (0, core_1.NumberNode)({ integer: true }),\r\n state_provider: Reference('block_state_provider'),\r\n block_placer: Reference('block_placer'),\r\n whitelist: (0, core_1.ListNode)(Reference('block_state')),\r\n blacklist: (0, core_1.ListNode)(Reference('block_state'))\r\n };\r\n const DiskConfig = {\r\n state: Reference('block_state'),\r\n radius: (0, Common_1.UniformInt)({ min: 0, max: 4, maxSpread: 4 }),\r\n half_height: (0, core_1.NumberNode)({ integer: true, min: 0, max: 4 }),\r\n targets: (0, core_1.ListNode)(Reference('block_state'))\r\n };\r\n const HugeMushroomConfig = {\r\n cap_provider: Reference('block_state_provider'),\r\n stem_provider: Reference('block_state_provider'),\r\n foliage_radius: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true }))\r\n };\r\n const OreConfig = {\r\n state: Reference('block_state'),\r\n size: (0, core_1.NumberNode)({ integer: true, min: 0, max: 64 }),\r\n target: Reference('rule_test')\r\n };\r\n const CountConfig = {\r\n count: (0, Common_1.UniformInt)({ min: -10, max: 128, maxSpread: 128 })\r\n };\r\n const Feature = (0, core_1.ChoiceNode)([\r\n {\r\n type: 'string',\r\n node: StringNode({ validator: 'resource', params: { pool: '$worldgen/configured_feature' } })\r\n },\r\n {\r\n type: 'object',\r\n node: Reference('configured_feature')\r\n }\r\n ], { choiceContext: 'feature' });\r\n schemas.register('configured_feature', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/feature' } }),\r\n config: (0, core_1.ObjectNode)({\r\n [core_1.Switch]: ['pop', { push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:bamboo': {\r\n probability: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n },\r\n 'minecraft:basalt_columns': {\r\n reach: (0, Common_1.UniformInt)({ min: 0, max: 2, maxSpread: 1 }),\r\n height: (0, Common_1.UniformInt)({ min: 1, max: 5, maxSpread: 5 })\r\n },\r\n 'minecraft:block_pile': {\r\n state_provider: Reference('block_state_provider')\r\n },\r\n 'minecraft:decorated': {\r\n decorator: Reference('configured_decorator'),\r\n feature: Feature\r\n },\r\n 'minecraft:delta_feature': {\r\n contents: Reference('block_state'),\r\n rim: Reference('block_state'),\r\n size: (0, Common_1.UniformInt)({ min: 0, max: 8, maxSpread: 8 }),\r\n rim_size: (0, Common_1.UniformInt)({ min: 0, max: 8, maxSpread: 8 })\r\n },\r\n 'minecraft:disk': DiskConfig,\r\n 'minecraft:emerald_ore': {\r\n state: Reference('block_state'),\r\n target: Reference('block_state')\r\n },\r\n 'minecraft:end_gateway': {\r\n exact: (0, core_1.BooleanNode)(),\r\n exit: (0, core_1.Opt)(Reference('block_pos'))\r\n },\r\n 'minecraft:end_spike': {\r\n crystal_invulnerable: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n crystal_beam_target: (0, core_1.Opt)(Reference('block_pos')),\r\n spikes: (0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n centerX: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n centerZ: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n radius: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n height: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n guarded: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n }))\r\n },\r\n 'minecraft:fill_layer': {\r\n state: Reference('block_state'),\r\n height: (0, core_1.NumberNode)({ integer: true, min: 0, max: 255 })\r\n },\r\n 'minecraft:flower': RandomPatchConfig,\r\n 'minecraft:forest_rock': {\r\n state: Reference('block_state')\r\n },\r\n 'minecraft:huge_brown_mushroom': HugeMushroomConfig,\r\n 'minecraft:huge_fungus': {\r\n hat_state: Reference('block_state'),\r\n decor_state: Reference('block_state'),\r\n stem_state: Reference('block_state'),\r\n valid_base_block: Reference('block_state'),\r\n planted: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n },\r\n 'minecraft:huge_red_mushroom': HugeMushroomConfig,\r\n 'minecraft:ice_patch': DiskConfig,\r\n 'minecraft:iceberg': {\r\n state: Reference('block_state')\r\n },\r\n 'minecraft:lake': {\r\n state: Reference('block_state')\r\n },\r\n 'minecraft:nether_forest_vegetation': {\r\n state_provider: Reference('block_state_provider')\r\n },\r\n 'minecraft:netherrack_replace_blobs': {\r\n state: Reference('block_state'),\r\n target: Reference('block_state'),\r\n radius: (0, Common_1.UniformInt)()\r\n },\r\n 'minecraft:no_bonemeal_flower': RandomPatchConfig,\r\n 'minecraft:no_surface_ore': OreConfig,\r\n 'minecraft:ore': OreConfig,\r\n 'minecraft:random_patch': RandomPatchConfig,\r\n 'minecraft:random_boolean_selector': {\r\n feature_false: Feature,\r\n feature_true: Feature\r\n },\r\n 'minecraft:random_selector': {\r\n features: (0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n chance: (0, core_1.NumberNode)({ min: 0, max: 1 }),\r\n feature: Feature\r\n })),\r\n default: Feature\r\n },\r\n 'minecraft:sea_pickle': CountConfig,\r\n 'minecraft:seagrass': {\r\n probability: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n },\r\n 'minecraft:simple_block': {\r\n to_place: Reference('block_state'),\r\n place_on: (0, core_1.ListNode)(Reference('block_state')),\r\n place_in: (0, core_1.ListNode)(Reference('block_state')),\r\n place_under: (0, core_1.ListNode)(Reference('block_state'))\r\n },\r\n 'minecraft:simple_random_selector': {\r\n features: (0, core_1.ListNode)(Feature)\r\n },\r\n 'minecraft:spring_feature': {\r\n state: Reference('fluid_state'),\r\n rock_count: (0, core_1.NumberNode)({ integer: true }),\r\n hole_count: (0, core_1.NumberNode)({ integer: true }),\r\n requires_block_below: (0, core_1.BooleanNode)(),\r\n valid_blocks: (0, core_1.ListNode)(StringNode({ validator: 'resource', params: { pool: 'block' } }))\r\n },\r\n 'minecraft:tree': {\r\n max_water_depth: (0, core_1.NumberNode)({ integer: true }),\r\n ignore_vines: (0, core_1.BooleanNode)(),\r\n heightmap: StringNode({ enum: 'heightmap_type' }),\r\n minimum_size: Reference('feature_size'),\r\n trunk_provider: Reference('block_state_provider'),\r\n leaves_provider: Reference('block_state_provider'),\r\n trunk_placer: (0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/trunk_placer_type' } }),\r\n base_height: (0, core_1.NumberNode)({ integer: true, min: 0, max: 32 }),\r\n height_rand_a: (0, core_1.NumberNode)({ integer: true, min: 0, max: 24 }),\r\n height_rand_b: (0, core_1.NumberNode)({ integer: true, min: 0, max: 24 })\r\n }, { context: 'trunk_placer' }),\r\n foliage_placer: (0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/foliage_placer_type' } }),\r\n radius: (0, Common_1.UniformInt)({ min: 0, max: 8, maxSpread: 8 }),\r\n offset: (0, Common_1.UniformInt)({ min: 0, max: 8, maxSpread: 8 }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:blob_foliage_placer': {\r\n height: (0, core_1.NumberNode)({ integer: true, min: 0, max: 16 })\r\n },\r\n 'minecraft:bush_foliage_placer': {\r\n height: (0, core_1.NumberNode)({ integer: true, min: 0, max: 16 })\r\n },\r\n 'minecraft:fancy_foliage_placer': {\r\n height: (0, core_1.NumberNode)({ integer: true, min: 0, max: 16 })\r\n },\r\n 'minecraft:jungle_foliage_placer': {\r\n height: (0, core_1.NumberNode)({ integer: true, min: 0, max: 16 })\r\n },\r\n 'minecraft:mega_pine_foliage_placer': {\r\n crown_height: (0, Common_1.UniformInt)({ min: 0, max: 16, maxSpread: 8 })\r\n },\r\n 'minecraft:pine_foliage_placer': {\r\n height: (0, Common_1.UniformInt)({ min: 0, max: 16, maxSpread: 8 })\r\n },\r\n 'minecraft:spruce_foliage_placer': {\r\n trunk_height: (0, Common_1.UniformInt)({ min: 0, max: 16, maxSpread: 8 })\r\n }\r\n }\r\n }, { context: 'foliage_placer', disableSwitchContext: true }),\r\n decorators: (0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/tree_decorator_type' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:alter_ground': {\r\n provider: Reference('block_state_provider')\r\n },\r\n 'minecraft:beehive': {\r\n probability: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n },\r\n 'minecraft:cocoa': {\r\n probability: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n }\r\n }\r\n }, { context: 'tree_decorator' }))\r\n }\r\n }\r\n }, { context: 'feature' })\r\n }, { context: 'feature' }), {\r\n default: () => ({\r\n type: 'minecraft:decorated',\r\n config: {\r\n decorator: {\r\n type: 'minecraft:count',\r\n config: {\r\n count: 4\r\n }\r\n },\r\n feature: {\r\n type: 'minecraft:tree',\r\n config: {\r\n max_water_depth: 0,\r\n ignore_vines: true,\r\n minimum_size: {},\r\n trunk_placer: {\r\n base_height: 5,\r\n height_rand_a: 2,\r\n height_rand_b: 0\r\n },\r\n foliage_placer: {\r\n radius: 2,\r\n offset: 0,\r\n height: 3\r\n }\r\n }\r\n }\r\n }\r\n })\r\n }));\r\n schemas.register('feature_size', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/feature_size_type' } }),\r\n min_clipped_height: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 80 })),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:two_layers_feature_size': {\r\n limit: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 0, max: 81 })),\r\n lower_size: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 0, max: 16 })),\r\n upper_size: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 0, max: 16 }))\r\n },\r\n 'minecraft:three_layers_feature_size': {\r\n limit: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 0, max: 80 })),\r\n upper_limit: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 0, max: 80 })),\r\n lower_size: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 0, max: 16 })),\r\n middle_size: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 0, max: 16 })),\r\n upper_size: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 0, max: 16 }))\r\n }\r\n }\r\n }, { disableSwitchContext: true }), {\r\n default: () => ({\r\n type: 'minecraft:two_layers_feature_size'\r\n })\r\n }));\r\n schemas.register('block_state_provider', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/block_state_provider_type' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:rotated_block_provider': {\r\n state: Reference('block_state')\r\n },\r\n 'minecraft:simple_state_provider': {\r\n state: Reference('block_state')\r\n },\r\n 'minecraft:weighted_state_provider': {\r\n entries: (0, core_1.ListNode)((0, core_1.Mod)((0, core_1.ObjectNode)({\r\n weight: (0, core_1.NumberNode)({ integer: true, min: 1 }),\r\n data: Reference('block_state')\r\n }), {\r\n default: () => ({\r\n data: {}\r\n })\r\n }))\r\n }\r\n }\r\n }, { context: 'block_state_provider' }), {\r\n default: () => ({\r\n type: 'minecraft:simple_state_provider'\r\n })\r\n }));\r\n schemas.register('block_placer', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/block_placer_type' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:column_placer': {\r\n min_size: (0, core_1.NumberNode)({ integer: true }),\r\n extra_size: (0, core_1.NumberNode)({ integer: true })\r\n }\r\n }\r\n }, { context: 'block_placer' }), {\r\n default: () => ({\r\n type: 'minecraft:simple_block_placer'\r\n })\r\n }));\r\n}\r\nexports.initFeatureSchemas = initFeatureSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initNoiseSettingsSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"../Common\");\r\nfunction initNoiseSettingsSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('noise_settings', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n name: (0, core_1.Mod)(StringNode({ validator: 'resource', params: { pool: '$worldgen/noise_settings', isDefinition: true } }), {\r\n enabled: (path) => path.getArray().length > 0\r\n }),\r\n bedrock_roof_position: (0, core_1.NumberNode)({ integer: true }),\r\n bedrock_floor_position: (0, core_1.NumberNode)({ integer: true }),\r\n sea_level: (0, core_1.NumberNode)({ integer: true }),\r\n disable_mob_generation: (0, core_1.BooleanNode)(),\r\n default_block: Reference('block_state'),\r\n default_fluid: Reference('block_state'),\r\n noise: (0, core_1.ObjectNode)({\r\n height: (0, core_1.NumberNode)({ integer: true }),\r\n density_factor: (0, core_1.NumberNode)(),\r\n density_offset: (0, core_1.NumberNode)(),\r\n size_horizontal: (0, core_1.NumberNode)({ integer: true }),\r\n size_vertical: (0, core_1.NumberNode)({ integer: true }),\r\n simplex_surface_noise: (0, core_1.BooleanNode)(),\r\n random_density_offset: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n island_noise_override: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n amplified: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n sampling: (0, core_1.ObjectNode)({\r\n xz_scale: (0, core_1.NumberNode)(),\r\n y_scale: (0, core_1.NumberNode)(),\r\n xz_factor: (0, core_1.NumberNode)(),\r\n y_factor: (0, core_1.NumberNode)()\r\n }),\r\n bottom_slide: (0, core_1.ObjectNode)({\r\n target: (0, core_1.NumberNode)({ integer: true }),\r\n size: (0, core_1.NumberNode)({ integer: true }),\r\n offset: (0, core_1.NumberNode)({ integer: true })\r\n }),\r\n top_slide: (0, core_1.ObjectNode)({\r\n target: (0, core_1.NumberNode)({ integer: true }),\r\n size: (0, core_1.NumberNode)({ integer: true }),\r\n offset: (0, core_1.NumberNode)({ integer: true })\r\n })\r\n }),\r\n structures: Reference('generator_structures')\r\n }, { context: 'noise_settings' }), {\r\n default: () => Common_1.DefaultNoiseSettings\r\n }));\r\n schemas.register('generator_structures', (0, core_1.ObjectNode)({\r\n stronghold: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n distance: (0, core_1.NumberNode)({ integer: true, min: 0, max: 1023 }),\r\n spread: (0, core_1.NumberNode)({ integer: true, min: 0, max: 1023 }),\r\n count: (0, core_1.NumberNode)({ integer: true, min: 1, max: 4095 })\r\n })),\r\n structures: (0, core_1.MapNode)(StringNode({ validator: 'resource', params: { pool: 'worldgen/structure_feature' } }), (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n spacing: (0, core_1.NumberNode)({ integer: true, min: 0, max: 4096 }),\r\n separation: (0, core_1.Mod)((0, core_1.NumberNode)({ integer: true, min: 0, max: 4096 }), (node) => ({\r\n validate: (path, value, errors, options) => {\r\n if (path.pop().push('spacing').get() <= value) {\r\n errors.add(path, 'error.separation_smaller_spacing');\r\n }\r\n return node.validate(path, value, errors, options);\r\n }\r\n })),\r\n salt: (0, core_1.NumberNode)({ integer: true, min: 0 })\r\n }, { context: 'generator_structure' }), {\r\n default: () => ({\r\n spacing: 10,\r\n separation: 5,\r\n salt: 0\r\n })\r\n }))\r\n }));\r\n schemas.register('generator_layer', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n block: StringNode({ validator: 'resource', params: { pool: 'block' } }),\r\n height: (0, core_1.NumberNode)({ integer: true, min: 1 })\r\n }), {\r\n default: () => ({\r\n block: 'minecraft:stone',\r\n height: 1\r\n })\r\n }));\r\n}\r\nexports.initNoiseSettingsSchemas = initNoiseSettingsSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initStructureFeatureSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initStructureFeatureSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const templatePoolConfig = {\r\n start_pool: StringNode({ validator: 'resource', params: { pool: '$worldgen/template_pool' } }),\r\n size: (0, core_1.NumberNode)({ integer: true })\r\n };\r\n schemas.register('configured_structure_feature', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/structure_feature' } }),\r\n config: (0, core_1.ObjectNode)({\r\n [core_1.Switch]: ['pop', { push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:bastion_remnant': templatePoolConfig,\r\n 'minecraft:buried_treasure': {\r\n probability: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n },\r\n 'minecraft:mineshaft': {\r\n type: StringNode({ enum: ['normal', 'mesa'] }),\r\n probability: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n },\r\n 'minecraft:ocean_ruin': {\r\n biome_temp: StringNode({ enum: ['cold', 'warm'] }),\r\n large_probability: (0, core_1.NumberNode)({ min: 0, max: 1 }),\r\n cluster_probability: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n },\r\n 'minecraft:pillager_outpost': templatePoolConfig,\r\n 'minecraft:ruined_portal': {\r\n portal_type: StringNode({ enum: ['standard', 'desert', 'jungle', 'mountain', 'nether', 'ocean', 'swamp'] })\r\n },\r\n 'minecraft:shipwreck': {\r\n is_beached: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n },\r\n 'minecraft:village': templatePoolConfig\r\n }\r\n }, { context: 'structure_feature', disableSwitchContext: true })\r\n }, { context: 'structure_feature' }), {\r\n default: () => ({\r\n type: 'minecraft:bastion_remnant',\r\n config: {\r\n start_pool: 'minecraft:bastion/starts',\r\n size: 6\r\n }\r\n })\r\n }));\r\n}\r\nexports.initStructureFeatureSchemas = initStructureFeatureSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initSurfaceBuilderSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initSurfaceBuilderSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n schemas.register('configured_surface_builder', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/surface_builder' } }),\r\n config: (0, core_1.ObjectNode)({\r\n top_material: Reference('block_state'),\r\n under_material: Reference('block_state'),\r\n underwater_material: Reference('block_state'),\r\n }, { context: 'surface_builder' })\r\n }, { context: 'surface_builder' }), {\r\n default: () => ({\r\n type: 'minecraft:default',\r\n config: {\r\n top_material: {\r\n Name: 'minecraft:grass_block',\r\n Properties: {\r\n snowy: 'false'\r\n }\r\n },\r\n under_material: {\r\n Name: 'minecraft:dirt'\r\n },\r\n underwater_material: {\r\n Name: 'minecraft:gravel'\r\n }\r\n }\r\n })\r\n }));\r\n}\r\nexports.initSurfaceBuilderSchemas = initSurfaceBuilderSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initTemplatePoolSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nrequire(\"./ProcessorList\");\r\nfunction initTemplatePoolSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const Processors = (0, core_1.ChoiceNode)([\r\n {\r\n type: 'string',\r\n node: StringNode({ validator: 'resource', params: { pool: '$worldgen/processor_list' } }),\r\n change: v => undefined\r\n },\r\n {\r\n type: 'object',\r\n node: Reference('processor_list'),\r\n change: v => ({\r\n processors: [{\r\n \"processor_type\": \"minecraft:nop\"\r\n }]\r\n })\r\n }\r\n ]);\r\n schemas.register('template_pool', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n name: StringNode(),\r\n fallback: StringNode(),\r\n elements: (0, core_1.ListNode)(Reference('template_weighted_element'))\r\n }, { context: 'template_pool' }), {\r\n default: () => ({\r\n fallback: 'minecraft:empty',\r\n elements: [\r\n {\r\n weight: 1,\r\n element: {\r\n element_type: 'minecraft:single_pool_element',\r\n projection: 'rigid',\r\n processors: 'minecraft:empty'\r\n }\r\n }\r\n ]\r\n })\r\n }));\r\n schemas.register('template_weighted_element', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n weight: (0, core_1.NumberNode)({ integer: true, min: 1 }),\r\n element: Reference('template_element')\r\n }, { category: 'pool' }), {\r\n default: () => ({\r\n weight: 1,\r\n element: {\r\n element_type: 'minecraft:single_pool_element',\r\n projection: 'rigid',\r\n processors: 'minecraft:empty'\r\n }\r\n })\r\n }));\r\n schemas.register('template_element', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n element_type: StringNode({ validator: 'resource', params: { pool: 'worldgen/structure_pool_element' } }),\r\n projection: StringNode({ enum: ['rigid', 'terrain_matching'] }),\r\n [core_1.Switch]: [{ push: 'element_type' }],\r\n [core_1.Case]: {\r\n 'minecraft:feature_pool_element': {\r\n feature: StringNode({ validator: 'resource', params: { pool: '$worldgen/configured_feature' } })\r\n },\r\n 'minecraft:legacy_single_pool_element': {\r\n location: StringNode({ validator: 'resource', params: { pool: '$structure' } }),\r\n processors: Processors\r\n },\r\n 'minecraft:list_pool_element': {\r\n elements: (0, core_1.ListNode)(Reference('template_element'))\r\n },\r\n 'minecraft:single_pool_element': {\r\n location: StringNode({ validator: 'resource', params: { pool: '$structure' } }),\r\n processors: Processors\r\n }\r\n }\r\n }, { context: 'template_element', disableSwitchContext: true }), {\r\n default: () => ({\r\n element_type: 'minecraft:single_pool_element',\r\n projection: 'rigid',\r\n processors: 'minecraft:empty'\r\n })\r\n }));\r\n}\r\nexports.initTemplatePoolSchemas = initTemplatePoolSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initWorldgenSchemas = void 0;\r\nconst Biome_1 = require(\"./Biome\");\r\nconst Carver_1 = require(\"./Carver\");\r\nconst Decorator_1 = require(\"./Decorator\");\r\nconst Feature_1 = require(\"./Feature\");\r\nconst NoiseSettings_1 = require(\"./NoiseSettings\");\r\nconst ProcessorList_1 = require(\"./ProcessorList\");\r\nconst StructureFeature_1 = require(\"./StructureFeature\");\r\nconst SurfaceBuilder_1 = require(\"./SurfaceBuilder\");\r\nconst TemplatePool_1 = require(\"./TemplatePool\");\r\nfunction initWorldgenSchemas(schemas, collections) {\r\n (0, Biome_1.initBiomeSchemas)(schemas, collections);\r\n (0, Carver_1.initCarverSchemas)(schemas, collections);\r\n (0, Decorator_1.initDecoratorSchemas)(schemas, collections);\r\n (0, Feature_1.initFeatureSchemas)(schemas, collections);\r\n (0, NoiseSettings_1.initNoiseSettingsSchemas)(schemas, collections);\r\n (0, ProcessorList_1.initProcessorListSchemas)(schemas, collections);\r\n (0, StructureFeature_1.initStructureFeatureSchemas)(schemas, collections);\r\n (0, SurfaceBuilder_1.initSurfaceBuilderSchemas)(schemas, collections);\r\n (0, TemplatePool_1.initTemplatePoolSchemas)(schemas, collections);\r\n}\r\nexports.initWorldgenSchemas = initWorldgenSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initWorldSettingsSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initWorldSettingsSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('world_settings', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n generate_features: (0, core_1.BooleanNode)(),\r\n bonus_chest: (0, core_1.BooleanNode)(),\r\n seed: (0, core_1.NumberNode)({ integer: true }),\r\n dimensions: (0, core_1.MapNode)(StringNode({ validator: 'resource', params: { pool: '$dimension' } }), Reference('dimension'))\r\n }, { context: 'world_settings' }), {\r\n default: () => {\r\n const seed = Math.floor(Math.random() * (4294967296)) - 2147483648;\r\n return {\r\n generate_features: true,\r\n bonus_chest: false,\r\n seed,\r\n dimensions: {\r\n 'minecraft:overworld': {\r\n type: 'minecraft:overworld',\r\n generator: {\r\n type: 'minecraft:noise',\r\n seed,\r\n biome_source: {\r\n type: 'minecraft:vanilla_layered',\r\n seed\r\n },\r\n settings: 'minecraft:overworld',\r\n }\r\n },\r\n 'minecraft:the_nether': {\r\n type: 'minecraft:the_nether',\r\n generator: {\r\n type: 'minecraft:noise',\r\n seed,\r\n biome_source: {\r\n type: 'minecraft:multi_noise',\r\n seed,\r\n humidity_noise: {\r\n firstOctave: -7,\r\n amplitudes: [1.0, 1.0]\r\n },\r\n altitude_noise: {\r\n firstOctave: -7,\r\n amplitudes: [1.0, 1.0]\r\n },\r\n weirdness_noise: {\r\n firstOctave: -7,\r\n amplitudes: [1.0, 1.0]\r\n },\r\n temperature_noise: {\r\n firstOctave: -7,\r\n amplitudes: [1.0, 1.0]\r\n },\r\n biomes: [\r\n {\r\n parameters: { altitude: 0.0, weirdness: 0.0, offset: 0.0, temperature: 0.0, humidity: 0.0 },\r\n biome: 'minecraft:nether_wastes'\r\n },\r\n {\r\n parameters: { altitude: 0.0, weirdness: 0.0, offset: 0.0, temperature: 0.0, humidity: -0.5 },\r\n biome: 'minecraft:soul_sand_valley'\r\n },\r\n {\r\n parameters: { altitude: 0.0, weirdness: 0.0, offset: 0.0, temperature: 0.4, humidity: 0.0 },\r\n biome: 'minecraft:crimson_forest'\r\n },\r\n {\r\n parameters: { altitude: 0.0, weirdness: 0.0, offset: 0.375, temperature: 0.0, humidity: 0.5 },\r\n biome: 'minecraft:warped_forest'\r\n },\r\n {\r\n parameters: { altitude: 0.0, weirdness: 0.0, offset: 0.175, temperature: -0.5, humidity: 0.0 },\r\n biome: 'minecraft:basalt_deltas'\r\n }\r\n ]\r\n },\r\n settings: 'minecraft:nether'\r\n }\r\n },\r\n 'minecraft:the_end': {\r\n type: \"minecraft:the_end\",\r\n generator: {\r\n type: \"minecraft:noise\",\r\n seed,\r\n biome_source: {\r\n type: \"minecraft:the_end\",\r\n seed\r\n },\r\n settings: \"minecraft:end\"\r\n }\r\n }\r\n }\r\n };\r\n }\r\n }));\r\n}\r\nexports.initWorldSettingsSchemas = initWorldSettingsSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initSchemas = void 0;\r\nconst Advancement_1 = require(\"./Advancement\");\r\nconst assets_1 = require(\"./assets\");\r\nconst Common_1 = require(\"./Common\");\r\nconst Condition_1 = require(\"./Condition\");\r\nconst Dimension_1 = require(\"./Dimension\");\r\nconst DimensionType_1 = require(\"./DimensionType\");\r\nconst LootTable_1 = require(\"./LootTable\");\r\nconst PackMcmeta_1 = require(\"./PackMcmeta\");\r\nconst Predicates_1 = require(\"./Predicates\");\r\nconst Recipe_1 = require(\"./Recipe\");\r\nconst Tags_1 = require(\"./Tags\");\r\nconst TextComponent_1 = require(\"./TextComponent\");\r\nconst worldgen_1 = require(\"./worldgen\");\r\nconst WorldSettings_1 = require(\"./WorldSettings\");\r\nfunction initSchemas(schemas, collections) {\r\n // `Common.ts` is the only file that has exports. It should be initialized first. \r\n (0, Common_1.initCommonSchemas)(schemas, collections);\r\n (0, Advancement_1.initAdvancementSchemas)(schemas, collections);\r\n (0, assets_1.initAssetsSchemas)(schemas, collections);\r\n (0, Condition_1.initConditionSchemas)(schemas, collections);\r\n (0, DimensionType_1.initDimensionTypeSchemas)(schemas, collections);\r\n (0, Dimension_1.initDimensionSchemas)(schemas, collections);\r\n (0, LootTable_1.initLootTableSchemas)(schemas, collections);\r\n (0, PackMcmeta_1.initPackMcmetaSchemas)(schemas, collections);\r\n (0, Predicates_1.initPredicatesSchemas)(schemas, collections);\r\n (0, Recipe_1.initRecipeSchemas)(schemas, collections);\r\n (0, Tags_1.initTagsSchemas)(schemas, collections);\r\n (0, TextComponent_1.initTextComponentSchemas)(schemas, collections);\r\n (0, worldgen_1.initWorldgenSchemas)(schemas, collections);\r\n (0, WorldSettings_1.initWorldSettingsSchemas)(schemas, collections);\r\n}\r\nexports.initSchemas = initSchemas;\r\n","\"use strict\";\r\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}));\r\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n});\r\nvar __importStar = (this && this.__importStar) || function (mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.getSchemas = exports.getCollections = exports.lootContext = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Collections_1 = require(\"./Collections\");\r\nconst schemas_1 = require(\"./schemas\");\r\nexports.lootContext = __importStar(require(\"./LootContext\"));\r\nfunction getCollections() {\r\n const collections = new core_1.CollectionRegistry();\r\n (0, Collections_1.initCollections)(collections);\r\n return collections;\r\n}\r\nexports.getCollections = getCollections;\r\n/**\r\n * @param collections The CollectionRegistry for this version. Note that apart from\r\n * the built-in collections, the client of this module is responsible for futhermore\r\n * adding the vanilla registries to it: the collection IDs shouldn't contain the\r\n * namespace (`minecraft:`) part, while the values within the collections should.\r\n *\r\n * @example\r\n * for (const key in VANILLA_REGISTRIES>) {\r\n * collections.register(\r\n * key.replace(/^minecraft:/, ''),\r\n * Object.keys(VANILLA_REGISTRIES[key].entries)\r\n * )\r\n * }\r\n */\r\nfunction getSchemas(collections) {\r\n const schemas = new core_1.SchemaRegistry();\r\n (0, schemas_1.initSchemas)(schemas, collections);\r\n return schemas;\r\n}\r\nexports.getSchemas = getSchemas;\r\n"],"names":["require$$0","core_1","Common_1","require$$1","require$$2","require$$3","require$$4","require$$5","require$$6","require$$7","require$$8","require$$9","require$$10","require$$11","require$$12","require$$13","this"],"mappings":"81BACA,OAAO,eAAe,EAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EACrC,EAAA,gBAAG,OAC1B,YAAyB,EAAa,CAClC,EAAY,SAAS,sBAAuB,CACxC,+BACA,yBACA,0BACA,8BACA,gCACA,6BACA,yBACA,kCACA,4BACA,2BACA,wBACA,+BACA,iCACA,0BACA,+BACA,gCACA,uBACA,8BACA,oCACA,+BACA,+BACA,uBACA,qBACA,0BACA,yBACA,4CACA,+BACA,0CACA,iCACA,4BACA,0BACA,yBACA,6BACA,4BACA,wBACA,uBACA,iBACA,4CACA,2BACA,uBACA,2BACA,2BACR,CAAK,EACD,EAAY,SAAS,YAAa,CAC9B,sBACA,uBACA,mBACR,CAAK,EACD,EAAY,SAAS,iBAAkB,CACnC,sBACA,uBACA,mBACR,CAAK,EACD,EAAY,SAAS,UAAW,CAC5B,mBACA,aACA,WACA,WACA,cACA,WACA,cACA,iBACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,gBACA,WACA,WACA,2BACA,eACA,iBACA,YACA,2BACA,iBACA,mBACA,YACA,wBACA,aACA,kBACA,wBACA,SACR,CAAK,EACD,EAAY,SAAS,OAAQ,CACzB,WACA,UACA,OACA,QACA,OACA,MACR,CAAK,EACD,EAAY,SAAS,WAAY,CAC7B,WACA,WACA,YACA,WACR,CAAK,EACD,EAAY,SAAS,0BAA2B,CAC5C,sBACA,mBACA,gBACA,sBACA,kBACA,4BACR,CAAK,EACD,EAAY,SAAS,gBAAiB,CAClC,OACA,gBACA,SACA,eACR,CAAK,EACD,EAAY,SAAS,cAAe,CAChC,eACA,OACA,SACA,eACR,CAAK,EACD,EAAY,SAAS,iCAAkC,CACnD,gCACA,sCACA,qBACR,CAAK,EACD,EAAY,SAAS,iBAAkB,CACnC,UACA,WACA,SACA,QACA,aACA,cACA,WACA,eACA,iBACA,oBACA,QACA,eACA,gBACA,iBACA,oBACA,gBACA,cACA,cACA,cACA,oBACA,cACA,gBACA,cACA,eACA,eACA,aACA,cACR,CAAK,EACD,EAAY,SAAS,cAAe,CAChC,kBACA,kBACA,iBACA,UACA,WACA,QACA,iBACA,UACA,YACA,WACA,gBACA,aACA,mBACA,gBACA,YACA,aACA,YACA,SACR,CAAK,EACD,EAAY,SAAS,eAAgB,CACjC,MACA,iBACA,aACA,gBACA,YACA,qBACA,WACA,cACA,OACA,cACA,iBACA,oBACA,SACA,gBACA,cACA,qBACA,eACA,SACA,kBACA,wBACA,OACA,YACA,aACA,WACA,UACA,kBACA,gBACA,aACA,WACA,cACA,aACA,SACA,OACA,OACA,QACA,WACA,YACA,SACA,iBACR,CAAK,EACD,EAAY,SAAS,8BAA+B,CAChD,mBACA,yBACA,8BACA,mBACA,yBACA,0BACA,4BACA,2BACA,2BACA,wBACA,uBACA,kBACA,6BACA,qBACA,wBACA,iCACA,kCACA,kCACA,iCACA,iCACA,yBACA,sCACA,kCACA,0BACA,yCACA,uCACA,qBACA,kBACA,wBACA,sBACA,wBACA,sBACA,gCACA,wBACA,iCACA,uBACA,sBACA,gCACA,+BACA,+BACA,sBACA,2BACA,0BACA,mCACA,yBACA,yBACA,wBACA,gCACA,4CACA,qCACA,wBACA,mBACA,6BACA,4BACA,sBACA,gCACA,8BACA,sBACA,sBACA,yBACA,2BACA,wBACA,gCACA,wBACA,sBACA,sBACA,sBACA,uBACA,iCACA,6BACA,sBACA,wBACA,yBACA,sCACA,2BACA,yBACA,0BACA,yBACA,yBACA,gBACA,yBACA,2BACA,qBACA,6BACA,6BACA,wBACA,wBACA,qBACA,wBACA,4BACA,2BACA,4BACA,qBACA,wBACA,8BACA,uBACA,yBACA,qBACA,sBACA,sBACA,8BACA,8BACA,yBACA,0BACA,6BACA,kCACA,+BACA,iCACA,mCACA,gCACA,yBACA,gCACA,8BACA,qCACA,4BACA,uBACA,iCACA,+BACA,+BACA,+BACA,8BACA,gCACA,gCACA,8BACA,6BACA,wBACA,0BACA,+BACA,4BACA,sCACA,oCACA,mCACA,6BACA,4BACA,8BACA,+BACA,6BACA,6BACA,qBACA,qBACA,uBACA,yBACA,sBACA,iBACA,6BACA,+BACA,gCACA,gCACA,+BACA,+BACA,uBACA,0BACA,+BACA,+BACA,0BACA,4BACA,2BACA,4BACA,2BACA,0BACA,iCACA,iCACA,0BACA,yBACA,+BACA,wBACA,wBACA,yBACA,yBACA,mBACA,kCACA,uBACA,6BACA,wBACA,+BACA,wBACA,8BACA,yBACA,gCACA,2BACA,0BACA,oCACA,wBACA,2BACA,kBACA,gCACA,kCACA,qCACA,iCACA,yBACA,yBACR,CAAK,EACD,EAAY,SAAS,wCAAyC,CAC1D,4BACA,4BACA,2BACA,qBACA,qBACA,kBACA,2BACA,oBACA,2BACA,sBACA,qBACA,0BACA,4BACA,4BACA,6BACA,iCACA,iCACA,mCACA,iCACA,gCACA,gCACA,0BACA,8BACA,sBACA,uBACA,sBACA,2BACA,2BACA,4BACA,0BACA,yBACR,CAAK,EACD,EAAY,SAAS,sCAAuC,CACxD,qBACA,0BACA,2BACA,mBACA,gBACA,4BACA,yBACA,sBACA,6BACA,kBACA,8BACA,uBACA,qBACA,qBACA,mBACA,iBACA,uBACA,8BACA,6BACA,kBACA,kBACA,0BACA,2BACR,CAAK,EACD,EAAY,SAAS,iBAAkB,CACnC,QACA,SACA,gBACA,SACA,MACA,SACA,OACA,WACA,SACA,OACA,QACA,SACA,QACA,UACA,QACA,QACA,SACR,CAAK,EACD,EAAY,SAAS,iBAAkB,CACnC,kBACA,4BACA,cACA,iBACA,gBACA,kBACR,CAAK,EACD,EAAY,SAAS,kBAAmB,CACpC,MACA,QACR,CAAK,EACD,EAAY,SAAS,oBAAqB,CACtC,kBACA,kBACA,oBACA,qBACA,oBACA,mBACA,iBACA,mBACA,+BACA,+BACA,oBACA,iBACR,CAAK,EACD,EAAY,SAAS,cAAe,CAChC,gCACA,gCACA,8BACA,kCACA,4CACA,iCACA,kCACA,kCACA,gCACA,iCACA,mCACR,CAAK,CACL,CACA,EAAA,gBAA0B,mCCnhB1B,OAAO,eAAc,EAAU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"} \ No newline at end of file diff --git a/assets/index.19bb89fe.js b/assets/index.6b2a70f4.js similarity index 99% rename from assets/index.19bb89fe.js rename to assets/index.6b2a70f4.js index 3c00291d..2bb316b7 100644 --- a/assets/index.19bb89fe.js +++ b/assets/index.6b2a70f4.js @@ -1,2 +1,2 @@ -var Xe=Object.defineProperty,Ye=Object.defineProperties;var Ze=Object.getOwnPropertyDescriptors;var qe=Object.getOwnPropertySymbols;var Je=Object.prototype.hasOwnProperty,Qe=Object.prototype.propertyIsEnumerable;var Ie=(r,e,t)=>e in r?Xe(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,g=(r,e)=>{for(var t in e||(e={}))Je.call(e,t)&&Ie(r,t,e[t]);if(qe)for(var t of qe(e))Qe.call(e,t)&&Ie(r,t,e[t]);return r},W=(r,e)=>Ye(r,Ze(e));import{l as k,c as ie}from"./index.b990f5f5.js";function et(r,e){return e.forEach(function(t){t&&typeof t!="string"&&!Array.isArray(t)&&Object.keys(t).forEach(function(o){if(o!=="default"&&!(o in r)){var d=Object.getOwnPropertyDescriptor(t,o);Object.defineProperty(r,o,d.get?d:{enumerable:!0,get:function(){return t[o]}})}})}),Object.freeze(Object.defineProperty(r,Symbol.toStringTag,{value:"Module"}))}var X={},se={};Object.defineProperty(se,"__esModule",{value:!0});se.initCollections=void 0;function tt(r){r.register("advancement_trigger",["minecraft:allay_drop_item_on_block","minecraft:avoid_vibration","minecraft:bee_nest_destroyed","minecraft:bred_animals","minecraft:brewed_potion","minecraft:changed_dimension","minecraft:channeled_lightning","minecraft:construct_beacon","minecraft:consume_item","minecraft:cured_zombie_villager","minecraft:effects_changed","minecraft:enchanted_item","minecraft:enter_block","minecraft:entity_hurt_player","minecraft:entity_killed_player","minecraft:fall_from_height","minecraft:filled_bucket","minecraft:fishing_rod_hooked","minecraft:hero_of_the_village","minecraft:impossible","minecraft:inventory_changed","minecraft:item_durability_changed","minecraft:item_used_on_block","minecraft:kill_mob_near_sculk_catalyst","minecraft:killed_by_crossbow","minecraft:levitation","minecraft:lightning_strike","minecraft:location","minecraft:nether_travel","minecraft:placed_block","minecraft:player_generates_container_loot","minecraft:player_hurt_entity","minecraft:player_interacted_with_entity","minecraft:player_killed_entity","minecraft:recipe_unlocked","minecraft:ride_entity_in_lava","minecraft:shot_crossbow","minecraft:slept_in_bed","minecraft:slide_down_block","minecraft:started_riding","minecraft:summoned_entity","minecraft:tame_animal","minecraft:target_hit","minecraft:tick","minecraft:thrown_item_picked_up_by_entity","minecraft:thrown_item_picked_up_by_player","minecraft:used_ender_eye","minecraft:used_totem","minecraft:using_item","minecraft:villager_trade","minecraft:voluntary_exile"]),r.register("keybind",["key.advancements","key.attack","key.back","key.chat","key.command","key.drop","key.forward","key.fullscreen","key.hotbar.1","key.hotbar.2","key.hotbar.3","key.hotbar.4","key.hotbar.5","key.hotbar.6","key.hotbar.7","key.hotbar.8","key.hotbar.9","key.inventory","key.jump","key.left","key.loadToolbarActivator","key.pickItem","key.playerlist","key.right","key.saveToolbarActivator","key.screenshot","key.smoothCamera","key.sneak","key.spectatorOutlines","key.sprint","key.swapOffhand","key.togglePerspective","key.use"]),r.register("slot",["mainhand","offhand","head","chest","legs","feet"]),r.register("gamemode",["survival","creative","adventure","spectator"]),r.register("entity_source",["this","killer","direct_killer","killer_player"]),r.register("copy_source",["block_entity","this","killer","killer_player"]),r.register("loot_table_apply_bonus_formula",["minecraft:uniform_bonus_count","minecraft:binomial_with_bonus_count","minecraft:ore_drops"]),r.register("map_decoration",["mansion","monument","player","frame","red_marker","blue_marker","target_x","target_point","player_off_map","player_off_limits","red_x","banner_white","banner_orange","banner_magenta","banner_light_blue","banner_yellow","banner_lime","banner_pink","banner_gray","banner_light_gray","banner_cyan","banner_purple","banner_blue","banner_brown","banner_green","banner_red","banner_black"]),r.register("map_feature",["bastion_remnant","buried_treasure","desert_pyramid","endcity","fortress","igloo","jungle_pyramid","mansion","mineshaft","monument","nether_fossil","ocean_ruin","pillager_outpost","ruined_portal","shipwreck","stronghold","swamp_hut","village"]),r.register("recipe_group",["bed","light_gray_dye","iron_ingot","wooden_stairs","black_dye","stained_terracotta","dyed_bed","magenta_dye","bark","rabbit_stew","light_blue_dye","wooden_fence_gate","planks","stained_glass","wooden_door","stained_glass_pane","wooden_fence","sticks","concrete_powder","wooden_pressure_plate","boat","brown_dye","yellow_dye","bonemeal","red_dye","wooden_trapdoor","wooden_button","gold_ingot","pink_dye","wooden_slab","orange_dye","carpet","sign","wool","sugar","blue_dye","white_dye","banner","netherite_ingot"]),r.register("biome_category",["beach","desert","extreme_hills","forest","icy","jungle","mesa","mountain","mushroom","nether","none","ocean","plains","river","savanna","swamp","taiga","the_end","underground"]),r.register("heightmap_type",["MOTION_BLOCKING","MOTION_BLOCKING_NO_LEAVES","OCEAN_FLOOR","OCEAN_FLOOR_WG","WORLD_SURFACE","WORLD_SURFACE_WG"]),r.register("generation_step",["air","liquid"]),r.register("decoration_step",["raw_generation","lakes","local_modifications","underground_structures","surface_structures","strongholds","underground_ores","underground_decoration","fluid_springs","vegetal_decoration","top_layer_modification"]),r.register("loot_context_type",["minecraft:empty","minecraft:chest","minecraft:command","minecraft:selector","minecraft:fishing","minecraft:entity","minecraft:gift","minecraft:barter","minecraft:advancement_reward","minecraft:advancement_entity","minecraft:generic","minecraft:block"]),r.register("banner_pattern",["base","square_bottom_left","square_bottom_right","square_top_left","square_top_right","stripe_bottom","stripe_top","stripe_left","stripe_right","stripe_center","stripe_middle","stripe_downright","stripe_downleft","small_stripes","cross","straight_cross","triangle_bottom","triangle_top","triangles_bottom","triangles_top","diagonal_left","diagonal_up_right","diagonal_up_left","diagonal_right","circle","rhombus","half_vertical","half_horizontal","half_vertical_right","half_horizontal_bottom","border","curly_border","gradient","gradient_up","bricks","globe","creeper","skull","flower","mojang","piglin"]),r.register("dye_color",["white","orange","magenta","light_blue","yellow","lime","pink","gray","light_gray","cyan","purple","blue","brown","green","red","black"]),r.register("cave_surface",["floor","ceiling"]),r.register("direction",["down","up","north","east","south","west"]),r.register("axis",["x","y","z"]),r.register("display_position",["firstperson_righthand","firstperson_lefthand","thirdperson_righthand","thirdperson_lefthand","gui","head","ground","fixed"]),r.register("gui_light",["front","side"]),r.register("item_model_predicates",["angle","blocking","broken","cast","charged","cooldown","custom_model_data","damage","damaged","firework","lefthanded","pull","pulling","throwing","time"]),r.register("mob_category",["monster","creature","ambient","axolotls","underground_water_creature","water_creature","water_ambient","misc"])}se.initCollections=tt;var le={},me={};Object.defineProperty(me,"__esModule",{value:!0});me.initAdvancementSchemas=void 0;const s=k;function rt(r,e){const t=s.Reference.bind(void 0,r),o=s.StringNode.bind(void 0,e),d=(0,s.ChoiceNode)([{type:"object",node:(0,s.Opt)(t("entity_predicate")),change:n=>{var c,l;return(l=(c=n[0])===null||c===void 0?void 0:c.predicate)!==null&&l!==void 0?l:{}}},{type:"list",node:(0,s.ListNode)(t("condition")),change:n=>[{condition:"minecraft:entity_properties",predicate:n}]}],{context:"conditions"});r.register("advancement",(0,s.Mod)((0,s.ObjectNode)({display:(0,s.Opt)((0,s.Mod)((0,s.ObjectNode)({icon:(0,s.ObjectNode)({item:o({validator:"resource",params:{pool:"item"}}),nbt:(0,s.Opt)(o({validator:"nbt",params:{registry:{category:"minecraft:item",id:["pop",{push:"item"}]}}}))}),title:t("text_component"),description:t("text_component"),background:(0,s.Opt)(o()),frame:(0,s.Opt)(o({enum:["task","challenge","goal"]})),show_toast:(0,s.Opt)((0,s.BooleanNode)()),announce_to_chat:(0,s.Opt)((0,s.BooleanNode)()),hidden:(0,s.Opt)((0,s.BooleanNode)())}),{default:()=>({icon:{item:"minecraft:stone"},title:"",description:""})})),parent:(0,s.Opt)(o({validator:"resource",params:{pool:"$advancement"}})),criteria:(0,s.MapNode)(o(),t("advancement_criteria")),requirements:(0,s.Opt)((0,s.ListNode)((0,s.ListNode)(o()))),rewards:(0,s.Opt)((0,s.ObjectNode)({function:(0,s.Opt)(o({validator:"resource",params:{pool:"$function"}})),loot:(0,s.Opt)((0,s.ListNode)(o({validator:"resource",params:{pool:"$loot_table"}}))),recipes:(0,s.Opt)((0,s.ListNode)(o({validator:"resource",params:{pool:"$recipe"}}))),experience:(0,s.Opt)((0,s.NumberNode)({integer:!0}))}))},{context:"advancement"}),{default:()=>({criteria:{requirement:{trigger:"minecraft:location"}}})})),r.register("advancement_criteria",(0,s.ObjectNode)({trigger:o({validator:"resource",params:{pool:e.get("advancement_trigger")}}),conditions:(0,s.Opt)((0,s.ObjectNode)({player:(0,s.Mod)(d,{enabled:n=>n.pop().push("trigger").get()!=="minecraft:impossible"}),[s.Switch]:["pop",{push:"trigger"}],[s.Case]:{"minecraft:allay_drop_item_on_block":{item:(0,s.Opt)(t("item_predicate")),location:(0,s.Opt)(t("location_predicate"))},"minecraft:bee_nest_destroyed":{block:(0,s.Opt)(o({validator:"resource",params:{pool:"block"}})),num_bees_inside:(0,s.Opt)((0,s.NumberNode)({integer:!0})),item:(0,s.Opt)(t("item_predicate"))},"minecraft:bred_animals":{parent:d,partner:d,child:d},"minecraft:brewed_potion":{potion:(0,s.Opt)(o({validator:"resource",params:{pool:"potion"}}))},"minecraft:changed_dimension":{from:(0,s.Opt)(o({validator:"resource",params:{pool:"$dimension"}})),to:(0,s.Opt)(o({validator:"resource",params:{pool:"$dimension"}}))},"minecraft:channeled_lightning":{victims:(0,s.Opt)((0,s.ListNode)(d))},"minecraft:construct_beacon":{level:t("int_bounds")},"minecraft:consume_item":{item:(0,s.Opt)(t("item_predicate"))},"minecraft:cured_zombie_villager":{villager:d,zombie:d},"minecraft:effects_changed":{effects:(0,s.Opt)((0,s.MapNode)(o({validator:"resource",params:{pool:"mob_effect"}}),(0,s.ObjectNode)({amplifier:t("int_bounds"),duration:t("int_bounds")}))),source:(0,s.Opt)(d)},"minecraft:enter_block":{block:(0,s.Opt)(o({validator:"resource",params:{pool:"block"}})),state:(0,s.Opt)((0,s.MapNode)(o(),o(),{validation:{validator:"block_state_map",params:{id:["pop",{push:"block"}]}}}))},"minecraft:enchanted_item":{levels:t("int_bounds"),item:(0,s.Opt)(t("item_predicate"))},"minecraft:entity_hurt_player":{damage:(0,s.Opt)(t("damage_predicate"))},"minecraft:entity_killed_player":{entity:d,killing_blow:(0,s.Opt)(t("damage_source_predicate"))},"minecraft:fall_from_height":{start_position:(0,s.Opt)(t("location_predicate")),distance:(0,s.Opt)(t("distance_predicate"))},"minecraft:filled_bucket":{item:(0,s.Opt)(t("item_predicate"))},"minecraft:fishing_rod_hooked":{entity:d,item:(0,s.Opt)(t("item_predicate"))},"minecraft:inventory_changed":{slots:(0,s.Opt)((0,s.ObjectNode)({empty:t("int_bounds"),occupied:t("int_bounds"),full:t("int_bounds")})),items:(0,s.Opt)((0,s.ListNode)(t("item_predicate")))},"minecraft:item_durability_changed":{delta:t("int_bounds"),durability:t("int_bounds"),item:(0,s.Opt)(t("item_predicate"))},"minecraft:item_used_on_block":{item:(0,s.Opt)(t("item_predicate")),location:(0,s.Opt)(t("location_predicate"))},"minecraft:kill_mob_near_sculk_catalyst":{entity:d,killing_blow:(0,s.Opt)(t("damage_source_predicate"))},"minecraft:killed_by_crossbow":{unique_entity_types:t("int_bounds"),victims:(0,s.Opt)((0,s.ListNode)(d))},"minecraft:levitation":{distance:(0,s.Opt)(t("distance_predicate")),duration:t("int_bounds")},"minecraft:lightning_strike":{lightning:d,bystander:d},"minecraft:nether_travel":{start_position:(0,s.Opt)(t("location_predicate")),distance:(0,s.Opt)(t("distance_predicate"))},"minecraft:placed_block":{block:(0,s.Opt)(o({validator:"resource",params:{pool:"block"}})),state:(0,s.Opt)((0,s.MapNode)(o(),o(),{validation:{validator:"block_state_map",params:{id:["pop",{push:"block"}]}}})),item:(0,s.Opt)(t("item_predicate")),location:(0,s.Opt)(t("location_predicate"))},"minecraft:player_generates_container_loot":{loot_table:o({validator:"resource",params:{pool:"$loot_table"}})},"minecraft:player_hurt_entity":{damage:(0,s.Opt)(t("damage_predicate")),entity:d},"minecraft:player_interacted_with_entity":{item:(0,s.Opt)(t("item_predicate")),entity:d},"minecraft:player_killed_entity":{entity:d,killing_blow:(0,s.Opt)(t("damage_source_predicate"))},"minecraft:recipe_unlocked":{recipe:o({validator:"resource",params:{pool:"$recipe"}})},"minecraft:ride_entity_in_lava":{start_position:(0,s.Opt)(t("location_predicate")),distance:(0,s.Opt)(t("distance_predicate"))},"minecraft:slide_down_block":{block:(0,s.Opt)(o({validator:"resource",params:{pool:"block"}}))},"minecraft:shot_crossbow":{item:(0,s.Opt)(t("item_predicate"))},"minecraft:summoned_entity":{entity:d},"minecraft:tame_animal":{entity:d},"minecraft:target_hit":{projectile:d,shooter:d,signal_strength:t("int_bounds")},"minecraft:thrown_item_picked_up_by_entity":{entity:d,item:(0,s.Opt)(t("item_predicate"))},"minecraft:thrown_item_picked_up_by_player":{entity:d,item:(0,s.Opt)(t("item_predicate"))},"minecraft:used_ender_eye":{distance:(0,s.Opt)(t("float_bounds"))},"minecraft:used_totem":{item:(0,s.Opt)(t("item_predicate"))},"minecraft:using_item":{item:(0,s.Opt)(t("item_predicate"))},"minecraft:villager_trade":{villager:d,item:(0,s.Opt)(t("item_predicate"))}}},{context:"criterion"}))},{category:"predicate",context:"criterion"}))}me.initAdvancementSchemas=rt;var _e={},ue={};Object.defineProperty(ue,"__esModule",{value:!0});ue.initModelSchemas=void 0;const N=k;function ot(r,e){N.Reference.bind(void 0,r);const t=N.StringNode.bind(void 0,e),o=(n,c,l)=>(0,N.ListNode)((0,N.NumberNode)({min:c,max:l}),{minLength:n,maxLength:n}),d=(0,N.ChoiceNode)([{type:"alias",match:n=>typeof n=="string"&&n.startsWith("#"),node:t(),change:n=>typeof n=="string"?`#${n}`:"#0"},{type:"reference",match:n=>typeof n=="string",node:t({validator:"resource",params:{pool:"$texture"}}),change:n=>typeof n=="string"?n.replace(/^#/,""):""}],{choiceContext:"texture"});r.register("model",(0,N.Mod)((0,N.ObjectNode)({parent:(0,N.Opt)(t({validator:"resource",params:{pool:"$model"}})),ambientocclusion:(0,N.Opt)((0,N.BooleanNode)()),gui_light:(0,N.Opt)(t({enum:"gui_light"})),textures:(0,N.Opt)((0,N.MapNode)(t(),d)),elements:(0,N.Opt)((0,N.ListNode)((0,N.ObjectNode)({from:o(3,-16,32),to:o(3,-16,32),rotation:(0,N.Opt)((0,N.ObjectNode)({origin:o(3),axis:t({enum:"axis"}),angle:(0,N.NumberEnum)({values:[-45,-22.5,0,22.5,45]}),rescale:(0,N.Opt)((0,N.BooleanNode)())})),shade:(0,N.Opt)((0,N.BooleanNode)()),faces:(0,N.MapNode)(t({enum:"direction"}),(0,N.ObjectNode)({texture:d,uv:(0,N.Opt)(o(4)),cullface:(0,N.Opt)(t({enum:"direction"})),rotation:(0,N.Opt)((0,N.NumberNode)({integer:!0})),tintindex:(0,N.Opt)((0,N.NumberNode)({integer:!0}))}))},{context:"model_element"}))),display:(0,N.Opt)((0,N.MapNode)(t({enum:"display_position"}),(0,N.ObjectNode)({rotation:o(3),translation:o(3,-80,80),scale:o(3,-4,4)},{context:"item_transform"}))),overrides:(0,N.Opt)((0,N.ListNode)((0,N.ObjectNode)({predicate:(0,N.MapNode)(t({enum:"item_model_predicates"}),(0,N.NumberNode)()),model:t({validator:"resource",params:{pool:"$model"}})},{context:"model_override"})))},{context:"model"}),{default:()=>({parent:"minecraft:item/generated",textures:{layer0:"minecraft:item/diamond"}})}))}ue.initModelSchemas=ot;var pe={};Object.defineProperty(pe,"__esModule",{value:!0});pe.initBlockDefinitionSchemas=void 0;const S=k;function it(r,e){const t=S.Reference.bind(void 0,r),o=S.StringNode.bind(void 0,e);r.register("block_definition",(0,S.Mod)((0,S.ChoiceNode)([{type:"variants",match:n=>n.variants!==void 0,node:(0,S.ObjectNode)({variants:(0,S.MapNode)(o(),t("model_variant"))}),change:n=>({variants:{"":{}}})},{type:"multipart",match:n=>n.multipart!==void 0,node:(0,S.ObjectNode)({multipart:(0,S.ListNode)((0,S.ObjectNode)({when:(0,S.Opt)(t("multipart_condition")),apply:t("model_variant")}))}),change:n=>({multipart:{when:{},apply:{}}})}],{context:"block_definition"}),{default:()=>({variants:{"":{model:"minecraft:block/stone"}}})}));const d={model:o({validator:"resource",params:{pool:"$model"}}),x:(0,S.Opt)((0,S.NumberEnum)({integer:!0,values:[0,90,180,270]})),y:(0,S.Opt)((0,S.NumberEnum)({integer:!0,values:[0,90,180,270]})),uvlock:(0,S.Opt)((0,S.BooleanNode)())};r.register("model_variant",(0,S.ChoiceNode)([{type:"object",node:(0,S.ObjectNode)(d),change:n=>Array.isArray(n)&&n.length>0?n[0]:{}},{type:"list",node:(0,S.ListNode)((0,S.ObjectNode)(W(g({},d),{weight:(0,S.Opt)((0,S.NumberNode)({integer:!0,min:1}))}),{context:"model_variant"})),change:n=>[g({weight:1},n)]}],{context:"model_variant"})),r.register("multipart_condition",(0,S.ChoiceNode)([{type:"object",priority:-1,match:()=>!0,node:(0,S.MapNode)(o(),o()),change:n=>typeof n=="object"&&Array.isArray(n==null?void 0:n.OR)&&n.OR.length>0?n.OR[0]:{}},{type:"or",match:n=>typeof n=="object"&&(n==null?void 0:n.OR)!==void 0,node:(0,S.ObjectNode)({OR:(0,S.ListNode)(t("multipart_condition"))}),change:n=>({OR:[n!=null?n:{}]})}],{context:"multipart_condition"}))}pe.initBlockDefinitionSchemas=it;Object.defineProperty(_e,"__esModule",{value:!0});_e.initAssetsSchemas=void 0;const nt=ue,at=pe;function ct(r,e){(0,at.initBlockDefinitionSchemas)(r,e),(0,nt.initModelSchemas)(r,e)}_e.initAssetsSchemas=ct;var fe={};Object.defineProperty(fe,"__esModule",{value:!0});fe.initChatTypeSchemas=void 0;const F=k;function dt(r,e){const t=F.Reference.bind(void 0,r),o=F.StringNode.bind(void 0,e);r.register("chat_type",(0,F.Mod)((0,F.ObjectNode)({chat:(0,F.Opt)((0,F.ObjectNode)({decoration:(0,F.Opt)(t("text_decoration"))})),overlay:(0,F.Opt)((0,F.ObjectNode)({decoration:(0,F.Opt)(t("text_decoration"))})),narration:(0,F.Opt)((0,F.ObjectNode)({decoration:(0,F.Opt)(t("text_decoration")),priority:o({enum:["chat","system"]})}))},{context:"chat_type"}),{default:()=>({chat:{decoration:{parameters:["sender","content"],translation_key:"chat.type.text",style:{}}}})})),r.register("text_decoration",(0,F.Mod)((0,F.ObjectNode)({translation_key:o(),parameters:(0,F.ListNode)(o({enum:["sender","team_name","content"]})),style:t("text_style")},{context:"text_decoration"}),{default:()=>({translation_key:"chat.type.text",parameters:["sender","content"],style:{}})}))}fe.initChatTypeSchemas=dt;var T={};(function(r){Object.defineProperty(r,"__esModule",{value:!0}),r.initCommonSchemas=r.Tag=r.InclusiveRange=r.IntProvider=r.FloatProvider=r.NoiseSettingsPresets=r.DefaultNoiseSettings=r.DimensionTypePresets=r.DefaultDimensionType=r.FunctionCases=r.ConditionCases=void 0;const e=k;r.DefaultDimensionType={ultrawarm:!1,natural:!0,piglin_safe:!1,respawn_anchor_works:!1,bed_works:!0,has_raids:!0,has_skylight:!0,has_ceiling:!1,coordinate_scale:1,ambient_light:0,logical_height:256,infiniburn:"#minecraft:infiniburn_overworld",min_y:0,height:256},r.DefaultNoiseSettings={sea_level:63,ore_veins_enabled:!0,disable_mob_generation:!1,aquifers_enabled:!0,legacy_random_source:!1,default_block:{Name:"minecraft:stone"},default_fluid:{Properties:{level:"0"},Name:"minecraft:water"},noise:{min_y:-64,height:384,size_horizontal:1,size_vertical:2,top_slide:{target:-.078125,size:2,offset:8},bottom_slide:{target:.1171875,size:3,offset:0},sampling:{xz_scale:.9999999814507745,y_scale:.9999999814507745,xz_factor:80,y_factor:160},terrain_shaper:{offset:0,factor:0,jaggedness:0}},noise_router:{barrier:0,fluid_level_floodedness:0,fluid_level_spread:0,lava:0,temperature:0,vegetation:0,continents:0,erosion:0,depth:0,ridges:0,initial_density_without_jaggedness:0,final_density:{type:"minecraft:interpolated",argument:"minecraft:overworld/base_3d_noise"},vein_toggle:0,vein_ridged:0,vein_gap:0},surface_rule:{type:"minecraft:sequence",sequence:[]}};function t(o,d){const n=e.StringNode.bind(void 0,d),c=e.Reference.bind(void 0,o);o.register("block_state",(0,e.Mod)((0,e.ObjectNode)({Name:n({validator:"resource",params:{pool:"block"}}),Properties:(0,e.Opt)((0,e.MapNode)(n(),n(),{validation:{validator:"block_state_map",params:{id:["pop",{push:"Name"}]}}}))},{context:"block_state"}),{default:()=>({Name:"minecraft:stone"})})),o.register("fluid_state",(0,e.Mod)((0,e.ObjectNode)({Name:n({validator:"resource",params:{pool:"fluid"}}),Properties:(0,e.Opt)((0,e.MapNode)(n(),n()))},{context:"fluid_state"}),{default:()=>({Name:"minecraft:water",Properties:{level:"0"}})})),o.register("block_pos",(0,e.Mod)((0,e.ListNode)((0,e.NumberNode)({integer:!0}),{minLength:3,maxLength:3}),{default:()=>[0,0,0]}));const l=_=>(0,e.Opt)((0,e.ChoiceNode)([{type:"number",node:(0,e.NumberNode)({integer:_}),change:b=>{var j,h;return b===void 0?0:(h=(j=b.min)!==null&&j!==void 0?j:b.max)!==null&&h!==void 0?h:0}},{type:"object",node:(0,e.ObjectNode)({min:(0,e.Opt)((0,e.NumberNode)({integer:_})),max:(0,e.Opt)((0,e.NumberNode)({integer:_}))},{context:"range"}),change:b=>({min:b!=null?b:0,max:b!=null?b:0})}]));o.register("int_bounds",l(!0)),o.register("float_bounds",l()),o.register("int_range",(0,e.ChoiceNode)([{type:"object",node:(0,e.ObjectNode)({min:(0,e.Opt)(c("number_provider")),max:(0,e.Opt)(c("number_provider"))})},{type:"number",node:(0,e.NumberNode)({integer:!0})}],{context:"range"}));const v=(_,b,j,h,B,D,U)=>{let ae={};B&&Object.keys(U[B]).forEach(A=>{ae[A]=(0,e.Mod)(U[B][A],{enabled:E=>E.push("type").get()===void 0})});const Q=(0,e.ObjectNode)(g({type:(0,e.Mod)((0,e.Opt)(n({validator:"resource",params:{pool:_}})),{hidden:()=>!0}),[e.Switch]:[{push:"type"}],[e.Case]:U},ae),{context:D,disableSwitchContext:!0}),ee=[{type:b,node:U[h][j]}];return B&&ee.push({type:"object",priority:-1,node:Q}),Object.keys(U).forEach(A=>{ee.push({type:A,match:E=>{var te;if("minecraft:"+((te=E==null?void 0:E.type)===null||te===void 0?void 0:te.replace(/^minecraft:/,""))===A)return!0;const V=E?Object.keys(E):[];return typeof E=="object"&&((V==null?void 0:V.length)===0||(V==null?void 0:V.length)===1&&(V==null?void 0:V[0])==="type")},node:Q,change:E=>({type:A})})}),(0,e.ChoiceNode)(ee,{context:D,choiceContext:`${D}.type`})};o.register("number_provider",v("loot_number_provider_type","number","value","minecraft:constant","minecraft:uniform","number_provider",{"minecraft:constant":{value:(0,e.NumberNode)()},"minecraft:uniform":{min:c("number_provider"),max:c("number_provider")},"minecraft:binomial":{n:c("number_provider"),p:c("number_provider")},"minecraft:score":{target:c("scoreboard_name_provider"),score:n({validator:"objective"}),scale:(0,e.Opt)((0,e.NumberNode)())}})),o.register("scoreboard_name_provider",v("loot_score_provider_type","string","target","minecraft:context",null,"score_provider",{"minecraft:fixed":{name:n({validator:"entity",params:{amount:"multiple",type:"entities",isScoreHolder:!0}})},"minecraft:context":{target:(0,e.Mod)(n({enum:"entity_source"}),{default:()=>"this"})}})),o.register("nbt_provider",v("loot_nbt_provider_type","string","target","minecraft:context",null,"nbt_provider",{"minecraft:storage":{source:n({validator:"resource",params:{pool:"$storage"}})},"minecraft:context":{target:(0,e.Mod)(n({enum:"copy_source"}),{default:()=>"this"})}})),r.FloatProvider=_=>v("float_provider_type","number","value","minecraft:constant",null,"float_provider",{"minecraft:constant":{value:(0,e.NumberNode)(_)},"minecraft:uniform":{value:(0,e.ObjectNode)({min_inclusive:(0,e.NumberNode)(_),max_exclusive:(0,e.NumberNode)(_)})},"minecraft:clamped_normal":{value:(0,e.ObjectNode)({min:(0,e.NumberNode)(),max:(0,e.NumberNode)(),mean:(0,e.NumberNode)(),deviation:(0,e.NumberNode)()})},"minecraft:trapezoid":{value:(0,e.ObjectNode)({min:(0,e.NumberNode)(),max:(0,e.NumberNode)(),plateau:(0,e.NumberNode)()})}}),o.register("float_provider",(0,r.FloatProvider)()),r.IntProvider=_=>v("int_provider_type","number","value","minecraft:constant",null,"int_provider",{"minecraft:constant":{value:(0,e.NumberNode)(g({integer:!0},_))},"minecraft:uniform":{value:(0,e.ObjectNode)({min_inclusive:(0,e.NumberNode)(g({integer:!0},_)),max_inclusive:(0,e.NumberNode)(g({integer:!0},_))})},"minecraft:biased_to_bottom":{value:(0,e.ObjectNode)({min_inclusive:(0,e.NumberNode)(g({integer:!0},_)),max_inclusive:(0,e.NumberNode)(g({integer:!0},_))})},"minecraft:clamped":{value:(0,e.ObjectNode)({min_inclusive:(0,e.NumberNode)(g({integer:!0},_)),max_inclusive:(0,e.NumberNode)(g({integer:!0},_)),source:c("int_provider")})},"minecraft:clamped_normal":{value:(0,e.ObjectNode)({min_inclusive:(0,e.NumberNode)(g({integer:!0},_)),max_inclusive:(0,e.NumberNode)(g({integer:!0},_)),mean:(0,e.NumberNode)(),deviation:(0,e.NumberNode)()})},"minecraft:weighted_list":{distribution:(0,e.ListNode)((0,e.ObjectNode)({weight:(0,e.NumberNode)({integer:!0}),data:c("int_provider")}))}}),o.register("int_provider",(0,r.IntProvider)()),o.register("vertical_anchor",(0,e.ChoiceNode)(["absolute","above_bottom","below_top"].map(_=>({type:_,match:b=>(b==null?void 0:b[_])!==void 0,change:b=>{var j,h,B;return{[_]:(B=(h=(j=b.absolute)!==null&&j!==void 0?j:b.above_bottom)!==null&&h!==void 0?h:b.below_top)!==null&&B!==void 0?B:0}},node:(0,e.ObjectNode)({[_]:(0,e.NumberNode)({integer:!0,min:-2048,max:2047})})})),{context:"vertical_anchor"})),o.register("height_provider",v("height_provider_type","number","value","minecraft:constant",null,"height_provider",{"minecraft:constant":{value:c("vertical_anchor")},"minecraft:uniform":{min_inclusive:c("vertical_anchor"),max_inclusive:c("vertical_anchor")},"minecraft:biased_to_bottom":{min_inclusive:c("vertical_anchor"),max_inclusive:c("vertical_anchor"),inner:(0,e.Opt)((0,e.NumberNode)({integer:!0,min:1}))},"minecraft:very_biased_to_bottom":{min_inclusive:c("vertical_anchor"),max_inclusive:c("vertical_anchor"),inner:(0,e.Opt)((0,e.NumberNode)({integer:!0,min:1}))},"minecraft:trapezoid":{min_inclusive:c("vertical_anchor"),max_inclusive:c("vertical_anchor"),plateau:(0,e.Opt)((0,e.NumberNode)({integer:!0}))},"minecraft:weighted_list":{distribution:(0,e.ListNode)((0,e.ObjectNode)({weight:(0,e.NumberNode)({integer:!0}),data:c("int_provider")}))}})),r.InclusiveRange=_=>(0,e.ObjectNode)({min_inclusive:(0,e.NumberNode)(_),max_inclusive:(0,e.NumberNode)(_)},{context:"range"}),o.register("noise_parameters",(0,e.Mod)((0,e.ObjectNode)({firstOctave:(0,e.NumberNode)({integer:!0}),amplitudes:(0,e.ListNode)((0,e.NumberNode)())},{context:"noise_parameters"}),{default:()=>({firstOctave:-7,amplitudes:[1,1]})})),r.Tag=_=>(0,e.ChoiceNode)([{type:"string",node:n({validator:"resource",params:{pool:_.resource,allowTag:!0}}),change:b=>{if(Array.isArray(b)&&typeof b[0]=="string"&&!b[0].startsWith("#"))return b[0]}},{type:"list",node:(0,e.ListNode)(_.inlineSchema?(0,e.ChoiceNode)([{type:"string",node:n({validator:"resource",params:{pool:_.resource}})},{type:"object",node:c(_.inlineSchema)}],{choiceContext:"tag.list"}):n({validator:"resource",params:{pool:_.resource}})),change:b=>typeof b=="string"&&!b.startsWith("#")?[b]:[]}],{choiceContext:"tag"}),r.ConditionCases=(_=n({enum:"entity_source"}))=>({"minecraft:alternative":{terms:(0,e.ListNode)(c("condition"))},"minecraft:block_state_property":{block:n({validator:"resource",params:{pool:"block"}}),properties:(0,e.MapNode)(n(),n(),{validation:{validator:"block_state_map",params:{id:["pop",{push:"block"}]}}})},"minecraft:damage_source_properties":{predicate:c("damage_source_predicate")},"minecraft:entity_properties":{entity:_,predicate:c("entity_predicate")},"minecraft:entity_scores":{entity:_,scores:(0,e.MapNode)(n({validator:"objective"}),c("int_range"))},"minecraft:inverted":{term:c("condition")},"minecraft:killed_by_player":{inverse:(0,e.Opt)((0,e.BooleanNode)())},"minecraft:location_check":{offsetX:(0,e.Opt)((0,e.NumberNode)({integer:!0})),offsetY:(0,e.Opt)((0,e.NumberNode)({integer:!0})),offsetZ:(0,e.Opt)((0,e.NumberNode)({integer:!0})),predicate:c("location_predicate")},"minecraft:match_tool":{predicate:c("item_predicate")},"minecraft:random_chance":{chance:(0,e.NumberNode)({min:0,max:1})},"minecraft:random_chance_with_looting":{chance:(0,e.NumberNode)({min:0,max:1}),looting_multiplier:(0,e.NumberNode)()},"minecraft:reference":{name:n({validator:"resource",params:{pool:"$predicate"}})},"minecraft:table_bonus":{enchantment:n({validator:"resource",params:{pool:"enchantment"}}),chances:(0,e.ListNode)((0,e.NumberNode)({min:0,max:1}))},"minecraft:time_check":{value:c("int_range"),period:(0,e.Opt)((0,e.NumberNode)({integer:!0}))},"minecraft:value_check":{value:c("number_provider"),range:c("int_range")},"minecraft:weather_check":{raining:(0,e.Opt)((0,e.BooleanNode)()),thundering:(0,e.Opt)((0,e.BooleanNode)())}}),r.FunctionCases=(_,b=n({enum:"copy_source"}),j=n({enum:"entity_source"}))=>{const h={"minecraft:apply_bonus":{enchantment:n({validator:"resource",params:{pool:"enchantment"}}),formula:n({validator:"resource",params:{pool:d.get("loot_table_apply_bonus_formula")}}),parameters:(0,e.Mod)((0,e.ObjectNode)({bonusMultiplier:(0,e.Mod)((0,e.NumberNode)(),{enabled:D=>D.pop().push("formula").get()==="minecraft:uniform_bonus_count"}),extra:(0,e.Mod)((0,e.NumberNode)(),{enabled:D=>D.pop().push("formula").get()==="minecraft:binomial_with_bonus_count"}),probability:(0,e.Mod)((0,e.NumberNode)(),{enabled:D=>D.pop().push("formula").get()==="minecraft:binomial_with_bonus_count"})}),{enabled:D=>D.push("formula").get()!=="minecraft:ore_drops"})},"minecraft:copy_name":{source:b},"minecraft:copy_nbt":{source:c("nbt_provider"),ops:(0,e.ListNode)((0,e.ObjectNode)({source:n({validator:"nbt_path",params:{category:{getter:"copy_source",path:["pop","pop","pop",{push:"source"}]}}}),target:n({validator:"nbt_path",params:{category:"minecraft:item"}}),op:n({enum:["replace","append","merge"]})},{context:"nbt_operation"}))},"minecraft:copy_state":{block:n({validator:"resource",params:{pool:"block"}}),properties:(0,e.ListNode)(n({validator:"block_state_key",params:{id:["pop","pop",{push:"block"}]}}))},"minecraft:enchant_randomly":{enchantments:(0,e.Opt)((0,e.ListNode)(n({validator:"resource",params:{pool:"enchantment"}})))},"minecraft:enchant_with_levels":{levels:c("number_provider"),treasure:(0,e.Opt)((0,e.BooleanNode)())},"minecraft:exploration_map":{destination:(0,e.Opt)((0,r.Tag)({resource:"$worldgen/structure"})),decoration:(0,e.Opt)(n({enum:"map_decoration"})),zoom:(0,e.Opt)((0,e.NumberNode)({integer:!0})),search_radius:(0,e.Opt)((0,e.NumberNode)({integer:!0})),skip_existing_chunks:(0,e.Opt)((0,e.BooleanNode)())},"minecraft:fill_player_head":{entity:j},"minecraft:limit_count":{limit:c("int_range")},"minecraft:looting_enchant":{count:c("number_provider"),limit:(0,e.Opt)((0,e.NumberNode)({integer:!0}))},"minecraft:set_attributes":{modifiers:(0,e.ListNode)(c("attribute_modifier"))},"minecraft:set_banner_pattern":{patterns:(0,e.ListNode)((0,e.ObjectNode)({pattern:n({enum:"banner_pattern"}),color:n({enum:"dye_color"})})),append:(0,e.Opt)((0,e.BooleanNode)())},"minecraft:set_contents":{type:n({validator:"resource",params:{pool:"block_entity_type"}}),entries:(0,e.ListNode)(c("loot_entry"))},"minecraft:set_count":{count:c("number_provider"),add:(0,e.Opt)((0,e.BooleanNode)())},"minecraft:set_damage":{damage:c("number_provider"),add:(0,e.Opt)((0,e.BooleanNode)())},"minecraft:set_enchantments":{enchantments:(0,e.MapNode)(n({validator:"resource",params:{pool:"enchantment"}}),c("number_provider")),add:(0,e.Opt)((0,e.BooleanNode)())},"minecraft:set_instrument":{options:n({validator:"resource",params:{pool:"instrument",requireTag:!0}})},"minecraft:set_loot_table":{type:n({validator:"resource",params:{pool:"block_entity_type"}}),name:n({validator:"resource",params:{pool:"$loot_table"}}),seed:(0,e.Opt)((0,e.NumberNode)({integer:!0}))},"minecraft:set_lore":{entity:(0,e.Opt)(j),lore:(0,e.ListNode)(c("text_component")),replace:(0,e.Opt)((0,e.BooleanNode)())},"minecraft:set_name":{entity:(0,e.Opt)(j),name:(0,e.Opt)(c("text_component"))},"minecraft:set_nbt":{tag:n({validator:"nbt",params:{registry:{category:"minecraft:item"}}})},"minecraft:set_potion":{id:n({validator:"resource",params:{pool:"potion"}})},"minecraft:set_stew_effect":{effects:(0,e.Opt)((0,e.ListNode)((0,e.ObjectNode)({type:n({validator:"resource",params:{pool:"mob_effect"}}),duration:c("number_provider")})))}},B={};return d.get("loot_function_type").forEach(D=>{B[D]=g(g({},h[D]),_)}),B},r.DimensionTypePresets=_=>(0,e.ObjectOrPreset)(n({validator:"resource",params:{pool:"$dimension_type"}}),_,{"minecraft:overworld":r.DefaultDimensionType,"minecraft:the_nether":{name:"minecraft:the_nether",ultrawarm:!0,natural:!1,shrunk:!0,piglin_safe:!0,respawn_anchor_works:!0,bed_works:!1,has_raids:!1,has_skylight:!1,has_ceiling:!0,ambient_light:.1,fixed_time:18e3,logical_height:128,effects:"minecraft:the_nether",infiniburn:"#minecraft:infiniburn_nether",min_y:0,height:256},"minecraft:the_end":{name:"minecraft:the_end",ultrawarm:!1,natural:!1,shrunk:!1,piglin_safe:!1,respawn_anchor_works:!1,bed_works:!1,has_raids:!0,has_skylight:!1,has_ceiling:!1,ambient_light:0,fixed_time:6e3,logical_height:256,effects:"minecraft:the_end",infiniburn:"#minecraft:infiniburn_end",min_y:0,height:256}}),r.NoiseSettingsPresets=_=>(0,e.ObjectOrPreset)(n({validator:"resource",params:{pool:"$worldgen/noise_settings"}}),_,{"minecraft:overworld":r.DefaultNoiseSettings,"minecraft:nether":{sea_level:32,ore_veins_enabled:!1,disable_mob_generation:!1,aquifers_enabled:!1,legacy_random_source:!0,default_block:{Name:"minecraft:netherrack"},default_fluid:{Properties:{level:"0"},Name:"minecraft:lava"},noise:{min_y:0,height:128,size_horizontal:1,size_vertical:2,top_slide:{target:.9375,size:3,offset:0},bottom_slide:{target:2.5,size:4,offset:-1},sampling:{xz_scale:1,y_scale:3,xz_factor:80,y_factor:60},terrain_shaper:{offset:0,factor:0,jaggedness:0}},noise_router:{barrier:0,fluid_level_floodedness:0,fluid_level_spread:0,lava:0,temperature:0,vegetation:0,continents:0,erosion:0,depth:0,ridges:0,initial_density_without_jaggedness:0,final_density:{type:"minecraft:interpolated",argument:"minecraft:overworld/base_3d_noise"},vein_toggle:0,vein_ridged:0,vein_gap:0},surface_rule:{type:"minecraft:sequence",sequence:[]}},"minecraft:end":{sea_level:0,ore_veins_enabled:!1,disable_mob_generation:!1,aquifers_enabled:!1,legacy_random_source:!0,default_block:{Name:"minecraft:end_stone"},default_fluid:{Name:"minecraft:air"},noise:{min_y:0,height:128,size_horizontal:2,size_vertical:1,top_slide:{target:-23.4375,size:64,offset:-46},bottom_slide:{target:-.234375,size:7,offset:1},sampling:{xz_scale:2,y_scale:1,xz_factor:80,y_factor:160},terrain_shaper:{offset:0,factor:1,jaggedness:0}},noise_router:{barrier:0,fluid_level_floodedness:0,fluid_level_spread:0,lava:0,temperature:0,vegetation:0,continents:0,erosion:0,depth:0,ridges:0,initial_density_without_jaggedness:0,final_density:{type:"minecraft:interpolated",argument:"minecraft:overworld/base_3d_noise"},vein_toggle:0,vein_ridged:0,vein_gap:0},surface_rule:{type:"minecraft:sequence",sequence:[]}},"minecraft:amplified":{sea_level:63,ore_veins_enabled:!0,disable_mob_generation:!1,aquifers_enabled:!0,legacy_random_source:!1,default_block:{Name:"minecraft:stone"},default_fluid:{Properties:{level:"0"},Name:"minecraft:water"},noise:{min_y:-64,height:384,size_horizontal:1,size_vertical:2,top_slide:{target:-.078125,size:2,offset:8},bottom_slide:{target:.1171875,size:3,offset:0},sampling:{xz_scale:.9999999814507745,y_scale:.9999999814507745,xz_factor:80,y_factor:160},terrain_shaper:{offset:0,factor:0,jaggedness:0}},noise_router:{barrier:0,fluid_level_floodedness:0,fluid_level_spread:0,lava:0,temperature:0,vegetation:0,continents:0,erosion:0,depth:0,ridges:0,initial_density_without_jaggedness:0,final_density:{type:"minecraft:interpolated",argument:"minecraft:overworld/base_3d_noise"},vein_toggle:0,vein_ridged:0,vein_gap:0},surface_rule:{type:"minecraft:sequence",sequence:[]}},"minecraft:caves":{sea_level:32,ore_veins_enabled:!1,disable_mob_generation:!1,aquifers_enabled:!1,legacy_random_source:!0,default_block:{Name:"minecraft:stone"},default_fluid:{Properties:{level:"0"},Name:"minecraft:water"},noise:{min_y:0,height:128,size_horizontal:1,size_vertical:2,top_slide:{target:.9375,size:3,offset:0},bottom_slide:{target:2.5,size:4,offset:-1},sampling:{xz_scale:1,y_scale:3,xz_factor:80,y_factor:60},terrain_shaper:{offset:0,factor:0,jaggedness:0}},noise_router:{barrier:0,fluid_level_floodedness:0,fluid_level_spread:0,lava:0,temperature:0,vegetation:0,continents:0,erosion:0,depth:0,ridges:0,initial_density_without_jaggedness:0,final_density:{type:"minecraft:interpolated",argument:"minecraft:overworld/base_3d_noise"},vein_toggle:0,vein_ridged:0,vein_gap:0},surface_rule:{type:"minecraft:sequence",sequence:[]}},"minecraft:floating_islands":{sea_level:0,ore_veins_enabled:!1,disable_mob_generation:!1,aquifers_enabled:!1,legacy_random_source:!0,default_block:{Name:"minecraft:stone"},default_fluid:{Properties:{level:"0"},Name:"minecraft:water"},noise:{min_y:0,height:128,size_horizontal:2,size_vertical:1,top_slide:{target:-23.4375,size:64,offset:-46},bottom_slide:{target:-.234375,size:7,offset:1},sampling:{xz_scale:2,y_scale:1,xz_factor:80,y_factor:160},terrain_shaper:{offset:0,factor:1,jaggedness:0}},noise_router:{barrier:0,fluid_level_floodedness:0,fluid_level_spread:0,lava:0,temperature:0,vegetation:0,continents:0,erosion:0,depth:0,ridges:0,initial_density_without_jaggedness:0,final_density:{type:"minecraft:interpolated",argument:"minecraft:overworld/base_3d_noise"},vein_toggle:0,vein_ridged:0,vein_gap:0},surface_rule:{type:"minecraft:sequence",sequence:[]}}})}r.initCommonSchemas=t})(T);var ge={};Object.defineProperty(ge,"__esModule",{value:!0});ge.initConditionSchemas=void 0;const re=k,st=T;function lt(r,e){const t=re.Reference.bind(void 0,r),o=re.StringNode.bind(void 0,e);r.register("predicate",(0,re.ObjectOrList)(t("condition"),{choiceContext:"condition"})),r.register("condition",(0,re.Mod)((0,re.ObjectNode)({condition:o({validator:"resource",params:{pool:"loot_condition_type"}}),[re.Switch]:[{push:"condition"}],[re.Case]:(0,st.ConditionCases)()},{category:"predicate",context:"condition"}),{default:()=>({condition:"minecraft:entity_properties",entity:"this"})}))}ge.initConditionSchemas=lt;var be={};Object.defineProperty(be,"__esModule",{value:!0});be.initDimensionSchemas=void 0;const O=k,ce=T;function mt(r,e){const t=O.Reference.bind(void 0,r),o=O.StringNode.bind(void 0,e);r.register("dimension",(0,O.Mod)((0,O.ObjectNode)({type:(0,ce.DimensionTypePresets)(t("dimension_type")),generator:(0,O.ObjectNode)({type:o({validator:"resource",params:{pool:"worldgen/chunk_generator"}}),[O.Switch]:[{push:"type"}],[O.Case]:{"minecraft:noise":{settings:(0,ce.NoiseSettingsPresets)(t("noise_settings")),biome_source:(0,O.ObjectNode)({type:o({validator:"resource",params:{pool:"worldgen/biome_source"}}),[O.Switch]:[{push:"type"}],[O.Case]:{"minecraft:fixed":{biome:o({validator:"resource",params:{pool:"$worldgen/biome"}})},"minecraft:multi_noise":{preset:(0,O.Opt)(o({validator:"resource",params:{pool:["minecraft:overworld","minecraft:nether"]}})),biomes:(0,O.Mod)((0,O.ListNode)(t("generator_biome")),{enabled:n=>n.push("preset").get()===void 0,default:()=>[{biome:"minecraft:plains"}]})},"minecraft:checkerboard":{scale:(0,O.Opt)((0,O.NumberNode)({integer:!0,min:0,max:62})),biomes:(0,ce.Tag)({resource:"$worldgen/biome"})}}},{category:"predicate",disableSwitchContext:!0})},"minecraft:flat":{settings:t("flat_generator_settings")}}},{disableSwitchContext:!0})},{category:"pool",context:"dimension"}),{default:()=>({type:"minecraft:overworld",generator:{type:"minecraft:noise",biome_source:{type:"minecraft:fixed",biome:"minecraft:plains"},settings:"minecraft:overworld"}})})),r.register("flat_generator_settings",(0,O.ObjectNode)({biome:(0,O.Opt)(o({validator:"resource",params:{pool:"$worldgen/biome"}})),lakes:(0,O.Opt)((0,O.BooleanNode)()),features:(0,O.Opt)((0,O.BooleanNode)()),layers:(0,O.ListNode)(t("generator_layer")),structure_overrides:(0,ce.Tag)({resource:"$worldgen/structure_set",inlineSchema:"structure_set"})}));const d=(0,O.ChoiceNode)([{type:"number",node:(0,O.NumberNode)({min:-2,max:2}),change:n=>{var c;return(c=n[0])!==null&&c!==void 0?c:0}},{type:"list",node:(0,O.ListNode)((0,O.NumberNode)({min:-2,max:2}),{minLength:2,maxLength:2}),change:n=>[n!=null?n:0,n!=null?n:0]}]);r.register("parameter_point",(0,O.ObjectNode)({temperature:d,humidity:d,continentalness:d,erosion:d,weirdness:d,depth:d,offset:(0,O.NumberNode)({min:0,max:1})})),r.register("generator_biome",(0,O.Mod)((0,O.ObjectNode)({biome:o({validator:"resource",params:{pool:"$worldgen/biome"}}),parameters:t("parameter_point")},{context:"generator_biome"}),{default:()=>({biome:"minecraft:plains",parameters:{temperature:0,humidity:0,continentalness:0,erosion:0,weirdness:0,depth:0,offset:0}})}))}be.initDimensionSchemas=mt;var Ne={};Object.defineProperty(Ne,"__esModule",{value:!0});Ne.initDimensionTypeSchemas=void 0;const $=k,_t=T;function ut(r,e){const t=$.StringNode.bind(void 0,e);r.register("dimension_type",(0,$.Mod)((0,$.ObjectNode)({ultrawarm:(0,$.BooleanNode)(),natural:(0,$.BooleanNode)(),piglin_safe:(0,$.BooleanNode)(),respawn_anchor_works:(0,$.BooleanNode)(),bed_works:(0,$.BooleanNode)(),has_raids:(0,$.BooleanNode)(),has_skylight:(0,$.BooleanNode)(),has_ceiling:(0,$.BooleanNode)(),coordinate_scale:(0,$.NumberNode)({min:1e-5,max:3e7}),ambient_light:(0,$.NumberNode)(),fixed_time:(0,$.Opt)((0,$.NumberNode)({integer:!0})),logical_height:(0,$.NumberNode)({integer:!0,min:0,max:4064}),effects:(0,$.Opt)(t({enum:["minecraft:overworld","minecraft:the_nether","minecraft:the_end"]})),infiniburn:t({validator:"resource",params:{pool:"block",requireTag:!0}}),min_y:(0,$.NumberNode)({integer:!0,min:-2032,max:2031}),height:(0,$.NumberNode)({integer:!0,min:16,max:4064})},{context:"dimension_type"}),o=>({default:()=>_t.DefaultDimensionType,validate:(d,n,c,l)=>(n=o.validate(d,n,c,l),(n==null?void 0:n.min_y)+(n==null?void 0:n.height)>2032&&c.add(d.push("height"),"error.min_y_plus_height",2032),(n==null?void 0:n.logical_height)>(n==null?void 0:n.height)&&c.add(d.push("logical_height"),"error.logical_height"),(n==null?void 0:n.height)%16!==0&&c.add(d.push("height"),"error.height_multiple",16),(n==null?void 0:n.min_y)%16!==0&&c.add(d.push("min_y"),"error.min_y_multiple",16),n)})))}Ne.initDimensionTypeSchemas=ut;var he={};Object.defineProperty(he,"__esModule",{value:!0});he.initItemModifierSchemas=void 0;const G=k,pt=T;function ft(r,e){const t=G.Reference.bind(void 0,r),o=G.StringNode.bind(void 0,e);r.register("item_modifier",(0,G.ObjectOrList)(t("function"),{choiceContext:"function"}));const d={conditions:(0,G.Opt)((0,G.ListNode)(t("condition")))};r.register("function",(0,G.Mod)((0,G.ObjectNode)({function:o({validator:"resource",params:{pool:"loot_function_type"}}),[G.Switch]:[{push:"function"}],[G.Case]:(0,pt.FunctionCases)(d)},{category:"function",context:"function"}),{default:()=>[{function:"minecraft:set_count",count:1}]}))}he.initItemModifierSchemas=ft;var ye={},I={};Object.defineProperty(I,"__esModule",{value:!0});I.LootFunctions=I.LootConditions=I.LootCopySources=I.LootEntitySources=I.LootTableTypes=void 0;I.LootTableTypes=new Map([["minecraft:advancement_entity",{requires:[7,8],allows:[]}],["minecraft:advancement_reward",{requires:[7,8],allows:[]}],["minecraft:barter",{requires:[8],allows:[]}],["minecraft:block",{requires:[1,7,9],allows:[0,4,8]}],["minecraft:chest",{requires:[7],allows:[8]}],["minecraft:command",{requires:[7],allows:[8]}],["minecraft:empty",{requires:[],allows:[]}],["minecraft:entity",{requires:[2,7,8],allows:[3,5,6]}],["minecraft:fishing",{requires:[7,9],allows:[8]}],["minecraft:generic",{requires:[2,0,1,3,4,5,6,7,8,9],allows:[]}],["minecraft:gift",{requires:[7,8],allows:[]}],["minecraft:selector",{requires:[7],allows:[8]}]]);I.LootEntitySources=new Map([["direct_killer",[3]],["killer",[5]],["killer_player",[5]],["this",[8]]]);I.LootCopySources=new Map([["block_entity",[0]],["killer",[5]],["killer_player",[5]],["this",[8]]]);I.LootConditions=new Map([["minecraft:alternative",[]],["minecraft:block_state_property",[1]],["minecraft:damage_source_properties",[2]],["minecraft:entity_properties",[7]],["minecraft:entity_scores",[]],["minecraft:inverted",[]],["minecraft:killed_by_player",[6]],["minecraft:location_check",[]],["minecraft:match_tool",[9]],["minecraft:random_chance",[]],["minecraft:random_chance_with_looting",[5]],["minecraft:reference",[]],["minecraft:survives_explosion",[4]],["minecraft:table_bonus",[9]],["minecraft:time_check",[]],["minecraft:weather_check",[]]]);I.LootFunctions=new Map([["minecraft:apply_bonus",[9]],["minecraft:copy_name",[]],["minecraft:copy_nbt",[]],["minecraft:copy_state",[1]],["minecraft:enchant_randomly",[]],["minecraft:enchant_with_levels",[]],["minecraft:exploration_map",[7]],["minecraft:explosion_decay",[]],["minecraft:fill_player_head",[]],["minecraft:furnace_smelt",[]],["minecraft:limit_count",[]],["minecraft:looting_enchant",[5]],["minecraft:set_attributes",[]],["minecraft:set_banner_pattern",[]],["minecraft:set_contents",[]],["minecraft:set_count",[]],["minecraft:set_damage",[]],["minecraft:set_loot_table",[]],["minecraft:set_lore",[]],["minecraft:set_name",[]],["minecraft:set_nbt",[]],["minecraft:set_stew_effect",[]]]);Object.defineProperty(ye,"__esModule",{value:!0});ye.initLootTableSchemas=void 0;const p=k,ne=I,Ae=T;function gt(r,e){const t=p.Reference.bind(void 0,r),o=p.StringNode.bind(void 0,e),d={conditions:(0,p.Opt)((0,p.ListNode)(t("loot_condition")))},n=g({functions:(0,p.Opt)((0,p.ListNode)(t("loot_function")))},d);function c(h,B,D){const U=[],ae=Q=>e.get(B).filter(ee=>{var A;return((A=h.get(ee))!==null&&A!==void 0?A:[]).every(te=>Q.includes(te))});for(const[Q,{allows:ee,requires:A}]of ne.LootTableTypes){const E=[...ee,...A];U.push({match:te=>te.getModel().get(new p.Path(["type"]))===Q,node:D(ae(E))})}return U.push({match:Q=>!0,node:D(B)}),(0,p.SwitchNode)(U)}const l=c(ne.LootConditions,"loot_condition_type",h=>o({validator:"resource",params:{pool:h instanceof Array?h:"loot_condition_type"}})),v=c(ne.LootFunctions,"loot_function_type",h=>o({validator:"resource",params:{pool:h instanceof Array?h:"loot_function_type"}})),_=c(ne.LootEntitySources,"entity_source",h=>o({enum:h})),b=c(ne.LootCopySources,"copy_source",h=>o({enum:h}));r.register("loot_table",(0,p.Mod)((0,p.ObjectNode)({type:(0,p.Opt)(o({validator:"resource",params:{pool:e.get("loot_context_type")}})),pools:(0,p.Opt)((0,p.ListNode)((0,p.Mod)((0,p.ObjectNode)(g({rolls:t("number_provider"),bonus_rolls:(0,p.Opt)(t("number_provider")),entries:(0,p.ListNode)(t("loot_entry"))},n),{category:"pool",context:"loot_pool"}),{default:()=>({rolls:1,entries:[{type:"minecraft:item",name:"minecraft:stone"}]})}))),functions:(0,p.Opt)((0,p.ListNode)(t("loot_function")))},{context:"loot_table"}),{default:()=>({pools:[{rolls:1,entries:[{type:"minecraft:item",name:"minecraft:stone"}]}]})}));const j={enabled:h=>{var B;return((B=h.pop().get())===null||B===void 0?void 0:B.length)>1&&!["minecraft:alternatives","minecraft:group","minecraft:sequence"].includes(h.push("type").get())}};r.register("loot_entry",(0,p.Mod)((0,p.ObjectNode)({type:o({validator:"resource",params:{pool:"loot_pool_entry_type"}}),weight:(0,p.Opt)((0,p.Mod)((0,p.NumberNode)({integer:!0,min:1}),j)),quality:(0,p.Opt)((0,p.Mod)((0,p.NumberNode)({integer:!0}),j)),[p.Switch]:[{push:"type"}],[p.Case]:{"minecraft:alternatives":g({children:(0,p.ListNode)(t("loot_entry"))},n),"minecraft:dynamic":g({name:o()},n),"minecraft:group":g({children:(0,p.ListNode)(t("loot_entry"))},n),"minecraft:item":g({name:o({validator:"resource",params:{pool:"item"}})},n),"minecraft:loot_table":g({name:o({validator:"resource",params:{pool:"$loot_table"}})},n),"minecraft:sequence":g({children:(0,p.ListNode)(t("loot_entry"))},n),"minecraft:tag":g({name:o({validator:"resource",params:{pool:"$tag/item"}}),expand:(0,p.Opt)((0,p.BooleanNode)())},n)}},{context:"loot_entry"}),{default:()=>({type:"minecraft:item",name:"minecraft:stone"})})),r.register("loot_function",(0,p.Mod)((0,p.ObjectNode)({function:v,[p.Switch]:[{push:"function"}],[p.Case]:(0,Ae.FunctionCases)(d,b,_)},{category:"function",context:"function"}),{default:()=>({function:"minecraft:set_count",count:1})})),r.register("loot_condition",(0,p.Mod)((0,p.ObjectNode)({condition:l,[p.Switch]:[{push:"condition"}],[p.Case]:(0,Ae.ConditionCases)(_)},{category:"predicate",context:"condition"}),{default:()=>({condition:"minecraft:random_chance",chance:.5})})),r.register("attribute_modifier",(0,p.Mod)((0,p.ObjectNode)({attribute:o({validator:"resource",params:{pool:"attribute"}}),name:o(),amount:t("number_provider"),operation:o({enum:["addition","multiply_base","multiply_total"]}),slot:(0,p.StringOrList)(o({enum:"slot"}))},{context:"attribute_modifier"}),{default:()=>({attribute:"minecraft:generic.max_health",name:"",amount:1,operation:"addition",slot:"mainhand"})}))}ye.initLootTableSchemas=gt;var ve={};Object.defineProperty(ve,"__esModule",{value:!0});ve.initPackMcmetaSchemas=void 0;const R=k,Y=10;function bt(r,e){const t=R.Reference.bind(void 0,r),o=R.StringNode.bind(void 0,e);r.register("pack_mcmeta",(0,R.Mod)((0,R.ObjectNode)({pack:(0,R.Mod)((0,R.ObjectNode)({pack_format:(0,R.Mod)((0,R.NumberNode)({integer:!0,min:Y,max:Y}),{default:()=>Y,canUpdate:(d,n)=>n!==Y,update:()=>[{name:"pack_format",params:[Y],newValue:Y}]}),description:t("text_component")}),{default:()=>({pack_format:Y,description:""})}),filter:(0,R.Opt)((0,R.ObjectNode)({block:(0,R.ListNode)((0,R.ObjectNode)({namespace:(0,R.Opt)(o({validator:"regex_pattern"})),path:(0,R.Opt)(o({validator:"regex_pattern"}))}))}))}),{default:()=>({pack:{pack_format:Y,description:""}})}))}ve.initPackMcmetaSchemas=bt;var Oe={};Object.defineProperty(Oe,"__esModule",{value:!0});Oe.initPredicatesSchemas=void 0;const a=k;function Nt(r,e){const t=a.Reference.bind(void 0,r),o=a.StringNode.bind(void 0,e),d=(0,a.ChoiceNode)([{type:"string",node:o(),change:n=>typeof n=="boolean"||typeof n=="number"?n.toString():""},{type:"number",node:(0,a.NumberNode)(),change:n=>typeof n=="string"?parseInt(n):0},{type:"object",node:(0,a.ObjectNode)({min:(0,a.Opt)((0,a.NumberNode)({integer:!0})),max:(0,a.Opt)((0,a.NumberNode)({integer:!0}))}),change:n=>typeof n=="number"?{min:n,max:n}:{}},{type:"boolean",node:(0,a.BooleanNode)(),change:n=>n==="true"||n===1}]);r.register("item_predicate",(0,a.ObjectNode)({items:(0,a.Opt)((0,a.ListNode)(o({validator:"resource",params:{pool:"item"}}))),tag:(0,a.Opt)(o({validator:"resource",params:{pool:"$tag/item"}})),count:t("int_bounds"),durability:t("int_bounds"),potion:(0,a.Opt)(o({validator:"resource",params:{pool:"potion"}})),nbt:(0,a.Opt)(o({validator:"nbt",params:{registry:{category:"minecraft:item",id:["pop",{push:"item"}]}}})),enchantments:(0,a.Opt)((0,a.ListNode)(t("enchantment_predicate")))},{context:"item"})),r.register("enchantment_predicate",(0,a.ObjectNode)({enchantment:(0,a.Opt)(o({validator:"resource",params:{pool:"enchantment"}})),levels:t("int_bounds")},{context:"enchantment"})),r.register("block_predicate",(0,a.ObjectNode)({blocks:(0,a.Opt)((0,a.ListNode)(o({validator:"resource",params:{pool:"block"}}))),tag:(0,a.Opt)(o({validator:"resource",params:{pool:"$tag/block"}})),nbt:(0,a.Opt)(o({validator:"nbt",params:{registry:{category:"minecraft:block",id:["pop",{push:"block"}]}}})),state:(0,a.Opt)((0,a.MapNode)(o(),d,{validation:{validator:"block_state_map",params:{id:["pop",{push:"block"}]}}}))},{context:"block"})),r.register("fluid_predicate",(0,a.ObjectNode)({fluid:(0,a.Opt)(o({validator:"resource",params:{pool:"fluid"}})),tag:(0,a.Opt)(o({validator:"resource",params:{pool:"$tag/fluid"}})),state:(0,a.Opt)((0,a.MapNode)(o(),d))},{context:"fluid"})),r.register("location_predicate",(0,a.ObjectNode)({position:(0,a.Opt)((0,a.ObjectNode)({x:t("float_bounds"),y:t("float_bounds"),z:t("float_bounds")})),biome:(0,a.Opt)(o({validator:"resource",params:{pool:"$worldgen/biome"}})),structure:(0,a.Opt)(o({validator:"resource",params:{pool:"$worldgen/structure"}})),dimension:(0,a.Opt)(o({validator:"resource",params:{pool:"$dimension"}})),light:(0,a.Opt)((0,a.ObjectNode)({light:t("int_bounds")})),smokey:(0,a.Opt)((0,a.BooleanNode)()),block:(0,a.Opt)(t("block_predicate")),fluid:(0,a.Opt)(t("fluid_predicate"))},{context:"location"})),r.register("statistic_predicate",(0,a.ObjectNode)({type:o({validator:"resource",params:{pool:"stat_type"}}),stat:o(),value:t("int_bounds"),[a.Switch]:[{push:"type"}],[a.Case]:{"minecraft:mined":{stat:o({validator:"resource",params:{pool:"block"}})},"minecraft:crafted":{stat:o({validator:"resource",params:{pool:"item"}})},"minecraft:used":{stat:o({validator:"resource",params:{pool:"item"}})},"minecraft:broken":{stat:o({validator:"resource",params:{pool:"item"}})},"minecraft:picked_up":{stat:o({validator:"resource",params:{pool:"item"}})},"minecraft:dropped":{stat:o({validator:"resource",params:{pool:"item"}})},"minecraft:killed":{stat:o({validator:"resource",params:{pool:"entity_type"}})},"minecraft:killed_by":{stat:o({validator:"resource",params:{pool:"entity_type"}})},"minecraft:custom":{stat:o({validator:"resource",params:{pool:"custom_stat"}})}}})),r.register("status_effect_predicate",(0,a.ObjectNode)({amplifier:t("int_bounds"),duration:t("int_bounds"),ambient:(0,a.Opt)((0,a.BooleanNode)()),visible:(0,a.Opt)((0,a.BooleanNode)())},{context:"status_effect"})),r.register("distance_predicate",(0,a.ObjectNode)({x:t("float_bounds"),y:t("float_bounds"),z:t("float_bounds"),absolute:t("float_bounds"),horizontal:t("float_bounds")},{context:"distance"})),r.register("entity_predicate",(0,a.ObjectNode)({type:(0,a.Opt)(o({validator:"resource",params:{pool:"entity_type",allowTag:!0}})),type_specific:(0,a.Opt)((0,a.ObjectNode)({type:o({enum:["any","cat","fishing_hook","frog","lightning","player","slime"]}),[a.Switch]:[{push:"type"}],[a.Case]:{cat:{variant:(0,a.Opt)(o({validator:"resource",params:{pool:"cat_variant"}}))},fishing_hook:{in_open_water:(0,a.Opt)((0,a.BooleanNode)())},frog:{variant:(0,a.Opt)(o({validator:"resource",params:{pool:"frog_variant"}}))},lightning:{blocks_set_on_fire:(0,a.Opt)(t("int_bounds")),entity_struck:(0,a.Opt)(t("entity_predicate"))},player:{gamemode:(0,a.Opt)(o({enum:"gamemode"})),level:t("int_bounds"),advancements:(0,a.Opt)((0,a.MapNode)(o({validator:"resource",params:{pool:"$advancement"}}),(0,a.ChoiceNode)([{type:"boolean",node:(0,a.BooleanNode)(),change:()=>!0},{type:"object",node:(0,a.MapNode)(o(),(0,a.BooleanNode)())}]))),recipes:(0,a.Opt)((0,a.MapNode)(o({validator:"resource",params:{pool:"$recipe"}}),(0,a.BooleanNode)())),stats:(0,a.Opt)((0,a.ListNode)(t("statistic_predicate"))),looking_at:(0,a.Opt)(t("entity_predicate"))},slime:{size:t("int_bounds")}}})),nbt:(0,a.Opt)(o({validator:"nbt",params:{registry:{category:"minecraft:entity",id:["pop",{push:"type"}]}}})),team:(0,a.Opt)(o({validator:"team"})),location:(0,a.Opt)(t("location_predicate")),stepping_on:(0,a.Opt)(t("location_predicate")),distance:(0,a.Opt)(t("distance_predicate")),flags:(0,a.Opt)((0,a.ObjectNode)({is_on_fire:(0,a.Opt)((0,a.BooleanNode)()),is_sneaking:(0,a.Opt)((0,a.BooleanNode)()),is_sprinting:(0,a.Opt)((0,a.BooleanNode)()),is_swimming:(0,a.Opt)((0,a.BooleanNode)()),is_baby:(0,a.Opt)((0,a.BooleanNode)())})),equipment:(0,a.Opt)((0,a.MapNode)(o({enum:"slot"}),t("item_predicate"))),vehicle:(0,a.Opt)(t("entity_predicate")),passenger:(0,a.Opt)(t("entity_predicate")),targeted_entity:(0,a.Opt)(t("entity_predicate")),effects:(0,a.Opt)((0,a.MapNode)(o({validator:"resource",params:{pool:"mob_effect"}}),t("status_effect_predicate")))},{context:"entity"})),r.register("damage_source_predicate",(0,a.ObjectNode)({is_explosion:(0,a.Opt)((0,a.BooleanNode)()),is_fire:(0,a.Opt)((0,a.BooleanNode)()),is_magic:(0,a.Opt)((0,a.BooleanNode)()),is_projectile:(0,a.Opt)((0,a.BooleanNode)()),is_lightning:(0,a.Opt)((0,a.BooleanNode)()),bypasses_armor:(0,a.Opt)((0,a.BooleanNode)()),bypasses_invulnerability:(0,a.Opt)((0,a.BooleanNode)()),bypasses_magic:(0,a.Opt)((0,a.BooleanNode)()),source_entity:(0,a.Opt)(t("entity_predicate")),direct_entity:(0,a.Opt)(t("entity_predicate"))},{context:"damage_source"})),r.register("damage_predicate",(0,a.ObjectNode)({dealt:t("float_bounds"),taken:t("float_bounds"),blocked:(0,a.Opt)((0,a.BooleanNode)()),source_entity:(0,a.Opt)(t("entity_predicate")),type:(0,a.Opt)(t("damage_source_predicate"))},{context:"damage"}))}Oe.initPredicatesSchemas=Nt;var ke={};Object.defineProperty(ke,"__esModule",{value:!0});ke.initRecipeSchemas=void 0;const u=k;function ht(r,e){const t=u.Reference.bind(void 0,r),o=u.StringNode.bind(void 0,e);r.register("recipe",(0,u.Mod)((0,u.ObjectNode)({type:o({validator:"resource",params:{pool:"recipe_serializer"}}),[u.Switch]:[{push:"type"}],[u.Case]:{"minecraft:crafting_shaped":{group:(0,u.Opt)(o({enum:"recipe_group",additional:!0})),pattern:(0,u.ListNode)(o()),key:(0,u.MapNode)(o(),t("recipe_ingredient")),result:t("recipe_result")},"minecraft:crafting_shapeless":{group:(0,u.Opt)(o()),ingredients:(0,u.ListNode)(t("recipe_ingredient")),result:t("recipe_result")},"minecraft:smelting":{group:(0,u.Opt)(o()),ingredient:t("recipe_ingredient"),result:o({validator:"resource",params:{pool:"item"}}),experience:(0,u.Opt)((0,u.NumberNode)()),cookingtime:(0,u.Opt)((0,u.Mod)((0,u.NumberNode)({integer:!0}),{default:()=>200}))},"minecraft:blasting":{group:(0,u.Opt)(o()),ingredient:t("recipe_ingredient"),result:o({validator:"resource",params:{pool:"item"}}),experience:(0,u.Opt)((0,u.NumberNode)()),cookingtime:(0,u.Opt)((0,u.Mod)((0,u.NumberNode)({integer:!0}),{default:()=>100}))},"minecraft:smoking":{group:(0,u.Opt)(o()),ingredient:t("recipe_ingredient"),result:o({validator:"resource",params:{pool:"item"}}),experience:(0,u.Opt)((0,u.NumberNode)()),cookingtime:(0,u.Opt)((0,u.Mod)((0,u.NumberNode)({integer:!0}),{default:()=>100}))},"minecraft:campfire_cooking":{group:(0,u.Opt)(o()),ingredient:t("recipe_ingredient"),result:o({validator:"resource",params:{pool:"item"}}),experience:(0,u.Opt)((0,u.NumberNode)()),cookingtime:(0,u.Opt)((0,u.Mod)((0,u.NumberNode)({integer:!0}),{default:()=>100}))},"minecraft:stonecutting":{group:(0,u.Opt)(o()),ingredient:t("recipe_ingredient"),result:o({validator:"resource",params:{pool:"item"}}),count:(0,u.NumberNode)({integer:!0})},"minecraft:smithing":{group:(0,u.Opt)(o()),base:t("recipe_ingredient_object"),addition:t("recipe_ingredient_object"),result:t("recipe_result")}}},{context:"recipe",disableSwitchContext:!0}),{default:()=>({type:"minecraft:crafting_shaped"})})),r.register("recipe_ingredient",(0,u.Mod)((0,u.ChoiceNode)([{type:"object",node:t("recipe_ingredient_object"),change:d=>d[0]},{type:"list",node:(0,u.ListNode)(t("recipe_ingredient_object")),change:d=>[d]}]),{default:()=>({item:"minecraft:stone"})})),r.register("recipe_ingredient_object",(0,u.Mod)((0,u.ObjectNode)({item:(0,u.Opt)(o({validator:"resource",params:{pool:"item"}})),tag:(0,u.Opt)(o({validator:"resource",params:{pool:"$tag/item"}}))}),{default:()=>({item:"minecraft:stone"})})),r.register("recipe_result",(0,u.Mod)((0,u.ObjectNode)({item:o({validator:"resource",params:{pool:"item"}}),count:(0,u.Opt)((0,u.Mod)((0,u.NumberNode)({integer:!0}),{default:()=>1}))}),{default:()=>({item:"minecraft:stone"})}))}ke.initRecipeSchemas=ht;var we={};Object.defineProperty(we,"__esModule",{value:!0});we.initTagsSchemas=void 0;const H=k;function yt(r,e){const t=H.StringNode.bind(void 0,e),o=d=>(0,H.Mod)((0,H.ObjectNode)({replace:(0,H.Opt)((0,H.BooleanNode)()),values:(0,H.ListNode)((0,H.ChoiceNode)([{type:"string",node:t({validator:"resource",params:{pool:d,allowTag:!0}}),change:n=>n.id},{type:"object",node:(0,H.ObjectNode)({id:t({validator:"resource",params:{pool:d,allowTag:!0,allowUnknown:!0}}),required:(0,H.BooleanNode)()}),change:n=>({id:n})}]))},{context:"tag"}),{default:()=>({values:[]})});r.register("block_tag",o("block")),r.register("entity_type_tag",o("entity_type")),r.register("fluid_tag",o("fluid")),r.register("function_tag",o("$function")),r.register("game_event_tag",o("game_event")),r.register("item_tag",o("item")),r.register("advancement_tag",o("$advancement")),r.register("dimension_tag",o("$dimension")),r.register("dimension_type_tag",o("$dimension_type")),r.register("function_tag",o("$function")),r.register("item_modifier_tag",o("$item_modifier")),r.register("loot_table_tag",o("$loot_table")),r.register("predicate_tag",o("$predicate")),r.register("recipe_tag",o("$recipe")),r.register("structure_tag",o("$structure")),r.register("biome_tag",o("$worldgen/biome")),r.register("configured_carver_tag",o("$worldgen/configured_carver")),r.register("configured_feature_tag",o("$worldgen/configured_feature")),r.register("structure_tag",o("$worldgen/structure")),r.register("configured_surface_builder_tag",o("$worldgen/configured_surface_builder")),r.register("density_function_tag",o("$worldgen/density_function")),r.register("flat_level_generator_preset_tag",o("$worldgen/flat_level_generator_preset")),r.register("noise_tag",o("$worldgen/noise")),r.register("noise_settings_tag",o("$worldgen/noise_settings")),r.register("placed_feature_tag",o("$worldgen/placed_feature")),r.register("processor_list_tag",o("$worldgen/processor_list")),r.register("structure_set_tag",o("$worldgen/structure_set")),r.register("template_pool_tag",o("$worldgen/template_pool")),r.register("world_preset_tag",o("$worldgen/world_preset"))}we.initTagsSchemas=yt;var xe={};Object.defineProperty(xe,"__esModule",{value:!0});xe.initTextComponentSchemas=void 0;const m=k;function vt(r,e){const t=m.Reference.bind(void 0,r),o=m.StringNode.bind(void 0,e),d=l=>{var v;return l instanceof Array?d(l[0]):(v=l==null?void 0:l.text)!==null&&v!==void 0?v:typeof l=="object"?"":l==null?void 0:l.toString()};r.register("text_component",(0,m.Mod)((0,m.ChoiceNode)([{type:"object",node:t("text_component_object"),change:l=>l instanceof Array?typeof l[0]=="object"?l[0]:{text:d(l[0])}:typeof l=="object"?l:{text:d(l)}},{type:"list",node:t("text_component_list"),change:l=>[l]},{type:"string",priority:1,node:o(),change:d},{type:"number",node:(0,m.NumberNode)(),change:l=>{const v=parseFloat(d(l));return isFinite(v)?v:l?1:0}},{type:"boolean",node:(0,m.BooleanNode)(),change:l=>{const v=d(l);return v==="true"||v==="false"?v==="true":!!v}}],{context:"text_component"}),{default:()=>({text:""})}));const n={color:(0,m.Opt)(o()),font:(0,m.Opt)(o()),bold:(0,m.Opt)((0,m.BooleanNode)()),italic:(0,m.Opt)((0,m.BooleanNode)()),underlined:(0,m.Opt)((0,m.BooleanNode)()),strikethrough:(0,m.Opt)((0,m.BooleanNode)()),obfuscated:(0,m.Opt)((0,m.BooleanNode)()),insertion:(0,m.Opt)(o())};r.register("text_style",(0,m.ObjectNode)(g({},n),{context:"text_component_object"}));const c=W(g({},n),{clickEvent:(0,m.Opt)((0,m.ObjectNode)({action:o({enum:["open_url","open_file","run_command","suggest_command","change_page","copy_to_clipboard"]}),[m.Switch]:[{push:"action"}],[m.Case]:{change_page:{value:o()},copy_to_clipboard:{value:o()},open_file:{value:o()},open_url:{value:o()},run_command:{value:o({validator:"command",params:{leadingSlash:!0,allowPartial:!0}})},suggest_command:{value:o({validator:"command",params:{leadingSlash:!0,allowPartial:!0}})}}})),hoverEvent:(0,m.Opt)((0,m.ObjectNode)({action:o({enum:["show_text","show_item","show_entity"]}),[m.Switch]:[{push:"action"}],[m.Case]:{show_text:{value:(0,m.Opt)(t("text_component")),contents:(0,m.Opt)(t("text_component"))},show_item:{value:(0,m.Opt)(o({validator:"nbt",params:{module:"util::InventoryItem"}})),contents:(0,m.Opt)((0,m.ObjectNode)({id:o({validator:"resource",params:{pool:"item"}}),count:(0,m.Opt)((0,m.NumberNode)({integer:!0})),tag:(0,m.Opt)(o({validator:"nbt",params:{registry:{category:"minecraft:item",id:["pop",{push:"id"}]}}}))}))},show_entity:{value:(0,m.Opt)((0,m.ObjectNode)({name:(0,m.Opt)(o()),type:(0,m.Opt)(o()),id:(0,m.Opt)(o())})),contents:(0,m.Opt)((0,m.Mod)((0,m.ObjectNode)({name:(0,m.Opt)(t("text_component")),type:o({validator:"resource",params:{pool:"entity_type"}}),id:o({validator:"uuid"})}),{default:()=>({type:"minecraft:pig",id:"00000001-0001-0001-0001-000000000001"})}))}}})),extra:(0,m.Opt)(t("text_component_list"))});r.register("text_component_object",(0,m.Mod)((0,m.ChoiceNode)([{type:"text",match:l=>typeof l=="object",change:l=>({text:""}),priority:-1,node:(0,m.ObjectNode)(g({text:o()},c))},{type:"translation",match:l=>(l==null?void 0:l.translate)!==void 0,change:l=>({translate:""}),node:(0,m.ObjectNode)(g({translate:o(),with:(0,m.Opt)(t("text_component_list"))},c))},{type:"score",match:l=>(l==null?void 0:l.score)!==void 0,change:l=>({score:{}}),node:(0,m.ObjectNode)(g({score:(0,m.ObjectNode)({name:o({validator:"entity",params:{amount:"single",type:"entities",isScoreHolder:!0}}),objective:o({validator:"objective"}),value:(0,m.Opt)(o())})},c))},{type:"selector",match:l=>(l==null?void 0:l.selector)!==void 0,change:l=>({selector:""}),node:(0,m.ObjectNode)(g({selector:o({validator:"entity",params:{amount:"multiple",type:"entities"}}),separator:(0,m.Opt)(t("text_component"))},c))},{type:"keybind",match:l=>(l==null?void 0:l.keybind)!==void 0,change:l=>({keybind:""}),node:(0,m.ObjectNode)(g({keybind:o({enum:"keybind",additional:!0})},c))},{type:"nbt",match:l=>(l==null?void 0:l.nbt)!==void 0,change:l=>({nbt:""}),node:(0,m.ObjectNode)(g({nbt:o({validator:"nbt_path"}),block:(0,m.Opt)(o({validator:"vector",params:{dimension:3,isInteger:!0}})),entity:(0,m.Opt)(o({validator:"entity",params:{amount:"multiple",type:"entities"}})),storage:(0,m.Opt)(o({validator:"resource",params:{pool:"$storage"}})),interpret:(0,m.Opt)((0,m.BooleanNode)()),separator:(0,m.Opt)(t("text_component"))},c))}],{context:"text_component_object",choiceContext:"text_component.object"}),{default:()=>({text:""})})),r.register("text_component_list",(0,m.Mod)((0,m.ListNode)(t("text_component")),{default:()=>[{text:""}]}))}xe.initTextComponentSchemas=vt;var Se={},Te={};(function(r){Object.defineProperty(r,"__esModule",{value:!0}),r.initBiomeSchemas=r.MobCategorySpawnSettings=void 0;const e=k,t=T;function o(d,n){const c=e.StringNode.bind(void 0,n);r.MobCategorySpawnSettings=(0,e.Mod)((0,e.ListNode)((0,e.ObjectNode)({type:c({validator:"resource",params:{pool:"entity_type"}}),weight:(0,e.NumberNode)({integer:!0}),minCount:(0,e.NumberNode)({integer:!0}),maxCount:(0,e.NumberNode)({integer:!0})})),{category:()=>"pool",default:()=>[{type:"minecraft:bat",weight:1}]}),d.register("biome",(0,e.Mod)((0,e.ObjectNode)({temperature:(0,e.NumberNode)(),downfall:(0,e.NumberNode)(),precipitation:c({enum:["none","rain","snow"]}),temperature_modifier:(0,e.Opt)(c({enum:["none","frozen"]})),creature_spawn_probability:(0,e.Opt)((0,e.NumberNode)({min:0,max:1})),effects:(0,e.ObjectNode)({sky_color:(0,e.NumberNode)({color:!0}),fog_color:(0,e.NumberNode)({color:!0}),water_color:(0,e.NumberNode)({color:!0}),water_fog_color:(0,e.NumberNode)({color:!0}),grass_color:(0,e.Opt)((0,e.NumberNode)({color:!0})),foliage_color:(0,e.Opt)((0,e.NumberNode)({color:!0})),grass_color_modifier:(0,e.Opt)(c({enum:["none","dark_forest","swamp"]})),ambient_sound:(0,e.Opt)(c()),mood_sound:(0,e.Opt)((0,e.ObjectNode)({sound:c(),tick_delay:(0,e.NumberNode)({integer:!0}),block_search_extent:(0,e.NumberNode)({integer:!0}),offset:(0,e.NumberNode)()})),additions_sound:(0,e.Opt)((0,e.ObjectNode)({sound:c(),tick_chance:(0,e.NumberNode)({min:0,max:1})})),music:(0,e.Opt)((0,e.ObjectNode)({sound:c(),min_delay:(0,e.NumberNode)({integer:!0,min:0}),max_delay:(0,e.NumberNode)({integer:!0,min:0}),replace_current_music:(0,e.BooleanNode)()})),particle:(0,e.Opt)((0,e.ObjectNode)({options:(0,e.ObjectNode)({type:c()}),probability:(0,e.NumberNode)({min:0,max:1})}))}),spawners:(0,e.MapNode)(c({enum:"mob_category"}),r.MobCategorySpawnSettings),spawn_costs:(0,e.MapNode)(c({validator:"resource",params:{pool:"entity_type"}}),(0,e.Mod)((0,e.ObjectNode)({energy_budget:(0,e.NumberNode)(),charge:(0,e.NumberNode)()},{category:"function"}),{default:()=>({energy_budget:.12,charge:1})})),carvers:(0,e.MapNode)(c({enum:["air","liquid"]}),(0,e.Mod)((0,t.Tag)({resource:"$worldgen/configured_carver",inlineSchema:"configured_carver"}),{default:()=>["minecraft:cave"]})),features:(0,e.ListNode)((0,e.Mod)((0,t.Tag)({resource:"$worldgen/placed_feature",inlineSchema:"placed_feature"}),{category:()=>"predicate"}),{maxLength:11})},{context:"biome"}),{default:()=>({temperature:.8,downfall:.4,precipitation:"rain",category:"plains",effects:{sky_color:7907327,fog_color:12638463,water_color:4159204,water_fog_color:329011}})}))}r.initBiomeSchemas=o})(Te);var je={};Object.defineProperty(je,"__esModule",{value:!0});je.initCarverSchemas=void 0;const P=k,K=T;function Ot(r,e){const t=P.Reference.bind(void 0,r),o=P.StringNode.bind(void 0,e),d={vertical_rotation:(0,K.FloatProvider)(),shape:(0,P.ObjectNode)({distance_factor:(0,K.FloatProvider)(),thickness:(0,K.FloatProvider)(),width_smoothness:(0,P.NumberNode)({integer:!0,min:0}),horizontal_radius_factor:(0,K.FloatProvider)(),vertical_radius_default_factor:(0,P.NumberNode)(),vertical_radius_center_factor:(0,P.NumberNode)()})},n={horizontal_radius_multiplier:(0,K.FloatProvider)(),vertical_radius_multiplier:(0,K.FloatProvider)(),floor_level:(0,K.FloatProvider)({min:-1,max:1})};r.register("configured_carver",(0,P.Mod)((0,P.ObjectNode)({type:o({validator:"resource",params:{pool:"worldgen/carver"}}),config:(0,P.ObjectNode)({probability:(0,P.NumberNode)({min:0,max:1}),y:t("height_provider"),yScale:(0,K.FloatProvider)(),lava_level:t("vertical_anchor"),replaceable:(0,K.Tag)({resource:"block"}),debug_settings:(0,P.Opt)((0,P.ObjectNode)({debug_mode:(0,P.Opt)((0,P.BooleanNode)()),air_state:(0,P.Opt)(t("block_state")),water_state:(0,P.Opt)(t("block_state")),lava_state:(0,P.Opt)(t("block_state")),barrier_state:(0,P.Opt)(t("block_state"))})),[P.Switch]:["pop",{push:"type"}],[P.Case]:{"minecraft:canyon":d,"minecraft:cave":n,"minecraft:nether_cave":n}})},{context:"carver"}),{default:()=>({type:"minecraft:cave",config:{probability:.1}})}))}je.initCarverSchemas=Ot;var Ce={};Object.defineProperty(Ce,"__esModule",{value:!0});Ce.initDecoratorSchemas=void 0;const L=k,de=T;function kt(r,e){const t=L.Reference.bind(void 0,r),o=L.StringNode.bind(void 0,e);r.register("decorator",(0,L.ObjectNode)({type:o({validator:"resource",params:{pool:"worldgen/placement_modifier_type"}}),[L.Switch]:[{push:"type"}],[L.Case]:{"minecraft:block_predicate_filter":{predicate:t("block_predicate_worldgen")},"minecraft:carving_mask":{step:o({enum:"generation_step"})},"minecraft:rarity_filter":{chance:(0,L.NumberNode)({integer:!0,min:0})},"minecraft:count":{count:(0,de.IntProvider)({min:0,max:256})},"minecraft:count_on_every_layer":{count:(0,de.IntProvider)({min:0,max:256})},"minecraft:noise_threshold_count":{noise_level:(0,L.NumberNode)(),below_noise:(0,L.NumberNode)({integer:!0}),above_noise:(0,L.NumberNode)({integer:!0})},"minecraft:noise_based_count":{noise_to_count_ratio:(0,L.NumberNode)({integer:!0}),noise_factor:(0,L.NumberNode)(),noise_offset:(0,L.Opt)((0,L.NumberNode)())},"minecraft:environment_scan":{direction_of_search:o({enum:["up","down"]}),max_steps:(0,L.NumberNode)({integer:!0,min:1,max:32}),target_condition:t("block_predicate_worldgen"),allowed_search_condition:(0,L.Opt)(t("block_predicate_worldgen"))},"minecraft:heightmap":{heightmap:o({enum:"heightmap_type"})},"minecraft:height_range":{height:t("height_provider")},"minecraft:random_offset":{xz_spread:(0,de.IntProvider)({min:-16,max:16}),y_spread:(0,de.IntProvider)({min:-16,max:16})},"minecraft:surface_relative_threshold_filter":{heightmap:o({enum:"heightmap_type"}),min_inclusive:(0,L.Opt)((0,L.NumberNode)({integer:!0})),max_inclusive:(0,L.Opt)((0,L.NumberNode)({integer:!0}))},"minecraft:surface_water_depth_filter":{max_water_depth:(0,L.NumberNode)({integer:!0})}}},{context:"decorator",category:"predicate"}))}Ce.initDecoratorSchemas=kt;var Re={};(function(r){Object.defineProperty(r,"__esModule",{value:!0}),r.initDensityFunctionSchemas=r.DensityFunction=void 0;const e=k;function t(o,d){const n=e.StringNode.bind(void 0,d),c=e.Reference.bind(void 0,o);r.DensityFunction=(0,e.Mod)((0,e.ChoiceNode)([{type:"number",node:(0,e.NumberNode)(),change:()=>0},{type:"string",priority:1,node:n({validator:"resource",params:{pool:"$worldgen/density_function"}}),change:()=>{}},{type:"object",node:c("density_function"),change:()=>({})}],{choiceContext:"density_function"}),{default:()=>0});const l=(0,e.ChoiceNode)([{type:"string",node:n({validator:"resource",params:{pool:"$worldgen/noise"}}),change:()=>{}},{type:"object",node:c("noise_parameters")}],{choiceContext:"noise_parameters"}),v=(0,e.NumberNode)({min:-1e6,max:1e6}),_=(0,e.NumberNode)({integer:!0,min:-2032*2,max:2031*2});o.register("density_function",(0,e.Mod)((0,e.ObjectNode)({type:n({validator:"resource",params:{pool:"worldgen/density_function_type"}}),[e.Switch]:[{push:"type"}],[e.Case]:{"minecraft:abs":{argument:r.DensityFunction},"minecraft:add":{argument1:r.DensityFunction,argument2:r.DensityFunction},"minecraft:blend_density":{argument:r.DensityFunction},"minecraft:cache_2d":{argument:r.DensityFunction},"minecraft:cache_all_in_cell":{argument:r.DensityFunction},"minecraft:cache_once":{argument:r.DensityFunction},"minecraft:clamp":{input:r.DensityFunction,min:v,max:v},"minecraft:constant":{argument:(0,e.NumberNode)()},"minecraft:cube":{argument:r.DensityFunction},"minecraft:flat_cache":{argument:r.DensityFunction},"minecraft:half_negative":{argument:r.DensityFunction},"minecraft:interpolated":{argument:r.DensityFunction},"minecraft:max":{argument1:r.DensityFunction,argument2:r.DensityFunction},"minecraft:min":{argument1:r.DensityFunction,argument2:r.DensityFunction},"minecraft:mul":{argument1:r.DensityFunction,argument2:r.DensityFunction},"minecraft:noise":{noise:l,xz_scale:(0,e.NumberNode)(),y_scale:(0,e.NumberNode)()},"minecraft:old_blended_noise":{xz_scale:(0,e.NumberNode)(),y_scale:(0,e.NumberNode)(),xz_factor:(0,e.NumberNode)(),y_factor:(0,e.NumberNode)(),smear_scale_multiplier:(0,e.NumberNode)({min:1,max:8})},"minecraft:quarter_negative":{argument:r.DensityFunction},"minecraft:range_choice":{input:r.DensityFunction,min_inclusive:v,max_exclusive:v,when_in_range:r.DensityFunction,when_out_of_range:r.DensityFunction},"minecraft:shift":{argument:r.DensityFunction},"minecraft:shift_a":{argument:r.DensityFunction},"minecraft:shift_b":{argument:r.DensityFunction},"minecraft:shifted_noise":{noise:l,xz_scale:(0,e.NumberNode)(),y_scale:(0,e.NumberNode)(),shift_x:r.DensityFunction,shift_y:r.DensityFunction,shift_z:r.DensityFunction},"minecraft:slide":{argument:r.DensityFunction},"minecraft:spline":{spline:c("cubic_spline")},"minecraft:square":{argument:r.DensityFunction},"minecraft:squeeze":{argument:r.DensityFunction},"minecraft:weird_scaled_sampler":{rarity_value_mapper:n({enum:["type_1","type_2"]}),noise:l,input:r.DensityFunction},"minecraft:y_clamped_gradient":{from_y:_,to_y:_,from_value:v,to_value:v}}},{context:"density_function",disableSwitchContext:!0}),{default:()=>({type:"minecraft:noise",noise:"minecraft:cave_entrance",xz_scale:.75,y_scale:.5})})),o.register("cubic_spline",(0,e.Mod)((0,e.ChoiceNode)([{type:"number",node:(0,e.NumberNode)()},{type:"object",node:(0,e.ObjectNode)({coordinate:r.DensityFunction,points:(0,e.ListNode)((0,e.ObjectNode)({location:(0,e.NumberNode)(),derivative:(0,e.NumberNode)(),value:c("cubic_spline")}))},{category:"function"})}],{context:"terrain_spline",choiceContext:"terrain_spline"}),{default:()=>0}))}r.initDensityFunctionSchemas=t})(Re);var Me={},J={};Object.defineProperty(J,"__esModule",{value:!0});J.initProcessorListSchemas=J.Processors=void 0;const y=k,wt=T;function xt(r,e){const t=y.Reference.bind(void 0,r),o=y.StringNode.bind(void 0,e);J.Processors=(0,y.ChoiceNode)([{type:"string",node:o({validator:"resource",params:{pool:"$worldgen/processor_list"}}),change:n=>{}},{type:"object",node:t("processor_list"),change:n=>({processors:[{processor_type:"minecraft:nop"}]})}]),r.register("processor_list",(0,y.Mod)((0,y.ObjectNode)({processors:(0,y.ListNode)(t("processor"))},{context:"processor_list"}),{default:()=>({processors:[{processor_type:"minecraft:rule",rules:[{location_predicate:{predicate_type:"minecraft:always_true"},input_predicate:{predicate_type:"minecraft:always_true"}}]}]})})),r.register("processor",(0,y.Mod)((0,y.ObjectNode)({processor_type:o({validator:"resource",params:{pool:"worldgen/structure_processor"}}),[y.Switch]:[{push:"processor_type"}],[y.Case]:{"minecraft:block_age":{mossiness:(0,y.NumberNode)()},"minecraft:block_ignore":{blocks:(0,y.ListNode)(t("block_state"))},"minecraft:block_rot":{integrity:(0,y.NumberNode)({min:0,max:1}),rottable_blocks:(0,y.Opt)((0,wt.Tag)({resource:"block"}))},"minecraft:gravity":{heightmap:o({enum:"heightmap_type"}),offset:(0,y.NumberNode)({integer:!0})},"minecraft:protected_blocks":{value:o({validator:"resource",params:{pool:"block",requireTag:!0}})},"minecraft:rule":{rules:(0,y.ListNode)(t("processor_rule"))}}},{category:"function",context:"processor"}),{default:()=>({processor_type:"minecraft:rule",rules:[{location_predicate:{predicate_type:"minecraft:always_true"},input_predicate:{predicate_type:"minecraft:always_true"}}]})})),r.register("processor_rule",(0,y.Mod)((0,y.ObjectNode)({position_predicate:(0,y.Opt)(t("pos_rule_test")),location_predicate:t("rule_test"),input_predicate:t("rule_test"),output_state:t("block_state"),output_nbt:(0,y.Opt)(o({validator:"nbt",params:{registry:{category:"minecraft:block"}}}))},{category:"predicate",context:"processor_rule"}),{default:()=>({location_predicate:{predicate_type:"minecraft:always_true"},input_predicate:{predicate_type:"minecraft:always_true"}})}));const d={min_dist:(0,y.Opt)((0,y.NumberNode)({min:0,max:255,integer:!0})),max_dist:(0,y.Opt)((0,y.NumberNode)({min:0,max:255,integer:!0})),min_chance:(0,y.Opt)((0,y.NumberNode)({min:0,max:1})),max_chance:(0,y.Opt)((0,y.NumberNode)({min:0,max:1}))};r.register("pos_rule_test",(0,y.ObjectNode)({predicate_type:o({validator:"resource",params:{pool:"pos_rule_test"}}),[y.Switch]:[{push:"predicate_type"}],[y.Case]:{"minecraft:axis_aligned_linear_pos":g({axis:o({enum:["x","y","z"]})},d),"minecraft:linear_pos":d}},{context:"pos_rule_test",disableSwitchContext:!0})),r.register("rule_test",(0,y.ObjectNode)({predicate_type:o({validator:"resource",params:{pool:"rule_test"}}),[y.Switch]:[{push:"predicate_type"}],[y.Case]:{"minecraft:block_match":{block:o({validator:"resource",params:{pool:"block"}})},"minecraft:blockstate_match":{block_state:t("block_state")},"minecraft:random_block_match":{block:o({validator:"resource",params:{pool:"block"}}),probability:(0,y.NumberNode)({min:0,max:1})},"minecraft:random_blockstate_match":{block_state:t("block_state"),probability:(0,y.NumberNode)({min:0,max:1})},"minecraft:tag_match":{tag:o({validator:"resource",params:{pool:"$tag/block"}})}}},{context:"rule_test",disableSwitchContext:!0}))}J.initProcessorListSchemas=xt;Object.defineProperty(Me,"__esModule",{value:!0});Me.initFeatureSchemas=void 0;const i=k,f=T,Ee=J;function St(r,e){const t=i.Reference.bind(void 0,r),o=i.StringNode.bind(void 0,e),d=(0,i.ChoiceNode)([{type:"string",node:o({validator:"resource",params:{pool:"$worldgen/configured_feature"}})},{type:"object",node:t("configured_feature")}],{choiceContext:"feature"}),n=(0,i.ChoiceNode)([{type:"string",node:o({validator:"resource",params:{pool:"$worldgen/placed_feature"}})},{type:"object",node:t("placed_feature")}],{choiceContext:"placed_feature"}),c={tries:(0,i.Opt)((0,i.NumberNode)({integer:!0,min:1})),xz_spread:(0,i.Opt)((0,i.NumberNode)({integer:!0,min:0})),y_spread:(0,i.Opt)((0,i.NumberNode)({integer:!0,min:0})),feature:n},l={cap_provider:t("block_state_provider"),stem_provider:t("block_state_provider"),foliage_radius:(0,i.Opt)((0,i.NumberNode)({integer:!0}))},v=(0,i.ObjectNode)({target:t("rule_test"),state:t("block_state")}),_={size:(0,i.NumberNode)({integer:!0,min:0,max:64}),discard_chance_on_air_exposure:(0,i.NumberNode)({min:0,max:1}),targets:(0,i.ListNode)(v)},b={surface:o({enum:"cave_surface"}),depth:(0,f.IntProvider)({min:1,max:128}),vertical_range:(0,i.NumberNode)({integer:!0,min:1,max:256}),extra_bottom_block_chance:(0,i.NumberNode)({min:0,max:1}),extra_edge_column_chance:(0,i.NumberNode)({min:0,max:1}),vegetation_chance:(0,i.NumberNode)({min:0,max:1}),xz_radius:(0,f.IntProvider)(),replaceable:o({validator:"resource",params:{pool:"block",requireTag:!0}}),ground_state:t("block_state_provider"),vegetation_feature:n};r.register("configured_feature",(0,i.Mod)((0,i.ObjectNode)({type:o({validator:"resource",params:{pool:"worldgen/feature"}}),config:(0,i.ObjectNode)({[i.Switch]:["pop",{push:"type"}],[i.Case]:{"minecraft:bamboo":{probability:(0,i.NumberNode)({min:0,max:1})},"minecraft:basalt_columns":{reach:(0,f.IntProvider)({min:0,max:3}),height:(0,f.IntProvider)({min:1,max:10})},"minecraft:block_column":{direction:o({enum:["up","down","north","east","south","west"]}),allowed_placement:t("block_predicate_worldgen"),prioritize_tip:(0,i.BooleanNode)(),layers:(0,i.ListNode)((0,i.ObjectNode)({height:(0,f.IntProvider)({min:0}),provider:t("block_state_provider")}))},"minecraft:block_pile":{state_provider:t("block_state_provider")},"minecraft:delta_feature":{contents:t("block_state"),rim:t("block_state"),size:(0,f.IntProvider)({min:0,max:16}),rim_size:(0,f.IntProvider)({min:0,max:16})},"minecraft:disk":{state_provider:t("rule_based_block_state_provider"),target:t("block_predicate_worldgen"),radius:(0,f.IntProvider)({min:0,max:8}),half_height:(0,i.NumberNode)({integer:!0,min:0,max:4})},"minecraft:dripstone_cluster":{floor_to_ceiling_search_range:(0,i.NumberNode)({integer:!0,min:1,max:512}),height:(0,f.IntProvider)({min:0,max:128}),radius:(0,f.IntProvider)({min:0,max:128}),max_stalagmite_stalactite_height_diff:(0,i.NumberNode)({integer:!0,min:0,max:64}),height_deviation:(0,i.NumberNode)({integer:!0,min:1,max:64}),dripstone_block_layer_thickness:(0,f.IntProvider)({min:0,max:128}),density:(0,f.FloatProvider)({min:0,max:2}),wetness:(0,f.FloatProvider)({min:0,max:2}),chance_of_dripstone_column_at_max_distance_from_center:(0,i.NumberNode)({min:0,max:1}),max_distance_from_edge_affecting_chance_of_dripstone_column:(0,i.NumberNode)({integer:!0,min:1,max:64}),max_distance_from_center_affecting_height_bias:(0,i.NumberNode)({integer:!0,min:1,max:64})},"minecraft:end_gateway":{exact:(0,i.BooleanNode)(),exit:(0,i.Opt)(t("block_pos"))},"minecraft:end_spike":{crystal_invulnerable:(0,i.Opt)((0,i.BooleanNode)()),crystal_beam_target:(0,i.Opt)(t("block_pos")),spikes:(0,i.ListNode)((0,i.ObjectNode)({centerX:(0,i.Opt)((0,i.NumberNode)({integer:!0})),centerZ:(0,i.Opt)((0,i.NumberNode)({integer:!0})),radius:(0,i.Opt)((0,i.NumberNode)({integer:!0})),height:(0,i.Opt)((0,i.NumberNode)({integer:!0})),guarded:(0,i.Opt)((0,i.BooleanNode)())}))},"minecraft:fill_layer":{state:t("block_state"),height:(0,i.NumberNode)({integer:!0,min:0,max:255})},"minecraft:flower":c,"minecraft:forest_rock":{state:t("block_state")},"minecraft:fossil":{max_empty_corners_allowed:(0,i.NumberNode)({integer:!0,min:0,max:7}),fossil_structures:(0,i.ListNode)(o({validator:"resource",params:{pool:"$structure"}})),overlay_structures:(0,i.ListNode)(o({validator:"resource",params:{pool:"$structure"}})),fossil_processors:Ee.Processors,overlay_processors:Ee.Processors},"minecraft:geode":{blocks:(0,i.ObjectNode)({filling_provider:t("block_state_provider"),inner_layer_provider:t("block_state_provider"),alternate_inner_layer_provider:t("block_state_provider"),middle_layer_provider:t("block_state_provider"),outer_layer_provider:t("block_state_provider"),inner_placements:(0,i.ListNode)(t("block_state")),cannot_replace:o({validator:"resource",params:{pool:"block",requireTag:!0}}),invalid_blocks:o({validator:"resource",params:{pool:"block",requireTag:!0}})}),layers:(0,i.ObjectNode)({filling:(0,i.Opt)((0,i.NumberNode)({min:.01,max:50})),inner_layer:(0,i.Opt)((0,i.NumberNode)({min:.01,max:50})),middle_layer:(0,i.Opt)((0,i.NumberNode)({min:.01,max:50})),outer_layer:(0,i.Opt)((0,i.NumberNode)({min:.01,max:50}))}),crack:(0,i.ObjectNode)({generate_crack_chance:(0,i.Opt)((0,i.NumberNode)({min:0,max:1})),base_crack_size:(0,i.Opt)((0,i.NumberNode)({min:0,max:5})),crack_point_offset:(0,i.Opt)((0,i.NumberNode)({min:0,max:10}))}),noise_multiplier:(0,i.Opt)((0,i.NumberNode)({min:0,max:1})),use_potential_placements_chance:(0,i.Opt)((0,i.NumberNode)({min:0,max:1})),use_alternate_layer0_chance:(0,i.Opt)((0,i.NumberNode)({min:0,max:1})),placements_require_layer0_alternate:(0,i.Opt)((0,i.BooleanNode)()),outer_wall_distance:(0,i.Opt)((0,f.IntProvider)({min:1,max:20})),distribution_points:(0,i.Opt)((0,f.IntProvider)({min:1,max:20})),point_offset:(0,i.Opt)((0,f.IntProvider)({min:0,max:10})),min_gen_offset:(0,i.Opt)((0,i.NumberNode)({integer:!0})),max_gen_offset:(0,i.Opt)((0,i.NumberNode)({integer:!0})),invalid_blocks_threshold:(0,i.NumberNode)({integer:!0})},"minecraft:multiface_growth":{search_range:(0,i.Opt)((0,i.NumberNode)({min:1,max:64,integer:!0})),chance_of_spreading:(0,i.Opt)((0,i.NumberNode)({min:0,max:1})),can_place_on_floor:(0,i.Opt)((0,i.BooleanNode)()),can_place_on_ceiling:(0,i.Opt)((0,i.BooleanNode)()),can_place_on_wall:(0,i.Opt)((0,i.BooleanNode)()),can_be_placed_on:(0,f.Tag)({resource:"block"})},"minecraft:huge_brown_mushroom":l,"minecraft:huge_fungus":{hat_state:t("block_state"),decor_state:t("block_state"),stem_state:t("block_state"),valid_base_block:t("block_state"),planted:(0,i.Opt)((0,i.BooleanNode)())},"minecraft:huge_red_mushroom":l,"minecraft:iceberg":{state:t("block_state")},"minecraft:lake":{fluid:t("block_state_provider"),barrier:t("block_state_provider")},"minecraft:large_dripstone":{floor_to_ceiling_search_range:(0,i.Opt)((0,i.NumberNode)({integer:!0,min:1,max:512})),column_radius:(0,f.IntProvider)({min:0,max:60}),height_scale:(0,f.FloatProvider)({min:0,max:20}),max_column_radius_to_cave_height_ratio:(0,i.NumberNode)({min:0,max:1}),stalactite_bluntness:(0,f.FloatProvider)({min:.1,max:10}),stalagmite_bluntness:(0,f.FloatProvider)({min:.1,max:10}),wind_speed:(0,f.FloatProvider)({min:0,max:2}),min_radius_for_wind:(0,i.NumberNode)({integer:!0,min:0,max:100}),min_bluntness_for_wind:(0,i.NumberNode)({min:0,max:5})},"minecraft:nether_forest_vegetation":{state_provider:t("block_state_provider"),spread_width:(0,i.NumberNode)({integer:!0,min:1}),spread_height:(0,i.NumberNode)({integer:!0,min:1})},"minecraft:netherrack_replace_blobs":{state:t("block_state"),target:t("block_state"),radius:(0,f.IntProvider)({min:0,max:12})},"minecraft:no_bonemeal_flower":c,"minecraft:ore":_,"minecraft:pointed_dripstone":{chance_of_taller_dripstone:(0,i.Opt)((0,i.NumberNode)({min:0,max:1})),chance_of_directional_spread:(0,i.Opt)((0,i.NumberNode)({min:0,max:1})),chance_of_spread_radius2:(0,i.Opt)((0,i.NumberNode)({min:0,max:1})),chance_of_spread_radius3:(0,i.Opt)((0,i.NumberNode)({min:0,max:1}))},"minecraft:random_patch":c,"minecraft:random_boolean_selector":{feature_false:n,feature_true:n},"minecraft:random_selector":{features:(0,i.ListNode)((0,i.ObjectNode)({chance:(0,i.NumberNode)({min:0,max:1}),feature:n})),default:n},"minecraft:replace_single_block":{targets:(0,i.ListNode)(v)},"minecraft:root_system":{required_vertical_space_for_tree:(0,i.NumberNode)({integer:!0,min:1,max:64}),root_radius:(0,i.NumberNode)({integer:!0,min:1,max:64}),root_placement_attempts:(0,i.NumberNode)({integer:!0,min:1,max:256}),root_column_max_height:(0,i.NumberNode)({integer:!0,min:1,max:4096}),hanging_root_radius:(0,i.NumberNode)({integer:!0,min:1,max:64}),hanging_roots_vertical_span:(0,i.NumberNode)({integer:!0,min:0,max:16}),hanging_root_placement_attempts:(0,i.NumberNode)({integer:!0,min:0,max:256}),allowed_vertical_water_for_tree:(0,i.NumberNode)({integer:!0,min:1,max:64}),root_replaceable:o({validator:"resource",params:{pool:"block",requireTag:!0}}),root_state_provider:t("block_state_provider"),hanging_root_state_provider:t("block_state_provider"),allowed_tree_position:t("block_predicate_worldgen"),feature:n},"minecraft:scattered_ore":_,"minecraft:sculk_patch":{charge_count:(0,i.NumberNode)({integer:!0,min:1,max:32}),amount_per_charge:(0,i.NumberNode)({integer:!0,min:1,max:500}),spread_attempts:(0,i.NumberNode)({integer:!0,min:1,max:64}),growth_rounds:(0,i.NumberNode)({integer:!0,min:0,max:8}),spread_rounds:(0,i.NumberNode)({integer:!0,min:0,max:8}),extra_rare_growths:(0,f.IntProvider)(),catalyst_chance:(0,i.NumberNode)({min:0,max:1})},"minecraft:sea_pickle":{count:(0,f.IntProvider)({min:0,max:256})},"minecraft:seagrass":{probability:(0,i.NumberNode)({min:0,max:1})},"minecraft:simple_block":{to_place:t("block_state_provider")},"minecraft:simple_random_selector":{features:(0,f.Tag)({resource:"$worldgen/placed_feature",inlineSchema:"placed_feature"})},"minecraft:spring_feature":{state:t("fluid_state"),rock_count:(0,i.NumberNode)({integer:!0}),hole_count:(0,i.NumberNode)({integer:!0}),requires_block_below:(0,i.BooleanNode)(),valid_blocks:(0,f.Tag)({resource:"block"})},"minecraft:tree":{ignore_vines:(0,i.Opt)((0,i.BooleanNode)()),force_dirt:(0,i.Opt)((0,i.BooleanNode)()),minimum_size:t("feature_size"),dirt_provider:t("block_state_provider"),trunk_provider:t("block_state_provider"),foliage_provider:t("block_state_provider"),root_placer:(0,i.Opt)((0,i.ObjectNode)({type:o({validator:"resource",params:{pool:"worldgen/root_placer_type"}}),root_provider:t("block_state_provider"),trunk_offset_y:(0,f.IntProvider)(),above_root_placement:(0,i.Opt)((0,i.ObjectNode)({above_root_provider:t("block_state_provider"),above_root_placement_chance:(0,i.NumberNode)({min:0,max:1})})),[i.Switch]:[{push:"type"}],[i.Case]:{"minecraft:mangrove_root_placer":{mangrove_root_placement:(0,i.ObjectNode)({max_root_width:(0,i.NumberNode)({integer:!0,min:1,max:12}),max_root_length:(0,i.NumberNode)({integer:!0,min:1,max:64}),random_skew_chance:(0,i.NumberNode)({min:0,max:1}),can_grow_through:(0,f.Tag)({resource:"block"}),muddy_roots_in:(0,f.Tag)({resource:"block"}),muddy_roots_provider:t("block_state_provider")})}}},{context:"root_placer"})),trunk_placer:(0,i.ObjectNode)({type:o({validator:"resource",params:{pool:"worldgen/trunk_placer_type"}}),base_height:(0,i.NumberNode)({integer:!0,min:0,max:32}),height_rand_a:(0,i.NumberNode)({integer:!0,min:0,max:24}),height_rand_b:(0,i.NumberNode)({integer:!0,min:0,max:24}),[i.Switch]:[{push:"type"}],[i.Case]:{"minecraft:bending_trunk_placer":{bend_length:(0,f.IntProvider)({min:1,max:64}),min_height_for_leaves:(0,i.Opt)((0,i.NumberNode)({integer:!0,min:1}))},"minecraft:upwards_branching_trunk_placer":{extra_branch_steps:(0,f.IntProvider)({min:1}),extra_branch_length:(0,f.IntProvider)({min:0}),place_branch_per_log_probability:(0,i.NumberNode)({min:0,max:1}),can_grow_through:(0,f.Tag)({resource:"block"})}}},{context:"trunk_placer"}),foliage_placer:(0,i.ObjectNode)({type:o({validator:"resource",params:{pool:"worldgen/foliage_placer_type"}}),radius:(0,f.IntProvider)({min:0,max:16}),offset:(0,f.IntProvider)({min:0,max:16}),[i.Switch]:[{push:"type"}],[i.Case]:{"minecraft:blob_foliage_placer":{height:(0,i.NumberNode)({integer:!0,min:0,max:16})},"minecraft:bush_foliage_placer":{height:(0,i.NumberNode)({integer:!0,min:0,max:16})},"minecraft:fancy_foliage_placer":{height:(0,i.NumberNode)({integer:!0,min:0,max:16})},"minecraft:jungle_foliage_placer":{height:(0,i.NumberNode)({integer:!0,min:0,max:16})},"minecraft:mega_pine_foliage_placer":{crown_height:(0,f.IntProvider)({min:0,max:24})},"minecraft:pine_foliage_placer":{height:(0,f.IntProvider)({min:0,max:24})},"minecraft:random_spread_foliage_placer":{foliage_height:(0,f.IntProvider)({min:1,max:512}),leaf_placement_attempts:(0,i.NumberNode)({integer:!0,min:0,max:256})},"minecraft:spruce_foliage_placer":{trunk_height:(0,f.IntProvider)({min:0,max:24})}}},{context:"foliage_placer",disableSwitchContext:!0}),decorators:(0,i.ListNode)((0,i.ObjectNode)({type:o({validator:"resource",params:{pool:"worldgen/tree_decorator_type"}}),[i.Switch]:[{push:"type"}],[i.Case]:{"minecraft:alter_ground":{provider:t("block_state_provider")},"minecraft:attached_to_leaves":{probability:(0,i.NumberNode)({min:0,max:1}),exclusion_radius_xz:(0,i.NumberNode)({integer:!0,min:0,max:16}),exclusion_radius_y:(0,i.NumberNode)({integer:!0,min:0,max:16}),required_empty_blocks:(0,i.NumberNode)({integer:!0,min:1,max:16}),block_provider:t("block_state_provider"),directions:(0,i.ListNode)(o({enum:"direction"}))},"minecraft:beehive":{probability:(0,i.NumberNode)({min:0,max:1})},"minecraft:cocoa":{probability:(0,i.NumberNode)({min:0,max:1})},"minecraft:leave_vine":{probability:(0,i.NumberNode)({min:0,max:1})}}},{context:"tree_decorator"}))},"minecraft:twisting_vines":{spread_width:(0,i.NumberNode)({integer:!0,min:1}),spread_height:(0,i.NumberNode)({integer:!0,min:1}),max_height:(0,i.NumberNode)({integer:!0,min:1})},"minecraft:underwater_magma":{floor_search_range:(0,i.NumberNode)({integer:!0,min:0,max:512}),placement_radius_around_floor:(0,i.NumberNode)({integer:!0,min:0,max:64}),placement_probability_per_valid_position:(0,i.NumberNode)({min:0,max:1})},"minecraft:vegetation_patch":b,"minecraft:waterlogged_vegetation_patch":b}},{context:"feature"})},{context:"feature"}),{default:()=>({type:"minecraft:tree",config:{minimum_size:{type:"minecraft:two_layers_feature_size"},trunk_placer:{type:"minecraft:straight_trunk_placer",base_height:5,height_rand_a:2,height_rand_b:0},foliage_placer:{type:"minecraft:blob_foliage_placer",radius:2,offset:0,height:3}}})})),r.register("placed_feature",(0,i.Mod)((0,i.ObjectNode)({feature:d,placement:(0,i.ListNode)(t("decorator"))},{context:"placed_feature"}),{default:()=>({feature:"minecraft:oak",placement:[{type:"minecraft:count",count:4},{type:"minecraft:in_square"},{type:"minecraft:heightmap",heightmap:"OCEAN_FLOOR"}]})})),r.register("feature_size",(0,i.Mod)((0,i.ObjectNode)({type:o({validator:"resource",params:{pool:"worldgen/feature_size_type"}}),min_clipped_height:(0,i.Opt)((0,i.NumberNode)({min:0,max:80})),[i.Switch]:[{push:"type"}],[i.Case]:{"minecraft:two_layers_feature_size":{limit:(0,i.Opt)((0,i.NumberNode)({integer:!0,min:0,max:81})),lower_size:(0,i.Opt)((0,i.NumberNode)({integer:!0,min:0,max:16})),upper_size:(0,i.Opt)((0,i.NumberNode)({integer:!0,min:0,max:16}))},"minecraft:three_layers_feature_size":{limit:(0,i.Opt)((0,i.NumberNode)({integer:!0,min:0,max:80})),upper_limit:(0,i.Opt)((0,i.NumberNode)({integer:!0,min:0,max:80})),lower_size:(0,i.Opt)((0,i.NumberNode)({integer:!0,min:0,max:16})),middle_size:(0,i.Opt)((0,i.NumberNode)({integer:!0,min:0,max:16})),upper_size:(0,i.Opt)((0,i.NumberNode)({integer:!0,min:0,max:16}))}}},{disableSwitchContext:!0}),{default:()=>({type:"minecraft:two_layers_feature_size"})}));const j={seed:(0,i.NumberNode)({integer:!0}),noise:t("noise_parameters"),scale:(0,i.Mod)((0,i.NumberNode)({min:Number.MIN_VALUE}),{default:()=>1})};r.register("block_state_provider",(0,i.Mod)((0,i.ObjectNode)({type:o({validator:"resource",params:{pool:"worldgen/block_state_provider_type"}}),[i.Switch]:[{push:"type"}],[i.Case]:{"minecraft:dual_noise_provider":W(g({},j),{variety:(0,f.InclusiveRange)({integer:!0,min:1,max:64}),slow_noise:t("noise_parameters"),slow_scale:(0,i.Mod)((0,i.NumberNode)({min:Number.MIN_VALUE}),{default:()=>1}),states:(0,i.ListNode)(t("block_state"))}),"minecraft:noise_threshold_provider":W(g({},j),{threshold:(0,i.NumberNode)({min:-1,max:1}),high_chance:(0,i.NumberNode)({min:0,max:1}),default_state:t("block_state"),low_states:(0,i.ListNode)(t("block_state")),high_states:(0,i.ListNode)(t("block_state"))}),"minecraft:noise_provider":W(g({},j),{states:(0,i.ListNode)(t("block_state"))}),"minecraft:randomized_int_state_provider":{property:o(),values:(0,f.IntProvider)(),source:t("block_state_provider")},"minecraft:rotated_block_provider":{state:t("block_state")},"minecraft:simple_state_provider":{state:t("block_state")},"minecraft:weighted_state_provider":{entries:(0,i.ListNode)((0,i.Mod)((0,i.ObjectNode)({weight:(0,i.NumberNode)({integer:!0,min:1}),data:t("block_state")}),{default:()=>({data:{}})}))}}},{context:"block_state_provider"}),{default:()=>({type:"minecraft:simple_state_provider"})})),r.register("rule_based_block_state_provider",(0,i.Mod)((0,i.ObjectNode)({fallback:t("block_state_provider"),rules:(0,i.ListNode)((0,i.ObjectNode)({if_true:t("block_predicate_worldgen"),then:t("block_state_provider")}))},{context:"block_state_provider"}),{default:()=>({fallback:{type:"minecraft:simple_state_provider"}})}));const h={offset:(0,i.Opt)((0,i.ListNode)((0,i.NumberNode)({integer:!0,min:-16,max:16}),{minLength:3,maxLength:3}))};r.register("block_predicate_worldgen",(0,i.Mod)((0,i.ObjectNode)({type:o({validator:"resource",params:{pool:"block_predicate_type"}}),[i.Switch]:[{push:"type"}],[i.Case]:{"minecraft:all_of":{predicates:(0,i.ListNode)(t("block_predicate_worldgen"))},"minecraft:any_of":{predicates:(0,i.ListNode)(t("block_predicate_worldgen"))},"minecraft:has_sturdy_face":W(g({},h),{direction:o({enum:"direction"})}),"minecraft:inside_world_bounds":g({},h),"minecraft:matching_block_tag":W(g({},h),{tag:o({validator:"resource",params:{pool:"$tag/block"}})}),"minecraft:matching_blocks":W(g({},h),{blocks:(0,f.Tag)({resource:"block"})}),"minecraft:matching_fluids":W(g({},h),{fluids:(0,f.Tag)({resource:"fluid"})}),"minecraft:not":{predicate:t("block_predicate_worldgen")},"minecraft:would_survive":W(g({},h),{state:t("block_state")})}},{context:"block_predicate"}),{default:()=>({type:"minecraft:true"})}))}Me.initFeatureSchemas=St;var Pe={};Object.defineProperty(Pe,"__esModule",{value:!0});Pe.initNoiseSettingsSchemas=void 0;const C=k,jt=T,z=Re;function Ct(r,e){const t=C.Reference.bind(void 0,r),o=C.StringNode.bind(void 0,e);r.register("noise_settings",(0,C.Mod)((0,C.ObjectNode)({sea_level:(0,C.NumberNode)({integer:!0}),disable_mob_generation:(0,C.BooleanNode)(),aquifers_enabled:(0,C.BooleanNode)(),ore_veins_enabled:(0,C.BooleanNode)(),legacy_random_source:(0,C.BooleanNode)(),default_block:t("block_state"),default_fluid:t("block_state"),noise:(0,C.ObjectNode)({min_y:(0,C.NumberNode)({integer:!0,min:-2048,max:2047}),height:(0,C.NumberNode)({integer:!0,min:0,max:4096}),size_horizontal:(0,C.NumberNode)({integer:!0}),size_vertical:(0,C.NumberNode)({integer:!0})}),noise_router:(0,C.ObjectNode)({barrier:z.DensityFunction,fluid_level_floodedness:z.DensityFunction,fluid_level_spread:z.DensityFunction,lava:z.DensityFunction,temperature:z.DensityFunction,vegetation:z.DensityFunction,continents:z.DensityFunction,erosion:z.DensityFunction,depth:z.DensityFunction,ridges:z.DensityFunction,initial_density_without_jaggedness:z.DensityFunction,final_density:z.DensityFunction,vein_toggle:z.DensityFunction,vein_ridged:z.DensityFunction,vein_gap:z.DensityFunction}),spawn_target:(0,C.ListNode)(t("parameter_point")),surface_rule:t("material_rule")},{context:"noise_settings"}),d=>({default:()=>jt.DefaultNoiseSettings,validate:(n,c,l,v)=>{var _,b,j,h;return c=d.validate(n,c,l,v),((_=c==null?void 0:c.noise)===null||_===void 0?void 0:_.min_y)+((b=c==null?void 0:c.noise)===null||b===void 0?void 0:b.height)>2047&&l.add(n.push("noise").push("height"),"error.min_y_plus_height",2047),((j=c==null?void 0:c.noise)===null||j===void 0?void 0:j.height)%16!==0&&l.add(n.push("noise").push("height"),"error.height_multiple",16),((h=c==null?void 0:c.noise)===null||h===void 0?void 0:h.min_y)%16!==0&&l.add(n.push("noise").push("min_y"),"error.min_y_multiple",16),c}}))),r.register("noise_slider",(0,C.ObjectNode)({target:(0,C.NumberNode)(),size:(0,C.NumberNode)({integer:!0,min:0}),offset:(0,C.NumberNode)({integer:!0})})),r.register("generator_layer",(0,C.Mod)((0,C.ObjectNode)({block:o({validator:"resource",params:{pool:"block"}}),height:(0,C.NumberNode)({integer:!0,min:1})}),{default:()=>({block:"minecraft:stone",height:1})}))}Pe.initNoiseSettingsSchemas=Ct;var Le={};Object.defineProperty(Le,"__esModule",{value:!0});Le.initStructureSchemas=void 0;const x=k,Mt=T,Pt=Te;function Lt(r,e){const t=x.StringNode.bind(void 0,e),o=x.Reference.bind(void 0,r);r.register("structure",(0,x.Mod)((0,x.ObjectNode)({type:t({validator:"resource",params:{pool:"worldgen/structure_type"}}),biomes:(0,Mt.Tag)({resource:"$worldgen/biome"}),step:t({enum:"decoration_step"}),spawn_overrides:(0,x.MapNode)(t({enum:"mob_category"}),(0,x.ObjectNode)({bounding_box:t({enum:["piece","full"]}),spawns:Pt.MobCategorySpawnSettings})),terrain_adaptation:(0,x.Opt)(t({enum:["none","beard_thin","beard_box","bury"]})),[x.Switch]:[{push:"type"}],[x.Case]:{"minecraft:jigsaw":{start_pool:t({validator:"resource",params:{pool:"$worldgen/template_pool"}}),size:(0,x.NumberNode)({integer:!0}),start_height:o("height_provider"),start_jigsaw_name:(0,x.Opt)(t()),project_start_to_heightmap:(0,x.Opt)(t({enum:"heightmap_type"})),max_distance_from_center:(0,x.NumberNode)({integer:!0,min:1,max:128}),use_expansion_hack:(0,x.BooleanNode)()},"minecraft:mineshaft":{mineshaft_type:t({enum:["normal","mesa"]})},"minecraft:nether_fossil":{height:o("height_provider")},"minecraft:ocean_ruin":{biome_temp:t({enum:["cold","warm"]}),large_probability:(0,x.NumberNode)({min:0,max:1}),cluster_probability:(0,x.NumberNode)({min:0,max:1})},"minecraft:ruined_portal":{setups:(0,x.ListNode)((0,x.ObjectNode)({placement:t({enum:["on_land_surface","partly_buried","on_ocean_floor","in_mountain","underground","in_nether"]}),air_pocket_probability:(0,x.NumberNode)({min:0,max:1}),mossiness:(0,x.NumberNode)({min:0,max:1}),overgrown:(0,x.BooleanNode)(),vines:(0,x.BooleanNode)(),can_be_cold:(0,x.BooleanNode)(),replace_with_blackstone:(0,x.BooleanNode)(),weight:(0,x.NumberNode)({min:0})}))},"minecraft:shipwreck":{is_beached:(0,x.Opt)((0,x.BooleanNode)())}}},{context:"structure_feature"}),{default:()=>({type:"minecraft:jigsaw",step:"surface_structures",size:6})}))}Le.initStructureSchemas=Lt;var $e={};Object.defineProperty($e,"__esModule",{value:!0});$e.initStructureSetSchemas=void 0;const w=k,We=T;function $t(r,e){const t=w.StringNode.bind(void 0,e),o=w.Reference.bind(void 0,r),d=(0,w.ChoiceNode)([{type:"string",node:t({validator:"resource",params:{pool:"$worldgen/structure_set"}})},{type:"object",node:o("structure_set")}],{choiceContext:"structure_set"});r.register("structure_set",(0,w.ObjectNode)({structures:(0,w.ListNode)((0,w.ObjectNode)({structure:(0,We.Tag)({resource:"$worldgen/structure"}),weight:(0,w.NumberNode)({integer:!0,min:1})})),placement:o("structure_placement")},{context:"structure_set"})),r.register("structure_placement",(0,w.Mod)((0,w.ObjectNode)({type:t({validator:"resource",params:{pool:"worldgen/structure_placement"}}),salt:(0,w.NumberNode)({integer:!0,min:0}),frequency_reduction_method:(0,w.Opt)(t({enum:["default","legacy_type_1","legacy_type_2","legacy_type_3"]})),frequency:(0,w.Opt)((0,w.NumberNode)({min:0,max:1})),exclusion_zone:(0,w.Opt)((0,w.ObjectNode)({other_set:d,chunk_count:(0,w.NumberNode)({integer:!0,min:1,max:16})})),locate_offset:(0,w.Opt)((0,w.ListNode)((0,w.NumberNode)({integer:!0,min:-16,max:16}),{minLength:3,maxLength:3})),[w.Switch]:[{push:"type"}],[w.Case]:{"minecraft:concentric_rings":{distance:(0,w.NumberNode)({integer:!0,min:0,max:1023}),spread:(0,w.NumberNode)({integer:!0,min:0,max:1023}),count:(0,w.NumberNode)({integer:!0,min:1,max:4095}),preferred_biomes:(0,We.Tag)({resource:"$worldgen/biome"})},"minecraft:random_spread":{spread_type:(0,w.Opt)(t({enum:["linear","triangular"]})),spacing:(0,w.NumberNode)({integer:!0,min:0,max:4096}),separation:(0,w.Mod)((0,w.NumberNode)({integer:!0,min:0,max:4096}),n=>({validate:(c,l,v,_)=>(c.pop().push("spacing").get()<=l&&v.add(c,"error.separation_smaller_spacing"),n.validate(c,l,v,_))}))}}},{context:"structure_placement"}),{default:()=>({type:"minecraft:random_spread",spacing:10,separation:5,salt:Math.floor(Math.random()*2147483647)})}))}$e.initStructureSetSchemas=$t;var Be={};Object.defineProperty(Be,"__esModule",{value:!0});Be.initSurfaceRuleSchemas=void 0;const M=k;function Bt(r,e){const t=M.StringNode.bind(void 0,e),o=M.Reference.bind(void 0,r);r.register("material_rule",(0,M.Mod)((0,M.ObjectNode)({type:t({validator:"resource",params:{pool:"worldgen/material_rule"}}),[M.Switch]:[{push:"type"}],[M.Case]:{"minecraft:block":{result_state:o("block_state")},"minecraft:condition":{if_true:o("material_condition"),then_run:o("material_rule")},"minecraft:sequence":{sequence:(0,M.ListNode)(o("material_rule"))}}},{context:"material_rule",category:"pool"}),{default:()=>({type:"minecraft:block",result_state:{Name:"minecraft:stone"}})})),r.register("material_condition",(0,M.Mod)((0,M.ObjectNode)({type:t({validator:"resource",params:{pool:"worldgen/material_condition"}}),[M.Switch]:[{push:"type"}],[M.Case]:{"minecraft:biome":{biome_is:(0,M.ListNode)(t({validator:"resource",params:{pool:"$worldgen/biome"}}))},"minecraft:noise_threshold":{noise:t({validator:"resource",params:{pool:"$worldgen/noise"}}),min_threshold:(0,M.NumberNode)(),max_threshold:(0,M.NumberNode)()},"minecraft:not":{invert:o("material_condition")},"minecraft:stone_depth":{offset:(0,M.NumberNode)({integer:!0}),surface_type:t({enum:"cave_surface"}),add_surface_depth:(0,M.BooleanNode)(),secondary_depth_range:(0,M.NumberNode)({integer:!0})},"minecraft:vertical_gradient":{random_name:t(),true_at_and_below:o("vertical_anchor"),false_at_and_above:o("vertical_anchor")},"minecraft:water":{offset:(0,M.NumberNode)({integer:!0}),surface_depth_multiplier:(0,M.NumberNode)({integer:!0,min:-20,max:20}),add_stone_depth:(0,M.BooleanNode)()},"minecraft:y_above":{anchor:o("vertical_anchor"),surface_depth_multiplier:(0,M.NumberNode)({integer:!0,min:-20,max:20}),add_stone_depth:(0,M.BooleanNode)()}}},{context:"material_condition"}),{default:()=>({type:"minecraft:biome",is_biome:"minecraft:plains"})}))}Be.initSurfaceRuleSchemas=Bt;var De={};Object.defineProperty(De,"__esModule",{value:!0});De.initTemplatePoolSchemas=void 0;const q=k,Ue=J;function Dt(r,e){const t=q.Reference.bind(void 0,r),o=q.StringNode.bind(void 0,e);r.register("template_pool",(0,q.Mod)((0,q.ObjectNode)({name:o(),fallback:o(),elements:(0,q.ListNode)(t("template_weighted_element"))},{context:"template_pool"}),{default:()=>({fallback:"minecraft:empty",elements:[{weight:1,element:{element_type:"minecraft:single_pool_element",projection:"rigid",processors:"minecraft:empty"}}]})})),r.register("template_weighted_element",(0,q.Mod)((0,q.ObjectNode)({weight:(0,q.NumberNode)({integer:!0,min:1}),element:t("template_element")},{category:"pool"}),{default:()=>({weight:1,element:{element_type:"minecraft:single_pool_element",projection:"rigid",processors:"minecraft:empty"}})})),r.register("template_element",(0,q.Mod)((0,q.ObjectNode)({element_type:o({validator:"resource",params:{pool:"worldgen/structure_pool_element"}}),projection:o({enum:["rigid","terrain_matching"]}),[q.Switch]:[{push:"element_type"}],[q.Case]:{"minecraft:feature_pool_element":{feature:o({validator:"resource",params:{pool:"$worldgen/placed_feature"}})},"minecraft:legacy_single_pool_element":{location:o({validator:"resource",params:{pool:"$structure"}}),processors:Ue.Processors},"minecraft:list_pool_element":{elements:(0,q.ListNode)(t("template_element"))},"minecraft:single_pool_element":{location:o({validator:"resource",params:{pool:"$structure"}}),processors:Ue.Processors}}},{context:"template_element",disableSwitchContext:!0}),{default:()=>({element_type:"minecraft:single_pool_element",projection:"rigid",processors:"minecraft:empty"})}))}De.initTemplatePoolSchemas=Dt;var Fe={};Object.defineProperty(Fe,"__esModule",{value:!0});Fe.initWorldPresetSchemas=void 0;const oe=k;function Ft(r,e){const t=oe.StringNode.bind(void 0,e),o=oe.Reference.bind(void 0,r);r.register("world_preset",(0,oe.Mod)((0,oe.ObjectNode)({dimensions:(0,oe.MapNode)(t({validator:"resource",params:{pool:"$dimension",isDefinition:!0}}),o("dimension"))},{context:"world_preset"}),{default:()=>({dimensions:{"minecraft:overworld":{type:"minecraft:overworld",generator:{type:"minecraft:noise",biome_source:{type:"minecraft:multi_noise",preset:"minecraft:overworld"},settings:"minecraft:overworld"}},"minecraft:the_nether":{type:"minecraft:the_nether",generator:{type:"minecraft:noise",biome_source:{type:"minecraft:multi_noise",preset:"minecraft:nether"},settings:"minecraft:nether"}},"minecraft:the_end":{type:"minecraft:the_end",generator:{type:"minecraft:noise",biome_source:{type:"minecraft:the_end"},settings:"minecraft:end"}}}})})),r.register("flat_level_generator_preset",(0,oe.Mod)((0,oe.ObjectNode)({display:t({validator:"resource",params:{pool:"item"}}),settings:o("flat_generator_settings")}),{default:()=>({display:"minecraft:grass_block",settings:{lakes:!1,features:!1,biome:"minecraft:plains",structure_overrides:[],layers:[{height:3,block:"minecraft:dirt"},{height:1,block:"minecraft:grass_block"}]}})}))}Fe.initWorldPresetSchemas=Ft;Object.defineProperty(Se,"__esModule",{value:!0});Se.initWorldgenSchemas=void 0;const zt=Te,Tt=je,Rt=Ce,qt=Re,It=Me,At=Pe,Et=J,Wt=Le,Ut=$e,Vt=Be,Gt=De,Ht=Fe;function Kt(r,e){(0,Et.initProcessorListSchemas)(r,e),(0,qt.initDensityFunctionSchemas)(r,e),(0,zt.initBiomeSchemas)(r,e),(0,Tt.initCarverSchemas)(r,e),(0,Rt.initDecoratorSchemas)(r,e),(0,It.initFeatureSchemas)(r,e),(0,At.initNoiseSettingsSchemas)(r,e),(0,Wt.initStructureSchemas)(r,e),(0,Ut.initStructureSetSchemas)(r,e),(0,Vt.initSurfaceRuleSchemas)(r,e),(0,Gt.initTemplatePoolSchemas)(r,e),(0,Ht.initWorldPresetSchemas)(r,e)}Se.initWorldgenSchemas=Kt;var ze={};Object.defineProperty(ze,"__esModule",{value:!0});ze.initWorldSettingsSchemas=void 0;const Z=k;function Xt(r,e){const t=Z.Reference.bind(void 0,r),o=Z.StringNode.bind(void 0,e);r.register("world_settings",(0,Z.Mod)((0,Z.ObjectNode)({generate_features:(0,Z.BooleanNode)(),bonus_chest:(0,Z.BooleanNode)(),seed:(0,Z.NumberNode)({integer:!0}),dimensions:(0,Z.MapNode)(o({validator:"resource",params:{pool:"$dimension"}}),t("dimension"))},{context:"world_settings"}),{default:()=>{const d=Math.floor(Math.random()*4294967296)-2147483648;return{generate_features:!0,bonus_chest:!1,seed:d,dimensions:{"minecraft:overworld":{type:"minecraft:overworld",generator:{type:"minecraft:noise",seed:d,biome_source:{type:"minecraft:multi_noise",preset:"minecraft:overworld"},settings:"minecraft:overworld"}},"minecraft:the_nether":{type:"minecraft:the_nether",generator:{type:"minecraft:noise",seed:d,biome_source:{type:"minecraft:multi_noise",preset:"minecraft:nether"},settings:"minecraft:nether"}},"minecraft:the_end":{type:"minecraft:the_end",generator:{type:"minecraft:noise",seed:d,biome_source:{type:"minecraft:the_end",seed:d},settings:"minecraft:end"}}}}}}))}ze.initWorldSettingsSchemas=Xt;Object.defineProperty(le,"__esModule",{value:!0});le.initSchemas=void 0;const Yt=me,Zt=_e,Jt=fe,Qt=T,er=ge,tr=be,rr=Ne,or=he,ir=ye,nr=ve,ar=Oe,cr=ke,dr=we,sr=xe,lr=Se,mr=ze;function _r(r,e){(0,Qt.initCommonSchemas)(r,e),(0,Jt.initChatTypeSchemas)(r,e),(0,Yt.initAdvancementSchemas)(r,e),(0,Zt.initAssetsSchemas)(r,e),(0,er.initConditionSchemas)(r,e),(0,rr.initDimensionTypeSchemas)(r,e),(0,tr.initDimensionSchemas)(r,e),(0,or.initItemModifierSchemas)(r,e),(0,ir.initLootTableSchemas)(r,e),(0,nr.initPackMcmetaSchemas)(r,e),(0,ar.initPredicatesSchemas)(r,e),(0,cr.initRecipeSchemas)(r,e),(0,dr.initTagsSchemas)(r,e),(0,sr.initTextComponentSchemas)(r,e),(0,lr.initWorldgenSchemas)(r,e),(0,mr.initWorldSettingsSchemas)(r,e)}le.initSchemas=_r;var ur=ie&&ie.__createBinding||(Object.create?function(r,e,t,o){o===void 0&&(o=t);var d=Object.getOwnPropertyDescriptor(e,t);(!d||("get"in d?!e.__esModule:d.writable||d.configurable))&&(d={enumerable:!0,get:function(){return e[t]}}),Object.defineProperty(r,o,d)}:function(r,e,t,o){o===void 0&&(o=t),r[o]=e[t]}),pr=ie&&ie.__setModuleDefault||(Object.create?function(r,e){Object.defineProperty(r,"default",{enumerable:!0,value:e})}:function(r,e){r.default=e}),fr=ie&&ie.__importStar||function(r){if(r&&r.__esModule)return r;var e={};if(r!=null)for(var t in r)t!=="default"&&Object.prototype.hasOwnProperty.call(r,t)&&ur(e,r,t);return pr(e,r),e};Object.defineProperty(X,"__esModule",{value:!0});var Ve=X.getSchemas=Ke=X.getCollections=He=X.lootContext=void 0;const Ge=k,gr=se,br=le;var He=X.lootContext=fr(I);function Nr(){const r=new Ge.CollectionRegistry;return(0,gr.initCollections)(r),r}var Ke=X.getCollections=Nr;function hr(r){const e=new Ge.SchemaRegistry;return(0,br.initSchemas)(e,r),e}Ve=X.getSchemas=hr;var kr=et({__proto__:null,get getSchemas(){return Ve},get getCollections(){return Ke},get lootContext(){return He},default:X},[X]);export{kr as i}; -//# sourceMappingURL=index.19bb89fe.js.map +var Xe=Object.defineProperty,Ye=Object.defineProperties;var Ze=Object.getOwnPropertyDescriptors;var qe=Object.getOwnPropertySymbols;var Je=Object.prototype.hasOwnProperty,Qe=Object.prototype.propertyIsEnumerable;var Ie=(r,e,t)=>e in r?Xe(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,g=(r,e)=>{for(var t in e||(e={}))Je.call(e,t)&&Ie(r,t,e[t]);if(qe)for(var t of qe(e))Qe.call(e,t)&&Ie(r,t,e[t]);return r},W=(r,e)=>Ye(r,Ze(e));import{l as k,c as ie}from"./index.38fdde83.js";function et(r,e){return e.forEach(function(t){t&&typeof t!="string"&&!Array.isArray(t)&&Object.keys(t).forEach(function(o){if(o!=="default"&&!(o in r)){var d=Object.getOwnPropertyDescriptor(t,o);Object.defineProperty(r,o,d.get?d:{enumerable:!0,get:function(){return t[o]}})}})}),Object.freeze(Object.defineProperty(r,Symbol.toStringTag,{value:"Module"}))}var X={},se={};Object.defineProperty(se,"__esModule",{value:!0});se.initCollections=void 0;function tt(r){r.register("advancement_trigger",["minecraft:allay_drop_item_on_block","minecraft:avoid_vibration","minecraft:bee_nest_destroyed","minecraft:bred_animals","minecraft:brewed_potion","minecraft:changed_dimension","minecraft:channeled_lightning","minecraft:construct_beacon","minecraft:consume_item","minecraft:cured_zombie_villager","minecraft:effects_changed","minecraft:enchanted_item","minecraft:enter_block","minecraft:entity_hurt_player","minecraft:entity_killed_player","minecraft:fall_from_height","minecraft:filled_bucket","minecraft:fishing_rod_hooked","minecraft:hero_of_the_village","minecraft:impossible","minecraft:inventory_changed","minecraft:item_durability_changed","minecraft:item_used_on_block","minecraft:kill_mob_near_sculk_catalyst","minecraft:killed_by_crossbow","minecraft:levitation","minecraft:lightning_strike","minecraft:location","minecraft:nether_travel","minecraft:placed_block","minecraft:player_generates_container_loot","minecraft:player_hurt_entity","minecraft:player_interacted_with_entity","minecraft:player_killed_entity","minecraft:recipe_unlocked","minecraft:ride_entity_in_lava","minecraft:shot_crossbow","minecraft:slept_in_bed","minecraft:slide_down_block","minecraft:started_riding","minecraft:summoned_entity","minecraft:tame_animal","minecraft:target_hit","minecraft:tick","minecraft:thrown_item_picked_up_by_entity","minecraft:thrown_item_picked_up_by_player","minecraft:used_ender_eye","minecraft:used_totem","minecraft:using_item","minecraft:villager_trade","minecraft:voluntary_exile"]),r.register("keybind",["key.advancements","key.attack","key.back","key.chat","key.command","key.drop","key.forward","key.fullscreen","key.hotbar.1","key.hotbar.2","key.hotbar.3","key.hotbar.4","key.hotbar.5","key.hotbar.6","key.hotbar.7","key.hotbar.8","key.hotbar.9","key.inventory","key.jump","key.left","key.loadToolbarActivator","key.pickItem","key.playerlist","key.right","key.saveToolbarActivator","key.screenshot","key.smoothCamera","key.sneak","key.spectatorOutlines","key.sprint","key.swapOffhand","key.togglePerspective","key.use"]),r.register("slot",["mainhand","offhand","head","chest","legs","feet"]),r.register("gamemode",["survival","creative","adventure","spectator"]),r.register("entity_source",["this","killer","direct_killer","killer_player"]),r.register("copy_source",["block_entity","this","killer","killer_player"]),r.register("loot_table_apply_bonus_formula",["minecraft:uniform_bonus_count","minecraft:binomial_with_bonus_count","minecraft:ore_drops"]),r.register("map_decoration",["mansion","monument","player","frame","red_marker","blue_marker","target_x","target_point","player_off_map","player_off_limits","red_x","banner_white","banner_orange","banner_magenta","banner_light_blue","banner_yellow","banner_lime","banner_pink","banner_gray","banner_light_gray","banner_cyan","banner_purple","banner_blue","banner_brown","banner_green","banner_red","banner_black"]),r.register("map_feature",["bastion_remnant","buried_treasure","desert_pyramid","endcity","fortress","igloo","jungle_pyramid","mansion","mineshaft","monument","nether_fossil","ocean_ruin","pillager_outpost","ruined_portal","shipwreck","stronghold","swamp_hut","village"]),r.register("recipe_group",["bed","light_gray_dye","iron_ingot","wooden_stairs","black_dye","stained_terracotta","dyed_bed","magenta_dye","bark","rabbit_stew","light_blue_dye","wooden_fence_gate","planks","stained_glass","wooden_door","stained_glass_pane","wooden_fence","sticks","concrete_powder","wooden_pressure_plate","boat","brown_dye","yellow_dye","bonemeal","red_dye","wooden_trapdoor","wooden_button","gold_ingot","pink_dye","wooden_slab","orange_dye","carpet","sign","wool","sugar","blue_dye","white_dye","banner","netherite_ingot"]),r.register("biome_category",["beach","desert","extreme_hills","forest","icy","jungle","mesa","mountain","mushroom","nether","none","ocean","plains","river","savanna","swamp","taiga","the_end","underground"]),r.register("heightmap_type",["MOTION_BLOCKING","MOTION_BLOCKING_NO_LEAVES","OCEAN_FLOOR","OCEAN_FLOOR_WG","WORLD_SURFACE","WORLD_SURFACE_WG"]),r.register("generation_step",["air","liquid"]),r.register("decoration_step",["raw_generation","lakes","local_modifications","underground_structures","surface_structures","strongholds","underground_ores","underground_decoration","fluid_springs","vegetal_decoration","top_layer_modification"]),r.register("loot_context_type",["minecraft:empty","minecraft:chest","minecraft:command","minecraft:selector","minecraft:fishing","minecraft:entity","minecraft:gift","minecraft:barter","minecraft:advancement_reward","minecraft:advancement_entity","minecraft:generic","minecraft:block"]),r.register("banner_pattern",["base","square_bottom_left","square_bottom_right","square_top_left","square_top_right","stripe_bottom","stripe_top","stripe_left","stripe_right","stripe_center","stripe_middle","stripe_downright","stripe_downleft","small_stripes","cross","straight_cross","triangle_bottom","triangle_top","triangles_bottom","triangles_top","diagonal_left","diagonal_up_right","diagonal_up_left","diagonal_right","circle","rhombus","half_vertical","half_horizontal","half_vertical_right","half_horizontal_bottom","border","curly_border","gradient","gradient_up","bricks","globe","creeper","skull","flower","mojang","piglin"]),r.register("dye_color",["white","orange","magenta","light_blue","yellow","lime","pink","gray","light_gray","cyan","purple","blue","brown","green","red","black"]),r.register("cave_surface",["floor","ceiling"]),r.register("direction",["down","up","north","east","south","west"]),r.register("axis",["x","y","z"]),r.register("display_position",["firstperson_righthand","firstperson_lefthand","thirdperson_righthand","thirdperson_lefthand","gui","head","ground","fixed"]),r.register("gui_light",["front","side"]),r.register("item_model_predicates",["angle","blocking","broken","cast","charged","cooldown","custom_model_data","damage","damaged","firework","lefthanded","pull","pulling","throwing","time"]),r.register("mob_category",["monster","creature","ambient","axolotls","underground_water_creature","water_creature","water_ambient","misc"])}se.initCollections=tt;var le={},me={};Object.defineProperty(me,"__esModule",{value:!0});me.initAdvancementSchemas=void 0;const s=k;function rt(r,e){const t=s.Reference.bind(void 0,r),o=s.StringNode.bind(void 0,e),d=(0,s.ChoiceNode)([{type:"object",node:(0,s.Opt)(t("entity_predicate")),change:n=>{var c,l;return(l=(c=n[0])===null||c===void 0?void 0:c.predicate)!==null&&l!==void 0?l:{}}},{type:"list",node:(0,s.ListNode)(t("condition")),change:n=>[{condition:"minecraft:entity_properties",predicate:n}]}],{context:"conditions"});r.register("advancement",(0,s.Mod)((0,s.ObjectNode)({display:(0,s.Opt)((0,s.Mod)((0,s.ObjectNode)({icon:(0,s.ObjectNode)({item:o({validator:"resource",params:{pool:"item"}}),nbt:(0,s.Opt)(o({validator:"nbt",params:{registry:{category:"minecraft:item",id:["pop",{push:"item"}]}}}))}),title:t("text_component"),description:t("text_component"),background:(0,s.Opt)(o()),frame:(0,s.Opt)(o({enum:["task","challenge","goal"]})),show_toast:(0,s.Opt)((0,s.BooleanNode)()),announce_to_chat:(0,s.Opt)((0,s.BooleanNode)()),hidden:(0,s.Opt)((0,s.BooleanNode)())}),{default:()=>({icon:{item:"minecraft:stone"},title:"",description:""})})),parent:(0,s.Opt)(o({validator:"resource",params:{pool:"$advancement"}})),criteria:(0,s.MapNode)(o(),t("advancement_criteria")),requirements:(0,s.Opt)((0,s.ListNode)((0,s.ListNode)(o()))),rewards:(0,s.Opt)((0,s.ObjectNode)({function:(0,s.Opt)(o({validator:"resource",params:{pool:"$function"}})),loot:(0,s.Opt)((0,s.ListNode)(o({validator:"resource",params:{pool:"$loot_table"}}))),recipes:(0,s.Opt)((0,s.ListNode)(o({validator:"resource",params:{pool:"$recipe"}}))),experience:(0,s.Opt)((0,s.NumberNode)({integer:!0}))}))},{context:"advancement"}),{default:()=>({criteria:{requirement:{trigger:"minecraft:location"}}})})),r.register("advancement_criteria",(0,s.ObjectNode)({trigger:o({validator:"resource",params:{pool:e.get("advancement_trigger")}}),conditions:(0,s.Opt)((0,s.ObjectNode)({player:(0,s.Mod)(d,{enabled:n=>n.pop().push("trigger").get()!=="minecraft:impossible"}),[s.Switch]:["pop",{push:"trigger"}],[s.Case]:{"minecraft:allay_drop_item_on_block":{item:(0,s.Opt)(t("item_predicate")),location:(0,s.Opt)(t("location_predicate"))},"minecraft:bee_nest_destroyed":{block:(0,s.Opt)(o({validator:"resource",params:{pool:"block"}})),num_bees_inside:(0,s.Opt)((0,s.NumberNode)({integer:!0})),item:(0,s.Opt)(t("item_predicate"))},"minecraft:bred_animals":{parent:d,partner:d,child:d},"minecraft:brewed_potion":{potion:(0,s.Opt)(o({validator:"resource",params:{pool:"potion"}}))},"minecraft:changed_dimension":{from:(0,s.Opt)(o({validator:"resource",params:{pool:"$dimension"}})),to:(0,s.Opt)(o({validator:"resource",params:{pool:"$dimension"}}))},"minecraft:channeled_lightning":{victims:(0,s.Opt)((0,s.ListNode)(d))},"minecraft:construct_beacon":{level:t("int_bounds")},"minecraft:consume_item":{item:(0,s.Opt)(t("item_predicate"))},"minecraft:cured_zombie_villager":{villager:d,zombie:d},"minecraft:effects_changed":{effects:(0,s.Opt)((0,s.MapNode)(o({validator:"resource",params:{pool:"mob_effect"}}),(0,s.ObjectNode)({amplifier:t("int_bounds"),duration:t("int_bounds")}))),source:(0,s.Opt)(d)},"minecraft:enter_block":{block:(0,s.Opt)(o({validator:"resource",params:{pool:"block"}})),state:(0,s.Opt)((0,s.MapNode)(o(),o(),{validation:{validator:"block_state_map",params:{id:["pop",{push:"block"}]}}}))},"minecraft:enchanted_item":{levels:t("int_bounds"),item:(0,s.Opt)(t("item_predicate"))},"minecraft:entity_hurt_player":{damage:(0,s.Opt)(t("damage_predicate"))},"minecraft:entity_killed_player":{entity:d,killing_blow:(0,s.Opt)(t("damage_source_predicate"))},"minecraft:fall_from_height":{start_position:(0,s.Opt)(t("location_predicate")),distance:(0,s.Opt)(t("distance_predicate"))},"minecraft:filled_bucket":{item:(0,s.Opt)(t("item_predicate"))},"minecraft:fishing_rod_hooked":{entity:d,item:(0,s.Opt)(t("item_predicate"))},"minecraft:inventory_changed":{slots:(0,s.Opt)((0,s.ObjectNode)({empty:t("int_bounds"),occupied:t("int_bounds"),full:t("int_bounds")})),items:(0,s.Opt)((0,s.ListNode)(t("item_predicate")))},"minecraft:item_durability_changed":{delta:t("int_bounds"),durability:t("int_bounds"),item:(0,s.Opt)(t("item_predicate"))},"minecraft:item_used_on_block":{item:(0,s.Opt)(t("item_predicate")),location:(0,s.Opt)(t("location_predicate"))},"minecraft:kill_mob_near_sculk_catalyst":{entity:d,killing_blow:(0,s.Opt)(t("damage_source_predicate"))},"minecraft:killed_by_crossbow":{unique_entity_types:t("int_bounds"),victims:(0,s.Opt)((0,s.ListNode)(d))},"minecraft:levitation":{distance:(0,s.Opt)(t("distance_predicate")),duration:t("int_bounds")},"minecraft:lightning_strike":{lightning:d,bystander:d},"minecraft:nether_travel":{start_position:(0,s.Opt)(t("location_predicate")),distance:(0,s.Opt)(t("distance_predicate"))},"minecraft:placed_block":{block:(0,s.Opt)(o({validator:"resource",params:{pool:"block"}})),state:(0,s.Opt)((0,s.MapNode)(o(),o(),{validation:{validator:"block_state_map",params:{id:["pop",{push:"block"}]}}})),item:(0,s.Opt)(t("item_predicate")),location:(0,s.Opt)(t("location_predicate"))},"minecraft:player_generates_container_loot":{loot_table:o({validator:"resource",params:{pool:"$loot_table"}})},"minecraft:player_hurt_entity":{damage:(0,s.Opt)(t("damage_predicate")),entity:d},"minecraft:player_interacted_with_entity":{item:(0,s.Opt)(t("item_predicate")),entity:d},"minecraft:player_killed_entity":{entity:d,killing_blow:(0,s.Opt)(t("damage_source_predicate"))},"minecraft:recipe_unlocked":{recipe:o({validator:"resource",params:{pool:"$recipe"}})},"minecraft:ride_entity_in_lava":{start_position:(0,s.Opt)(t("location_predicate")),distance:(0,s.Opt)(t("distance_predicate"))},"minecraft:slide_down_block":{block:(0,s.Opt)(o({validator:"resource",params:{pool:"block"}}))},"minecraft:shot_crossbow":{item:(0,s.Opt)(t("item_predicate"))},"minecraft:summoned_entity":{entity:d},"minecraft:tame_animal":{entity:d},"minecraft:target_hit":{projectile:d,shooter:d,signal_strength:t("int_bounds")},"minecraft:thrown_item_picked_up_by_entity":{entity:d,item:(0,s.Opt)(t("item_predicate"))},"minecraft:thrown_item_picked_up_by_player":{entity:d,item:(0,s.Opt)(t("item_predicate"))},"minecraft:used_ender_eye":{distance:(0,s.Opt)(t("float_bounds"))},"minecraft:used_totem":{item:(0,s.Opt)(t("item_predicate"))},"minecraft:using_item":{item:(0,s.Opt)(t("item_predicate"))},"minecraft:villager_trade":{villager:d,item:(0,s.Opt)(t("item_predicate"))}}},{context:"criterion"}))},{category:"predicate",context:"criterion"}))}me.initAdvancementSchemas=rt;var _e={},ue={};Object.defineProperty(ue,"__esModule",{value:!0});ue.initModelSchemas=void 0;const N=k;function ot(r,e){N.Reference.bind(void 0,r);const t=N.StringNode.bind(void 0,e),o=(n,c,l)=>(0,N.ListNode)((0,N.NumberNode)({min:c,max:l}),{minLength:n,maxLength:n}),d=(0,N.ChoiceNode)([{type:"alias",match:n=>typeof n=="string"&&n.startsWith("#"),node:t(),change:n=>typeof n=="string"?`#${n}`:"#0"},{type:"reference",match:n=>typeof n=="string",node:t({validator:"resource",params:{pool:"$texture"}}),change:n=>typeof n=="string"?n.replace(/^#/,""):""}],{choiceContext:"texture"});r.register("model",(0,N.Mod)((0,N.ObjectNode)({parent:(0,N.Opt)(t({validator:"resource",params:{pool:"$model"}})),ambientocclusion:(0,N.Opt)((0,N.BooleanNode)()),gui_light:(0,N.Opt)(t({enum:"gui_light"})),textures:(0,N.Opt)((0,N.MapNode)(t(),d)),elements:(0,N.Opt)((0,N.ListNode)((0,N.ObjectNode)({from:o(3,-16,32),to:o(3,-16,32),rotation:(0,N.Opt)((0,N.ObjectNode)({origin:o(3),axis:t({enum:"axis"}),angle:(0,N.NumberEnum)({values:[-45,-22.5,0,22.5,45]}),rescale:(0,N.Opt)((0,N.BooleanNode)())})),shade:(0,N.Opt)((0,N.BooleanNode)()),faces:(0,N.MapNode)(t({enum:"direction"}),(0,N.ObjectNode)({texture:d,uv:(0,N.Opt)(o(4)),cullface:(0,N.Opt)(t({enum:"direction"})),rotation:(0,N.Opt)((0,N.NumberNode)({integer:!0})),tintindex:(0,N.Opt)((0,N.NumberNode)({integer:!0}))}))},{context:"model_element"}))),display:(0,N.Opt)((0,N.MapNode)(t({enum:"display_position"}),(0,N.ObjectNode)({rotation:o(3),translation:o(3,-80,80),scale:o(3,-4,4)},{context:"item_transform"}))),overrides:(0,N.Opt)((0,N.ListNode)((0,N.ObjectNode)({predicate:(0,N.MapNode)(t({enum:"item_model_predicates"}),(0,N.NumberNode)()),model:t({validator:"resource",params:{pool:"$model"}})},{context:"model_override"})))},{context:"model"}),{default:()=>({parent:"minecraft:item/generated",textures:{layer0:"minecraft:item/diamond"}})}))}ue.initModelSchemas=ot;var pe={};Object.defineProperty(pe,"__esModule",{value:!0});pe.initBlockDefinitionSchemas=void 0;const S=k;function it(r,e){const t=S.Reference.bind(void 0,r),o=S.StringNode.bind(void 0,e);r.register("block_definition",(0,S.Mod)((0,S.ChoiceNode)([{type:"variants",match:n=>n.variants!==void 0,node:(0,S.ObjectNode)({variants:(0,S.MapNode)(o(),t("model_variant"))}),change:n=>({variants:{"":{}}})},{type:"multipart",match:n=>n.multipart!==void 0,node:(0,S.ObjectNode)({multipart:(0,S.ListNode)((0,S.ObjectNode)({when:(0,S.Opt)(t("multipart_condition")),apply:t("model_variant")}))}),change:n=>({multipart:{when:{},apply:{}}})}],{context:"block_definition"}),{default:()=>({variants:{"":{model:"minecraft:block/stone"}}})}));const d={model:o({validator:"resource",params:{pool:"$model"}}),x:(0,S.Opt)((0,S.NumberEnum)({integer:!0,values:[0,90,180,270]})),y:(0,S.Opt)((0,S.NumberEnum)({integer:!0,values:[0,90,180,270]})),uvlock:(0,S.Opt)((0,S.BooleanNode)())};r.register("model_variant",(0,S.ChoiceNode)([{type:"object",node:(0,S.ObjectNode)(d),change:n=>Array.isArray(n)&&n.length>0?n[0]:{}},{type:"list",node:(0,S.ListNode)((0,S.ObjectNode)(W(g({},d),{weight:(0,S.Opt)((0,S.NumberNode)({integer:!0,min:1}))}),{context:"model_variant"})),change:n=>[g({weight:1},n)]}],{context:"model_variant"})),r.register("multipart_condition",(0,S.ChoiceNode)([{type:"object",priority:-1,match:()=>!0,node:(0,S.MapNode)(o(),o()),change:n=>typeof n=="object"&&Array.isArray(n==null?void 0:n.OR)&&n.OR.length>0?n.OR[0]:{}},{type:"or",match:n=>typeof n=="object"&&(n==null?void 0:n.OR)!==void 0,node:(0,S.ObjectNode)({OR:(0,S.ListNode)(t("multipart_condition"))}),change:n=>({OR:[n!=null?n:{}]})}],{context:"multipart_condition"}))}pe.initBlockDefinitionSchemas=it;Object.defineProperty(_e,"__esModule",{value:!0});_e.initAssetsSchemas=void 0;const nt=ue,at=pe;function ct(r,e){(0,at.initBlockDefinitionSchemas)(r,e),(0,nt.initModelSchemas)(r,e)}_e.initAssetsSchemas=ct;var fe={};Object.defineProperty(fe,"__esModule",{value:!0});fe.initChatTypeSchemas=void 0;const F=k;function dt(r,e){const t=F.Reference.bind(void 0,r),o=F.StringNode.bind(void 0,e);r.register("chat_type",(0,F.Mod)((0,F.ObjectNode)({chat:(0,F.Opt)((0,F.ObjectNode)({decoration:(0,F.Opt)(t("text_decoration"))})),overlay:(0,F.Opt)((0,F.ObjectNode)({decoration:(0,F.Opt)(t("text_decoration"))})),narration:(0,F.Opt)((0,F.ObjectNode)({decoration:(0,F.Opt)(t("text_decoration")),priority:o({enum:["chat","system"]})}))},{context:"chat_type"}),{default:()=>({chat:{decoration:{parameters:["sender","content"],translation_key:"chat.type.text",style:{}}}})})),r.register("text_decoration",(0,F.Mod)((0,F.ObjectNode)({translation_key:o(),parameters:(0,F.ListNode)(o({enum:["sender","team_name","content"]})),style:t("text_style")},{context:"text_decoration"}),{default:()=>({translation_key:"chat.type.text",parameters:["sender","content"],style:{}})}))}fe.initChatTypeSchemas=dt;var T={};(function(r){Object.defineProperty(r,"__esModule",{value:!0}),r.initCommonSchemas=r.Tag=r.InclusiveRange=r.IntProvider=r.FloatProvider=r.NoiseSettingsPresets=r.DefaultNoiseSettings=r.DimensionTypePresets=r.DefaultDimensionType=r.FunctionCases=r.ConditionCases=void 0;const e=k;r.DefaultDimensionType={ultrawarm:!1,natural:!0,piglin_safe:!1,respawn_anchor_works:!1,bed_works:!0,has_raids:!0,has_skylight:!0,has_ceiling:!1,coordinate_scale:1,ambient_light:0,logical_height:256,infiniburn:"#minecraft:infiniburn_overworld",min_y:0,height:256},r.DefaultNoiseSettings={sea_level:63,ore_veins_enabled:!0,disable_mob_generation:!1,aquifers_enabled:!0,legacy_random_source:!1,default_block:{Name:"minecraft:stone"},default_fluid:{Properties:{level:"0"},Name:"minecraft:water"},noise:{min_y:-64,height:384,size_horizontal:1,size_vertical:2,top_slide:{target:-.078125,size:2,offset:8},bottom_slide:{target:.1171875,size:3,offset:0},sampling:{xz_scale:.9999999814507745,y_scale:.9999999814507745,xz_factor:80,y_factor:160},terrain_shaper:{offset:0,factor:0,jaggedness:0}},noise_router:{barrier:0,fluid_level_floodedness:0,fluid_level_spread:0,lava:0,temperature:0,vegetation:0,continents:0,erosion:0,depth:0,ridges:0,initial_density_without_jaggedness:0,final_density:{type:"minecraft:interpolated",argument:"minecraft:overworld/base_3d_noise"},vein_toggle:0,vein_ridged:0,vein_gap:0},surface_rule:{type:"minecraft:sequence",sequence:[]}};function t(o,d){const n=e.StringNode.bind(void 0,d),c=e.Reference.bind(void 0,o);o.register("block_state",(0,e.Mod)((0,e.ObjectNode)({Name:n({validator:"resource",params:{pool:"block"}}),Properties:(0,e.Opt)((0,e.MapNode)(n(),n(),{validation:{validator:"block_state_map",params:{id:["pop",{push:"Name"}]}}}))},{context:"block_state"}),{default:()=>({Name:"minecraft:stone"})})),o.register("fluid_state",(0,e.Mod)((0,e.ObjectNode)({Name:n({validator:"resource",params:{pool:"fluid"}}),Properties:(0,e.Opt)((0,e.MapNode)(n(),n()))},{context:"fluid_state"}),{default:()=>({Name:"minecraft:water",Properties:{level:"0"}})})),o.register("block_pos",(0,e.Mod)((0,e.ListNode)((0,e.NumberNode)({integer:!0}),{minLength:3,maxLength:3}),{default:()=>[0,0,0]}));const l=_=>(0,e.Opt)((0,e.ChoiceNode)([{type:"number",node:(0,e.NumberNode)({integer:_}),change:b=>{var j,h;return b===void 0?0:(h=(j=b.min)!==null&&j!==void 0?j:b.max)!==null&&h!==void 0?h:0}},{type:"object",node:(0,e.ObjectNode)({min:(0,e.Opt)((0,e.NumberNode)({integer:_})),max:(0,e.Opt)((0,e.NumberNode)({integer:_}))},{context:"range"}),change:b=>({min:b!=null?b:0,max:b!=null?b:0})}]));o.register("int_bounds",l(!0)),o.register("float_bounds",l()),o.register("int_range",(0,e.ChoiceNode)([{type:"object",node:(0,e.ObjectNode)({min:(0,e.Opt)(c("number_provider")),max:(0,e.Opt)(c("number_provider"))})},{type:"number",node:(0,e.NumberNode)({integer:!0})}],{context:"range"}));const v=(_,b,j,h,B,D,U)=>{let ae={};B&&Object.keys(U[B]).forEach(A=>{ae[A]=(0,e.Mod)(U[B][A],{enabled:E=>E.push("type").get()===void 0})});const Q=(0,e.ObjectNode)(g({type:(0,e.Mod)((0,e.Opt)(n({validator:"resource",params:{pool:_}})),{hidden:()=>!0}),[e.Switch]:[{push:"type"}],[e.Case]:U},ae),{context:D,disableSwitchContext:!0}),ee=[{type:b,node:U[h][j]}];return B&&ee.push({type:"object",priority:-1,node:Q}),Object.keys(U).forEach(A=>{ee.push({type:A,match:E=>{var te;if("minecraft:"+((te=E==null?void 0:E.type)===null||te===void 0?void 0:te.replace(/^minecraft:/,""))===A)return!0;const V=E?Object.keys(E):[];return typeof E=="object"&&((V==null?void 0:V.length)===0||(V==null?void 0:V.length)===1&&(V==null?void 0:V[0])==="type")},node:Q,change:E=>({type:A})})}),(0,e.ChoiceNode)(ee,{context:D,choiceContext:`${D}.type`})};o.register("number_provider",v("loot_number_provider_type","number","value","minecraft:constant","minecraft:uniform","number_provider",{"minecraft:constant":{value:(0,e.NumberNode)()},"minecraft:uniform":{min:c("number_provider"),max:c("number_provider")},"minecraft:binomial":{n:c("number_provider"),p:c("number_provider")},"minecraft:score":{target:c("scoreboard_name_provider"),score:n({validator:"objective"}),scale:(0,e.Opt)((0,e.NumberNode)())}})),o.register("scoreboard_name_provider",v("loot_score_provider_type","string","target","minecraft:context",null,"score_provider",{"minecraft:fixed":{name:n({validator:"entity",params:{amount:"multiple",type:"entities",isScoreHolder:!0}})},"minecraft:context":{target:(0,e.Mod)(n({enum:"entity_source"}),{default:()=>"this"})}})),o.register("nbt_provider",v("loot_nbt_provider_type","string","target","minecraft:context",null,"nbt_provider",{"minecraft:storage":{source:n({validator:"resource",params:{pool:"$storage"}})},"minecraft:context":{target:(0,e.Mod)(n({enum:"copy_source"}),{default:()=>"this"})}})),r.FloatProvider=_=>v("float_provider_type","number","value","minecraft:constant",null,"float_provider",{"minecraft:constant":{value:(0,e.NumberNode)(_)},"minecraft:uniform":{value:(0,e.ObjectNode)({min_inclusive:(0,e.NumberNode)(_),max_exclusive:(0,e.NumberNode)(_)})},"minecraft:clamped_normal":{value:(0,e.ObjectNode)({min:(0,e.NumberNode)(),max:(0,e.NumberNode)(),mean:(0,e.NumberNode)(),deviation:(0,e.NumberNode)()})},"minecraft:trapezoid":{value:(0,e.ObjectNode)({min:(0,e.NumberNode)(),max:(0,e.NumberNode)(),plateau:(0,e.NumberNode)()})}}),o.register("float_provider",(0,r.FloatProvider)()),r.IntProvider=_=>v("int_provider_type","number","value","minecraft:constant",null,"int_provider",{"minecraft:constant":{value:(0,e.NumberNode)(g({integer:!0},_))},"minecraft:uniform":{value:(0,e.ObjectNode)({min_inclusive:(0,e.NumberNode)(g({integer:!0},_)),max_inclusive:(0,e.NumberNode)(g({integer:!0},_))})},"minecraft:biased_to_bottom":{value:(0,e.ObjectNode)({min_inclusive:(0,e.NumberNode)(g({integer:!0},_)),max_inclusive:(0,e.NumberNode)(g({integer:!0},_))})},"minecraft:clamped":{value:(0,e.ObjectNode)({min_inclusive:(0,e.NumberNode)(g({integer:!0},_)),max_inclusive:(0,e.NumberNode)(g({integer:!0},_)),source:c("int_provider")})},"minecraft:clamped_normal":{value:(0,e.ObjectNode)({min_inclusive:(0,e.NumberNode)(g({integer:!0},_)),max_inclusive:(0,e.NumberNode)(g({integer:!0},_)),mean:(0,e.NumberNode)(),deviation:(0,e.NumberNode)()})},"minecraft:weighted_list":{distribution:(0,e.ListNode)((0,e.ObjectNode)({weight:(0,e.NumberNode)({integer:!0}),data:c("int_provider")}))}}),o.register("int_provider",(0,r.IntProvider)()),o.register("vertical_anchor",(0,e.ChoiceNode)(["absolute","above_bottom","below_top"].map(_=>({type:_,match:b=>(b==null?void 0:b[_])!==void 0,change:b=>{var j,h,B;return{[_]:(B=(h=(j=b.absolute)!==null&&j!==void 0?j:b.above_bottom)!==null&&h!==void 0?h:b.below_top)!==null&&B!==void 0?B:0}},node:(0,e.ObjectNode)({[_]:(0,e.NumberNode)({integer:!0,min:-2048,max:2047})})})),{context:"vertical_anchor"})),o.register("height_provider",v("height_provider_type","number","value","minecraft:constant",null,"height_provider",{"minecraft:constant":{value:c("vertical_anchor")},"minecraft:uniform":{min_inclusive:c("vertical_anchor"),max_inclusive:c("vertical_anchor")},"minecraft:biased_to_bottom":{min_inclusive:c("vertical_anchor"),max_inclusive:c("vertical_anchor"),inner:(0,e.Opt)((0,e.NumberNode)({integer:!0,min:1}))},"minecraft:very_biased_to_bottom":{min_inclusive:c("vertical_anchor"),max_inclusive:c("vertical_anchor"),inner:(0,e.Opt)((0,e.NumberNode)({integer:!0,min:1}))},"minecraft:trapezoid":{min_inclusive:c("vertical_anchor"),max_inclusive:c("vertical_anchor"),plateau:(0,e.Opt)((0,e.NumberNode)({integer:!0}))},"minecraft:weighted_list":{distribution:(0,e.ListNode)((0,e.ObjectNode)({weight:(0,e.NumberNode)({integer:!0}),data:c("int_provider")}))}})),r.InclusiveRange=_=>(0,e.ObjectNode)({min_inclusive:(0,e.NumberNode)(_),max_inclusive:(0,e.NumberNode)(_)},{context:"range"}),o.register("noise_parameters",(0,e.Mod)((0,e.ObjectNode)({firstOctave:(0,e.NumberNode)({integer:!0}),amplitudes:(0,e.ListNode)((0,e.NumberNode)())},{context:"noise_parameters"}),{default:()=>({firstOctave:-7,amplitudes:[1,1]})})),r.Tag=_=>(0,e.ChoiceNode)([{type:"string",node:n({validator:"resource",params:{pool:_.resource,allowTag:!0}}),change:b=>{if(Array.isArray(b)&&typeof b[0]=="string"&&!b[0].startsWith("#"))return b[0]}},{type:"list",node:(0,e.ListNode)(_.inlineSchema?(0,e.ChoiceNode)([{type:"string",node:n({validator:"resource",params:{pool:_.resource}})},{type:"object",node:c(_.inlineSchema)}],{choiceContext:"tag.list"}):n({validator:"resource",params:{pool:_.resource}})),change:b=>typeof b=="string"&&!b.startsWith("#")?[b]:[]}],{choiceContext:"tag"}),r.ConditionCases=(_=n({enum:"entity_source"}))=>({"minecraft:alternative":{terms:(0,e.ListNode)(c("condition"))},"minecraft:block_state_property":{block:n({validator:"resource",params:{pool:"block"}}),properties:(0,e.MapNode)(n(),n(),{validation:{validator:"block_state_map",params:{id:["pop",{push:"block"}]}}})},"minecraft:damage_source_properties":{predicate:c("damage_source_predicate")},"minecraft:entity_properties":{entity:_,predicate:c("entity_predicate")},"minecraft:entity_scores":{entity:_,scores:(0,e.MapNode)(n({validator:"objective"}),c("int_range"))},"minecraft:inverted":{term:c("condition")},"minecraft:killed_by_player":{inverse:(0,e.Opt)((0,e.BooleanNode)())},"minecraft:location_check":{offsetX:(0,e.Opt)((0,e.NumberNode)({integer:!0})),offsetY:(0,e.Opt)((0,e.NumberNode)({integer:!0})),offsetZ:(0,e.Opt)((0,e.NumberNode)({integer:!0})),predicate:c("location_predicate")},"minecraft:match_tool":{predicate:c("item_predicate")},"minecraft:random_chance":{chance:(0,e.NumberNode)({min:0,max:1})},"minecraft:random_chance_with_looting":{chance:(0,e.NumberNode)({min:0,max:1}),looting_multiplier:(0,e.NumberNode)()},"minecraft:reference":{name:n({validator:"resource",params:{pool:"$predicate"}})},"minecraft:table_bonus":{enchantment:n({validator:"resource",params:{pool:"enchantment"}}),chances:(0,e.ListNode)((0,e.NumberNode)({min:0,max:1}))},"minecraft:time_check":{value:c("int_range"),period:(0,e.Opt)((0,e.NumberNode)({integer:!0}))},"minecraft:value_check":{value:c("number_provider"),range:c("int_range")},"minecraft:weather_check":{raining:(0,e.Opt)((0,e.BooleanNode)()),thundering:(0,e.Opt)((0,e.BooleanNode)())}}),r.FunctionCases=(_,b=n({enum:"copy_source"}),j=n({enum:"entity_source"}))=>{const h={"minecraft:apply_bonus":{enchantment:n({validator:"resource",params:{pool:"enchantment"}}),formula:n({validator:"resource",params:{pool:d.get("loot_table_apply_bonus_formula")}}),parameters:(0,e.Mod)((0,e.ObjectNode)({bonusMultiplier:(0,e.Mod)((0,e.NumberNode)(),{enabled:D=>D.pop().push("formula").get()==="minecraft:uniform_bonus_count"}),extra:(0,e.Mod)((0,e.NumberNode)(),{enabled:D=>D.pop().push("formula").get()==="minecraft:binomial_with_bonus_count"}),probability:(0,e.Mod)((0,e.NumberNode)(),{enabled:D=>D.pop().push("formula").get()==="minecraft:binomial_with_bonus_count"})}),{enabled:D=>D.push("formula").get()!=="minecraft:ore_drops"})},"minecraft:copy_name":{source:b},"minecraft:copy_nbt":{source:c("nbt_provider"),ops:(0,e.ListNode)((0,e.ObjectNode)({source:n({validator:"nbt_path",params:{category:{getter:"copy_source",path:["pop","pop","pop",{push:"source"}]}}}),target:n({validator:"nbt_path",params:{category:"minecraft:item"}}),op:n({enum:["replace","append","merge"]})},{context:"nbt_operation"}))},"minecraft:copy_state":{block:n({validator:"resource",params:{pool:"block"}}),properties:(0,e.ListNode)(n({validator:"block_state_key",params:{id:["pop","pop",{push:"block"}]}}))},"minecraft:enchant_randomly":{enchantments:(0,e.Opt)((0,e.ListNode)(n({validator:"resource",params:{pool:"enchantment"}})))},"minecraft:enchant_with_levels":{levels:c("number_provider"),treasure:(0,e.Opt)((0,e.BooleanNode)())},"minecraft:exploration_map":{destination:(0,e.Opt)((0,r.Tag)({resource:"$worldgen/structure"})),decoration:(0,e.Opt)(n({enum:"map_decoration"})),zoom:(0,e.Opt)((0,e.NumberNode)({integer:!0})),search_radius:(0,e.Opt)((0,e.NumberNode)({integer:!0})),skip_existing_chunks:(0,e.Opt)((0,e.BooleanNode)())},"minecraft:fill_player_head":{entity:j},"minecraft:limit_count":{limit:c("int_range")},"minecraft:looting_enchant":{count:c("number_provider"),limit:(0,e.Opt)((0,e.NumberNode)({integer:!0}))},"minecraft:set_attributes":{modifiers:(0,e.ListNode)(c("attribute_modifier"))},"minecraft:set_banner_pattern":{patterns:(0,e.ListNode)((0,e.ObjectNode)({pattern:n({enum:"banner_pattern"}),color:n({enum:"dye_color"})})),append:(0,e.Opt)((0,e.BooleanNode)())},"minecraft:set_contents":{type:n({validator:"resource",params:{pool:"block_entity_type"}}),entries:(0,e.ListNode)(c("loot_entry"))},"minecraft:set_count":{count:c("number_provider"),add:(0,e.Opt)((0,e.BooleanNode)())},"minecraft:set_damage":{damage:c("number_provider"),add:(0,e.Opt)((0,e.BooleanNode)())},"minecraft:set_enchantments":{enchantments:(0,e.MapNode)(n({validator:"resource",params:{pool:"enchantment"}}),c("number_provider")),add:(0,e.Opt)((0,e.BooleanNode)())},"minecraft:set_instrument":{options:n({validator:"resource",params:{pool:"instrument",requireTag:!0}})},"minecraft:set_loot_table":{type:n({validator:"resource",params:{pool:"block_entity_type"}}),name:n({validator:"resource",params:{pool:"$loot_table"}}),seed:(0,e.Opt)((0,e.NumberNode)({integer:!0}))},"minecraft:set_lore":{entity:(0,e.Opt)(j),lore:(0,e.ListNode)(c("text_component")),replace:(0,e.Opt)((0,e.BooleanNode)())},"minecraft:set_name":{entity:(0,e.Opt)(j),name:(0,e.Opt)(c("text_component"))},"minecraft:set_nbt":{tag:n({validator:"nbt",params:{registry:{category:"minecraft:item"}}})},"minecraft:set_potion":{id:n({validator:"resource",params:{pool:"potion"}})},"minecraft:set_stew_effect":{effects:(0,e.Opt)((0,e.ListNode)((0,e.ObjectNode)({type:n({validator:"resource",params:{pool:"mob_effect"}}),duration:c("number_provider")})))}},B={};return d.get("loot_function_type").forEach(D=>{B[D]=g(g({},h[D]),_)}),B},r.DimensionTypePresets=_=>(0,e.ObjectOrPreset)(n({validator:"resource",params:{pool:"$dimension_type"}}),_,{"minecraft:overworld":r.DefaultDimensionType,"minecraft:the_nether":{name:"minecraft:the_nether",ultrawarm:!0,natural:!1,shrunk:!0,piglin_safe:!0,respawn_anchor_works:!0,bed_works:!1,has_raids:!1,has_skylight:!1,has_ceiling:!0,ambient_light:.1,fixed_time:18e3,logical_height:128,effects:"minecraft:the_nether",infiniburn:"#minecraft:infiniburn_nether",min_y:0,height:256},"minecraft:the_end":{name:"minecraft:the_end",ultrawarm:!1,natural:!1,shrunk:!1,piglin_safe:!1,respawn_anchor_works:!1,bed_works:!1,has_raids:!0,has_skylight:!1,has_ceiling:!1,ambient_light:0,fixed_time:6e3,logical_height:256,effects:"minecraft:the_end",infiniburn:"#minecraft:infiniburn_end",min_y:0,height:256}}),r.NoiseSettingsPresets=_=>(0,e.ObjectOrPreset)(n({validator:"resource",params:{pool:"$worldgen/noise_settings"}}),_,{"minecraft:overworld":r.DefaultNoiseSettings,"minecraft:nether":{sea_level:32,ore_veins_enabled:!1,disable_mob_generation:!1,aquifers_enabled:!1,legacy_random_source:!0,default_block:{Name:"minecraft:netherrack"},default_fluid:{Properties:{level:"0"},Name:"minecraft:lava"},noise:{min_y:0,height:128,size_horizontal:1,size_vertical:2,top_slide:{target:.9375,size:3,offset:0},bottom_slide:{target:2.5,size:4,offset:-1},sampling:{xz_scale:1,y_scale:3,xz_factor:80,y_factor:60},terrain_shaper:{offset:0,factor:0,jaggedness:0}},noise_router:{barrier:0,fluid_level_floodedness:0,fluid_level_spread:0,lava:0,temperature:0,vegetation:0,continents:0,erosion:0,depth:0,ridges:0,initial_density_without_jaggedness:0,final_density:{type:"minecraft:interpolated",argument:"minecraft:overworld/base_3d_noise"},vein_toggle:0,vein_ridged:0,vein_gap:0},surface_rule:{type:"minecraft:sequence",sequence:[]}},"minecraft:end":{sea_level:0,ore_veins_enabled:!1,disable_mob_generation:!1,aquifers_enabled:!1,legacy_random_source:!0,default_block:{Name:"minecraft:end_stone"},default_fluid:{Name:"minecraft:air"},noise:{min_y:0,height:128,size_horizontal:2,size_vertical:1,top_slide:{target:-23.4375,size:64,offset:-46},bottom_slide:{target:-.234375,size:7,offset:1},sampling:{xz_scale:2,y_scale:1,xz_factor:80,y_factor:160},terrain_shaper:{offset:0,factor:1,jaggedness:0}},noise_router:{barrier:0,fluid_level_floodedness:0,fluid_level_spread:0,lava:0,temperature:0,vegetation:0,continents:0,erosion:0,depth:0,ridges:0,initial_density_without_jaggedness:0,final_density:{type:"minecraft:interpolated",argument:"minecraft:overworld/base_3d_noise"},vein_toggle:0,vein_ridged:0,vein_gap:0},surface_rule:{type:"minecraft:sequence",sequence:[]}},"minecraft:amplified":{sea_level:63,ore_veins_enabled:!0,disable_mob_generation:!1,aquifers_enabled:!0,legacy_random_source:!1,default_block:{Name:"minecraft:stone"},default_fluid:{Properties:{level:"0"},Name:"minecraft:water"},noise:{min_y:-64,height:384,size_horizontal:1,size_vertical:2,top_slide:{target:-.078125,size:2,offset:8},bottom_slide:{target:.1171875,size:3,offset:0},sampling:{xz_scale:.9999999814507745,y_scale:.9999999814507745,xz_factor:80,y_factor:160},terrain_shaper:{offset:0,factor:0,jaggedness:0}},noise_router:{barrier:0,fluid_level_floodedness:0,fluid_level_spread:0,lava:0,temperature:0,vegetation:0,continents:0,erosion:0,depth:0,ridges:0,initial_density_without_jaggedness:0,final_density:{type:"minecraft:interpolated",argument:"minecraft:overworld/base_3d_noise"},vein_toggle:0,vein_ridged:0,vein_gap:0},surface_rule:{type:"minecraft:sequence",sequence:[]}},"minecraft:caves":{sea_level:32,ore_veins_enabled:!1,disable_mob_generation:!1,aquifers_enabled:!1,legacy_random_source:!0,default_block:{Name:"minecraft:stone"},default_fluid:{Properties:{level:"0"},Name:"minecraft:water"},noise:{min_y:0,height:128,size_horizontal:1,size_vertical:2,top_slide:{target:.9375,size:3,offset:0},bottom_slide:{target:2.5,size:4,offset:-1},sampling:{xz_scale:1,y_scale:3,xz_factor:80,y_factor:60},terrain_shaper:{offset:0,factor:0,jaggedness:0}},noise_router:{barrier:0,fluid_level_floodedness:0,fluid_level_spread:0,lava:0,temperature:0,vegetation:0,continents:0,erosion:0,depth:0,ridges:0,initial_density_without_jaggedness:0,final_density:{type:"minecraft:interpolated",argument:"minecraft:overworld/base_3d_noise"},vein_toggle:0,vein_ridged:0,vein_gap:0},surface_rule:{type:"minecraft:sequence",sequence:[]}},"minecraft:floating_islands":{sea_level:0,ore_veins_enabled:!1,disable_mob_generation:!1,aquifers_enabled:!1,legacy_random_source:!0,default_block:{Name:"minecraft:stone"},default_fluid:{Properties:{level:"0"},Name:"minecraft:water"},noise:{min_y:0,height:128,size_horizontal:2,size_vertical:1,top_slide:{target:-23.4375,size:64,offset:-46},bottom_slide:{target:-.234375,size:7,offset:1},sampling:{xz_scale:2,y_scale:1,xz_factor:80,y_factor:160},terrain_shaper:{offset:0,factor:1,jaggedness:0}},noise_router:{barrier:0,fluid_level_floodedness:0,fluid_level_spread:0,lava:0,temperature:0,vegetation:0,continents:0,erosion:0,depth:0,ridges:0,initial_density_without_jaggedness:0,final_density:{type:"minecraft:interpolated",argument:"minecraft:overworld/base_3d_noise"},vein_toggle:0,vein_ridged:0,vein_gap:0},surface_rule:{type:"minecraft:sequence",sequence:[]}}})}r.initCommonSchemas=t})(T);var ge={};Object.defineProperty(ge,"__esModule",{value:!0});ge.initConditionSchemas=void 0;const re=k,st=T;function lt(r,e){const t=re.Reference.bind(void 0,r),o=re.StringNode.bind(void 0,e);r.register("predicate",(0,re.ObjectOrList)(t("condition"),{choiceContext:"condition"})),r.register("condition",(0,re.Mod)((0,re.ObjectNode)({condition:o({validator:"resource",params:{pool:"loot_condition_type"}}),[re.Switch]:[{push:"condition"}],[re.Case]:(0,st.ConditionCases)()},{category:"predicate",context:"condition"}),{default:()=>({condition:"minecraft:entity_properties",entity:"this"})}))}ge.initConditionSchemas=lt;var be={};Object.defineProperty(be,"__esModule",{value:!0});be.initDimensionSchemas=void 0;const O=k,ce=T;function mt(r,e){const t=O.Reference.bind(void 0,r),o=O.StringNode.bind(void 0,e);r.register("dimension",(0,O.Mod)((0,O.ObjectNode)({type:(0,ce.DimensionTypePresets)(t("dimension_type")),generator:(0,O.ObjectNode)({type:o({validator:"resource",params:{pool:"worldgen/chunk_generator"}}),[O.Switch]:[{push:"type"}],[O.Case]:{"minecraft:noise":{settings:(0,ce.NoiseSettingsPresets)(t("noise_settings")),biome_source:(0,O.ObjectNode)({type:o({validator:"resource",params:{pool:"worldgen/biome_source"}}),[O.Switch]:[{push:"type"}],[O.Case]:{"minecraft:fixed":{biome:o({validator:"resource",params:{pool:"$worldgen/biome"}})},"minecraft:multi_noise":{preset:(0,O.Opt)(o({validator:"resource",params:{pool:["minecraft:overworld","minecraft:nether"]}})),biomes:(0,O.Mod)((0,O.ListNode)(t("generator_biome")),{enabled:n=>n.push("preset").get()===void 0,default:()=>[{biome:"minecraft:plains"}]})},"minecraft:checkerboard":{scale:(0,O.Opt)((0,O.NumberNode)({integer:!0,min:0,max:62})),biomes:(0,ce.Tag)({resource:"$worldgen/biome"})}}},{category:"predicate",disableSwitchContext:!0})},"minecraft:flat":{settings:t("flat_generator_settings")}}},{disableSwitchContext:!0})},{category:"pool",context:"dimension"}),{default:()=>({type:"minecraft:overworld",generator:{type:"minecraft:noise",biome_source:{type:"minecraft:fixed",biome:"minecraft:plains"},settings:"minecraft:overworld"}})})),r.register("flat_generator_settings",(0,O.ObjectNode)({biome:(0,O.Opt)(o({validator:"resource",params:{pool:"$worldgen/biome"}})),lakes:(0,O.Opt)((0,O.BooleanNode)()),features:(0,O.Opt)((0,O.BooleanNode)()),layers:(0,O.ListNode)(t("generator_layer")),structure_overrides:(0,ce.Tag)({resource:"$worldgen/structure_set",inlineSchema:"structure_set"})}));const d=(0,O.ChoiceNode)([{type:"number",node:(0,O.NumberNode)({min:-2,max:2}),change:n=>{var c;return(c=n[0])!==null&&c!==void 0?c:0}},{type:"list",node:(0,O.ListNode)((0,O.NumberNode)({min:-2,max:2}),{minLength:2,maxLength:2}),change:n=>[n!=null?n:0,n!=null?n:0]}]);r.register("parameter_point",(0,O.ObjectNode)({temperature:d,humidity:d,continentalness:d,erosion:d,weirdness:d,depth:d,offset:(0,O.NumberNode)({min:0,max:1})})),r.register("generator_biome",(0,O.Mod)((0,O.ObjectNode)({biome:o({validator:"resource",params:{pool:"$worldgen/biome"}}),parameters:t("parameter_point")},{context:"generator_biome"}),{default:()=>({biome:"minecraft:plains",parameters:{temperature:0,humidity:0,continentalness:0,erosion:0,weirdness:0,depth:0,offset:0}})}))}be.initDimensionSchemas=mt;var Ne={};Object.defineProperty(Ne,"__esModule",{value:!0});Ne.initDimensionTypeSchemas=void 0;const $=k,_t=T;function ut(r,e){const t=$.StringNode.bind(void 0,e);r.register("dimension_type",(0,$.Mod)((0,$.ObjectNode)({ultrawarm:(0,$.BooleanNode)(),natural:(0,$.BooleanNode)(),piglin_safe:(0,$.BooleanNode)(),respawn_anchor_works:(0,$.BooleanNode)(),bed_works:(0,$.BooleanNode)(),has_raids:(0,$.BooleanNode)(),has_skylight:(0,$.BooleanNode)(),has_ceiling:(0,$.BooleanNode)(),coordinate_scale:(0,$.NumberNode)({min:1e-5,max:3e7}),ambient_light:(0,$.NumberNode)(),fixed_time:(0,$.Opt)((0,$.NumberNode)({integer:!0})),logical_height:(0,$.NumberNode)({integer:!0,min:0,max:4064}),effects:(0,$.Opt)(t({enum:["minecraft:overworld","minecraft:the_nether","minecraft:the_end"]})),infiniburn:t({validator:"resource",params:{pool:"block",requireTag:!0}}),min_y:(0,$.NumberNode)({integer:!0,min:-2032,max:2031}),height:(0,$.NumberNode)({integer:!0,min:16,max:4064})},{context:"dimension_type"}),o=>({default:()=>_t.DefaultDimensionType,validate:(d,n,c,l)=>(n=o.validate(d,n,c,l),(n==null?void 0:n.min_y)+(n==null?void 0:n.height)>2032&&c.add(d.push("height"),"error.min_y_plus_height",2032),(n==null?void 0:n.logical_height)>(n==null?void 0:n.height)&&c.add(d.push("logical_height"),"error.logical_height"),(n==null?void 0:n.height)%16!==0&&c.add(d.push("height"),"error.height_multiple",16),(n==null?void 0:n.min_y)%16!==0&&c.add(d.push("min_y"),"error.min_y_multiple",16),n)})))}Ne.initDimensionTypeSchemas=ut;var he={};Object.defineProperty(he,"__esModule",{value:!0});he.initItemModifierSchemas=void 0;const G=k,pt=T;function ft(r,e){const t=G.Reference.bind(void 0,r),o=G.StringNode.bind(void 0,e);r.register("item_modifier",(0,G.ObjectOrList)(t("function"),{choiceContext:"function"}));const d={conditions:(0,G.Opt)((0,G.ListNode)(t("condition")))};r.register("function",(0,G.Mod)((0,G.ObjectNode)({function:o({validator:"resource",params:{pool:"loot_function_type"}}),[G.Switch]:[{push:"function"}],[G.Case]:(0,pt.FunctionCases)(d)},{category:"function",context:"function"}),{default:()=>[{function:"minecraft:set_count",count:1}]}))}he.initItemModifierSchemas=ft;var ye={},I={};Object.defineProperty(I,"__esModule",{value:!0});I.LootFunctions=I.LootConditions=I.LootCopySources=I.LootEntitySources=I.LootTableTypes=void 0;I.LootTableTypes=new Map([["minecraft:advancement_entity",{requires:[7,8],allows:[]}],["minecraft:advancement_reward",{requires:[7,8],allows:[]}],["minecraft:barter",{requires:[8],allows:[]}],["minecraft:block",{requires:[1,7,9],allows:[0,4,8]}],["minecraft:chest",{requires:[7],allows:[8]}],["minecraft:command",{requires:[7],allows:[8]}],["minecraft:empty",{requires:[],allows:[]}],["minecraft:entity",{requires:[2,7,8],allows:[3,5,6]}],["minecraft:fishing",{requires:[7,9],allows:[8]}],["minecraft:generic",{requires:[2,0,1,3,4,5,6,7,8,9],allows:[]}],["minecraft:gift",{requires:[7,8],allows:[]}],["minecraft:selector",{requires:[7],allows:[8]}]]);I.LootEntitySources=new Map([["direct_killer",[3]],["killer",[5]],["killer_player",[5]],["this",[8]]]);I.LootCopySources=new Map([["block_entity",[0]],["killer",[5]],["killer_player",[5]],["this",[8]]]);I.LootConditions=new Map([["minecraft:alternative",[]],["minecraft:block_state_property",[1]],["minecraft:damage_source_properties",[2]],["minecraft:entity_properties",[7]],["minecraft:entity_scores",[]],["minecraft:inverted",[]],["minecraft:killed_by_player",[6]],["minecraft:location_check",[]],["minecraft:match_tool",[9]],["minecraft:random_chance",[]],["minecraft:random_chance_with_looting",[5]],["minecraft:reference",[]],["minecraft:survives_explosion",[4]],["minecraft:table_bonus",[9]],["minecraft:time_check",[]],["minecraft:weather_check",[]]]);I.LootFunctions=new Map([["minecraft:apply_bonus",[9]],["minecraft:copy_name",[]],["minecraft:copy_nbt",[]],["minecraft:copy_state",[1]],["minecraft:enchant_randomly",[]],["minecraft:enchant_with_levels",[]],["minecraft:exploration_map",[7]],["minecraft:explosion_decay",[]],["minecraft:fill_player_head",[]],["minecraft:furnace_smelt",[]],["minecraft:limit_count",[]],["minecraft:looting_enchant",[5]],["minecraft:set_attributes",[]],["minecraft:set_banner_pattern",[]],["minecraft:set_contents",[]],["minecraft:set_count",[]],["minecraft:set_damage",[]],["minecraft:set_loot_table",[]],["minecraft:set_lore",[]],["minecraft:set_name",[]],["minecraft:set_nbt",[]],["minecraft:set_stew_effect",[]]]);Object.defineProperty(ye,"__esModule",{value:!0});ye.initLootTableSchemas=void 0;const p=k,ne=I,Ae=T;function gt(r,e){const t=p.Reference.bind(void 0,r),o=p.StringNode.bind(void 0,e),d={conditions:(0,p.Opt)((0,p.ListNode)(t("loot_condition")))},n=g({functions:(0,p.Opt)((0,p.ListNode)(t("loot_function")))},d);function c(h,B,D){const U=[],ae=Q=>e.get(B).filter(ee=>{var A;return((A=h.get(ee))!==null&&A!==void 0?A:[]).every(te=>Q.includes(te))});for(const[Q,{allows:ee,requires:A}]of ne.LootTableTypes){const E=[...ee,...A];U.push({match:te=>te.getModel().get(new p.Path(["type"]))===Q,node:D(ae(E))})}return U.push({match:Q=>!0,node:D(B)}),(0,p.SwitchNode)(U)}const l=c(ne.LootConditions,"loot_condition_type",h=>o({validator:"resource",params:{pool:h instanceof Array?h:"loot_condition_type"}})),v=c(ne.LootFunctions,"loot_function_type",h=>o({validator:"resource",params:{pool:h instanceof Array?h:"loot_function_type"}})),_=c(ne.LootEntitySources,"entity_source",h=>o({enum:h})),b=c(ne.LootCopySources,"copy_source",h=>o({enum:h}));r.register("loot_table",(0,p.Mod)((0,p.ObjectNode)({type:(0,p.Opt)(o({validator:"resource",params:{pool:e.get("loot_context_type")}})),pools:(0,p.Opt)((0,p.ListNode)((0,p.Mod)((0,p.ObjectNode)(g({rolls:t("number_provider"),bonus_rolls:(0,p.Opt)(t("number_provider")),entries:(0,p.ListNode)(t("loot_entry"))},n),{category:"pool",context:"loot_pool"}),{default:()=>({rolls:1,entries:[{type:"minecraft:item",name:"minecraft:stone"}]})}))),functions:(0,p.Opt)((0,p.ListNode)(t("loot_function")))},{context:"loot_table"}),{default:()=>({pools:[{rolls:1,entries:[{type:"minecraft:item",name:"minecraft:stone"}]}]})}));const j={enabled:h=>{var B;return((B=h.pop().get())===null||B===void 0?void 0:B.length)>1&&!["minecraft:alternatives","minecraft:group","minecraft:sequence"].includes(h.push("type").get())}};r.register("loot_entry",(0,p.Mod)((0,p.ObjectNode)({type:o({validator:"resource",params:{pool:"loot_pool_entry_type"}}),weight:(0,p.Opt)((0,p.Mod)((0,p.NumberNode)({integer:!0,min:1}),j)),quality:(0,p.Opt)((0,p.Mod)((0,p.NumberNode)({integer:!0}),j)),[p.Switch]:[{push:"type"}],[p.Case]:{"minecraft:alternatives":g({children:(0,p.ListNode)(t("loot_entry"))},n),"minecraft:dynamic":g({name:o()},n),"minecraft:group":g({children:(0,p.ListNode)(t("loot_entry"))},n),"minecraft:item":g({name:o({validator:"resource",params:{pool:"item"}})},n),"minecraft:loot_table":g({name:o({validator:"resource",params:{pool:"$loot_table"}})},n),"minecraft:sequence":g({children:(0,p.ListNode)(t("loot_entry"))},n),"minecraft:tag":g({name:o({validator:"resource",params:{pool:"$tag/item"}}),expand:(0,p.Opt)((0,p.BooleanNode)())},n)}},{context:"loot_entry"}),{default:()=>({type:"minecraft:item",name:"minecraft:stone"})})),r.register("loot_function",(0,p.Mod)((0,p.ObjectNode)({function:v,[p.Switch]:[{push:"function"}],[p.Case]:(0,Ae.FunctionCases)(d,b,_)},{category:"function",context:"function"}),{default:()=>({function:"minecraft:set_count",count:1})})),r.register("loot_condition",(0,p.Mod)((0,p.ObjectNode)({condition:l,[p.Switch]:[{push:"condition"}],[p.Case]:(0,Ae.ConditionCases)(_)},{category:"predicate",context:"condition"}),{default:()=>({condition:"minecraft:random_chance",chance:.5})})),r.register("attribute_modifier",(0,p.Mod)((0,p.ObjectNode)({attribute:o({validator:"resource",params:{pool:"attribute"}}),name:o(),amount:t("number_provider"),operation:o({enum:["addition","multiply_base","multiply_total"]}),slot:(0,p.StringOrList)(o({enum:"slot"}))},{context:"attribute_modifier"}),{default:()=>({attribute:"minecraft:generic.max_health",name:"",amount:1,operation:"addition",slot:"mainhand"})}))}ye.initLootTableSchemas=gt;var ve={};Object.defineProperty(ve,"__esModule",{value:!0});ve.initPackMcmetaSchemas=void 0;const R=k,Y=10;function bt(r,e){const t=R.Reference.bind(void 0,r),o=R.StringNode.bind(void 0,e);r.register("pack_mcmeta",(0,R.Mod)((0,R.ObjectNode)({pack:(0,R.Mod)((0,R.ObjectNode)({pack_format:(0,R.Mod)((0,R.NumberNode)({integer:!0,min:Y,max:Y}),{default:()=>Y,canUpdate:(d,n)=>n!==Y,update:()=>[{name:"pack_format",params:[Y],newValue:Y}]}),description:t("text_component")}),{default:()=>({pack_format:Y,description:""})}),filter:(0,R.Opt)((0,R.ObjectNode)({block:(0,R.ListNode)((0,R.ObjectNode)({namespace:(0,R.Opt)(o({validator:"regex_pattern"})),path:(0,R.Opt)(o({validator:"regex_pattern"}))}))}))}),{default:()=>({pack:{pack_format:Y,description:""}})}))}ve.initPackMcmetaSchemas=bt;var Oe={};Object.defineProperty(Oe,"__esModule",{value:!0});Oe.initPredicatesSchemas=void 0;const a=k;function Nt(r,e){const t=a.Reference.bind(void 0,r),o=a.StringNode.bind(void 0,e),d=(0,a.ChoiceNode)([{type:"string",node:o(),change:n=>typeof n=="boolean"||typeof n=="number"?n.toString():""},{type:"number",node:(0,a.NumberNode)(),change:n=>typeof n=="string"?parseInt(n):0},{type:"object",node:(0,a.ObjectNode)({min:(0,a.Opt)((0,a.NumberNode)({integer:!0})),max:(0,a.Opt)((0,a.NumberNode)({integer:!0}))}),change:n=>typeof n=="number"?{min:n,max:n}:{}},{type:"boolean",node:(0,a.BooleanNode)(),change:n=>n==="true"||n===1}]);r.register("item_predicate",(0,a.ObjectNode)({items:(0,a.Opt)((0,a.ListNode)(o({validator:"resource",params:{pool:"item"}}))),tag:(0,a.Opt)(o({validator:"resource",params:{pool:"$tag/item"}})),count:t("int_bounds"),durability:t("int_bounds"),potion:(0,a.Opt)(o({validator:"resource",params:{pool:"potion"}})),nbt:(0,a.Opt)(o({validator:"nbt",params:{registry:{category:"minecraft:item",id:["pop",{push:"item"}]}}})),enchantments:(0,a.Opt)((0,a.ListNode)(t("enchantment_predicate")))},{context:"item"})),r.register("enchantment_predicate",(0,a.ObjectNode)({enchantment:(0,a.Opt)(o({validator:"resource",params:{pool:"enchantment"}})),levels:t("int_bounds")},{context:"enchantment"})),r.register("block_predicate",(0,a.ObjectNode)({blocks:(0,a.Opt)((0,a.ListNode)(o({validator:"resource",params:{pool:"block"}}))),tag:(0,a.Opt)(o({validator:"resource",params:{pool:"$tag/block"}})),nbt:(0,a.Opt)(o({validator:"nbt",params:{registry:{category:"minecraft:block",id:["pop",{push:"block"}]}}})),state:(0,a.Opt)((0,a.MapNode)(o(),d,{validation:{validator:"block_state_map",params:{id:["pop",{push:"block"}]}}}))},{context:"block"})),r.register("fluid_predicate",(0,a.ObjectNode)({fluid:(0,a.Opt)(o({validator:"resource",params:{pool:"fluid"}})),tag:(0,a.Opt)(o({validator:"resource",params:{pool:"$tag/fluid"}})),state:(0,a.Opt)((0,a.MapNode)(o(),d))},{context:"fluid"})),r.register("location_predicate",(0,a.ObjectNode)({position:(0,a.Opt)((0,a.ObjectNode)({x:t("float_bounds"),y:t("float_bounds"),z:t("float_bounds")})),biome:(0,a.Opt)(o({validator:"resource",params:{pool:"$worldgen/biome"}})),structure:(0,a.Opt)(o({validator:"resource",params:{pool:"$worldgen/structure"}})),dimension:(0,a.Opt)(o({validator:"resource",params:{pool:"$dimension"}})),light:(0,a.Opt)((0,a.ObjectNode)({light:t("int_bounds")})),smokey:(0,a.Opt)((0,a.BooleanNode)()),block:(0,a.Opt)(t("block_predicate")),fluid:(0,a.Opt)(t("fluid_predicate"))},{context:"location"})),r.register("statistic_predicate",(0,a.ObjectNode)({type:o({validator:"resource",params:{pool:"stat_type"}}),stat:o(),value:t("int_bounds"),[a.Switch]:[{push:"type"}],[a.Case]:{"minecraft:mined":{stat:o({validator:"resource",params:{pool:"block"}})},"minecraft:crafted":{stat:o({validator:"resource",params:{pool:"item"}})},"minecraft:used":{stat:o({validator:"resource",params:{pool:"item"}})},"minecraft:broken":{stat:o({validator:"resource",params:{pool:"item"}})},"minecraft:picked_up":{stat:o({validator:"resource",params:{pool:"item"}})},"minecraft:dropped":{stat:o({validator:"resource",params:{pool:"item"}})},"minecraft:killed":{stat:o({validator:"resource",params:{pool:"entity_type"}})},"minecraft:killed_by":{stat:o({validator:"resource",params:{pool:"entity_type"}})},"minecraft:custom":{stat:o({validator:"resource",params:{pool:"custom_stat"}})}}})),r.register("status_effect_predicate",(0,a.ObjectNode)({amplifier:t("int_bounds"),duration:t("int_bounds"),ambient:(0,a.Opt)((0,a.BooleanNode)()),visible:(0,a.Opt)((0,a.BooleanNode)())},{context:"status_effect"})),r.register("distance_predicate",(0,a.ObjectNode)({x:t("float_bounds"),y:t("float_bounds"),z:t("float_bounds"),absolute:t("float_bounds"),horizontal:t("float_bounds")},{context:"distance"})),r.register("entity_predicate",(0,a.ObjectNode)({type:(0,a.Opt)(o({validator:"resource",params:{pool:"entity_type",allowTag:!0}})),type_specific:(0,a.Opt)((0,a.ObjectNode)({type:o({enum:["any","cat","fishing_hook","frog","lightning","player","slime"]}),[a.Switch]:[{push:"type"}],[a.Case]:{cat:{variant:(0,a.Opt)(o({validator:"resource",params:{pool:"cat_variant"}}))},fishing_hook:{in_open_water:(0,a.Opt)((0,a.BooleanNode)())},frog:{variant:(0,a.Opt)(o({validator:"resource",params:{pool:"frog_variant"}}))},lightning:{blocks_set_on_fire:(0,a.Opt)(t("int_bounds")),entity_struck:(0,a.Opt)(t("entity_predicate"))},player:{gamemode:(0,a.Opt)(o({enum:"gamemode"})),level:t("int_bounds"),advancements:(0,a.Opt)((0,a.MapNode)(o({validator:"resource",params:{pool:"$advancement"}}),(0,a.ChoiceNode)([{type:"boolean",node:(0,a.BooleanNode)(),change:()=>!0},{type:"object",node:(0,a.MapNode)(o(),(0,a.BooleanNode)())}]))),recipes:(0,a.Opt)((0,a.MapNode)(o({validator:"resource",params:{pool:"$recipe"}}),(0,a.BooleanNode)())),stats:(0,a.Opt)((0,a.ListNode)(t("statistic_predicate"))),looking_at:(0,a.Opt)(t("entity_predicate"))},slime:{size:t("int_bounds")}}})),nbt:(0,a.Opt)(o({validator:"nbt",params:{registry:{category:"minecraft:entity",id:["pop",{push:"type"}]}}})),team:(0,a.Opt)(o({validator:"team"})),location:(0,a.Opt)(t("location_predicate")),stepping_on:(0,a.Opt)(t("location_predicate")),distance:(0,a.Opt)(t("distance_predicate")),flags:(0,a.Opt)((0,a.ObjectNode)({is_on_fire:(0,a.Opt)((0,a.BooleanNode)()),is_sneaking:(0,a.Opt)((0,a.BooleanNode)()),is_sprinting:(0,a.Opt)((0,a.BooleanNode)()),is_swimming:(0,a.Opt)((0,a.BooleanNode)()),is_baby:(0,a.Opt)((0,a.BooleanNode)())})),equipment:(0,a.Opt)((0,a.MapNode)(o({enum:"slot"}),t("item_predicate"))),vehicle:(0,a.Opt)(t("entity_predicate")),passenger:(0,a.Opt)(t("entity_predicate")),targeted_entity:(0,a.Opt)(t("entity_predicate")),effects:(0,a.Opt)((0,a.MapNode)(o({validator:"resource",params:{pool:"mob_effect"}}),t("status_effect_predicate")))},{context:"entity"})),r.register("damage_source_predicate",(0,a.ObjectNode)({is_explosion:(0,a.Opt)((0,a.BooleanNode)()),is_fire:(0,a.Opt)((0,a.BooleanNode)()),is_magic:(0,a.Opt)((0,a.BooleanNode)()),is_projectile:(0,a.Opt)((0,a.BooleanNode)()),is_lightning:(0,a.Opt)((0,a.BooleanNode)()),bypasses_armor:(0,a.Opt)((0,a.BooleanNode)()),bypasses_invulnerability:(0,a.Opt)((0,a.BooleanNode)()),bypasses_magic:(0,a.Opt)((0,a.BooleanNode)()),source_entity:(0,a.Opt)(t("entity_predicate")),direct_entity:(0,a.Opt)(t("entity_predicate"))},{context:"damage_source"})),r.register("damage_predicate",(0,a.ObjectNode)({dealt:t("float_bounds"),taken:t("float_bounds"),blocked:(0,a.Opt)((0,a.BooleanNode)()),source_entity:(0,a.Opt)(t("entity_predicate")),type:(0,a.Opt)(t("damage_source_predicate"))},{context:"damage"}))}Oe.initPredicatesSchemas=Nt;var ke={};Object.defineProperty(ke,"__esModule",{value:!0});ke.initRecipeSchemas=void 0;const u=k;function ht(r,e){const t=u.Reference.bind(void 0,r),o=u.StringNode.bind(void 0,e);r.register("recipe",(0,u.Mod)((0,u.ObjectNode)({type:o({validator:"resource",params:{pool:"recipe_serializer"}}),[u.Switch]:[{push:"type"}],[u.Case]:{"minecraft:crafting_shaped":{group:(0,u.Opt)(o({enum:"recipe_group",additional:!0})),pattern:(0,u.ListNode)(o()),key:(0,u.MapNode)(o(),t("recipe_ingredient")),result:t("recipe_result")},"minecraft:crafting_shapeless":{group:(0,u.Opt)(o()),ingredients:(0,u.ListNode)(t("recipe_ingredient")),result:t("recipe_result")},"minecraft:smelting":{group:(0,u.Opt)(o()),ingredient:t("recipe_ingredient"),result:o({validator:"resource",params:{pool:"item"}}),experience:(0,u.Opt)((0,u.NumberNode)()),cookingtime:(0,u.Opt)((0,u.Mod)((0,u.NumberNode)({integer:!0}),{default:()=>200}))},"minecraft:blasting":{group:(0,u.Opt)(o()),ingredient:t("recipe_ingredient"),result:o({validator:"resource",params:{pool:"item"}}),experience:(0,u.Opt)((0,u.NumberNode)()),cookingtime:(0,u.Opt)((0,u.Mod)((0,u.NumberNode)({integer:!0}),{default:()=>100}))},"minecraft:smoking":{group:(0,u.Opt)(o()),ingredient:t("recipe_ingredient"),result:o({validator:"resource",params:{pool:"item"}}),experience:(0,u.Opt)((0,u.NumberNode)()),cookingtime:(0,u.Opt)((0,u.Mod)((0,u.NumberNode)({integer:!0}),{default:()=>100}))},"minecraft:campfire_cooking":{group:(0,u.Opt)(o()),ingredient:t("recipe_ingredient"),result:o({validator:"resource",params:{pool:"item"}}),experience:(0,u.Opt)((0,u.NumberNode)()),cookingtime:(0,u.Opt)((0,u.Mod)((0,u.NumberNode)({integer:!0}),{default:()=>100}))},"minecraft:stonecutting":{group:(0,u.Opt)(o()),ingredient:t("recipe_ingredient"),result:o({validator:"resource",params:{pool:"item"}}),count:(0,u.NumberNode)({integer:!0})},"minecraft:smithing":{group:(0,u.Opt)(o()),base:t("recipe_ingredient_object"),addition:t("recipe_ingredient_object"),result:t("recipe_result")}}},{context:"recipe",disableSwitchContext:!0}),{default:()=>({type:"minecraft:crafting_shaped"})})),r.register("recipe_ingredient",(0,u.Mod)((0,u.ChoiceNode)([{type:"object",node:t("recipe_ingredient_object"),change:d=>d[0]},{type:"list",node:(0,u.ListNode)(t("recipe_ingredient_object")),change:d=>[d]}]),{default:()=>({item:"minecraft:stone"})})),r.register("recipe_ingredient_object",(0,u.Mod)((0,u.ObjectNode)({item:(0,u.Opt)(o({validator:"resource",params:{pool:"item"}})),tag:(0,u.Opt)(o({validator:"resource",params:{pool:"$tag/item"}}))}),{default:()=>({item:"minecraft:stone"})})),r.register("recipe_result",(0,u.Mod)((0,u.ObjectNode)({item:o({validator:"resource",params:{pool:"item"}}),count:(0,u.Opt)((0,u.Mod)((0,u.NumberNode)({integer:!0}),{default:()=>1}))}),{default:()=>({item:"minecraft:stone"})}))}ke.initRecipeSchemas=ht;var we={};Object.defineProperty(we,"__esModule",{value:!0});we.initTagsSchemas=void 0;const H=k;function yt(r,e){const t=H.StringNode.bind(void 0,e),o=d=>(0,H.Mod)((0,H.ObjectNode)({replace:(0,H.Opt)((0,H.BooleanNode)()),values:(0,H.ListNode)((0,H.ChoiceNode)([{type:"string",node:t({validator:"resource",params:{pool:d,allowTag:!0}}),change:n=>n.id},{type:"object",node:(0,H.ObjectNode)({id:t({validator:"resource",params:{pool:d,allowTag:!0,allowUnknown:!0}}),required:(0,H.BooleanNode)()}),change:n=>({id:n})}]))},{context:"tag"}),{default:()=>({values:[]})});r.register("block_tag",o("block")),r.register("entity_type_tag",o("entity_type")),r.register("fluid_tag",o("fluid")),r.register("function_tag",o("$function")),r.register("game_event_tag",o("game_event")),r.register("item_tag",o("item")),r.register("advancement_tag",o("$advancement")),r.register("dimension_tag",o("$dimension")),r.register("dimension_type_tag",o("$dimension_type")),r.register("function_tag",o("$function")),r.register("item_modifier_tag",o("$item_modifier")),r.register("loot_table_tag",o("$loot_table")),r.register("predicate_tag",o("$predicate")),r.register("recipe_tag",o("$recipe")),r.register("structure_tag",o("$structure")),r.register("biome_tag",o("$worldgen/biome")),r.register("configured_carver_tag",o("$worldgen/configured_carver")),r.register("configured_feature_tag",o("$worldgen/configured_feature")),r.register("structure_tag",o("$worldgen/structure")),r.register("configured_surface_builder_tag",o("$worldgen/configured_surface_builder")),r.register("density_function_tag",o("$worldgen/density_function")),r.register("flat_level_generator_preset_tag",o("$worldgen/flat_level_generator_preset")),r.register("noise_tag",o("$worldgen/noise")),r.register("noise_settings_tag",o("$worldgen/noise_settings")),r.register("placed_feature_tag",o("$worldgen/placed_feature")),r.register("processor_list_tag",o("$worldgen/processor_list")),r.register("structure_set_tag",o("$worldgen/structure_set")),r.register("template_pool_tag",o("$worldgen/template_pool")),r.register("world_preset_tag",o("$worldgen/world_preset"))}we.initTagsSchemas=yt;var xe={};Object.defineProperty(xe,"__esModule",{value:!0});xe.initTextComponentSchemas=void 0;const m=k;function vt(r,e){const t=m.Reference.bind(void 0,r),o=m.StringNode.bind(void 0,e),d=l=>{var v;return l instanceof Array?d(l[0]):(v=l==null?void 0:l.text)!==null&&v!==void 0?v:typeof l=="object"?"":l==null?void 0:l.toString()};r.register("text_component",(0,m.Mod)((0,m.ChoiceNode)([{type:"object",node:t("text_component_object"),change:l=>l instanceof Array?typeof l[0]=="object"?l[0]:{text:d(l[0])}:typeof l=="object"?l:{text:d(l)}},{type:"list",node:t("text_component_list"),change:l=>[l]},{type:"string",priority:1,node:o(),change:d},{type:"number",node:(0,m.NumberNode)(),change:l=>{const v=parseFloat(d(l));return isFinite(v)?v:l?1:0}},{type:"boolean",node:(0,m.BooleanNode)(),change:l=>{const v=d(l);return v==="true"||v==="false"?v==="true":!!v}}],{context:"text_component"}),{default:()=>({text:""})}));const n={color:(0,m.Opt)(o()),font:(0,m.Opt)(o()),bold:(0,m.Opt)((0,m.BooleanNode)()),italic:(0,m.Opt)((0,m.BooleanNode)()),underlined:(0,m.Opt)((0,m.BooleanNode)()),strikethrough:(0,m.Opt)((0,m.BooleanNode)()),obfuscated:(0,m.Opt)((0,m.BooleanNode)()),insertion:(0,m.Opt)(o())};r.register("text_style",(0,m.ObjectNode)(g({},n),{context:"text_component_object"}));const c=W(g({},n),{clickEvent:(0,m.Opt)((0,m.ObjectNode)({action:o({enum:["open_url","open_file","run_command","suggest_command","change_page","copy_to_clipboard"]}),[m.Switch]:[{push:"action"}],[m.Case]:{change_page:{value:o()},copy_to_clipboard:{value:o()},open_file:{value:o()},open_url:{value:o()},run_command:{value:o({validator:"command",params:{leadingSlash:!0,allowPartial:!0}})},suggest_command:{value:o({validator:"command",params:{leadingSlash:!0,allowPartial:!0}})}}})),hoverEvent:(0,m.Opt)((0,m.ObjectNode)({action:o({enum:["show_text","show_item","show_entity"]}),[m.Switch]:[{push:"action"}],[m.Case]:{show_text:{value:(0,m.Opt)(t("text_component")),contents:(0,m.Opt)(t("text_component"))},show_item:{value:(0,m.Opt)(o({validator:"nbt",params:{module:"util::InventoryItem"}})),contents:(0,m.Opt)((0,m.ObjectNode)({id:o({validator:"resource",params:{pool:"item"}}),count:(0,m.Opt)((0,m.NumberNode)({integer:!0})),tag:(0,m.Opt)(o({validator:"nbt",params:{registry:{category:"minecraft:item",id:["pop",{push:"id"}]}}}))}))},show_entity:{value:(0,m.Opt)((0,m.ObjectNode)({name:(0,m.Opt)(o()),type:(0,m.Opt)(o()),id:(0,m.Opt)(o())})),contents:(0,m.Opt)((0,m.Mod)((0,m.ObjectNode)({name:(0,m.Opt)(t("text_component")),type:o({validator:"resource",params:{pool:"entity_type"}}),id:o({validator:"uuid"})}),{default:()=>({type:"minecraft:pig",id:"00000001-0001-0001-0001-000000000001"})}))}}})),extra:(0,m.Opt)(t("text_component_list"))});r.register("text_component_object",(0,m.Mod)((0,m.ChoiceNode)([{type:"text",match:l=>typeof l=="object",change:l=>({text:""}),priority:-1,node:(0,m.ObjectNode)(g({text:o()},c))},{type:"translation",match:l=>(l==null?void 0:l.translate)!==void 0,change:l=>({translate:""}),node:(0,m.ObjectNode)(g({translate:o(),with:(0,m.Opt)(t("text_component_list"))},c))},{type:"score",match:l=>(l==null?void 0:l.score)!==void 0,change:l=>({score:{}}),node:(0,m.ObjectNode)(g({score:(0,m.ObjectNode)({name:o({validator:"entity",params:{amount:"single",type:"entities",isScoreHolder:!0}}),objective:o({validator:"objective"}),value:(0,m.Opt)(o())})},c))},{type:"selector",match:l=>(l==null?void 0:l.selector)!==void 0,change:l=>({selector:""}),node:(0,m.ObjectNode)(g({selector:o({validator:"entity",params:{amount:"multiple",type:"entities"}}),separator:(0,m.Opt)(t("text_component"))},c))},{type:"keybind",match:l=>(l==null?void 0:l.keybind)!==void 0,change:l=>({keybind:""}),node:(0,m.ObjectNode)(g({keybind:o({enum:"keybind",additional:!0})},c))},{type:"nbt",match:l=>(l==null?void 0:l.nbt)!==void 0,change:l=>({nbt:""}),node:(0,m.ObjectNode)(g({nbt:o({validator:"nbt_path"}),block:(0,m.Opt)(o({validator:"vector",params:{dimension:3,isInteger:!0}})),entity:(0,m.Opt)(o({validator:"entity",params:{amount:"multiple",type:"entities"}})),storage:(0,m.Opt)(o({validator:"resource",params:{pool:"$storage"}})),interpret:(0,m.Opt)((0,m.BooleanNode)()),separator:(0,m.Opt)(t("text_component"))},c))}],{context:"text_component_object",choiceContext:"text_component.object"}),{default:()=>({text:""})})),r.register("text_component_list",(0,m.Mod)((0,m.ListNode)(t("text_component")),{default:()=>[{text:""}]}))}xe.initTextComponentSchemas=vt;var Se={},Te={};(function(r){Object.defineProperty(r,"__esModule",{value:!0}),r.initBiomeSchemas=r.MobCategorySpawnSettings=void 0;const e=k,t=T;function o(d,n){const c=e.StringNode.bind(void 0,n);r.MobCategorySpawnSettings=(0,e.Mod)((0,e.ListNode)((0,e.ObjectNode)({type:c({validator:"resource",params:{pool:"entity_type"}}),weight:(0,e.NumberNode)({integer:!0}),minCount:(0,e.NumberNode)({integer:!0}),maxCount:(0,e.NumberNode)({integer:!0})})),{category:()=>"pool",default:()=>[{type:"minecraft:bat",weight:1}]}),d.register("biome",(0,e.Mod)((0,e.ObjectNode)({temperature:(0,e.NumberNode)(),downfall:(0,e.NumberNode)(),precipitation:c({enum:["none","rain","snow"]}),temperature_modifier:(0,e.Opt)(c({enum:["none","frozen"]})),creature_spawn_probability:(0,e.Opt)((0,e.NumberNode)({min:0,max:1})),effects:(0,e.ObjectNode)({sky_color:(0,e.NumberNode)({color:!0}),fog_color:(0,e.NumberNode)({color:!0}),water_color:(0,e.NumberNode)({color:!0}),water_fog_color:(0,e.NumberNode)({color:!0}),grass_color:(0,e.Opt)((0,e.NumberNode)({color:!0})),foliage_color:(0,e.Opt)((0,e.NumberNode)({color:!0})),grass_color_modifier:(0,e.Opt)(c({enum:["none","dark_forest","swamp"]})),ambient_sound:(0,e.Opt)(c()),mood_sound:(0,e.Opt)((0,e.ObjectNode)({sound:c(),tick_delay:(0,e.NumberNode)({integer:!0}),block_search_extent:(0,e.NumberNode)({integer:!0}),offset:(0,e.NumberNode)()})),additions_sound:(0,e.Opt)((0,e.ObjectNode)({sound:c(),tick_chance:(0,e.NumberNode)({min:0,max:1})})),music:(0,e.Opt)((0,e.ObjectNode)({sound:c(),min_delay:(0,e.NumberNode)({integer:!0,min:0}),max_delay:(0,e.NumberNode)({integer:!0,min:0}),replace_current_music:(0,e.BooleanNode)()})),particle:(0,e.Opt)((0,e.ObjectNode)({options:(0,e.ObjectNode)({type:c()}),probability:(0,e.NumberNode)({min:0,max:1})}))}),spawners:(0,e.MapNode)(c({enum:"mob_category"}),r.MobCategorySpawnSettings),spawn_costs:(0,e.MapNode)(c({validator:"resource",params:{pool:"entity_type"}}),(0,e.Mod)((0,e.ObjectNode)({energy_budget:(0,e.NumberNode)(),charge:(0,e.NumberNode)()},{category:"function"}),{default:()=>({energy_budget:.12,charge:1})})),carvers:(0,e.MapNode)(c({enum:["air","liquid"]}),(0,e.Mod)((0,t.Tag)({resource:"$worldgen/configured_carver",inlineSchema:"configured_carver"}),{default:()=>["minecraft:cave"]})),features:(0,e.ListNode)((0,e.Mod)((0,t.Tag)({resource:"$worldgen/placed_feature",inlineSchema:"placed_feature"}),{category:()=>"predicate"}),{maxLength:11})},{context:"biome"}),{default:()=>({temperature:.8,downfall:.4,precipitation:"rain",category:"plains",effects:{sky_color:7907327,fog_color:12638463,water_color:4159204,water_fog_color:329011}})}))}r.initBiomeSchemas=o})(Te);var je={};Object.defineProperty(je,"__esModule",{value:!0});je.initCarverSchemas=void 0;const P=k,K=T;function Ot(r,e){const t=P.Reference.bind(void 0,r),o=P.StringNode.bind(void 0,e),d={vertical_rotation:(0,K.FloatProvider)(),shape:(0,P.ObjectNode)({distance_factor:(0,K.FloatProvider)(),thickness:(0,K.FloatProvider)(),width_smoothness:(0,P.NumberNode)({integer:!0,min:0}),horizontal_radius_factor:(0,K.FloatProvider)(),vertical_radius_default_factor:(0,P.NumberNode)(),vertical_radius_center_factor:(0,P.NumberNode)()})},n={horizontal_radius_multiplier:(0,K.FloatProvider)(),vertical_radius_multiplier:(0,K.FloatProvider)(),floor_level:(0,K.FloatProvider)({min:-1,max:1})};r.register("configured_carver",(0,P.Mod)((0,P.ObjectNode)({type:o({validator:"resource",params:{pool:"worldgen/carver"}}),config:(0,P.ObjectNode)({probability:(0,P.NumberNode)({min:0,max:1}),y:t("height_provider"),yScale:(0,K.FloatProvider)(),lava_level:t("vertical_anchor"),replaceable:(0,K.Tag)({resource:"block"}),debug_settings:(0,P.Opt)((0,P.ObjectNode)({debug_mode:(0,P.Opt)((0,P.BooleanNode)()),air_state:(0,P.Opt)(t("block_state")),water_state:(0,P.Opt)(t("block_state")),lava_state:(0,P.Opt)(t("block_state")),barrier_state:(0,P.Opt)(t("block_state"))})),[P.Switch]:["pop",{push:"type"}],[P.Case]:{"minecraft:canyon":d,"minecraft:cave":n,"minecraft:nether_cave":n}})},{context:"carver"}),{default:()=>({type:"minecraft:cave",config:{probability:.1}})}))}je.initCarverSchemas=Ot;var Ce={};Object.defineProperty(Ce,"__esModule",{value:!0});Ce.initDecoratorSchemas=void 0;const L=k,de=T;function kt(r,e){const t=L.Reference.bind(void 0,r),o=L.StringNode.bind(void 0,e);r.register("decorator",(0,L.ObjectNode)({type:o({validator:"resource",params:{pool:"worldgen/placement_modifier_type"}}),[L.Switch]:[{push:"type"}],[L.Case]:{"minecraft:block_predicate_filter":{predicate:t("block_predicate_worldgen")},"minecraft:carving_mask":{step:o({enum:"generation_step"})},"minecraft:rarity_filter":{chance:(0,L.NumberNode)({integer:!0,min:0})},"minecraft:count":{count:(0,de.IntProvider)({min:0,max:256})},"minecraft:count_on_every_layer":{count:(0,de.IntProvider)({min:0,max:256})},"minecraft:noise_threshold_count":{noise_level:(0,L.NumberNode)(),below_noise:(0,L.NumberNode)({integer:!0}),above_noise:(0,L.NumberNode)({integer:!0})},"minecraft:noise_based_count":{noise_to_count_ratio:(0,L.NumberNode)({integer:!0}),noise_factor:(0,L.NumberNode)(),noise_offset:(0,L.Opt)((0,L.NumberNode)())},"minecraft:environment_scan":{direction_of_search:o({enum:["up","down"]}),max_steps:(0,L.NumberNode)({integer:!0,min:1,max:32}),target_condition:t("block_predicate_worldgen"),allowed_search_condition:(0,L.Opt)(t("block_predicate_worldgen"))},"minecraft:heightmap":{heightmap:o({enum:"heightmap_type"})},"minecraft:height_range":{height:t("height_provider")},"minecraft:random_offset":{xz_spread:(0,de.IntProvider)({min:-16,max:16}),y_spread:(0,de.IntProvider)({min:-16,max:16})},"minecraft:surface_relative_threshold_filter":{heightmap:o({enum:"heightmap_type"}),min_inclusive:(0,L.Opt)((0,L.NumberNode)({integer:!0})),max_inclusive:(0,L.Opt)((0,L.NumberNode)({integer:!0}))},"minecraft:surface_water_depth_filter":{max_water_depth:(0,L.NumberNode)({integer:!0})}}},{context:"decorator",category:"predicate"}))}Ce.initDecoratorSchemas=kt;var Re={};(function(r){Object.defineProperty(r,"__esModule",{value:!0}),r.initDensityFunctionSchemas=r.DensityFunction=void 0;const e=k;function t(o,d){const n=e.StringNode.bind(void 0,d),c=e.Reference.bind(void 0,o);r.DensityFunction=(0,e.Mod)((0,e.ChoiceNode)([{type:"number",node:(0,e.NumberNode)(),change:()=>0},{type:"string",priority:1,node:n({validator:"resource",params:{pool:"$worldgen/density_function"}}),change:()=>{}},{type:"object",node:c("density_function"),change:()=>({})}],{choiceContext:"density_function"}),{default:()=>0});const l=(0,e.ChoiceNode)([{type:"string",node:n({validator:"resource",params:{pool:"$worldgen/noise"}}),change:()=>{}},{type:"object",node:c("noise_parameters")}],{choiceContext:"noise_parameters"}),v=(0,e.NumberNode)({min:-1e6,max:1e6}),_=(0,e.NumberNode)({integer:!0,min:-2032*2,max:2031*2});o.register("density_function",(0,e.Mod)((0,e.ObjectNode)({type:n({validator:"resource",params:{pool:"worldgen/density_function_type"}}),[e.Switch]:[{push:"type"}],[e.Case]:{"minecraft:abs":{argument:r.DensityFunction},"minecraft:add":{argument1:r.DensityFunction,argument2:r.DensityFunction},"minecraft:blend_density":{argument:r.DensityFunction},"minecraft:cache_2d":{argument:r.DensityFunction},"minecraft:cache_all_in_cell":{argument:r.DensityFunction},"minecraft:cache_once":{argument:r.DensityFunction},"minecraft:clamp":{input:r.DensityFunction,min:v,max:v},"minecraft:constant":{argument:(0,e.NumberNode)()},"minecraft:cube":{argument:r.DensityFunction},"minecraft:flat_cache":{argument:r.DensityFunction},"minecraft:half_negative":{argument:r.DensityFunction},"minecraft:interpolated":{argument:r.DensityFunction},"minecraft:max":{argument1:r.DensityFunction,argument2:r.DensityFunction},"minecraft:min":{argument1:r.DensityFunction,argument2:r.DensityFunction},"minecraft:mul":{argument1:r.DensityFunction,argument2:r.DensityFunction},"minecraft:noise":{noise:l,xz_scale:(0,e.NumberNode)(),y_scale:(0,e.NumberNode)()},"minecraft:old_blended_noise":{xz_scale:(0,e.NumberNode)(),y_scale:(0,e.NumberNode)(),xz_factor:(0,e.NumberNode)(),y_factor:(0,e.NumberNode)(),smear_scale_multiplier:(0,e.NumberNode)({min:1,max:8})},"minecraft:quarter_negative":{argument:r.DensityFunction},"minecraft:range_choice":{input:r.DensityFunction,min_inclusive:v,max_exclusive:v,when_in_range:r.DensityFunction,when_out_of_range:r.DensityFunction},"minecraft:shift":{argument:r.DensityFunction},"minecraft:shift_a":{argument:r.DensityFunction},"minecraft:shift_b":{argument:r.DensityFunction},"minecraft:shifted_noise":{noise:l,xz_scale:(0,e.NumberNode)(),y_scale:(0,e.NumberNode)(),shift_x:r.DensityFunction,shift_y:r.DensityFunction,shift_z:r.DensityFunction},"minecraft:slide":{argument:r.DensityFunction},"minecraft:spline":{spline:c("cubic_spline")},"minecraft:square":{argument:r.DensityFunction},"minecraft:squeeze":{argument:r.DensityFunction},"minecraft:weird_scaled_sampler":{rarity_value_mapper:n({enum:["type_1","type_2"]}),noise:l,input:r.DensityFunction},"minecraft:y_clamped_gradient":{from_y:_,to_y:_,from_value:v,to_value:v}}},{context:"density_function",disableSwitchContext:!0}),{default:()=>({type:"minecraft:noise",noise:"minecraft:cave_entrance",xz_scale:.75,y_scale:.5})})),o.register("cubic_spline",(0,e.Mod)((0,e.ChoiceNode)([{type:"number",node:(0,e.NumberNode)()},{type:"object",node:(0,e.ObjectNode)({coordinate:r.DensityFunction,points:(0,e.ListNode)((0,e.ObjectNode)({location:(0,e.NumberNode)(),derivative:(0,e.NumberNode)(),value:c("cubic_spline")}))},{category:"function"})}],{context:"terrain_spline",choiceContext:"terrain_spline"}),{default:()=>0}))}r.initDensityFunctionSchemas=t})(Re);var Me={},J={};Object.defineProperty(J,"__esModule",{value:!0});J.initProcessorListSchemas=J.Processors=void 0;const y=k,wt=T;function xt(r,e){const t=y.Reference.bind(void 0,r),o=y.StringNode.bind(void 0,e);J.Processors=(0,y.ChoiceNode)([{type:"string",node:o({validator:"resource",params:{pool:"$worldgen/processor_list"}}),change:n=>{}},{type:"object",node:t("processor_list"),change:n=>({processors:[{processor_type:"minecraft:nop"}]})}]),r.register("processor_list",(0,y.Mod)((0,y.ObjectNode)({processors:(0,y.ListNode)(t("processor"))},{context:"processor_list"}),{default:()=>({processors:[{processor_type:"minecraft:rule",rules:[{location_predicate:{predicate_type:"minecraft:always_true"},input_predicate:{predicate_type:"minecraft:always_true"}}]}]})})),r.register("processor",(0,y.Mod)((0,y.ObjectNode)({processor_type:o({validator:"resource",params:{pool:"worldgen/structure_processor"}}),[y.Switch]:[{push:"processor_type"}],[y.Case]:{"minecraft:block_age":{mossiness:(0,y.NumberNode)()},"minecraft:block_ignore":{blocks:(0,y.ListNode)(t("block_state"))},"minecraft:block_rot":{integrity:(0,y.NumberNode)({min:0,max:1}),rottable_blocks:(0,y.Opt)((0,wt.Tag)({resource:"block"}))},"minecraft:gravity":{heightmap:o({enum:"heightmap_type"}),offset:(0,y.NumberNode)({integer:!0})},"minecraft:protected_blocks":{value:o({validator:"resource",params:{pool:"block",requireTag:!0}})},"minecraft:rule":{rules:(0,y.ListNode)(t("processor_rule"))}}},{category:"function",context:"processor"}),{default:()=>({processor_type:"minecraft:rule",rules:[{location_predicate:{predicate_type:"minecraft:always_true"},input_predicate:{predicate_type:"minecraft:always_true"}}]})})),r.register("processor_rule",(0,y.Mod)((0,y.ObjectNode)({position_predicate:(0,y.Opt)(t("pos_rule_test")),location_predicate:t("rule_test"),input_predicate:t("rule_test"),output_state:t("block_state"),output_nbt:(0,y.Opt)(o({validator:"nbt",params:{registry:{category:"minecraft:block"}}}))},{category:"predicate",context:"processor_rule"}),{default:()=>({location_predicate:{predicate_type:"minecraft:always_true"},input_predicate:{predicate_type:"minecraft:always_true"}})}));const d={min_dist:(0,y.Opt)((0,y.NumberNode)({min:0,max:255,integer:!0})),max_dist:(0,y.Opt)((0,y.NumberNode)({min:0,max:255,integer:!0})),min_chance:(0,y.Opt)((0,y.NumberNode)({min:0,max:1})),max_chance:(0,y.Opt)((0,y.NumberNode)({min:0,max:1}))};r.register("pos_rule_test",(0,y.ObjectNode)({predicate_type:o({validator:"resource",params:{pool:"pos_rule_test"}}),[y.Switch]:[{push:"predicate_type"}],[y.Case]:{"minecraft:axis_aligned_linear_pos":g({axis:o({enum:["x","y","z"]})},d),"minecraft:linear_pos":d}},{context:"pos_rule_test",disableSwitchContext:!0})),r.register("rule_test",(0,y.ObjectNode)({predicate_type:o({validator:"resource",params:{pool:"rule_test"}}),[y.Switch]:[{push:"predicate_type"}],[y.Case]:{"minecraft:block_match":{block:o({validator:"resource",params:{pool:"block"}})},"minecraft:blockstate_match":{block_state:t("block_state")},"minecraft:random_block_match":{block:o({validator:"resource",params:{pool:"block"}}),probability:(0,y.NumberNode)({min:0,max:1})},"minecraft:random_blockstate_match":{block_state:t("block_state"),probability:(0,y.NumberNode)({min:0,max:1})},"minecraft:tag_match":{tag:o({validator:"resource",params:{pool:"$tag/block"}})}}},{context:"rule_test",disableSwitchContext:!0}))}J.initProcessorListSchemas=xt;Object.defineProperty(Me,"__esModule",{value:!0});Me.initFeatureSchemas=void 0;const i=k,f=T,Ee=J;function St(r,e){const t=i.Reference.bind(void 0,r),o=i.StringNode.bind(void 0,e),d=(0,i.ChoiceNode)([{type:"string",node:o({validator:"resource",params:{pool:"$worldgen/configured_feature"}})},{type:"object",node:t("configured_feature")}],{choiceContext:"feature"}),n=(0,i.ChoiceNode)([{type:"string",node:o({validator:"resource",params:{pool:"$worldgen/placed_feature"}})},{type:"object",node:t("placed_feature")}],{choiceContext:"placed_feature"}),c={tries:(0,i.Opt)((0,i.NumberNode)({integer:!0,min:1})),xz_spread:(0,i.Opt)((0,i.NumberNode)({integer:!0,min:0})),y_spread:(0,i.Opt)((0,i.NumberNode)({integer:!0,min:0})),feature:n},l={cap_provider:t("block_state_provider"),stem_provider:t("block_state_provider"),foliage_radius:(0,i.Opt)((0,i.NumberNode)({integer:!0}))},v=(0,i.ObjectNode)({target:t("rule_test"),state:t("block_state")}),_={size:(0,i.NumberNode)({integer:!0,min:0,max:64}),discard_chance_on_air_exposure:(0,i.NumberNode)({min:0,max:1}),targets:(0,i.ListNode)(v)},b={surface:o({enum:"cave_surface"}),depth:(0,f.IntProvider)({min:1,max:128}),vertical_range:(0,i.NumberNode)({integer:!0,min:1,max:256}),extra_bottom_block_chance:(0,i.NumberNode)({min:0,max:1}),extra_edge_column_chance:(0,i.NumberNode)({min:0,max:1}),vegetation_chance:(0,i.NumberNode)({min:0,max:1}),xz_radius:(0,f.IntProvider)(),replaceable:o({validator:"resource",params:{pool:"block",requireTag:!0}}),ground_state:t("block_state_provider"),vegetation_feature:n};r.register("configured_feature",(0,i.Mod)((0,i.ObjectNode)({type:o({validator:"resource",params:{pool:"worldgen/feature"}}),config:(0,i.ObjectNode)({[i.Switch]:["pop",{push:"type"}],[i.Case]:{"minecraft:bamboo":{probability:(0,i.NumberNode)({min:0,max:1})},"minecraft:basalt_columns":{reach:(0,f.IntProvider)({min:0,max:3}),height:(0,f.IntProvider)({min:1,max:10})},"minecraft:block_column":{direction:o({enum:["up","down","north","east","south","west"]}),allowed_placement:t("block_predicate_worldgen"),prioritize_tip:(0,i.BooleanNode)(),layers:(0,i.ListNode)((0,i.ObjectNode)({height:(0,f.IntProvider)({min:0}),provider:t("block_state_provider")}))},"minecraft:block_pile":{state_provider:t("block_state_provider")},"minecraft:delta_feature":{contents:t("block_state"),rim:t("block_state"),size:(0,f.IntProvider)({min:0,max:16}),rim_size:(0,f.IntProvider)({min:0,max:16})},"minecraft:disk":{state_provider:t("rule_based_block_state_provider"),target:t("block_predicate_worldgen"),radius:(0,f.IntProvider)({min:0,max:8}),half_height:(0,i.NumberNode)({integer:!0,min:0,max:4})},"minecraft:dripstone_cluster":{floor_to_ceiling_search_range:(0,i.NumberNode)({integer:!0,min:1,max:512}),height:(0,f.IntProvider)({min:0,max:128}),radius:(0,f.IntProvider)({min:0,max:128}),max_stalagmite_stalactite_height_diff:(0,i.NumberNode)({integer:!0,min:0,max:64}),height_deviation:(0,i.NumberNode)({integer:!0,min:1,max:64}),dripstone_block_layer_thickness:(0,f.IntProvider)({min:0,max:128}),density:(0,f.FloatProvider)({min:0,max:2}),wetness:(0,f.FloatProvider)({min:0,max:2}),chance_of_dripstone_column_at_max_distance_from_center:(0,i.NumberNode)({min:0,max:1}),max_distance_from_edge_affecting_chance_of_dripstone_column:(0,i.NumberNode)({integer:!0,min:1,max:64}),max_distance_from_center_affecting_height_bias:(0,i.NumberNode)({integer:!0,min:1,max:64})},"minecraft:end_gateway":{exact:(0,i.BooleanNode)(),exit:(0,i.Opt)(t("block_pos"))},"minecraft:end_spike":{crystal_invulnerable:(0,i.Opt)((0,i.BooleanNode)()),crystal_beam_target:(0,i.Opt)(t("block_pos")),spikes:(0,i.ListNode)((0,i.ObjectNode)({centerX:(0,i.Opt)((0,i.NumberNode)({integer:!0})),centerZ:(0,i.Opt)((0,i.NumberNode)({integer:!0})),radius:(0,i.Opt)((0,i.NumberNode)({integer:!0})),height:(0,i.Opt)((0,i.NumberNode)({integer:!0})),guarded:(0,i.Opt)((0,i.BooleanNode)())}))},"minecraft:fill_layer":{state:t("block_state"),height:(0,i.NumberNode)({integer:!0,min:0,max:255})},"minecraft:flower":c,"minecraft:forest_rock":{state:t("block_state")},"minecraft:fossil":{max_empty_corners_allowed:(0,i.NumberNode)({integer:!0,min:0,max:7}),fossil_structures:(0,i.ListNode)(o({validator:"resource",params:{pool:"$structure"}})),overlay_structures:(0,i.ListNode)(o({validator:"resource",params:{pool:"$structure"}})),fossil_processors:Ee.Processors,overlay_processors:Ee.Processors},"minecraft:geode":{blocks:(0,i.ObjectNode)({filling_provider:t("block_state_provider"),inner_layer_provider:t("block_state_provider"),alternate_inner_layer_provider:t("block_state_provider"),middle_layer_provider:t("block_state_provider"),outer_layer_provider:t("block_state_provider"),inner_placements:(0,i.ListNode)(t("block_state")),cannot_replace:o({validator:"resource",params:{pool:"block",requireTag:!0}}),invalid_blocks:o({validator:"resource",params:{pool:"block",requireTag:!0}})}),layers:(0,i.ObjectNode)({filling:(0,i.Opt)((0,i.NumberNode)({min:.01,max:50})),inner_layer:(0,i.Opt)((0,i.NumberNode)({min:.01,max:50})),middle_layer:(0,i.Opt)((0,i.NumberNode)({min:.01,max:50})),outer_layer:(0,i.Opt)((0,i.NumberNode)({min:.01,max:50}))}),crack:(0,i.ObjectNode)({generate_crack_chance:(0,i.Opt)((0,i.NumberNode)({min:0,max:1})),base_crack_size:(0,i.Opt)((0,i.NumberNode)({min:0,max:5})),crack_point_offset:(0,i.Opt)((0,i.NumberNode)({min:0,max:10}))}),noise_multiplier:(0,i.Opt)((0,i.NumberNode)({min:0,max:1})),use_potential_placements_chance:(0,i.Opt)((0,i.NumberNode)({min:0,max:1})),use_alternate_layer0_chance:(0,i.Opt)((0,i.NumberNode)({min:0,max:1})),placements_require_layer0_alternate:(0,i.Opt)((0,i.BooleanNode)()),outer_wall_distance:(0,i.Opt)((0,f.IntProvider)({min:1,max:20})),distribution_points:(0,i.Opt)((0,f.IntProvider)({min:1,max:20})),point_offset:(0,i.Opt)((0,f.IntProvider)({min:0,max:10})),min_gen_offset:(0,i.Opt)((0,i.NumberNode)({integer:!0})),max_gen_offset:(0,i.Opt)((0,i.NumberNode)({integer:!0})),invalid_blocks_threshold:(0,i.NumberNode)({integer:!0})},"minecraft:multiface_growth":{search_range:(0,i.Opt)((0,i.NumberNode)({min:1,max:64,integer:!0})),chance_of_spreading:(0,i.Opt)((0,i.NumberNode)({min:0,max:1})),can_place_on_floor:(0,i.Opt)((0,i.BooleanNode)()),can_place_on_ceiling:(0,i.Opt)((0,i.BooleanNode)()),can_place_on_wall:(0,i.Opt)((0,i.BooleanNode)()),can_be_placed_on:(0,f.Tag)({resource:"block"})},"minecraft:huge_brown_mushroom":l,"minecraft:huge_fungus":{hat_state:t("block_state"),decor_state:t("block_state"),stem_state:t("block_state"),valid_base_block:t("block_state"),planted:(0,i.Opt)((0,i.BooleanNode)())},"minecraft:huge_red_mushroom":l,"minecraft:iceberg":{state:t("block_state")},"minecraft:lake":{fluid:t("block_state_provider"),barrier:t("block_state_provider")},"minecraft:large_dripstone":{floor_to_ceiling_search_range:(0,i.Opt)((0,i.NumberNode)({integer:!0,min:1,max:512})),column_radius:(0,f.IntProvider)({min:0,max:60}),height_scale:(0,f.FloatProvider)({min:0,max:20}),max_column_radius_to_cave_height_ratio:(0,i.NumberNode)({min:0,max:1}),stalactite_bluntness:(0,f.FloatProvider)({min:.1,max:10}),stalagmite_bluntness:(0,f.FloatProvider)({min:.1,max:10}),wind_speed:(0,f.FloatProvider)({min:0,max:2}),min_radius_for_wind:(0,i.NumberNode)({integer:!0,min:0,max:100}),min_bluntness_for_wind:(0,i.NumberNode)({min:0,max:5})},"minecraft:nether_forest_vegetation":{state_provider:t("block_state_provider"),spread_width:(0,i.NumberNode)({integer:!0,min:1}),spread_height:(0,i.NumberNode)({integer:!0,min:1})},"minecraft:netherrack_replace_blobs":{state:t("block_state"),target:t("block_state"),radius:(0,f.IntProvider)({min:0,max:12})},"minecraft:no_bonemeal_flower":c,"minecraft:ore":_,"minecraft:pointed_dripstone":{chance_of_taller_dripstone:(0,i.Opt)((0,i.NumberNode)({min:0,max:1})),chance_of_directional_spread:(0,i.Opt)((0,i.NumberNode)({min:0,max:1})),chance_of_spread_radius2:(0,i.Opt)((0,i.NumberNode)({min:0,max:1})),chance_of_spread_radius3:(0,i.Opt)((0,i.NumberNode)({min:0,max:1}))},"minecraft:random_patch":c,"minecraft:random_boolean_selector":{feature_false:n,feature_true:n},"minecraft:random_selector":{features:(0,i.ListNode)((0,i.ObjectNode)({chance:(0,i.NumberNode)({min:0,max:1}),feature:n})),default:n},"minecraft:replace_single_block":{targets:(0,i.ListNode)(v)},"minecraft:root_system":{required_vertical_space_for_tree:(0,i.NumberNode)({integer:!0,min:1,max:64}),root_radius:(0,i.NumberNode)({integer:!0,min:1,max:64}),root_placement_attempts:(0,i.NumberNode)({integer:!0,min:1,max:256}),root_column_max_height:(0,i.NumberNode)({integer:!0,min:1,max:4096}),hanging_root_radius:(0,i.NumberNode)({integer:!0,min:1,max:64}),hanging_roots_vertical_span:(0,i.NumberNode)({integer:!0,min:0,max:16}),hanging_root_placement_attempts:(0,i.NumberNode)({integer:!0,min:0,max:256}),allowed_vertical_water_for_tree:(0,i.NumberNode)({integer:!0,min:1,max:64}),root_replaceable:o({validator:"resource",params:{pool:"block",requireTag:!0}}),root_state_provider:t("block_state_provider"),hanging_root_state_provider:t("block_state_provider"),allowed_tree_position:t("block_predicate_worldgen"),feature:n},"minecraft:scattered_ore":_,"minecraft:sculk_patch":{charge_count:(0,i.NumberNode)({integer:!0,min:1,max:32}),amount_per_charge:(0,i.NumberNode)({integer:!0,min:1,max:500}),spread_attempts:(0,i.NumberNode)({integer:!0,min:1,max:64}),growth_rounds:(0,i.NumberNode)({integer:!0,min:0,max:8}),spread_rounds:(0,i.NumberNode)({integer:!0,min:0,max:8}),extra_rare_growths:(0,f.IntProvider)(),catalyst_chance:(0,i.NumberNode)({min:0,max:1})},"minecraft:sea_pickle":{count:(0,f.IntProvider)({min:0,max:256})},"minecraft:seagrass":{probability:(0,i.NumberNode)({min:0,max:1})},"minecraft:simple_block":{to_place:t("block_state_provider")},"minecraft:simple_random_selector":{features:(0,f.Tag)({resource:"$worldgen/placed_feature",inlineSchema:"placed_feature"})},"minecraft:spring_feature":{state:t("fluid_state"),rock_count:(0,i.NumberNode)({integer:!0}),hole_count:(0,i.NumberNode)({integer:!0}),requires_block_below:(0,i.BooleanNode)(),valid_blocks:(0,f.Tag)({resource:"block"})},"minecraft:tree":{ignore_vines:(0,i.Opt)((0,i.BooleanNode)()),force_dirt:(0,i.Opt)((0,i.BooleanNode)()),minimum_size:t("feature_size"),dirt_provider:t("block_state_provider"),trunk_provider:t("block_state_provider"),foliage_provider:t("block_state_provider"),root_placer:(0,i.Opt)((0,i.ObjectNode)({type:o({validator:"resource",params:{pool:"worldgen/root_placer_type"}}),root_provider:t("block_state_provider"),trunk_offset_y:(0,f.IntProvider)(),above_root_placement:(0,i.Opt)((0,i.ObjectNode)({above_root_provider:t("block_state_provider"),above_root_placement_chance:(0,i.NumberNode)({min:0,max:1})})),[i.Switch]:[{push:"type"}],[i.Case]:{"minecraft:mangrove_root_placer":{mangrove_root_placement:(0,i.ObjectNode)({max_root_width:(0,i.NumberNode)({integer:!0,min:1,max:12}),max_root_length:(0,i.NumberNode)({integer:!0,min:1,max:64}),random_skew_chance:(0,i.NumberNode)({min:0,max:1}),can_grow_through:(0,f.Tag)({resource:"block"}),muddy_roots_in:(0,f.Tag)({resource:"block"}),muddy_roots_provider:t("block_state_provider")})}}},{context:"root_placer"})),trunk_placer:(0,i.ObjectNode)({type:o({validator:"resource",params:{pool:"worldgen/trunk_placer_type"}}),base_height:(0,i.NumberNode)({integer:!0,min:0,max:32}),height_rand_a:(0,i.NumberNode)({integer:!0,min:0,max:24}),height_rand_b:(0,i.NumberNode)({integer:!0,min:0,max:24}),[i.Switch]:[{push:"type"}],[i.Case]:{"minecraft:bending_trunk_placer":{bend_length:(0,f.IntProvider)({min:1,max:64}),min_height_for_leaves:(0,i.Opt)((0,i.NumberNode)({integer:!0,min:1}))},"minecraft:upwards_branching_trunk_placer":{extra_branch_steps:(0,f.IntProvider)({min:1}),extra_branch_length:(0,f.IntProvider)({min:0}),place_branch_per_log_probability:(0,i.NumberNode)({min:0,max:1}),can_grow_through:(0,f.Tag)({resource:"block"})}}},{context:"trunk_placer"}),foliage_placer:(0,i.ObjectNode)({type:o({validator:"resource",params:{pool:"worldgen/foliage_placer_type"}}),radius:(0,f.IntProvider)({min:0,max:16}),offset:(0,f.IntProvider)({min:0,max:16}),[i.Switch]:[{push:"type"}],[i.Case]:{"minecraft:blob_foliage_placer":{height:(0,i.NumberNode)({integer:!0,min:0,max:16})},"minecraft:bush_foliage_placer":{height:(0,i.NumberNode)({integer:!0,min:0,max:16})},"minecraft:fancy_foliage_placer":{height:(0,i.NumberNode)({integer:!0,min:0,max:16})},"minecraft:jungle_foliage_placer":{height:(0,i.NumberNode)({integer:!0,min:0,max:16})},"minecraft:mega_pine_foliage_placer":{crown_height:(0,f.IntProvider)({min:0,max:24})},"minecraft:pine_foliage_placer":{height:(0,f.IntProvider)({min:0,max:24})},"minecraft:random_spread_foliage_placer":{foliage_height:(0,f.IntProvider)({min:1,max:512}),leaf_placement_attempts:(0,i.NumberNode)({integer:!0,min:0,max:256})},"minecraft:spruce_foliage_placer":{trunk_height:(0,f.IntProvider)({min:0,max:24})}}},{context:"foliage_placer",disableSwitchContext:!0}),decorators:(0,i.ListNode)((0,i.ObjectNode)({type:o({validator:"resource",params:{pool:"worldgen/tree_decorator_type"}}),[i.Switch]:[{push:"type"}],[i.Case]:{"minecraft:alter_ground":{provider:t("block_state_provider")},"minecraft:attached_to_leaves":{probability:(0,i.NumberNode)({min:0,max:1}),exclusion_radius_xz:(0,i.NumberNode)({integer:!0,min:0,max:16}),exclusion_radius_y:(0,i.NumberNode)({integer:!0,min:0,max:16}),required_empty_blocks:(0,i.NumberNode)({integer:!0,min:1,max:16}),block_provider:t("block_state_provider"),directions:(0,i.ListNode)(o({enum:"direction"}))},"minecraft:beehive":{probability:(0,i.NumberNode)({min:0,max:1})},"minecraft:cocoa":{probability:(0,i.NumberNode)({min:0,max:1})},"minecraft:leave_vine":{probability:(0,i.NumberNode)({min:0,max:1})}}},{context:"tree_decorator"}))},"minecraft:twisting_vines":{spread_width:(0,i.NumberNode)({integer:!0,min:1}),spread_height:(0,i.NumberNode)({integer:!0,min:1}),max_height:(0,i.NumberNode)({integer:!0,min:1})},"minecraft:underwater_magma":{floor_search_range:(0,i.NumberNode)({integer:!0,min:0,max:512}),placement_radius_around_floor:(0,i.NumberNode)({integer:!0,min:0,max:64}),placement_probability_per_valid_position:(0,i.NumberNode)({min:0,max:1})},"minecraft:vegetation_patch":b,"minecraft:waterlogged_vegetation_patch":b}},{context:"feature"})},{context:"feature"}),{default:()=>({type:"minecraft:tree",config:{minimum_size:{type:"minecraft:two_layers_feature_size"},trunk_placer:{type:"minecraft:straight_trunk_placer",base_height:5,height_rand_a:2,height_rand_b:0},foliage_placer:{type:"minecraft:blob_foliage_placer",radius:2,offset:0,height:3}}})})),r.register("placed_feature",(0,i.Mod)((0,i.ObjectNode)({feature:d,placement:(0,i.ListNode)(t("decorator"))},{context:"placed_feature"}),{default:()=>({feature:"minecraft:oak",placement:[{type:"minecraft:count",count:4},{type:"minecraft:in_square"},{type:"minecraft:heightmap",heightmap:"OCEAN_FLOOR"}]})})),r.register("feature_size",(0,i.Mod)((0,i.ObjectNode)({type:o({validator:"resource",params:{pool:"worldgen/feature_size_type"}}),min_clipped_height:(0,i.Opt)((0,i.NumberNode)({min:0,max:80})),[i.Switch]:[{push:"type"}],[i.Case]:{"minecraft:two_layers_feature_size":{limit:(0,i.Opt)((0,i.NumberNode)({integer:!0,min:0,max:81})),lower_size:(0,i.Opt)((0,i.NumberNode)({integer:!0,min:0,max:16})),upper_size:(0,i.Opt)((0,i.NumberNode)({integer:!0,min:0,max:16}))},"minecraft:three_layers_feature_size":{limit:(0,i.Opt)((0,i.NumberNode)({integer:!0,min:0,max:80})),upper_limit:(0,i.Opt)((0,i.NumberNode)({integer:!0,min:0,max:80})),lower_size:(0,i.Opt)((0,i.NumberNode)({integer:!0,min:0,max:16})),middle_size:(0,i.Opt)((0,i.NumberNode)({integer:!0,min:0,max:16})),upper_size:(0,i.Opt)((0,i.NumberNode)({integer:!0,min:0,max:16}))}}},{disableSwitchContext:!0}),{default:()=>({type:"minecraft:two_layers_feature_size"})}));const j={seed:(0,i.NumberNode)({integer:!0}),noise:t("noise_parameters"),scale:(0,i.Mod)((0,i.NumberNode)({min:Number.MIN_VALUE}),{default:()=>1})};r.register("block_state_provider",(0,i.Mod)((0,i.ObjectNode)({type:o({validator:"resource",params:{pool:"worldgen/block_state_provider_type"}}),[i.Switch]:[{push:"type"}],[i.Case]:{"minecraft:dual_noise_provider":W(g({},j),{variety:(0,f.InclusiveRange)({integer:!0,min:1,max:64}),slow_noise:t("noise_parameters"),slow_scale:(0,i.Mod)((0,i.NumberNode)({min:Number.MIN_VALUE}),{default:()=>1}),states:(0,i.ListNode)(t("block_state"))}),"minecraft:noise_threshold_provider":W(g({},j),{threshold:(0,i.NumberNode)({min:-1,max:1}),high_chance:(0,i.NumberNode)({min:0,max:1}),default_state:t("block_state"),low_states:(0,i.ListNode)(t("block_state")),high_states:(0,i.ListNode)(t("block_state"))}),"minecraft:noise_provider":W(g({},j),{states:(0,i.ListNode)(t("block_state"))}),"minecraft:randomized_int_state_provider":{property:o(),values:(0,f.IntProvider)(),source:t("block_state_provider")},"minecraft:rotated_block_provider":{state:t("block_state")},"minecraft:simple_state_provider":{state:t("block_state")},"minecraft:weighted_state_provider":{entries:(0,i.ListNode)((0,i.Mod)((0,i.ObjectNode)({weight:(0,i.NumberNode)({integer:!0,min:1}),data:t("block_state")}),{default:()=>({data:{}})}))}}},{context:"block_state_provider"}),{default:()=>({type:"minecraft:simple_state_provider"})})),r.register("rule_based_block_state_provider",(0,i.Mod)((0,i.ObjectNode)({fallback:t("block_state_provider"),rules:(0,i.ListNode)((0,i.ObjectNode)({if_true:t("block_predicate_worldgen"),then:t("block_state_provider")}))},{context:"block_state_provider"}),{default:()=>({fallback:{type:"minecraft:simple_state_provider"}})}));const h={offset:(0,i.Opt)((0,i.ListNode)((0,i.NumberNode)({integer:!0,min:-16,max:16}),{minLength:3,maxLength:3}))};r.register("block_predicate_worldgen",(0,i.Mod)((0,i.ObjectNode)({type:o({validator:"resource",params:{pool:"block_predicate_type"}}),[i.Switch]:[{push:"type"}],[i.Case]:{"minecraft:all_of":{predicates:(0,i.ListNode)(t("block_predicate_worldgen"))},"minecraft:any_of":{predicates:(0,i.ListNode)(t("block_predicate_worldgen"))},"minecraft:has_sturdy_face":W(g({},h),{direction:o({enum:"direction"})}),"minecraft:inside_world_bounds":g({},h),"minecraft:matching_block_tag":W(g({},h),{tag:o({validator:"resource",params:{pool:"$tag/block"}})}),"minecraft:matching_blocks":W(g({},h),{blocks:(0,f.Tag)({resource:"block"})}),"minecraft:matching_fluids":W(g({},h),{fluids:(0,f.Tag)({resource:"fluid"})}),"minecraft:not":{predicate:t("block_predicate_worldgen")},"minecraft:would_survive":W(g({},h),{state:t("block_state")})}},{context:"block_predicate"}),{default:()=>({type:"minecraft:true"})}))}Me.initFeatureSchemas=St;var Pe={};Object.defineProperty(Pe,"__esModule",{value:!0});Pe.initNoiseSettingsSchemas=void 0;const C=k,jt=T,z=Re;function Ct(r,e){const t=C.Reference.bind(void 0,r),o=C.StringNode.bind(void 0,e);r.register("noise_settings",(0,C.Mod)((0,C.ObjectNode)({sea_level:(0,C.NumberNode)({integer:!0}),disable_mob_generation:(0,C.BooleanNode)(),aquifers_enabled:(0,C.BooleanNode)(),ore_veins_enabled:(0,C.BooleanNode)(),legacy_random_source:(0,C.BooleanNode)(),default_block:t("block_state"),default_fluid:t("block_state"),noise:(0,C.ObjectNode)({min_y:(0,C.NumberNode)({integer:!0,min:-2048,max:2047}),height:(0,C.NumberNode)({integer:!0,min:0,max:4096}),size_horizontal:(0,C.NumberNode)({integer:!0}),size_vertical:(0,C.NumberNode)({integer:!0})}),noise_router:(0,C.ObjectNode)({barrier:z.DensityFunction,fluid_level_floodedness:z.DensityFunction,fluid_level_spread:z.DensityFunction,lava:z.DensityFunction,temperature:z.DensityFunction,vegetation:z.DensityFunction,continents:z.DensityFunction,erosion:z.DensityFunction,depth:z.DensityFunction,ridges:z.DensityFunction,initial_density_without_jaggedness:z.DensityFunction,final_density:z.DensityFunction,vein_toggle:z.DensityFunction,vein_ridged:z.DensityFunction,vein_gap:z.DensityFunction}),spawn_target:(0,C.ListNode)(t("parameter_point")),surface_rule:t("material_rule")},{context:"noise_settings"}),d=>({default:()=>jt.DefaultNoiseSettings,validate:(n,c,l,v)=>{var _,b,j,h;return c=d.validate(n,c,l,v),((_=c==null?void 0:c.noise)===null||_===void 0?void 0:_.min_y)+((b=c==null?void 0:c.noise)===null||b===void 0?void 0:b.height)>2047&&l.add(n.push("noise").push("height"),"error.min_y_plus_height",2047),((j=c==null?void 0:c.noise)===null||j===void 0?void 0:j.height)%16!==0&&l.add(n.push("noise").push("height"),"error.height_multiple",16),((h=c==null?void 0:c.noise)===null||h===void 0?void 0:h.min_y)%16!==0&&l.add(n.push("noise").push("min_y"),"error.min_y_multiple",16),c}}))),r.register("noise_slider",(0,C.ObjectNode)({target:(0,C.NumberNode)(),size:(0,C.NumberNode)({integer:!0,min:0}),offset:(0,C.NumberNode)({integer:!0})})),r.register("generator_layer",(0,C.Mod)((0,C.ObjectNode)({block:o({validator:"resource",params:{pool:"block"}}),height:(0,C.NumberNode)({integer:!0,min:1})}),{default:()=>({block:"minecraft:stone",height:1})}))}Pe.initNoiseSettingsSchemas=Ct;var Le={};Object.defineProperty(Le,"__esModule",{value:!0});Le.initStructureSchemas=void 0;const x=k,Mt=T,Pt=Te;function Lt(r,e){const t=x.StringNode.bind(void 0,e),o=x.Reference.bind(void 0,r);r.register("structure",(0,x.Mod)((0,x.ObjectNode)({type:t({validator:"resource",params:{pool:"worldgen/structure_type"}}),biomes:(0,Mt.Tag)({resource:"$worldgen/biome"}),step:t({enum:"decoration_step"}),spawn_overrides:(0,x.MapNode)(t({enum:"mob_category"}),(0,x.ObjectNode)({bounding_box:t({enum:["piece","full"]}),spawns:Pt.MobCategorySpawnSettings})),terrain_adaptation:(0,x.Opt)(t({enum:["none","beard_thin","beard_box","bury"]})),[x.Switch]:[{push:"type"}],[x.Case]:{"minecraft:jigsaw":{start_pool:t({validator:"resource",params:{pool:"$worldgen/template_pool"}}),size:(0,x.NumberNode)({integer:!0}),start_height:o("height_provider"),start_jigsaw_name:(0,x.Opt)(t()),project_start_to_heightmap:(0,x.Opt)(t({enum:"heightmap_type"})),max_distance_from_center:(0,x.NumberNode)({integer:!0,min:1,max:128}),use_expansion_hack:(0,x.BooleanNode)()},"minecraft:mineshaft":{mineshaft_type:t({enum:["normal","mesa"]})},"minecraft:nether_fossil":{height:o("height_provider")},"minecraft:ocean_ruin":{biome_temp:t({enum:["cold","warm"]}),large_probability:(0,x.NumberNode)({min:0,max:1}),cluster_probability:(0,x.NumberNode)({min:0,max:1})},"minecraft:ruined_portal":{setups:(0,x.ListNode)((0,x.ObjectNode)({placement:t({enum:["on_land_surface","partly_buried","on_ocean_floor","in_mountain","underground","in_nether"]}),air_pocket_probability:(0,x.NumberNode)({min:0,max:1}),mossiness:(0,x.NumberNode)({min:0,max:1}),overgrown:(0,x.BooleanNode)(),vines:(0,x.BooleanNode)(),can_be_cold:(0,x.BooleanNode)(),replace_with_blackstone:(0,x.BooleanNode)(),weight:(0,x.NumberNode)({min:0})}))},"minecraft:shipwreck":{is_beached:(0,x.Opt)((0,x.BooleanNode)())}}},{context:"structure_feature"}),{default:()=>({type:"minecraft:jigsaw",step:"surface_structures",size:6})}))}Le.initStructureSchemas=Lt;var $e={};Object.defineProperty($e,"__esModule",{value:!0});$e.initStructureSetSchemas=void 0;const w=k,We=T;function $t(r,e){const t=w.StringNode.bind(void 0,e),o=w.Reference.bind(void 0,r),d=(0,w.ChoiceNode)([{type:"string",node:t({validator:"resource",params:{pool:"$worldgen/structure_set"}})},{type:"object",node:o("structure_set")}],{choiceContext:"structure_set"});r.register("structure_set",(0,w.ObjectNode)({structures:(0,w.ListNode)((0,w.ObjectNode)({structure:(0,We.Tag)({resource:"$worldgen/structure"}),weight:(0,w.NumberNode)({integer:!0,min:1})})),placement:o("structure_placement")},{context:"structure_set"})),r.register("structure_placement",(0,w.Mod)((0,w.ObjectNode)({type:t({validator:"resource",params:{pool:"worldgen/structure_placement"}}),salt:(0,w.NumberNode)({integer:!0,min:0}),frequency_reduction_method:(0,w.Opt)(t({enum:["default","legacy_type_1","legacy_type_2","legacy_type_3"]})),frequency:(0,w.Opt)((0,w.NumberNode)({min:0,max:1})),exclusion_zone:(0,w.Opt)((0,w.ObjectNode)({other_set:d,chunk_count:(0,w.NumberNode)({integer:!0,min:1,max:16})})),locate_offset:(0,w.Opt)((0,w.ListNode)((0,w.NumberNode)({integer:!0,min:-16,max:16}),{minLength:3,maxLength:3})),[w.Switch]:[{push:"type"}],[w.Case]:{"minecraft:concentric_rings":{distance:(0,w.NumberNode)({integer:!0,min:0,max:1023}),spread:(0,w.NumberNode)({integer:!0,min:0,max:1023}),count:(0,w.NumberNode)({integer:!0,min:1,max:4095}),preferred_biomes:(0,We.Tag)({resource:"$worldgen/biome"})},"minecraft:random_spread":{spread_type:(0,w.Opt)(t({enum:["linear","triangular"]})),spacing:(0,w.NumberNode)({integer:!0,min:0,max:4096}),separation:(0,w.Mod)((0,w.NumberNode)({integer:!0,min:0,max:4096}),n=>({validate:(c,l,v,_)=>(c.pop().push("spacing").get()<=l&&v.add(c,"error.separation_smaller_spacing"),n.validate(c,l,v,_))}))}}},{context:"structure_placement"}),{default:()=>({type:"minecraft:random_spread",spacing:10,separation:5,salt:Math.floor(Math.random()*2147483647)})}))}$e.initStructureSetSchemas=$t;var Be={};Object.defineProperty(Be,"__esModule",{value:!0});Be.initSurfaceRuleSchemas=void 0;const M=k;function Bt(r,e){const t=M.StringNode.bind(void 0,e),o=M.Reference.bind(void 0,r);r.register("material_rule",(0,M.Mod)((0,M.ObjectNode)({type:t({validator:"resource",params:{pool:"worldgen/material_rule"}}),[M.Switch]:[{push:"type"}],[M.Case]:{"minecraft:block":{result_state:o("block_state")},"minecraft:condition":{if_true:o("material_condition"),then_run:o("material_rule")},"minecraft:sequence":{sequence:(0,M.ListNode)(o("material_rule"))}}},{context:"material_rule",category:"pool"}),{default:()=>({type:"minecraft:block",result_state:{Name:"minecraft:stone"}})})),r.register("material_condition",(0,M.Mod)((0,M.ObjectNode)({type:t({validator:"resource",params:{pool:"worldgen/material_condition"}}),[M.Switch]:[{push:"type"}],[M.Case]:{"minecraft:biome":{biome_is:(0,M.ListNode)(t({validator:"resource",params:{pool:"$worldgen/biome"}}))},"minecraft:noise_threshold":{noise:t({validator:"resource",params:{pool:"$worldgen/noise"}}),min_threshold:(0,M.NumberNode)(),max_threshold:(0,M.NumberNode)()},"minecraft:not":{invert:o("material_condition")},"minecraft:stone_depth":{offset:(0,M.NumberNode)({integer:!0}),surface_type:t({enum:"cave_surface"}),add_surface_depth:(0,M.BooleanNode)(),secondary_depth_range:(0,M.NumberNode)({integer:!0})},"minecraft:vertical_gradient":{random_name:t(),true_at_and_below:o("vertical_anchor"),false_at_and_above:o("vertical_anchor")},"minecraft:water":{offset:(0,M.NumberNode)({integer:!0}),surface_depth_multiplier:(0,M.NumberNode)({integer:!0,min:-20,max:20}),add_stone_depth:(0,M.BooleanNode)()},"minecraft:y_above":{anchor:o("vertical_anchor"),surface_depth_multiplier:(0,M.NumberNode)({integer:!0,min:-20,max:20}),add_stone_depth:(0,M.BooleanNode)()}}},{context:"material_condition"}),{default:()=>({type:"minecraft:biome",is_biome:"minecraft:plains"})}))}Be.initSurfaceRuleSchemas=Bt;var De={};Object.defineProperty(De,"__esModule",{value:!0});De.initTemplatePoolSchemas=void 0;const q=k,Ue=J;function Dt(r,e){const t=q.Reference.bind(void 0,r),o=q.StringNode.bind(void 0,e);r.register("template_pool",(0,q.Mod)((0,q.ObjectNode)({name:o(),fallback:o(),elements:(0,q.ListNode)(t("template_weighted_element"))},{context:"template_pool"}),{default:()=>({fallback:"minecraft:empty",elements:[{weight:1,element:{element_type:"minecraft:single_pool_element",projection:"rigid",processors:"minecraft:empty"}}]})})),r.register("template_weighted_element",(0,q.Mod)((0,q.ObjectNode)({weight:(0,q.NumberNode)({integer:!0,min:1}),element:t("template_element")},{category:"pool"}),{default:()=>({weight:1,element:{element_type:"minecraft:single_pool_element",projection:"rigid",processors:"minecraft:empty"}})})),r.register("template_element",(0,q.Mod)((0,q.ObjectNode)({element_type:o({validator:"resource",params:{pool:"worldgen/structure_pool_element"}}),projection:o({enum:["rigid","terrain_matching"]}),[q.Switch]:[{push:"element_type"}],[q.Case]:{"minecraft:feature_pool_element":{feature:o({validator:"resource",params:{pool:"$worldgen/placed_feature"}})},"minecraft:legacy_single_pool_element":{location:o({validator:"resource",params:{pool:"$structure"}}),processors:Ue.Processors},"minecraft:list_pool_element":{elements:(0,q.ListNode)(t("template_element"))},"minecraft:single_pool_element":{location:o({validator:"resource",params:{pool:"$structure"}}),processors:Ue.Processors}}},{context:"template_element",disableSwitchContext:!0}),{default:()=>({element_type:"minecraft:single_pool_element",projection:"rigid",processors:"minecraft:empty"})}))}De.initTemplatePoolSchemas=Dt;var Fe={};Object.defineProperty(Fe,"__esModule",{value:!0});Fe.initWorldPresetSchemas=void 0;const oe=k;function Ft(r,e){const t=oe.StringNode.bind(void 0,e),o=oe.Reference.bind(void 0,r);r.register("world_preset",(0,oe.Mod)((0,oe.ObjectNode)({dimensions:(0,oe.MapNode)(t({validator:"resource",params:{pool:"$dimension",isDefinition:!0}}),o("dimension"))},{context:"world_preset"}),{default:()=>({dimensions:{"minecraft:overworld":{type:"minecraft:overworld",generator:{type:"minecraft:noise",biome_source:{type:"minecraft:multi_noise",preset:"minecraft:overworld"},settings:"minecraft:overworld"}},"minecraft:the_nether":{type:"minecraft:the_nether",generator:{type:"minecraft:noise",biome_source:{type:"minecraft:multi_noise",preset:"minecraft:nether"},settings:"minecraft:nether"}},"minecraft:the_end":{type:"minecraft:the_end",generator:{type:"minecraft:noise",biome_source:{type:"minecraft:the_end"},settings:"minecraft:end"}}}})})),r.register("flat_level_generator_preset",(0,oe.Mod)((0,oe.ObjectNode)({display:t({validator:"resource",params:{pool:"item"}}),settings:o("flat_generator_settings")}),{default:()=>({display:"minecraft:grass_block",settings:{lakes:!1,features:!1,biome:"minecraft:plains",structure_overrides:[],layers:[{height:3,block:"minecraft:dirt"},{height:1,block:"minecraft:grass_block"}]}})}))}Fe.initWorldPresetSchemas=Ft;Object.defineProperty(Se,"__esModule",{value:!0});Se.initWorldgenSchemas=void 0;const zt=Te,Tt=je,Rt=Ce,qt=Re,It=Me,At=Pe,Et=J,Wt=Le,Ut=$e,Vt=Be,Gt=De,Ht=Fe;function Kt(r,e){(0,Et.initProcessorListSchemas)(r,e),(0,qt.initDensityFunctionSchemas)(r,e),(0,zt.initBiomeSchemas)(r,e),(0,Tt.initCarverSchemas)(r,e),(0,Rt.initDecoratorSchemas)(r,e),(0,It.initFeatureSchemas)(r,e),(0,At.initNoiseSettingsSchemas)(r,e),(0,Wt.initStructureSchemas)(r,e),(0,Ut.initStructureSetSchemas)(r,e),(0,Vt.initSurfaceRuleSchemas)(r,e),(0,Gt.initTemplatePoolSchemas)(r,e),(0,Ht.initWorldPresetSchemas)(r,e)}Se.initWorldgenSchemas=Kt;var ze={};Object.defineProperty(ze,"__esModule",{value:!0});ze.initWorldSettingsSchemas=void 0;const Z=k;function Xt(r,e){const t=Z.Reference.bind(void 0,r),o=Z.StringNode.bind(void 0,e);r.register("world_settings",(0,Z.Mod)((0,Z.ObjectNode)({generate_features:(0,Z.BooleanNode)(),bonus_chest:(0,Z.BooleanNode)(),seed:(0,Z.NumberNode)({integer:!0}),dimensions:(0,Z.MapNode)(o({validator:"resource",params:{pool:"$dimension"}}),t("dimension"))},{context:"world_settings"}),{default:()=>{const d=Math.floor(Math.random()*4294967296)-2147483648;return{generate_features:!0,bonus_chest:!1,seed:d,dimensions:{"minecraft:overworld":{type:"minecraft:overworld",generator:{type:"minecraft:noise",seed:d,biome_source:{type:"minecraft:multi_noise",preset:"minecraft:overworld"},settings:"minecraft:overworld"}},"minecraft:the_nether":{type:"minecraft:the_nether",generator:{type:"minecraft:noise",seed:d,biome_source:{type:"minecraft:multi_noise",preset:"minecraft:nether"},settings:"minecraft:nether"}},"minecraft:the_end":{type:"minecraft:the_end",generator:{type:"minecraft:noise",seed:d,biome_source:{type:"minecraft:the_end",seed:d},settings:"minecraft:end"}}}}}}))}ze.initWorldSettingsSchemas=Xt;Object.defineProperty(le,"__esModule",{value:!0});le.initSchemas=void 0;const Yt=me,Zt=_e,Jt=fe,Qt=T,er=ge,tr=be,rr=Ne,or=he,ir=ye,nr=ve,ar=Oe,cr=ke,dr=we,sr=xe,lr=Se,mr=ze;function _r(r,e){(0,Qt.initCommonSchemas)(r,e),(0,Jt.initChatTypeSchemas)(r,e),(0,Yt.initAdvancementSchemas)(r,e),(0,Zt.initAssetsSchemas)(r,e),(0,er.initConditionSchemas)(r,e),(0,rr.initDimensionTypeSchemas)(r,e),(0,tr.initDimensionSchemas)(r,e),(0,or.initItemModifierSchemas)(r,e),(0,ir.initLootTableSchemas)(r,e),(0,nr.initPackMcmetaSchemas)(r,e),(0,ar.initPredicatesSchemas)(r,e),(0,cr.initRecipeSchemas)(r,e),(0,dr.initTagsSchemas)(r,e),(0,sr.initTextComponentSchemas)(r,e),(0,lr.initWorldgenSchemas)(r,e),(0,mr.initWorldSettingsSchemas)(r,e)}le.initSchemas=_r;var ur=ie&&ie.__createBinding||(Object.create?function(r,e,t,o){o===void 0&&(o=t);var d=Object.getOwnPropertyDescriptor(e,t);(!d||("get"in d?!e.__esModule:d.writable||d.configurable))&&(d={enumerable:!0,get:function(){return e[t]}}),Object.defineProperty(r,o,d)}:function(r,e,t,o){o===void 0&&(o=t),r[o]=e[t]}),pr=ie&&ie.__setModuleDefault||(Object.create?function(r,e){Object.defineProperty(r,"default",{enumerable:!0,value:e})}:function(r,e){r.default=e}),fr=ie&&ie.__importStar||function(r){if(r&&r.__esModule)return r;var e={};if(r!=null)for(var t in r)t!=="default"&&Object.prototype.hasOwnProperty.call(r,t)&&ur(e,r,t);return pr(e,r),e};Object.defineProperty(X,"__esModule",{value:!0});var Ve=X.getSchemas=Ke=X.getCollections=He=X.lootContext=void 0;const Ge=k,gr=se,br=le;var He=X.lootContext=fr(I);function Nr(){const r=new Ge.CollectionRegistry;return(0,gr.initCollections)(r),r}var Ke=X.getCollections=Nr;function hr(r){const e=new Ge.SchemaRegistry;return(0,br.initSchemas)(e,r),e}Ve=X.getSchemas=hr;var kr=et({__proto__:null,get getSchemas(){return Ve},get getCollections(){return Ke},get lootContext(){return He},default:X},[X]);export{kr as i}; +//# sourceMappingURL=index.6b2a70f4.js.map diff --git a/assets/index.19bb89fe.js.map b/assets/index.6b2a70f4.js.map similarity index 99% rename from assets/index.19bb89fe.js.map rename to assets/index.6b2a70f4.js.map index 3242eb39..cc0108b8 100644 --- a/assets/index.19bb89fe.js.map +++ b/assets/index.6b2a70f4.js.map @@ -1 +1 @@ -{"version":3,"file":"index.19bb89fe.js","sources":["../../node_modules/@mcschema/java-1.19/lib/Collections.js","../../node_modules/@mcschema/java-1.19/lib/schemas/Advancement.js","../../node_modules/@mcschema/java-1.19/lib/schemas/assets/Model.js","../../node_modules/@mcschema/java-1.19/lib/schemas/assets/BlockDefinition.js","../../node_modules/@mcschema/java-1.19/lib/schemas/assets/index.js","../../node_modules/@mcschema/java-1.19/lib/schemas/ChatType.js","../../node_modules/@mcschema/java-1.19/lib/schemas/Common.js","../../node_modules/@mcschema/java-1.19/lib/schemas/Condition.js","../../node_modules/@mcschema/java-1.19/lib/schemas/Dimension.js","../../node_modules/@mcschema/java-1.19/lib/schemas/DimensionType.js","../../node_modules/@mcschema/java-1.19/lib/schemas/ItemModifier.js","../../node_modules/@mcschema/java-1.19/lib/LootContext.js","../../node_modules/@mcschema/java-1.19/lib/schemas/LootTable.js","../../node_modules/@mcschema/java-1.19/lib/schemas/PackMcmeta.js","../../node_modules/@mcschema/java-1.19/lib/schemas/Predicates.js","../../node_modules/@mcschema/java-1.19/lib/schemas/Recipe.js","../../node_modules/@mcschema/java-1.19/lib/schemas/Tags.js","../../node_modules/@mcschema/java-1.19/lib/schemas/TextComponent.js","../../node_modules/@mcschema/java-1.19/lib/schemas/worldgen/Biome.js","../../node_modules/@mcschema/java-1.19/lib/schemas/worldgen/Carver.js","../../node_modules/@mcschema/java-1.19/lib/schemas/worldgen/Decorator.js","../../node_modules/@mcschema/java-1.19/lib/schemas/worldgen/DensityFunction.js","../../node_modules/@mcschema/java-1.19/lib/schemas/worldgen/ProcessorList.js","../../node_modules/@mcschema/java-1.19/lib/schemas/worldgen/Feature.js","../../node_modules/@mcschema/java-1.19/lib/schemas/worldgen/NoiseSettings.js","../../node_modules/@mcschema/java-1.19/lib/schemas/worldgen/Structure.js","../../node_modules/@mcschema/java-1.19/lib/schemas/worldgen/StructureSet.js","../../node_modules/@mcschema/java-1.19/lib/schemas/worldgen/SurfaceRule.js","../../node_modules/@mcschema/java-1.19/lib/schemas/worldgen/TemplatePool.js","../../node_modules/@mcschema/java-1.19/lib/schemas/worldgen/WorldPreset.js","../../node_modules/@mcschema/java-1.19/lib/schemas/worldgen/index.js","../../node_modules/@mcschema/java-1.19/lib/schemas/WorldSettings.js","../../node_modules/@mcschema/java-1.19/lib/schemas/index.js","../../node_modules/@mcschema/java-1.19/lib/index.js"],"sourcesContent":["\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initCollections = void 0;\r\nfunction initCollections(collections) {\r\n collections.register('advancement_trigger', [\r\n 'minecraft:allay_drop_item_on_block',\r\n 'minecraft:avoid_vibration',\r\n 'minecraft:bee_nest_destroyed',\r\n 'minecraft:bred_animals',\r\n 'minecraft:brewed_potion',\r\n 'minecraft:changed_dimension',\r\n 'minecraft:channeled_lightning',\r\n 'minecraft:construct_beacon',\r\n 'minecraft:consume_item',\r\n 'minecraft:cured_zombie_villager',\r\n 'minecraft:effects_changed',\r\n 'minecraft:enchanted_item',\r\n 'minecraft:enter_block',\r\n 'minecraft:entity_hurt_player',\r\n 'minecraft:entity_killed_player',\r\n 'minecraft:fall_from_height',\r\n 'minecraft:filled_bucket',\r\n 'minecraft:fishing_rod_hooked',\r\n 'minecraft:hero_of_the_village',\r\n 'minecraft:impossible',\r\n 'minecraft:inventory_changed',\r\n 'minecraft:item_durability_changed',\r\n 'minecraft:item_used_on_block',\r\n 'minecraft:kill_mob_near_sculk_catalyst',\r\n 'minecraft:killed_by_crossbow',\r\n 'minecraft:levitation',\r\n 'minecraft:lightning_strike',\r\n 'minecraft:location',\r\n 'minecraft:nether_travel',\r\n 'minecraft:placed_block',\r\n 'minecraft:player_generates_container_loot',\r\n 'minecraft:player_hurt_entity',\r\n 'minecraft:player_interacted_with_entity',\r\n 'minecraft:player_killed_entity',\r\n 'minecraft:recipe_unlocked',\r\n 'minecraft:ride_entity_in_lava',\r\n 'minecraft:shot_crossbow',\r\n 'minecraft:slept_in_bed',\r\n 'minecraft:slide_down_block',\r\n 'minecraft:started_riding',\r\n 'minecraft:summoned_entity',\r\n 'minecraft:tame_animal',\r\n 'minecraft:target_hit',\r\n 'minecraft:tick',\r\n 'minecraft:thrown_item_picked_up_by_entity',\r\n 'minecraft:thrown_item_picked_up_by_player',\r\n 'minecraft:used_ender_eye',\r\n 'minecraft:used_totem',\r\n 'minecraft:using_item',\r\n 'minecraft:villager_trade',\r\n 'minecraft:voluntary_exile'\r\n ]);\r\n collections.register('keybind', [\r\n 'key.advancements',\r\n 'key.attack',\r\n 'key.back',\r\n 'key.chat',\r\n 'key.command',\r\n 'key.drop',\r\n 'key.forward',\r\n 'key.fullscreen',\r\n 'key.hotbar.1',\r\n 'key.hotbar.2',\r\n 'key.hotbar.3',\r\n 'key.hotbar.4',\r\n 'key.hotbar.5',\r\n 'key.hotbar.6',\r\n 'key.hotbar.7',\r\n 'key.hotbar.8',\r\n 'key.hotbar.9',\r\n 'key.inventory',\r\n 'key.jump',\r\n 'key.left',\r\n 'key.loadToolbarActivator',\r\n 'key.pickItem',\r\n 'key.playerlist',\r\n 'key.right',\r\n 'key.saveToolbarActivator',\r\n 'key.screenshot',\r\n 'key.smoothCamera',\r\n 'key.sneak',\r\n 'key.spectatorOutlines',\r\n 'key.sprint',\r\n 'key.swapOffhand',\r\n 'key.togglePerspective',\r\n 'key.use'\r\n ]);\r\n collections.register('slot', [\r\n 'mainhand',\r\n 'offhand',\r\n 'head',\r\n 'chest',\r\n 'legs',\r\n 'feet'\r\n ]);\r\n collections.register('gamemode', [\r\n 'survival',\r\n 'creative',\r\n 'adventure',\r\n 'spectator'\r\n ]);\r\n collections.register('entity_source', [\r\n 'this',\r\n 'killer',\r\n 'direct_killer',\r\n 'killer_player'\r\n ]);\r\n collections.register('copy_source', [\r\n 'block_entity',\r\n 'this',\r\n 'killer',\r\n 'killer_player'\r\n ]);\r\n collections.register('loot_table_apply_bonus_formula', [\r\n 'minecraft:uniform_bonus_count',\r\n 'minecraft:binomial_with_bonus_count',\r\n 'minecraft:ore_drops'\r\n ]);\r\n collections.register('map_decoration', [\r\n 'mansion',\r\n 'monument',\r\n 'player',\r\n 'frame',\r\n 'red_marker',\r\n 'blue_marker',\r\n 'target_x',\r\n 'target_point',\r\n 'player_off_map',\r\n 'player_off_limits',\r\n 'red_x',\r\n 'banner_white',\r\n 'banner_orange',\r\n 'banner_magenta',\r\n 'banner_light_blue',\r\n 'banner_yellow',\r\n 'banner_lime',\r\n 'banner_pink',\r\n 'banner_gray',\r\n 'banner_light_gray',\r\n 'banner_cyan',\r\n 'banner_purple',\r\n 'banner_blue',\r\n 'banner_brown',\r\n 'banner_green',\r\n 'banner_red',\r\n 'banner_black'\r\n ]);\r\n collections.register('map_feature', [\r\n 'bastion_remnant',\r\n 'buried_treasure',\r\n 'desert_pyramid',\r\n 'endcity',\r\n 'fortress',\r\n 'igloo',\r\n 'jungle_pyramid',\r\n 'mansion',\r\n 'mineshaft',\r\n 'monument',\r\n 'nether_fossil',\r\n 'ocean_ruin',\r\n 'pillager_outpost',\r\n 'ruined_portal',\r\n 'shipwreck',\r\n 'stronghold',\r\n 'swamp_hut',\r\n 'village'\r\n ]);\r\n collections.register('recipe_group', [\r\n 'bed',\r\n 'light_gray_dye',\r\n 'iron_ingot',\r\n 'wooden_stairs',\r\n 'black_dye',\r\n 'stained_terracotta',\r\n 'dyed_bed',\r\n 'magenta_dye',\r\n 'bark',\r\n 'rabbit_stew',\r\n 'light_blue_dye',\r\n 'wooden_fence_gate',\r\n 'planks',\r\n 'stained_glass',\r\n 'wooden_door',\r\n 'stained_glass_pane',\r\n 'wooden_fence',\r\n 'sticks',\r\n 'concrete_powder',\r\n 'wooden_pressure_plate',\r\n 'boat',\r\n 'brown_dye',\r\n 'yellow_dye',\r\n 'bonemeal',\r\n 'red_dye',\r\n 'wooden_trapdoor',\r\n 'wooden_button',\r\n 'gold_ingot',\r\n 'pink_dye',\r\n 'wooden_slab',\r\n 'orange_dye',\r\n 'carpet',\r\n 'sign',\r\n 'wool',\r\n 'sugar',\r\n 'blue_dye',\r\n 'white_dye',\r\n 'banner',\r\n 'netherite_ingot'\r\n ]);\r\n collections.register('biome_category', [\r\n 'beach',\r\n 'desert',\r\n 'extreme_hills',\r\n 'forest',\r\n 'icy',\r\n 'jungle',\r\n 'mesa',\r\n 'mountain',\r\n 'mushroom',\r\n 'nether',\r\n 'none',\r\n 'ocean',\r\n 'plains',\r\n 'river',\r\n 'savanna',\r\n 'swamp',\r\n 'taiga',\r\n 'the_end',\r\n 'underground'\r\n ]);\r\n collections.register('heightmap_type', [\r\n 'MOTION_BLOCKING',\r\n 'MOTION_BLOCKING_NO_LEAVES',\r\n 'OCEAN_FLOOR',\r\n 'OCEAN_FLOOR_WG',\r\n 'WORLD_SURFACE',\r\n 'WORLD_SURFACE_WG'\r\n ]);\r\n collections.register('generation_step', [\r\n 'air',\r\n 'liquid'\r\n ]);\r\n collections.register('decoration_step', [\r\n 'raw_generation',\r\n 'lakes',\r\n 'local_modifications',\r\n 'underground_structures',\r\n 'surface_structures',\r\n 'strongholds',\r\n 'underground_ores',\r\n 'underground_decoration',\r\n 'fluid_springs',\r\n 'vegetal_decoration',\r\n 'top_layer_modification'\r\n ]);\r\n collections.register('loot_context_type', [\r\n 'minecraft:empty',\r\n 'minecraft:chest',\r\n 'minecraft:command',\r\n 'minecraft:selector',\r\n 'minecraft:fishing',\r\n 'minecraft:entity',\r\n 'minecraft:gift',\r\n 'minecraft:barter',\r\n 'minecraft:advancement_reward',\r\n 'minecraft:advancement_entity',\r\n 'minecraft:generic',\r\n 'minecraft:block'\r\n ]);\r\n collections.register('banner_pattern', [\r\n 'base',\r\n 'square_bottom_left',\r\n 'square_bottom_right',\r\n 'square_top_left',\r\n 'square_top_right',\r\n 'stripe_bottom',\r\n 'stripe_top',\r\n 'stripe_left',\r\n 'stripe_right',\r\n 'stripe_center',\r\n 'stripe_middle',\r\n 'stripe_downright',\r\n 'stripe_downleft',\r\n 'small_stripes',\r\n 'cross',\r\n 'straight_cross',\r\n 'triangle_bottom',\r\n 'triangle_top',\r\n 'triangles_bottom',\r\n 'triangles_top',\r\n 'diagonal_left',\r\n 'diagonal_up_right',\r\n 'diagonal_up_left',\r\n 'diagonal_right',\r\n 'circle',\r\n 'rhombus',\r\n 'half_vertical',\r\n 'half_horizontal',\r\n 'half_vertical_right',\r\n 'half_horizontal_bottom',\r\n 'border',\r\n 'curly_border',\r\n 'gradient',\r\n 'gradient_up',\r\n 'bricks',\r\n 'globe',\r\n 'creeper',\r\n 'skull',\r\n 'flower',\r\n 'mojang',\r\n 'piglin'\r\n ]);\r\n collections.register('dye_color', [\r\n 'white',\r\n 'orange',\r\n 'magenta',\r\n 'light_blue',\r\n 'yellow',\r\n 'lime',\r\n 'pink',\r\n 'gray',\r\n 'light_gray',\r\n 'cyan',\r\n 'purple',\r\n 'blue',\r\n 'brown',\r\n 'green',\r\n 'red',\r\n 'black'\r\n ]);\r\n collections.register('cave_surface', [\r\n 'floor',\r\n 'ceiling'\r\n ]);\r\n collections.register('direction', [\r\n 'down',\r\n 'up',\r\n 'north',\r\n 'east',\r\n 'south',\r\n 'west'\r\n ]);\r\n collections.register('axis', [\r\n 'x',\r\n 'y',\r\n 'z'\r\n ]);\r\n collections.register('display_position', [\r\n 'firstperson_righthand',\r\n 'firstperson_lefthand',\r\n 'thirdperson_righthand',\r\n 'thirdperson_lefthand',\r\n 'gui',\r\n 'head',\r\n 'ground',\r\n 'fixed'\r\n ]);\r\n collections.register('gui_light', [\r\n 'front',\r\n 'side'\r\n ]);\r\n collections.register('item_model_predicates', [\r\n 'angle',\r\n 'blocking',\r\n 'broken',\r\n 'cast',\r\n 'charged',\r\n 'cooldown',\r\n 'custom_model_data',\r\n 'damage',\r\n 'damaged',\r\n 'firework',\r\n 'lefthanded',\r\n 'pull',\r\n 'pulling',\r\n 'throwing',\r\n 'time'\r\n ]);\r\n collections.register('mob_category', [\r\n 'monster',\r\n 'creature',\r\n 'ambient',\r\n 'axolotls',\r\n 'underground_water_creature',\r\n 'water_creature',\r\n 'water_ambient',\r\n 'misc',\r\n ]);\r\n}\r\nexports.initCollections = initCollections;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initAdvancementSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initAdvancementSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const EntityPredicate = (0, core_1.ChoiceNode)([\r\n {\r\n type: 'object',\r\n node: (0, core_1.Opt)(Reference('entity_predicate')),\r\n change: v => { var _a, _b; return (_b = (_a = v[0]) === null || _a === void 0 ? void 0 : _a.predicate) !== null && _b !== void 0 ? _b : ({}); }\r\n },\r\n {\r\n type: 'list',\r\n node: (0, core_1.ListNode)(Reference('condition')),\r\n change: v => [{\r\n condition: 'minecraft:entity_properties',\r\n predicate: v\r\n }]\r\n }\r\n ], { context: 'conditions' });\r\n schemas.register('advancement', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n display: (0, core_1.Opt)((0, core_1.Mod)((0, core_1.ObjectNode)({\r\n icon: (0, core_1.ObjectNode)({\r\n item: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n nbt: (0, core_1.Opt)(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:item', id: ['pop', { push: 'item' }] } } }))\r\n }),\r\n title: Reference('text_component'),\r\n description: Reference('text_component'),\r\n background: (0, core_1.Opt)(StringNode()),\r\n frame: (0, core_1.Opt)(StringNode({ enum: ['task', 'challenge', 'goal'] })),\r\n show_toast: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n announce_to_chat: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n hidden: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n }), {\r\n default: () => ({\r\n icon: {\r\n item: 'minecraft:stone'\r\n },\r\n title: '',\r\n description: ''\r\n })\r\n })),\r\n parent: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$advancement' } })),\r\n criteria: (0, core_1.MapNode)(StringNode(), Reference('advancement_criteria')),\r\n requirements: (0, core_1.Opt)((0, core_1.ListNode)((0, core_1.ListNode)(StringNode() // TODO: add validation\r\n ))),\r\n rewards: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n function: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$function' } })),\r\n loot: (0, core_1.Opt)((0, core_1.ListNode)(StringNode({ validator: 'resource', params: { pool: '$loot_table' } }))),\r\n recipes: (0, core_1.Opt)((0, core_1.ListNode)(StringNode({ validator: 'resource', params: { pool: '$recipe' } }))),\r\n experience: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true }))\r\n })),\r\n }, { context: 'advancement' }), {\r\n default: () => ({\r\n criteria: {\r\n requirement: {\r\n trigger: 'minecraft:location'\r\n }\r\n }\r\n })\r\n }));\r\n schemas.register('advancement_criteria', (0, core_1.ObjectNode)({\r\n trigger: StringNode({ validator: 'resource', params: { pool: collections.get('advancement_trigger') } }),\r\n conditions: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n player: (0, core_1.Mod)(EntityPredicate, {\r\n enabled: path => path.pop().push('trigger').get() !== 'minecraft:impossible'\r\n }),\r\n [core_1.Switch]: ['pop', { push: 'trigger' }],\r\n [core_1.Case]: {\r\n 'minecraft:allay_drop_item_on_block': {\r\n item: (0, core_1.Opt)(Reference('item_predicate')),\r\n location: (0, core_1.Opt)(Reference('location_predicate'))\r\n },\r\n 'minecraft:bee_nest_destroyed': {\r\n block: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: 'block' } })),\r\n num_bees_inside: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n item: (0, core_1.Opt)(Reference('item_predicate'))\r\n },\r\n 'minecraft:bred_animals': {\r\n parent: EntityPredicate,\r\n partner: EntityPredicate,\r\n child: EntityPredicate\r\n },\r\n 'minecraft:brewed_potion': {\r\n potion: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: 'potion' } }))\r\n },\r\n 'minecraft:changed_dimension': {\r\n from: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$dimension' } })),\r\n to: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$dimension' } }))\r\n },\r\n 'minecraft:channeled_lightning': {\r\n victims: (0, core_1.Opt)((0, core_1.ListNode)(EntityPredicate))\r\n },\r\n 'minecraft:construct_beacon': {\r\n level: Reference('int_bounds')\r\n },\r\n 'minecraft:consume_item': {\r\n item: (0, core_1.Opt)(Reference('item_predicate'))\r\n },\r\n 'minecraft:cured_zombie_villager': {\r\n villager: EntityPredicate,\r\n zombie: EntityPredicate\r\n },\r\n 'minecraft:effects_changed': {\r\n effects: (0, core_1.Opt)((0, core_1.MapNode)(StringNode({ validator: 'resource', params: { pool: 'mob_effect' } }), (0, core_1.ObjectNode)({\r\n amplifier: Reference('int_bounds'),\r\n duration: Reference('int_bounds')\r\n }))),\r\n source: (0, core_1.Opt)(EntityPredicate)\r\n },\r\n 'minecraft:enter_block': {\r\n block: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: 'block' } })),\r\n state: (0, core_1.Opt)((0, core_1.MapNode)(StringNode(), StringNode(), { validation: { validator: 'block_state_map', params: { id: ['pop', { push: 'block' }] } } }))\r\n },\r\n 'minecraft:enchanted_item': {\r\n levels: Reference('int_bounds'),\r\n item: (0, core_1.Opt)(Reference('item_predicate'))\r\n },\r\n 'minecraft:entity_hurt_player': {\r\n damage: (0, core_1.Opt)(Reference('damage_predicate'))\r\n },\r\n 'minecraft:entity_killed_player': {\r\n entity: EntityPredicate,\r\n killing_blow: (0, core_1.Opt)(Reference('damage_source_predicate'))\r\n },\r\n 'minecraft:fall_from_height': {\r\n start_position: (0, core_1.Opt)(Reference('location_predicate')),\r\n distance: (0, core_1.Opt)(Reference('distance_predicate'))\r\n },\r\n 'minecraft:filled_bucket': {\r\n item: (0, core_1.Opt)(Reference('item_predicate'))\r\n },\r\n 'minecraft:fishing_rod_hooked': {\r\n entity: EntityPredicate,\r\n item: (0, core_1.Opt)(Reference('item_predicate'))\r\n },\r\n 'minecraft:inventory_changed': {\r\n slots: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n empty: Reference('int_bounds'),\r\n occupied: Reference('int_bounds'),\r\n full: Reference('int_bounds')\r\n })),\r\n items: (0, core_1.Opt)((0, core_1.ListNode)(Reference('item_predicate')))\r\n },\r\n 'minecraft:item_durability_changed': {\r\n delta: Reference('int_bounds'),\r\n durability: Reference('int_bounds'),\r\n item: (0, core_1.Opt)(Reference('item_predicate'))\r\n },\r\n 'minecraft:item_used_on_block': {\r\n item: (0, core_1.Opt)(Reference('item_predicate')),\r\n location: (0, core_1.Opt)(Reference('location_predicate'))\r\n },\r\n 'minecraft:kill_mob_near_sculk_catalyst': {\r\n entity: EntityPredicate,\r\n killing_blow: (0, core_1.Opt)(Reference('damage_source_predicate'))\r\n },\r\n 'minecraft:killed_by_crossbow': {\r\n unique_entity_types: Reference('int_bounds'),\r\n victims: (0, core_1.Opt)((0, core_1.ListNode)(EntityPredicate))\r\n },\r\n 'minecraft:levitation': {\r\n distance: (0, core_1.Opt)(Reference('distance_predicate')),\r\n duration: Reference('int_bounds')\r\n },\r\n 'minecraft:lightning_strike': {\r\n lightning: EntityPredicate,\r\n bystander: EntityPredicate,\r\n },\r\n 'minecraft:nether_travel': {\r\n start_position: (0, core_1.Opt)(Reference('location_predicate')),\r\n distance: (0, core_1.Opt)(Reference('distance_predicate')),\r\n },\r\n 'minecraft:placed_block': {\r\n block: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: 'block' } })),\r\n state: (0, core_1.Opt)((0, core_1.MapNode)(StringNode(), StringNode(), { validation: { validator: 'block_state_map', params: { id: ['pop', { push: 'block' }] } } })),\r\n item: (0, core_1.Opt)(Reference('item_predicate')),\r\n location: (0, core_1.Opt)(Reference('location_predicate'))\r\n },\r\n 'minecraft:player_generates_container_loot': {\r\n loot_table: StringNode({ validator: 'resource', params: { pool: '$loot_table' } })\r\n },\r\n 'minecraft:player_hurt_entity': {\r\n damage: (0, core_1.Opt)(Reference('damage_predicate')),\r\n entity: EntityPredicate\r\n },\r\n 'minecraft:player_interacted_with_entity': {\r\n item: (0, core_1.Opt)(Reference('item_predicate')),\r\n entity: EntityPredicate\r\n },\r\n 'minecraft:player_killed_entity': {\r\n entity: EntityPredicate,\r\n killing_blow: (0, core_1.Opt)(Reference('damage_source_predicate'))\r\n },\r\n 'minecraft:recipe_unlocked': {\r\n recipe: StringNode({ validator: 'resource', params: { pool: '$recipe' } })\r\n },\r\n 'minecraft:ride_entity_in_lava': {\r\n start_position: (0, core_1.Opt)(Reference('location_predicate')),\r\n distance: (0, core_1.Opt)(Reference('distance_predicate'))\r\n },\r\n 'minecraft:slide_down_block': {\r\n block: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: 'block' } }))\r\n },\r\n 'minecraft:shot_crossbow': {\r\n item: (0, core_1.Opt)(Reference('item_predicate'))\r\n },\r\n 'minecraft:summoned_entity': {\r\n entity: EntityPredicate\r\n },\r\n 'minecraft:tame_animal': {\r\n entity: EntityPredicate\r\n },\r\n 'minecraft:target_hit': {\r\n projectile: EntityPredicate,\r\n shooter: EntityPredicate,\r\n signal_strength: Reference('int_bounds')\r\n },\r\n 'minecraft:thrown_item_picked_up_by_entity': {\r\n entity: EntityPredicate,\r\n item: (0, core_1.Opt)(Reference('item_predicate'))\r\n },\r\n 'minecraft:thrown_item_picked_up_by_player': {\r\n entity: EntityPredicate,\r\n item: (0, core_1.Opt)(Reference('item_predicate'))\r\n },\r\n 'minecraft:used_ender_eye': {\r\n distance: (0, core_1.Opt)(Reference('float_bounds'))\r\n },\r\n 'minecraft:used_totem': {\r\n item: (0, core_1.Opt)(Reference('item_predicate'))\r\n },\r\n 'minecraft:using_item': {\r\n item: (0, core_1.Opt)(Reference('item_predicate'))\r\n },\r\n 'minecraft:villager_trade': {\r\n villager: EntityPredicate,\r\n item: (0, core_1.Opt)(Reference('item_predicate'))\r\n },\r\n }\r\n }, { context: 'criterion' }))\r\n }, { category: 'predicate', context: 'criterion' }));\r\n}\r\nexports.initAdvancementSchemas = initAdvancementSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initModelSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initModelSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const Vec = (length, min, max) => (0, core_1.ListNode)((0, core_1.NumberNode)({ min, max }), { minLength: length, maxLength: length });\r\n const Texture = (0, core_1.ChoiceNode)([\r\n {\r\n type: 'alias',\r\n match: (v) => typeof v === 'string' && v.startsWith('#'),\r\n node: StringNode(),\r\n change: (v) => typeof v === 'string' ? `#${v}` : \"#0\"\r\n },\r\n {\r\n type: 'reference',\r\n match: (v) => typeof v === 'string',\r\n node: StringNode({ validator: 'resource', params: { pool: '$texture' } }),\r\n change: (v) => typeof v === 'string' ? v.replace(/^#/, '') : \"\"\r\n }\r\n ], { choiceContext: 'texture' });\r\n schemas.register('model', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n parent: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$model' } })),\r\n ambientocclusion: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n gui_light: (0, core_1.Opt)(StringNode({ enum: 'gui_light' })),\r\n textures: (0, core_1.Opt)((0, core_1.MapNode)(StringNode(), Texture)),\r\n elements: (0, core_1.Opt)((0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n from: Vec(3, -16, 32),\r\n to: Vec(3, -16, 32),\r\n rotation: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n origin: Vec(3),\r\n axis: StringNode({ enum: 'axis' }),\r\n angle: (0, core_1.NumberEnum)({ values: [-45, -22.5, 0, 22.5, 45] }),\r\n rescale: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n })),\r\n shade: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n faces: (0, core_1.MapNode)(StringNode({ enum: 'direction' }), (0, core_1.ObjectNode)({\r\n texture: Texture,\r\n uv: (0, core_1.Opt)(Vec(4)),\r\n cullface: (0, core_1.Opt)(StringNode({ enum: 'direction' })),\r\n rotation: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n tintindex: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true }))\r\n }))\r\n }, { context: 'model_element' }))),\r\n display: (0, core_1.Opt)((0, core_1.MapNode)(StringNode({ enum: 'display_position' }), (0, core_1.ObjectNode)({\r\n rotation: Vec(3),\r\n translation: Vec(3, -80, 80),\r\n scale: Vec(3, -4, 4)\r\n }, { context: 'item_transform' }))),\r\n overrides: (0, core_1.Opt)((0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n predicate: (0, core_1.MapNode)(StringNode({ enum: 'item_model_predicates' }), (0, core_1.NumberNode)()),\r\n model: StringNode({ validator: 'resource', params: { pool: '$model' } })\r\n }, { context: 'model_override' })))\r\n }, { context: 'model' }), {\r\n default: () => ({\r\n parent: 'minecraft:item/generated',\r\n textures: {\r\n layer0: 'minecraft:item/diamond'\r\n }\r\n })\r\n }));\r\n}\r\nexports.initModelSchemas = initModelSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initBlockDefinitionSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initBlockDefinitionSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('block_definition', (0, core_1.Mod)((0, core_1.ChoiceNode)([\r\n {\r\n type: 'variants',\r\n match: (v) => v.variants !== undefined,\r\n node: (0, core_1.ObjectNode)({\r\n variants: (0, core_1.MapNode)(StringNode(), Reference('model_variant'))\r\n }),\r\n change: (v) => ({ variants: { \"\": {} } })\r\n },\r\n {\r\n type: 'multipart',\r\n match: (v) => v.multipart !== undefined,\r\n node: (0, core_1.ObjectNode)({\r\n multipart: (0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n when: (0, core_1.Opt)(Reference('multipart_condition')),\r\n apply: Reference('model_variant'),\r\n }))\r\n }),\r\n change: (v) => ({ multipart: { when: {}, apply: {} } })\r\n }\r\n ], { context: 'block_definition' }), {\r\n default: () => ({\r\n variants: {\r\n \"\": {\r\n model: 'minecraft:block/stone'\r\n }\r\n }\r\n })\r\n }));\r\n const VariantChildren = {\r\n model: StringNode({ validator: 'resource', params: { pool: '$model' } }),\r\n x: (0, core_1.Opt)((0, core_1.NumberEnum)({ integer: true, values: [0, 90, 180, 270] })),\r\n y: (0, core_1.Opt)((0, core_1.NumberEnum)({ integer: true, values: [0, 90, 180, 270] })),\r\n uvlock: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n };\r\n schemas.register('model_variant', (0, core_1.ChoiceNode)([\r\n {\r\n type: 'object',\r\n node: (0, core_1.ObjectNode)(VariantChildren),\r\n change: (v) => Array.isArray(v) && v.length > 0 ? v[0] : ({})\r\n },\r\n {\r\n type: 'list',\r\n node: (0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n ...VariantChildren,\r\n weight: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 1 }))\r\n }, { context: 'model_variant' })),\r\n change: (v) => [{ weight: 1, ...v }]\r\n }\r\n ], { context: 'model_variant' }));\r\n schemas.register('multipart_condition', (0, core_1.ChoiceNode)([\r\n {\r\n type: 'object',\r\n priority: -1,\r\n match: () => true,\r\n node: (0, core_1.MapNode)(StringNode(), StringNode()),\r\n change: (v) => typeof v === 'object' && Array.isArray(v === null || v === void 0 ? void 0 : v.OR) && v.OR.length > 0 ? v.OR[0] : ({})\r\n },\r\n {\r\n type: 'or',\r\n match: (v) => typeof v === 'object' && (v === null || v === void 0 ? void 0 : v.OR) !== undefined,\r\n node: (0, core_1.ObjectNode)({\r\n OR: (0, core_1.ListNode)(Reference('multipart_condition'))\r\n }),\r\n change: (v) => ({ OR: [v !== null && v !== void 0 ? v : {}] })\r\n }\r\n ], { context: 'multipart_condition' }));\r\n}\r\nexports.initBlockDefinitionSchemas = initBlockDefinitionSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initAssetsSchemas = void 0;\r\nconst Model_1 = require(\"./Model\");\r\nconst BlockDefinition_1 = require(\"./BlockDefinition\");\r\nfunction initAssetsSchemas(schemas, collections) {\r\n (0, BlockDefinition_1.initBlockDefinitionSchemas)(schemas, collections);\r\n (0, Model_1.initModelSchemas)(schemas, collections);\r\n}\r\nexports.initAssetsSchemas = initAssetsSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initChatTypeSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initChatTypeSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('chat_type', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n chat: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n decoration: (0, core_1.Opt)(Reference('text_decoration')),\r\n })),\r\n overlay: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n decoration: (0, core_1.Opt)(Reference('text_decoration')),\r\n })),\r\n narration: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n decoration: (0, core_1.Opt)(Reference('text_decoration')),\r\n priority: StringNode({ enum: ['chat', 'system'] }),\r\n })),\r\n }, { context: 'chat_type' }), {\r\n default: () => ({\r\n chat: {\r\n decoration: {\r\n parameters: ['sender', 'content'],\r\n translation_key: 'chat.type.text',\r\n style: {},\r\n }\r\n }\r\n })\r\n }));\r\n schemas.register('text_decoration', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n translation_key: StringNode(),\r\n parameters: (0, core_1.ListNode)(StringNode({ enum: ['sender', 'team_name', 'content'] })),\r\n style: Reference('text_style')\r\n }, { context: 'text_decoration' }), {\r\n default: () => ({\r\n translation_key: 'chat.type.text',\r\n parameters: ['sender', 'content'],\r\n style: {},\r\n })\r\n }));\r\n}\r\nexports.initChatTypeSchemas = initChatTypeSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initCommonSchemas = exports.Tag = exports.InclusiveRange = exports.IntProvider = exports.FloatProvider = exports.NoiseSettingsPresets = exports.DefaultNoiseSettings = exports.DimensionTypePresets = exports.DefaultDimensionType = exports.FunctionCases = exports.ConditionCases = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nexports.DefaultDimensionType = {\r\n ultrawarm: false,\r\n natural: true,\r\n piglin_safe: false,\r\n respawn_anchor_works: false,\r\n bed_works: true,\r\n has_raids: true,\r\n has_skylight: true,\r\n has_ceiling: false,\r\n coordinate_scale: 1,\r\n ambient_light: 0,\r\n logical_height: 256,\r\n infiniburn: '#minecraft:infiniburn_overworld',\r\n min_y: 0,\r\n height: 256,\r\n};\r\nexports.DefaultNoiseSettings = {\r\n sea_level: 63,\r\n ore_veins_enabled: true,\r\n disable_mob_generation: false,\r\n aquifers_enabled: true,\r\n legacy_random_source: false,\r\n default_block: {\r\n Name: 'minecraft:stone'\r\n },\r\n default_fluid: {\r\n Properties: {\r\n level: '0'\r\n },\r\n Name: 'minecraft:water'\r\n },\r\n noise: {\r\n min_y: -64,\r\n height: 384,\r\n size_horizontal: 1,\r\n size_vertical: 2,\r\n top_slide: {\r\n target: -0.078125,\r\n size: 2,\r\n offset: 8\r\n },\r\n bottom_slide: {\r\n target: 0.1171875,\r\n size: 3,\r\n offset: 0\r\n },\r\n sampling: {\r\n xz_scale: 0.9999999814507745,\r\n y_scale: 0.9999999814507745,\r\n xz_factor: 80,\r\n y_factor: 160\r\n },\r\n terrain_shaper: {\r\n offset: 0,\r\n factor: 0,\r\n jaggedness: 0\r\n }\r\n },\r\n noise_router: {\r\n barrier: 0,\r\n fluid_level_floodedness: 0,\r\n fluid_level_spread: 0,\r\n lava: 0,\r\n temperature: 0,\r\n vegetation: 0,\r\n continents: 0,\r\n erosion: 0,\r\n depth: 0,\r\n ridges: 0,\r\n initial_density_without_jaggedness: 0,\r\n final_density: {\r\n type: 'minecraft:interpolated',\r\n argument: 'minecraft:overworld/base_3d_noise'\r\n },\r\n vein_toggle: 0,\r\n vein_ridged: 0,\r\n vein_gap: 0,\r\n },\r\n surface_rule: {\r\n type: 'minecraft:sequence',\r\n sequence: []\r\n }\r\n};\r\nfunction initCommonSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n schemas.register('block_state', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n Name: StringNode({ validator: 'resource', params: { pool: 'block' } }),\r\n Properties: (0, core_1.Opt)((0, core_1.MapNode)(StringNode(), StringNode(), { validation: { validator: 'block_state_map', params: { id: ['pop', { push: 'Name' }] } } }))\r\n }, { context: 'block_state' }), {\r\n default: () => ({\r\n Name: 'minecraft:stone'\r\n })\r\n }));\r\n schemas.register('fluid_state', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n Name: StringNode({ validator: 'resource', params: { pool: 'fluid' } }),\r\n Properties: (0, core_1.Opt)((0, core_1.MapNode)(StringNode(), StringNode()))\r\n }, { context: 'fluid_state' }), {\r\n default: () => ({\r\n Name: 'minecraft:water',\r\n Properties: {\r\n 'level': '0'\r\n }\r\n })\r\n }));\r\n schemas.register('block_pos', (0, core_1.Mod)((0, core_1.ListNode)((0, core_1.NumberNode)({ integer: true }), { minLength: 3, maxLength: 3 }), {\r\n default: () => [0, 0, 0]\r\n }));\r\n const Bounds = (integer) => (0, core_1.Opt)((0, core_1.ChoiceNode)([\r\n {\r\n type: 'number',\r\n node: (0, core_1.NumberNode)({ integer }),\r\n change: (v) => { var _a, _b; return v === undefined ? 0 : (_b = (_a = v.min) !== null && _a !== void 0 ? _a : v.max) !== null && _b !== void 0 ? _b : 0; }\r\n },\r\n {\r\n type: 'object',\r\n node: (0, core_1.ObjectNode)({\r\n min: (0, core_1.Opt)((0, core_1.NumberNode)({ integer })),\r\n max: (0, core_1.Opt)((0, core_1.NumberNode)({ integer }))\r\n }, { context: 'range' }),\r\n change: (v) => ({\r\n min: v !== null && v !== void 0 ? v : 0,\r\n max: v !== null && v !== void 0 ? v : 0\r\n })\r\n }\r\n ]));\r\n schemas.register('int_bounds', Bounds(true));\r\n schemas.register('float_bounds', Bounds());\r\n schemas.register('int_range', (0, core_1.ChoiceNode)([\r\n {\r\n type: 'object',\r\n node: (0, core_1.ObjectNode)({\r\n min: (0, core_1.Opt)(Reference('number_provider')),\r\n max: (0, core_1.Opt)(Reference('number_provider'))\r\n })\r\n },\r\n {\r\n type: 'number',\r\n node: (0, core_1.NumberNode)({ integer: true })\r\n }\r\n ], { context: 'range' }));\r\n const ObjectWithType = (pool, directType, directPath, directDefault, objectDefault, context, cases) => {\r\n let defaultCase = {};\r\n if (objectDefault) {\r\n Object.keys(cases[objectDefault]).forEach(k => {\r\n defaultCase[k] = (0, core_1.Mod)(cases[objectDefault][k], {\r\n enabled: path => path.push('type').get() === undefined\r\n });\r\n });\r\n }\r\n const provider = (0, core_1.ObjectNode)({\r\n type: (0, core_1.Mod)((0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool } })), {\r\n hidden: () => true\r\n }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: cases,\r\n ...defaultCase\r\n }, { context, disableSwitchContext: true });\r\n const choices = [{\r\n type: directType,\r\n node: cases[directDefault][directPath]\r\n }];\r\n if (objectDefault) {\r\n choices.push({\r\n type: 'object',\r\n priority: -1,\r\n node: provider\r\n });\r\n }\r\n Object.keys(cases).forEach(k => {\r\n choices.push({\r\n type: k,\r\n match: (v) => {\r\n var _a;\r\n const type = 'minecraft:' + ((_a = v === null || v === void 0 ? void 0 : v.type) === null || _a === void 0 ? void 0 : _a.replace(/^minecraft:/, ''));\r\n if (type === k)\r\n return true;\r\n const keys = v ? Object.keys(v) : [];\r\n return typeof v === 'object' && ((keys === null || keys === void 0 ? void 0 : keys.length) === 0 || ((keys === null || keys === void 0 ? void 0 : keys.length) === 1 && (keys === null || keys === void 0 ? void 0 : keys[0]) === 'type'));\r\n },\r\n node: provider,\r\n change: (v) => ({ type: k })\r\n });\r\n });\r\n return (0, core_1.ChoiceNode)(choices, { context, choiceContext: `${context}.type` });\r\n };\r\n schemas.register('number_provider', ObjectWithType('loot_number_provider_type', 'number', 'value', 'minecraft:constant', 'minecraft:uniform', 'number_provider', {\r\n 'minecraft:constant': {\r\n value: (0, core_1.NumberNode)()\r\n },\r\n 'minecraft:uniform': {\r\n min: Reference('number_provider'),\r\n max: Reference('number_provider')\r\n },\r\n 'minecraft:binomial': {\r\n n: Reference('number_provider'),\r\n p: Reference('number_provider')\r\n },\r\n 'minecraft:score': {\r\n target: Reference('scoreboard_name_provider'),\r\n score: StringNode({ validator: 'objective' }),\r\n scale: (0, core_1.Opt)((0, core_1.NumberNode)())\r\n }\r\n }));\r\n schemas.register('scoreboard_name_provider', ObjectWithType('loot_score_provider_type', 'string', 'target', 'minecraft:context', null, 'score_provider', {\r\n 'minecraft:fixed': {\r\n name: StringNode({ validator: 'entity', params: { amount: 'multiple', type: 'entities', isScoreHolder: true } }) // FIXME: doesn't support selectors\r\n },\r\n 'minecraft:context': {\r\n target: (0, core_1.Mod)(StringNode({ enum: 'entity_source' }), { default: () => 'this' })\r\n }\r\n }));\r\n schemas.register('nbt_provider', ObjectWithType('loot_nbt_provider_type', 'string', 'target', 'minecraft:context', null, 'nbt_provider', {\r\n 'minecraft:storage': {\r\n source: StringNode({ validator: 'resource', params: { pool: '$storage' } })\r\n },\r\n 'minecraft:context': {\r\n target: (0, core_1.Mod)(StringNode({ enum: 'copy_source' }), { default: () => 'this' })\r\n }\r\n }));\r\n exports.FloatProvider = (config) => ObjectWithType('float_provider_type', 'number', 'value', 'minecraft:constant', null, 'float_provider', {\r\n 'minecraft:constant': {\r\n value: (0, core_1.NumberNode)(config)\r\n },\r\n 'minecraft:uniform': {\r\n value: (0, core_1.ObjectNode)({\r\n min_inclusive: (0, core_1.NumberNode)(config),\r\n max_exclusive: (0, core_1.NumberNode)(config)\r\n })\r\n },\r\n 'minecraft:clamped_normal': {\r\n value: (0, core_1.ObjectNode)({\r\n min: (0, core_1.NumberNode)(),\r\n max: (0, core_1.NumberNode)(),\r\n mean: (0, core_1.NumberNode)(),\r\n deviation: (0, core_1.NumberNode)()\r\n })\r\n },\r\n 'minecraft:trapezoid': {\r\n value: (0, core_1.ObjectNode)({\r\n min: (0, core_1.NumberNode)(),\r\n max: (0, core_1.NumberNode)(),\r\n plateau: (0, core_1.NumberNode)()\r\n })\r\n }\r\n });\r\n schemas.register('float_provider', (0, exports.FloatProvider)());\r\n exports.IntProvider = (config) => ObjectWithType('int_provider_type', 'number', 'value', 'minecraft:constant', null, 'int_provider', {\r\n 'minecraft:constant': {\r\n value: (0, core_1.NumberNode)({ integer: true, ...config })\r\n },\r\n 'minecraft:uniform': {\r\n value: (0, core_1.ObjectNode)({\r\n min_inclusive: (0, core_1.NumberNode)({ integer: true, ...config }),\r\n max_inclusive: (0, core_1.NumberNode)({ integer: true, ...config })\r\n })\r\n },\r\n 'minecraft:biased_to_bottom': {\r\n value: (0, core_1.ObjectNode)({\r\n min_inclusive: (0, core_1.NumberNode)({ integer: true, ...config }),\r\n max_inclusive: (0, core_1.NumberNode)({ integer: true, ...config })\r\n })\r\n },\r\n 'minecraft:clamped': {\r\n value: (0, core_1.ObjectNode)({\r\n min_inclusive: (0, core_1.NumberNode)({ integer: true, ...config }),\r\n max_inclusive: (0, core_1.NumberNode)({ integer: true, ...config }),\r\n source: Reference('int_provider')\r\n })\r\n },\r\n 'minecraft:clamped_normal': {\r\n value: (0, core_1.ObjectNode)({\r\n min_inclusive: (0, core_1.NumberNode)({ integer: true, ...config }),\r\n max_inclusive: (0, core_1.NumberNode)({ integer: true, ...config }),\r\n mean: (0, core_1.NumberNode)(),\r\n deviation: (0, core_1.NumberNode)()\r\n })\r\n },\r\n 'minecraft:weighted_list': {\r\n distribution: (0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n weight: (0, core_1.NumberNode)({ integer: true }),\r\n data: Reference('int_provider'),\r\n }))\r\n }\r\n });\r\n schemas.register('int_provider', (0, exports.IntProvider)());\r\n schemas.register('vertical_anchor', (0, core_1.ChoiceNode)(['absolute', 'above_bottom', 'below_top'].map(t => ({\r\n type: t,\r\n match: v => (v === null || v === void 0 ? void 0 : v[t]) !== undefined,\r\n change: v => { var _a, _b, _c; return ({ [t]: (_c = (_b = (_a = v.absolute) !== null && _a !== void 0 ? _a : v.above_bottom) !== null && _b !== void 0 ? _b : v.below_top) !== null && _c !== void 0 ? _c : 0 }); },\r\n node: (0, core_1.ObjectNode)({\r\n [t]: (0, core_1.NumberNode)({ integer: true, min: -2048, max: 2047 })\r\n })\r\n })), { context: 'vertical_anchor' }));\r\n schemas.register('height_provider', ObjectWithType('height_provider_type', 'number', 'value', 'minecraft:constant', null, 'height_provider', {\r\n 'minecraft:constant': {\r\n value: Reference('vertical_anchor')\r\n },\r\n 'minecraft:uniform': {\r\n min_inclusive: Reference('vertical_anchor'),\r\n max_inclusive: Reference('vertical_anchor')\r\n },\r\n 'minecraft:biased_to_bottom': {\r\n min_inclusive: Reference('vertical_anchor'),\r\n max_inclusive: Reference('vertical_anchor'),\r\n inner: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 1 }))\r\n },\r\n 'minecraft:very_biased_to_bottom': {\r\n min_inclusive: Reference('vertical_anchor'),\r\n max_inclusive: Reference('vertical_anchor'),\r\n inner: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 1 }))\r\n },\r\n 'minecraft:trapezoid': {\r\n min_inclusive: Reference('vertical_anchor'),\r\n max_inclusive: Reference('vertical_anchor'),\r\n plateau: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true }))\r\n },\r\n 'minecraft:weighted_list': {\r\n distribution: (0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n weight: (0, core_1.NumberNode)({ integer: true }),\r\n data: Reference('int_provider'),\r\n }))\r\n }\r\n }));\r\n exports.InclusiveRange = (config) => (0, core_1.ObjectNode)({\r\n min_inclusive: (0, core_1.NumberNode)(config),\r\n max_inclusive: (0, core_1.NumberNode)(config)\r\n }, { context: 'range' });\r\n schemas.register('noise_parameters', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n firstOctave: (0, core_1.NumberNode)({ integer: true }),\r\n amplitudes: (0, core_1.ListNode)((0, core_1.NumberNode)())\r\n }, { context: 'noise_parameters' }), {\r\n default: () => ({\r\n firstOctave: -7,\r\n amplitudes: [1, 1]\r\n })\r\n }));\r\n exports.Tag = (config) => (0, core_1.ChoiceNode)([\r\n {\r\n type: 'string',\r\n node: StringNode({ validator: 'resource', params: { pool: config.resource, allowTag: true } }),\r\n change: (v) => {\r\n if (Array.isArray(v) && typeof v[0] === 'string' && !v[0].startsWith('#')) {\r\n return v[0];\r\n }\r\n return undefined;\r\n }\r\n },\r\n {\r\n type: 'list',\r\n node: (0, core_1.ListNode)(config.inlineSchema\r\n ? (0, core_1.ChoiceNode)([\r\n {\r\n type: 'string',\r\n node: StringNode({ validator: 'resource', params: { pool: config.resource } })\r\n },\r\n {\r\n type: 'object',\r\n node: Reference(config.inlineSchema)\r\n }\r\n ], { choiceContext: 'tag.list' })\r\n : StringNode({ validator: 'resource', params: { pool: config.resource } })),\r\n change: (v) => {\r\n if (typeof v === 'string' && !v.startsWith('#')) {\r\n return [v];\r\n }\r\n return [];\r\n }\r\n },\r\n ], { choiceContext: 'tag' });\r\n exports.ConditionCases = (entitySourceNode = StringNode({ enum: 'entity_source' })) => ({\r\n 'minecraft:alternative': {\r\n terms: (0, core_1.ListNode)(Reference('condition'))\r\n },\r\n 'minecraft:block_state_property': {\r\n block: StringNode({ validator: 'resource', params: { pool: 'block' } }),\r\n properties: (0, core_1.MapNode)(StringNode(), StringNode(), { validation: { validator: 'block_state_map', params: { id: ['pop', { push: 'block' }] } } })\r\n },\r\n 'minecraft:damage_source_properties': {\r\n predicate: Reference('damage_source_predicate')\r\n },\r\n 'minecraft:entity_properties': {\r\n entity: entitySourceNode,\r\n predicate: Reference('entity_predicate')\r\n },\r\n 'minecraft:entity_scores': {\r\n entity: entitySourceNode,\r\n scores: (0, core_1.MapNode)(StringNode({ validator: 'objective' }), Reference('int_range'))\r\n },\r\n 'minecraft:inverted': {\r\n term: Reference('condition')\r\n },\r\n 'minecraft:killed_by_player': {\r\n inverse: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n },\r\n 'minecraft:location_check': {\r\n offsetX: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n offsetY: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n offsetZ: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n predicate: Reference('location_predicate')\r\n },\r\n 'minecraft:match_tool': {\r\n predicate: Reference('item_predicate')\r\n },\r\n 'minecraft:random_chance': {\r\n chance: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n },\r\n 'minecraft:random_chance_with_looting': {\r\n chance: (0, core_1.NumberNode)({ min: 0, max: 1 }),\r\n looting_multiplier: (0, core_1.NumberNode)()\r\n },\r\n 'minecraft:reference': {\r\n name: StringNode({ validator: 'resource', params: { pool: '$predicate' } })\r\n },\r\n 'minecraft:table_bonus': {\r\n enchantment: StringNode({ validator: 'resource', params: { pool: 'enchantment' } }),\r\n chances: (0, core_1.ListNode)((0, core_1.NumberNode)({ min: 0, max: 1 }))\r\n },\r\n 'minecraft:time_check': {\r\n value: Reference('int_range'),\r\n period: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true }))\r\n },\r\n 'minecraft:value_check': {\r\n value: Reference('number_provider'),\r\n range: Reference('int_range')\r\n },\r\n 'minecraft:weather_check': {\r\n raining: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n thundering: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n }\r\n });\r\n exports.FunctionCases = (conditions, copySourceNode = StringNode({ enum: 'copy_source' }), entitySourceNode = StringNode({ enum: 'entity_source' })) => {\r\n const cases = {\r\n 'minecraft:apply_bonus': {\r\n enchantment: StringNode({ validator: 'resource', params: { pool: 'enchantment' } }),\r\n formula: StringNode({ validator: 'resource', params: { pool: collections.get('loot_table_apply_bonus_formula') } }),\r\n parameters: (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n bonusMultiplier: (0, core_1.Mod)((0, core_1.NumberNode)(), {\r\n enabled: path => path.pop().push('formula').get() === 'minecraft:uniform_bonus_count'\r\n }),\r\n extra: (0, core_1.Mod)((0, core_1.NumberNode)(), {\r\n enabled: path => path.pop().push('formula').get() === 'minecraft:binomial_with_bonus_count'\r\n }),\r\n probability: (0, core_1.Mod)((0, core_1.NumberNode)(), {\r\n enabled: path => path.pop().push('formula').get() === 'minecraft:binomial_with_bonus_count'\r\n })\r\n }), {\r\n enabled: path => path.push('formula').get() !== 'minecraft:ore_drops'\r\n })\r\n },\r\n 'minecraft:copy_name': {\r\n source: copySourceNode\r\n },\r\n 'minecraft:copy_nbt': {\r\n source: Reference('nbt_provider'),\r\n ops: (0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n source: StringNode({ validator: 'nbt_path', params: { category: { getter: 'copy_source', path: ['pop', 'pop', 'pop', { push: 'source' }] } } }),\r\n target: StringNode({ validator: 'nbt_path', params: { category: 'minecraft:item' } }),\r\n op: StringNode({ enum: ['replace', 'append', 'merge'] })\r\n }, { context: 'nbt_operation' }))\r\n },\r\n 'minecraft:copy_state': {\r\n block: StringNode({ validator: 'resource', params: { pool: 'block' } }),\r\n properties: (0, core_1.ListNode)(StringNode({ validator: 'block_state_key', params: { id: ['pop', 'pop', { push: 'block' }] } }))\r\n },\r\n 'minecraft:enchant_randomly': {\r\n enchantments: (0, core_1.Opt)((0, core_1.ListNode)(StringNode({ validator: 'resource', params: { pool: 'enchantment' } })))\r\n },\r\n 'minecraft:enchant_with_levels': {\r\n levels: Reference('number_provider'),\r\n treasure: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n },\r\n 'minecraft:exploration_map': {\r\n destination: (0, core_1.Opt)((0, exports.Tag)({ resource: '$worldgen/structure' })),\r\n decoration: (0, core_1.Opt)(StringNode({ enum: 'map_decoration' })),\r\n zoom: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n search_radius: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n skip_existing_chunks: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n },\r\n 'minecraft:fill_player_head': {\r\n entity: entitySourceNode\r\n },\r\n 'minecraft:limit_count': {\r\n limit: Reference('int_range')\r\n },\r\n 'minecraft:looting_enchant': {\r\n count: Reference('number_provider'),\r\n limit: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true }))\r\n },\r\n 'minecraft:set_attributes': {\r\n modifiers: (0, core_1.ListNode)(Reference('attribute_modifier'))\r\n },\r\n 'minecraft:set_banner_pattern': {\r\n patterns: (0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n pattern: StringNode({ enum: 'banner_pattern' }),\r\n color: StringNode({ enum: 'dye_color' })\r\n })),\r\n append: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n },\r\n 'minecraft:set_contents': {\r\n type: StringNode({ validator: 'resource', params: { pool: 'block_entity_type' } }),\r\n entries: (0, core_1.ListNode)(Reference('loot_entry'))\r\n },\r\n 'minecraft:set_count': {\r\n count: Reference('number_provider'),\r\n add: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n },\r\n 'minecraft:set_damage': {\r\n damage: Reference('number_provider'),\r\n add: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n },\r\n 'minecraft:set_enchantments': {\r\n enchantments: (0, core_1.MapNode)(StringNode({ validator: 'resource', params: { pool: 'enchantment' } }), Reference('number_provider')),\r\n add: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n },\r\n 'minecraft:set_instrument': {\r\n options: StringNode({ validator: 'resource', params: { pool: 'instrument', requireTag: true } })\r\n },\r\n 'minecraft:set_loot_table': {\r\n type: StringNode({ validator: 'resource', params: { pool: 'block_entity_type' } }),\r\n name: StringNode({ validator: 'resource', params: { pool: '$loot_table' } }),\r\n seed: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true }))\r\n },\r\n 'minecraft:set_lore': {\r\n entity: (0, core_1.Opt)(entitySourceNode),\r\n lore: (0, core_1.ListNode)(Reference('text_component')),\r\n replace: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n },\r\n 'minecraft:set_name': {\r\n entity: (0, core_1.Opt)(entitySourceNode),\r\n name: (0, core_1.Opt)(Reference('text_component'))\r\n },\r\n 'minecraft:set_nbt': {\r\n tag: StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:item' } } })\r\n },\r\n 'minecraft:set_potion': {\r\n id: StringNode({ validator: 'resource', params: { pool: 'potion' } })\r\n },\r\n 'minecraft:set_stew_effect': {\r\n effects: (0, core_1.Opt)((0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'mob_effect' } }),\r\n duration: Reference('number_provider')\r\n })))\r\n }\r\n };\r\n const res = {};\r\n collections.get('loot_function_type').forEach(f => {\r\n res[f] = { ...cases[f], ...conditions };\r\n });\r\n return res;\r\n };\r\n exports.DimensionTypePresets = (node) => (0, core_1.ObjectOrPreset)(StringNode({ validator: 'resource', params: { pool: '$dimension_type' } }), node, {\r\n 'minecraft:overworld': exports.DefaultDimensionType,\r\n 'minecraft:the_nether': {\r\n name: 'minecraft:the_nether',\r\n ultrawarm: true,\r\n natural: false,\r\n shrunk: true,\r\n piglin_safe: true,\r\n respawn_anchor_works: true,\r\n bed_works: false,\r\n has_raids: false,\r\n has_skylight: false,\r\n has_ceiling: true,\r\n ambient_light: 0.1,\r\n fixed_time: 18000,\r\n logical_height: 128,\r\n effects: 'minecraft:the_nether',\r\n infiniburn: '#minecraft:infiniburn_nether',\r\n min_y: 0,\r\n height: 256,\r\n },\r\n 'minecraft:the_end': {\r\n name: 'minecraft:the_end',\r\n ultrawarm: false,\r\n natural: false,\r\n shrunk: false,\r\n piglin_safe: false,\r\n respawn_anchor_works: false,\r\n bed_works: false,\r\n has_raids: true,\r\n has_skylight: false,\r\n has_ceiling: false,\r\n ambient_light: 0,\r\n fixed_time: 6000,\r\n logical_height: 256,\r\n effects: 'minecraft:the_end',\r\n infiniburn: '#minecraft:infiniburn_end',\r\n min_y: 0,\r\n height: 256,\r\n }\r\n });\r\n exports.NoiseSettingsPresets = (node) => (0, core_1.ObjectOrPreset)(StringNode({ validator: 'resource', params: { pool: '$worldgen/noise_settings' } }), node, {\r\n 'minecraft:overworld': exports.DefaultNoiseSettings,\r\n 'minecraft:nether': {\r\n sea_level: 32,\r\n ore_veins_enabled: false,\r\n disable_mob_generation: false,\r\n aquifers_enabled: false,\r\n legacy_random_source: true,\r\n default_block: {\r\n Name: 'minecraft:netherrack'\r\n },\r\n default_fluid: {\r\n Properties: {\r\n level: '0'\r\n },\r\n Name: 'minecraft:lava'\r\n },\r\n noise: {\r\n min_y: 0,\r\n height: 128,\r\n size_horizontal: 1,\r\n size_vertical: 2,\r\n top_slide: {\r\n target: 0.9375,\r\n size: 3,\r\n offset: 0\r\n },\r\n bottom_slide: {\r\n target: 2.5,\r\n size: 4,\r\n offset: -1\r\n },\r\n sampling: {\r\n xz_scale: 1.0,\r\n y_scale: 3.0,\r\n xz_factor: 80.0,\r\n y_factor: 60.0\r\n },\r\n terrain_shaper: {\r\n offset: 0,\r\n factor: 0,\r\n jaggedness: 0\r\n }\r\n },\r\n noise_router: {\r\n barrier: 0,\r\n fluid_level_floodedness: 0,\r\n fluid_level_spread: 0,\r\n lava: 0,\r\n temperature: 0,\r\n vegetation: 0,\r\n continents: 0,\r\n erosion: 0,\r\n depth: 0,\r\n ridges: 0,\r\n initial_density_without_jaggedness: 0,\r\n final_density: {\r\n type: 'minecraft:interpolated',\r\n argument: 'minecraft:overworld/base_3d_noise'\r\n },\r\n vein_toggle: 0,\r\n vein_ridged: 0,\r\n vein_gap: 0,\r\n },\r\n surface_rule: {\r\n type: 'minecraft:sequence',\r\n sequence: []\r\n }\r\n },\r\n 'minecraft:end': {\r\n sea_level: 0,\r\n ore_veins_enabled: false,\r\n disable_mob_generation: false,\r\n aquifers_enabled: false,\r\n legacy_random_source: true,\r\n default_block: {\r\n Name: 'minecraft:end_stone'\r\n },\r\n default_fluid: {\r\n Name: 'minecraft:air'\r\n },\r\n noise: {\r\n min_y: 0,\r\n height: 128,\r\n size_horizontal: 2,\r\n size_vertical: 1,\r\n top_slide: {\r\n target: -23.4375,\r\n size: 64,\r\n offset: -46\r\n },\r\n bottom_slide: {\r\n target: -0.234375,\r\n size: 7,\r\n offset: 1\r\n },\r\n sampling: {\r\n xz_scale: 2.0,\r\n y_scale: 1.0,\r\n xz_factor: 80.0,\r\n y_factor: 160.0\r\n },\r\n terrain_shaper: {\r\n offset: 0,\r\n factor: 1,\r\n jaggedness: 0\r\n }\r\n },\r\n noise_router: {\r\n barrier: 0,\r\n fluid_level_floodedness: 0,\r\n fluid_level_spread: 0,\r\n lava: 0,\r\n temperature: 0,\r\n vegetation: 0,\r\n continents: 0,\r\n erosion: 0,\r\n depth: 0,\r\n ridges: 0,\r\n initial_density_without_jaggedness: 0,\r\n final_density: {\r\n type: 'minecraft:interpolated',\r\n argument: 'minecraft:overworld/base_3d_noise'\r\n },\r\n vein_toggle: 0,\r\n vein_ridged: 0,\r\n vein_gap: 0,\r\n },\r\n surface_rule: {\r\n type: 'minecraft:sequence',\r\n sequence: []\r\n }\r\n },\r\n 'minecraft:amplified': {\r\n sea_level: 63,\r\n ore_veins_enabled: true,\r\n disable_mob_generation: false,\r\n aquifers_enabled: true,\r\n legacy_random_source: false,\r\n default_block: {\r\n Name: 'minecraft:stone'\r\n },\r\n default_fluid: {\r\n Properties: {\r\n level: '0'\r\n },\r\n Name: 'minecraft:water'\r\n },\r\n noise: {\r\n min_y: -64,\r\n height: 384,\r\n size_horizontal: 1,\r\n size_vertical: 2,\r\n top_slide: {\r\n target: -0.078125,\r\n size: 2,\r\n offset: 8\r\n },\r\n bottom_slide: {\r\n target: 0.1171875,\r\n size: 3,\r\n offset: 0\r\n },\r\n sampling: {\r\n xz_scale: 0.9999999814507745,\r\n y_scale: 0.9999999814507745,\r\n xz_factor: 80,\r\n y_factor: 160\r\n },\r\n terrain_shaper: {\r\n offset: 0,\r\n factor: 0,\r\n jaggedness: 0\r\n }\r\n },\r\n noise_router: {\r\n barrier: 0,\r\n fluid_level_floodedness: 0,\r\n fluid_level_spread: 0,\r\n lava: 0,\r\n temperature: 0,\r\n vegetation: 0,\r\n continents: 0,\r\n erosion: 0,\r\n depth: 0,\r\n ridges: 0,\r\n initial_density_without_jaggedness: 0,\r\n final_density: {\r\n type: 'minecraft:interpolated',\r\n argument: 'minecraft:overworld/base_3d_noise'\r\n },\r\n vein_toggle: 0,\r\n vein_ridged: 0,\r\n vein_gap: 0,\r\n },\r\n surface_rule: {\r\n type: 'minecraft:sequence',\r\n sequence: []\r\n },\r\n },\r\n 'minecraft:caves': {\r\n sea_level: 32,\r\n ore_veins_enabled: false,\r\n disable_mob_generation: false,\r\n aquifers_enabled: false,\r\n legacy_random_source: true,\r\n default_block: {\r\n Name: 'minecraft:stone'\r\n },\r\n default_fluid: {\r\n Properties: {\r\n level: '0'\r\n },\r\n Name: 'minecraft:water'\r\n },\r\n noise: {\r\n min_y: 0,\r\n height: 128,\r\n size_horizontal: 1,\r\n size_vertical: 2,\r\n top_slide: {\r\n target: 0.9375,\r\n size: 3,\r\n offset: 0\r\n },\r\n bottom_slide: {\r\n target: 2.5,\r\n size: 4,\r\n offset: -1\r\n },\r\n sampling: {\r\n xz_scale: 1.0,\r\n y_scale: 3.0,\r\n xz_factor: 80.0,\r\n y_factor: 60.0\r\n },\r\n terrain_shaper: {\r\n offset: 0,\r\n factor: 0,\r\n jaggedness: 0\r\n }\r\n },\r\n noise_router: {\r\n barrier: 0,\r\n fluid_level_floodedness: 0,\r\n fluid_level_spread: 0,\r\n lava: 0,\r\n temperature: 0,\r\n vegetation: 0,\r\n continents: 0,\r\n erosion: 0,\r\n depth: 0,\r\n ridges: 0,\r\n initial_density_without_jaggedness: 0,\r\n final_density: {\r\n type: 'minecraft:interpolated',\r\n argument: 'minecraft:overworld/base_3d_noise'\r\n },\r\n vein_toggle: 0,\r\n vein_ridged: 0,\r\n vein_gap: 0,\r\n },\r\n surface_rule: {\r\n type: 'minecraft:sequence',\r\n sequence: []\r\n }\r\n },\r\n 'minecraft:floating_islands': {\r\n sea_level: 0,\r\n ore_veins_enabled: false,\r\n disable_mob_generation: false,\r\n aquifers_enabled: false,\r\n legacy_random_source: true,\r\n default_block: {\r\n Name: 'minecraft:stone'\r\n },\r\n default_fluid: {\r\n Properties: {\r\n level: '0'\r\n },\r\n Name: 'minecraft:water'\r\n },\r\n noise: {\r\n min_y: 0,\r\n height: 128,\r\n size_horizontal: 2,\r\n size_vertical: 1,\r\n top_slide: {\r\n target: -23.4375,\r\n size: 64,\r\n offset: -46\r\n },\r\n bottom_slide: {\r\n target: -0.234375,\r\n size: 7,\r\n offset: 1\r\n },\r\n sampling: {\r\n xz_scale: 2.0,\r\n y_scale: 1.0,\r\n xz_factor: 80.0,\r\n y_factor: 160.0\r\n },\r\n terrain_shaper: {\r\n offset: 0,\r\n factor: 1,\r\n jaggedness: 0\r\n }\r\n },\r\n noise_router: {\r\n barrier: 0,\r\n fluid_level_floodedness: 0,\r\n fluid_level_spread: 0,\r\n lava: 0,\r\n temperature: 0,\r\n vegetation: 0,\r\n continents: 0,\r\n erosion: 0,\r\n depth: 0,\r\n ridges: 0,\r\n initial_density_without_jaggedness: 0,\r\n final_density: {\r\n type: 'minecraft:interpolated',\r\n argument: 'minecraft:overworld/base_3d_noise'\r\n },\r\n vein_toggle: 0,\r\n vein_ridged: 0,\r\n vein_gap: 0,\r\n },\r\n surface_rule: {\r\n type: 'minecraft:sequence',\r\n sequence: []\r\n }\r\n }\r\n });\r\n}\r\nexports.initCommonSchemas = initCommonSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initConditionSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"./Common\");\r\nfunction initConditionSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('predicate', (0, core_1.ObjectOrList)(Reference('condition'), { choiceContext: 'condition' }));\r\n schemas.register('condition', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n condition: StringNode({ validator: 'resource', params: { pool: 'loot_condition_type' } }),\r\n [core_1.Switch]: [{ push: 'condition' }],\r\n [core_1.Case]: (0, Common_1.ConditionCases)()\r\n }, { category: 'predicate', context: 'condition' }), {\r\n default: () => ({\r\n condition: 'minecraft:entity_properties',\r\n entity: 'this'\r\n })\r\n }));\r\n}\r\nexports.initConditionSchemas = initConditionSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initDimensionSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"./Common\");\r\nfunction initDimensionSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('dimension', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n type: (0, Common_1.DimensionTypePresets)(Reference('dimension_type')),\r\n generator: (0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/chunk_generator' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:noise': {\r\n settings: (0, Common_1.NoiseSettingsPresets)(Reference('noise_settings')),\r\n biome_source: (0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/biome_source' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:fixed': {\r\n biome: StringNode({ validator: 'resource', params: { pool: '$worldgen/biome' } })\r\n },\r\n 'minecraft:multi_noise': {\r\n preset: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: ['minecraft:overworld', 'minecraft:nether'] } })),\r\n biomes: (0, core_1.Mod)((0, core_1.ListNode)(Reference('generator_biome')), {\r\n enabled: path => path.push('preset').get() === undefined,\r\n default: () => [{\r\n biome: 'minecraft:plains'\r\n }]\r\n })\r\n },\r\n 'minecraft:checkerboard': {\r\n scale: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 0, max: 62 })),\r\n biomes: (0, Common_1.Tag)({ resource: '$worldgen/biome' })\r\n },\r\n }\r\n }, { category: 'predicate', disableSwitchContext: true })\r\n },\r\n 'minecraft:flat': {\r\n settings: Reference('flat_generator_settings')\r\n }\r\n }\r\n }, { disableSwitchContext: true })\r\n }, { category: 'pool', context: 'dimension' }), {\r\n default: () => {\r\n return {\r\n type: 'minecraft:overworld',\r\n generator: {\r\n type: 'minecraft:noise',\r\n biome_source: {\r\n type: 'minecraft:fixed',\r\n biome: 'minecraft:plains'\r\n },\r\n settings: 'minecraft:overworld'\r\n }\r\n };\r\n }\r\n }));\r\n schemas.register('flat_generator_settings', (0, core_1.ObjectNode)({\r\n biome: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$worldgen/biome' } })),\r\n lakes: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n features: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n layers: (0, core_1.ListNode)(Reference('generator_layer')),\r\n structure_overrides: (0, Common_1.Tag)({ resource: '$worldgen/structure_set', inlineSchema: 'structure_set' })\r\n }));\r\n const ClimateParameter = (0, core_1.ChoiceNode)([\r\n {\r\n type: 'number',\r\n node: (0, core_1.NumberNode)({ min: -2, max: 2 }),\r\n change: (v) => { var _a; return (_a = v[0]) !== null && _a !== void 0 ? _a : 0; }\r\n },\r\n {\r\n type: 'list',\r\n node: (0, core_1.ListNode)((0, core_1.NumberNode)({ min: -2, max: 2 }), { minLength: 2, maxLength: 2 }),\r\n change: (v) => [v !== null && v !== void 0 ? v : 0, v !== null && v !== void 0 ? v : 0]\r\n }\r\n ]);\r\n schemas.register('parameter_point', (0, core_1.ObjectNode)({\r\n temperature: ClimateParameter,\r\n humidity: ClimateParameter,\r\n continentalness: ClimateParameter,\r\n erosion: ClimateParameter,\r\n weirdness: ClimateParameter,\r\n depth: ClimateParameter,\r\n offset: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n }));\r\n schemas.register('generator_biome', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n biome: StringNode({ validator: 'resource', params: { pool: '$worldgen/biome' } }),\r\n parameters: Reference('parameter_point'),\r\n }, { context: 'generator_biome' }), {\r\n default: () => ({\r\n biome: 'minecraft:plains',\r\n parameters: {\r\n temperature: 0,\r\n humidity: 0,\r\n continentalness: 0,\r\n erosion: 0,\r\n weirdness: 0,\r\n depth: 0,\r\n offset: 0\r\n }\r\n })\r\n }));\r\n}\r\nexports.initDimensionSchemas = initDimensionSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initDimensionTypeSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"./Common\");\r\nfunction initDimensionTypeSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('dimension_type', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n ultrawarm: (0, core_1.BooleanNode)(),\r\n natural: (0, core_1.BooleanNode)(),\r\n piglin_safe: (0, core_1.BooleanNode)(),\r\n respawn_anchor_works: (0, core_1.BooleanNode)(),\r\n bed_works: (0, core_1.BooleanNode)(),\r\n has_raids: (0, core_1.BooleanNode)(),\r\n has_skylight: (0, core_1.BooleanNode)(),\r\n has_ceiling: (0, core_1.BooleanNode)(),\r\n coordinate_scale: (0, core_1.NumberNode)({ min: 0.00001, max: 30000000 }),\r\n ambient_light: (0, core_1.NumberNode)(),\r\n fixed_time: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n logical_height: (0, core_1.NumberNode)({ integer: true, min: 0, max: 4064 }),\r\n effects: (0, core_1.Opt)(StringNode({ enum: ['minecraft:overworld', 'minecraft:the_nether', 'minecraft:the_end'] })),\r\n infiniburn: StringNode({ validator: 'resource', params: { pool: 'block', requireTag: true } }),\r\n min_y: (0, core_1.NumberNode)({ integer: true, min: -2032, max: 2031 }),\r\n height: (0, core_1.NumberNode)({ integer: true, min: 16, max: 4064 })\r\n }, { context: 'dimension_type' }), node => ({\r\n default: () => Common_1.DefaultDimensionType,\r\n validate: (path, value, errors, options) => {\r\n value = node.validate(path, value, errors, options);\r\n if ((value === null || value === void 0 ? void 0 : value.min_y) + (value === null || value === void 0 ? void 0 : value.height) > 2032) {\r\n errors.add(path.push('height'), 'error.min_y_plus_height', 2032);\r\n }\r\n if ((value === null || value === void 0 ? void 0 : value.logical_height) > (value === null || value === void 0 ? void 0 : value.height)) {\r\n errors.add(path.push('logical_height'), 'error.logical_height');\r\n }\r\n if ((value === null || value === void 0 ? void 0 : value.height) % 16 !== 0) {\r\n errors.add(path.push('height'), 'error.height_multiple', 16);\r\n }\r\n if ((value === null || value === void 0 ? void 0 : value.min_y) % 16 !== 0) {\r\n errors.add(path.push('min_y'), 'error.min_y_multiple', 16);\r\n }\r\n return value;\r\n }\r\n })));\r\n}\r\nexports.initDimensionTypeSchemas = initDimensionTypeSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initItemModifierSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"./Common\");\r\nfunction initItemModifierSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('item_modifier', (0, core_1.ObjectOrList)(Reference('function'), { choiceContext: 'function' }));\r\n const conditions = {\r\n conditions: (0, core_1.Opt)((0, core_1.ListNode)(Reference('condition')))\r\n };\r\n schemas.register('function', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n function: StringNode({ validator: 'resource', params: { pool: 'loot_function_type' } }),\r\n [core_1.Switch]: [{ push: 'function' }],\r\n [core_1.Case]: (0, Common_1.FunctionCases)(conditions)\r\n }, { category: 'function', context: 'function' }), {\r\n default: () => [{\r\n function: 'minecraft:set_count',\r\n count: 1\r\n }]\r\n }));\r\n}\r\nexports.initItemModifierSchemas = initItemModifierSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.LootFunctions = exports.LootConditions = exports.LootCopySources = exports.LootEntitySources = exports.LootTableTypes = void 0;\r\nexports.LootTableTypes = new Map([\r\n ['minecraft:advancement_entity', { requires: [7 /* Origin */, 8 /* ThisEntity */], allows: [] }],\r\n ['minecraft:advancement_reward', { requires: [7 /* Origin */, 8 /* ThisEntity */], allows: [] }],\r\n ['minecraft:barter', { requires: [8 /* ThisEntity */], allows: [] }],\r\n ['minecraft:block', { requires: [1 /* BlockState */, 7 /* Origin */, 9 /* Tool */], allows: [0 /* BlockEntity */, 4 /* ExplosionRadius */, 8 /* ThisEntity */] }],\r\n ['minecraft:chest', { requires: [7 /* Origin */], allows: [8 /* ThisEntity */] }],\r\n ['minecraft:command', { requires: [7 /* Origin */], allows: [8 /* ThisEntity */] }],\r\n ['minecraft:empty', { requires: [], allows: [] }],\r\n ['minecraft:entity', { requires: [2 /* DamageSource */, 7 /* Origin */, 8 /* ThisEntity */], allows: [3 /* DirectKillerEntity */, 5 /* KillerEntity */, 6 /* LastDamagePlayer */] }],\r\n ['minecraft:fishing', { requires: [7 /* Origin */, 9 /* Tool */], allows: [8 /* ThisEntity */] }],\r\n ['minecraft:generic', { requires: [2 /* DamageSource */, 0 /* BlockEntity */, 1 /* BlockState */, 3 /* DirectKillerEntity */, 4 /* ExplosionRadius */, 5 /* KillerEntity */, 6 /* LastDamagePlayer */, 7 /* Origin */, 8 /* ThisEntity */, 9 /* Tool */], allows: [] }],\r\n ['minecraft:gift', { requires: [7 /* Origin */, 8 /* ThisEntity */], allows: [] }],\r\n ['minecraft:selector', { requires: [7 /* Origin */], allows: [8 /* ThisEntity */] }]\r\n]);\r\n/**\r\n * A map from loot entity sources to an array of their required context.\r\n */\r\nexports.LootEntitySources = new Map([\r\n ['direct_killer', [3 /* DirectKillerEntity */]],\r\n ['killer', [5 /* KillerEntity */]],\r\n ['killer_player', [5 /* KillerEntity */]],\r\n ['this', [8 /* ThisEntity */]]\r\n]);\r\n/**\r\n * A map from loot copy sources to an array of their required context.\r\n */\r\nexports.LootCopySources = new Map([\r\n ['block_entity', [0 /* BlockEntity */]],\r\n ['killer', [5 /* KillerEntity */]],\r\n ['killer_player', [5 /* KillerEntity */]],\r\n ['this', [8 /* ThisEntity */]]\r\n]);\r\n/**\r\n * A map from loot condition IDs to an array of their required context.\r\n */\r\nexports.LootConditions = new Map([\r\n ['minecraft:alternative', []],\r\n ['minecraft:block_state_property', [1 /* BlockState */]],\r\n ['minecraft:damage_source_properties', [2 /* DamageSource */]],\r\n ['minecraft:entity_properties', [7 /* Origin */]],\r\n ['minecraft:entity_scores', []],\r\n ['minecraft:inverted', []],\r\n ['minecraft:killed_by_player', [6 /* LastDamagePlayer */]],\r\n ['minecraft:location_check', []],\r\n ['minecraft:match_tool', [9 /* Tool */]],\r\n ['minecraft:random_chance', []],\r\n ['minecraft:random_chance_with_looting', [5 /* KillerEntity */]],\r\n ['minecraft:reference', []],\r\n ['minecraft:survives_explosion', [4 /* ExplosionRadius */]],\r\n ['minecraft:table_bonus', [9 /* Tool */]],\r\n ['minecraft:time_check', []],\r\n ['minecraft:weather_check', []]\r\n]);\r\n/**\r\n * A map from loot function IDs to an array of their required context.\r\n */\r\nexports.LootFunctions = new Map([\r\n ['minecraft:apply_bonus', [9 /* Tool */]],\r\n ['minecraft:copy_name', []],\r\n ['minecraft:copy_nbt', []],\r\n ['minecraft:copy_state', [1 /* BlockState */]],\r\n ['minecraft:enchant_randomly', []],\r\n ['minecraft:enchant_with_levels', []],\r\n ['minecraft:exploration_map', [7 /* Origin */]],\r\n ['minecraft:explosion_decay', []],\r\n ['minecraft:fill_player_head', []],\r\n ['minecraft:furnace_smelt', []],\r\n ['minecraft:limit_count', []],\r\n ['minecraft:looting_enchant', [5 /* KillerEntity */]],\r\n ['minecraft:set_attributes', []],\r\n ['minecraft:set_banner_pattern', []],\r\n ['minecraft:set_contents', []],\r\n ['minecraft:set_count', []],\r\n ['minecraft:set_damage', []],\r\n ['minecraft:set_loot_table', []],\r\n ['minecraft:set_lore', []],\r\n ['minecraft:set_name', []],\r\n ['minecraft:set_nbt', []],\r\n ['minecraft:set_stew_effect', []]\r\n]);\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initLootTableSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst LootContext_1 = require(\"../LootContext\");\r\nconst Common_1 = require(\"./Common\");\r\nfunction initLootTableSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const conditions = {\r\n conditions: (0, core_1.Opt)((0, core_1.ListNode)(Reference('loot_condition')))\r\n };\r\n const functionsAndConditions = {\r\n functions: (0, core_1.Opt)((0, core_1.ListNode)(Reference('loot_function'))),\r\n ...conditions\r\n };\r\n function compileSwitchNode(contextMap, collectionID, getNode) {\r\n const cases = [];\r\n const getAvailableOptions = (providedContext) => collections\r\n .get(collectionID)\r\n .filter(t => {\r\n var _a;\r\n const requiredContext = (_a = contextMap.get(t)) !== null && _a !== void 0 ? _a : [];\r\n return requiredContext.every(c => providedContext.includes(c));\r\n });\r\n for (const [tableType, { allows, requires }] of LootContext_1.LootTableTypes) {\r\n const providedContext = [...allows, ...requires];\r\n cases.push({\r\n match: path => path.getModel().get(new core_1.Path(['type'])) === tableType,\r\n node: getNode(getAvailableOptions(providedContext))\r\n });\r\n }\r\n cases.push({ match: _ => true, node: getNode(collectionID) });\r\n return (0, core_1.SwitchNode)(cases);\r\n }\r\n const conditionIDSwtichNode = compileSwitchNode(LootContext_1.LootConditions, 'loot_condition_type', type => StringNode({ validator: 'resource', params: { pool: type instanceof Array ? type : `loot_condition_type` } }));\r\n const functionIDSwtichNode = compileSwitchNode(LootContext_1.LootFunctions, 'loot_function_type', type => StringNode({ validator: 'resource', params: { pool: type instanceof Array ? type : `loot_function_type` } }));\r\n const entitySourceSwtichNode = compileSwitchNode(LootContext_1.LootEntitySources, 'entity_source', type => StringNode({ enum: type }));\r\n const copySourceSwtichNode = compileSwitchNode(LootContext_1.LootCopySources, 'copy_source', type => StringNode({ enum: type }));\r\n schemas.register('loot_table', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n type: (0, core_1.Opt)(StringNode({ validator: \"resource\", params: { pool: collections.get('loot_context_type') } })),\r\n pools: (0, core_1.Opt)((0, core_1.ListNode)((0, core_1.Mod)((0, core_1.ObjectNode)({\r\n rolls: Reference('number_provider'),\r\n bonus_rolls: (0, core_1.Opt)(Reference('number_provider')),\r\n entries: (0, core_1.ListNode)(Reference('loot_entry')),\r\n ...functionsAndConditions\r\n }, { category: 'pool', context: 'loot_pool' }), {\r\n default: () => ({\r\n rolls: 1,\r\n entries: [{\r\n type: 'minecraft:item',\r\n name: 'minecraft:stone'\r\n }]\r\n })\r\n }))),\r\n functions: (0, core_1.Opt)((0, core_1.ListNode)(Reference('loot_function')))\r\n }, { context: 'loot_table' }), {\r\n default: () => ({\r\n pools: [{\r\n rolls: 1,\r\n entries: [{\r\n type: 'minecraft:item',\r\n name: 'minecraft:stone'\r\n }]\r\n }]\r\n })\r\n }));\r\n const weightMod = {\r\n enabled: path => {\r\n var _a;\r\n return ((_a = path.pop().get()) === null || _a === void 0 ? void 0 : _a.length) > 1\r\n && !['minecraft:alternatives', 'minecraft:group', 'minecraft:sequence'].includes(path.push('type').get());\r\n }\r\n };\r\n schemas.register('loot_entry', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'loot_pool_entry_type' } }),\r\n weight: (0, core_1.Opt)((0, core_1.Mod)((0, core_1.NumberNode)({ integer: true, min: 1 }), weightMod)),\r\n quality: (0, core_1.Opt)((0, core_1.Mod)((0, core_1.NumberNode)({ integer: true }), weightMod)),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:alternatives': {\r\n children: (0, core_1.ListNode)(Reference('loot_entry')),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:dynamic': {\r\n name: StringNode(),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:group': {\r\n children: (0, core_1.ListNode)(Reference('loot_entry')),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:item': {\r\n name: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:loot_table': {\r\n name: StringNode({ validator: 'resource', params: { pool: '$loot_table' } }),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:sequence': {\r\n children: (0, core_1.ListNode)(Reference('loot_entry')),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:tag': {\r\n name: StringNode({ validator: 'resource', params: { pool: '$tag/item' } }),\r\n expand: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n ...functionsAndConditions\r\n }\r\n }\r\n }, { context: 'loot_entry' }), {\r\n default: () => ({\r\n type: 'minecraft:item',\r\n name: 'minecraft:stone'\r\n })\r\n }));\r\n schemas.register('loot_function', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n function: functionIDSwtichNode,\r\n [core_1.Switch]: [{ push: 'function' }],\r\n [core_1.Case]: (0, Common_1.FunctionCases)(conditions, copySourceSwtichNode, entitySourceSwtichNode)\r\n }, { category: 'function', context: 'function' }), {\r\n default: () => ({\r\n function: 'minecraft:set_count',\r\n count: 1\r\n })\r\n }));\r\n schemas.register('loot_condition', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n condition: conditionIDSwtichNode,\r\n [core_1.Switch]: [{ push: 'condition' }],\r\n [core_1.Case]: (0, Common_1.ConditionCases)(entitySourceSwtichNode)\r\n }, { category: 'predicate', context: 'condition' }), {\r\n default: () => ({\r\n condition: 'minecraft:random_chance',\r\n chance: 0.5\r\n })\r\n }));\r\n schemas.register('attribute_modifier', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n attribute: StringNode({ validator: 'resource', params: { pool: 'attribute' } }),\r\n name: StringNode(),\r\n amount: Reference('number_provider'),\r\n operation: StringNode({ enum: ['addition', 'multiply_base', 'multiply_total'] }),\r\n slot: (0, core_1.StringOrList)(StringNode({ enum: 'slot' }))\r\n }, { context: 'attribute_modifier' }), {\r\n default: () => ({\r\n attribute: 'minecraft:generic.max_health',\r\n name: '',\r\n amount: 1,\r\n operation: 'addition',\r\n slot: 'mainhand'\r\n })\r\n }));\r\n}\r\nexports.initLootTableSchemas = initLootTableSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initPackMcmetaSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst CURRENT_PACK_FORMAT = 10;\r\nfunction initPackMcmetaSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('pack_mcmeta', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n pack: (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n pack_format: (0, core_1.Mod)((0, core_1.NumberNode)({ integer: true, min: CURRENT_PACK_FORMAT, max: CURRENT_PACK_FORMAT }), {\r\n default: () => CURRENT_PACK_FORMAT,\r\n canUpdate: (_p, v) => v !== CURRENT_PACK_FORMAT,\r\n update: () => [{ name: 'pack_format', params: [CURRENT_PACK_FORMAT], newValue: CURRENT_PACK_FORMAT }]\r\n }),\r\n description: Reference('text_component')\r\n }), {\r\n default: () => ({\r\n pack_format: CURRENT_PACK_FORMAT,\r\n description: ''\r\n })\r\n }),\r\n filter: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n block: (0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n namespace: (0, core_1.Opt)(StringNode({ validator: 'regex_pattern' })),\r\n path: (0, core_1.Opt)(StringNode({ validator: 'regex_pattern' })),\r\n }))\r\n }))\r\n }), {\r\n default: () => ({\r\n pack: {\r\n pack_format: CURRENT_PACK_FORMAT,\r\n description: ''\r\n }\r\n })\r\n }));\r\n}\r\nexports.initPackMcmetaSchemas = initPackMcmetaSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initPredicatesSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initPredicatesSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const StateChoice = (0, core_1.ChoiceNode)([\r\n {\r\n type: 'string',\r\n node: StringNode(),\r\n change: v => (typeof v === 'boolean' || typeof v === 'number') ? v.toString() : ''\r\n },\r\n {\r\n type: 'number',\r\n node: (0, core_1.NumberNode)(),\r\n change: v => (typeof v === 'string') ? parseInt(v) : 0\r\n },\r\n {\r\n type: 'object',\r\n node: (0, core_1.ObjectNode)({\r\n min: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n max: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true }))\r\n }),\r\n change: v => (typeof v === 'number') ? ({ min: v, max: v }) : ({})\r\n },\r\n {\r\n type: 'boolean',\r\n node: (0, core_1.BooleanNode)(),\r\n change: v => v === 'true' || v === 1\r\n }\r\n ]);\r\n schemas.register('item_predicate', (0, core_1.ObjectNode)({\r\n items: (0, core_1.Opt)((0, core_1.ListNode)(StringNode({ validator: 'resource', params: { pool: 'item' } }))),\r\n tag: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$tag/item' } })),\r\n count: Reference('int_bounds'),\r\n durability: Reference('int_bounds'),\r\n potion: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: 'potion' } })),\r\n nbt: (0, core_1.Opt)(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:item', id: ['pop', { push: 'item' }] } } })),\r\n enchantments: (0, core_1.Opt)((0, core_1.ListNode)(Reference('enchantment_predicate')))\r\n }, { context: 'item' }));\r\n schemas.register('enchantment_predicate', (0, core_1.ObjectNode)({\r\n enchantment: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: 'enchantment' } })),\r\n levels: Reference('int_bounds')\r\n }, { context: 'enchantment' }));\r\n schemas.register('block_predicate', (0, core_1.ObjectNode)({\r\n blocks: (0, core_1.Opt)((0, core_1.ListNode)(StringNode({ validator: 'resource', params: { pool: 'block' } }))),\r\n tag: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$tag/block' } })),\r\n nbt: (0, core_1.Opt)(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:block', id: ['pop', { push: 'block' }] } } })),\r\n state: (0, core_1.Opt)((0, core_1.MapNode)(StringNode(), StateChoice, { validation: { validator: 'block_state_map', params: { id: ['pop', { push: 'block' }] } } }))\r\n }, { context: 'block' }));\r\n schemas.register('fluid_predicate', (0, core_1.ObjectNode)({\r\n fluid: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: 'fluid' } })),\r\n tag: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$tag/fluid' } })),\r\n state: (0, core_1.Opt)((0, core_1.MapNode)(StringNode(), StateChoice))\r\n }, { context: 'fluid' }));\r\n schemas.register('location_predicate', (0, core_1.ObjectNode)({\r\n position: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n x: Reference('float_bounds'),\r\n y: Reference('float_bounds'),\r\n z: Reference('float_bounds')\r\n })),\r\n biome: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$worldgen/biome' } })),\r\n structure: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$worldgen/structure' } })),\r\n dimension: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$dimension' } })),\r\n light: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n light: Reference('int_bounds')\r\n })),\r\n smokey: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n block: (0, core_1.Opt)(Reference('block_predicate')),\r\n fluid: (0, core_1.Opt)(Reference('fluid_predicate'))\r\n }, { context: 'location' }));\r\n schemas.register('statistic_predicate', (0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'stat_type' } }),\r\n stat: StringNode(),\r\n value: Reference('int_bounds'),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:mined': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'block' } })\r\n },\r\n 'minecraft:crafted': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'item' } })\r\n },\r\n 'minecraft:used': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'item' } })\r\n },\r\n 'minecraft:broken': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'item' } })\r\n },\r\n 'minecraft:picked_up': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'item' } })\r\n },\r\n 'minecraft:dropped': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'item' } })\r\n },\r\n 'minecraft:killed': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'entity_type' } })\r\n },\r\n 'minecraft:killed_by': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'entity_type' } })\r\n },\r\n 'minecraft:custom': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'custom_stat' } })\r\n }\r\n }\r\n }));\r\n schemas.register('status_effect_predicate', (0, core_1.ObjectNode)({\r\n amplifier: Reference('int_bounds'),\r\n duration: Reference('int_bounds'),\r\n ambient: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n visible: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n }, { context: 'status_effect' }));\r\n schemas.register('distance_predicate', (0, core_1.ObjectNode)({\r\n x: Reference('float_bounds'),\r\n y: Reference('float_bounds'),\r\n z: Reference('float_bounds'),\r\n absolute: Reference('float_bounds'),\r\n horizontal: Reference('float_bounds')\r\n }, { context: 'distance' }));\r\n schemas.register('entity_predicate', (0, core_1.ObjectNode)({\r\n type: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: 'entity_type', allowTag: true } })),\r\n type_specific: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n type: StringNode({ enum: ['any', 'cat', 'fishing_hook', 'frog', 'lightning', 'player', 'slime'] }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'cat': {\r\n variant: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: 'cat_variant' } }))\r\n },\r\n 'fishing_hook': {\r\n in_open_water: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n },\r\n 'frog': {\r\n variant: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: 'frog_variant' } }))\r\n },\r\n 'lightning': {\r\n blocks_set_on_fire: (0, core_1.Opt)(Reference('int_bounds')),\r\n entity_struck: (0, core_1.Opt)(Reference('entity_predicate'))\r\n },\r\n 'player': {\r\n gamemode: (0, core_1.Opt)(StringNode({ enum: 'gamemode' })),\r\n level: Reference('int_bounds'),\r\n advancements: (0, core_1.Opt)((0, core_1.MapNode)(StringNode({ validator: 'resource', params: { pool: '$advancement' } }), (0, core_1.ChoiceNode)([\r\n {\r\n type: 'boolean',\r\n node: (0, core_1.BooleanNode)(),\r\n change: () => true\r\n },\r\n {\r\n type: 'object',\r\n node: (0, core_1.MapNode)(StringNode(), (0, core_1.BooleanNode)())\r\n }\r\n ]))),\r\n recipes: (0, core_1.Opt)((0, core_1.MapNode)(StringNode({ validator: 'resource', params: { pool: '$recipe' } }), (0, core_1.BooleanNode)())),\r\n stats: (0, core_1.Opt)((0, core_1.ListNode)(Reference('statistic_predicate'))),\r\n looking_at: (0, core_1.Opt)(Reference('entity_predicate'))\r\n },\r\n 'slime': {\r\n size: Reference('int_bounds')\r\n },\r\n }\r\n })),\r\n nbt: (0, core_1.Opt)(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:entity', id: ['pop', { push: 'type' }] } } })),\r\n team: (0, core_1.Opt)(StringNode({ validator: 'team' })),\r\n location: (0, core_1.Opt)(Reference('location_predicate')),\r\n stepping_on: (0, core_1.Opt)(Reference('location_predicate')),\r\n distance: (0, core_1.Opt)(Reference('distance_predicate')),\r\n flags: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n is_on_fire: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n is_sneaking: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n is_sprinting: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n is_swimming: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n is_baby: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n })),\r\n equipment: (0, core_1.Opt)((0, core_1.MapNode)(StringNode({ enum: 'slot' }), Reference('item_predicate'))),\r\n vehicle: (0, core_1.Opt)(Reference('entity_predicate')),\r\n passenger: (0, core_1.Opt)(Reference('entity_predicate')),\r\n targeted_entity: (0, core_1.Opt)(Reference('entity_predicate')),\r\n effects: (0, core_1.Opt)((0, core_1.MapNode)(StringNode({ validator: 'resource', params: { pool: 'mob_effect' } }), Reference('status_effect_predicate')))\r\n }, { context: 'entity' }));\r\n schemas.register('damage_source_predicate', (0, core_1.ObjectNode)({\r\n is_explosion: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n is_fire: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n is_magic: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n is_projectile: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n is_lightning: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n bypasses_armor: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n bypasses_invulnerability: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n bypasses_magic: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n source_entity: (0, core_1.Opt)(Reference('entity_predicate')),\r\n direct_entity: (0, core_1.Opt)(Reference('entity_predicate'))\r\n }, { context: 'damage_source' }));\r\n schemas.register('damage_predicate', (0, core_1.ObjectNode)({\r\n dealt: Reference('float_bounds'),\r\n taken: Reference('float_bounds'),\r\n blocked: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n source_entity: (0, core_1.Opt)(Reference('entity_predicate')),\r\n type: (0, core_1.Opt)(Reference('damage_source_predicate'))\r\n }, { context: 'damage' }));\r\n}\r\nexports.initPredicatesSchemas = initPredicatesSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initRecipeSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initRecipeSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('recipe', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'recipe_serializer' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:crafting_shaped': {\r\n group: (0, core_1.Opt)(StringNode({ enum: 'recipe_group', additional: true })),\r\n pattern: (0, core_1.ListNode)(StringNode()),\r\n key: (0, core_1.MapNode)(StringNode(), // TODO: add validation\r\n Reference('recipe_ingredient')),\r\n result: Reference('recipe_result')\r\n },\r\n 'minecraft:crafting_shapeless': {\r\n group: (0, core_1.Opt)(StringNode()),\r\n ingredients: (0, core_1.ListNode)(Reference('recipe_ingredient')),\r\n result: Reference('recipe_result')\r\n },\r\n 'minecraft:smelting': {\r\n group: (0, core_1.Opt)(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n experience: (0, core_1.Opt)((0, core_1.NumberNode)()),\r\n cookingtime: (0, core_1.Opt)((0, core_1.Mod)((0, core_1.NumberNode)({ integer: true }), { default: () => 200 }))\r\n },\r\n 'minecraft:blasting': {\r\n group: (0, core_1.Opt)(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n experience: (0, core_1.Opt)((0, core_1.NumberNode)()),\r\n cookingtime: (0, core_1.Opt)((0, core_1.Mod)((0, core_1.NumberNode)({ integer: true }), { default: () => 100 }))\r\n },\r\n 'minecraft:smoking': {\r\n group: (0, core_1.Opt)(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n experience: (0, core_1.Opt)((0, core_1.NumberNode)()),\r\n cookingtime: (0, core_1.Opt)((0, core_1.Mod)((0, core_1.NumberNode)({ integer: true }), { default: () => 100 }))\r\n },\r\n 'minecraft:campfire_cooking': {\r\n group: (0, core_1.Opt)(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n experience: (0, core_1.Opt)((0, core_1.NumberNode)()),\r\n cookingtime: (0, core_1.Opt)((0, core_1.Mod)((0, core_1.NumberNode)({ integer: true }), { default: () => 100 }))\r\n },\r\n 'minecraft:stonecutting': {\r\n group: (0, core_1.Opt)(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n count: (0, core_1.NumberNode)({ integer: true })\r\n },\r\n 'minecraft:smithing': {\r\n group: (0, core_1.Opt)(StringNode()),\r\n base: Reference('recipe_ingredient_object'),\r\n addition: Reference('recipe_ingredient_object'),\r\n result: Reference('recipe_result')\r\n }\r\n }\r\n }, { context: 'recipe', disableSwitchContext: true }), {\r\n default: () => ({\r\n type: 'minecraft:crafting_shaped'\r\n })\r\n }));\r\n schemas.register('recipe_ingredient', (0, core_1.Mod)((0, core_1.ChoiceNode)([\r\n {\r\n type: 'object',\r\n node: Reference('recipe_ingredient_object'),\r\n change: v => v[0]\r\n },\r\n {\r\n type: 'list',\r\n node: (0, core_1.ListNode)(Reference('recipe_ingredient_object')),\r\n change: v => [v]\r\n }\r\n ]), {\r\n default: () => ({\r\n item: 'minecraft:stone'\r\n })\r\n }));\r\n schemas.register('recipe_ingredient_object', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n item: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: 'item' } })),\r\n tag: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$tag/item' } }))\r\n }), {\r\n default: () => ({\r\n item: 'minecraft:stone'\r\n })\r\n }));\r\n schemas.register('recipe_result', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n item: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n count: (0, core_1.Opt)((0, core_1.Mod)((0, core_1.NumberNode)({ integer: true }), { default: () => 1 }))\r\n }), {\r\n default: () => ({\r\n item: 'minecraft:stone'\r\n })\r\n }));\r\n}\r\nexports.initRecipeSchemas = initRecipeSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initTagsSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initTagsSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const TagBase = (type) => (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n replace: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n values: (0, core_1.ListNode)((0, core_1.ChoiceNode)([\r\n {\r\n type: 'string',\r\n node: StringNode({ validator: 'resource', params: { pool: type, allowTag: true } }),\r\n change: v => v.id\r\n },\r\n {\r\n type: 'object',\r\n node: (0, core_1.ObjectNode)({\r\n id: StringNode({ validator: 'resource', params: { pool: type, allowTag: true, allowUnknown: true } }),\r\n required: (0, core_1.BooleanNode)()\r\n }),\r\n change: v => ({ id: v })\r\n }\r\n ])),\r\n }, { context: 'tag' }), {\r\n default: () => ({\r\n values: []\r\n })\r\n });\r\n schemas.register('block_tag', TagBase('block'));\r\n schemas.register('entity_type_tag', TagBase('entity_type'));\r\n schemas.register('fluid_tag', TagBase('fluid'));\r\n schemas.register('function_tag', TagBase('$function'));\r\n schemas.register('game_event_tag', TagBase('game_event'));\r\n schemas.register('item_tag', TagBase('item'));\r\n schemas.register('advancement_tag', TagBase('$advancement'));\r\n schemas.register('dimension_tag', TagBase('$dimension'));\r\n schemas.register('dimension_type_tag', TagBase('$dimension_type'));\r\n schemas.register('function_tag', TagBase('$function'));\r\n schemas.register('item_modifier_tag', TagBase('$item_modifier'));\r\n schemas.register('loot_table_tag', TagBase('$loot_table'));\r\n schemas.register('predicate_tag', TagBase('$predicate'));\r\n schemas.register('recipe_tag', TagBase('$recipe'));\r\n schemas.register('structure_tag', TagBase('$structure'));\r\n schemas.register('biome_tag', TagBase('$worldgen/biome'));\r\n schemas.register('configured_carver_tag', TagBase('$worldgen/configured_carver'));\r\n schemas.register('configured_feature_tag', TagBase('$worldgen/configured_feature'));\r\n schemas.register('structure_tag', TagBase('$worldgen/structure'));\r\n schemas.register('configured_surface_builder_tag', TagBase('$worldgen/configured_surface_builder'));\r\n schemas.register('density_function_tag', TagBase('$worldgen/density_function'));\r\n schemas.register('flat_level_generator_preset_tag', TagBase('$worldgen/flat_level_generator_preset'));\r\n schemas.register('noise_tag', TagBase('$worldgen/noise'));\r\n schemas.register('noise_settings_tag', TagBase('$worldgen/noise_settings'));\r\n schemas.register('placed_feature_tag', TagBase('$worldgen/placed_feature'));\r\n schemas.register('processor_list_tag', TagBase('$worldgen/processor_list'));\r\n schemas.register('structure_set_tag', TagBase('$worldgen/structure_set'));\r\n schemas.register('template_pool_tag', TagBase('$worldgen/template_pool'));\r\n schemas.register('world_preset_tag', TagBase('$worldgen/world_preset'));\r\n}\r\nexports.initTagsSchemas = initTagsSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initTextComponentSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initTextComponentSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const getSimpleString = (v) => { var _a; return v instanceof Array ? getSimpleString(v[0]) : (_a = v === null || v === void 0 ? void 0 : v.text) !== null && _a !== void 0 ? _a : (typeof v === 'object' ? '' : v === null || v === void 0 ? void 0 : v.toString()); };\r\n schemas.register('text_component', (0, core_1.Mod)((0, core_1.ChoiceNode)([\r\n {\r\n type: 'object',\r\n node: Reference('text_component_object'),\r\n change: v => v instanceof Array ? (typeof v[0] === 'object' ? v[0] : { text: getSimpleString(v[0]) }) : typeof v === 'object' ? v : { text: getSimpleString(v) }\r\n },\r\n {\r\n type: 'list',\r\n node: Reference('text_component_list'),\r\n change: v => [v]\r\n },\r\n {\r\n type: 'string',\r\n priority: 1,\r\n node: StringNode(),\r\n change: getSimpleString\r\n },\r\n {\r\n type: 'number',\r\n node: (0, core_1.NumberNode)(),\r\n change: v => {\r\n const n = parseFloat(getSimpleString(v));\r\n return isFinite(n) ? n : (!!v ? 1 : 0);\r\n }\r\n },\r\n {\r\n type: 'boolean',\r\n node: (0, core_1.BooleanNode)(),\r\n change: v => {\r\n const s = getSimpleString(v);\r\n return s === 'true' || s === 'false' ? s === 'true' : !!s;\r\n }\r\n }\r\n ], { context: 'text_component' }), {\r\n default: () => ({\r\n text: \"\"\r\n })\r\n }));\r\n const StyleFields = {\r\n color: (0, core_1.Opt)(StringNode()) /* TODO */,\r\n font: (0, core_1.Opt)(StringNode()),\r\n bold: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n italic: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n underlined: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n strikethrough: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n obfuscated: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n insertion: (0, core_1.Opt)(StringNode()),\r\n };\r\n schemas.register('text_style', (0, core_1.ObjectNode)({\r\n ...StyleFields\r\n }, { context: 'text_component_object' }));\r\n const CommonFields = {\r\n ...StyleFields,\r\n clickEvent: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n action: StringNode({ enum: ['open_url', 'open_file', 'run_command', 'suggest_command', 'change_page', 'copy_to_clipboard'] }),\r\n [core_1.Switch]: [{ push: 'action' }],\r\n [core_1.Case]: {\r\n 'change_page': {\r\n value: StringNode()\r\n },\r\n 'copy_to_clipboard': {\r\n value: StringNode()\r\n },\r\n 'open_file': {\r\n value: StringNode()\r\n },\r\n 'open_url': {\r\n value: StringNode()\r\n },\r\n 'run_command': {\r\n value: StringNode({ validator: 'command', params: { leadingSlash: true, allowPartial: true } })\r\n },\r\n 'suggest_command': {\r\n value: StringNode({ validator: 'command', params: { leadingSlash: true, allowPartial: true } })\r\n }\r\n }\r\n })),\r\n hoverEvent: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n action: StringNode({ enum: ['show_text', 'show_item', 'show_entity'] }),\r\n [core_1.Switch]: [{ push: 'action' }],\r\n [core_1.Case]: {\r\n 'show_text': {\r\n value: (0, core_1.Opt)(Reference('text_component')),\r\n contents: (0, core_1.Opt)(Reference('text_component'))\r\n },\r\n 'show_item': {\r\n value: (0, core_1.Opt)(StringNode({ validator: 'nbt', params: { module: 'util::InventoryItem' } })),\r\n contents: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n id: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n count: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n tag: (0, core_1.Opt)(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:item', id: ['pop', { push: 'id' }] } } }))\r\n }))\r\n },\r\n 'show_entity': {\r\n value: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n name: (0, core_1.Opt)(StringNode()),\r\n type: (0, core_1.Opt)(StringNode()),\r\n id: (0, core_1.Opt)(StringNode())\r\n })),\r\n contents: (0, core_1.Opt)((0, core_1.Mod)((0, core_1.ObjectNode)({\r\n name: (0, core_1.Opt)(Reference('text_component')),\r\n type: StringNode({ validator: 'resource', params: { pool: 'entity_type' } }),\r\n id: StringNode({ validator: 'uuid' })\r\n }), {\r\n default: () => ({\r\n type: 'minecraft:pig',\r\n id: '00000001-0001-0001-0001-000000000001'\r\n })\r\n }))\r\n }\r\n }\r\n })),\r\n extra: (0, core_1.Opt)(Reference('text_component_list'))\r\n };\r\n schemas.register('text_component_object', (0, core_1.Mod)((0, core_1.ChoiceNode)([\r\n {\r\n type: 'text',\r\n match: v => typeof v === 'object',\r\n change: v => ({ text: '' }),\r\n priority: -1,\r\n node: (0, core_1.ObjectNode)({\r\n text: StringNode(),\r\n ...CommonFields\r\n })\r\n },\r\n {\r\n type: 'translation',\r\n match: v => (v === null || v === void 0 ? void 0 : v.translate) !== undefined,\r\n change: v => ({ translate: '' }),\r\n node: (0, core_1.ObjectNode)({\r\n translate: StringNode(),\r\n with: (0, core_1.Opt)(Reference('text_component_list')),\r\n ...CommonFields\r\n })\r\n },\r\n {\r\n type: 'score',\r\n match: v => (v === null || v === void 0 ? void 0 : v.score) !== undefined,\r\n change: v => ({ score: {} }),\r\n node: (0, core_1.ObjectNode)({\r\n score: (0, core_1.ObjectNode)({\r\n name: StringNode({ validator: 'entity', params: { amount: 'single', type: 'entities', isScoreHolder: true } }),\r\n objective: StringNode({ validator: 'objective' }),\r\n value: (0, core_1.Opt)(StringNode())\r\n }),\r\n ...CommonFields\r\n })\r\n },\r\n {\r\n type: 'selector',\r\n match: v => (v === null || v === void 0 ? void 0 : v.selector) !== undefined,\r\n change: v => ({ selector: '' }),\r\n node: (0, core_1.ObjectNode)({\r\n selector: StringNode({ validator: 'entity', params: { amount: 'multiple', type: 'entities' } }),\r\n separator: (0, core_1.Opt)(Reference('text_component')),\r\n ...CommonFields\r\n })\r\n },\r\n {\r\n type: 'keybind',\r\n match: v => (v === null || v === void 0 ? void 0 : v.keybind) !== undefined,\r\n change: v => ({ keybind: '' }),\r\n node: (0, core_1.ObjectNode)({\r\n keybind: StringNode({ enum: 'keybind', additional: true }),\r\n ...CommonFields\r\n })\r\n },\r\n {\r\n type: 'nbt',\r\n match: v => (v === null || v === void 0 ? void 0 : v.nbt) !== undefined,\r\n change: v => ({ nbt: '' }),\r\n node: (0, core_1.ObjectNode)({\r\n nbt: StringNode({ validator: 'nbt_path' }),\r\n block: (0, core_1.Opt)(StringNode({ validator: 'vector', params: { dimension: 3, isInteger: true } })),\r\n entity: (0, core_1.Opt)(StringNode({ validator: 'entity', params: { amount: 'multiple', type: 'entities' } })),\r\n storage: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$storage' } })),\r\n interpret: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n separator: (0, core_1.Opt)(Reference('text_component')),\r\n ...CommonFields\r\n })\r\n }\r\n ], { context: 'text_component_object', choiceContext: 'text_component.object' }), {\r\n default: () => ({\r\n text: \"\"\r\n })\r\n }));\r\n schemas.register('text_component_list', (0, core_1.Mod)((0, core_1.ListNode)(Reference('text_component')), {\r\n default: () => [{\r\n text: \"\"\r\n }]\r\n }));\r\n}\r\nexports.initTextComponentSchemas = initTextComponentSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initBiomeSchemas = exports.MobCategorySpawnSettings = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"../Common\");\r\nfunction initBiomeSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n exports.MobCategorySpawnSettings = (0, core_1.Mod)((0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'entity_type' } }),\r\n weight: (0, core_1.NumberNode)({ integer: true }),\r\n minCount: (0, core_1.NumberNode)({ integer: true }),\r\n maxCount: (0, core_1.NumberNode)({ integer: true })\r\n })), {\r\n category: () => 'pool',\r\n default: () => [{\r\n type: 'minecraft:bat',\r\n weight: 1\r\n }]\r\n });\r\n schemas.register('biome', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n temperature: (0, core_1.NumberNode)(),\r\n downfall: (0, core_1.NumberNode)(),\r\n precipitation: StringNode({ enum: ['none', 'rain', 'snow'] }),\r\n temperature_modifier: (0, core_1.Opt)(StringNode({ enum: ['none', 'frozen'] })),\r\n creature_spawn_probability: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 1 })),\r\n effects: (0, core_1.ObjectNode)({\r\n sky_color: (0, core_1.NumberNode)({ color: true }),\r\n fog_color: (0, core_1.NumberNode)({ color: true }),\r\n water_color: (0, core_1.NumberNode)({ color: true }),\r\n water_fog_color: (0, core_1.NumberNode)({ color: true }),\r\n grass_color: (0, core_1.Opt)((0, core_1.NumberNode)({ color: true })),\r\n foliage_color: (0, core_1.Opt)((0, core_1.NumberNode)({ color: true })),\r\n grass_color_modifier: (0, core_1.Opt)(StringNode({ enum: ['none', 'dark_forest', 'swamp'] })),\r\n ambient_sound: (0, core_1.Opt)(StringNode()),\r\n mood_sound: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n sound: StringNode(),\r\n tick_delay: (0, core_1.NumberNode)({ integer: true }),\r\n block_search_extent: (0, core_1.NumberNode)({ integer: true }),\r\n offset: (0, core_1.NumberNode)()\r\n })),\r\n additions_sound: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n sound: StringNode(),\r\n tick_chance: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n })),\r\n music: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n sound: StringNode(),\r\n min_delay: (0, core_1.NumberNode)({ integer: true, min: 0 }),\r\n max_delay: (0, core_1.NumberNode)({ integer: true, min: 0 }),\r\n replace_current_music: (0, core_1.BooleanNode)()\r\n })),\r\n particle: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n options: (0, core_1.ObjectNode)({\r\n type: StringNode()\r\n }),\r\n probability: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n }))\r\n }),\r\n spawners: (0, core_1.MapNode)(StringNode({ enum: 'mob_category' }), exports.MobCategorySpawnSettings),\r\n spawn_costs: (0, core_1.MapNode)(StringNode({ validator: 'resource', params: { pool: 'entity_type' } }), (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n energy_budget: (0, core_1.NumberNode)(),\r\n charge: (0, core_1.NumberNode)()\r\n }, { category: 'function' }), {\r\n default: () => ({\r\n energy_budget: 0.12,\r\n charge: 1.0\r\n })\r\n })),\r\n carvers: (0, core_1.MapNode)(StringNode({ enum: ['air', 'liquid'] }), (0, core_1.Mod)((0, Common_1.Tag)({ resource: '$worldgen/configured_carver', inlineSchema: 'configured_carver' }), {\r\n default: () => ['minecraft:cave']\r\n })),\r\n features: (0, core_1.ListNode)((0, core_1.Mod)((0, Common_1.Tag)({ resource: '$worldgen/placed_feature', inlineSchema: 'placed_feature' }), { category: () => 'predicate' }), { maxLength: 11 })\r\n }, { context: 'biome' }), {\r\n default: () => ({\r\n temperature: 0.8,\r\n downfall: 0.4,\r\n precipitation: 'rain',\r\n category: 'plains',\r\n effects: {\r\n sky_color: 7907327,\r\n fog_color: 12638463,\r\n water_color: 4159204,\r\n water_fog_color: 329011\r\n }\r\n })\r\n }));\r\n}\r\nexports.initBiomeSchemas = initBiomeSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initCarverSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"../Common\");\r\nfunction initCarverSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const CanyonConfig = {\r\n vertical_rotation: (0, Common_1.FloatProvider)(),\r\n shape: (0, core_1.ObjectNode)({\r\n distance_factor: (0, Common_1.FloatProvider)(),\r\n thickness: (0, Common_1.FloatProvider)(),\r\n width_smoothness: (0, core_1.NumberNode)({ integer: true, min: 0 }),\r\n horizontal_radius_factor: (0, Common_1.FloatProvider)(),\r\n vertical_radius_default_factor: (0, core_1.NumberNode)(),\r\n vertical_radius_center_factor: (0, core_1.NumberNode)()\r\n })\r\n };\r\n const CaveConfig = {\r\n horizontal_radius_multiplier: (0, Common_1.FloatProvider)(),\r\n vertical_radius_multiplier: (0, Common_1.FloatProvider)(),\r\n floor_level: (0, Common_1.FloatProvider)({ min: -1, max: 1 }),\r\n };\r\n schemas.register('configured_carver', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/carver' } }),\r\n config: (0, core_1.ObjectNode)({\r\n probability: (0, core_1.NumberNode)({ min: 0, max: 1 }),\r\n y: Reference('height_provider'),\r\n yScale: (0, Common_1.FloatProvider)(),\r\n lava_level: Reference('vertical_anchor'),\r\n replaceable: (0, Common_1.Tag)({ resource: 'block' }),\r\n debug_settings: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n debug_mode: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n air_state: (0, core_1.Opt)(Reference('block_state')),\r\n water_state: (0, core_1.Opt)(Reference('block_state')),\r\n lava_state: (0, core_1.Opt)(Reference('block_state')),\r\n barrier_state: (0, core_1.Opt)(Reference('block_state'))\r\n })),\r\n [core_1.Switch]: ['pop', { push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:canyon': CanyonConfig,\r\n 'minecraft:cave': CaveConfig,\r\n 'minecraft:nether_cave': CaveConfig\r\n },\r\n })\r\n }, { context: 'carver' }), {\r\n default: () => ({\r\n type: 'minecraft:cave',\r\n config: {\r\n probability: 0.1\r\n }\r\n })\r\n }));\r\n}\r\nexports.initCarverSchemas = initCarverSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initDecoratorSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"../Common\");\r\nfunction initDecoratorSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('decorator', (0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/placement_modifier_type' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:block_predicate_filter': {\r\n predicate: Reference('block_predicate_worldgen')\r\n },\r\n 'minecraft:carving_mask': {\r\n step: StringNode({ enum: 'generation_step' })\r\n },\r\n 'minecraft:rarity_filter': {\r\n chance: (0, core_1.NumberNode)({ integer: true, min: 0 })\r\n },\r\n 'minecraft:count': {\r\n count: (0, Common_1.IntProvider)({ min: 0, max: 256 })\r\n },\r\n 'minecraft:count_on_every_layer': {\r\n count: (0, Common_1.IntProvider)({ min: 0, max: 256 })\r\n },\r\n 'minecraft:noise_threshold_count': {\r\n noise_level: (0, core_1.NumberNode)(),\r\n below_noise: (0, core_1.NumberNode)({ integer: true }),\r\n above_noise: (0, core_1.NumberNode)({ integer: true })\r\n },\r\n 'minecraft:noise_based_count': {\r\n noise_to_count_ratio: (0, core_1.NumberNode)({ integer: true }),\r\n noise_factor: (0, core_1.NumberNode)(),\r\n noise_offset: (0, core_1.Opt)((0, core_1.NumberNode)())\r\n },\r\n 'minecraft:environment_scan': {\r\n direction_of_search: StringNode({ enum: ['up', 'down'] }),\r\n max_steps: (0, core_1.NumberNode)({ integer: true, min: 1, max: 32 }),\r\n target_condition: Reference('block_predicate_worldgen'),\r\n allowed_search_condition: (0, core_1.Opt)(Reference('block_predicate_worldgen'))\r\n },\r\n 'minecraft:heightmap': {\r\n heightmap: StringNode({ enum: 'heightmap_type' })\r\n },\r\n 'minecraft:height_range': {\r\n height: Reference('height_provider')\r\n },\r\n 'minecraft:random_offset': {\r\n xz_spread: (0, Common_1.IntProvider)({ min: -16, max: 16 }),\r\n y_spread: (0, Common_1.IntProvider)({ min: -16, max: 16 }),\r\n },\r\n 'minecraft:surface_relative_threshold_filter': {\r\n heightmap: StringNode({ enum: 'heightmap_type' }),\r\n min_inclusive: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n max_inclusive: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true }))\r\n },\r\n 'minecraft:surface_water_depth_filter': {\r\n max_water_depth: (0, core_1.NumberNode)({ integer: true })\r\n }\r\n }\r\n }, { context: 'decorator', category: 'predicate' }));\r\n}\r\nexports.initDecoratorSchemas = initDecoratorSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initDensityFunctionSchemas = exports.DensityFunction = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initDensityFunctionSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n exports.DensityFunction = (0, core_1.Mod)((0, core_1.ChoiceNode)([\r\n {\r\n type: 'number',\r\n node: (0, core_1.NumberNode)(),\r\n change: () => 0\r\n },\r\n {\r\n type: 'string',\r\n priority: 1,\r\n node: StringNode({ validator: 'resource', params: { pool: '$worldgen/density_function' } }),\r\n change: () => undefined\r\n },\r\n {\r\n type: 'object',\r\n node: Reference('density_function'),\r\n change: () => ({})\r\n }\r\n ], { choiceContext: 'density_function' }), {\r\n default: () => 0\r\n });\r\n const NoiseParameters = (0, core_1.ChoiceNode)([\r\n {\r\n type: 'string',\r\n node: StringNode({ validator: 'resource', params: { pool: '$worldgen/noise' } }),\r\n change: () => undefined\r\n },\r\n {\r\n type: 'object',\r\n node: Reference('noise_parameters')\r\n }\r\n ], { choiceContext: 'noise_parameters' });\r\n const NoiseRange = (0, core_1.NumberNode)({ min: -1000000, max: 1000000 });\r\n const YRange = (0, core_1.NumberNode)({ integer: true, min: -2032 * 2, max: 2031 * 2 });\r\n schemas.register('density_function', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/density_function_type' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:abs': {\r\n argument: exports.DensityFunction,\r\n },\r\n 'minecraft:add': {\r\n argument1: exports.DensityFunction,\r\n argument2: exports.DensityFunction,\r\n },\r\n 'minecraft:blend_density': {\r\n argument: exports.DensityFunction,\r\n },\r\n 'minecraft:cache_2d': {\r\n argument: exports.DensityFunction,\r\n },\r\n 'minecraft:cache_all_in_cell': {\r\n argument: exports.DensityFunction,\r\n },\r\n 'minecraft:cache_once': {\r\n argument: exports.DensityFunction,\r\n },\r\n 'minecraft:clamp': {\r\n input: exports.DensityFunction,\r\n min: NoiseRange,\r\n max: NoiseRange,\r\n },\r\n 'minecraft:constant': {\r\n argument: (0, core_1.NumberNode)(),\r\n },\r\n 'minecraft:cube': {\r\n argument: exports.DensityFunction,\r\n },\r\n 'minecraft:flat_cache': {\r\n argument: exports.DensityFunction,\r\n },\r\n 'minecraft:half_negative': {\r\n argument: exports.DensityFunction,\r\n },\r\n 'minecraft:interpolated': {\r\n argument: exports.DensityFunction,\r\n },\r\n 'minecraft:max': {\r\n argument1: exports.DensityFunction,\r\n argument2: exports.DensityFunction,\r\n },\r\n 'minecraft:min': {\r\n argument1: exports.DensityFunction,\r\n argument2: exports.DensityFunction,\r\n },\r\n 'minecraft:mul': {\r\n argument1: exports.DensityFunction,\r\n argument2: exports.DensityFunction,\r\n },\r\n 'minecraft:noise': {\r\n noise: NoiseParameters,\r\n xz_scale: (0, core_1.NumberNode)(),\r\n y_scale: (0, core_1.NumberNode)(),\r\n },\r\n 'minecraft:old_blended_noise': {\r\n xz_scale: (0, core_1.NumberNode)(),\r\n y_scale: (0, core_1.NumberNode)(),\r\n xz_factor: (0, core_1.NumberNode)(),\r\n y_factor: (0, core_1.NumberNode)(),\r\n smear_scale_multiplier: (0, core_1.NumberNode)({ min: 1, max: 8 }),\r\n },\r\n 'minecraft:quarter_negative': {\r\n argument: exports.DensityFunction,\r\n },\r\n 'minecraft:range_choice': {\r\n input: exports.DensityFunction,\r\n min_inclusive: NoiseRange,\r\n max_exclusive: NoiseRange,\r\n when_in_range: exports.DensityFunction,\r\n when_out_of_range: exports.DensityFunction,\r\n },\r\n 'minecraft:shift': {\r\n argument: exports.DensityFunction,\r\n },\r\n 'minecraft:shift_a': {\r\n argument: exports.DensityFunction,\r\n },\r\n 'minecraft:shift_b': {\r\n argument: exports.DensityFunction,\r\n },\r\n 'minecraft:shifted_noise': {\r\n noise: NoiseParameters,\r\n xz_scale: (0, core_1.NumberNode)(),\r\n y_scale: (0, core_1.NumberNode)(),\r\n shift_x: exports.DensityFunction,\r\n shift_y: exports.DensityFunction,\r\n shift_z: exports.DensityFunction,\r\n },\r\n 'minecraft:slide': {\r\n argument: exports.DensityFunction,\r\n },\r\n 'minecraft:spline': {\r\n spline: Reference('cubic_spline'),\r\n },\r\n 'minecraft:square': {\r\n argument: exports.DensityFunction,\r\n },\r\n 'minecraft:squeeze': {\r\n argument: exports.DensityFunction,\r\n },\r\n 'minecraft:weird_scaled_sampler': {\r\n rarity_value_mapper: StringNode({ enum: ['type_1', 'type_2'] }),\r\n noise: NoiseParameters,\r\n input: exports.DensityFunction,\r\n },\r\n 'minecraft:y_clamped_gradient': {\r\n from_y: YRange,\r\n to_y: YRange,\r\n from_value: NoiseRange,\r\n to_value: NoiseRange,\r\n },\r\n }\r\n }, { context: 'density_function', disableSwitchContext: true }), {\r\n default: () => ({\r\n type: 'minecraft:noise',\r\n noise: 'minecraft:cave_entrance',\r\n xz_scale: 0.75,\r\n y_scale: 0.5\r\n })\r\n }));\r\n schemas.register('cubic_spline', (0, core_1.Mod)((0, core_1.ChoiceNode)([\r\n {\r\n type: 'number',\r\n node: (0, core_1.NumberNode)()\r\n },\r\n {\r\n type: 'object',\r\n node: (0, core_1.ObjectNode)({\r\n coordinate: exports.DensityFunction,\r\n points: (0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n location: (0, core_1.NumberNode)(),\r\n derivative: (0, core_1.NumberNode)(),\r\n value: Reference('cubic_spline')\r\n }))\r\n }, { category: 'function' })\r\n }\r\n ], { context: 'terrain_spline', choiceContext: 'terrain_spline' }), {\r\n default: () => 0\r\n }));\r\n}\r\nexports.initDensityFunctionSchemas = initDensityFunctionSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initProcessorListSchemas = exports.Processors = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"../Common\");\r\nfunction initProcessorListSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n exports.Processors = (0, core_1.ChoiceNode)([\r\n {\r\n type: 'string',\r\n node: StringNode({ validator: 'resource', params: { pool: '$worldgen/processor_list' } }),\r\n change: v => undefined\r\n },\r\n {\r\n type: 'object',\r\n node: Reference('processor_list'),\r\n change: v => ({\r\n processors: [{\r\n \"processor_type\": \"minecraft:nop\"\r\n }]\r\n })\r\n }\r\n ]);\r\n schemas.register('processor_list', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n processors: (0, core_1.ListNode)(Reference('processor'))\r\n }, { context: 'processor_list' }), {\r\n default: () => ({\r\n processors: [{\r\n processor_type: 'minecraft:rule',\r\n rules: [{\r\n location_predicate: {\r\n predicate_type: 'minecraft:always_true'\r\n },\r\n input_predicate: {\r\n predicate_type: 'minecraft:always_true'\r\n }\r\n }]\r\n }]\r\n })\r\n }));\r\n schemas.register('processor', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n processor_type: StringNode({ validator: 'resource', params: { pool: 'worldgen/structure_processor' } }),\r\n [core_1.Switch]: [{ push: 'processor_type' }],\r\n [core_1.Case]: {\r\n 'minecraft:block_age': {\r\n mossiness: (0, core_1.NumberNode)()\r\n },\r\n 'minecraft:block_ignore': {\r\n blocks: (0, core_1.ListNode)(Reference('block_state'))\r\n },\r\n 'minecraft:block_rot': {\r\n integrity: (0, core_1.NumberNode)({ min: 0, max: 1 }),\r\n rottable_blocks: (0, core_1.Opt)((0, Common_1.Tag)({ resource: 'block' }))\r\n },\r\n 'minecraft:gravity': {\r\n heightmap: StringNode({ enum: 'heightmap_type' }),\r\n offset: (0, core_1.NumberNode)({ integer: true })\r\n },\r\n 'minecraft:protected_blocks': {\r\n value: StringNode({ validator: 'resource', params: { pool: 'block', requireTag: true } })\r\n },\r\n 'minecraft:rule': {\r\n rules: (0, core_1.ListNode)(Reference('processor_rule'))\r\n }\r\n }\r\n }, { category: 'function', context: 'processor' }), {\r\n default: () => ({\r\n processor_type: 'minecraft:rule',\r\n rules: [{\r\n location_predicate: {\r\n predicate_type: 'minecraft:always_true'\r\n },\r\n input_predicate: {\r\n predicate_type: 'minecraft:always_true'\r\n }\r\n }]\r\n })\r\n }));\r\n schemas.register('processor_rule', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n position_predicate: (0, core_1.Opt)(Reference('pos_rule_test')),\r\n location_predicate: Reference('rule_test'),\r\n input_predicate: Reference('rule_test'),\r\n output_state: Reference('block_state'),\r\n output_nbt: (0, core_1.Opt)(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:block' } } }))\r\n }, { category: 'predicate', context: 'processor_rule' }), {\r\n default: () => ({\r\n location_predicate: {\r\n predicate_type: 'minecraft:always_true'\r\n },\r\n input_predicate: {\r\n predicate_type: 'minecraft:always_true'\r\n }\r\n })\r\n }));\r\n const posTestFields = {\r\n min_dist: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 255, integer: true })),\r\n max_dist: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 255, integer: true })),\r\n min_chance: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 1 })),\r\n max_chance: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 1 }))\r\n };\r\n schemas.register('pos_rule_test', (0, core_1.ObjectNode)({\r\n predicate_type: StringNode({ validator: 'resource', params: { pool: 'pos_rule_test' } }),\r\n [core_1.Switch]: [{ push: 'predicate_type' }],\r\n [core_1.Case]: {\r\n 'minecraft:axis_aligned_linear_pos': {\r\n axis: StringNode({ enum: ['x', 'y', 'z'] }),\r\n ...posTestFields\r\n },\r\n 'minecraft:linear_pos': posTestFields\r\n }\r\n }, { context: 'pos_rule_test', disableSwitchContext: true }));\r\n schemas.register('rule_test', (0, core_1.ObjectNode)({\r\n predicate_type: StringNode({ validator: 'resource', params: { pool: 'rule_test' } }),\r\n [core_1.Switch]: [{ push: 'predicate_type' }],\r\n [core_1.Case]: {\r\n 'minecraft:block_match': {\r\n block: StringNode({ validator: 'resource', params: { pool: 'block' } })\r\n },\r\n 'minecraft:blockstate_match': {\r\n block_state: Reference('block_state')\r\n },\r\n 'minecraft:random_block_match': {\r\n block: StringNode({ validator: 'resource', params: { pool: 'block' } }),\r\n probability: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n },\r\n 'minecraft:random_blockstate_match': {\r\n block_state: Reference('block_state'),\r\n probability: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n },\r\n 'minecraft:tag_match': {\r\n tag: StringNode({ validator: 'resource', params: { pool: '$tag/block' } })\r\n }\r\n }\r\n }, { context: 'rule_test', disableSwitchContext: true }));\r\n}\r\nexports.initProcessorListSchemas = initProcessorListSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initFeatureSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"../Common\");\r\nrequire(\"./Decorator\");\r\nrequire(\"./ProcessorList\");\r\nconst ProcessorList_1 = require(\"./ProcessorList\");\r\nfunction initFeatureSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const ConfiguredFeature = (0, core_1.ChoiceNode)([\r\n {\r\n type: 'string',\r\n node: StringNode({ validator: 'resource', params: { pool: '$worldgen/configured_feature' } })\r\n },\r\n {\r\n type: 'object',\r\n node: Reference('configured_feature')\r\n }\r\n ], { choiceContext: 'feature' });\r\n const PlacedFeature = (0, core_1.ChoiceNode)([\r\n {\r\n type: 'string',\r\n node: StringNode({ validator: 'resource', params: { pool: '$worldgen/placed_feature' } })\r\n },\r\n {\r\n type: 'object',\r\n node: Reference('placed_feature')\r\n }\r\n ], { choiceContext: 'placed_feature' });\r\n const RandomPatchConfig = {\r\n tries: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 1 })),\r\n xz_spread: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 0 })),\r\n y_spread: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 0 })),\r\n feature: PlacedFeature,\r\n };\r\n const HugeMushroomConfig = {\r\n cap_provider: Reference('block_state_provider'),\r\n stem_provider: Reference('block_state_provider'),\r\n foliage_radius: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true }))\r\n };\r\n const TargetBlockState = (0, core_1.ObjectNode)({\r\n target: Reference('rule_test'),\r\n state: Reference('block_state')\r\n });\r\n const OreConfig = {\r\n size: (0, core_1.NumberNode)({ integer: true, min: 0, max: 64 }),\r\n discard_chance_on_air_exposure: (0, core_1.NumberNode)({ min: 0, max: 1 }),\r\n targets: (0, core_1.ListNode)(TargetBlockState)\r\n };\r\n const VegetationPatchConfig = {\r\n surface: StringNode({ enum: 'cave_surface' }),\r\n depth: (0, Common_1.IntProvider)({ min: 1, max: 128 }),\r\n vertical_range: (0, core_1.NumberNode)({ integer: true, min: 1, max: 256 }),\r\n extra_bottom_block_chance: (0, core_1.NumberNode)({ min: 0, max: 1 }),\r\n extra_edge_column_chance: (0, core_1.NumberNode)({ min: 0, max: 1 }),\r\n vegetation_chance: (0, core_1.NumberNode)({ min: 0, max: 1 }),\r\n xz_radius: (0, Common_1.IntProvider)(),\r\n replaceable: StringNode({ validator: 'resource', params: { pool: 'block', requireTag: true } }),\r\n ground_state: Reference('block_state_provider'),\r\n vegetation_feature: PlacedFeature\r\n };\r\n schemas.register('configured_feature', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/feature' } }),\r\n config: (0, core_1.ObjectNode)({\r\n [core_1.Switch]: ['pop', { push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:bamboo': {\r\n probability: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n },\r\n 'minecraft:basalt_columns': {\r\n reach: (0, Common_1.IntProvider)({ min: 0, max: 3 }),\r\n height: (0, Common_1.IntProvider)({ min: 1, max: 10 })\r\n },\r\n 'minecraft:block_column': {\r\n direction: StringNode({ enum: ['up', 'down', 'north', 'east', 'south', 'west'] }),\r\n allowed_placement: Reference('block_predicate_worldgen'),\r\n prioritize_tip: (0, core_1.BooleanNode)(),\r\n layers: (0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n height: (0, Common_1.IntProvider)({ min: 0 }),\r\n provider: Reference('block_state_provider')\r\n }))\r\n },\r\n 'minecraft:block_pile': {\r\n state_provider: Reference('block_state_provider')\r\n },\r\n 'minecraft:delta_feature': {\r\n contents: Reference('block_state'),\r\n rim: Reference('block_state'),\r\n size: (0, Common_1.IntProvider)({ min: 0, max: 16 }),\r\n rim_size: (0, Common_1.IntProvider)({ min: 0, max: 16 })\r\n },\r\n 'minecraft:disk': {\r\n state_provider: Reference('rule_based_block_state_provider'),\r\n target: Reference('block_predicate_worldgen'),\r\n radius: (0, Common_1.IntProvider)({ min: 0, max: 8 }),\r\n half_height: (0, core_1.NumberNode)({ integer: true, min: 0, max: 4 }),\r\n },\r\n 'minecraft:dripstone_cluster': {\r\n floor_to_ceiling_search_range: (0, core_1.NumberNode)({ integer: true, min: 1, max: 512 }),\r\n height: (0, Common_1.IntProvider)({ min: 0, max: 128 }),\r\n radius: (0, Common_1.IntProvider)({ min: 0, max: 128 }),\r\n max_stalagmite_stalactite_height_diff: (0, core_1.NumberNode)({ integer: true, min: 0, max: 64 }),\r\n height_deviation: (0, core_1.NumberNode)({ integer: true, min: 1, max: 64 }),\r\n dripstone_block_layer_thickness: (0, Common_1.IntProvider)({ min: 0, max: 128 }),\r\n density: (0, Common_1.FloatProvider)({ min: 0, max: 2 }),\r\n wetness: (0, Common_1.FloatProvider)({ min: 0, max: 2 }),\r\n chance_of_dripstone_column_at_max_distance_from_center: (0, core_1.NumberNode)({ min: 0, max: 1 }),\r\n max_distance_from_edge_affecting_chance_of_dripstone_column: (0, core_1.NumberNode)({ integer: true, min: 1, max: 64 }),\r\n max_distance_from_center_affecting_height_bias: (0, core_1.NumberNode)({ integer: true, min: 1, max: 64 })\r\n },\r\n 'minecraft:end_gateway': {\r\n exact: (0, core_1.BooleanNode)(),\r\n exit: (0, core_1.Opt)(Reference('block_pos'))\r\n },\r\n 'minecraft:end_spike': {\r\n crystal_invulnerable: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n crystal_beam_target: (0, core_1.Opt)(Reference('block_pos')),\r\n spikes: (0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n centerX: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n centerZ: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n radius: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n height: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n guarded: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n }))\r\n },\r\n 'minecraft:fill_layer': {\r\n state: Reference('block_state'),\r\n height: (0, core_1.NumberNode)({ integer: true, min: 0, max: 255 })\r\n },\r\n 'minecraft:flower': RandomPatchConfig,\r\n 'minecraft:forest_rock': {\r\n state: Reference('block_state')\r\n },\r\n 'minecraft:fossil': {\r\n max_empty_corners_allowed: (0, core_1.NumberNode)({ integer: true, min: 0, max: 7 }),\r\n fossil_structures: (0, core_1.ListNode)(StringNode({ validator: 'resource', params: { pool: '$structure' } })),\r\n overlay_structures: (0, core_1.ListNode)(StringNode({ validator: 'resource', params: { pool: '$structure' } })),\r\n fossil_processors: ProcessorList_1.Processors,\r\n overlay_processors: ProcessorList_1.Processors,\r\n },\r\n 'minecraft:geode': {\r\n blocks: (0, core_1.ObjectNode)({\r\n filling_provider: Reference('block_state_provider'),\r\n inner_layer_provider: Reference('block_state_provider'),\r\n alternate_inner_layer_provider: Reference('block_state_provider'),\r\n middle_layer_provider: Reference('block_state_provider'),\r\n outer_layer_provider: Reference('block_state_provider'),\r\n inner_placements: (0, core_1.ListNode)(Reference('block_state')),\r\n cannot_replace: StringNode({ validator: 'resource', params: { pool: 'block', requireTag: true } }),\r\n invalid_blocks: StringNode({ validator: 'resource', params: { pool: 'block', requireTag: true } })\r\n }),\r\n layers: (0, core_1.ObjectNode)({\r\n filling: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0.01, max: 50 })),\r\n inner_layer: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0.01, max: 50 })),\r\n middle_layer: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0.01, max: 50 })),\r\n outer_layer: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0.01, max: 50 })),\r\n }),\r\n crack: (0, core_1.ObjectNode)({\r\n generate_crack_chance: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 1 })),\r\n base_crack_size: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 5 })),\r\n crack_point_offset: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 10 })),\r\n }),\r\n noise_multiplier: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 1 })),\r\n use_potential_placements_chance: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 1 })),\r\n use_alternate_layer0_chance: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 1 })),\r\n placements_require_layer0_alternate: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n outer_wall_distance: (0, core_1.Opt)((0, Common_1.IntProvider)({ min: 1, max: 20 })),\r\n distribution_points: (0, core_1.Opt)((0, Common_1.IntProvider)({ min: 1, max: 20 })),\r\n point_offset: (0, core_1.Opt)((0, Common_1.IntProvider)({ min: 0, max: 10 })),\r\n min_gen_offset: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n max_gen_offset: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n invalid_blocks_threshold: (0, core_1.NumberNode)({ integer: true })\r\n },\r\n 'minecraft:multiface_growth': {\r\n search_range: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 1, max: 64, integer: true })),\r\n chance_of_spreading: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 1 })),\r\n can_place_on_floor: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n can_place_on_ceiling: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n can_place_on_wall: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n can_be_placed_on: (0, Common_1.Tag)({ resource: 'block' })\r\n },\r\n 'minecraft:huge_brown_mushroom': HugeMushroomConfig,\r\n 'minecraft:huge_fungus': {\r\n hat_state: Reference('block_state'),\r\n decor_state: Reference('block_state'),\r\n stem_state: Reference('block_state'),\r\n valid_base_block: Reference('block_state'),\r\n planted: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n },\r\n 'minecraft:huge_red_mushroom': HugeMushroomConfig,\r\n 'minecraft:iceberg': {\r\n state: Reference('block_state')\r\n },\r\n 'minecraft:lake': {\r\n fluid: Reference('block_state_provider'),\r\n barrier: Reference('block_state_provider')\r\n },\r\n 'minecraft:large_dripstone': {\r\n floor_to_ceiling_search_range: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 1, max: 512 })),\r\n column_radius: (0, Common_1.IntProvider)({ min: 0, max: 60 }),\r\n height_scale: (0, Common_1.FloatProvider)({ min: 0, max: 20 }),\r\n max_column_radius_to_cave_height_ratio: (0, core_1.NumberNode)({ min: 0, max: 1 }),\r\n stalactite_bluntness: (0, Common_1.FloatProvider)({ min: 0.1, max: 10 }),\r\n stalagmite_bluntness: (0, Common_1.FloatProvider)({ min: 0.1, max: 10 }),\r\n wind_speed: (0, Common_1.FloatProvider)({ min: 0, max: 2 }),\r\n min_radius_for_wind: (0, core_1.NumberNode)({ integer: true, min: 0, max: 100 }),\r\n min_bluntness_for_wind: (0, core_1.NumberNode)({ min: 0, max: 5 })\r\n },\r\n 'minecraft:nether_forest_vegetation': {\r\n state_provider: Reference('block_state_provider'),\r\n spread_width: (0, core_1.NumberNode)({ integer: true, min: 1 }),\r\n spread_height: (0, core_1.NumberNode)({ integer: true, min: 1 })\r\n },\r\n 'minecraft:netherrack_replace_blobs': {\r\n state: Reference('block_state'),\r\n target: Reference('block_state'),\r\n radius: (0, Common_1.IntProvider)({ min: 0, max: 12 })\r\n },\r\n 'minecraft:no_bonemeal_flower': RandomPatchConfig,\r\n 'minecraft:ore': OreConfig,\r\n 'minecraft:pointed_dripstone': {\r\n chance_of_taller_dripstone: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 1 })),\r\n chance_of_directional_spread: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 1 })),\r\n chance_of_spread_radius2: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 1 })),\r\n chance_of_spread_radius3: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 1 })),\r\n },\r\n 'minecraft:random_patch': RandomPatchConfig,\r\n 'minecraft:random_boolean_selector': {\r\n feature_false: PlacedFeature,\r\n feature_true: PlacedFeature\r\n },\r\n 'minecraft:random_selector': {\r\n features: (0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n chance: (0, core_1.NumberNode)({ min: 0, max: 1 }),\r\n feature: PlacedFeature\r\n })),\r\n default: PlacedFeature\r\n },\r\n 'minecraft:replace_single_block': {\r\n targets: (0, core_1.ListNode)(TargetBlockState)\r\n },\r\n 'minecraft:root_system': {\r\n required_vertical_space_for_tree: (0, core_1.NumberNode)({ integer: true, min: 1, max: 64 }),\r\n root_radius: (0, core_1.NumberNode)({ integer: true, min: 1, max: 64 }),\r\n root_placement_attempts: (0, core_1.NumberNode)({ integer: true, min: 1, max: 256 }),\r\n root_column_max_height: (0, core_1.NumberNode)({ integer: true, min: 1, max: 4096 }),\r\n hanging_root_radius: (0, core_1.NumberNode)({ integer: true, min: 1, max: 64 }),\r\n hanging_roots_vertical_span: (0, core_1.NumberNode)({ integer: true, min: 0, max: 16 }),\r\n hanging_root_placement_attempts: (0, core_1.NumberNode)({ integer: true, min: 0, max: 256 }),\r\n allowed_vertical_water_for_tree: (0, core_1.NumberNode)({ integer: true, min: 1, max: 64 }),\r\n root_replaceable: StringNode({ validator: 'resource', params: { pool: 'block', requireTag: true } }),\r\n root_state_provider: Reference('block_state_provider'),\r\n hanging_root_state_provider: Reference('block_state_provider'),\r\n allowed_tree_position: Reference('block_predicate_worldgen'),\r\n feature: PlacedFeature\r\n },\r\n 'minecraft:scattered_ore': OreConfig,\r\n 'minecraft:sculk_patch': {\r\n charge_count: (0, core_1.NumberNode)({ integer: true, min: 1, max: 32 }),\r\n amount_per_charge: (0, core_1.NumberNode)({ integer: true, min: 1, max: 500 }),\r\n spread_attempts: (0, core_1.NumberNode)({ integer: true, min: 1, max: 64 }),\r\n growth_rounds: (0, core_1.NumberNode)({ integer: true, min: 0, max: 8 }),\r\n spread_rounds: (0, core_1.NumberNode)({ integer: true, min: 0, max: 8 }),\r\n extra_rare_growths: (0, Common_1.IntProvider)(),\r\n catalyst_chance: (0, core_1.NumberNode)({ min: 0, max: 1 }),\r\n },\r\n 'minecraft:sea_pickle': {\r\n count: (0, Common_1.IntProvider)({ min: 0, max: 256 })\r\n },\r\n 'minecraft:seagrass': {\r\n probability: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n },\r\n 'minecraft:simple_block': {\r\n to_place: Reference('block_state_provider')\r\n },\r\n 'minecraft:simple_random_selector': {\r\n features: (0, Common_1.Tag)({ resource: '$worldgen/placed_feature', inlineSchema: 'placed_feature' }),\r\n },\r\n 'minecraft:spring_feature': {\r\n state: Reference('fluid_state'),\r\n rock_count: (0, core_1.NumberNode)({ integer: true }),\r\n hole_count: (0, core_1.NumberNode)({ integer: true }),\r\n requires_block_below: (0, core_1.BooleanNode)(),\r\n valid_blocks: (0, Common_1.Tag)({ resource: 'block' })\r\n },\r\n 'minecraft:tree': {\r\n ignore_vines: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n force_dirt: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n minimum_size: Reference('feature_size'),\r\n dirt_provider: Reference('block_state_provider'),\r\n trunk_provider: Reference('block_state_provider'),\r\n foliage_provider: Reference('block_state_provider'),\r\n root_placer: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/root_placer_type' } }),\r\n root_provider: Reference('block_state_provider'),\r\n trunk_offset_y: (0, Common_1.IntProvider)(),\r\n above_root_placement: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n above_root_provider: Reference('block_state_provider'),\r\n above_root_placement_chance: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n })),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:mangrove_root_placer': {\r\n mangrove_root_placement: (0, core_1.ObjectNode)({\r\n max_root_width: (0, core_1.NumberNode)({ integer: true, min: 1, max: 12 }),\r\n max_root_length: (0, core_1.NumberNode)({ integer: true, min: 1, max: 64 }),\r\n random_skew_chance: (0, core_1.NumberNode)({ min: 0, max: 1 }),\r\n can_grow_through: (0, Common_1.Tag)({ resource: 'block' }),\r\n muddy_roots_in: (0, Common_1.Tag)({ resource: 'block' }),\r\n muddy_roots_provider: Reference('block_state_provider'),\r\n })\r\n }\r\n }\r\n }, { context: 'root_placer' })),\r\n trunk_placer: (0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/trunk_placer_type' } }),\r\n base_height: (0, core_1.NumberNode)({ integer: true, min: 0, max: 32 }),\r\n height_rand_a: (0, core_1.NumberNode)({ integer: true, min: 0, max: 24 }),\r\n height_rand_b: (0, core_1.NumberNode)({ integer: true, min: 0, max: 24 }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:bending_trunk_placer': {\r\n bend_length: (0, Common_1.IntProvider)({ min: 1, max: 64 }),\r\n min_height_for_leaves: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 1 }))\r\n },\r\n 'minecraft:upwards_branching_trunk_placer': {\r\n extra_branch_steps: (0, Common_1.IntProvider)({ min: 1 }),\r\n extra_branch_length: (0, Common_1.IntProvider)({ min: 0 }),\r\n place_branch_per_log_probability: (0, core_1.NumberNode)({ min: 0, max: 1 }),\r\n can_grow_through: (0, Common_1.Tag)({ resource: 'block' })\r\n }\r\n }\r\n }, { context: 'trunk_placer' }),\r\n foliage_placer: (0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/foliage_placer_type' } }),\r\n radius: (0, Common_1.IntProvider)({ min: 0, max: 16 }),\r\n offset: (0, Common_1.IntProvider)({ min: 0, max: 16 }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:blob_foliage_placer': {\r\n height: (0, core_1.NumberNode)({ integer: true, min: 0, max: 16 })\r\n },\r\n 'minecraft:bush_foliage_placer': {\r\n height: (0, core_1.NumberNode)({ integer: true, min: 0, max: 16 })\r\n },\r\n 'minecraft:fancy_foliage_placer': {\r\n height: (0, core_1.NumberNode)({ integer: true, min: 0, max: 16 })\r\n },\r\n 'minecraft:jungle_foliage_placer': {\r\n height: (0, core_1.NumberNode)({ integer: true, min: 0, max: 16 })\r\n },\r\n 'minecraft:mega_pine_foliage_placer': {\r\n crown_height: (0, Common_1.IntProvider)({ min: 0, max: 24 })\r\n },\r\n 'minecraft:pine_foliage_placer': {\r\n height: (0, Common_1.IntProvider)({ min: 0, max: 24 })\r\n },\r\n 'minecraft:random_spread_foliage_placer': {\r\n foliage_height: (0, Common_1.IntProvider)({ min: 1, max: 512 }),\r\n leaf_placement_attempts: (0, core_1.NumberNode)({ integer: true, min: 0, max: 256 })\r\n },\r\n 'minecraft:spruce_foliage_placer': {\r\n trunk_height: (0, Common_1.IntProvider)({ min: 0, max: 24 })\r\n }\r\n }\r\n }, { context: 'foliage_placer', disableSwitchContext: true }),\r\n decorators: (0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/tree_decorator_type' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:alter_ground': {\r\n provider: Reference('block_state_provider')\r\n },\r\n 'minecraft:attached_to_leaves': {\r\n probability: (0, core_1.NumberNode)({ min: 0, max: 1 }),\r\n exclusion_radius_xz: (0, core_1.NumberNode)({ integer: true, min: 0, max: 16 }),\r\n exclusion_radius_y: (0, core_1.NumberNode)({ integer: true, min: 0, max: 16 }),\r\n required_empty_blocks: (0, core_1.NumberNode)({ integer: true, min: 1, max: 16 }),\r\n block_provider: Reference('block_state_provider'),\r\n directions: (0, core_1.ListNode)(StringNode({ enum: 'direction' }))\r\n },\r\n 'minecraft:beehive': {\r\n probability: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n },\r\n 'minecraft:cocoa': {\r\n probability: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n },\r\n 'minecraft:leave_vine': {\r\n probability: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n }\r\n }\r\n }, { context: 'tree_decorator' }))\r\n },\r\n 'minecraft:twisting_vines': {\r\n spread_width: (0, core_1.NumberNode)({ integer: true, min: 1 }),\r\n spread_height: (0, core_1.NumberNode)({ integer: true, min: 1 }),\r\n max_height: (0, core_1.NumberNode)({ integer: true, min: 1 }),\r\n },\r\n 'minecraft:underwater_magma': {\r\n floor_search_range: (0, core_1.NumberNode)({ integer: true, min: 0, max: 512 }),\r\n placement_radius_around_floor: (0, core_1.NumberNode)({ integer: true, min: 0, max: 64 }),\r\n placement_probability_per_valid_position: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n },\r\n 'minecraft:vegetation_patch': VegetationPatchConfig,\r\n 'minecraft:waterlogged_vegetation_patch': VegetationPatchConfig\r\n }\r\n }, { context: 'feature' })\r\n }, { context: 'feature' }), {\r\n default: () => ({\r\n type: 'minecraft:tree',\r\n config: {\r\n minimum_size: {\r\n type: 'minecraft:two_layers_feature_size'\r\n },\r\n trunk_placer: {\r\n type: 'minecraft:straight_trunk_placer',\r\n base_height: 5,\r\n height_rand_a: 2,\r\n height_rand_b: 0\r\n },\r\n foliage_placer: {\r\n type: 'minecraft:blob_foliage_placer',\r\n radius: 2,\r\n offset: 0,\r\n height: 3\r\n }\r\n }\r\n })\r\n }));\r\n schemas.register('placed_feature', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n feature: ConfiguredFeature,\r\n placement: (0, core_1.ListNode)(Reference('decorator'))\r\n }, { context: 'placed_feature' }), {\r\n default: () => ({\r\n feature: 'minecraft:oak',\r\n placement: [\r\n {\r\n type: 'minecraft:count',\r\n count: 4\r\n },\r\n {\r\n type: 'minecraft:in_square'\r\n },\r\n {\r\n type: 'minecraft:heightmap',\r\n heightmap: 'OCEAN_FLOOR'\r\n }\r\n ]\r\n })\r\n }));\r\n schemas.register('feature_size', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/feature_size_type' } }),\r\n min_clipped_height: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 80 })),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:two_layers_feature_size': {\r\n limit: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 0, max: 81 })),\r\n lower_size: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 0, max: 16 })),\r\n upper_size: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 0, max: 16 }))\r\n },\r\n 'minecraft:three_layers_feature_size': {\r\n limit: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 0, max: 80 })),\r\n upper_limit: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 0, max: 80 })),\r\n lower_size: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 0, max: 16 })),\r\n middle_size: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 0, max: 16 })),\r\n upper_size: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 0, max: 16 }))\r\n }\r\n }\r\n }, { disableSwitchContext: true }), {\r\n default: () => ({\r\n type: 'minecraft:two_layers_feature_size'\r\n })\r\n }));\r\n const NoiseProvider = {\r\n seed: (0, core_1.NumberNode)({ integer: true }),\r\n noise: Reference('noise_parameters'),\r\n scale: (0, core_1.Mod)((0, core_1.NumberNode)({ min: Number.MIN_VALUE }), { default: () => 1 })\r\n };\r\n schemas.register('block_state_provider', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/block_state_provider_type' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:dual_noise_provider': {\r\n ...NoiseProvider,\r\n variety: (0, Common_1.InclusiveRange)({ integer: true, min: 1, max: 64 }),\r\n slow_noise: Reference('noise_parameters'),\r\n slow_scale: (0, core_1.Mod)((0, core_1.NumberNode)({ min: Number.MIN_VALUE }), { default: () => 1 }),\r\n states: (0, core_1.ListNode)(Reference('block_state'))\r\n },\r\n 'minecraft:noise_threshold_provider': {\r\n ...NoiseProvider,\r\n threshold: (0, core_1.NumberNode)({ min: -1, max: 1 }),\r\n high_chance: (0, core_1.NumberNode)({ min: 0, max: 1 }),\r\n default_state: Reference('block_state'),\r\n low_states: (0, core_1.ListNode)(Reference('block_state')),\r\n high_states: (0, core_1.ListNode)(Reference('block_state'))\r\n },\r\n 'minecraft:noise_provider': {\r\n ...NoiseProvider,\r\n states: (0, core_1.ListNode)(Reference('block_state'))\r\n },\r\n 'minecraft:randomized_int_state_provider': {\r\n property: StringNode(),\r\n values: (0, Common_1.IntProvider)(),\r\n source: Reference('block_state_provider')\r\n },\r\n 'minecraft:rotated_block_provider': {\r\n state: Reference('block_state')\r\n },\r\n 'minecraft:simple_state_provider': {\r\n state: Reference('block_state')\r\n },\r\n 'minecraft:weighted_state_provider': {\r\n entries: (0, core_1.ListNode)((0, core_1.Mod)((0, core_1.ObjectNode)({\r\n weight: (0, core_1.NumberNode)({ integer: true, min: 1 }),\r\n data: Reference('block_state')\r\n }), {\r\n default: () => ({\r\n data: {}\r\n })\r\n }))\r\n }\r\n }\r\n }, { context: 'block_state_provider' }), {\r\n default: () => ({\r\n type: 'minecraft:simple_state_provider'\r\n })\r\n }));\r\n schemas.register('rule_based_block_state_provider', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n fallback: Reference('block_state_provider'),\r\n rules: (0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n if_true: Reference('block_predicate_worldgen'),\r\n then: Reference('block_state_provider')\r\n }))\r\n }, { context: 'block_state_provider' }), {\r\n default: () => ({\r\n fallback: {\r\n type: 'minecraft:simple_state_provider'\r\n }\r\n })\r\n }));\r\n const Offset = {\r\n offset: (0, core_1.Opt)((0, core_1.ListNode)((0, core_1.NumberNode)({ integer: true, min: -16, max: 16 }), { minLength: 3, maxLength: 3 }))\r\n };\r\n schemas.register('block_predicate_worldgen', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'block_predicate_type' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:all_of': {\r\n predicates: (0, core_1.ListNode)(Reference('block_predicate_worldgen'))\r\n },\r\n 'minecraft:any_of': {\r\n predicates: (0, core_1.ListNode)(Reference('block_predicate_worldgen'))\r\n },\r\n 'minecraft:has_sturdy_face': {\r\n ...Offset,\r\n direction: StringNode({ enum: 'direction' })\r\n },\r\n 'minecraft:inside_world_bounds': {\r\n ...Offset,\r\n },\r\n 'minecraft:matching_block_tag': {\r\n ...Offset,\r\n tag: StringNode({ validator: 'resource', params: { pool: '$tag/block' } })\r\n },\r\n 'minecraft:matching_blocks': {\r\n ...Offset,\r\n blocks: (0, Common_1.Tag)({ resource: 'block' })\r\n },\r\n 'minecraft:matching_fluids': {\r\n ...Offset,\r\n fluids: (0, Common_1.Tag)({ resource: 'fluid' })\r\n },\r\n 'minecraft:not': {\r\n predicate: Reference('block_predicate_worldgen')\r\n },\r\n 'minecraft:would_survive': {\r\n ...Offset,\r\n state: Reference('block_state')\r\n }\r\n }\r\n }, { context: 'block_predicate' }), {\r\n default: () => ({\r\n type: 'minecraft:true'\r\n })\r\n }));\r\n}\r\nexports.initFeatureSchemas = initFeatureSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initNoiseSettingsSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"../Common\");\r\nconst DensityFunction_1 = require(\"./DensityFunction\");\r\nfunction initNoiseSettingsSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('noise_settings', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n sea_level: (0, core_1.NumberNode)({ integer: true }),\r\n disable_mob_generation: (0, core_1.BooleanNode)(),\r\n aquifers_enabled: (0, core_1.BooleanNode)(),\r\n ore_veins_enabled: (0, core_1.BooleanNode)(),\r\n legacy_random_source: (0, core_1.BooleanNode)(),\r\n default_block: Reference('block_state'),\r\n default_fluid: Reference('block_state'),\r\n noise: (0, core_1.ObjectNode)({\r\n min_y: (0, core_1.NumberNode)({ integer: true, min: -2048, max: 2047 }),\r\n height: (0, core_1.NumberNode)({ integer: true, min: 0, max: 4096 }),\r\n size_horizontal: (0, core_1.NumberNode)({ integer: true }),\r\n size_vertical: (0, core_1.NumberNode)({ integer: true }),\r\n }),\r\n noise_router: (0, core_1.ObjectNode)({\r\n barrier: DensityFunction_1.DensityFunction,\r\n fluid_level_floodedness: DensityFunction_1.DensityFunction,\r\n fluid_level_spread: DensityFunction_1.DensityFunction,\r\n lava: DensityFunction_1.DensityFunction,\r\n temperature: DensityFunction_1.DensityFunction,\r\n vegetation: DensityFunction_1.DensityFunction,\r\n continents: DensityFunction_1.DensityFunction,\r\n erosion: DensityFunction_1.DensityFunction,\r\n depth: DensityFunction_1.DensityFunction,\r\n ridges: DensityFunction_1.DensityFunction,\r\n initial_density_without_jaggedness: DensityFunction_1.DensityFunction,\r\n final_density: DensityFunction_1.DensityFunction,\r\n vein_toggle: DensityFunction_1.DensityFunction,\r\n vein_ridged: DensityFunction_1.DensityFunction,\r\n vein_gap: DensityFunction_1.DensityFunction,\r\n }),\r\n spawn_target: (0, core_1.ListNode)(Reference('parameter_point')),\r\n surface_rule: Reference('material_rule'),\r\n }, { context: 'noise_settings' }), node => ({\r\n default: () => Common_1.DefaultNoiseSettings,\r\n validate: (path, value, errors, options) => {\r\n var _a, _b, _c, _d;\r\n value = node.validate(path, value, errors, options);\r\n if (((_a = value === null || value === void 0 ? void 0 : value.noise) === null || _a === void 0 ? void 0 : _a.min_y) + ((_b = value === null || value === void 0 ? void 0 : value.noise) === null || _b === void 0 ? void 0 : _b.height) > 2047) {\r\n errors.add(path.push('noise').push('height'), 'error.min_y_plus_height', 2047);\r\n }\r\n if (((_c = value === null || value === void 0 ? void 0 : value.noise) === null || _c === void 0 ? void 0 : _c.height) % 16 !== 0) {\r\n errors.add(path.push('noise').push('height'), 'error.height_multiple', 16);\r\n }\r\n if (((_d = value === null || value === void 0 ? void 0 : value.noise) === null || _d === void 0 ? void 0 : _d.min_y) % 16 !== 0) {\r\n errors.add(path.push('noise').push('min_y'), 'error.min_y_multiple', 16);\r\n }\r\n return value;\r\n }\r\n })));\r\n schemas.register('noise_slider', (0, core_1.ObjectNode)({\r\n target: (0, core_1.NumberNode)(),\r\n size: (0, core_1.NumberNode)({ integer: true, min: 0 }),\r\n offset: (0, core_1.NumberNode)({ integer: true })\r\n }));\r\n schemas.register('generator_layer', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n block: StringNode({ validator: 'resource', params: { pool: 'block' } }),\r\n height: (0, core_1.NumberNode)({ integer: true, min: 1 })\r\n }), {\r\n default: () => ({\r\n block: 'minecraft:stone',\r\n height: 1\r\n })\r\n }));\r\n}\r\nexports.initNoiseSettingsSchemas = initNoiseSettingsSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initStructureSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"../Common\");\r\nconst Biome_1 = require(\"./Biome\");\r\nfunction initStructureSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n schemas.register('structure', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/structure_type' } }),\r\n biomes: (0, Common_1.Tag)({ resource: '$worldgen/biome' }),\r\n step: StringNode({ enum: 'decoration_step' }),\r\n spawn_overrides: (0, core_1.MapNode)(StringNode({ enum: 'mob_category' }), (0, core_1.ObjectNode)({\r\n bounding_box: StringNode({ enum: ['piece', 'full'] }),\r\n spawns: Biome_1.MobCategorySpawnSettings,\r\n })),\r\n terrain_adaptation: (0, core_1.Opt)(StringNode({ enum: ['none', 'beard_thin', 'beard_box', 'bury'] })),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:jigsaw': {\r\n start_pool: StringNode({ validator: 'resource', params: { pool: '$worldgen/template_pool' } }),\r\n size: (0, core_1.NumberNode)({ integer: true }),\r\n start_height: Reference('height_provider'),\r\n start_jigsaw_name: (0, core_1.Opt)(StringNode()),\r\n project_start_to_heightmap: (0, core_1.Opt)(StringNode({ enum: 'heightmap_type' })),\r\n max_distance_from_center: (0, core_1.NumberNode)({ integer: true, min: 1, max: 128 }),\r\n use_expansion_hack: (0, core_1.BooleanNode)(),\r\n },\r\n 'minecraft:mineshaft': {\r\n mineshaft_type: StringNode({ enum: ['normal', 'mesa'] }),\r\n },\r\n 'minecraft:nether_fossil': {\r\n height: Reference('height_provider')\r\n },\r\n 'minecraft:ocean_ruin': {\r\n biome_temp: StringNode({ enum: ['cold', 'warm'] }),\r\n large_probability: (0, core_1.NumberNode)({ min: 0, max: 1 }),\r\n cluster_probability: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n },\r\n 'minecraft:ruined_portal': {\r\n setups: (0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n placement: StringNode({ enum: ['on_land_surface', 'partly_buried', 'on_ocean_floor', 'in_mountain', 'underground', 'in_nether'] }),\r\n air_pocket_probability: (0, core_1.NumberNode)({ min: 0, max: 1 }),\r\n mossiness: (0, core_1.NumberNode)({ min: 0, max: 1 }),\r\n overgrown: (0, core_1.BooleanNode)(),\r\n vines: (0, core_1.BooleanNode)(),\r\n can_be_cold: (0, core_1.BooleanNode)(),\r\n replace_with_blackstone: (0, core_1.BooleanNode)(),\r\n weight: (0, core_1.NumberNode)({ min: 0 })\r\n }))\r\n },\r\n 'minecraft:shipwreck': {\r\n is_beached: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n }\r\n }\r\n }, { context: 'structure_feature' }), {\r\n default: () => ({\r\n type: 'minecraft:jigsaw',\r\n step: 'surface_structures',\r\n size: 6,\r\n })\r\n }));\r\n}\r\nexports.initStructureSchemas = initStructureSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initStructureSetSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"../Common\");\r\nfunction initStructureSetSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StructureSet = (0, core_1.ChoiceNode)([\r\n {\r\n type: 'string',\r\n node: StringNode({ validator: 'resource', params: { pool: '$worldgen/structure_set' } })\r\n },\r\n {\r\n type: 'object',\r\n node: Reference('structure_set')\r\n }\r\n ], { choiceContext: 'structure_set' });\r\n schemas.register('structure_set', (0, core_1.ObjectNode)({\r\n structures: (0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n structure: (0, Common_1.Tag)({ resource: '$worldgen/structure' }),\r\n weight: (0, core_1.NumberNode)({ integer: true, min: 1 })\r\n })),\r\n placement: Reference('structure_placement')\r\n }, { context: 'structure_set' }));\r\n schemas.register('structure_placement', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/structure_placement' } }),\r\n salt: (0, core_1.NumberNode)({ integer: true, min: 0 }),\r\n frequency_reduction_method: (0, core_1.Opt)(StringNode({ enum: ['default', 'legacy_type_1', 'legacy_type_2', 'legacy_type_3'] })),\r\n frequency: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 1 })),\r\n exclusion_zone: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n other_set: StructureSet,\r\n chunk_count: (0, core_1.NumberNode)({ integer: true, min: 1, max: 16 })\r\n })),\r\n locate_offset: (0, core_1.Opt)((0, core_1.ListNode)((0, core_1.NumberNode)({ integer: true, min: -16, max: 16 }), { minLength: 3, maxLength: 3 })),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:concentric_rings': {\r\n distance: (0, core_1.NumberNode)({ integer: true, min: 0, max: 1023 }),\r\n spread: (0, core_1.NumberNode)({ integer: true, min: 0, max: 1023 }),\r\n count: (0, core_1.NumberNode)({ integer: true, min: 1, max: 4095 }),\r\n preferred_biomes: (0, Common_1.Tag)({ resource: '$worldgen/biome' })\r\n },\r\n 'minecraft:random_spread': {\r\n spread_type: (0, core_1.Opt)(StringNode({ enum: ['linear', 'triangular'] })),\r\n spacing: (0, core_1.NumberNode)({ integer: true, min: 0, max: 4096 }),\r\n separation: (0, core_1.Mod)((0, core_1.NumberNode)({ integer: true, min: 0, max: 4096 }), (node) => ({\r\n validate: (path, value, errors, options) => {\r\n if (path.pop().push('spacing').get() <= value) {\r\n errors.add(path, 'error.separation_smaller_spacing');\r\n }\r\n return node.validate(path, value, errors, options);\r\n }\r\n }))\r\n }\r\n }\r\n }, { context: 'structure_placement' }), {\r\n default: () => ({\r\n type: 'minecraft:random_spread',\r\n spacing: 10,\r\n separation: 5,\r\n salt: Math.floor(Math.random() * 2147483647)\r\n })\r\n }));\r\n}\r\nexports.initStructureSetSchemas = initStructureSetSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initSurfaceRuleSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initSurfaceRuleSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n schemas.register('material_rule', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/material_rule' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:block': {\r\n result_state: Reference('block_state'),\r\n },\r\n 'minecraft:condition': {\r\n if_true: Reference('material_condition'),\r\n then_run: Reference('material_rule')\r\n },\r\n 'minecraft:sequence': {\r\n sequence: (0, core_1.ListNode)(Reference('material_rule'))\r\n }\r\n }\r\n }, { context: 'material_rule', category: 'pool' }), {\r\n default: () => ({\r\n type: 'minecraft:block',\r\n result_state: {\r\n Name: 'minecraft:stone'\r\n }\r\n })\r\n }));\r\n schemas.register('material_condition', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/material_condition' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:biome': {\r\n biome_is: (0, core_1.ListNode)(StringNode({ validator: 'resource', params: { pool: '$worldgen/biome' } }))\r\n },\r\n 'minecraft:noise_threshold': {\r\n noise: StringNode({ validator: 'resource', params: { pool: '$worldgen/noise' } }),\r\n min_threshold: (0, core_1.NumberNode)(),\r\n max_threshold: (0, core_1.NumberNode)()\r\n },\r\n 'minecraft:not': {\r\n invert: Reference('material_condition')\r\n },\r\n 'minecraft:stone_depth': {\r\n offset: (0, core_1.NumberNode)({ integer: true }),\r\n surface_type: StringNode({ enum: 'cave_surface' }),\r\n add_surface_depth: (0, core_1.BooleanNode)(),\r\n secondary_depth_range: (0, core_1.NumberNode)({ integer: true }),\r\n },\r\n 'minecraft:vertical_gradient': {\r\n random_name: StringNode(),\r\n true_at_and_below: Reference('vertical_anchor'),\r\n false_at_and_above: Reference('vertical_anchor'),\r\n },\r\n 'minecraft:water': {\r\n offset: (0, core_1.NumberNode)({ integer: true }),\r\n surface_depth_multiplier: (0, core_1.NumberNode)({ integer: true, min: -20, max: 20 }),\r\n add_stone_depth: (0, core_1.BooleanNode)()\r\n },\r\n 'minecraft:y_above': {\r\n anchor: Reference('vertical_anchor'),\r\n surface_depth_multiplier: (0, core_1.NumberNode)({ integer: true, min: -20, max: 20 }),\r\n add_stone_depth: (0, core_1.BooleanNode)()\r\n }\r\n }\r\n }, { context: 'material_condition' }), {\r\n default: () => ({\r\n type: 'minecraft:biome',\r\n is_biome: 'minecraft:plains'\r\n })\r\n }));\r\n}\r\nexports.initSurfaceRuleSchemas = initSurfaceRuleSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initTemplatePoolSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nrequire(\"./ProcessorList\");\r\nconst ProcessorList_1 = require(\"./ProcessorList\");\r\nfunction initTemplatePoolSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('template_pool', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n name: StringNode(),\r\n fallback: StringNode(),\r\n elements: (0, core_1.ListNode)(Reference('template_weighted_element'))\r\n }, { context: 'template_pool' }), {\r\n default: () => ({\r\n fallback: 'minecraft:empty',\r\n elements: [\r\n {\r\n weight: 1,\r\n element: {\r\n element_type: 'minecraft:single_pool_element',\r\n projection: 'rigid',\r\n processors: 'minecraft:empty'\r\n }\r\n }\r\n ]\r\n })\r\n }));\r\n schemas.register('template_weighted_element', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n weight: (0, core_1.NumberNode)({ integer: true, min: 1 }),\r\n element: Reference('template_element')\r\n }, { category: 'pool' }), {\r\n default: () => ({\r\n weight: 1,\r\n element: {\r\n element_type: 'minecraft:single_pool_element',\r\n projection: 'rigid',\r\n processors: 'minecraft:empty'\r\n }\r\n })\r\n }));\r\n schemas.register('template_element', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n element_type: StringNode({ validator: 'resource', params: { pool: 'worldgen/structure_pool_element' } }),\r\n projection: StringNode({ enum: ['rigid', 'terrain_matching'] }),\r\n [core_1.Switch]: [{ push: 'element_type' }],\r\n [core_1.Case]: {\r\n 'minecraft:feature_pool_element': {\r\n feature: StringNode({ validator: 'resource', params: { pool: '$worldgen/placed_feature' } })\r\n },\r\n 'minecraft:legacy_single_pool_element': {\r\n location: StringNode({ validator: 'resource', params: { pool: '$structure' } }),\r\n processors: ProcessorList_1.Processors\r\n },\r\n 'minecraft:list_pool_element': {\r\n elements: (0, core_1.ListNode)(Reference('template_element'))\r\n },\r\n 'minecraft:single_pool_element': {\r\n location: StringNode({ validator: 'resource', params: { pool: '$structure' } }),\r\n processors: ProcessorList_1.Processors\r\n }\r\n }\r\n }, { context: 'template_element', disableSwitchContext: true }), {\r\n default: () => ({\r\n element_type: 'minecraft:single_pool_element',\r\n projection: 'rigid',\r\n processors: 'minecraft:empty'\r\n })\r\n }));\r\n}\r\nexports.initTemplatePoolSchemas = initTemplatePoolSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initWorldPresetSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initWorldPresetSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n schemas.register('world_preset', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n dimensions: (0, core_1.MapNode)(StringNode({ validator: 'resource', params: { pool: '$dimension', isDefinition: true } }), Reference('dimension'))\r\n }, { context: 'world_preset' }), {\r\n default: () => ({\r\n dimensions: {\r\n 'minecraft:overworld': {\r\n type: 'minecraft:overworld',\r\n generator: {\r\n type: 'minecraft:noise',\r\n biome_source: {\r\n type: 'minecraft:multi_noise',\r\n preset: 'minecraft:overworld',\r\n },\r\n settings: 'minecraft:overworld',\r\n },\r\n },\r\n 'minecraft:the_nether': {\r\n type: 'minecraft:the_nether',\r\n generator: {\r\n type: 'minecraft:noise',\r\n biome_source: {\r\n type: 'minecraft:multi_noise',\r\n preset: 'minecraft:nether',\r\n },\r\n settings: 'minecraft:nether',\r\n },\r\n },\r\n 'minecraft:the_end': {\r\n type: 'minecraft:the_end',\r\n generator: {\r\n type: 'minecraft:noise',\r\n biome_source: {\r\n type: 'minecraft:the_end',\r\n },\r\n settings: 'minecraft:end',\r\n },\r\n },\r\n }\r\n })\r\n }));\r\n schemas.register('flat_level_generator_preset', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n display: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n settings: Reference('flat_generator_settings'),\r\n }), {\r\n default: () => ({\r\n display: 'minecraft:grass_block',\r\n settings: {\r\n lakes: false,\r\n features: false,\r\n biome: 'minecraft:plains',\r\n structure_overrides: [],\r\n layers: [\r\n {\r\n height: 3,\r\n block: 'minecraft:dirt'\r\n },\r\n {\r\n height: 1,\r\n block: 'minecraft:grass_block'\r\n }\r\n ]\r\n }\r\n })\r\n }));\r\n}\r\nexports.initWorldPresetSchemas = initWorldPresetSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initWorldgenSchemas = void 0;\r\nconst Biome_1 = require(\"./Biome\");\r\nconst Carver_1 = require(\"./Carver\");\r\nconst Decorator_1 = require(\"./Decorator\");\r\nconst DensityFunction_1 = require(\"./DensityFunction\");\r\nconst Feature_1 = require(\"./Feature\");\r\nconst NoiseSettings_1 = require(\"./NoiseSettings\");\r\nconst ProcessorList_1 = require(\"./ProcessorList\");\r\nconst Structure_1 = require(\"./Structure\");\r\nconst StructureSet_1 = require(\"./StructureSet\");\r\nconst SurfaceRule_1 = require(\"./SurfaceRule\");\r\nconst TemplatePool_1 = require(\"./TemplatePool\");\r\nconst WorldPreset_1 = require(\"./WorldPreset\");\r\nfunction initWorldgenSchemas(schemas, collections) {\r\n // `ProcessorList.ts`, `DensityFunction.ts`, and `Biome.ts` have exports. They should be initialized first. \r\n (0, ProcessorList_1.initProcessorListSchemas)(schemas, collections);\r\n (0, DensityFunction_1.initDensityFunctionSchemas)(schemas, collections);\r\n (0, Biome_1.initBiomeSchemas)(schemas, collections);\r\n (0, Carver_1.initCarverSchemas)(schemas, collections);\r\n (0, Decorator_1.initDecoratorSchemas)(schemas, collections);\r\n (0, Feature_1.initFeatureSchemas)(schemas, collections);\r\n (0, NoiseSettings_1.initNoiseSettingsSchemas)(schemas, collections);\r\n (0, Structure_1.initStructureSchemas)(schemas, collections);\r\n (0, StructureSet_1.initStructureSetSchemas)(schemas, collections);\r\n (0, SurfaceRule_1.initSurfaceRuleSchemas)(schemas, collections);\r\n (0, TemplatePool_1.initTemplatePoolSchemas)(schemas, collections);\r\n (0, WorldPreset_1.initWorldPresetSchemas)(schemas, collections);\r\n}\r\nexports.initWorldgenSchemas = initWorldgenSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initWorldSettingsSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initWorldSettingsSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('world_settings', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n generate_features: (0, core_1.BooleanNode)(),\r\n bonus_chest: (0, core_1.BooleanNode)(),\r\n seed: (0, core_1.NumberNode)({ integer: true }),\r\n dimensions: (0, core_1.MapNode)(StringNode({ validator: 'resource', params: { pool: '$dimension' } }), Reference('dimension'))\r\n }, { context: 'world_settings' }), {\r\n default: () => {\r\n const seed = Math.floor(Math.random() * (4294967296)) - 2147483648;\r\n return {\r\n generate_features: true,\r\n bonus_chest: false,\r\n seed,\r\n dimensions: {\r\n 'minecraft:overworld': {\r\n type: 'minecraft:overworld',\r\n generator: {\r\n type: 'minecraft:noise',\r\n seed,\r\n biome_source: {\r\n type: 'minecraft:multi_noise',\r\n preset: \"minecraft:overworld\"\r\n },\r\n settings: 'minecraft:overworld',\r\n }\r\n },\r\n 'minecraft:the_nether': {\r\n type: 'minecraft:the_nether',\r\n generator: {\r\n type: 'minecraft:noise',\r\n seed,\r\n biome_source: {\r\n type: 'minecraft:multi_noise',\r\n preset: \"minecraft:nether\"\r\n },\r\n settings: 'minecraft:nether'\r\n }\r\n },\r\n 'minecraft:the_end': {\r\n type: \"minecraft:the_end\",\r\n generator: {\r\n type: \"minecraft:noise\",\r\n seed,\r\n biome_source: {\r\n type: \"minecraft:the_end\",\r\n seed\r\n },\r\n settings: \"minecraft:end\"\r\n }\r\n }\r\n }\r\n };\r\n }\r\n }));\r\n}\r\nexports.initWorldSettingsSchemas = initWorldSettingsSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initSchemas = void 0;\r\nconst Advancement_1 = require(\"./Advancement\");\r\nconst assets_1 = require(\"./assets\");\r\nconst ChatType_1 = require(\"./ChatType\");\r\nconst Common_1 = require(\"./Common\");\r\nconst Condition_1 = require(\"./Condition\");\r\nconst Dimension_1 = require(\"./Dimension\");\r\nconst DimensionType_1 = require(\"./DimensionType\");\r\nconst ItemModifier_1 = require(\"./ItemModifier\");\r\nconst LootTable_1 = require(\"./LootTable\");\r\nconst PackMcmeta_1 = require(\"./PackMcmeta\");\r\nconst Predicates_1 = require(\"./Predicates\");\r\nconst Recipe_1 = require(\"./Recipe\");\r\nconst Tags_1 = require(\"./Tags\");\r\nconst TextComponent_1 = require(\"./TextComponent\");\r\nconst worldgen_1 = require(\"./worldgen\");\r\nconst WorldSettings_1 = require(\"./WorldSettings\");\r\nfunction initSchemas(schemas, collections) {\r\n // `Common.ts` is the only file that has exports. It should be initialized first. \r\n (0, Common_1.initCommonSchemas)(schemas, collections);\r\n (0, ChatType_1.initChatTypeSchemas)(schemas, collections);\r\n (0, Advancement_1.initAdvancementSchemas)(schemas, collections);\r\n (0, assets_1.initAssetsSchemas)(schemas, collections);\r\n (0, Condition_1.initConditionSchemas)(schemas, collections);\r\n (0, DimensionType_1.initDimensionTypeSchemas)(schemas, collections);\r\n (0, Dimension_1.initDimensionSchemas)(schemas, collections);\r\n (0, ItemModifier_1.initItemModifierSchemas)(schemas, collections);\r\n (0, LootTable_1.initLootTableSchemas)(schemas, collections);\r\n (0, PackMcmeta_1.initPackMcmetaSchemas)(schemas, collections);\r\n (0, Predicates_1.initPredicatesSchemas)(schemas, collections);\r\n (0, Recipe_1.initRecipeSchemas)(schemas, collections);\r\n (0, Tags_1.initTagsSchemas)(schemas, collections);\r\n (0, TextComponent_1.initTextComponentSchemas)(schemas, collections);\r\n (0, worldgen_1.initWorldgenSchemas)(schemas, collections);\r\n (0, WorldSettings_1.initWorldSettingsSchemas)(schemas, collections);\r\n}\r\nexports.initSchemas = initSchemas;\r\n","\"use strict\";\r\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}));\r\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n});\r\nvar __importStar = (this && this.__importStar) || function (mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.getSchemas = exports.getCollections = exports.lootContext = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Collections_1 = require(\"./Collections\");\r\nconst schemas_1 = require(\"./schemas\");\r\nexports.lootContext = __importStar(require(\"./LootContext\"));\r\nfunction getCollections() {\r\n const collections = new core_1.CollectionRegistry();\r\n (0, Collections_1.initCollections)(collections);\r\n return collections;\r\n}\r\nexports.getCollections = getCollections;\r\n/**\r\n * @param collections The CollectionRegistry for this version. Note that apart from\r\n * the built-in collections, the client of this module is responsible for futhermore\r\n * adding the vanilla registries to it: the collection IDs shouldn't contain the\r\n * namespace (`minecraft:`) part, while the values within the collections should.\r\n *\r\n * @example\r\n * for (const key in VANILLA_REGISTRIES>) {\r\n * collections.register(\r\n * key.replace(/^minecraft:/, ''),\r\n * Object.keys(VANILLA_REGISTRIES[key].entries)\r\n * )\r\n * }\r\n */\r\nfunction getSchemas(collections) {\r\n const schemas = new core_1.SchemaRegistry();\r\n (0, schemas_1.initSchemas)(schemas, collections);\r\n return schemas;\r\n}\r\nexports.getSchemas = getSchemas;\r\n"],"names":["core_1","require$$0","require$$1","Common_1","require$$2","ProcessorList_1","DensityFunction_1","Biome_1","require$$3","require$$4","require$$5","require$$6","require$$7","require$$8","require$$9","require$$10","require$$11","require$$12","require$$13","require$$14","require$$15","this"],"mappings":"+1BACA,OAAO,eAAe,GAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EACrC,GAAA,gBAAG,OAC1B,YAAyB,EAAa,CAClC,EAAY,SAAS,sBAAuB,CACxC,qCACA,4BACA,+BACA,yBACA,0BACA,8BACA,gCACA,6BACA,yBACA,kCACA,4BACA,2BACA,wBACA,+BACA,iCACA,6BACA,0BACA,+BACA,gCACA,uBACA,8BACA,oCACA,+BACA,yCACA,+BACA,uBACA,6BACA,qBACA,0BACA,yBACA,4CACA,+BACA,0CACA,iCACA,4BACA,gCACA,0BACA,yBACA,6BACA,2BACA,4BACA,wBACA,uBACA,iBACA,4CACA,4CACA,2BACA,uBACA,uBACA,2BACA,2BACR,CAAK,EACD,EAAY,SAAS,UAAW,CAC5B,mBACA,aACA,WACA,WACA,cACA,WACA,cACA,iBACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,gBACA,WACA,WACA,2BACA,eACA,iBACA,YACA,2BACA,iBACA,mBACA,YACA,wBACA,aACA,kBACA,wBACA,SACR,CAAK,EACD,EAAY,SAAS,OAAQ,CACzB,WACA,UACA,OACA,QACA,OACA,MACR,CAAK,EACD,EAAY,SAAS,WAAY,CAC7B,WACA,WACA,YACA,WACR,CAAK,EACD,EAAY,SAAS,gBAAiB,CAClC,OACA,SACA,gBACA,eACR,CAAK,EACD,EAAY,SAAS,cAAe,CAChC,eACA,OACA,SACA,eACR,CAAK,EACD,EAAY,SAAS,iCAAkC,CACnD,gCACA,sCACA,qBACR,CAAK,EACD,EAAY,SAAS,iBAAkB,CACnC,UACA,WACA,SACA,QACA,aACA,cACA,WACA,eACA,iBACA,oBACA,QACA,eACA,gBACA,iBACA,oBACA,gBACA,cACA,cACA,cACA,oBACA,cACA,gBACA,cACA,eACA,eACA,aACA,cACR,CAAK,EACD,EAAY,SAAS,cAAe,CAChC,kBACA,kBACA,iBACA,UACA,WACA,QACA,iBACA,UACA,YACA,WACA,gBACA,aACA,mBACA,gBACA,YACA,aACA,YACA,SACR,CAAK,EACD,EAAY,SAAS,eAAgB,CACjC,MACA,iBACA,aACA,gBACA,YACA,qBACA,WACA,cACA,OACA,cACA,iBACA,oBACA,SACA,gBACA,cACA,qBACA,eACA,SACA,kBACA,wBACA,OACA,YACA,aACA,WACA,UACA,kBACA,gBACA,aACA,WACA,cACA,aACA,SACA,OACA,OACA,QACA,WACA,YACA,SACA,iBACR,CAAK,EACD,EAAY,SAAS,iBAAkB,CACnC,QACA,SACA,gBACA,SACA,MACA,SACA,OACA,WACA,WACA,SACA,OACA,QACA,SACA,QACA,UACA,QACA,QACA,UACA,aACR,CAAK,EACD,EAAY,SAAS,iBAAkB,CACnC,kBACA,4BACA,cACA,iBACA,gBACA,kBACR,CAAK,EACD,EAAY,SAAS,kBAAmB,CACpC,MACA,QACR,CAAK,EACD,EAAY,SAAS,kBAAmB,CACpC,iBACA,QACA,sBACA,yBACA,qBACA,cACA,mBACA,yBACA,gBACA,qBACA,wBACR,CAAK,EACD,EAAY,SAAS,oBAAqB,CACtC,kBACA,kBACA,oBACA,qBACA,oBACA,mBACA,iBACA,mBACA,+BACA,+BACA,oBACA,iBACR,CAAK,EACD,EAAY,SAAS,iBAAkB,CACnC,OACA,qBACA,sBACA,kBACA,mBACA,gBACA,aACA,cACA,eACA,gBACA,gBACA,mBACA,kBACA,gBACA,QACA,iBACA,kBACA,eACA,mBACA,gBACA,gBACA,oBACA,mBACA,iBACA,SACA,UACA,gBACA,kBACA,sBACA,yBACA,SACA,eACA,WACA,cACA,SACA,QACA,UACA,QACA,SACA,SACA,QACR,CAAK,EACD,EAAY,SAAS,YAAa,CAC9B,QACA,SACA,UACA,aACA,SACA,OACA,OACA,OACA,aACA,OACA,SACA,OACA,QACA,QACA,MACA,OACR,CAAK,EACD,EAAY,SAAS,eAAgB,CACjC,QACA,SACR,CAAK,EACD,EAAY,SAAS,YAAa,CAC9B,OACA,KACA,QACA,OACA,QACA,MACR,CAAK,EACD,EAAY,SAAS,OAAQ,CACzB,IACA,IACA,GACR,CAAK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"} \ No newline at end of file +{"version":3,"file":"index.6b2a70f4.js","sources":["../../node_modules/@mcschema/java-1.19/lib/Collections.js","../../node_modules/@mcschema/java-1.19/lib/schemas/Advancement.js","../../node_modules/@mcschema/java-1.19/lib/schemas/assets/Model.js","../../node_modules/@mcschema/java-1.19/lib/schemas/assets/BlockDefinition.js","../../node_modules/@mcschema/java-1.19/lib/schemas/assets/index.js","../../node_modules/@mcschema/java-1.19/lib/schemas/ChatType.js","../../node_modules/@mcschema/java-1.19/lib/schemas/Common.js","../../node_modules/@mcschema/java-1.19/lib/schemas/Condition.js","../../node_modules/@mcschema/java-1.19/lib/schemas/Dimension.js","../../node_modules/@mcschema/java-1.19/lib/schemas/DimensionType.js","../../node_modules/@mcschema/java-1.19/lib/schemas/ItemModifier.js","../../node_modules/@mcschema/java-1.19/lib/LootContext.js","../../node_modules/@mcschema/java-1.19/lib/schemas/LootTable.js","../../node_modules/@mcschema/java-1.19/lib/schemas/PackMcmeta.js","../../node_modules/@mcschema/java-1.19/lib/schemas/Predicates.js","../../node_modules/@mcschema/java-1.19/lib/schemas/Recipe.js","../../node_modules/@mcschema/java-1.19/lib/schemas/Tags.js","../../node_modules/@mcschema/java-1.19/lib/schemas/TextComponent.js","../../node_modules/@mcschema/java-1.19/lib/schemas/worldgen/Biome.js","../../node_modules/@mcschema/java-1.19/lib/schemas/worldgen/Carver.js","../../node_modules/@mcschema/java-1.19/lib/schemas/worldgen/Decorator.js","../../node_modules/@mcschema/java-1.19/lib/schemas/worldgen/DensityFunction.js","../../node_modules/@mcschema/java-1.19/lib/schemas/worldgen/ProcessorList.js","../../node_modules/@mcschema/java-1.19/lib/schemas/worldgen/Feature.js","../../node_modules/@mcschema/java-1.19/lib/schemas/worldgen/NoiseSettings.js","../../node_modules/@mcschema/java-1.19/lib/schemas/worldgen/Structure.js","../../node_modules/@mcschema/java-1.19/lib/schemas/worldgen/StructureSet.js","../../node_modules/@mcschema/java-1.19/lib/schemas/worldgen/SurfaceRule.js","../../node_modules/@mcschema/java-1.19/lib/schemas/worldgen/TemplatePool.js","../../node_modules/@mcschema/java-1.19/lib/schemas/worldgen/WorldPreset.js","../../node_modules/@mcschema/java-1.19/lib/schemas/worldgen/index.js","../../node_modules/@mcschema/java-1.19/lib/schemas/WorldSettings.js","../../node_modules/@mcschema/java-1.19/lib/schemas/index.js","../../node_modules/@mcschema/java-1.19/lib/index.js"],"sourcesContent":["\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initCollections = void 0;\r\nfunction initCollections(collections) {\r\n collections.register('advancement_trigger', [\r\n 'minecraft:allay_drop_item_on_block',\r\n 'minecraft:avoid_vibration',\r\n 'minecraft:bee_nest_destroyed',\r\n 'minecraft:bred_animals',\r\n 'minecraft:brewed_potion',\r\n 'minecraft:changed_dimension',\r\n 'minecraft:channeled_lightning',\r\n 'minecraft:construct_beacon',\r\n 'minecraft:consume_item',\r\n 'minecraft:cured_zombie_villager',\r\n 'minecraft:effects_changed',\r\n 'minecraft:enchanted_item',\r\n 'minecraft:enter_block',\r\n 'minecraft:entity_hurt_player',\r\n 'minecraft:entity_killed_player',\r\n 'minecraft:fall_from_height',\r\n 'minecraft:filled_bucket',\r\n 'minecraft:fishing_rod_hooked',\r\n 'minecraft:hero_of_the_village',\r\n 'minecraft:impossible',\r\n 'minecraft:inventory_changed',\r\n 'minecraft:item_durability_changed',\r\n 'minecraft:item_used_on_block',\r\n 'minecraft:kill_mob_near_sculk_catalyst',\r\n 'minecraft:killed_by_crossbow',\r\n 'minecraft:levitation',\r\n 'minecraft:lightning_strike',\r\n 'minecraft:location',\r\n 'minecraft:nether_travel',\r\n 'minecraft:placed_block',\r\n 'minecraft:player_generates_container_loot',\r\n 'minecraft:player_hurt_entity',\r\n 'minecraft:player_interacted_with_entity',\r\n 'minecraft:player_killed_entity',\r\n 'minecraft:recipe_unlocked',\r\n 'minecraft:ride_entity_in_lava',\r\n 'minecraft:shot_crossbow',\r\n 'minecraft:slept_in_bed',\r\n 'minecraft:slide_down_block',\r\n 'minecraft:started_riding',\r\n 'minecraft:summoned_entity',\r\n 'minecraft:tame_animal',\r\n 'minecraft:target_hit',\r\n 'minecraft:tick',\r\n 'minecraft:thrown_item_picked_up_by_entity',\r\n 'minecraft:thrown_item_picked_up_by_player',\r\n 'minecraft:used_ender_eye',\r\n 'minecraft:used_totem',\r\n 'minecraft:using_item',\r\n 'minecraft:villager_trade',\r\n 'minecraft:voluntary_exile'\r\n ]);\r\n collections.register('keybind', [\r\n 'key.advancements',\r\n 'key.attack',\r\n 'key.back',\r\n 'key.chat',\r\n 'key.command',\r\n 'key.drop',\r\n 'key.forward',\r\n 'key.fullscreen',\r\n 'key.hotbar.1',\r\n 'key.hotbar.2',\r\n 'key.hotbar.3',\r\n 'key.hotbar.4',\r\n 'key.hotbar.5',\r\n 'key.hotbar.6',\r\n 'key.hotbar.7',\r\n 'key.hotbar.8',\r\n 'key.hotbar.9',\r\n 'key.inventory',\r\n 'key.jump',\r\n 'key.left',\r\n 'key.loadToolbarActivator',\r\n 'key.pickItem',\r\n 'key.playerlist',\r\n 'key.right',\r\n 'key.saveToolbarActivator',\r\n 'key.screenshot',\r\n 'key.smoothCamera',\r\n 'key.sneak',\r\n 'key.spectatorOutlines',\r\n 'key.sprint',\r\n 'key.swapOffhand',\r\n 'key.togglePerspective',\r\n 'key.use'\r\n ]);\r\n collections.register('slot', [\r\n 'mainhand',\r\n 'offhand',\r\n 'head',\r\n 'chest',\r\n 'legs',\r\n 'feet'\r\n ]);\r\n collections.register('gamemode', [\r\n 'survival',\r\n 'creative',\r\n 'adventure',\r\n 'spectator'\r\n ]);\r\n collections.register('entity_source', [\r\n 'this',\r\n 'killer',\r\n 'direct_killer',\r\n 'killer_player'\r\n ]);\r\n collections.register('copy_source', [\r\n 'block_entity',\r\n 'this',\r\n 'killer',\r\n 'killer_player'\r\n ]);\r\n collections.register('loot_table_apply_bonus_formula', [\r\n 'minecraft:uniform_bonus_count',\r\n 'minecraft:binomial_with_bonus_count',\r\n 'minecraft:ore_drops'\r\n ]);\r\n collections.register('map_decoration', [\r\n 'mansion',\r\n 'monument',\r\n 'player',\r\n 'frame',\r\n 'red_marker',\r\n 'blue_marker',\r\n 'target_x',\r\n 'target_point',\r\n 'player_off_map',\r\n 'player_off_limits',\r\n 'red_x',\r\n 'banner_white',\r\n 'banner_orange',\r\n 'banner_magenta',\r\n 'banner_light_blue',\r\n 'banner_yellow',\r\n 'banner_lime',\r\n 'banner_pink',\r\n 'banner_gray',\r\n 'banner_light_gray',\r\n 'banner_cyan',\r\n 'banner_purple',\r\n 'banner_blue',\r\n 'banner_brown',\r\n 'banner_green',\r\n 'banner_red',\r\n 'banner_black'\r\n ]);\r\n collections.register('map_feature', [\r\n 'bastion_remnant',\r\n 'buried_treasure',\r\n 'desert_pyramid',\r\n 'endcity',\r\n 'fortress',\r\n 'igloo',\r\n 'jungle_pyramid',\r\n 'mansion',\r\n 'mineshaft',\r\n 'monument',\r\n 'nether_fossil',\r\n 'ocean_ruin',\r\n 'pillager_outpost',\r\n 'ruined_portal',\r\n 'shipwreck',\r\n 'stronghold',\r\n 'swamp_hut',\r\n 'village'\r\n ]);\r\n collections.register('recipe_group', [\r\n 'bed',\r\n 'light_gray_dye',\r\n 'iron_ingot',\r\n 'wooden_stairs',\r\n 'black_dye',\r\n 'stained_terracotta',\r\n 'dyed_bed',\r\n 'magenta_dye',\r\n 'bark',\r\n 'rabbit_stew',\r\n 'light_blue_dye',\r\n 'wooden_fence_gate',\r\n 'planks',\r\n 'stained_glass',\r\n 'wooden_door',\r\n 'stained_glass_pane',\r\n 'wooden_fence',\r\n 'sticks',\r\n 'concrete_powder',\r\n 'wooden_pressure_plate',\r\n 'boat',\r\n 'brown_dye',\r\n 'yellow_dye',\r\n 'bonemeal',\r\n 'red_dye',\r\n 'wooden_trapdoor',\r\n 'wooden_button',\r\n 'gold_ingot',\r\n 'pink_dye',\r\n 'wooden_slab',\r\n 'orange_dye',\r\n 'carpet',\r\n 'sign',\r\n 'wool',\r\n 'sugar',\r\n 'blue_dye',\r\n 'white_dye',\r\n 'banner',\r\n 'netherite_ingot'\r\n ]);\r\n collections.register('biome_category', [\r\n 'beach',\r\n 'desert',\r\n 'extreme_hills',\r\n 'forest',\r\n 'icy',\r\n 'jungle',\r\n 'mesa',\r\n 'mountain',\r\n 'mushroom',\r\n 'nether',\r\n 'none',\r\n 'ocean',\r\n 'plains',\r\n 'river',\r\n 'savanna',\r\n 'swamp',\r\n 'taiga',\r\n 'the_end',\r\n 'underground'\r\n ]);\r\n collections.register('heightmap_type', [\r\n 'MOTION_BLOCKING',\r\n 'MOTION_BLOCKING_NO_LEAVES',\r\n 'OCEAN_FLOOR',\r\n 'OCEAN_FLOOR_WG',\r\n 'WORLD_SURFACE',\r\n 'WORLD_SURFACE_WG'\r\n ]);\r\n collections.register('generation_step', [\r\n 'air',\r\n 'liquid'\r\n ]);\r\n collections.register('decoration_step', [\r\n 'raw_generation',\r\n 'lakes',\r\n 'local_modifications',\r\n 'underground_structures',\r\n 'surface_structures',\r\n 'strongholds',\r\n 'underground_ores',\r\n 'underground_decoration',\r\n 'fluid_springs',\r\n 'vegetal_decoration',\r\n 'top_layer_modification'\r\n ]);\r\n collections.register('loot_context_type', [\r\n 'minecraft:empty',\r\n 'minecraft:chest',\r\n 'minecraft:command',\r\n 'minecraft:selector',\r\n 'minecraft:fishing',\r\n 'minecraft:entity',\r\n 'minecraft:gift',\r\n 'minecraft:barter',\r\n 'minecraft:advancement_reward',\r\n 'minecraft:advancement_entity',\r\n 'minecraft:generic',\r\n 'minecraft:block'\r\n ]);\r\n collections.register('banner_pattern', [\r\n 'base',\r\n 'square_bottom_left',\r\n 'square_bottom_right',\r\n 'square_top_left',\r\n 'square_top_right',\r\n 'stripe_bottom',\r\n 'stripe_top',\r\n 'stripe_left',\r\n 'stripe_right',\r\n 'stripe_center',\r\n 'stripe_middle',\r\n 'stripe_downright',\r\n 'stripe_downleft',\r\n 'small_stripes',\r\n 'cross',\r\n 'straight_cross',\r\n 'triangle_bottom',\r\n 'triangle_top',\r\n 'triangles_bottom',\r\n 'triangles_top',\r\n 'diagonal_left',\r\n 'diagonal_up_right',\r\n 'diagonal_up_left',\r\n 'diagonal_right',\r\n 'circle',\r\n 'rhombus',\r\n 'half_vertical',\r\n 'half_horizontal',\r\n 'half_vertical_right',\r\n 'half_horizontal_bottom',\r\n 'border',\r\n 'curly_border',\r\n 'gradient',\r\n 'gradient_up',\r\n 'bricks',\r\n 'globe',\r\n 'creeper',\r\n 'skull',\r\n 'flower',\r\n 'mojang',\r\n 'piglin'\r\n ]);\r\n collections.register('dye_color', [\r\n 'white',\r\n 'orange',\r\n 'magenta',\r\n 'light_blue',\r\n 'yellow',\r\n 'lime',\r\n 'pink',\r\n 'gray',\r\n 'light_gray',\r\n 'cyan',\r\n 'purple',\r\n 'blue',\r\n 'brown',\r\n 'green',\r\n 'red',\r\n 'black'\r\n ]);\r\n collections.register('cave_surface', [\r\n 'floor',\r\n 'ceiling'\r\n ]);\r\n collections.register('direction', [\r\n 'down',\r\n 'up',\r\n 'north',\r\n 'east',\r\n 'south',\r\n 'west'\r\n ]);\r\n collections.register('axis', [\r\n 'x',\r\n 'y',\r\n 'z'\r\n ]);\r\n collections.register('display_position', [\r\n 'firstperson_righthand',\r\n 'firstperson_lefthand',\r\n 'thirdperson_righthand',\r\n 'thirdperson_lefthand',\r\n 'gui',\r\n 'head',\r\n 'ground',\r\n 'fixed'\r\n ]);\r\n collections.register('gui_light', [\r\n 'front',\r\n 'side'\r\n ]);\r\n collections.register('item_model_predicates', [\r\n 'angle',\r\n 'blocking',\r\n 'broken',\r\n 'cast',\r\n 'charged',\r\n 'cooldown',\r\n 'custom_model_data',\r\n 'damage',\r\n 'damaged',\r\n 'firework',\r\n 'lefthanded',\r\n 'pull',\r\n 'pulling',\r\n 'throwing',\r\n 'time'\r\n ]);\r\n collections.register('mob_category', [\r\n 'monster',\r\n 'creature',\r\n 'ambient',\r\n 'axolotls',\r\n 'underground_water_creature',\r\n 'water_creature',\r\n 'water_ambient',\r\n 'misc',\r\n ]);\r\n}\r\nexports.initCollections = initCollections;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initAdvancementSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initAdvancementSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const EntityPredicate = (0, core_1.ChoiceNode)([\r\n {\r\n type: 'object',\r\n node: (0, core_1.Opt)(Reference('entity_predicate')),\r\n change: v => { var _a, _b; return (_b = (_a = v[0]) === null || _a === void 0 ? void 0 : _a.predicate) !== null && _b !== void 0 ? _b : ({}); }\r\n },\r\n {\r\n type: 'list',\r\n node: (0, core_1.ListNode)(Reference('condition')),\r\n change: v => [{\r\n condition: 'minecraft:entity_properties',\r\n predicate: v\r\n }]\r\n }\r\n ], { context: 'conditions' });\r\n schemas.register('advancement', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n display: (0, core_1.Opt)((0, core_1.Mod)((0, core_1.ObjectNode)({\r\n icon: (0, core_1.ObjectNode)({\r\n item: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n nbt: (0, core_1.Opt)(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:item', id: ['pop', { push: 'item' }] } } }))\r\n }),\r\n title: Reference('text_component'),\r\n description: Reference('text_component'),\r\n background: (0, core_1.Opt)(StringNode()),\r\n frame: (0, core_1.Opt)(StringNode({ enum: ['task', 'challenge', 'goal'] })),\r\n show_toast: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n announce_to_chat: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n hidden: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n }), {\r\n default: () => ({\r\n icon: {\r\n item: 'minecraft:stone'\r\n },\r\n title: '',\r\n description: ''\r\n })\r\n })),\r\n parent: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$advancement' } })),\r\n criteria: (0, core_1.MapNode)(StringNode(), Reference('advancement_criteria')),\r\n requirements: (0, core_1.Opt)((0, core_1.ListNode)((0, core_1.ListNode)(StringNode() // TODO: add validation\r\n ))),\r\n rewards: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n function: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$function' } })),\r\n loot: (0, core_1.Opt)((0, core_1.ListNode)(StringNode({ validator: 'resource', params: { pool: '$loot_table' } }))),\r\n recipes: (0, core_1.Opt)((0, core_1.ListNode)(StringNode({ validator: 'resource', params: { pool: '$recipe' } }))),\r\n experience: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true }))\r\n })),\r\n }, { context: 'advancement' }), {\r\n default: () => ({\r\n criteria: {\r\n requirement: {\r\n trigger: 'minecraft:location'\r\n }\r\n }\r\n })\r\n }));\r\n schemas.register('advancement_criteria', (0, core_1.ObjectNode)({\r\n trigger: StringNode({ validator: 'resource', params: { pool: collections.get('advancement_trigger') } }),\r\n conditions: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n player: (0, core_1.Mod)(EntityPredicate, {\r\n enabled: path => path.pop().push('trigger').get() !== 'minecraft:impossible'\r\n }),\r\n [core_1.Switch]: ['pop', { push: 'trigger' }],\r\n [core_1.Case]: {\r\n 'minecraft:allay_drop_item_on_block': {\r\n item: (0, core_1.Opt)(Reference('item_predicate')),\r\n location: (0, core_1.Opt)(Reference('location_predicate'))\r\n },\r\n 'minecraft:bee_nest_destroyed': {\r\n block: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: 'block' } })),\r\n num_bees_inside: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n item: (0, core_1.Opt)(Reference('item_predicate'))\r\n },\r\n 'minecraft:bred_animals': {\r\n parent: EntityPredicate,\r\n partner: EntityPredicate,\r\n child: EntityPredicate\r\n },\r\n 'minecraft:brewed_potion': {\r\n potion: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: 'potion' } }))\r\n },\r\n 'minecraft:changed_dimension': {\r\n from: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$dimension' } })),\r\n to: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$dimension' } }))\r\n },\r\n 'minecraft:channeled_lightning': {\r\n victims: (0, core_1.Opt)((0, core_1.ListNode)(EntityPredicate))\r\n },\r\n 'minecraft:construct_beacon': {\r\n level: Reference('int_bounds')\r\n },\r\n 'minecraft:consume_item': {\r\n item: (0, core_1.Opt)(Reference('item_predicate'))\r\n },\r\n 'minecraft:cured_zombie_villager': {\r\n villager: EntityPredicate,\r\n zombie: EntityPredicate\r\n },\r\n 'minecraft:effects_changed': {\r\n effects: (0, core_1.Opt)((0, core_1.MapNode)(StringNode({ validator: 'resource', params: { pool: 'mob_effect' } }), (0, core_1.ObjectNode)({\r\n amplifier: Reference('int_bounds'),\r\n duration: Reference('int_bounds')\r\n }))),\r\n source: (0, core_1.Opt)(EntityPredicate)\r\n },\r\n 'minecraft:enter_block': {\r\n block: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: 'block' } })),\r\n state: (0, core_1.Opt)((0, core_1.MapNode)(StringNode(), StringNode(), { validation: { validator: 'block_state_map', params: { id: ['pop', { push: 'block' }] } } }))\r\n },\r\n 'minecraft:enchanted_item': {\r\n levels: Reference('int_bounds'),\r\n item: (0, core_1.Opt)(Reference('item_predicate'))\r\n },\r\n 'minecraft:entity_hurt_player': {\r\n damage: (0, core_1.Opt)(Reference('damage_predicate'))\r\n },\r\n 'minecraft:entity_killed_player': {\r\n entity: EntityPredicate,\r\n killing_blow: (0, core_1.Opt)(Reference('damage_source_predicate'))\r\n },\r\n 'minecraft:fall_from_height': {\r\n start_position: (0, core_1.Opt)(Reference('location_predicate')),\r\n distance: (0, core_1.Opt)(Reference('distance_predicate'))\r\n },\r\n 'minecraft:filled_bucket': {\r\n item: (0, core_1.Opt)(Reference('item_predicate'))\r\n },\r\n 'minecraft:fishing_rod_hooked': {\r\n entity: EntityPredicate,\r\n item: (0, core_1.Opt)(Reference('item_predicate'))\r\n },\r\n 'minecraft:inventory_changed': {\r\n slots: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n empty: Reference('int_bounds'),\r\n occupied: Reference('int_bounds'),\r\n full: Reference('int_bounds')\r\n })),\r\n items: (0, core_1.Opt)((0, core_1.ListNode)(Reference('item_predicate')))\r\n },\r\n 'minecraft:item_durability_changed': {\r\n delta: Reference('int_bounds'),\r\n durability: Reference('int_bounds'),\r\n item: (0, core_1.Opt)(Reference('item_predicate'))\r\n },\r\n 'minecraft:item_used_on_block': {\r\n item: (0, core_1.Opt)(Reference('item_predicate')),\r\n location: (0, core_1.Opt)(Reference('location_predicate'))\r\n },\r\n 'minecraft:kill_mob_near_sculk_catalyst': {\r\n entity: EntityPredicate,\r\n killing_blow: (0, core_1.Opt)(Reference('damage_source_predicate'))\r\n },\r\n 'minecraft:killed_by_crossbow': {\r\n unique_entity_types: Reference('int_bounds'),\r\n victims: (0, core_1.Opt)((0, core_1.ListNode)(EntityPredicate))\r\n },\r\n 'minecraft:levitation': {\r\n distance: (0, core_1.Opt)(Reference('distance_predicate')),\r\n duration: Reference('int_bounds')\r\n },\r\n 'minecraft:lightning_strike': {\r\n lightning: EntityPredicate,\r\n bystander: EntityPredicate,\r\n },\r\n 'minecraft:nether_travel': {\r\n start_position: (0, core_1.Opt)(Reference('location_predicate')),\r\n distance: (0, core_1.Opt)(Reference('distance_predicate')),\r\n },\r\n 'minecraft:placed_block': {\r\n block: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: 'block' } })),\r\n state: (0, core_1.Opt)((0, core_1.MapNode)(StringNode(), StringNode(), { validation: { validator: 'block_state_map', params: { id: ['pop', { push: 'block' }] } } })),\r\n item: (0, core_1.Opt)(Reference('item_predicate')),\r\n location: (0, core_1.Opt)(Reference('location_predicate'))\r\n },\r\n 'minecraft:player_generates_container_loot': {\r\n loot_table: StringNode({ validator: 'resource', params: { pool: '$loot_table' } })\r\n },\r\n 'minecraft:player_hurt_entity': {\r\n damage: (0, core_1.Opt)(Reference('damage_predicate')),\r\n entity: EntityPredicate\r\n },\r\n 'minecraft:player_interacted_with_entity': {\r\n item: (0, core_1.Opt)(Reference('item_predicate')),\r\n entity: EntityPredicate\r\n },\r\n 'minecraft:player_killed_entity': {\r\n entity: EntityPredicate,\r\n killing_blow: (0, core_1.Opt)(Reference('damage_source_predicate'))\r\n },\r\n 'minecraft:recipe_unlocked': {\r\n recipe: StringNode({ validator: 'resource', params: { pool: '$recipe' } })\r\n },\r\n 'minecraft:ride_entity_in_lava': {\r\n start_position: (0, core_1.Opt)(Reference('location_predicate')),\r\n distance: (0, core_1.Opt)(Reference('distance_predicate'))\r\n },\r\n 'minecraft:slide_down_block': {\r\n block: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: 'block' } }))\r\n },\r\n 'minecraft:shot_crossbow': {\r\n item: (0, core_1.Opt)(Reference('item_predicate'))\r\n },\r\n 'minecraft:summoned_entity': {\r\n entity: EntityPredicate\r\n },\r\n 'minecraft:tame_animal': {\r\n entity: EntityPredicate\r\n },\r\n 'minecraft:target_hit': {\r\n projectile: EntityPredicate,\r\n shooter: EntityPredicate,\r\n signal_strength: Reference('int_bounds')\r\n },\r\n 'minecraft:thrown_item_picked_up_by_entity': {\r\n entity: EntityPredicate,\r\n item: (0, core_1.Opt)(Reference('item_predicate'))\r\n },\r\n 'minecraft:thrown_item_picked_up_by_player': {\r\n entity: EntityPredicate,\r\n item: (0, core_1.Opt)(Reference('item_predicate'))\r\n },\r\n 'minecraft:used_ender_eye': {\r\n distance: (0, core_1.Opt)(Reference('float_bounds'))\r\n },\r\n 'minecraft:used_totem': {\r\n item: (0, core_1.Opt)(Reference('item_predicate'))\r\n },\r\n 'minecraft:using_item': {\r\n item: (0, core_1.Opt)(Reference('item_predicate'))\r\n },\r\n 'minecraft:villager_trade': {\r\n villager: EntityPredicate,\r\n item: (0, core_1.Opt)(Reference('item_predicate'))\r\n },\r\n }\r\n }, { context: 'criterion' }))\r\n }, { category: 'predicate', context: 'criterion' }));\r\n}\r\nexports.initAdvancementSchemas = initAdvancementSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initModelSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initModelSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const Vec = (length, min, max) => (0, core_1.ListNode)((0, core_1.NumberNode)({ min, max }), { minLength: length, maxLength: length });\r\n const Texture = (0, core_1.ChoiceNode)([\r\n {\r\n type: 'alias',\r\n match: (v) => typeof v === 'string' && v.startsWith('#'),\r\n node: StringNode(),\r\n change: (v) => typeof v === 'string' ? `#${v}` : \"#0\"\r\n },\r\n {\r\n type: 'reference',\r\n match: (v) => typeof v === 'string',\r\n node: StringNode({ validator: 'resource', params: { pool: '$texture' } }),\r\n change: (v) => typeof v === 'string' ? v.replace(/^#/, '') : \"\"\r\n }\r\n ], { choiceContext: 'texture' });\r\n schemas.register('model', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n parent: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$model' } })),\r\n ambientocclusion: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n gui_light: (0, core_1.Opt)(StringNode({ enum: 'gui_light' })),\r\n textures: (0, core_1.Opt)((0, core_1.MapNode)(StringNode(), Texture)),\r\n elements: (0, core_1.Opt)((0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n from: Vec(3, -16, 32),\r\n to: Vec(3, -16, 32),\r\n rotation: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n origin: Vec(3),\r\n axis: StringNode({ enum: 'axis' }),\r\n angle: (0, core_1.NumberEnum)({ values: [-45, -22.5, 0, 22.5, 45] }),\r\n rescale: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n })),\r\n shade: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n faces: (0, core_1.MapNode)(StringNode({ enum: 'direction' }), (0, core_1.ObjectNode)({\r\n texture: Texture,\r\n uv: (0, core_1.Opt)(Vec(4)),\r\n cullface: (0, core_1.Opt)(StringNode({ enum: 'direction' })),\r\n rotation: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n tintindex: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true }))\r\n }))\r\n }, { context: 'model_element' }))),\r\n display: (0, core_1.Opt)((0, core_1.MapNode)(StringNode({ enum: 'display_position' }), (0, core_1.ObjectNode)({\r\n rotation: Vec(3),\r\n translation: Vec(3, -80, 80),\r\n scale: Vec(3, -4, 4)\r\n }, { context: 'item_transform' }))),\r\n overrides: (0, core_1.Opt)((0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n predicate: (0, core_1.MapNode)(StringNode({ enum: 'item_model_predicates' }), (0, core_1.NumberNode)()),\r\n model: StringNode({ validator: 'resource', params: { pool: '$model' } })\r\n }, { context: 'model_override' })))\r\n }, { context: 'model' }), {\r\n default: () => ({\r\n parent: 'minecraft:item/generated',\r\n textures: {\r\n layer0: 'minecraft:item/diamond'\r\n }\r\n })\r\n }));\r\n}\r\nexports.initModelSchemas = initModelSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initBlockDefinitionSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initBlockDefinitionSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('block_definition', (0, core_1.Mod)((0, core_1.ChoiceNode)([\r\n {\r\n type: 'variants',\r\n match: (v) => v.variants !== undefined,\r\n node: (0, core_1.ObjectNode)({\r\n variants: (0, core_1.MapNode)(StringNode(), Reference('model_variant'))\r\n }),\r\n change: (v) => ({ variants: { \"\": {} } })\r\n },\r\n {\r\n type: 'multipart',\r\n match: (v) => v.multipart !== undefined,\r\n node: (0, core_1.ObjectNode)({\r\n multipart: (0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n when: (0, core_1.Opt)(Reference('multipart_condition')),\r\n apply: Reference('model_variant'),\r\n }))\r\n }),\r\n change: (v) => ({ multipart: { when: {}, apply: {} } })\r\n }\r\n ], { context: 'block_definition' }), {\r\n default: () => ({\r\n variants: {\r\n \"\": {\r\n model: 'minecraft:block/stone'\r\n }\r\n }\r\n })\r\n }));\r\n const VariantChildren = {\r\n model: StringNode({ validator: 'resource', params: { pool: '$model' } }),\r\n x: (0, core_1.Opt)((0, core_1.NumberEnum)({ integer: true, values: [0, 90, 180, 270] })),\r\n y: (0, core_1.Opt)((0, core_1.NumberEnum)({ integer: true, values: [0, 90, 180, 270] })),\r\n uvlock: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n };\r\n schemas.register('model_variant', (0, core_1.ChoiceNode)([\r\n {\r\n type: 'object',\r\n node: (0, core_1.ObjectNode)(VariantChildren),\r\n change: (v) => Array.isArray(v) && v.length > 0 ? v[0] : ({})\r\n },\r\n {\r\n type: 'list',\r\n node: (0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n ...VariantChildren,\r\n weight: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 1 }))\r\n }, { context: 'model_variant' })),\r\n change: (v) => [{ weight: 1, ...v }]\r\n }\r\n ], { context: 'model_variant' }));\r\n schemas.register('multipart_condition', (0, core_1.ChoiceNode)([\r\n {\r\n type: 'object',\r\n priority: -1,\r\n match: () => true,\r\n node: (0, core_1.MapNode)(StringNode(), StringNode()),\r\n change: (v) => typeof v === 'object' && Array.isArray(v === null || v === void 0 ? void 0 : v.OR) && v.OR.length > 0 ? v.OR[0] : ({})\r\n },\r\n {\r\n type: 'or',\r\n match: (v) => typeof v === 'object' && (v === null || v === void 0 ? void 0 : v.OR) !== undefined,\r\n node: (0, core_1.ObjectNode)({\r\n OR: (0, core_1.ListNode)(Reference('multipart_condition'))\r\n }),\r\n change: (v) => ({ OR: [v !== null && v !== void 0 ? v : {}] })\r\n }\r\n ], { context: 'multipart_condition' }));\r\n}\r\nexports.initBlockDefinitionSchemas = initBlockDefinitionSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initAssetsSchemas = void 0;\r\nconst Model_1 = require(\"./Model\");\r\nconst BlockDefinition_1 = require(\"./BlockDefinition\");\r\nfunction initAssetsSchemas(schemas, collections) {\r\n (0, BlockDefinition_1.initBlockDefinitionSchemas)(schemas, collections);\r\n (0, Model_1.initModelSchemas)(schemas, collections);\r\n}\r\nexports.initAssetsSchemas = initAssetsSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initChatTypeSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initChatTypeSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('chat_type', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n chat: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n decoration: (0, core_1.Opt)(Reference('text_decoration')),\r\n })),\r\n overlay: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n decoration: (0, core_1.Opt)(Reference('text_decoration')),\r\n })),\r\n narration: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n decoration: (0, core_1.Opt)(Reference('text_decoration')),\r\n priority: StringNode({ enum: ['chat', 'system'] }),\r\n })),\r\n }, { context: 'chat_type' }), {\r\n default: () => ({\r\n chat: {\r\n decoration: {\r\n parameters: ['sender', 'content'],\r\n translation_key: 'chat.type.text',\r\n style: {},\r\n }\r\n }\r\n })\r\n }));\r\n schemas.register('text_decoration', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n translation_key: StringNode(),\r\n parameters: (0, core_1.ListNode)(StringNode({ enum: ['sender', 'team_name', 'content'] })),\r\n style: Reference('text_style')\r\n }, { context: 'text_decoration' }), {\r\n default: () => ({\r\n translation_key: 'chat.type.text',\r\n parameters: ['sender', 'content'],\r\n style: {},\r\n })\r\n }));\r\n}\r\nexports.initChatTypeSchemas = initChatTypeSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initCommonSchemas = exports.Tag = exports.InclusiveRange = exports.IntProvider = exports.FloatProvider = exports.NoiseSettingsPresets = exports.DefaultNoiseSettings = exports.DimensionTypePresets = exports.DefaultDimensionType = exports.FunctionCases = exports.ConditionCases = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nexports.DefaultDimensionType = {\r\n ultrawarm: false,\r\n natural: true,\r\n piglin_safe: false,\r\n respawn_anchor_works: false,\r\n bed_works: true,\r\n has_raids: true,\r\n has_skylight: true,\r\n has_ceiling: false,\r\n coordinate_scale: 1,\r\n ambient_light: 0,\r\n logical_height: 256,\r\n infiniburn: '#minecraft:infiniburn_overworld',\r\n min_y: 0,\r\n height: 256,\r\n};\r\nexports.DefaultNoiseSettings = {\r\n sea_level: 63,\r\n ore_veins_enabled: true,\r\n disable_mob_generation: false,\r\n aquifers_enabled: true,\r\n legacy_random_source: false,\r\n default_block: {\r\n Name: 'minecraft:stone'\r\n },\r\n default_fluid: {\r\n Properties: {\r\n level: '0'\r\n },\r\n Name: 'minecraft:water'\r\n },\r\n noise: {\r\n min_y: -64,\r\n height: 384,\r\n size_horizontal: 1,\r\n size_vertical: 2,\r\n top_slide: {\r\n target: -0.078125,\r\n size: 2,\r\n offset: 8\r\n },\r\n bottom_slide: {\r\n target: 0.1171875,\r\n size: 3,\r\n offset: 0\r\n },\r\n sampling: {\r\n xz_scale: 0.9999999814507745,\r\n y_scale: 0.9999999814507745,\r\n xz_factor: 80,\r\n y_factor: 160\r\n },\r\n terrain_shaper: {\r\n offset: 0,\r\n factor: 0,\r\n jaggedness: 0\r\n }\r\n },\r\n noise_router: {\r\n barrier: 0,\r\n fluid_level_floodedness: 0,\r\n fluid_level_spread: 0,\r\n lava: 0,\r\n temperature: 0,\r\n vegetation: 0,\r\n continents: 0,\r\n erosion: 0,\r\n depth: 0,\r\n ridges: 0,\r\n initial_density_without_jaggedness: 0,\r\n final_density: {\r\n type: 'minecraft:interpolated',\r\n argument: 'minecraft:overworld/base_3d_noise'\r\n },\r\n vein_toggle: 0,\r\n vein_ridged: 0,\r\n vein_gap: 0,\r\n },\r\n surface_rule: {\r\n type: 'minecraft:sequence',\r\n sequence: []\r\n }\r\n};\r\nfunction initCommonSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n schemas.register('block_state', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n Name: StringNode({ validator: 'resource', params: { pool: 'block' } }),\r\n Properties: (0, core_1.Opt)((0, core_1.MapNode)(StringNode(), StringNode(), { validation: { validator: 'block_state_map', params: { id: ['pop', { push: 'Name' }] } } }))\r\n }, { context: 'block_state' }), {\r\n default: () => ({\r\n Name: 'minecraft:stone'\r\n })\r\n }));\r\n schemas.register('fluid_state', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n Name: StringNode({ validator: 'resource', params: { pool: 'fluid' } }),\r\n Properties: (0, core_1.Opt)((0, core_1.MapNode)(StringNode(), StringNode()))\r\n }, { context: 'fluid_state' }), {\r\n default: () => ({\r\n Name: 'minecraft:water',\r\n Properties: {\r\n 'level': '0'\r\n }\r\n })\r\n }));\r\n schemas.register('block_pos', (0, core_1.Mod)((0, core_1.ListNode)((0, core_1.NumberNode)({ integer: true }), { minLength: 3, maxLength: 3 }), {\r\n default: () => [0, 0, 0]\r\n }));\r\n const Bounds = (integer) => (0, core_1.Opt)((0, core_1.ChoiceNode)([\r\n {\r\n type: 'number',\r\n node: (0, core_1.NumberNode)({ integer }),\r\n change: (v) => { var _a, _b; return v === undefined ? 0 : (_b = (_a = v.min) !== null && _a !== void 0 ? _a : v.max) !== null && _b !== void 0 ? _b : 0; }\r\n },\r\n {\r\n type: 'object',\r\n node: (0, core_1.ObjectNode)({\r\n min: (0, core_1.Opt)((0, core_1.NumberNode)({ integer })),\r\n max: (0, core_1.Opt)((0, core_1.NumberNode)({ integer }))\r\n }, { context: 'range' }),\r\n change: (v) => ({\r\n min: v !== null && v !== void 0 ? v : 0,\r\n max: v !== null && v !== void 0 ? v : 0\r\n })\r\n }\r\n ]));\r\n schemas.register('int_bounds', Bounds(true));\r\n schemas.register('float_bounds', Bounds());\r\n schemas.register('int_range', (0, core_1.ChoiceNode)([\r\n {\r\n type: 'object',\r\n node: (0, core_1.ObjectNode)({\r\n min: (0, core_1.Opt)(Reference('number_provider')),\r\n max: (0, core_1.Opt)(Reference('number_provider'))\r\n })\r\n },\r\n {\r\n type: 'number',\r\n node: (0, core_1.NumberNode)({ integer: true })\r\n }\r\n ], { context: 'range' }));\r\n const ObjectWithType = (pool, directType, directPath, directDefault, objectDefault, context, cases) => {\r\n let defaultCase = {};\r\n if (objectDefault) {\r\n Object.keys(cases[objectDefault]).forEach(k => {\r\n defaultCase[k] = (0, core_1.Mod)(cases[objectDefault][k], {\r\n enabled: path => path.push('type').get() === undefined\r\n });\r\n });\r\n }\r\n const provider = (0, core_1.ObjectNode)({\r\n type: (0, core_1.Mod)((0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool } })), {\r\n hidden: () => true\r\n }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: cases,\r\n ...defaultCase\r\n }, { context, disableSwitchContext: true });\r\n const choices = [{\r\n type: directType,\r\n node: cases[directDefault][directPath]\r\n }];\r\n if (objectDefault) {\r\n choices.push({\r\n type: 'object',\r\n priority: -1,\r\n node: provider\r\n });\r\n }\r\n Object.keys(cases).forEach(k => {\r\n choices.push({\r\n type: k,\r\n match: (v) => {\r\n var _a;\r\n const type = 'minecraft:' + ((_a = v === null || v === void 0 ? void 0 : v.type) === null || _a === void 0 ? void 0 : _a.replace(/^minecraft:/, ''));\r\n if (type === k)\r\n return true;\r\n const keys = v ? Object.keys(v) : [];\r\n return typeof v === 'object' && ((keys === null || keys === void 0 ? void 0 : keys.length) === 0 || ((keys === null || keys === void 0 ? void 0 : keys.length) === 1 && (keys === null || keys === void 0 ? void 0 : keys[0]) === 'type'));\r\n },\r\n node: provider,\r\n change: (v) => ({ type: k })\r\n });\r\n });\r\n return (0, core_1.ChoiceNode)(choices, { context, choiceContext: `${context}.type` });\r\n };\r\n schemas.register('number_provider', ObjectWithType('loot_number_provider_type', 'number', 'value', 'minecraft:constant', 'minecraft:uniform', 'number_provider', {\r\n 'minecraft:constant': {\r\n value: (0, core_1.NumberNode)()\r\n },\r\n 'minecraft:uniform': {\r\n min: Reference('number_provider'),\r\n max: Reference('number_provider')\r\n },\r\n 'minecraft:binomial': {\r\n n: Reference('number_provider'),\r\n p: Reference('number_provider')\r\n },\r\n 'minecraft:score': {\r\n target: Reference('scoreboard_name_provider'),\r\n score: StringNode({ validator: 'objective' }),\r\n scale: (0, core_1.Opt)((0, core_1.NumberNode)())\r\n }\r\n }));\r\n schemas.register('scoreboard_name_provider', ObjectWithType('loot_score_provider_type', 'string', 'target', 'minecraft:context', null, 'score_provider', {\r\n 'minecraft:fixed': {\r\n name: StringNode({ validator: 'entity', params: { amount: 'multiple', type: 'entities', isScoreHolder: true } }) // FIXME: doesn't support selectors\r\n },\r\n 'minecraft:context': {\r\n target: (0, core_1.Mod)(StringNode({ enum: 'entity_source' }), { default: () => 'this' })\r\n }\r\n }));\r\n schemas.register('nbt_provider', ObjectWithType('loot_nbt_provider_type', 'string', 'target', 'minecraft:context', null, 'nbt_provider', {\r\n 'minecraft:storage': {\r\n source: StringNode({ validator: 'resource', params: { pool: '$storage' } })\r\n },\r\n 'minecraft:context': {\r\n target: (0, core_1.Mod)(StringNode({ enum: 'copy_source' }), { default: () => 'this' })\r\n }\r\n }));\r\n exports.FloatProvider = (config) => ObjectWithType('float_provider_type', 'number', 'value', 'minecraft:constant', null, 'float_provider', {\r\n 'minecraft:constant': {\r\n value: (0, core_1.NumberNode)(config)\r\n },\r\n 'minecraft:uniform': {\r\n value: (0, core_1.ObjectNode)({\r\n min_inclusive: (0, core_1.NumberNode)(config),\r\n max_exclusive: (0, core_1.NumberNode)(config)\r\n })\r\n },\r\n 'minecraft:clamped_normal': {\r\n value: (0, core_1.ObjectNode)({\r\n min: (0, core_1.NumberNode)(),\r\n max: (0, core_1.NumberNode)(),\r\n mean: (0, core_1.NumberNode)(),\r\n deviation: (0, core_1.NumberNode)()\r\n })\r\n },\r\n 'minecraft:trapezoid': {\r\n value: (0, core_1.ObjectNode)({\r\n min: (0, core_1.NumberNode)(),\r\n max: (0, core_1.NumberNode)(),\r\n plateau: (0, core_1.NumberNode)()\r\n })\r\n }\r\n });\r\n schemas.register('float_provider', (0, exports.FloatProvider)());\r\n exports.IntProvider = (config) => ObjectWithType('int_provider_type', 'number', 'value', 'minecraft:constant', null, 'int_provider', {\r\n 'minecraft:constant': {\r\n value: (0, core_1.NumberNode)({ integer: true, ...config })\r\n },\r\n 'minecraft:uniform': {\r\n value: (0, core_1.ObjectNode)({\r\n min_inclusive: (0, core_1.NumberNode)({ integer: true, ...config }),\r\n max_inclusive: (0, core_1.NumberNode)({ integer: true, ...config })\r\n })\r\n },\r\n 'minecraft:biased_to_bottom': {\r\n value: (0, core_1.ObjectNode)({\r\n min_inclusive: (0, core_1.NumberNode)({ integer: true, ...config }),\r\n max_inclusive: (0, core_1.NumberNode)({ integer: true, ...config })\r\n })\r\n },\r\n 'minecraft:clamped': {\r\n value: (0, core_1.ObjectNode)({\r\n min_inclusive: (0, core_1.NumberNode)({ integer: true, ...config }),\r\n max_inclusive: (0, core_1.NumberNode)({ integer: true, ...config }),\r\n source: Reference('int_provider')\r\n })\r\n },\r\n 'minecraft:clamped_normal': {\r\n value: (0, core_1.ObjectNode)({\r\n min_inclusive: (0, core_1.NumberNode)({ integer: true, ...config }),\r\n max_inclusive: (0, core_1.NumberNode)({ integer: true, ...config }),\r\n mean: (0, core_1.NumberNode)(),\r\n deviation: (0, core_1.NumberNode)()\r\n })\r\n },\r\n 'minecraft:weighted_list': {\r\n distribution: (0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n weight: (0, core_1.NumberNode)({ integer: true }),\r\n data: Reference('int_provider'),\r\n }))\r\n }\r\n });\r\n schemas.register('int_provider', (0, exports.IntProvider)());\r\n schemas.register('vertical_anchor', (0, core_1.ChoiceNode)(['absolute', 'above_bottom', 'below_top'].map(t => ({\r\n type: t,\r\n match: v => (v === null || v === void 0 ? void 0 : v[t]) !== undefined,\r\n change: v => { var _a, _b, _c; return ({ [t]: (_c = (_b = (_a = v.absolute) !== null && _a !== void 0 ? _a : v.above_bottom) !== null && _b !== void 0 ? _b : v.below_top) !== null && _c !== void 0 ? _c : 0 }); },\r\n node: (0, core_1.ObjectNode)({\r\n [t]: (0, core_1.NumberNode)({ integer: true, min: -2048, max: 2047 })\r\n })\r\n })), { context: 'vertical_anchor' }));\r\n schemas.register('height_provider', ObjectWithType('height_provider_type', 'number', 'value', 'minecraft:constant', null, 'height_provider', {\r\n 'minecraft:constant': {\r\n value: Reference('vertical_anchor')\r\n },\r\n 'minecraft:uniform': {\r\n min_inclusive: Reference('vertical_anchor'),\r\n max_inclusive: Reference('vertical_anchor')\r\n },\r\n 'minecraft:biased_to_bottom': {\r\n min_inclusive: Reference('vertical_anchor'),\r\n max_inclusive: Reference('vertical_anchor'),\r\n inner: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 1 }))\r\n },\r\n 'minecraft:very_biased_to_bottom': {\r\n min_inclusive: Reference('vertical_anchor'),\r\n max_inclusive: Reference('vertical_anchor'),\r\n inner: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 1 }))\r\n },\r\n 'minecraft:trapezoid': {\r\n min_inclusive: Reference('vertical_anchor'),\r\n max_inclusive: Reference('vertical_anchor'),\r\n plateau: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true }))\r\n },\r\n 'minecraft:weighted_list': {\r\n distribution: (0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n weight: (0, core_1.NumberNode)({ integer: true }),\r\n data: Reference('int_provider'),\r\n }))\r\n }\r\n }));\r\n exports.InclusiveRange = (config) => (0, core_1.ObjectNode)({\r\n min_inclusive: (0, core_1.NumberNode)(config),\r\n max_inclusive: (0, core_1.NumberNode)(config)\r\n }, { context: 'range' });\r\n schemas.register('noise_parameters', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n firstOctave: (0, core_1.NumberNode)({ integer: true }),\r\n amplitudes: (0, core_1.ListNode)((0, core_1.NumberNode)())\r\n }, { context: 'noise_parameters' }), {\r\n default: () => ({\r\n firstOctave: -7,\r\n amplitudes: [1, 1]\r\n })\r\n }));\r\n exports.Tag = (config) => (0, core_1.ChoiceNode)([\r\n {\r\n type: 'string',\r\n node: StringNode({ validator: 'resource', params: { pool: config.resource, allowTag: true } }),\r\n change: (v) => {\r\n if (Array.isArray(v) && typeof v[0] === 'string' && !v[0].startsWith('#')) {\r\n return v[0];\r\n }\r\n return undefined;\r\n }\r\n },\r\n {\r\n type: 'list',\r\n node: (0, core_1.ListNode)(config.inlineSchema\r\n ? (0, core_1.ChoiceNode)([\r\n {\r\n type: 'string',\r\n node: StringNode({ validator: 'resource', params: { pool: config.resource } })\r\n },\r\n {\r\n type: 'object',\r\n node: Reference(config.inlineSchema)\r\n }\r\n ], { choiceContext: 'tag.list' })\r\n : StringNode({ validator: 'resource', params: { pool: config.resource } })),\r\n change: (v) => {\r\n if (typeof v === 'string' && !v.startsWith('#')) {\r\n return [v];\r\n }\r\n return [];\r\n }\r\n },\r\n ], { choiceContext: 'tag' });\r\n exports.ConditionCases = (entitySourceNode = StringNode({ enum: 'entity_source' })) => ({\r\n 'minecraft:alternative': {\r\n terms: (0, core_1.ListNode)(Reference('condition'))\r\n },\r\n 'minecraft:block_state_property': {\r\n block: StringNode({ validator: 'resource', params: { pool: 'block' } }),\r\n properties: (0, core_1.MapNode)(StringNode(), StringNode(), { validation: { validator: 'block_state_map', params: { id: ['pop', { push: 'block' }] } } })\r\n },\r\n 'minecraft:damage_source_properties': {\r\n predicate: Reference('damage_source_predicate')\r\n },\r\n 'minecraft:entity_properties': {\r\n entity: entitySourceNode,\r\n predicate: Reference('entity_predicate')\r\n },\r\n 'minecraft:entity_scores': {\r\n entity: entitySourceNode,\r\n scores: (0, core_1.MapNode)(StringNode({ validator: 'objective' }), Reference('int_range'))\r\n },\r\n 'minecraft:inverted': {\r\n term: Reference('condition')\r\n },\r\n 'minecraft:killed_by_player': {\r\n inverse: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n },\r\n 'minecraft:location_check': {\r\n offsetX: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n offsetY: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n offsetZ: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n predicate: Reference('location_predicate')\r\n },\r\n 'minecraft:match_tool': {\r\n predicate: Reference('item_predicate')\r\n },\r\n 'minecraft:random_chance': {\r\n chance: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n },\r\n 'minecraft:random_chance_with_looting': {\r\n chance: (0, core_1.NumberNode)({ min: 0, max: 1 }),\r\n looting_multiplier: (0, core_1.NumberNode)()\r\n },\r\n 'minecraft:reference': {\r\n name: StringNode({ validator: 'resource', params: { pool: '$predicate' } })\r\n },\r\n 'minecraft:table_bonus': {\r\n enchantment: StringNode({ validator: 'resource', params: { pool: 'enchantment' } }),\r\n chances: (0, core_1.ListNode)((0, core_1.NumberNode)({ min: 0, max: 1 }))\r\n },\r\n 'minecraft:time_check': {\r\n value: Reference('int_range'),\r\n period: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true }))\r\n },\r\n 'minecraft:value_check': {\r\n value: Reference('number_provider'),\r\n range: Reference('int_range')\r\n },\r\n 'minecraft:weather_check': {\r\n raining: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n thundering: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n }\r\n });\r\n exports.FunctionCases = (conditions, copySourceNode = StringNode({ enum: 'copy_source' }), entitySourceNode = StringNode({ enum: 'entity_source' })) => {\r\n const cases = {\r\n 'minecraft:apply_bonus': {\r\n enchantment: StringNode({ validator: 'resource', params: { pool: 'enchantment' } }),\r\n formula: StringNode({ validator: 'resource', params: { pool: collections.get('loot_table_apply_bonus_formula') } }),\r\n parameters: (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n bonusMultiplier: (0, core_1.Mod)((0, core_1.NumberNode)(), {\r\n enabled: path => path.pop().push('formula').get() === 'minecraft:uniform_bonus_count'\r\n }),\r\n extra: (0, core_1.Mod)((0, core_1.NumberNode)(), {\r\n enabled: path => path.pop().push('formula').get() === 'minecraft:binomial_with_bonus_count'\r\n }),\r\n probability: (0, core_1.Mod)((0, core_1.NumberNode)(), {\r\n enabled: path => path.pop().push('formula').get() === 'minecraft:binomial_with_bonus_count'\r\n })\r\n }), {\r\n enabled: path => path.push('formula').get() !== 'minecraft:ore_drops'\r\n })\r\n },\r\n 'minecraft:copy_name': {\r\n source: copySourceNode\r\n },\r\n 'minecraft:copy_nbt': {\r\n source: Reference('nbt_provider'),\r\n ops: (0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n source: StringNode({ validator: 'nbt_path', params: { category: { getter: 'copy_source', path: ['pop', 'pop', 'pop', { push: 'source' }] } } }),\r\n target: StringNode({ validator: 'nbt_path', params: { category: 'minecraft:item' } }),\r\n op: StringNode({ enum: ['replace', 'append', 'merge'] })\r\n }, { context: 'nbt_operation' }))\r\n },\r\n 'minecraft:copy_state': {\r\n block: StringNode({ validator: 'resource', params: { pool: 'block' } }),\r\n properties: (0, core_1.ListNode)(StringNode({ validator: 'block_state_key', params: { id: ['pop', 'pop', { push: 'block' }] } }))\r\n },\r\n 'minecraft:enchant_randomly': {\r\n enchantments: (0, core_1.Opt)((0, core_1.ListNode)(StringNode({ validator: 'resource', params: { pool: 'enchantment' } })))\r\n },\r\n 'minecraft:enchant_with_levels': {\r\n levels: Reference('number_provider'),\r\n treasure: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n },\r\n 'minecraft:exploration_map': {\r\n destination: (0, core_1.Opt)((0, exports.Tag)({ resource: '$worldgen/structure' })),\r\n decoration: (0, core_1.Opt)(StringNode({ enum: 'map_decoration' })),\r\n zoom: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n search_radius: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n skip_existing_chunks: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n },\r\n 'minecraft:fill_player_head': {\r\n entity: entitySourceNode\r\n },\r\n 'minecraft:limit_count': {\r\n limit: Reference('int_range')\r\n },\r\n 'minecraft:looting_enchant': {\r\n count: Reference('number_provider'),\r\n limit: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true }))\r\n },\r\n 'minecraft:set_attributes': {\r\n modifiers: (0, core_1.ListNode)(Reference('attribute_modifier'))\r\n },\r\n 'minecraft:set_banner_pattern': {\r\n patterns: (0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n pattern: StringNode({ enum: 'banner_pattern' }),\r\n color: StringNode({ enum: 'dye_color' })\r\n })),\r\n append: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n },\r\n 'minecraft:set_contents': {\r\n type: StringNode({ validator: 'resource', params: { pool: 'block_entity_type' } }),\r\n entries: (0, core_1.ListNode)(Reference('loot_entry'))\r\n },\r\n 'minecraft:set_count': {\r\n count: Reference('number_provider'),\r\n add: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n },\r\n 'minecraft:set_damage': {\r\n damage: Reference('number_provider'),\r\n add: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n },\r\n 'minecraft:set_enchantments': {\r\n enchantments: (0, core_1.MapNode)(StringNode({ validator: 'resource', params: { pool: 'enchantment' } }), Reference('number_provider')),\r\n add: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n },\r\n 'minecraft:set_instrument': {\r\n options: StringNode({ validator: 'resource', params: { pool: 'instrument', requireTag: true } })\r\n },\r\n 'minecraft:set_loot_table': {\r\n type: StringNode({ validator: 'resource', params: { pool: 'block_entity_type' } }),\r\n name: StringNode({ validator: 'resource', params: { pool: '$loot_table' } }),\r\n seed: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true }))\r\n },\r\n 'minecraft:set_lore': {\r\n entity: (0, core_1.Opt)(entitySourceNode),\r\n lore: (0, core_1.ListNode)(Reference('text_component')),\r\n replace: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n },\r\n 'minecraft:set_name': {\r\n entity: (0, core_1.Opt)(entitySourceNode),\r\n name: (0, core_1.Opt)(Reference('text_component'))\r\n },\r\n 'minecraft:set_nbt': {\r\n tag: StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:item' } } })\r\n },\r\n 'minecraft:set_potion': {\r\n id: StringNode({ validator: 'resource', params: { pool: 'potion' } })\r\n },\r\n 'minecraft:set_stew_effect': {\r\n effects: (0, core_1.Opt)((0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'mob_effect' } }),\r\n duration: Reference('number_provider')\r\n })))\r\n }\r\n };\r\n const res = {};\r\n collections.get('loot_function_type').forEach(f => {\r\n res[f] = { ...cases[f], ...conditions };\r\n });\r\n return res;\r\n };\r\n exports.DimensionTypePresets = (node) => (0, core_1.ObjectOrPreset)(StringNode({ validator: 'resource', params: { pool: '$dimension_type' } }), node, {\r\n 'minecraft:overworld': exports.DefaultDimensionType,\r\n 'minecraft:the_nether': {\r\n name: 'minecraft:the_nether',\r\n ultrawarm: true,\r\n natural: false,\r\n shrunk: true,\r\n piglin_safe: true,\r\n respawn_anchor_works: true,\r\n bed_works: false,\r\n has_raids: false,\r\n has_skylight: false,\r\n has_ceiling: true,\r\n ambient_light: 0.1,\r\n fixed_time: 18000,\r\n logical_height: 128,\r\n effects: 'minecraft:the_nether',\r\n infiniburn: '#minecraft:infiniburn_nether',\r\n min_y: 0,\r\n height: 256,\r\n },\r\n 'minecraft:the_end': {\r\n name: 'minecraft:the_end',\r\n ultrawarm: false,\r\n natural: false,\r\n shrunk: false,\r\n piglin_safe: false,\r\n respawn_anchor_works: false,\r\n bed_works: false,\r\n has_raids: true,\r\n has_skylight: false,\r\n has_ceiling: false,\r\n ambient_light: 0,\r\n fixed_time: 6000,\r\n logical_height: 256,\r\n effects: 'minecraft:the_end',\r\n infiniburn: '#minecraft:infiniburn_end',\r\n min_y: 0,\r\n height: 256,\r\n }\r\n });\r\n exports.NoiseSettingsPresets = (node) => (0, core_1.ObjectOrPreset)(StringNode({ validator: 'resource', params: { pool: '$worldgen/noise_settings' } }), node, {\r\n 'minecraft:overworld': exports.DefaultNoiseSettings,\r\n 'minecraft:nether': {\r\n sea_level: 32,\r\n ore_veins_enabled: false,\r\n disable_mob_generation: false,\r\n aquifers_enabled: false,\r\n legacy_random_source: true,\r\n default_block: {\r\n Name: 'minecraft:netherrack'\r\n },\r\n default_fluid: {\r\n Properties: {\r\n level: '0'\r\n },\r\n Name: 'minecraft:lava'\r\n },\r\n noise: {\r\n min_y: 0,\r\n height: 128,\r\n size_horizontal: 1,\r\n size_vertical: 2,\r\n top_slide: {\r\n target: 0.9375,\r\n size: 3,\r\n offset: 0\r\n },\r\n bottom_slide: {\r\n target: 2.5,\r\n size: 4,\r\n offset: -1\r\n },\r\n sampling: {\r\n xz_scale: 1.0,\r\n y_scale: 3.0,\r\n xz_factor: 80.0,\r\n y_factor: 60.0\r\n },\r\n terrain_shaper: {\r\n offset: 0,\r\n factor: 0,\r\n jaggedness: 0\r\n }\r\n },\r\n noise_router: {\r\n barrier: 0,\r\n fluid_level_floodedness: 0,\r\n fluid_level_spread: 0,\r\n lava: 0,\r\n temperature: 0,\r\n vegetation: 0,\r\n continents: 0,\r\n erosion: 0,\r\n depth: 0,\r\n ridges: 0,\r\n initial_density_without_jaggedness: 0,\r\n final_density: {\r\n type: 'minecraft:interpolated',\r\n argument: 'minecraft:overworld/base_3d_noise'\r\n },\r\n vein_toggle: 0,\r\n vein_ridged: 0,\r\n vein_gap: 0,\r\n },\r\n surface_rule: {\r\n type: 'minecraft:sequence',\r\n sequence: []\r\n }\r\n },\r\n 'minecraft:end': {\r\n sea_level: 0,\r\n ore_veins_enabled: false,\r\n disable_mob_generation: false,\r\n aquifers_enabled: false,\r\n legacy_random_source: true,\r\n default_block: {\r\n Name: 'minecraft:end_stone'\r\n },\r\n default_fluid: {\r\n Name: 'minecraft:air'\r\n },\r\n noise: {\r\n min_y: 0,\r\n height: 128,\r\n size_horizontal: 2,\r\n size_vertical: 1,\r\n top_slide: {\r\n target: -23.4375,\r\n size: 64,\r\n offset: -46\r\n },\r\n bottom_slide: {\r\n target: -0.234375,\r\n size: 7,\r\n offset: 1\r\n },\r\n sampling: {\r\n xz_scale: 2.0,\r\n y_scale: 1.0,\r\n xz_factor: 80.0,\r\n y_factor: 160.0\r\n },\r\n terrain_shaper: {\r\n offset: 0,\r\n factor: 1,\r\n jaggedness: 0\r\n }\r\n },\r\n noise_router: {\r\n barrier: 0,\r\n fluid_level_floodedness: 0,\r\n fluid_level_spread: 0,\r\n lava: 0,\r\n temperature: 0,\r\n vegetation: 0,\r\n continents: 0,\r\n erosion: 0,\r\n depth: 0,\r\n ridges: 0,\r\n initial_density_without_jaggedness: 0,\r\n final_density: {\r\n type: 'minecraft:interpolated',\r\n argument: 'minecraft:overworld/base_3d_noise'\r\n },\r\n vein_toggle: 0,\r\n vein_ridged: 0,\r\n vein_gap: 0,\r\n },\r\n surface_rule: {\r\n type: 'minecraft:sequence',\r\n sequence: []\r\n }\r\n },\r\n 'minecraft:amplified': {\r\n sea_level: 63,\r\n ore_veins_enabled: true,\r\n disable_mob_generation: false,\r\n aquifers_enabled: true,\r\n legacy_random_source: false,\r\n default_block: {\r\n Name: 'minecraft:stone'\r\n },\r\n default_fluid: {\r\n Properties: {\r\n level: '0'\r\n },\r\n Name: 'minecraft:water'\r\n },\r\n noise: {\r\n min_y: -64,\r\n height: 384,\r\n size_horizontal: 1,\r\n size_vertical: 2,\r\n top_slide: {\r\n target: -0.078125,\r\n size: 2,\r\n offset: 8\r\n },\r\n bottom_slide: {\r\n target: 0.1171875,\r\n size: 3,\r\n offset: 0\r\n },\r\n sampling: {\r\n xz_scale: 0.9999999814507745,\r\n y_scale: 0.9999999814507745,\r\n xz_factor: 80,\r\n y_factor: 160\r\n },\r\n terrain_shaper: {\r\n offset: 0,\r\n factor: 0,\r\n jaggedness: 0\r\n }\r\n },\r\n noise_router: {\r\n barrier: 0,\r\n fluid_level_floodedness: 0,\r\n fluid_level_spread: 0,\r\n lava: 0,\r\n temperature: 0,\r\n vegetation: 0,\r\n continents: 0,\r\n erosion: 0,\r\n depth: 0,\r\n ridges: 0,\r\n initial_density_without_jaggedness: 0,\r\n final_density: {\r\n type: 'minecraft:interpolated',\r\n argument: 'minecraft:overworld/base_3d_noise'\r\n },\r\n vein_toggle: 0,\r\n vein_ridged: 0,\r\n vein_gap: 0,\r\n },\r\n surface_rule: {\r\n type: 'minecraft:sequence',\r\n sequence: []\r\n },\r\n },\r\n 'minecraft:caves': {\r\n sea_level: 32,\r\n ore_veins_enabled: false,\r\n disable_mob_generation: false,\r\n aquifers_enabled: false,\r\n legacy_random_source: true,\r\n default_block: {\r\n Name: 'minecraft:stone'\r\n },\r\n default_fluid: {\r\n Properties: {\r\n level: '0'\r\n },\r\n Name: 'minecraft:water'\r\n },\r\n noise: {\r\n min_y: 0,\r\n height: 128,\r\n size_horizontal: 1,\r\n size_vertical: 2,\r\n top_slide: {\r\n target: 0.9375,\r\n size: 3,\r\n offset: 0\r\n },\r\n bottom_slide: {\r\n target: 2.5,\r\n size: 4,\r\n offset: -1\r\n },\r\n sampling: {\r\n xz_scale: 1.0,\r\n y_scale: 3.0,\r\n xz_factor: 80.0,\r\n y_factor: 60.0\r\n },\r\n terrain_shaper: {\r\n offset: 0,\r\n factor: 0,\r\n jaggedness: 0\r\n }\r\n },\r\n noise_router: {\r\n barrier: 0,\r\n fluid_level_floodedness: 0,\r\n fluid_level_spread: 0,\r\n lava: 0,\r\n temperature: 0,\r\n vegetation: 0,\r\n continents: 0,\r\n erosion: 0,\r\n depth: 0,\r\n ridges: 0,\r\n initial_density_without_jaggedness: 0,\r\n final_density: {\r\n type: 'minecraft:interpolated',\r\n argument: 'minecraft:overworld/base_3d_noise'\r\n },\r\n vein_toggle: 0,\r\n vein_ridged: 0,\r\n vein_gap: 0,\r\n },\r\n surface_rule: {\r\n type: 'minecraft:sequence',\r\n sequence: []\r\n }\r\n },\r\n 'minecraft:floating_islands': {\r\n sea_level: 0,\r\n ore_veins_enabled: false,\r\n disable_mob_generation: false,\r\n aquifers_enabled: false,\r\n legacy_random_source: true,\r\n default_block: {\r\n Name: 'minecraft:stone'\r\n },\r\n default_fluid: {\r\n Properties: {\r\n level: '0'\r\n },\r\n Name: 'minecraft:water'\r\n },\r\n noise: {\r\n min_y: 0,\r\n height: 128,\r\n size_horizontal: 2,\r\n size_vertical: 1,\r\n top_slide: {\r\n target: -23.4375,\r\n size: 64,\r\n offset: -46\r\n },\r\n bottom_slide: {\r\n target: -0.234375,\r\n size: 7,\r\n offset: 1\r\n },\r\n sampling: {\r\n xz_scale: 2.0,\r\n y_scale: 1.0,\r\n xz_factor: 80.0,\r\n y_factor: 160.0\r\n },\r\n terrain_shaper: {\r\n offset: 0,\r\n factor: 1,\r\n jaggedness: 0\r\n }\r\n },\r\n noise_router: {\r\n barrier: 0,\r\n fluid_level_floodedness: 0,\r\n fluid_level_spread: 0,\r\n lava: 0,\r\n temperature: 0,\r\n vegetation: 0,\r\n continents: 0,\r\n erosion: 0,\r\n depth: 0,\r\n ridges: 0,\r\n initial_density_without_jaggedness: 0,\r\n final_density: {\r\n type: 'minecraft:interpolated',\r\n argument: 'minecraft:overworld/base_3d_noise'\r\n },\r\n vein_toggle: 0,\r\n vein_ridged: 0,\r\n vein_gap: 0,\r\n },\r\n surface_rule: {\r\n type: 'minecraft:sequence',\r\n sequence: []\r\n }\r\n }\r\n });\r\n}\r\nexports.initCommonSchemas = initCommonSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initConditionSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"./Common\");\r\nfunction initConditionSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('predicate', (0, core_1.ObjectOrList)(Reference('condition'), { choiceContext: 'condition' }));\r\n schemas.register('condition', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n condition: StringNode({ validator: 'resource', params: { pool: 'loot_condition_type' } }),\r\n [core_1.Switch]: [{ push: 'condition' }],\r\n [core_1.Case]: (0, Common_1.ConditionCases)()\r\n }, { category: 'predicate', context: 'condition' }), {\r\n default: () => ({\r\n condition: 'minecraft:entity_properties',\r\n entity: 'this'\r\n })\r\n }));\r\n}\r\nexports.initConditionSchemas = initConditionSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initDimensionSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"./Common\");\r\nfunction initDimensionSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('dimension', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n type: (0, Common_1.DimensionTypePresets)(Reference('dimension_type')),\r\n generator: (0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/chunk_generator' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:noise': {\r\n settings: (0, Common_1.NoiseSettingsPresets)(Reference('noise_settings')),\r\n biome_source: (0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/biome_source' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:fixed': {\r\n biome: StringNode({ validator: 'resource', params: { pool: '$worldgen/biome' } })\r\n },\r\n 'minecraft:multi_noise': {\r\n preset: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: ['minecraft:overworld', 'minecraft:nether'] } })),\r\n biomes: (0, core_1.Mod)((0, core_1.ListNode)(Reference('generator_biome')), {\r\n enabled: path => path.push('preset').get() === undefined,\r\n default: () => [{\r\n biome: 'minecraft:plains'\r\n }]\r\n })\r\n },\r\n 'minecraft:checkerboard': {\r\n scale: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 0, max: 62 })),\r\n biomes: (0, Common_1.Tag)({ resource: '$worldgen/biome' })\r\n },\r\n }\r\n }, { category: 'predicate', disableSwitchContext: true })\r\n },\r\n 'minecraft:flat': {\r\n settings: Reference('flat_generator_settings')\r\n }\r\n }\r\n }, { disableSwitchContext: true })\r\n }, { category: 'pool', context: 'dimension' }), {\r\n default: () => {\r\n return {\r\n type: 'minecraft:overworld',\r\n generator: {\r\n type: 'minecraft:noise',\r\n biome_source: {\r\n type: 'minecraft:fixed',\r\n biome: 'minecraft:plains'\r\n },\r\n settings: 'minecraft:overworld'\r\n }\r\n };\r\n }\r\n }));\r\n schemas.register('flat_generator_settings', (0, core_1.ObjectNode)({\r\n biome: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$worldgen/biome' } })),\r\n lakes: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n features: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n layers: (0, core_1.ListNode)(Reference('generator_layer')),\r\n structure_overrides: (0, Common_1.Tag)({ resource: '$worldgen/structure_set', inlineSchema: 'structure_set' })\r\n }));\r\n const ClimateParameter = (0, core_1.ChoiceNode)([\r\n {\r\n type: 'number',\r\n node: (0, core_1.NumberNode)({ min: -2, max: 2 }),\r\n change: (v) => { var _a; return (_a = v[0]) !== null && _a !== void 0 ? _a : 0; }\r\n },\r\n {\r\n type: 'list',\r\n node: (0, core_1.ListNode)((0, core_1.NumberNode)({ min: -2, max: 2 }), { minLength: 2, maxLength: 2 }),\r\n change: (v) => [v !== null && v !== void 0 ? v : 0, v !== null && v !== void 0 ? v : 0]\r\n }\r\n ]);\r\n schemas.register('parameter_point', (0, core_1.ObjectNode)({\r\n temperature: ClimateParameter,\r\n humidity: ClimateParameter,\r\n continentalness: ClimateParameter,\r\n erosion: ClimateParameter,\r\n weirdness: ClimateParameter,\r\n depth: ClimateParameter,\r\n offset: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n }));\r\n schemas.register('generator_biome', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n biome: StringNode({ validator: 'resource', params: { pool: '$worldgen/biome' } }),\r\n parameters: Reference('parameter_point'),\r\n }, { context: 'generator_biome' }), {\r\n default: () => ({\r\n biome: 'minecraft:plains',\r\n parameters: {\r\n temperature: 0,\r\n humidity: 0,\r\n continentalness: 0,\r\n erosion: 0,\r\n weirdness: 0,\r\n depth: 0,\r\n offset: 0\r\n }\r\n })\r\n }));\r\n}\r\nexports.initDimensionSchemas = initDimensionSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initDimensionTypeSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"./Common\");\r\nfunction initDimensionTypeSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('dimension_type', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n ultrawarm: (0, core_1.BooleanNode)(),\r\n natural: (0, core_1.BooleanNode)(),\r\n piglin_safe: (0, core_1.BooleanNode)(),\r\n respawn_anchor_works: (0, core_1.BooleanNode)(),\r\n bed_works: (0, core_1.BooleanNode)(),\r\n has_raids: (0, core_1.BooleanNode)(),\r\n has_skylight: (0, core_1.BooleanNode)(),\r\n has_ceiling: (0, core_1.BooleanNode)(),\r\n coordinate_scale: (0, core_1.NumberNode)({ min: 0.00001, max: 30000000 }),\r\n ambient_light: (0, core_1.NumberNode)(),\r\n fixed_time: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n logical_height: (0, core_1.NumberNode)({ integer: true, min: 0, max: 4064 }),\r\n effects: (0, core_1.Opt)(StringNode({ enum: ['minecraft:overworld', 'minecraft:the_nether', 'minecraft:the_end'] })),\r\n infiniburn: StringNode({ validator: 'resource', params: { pool: 'block', requireTag: true } }),\r\n min_y: (0, core_1.NumberNode)({ integer: true, min: -2032, max: 2031 }),\r\n height: (0, core_1.NumberNode)({ integer: true, min: 16, max: 4064 })\r\n }, { context: 'dimension_type' }), node => ({\r\n default: () => Common_1.DefaultDimensionType,\r\n validate: (path, value, errors, options) => {\r\n value = node.validate(path, value, errors, options);\r\n if ((value === null || value === void 0 ? void 0 : value.min_y) + (value === null || value === void 0 ? void 0 : value.height) > 2032) {\r\n errors.add(path.push('height'), 'error.min_y_plus_height', 2032);\r\n }\r\n if ((value === null || value === void 0 ? void 0 : value.logical_height) > (value === null || value === void 0 ? void 0 : value.height)) {\r\n errors.add(path.push('logical_height'), 'error.logical_height');\r\n }\r\n if ((value === null || value === void 0 ? void 0 : value.height) % 16 !== 0) {\r\n errors.add(path.push('height'), 'error.height_multiple', 16);\r\n }\r\n if ((value === null || value === void 0 ? void 0 : value.min_y) % 16 !== 0) {\r\n errors.add(path.push('min_y'), 'error.min_y_multiple', 16);\r\n }\r\n return value;\r\n }\r\n })));\r\n}\r\nexports.initDimensionTypeSchemas = initDimensionTypeSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initItemModifierSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"./Common\");\r\nfunction initItemModifierSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('item_modifier', (0, core_1.ObjectOrList)(Reference('function'), { choiceContext: 'function' }));\r\n const conditions = {\r\n conditions: (0, core_1.Opt)((0, core_1.ListNode)(Reference('condition')))\r\n };\r\n schemas.register('function', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n function: StringNode({ validator: 'resource', params: { pool: 'loot_function_type' } }),\r\n [core_1.Switch]: [{ push: 'function' }],\r\n [core_1.Case]: (0, Common_1.FunctionCases)(conditions)\r\n }, { category: 'function', context: 'function' }), {\r\n default: () => [{\r\n function: 'minecraft:set_count',\r\n count: 1\r\n }]\r\n }));\r\n}\r\nexports.initItemModifierSchemas = initItemModifierSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.LootFunctions = exports.LootConditions = exports.LootCopySources = exports.LootEntitySources = exports.LootTableTypes = void 0;\r\nexports.LootTableTypes = new Map([\r\n ['minecraft:advancement_entity', { requires: [7 /* Origin */, 8 /* ThisEntity */], allows: [] }],\r\n ['minecraft:advancement_reward', { requires: [7 /* Origin */, 8 /* ThisEntity */], allows: [] }],\r\n ['minecraft:barter', { requires: [8 /* ThisEntity */], allows: [] }],\r\n ['minecraft:block', { requires: [1 /* BlockState */, 7 /* Origin */, 9 /* Tool */], allows: [0 /* BlockEntity */, 4 /* ExplosionRadius */, 8 /* ThisEntity */] }],\r\n ['minecraft:chest', { requires: [7 /* Origin */], allows: [8 /* ThisEntity */] }],\r\n ['minecraft:command', { requires: [7 /* Origin */], allows: [8 /* ThisEntity */] }],\r\n ['minecraft:empty', { requires: [], allows: [] }],\r\n ['minecraft:entity', { requires: [2 /* DamageSource */, 7 /* Origin */, 8 /* ThisEntity */], allows: [3 /* DirectKillerEntity */, 5 /* KillerEntity */, 6 /* LastDamagePlayer */] }],\r\n ['minecraft:fishing', { requires: [7 /* Origin */, 9 /* Tool */], allows: [8 /* ThisEntity */] }],\r\n ['minecraft:generic', { requires: [2 /* DamageSource */, 0 /* BlockEntity */, 1 /* BlockState */, 3 /* DirectKillerEntity */, 4 /* ExplosionRadius */, 5 /* KillerEntity */, 6 /* LastDamagePlayer */, 7 /* Origin */, 8 /* ThisEntity */, 9 /* Tool */], allows: [] }],\r\n ['minecraft:gift', { requires: [7 /* Origin */, 8 /* ThisEntity */], allows: [] }],\r\n ['minecraft:selector', { requires: [7 /* Origin */], allows: [8 /* ThisEntity */] }]\r\n]);\r\n/**\r\n * A map from loot entity sources to an array of their required context.\r\n */\r\nexports.LootEntitySources = new Map([\r\n ['direct_killer', [3 /* DirectKillerEntity */]],\r\n ['killer', [5 /* KillerEntity */]],\r\n ['killer_player', [5 /* KillerEntity */]],\r\n ['this', [8 /* ThisEntity */]]\r\n]);\r\n/**\r\n * A map from loot copy sources to an array of their required context.\r\n */\r\nexports.LootCopySources = new Map([\r\n ['block_entity', [0 /* BlockEntity */]],\r\n ['killer', [5 /* KillerEntity */]],\r\n ['killer_player', [5 /* KillerEntity */]],\r\n ['this', [8 /* ThisEntity */]]\r\n]);\r\n/**\r\n * A map from loot condition IDs to an array of their required context.\r\n */\r\nexports.LootConditions = new Map([\r\n ['minecraft:alternative', []],\r\n ['minecraft:block_state_property', [1 /* BlockState */]],\r\n ['minecraft:damage_source_properties', [2 /* DamageSource */]],\r\n ['minecraft:entity_properties', [7 /* Origin */]],\r\n ['minecraft:entity_scores', []],\r\n ['minecraft:inverted', []],\r\n ['minecraft:killed_by_player', [6 /* LastDamagePlayer */]],\r\n ['minecraft:location_check', []],\r\n ['minecraft:match_tool', [9 /* Tool */]],\r\n ['minecraft:random_chance', []],\r\n ['minecraft:random_chance_with_looting', [5 /* KillerEntity */]],\r\n ['minecraft:reference', []],\r\n ['minecraft:survives_explosion', [4 /* ExplosionRadius */]],\r\n ['minecraft:table_bonus', [9 /* Tool */]],\r\n ['minecraft:time_check', []],\r\n ['minecraft:weather_check', []]\r\n]);\r\n/**\r\n * A map from loot function IDs to an array of their required context.\r\n */\r\nexports.LootFunctions = new Map([\r\n ['minecraft:apply_bonus', [9 /* Tool */]],\r\n ['minecraft:copy_name', []],\r\n ['minecraft:copy_nbt', []],\r\n ['minecraft:copy_state', [1 /* BlockState */]],\r\n ['minecraft:enchant_randomly', []],\r\n ['minecraft:enchant_with_levels', []],\r\n ['minecraft:exploration_map', [7 /* Origin */]],\r\n ['minecraft:explosion_decay', []],\r\n ['minecraft:fill_player_head', []],\r\n ['minecraft:furnace_smelt', []],\r\n ['minecraft:limit_count', []],\r\n ['minecraft:looting_enchant', [5 /* KillerEntity */]],\r\n ['minecraft:set_attributes', []],\r\n ['minecraft:set_banner_pattern', []],\r\n ['minecraft:set_contents', []],\r\n ['minecraft:set_count', []],\r\n ['minecraft:set_damage', []],\r\n ['minecraft:set_loot_table', []],\r\n ['minecraft:set_lore', []],\r\n ['minecraft:set_name', []],\r\n ['minecraft:set_nbt', []],\r\n ['minecraft:set_stew_effect', []]\r\n]);\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initLootTableSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst LootContext_1 = require(\"../LootContext\");\r\nconst Common_1 = require(\"./Common\");\r\nfunction initLootTableSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const conditions = {\r\n conditions: (0, core_1.Opt)((0, core_1.ListNode)(Reference('loot_condition')))\r\n };\r\n const functionsAndConditions = {\r\n functions: (0, core_1.Opt)((0, core_1.ListNode)(Reference('loot_function'))),\r\n ...conditions\r\n };\r\n function compileSwitchNode(contextMap, collectionID, getNode) {\r\n const cases = [];\r\n const getAvailableOptions = (providedContext) => collections\r\n .get(collectionID)\r\n .filter(t => {\r\n var _a;\r\n const requiredContext = (_a = contextMap.get(t)) !== null && _a !== void 0 ? _a : [];\r\n return requiredContext.every(c => providedContext.includes(c));\r\n });\r\n for (const [tableType, { allows, requires }] of LootContext_1.LootTableTypes) {\r\n const providedContext = [...allows, ...requires];\r\n cases.push({\r\n match: path => path.getModel().get(new core_1.Path(['type'])) === tableType,\r\n node: getNode(getAvailableOptions(providedContext))\r\n });\r\n }\r\n cases.push({ match: _ => true, node: getNode(collectionID) });\r\n return (0, core_1.SwitchNode)(cases);\r\n }\r\n const conditionIDSwtichNode = compileSwitchNode(LootContext_1.LootConditions, 'loot_condition_type', type => StringNode({ validator: 'resource', params: { pool: type instanceof Array ? type : `loot_condition_type` } }));\r\n const functionIDSwtichNode = compileSwitchNode(LootContext_1.LootFunctions, 'loot_function_type', type => StringNode({ validator: 'resource', params: { pool: type instanceof Array ? type : `loot_function_type` } }));\r\n const entitySourceSwtichNode = compileSwitchNode(LootContext_1.LootEntitySources, 'entity_source', type => StringNode({ enum: type }));\r\n const copySourceSwtichNode = compileSwitchNode(LootContext_1.LootCopySources, 'copy_source', type => StringNode({ enum: type }));\r\n schemas.register('loot_table', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n type: (0, core_1.Opt)(StringNode({ validator: \"resource\", params: { pool: collections.get('loot_context_type') } })),\r\n pools: (0, core_1.Opt)((0, core_1.ListNode)((0, core_1.Mod)((0, core_1.ObjectNode)({\r\n rolls: Reference('number_provider'),\r\n bonus_rolls: (0, core_1.Opt)(Reference('number_provider')),\r\n entries: (0, core_1.ListNode)(Reference('loot_entry')),\r\n ...functionsAndConditions\r\n }, { category: 'pool', context: 'loot_pool' }), {\r\n default: () => ({\r\n rolls: 1,\r\n entries: [{\r\n type: 'minecraft:item',\r\n name: 'minecraft:stone'\r\n }]\r\n })\r\n }))),\r\n functions: (0, core_1.Opt)((0, core_1.ListNode)(Reference('loot_function')))\r\n }, { context: 'loot_table' }), {\r\n default: () => ({\r\n pools: [{\r\n rolls: 1,\r\n entries: [{\r\n type: 'minecraft:item',\r\n name: 'minecraft:stone'\r\n }]\r\n }]\r\n })\r\n }));\r\n const weightMod = {\r\n enabled: path => {\r\n var _a;\r\n return ((_a = path.pop().get()) === null || _a === void 0 ? void 0 : _a.length) > 1\r\n && !['minecraft:alternatives', 'minecraft:group', 'minecraft:sequence'].includes(path.push('type').get());\r\n }\r\n };\r\n schemas.register('loot_entry', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'loot_pool_entry_type' } }),\r\n weight: (0, core_1.Opt)((0, core_1.Mod)((0, core_1.NumberNode)({ integer: true, min: 1 }), weightMod)),\r\n quality: (0, core_1.Opt)((0, core_1.Mod)((0, core_1.NumberNode)({ integer: true }), weightMod)),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:alternatives': {\r\n children: (0, core_1.ListNode)(Reference('loot_entry')),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:dynamic': {\r\n name: StringNode(),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:group': {\r\n children: (0, core_1.ListNode)(Reference('loot_entry')),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:item': {\r\n name: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:loot_table': {\r\n name: StringNode({ validator: 'resource', params: { pool: '$loot_table' } }),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:sequence': {\r\n children: (0, core_1.ListNode)(Reference('loot_entry')),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:tag': {\r\n name: StringNode({ validator: 'resource', params: { pool: '$tag/item' } }),\r\n expand: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n ...functionsAndConditions\r\n }\r\n }\r\n }, { context: 'loot_entry' }), {\r\n default: () => ({\r\n type: 'minecraft:item',\r\n name: 'minecraft:stone'\r\n })\r\n }));\r\n schemas.register('loot_function', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n function: functionIDSwtichNode,\r\n [core_1.Switch]: [{ push: 'function' }],\r\n [core_1.Case]: (0, Common_1.FunctionCases)(conditions, copySourceSwtichNode, entitySourceSwtichNode)\r\n }, { category: 'function', context: 'function' }), {\r\n default: () => ({\r\n function: 'minecraft:set_count',\r\n count: 1\r\n })\r\n }));\r\n schemas.register('loot_condition', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n condition: conditionIDSwtichNode,\r\n [core_1.Switch]: [{ push: 'condition' }],\r\n [core_1.Case]: (0, Common_1.ConditionCases)(entitySourceSwtichNode)\r\n }, { category: 'predicate', context: 'condition' }), {\r\n default: () => ({\r\n condition: 'minecraft:random_chance',\r\n chance: 0.5\r\n })\r\n }));\r\n schemas.register('attribute_modifier', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n attribute: StringNode({ validator: 'resource', params: { pool: 'attribute' } }),\r\n name: StringNode(),\r\n amount: Reference('number_provider'),\r\n operation: StringNode({ enum: ['addition', 'multiply_base', 'multiply_total'] }),\r\n slot: (0, core_1.StringOrList)(StringNode({ enum: 'slot' }))\r\n }, { context: 'attribute_modifier' }), {\r\n default: () => ({\r\n attribute: 'minecraft:generic.max_health',\r\n name: '',\r\n amount: 1,\r\n operation: 'addition',\r\n slot: 'mainhand'\r\n })\r\n }));\r\n}\r\nexports.initLootTableSchemas = initLootTableSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initPackMcmetaSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst CURRENT_PACK_FORMAT = 10;\r\nfunction initPackMcmetaSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('pack_mcmeta', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n pack: (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n pack_format: (0, core_1.Mod)((0, core_1.NumberNode)({ integer: true, min: CURRENT_PACK_FORMAT, max: CURRENT_PACK_FORMAT }), {\r\n default: () => CURRENT_PACK_FORMAT,\r\n canUpdate: (_p, v) => v !== CURRENT_PACK_FORMAT,\r\n update: () => [{ name: 'pack_format', params: [CURRENT_PACK_FORMAT], newValue: CURRENT_PACK_FORMAT }]\r\n }),\r\n description: Reference('text_component')\r\n }), {\r\n default: () => ({\r\n pack_format: CURRENT_PACK_FORMAT,\r\n description: ''\r\n })\r\n }),\r\n filter: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n block: (0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n namespace: (0, core_1.Opt)(StringNode({ validator: 'regex_pattern' })),\r\n path: (0, core_1.Opt)(StringNode({ validator: 'regex_pattern' })),\r\n }))\r\n }))\r\n }), {\r\n default: () => ({\r\n pack: {\r\n pack_format: CURRENT_PACK_FORMAT,\r\n description: ''\r\n }\r\n })\r\n }));\r\n}\r\nexports.initPackMcmetaSchemas = initPackMcmetaSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initPredicatesSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initPredicatesSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const StateChoice = (0, core_1.ChoiceNode)([\r\n {\r\n type: 'string',\r\n node: StringNode(),\r\n change: v => (typeof v === 'boolean' || typeof v === 'number') ? v.toString() : ''\r\n },\r\n {\r\n type: 'number',\r\n node: (0, core_1.NumberNode)(),\r\n change: v => (typeof v === 'string') ? parseInt(v) : 0\r\n },\r\n {\r\n type: 'object',\r\n node: (0, core_1.ObjectNode)({\r\n min: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n max: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true }))\r\n }),\r\n change: v => (typeof v === 'number') ? ({ min: v, max: v }) : ({})\r\n },\r\n {\r\n type: 'boolean',\r\n node: (0, core_1.BooleanNode)(),\r\n change: v => v === 'true' || v === 1\r\n }\r\n ]);\r\n schemas.register('item_predicate', (0, core_1.ObjectNode)({\r\n items: (0, core_1.Opt)((0, core_1.ListNode)(StringNode({ validator: 'resource', params: { pool: 'item' } }))),\r\n tag: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$tag/item' } })),\r\n count: Reference('int_bounds'),\r\n durability: Reference('int_bounds'),\r\n potion: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: 'potion' } })),\r\n nbt: (0, core_1.Opt)(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:item', id: ['pop', { push: 'item' }] } } })),\r\n enchantments: (0, core_1.Opt)((0, core_1.ListNode)(Reference('enchantment_predicate')))\r\n }, { context: 'item' }));\r\n schemas.register('enchantment_predicate', (0, core_1.ObjectNode)({\r\n enchantment: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: 'enchantment' } })),\r\n levels: Reference('int_bounds')\r\n }, { context: 'enchantment' }));\r\n schemas.register('block_predicate', (0, core_1.ObjectNode)({\r\n blocks: (0, core_1.Opt)((0, core_1.ListNode)(StringNode({ validator: 'resource', params: { pool: 'block' } }))),\r\n tag: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$tag/block' } })),\r\n nbt: (0, core_1.Opt)(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:block', id: ['pop', { push: 'block' }] } } })),\r\n state: (0, core_1.Opt)((0, core_1.MapNode)(StringNode(), StateChoice, { validation: { validator: 'block_state_map', params: { id: ['pop', { push: 'block' }] } } }))\r\n }, { context: 'block' }));\r\n schemas.register('fluid_predicate', (0, core_1.ObjectNode)({\r\n fluid: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: 'fluid' } })),\r\n tag: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$tag/fluid' } })),\r\n state: (0, core_1.Opt)((0, core_1.MapNode)(StringNode(), StateChoice))\r\n }, { context: 'fluid' }));\r\n schemas.register('location_predicate', (0, core_1.ObjectNode)({\r\n position: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n x: Reference('float_bounds'),\r\n y: Reference('float_bounds'),\r\n z: Reference('float_bounds')\r\n })),\r\n biome: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$worldgen/biome' } })),\r\n structure: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$worldgen/structure' } })),\r\n dimension: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$dimension' } })),\r\n light: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n light: Reference('int_bounds')\r\n })),\r\n smokey: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n block: (0, core_1.Opt)(Reference('block_predicate')),\r\n fluid: (0, core_1.Opt)(Reference('fluid_predicate'))\r\n }, { context: 'location' }));\r\n schemas.register('statistic_predicate', (0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'stat_type' } }),\r\n stat: StringNode(),\r\n value: Reference('int_bounds'),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:mined': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'block' } })\r\n },\r\n 'minecraft:crafted': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'item' } })\r\n },\r\n 'minecraft:used': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'item' } })\r\n },\r\n 'minecraft:broken': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'item' } })\r\n },\r\n 'minecraft:picked_up': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'item' } })\r\n },\r\n 'minecraft:dropped': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'item' } })\r\n },\r\n 'minecraft:killed': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'entity_type' } })\r\n },\r\n 'minecraft:killed_by': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'entity_type' } })\r\n },\r\n 'minecraft:custom': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'custom_stat' } })\r\n }\r\n }\r\n }));\r\n schemas.register('status_effect_predicate', (0, core_1.ObjectNode)({\r\n amplifier: Reference('int_bounds'),\r\n duration: Reference('int_bounds'),\r\n ambient: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n visible: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n }, { context: 'status_effect' }));\r\n schemas.register('distance_predicate', (0, core_1.ObjectNode)({\r\n x: Reference('float_bounds'),\r\n y: Reference('float_bounds'),\r\n z: Reference('float_bounds'),\r\n absolute: Reference('float_bounds'),\r\n horizontal: Reference('float_bounds')\r\n }, { context: 'distance' }));\r\n schemas.register('entity_predicate', (0, core_1.ObjectNode)({\r\n type: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: 'entity_type', allowTag: true } })),\r\n type_specific: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n type: StringNode({ enum: ['any', 'cat', 'fishing_hook', 'frog', 'lightning', 'player', 'slime'] }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'cat': {\r\n variant: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: 'cat_variant' } }))\r\n },\r\n 'fishing_hook': {\r\n in_open_water: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n },\r\n 'frog': {\r\n variant: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: 'frog_variant' } }))\r\n },\r\n 'lightning': {\r\n blocks_set_on_fire: (0, core_1.Opt)(Reference('int_bounds')),\r\n entity_struck: (0, core_1.Opt)(Reference('entity_predicate'))\r\n },\r\n 'player': {\r\n gamemode: (0, core_1.Opt)(StringNode({ enum: 'gamemode' })),\r\n level: Reference('int_bounds'),\r\n advancements: (0, core_1.Opt)((0, core_1.MapNode)(StringNode({ validator: 'resource', params: { pool: '$advancement' } }), (0, core_1.ChoiceNode)([\r\n {\r\n type: 'boolean',\r\n node: (0, core_1.BooleanNode)(),\r\n change: () => true\r\n },\r\n {\r\n type: 'object',\r\n node: (0, core_1.MapNode)(StringNode(), (0, core_1.BooleanNode)())\r\n }\r\n ]))),\r\n recipes: (0, core_1.Opt)((0, core_1.MapNode)(StringNode({ validator: 'resource', params: { pool: '$recipe' } }), (0, core_1.BooleanNode)())),\r\n stats: (0, core_1.Opt)((0, core_1.ListNode)(Reference('statistic_predicate'))),\r\n looking_at: (0, core_1.Opt)(Reference('entity_predicate'))\r\n },\r\n 'slime': {\r\n size: Reference('int_bounds')\r\n },\r\n }\r\n })),\r\n nbt: (0, core_1.Opt)(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:entity', id: ['pop', { push: 'type' }] } } })),\r\n team: (0, core_1.Opt)(StringNode({ validator: 'team' })),\r\n location: (0, core_1.Opt)(Reference('location_predicate')),\r\n stepping_on: (0, core_1.Opt)(Reference('location_predicate')),\r\n distance: (0, core_1.Opt)(Reference('distance_predicate')),\r\n flags: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n is_on_fire: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n is_sneaking: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n is_sprinting: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n is_swimming: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n is_baby: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n })),\r\n equipment: (0, core_1.Opt)((0, core_1.MapNode)(StringNode({ enum: 'slot' }), Reference('item_predicate'))),\r\n vehicle: (0, core_1.Opt)(Reference('entity_predicate')),\r\n passenger: (0, core_1.Opt)(Reference('entity_predicate')),\r\n targeted_entity: (0, core_1.Opt)(Reference('entity_predicate')),\r\n effects: (0, core_1.Opt)((0, core_1.MapNode)(StringNode({ validator: 'resource', params: { pool: 'mob_effect' } }), Reference('status_effect_predicate')))\r\n }, { context: 'entity' }));\r\n schemas.register('damage_source_predicate', (0, core_1.ObjectNode)({\r\n is_explosion: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n is_fire: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n is_magic: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n is_projectile: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n is_lightning: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n bypasses_armor: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n bypasses_invulnerability: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n bypasses_magic: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n source_entity: (0, core_1.Opt)(Reference('entity_predicate')),\r\n direct_entity: (0, core_1.Opt)(Reference('entity_predicate'))\r\n }, { context: 'damage_source' }));\r\n schemas.register('damage_predicate', (0, core_1.ObjectNode)({\r\n dealt: Reference('float_bounds'),\r\n taken: Reference('float_bounds'),\r\n blocked: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n source_entity: (0, core_1.Opt)(Reference('entity_predicate')),\r\n type: (0, core_1.Opt)(Reference('damage_source_predicate'))\r\n }, { context: 'damage' }));\r\n}\r\nexports.initPredicatesSchemas = initPredicatesSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initRecipeSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initRecipeSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('recipe', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'recipe_serializer' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:crafting_shaped': {\r\n group: (0, core_1.Opt)(StringNode({ enum: 'recipe_group', additional: true })),\r\n pattern: (0, core_1.ListNode)(StringNode()),\r\n key: (0, core_1.MapNode)(StringNode(), // TODO: add validation\r\n Reference('recipe_ingredient')),\r\n result: Reference('recipe_result')\r\n },\r\n 'minecraft:crafting_shapeless': {\r\n group: (0, core_1.Opt)(StringNode()),\r\n ingredients: (0, core_1.ListNode)(Reference('recipe_ingredient')),\r\n result: Reference('recipe_result')\r\n },\r\n 'minecraft:smelting': {\r\n group: (0, core_1.Opt)(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n experience: (0, core_1.Opt)((0, core_1.NumberNode)()),\r\n cookingtime: (0, core_1.Opt)((0, core_1.Mod)((0, core_1.NumberNode)({ integer: true }), { default: () => 200 }))\r\n },\r\n 'minecraft:blasting': {\r\n group: (0, core_1.Opt)(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n experience: (0, core_1.Opt)((0, core_1.NumberNode)()),\r\n cookingtime: (0, core_1.Opt)((0, core_1.Mod)((0, core_1.NumberNode)({ integer: true }), { default: () => 100 }))\r\n },\r\n 'minecraft:smoking': {\r\n group: (0, core_1.Opt)(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n experience: (0, core_1.Opt)((0, core_1.NumberNode)()),\r\n cookingtime: (0, core_1.Opt)((0, core_1.Mod)((0, core_1.NumberNode)({ integer: true }), { default: () => 100 }))\r\n },\r\n 'minecraft:campfire_cooking': {\r\n group: (0, core_1.Opt)(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n experience: (0, core_1.Opt)((0, core_1.NumberNode)()),\r\n cookingtime: (0, core_1.Opt)((0, core_1.Mod)((0, core_1.NumberNode)({ integer: true }), { default: () => 100 }))\r\n },\r\n 'minecraft:stonecutting': {\r\n group: (0, core_1.Opt)(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n count: (0, core_1.NumberNode)({ integer: true })\r\n },\r\n 'minecraft:smithing': {\r\n group: (0, core_1.Opt)(StringNode()),\r\n base: Reference('recipe_ingredient_object'),\r\n addition: Reference('recipe_ingredient_object'),\r\n result: Reference('recipe_result')\r\n }\r\n }\r\n }, { context: 'recipe', disableSwitchContext: true }), {\r\n default: () => ({\r\n type: 'minecraft:crafting_shaped'\r\n })\r\n }));\r\n schemas.register('recipe_ingredient', (0, core_1.Mod)((0, core_1.ChoiceNode)([\r\n {\r\n type: 'object',\r\n node: Reference('recipe_ingredient_object'),\r\n change: v => v[0]\r\n },\r\n {\r\n type: 'list',\r\n node: (0, core_1.ListNode)(Reference('recipe_ingredient_object')),\r\n change: v => [v]\r\n }\r\n ]), {\r\n default: () => ({\r\n item: 'minecraft:stone'\r\n })\r\n }));\r\n schemas.register('recipe_ingredient_object', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n item: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: 'item' } })),\r\n tag: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$tag/item' } }))\r\n }), {\r\n default: () => ({\r\n item: 'minecraft:stone'\r\n })\r\n }));\r\n schemas.register('recipe_result', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n item: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n count: (0, core_1.Opt)((0, core_1.Mod)((0, core_1.NumberNode)({ integer: true }), { default: () => 1 }))\r\n }), {\r\n default: () => ({\r\n item: 'minecraft:stone'\r\n })\r\n }));\r\n}\r\nexports.initRecipeSchemas = initRecipeSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initTagsSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initTagsSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const TagBase = (type) => (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n replace: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n values: (0, core_1.ListNode)((0, core_1.ChoiceNode)([\r\n {\r\n type: 'string',\r\n node: StringNode({ validator: 'resource', params: { pool: type, allowTag: true } }),\r\n change: v => v.id\r\n },\r\n {\r\n type: 'object',\r\n node: (0, core_1.ObjectNode)({\r\n id: StringNode({ validator: 'resource', params: { pool: type, allowTag: true, allowUnknown: true } }),\r\n required: (0, core_1.BooleanNode)()\r\n }),\r\n change: v => ({ id: v })\r\n }\r\n ])),\r\n }, { context: 'tag' }), {\r\n default: () => ({\r\n values: []\r\n })\r\n });\r\n schemas.register('block_tag', TagBase('block'));\r\n schemas.register('entity_type_tag', TagBase('entity_type'));\r\n schemas.register('fluid_tag', TagBase('fluid'));\r\n schemas.register('function_tag', TagBase('$function'));\r\n schemas.register('game_event_tag', TagBase('game_event'));\r\n schemas.register('item_tag', TagBase('item'));\r\n schemas.register('advancement_tag', TagBase('$advancement'));\r\n schemas.register('dimension_tag', TagBase('$dimension'));\r\n schemas.register('dimension_type_tag', TagBase('$dimension_type'));\r\n schemas.register('function_tag', TagBase('$function'));\r\n schemas.register('item_modifier_tag', TagBase('$item_modifier'));\r\n schemas.register('loot_table_tag', TagBase('$loot_table'));\r\n schemas.register('predicate_tag', TagBase('$predicate'));\r\n schemas.register('recipe_tag', TagBase('$recipe'));\r\n schemas.register('structure_tag', TagBase('$structure'));\r\n schemas.register('biome_tag', TagBase('$worldgen/biome'));\r\n schemas.register('configured_carver_tag', TagBase('$worldgen/configured_carver'));\r\n schemas.register('configured_feature_tag', TagBase('$worldgen/configured_feature'));\r\n schemas.register('structure_tag', TagBase('$worldgen/structure'));\r\n schemas.register('configured_surface_builder_tag', TagBase('$worldgen/configured_surface_builder'));\r\n schemas.register('density_function_tag', TagBase('$worldgen/density_function'));\r\n schemas.register('flat_level_generator_preset_tag', TagBase('$worldgen/flat_level_generator_preset'));\r\n schemas.register('noise_tag', TagBase('$worldgen/noise'));\r\n schemas.register('noise_settings_tag', TagBase('$worldgen/noise_settings'));\r\n schemas.register('placed_feature_tag', TagBase('$worldgen/placed_feature'));\r\n schemas.register('processor_list_tag', TagBase('$worldgen/processor_list'));\r\n schemas.register('structure_set_tag', TagBase('$worldgen/structure_set'));\r\n schemas.register('template_pool_tag', TagBase('$worldgen/template_pool'));\r\n schemas.register('world_preset_tag', TagBase('$worldgen/world_preset'));\r\n}\r\nexports.initTagsSchemas = initTagsSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initTextComponentSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initTextComponentSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const getSimpleString = (v) => { var _a; return v instanceof Array ? getSimpleString(v[0]) : (_a = v === null || v === void 0 ? void 0 : v.text) !== null && _a !== void 0 ? _a : (typeof v === 'object' ? '' : v === null || v === void 0 ? void 0 : v.toString()); };\r\n schemas.register('text_component', (0, core_1.Mod)((0, core_1.ChoiceNode)([\r\n {\r\n type: 'object',\r\n node: Reference('text_component_object'),\r\n change: v => v instanceof Array ? (typeof v[0] === 'object' ? v[0] : { text: getSimpleString(v[0]) }) : typeof v === 'object' ? v : { text: getSimpleString(v) }\r\n },\r\n {\r\n type: 'list',\r\n node: Reference('text_component_list'),\r\n change: v => [v]\r\n },\r\n {\r\n type: 'string',\r\n priority: 1,\r\n node: StringNode(),\r\n change: getSimpleString\r\n },\r\n {\r\n type: 'number',\r\n node: (0, core_1.NumberNode)(),\r\n change: v => {\r\n const n = parseFloat(getSimpleString(v));\r\n return isFinite(n) ? n : (!!v ? 1 : 0);\r\n }\r\n },\r\n {\r\n type: 'boolean',\r\n node: (0, core_1.BooleanNode)(),\r\n change: v => {\r\n const s = getSimpleString(v);\r\n return s === 'true' || s === 'false' ? s === 'true' : !!s;\r\n }\r\n }\r\n ], { context: 'text_component' }), {\r\n default: () => ({\r\n text: \"\"\r\n })\r\n }));\r\n const StyleFields = {\r\n color: (0, core_1.Opt)(StringNode()) /* TODO */,\r\n font: (0, core_1.Opt)(StringNode()),\r\n bold: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n italic: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n underlined: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n strikethrough: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n obfuscated: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n insertion: (0, core_1.Opt)(StringNode()),\r\n };\r\n schemas.register('text_style', (0, core_1.ObjectNode)({\r\n ...StyleFields\r\n }, { context: 'text_component_object' }));\r\n const CommonFields = {\r\n ...StyleFields,\r\n clickEvent: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n action: StringNode({ enum: ['open_url', 'open_file', 'run_command', 'suggest_command', 'change_page', 'copy_to_clipboard'] }),\r\n [core_1.Switch]: [{ push: 'action' }],\r\n [core_1.Case]: {\r\n 'change_page': {\r\n value: StringNode()\r\n },\r\n 'copy_to_clipboard': {\r\n value: StringNode()\r\n },\r\n 'open_file': {\r\n value: StringNode()\r\n },\r\n 'open_url': {\r\n value: StringNode()\r\n },\r\n 'run_command': {\r\n value: StringNode({ validator: 'command', params: { leadingSlash: true, allowPartial: true } })\r\n },\r\n 'suggest_command': {\r\n value: StringNode({ validator: 'command', params: { leadingSlash: true, allowPartial: true } })\r\n }\r\n }\r\n })),\r\n hoverEvent: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n action: StringNode({ enum: ['show_text', 'show_item', 'show_entity'] }),\r\n [core_1.Switch]: [{ push: 'action' }],\r\n [core_1.Case]: {\r\n 'show_text': {\r\n value: (0, core_1.Opt)(Reference('text_component')),\r\n contents: (0, core_1.Opt)(Reference('text_component'))\r\n },\r\n 'show_item': {\r\n value: (0, core_1.Opt)(StringNode({ validator: 'nbt', params: { module: 'util::InventoryItem' } })),\r\n contents: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n id: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n count: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n tag: (0, core_1.Opt)(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:item', id: ['pop', { push: 'id' }] } } }))\r\n }))\r\n },\r\n 'show_entity': {\r\n value: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n name: (0, core_1.Opt)(StringNode()),\r\n type: (0, core_1.Opt)(StringNode()),\r\n id: (0, core_1.Opt)(StringNode())\r\n })),\r\n contents: (0, core_1.Opt)((0, core_1.Mod)((0, core_1.ObjectNode)({\r\n name: (0, core_1.Opt)(Reference('text_component')),\r\n type: StringNode({ validator: 'resource', params: { pool: 'entity_type' } }),\r\n id: StringNode({ validator: 'uuid' })\r\n }), {\r\n default: () => ({\r\n type: 'minecraft:pig',\r\n id: '00000001-0001-0001-0001-000000000001'\r\n })\r\n }))\r\n }\r\n }\r\n })),\r\n extra: (0, core_1.Opt)(Reference('text_component_list'))\r\n };\r\n schemas.register('text_component_object', (0, core_1.Mod)((0, core_1.ChoiceNode)([\r\n {\r\n type: 'text',\r\n match: v => typeof v === 'object',\r\n change: v => ({ text: '' }),\r\n priority: -1,\r\n node: (0, core_1.ObjectNode)({\r\n text: StringNode(),\r\n ...CommonFields\r\n })\r\n },\r\n {\r\n type: 'translation',\r\n match: v => (v === null || v === void 0 ? void 0 : v.translate) !== undefined,\r\n change: v => ({ translate: '' }),\r\n node: (0, core_1.ObjectNode)({\r\n translate: StringNode(),\r\n with: (0, core_1.Opt)(Reference('text_component_list')),\r\n ...CommonFields\r\n })\r\n },\r\n {\r\n type: 'score',\r\n match: v => (v === null || v === void 0 ? void 0 : v.score) !== undefined,\r\n change: v => ({ score: {} }),\r\n node: (0, core_1.ObjectNode)({\r\n score: (0, core_1.ObjectNode)({\r\n name: StringNode({ validator: 'entity', params: { amount: 'single', type: 'entities', isScoreHolder: true } }),\r\n objective: StringNode({ validator: 'objective' }),\r\n value: (0, core_1.Opt)(StringNode())\r\n }),\r\n ...CommonFields\r\n })\r\n },\r\n {\r\n type: 'selector',\r\n match: v => (v === null || v === void 0 ? void 0 : v.selector) !== undefined,\r\n change: v => ({ selector: '' }),\r\n node: (0, core_1.ObjectNode)({\r\n selector: StringNode({ validator: 'entity', params: { amount: 'multiple', type: 'entities' } }),\r\n separator: (0, core_1.Opt)(Reference('text_component')),\r\n ...CommonFields\r\n })\r\n },\r\n {\r\n type: 'keybind',\r\n match: v => (v === null || v === void 0 ? void 0 : v.keybind) !== undefined,\r\n change: v => ({ keybind: '' }),\r\n node: (0, core_1.ObjectNode)({\r\n keybind: StringNode({ enum: 'keybind', additional: true }),\r\n ...CommonFields\r\n })\r\n },\r\n {\r\n type: 'nbt',\r\n match: v => (v === null || v === void 0 ? void 0 : v.nbt) !== undefined,\r\n change: v => ({ nbt: '' }),\r\n node: (0, core_1.ObjectNode)({\r\n nbt: StringNode({ validator: 'nbt_path' }),\r\n block: (0, core_1.Opt)(StringNode({ validator: 'vector', params: { dimension: 3, isInteger: true } })),\r\n entity: (0, core_1.Opt)(StringNode({ validator: 'entity', params: { amount: 'multiple', type: 'entities' } })),\r\n storage: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$storage' } })),\r\n interpret: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n separator: (0, core_1.Opt)(Reference('text_component')),\r\n ...CommonFields\r\n })\r\n }\r\n ], { context: 'text_component_object', choiceContext: 'text_component.object' }), {\r\n default: () => ({\r\n text: \"\"\r\n })\r\n }));\r\n schemas.register('text_component_list', (0, core_1.Mod)((0, core_1.ListNode)(Reference('text_component')), {\r\n default: () => [{\r\n text: \"\"\r\n }]\r\n }));\r\n}\r\nexports.initTextComponentSchemas = initTextComponentSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initBiomeSchemas = exports.MobCategorySpawnSettings = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"../Common\");\r\nfunction initBiomeSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n exports.MobCategorySpawnSettings = (0, core_1.Mod)((0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'entity_type' } }),\r\n weight: (0, core_1.NumberNode)({ integer: true }),\r\n minCount: (0, core_1.NumberNode)({ integer: true }),\r\n maxCount: (0, core_1.NumberNode)({ integer: true })\r\n })), {\r\n category: () => 'pool',\r\n default: () => [{\r\n type: 'minecraft:bat',\r\n weight: 1\r\n }]\r\n });\r\n schemas.register('biome', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n temperature: (0, core_1.NumberNode)(),\r\n downfall: (0, core_1.NumberNode)(),\r\n precipitation: StringNode({ enum: ['none', 'rain', 'snow'] }),\r\n temperature_modifier: (0, core_1.Opt)(StringNode({ enum: ['none', 'frozen'] })),\r\n creature_spawn_probability: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 1 })),\r\n effects: (0, core_1.ObjectNode)({\r\n sky_color: (0, core_1.NumberNode)({ color: true }),\r\n fog_color: (0, core_1.NumberNode)({ color: true }),\r\n water_color: (0, core_1.NumberNode)({ color: true }),\r\n water_fog_color: (0, core_1.NumberNode)({ color: true }),\r\n grass_color: (0, core_1.Opt)((0, core_1.NumberNode)({ color: true })),\r\n foliage_color: (0, core_1.Opt)((0, core_1.NumberNode)({ color: true })),\r\n grass_color_modifier: (0, core_1.Opt)(StringNode({ enum: ['none', 'dark_forest', 'swamp'] })),\r\n ambient_sound: (0, core_1.Opt)(StringNode()),\r\n mood_sound: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n sound: StringNode(),\r\n tick_delay: (0, core_1.NumberNode)({ integer: true }),\r\n block_search_extent: (0, core_1.NumberNode)({ integer: true }),\r\n offset: (0, core_1.NumberNode)()\r\n })),\r\n additions_sound: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n sound: StringNode(),\r\n tick_chance: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n })),\r\n music: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n sound: StringNode(),\r\n min_delay: (0, core_1.NumberNode)({ integer: true, min: 0 }),\r\n max_delay: (0, core_1.NumberNode)({ integer: true, min: 0 }),\r\n replace_current_music: (0, core_1.BooleanNode)()\r\n })),\r\n particle: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n options: (0, core_1.ObjectNode)({\r\n type: StringNode()\r\n }),\r\n probability: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n }))\r\n }),\r\n spawners: (0, core_1.MapNode)(StringNode({ enum: 'mob_category' }), exports.MobCategorySpawnSettings),\r\n spawn_costs: (0, core_1.MapNode)(StringNode({ validator: 'resource', params: { pool: 'entity_type' } }), (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n energy_budget: (0, core_1.NumberNode)(),\r\n charge: (0, core_1.NumberNode)()\r\n }, { category: 'function' }), {\r\n default: () => ({\r\n energy_budget: 0.12,\r\n charge: 1.0\r\n })\r\n })),\r\n carvers: (0, core_1.MapNode)(StringNode({ enum: ['air', 'liquid'] }), (0, core_1.Mod)((0, Common_1.Tag)({ resource: '$worldgen/configured_carver', inlineSchema: 'configured_carver' }), {\r\n default: () => ['minecraft:cave']\r\n })),\r\n features: (0, core_1.ListNode)((0, core_1.Mod)((0, Common_1.Tag)({ resource: '$worldgen/placed_feature', inlineSchema: 'placed_feature' }), { category: () => 'predicate' }), { maxLength: 11 })\r\n }, { context: 'biome' }), {\r\n default: () => ({\r\n temperature: 0.8,\r\n downfall: 0.4,\r\n precipitation: 'rain',\r\n category: 'plains',\r\n effects: {\r\n sky_color: 7907327,\r\n fog_color: 12638463,\r\n water_color: 4159204,\r\n water_fog_color: 329011\r\n }\r\n })\r\n }));\r\n}\r\nexports.initBiomeSchemas = initBiomeSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initCarverSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"../Common\");\r\nfunction initCarverSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const CanyonConfig = {\r\n vertical_rotation: (0, Common_1.FloatProvider)(),\r\n shape: (0, core_1.ObjectNode)({\r\n distance_factor: (0, Common_1.FloatProvider)(),\r\n thickness: (0, Common_1.FloatProvider)(),\r\n width_smoothness: (0, core_1.NumberNode)({ integer: true, min: 0 }),\r\n horizontal_radius_factor: (0, Common_1.FloatProvider)(),\r\n vertical_radius_default_factor: (0, core_1.NumberNode)(),\r\n vertical_radius_center_factor: (0, core_1.NumberNode)()\r\n })\r\n };\r\n const CaveConfig = {\r\n horizontal_radius_multiplier: (0, Common_1.FloatProvider)(),\r\n vertical_radius_multiplier: (0, Common_1.FloatProvider)(),\r\n floor_level: (0, Common_1.FloatProvider)({ min: -1, max: 1 }),\r\n };\r\n schemas.register('configured_carver', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/carver' } }),\r\n config: (0, core_1.ObjectNode)({\r\n probability: (0, core_1.NumberNode)({ min: 0, max: 1 }),\r\n y: Reference('height_provider'),\r\n yScale: (0, Common_1.FloatProvider)(),\r\n lava_level: Reference('vertical_anchor'),\r\n replaceable: (0, Common_1.Tag)({ resource: 'block' }),\r\n debug_settings: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n debug_mode: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n air_state: (0, core_1.Opt)(Reference('block_state')),\r\n water_state: (0, core_1.Opt)(Reference('block_state')),\r\n lava_state: (0, core_1.Opt)(Reference('block_state')),\r\n barrier_state: (0, core_1.Opt)(Reference('block_state'))\r\n })),\r\n [core_1.Switch]: ['pop', { push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:canyon': CanyonConfig,\r\n 'minecraft:cave': CaveConfig,\r\n 'minecraft:nether_cave': CaveConfig\r\n },\r\n })\r\n }, { context: 'carver' }), {\r\n default: () => ({\r\n type: 'minecraft:cave',\r\n config: {\r\n probability: 0.1\r\n }\r\n })\r\n }));\r\n}\r\nexports.initCarverSchemas = initCarverSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initDecoratorSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"../Common\");\r\nfunction initDecoratorSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('decorator', (0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/placement_modifier_type' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:block_predicate_filter': {\r\n predicate: Reference('block_predicate_worldgen')\r\n },\r\n 'minecraft:carving_mask': {\r\n step: StringNode({ enum: 'generation_step' })\r\n },\r\n 'minecraft:rarity_filter': {\r\n chance: (0, core_1.NumberNode)({ integer: true, min: 0 })\r\n },\r\n 'minecraft:count': {\r\n count: (0, Common_1.IntProvider)({ min: 0, max: 256 })\r\n },\r\n 'minecraft:count_on_every_layer': {\r\n count: (0, Common_1.IntProvider)({ min: 0, max: 256 })\r\n },\r\n 'minecraft:noise_threshold_count': {\r\n noise_level: (0, core_1.NumberNode)(),\r\n below_noise: (0, core_1.NumberNode)({ integer: true }),\r\n above_noise: (0, core_1.NumberNode)({ integer: true })\r\n },\r\n 'minecraft:noise_based_count': {\r\n noise_to_count_ratio: (0, core_1.NumberNode)({ integer: true }),\r\n noise_factor: (0, core_1.NumberNode)(),\r\n noise_offset: (0, core_1.Opt)((0, core_1.NumberNode)())\r\n },\r\n 'minecraft:environment_scan': {\r\n direction_of_search: StringNode({ enum: ['up', 'down'] }),\r\n max_steps: (0, core_1.NumberNode)({ integer: true, min: 1, max: 32 }),\r\n target_condition: Reference('block_predicate_worldgen'),\r\n allowed_search_condition: (0, core_1.Opt)(Reference('block_predicate_worldgen'))\r\n },\r\n 'minecraft:heightmap': {\r\n heightmap: StringNode({ enum: 'heightmap_type' })\r\n },\r\n 'minecraft:height_range': {\r\n height: Reference('height_provider')\r\n },\r\n 'minecraft:random_offset': {\r\n xz_spread: (0, Common_1.IntProvider)({ min: -16, max: 16 }),\r\n y_spread: (0, Common_1.IntProvider)({ min: -16, max: 16 }),\r\n },\r\n 'minecraft:surface_relative_threshold_filter': {\r\n heightmap: StringNode({ enum: 'heightmap_type' }),\r\n min_inclusive: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n max_inclusive: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true }))\r\n },\r\n 'minecraft:surface_water_depth_filter': {\r\n max_water_depth: (0, core_1.NumberNode)({ integer: true })\r\n }\r\n }\r\n }, { context: 'decorator', category: 'predicate' }));\r\n}\r\nexports.initDecoratorSchemas = initDecoratorSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initDensityFunctionSchemas = exports.DensityFunction = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initDensityFunctionSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n exports.DensityFunction = (0, core_1.Mod)((0, core_1.ChoiceNode)([\r\n {\r\n type: 'number',\r\n node: (0, core_1.NumberNode)(),\r\n change: () => 0\r\n },\r\n {\r\n type: 'string',\r\n priority: 1,\r\n node: StringNode({ validator: 'resource', params: { pool: '$worldgen/density_function' } }),\r\n change: () => undefined\r\n },\r\n {\r\n type: 'object',\r\n node: Reference('density_function'),\r\n change: () => ({})\r\n }\r\n ], { choiceContext: 'density_function' }), {\r\n default: () => 0\r\n });\r\n const NoiseParameters = (0, core_1.ChoiceNode)([\r\n {\r\n type: 'string',\r\n node: StringNode({ validator: 'resource', params: { pool: '$worldgen/noise' } }),\r\n change: () => undefined\r\n },\r\n {\r\n type: 'object',\r\n node: Reference('noise_parameters')\r\n }\r\n ], { choiceContext: 'noise_parameters' });\r\n const NoiseRange = (0, core_1.NumberNode)({ min: -1000000, max: 1000000 });\r\n const YRange = (0, core_1.NumberNode)({ integer: true, min: -2032 * 2, max: 2031 * 2 });\r\n schemas.register('density_function', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/density_function_type' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:abs': {\r\n argument: exports.DensityFunction,\r\n },\r\n 'minecraft:add': {\r\n argument1: exports.DensityFunction,\r\n argument2: exports.DensityFunction,\r\n },\r\n 'minecraft:blend_density': {\r\n argument: exports.DensityFunction,\r\n },\r\n 'minecraft:cache_2d': {\r\n argument: exports.DensityFunction,\r\n },\r\n 'minecraft:cache_all_in_cell': {\r\n argument: exports.DensityFunction,\r\n },\r\n 'minecraft:cache_once': {\r\n argument: exports.DensityFunction,\r\n },\r\n 'minecraft:clamp': {\r\n input: exports.DensityFunction,\r\n min: NoiseRange,\r\n max: NoiseRange,\r\n },\r\n 'minecraft:constant': {\r\n argument: (0, core_1.NumberNode)(),\r\n },\r\n 'minecraft:cube': {\r\n argument: exports.DensityFunction,\r\n },\r\n 'minecraft:flat_cache': {\r\n argument: exports.DensityFunction,\r\n },\r\n 'minecraft:half_negative': {\r\n argument: exports.DensityFunction,\r\n },\r\n 'minecraft:interpolated': {\r\n argument: exports.DensityFunction,\r\n },\r\n 'minecraft:max': {\r\n argument1: exports.DensityFunction,\r\n argument2: exports.DensityFunction,\r\n },\r\n 'minecraft:min': {\r\n argument1: exports.DensityFunction,\r\n argument2: exports.DensityFunction,\r\n },\r\n 'minecraft:mul': {\r\n argument1: exports.DensityFunction,\r\n argument2: exports.DensityFunction,\r\n },\r\n 'minecraft:noise': {\r\n noise: NoiseParameters,\r\n xz_scale: (0, core_1.NumberNode)(),\r\n y_scale: (0, core_1.NumberNode)(),\r\n },\r\n 'minecraft:old_blended_noise': {\r\n xz_scale: (0, core_1.NumberNode)(),\r\n y_scale: (0, core_1.NumberNode)(),\r\n xz_factor: (0, core_1.NumberNode)(),\r\n y_factor: (0, core_1.NumberNode)(),\r\n smear_scale_multiplier: (0, core_1.NumberNode)({ min: 1, max: 8 }),\r\n },\r\n 'minecraft:quarter_negative': {\r\n argument: exports.DensityFunction,\r\n },\r\n 'minecraft:range_choice': {\r\n input: exports.DensityFunction,\r\n min_inclusive: NoiseRange,\r\n max_exclusive: NoiseRange,\r\n when_in_range: exports.DensityFunction,\r\n when_out_of_range: exports.DensityFunction,\r\n },\r\n 'minecraft:shift': {\r\n argument: exports.DensityFunction,\r\n },\r\n 'minecraft:shift_a': {\r\n argument: exports.DensityFunction,\r\n },\r\n 'minecraft:shift_b': {\r\n argument: exports.DensityFunction,\r\n },\r\n 'minecraft:shifted_noise': {\r\n noise: NoiseParameters,\r\n xz_scale: (0, core_1.NumberNode)(),\r\n y_scale: (0, core_1.NumberNode)(),\r\n shift_x: exports.DensityFunction,\r\n shift_y: exports.DensityFunction,\r\n shift_z: exports.DensityFunction,\r\n },\r\n 'minecraft:slide': {\r\n argument: exports.DensityFunction,\r\n },\r\n 'minecraft:spline': {\r\n spline: Reference('cubic_spline'),\r\n },\r\n 'minecraft:square': {\r\n argument: exports.DensityFunction,\r\n },\r\n 'minecraft:squeeze': {\r\n argument: exports.DensityFunction,\r\n },\r\n 'minecraft:weird_scaled_sampler': {\r\n rarity_value_mapper: StringNode({ enum: ['type_1', 'type_2'] }),\r\n noise: NoiseParameters,\r\n input: exports.DensityFunction,\r\n },\r\n 'minecraft:y_clamped_gradient': {\r\n from_y: YRange,\r\n to_y: YRange,\r\n from_value: NoiseRange,\r\n to_value: NoiseRange,\r\n },\r\n }\r\n }, { context: 'density_function', disableSwitchContext: true }), {\r\n default: () => ({\r\n type: 'minecraft:noise',\r\n noise: 'minecraft:cave_entrance',\r\n xz_scale: 0.75,\r\n y_scale: 0.5\r\n })\r\n }));\r\n schemas.register('cubic_spline', (0, core_1.Mod)((0, core_1.ChoiceNode)([\r\n {\r\n type: 'number',\r\n node: (0, core_1.NumberNode)()\r\n },\r\n {\r\n type: 'object',\r\n node: (0, core_1.ObjectNode)({\r\n coordinate: exports.DensityFunction,\r\n points: (0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n location: (0, core_1.NumberNode)(),\r\n derivative: (0, core_1.NumberNode)(),\r\n value: Reference('cubic_spline')\r\n }))\r\n }, { category: 'function' })\r\n }\r\n ], { context: 'terrain_spline', choiceContext: 'terrain_spline' }), {\r\n default: () => 0\r\n }));\r\n}\r\nexports.initDensityFunctionSchemas = initDensityFunctionSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initProcessorListSchemas = exports.Processors = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"../Common\");\r\nfunction initProcessorListSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n exports.Processors = (0, core_1.ChoiceNode)([\r\n {\r\n type: 'string',\r\n node: StringNode({ validator: 'resource', params: { pool: '$worldgen/processor_list' } }),\r\n change: v => undefined\r\n },\r\n {\r\n type: 'object',\r\n node: Reference('processor_list'),\r\n change: v => ({\r\n processors: [{\r\n \"processor_type\": \"minecraft:nop\"\r\n }]\r\n })\r\n }\r\n ]);\r\n schemas.register('processor_list', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n processors: (0, core_1.ListNode)(Reference('processor'))\r\n }, { context: 'processor_list' }), {\r\n default: () => ({\r\n processors: [{\r\n processor_type: 'minecraft:rule',\r\n rules: [{\r\n location_predicate: {\r\n predicate_type: 'minecraft:always_true'\r\n },\r\n input_predicate: {\r\n predicate_type: 'minecraft:always_true'\r\n }\r\n }]\r\n }]\r\n })\r\n }));\r\n schemas.register('processor', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n processor_type: StringNode({ validator: 'resource', params: { pool: 'worldgen/structure_processor' } }),\r\n [core_1.Switch]: [{ push: 'processor_type' }],\r\n [core_1.Case]: {\r\n 'minecraft:block_age': {\r\n mossiness: (0, core_1.NumberNode)()\r\n },\r\n 'minecraft:block_ignore': {\r\n blocks: (0, core_1.ListNode)(Reference('block_state'))\r\n },\r\n 'minecraft:block_rot': {\r\n integrity: (0, core_1.NumberNode)({ min: 0, max: 1 }),\r\n rottable_blocks: (0, core_1.Opt)((0, Common_1.Tag)({ resource: 'block' }))\r\n },\r\n 'minecraft:gravity': {\r\n heightmap: StringNode({ enum: 'heightmap_type' }),\r\n offset: (0, core_1.NumberNode)({ integer: true })\r\n },\r\n 'minecraft:protected_blocks': {\r\n value: StringNode({ validator: 'resource', params: { pool: 'block', requireTag: true } })\r\n },\r\n 'minecraft:rule': {\r\n rules: (0, core_1.ListNode)(Reference('processor_rule'))\r\n }\r\n }\r\n }, { category: 'function', context: 'processor' }), {\r\n default: () => ({\r\n processor_type: 'minecraft:rule',\r\n rules: [{\r\n location_predicate: {\r\n predicate_type: 'minecraft:always_true'\r\n },\r\n input_predicate: {\r\n predicate_type: 'minecraft:always_true'\r\n }\r\n }]\r\n })\r\n }));\r\n schemas.register('processor_rule', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n position_predicate: (0, core_1.Opt)(Reference('pos_rule_test')),\r\n location_predicate: Reference('rule_test'),\r\n input_predicate: Reference('rule_test'),\r\n output_state: Reference('block_state'),\r\n output_nbt: (0, core_1.Opt)(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:block' } } }))\r\n }, { category: 'predicate', context: 'processor_rule' }), {\r\n default: () => ({\r\n location_predicate: {\r\n predicate_type: 'minecraft:always_true'\r\n },\r\n input_predicate: {\r\n predicate_type: 'minecraft:always_true'\r\n }\r\n })\r\n }));\r\n const posTestFields = {\r\n min_dist: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 255, integer: true })),\r\n max_dist: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 255, integer: true })),\r\n min_chance: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 1 })),\r\n max_chance: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 1 }))\r\n };\r\n schemas.register('pos_rule_test', (0, core_1.ObjectNode)({\r\n predicate_type: StringNode({ validator: 'resource', params: { pool: 'pos_rule_test' } }),\r\n [core_1.Switch]: [{ push: 'predicate_type' }],\r\n [core_1.Case]: {\r\n 'minecraft:axis_aligned_linear_pos': {\r\n axis: StringNode({ enum: ['x', 'y', 'z'] }),\r\n ...posTestFields\r\n },\r\n 'minecraft:linear_pos': posTestFields\r\n }\r\n }, { context: 'pos_rule_test', disableSwitchContext: true }));\r\n schemas.register('rule_test', (0, core_1.ObjectNode)({\r\n predicate_type: StringNode({ validator: 'resource', params: { pool: 'rule_test' } }),\r\n [core_1.Switch]: [{ push: 'predicate_type' }],\r\n [core_1.Case]: {\r\n 'minecraft:block_match': {\r\n block: StringNode({ validator: 'resource', params: { pool: 'block' } })\r\n },\r\n 'minecraft:blockstate_match': {\r\n block_state: Reference('block_state')\r\n },\r\n 'minecraft:random_block_match': {\r\n block: StringNode({ validator: 'resource', params: { pool: 'block' } }),\r\n probability: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n },\r\n 'minecraft:random_blockstate_match': {\r\n block_state: Reference('block_state'),\r\n probability: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n },\r\n 'minecraft:tag_match': {\r\n tag: StringNode({ validator: 'resource', params: { pool: '$tag/block' } })\r\n }\r\n }\r\n }, { context: 'rule_test', disableSwitchContext: true }));\r\n}\r\nexports.initProcessorListSchemas = initProcessorListSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initFeatureSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"../Common\");\r\nrequire(\"./Decorator\");\r\nrequire(\"./ProcessorList\");\r\nconst ProcessorList_1 = require(\"./ProcessorList\");\r\nfunction initFeatureSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const ConfiguredFeature = (0, core_1.ChoiceNode)([\r\n {\r\n type: 'string',\r\n node: StringNode({ validator: 'resource', params: { pool: '$worldgen/configured_feature' } })\r\n },\r\n {\r\n type: 'object',\r\n node: Reference('configured_feature')\r\n }\r\n ], { choiceContext: 'feature' });\r\n const PlacedFeature = (0, core_1.ChoiceNode)([\r\n {\r\n type: 'string',\r\n node: StringNode({ validator: 'resource', params: { pool: '$worldgen/placed_feature' } })\r\n },\r\n {\r\n type: 'object',\r\n node: Reference('placed_feature')\r\n }\r\n ], { choiceContext: 'placed_feature' });\r\n const RandomPatchConfig = {\r\n tries: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 1 })),\r\n xz_spread: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 0 })),\r\n y_spread: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 0 })),\r\n feature: PlacedFeature,\r\n };\r\n const HugeMushroomConfig = {\r\n cap_provider: Reference('block_state_provider'),\r\n stem_provider: Reference('block_state_provider'),\r\n foliage_radius: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true }))\r\n };\r\n const TargetBlockState = (0, core_1.ObjectNode)({\r\n target: Reference('rule_test'),\r\n state: Reference('block_state')\r\n });\r\n const OreConfig = {\r\n size: (0, core_1.NumberNode)({ integer: true, min: 0, max: 64 }),\r\n discard_chance_on_air_exposure: (0, core_1.NumberNode)({ min: 0, max: 1 }),\r\n targets: (0, core_1.ListNode)(TargetBlockState)\r\n };\r\n const VegetationPatchConfig = {\r\n surface: StringNode({ enum: 'cave_surface' }),\r\n depth: (0, Common_1.IntProvider)({ min: 1, max: 128 }),\r\n vertical_range: (0, core_1.NumberNode)({ integer: true, min: 1, max: 256 }),\r\n extra_bottom_block_chance: (0, core_1.NumberNode)({ min: 0, max: 1 }),\r\n extra_edge_column_chance: (0, core_1.NumberNode)({ min: 0, max: 1 }),\r\n vegetation_chance: (0, core_1.NumberNode)({ min: 0, max: 1 }),\r\n xz_radius: (0, Common_1.IntProvider)(),\r\n replaceable: StringNode({ validator: 'resource', params: { pool: 'block', requireTag: true } }),\r\n ground_state: Reference('block_state_provider'),\r\n vegetation_feature: PlacedFeature\r\n };\r\n schemas.register('configured_feature', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/feature' } }),\r\n config: (0, core_1.ObjectNode)({\r\n [core_1.Switch]: ['pop', { push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:bamboo': {\r\n probability: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n },\r\n 'minecraft:basalt_columns': {\r\n reach: (0, Common_1.IntProvider)({ min: 0, max: 3 }),\r\n height: (0, Common_1.IntProvider)({ min: 1, max: 10 })\r\n },\r\n 'minecraft:block_column': {\r\n direction: StringNode({ enum: ['up', 'down', 'north', 'east', 'south', 'west'] }),\r\n allowed_placement: Reference('block_predicate_worldgen'),\r\n prioritize_tip: (0, core_1.BooleanNode)(),\r\n layers: (0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n height: (0, Common_1.IntProvider)({ min: 0 }),\r\n provider: Reference('block_state_provider')\r\n }))\r\n },\r\n 'minecraft:block_pile': {\r\n state_provider: Reference('block_state_provider')\r\n },\r\n 'minecraft:delta_feature': {\r\n contents: Reference('block_state'),\r\n rim: Reference('block_state'),\r\n size: (0, Common_1.IntProvider)({ min: 0, max: 16 }),\r\n rim_size: (0, Common_1.IntProvider)({ min: 0, max: 16 })\r\n },\r\n 'minecraft:disk': {\r\n state_provider: Reference('rule_based_block_state_provider'),\r\n target: Reference('block_predicate_worldgen'),\r\n radius: (0, Common_1.IntProvider)({ min: 0, max: 8 }),\r\n half_height: (0, core_1.NumberNode)({ integer: true, min: 0, max: 4 }),\r\n },\r\n 'minecraft:dripstone_cluster': {\r\n floor_to_ceiling_search_range: (0, core_1.NumberNode)({ integer: true, min: 1, max: 512 }),\r\n height: (0, Common_1.IntProvider)({ min: 0, max: 128 }),\r\n radius: (0, Common_1.IntProvider)({ min: 0, max: 128 }),\r\n max_stalagmite_stalactite_height_diff: (0, core_1.NumberNode)({ integer: true, min: 0, max: 64 }),\r\n height_deviation: (0, core_1.NumberNode)({ integer: true, min: 1, max: 64 }),\r\n dripstone_block_layer_thickness: (0, Common_1.IntProvider)({ min: 0, max: 128 }),\r\n density: (0, Common_1.FloatProvider)({ min: 0, max: 2 }),\r\n wetness: (0, Common_1.FloatProvider)({ min: 0, max: 2 }),\r\n chance_of_dripstone_column_at_max_distance_from_center: (0, core_1.NumberNode)({ min: 0, max: 1 }),\r\n max_distance_from_edge_affecting_chance_of_dripstone_column: (0, core_1.NumberNode)({ integer: true, min: 1, max: 64 }),\r\n max_distance_from_center_affecting_height_bias: (0, core_1.NumberNode)({ integer: true, min: 1, max: 64 })\r\n },\r\n 'minecraft:end_gateway': {\r\n exact: (0, core_1.BooleanNode)(),\r\n exit: (0, core_1.Opt)(Reference('block_pos'))\r\n },\r\n 'minecraft:end_spike': {\r\n crystal_invulnerable: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n crystal_beam_target: (0, core_1.Opt)(Reference('block_pos')),\r\n spikes: (0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n centerX: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n centerZ: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n radius: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n height: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n guarded: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n }))\r\n },\r\n 'minecraft:fill_layer': {\r\n state: Reference('block_state'),\r\n height: (0, core_1.NumberNode)({ integer: true, min: 0, max: 255 })\r\n },\r\n 'minecraft:flower': RandomPatchConfig,\r\n 'minecraft:forest_rock': {\r\n state: Reference('block_state')\r\n },\r\n 'minecraft:fossil': {\r\n max_empty_corners_allowed: (0, core_1.NumberNode)({ integer: true, min: 0, max: 7 }),\r\n fossil_structures: (0, core_1.ListNode)(StringNode({ validator: 'resource', params: { pool: '$structure' } })),\r\n overlay_structures: (0, core_1.ListNode)(StringNode({ validator: 'resource', params: { pool: '$structure' } })),\r\n fossil_processors: ProcessorList_1.Processors,\r\n overlay_processors: ProcessorList_1.Processors,\r\n },\r\n 'minecraft:geode': {\r\n blocks: (0, core_1.ObjectNode)({\r\n filling_provider: Reference('block_state_provider'),\r\n inner_layer_provider: Reference('block_state_provider'),\r\n alternate_inner_layer_provider: Reference('block_state_provider'),\r\n middle_layer_provider: Reference('block_state_provider'),\r\n outer_layer_provider: Reference('block_state_provider'),\r\n inner_placements: (0, core_1.ListNode)(Reference('block_state')),\r\n cannot_replace: StringNode({ validator: 'resource', params: { pool: 'block', requireTag: true } }),\r\n invalid_blocks: StringNode({ validator: 'resource', params: { pool: 'block', requireTag: true } })\r\n }),\r\n layers: (0, core_1.ObjectNode)({\r\n filling: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0.01, max: 50 })),\r\n inner_layer: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0.01, max: 50 })),\r\n middle_layer: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0.01, max: 50 })),\r\n outer_layer: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0.01, max: 50 })),\r\n }),\r\n crack: (0, core_1.ObjectNode)({\r\n generate_crack_chance: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 1 })),\r\n base_crack_size: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 5 })),\r\n crack_point_offset: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 10 })),\r\n }),\r\n noise_multiplier: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 1 })),\r\n use_potential_placements_chance: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 1 })),\r\n use_alternate_layer0_chance: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 1 })),\r\n placements_require_layer0_alternate: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n outer_wall_distance: (0, core_1.Opt)((0, Common_1.IntProvider)({ min: 1, max: 20 })),\r\n distribution_points: (0, core_1.Opt)((0, Common_1.IntProvider)({ min: 1, max: 20 })),\r\n point_offset: (0, core_1.Opt)((0, Common_1.IntProvider)({ min: 0, max: 10 })),\r\n min_gen_offset: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n max_gen_offset: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n invalid_blocks_threshold: (0, core_1.NumberNode)({ integer: true })\r\n },\r\n 'minecraft:multiface_growth': {\r\n search_range: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 1, max: 64, integer: true })),\r\n chance_of_spreading: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 1 })),\r\n can_place_on_floor: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n can_place_on_ceiling: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n can_place_on_wall: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n can_be_placed_on: (0, Common_1.Tag)({ resource: 'block' })\r\n },\r\n 'minecraft:huge_brown_mushroom': HugeMushroomConfig,\r\n 'minecraft:huge_fungus': {\r\n hat_state: Reference('block_state'),\r\n decor_state: Reference('block_state'),\r\n stem_state: Reference('block_state'),\r\n valid_base_block: Reference('block_state'),\r\n planted: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n },\r\n 'minecraft:huge_red_mushroom': HugeMushroomConfig,\r\n 'minecraft:iceberg': {\r\n state: Reference('block_state')\r\n },\r\n 'minecraft:lake': {\r\n fluid: Reference('block_state_provider'),\r\n barrier: Reference('block_state_provider')\r\n },\r\n 'minecraft:large_dripstone': {\r\n floor_to_ceiling_search_range: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 1, max: 512 })),\r\n column_radius: (0, Common_1.IntProvider)({ min: 0, max: 60 }),\r\n height_scale: (0, Common_1.FloatProvider)({ min: 0, max: 20 }),\r\n max_column_radius_to_cave_height_ratio: (0, core_1.NumberNode)({ min: 0, max: 1 }),\r\n stalactite_bluntness: (0, Common_1.FloatProvider)({ min: 0.1, max: 10 }),\r\n stalagmite_bluntness: (0, Common_1.FloatProvider)({ min: 0.1, max: 10 }),\r\n wind_speed: (0, Common_1.FloatProvider)({ min: 0, max: 2 }),\r\n min_radius_for_wind: (0, core_1.NumberNode)({ integer: true, min: 0, max: 100 }),\r\n min_bluntness_for_wind: (0, core_1.NumberNode)({ min: 0, max: 5 })\r\n },\r\n 'minecraft:nether_forest_vegetation': {\r\n state_provider: Reference('block_state_provider'),\r\n spread_width: (0, core_1.NumberNode)({ integer: true, min: 1 }),\r\n spread_height: (0, core_1.NumberNode)({ integer: true, min: 1 })\r\n },\r\n 'minecraft:netherrack_replace_blobs': {\r\n state: Reference('block_state'),\r\n target: Reference('block_state'),\r\n radius: (0, Common_1.IntProvider)({ min: 0, max: 12 })\r\n },\r\n 'minecraft:no_bonemeal_flower': RandomPatchConfig,\r\n 'minecraft:ore': OreConfig,\r\n 'minecraft:pointed_dripstone': {\r\n chance_of_taller_dripstone: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 1 })),\r\n chance_of_directional_spread: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 1 })),\r\n chance_of_spread_radius2: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 1 })),\r\n chance_of_spread_radius3: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 1 })),\r\n },\r\n 'minecraft:random_patch': RandomPatchConfig,\r\n 'minecraft:random_boolean_selector': {\r\n feature_false: PlacedFeature,\r\n feature_true: PlacedFeature\r\n },\r\n 'minecraft:random_selector': {\r\n features: (0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n chance: (0, core_1.NumberNode)({ min: 0, max: 1 }),\r\n feature: PlacedFeature\r\n })),\r\n default: PlacedFeature\r\n },\r\n 'minecraft:replace_single_block': {\r\n targets: (0, core_1.ListNode)(TargetBlockState)\r\n },\r\n 'minecraft:root_system': {\r\n required_vertical_space_for_tree: (0, core_1.NumberNode)({ integer: true, min: 1, max: 64 }),\r\n root_radius: (0, core_1.NumberNode)({ integer: true, min: 1, max: 64 }),\r\n root_placement_attempts: (0, core_1.NumberNode)({ integer: true, min: 1, max: 256 }),\r\n root_column_max_height: (0, core_1.NumberNode)({ integer: true, min: 1, max: 4096 }),\r\n hanging_root_radius: (0, core_1.NumberNode)({ integer: true, min: 1, max: 64 }),\r\n hanging_roots_vertical_span: (0, core_1.NumberNode)({ integer: true, min: 0, max: 16 }),\r\n hanging_root_placement_attempts: (0, core_1.NumberNode)({ integer: true, min: 0, max: 256 }),\r\n allowed_vertical_water_for_tree: (0, core_1.NumberNode)({ integer: true, min: 1, max: 64 }),\r\n root_replaceable: StringNode({ validator: 'resource', params: { pool: 'block', requireTag: true } }),\r\n root_state_provider: Reference('block_state_provider'),\r\n hanging_root_state_provider: Reference('block_state_provider'),\r\n allowed_tree_position: Reference('block_predicate_worldgen'),\r\n feature: PlacedFeature\r\n },\r\n 'minecraft:scattered_ore': OreConfig,\r\n 'minecraft:sculk_patch': {\r\n charge_count: (0, core_1.NumberNode)({ integer: true, min: 1, max: 32 }),\r\n amount_per_charge: (0, core_1.NumberNode)({ integer: true, min: 1, max: 500 }),\r\n spread_attempts: (0, core_1.NumberNode)({ integer: true, min: 1, max: 64 }),\r\n growth_rounds: (0, core_1.NumberNode)({ integer: true, min: 0, max: 8 }),\r\n spread_rounds: (0, core_1.NumberNode)({ integer: true, min: 0, max: 8 }),\r\n extra_rare_growths: (0, Common_1.IntProvider)(),\r\n catalyst_chance: (0, core_1.NumberNode)({ min: 0, max: 1 }),\r\n },\r\n 'minecraft:sea_pickle': {\r\n count: (0, Common_1.IntProvider)({ min: 0, max: 256 })\r\n },\r\n 'minecraft:seagrass': {\r\n probability: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n },\r\n 'minecraft:simple_block': {\r\n to_place: Reference('block_state_provider')\r\n },\r\n 'minecraft:simple_random_selector': {\r\n features: (0, Common_1.Tag)({ resource: '$worldgen/placed_feature', inlineSchema: 'placed_feature' }),\r\n },\r\n 'minecraft:spring_feature': {\r\n state: Reference('fluid_state'),\r\n rock_count: (0, core_1.NumberNode)({ integer: true }),\r\n hole_count: (0, core_1.NumberNode)({ integer: true }),\r\n requires_block_below: (0, core_1.BooleanNode)(),\r\n valid_blocks: (0, Common_1.Tag)({ resource: 'block' })\r\n },\r\n 'minecraft:tree': {\r\n ignore_vines: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n force_dirt: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n minimum_size: Reference('feature_size'),\r\n dirt_provider: Reference('block_state_provider'),\r\n trunk_provider: Reference('block_state_provider'),\r\n foliage_provider: Reference('block_state_provider'),\r\n root_placer: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/root_placer_type' } }),\r\n root_provider: Reference('block_state_provider'),\r\n trunk_offset_y: (0, Common_1.IntProvider)(),\r\n above_root_placement: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n above_root_provider: Reference('block_state_provider'),\r\n above_root_placement_chance: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n })),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:mangrove_root_placer': {\r\n mangrove_root_placement: (0, core_1.ObjectNode)({\r\n max_root_width: (0, core_1.NumberNode)({ integer: true, min: 1, max: 12 }),\r\n max_root_length: (0, core_1.NumberNode)({ integer: true, min: 1, max: 64 }),\r\n random_skew_chance: (0, core_1.NumberNode)({ min: 0, max: 1 }),\r\n can_grow_through: (0, Common_1.Tag)({ resource: 'block' }),\r\n muddy_roots_in: (0, Common_1.Tag)({ resource: 'block' }),\r\n muddy_roots_provider: Reference('block_state_provider'),\r\n })\r\n }\r\n }\r\n }, { context: 'root_placer' })),\r\n trunk_placer: (0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/trunk_placer_type' } }),\r\n base_height: (0, core_1.NumberNode)({ integer: true, min: 0, max: 32 }),\r\n height_rand_a: (0, core_1.NumberNode)({ integer: true, min: 0, max: 24 }),\r\n height_rand_b: (0, core_1.NumberNode)({ integer: true, min: 0, max: 24 }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:bending_trunk_placer': {\r\n bend_length: (0, Common_1.IntProvider)({ min: 1, max: 64 }),\r\n min_height_for_leaves: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 1 }))\r\n },\r\n 'minecraft:upwards_branching_trunk_placer': {\r\n extra_branch_steps: (0, Common_1.IntProvider)({ min: 1 }),\r\n extra_branch_length: (0, Common_1.IntProvider)({ min: 0 }),\r\n place_branch_per_log_probability: (0, core_1.NumberNode)({ min: 0, max: 1 }),\r\n can_grow_through: (0, Common_1.Tag)({ resource: 'block' })\r\n }\r\n }\r\n }, { context: 'trunk_placer' }),\r\n foliage_placer: (0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/foliage_placer_type' } }),\r\n radius: (0, Common_1.IntProvider)({ min: 0, max: 16 }),\r\n offset: (0, Common_1.IntProvider)({ min: 0, max: 16 }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:blob_foliage_placer': {\r\n height: (0, core_1.NumberNode)({ integer: true, min: 0, max: 16 })\r\n },\r\n 'minecraft:bush_foliage_placer': {\r\n height: (0, core_1.NumberNode)({ integer: true, min: 0, max: 16 })\r\n },\r\n 'minecraft:fancy_foliage_placer': {\r\n height: (0, core_1.NumberNode)({ integer: true, min: 0, max: 16 })\r\n },\r\n 'minecraft:jungle_foliage_placer': {\r\n height: (0, core_1.NumberNode)({ integer: true, min: 0, max: 16 })\r\n },\r\n 'minecraft:mega_pine_foliage_placer': {\r\n crown_height: (0, Common_1.IntProvider)({ min: 0, max: 24 })\r\n },\r\n 'minecraft:pine_foliage_placer': {\r\n height: (0, Common_1.IntProvider)({ min: 0, max: 24 })\r\n },\r\n 'minecraft:random_spread_foliage_placer': {\r\n foliage_height: (0, Common_1.IntProvider)({ min: 1, max: 512 }),\r\n leaf_placement_attempts: (0, core_1.NumberNode)({ integer: true, min: 0, max: 256 })\r\n },\r\n 'minecraft:spruce_foliage_placer': {\r\n trunk_height: (0, Common_1.IntProvider)({ min: 0, max: 24 })\r\n }\r\n }\r\n }, { context: 'foliage_placer', disableSwitchContext: true }),\r\n decorators: (0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/tree_decorator_type' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:alter_ground': {\r\n provider: Reference('block_state_provider')\r\n },\r\n 'minecraft:attached_to_leaves': {\r\n probability: (0, core_1.NumberNode)({ min: 0, max: 1 }),\r\n exclusion_radius_xz: (0, core_1.NumberNode)({ integer: true, min: 0, max: 16 }),\r\n exclusion_radius_y: (0, core_1.NumberNode)({ integer: true, min: 0, max: 16 }),\r\n required_empty_blocks: (0, core_1.NumberNode)({ integer: true, min: 1, max: 16 }),\r\n block_provider: Reference('block_state_provider'),\r\n directions: (0, core_1.ListNode)(StringNode({ enum: 'direction' }))\r\n },\r\n 'minecraft:beehive': {\r\n probability: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n },\r\n 'minecraft:cocoa': {\r\n probability: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n },\r\n 'minecraft:leave_vine': {\r\n probability: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n }\r\n }\r\n }, { context: 'tree_decorator' }))\r\n },\r\n 'minecraft:twisting_vines': {\r\n spread_width: (0, core_1.NumberNode)({ integer: true, min: 1 }),\r\n spread_height: (0, core_1.NumberNode)({ integer: true, min: 1 }),\r\n max_height: (0, core_1.NumberNode)({ integer: true, min: 1 }),\r\n },\r\n 'minecraft:underwater_magma': {\r\n floor_search_range: (0, core_1.NumberNode)({ integer: true, min: 0, max: 512 }),\r\n placement_radius_around_floor: (0, core_1.NumberNode)({ integer: true, min: 0, max: 64 }),\r\n placement_probability_per_valid_position: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n },\r\n 'minecraft:vegetation_patch': VegetationPatchConfig,\r\n 'minecraft:waterlogged_vegetation_patch': VegetationPatchConfig\r\n }\r\n }, { context: 'feature' })\r\n }, { context: 'feature' }), {\r\n default: () => ({\r\n type: 'minecraft:tree',\r\n config: {\r\n minimum_size: {\r\n type: 'minecraft:two_layers_feature_size'\r\n },\r\n trunk_placer: {\r\n type: 'minecraft:straight_trunk_placer',\r\n base_height: 5,\r\n height_rand_a: 2,\r\n height_rand_b: 0\r\n },\r\n foliage_placer: {\r\n type: 'minecraft:blob_foliage_placer',\r\n radius: 2,\r\n offset: 0,\r\n height: 3\r\n }\r\n }\r\n })\r\n }));\r\n schemas.register('placed_feature', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n feature: ConfiguredFeature,\r\n placement: (0, core_1.ListNode)(Reference('decorator'))\r\n }, { context: 'placed_feature' }), {\r\n default: () => ({\r\n feature: 'minecraft:oak',\r\n placement: [\r\n {\r\n type: 'minecraft:count',\r\n count: 4\r\n },\r\n {\r\n type: 'minecraft:in_square'\r\n },\r\n {\r\n type: 'minecraft:heightmap',\r\n heightmap: 'OCEAN_FLOOR'\r\n }\r\n ]\r\n })\r\n }));\r\n schemas.register('feature_size', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/feature_size_type' } }),\r\n min_clipped_height: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 80 })),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:two_layers_feature_size': {\r\n limit: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 0, max: 81 })),\r\n lower_size: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 0, max: 16 })),\r\n upper_size: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 0, max: 16 }))\r\n },\r\n 'minecraft:three_layers_feature_size': {\r\n limit: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 0, max: 80 })),\r\n upper_limit: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 0, max: 80 })),\r\n lower_size: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 0, max: 16 })),\r\n middle_size: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 0, max: 16 })),\r\n upper_size: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 0, max: 16 }))\r\n }\r\n }\r\n }, { disableSwitchContext: true }), {\r\n default: () => ({\r\n type: 'minecraft:two_layers_feature_size'\r\n })\r\n }));\r\n const NoiseProvider = {\r\n seed: (0, core_1.NumberNode)({ integer: true }),\r\n noise: Reference('noise_parameters'),\r\n scale: (0, core_1.Mod)((0, core_1.NumberNode)({ min: Number.MIN_VALUE }), { default: () => 1 })\r\n };\r\n schemas.register('block_state_provider', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/block_state_provider_type' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:dual_noise_provider': {\r\n ...NoiseProvider,\r\n variety: (0, Common_1.InclusiveRange)({ integer: true, min: 1, max: 64 }),\r\n slow_noise: Reference('noise_parameters'),\r\n slow_scale: (0, core_1.Mod)((0, core_1.NumberNode)({ min: Number.MIN_VALUE }), { default: () => 1 }),\r\n states: (0, core_1.ListNode)(Reference('block_state'))\r\n },\r\n 'minecraft:noise_threshold_provider': {\r\n ...NoiseProvider,\r\n threshold: (0, core_1.NumberNode)({ min: -1, max: 1 }),\r\n high_chance: (0, core_1.NumberNode)({ min: 0, max: 1 }),\r\n default_state: Reference('block_state'),\r\n low_states: (0, core_1.ListNode)(Reference('block_state')),\r\n high_states: (0, core_1.ListNode)(Reference('block_state'))\r\n },\r\n 'minecraft:noise_provider': {\r\n ...NoiseProvider,\r\n states: (0, core_1.ListNode)(Reference('block_state'))\r\n },\r\n 'minecraft:randomized_int_state_provider': {\r\n property: StringNode(),\r\n values: (0, Common_1.IntProvider)(),\r\n source: Reference('block_state_provider')\r\n },\r\n 'minecraft:rotated_block_provider': {\r\n state: Reference('block_state')\r\n },\r\n 'minecraft:simple_state_provider': {\r\n state: Reference('block_state')\r\n },\r\n 'minecraft:weighted_state_provider': {\r\n entries: (0, core_1.ListNode)((0, core_1.Mod)((0, core_1.ObjectNode)({\r\n weight: (0, core_1.NumberNode)({ integer: true, min: 1 }),\r\n data: Reference('block_state')\r\n }), {\r\n default: () => ({\r\n data: {}\r\n })\r\n }))\r\n }\r\n }\r\n }, { context: 'block_state_provider' }), {\r\n default: () => ({\r\n type: 'minecraft:simple_state_provider'\r\n })\r\n }));\r\n schemas.register('rule_based_block_state_provider', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n fallback: Reference('block_state_provider'),\r\n rules: (0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n if_true: Reference('block_predicate_worldgen'),\r\n then: Reference('block_state_provider')\r\n }))\r\n }, { context: 'block_state_provider' }), {\r\n default: () => ({\r\n fallback: {\r\n type: 'minecraft:simple_state_provider'\r\n }\r\n })\r\n }));\r\n const Offset = {\r\n offset: (0, core_1.Opt)((0, core_1.ListNode)((0, core_1.NumberNode)({ integer: true, min: -16, max: 16 }), { minLength: 3, maxLength: 3 }))\r\n };\r\n schemas.register('block_predicate_worldgen', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'block_predicate_type' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:all_of': {\r\n predicates: (0, core_1.ListNode)(Reference('block_predicate_worldgen'))\r\n },\r\n 'minecraft:any_of': {\r\n predicates: (0, core_1.ListNode)(Reference('block_predicate_worldgen'))\r\n },\r\n 'minecraft:has_sturdy_face': {\r\n ...Offset,\r\n direction: StringNode({ enum: 'direction' })\r\n },\r\n 'minecraft:inside_world_bounds': {\r\n ...Offset,\r\n },\r\n 'minecraft:matching_block_tag': {\r\n ...Offset,\r\n tag: StringNode({ validator: 'resource', params: { pool: '$tag/block' } })\r\n },\r\n 'minecraft:matching_blocks': {\r\n ...Offset,\r\n blocks: (0, Common_1.Tag)({ resource: 'block' })\r\n },\r\n 'minecraft:matching_fluids': {\r\n ...Offset,\r\n fluids: (0, Common_1.Tag)({ resource: 'fluid' })\r\n },\r\n 'minecraft:not': {\r\n predicate: Reference('block_predicate_worldgen')\r\n },\r\n 'minecraft:would_survive': {\r\n ...Offset,\r\n state: Reference('block_state')\r\n }\r\n }\r\n }, { context: 'block_predicate' }), {\r\n default: () => ({\r\n type: 'minecraft:true'\r\n })\r\n }));\r\n}\r\nexports.initFeatureSchemas = initFeatureSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initNoiseSettingsSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"../Common\");\r\nconst DensityFunction_1 = require(\"./DensityFunction\");\r\nfunction initNoiseSettingsSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('noise_settings', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n sea_level: (0, core_1.NumberNode)({ integer: true }),\r\n disable_mob_generation: (0, core_1.BooleanNode)(),\r\n aquifers_enabled: (0, core_1.BooleanNode)(),\r\n ore_veins_enabled: (0, core_1.BooleanNode)(),\r\n legacy_random_source: (0, core_1.BooleanNode)(),\r\n default_block: Reference('block_state'),\r\n default_fluid: Reference('block_state'),\r\n noise: (0, core_1.ObjectNode)({\r\n min_y: (0, core_1.NumberNode)({ integer: true, min: -2048, max: 2047 }),\r\n height: (0, core_1.NumberNode)({ integer: true, min: 0, max: 4096 }),\r\n size_horizontal: (0, core_1.NumberNode)({ integer: true }),\r\n size_vertical: (0, core_1.NumberNode)({ integer: true }),\r\n }),\r\n noise_router: (0, core_1.ObjectNode)({\r\n barrier: DensityFunction_1.DensityFunction,\r\n fluid_level_floodedness: DensityFunction_1.DensityFunction,\r\n fluid_level_spread: DensityFunction_1.DensityFunction,\r\n lava: DensityFunction_1.DensityFunction,\r\n temperature: DensityFunction_1.DensityFunction,\r\n vegetation: DensityFunction_1.DensityFunction,\r\n continents: DensityFunction_1.DensityFunction,\r\n erosion: DensityFunction_1.DensityFunction,\r\n depth: DensityFunction_1.DensityFunction,\r\n ridges: DensityFunction_1.DensityFunction,\r\n initial_density_without_jaggedness: DensityFunction_1.DensityFunction,\r\n final_density: DensityFunction_1.DensityFunction,\r\n vein_toggle: DensityFunction_1.DensityFunction,\r\n vein_ridged: DensityFunction_1.DensityFunction,\r\n vein_gap: DensityFunction_1.DensityFunction,\r\n }),\r\n spawn_target: (0, core_1.ListNode)(Reference('parameter_point')),\r\n surface_rule: Reference('material_rule'),\r\n }, { context: 'noise_settings' }), node => ({\r\n default: () => Common_1.DefaultNoiseSettings,\r\n validate: (path, value, errors, options) => {\r\n var _a, _b, _c, _d;\r\n value = node.validate(path, value, errors, options);\r\n if (((_a = value === null || value === void 0 ? void 0 : value.noise) === null || _a === void 0 ? void 0 : _a.min_y) + ((_b = value === null || value === void 0 ? void 0 : value.noise) === null || _b === void 0 ? void 0 : _b.height) > 2047) {\r\n errors.add(path.push('noise').push('height'), 'error.min_y_plus_height', 2047);\r\n }\r\n if (((_c = value === null || value === void 0 ? void 0 : value.noise) === null || _c === void 0 ? void 0 : _c.height) % 16 !== 0) {\r\n errors.add(path.push('noise').push('height'), 'error.height_multiple', 16);\r\n }\r\n if (((_d = value === null || value === void 0 ? void 0 : value.noise) === null || _d === void 0 ? void 0 : _d.min_y) % 16 !== 0) {\r\n errors.add(path.push('noise').push('min_y'), 'error.min_y_multiple', 16);\r\n }\r\n return value;\r\n }\r\n })));\r\n schemas.register('noise_slider', (0, core_1.ObjectNode)({\r\n target: (0, core_1.NumberNode)(),\r\n size: (0, core_1.NumberNode)({ integer: true, min: 0 }),\r\n offset: (0, core_1.NumberNode)({ integer: true })\r\n }));\r\n schemas.register('generator_layer', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n block: StringNode({ validator: 'resource', params: { pool: 'block' } }),\r\n height: (0, core_1.NumberNode)({ integer: true, min: 1 })\r\n }), {\r\n default: () => ({\r\n block: 'minecraft:stone',\r\n height: 1\r\n })\r\n }));\r\n}\r\nexports.initNoiseSettingsSchemas = initNoiseSettingsSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initStructureSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"../Common\");\r\nconst Biome_1 = require(\"./Biome\");\r\nfunction initStructureSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n schemas.register('structure', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/structure_type' } }),\r\n biomes: (0, Common_1.Tag)({ resource: '$worldgen/biome' }),\r\n step: StringNode({ enum: 'decoration_step' }),\r\n spawn_overrides: (0, core_1.MapNode)(StringNode({ enum: 'mob_category' }), (0, core_1.ObjectNode)({\r\n bounding_box: StringNode({ enum: ['piece', 'full'] }),\r\n spawns: Biome_1.MobCategorySpawnSettings,\r\n })),\r\n terrain_adaptation: (0, core_1.Opt)(StringNode({ enum: ['none', 'beard_thin', 'beard_box', 'bury'] })),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:jigsaw': {\r\n start_pool: StringNode({ validator: 'resource', params: { pool: '$worldgen/template_pool' } }),\r\n size: (0, core_1.NumberNode)({ integer: true }),\r\n start_height: Reference('height_provider'),\r\n start_jigsaw_name: (0, core_1.Opt)(StringNode()),\r\n project_start_to_heightmap: (0, core_1.Opt)(StringNode({ enum: 'heightmap_type' })),\r\n max_distance_from_center: (0, core_1.NumberNode)({ integer: true, min: 1, max: 128 }),\r\n use_expansion_hack: (0, core_1.BooleanNode)(),\r\n },\r\n 'minecraft:mineshaft': {\r\n mineshaft_type: StringNode({ enum: ['normal', 'mesa'] }),\r\n },\r\n 'minecraft:nether_fossil': {\r\n height: Reference('height_provider')\r\n },\r\n 'minecraft:ocean_ruin': {\r\n biome_temp: StringNode({ enum: ['cold', 'warm'] }),\r\n large_probability: (0, core_1.NumberNode)({ min: 0, max: 1 }),\r\n cluster_probability: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n },\r\n 'minecraft:ruined_portal': {\r\n setups: (0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n placement: StringNode({ enum: ['on_land_surface', 'partly_buried', 'on_ocean_floor', 'in_mountain', 'underground', 'in_nether'] }),\r\n air_pocket_probability: (0, core_1.NumberNode)({ min: 0, max: 1 }),\r\n mossiness: (0, core_1.NumberNode)({ min: 0, max: 1 }),\r\n overgrown: (0, core_1.BooleanNode)(),\r\n vines: (0, core_1.BooleanNode)(),\r\n can_be_cold: (0, core_1.BooleanNode)(),\r\n replace_with_blackstone: (0, core_1.BooleanNode)(),\r\n weight: (0, core_1.NumberNode)({ min: 0 })\r\n }))\r\n },\r\n 'minecraft:shipwreck': {\r\n is_beached: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n }\r\n }\r\n }, { context: 'structure_feature' }), {\r\n default: () => ({\r\n type: 'minecraft:jigsaw',\r\n step: 'surface_structures',\r\n size: 6,\r\n })\r\n }));\r\n}\r\nexports.initStructureSchemas = initStructureSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initStructureSetSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"../Common\");\r\nfunction initStructureSetSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StructureSet = (0, core_1.ChoiceNode)([\r\n {\r\n type: 'string',\r\n node: StringNode({ validator: 'resource', params: { pool: '$worldgen/structure_set' } })\r\n },\r\n {\r\n type: 'object',\r\n node: Reference('structure_set')\r\n }\r\n ], { choiceContext: 'structure_set' });\r\n schemas.register('structure_set', (0, core_1.ObjectNode)({\r\n structures: (0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n structure: (0, Common_1.Tag)({ resource: '$worldgen/structure' }),\r\n weight: (0, core_1.NumberNode)({ integer: true, min: 1 })\r\n })),\r\n placement: Reference('structure_placement')\r\n }, { context: 'structure_set' }));\r\n schemas.register('structure_placement', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/structure_placement' } }),\r\n salt: (0, core_1.NumberNode)({ integer: true, min: 0 }),\r\n frequency_reduction_method: (0, core_1.Opt)(StringNode({ enum: ['default', 'legacy_type_1', 'legacy_type_2', 'legacy_type_3'] })),\r\n frequency: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 1 })),\r\n exclusion_zone: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n other_set: StructureSet,\r\n chunk_count: (0, core_1.NumberNode)({ integer: true, min: 1, max: 16 })\r\n })),\r\n locate_offset: (0, core_1.Opt)((0, core_1.ListNode)((0, core_1.NumberNode)({ integer: true, min: -16, max: 16 }), { minLength: 3, maxLength: 3 })),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:concentric_rings': {\r\n distance: (0, core_1.NumberNode)({ integer: true, min: 0, max: 1023 }),\r\n spread: (0, core_1.NumberNode)({ integer: true, min: 0, max: 1023 }),\r\n count: (0, core_1.NumberNode)({ integer: true, min: 1, max: 4095 }),\r\n preferred_biomes: (0, Common_1.Tag)({ resource: '$worldgen/biome' })\r\n },\r\n 'minecraft:random_spread': {\r\n spread_type: (0, core_1.Opt)(StringNode({ enum: ['linear', 'triangular'] })),\r\n spacing: (0, core_1.NumberNode)({ integer: true, min: 0, max: 4096 }),\r\n separation: (0, core_1.Mod)((0, core_1.NumberNode)({ integer: true, min: 0, max: 4096 }), (node) => ({\r\n validate: (path, value, errors, options) => {\r\n if (path.pop().push('spacing').get() <= value) {\r\n errors.add(path, 'error.separation_smaller_spacing');\r\n }\r\n return node.validate(path, value, errors, options);\r\n }\r\n }))\r\n }\r\n }\r\n }, { context: 'structure_placement' }), {\r\n default: () => ({\r\n type: 'minecraft:random_spread',\r\n spacing: 10,\r\n separation: 5,\r\n salt: Math.floor(Math.random() * 2147483647)\r\n })\r\n }));\r\n}\r\nexports.initStructureSetSchemas = initStructureSetSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initSurfaceRuleSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initSurfaceRuleSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n schemas.register('material_rule', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/material_rule' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:block': {\r\n result_state: Reference('block_state'),\r\n },\r\n 'minecraft:condition': {\r\n if_true: Reference('material_condition'),\r\n then_run: Reference('material_rule')\r\n },\r\n 'minecraft:sequence': {\r\n sequence: (0, core_1.ListNode)(Reference('material_rule'))\r\n }\r\n }\r\n }, { context: 'material_rule', category: 'pool' }), {\r\n default: () => ({\r\n type: 'minecraft:block',\r\n result_state: {\r\n Name: 'minecraft:stone'\r\n }\r\n })\r\n }));\r\n schemas.register('material_condition', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/material_condition' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:biome': {\r\n biome_is: (0, core_1.ListNode)(StringNode({ validator: 'resource', params: { pool: '$worldgen/biome' } }))\r\n },\r\n 'minecraft:noise_threshold': {\r\n noise: StringNode({ validator: 'resource', params: { pool: '$worldgen/noise' } }),\r\n min_threshold: (0, core_1.NumberNode)(),\r\n max_threshold: (0, core_1.NumberNode)()\r\n },\r\n 'minecraft:not': {\r\n invert: Reference('material_condition')\r\n },\r\n 'minecraft:stone_depth': {\r\n offset: (0, core_1.NumberNode)({ integer: true }),\r\n surface_type: StringNode({ enum: 'cave_surface' }),\r\n add_surface_depth: (0, core_1.BooleanNode)(),\r\n secondary_depth_range: (0, core_1.NumberNode)({ integer: true }),\r\n },\r\n 'minecraft:vertical_gradient': {\r\n random_name: StringNode(),\r\n true_at_and_below: Reference('vertical_anchor'),\r\n false_at_and_above: Reference('vertical_anchor'),\r\n },\r\n 'minecraft:water': {\r\n offset: (0, core_1.NumberNode)({ integer: true }),\r\n surface_depth_multiplier: (0, core_1.NumberNode)({ integer: true, min: -20, max: 20 }),\r\n add_stone_depth: (0, core_1.BooleanNode)()\r\n },\r\n 'minecraft:y_above': {\r\n anchor: Reference('vertical_anchor'),\r\n surface_depth_multiplier: (0, core_1.NumberNode)({ integer: true, min: -20, max: 20 }),\r\n add_stone_depth: (0, core_1.BooleanNode)()\r\n }\r\n }\r\n }, { context: 'material_condition' }), {\r\n default: () => ({\r\n type: 'minecraft:biome',\r\n is_biome: 'minecraft:plains'\r\n })\r\n }));\r\n}\r\nexports.initSurfaceRuleSchemas = initSurfaceRuleSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initTemplatePoolSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nrequire(\"./ProcessorList\");\r\nconst ProcessorList_1 = require(\"./ProcessorList\");\r\nfunction initTemplatePoolSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('template_pool', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n name: StringNode(),\r\n fallback: StringNode(),\r\n elements: (0, core_1.ListNode)(Reference('template_weighted_element'))\r\n }, { context: 'template_pool' }), {\r\n default: () => ({\r\n fallback: 'minecraft:empty',\r\n elements: [\r\n {\r\n weight: 1,\r\n element: {\r\n element_type: 'minecraft:single_pool_element',\r\n projection: 'rigid',\r\n processors: 'minecraft:empty'\r\n }\r\n }\r\n ]\r\n })\r\n }));\r\n schemas.register('template_weighted_element', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n weight: (0, core_1.NumberNode)({ integer: true, min: 1 }),\r\n element: Reference('template_element')\r\n }, { category: 'pool' }), {\r\n default: () => ({\r\n weight: 1,\r\n element: {\r\n element_type: 'minecraft:single_pool_element',\r\n projection: 'rigid',\r\n processors: 'minecraft:empty'\r\n }\r\n })\r\n }));\r\n schemas.register('template_element', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n element_type: StringNode({ validator: 'resource', params: { pool: 'worldgen/structure_pool_element' } }),\r\n projection: StringNode({ enum: ['rigid', 'terrain_matching'] }),\r\n [core_1.Switch]: [{ push: 'element_type' }],\r\n [core_1.Case]: {\r\n 'minecraft:feature_pool_element': {\r\n feature: StringNode({ validator: 'resource', params: { pool: '$worldgen/placed_feature' } })\r\n },\r\n 'minecraft:legacy_single_pool_element': {\r\n location: StringNode({ validator: 'resource', params: { pool: '$structure' } }),\r\n processors: ProcessorList_1.Processors\r\n },\r\n 'minecraft:list_pool_element': {\r\n elements: (0, core_1.ListNode)(Reference('template_element'))\r\n },\r\n 'minecraft:single_pool_element': {\r\n location: StringNode({ validator: 'resource', params: { pool: '$structure' } }),\r\n processors: ProcessorList_1.Processors\r\n }\r\n }\r\n }, { context: 'template_element', disableSwitchContext: true }), {\r\n default: () => ({\r\n element_type: 'minecraft:single_pool_element',\r\n projection: 'rigid',\r\n processors: 'minecraft:empty'\r\n })\r\n }));\r\n}\r\nexports.initTemplatePoolSchemas = initTemplatePoolSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initWorldPresetSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initWorldPresetSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n schemas.register('world_preset', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n dimensions: (0, core_1.MapNode)(StringNode({ validator: 'resource', params: { pool: '$dimension', isDefinition: true } }), Reference('dimension'))\r\n }, { context: 'world_preset' }), {\r\n default: () => ({\r\n dimensions: {\r\n 'minecraft:overworld': {\r\n type: 'minecraft:overworld',\r\n generator: {\r\n type: 'minecraft:noise',\r\n biome_source: {\r\n type: 'minecraft:multi_noise',\r\n preset: 'minecraft:overworld',\r\n },\r\n settings: 'minecraft:overworld',\r\n },\r\n },\r\n 'minecraft:the_nether': {\r\n type: 'minecraft:the_nether',\r\n generator: {\r\n type: 'minecraft:noise',\r\n biome_source: {\r\n type: 'minecraft:multi_noise',\r\n preset: 'minecraft:nether',\r\n },\r\n settings: 'minecraft:nether',\r\n },\r\n },\r\n 'minecraft:the_end': {\r\n type: 'minecraft:the_end',\r\n generator: {\r\n type: 'minecraft:noise',\r\n biome_source: {\r\n type: 'minecraft:the_end',\r\n },\r\n settings: 'minecraft:end',\r\n },\r\n },\r\n }\r\n })\r\n }));\r\n schemas.register('flat_level_generator_preset', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n display: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n settings: Reference('flat_generator_settings'),\r\n }), {\r\n default: () => ({\r\n display: 'minecraft:grass_block',\r\n settings: {\r\n lakes: false,\r\n features: false,\r\n biome: 'minecraft:plains',\r\n structure_overrides: [],\r\n layers: [\r\n {\r\n height: 3,\r\n block: 'minecraft:dirt'\r\n },\r\n {\r\n height: 1,\r\n block: 'minecraft:grass_block'\r\n }\r\n ]\r\n }\r\n })\r\n }));\r\n}\r\nexports.initWorldPresetSchemas = initWorldPresetSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initWorldgenSchemas = void 0;\r\nconst Biome_1 = require(\"./Biome\");\r\nconst Carver_1 = require(\"./Carver\");\r\nconst Decorator_1 = require(\"./Decorator\");\r\nconst DensityFunction_1 = require(\"./DensityFunction\");\r\nconst Feature_1 = require(\"./Feature\");\r\nconst NoiseSettings_1 = require(\"./NoiseSettings\");\r\nconst ProcessorList_1 = require(\"./ProcessorList\");\r\nconst Structure_1 = require(\"./Structure\");\r\nconst StructureSet_1 = require(\"./StructureSet\");\r\nconst SurfaceRule_1 = require(\"./SurfaceRule\");\r\nconst TemplatePool_1 = require(\"./TemplatePool\");\r\nconst WorldPreset_1 = require(\"./WorldPreset\");\r\nfunction initWorldgenSchemas(schemas, collections) {\r\n // `ProcessorList.ts`, `DensityFunction.ts`, and `Biome.ts` have exports. They should be initialized first. \r\n (0, ProcessorList_1.initProcessorListSchemas)(schemas, collections);\r\n (0, DensityFunction_1.initDensityFunctionSchemas)(schemas, collections);\r\n (0, Biome_1.initBiomeSchemas)(schemas, collections);\r\n (0, Carver_1.initCarverSchemas)(schemas, collections);\r\n (0, Decorator_1.initDecoratorSchemas)(schemas, collections);\r\n (0, Feature_1.initFeatureSchemas)(schemas, collections);\r\n (0, NoiseSettings_1.initNoiseSettingsSchemas)(schemas, collections);\r\n (0, Structure_1.initStructureSchemas)(schemas, collections);\r\n (0, StructureSet_1.initStructureSetSchemas)(schemas, collections);\r\n (0, SurfaceRule_1.initSurfaceRuleSchemas)(schemas, collections);\r\n (0, TemplatePool_1.initTemplatePoolSchemas)(schemas, collections);\r\n (0, WorldPreset_1.initWorldPresetSchemas)(schemas, collections);\r\n}\r\nexports.initWorldgenSchemas = initWorldgenSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initWorldSettingsSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initWorldSettingsSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('world_settings', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n generate_features: (0, core_1.BooleanNode)(),\r\n bonus_chest: (0, core_1.BooleanNode)(),\r\n seed: (0, core_1.NumberNode)({ integer: true }),\r\n dimensions: (0, core_1.MapNode)(StringNode({ validator: 'resource', params: { pool: '$dimension' } }), Reference('dimension'))\r\n }, { context: 'world_settings' }), {\r\n default: () => {\r\n const seed = Math.floor(Math.random() * (4294967296)) - 2147483648;\r\n return {\r\n generate_features: true,\r\n bonus_chest: false,\r\n seed,\r\n dimensions: {\r\n 'minecraft:overworld': {\r\n type: 'minecraft:overworld',\r\n generator: {\r\n type: 'minecraft:noise',\r\n seed,\r\n biome_source: {\r\n type: 'minecraft:multi_noise',\r\n preset: \"minecraft:overworld\"\r\n },\r\n settings: 'minecraft:overworld',\r\n }\r\n },\r\n 'minecraft:the_nether': {\r\n type: 'minecraft:the_nether',\r\n generator: {\r\n type: 'minecraft:noise',\r\n seed,\r\n biome_source: {\r\n type: 'minecraft:multi_noise',\r\n preset: \"minecraft:nether\"\r\n },\r\n settings: 'minecraft:nether'\r\n }\r\n },\r\n 'minecraft:the_end': {\r\n type: \"minecraft:the_end\",\r\n generator: {\r\n type: \"minecraft:noise\",\r\n seed,\r\n biome_source: {\r\n type: \"minecraft:the_end\",\r\n seed\r\n },\r\n settings: \"minecraft:end\"\r\n }\r\n }\r\n }\r\n };\r\n }\r\n }));\r\n}\r\nexports.initWorldSettingsSchemas = initWorldSettingsSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initSchemas = void 0;\r\nconst Advancement_1 = require(\"./Advancement\");\r\nconst assets_1 = require(\"./assets\");\r\nconst ChatType_1 = require(\"./ChatType\");\r\nconst Common_1 = require(\"./Common\");\r\nconst Condition_1 = require(\"./Condition\");\r\nconst Dimension_1 = require(\"./Dimension\");\r\nconst DimensionType_1 = require(\"./DimensionType\");\r\nconst ItemModifier_1 = require(\"./ItemModifier\");\r\nconst LootTable_1 = require(\"./LootTable\");\r\nconst PackMcmeta_1 = require(\"./PackMcmeta\");\r\nconst Predicates_1 = require(\"./Predicates\");\r\nconst Recipe_1 = require(\"./Recipe\");\r\nconst Tags_1 = require(\"./Tags\");\r\nconst TextComponent_1 = require(\"./TextComponent\");\r\nconst worldgen_1 = require(\"./worldgen\");\r\nconst WorldSettings_1 = require(\"./WorldSettings\");\r\nfunction initSchemas(schemas, collections) {\r\n // `Common.ts` is the only file that has exports. It should be initialized first. \r\n (0, Common_1.initCommonSchemas)(schemas, collections);\r\n (0, ChatType_1.initChatTypeSchemas)(schemas, collections);\r\n (0, Advancement_1.initAdvancementSchemas)(schemas, collections);\r\n (0, assets_1.initAssetsSchemas)(schemas, collections);\r\n (0, Condition_1.initConditionSchemas)(schemas, collections);\r\n (0, DimensionType_1.initDimensionTypeSchemas)(schemas, collections);\r\n (0, Dimension_1.initDimensionSchemas)(schemas, collections);\r\n (0, ItemModifier_1.initItemModifierSchemas)(schemas, collections);\r\n (0, LootTable_1.initLootTableSchemas)(schemas, collections);\r\n (0, PackMcmeta_1.initPackMcmetaSchemas)(schemas, collections);\r\n (0, Predicates_1.initPredicatesSchemas)(schemas, collections);\r\n (0, Recipe_1.initRecipeSchemas)(schemas, collections);\r\n (0, Tags_1.initTagsSchemas)(schemas, collections);\r\n (0, TextComponent_1.initTextComponentSchemas)(schemas, collections);\r\n (0, worldgen_1.initWorldgenSchemas)(schemas, collections);\r\n (0, WorldSettings_1.initWorldSettingsSchemas)(schemas, collections);\r\n}\r\nexports.initSchemas = initSchemas;\r\n","\"use strict\";\r\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}));\r\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n});\r\nvar __importStar = (this && this.__importStar) || function (mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.getSchemas = exports.getCollections = exports.lootContext = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Collections_1 = require(\"./Collections\");\r\nconst schemas_1 = require(\"./schemas\");\r\nexports.lootContext = __importStar(require(\"./LootContext\"));\r\nfunction getCollections() {\r\n const collections = new core_1.CollectionRegistry();\r\n (0, Collections_1.initCollections)(collections);\r\n return collections;\r\n}\r\nexports.getCollections = getCollections;\r\n/**\r\n * @param collections The CollectionRegistry for this version. Note that apart from\r\n * the built-in collections, the client of this module is responsible for futhermore\r\n * adding the vanilla registries to it: the collection IDs shouldn't contain the\r\n * namespace (`minecraft:`) part, while the values within the collections should.\r\n *\r\n * @example\r\n * for (const key in VANILLA_REGISTRIES>) {\r\n * collections.register(\r\n * key.replace(/^minecraft:/, ''),\r\n * Object.keys(VANILLA_REGISTRIES[key].entries)\r\n * )\r\n * }\r\n */\r\nfunction getSchemas(collections) {\r\n const schemas = new core_1.SchemaRegistry();\r\n (0, schemas_1.initSchemas)(schemas, collections);\r\n return schemas;\r\n}\r\nexports.getSchemas = getSchemas;\r\n"],"names":["core_1","require$$0","require$$1","Common_1","require$$2","ProcessorList_1","DensityFunction_1","Biome_1","require$$3","require$$4","require$$5","require$$6","require$$7","require$$8","require$$9","require$$10","require$$11","require$$12","require$$13","require$$14","require$$15","this"],"mappings":"+1BACA,OAAO,eAAe,GAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EACrC,GAAA,gBAAG,OAC1B,YAAyB,EAAa,CAClC,EAAY,SAAS,sBAAuB,CACxC,qCACA,4BACA,+BACA,yBACA,0BACA,8BACA,gCACA,6BACA,yBACA,kCACA,4BACA,2BACA,wBACA,+BACA,iCACA,6BACA,0BACA,+BACA,gCACA,uBACA,8BACA,oCACA,+BACA,yCACA,+BACA,uBACA,6BACA,qBACA,0BACA,yBACA,4CACA,+BACA,0CACA,iCACA,4BACA,gCACA,0BACA,yBACA,6BACA,2BACA,4BACA,wBACA,uBACA,iBACA,4CACA,4CACA,2BACA,uBACA,uBACA,2BACA,2BACR,CAAK,EACD,EAAY,SAAS,UAAW,CAC5B,mBACA,aACA,WACA,WACA,cACA,WACA,cACA,iBACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,gBACA,WACA,WACA,2BACA,eACA,iBACA,YACA,2BACA,iBACA,mBACA,YACA,wBACA,aACA,kBACA,wBACA,SACR,CAAK,EACD,EAAY,SAAS,OAAQ,CACzB,WACA,UACA,OACA,QACA,OACA,MACR,CAAK,EACD,EAAY,SAAS,WAAY,CAC7B,WACA,WACA,YACA,WACR,CAAK,EACD,EAAY,SAAS,gBAAiB,CAClC,OACA,SACA,gBACA,eACR,CAAK,EACD,EAAY,SAAS,cAAe,CAChC,eACA,OACA,SACA,eACR,CAAK,EACD,EAAY,SAAS,iCAAkC,CACnD,gCACA,sCACA,qBACR,CAAK,EACD,EAAY,SAAS,iBAAkB,CACnC,UACA,WACA,SACA,QACA,aACA,cACA,WACA,eACA,iBACA,oBACA,QACA,eACA,gBACA,iBACA,oBACA,gBACA,cACA,cACA,cACA,oBACA,cACA,gBACA,cACA,eACA,eACA,aACA,cACR,CAAK,EACD,EAAY,SAAS,cAAe,CAChC,kBACA,kBACA,iBACA,UACA,WACA,QACA,iBACA,UACA,YACA,WACA,gBACA,aACA,mBACA,gBACA,YACA,aACA,YACA,SACR,CAAK,EACD,EAAY,SAAS,eAAgB,CACjC,MACA,iBACA,aACA,gBACA,YACA,qBACA,WACA,cACA,OACA,cACA,iBACA,oBACA,SACA,gBACA,cACA,qBACA,eACA,SACA,kBACA,wBACA,OACA,YACA,aACA,WACA,UACA,kBACA,gBACA,aACA,WACA,cACA,aACA,SACA,OACA,OACA,QACA,WACA,YACA,SACA,iBACR,CAAK,EACD,EAAY,SAAS,iBAAkB,CACnC,QACA,SACA,gBACA,SACA,MACA,SACA,OACA,WACA,WACA,SACA,OACA,QACA,SACA,QACA,UACA,QACA,QACA,UACA,aACR,CAAK,EACD,EAAY,SAAS,iBAAkB,CACnC,kBACA,4BACA,cACA,iBACA,gBACA,kBACR,CAAK,EACD,EAAY,SAAS,kBAAmB,CACpC,MACA,QACR,CAAK,EACD,EAAY,SAAS,kBAAmB,CACpC,iBACA,QACA,sBACA,yBACA,qBACA,cACA,mBACA,yBACA,gBACA,qBACA,wBACR,CAAK,EACD,EAAY,SAAS,oBAAqB,CACtC,kBACA,kBACA,oBACA,qBACA,oBACA,mBACA,iBACA,mBACA,+BACA,+BACA,oBACA,iBACR,CAAK,EACD,EAAY,SAAS,iBAAkB,CACnC,OACA,qBACA,sBACA,kBACA,mBACA,gBACA,aACA,cACA,eACA,gBACA,gBACA,mBACA,kBACA,gBACA,QACA,iBACA,kBACA,eACA,mBACA,gBACA,gBACA,oBACA,mBACA,iBACA,SACA,UACA,gBACA,kBACA,sBACA,yBACA,SACA,eACA,WACA,cACA,SACA,QACA,UACA,QACA,SACA,SACA,QACR,CAAK,EACD,EAAY,SAAS,YAAa,CAC9B,QACA,SACA,UACA,aACA,SACA,OACA,OACA,OACA,aACA,OACA,SACA,OACA,QACA,QACA,MACA,OACR,CAAK,EACD,EAAY,SAAS,eAAgB,CACjC,QACA,SACR,CAAK,EACD,EAAY,SAAS,YAAa,CAC9B,OACA,KACA,QACA,OACA,QACA,MACR,CAAK,EACD,EAAY,SAAS,OAAQ,CACzB,IACA,IACA,GACR,CAAK,EACD,EAAY,SAAS,mBAAoB,CACrC,wBACA,uBACA,wBACA,uBACA,MACA,OACA,SACA,OACR,CAAK,EACD,EAAY,SAAS,YAAa,CAC9B,QACA,MACR,CAAK,EACD,EAAY,SAAS,wBAAyB,CAC1C,QACA,WACA,SACA,OACA,UACA,WACA,oBACA,SACA,UACA,WACA,aACA,OACA,UACA,WACA,MACR,CAAK,EACD,EAAY,SAAS,eAAgB,CACjC,UACA,WACA,UACA,WACA,6BACA,iBACA,gBACA,MACR,CAAK,CACL,CACA,GAAA,gBAA0B,mBCxY1B,OAAO,eAAe,GAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EAC9B,GAAA,uBAAG,OACjC,KAAMA,GAASC,EACf,YAAgC,EAAS,EAAa,CAClD,KAAM,GAAYD,EAAO,UAAU,KAAK,OAAW,CAAO,EACpD,EAAaA,EAAO,WAAW,KAAK,OAAW,CAAW,EAC1D,KAAsBA,EAAO,YAAY,CAC3C,CACI,KAAM,SACN,KAAM,GAAIA,EAAO,KAAK,EAAU,kBAAkB,CAAC,EACnD,OAAQ,GAAK,CAAE,GAAI,GAAI,EAAI,MAAQ,GAAM,GAAK,EAAE,MAAQ,MAAQ,IAAO,OAAS,OAAS,EAAG,aAAe,MAAQ,IAAO,OAAS,EAAM,CAAA,CAAM,CAClJ,EACD,CACI,KAAM,OACN,KAAM,GAAIA,EAAO,UAAU,EAAU,WAAW,CAAC,EACjD,OAAQ,GAAK,CAAC,CACN,UAAW,8BACX,UAAW,CAC/B,CAAiB,CACR,CACT,EAAO,CAAE,QAAS,YAAY,CAAE,EAC5B,EAAQ,SAAS,cAAe,GAAIA,EAAO,KAAK,GAAIA,EAAO,YAAY,CACnE,QAAS,GAAIA,EAAO,KAAK,GAAIA,EAAO,KAAK,GAAIA,EAAO,YAAY,CAC5D,KAAM,GAAIA,EAAO,YAAY,CACzB,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,MAAM,EAAI,EACpE,IAAK,GAAIA,EAAO,KAAK,EAAW,CAAE,UAAW,MAAO,OAAQ,CAAE,SAAU,CAAE,SAAU,iBAAkB,GAAI,CAAC,MAAO,CAAE,KAAM,MAAQ,CAAA,EAAK,CAAA,CAAE,CAAC,CAC1J,CAAa,EACD,MAAO,EAAU,gBAAgB,EACjC,YAAa,EAAU,gBAAgB,EACvC,WAAgBA,GAAAA,EAAO,KAAK,EAAU,CAAE,EACxC,MAAWA,GAAAA,EAAO,KAAK,EAAW,CAAE,KAAM,CAAC,OAAQ,YAAa,MAAM,CAAG,CAAA,CAAC,EAC1E,WAAgBA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,EACrD,iBAAsBA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,EAC3D,OAAYA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,CAC7D,CAAS,EAAG,CACA,QAAS,IAAO,EACZ,KAAM,CACF,KAAM,iBACT,EACD,MAAO,GACP,YAAa,EAC7B,EACA,CAAS,CAAC,EACF,OAAYA,GAAAA,EAAO,KAAK,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,cAAc,CAAI,CAAA,CAAC,EAC/F,SAAcA,GAAAA,EAAO,SAAS,EAAU,EAAI,EAAU,sBAAsB,CAAC,EAC7E,aAAc,GAAIA,EAAO,KAASA,GAAAA,EAAO,UAAcA,GAAAA,EAAO,UAAU,EAAY,CAC5F,CAAS,CAAC,EACF,QAAS,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAC5C,SAAcA,GAAAA,EAAO,KAAK,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,WAAW,CAAI,CAAA,CAAC,EAC9F,KAAUA,GAAAA,EAAO,KAAK,GAAIA,EAAO,UAAU,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,aAAa,CAAI,CAAA,CAAC,CAAC,EAClH,QAAaA,GAAAA,EAAO,KAAK,GAAIA,EAAO,UAAU,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,SAAS,CAAI,CAAA,CAAC,CAAC,EACjH,WAAY,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,CAAC,CACjF,CAAS,CAAC,CACV,EAAO,CAAE,QAAS,aAAa,CAAE,EAAG,CAC5B,QAAS,IAAO,EACZ,SAAU,CACN,YAAa,CACT,QAAS,oBACZ,CACJ,CACb,EACK,CAAA,CAAC,EACF,EAAQ,SAAS,uBAA4BA,GAAAA,EAAO,YAAY,CAC5D,QAAS,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,EAAY,IAAI,qBAAqB,CAAG,CAAA,CAAE,EACvG,WAAY,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAC/C,OAAYA,GAAAA,EAAO,KAAK,EAAiB,CACrC,QAAS,GAAQ,EAAK,IAAG,EAAG,KAAK,SAAS,EAAE,IAAG,IAAO,sBACtE,CAAa,GACAA,EAAO,QAAS,CAAC,MAAO,CAAE,KAAM,UAAW,GAC3CA,EAAO,MAAO,CACX,qCAAsC,CAClC,KAAM,GAAIA,EAAO,KAAK,EAAU,gBAAgB,CAAC,EACjD,SAAU,GAAIA,EAAO,KAAK,EAAU,oBAAoB,CAAC,CAC5D,EACD,+BAAgC,CAC5B,MAAWA,GAAAA,EAAO,KAAK,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,OAAO,CAAI,CAAA,CAAC,EACvF,gBAAiB,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,CAAC,EAC1E,KAAM,GAAIA,EAAO,KAAK,EAAU,gBAAgB,CAAC,CACpD,EACD,yBAA0B,CACtB,OAAQ,EACR,QAAS,EACT,MAAO,CACV,EACD,0BAA2B,CACvB,OAAYA,GAAAA,EAAO,KAAK,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,QAAQ,CAAI,CAAA,CAAC,CAC5F,EACD,8BAA+B,CAC3B,KAAUA,GAAAA,EAAO,KAAK,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,YAAY,CAAI,CAAA,CAAC,EAC3F,GAAQA,GAAAA,EAAO,KAAK,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,YAAY,CAAI,CAAA,CAAC,CAC5F,EACD,gCAAiC,CAC7B,QAAaA,GAAAA,EAAO,KAASA,GAAAA,EAAO,UAAU,CAAe,CAAC,CACjE,EACD,6BAA8B,CAC1B,MAAO,EAAU,YAAY,CAChC,EACD,yBAA0B,CACtB,KAAM,GAAIA,EAAO,KAAK,EAAU,gBAAgB,CAAC,CACpD,EACD,kCAAmC,CAC/B,SAAU,EACV,OAAQ,CACX,EACD,4BAA6B,CACzB,QAAaA,GAAAA,EAAO,KAASA,GAAAA,EAAO,SAAS,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,YAAc,CAAA,CAAE,EAAG,GAAIA,EAAO,YAAY,CACvI,UAAW,EAAU,YAAY,EACjC,SAAU,EAAU,YAAY,CACnC,CAAA,CAAC,CAAC,EACH,OAAYA,GAAAA,EAAO,KAAK,CAAe,CAC1C,EACD,wBAAyB,CACrB,MAAWA,GAAAA,EAAO,KAAK,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,OAAO,CAAI,CAAA,CAAC,EACvF,MAAWA,GAAAA,EAAO,QAASA,EAAO,SAAS,IAAc,IAAc,CAAE,WAAY,CAAE,UAAW,kBAAmB,OAAQ,CAAE,GAAI,CAAC,MAAO,CAAE,KAAM,OAAS,CAAA,EAAK,CAAA,CAAE,CAAC,CACvK,EACD,2BAA4B,CACxB,OAAQ,EAAU,YAAY,EAC9B,KAAM,GAAIA,EAAO,KAAK,EAAU,gBAAgB,CAAC,CACpD,EACD,+BAAgC,CAC5B,OAAQ,GAAIA,EAAO,KAAK,EAAU,kBAAkB,CAAC,CACxD,EACD,iCAAkC,CAC9B,OAAQ,EACR,aAAc,GAAIA,EAAO,KAAK,EAAU,yBAAyB,CAAC,CACrE,EACD,6BAA8B,CAC1B,eAAgB,GAAIA,EAAO,KAAK,EAAU,oBAAoB,CAAC,EAC/D,SAAU,GAAIA,EAAO,KAAK,EAAU,oBAAoB,CAAC,CAC5D,EACD,0BAA2B,CACvB,KAAM,GAAIA,EAAO,KAAK,EAAU,gBAAgB,CAAC,CACpD,EACD,+BAAgC,CAC5B,OAAQ,EACR,KAAM,GAAIA,EAAO,KAAK,EAAU,gBAAgB,CAAC,CACpD,EACD,8BAA+B,CAC3B,MAAO,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAC1C,MAAO,EAAU,YAAY,EAC7B,SAAU,EAAU,YAAY,EAChC,KAAM,EAAU,YAAY,CACpD,CAAqB,CAAC,EACF,MAAO,GAAIA,EAAO,KAAK,GAAIA,EAAO,UAAU,EAAU,gBAAgB,CAAC,CAAC,CAC3E,EACD,oCAAqC,CACjC,MAAO,EAAU,YAAY,EAC7B,WAAY,EAAU,YAAY,EAClC,KAAM,GAAIA,EAAO,KAAK,EAAU,gBAAgB,CAAC,CACpD,EACD,+BAAgC,CAC5B,KAAM,GAAIA,EAAO,KAAK,EAAU,gBAAgB,CAAC,EACjD,SAAU,GAAIA,EAAO,KAAK,EAAU,oBAAoB,CAAC,CAC5D,EACD,yCAA0C,CACtC,OAAQ,EACR,aAAc,GAAIA,EAAO,KAAK,EAAU,yBAAyB,CAAC,CACrE,EACD,+BAAgC,CAC5B,oBAAqB,EAAU,YAAY,EAC3C,QAAaA,GAAAA,EAAO,KAASA,GAAAA,EAAO,UAAU,CAAe,CAAC,CACjE,EACD,uBAAwB,CACpB,SAAU,GAAIA,EAAO,KAAK,EAAU,oBAAoB,CAAC,EACzD,SAAU,EAAU,YAAY,CACnC,EACD,6BAA8B,CAC1B,UAAW,EACX,UAAW,CACd,EACD,0BAA2B,CACvB,eAAgB,GAAIA,EAAO,KAAK,EAAU,oBAAoB,CAAC,EAC/D,SAAU,GAAIA,EAAO,KAAK,EAAU,oBAAoB,CAAC,CAC5D,EACD,yBAA0B,CACtB,MAAWA,GAAAA,EAAO,KAAK,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,OAAO,CAAI,CAAA,CAAC,EACvF,MAAWA,GAAAA,EAAO,QAASA,EAAO,SAAS,IAAc,IAAc,CAAE,WAAY,CAAE,UAAW,kBAAmB,OAAQ,CAAE,GAAI,CAAC,MAAO,CAAE,KAAM,OAAS,CAAA,EAAK,CAAA,CAAE,CAAC,EACpK,KAAM,GAAIA,EAAO,KAAK,EAAU,gBAAgB,CAAC,EACjD,SAAU,GAAIA,EAAO,KAAK,EAAU,oBAAoB,CAAC,CAC5D,EACD,4CAA6C,CACzC,WAAY,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,aAAa,EAAI,CACpF,EACD,+BAAgC,CAC5B,OAAQ,GAAIA,EAAO,KAAK,EAAU,kBAAkB,CAAC,EACrD,OAAQ,CACX,EACD,0CAA2C,CACvC,KAAM,GAAIA,EAAO,KAAK,EAAU,gBAAgB,CAAC,EACjD,OAAQ,CACX,EACD,iCAAkC,CAC9B,OAAQ,EACR,aAAc,GAAIA,EAAO,KAAK,EAAU,yBAAyB,CAAC,CACrE,EACD,4BAA6B,CACzB,OAAQ,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,SAAS,EAAI,CAC5E,EACD,gCAAiC,CAC7B,eAAgB,GAAIA,EAAO,KAAK,EAAU,oBAAoB,CAAC,EAC/D,SAAU,GAAIA,EAAO,KAAK,EAAU,oBAAoB,CAAC,CAC5D,EACD,6BAA8B,CAC1B,MAAWA,GAAAA,EAAO,KAAK,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,OAAO,CAAI,CAAA,CAAC,CAC1F,EACD,0BAA2B,CACvB,KAAM,GAAIA,EAAO,KAAK,EAAU,gBAAgB,CAAC,CACpD,EACD,4BAA6B,CACzB,OAAQ,CACX,EACD,wBAAyB,CACrB,OAAQ,CACX,EACD,uBAAwB,CACpB,WAAY,EACZ,QAAS,EACT,gBAAiB,EAAU,YAAY,CAC1C,EACD,4CAA6C,CACzC,OAAQ,EACR,KAAM,GAAIA,EAAO,KAAK,EAAU,gBAAgB,CAAC,CACpD,EACD,4CAA6C,CACzC,OAAQ,EACR,KAAM,GAAIA,EAAO,KAAK,EAAU,gBAAgB,CAAC,CACpD,EACD,2BAA4B,CACxB,SAAU,GAAIA,EAAO,KAAK,EAAU,cAAc,CAAC,CACtD,EACD,uBAAwB,CACpB,KAAM,GAAIA,EAAO,KAAK,EAAU,gBAAgB,CAAC,CACpD,EACD,uBAAwB,CACpB,KAAM,GAAIA,EAAO,KAAK,EAAU,gBAAgB,CAAC,CACpD,EACD,2BAA4B,CACxB,SAAU,EACV,KAAM,GAAIA,EAAO,KAAK,EAAU,gBAAgB,CAAC,CACpD,CACJ,CACb,EAAW,CAAE,QAAS,WAAW,CAAE,CAAC,CACpC,EAAO,CAAE,SAAU,YAAa,QAAS,WAAW,CAAE,CAAC,CACvD,CACA,GAAA,uBAAiC,mBCpPjC,OAAO,eAAe,GAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EACpC,GAAA,iBAAG,OAC3B,KAAMA,GAASC,EACf,YAA0B,EAAS,EAAa,CAC1BD,EAAO,UAAU,KAAK,OAAW,CAAO,EAC1D,KAAM,GAAaA,EAAO,WAAW,KAAK,OAAW,CAAW,EAC1D,EAAM,CAAC,EAAQ,EAAK,OAAYA,EAAO,aAAcA,EAAO,YAAY,CAAE,MAAK,KAAG,CAAE,EAAG,CAAE,UAAW,EAAQ,UAAW,CAAM,CAAE,EAC/H,KAAcA,EAAO,YAAY,CACnC,CACI,KAAM,QACN,MAAO,AAAC,GAAM,MAAO,IAAM,UAAY,EAAE,WAAW,GAAG,EACvD,KAAM,EAAY,EAClB,OAAQ,AAAC,GAAM,MAAO,IAAM,SAAW,IAAI,IAAM,IACpD,EACD,CACI,KAAM,YACN,MAAO,AAAC,GAAM,MAAO,IAAM,SAC3B,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,UAAU,EAAI,EACxE,OAAQ,AAAC,GAAM,MAAO,IAAM,SAAW,EAAE,QAAQ,KAAM,EAAE,EAAI,EAChE,CACT,EAAO,CAAE,cAAe,SAAS,CAAE,EAC/B,EAAQ,SAAS,QAAS,GAAIA,EAAO,KAAK,GAAIA,EAAO,YAAY,CAC7D,OAAYA,GAAAA,EAAO,KAAK,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,QAAQ,CAAI,CAAA,CAAC,EACzF,iBAAsBA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,EAC3D,UAAeA,GAAAA,EAAO,KAAK,EAAW,CAAE,KAAM,WAAW,CAAE,CAAC,EAC5D,SAAU,GAAIA,EAAO,KAAK,GAAIA,EAAO,SAAS,IAAc,CAAO,CAAC,EACpE,SAAU,GAAIA,EAAO,KAAK,GAAIA,EAAO,UAAU,GAAIA,EAAO,YAAY,CAClE,KAAM,EAAI,EAAG,IAAK,EAAE,EACpB,GAAI,EAAI,EAAG,IAAK,EAAE,EAClB,SAAU,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAC7C,OAAQ,EAAI,CAAC,EACb,KAAM,EAAW,CAAE,KAAM,MAAM,CAAE,EACjC,MAAO,GAAIA,EAAO,YAAY,CAAE,OAAQ,CAAC,IAAK,MAAO,EAAG,KAAM,EAAE,CAAC,CAAE,EACnE,QAAaA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,CAClE,CAAa,CAAC,EACF,MAAWA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,EAChD,MAAWA,GAAAA,EAAO,SAAS,EAAW,CAAE,KAAM,YAAa,KAAOA,EAAO,YAAY,CACjF,QAAS,EACT,GAAI,GAAIA,EAAO,KAAK,EAAI,CAAC,CAAC,EAC1B,SAAcA,GAAAA,EAAO,KAAK,EAAW,CAAE,KAAM,WAAW,CAAE,CAAC,EAC3D,SAAU,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,CAAC,EACnE,UAAW,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,CAAC,CACpF,CAAa,CAAC,CACL,EAAE,CAAE,QAAS,eAAiB,CAAA,CAAC,CAAC,EACjC,QAAS,GAAIA,EAAO,KAAK,GAAIA,EAAO,SAAS,EAAW,CAAE,KAAM,kBAAkB,CAAE,EAAOA,GAAAA,EAAO,YAAY,CAC1G,SAAU,EAAI,CAAC,EACf,YAAa,EAAI,EAAG,IAAK,EAAE,EAC3B,MAAO,EAAI,EAAG,GAAI,CAAC,CACtB,EAAE,CAAE,QAAS,gBAAkB,CAAA,CAAC,CAAC,EAClC,UAAW,GAAIA,EAAO,KAAK,GAAIA,EAAO,UAAU,GAAIA,EAAO,YAAY,CACnE,UAAeA,GAAAA,EAAO,SAAS,EAAW,CAAE,KAAM,wBAAyB,KAAOA,EAAO,YAAU,CAAG,EACtG,MAAO,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,QAAQ,EAAI,CAC1E,EAAE,CAAE,QAAS,gBAAkB,CAAA,CAAC,CAAC,CAC1C,EAAO,CAAE,QAAS,OAAO,CAAE,EAAG,CACtB,QAAS,IAAO,EACZ,OAAQ,2BACR,SAAU,CACN,OAAQ,wBACX,CACb,EACK,CAAA,CAAC,CACN,CACA,GAAA,iBAA2B,aC9D3B,OAAO,eAAe,GAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EAC1B,GAAA,2BAAG,OACrC,KAAMA,GAASC,EACf,YAAoC,EAAS,EAAa,CACtD,KAAM,GAAYD,EAAO,UAAU,KAAK,OAAW,CAAO,EACpD,EAAaA,EAAO,WAAW,KAAK,OAAW,CAAW,EAChE,EAAQ,SAAS,mBAAoB,GAAIA,EAAO,KAAK,GAAIA,EAAO,YAAY,CACxE,CACI,KAAM,WACN,MAAO,AAAC,GAAM,EAAE,WAAa,OAC7B,KAAM,GAAIA,EAAO,YAAY,CACzB,SAAcA,GAAAA,EAAO,SAAS,EAAU,EAAI,EAAU,eAAe,CAAC,CACtF,CAAa,EACD,OAAQ,AAAC,GAAO,EAAE,SAAU,CAAE,GAAI,CAAE,CAAA,GACvC,EACD,CACI,KAAM,YACN,MAAO,AAAC,GAAM,EAAE,YAAc,OAC9B,KAAM,GAAIA,EAAO,YAAY,CACzB,UAAW,GAAIA,EAAO,UAAcA,GAAAA,EAAO,YAAY,CACnD,KAAM,GAAIA,EAAO,KAAK,EAAU,qBAAqB,CAAC,EACtD,MAAO,EAAU,eAAe,CACpD,CAAiB,CAAC,CAClB,CAAa,EACD,OAAQ,AAAC,GAAO,EAAE,UAAW,CAAE,KAAM,GAAI,MAAO,CAAE,CAAA,GACrD,CACT,EAAO,CAAE,QAAS,kBAAkB,CAAE,EAAG,CACjC,QAAS,IAAO,EACZ,SAAU,CACN,GAAI,CACA,MAAO,uBACV,CACJ,CACb,EACK,CAAA,CAAC,EACF,KAAM,GAAkB,CACpB,MAAO,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,QAAQ,EAAI,EACvE,EAAOA,GAAAA,EAAO,KAAK,GAAIA,EAAO,YAAY,CAAE,QAAS,GAAM,OAAQ,CAAC,EAAG,GAAI,IAAK,GAAG,CAAC,CAAE,CAAC,EACvF,EAAOA,GAAAA,EAAO,KAAK,GAAIA,EAAO,YAAY,CAAE,QAAS,GAAM,OAAQ,CAAC,EAAG,GAAI,IAAK,GAAG,CAAC,CAAE,CAAC,EACvF,OAAYA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,CACzD,EACI,EAAQ,SAAS,gBAAqBA,GAAAA,EAAO,YAAY,CACrD,CACI,KAAM,SACN,KAAUA,GAAAA,EAAO,YAAY,CAAe,EAC5C,OAAQ,AAAC,GAAM,MAAM,QAAQ,CAAC,GAAK,EAAE,OAAS,EAAI,EAAE,GAAM,CAAA,CAC7D,EACD,CACI,KAAM,OACN,KAAM,GAAIA,EAAO,UAAcA,GAAAA,EAAO,YAAY,OAC3C,GAD2C,CAE9C,OAAYA,GAAAA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,CAAG,CAAA,CAAC,CACzF,GAAe,CAAE,QAAS,eAAe,CAAE,CAAC,EAChC,OAAQ,AAAC,GAAM,CAAC,GAAE,OAAQ,GAAM,EAAG,CACtC,CACJ,EAAE,CAAE,QAAS,eAAiB,CAAA,CAAC,EAChC,EAAQ,SAAS,sBAA2BA,GAAAA,EAAO,YAAY,CAC3D,CACI,KAAM,SACN,SAAU,GACV,MAAO,IAAM,GACb,KAAUA,GAAAA,EAAO,SAAS,EAAY,EAAE,EAAU,CAAE,EACpD,OAAQ,AAAC,GAAM,MAAO,IAAM,UAAY,MAAM,QAAQ,GAAM,KAAuB,OAAS,EAAE,EAAE,GAAK,EAAE,GAAG,OAAS,EAAI,EAAE,GAAG,GAAM,CAAA,CACrI,EACD,CACI,KAAM,KACN,MAAO,AAAC,GAAM,MAAO,IAAM,UAAa,IAAM,KAAuB,OAAS,EAAE,MAAQ,OACxF,KAAM,GAAIA,EAAO,YAAY,CACzB,GAAI,GAAIA,EAAO,UAAU,EAAU,qBAAqB,CAAC,CACzE,CAAa,EACD,OAAQ,AAAC,GAAO,EAAE,GAAI,CAAC,GAAM,KAAuB,EAAI,CAAA,CAAE,CAAC,EAC9D,CACJ,EAAE,CAAE,QAAS,qBAAuB,CAAA,CAAC,CAC1C,CACA,GAAA,2BAAqC,GC1ErC,OAAO,eAAe,GAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EACnC,GAAA,kBAAG,OAC5B,KAAM,IAAUC,GACV,GAAoBC,GAC1B,YAA2B,EAAS,EAAa,CAC7C,AAAA,GAAI,GAAkB,4BAA4B,EAAS,CAAW,EACtE,GAAI,GAAQ,kBAAkB,EAAS,CAAW,CACtD,CACA,GAAA,kBAA4B,aCR5B,OAAO,eAAe,GAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EACjC,GAAA,oBAAG,OAC9B,KAAMF,GAASC,EACf,YAA6B,EAAS,EAAa,CAC/C,KAAM,GAAYD,EAAO,UAAU,KAAK,OAAW,CAAO,EACpD,EAAaA,EAAO,WAAW,KAAK,OAAW,CAAW,EAChE,EAAQ,SAAS,YAAa,GAAIA,EAAO,KAAK,GAAIA,EAAO,YAAY,CACjE,KAAM,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CACzC,WAAY,GAAIA,EAAO,KAAK,EAAU,iBAAiB,CAAC,CACpE,CAAS,CAAC,EACF,QAAS,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAC5C,WAAY,GAAIA,EAAO,KAAK,EAAU,iBAAiB,CAAC,CACpE,CAAS,CAAC,EACF,UAAW,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAC9C,WAAY,GAAIA,EAAO,KAAK,EAAU,iBAAiB,CAAC,EACxD,SAAU,EAAW,CAAE,KAAM,CAAC,OAAQ,QAAQ,EAAG,CAC7D,CAAS,CAAC,CACV,EAAO,CAAE,QAAS,WAAW,CAAE,EAAG,CAC1B,QAAS,IAAO,EACZ,KAAM,CACF,WAAY,CACR,WAAY,CAAC,SAAU,SAAS,EAChC,gBAAiB,iBACjB,MAAO,CAAE,CACZ,CACJ,CACb,EACK,CAAA,CAAC,EACF,EAAQ,SAAS,kBAAmB,GAAIA,EAAO,KAAK,GAAIA,EAAO,YAAY,CACvE,gBAAiB,EAAY,EAC7B,WAAgBA,GAAAA,EAAO,UAAU,EAAW,CAAE,KAAM,CAAC,SAAU,YAAa,SAAS,CAAG,CAAA,CAAC,EACzF,MAAO,EAAU,YAAY,CACrC,EAAO,CAAE,QAAS,iBAAiB,CAAE,EAAG,CAChC,QAAS,IAAO,EACZ,gBAAiB,iBACjB,WAAY,CAAC,SAAU,SAAS,EAChC,MAAO,CAAE,CACrB,EACK,CAAA,CAAC,CACN,CACA,GAAA,oBAA8B,yBCxC9B,OAAO,eAAc,EAAU,aAAc,CAAE,MAAO,EAAI,CAAE,EAC5D,EAAA,kBAA4B,EAAc,IAAA,EAAA,eAAyB,EAAsB,YAAA,EAAA,cAAwB,EAA+B,qBAAA,EAAA,qBAA+B,EAA+B,qBAAA,EAAA,qBAA+B,EAAwB,cAAA,EAAA,eAAyB,OAC9R,KAAM,GAASC,EACf,EAA+B,qBAAA,CAC3B,UAAW,GACX,QAAS,GACT,YAAa,GACb,qBAAsB,GACtB,UAAW,GACX,UAAW,GACX,aAAc,GACd,YAAa,GACb,iBAAkB,EAClB,cAAe,EACf,eAAgB,IAChB,WAAY,kCACZ,MAAO,EACP,OAAQ,GACZ,EACA,EAA+B,qBAAA,CAC3B,UAAW,GACX,kBAAmB,GACnB,uBAAwB,GACxB,iBAAkB,GAClB,qBAAsB,GACtB,cAAe,CACX,KAAM,iBACT,EACD,cAAe,CACX,WAAY,CACR,MAAO,GACV,EACD,KAAM,iBACT,EACD,MAAO,CACH,MAAO,IACP,OAAQ,IACR,gBAAiB,EACjB,cAAe,EACf,UAAW,CACP,OAAQ,SACR,KAAM,EACN,OAAQ,CACX,EACD,aAAc,CACV,OAAQ,SACR,KAAM,EACN,OAAQ,CACX,EACD,SAAU,CACN,SAAU,kBACV,QAAS,kBACT,UAAW,GACX,SAAU,GACb,EACD,eAAgB,CACZ,OAAQ,EACR,OAAQ,EACR,WAAY,CACf,CACJ,EACD,aAAc,CACV,QAAS,EACT,wBAAyB,EACzB,mBAAoB,EACpB,KAAM,EACN,YAAa,EACb,WAAY,EACZ,WAAY,EACZ,QAAS,EACT,MAAO,EACP,OAAQ,EACR,mCAAoC,EACpC,cAAe,CACX,KAAM,yBACN,SAAU,mCACb,EACD,YAAa,EACb,YAAa,EACb,SAAU,CACb,EACD,aAAc,CACV,KAAM,qBACN,SAAU,CAAE,CACf,CACL,EACA,WAA2B,EAAS,EAAa,CAC7C,KAAM,GAAa,EAAO,WAAW,KAAK,OAAW,CAAW,EAC1D,EAAY,EAAO,UAAU,KAAK,OAAW,CAAO,EAC1D,EAAQ,SAAS,cAAe,GAAI,EAAO,KAAK,GAAI,EAAO,YAAY,CACnE,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,OAAO,EAAI,EACrE,WAAgB,GAAA,EAAO,QAAS,EAAO,SAAS,IAAc,IAAc,CAAE,WAAY,CAAE,UAAW,kBAAmB,OAAQ,CAAE,GAAI,CAAC,MAAO,CAAE,KAAM,MAAQ,CAAA,EAAK,CAAA,CAAE,CAAC,CAChL,EAAO,CAAE,QAAS,aAAa,CAAE,EAAG,CAC5B,QAAS,IAAO,EACZ,KAAM,iBAClB,EACK,CAAA,CAAC,EACF,EAAQ,SAAS,cAAe,GAAI,EAAO,KAAK,GAAI,EAAO,YAAY,CACnE,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,OAAO,EAAI,EACrE,WAAY,GAAI,EAAO,KAAS,GAAA,EAAO,SAAS,EAAU,EAAI,EAAU,CAAE,CAAC,CACnF,EAAO,CAAE,QAAS,aAAa,CAAE,EAAG,CAC5B,QAAS,IAAO,EACZ,KAAM,kBACN,WAAY,CACR,MAAS,GACZ,CACb,EACK,CAAA,CAAC,EACF,EAAQ,SAAS,YAAiB,GAAA,EAAO,KAAS,GAAA,EAAO,aAAc,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,EAAG,CAAE,UAAW,EAAG,UAAW,CAAC,CAAE,EAAG,CAC3I,QAAS,IAAM,CAAC,EAAG,EAAG,CAAC,CAC1B,CAAA,CAAC,EACF,KAAM,GAAS,AAAC,GAAY,GAAI,EAAO,KAAK,GAAI,EAAO,YAAY,CAC/D,CACI,KAAM,SACN,KAAM,GAAI,EAAO,YAAY,CAAE,SAAO,CAAE,EACxC,OAAQ,AAAC,GAAM,CAAE,GAAI,GAAI,EAAI,MAAO,KAAM,OAAY,EAAK,GAAM,GAAK,EAAE,OAAS,MAAQ,IAAO,OAAS,EAAK,EAAE,OAAS,MAAQ,IAAO,OAAS,EAAK,CAAI,CAC7J,EACD,CACI,KAAM,SACN,KAAM,GAAI,EAAO,YAAY,CACzB,IAAK,GAAI,EAAO,KAAK,GAAI,EAAO,YAAY,CAAE,SAAO,CAAE,CAAC,EACxD,IAAK,GAAI,EAAO,KAAK,GAAI,EAAO,YAAY,CAAE,SAAO,CAAE,CAAC,CACxE,EAAe,CAAE,QAAS,QAAS,EACvB,OAAQ,AAAC,GAAO,EACZ,IAAK,GAAM,KAAuB,EAAI,EACtC,IAAK,GAAM,KAAuB,EAAI,CACtD,EACS,CACJ,CAAA,CAAC,EACF,EAAQ,SAAS,aAAc,EAAO,EAAI,CAAC,EAC3C,EAAQ,SAAS,eAAgB,EAAQ,CAAA,EACzC,EAAQ,SAAS,YAAiB,GAAA,EAAO,YAAY,CACjD,CACI,KAAM,SACN,KAAM,GAAI,EAAO,YAAY,CACzB,IAAK,GAAI,EAAO,KAAK,EAAU,iBAAiB,CAAC,EACjD,IAAK,GAAI,EAAO,KAAK,EAAU,iBAAiB,CAAC,CACjE,CAAa,CACJ,EACD,CACI,KAAM,SACN,KAAU,GAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,CACjD,CACJ,EAAE,CAAE,QAAS,OAAS,CAAA,CAAC,EACxB,KAAM,GAAiB,CAAC,EAAM,EAAY,EAAY,EAAe,EAAe,EAAS,IAAU,CACnG,GAAI,IAAc,CAAA,EAClB,AAAI,GACA,OAAO,KAAK,EAAM,EAAc,EAAE,QAAQ,GAAK,CAC3C,GAAY,MAAS,EAAO,KAAK,EAAM,GAAe,GAAI,CACtD,QAAS,GAAQ,EAAK,KAAK,MAAM,EAAE,IAAG,IAAO,MACjE,CAAiB,CACjB,CAAa,EAEL,KAAM,MAAe,EAAO,YAAY,GACpC,KAAM,GAAI,EAAO,KAAS,GAAA,EAAO,KAAK,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,MAAM,CAAA,CAAE,CAAC,EAAG,CAC5F,OAAQ,IAAM,EAC9B,CAAa,GACA,EAAO,QAAS,CAAC,CAAE,KAAM,MAAM,CAAE,GACjC,EAAO,MAAO,GACZ,IACJ,CAAE,UAAS,qBAAsB,EAAM,CAAA,EACpC,GAAU,CAAC,CACT,KAAM,EACN,KAAM,EAAM,GAAe,EAC3C,CAAa,EACL,MAAI,IACA,GAAQ,KAAK,CACT,KAAM,SACN,SAAU,GACV,KAAM,CACtB,CAAa,EAEL,OAAO,KAAK,CAAK,EAAE,QAAQ,GAAK,CAC5B,GAAQ,KAAK,CACT,KAAM,EACN,MAAO,AAAC,GAAM,CACV,GAAI,IAEJ,GAAI,AADS,aAAiB,KAAK,GAAM,KAAuB,OAAS,EAAE,QAAU,MAAQ,KAAO,OAAS,OAAS,GAAG,QAAQ,cAAe,EAAE,KACrI,EACT,MAAO,GACX,KAAM,GAAO,EAAI,OAAO,KAAK,CAAC,EAAI,GAClC,MAAO,OAAO,IAAM,UAAc,KAAS,KAA0B,OAAS,EAAK,UAAY,GAAO,IAAS,KAA0B,OAAS,EAAK,UAAY,GAAM,IAAS,KAA0B,OAAS,EAAK,MAAQ,OACrO,EACD,KAAM,EACN,OAAQ,AAAC,GAAO,EAAE,KAAM,CAAC,EACzC,CAAa,CACb,CAAS,KACU,EAAO,YAAY,GAAS,CAAE,UAAS,cAAe,GAAG,QAAgB,CAAA,CAC5F,EACI,EAAQ,SAAS,kBAAmB,EAAe,4BAA6B,SAAU,QAAS,qBAAsB,oBAAqB,kBAAmB,CAC7J,qBAAsB,CAClB,MAAO,GAAI,EAAO,YAAa,CAClC,EACD,oBAAqB,CACjB,IAAK,EAAU,iBAAiB,EAChC,IAAK,EAAU,iBAAiB,CACnC,EACD,qBAAsB,CAClB,EAAG,EAAU,iBAAiB,EAC9B,EAAG,EAAU,iBAAiB,CACjC,EACD,kBAAmB,CACf,OAAQ,EAAU,0BAA0B,EAC5C,MAAO,EAAW,CAAE,UAAW,WAAW,CAAE,EAC5C,MAAW,GAAA,EAAO,KAAK,GAAI,EAAO,YAAU,CAAG,CAClD,CACJ,CAAA,CAAC,EACF,EAAQ,SAAS,2BAA4B,EAAe,2BAA4B,SAAU,SAAU,oBAAqB,KAAM,iBAAkB,CACrJ,kBAAmB,CACf,KAAM,EAAW,CAAE,UAAW,SAAU,OAAQ,CAAE,OAAQ,WAAY,KAAM,WAAY,cAAe,EAAM,CAAA,CAAE,CAClH,EACD,oBAAqB,CACjB,OAAY,GAAA,EAAO,KAAK,EAAW,CAAE,KAAM,eAAe,CAAE,EAAG,CAAE,QAAS,IAAM,MAAM,CAAE,CAC3F,CACJ,CAAA,CAAC,EACF,EAAQ,SAAS,eAAgB,EAAe,yBAA0B,SAAU,SAAU,oBAAqB,KAAM,eAAgB,CACrI,oBAAqB,CACjB,OAAQ,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,UAAU,EAAI,CAC7E,EACD,oBAAqB,CACjB,OAAY,GAAA,EAAO,KAAK,EAAW,CAAE,KAAM,aAAa,CAAE,EAAG,CAAE,QAAS,IAAM,MAAM,CAAE,CACzF,CACJ,CAAA,CAAC,EACF,gBAAwB,AAAC,GAAW,EAAe,sBAAuB,SAAU,QAAS,qBAAsB,KAAM,iBAAkB,CACvI,qBAAsB,CAClB,MAAW,GAAA,EAAO,YAAY,CAAM,CACvC,EACD,oBAAqB,CACjB,MAAO,GAAI,EAAO,YAAY,CAC1B,cAAmB,GAAA,EAAO,YAAY,CAAM,EAC5C,cAAmB,GAAA,EAAO,YAAY,CAAM,CAC5D,CAAa,CACJ,EACD,2BAA4B,CACxB,MAAO,GAAI,EAAO,YAAY,CAC1B,IAAK,GAAI,EAAO,YAAa,EAC7B,IAAK,GAAI,EAAO,YAAa,EAC7B,KAAM,GAAI,EAAO,YAAa,EAC9B,UAAW,GAAI,EAAO,YAAa,CACnD,CAAa,CACJ,EACD,sBAAuB,CACnB,MAAO,GAAI,EAAO,YAAY,CAC1B,IAAK,GAAI,EAAO,YAAa,EAC7B,IAAK,GAAI,EAAO,YAAa,EAC7B,QAAS,GAAI,EAAO,YAAa,CACjD,CAAa,CACJ,CACT,CAAK,EACD,EAAQ,SAAS,iBAAsB,GAAA,EAAQ,eAAgB,CAAA,EAC/D,cAAsB,AAAC,GAAW,EAAe,oBAAqB,SAAU,QAAS,qBAAsB,KAAM,eAAgB,CACjI,qBAAsB,CAClB,MAAW,GAAA,EAAO,YAAY,GAAE,QAAS,IAAS,EAAQ,CAC7D,EACD,oBAAqB,CACjB,MAAO,GAAI,EAAO,YAAY,CAC1B,cAAmB,GAAA,EAAO,YAAY,GAAE,QAAS,IAAS,EAAQ,EAClE,cAAmB,GAAA,EAAO,YAAY,GAAE,QAAS,IAAS,EAAQ,CAClF,CAAa,CACJ,EACD,6BAA8B,CAC1B,MAAO,GAAI,EAAO,YAAY,CAC1B,cAAmB,GAAA,EAAO,YAAY,GAAE,QAAS,IAAS,EAAQ,EAClE,cAAmB,GAAA,EAAO,YAAY,GAAE,QAAS,IAAS,EAAQ,CAClF,CAAa,CACJ,EACD,oBAAqB,CACjB,MAAO,GAAI,EAAO,YAAY,CAC1B,cAAmB,GAAA,EAAO,YAAY,GAAE,QAAS,IAAS,EAAQ,EAClE,cAAmB,GAAA,EAAO,YAAY,GAAE,QAAS,IAAS,EAAQ,EAClE,OAAQ,EAAU,cAAc,CAChD,CAAa,CACJ,EACD,2BAA4B,CACxB,MAAO,GAAI,EAAO,YAAY,CAC1B,cAAmB,GAAA,EAAO,YAAY,GAAE,QAAS,IAAS,EAAQ,EAClE,cAAmB,GAAA,EAAO,YAAY,GAAE,QAAS,IAAS,EAAQ,EAClE,KAAM,GAAI,EAAO,YAAa,EAC9B,UAAW,GAAI,EAAO,YAAa,CACnD,CAAa,CACJ,EACD,0BAA2B,CACvB,aAAc,GAAI,EAAO,UAAc,GAAA,EAAO,YAAY,CACtD,OAAY,GAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,EAChD,KAAM,EAAU,cAAc,CAC9C,CAAa,CAAC,CACL,CACT,CAAK,EACD,EAAQ,SAAS,eAAoB,GAAA,EAAQ,aAAc,CAAA,EAC3D,EAAQ,SAAS,kBAAmB,GAAI,EAAO,YAAY,CAAC,WAAY,eAAgB,WAAW,EAAE,IAAI,GAAM,EAC3G,KAAM,EACN,MAAO,GAAM,IAAM,KAAuB,OAAS,EAAE,MAAQ,OAC7D,OAAQ,GAAK,CAAE,GAAI,GAAI,EAAI,EAAI,MAAQ,EAAG,GAAK,GAAM,GAAM,GAAK,EAAE,YAAc,MAAQ,IAAO,OAAS,EAAK,EAAE,gBAAkB,MAAQ,IAAO,OAAS,EAAK,EAAE,aAAe,MAAQ,IAAO,OAAS,EAAK,CAAC,CAAM,EACnN,KAAM,GAAI,EAAO,YAAY,EACxB,GAAI,GAAI,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,MAAO,IAAK,IAAI,CAAE,CAChF,CAAS,CACJ,EAAC,EAAG,CAAE,QAAS,iBAAiB,CAAE,CAAC,EACpC,EAAQ,SAAS,kBAAmB,EAAe,uBAAwB,SAAU,QAAS,qBAAsB,KAAM,kBAAmB,CACzI,qBAAsB,CAClB,MAAO,EAAU,iBAAiB,CACrC,EACD,oBAAqB,CACjB,cAAe,EAAU,iBAAiB,EAC1C,cAAe,EAAU,iBAAiB,CAC7C,EACD,6BAA8B,CAC1B,cAAe,EAAU,iBAAiB,EAC1C,cAAe,EAAU,iBAAiB,EAC1C,MAAW,GAAA,EAAO,KAAS,GAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,CAAG,CAAA,CAAC,CAC3E,EACD,kCAAmC,CAC/B,cAAe,EAAU,iBAAiB,EAC1C,cAAe,EAAU,iBAAiB,EAC1C,MAAW,GAAA,EAAO,KAAS,GAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,CAAG,CAAA,CAAC,CAC3E,EACD,sBAAuB,CACnB,cAAe,EAAU,iBAAiB,EAC1C,cAAe,EAAU,iBAAiB,EAC1C,QAAS,GAAI,EAAO,KAAS,GAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,CAAC,CACrE,EACD,0BAA2B,CACvB,aAAc,GAAI,EAAO,UAAc,GAAA,EAAO,YAAY,CACtD,OAAY,GAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,EAChD,KAAM,EAAU,cAAc,CAC9C,CAAa,CAAC,CACL,CACJ,CAAA,CAAC,EACF,EAAA,eAAyB,AAAC,GAAe,GAAA,EAAO,YAAY,CACxD,cAAmB,GAAA,EAAO,YAAY,CAAM,EAC5C,cAAmB,GAAA,EAAO,YAAY,CAAM,CACpD,EAAO,CAAE,QAAS,OAAO,CAAE,EACvB,EAAQ,SAAS,mBAAoB,GAAI,EAAO,KAAK,GAAI,EAAO,YAAY,CACxE,YAAiB,GAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,EACrD,WAAgB,GAAA,EAAO,UAAU,GAAI,EAAO,YAAU,CAAG,CACjE,EAAO,CAAE,QAAS,kBAAkB,CAAE,EAAG,CACjC,QAAS,IAAO,EACZ,YAAa,GACb,WAAY,CAAC,EAAG,CAAC,CAC7B,EACK,CAAA,CAAC,EACF,EAAA,IAAc,AAAC,GAAe,GAAA,EAAO,YAAY,CAC7C,CACI,KAAM,SACN,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,EAAO,SAAU,SAAU,EAAM,CAAA,CAAE,EAC7F,OAAQ,AAAC,GAAM,CACX,GAAI,MAAM,QAAQ,CAAC,GAAK,MAAO,GAAE,IAAO,UAAY,CAAC,EAAE,GAAG,WAAW,GAAG,EACpE,MAAO,GAAE,EAGhB,CACJ,EACD,CACI,KAAM,OACN,KAAU,GAAA,EAAO,UAAU,EAAO,aACxB,GAAA,EAAO,YAAY,CACrB,CACI,KAAM,SACN,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,EAAO,QAAQ,EAAI,CAChF,EACD,CACI,KAAM,SACN,KAAM,EAAU,EAAO,YAAY,CACtC,CACrB,EAAmB,CAAE,cAAe,WAAY,EAC9B,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,EAAO,QAAU,CAAA,CAAE,CAAC,EAC9E,OAAQ,AAAC,GACD,MAAO,IAAM,UAAY,CAAC,EAAE,WAAW,GAAG,EACnC,CAAC,CAAC,EAEN,EAEd,CACT,EAAO,CAAE,cAAe,KAAK,CAAE,EAC3B,EAAyB,eAAA,CAAC,EAAmB,EAAW,CAAE,KAAM,eAAe,CAAE,IAAO,EACpF,wBAAyB,CACrB,MAAO,GAAI,EAAO,UAAU,EAAU,WAAW,CAAC,CACrD,EACD,iCAAkC,CAC9B,MAAO,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,OAAO,EAAI,EACtE,WAAY,GAAI,EAAO,SAAS,EAAY,EAAE,EAAY,EAAE,CAAE,WAAY,CAAE,UAAW,kBAAmB,OAAQ,CAAE,GAAI,CAAC,MAAO,CAAE,KAAM,OAAO,CAAE,CAAG,CAAA,EAAI,CAC3J,EACD,qCAAsC,CAClC,UAAW,EAAU,yBAAyB,CACjD,EACD,8BAA+B,CAC3B,OAAQ,EACR,UAAW,EAAU,kBAAkB,CAC1C,EACD,0BAA2B,CACvB,OAAQ,EACR,OAAY,GAAA,EAAO,SAAS,EAAW,CAAE,UAAW,YAAa,EAAG,EAAU,WAAW,CAAC,CAC7F,EACD,qBAAsB,CAClB,KAAM,EAAU,WAAW,CAC9B,EACD,6BAA8B,CAC1B,QAAa,GAAA,EAAO,KAAK,GAAI,EAAO,aAAW,CAAG,CACrD,EACD,2BAA4B,CACxB,QAAS,GAAI,EAAO,KAAS,GAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,CAAC,EAClE,QAAS,GAAI,EAAO,KAAS,GAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,CAAC,EAClE,QAAS,GAAI,EAAO,KAAS,GAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,CAAC,EAClE,UAAW,EAAU,oBAAoB,CAC5C,EACD,uBAAwB,CACpB,UAAW,EAAU,gBAAgB,CACxC,EACD,0BAA2B,CACvB,OAAQ,GAAI,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,EAAG,CACpD,EACD,uCAAwC,CACpC,OAAQ,GAAI,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,EAAG,EACjD,mBAAoB,GAAI,EAAO,YAAa,CAC/C,EACD,sBAAuB,CACnB,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,YAAY,EAAI,CAC7E,EACD,wBAAyB,CACrB,YAAa,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,aAAa,EAAI,EAClF,QAAa,GAAA,EAAO,UAAc,GAAA,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,CAAG,CAAA,CAAC,CAC3E,EACD,uBAAwB,CACpB,MAAO,EAAU,WAAW,EAC5B,OAAQ,GAAI,EAAO,KAAS,GAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,CAAC,CACpE,EACD,wBAAyB,CACrB,MAAO,EAAU,iBAAiB,EAClC,MAAO,EAAU,WAAW,CAC/B,EACD,0BAA2B,CACvB,QAAa,GAAA,EAAO,KAAK,GAAI,EAAO,aAAW,CAAG,EAClD,WAAgB,GAAA,EAAO,KAAK,GAAI,EAAO,aAAW,CAAG,CACxD,CACT,GACI,EAAA,cAAwB,CAAC,EAAY,EAAiB,EAAW,CAAE,KAAM,aAAa,CAAE,EAAG,EAAmB,EAAW,CAAE,KAAM,eAAiB,CAAA,IAAM,CACpJ,KAAM,GAAQ,CACV,wBAAyB,CACrB,YAAa,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,aAAa,EAAI,EAClF,QAAS,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,EAAY,IAAI,gCAAgC,CAAG,CAAA,CAAE,EAClH,WAAY,GAAI,EAAO,KAAS,GAAA,EAAO,YAAY,CAC/C,gBAAqB,GAAA,EAAO,KAAK,GAAI,EAAO,YAAU,EAAK,CACvD,QAAS,GAAQ,EAAK,IAAG,EAAG,KAAK,SAAS,EAAE,IAAG,IAAO,+BAC9E,CAAqB,EACD,MAAW,GAAA,EAAO,KAAK,GAAI,EAAO,YAAU,EAAK,CAC7C,QAAS,GAAQ,EAAK,IAAG,EAAG,KAAK,SAAS,EAAE,IAAG,IAAO,qCAC9E,CAAqB,EACD,YAAiB,GAAA,EAAO,KAAK,GAAI,EAAO,YAAU,EAAK,CACnD,QAAS,GAAQ,EAAK,IAAG,EAAG,KAAK,SAAS,EAAE,IAAG,IAAO,qCAC9E,CAAqB,CACrB,CAAiB,EAAG,CACA,QAAS,GAAQ,EAAK,KAAK,SAAS,EAAE,IAAG,IAAO,qBACpE,CAAiB,CACJ,EACD,sBAAuB,CACnB,OAAQ,CACX,EACD,qBAAsB,CAClB,OAAQ,EAAU,cAAc,EAChC,IAAK,GAAI,EAAO,UAAc,GAAA,EAAO,YAAY,CAC7C,OAAQ,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,SAAU,CAAE,OAAQ,cAAe,KAAM,CAAC,MAAO,MAAO,MAAO,CAAE,KAAM,QAAQ,CAAE,CAAG,CAAA,EAAI,EAC9I,OAAQ,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,SAAU,gBAAgB,EAAI,EACpF,GAAI,EAAW,CAAE,KAAM,CAAC,UAAW,SAAU,OAAO,EAAG,CAC3E,EAAmB,CAAE,QAAS,eAAe,CAAE,CAAC,CACnC,EACD,uBAAwB,CACpB,MAAO,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,OAAO,EAAI,EACtE,WAAgB,GAAA,EAAO,UAAU,EAAW,CAAE,UAAW,kBAAmB,OAAQ,CAAE,GAAI,CAAC,MAAO,MAAO,CAAE,KAAM,OAAS,CAAA,CAAG,CAAA,CAAE,CAAC,CACnI,EACD,6BAA8B,CAC1B,aAAkB,GAAA,EAAO,KAAK,GAAI,EAAO,UAAU,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,aAAa,CAAI,CAAA,CAAC,CAAC,CAC7H,EACD,gCAAiC,CAC7B,OAAQ,EAAU,iBAAiB,EACnC,SAAc,GAAA,EAAO,KAAK,GAAI,EAAO,aAAW,CAAG,CACtD,EACD,4BAA6B,CACzB,YAAa,GAAI,EAAO,KAAS,GAAA,EAAQ,KAAK,CAAE,SAAU,qBAAqB,CAAE,CAAC,EAClF,WAAgB,GAAA,EAAO,KAAK,EAAW,CAAE,KAAM,gBAAgB,CAAE,CAAC,EAClE,KAAM,GAAI,EAAO,KAAS,GAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,CAAC,EAC/D,cAAe,GAAI,EAAO,KAAS,GAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,CAAC,EACxE,qBAA0B,GAAA,EAAO,KAAK,GAAI,EAAO,aAAW,CAAG,CAClE,EACD,6BAA8B,CAC1B,OAAQ,CACX,EACD,wBAAyB,CACrB,MAAO,EAAU,WAAW,CAC/B,EACD,4BAA6B,CACzB,MAAO,EAAU,iBAAiB,EAClC,MAAO,GAAI,EAAO,KAAS,GAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,CAAC,CACnE,EACD,2BAA4B,CACxB,UAAW,GAAI,EAAO,UAAU,EAAU,oBAAoB,CAAC,CAClE,EACD,+BAAgC,CAC5B,SAAU,GAAI,EAAO,UAAc,GAAA,EAAO,YAAY,CAClD,QAAS,EAAW,CAAE,KAAM,gBAAgB,CAAE,EAC9C,MAAO,EAAW,CAAE,KAAM,WAAW,CAAE,CAC3D,CAAiB,CAAC,EACF,OAAY,GAAA,EAAO,KAAK,GAAI,EAAO,aAAW,CAAG,CACpD,EACD,yBAA0B,CACtB,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,mBAAmB,EAAI,EACjF,QAAS,GAAI,EAAO,UAAU,EAAU,YAAY,CAAC,CACxD,EACD,sBAAuB,CACnB,MAAO,EAAU,iBAAiB,EAClC,IAAS,GAAA,EAAO,KAAK,GAAI,EAAO,aAAW,CAAG,CACjD,EACD,uBAAwB,CACpB,OAAQ,EAAU,iBAAiB,EACnC,IAAS,GAAA,EAAO,KAAK,GAAI,EAAO,aAAW,CAAG,CACjD,EACD,6BAA8B,CAC1B,aAAkB,GAAA,EAAO,SAAS,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,aAAe,CAAA,CAAE,EAAG,EAAU,iBAAiB,CAAC,EACtI,IAAS,GAAA,EAAO,KAAK,GAAI,EAAO,aAAW,CAAG,CACjD,EACD,2BAA4B,CACxB,QAAS,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,aAAc,WAAY,EAAM,CAAA,CAAE,CAClG,EACD,2BAA4B,CACxB,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,mBAAmB,EAAI,EACjF,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,aAAa,EAAI,EAC3E,KAAM,GAAI,EAAO,KAAS,GAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,CAAC,CAClE,EACD,qBAAsB,CAClB,OAAY,GAAA,EAAO,KAAK,CAAgB,EACxC,KAAM,GAAI,EAAO,UAAU,EAAU,gBAAgB,CAAC,EACtD,QAAa,GAAA,EAAO,KAAK,GAAI,EAAO,aAAW,CAAG,CACrD,EACD,qBAAsB,CAClB,OAAY,GAAA,EAAO,KAAK,CAAgB,EACxC,KAAM,GAAI,EAAO,KAAK,EAAU,gBAAgB,CAAC,CACpD,EACD,oBAAqB,CACjB,IAAK,EAAW,CAAE,UAAW,MAAO,OAAQ,CAAE,SAAU,CAAE,SAAU,gBAAgB,CAAI,CAAA,CAAE,CAC7F,EACD,uBAAwB,CACpB,GAAI,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,QAAQ,EAAI,CACvE,EACD,4BAA6B,CACzB,QAAS,GAAI,EAAO,KAAK,GAAI,EAAO,UAAU,GAAI,EAAO,YAAY,CACjE,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,YAAY,EAAI,EAC1E,SAAU,EAAU,iBAAiB,CACxC,CAAA,CAAC,CAAC,CACN,CACb,EACc,EAAM,CAAA,EACZ,SAAY,IAAI,oBAAoB,EAAE,QAAQ,GAAK,CAC/C,EAAI,GAAK,OAAK,EAAM,IAAO,EACvC,CAAS,EACM,CACf,EACI,EAA+B,qBAAA,AAAC,GAAS,GAAI,EAAO,gBAAgB,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,iBAAmB,CAAA,CAAE,EAAG,EAAM,CAClJ,sBAAuB,EAAQ,qBAC/B,uBAAwB,CACpB,KAAM,uBACN,UAAW,GACX,QAAS,GACT,OAAQ,GACR,YAAa,GACb,qBAAsB,GACtB,UAAW,GACX,UAAW,GACX,aAAc,GACd,YAAa,GACb,cAAe,GACf,WAAY,KACZ,eAAgB,IAChB,QAAS,uBACT,WAAY,+BACZ,MAAO,EACP,OAAQ,GACX,EACD,oBAAqB,CACjB,KAAM,oBACN,UAAW,GACX,QAAS,GACT,OAAQ,GACR,YAAa,GACb,qBAAsB,GACtB,UAAW,GACX,UAAW,GACX,aAAc,GACd,YAAa,GACb,cAAe,EACf,WAAY,IACZ,eAAgB,IAChB,QAAS,oBACT,WAAY,4BACZ,MAAO,EACP,OAAQ,GACX,CACT,CAAK,EACD,EAA+B,qBAAA,AAAC,GAAS,GAAI,EAAO,gBAAgB,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,0BAA4B,CAAA,CAAE,EAAG,EAAM,CAC3J,sBAAuB,EAAQ,qBAC/B,mBAAoB,CAChB,UAAW,GACX,kBAAmB,GACnB,uBAAwB,GACxB,iBAAkB,GAClB,qBAAsB,GACtB,cAAe,CACX,KAAM,sBACT,EACD,cAAe,CACX,WAAY,CACR,MAAO,GACV,EACD,KAAM,gBACT,EACD,MAAO,CACH,MAAO,EACP,OAAQ,IACR,gBAAiB,EACjB,cAAe,EACf,UAAW,CACP,OAAQ,MACR,KAAM,EACN,OAAQ,CACX,EACD,aAAc,CACV,OAAQ,IACR,KAAM,EACN,OAAQ,EACX,EACD,SAAU,CACN,SAAU,EACV,QAAS,EACT,UAAW,GACX,SAAU,EACb,EACD,eAAgB,CACZ,OAAQ,EACR,OAAQ,EACR,WAAY,CACf,CACJ,EACD,aAAc,CACV,QAAS,EACT,wBAAyB,EACzB,mBAAoB,EACpB,KAAM,EACN,YAAa,EACb,WAAY,EACZ,WAAY,EACZ,QAAS,EACT,MAAO,EACP,OAAQ,EACR,mCAAoC,EACpC,cAAe,CACX,KAAM,yBACN,SAAU,mCACb,EACD,YAAa,EACb,YAAa,EACb,SAAU,CACb,EACD,aAAc,CACV,KAAM,qBACN,SAAU,CAAE,CACf,CACJ,EACD,gBAAiB,CACb,UAAW,EACX,kBAAmB,GACnB,uBAAwB,GACxB,iBAAkB,GAClB,qBAAsB,GACtB,cAAe,CACX,KAAM,qBACT,EACD,cAAe,CACX,KAAM,eACT,EACD,MAAO,CACH,MAAO,EACP,OAAQ,IACR,gBAAiB,EACjB,cAAe,EACf,UAAW,CACP,OAAQ,SACR,KAAM,GACN,OAAQ,GACX,EACD,aAAc,CACV,OAAQ,SACR,KAAM,EACN,OAAQ,CACX,EACD,SAAU,CACN,SAAU,EACV,QAAS,EACT,UAAW,GACX,SAAU,GACb,EACD,eAAgB,CACZ,OAAQ,EACR,OAAQ,EACR,WAAY,CACf,CACJ,EACD,aAAc,CACV,QAAS,EACT,wBAAyB,EACzB,mBAAoB,EACpB,KAAM,EACN,YAAa,EACb,WAAY,EACZ,WAAY,EACZ,QAAS,EACT,MAAO,EACP,OAAQ,EACR,mCAAoC,EACpC,cAAe,CACX,KAAM,yBACN,SAAU,mCACb,EACD,YAAa,EACb,YAAa,EACb,SAAU,CACb,EACD,aAAc,CACV,KAAM,qBACN,SAAU,CAAE,CACf,CACJ,EACD,sBAAuB,CACnB,UAAW,GACX,kBAAmB,GACnB,uBAAwB,GACxB,iBAAkB,GAClB,qBAAsB,GACtB,cAAe,CACX,KAAM,iBACT,EACD,cAAe,CACX,WAAY,CACR,MAAO,GACV,EACD,KAAM,iBACT,EACD,MAAO,CACH,MAAO,IACP,OAAQ,IACR,gBAAiB,EACjB,cAAe,EACf,UAAW,CACP,OAAQ,SACR,KAAM,EACN,OAAQ,CACX,EACD,aAAc,CACV,OAAQ,SACR,KAAM,EACN,OAAQ,CACX,EACD,SAAU,CACN,SAAU,kBACV,QAAS,kBACT,UAAW,GACX,SAAU,GACb,EACD,eAAgB,CACZ,OAAQ,EACR,OAAQ,EACR,WAAY,CACf,CACJ,EACD,aAAc,CACV,QAAS,EACT,wBAAyB,EACzB,mBAAoB,EACpB,KAAM,EACN,YAAa,EACb,WAAY,EACZ,WAAY,EACZ,QAAS,EACT,MAAO,EACP,OAAQ,EACR,mCAAoC,EACpC,cAAe,CACX,KAAM,yBACN,SAAU,mCACb,EACD,YAAa,EACb,YAAa,EACb,SAAU,CACb,EACD,aAAc,CACV,KAAM,qBACN,SAAU,CAAE,CACf,CACJ,EACD,kBAAmB,CACf,UAAW,GACX,kBAAmB,GACnB,uBAAwB,GACxB,iBAAkB,GAClB,qBAAsB,GACtB,cAAe,CACX,KAAM,iBACT,EACD,cAAe,CACX,WAAY,CACR,MAAO,GACV,EACD,KAAM,iBACT,EACD,MAAO,CACH,MAAO,EACP,OAAQ,IACR,gBAAiB,EACjB,cAAe,EACf,UAAW,CACP,OAAQ,MACR,KAAM,EACN,OAAQ,CACX,EACD,aAAc,CACV,OAAQ,IACR,KAAM,EACN,OAAQ,EACX,EACD,SAAU,CACN,SAAU,EACV,QAAS,EACT,UAAW,GACX,SAAU,EACb,EACD,eAAgB,CACZ,OAAQ,EACR,OAAQ,EACR,WAAY,CACf,CACJ,EACD,aAAc,CACV,QAAS,EACT,wBAAyB,EACzB,mBAAoB,EACpB,KAAM,EACN,YAAa,EACb,WAAY,EACZ,WAAY,EACZ,QAAS,EACT,MAAO,EACP,OAAQ,EACR,mCAAoC,EACpC,cAAe,CACX,KAAM,yBACN,SAAU,mCACb,EACD,YAAa,EACb,YAAa,EACb,SAAU,CACb,EACD,aAAc,CACV,KAAM,qBACN,SAAU,CAAE,CACf,CACJ,EACD,6BAA8B,CAC1B,UAAW,EACX,kBAAmB,GACnB,uBAAwB,GACxB,iBAAkB,GAClB,qBAAsB,GACtB,cAAe,CACX,KAAM,iBACT,EACD,cAAe,CACX,WAAY,CACR,MAAO,GACV,EACD,KAAM,iBACT,EACD,MAAO,CACH,MAAO,EACP,OAAQ,IACR,gBAAiB,EACjB,cAAe,EACf,UAAW,CACP,OAAQ,SACR,KAAM,GACN,OAAQ,GACX,EACD,aAAc,CACV,OAAQ,SACR,KAAM,EACN,OAAQ,CACX,EACD,SAAU,CACN,SAAU,EACV,QAAS,EACT,UAAW,GACX,SAAU,GACb,EACD,eAAgB,CACZ,OAAQ,EACR,OAAQ,EACR,WAAY,CACf,CACJ,EACD,aAAc,CACV,QAAS,EACT,wBAAyB,EACzB,mBAAoB,EACpB,KAAM,EACN,YAAa,EACb,WAAY,EACZ,WAAY,EACZ,QAAS,EACT,MAAO,EACP,OAAQ,EACR,mCAAoC,EACpC,cAAe,CACX,KAAM,yBACN,SAAU,mCACb,EACD,YAAa,EACb,YAAa,EACb,SAAU,CACb,EACD,aAAc,CACV,KAAM,qBACN,SAAU,CAAE,CACf,CACJ,CACT,CAAK,CACL,CACA,EAAA,kBAA4B,iBCn6B5B,OAAO,eAAe,GAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EAChC,GAAA,qBAAG,OAC/B,KAAMD,IAASC,EACTE,GAAWD,EACjB,YAA8B,EAAS,EAAa,CAChD,KAAM,GAAYF,GAAO,UAAU,KAAK,OAAW,CAAO,EACpD,EAAaA,GAAO,WAAW,KAAK,OAAW,CAAW,EAChE,EAAQ,SAAS,YAAa,GAAIA,GAAO,cAAc,EAAU,WAAW,EAAG,CAAE,cAAe,WAAW,CAAE,CAAC,EAC9G,EAAQ,SAAS,YAAa,GAAIA,GAAO,KAAK,GAAIA,GAAO,YAAY,CACjE,UAAW,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,qBAAqB,EAAI,GACvFA,GAAO,QAAS,CAAC,CAAE,KAAM,WAAW,CAAE,GACtCA,GAAO,MAAWG,GAAAA,GAAS,gBAAiB,CAChD,EAAE,CAAE,SAAU,YAAa,QAAS,WAAa,CAAA,EAAG,CACjD,QAAS,IAAO,EACZ,UAAW,8BACX,OAAQ,MACpB,EACK,CAAA,CAAC,CACN,CACA,GAAA,qBAA+B,aCnB/B,OAAO,eAAe,GAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EAChC,GAAA,qBAAG,OAC/B,KAAMH,GAASC,EACTE,GAAWD,EACjB,YAA8B,EAAS,EAAa,CAChD,KAAM,GAAYF,EAAO,UAAU,KAAK,OAAW,CAAO,EACpD,EAAaA,EAAO,WAAW,KAAK,OAAW,CAAW,EAChE,EAAQ,SAAS,YAAa,GAAIA,EAAO,KAAK,GAAIA,EAAO,YAAY,CACjE,KAAM,GAAIG,GAAS,sBAAsB,EAAU,gBAAgB,CAAC,EACpE,UAAW,GAAIH,EAAO,YAAY,CAC9B,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,0BAA0B,EAAI,GACvFA,EAAO,QAAS,CAAC,CAAE,KAAM,MAAM,CAAE,GACjCA,EAAO,MAAO,CACX,kBAAmB,CACf,SAAU,GAAIG,GAAS,sBAAsB,EAAU,gBAAgB,CAAC,EACxE,aAAc,GAAIH,EAAO,YAAY,CACjC,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,uBAAuB,EAAI,GACpFA,EAAO,QAAS,CAAC,CAAE,KAAM,MAAM,CAAE,GACjCA,EAAO,MAAO,CACX,kBAAmB,CACf,MAAO,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,iBAAiB,EAAI,CACnF,EACD,wBAAyB,CACrB,OAAQ,GAAIA,EAAO,KAAK,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,CAAC,sBAAuB,kBAAkB,CAAC,CAAI,CAAA,CAAC,EAC5H,OAAQ,GAAIA,EAAO,KAAK,GAAIA,EAAO,UAAU,EAAU,iBAAiB,CAAC,EAAG,CACxE,QAAS,GAAQ,EAAK,KAAK,QAAQ,EAAE,IAAG,IAAO,OAC/C,QAAS,IAAM,CAAC,CACR,MAAO,kBACnD,CAAyC,CACzC,CAAiC,CACJ,EACD,yBAA0B,CACtB,MAAO,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,EAAI,CAAA,CAAC,EACjF,OAAYG,GAAAA,GAAS,KAAK,CAAE,SAAU,iBAAiB,CAAE,CAC5D,CACJ,CACJ,EAAE,CAAE,SAAU,YAAa,qBAAsB,EAAI,CAAE,CAC3D,EACD,iBAAkB,CACd,SAAU,EAAU,yBAAyB,CAChD,CACJ,CACb,EAAW,CAAE,qBAAsB,GAAM,CACpC,EAAE,CAAE,SAAU,OAAQ,QAAS,WAAa,CAAA,EAAG,CAC5C,QAAS,IACE,EACH,KAAM,sBACN,UAAW,CACP,KAAM,kBACN,aAAc,CACV,KAAM,kBACN,MAAO,kBACV,EACD,SAAU,qBACb,CACjB,EAEK,CAAA,CAAC,EACF,EAAQ,SAAS,0BAA+BH,GAAAA,EAAO,YAAY,CAC/D,MAAWA,GAAAA,EAAO,KAAK,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,iBAAiB,CAAI,CAAA,CAAC,EACjG,MAAWA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,EAChD,SAAcA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,EACnD,OAAQ,GAAIA,EAAO,UAAU,EAAU,iBAAiB,CAAC,EACzD,oBAAqB,GAAIG,GAAS,KAAK,CAAE,SAAU,0BAA2B,aAAc,gBAAiB,CAChH,CAAA,CAAC,EACF,KAAM,MAAuBH,EAAO,YAAY,CAC5C,CACI,KAAM,SACN,KAAM,GAAIA,EAAO,YAAY,CAAE,IAAK,GAAI,IAAK,EAAG,EAChD,OAAQ,AAAC,GAAM,CAAE,GAAI,GAAI,MAAQ,GAAK,EAAE,MAAQ,MAAQ,IAAO,OAAS,EAAK,CAAI,CACpF,EACD,CACI,KAAM,OACN,KAAUA,GAAAA,EAAO,UAAcA,GAAAA,EAAO,YAAY,CAAE,IAAK,GAAI,IAAK,CAAC,CAAE,EAAG,CAAE,UAAW,EAAG,UAAW,EAAG,EACtG,OAAQ,AAAC,GAAM,CAAC,GAAM,KAAuB,EAAI,EAAG,GAAM,KAAuB,EAAI,CAAC,CACzF,CACT,CAAK,EACD,EAAQ,SAAS,kBAAuBA,GAAAA,EAAO,YAAY,CACvD,YAAa,EACb,SAAU,EACV,gBAAiB,EACjB,QAAS,EACT,UAAW,EACX,MAAO,EACP,OAAQ,GAAIA,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,EAAG,CACpD,CAAA,CAAC,EACF,EAAQ,SAAS,kBAAmB,GAAIA,EAAO,KAAK,GAAIA,EAAO,YAAY,CACvE,MAAO,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,iBAAiB,EAAI,EAChF,WAAY,EAAU,iBAAiB,CAC/C,EAAO,CAAE,QAAS,iBAAiB,CAAE,EAAG,CAChC,QAAS,IAAO,EACZ,MAAO,mBACP,WAAY,CACR,YAAa,EACb,SAAU,EACV,gBAAiB,EACjB,QAAS,EACT,UAAW,EACX,MAAO,EACP,OAAQ,CACX,CACb,EACK,CAAA,CAAC,CACN,CACA,GAAA,qBAA+B,aCxG/B,OAAO,eAAe,GAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EAC5B,GAAA,yBAAG,OACnC,KAAMA,GAASC,EACTE,GAAWD,EACjB,YAAkC,EAAS,EAAa,CACpD,KAAM,GAAaF,EAAO,WAAW,KAAK,OAAW,CAAW,EAChE,EAAQ,SAAS,iBAAkB,GAAIA,EAAO,KAAK,GAAIA,EAAO,YAAY,CACtE,UAAW,GAAIA,EAAO,aAAc,EACpC,QAAS,GAAIA,EAAO,aAAc,EAClC,YAAa,GAAIA,EAAO,aAAc,EACtC,qBAAsB,GAAIA,EAAO,aAAc,EAC/C,UAAW,GAAIA,EAAO,aAAc,EACpC,UAAW,GAAIA,EAAO,aAAc,EACpC,aAAc,GAAIA,EAAO,aAAc,EACvC,YAAa,GAAIA,EAAO,aAAc,EACtC,iBAAkB,GAAIA,EAAO,YAAY,CAAE,IAAK,KAAS,IAAK,IAAU,EACxE,cAAe,GAAIA,EAAO,YAAa,EACvC,WAAY,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,CAAC,EACrE,eAAoBA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,KAAM,EAC3E,QAAaA,GAAAA,EAAO,KAAK,EAAW,CAAE,KAAM,CAAC,sBAAuB,uBAAwB,mBAAmB,CAAG,CAAA,CAAC,EACnH,WAAY,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,QAAS,WAAY,EAAM,CAAA,CAAE,EAC7F,MAAWA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,MAAO,IAAK,IAAI,CAAE,EACtE,OAAYA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,GAAI,IAAK,KAAM,CACvE,EAAE,CAAE,QAAS,gBAAkB,CAAA,EAAG,GAAS,EACxC,QAAS,IAAMG,GAAS,qBACxB,SAAU,CAAC,EAAM,EAAO,EAAQ,IAC5B,GAAQ,EAAK,SAAS,EAAM,EAAO,EAAQ,CAAO,EAC7C,IAAU,KAA2B,OAAS,EAAM,OAAU,IAAU,KAA2B,OAAS,EAAM,QAAU,MAC7H,EAAO,IAAI,EAAK,KAAK,QAAQ,EAAG,0BAA2B,IAAI,EAE9D,IAAU,KAA2B,OAAS,EAAM,gBAAmB,IAAU,KAA2B,OAAS,EAAM,SAC5H,EAAO,IAAI,EAAK,KAAK,gBAAgB,EAAG,sBAAsB,EAE7D,IAAU,KAA2B,OAAS,EAAM,QAAU,KAAO,GACtE,EAAO,IAAI,EAAK,KAAK,QAAQ,EAAG,wBAAyB,EAAE,EAE1D,IAAU,KAA2B,OAAS,EAAM,OAAS,KAAO,GACrE,EAAO,IAAI,EAAK,KAAK,OAAO,EAAG,uBAAwB,EAAE,EAEtD,EAEd,EAAC,CAAC,CACP,CACA,GAAA,yBAAmC,aC3CnC,OAAO,eAAe,GAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EAC7B,GAAA,wBAAG,OAClC,KAAMH,GAASC,EACTE,GAAWD,EACjB,YAAiC,EAAS,EAAa,CACnD,KAAM,GAAYF,EAAO,UAAU,KAAK,OAAW,CAAO,EACpD,EAAaA,EAAO,WAAW,KAAK,OAAW,CAAW,EAChE,EAAQ,SAAS,gBAAiB,GAAIA,EAAO,cAAc,EAAU,UAAU,EAAG,CAAE,cAAe,UAAU,CAAE,CAAC,EAChH,KAAM,GAAa,CACf,WAAY,GAAIA,EAAO,KAAK,GAAIA,EAAO,UAAU,EAAU,WAAW,CAAC,CAAC,CAChF,EACI,EAAQ,SAAS,WAAY,GAAIA,EAAO,KAAK,GAAIA,EAAO,YAAY,CAChE,SAAU,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,oBAAoB,EAAI,GACrFA,EAAO,QAAS,CAAC,CAAE,KAAM,UAAU,CAAE,GACrCA,EAAO,MAAWG,GAAAA,GAAS,eAAe,CAAU,CACxD,EAAE,CAAE,SAAU,WAAY,QAAS,UAAY,CAAA,EAAG,CAC/C,QAAS,IAAM,CAAC,CACR,SAAU,sBACV,MAAO,CACvB,CAAa,CACR,CAAA,CAAC,CACN,CACA,GAAA,wBAAkC,kBCtBlC,OAAO,eAAe,EAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EACvC,EAAA,cAAyB,EAAA,eAA0B,EAAA,gBAA4B,EAAA,kBAAyB,EAAA,eAAG,OAC1G,EAAA,eAAG,GAAI,KAAI,CAC7B,CAAC,+BAAgC,CAAE,SAAU,CAAC,EAAgB,GAAqB,OAAQ,CAAA,EAAI,EAC/F,CAAC,+BAAgC,CAAE,SAAU,CAAC,EAAgB,GAAqB,OAAQ,CAAA,EAAI,EAC/F,CAAC,mBAAoB,CAAE,SAAU,CAAC,CAAC,EAAoB,OAAQ,CAAA,EAAI,EACnE,CAAC,kBAAmB,CAAE,SAAU,CAAC,EAAoB,EAAgB,GAAe,OAAQ,CAAC,EAAqB,EAAyB,CAAmB,CAAA,CAAE,EAChK,CAAC,kBAAmB,CAAE,SAAU,CAAC,CAAe,EAAE,OAAQ,CAAC,CAAC,EAAoB,EAChF,CAAC,oBAAqB,CAAE,SAAU,CAAC,CAAe,EAAE,OAAQ,CAAC,CAAC,EAAoB,EAClF,CAAC,kBAAmB,CAAE,SAAU,CAAE,EAAE,OAAQ,CAAE,CAAA,CAAE,EAChD,CAAC,mBAAoB,CAAE,SAAU,CAAC,EAAsB,EAAgB,GAAqB,OAAQ,CAAC,EAA4B,EAAsB,CAAyB,CAAA,CAAE,EACnL,CAAC,oBAAqB,CAAE,SAAU,CAAC,EAAgB,CAAC,EAAc,OAAQ,CAAC,CAAC,EAAoB,EAChG,CAAC,oBAAqB,CAAE,SAAU,CAAC,EAAsB,EAAqB,EAAoB,EAA4B,EAAyB,EAAsB,EAA0B,EAAgB,EAAoB,CAAC,EAAc,OAAQ,CAAA,EAAI,EACtQ,CAAC,iBAAkB,CAAE,SAAU,CAAC,EAAgB,GAAqB,OAAQ,CAAA,EAAI,EACjF,CAAC,qBAAsB,CAAE,SAAU,CAAC,CAAe,EAAE,OAAQ,CAAC,CAAC,EAAoB,CACvF,CAAC,EAIwB,EAAA,kBAAG,GAAI,KAAI,CAChC,CAAC,gBAAiB,CAAC,EAA2B,EAC9C,CAAC,SAAU,CAAC,EAAqB,EACjC,CAAC,gBAAiB,CAAC,EAAqB,EACxC,CAAC,OAAQ,CAAC,EAAmB,CACjC,CAAC,EAIsB,EAAA,gBAAG,GAAI,KAAI,CAC9B,CAAC,eAAgB,CAAC,EAAoB,EACtC,CAAC,SAAU,CAAC,EAAqB,EACjC,CAAC,gBAAiB,CAAC,EAAqB,EACxC,CAAC,OAAQ,CAAC,EAAmB,CACjC,CAAC,EAIqB,EAAA,eAAG,GAAI,KAAI,CAC7B,CAAC,wBAAyB,CAAA,CAAE,EAC5B,CAAC,iCAAkC,CAAC,EAAmB,EACvD,CAAC,qCAAsC,CAAC,EAAqB,EAC7D,CAAC,8BAA+B,CAAC,EAAe,EAChD,CAAC,0BAA2B,CAAA,CAAE,EAC9B,CAAC,qBAAsB,CAAA,CAAE,EACzB,CAAC,6BAA8B,CAAC,EAAyB,EACzD,CAAC,2BAA4B,CAAA,CAAE,EAC/B,CAAC,uBAAwB,CAAC,EAAa,EACvC,CAAC,0BAA2B,CAAA,CAAE,EAC9B,CAAC,uCAAwC,CAAC,EAAqB,EAC/D,CAAC,sBAAuB,CAAA,CAAE,EAC1B,CAAC,+BAAgC,CAAC,EAAwB,EAC1D,CAAC,wBAAyB,CAAC,EAAa,EACxC,CAAC,uBAAwB,CAAA,CAAE,EAC3B,CAAC,0BAA2B,CAAA,CAAE,CAClC,CAAC,EAIoB,EAAA,cAAG,GAAI,KAAI,CAC5B,CAAC,wBAAyB,CAAC,EAAa,EACxC,CAAC,sBAAuB,CAAA,CAAE,EAC1B,CAAC,qBAAsB,CAAA,CAAE,EACzB,CAAC,uBAAwB,CAAC,EAAmB,EAC7C,CAAC,6BAA8B,CAAA,CAAE,EACjC,CAAC,gCAAiC,CAAA,CAAE,EACpC,CAAC,4BAA6B,CAAC,EAAe,EAC9C,CAAC,4BAA6B,CAAA,CAAE,EAChC,CAAC,6BAA8B,CAAA,CAAE,EACjC,CAAC,0BAA2B,CAAA,CAAE,EAC9B,CAAC,wBAAyB,CAAA,CAAE,EAC5B,CAAC,4BAA6B,CAAC,EAAqB,EACpD,CAAC,2BAA4B,CAAA,CAAE,EAC/B,CAAC,+BAAgC,CAAA,CAAE,EACnC,CAAC,yBAA0B,CAAA,CAAE,EAC7B,CAAC,sBAAuB,CAAA,CAAE,EAC1B,CAAC,uBAAwB,CAAA,CAAE,EAC3B,CAAC,2BAA4B,CAAA,CAAE,EAC/B,CAAC,qBAAsB,CAAA,CAAE,EACzB,CAAC,qBAAsB,CAAA,CAAE,EACzB,CAAC,oBAAqB,CAAA,CAAE,EACxB,CAAC,4BAA6B,CAAA,CAAE,CACpC,CAAC,ECjFD,OAAO,eAAe,GAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EAChC,GAAA,qBAAG,OAC/B,KAAMH,GAASC,EACT,GAAgBC,EAChBC,GAAWC,EACjB,YAA8B,EAAS,EAAa,CAChD,KAAM,GAAYJ,EAAO,UAAU,KAAK,OAAW,CAAO,EACpD,EAAaA,EAAO,WAAW,KAAK,OAAW,CAAW,EAC1D,EAAa,CACf,WAAY,GAAIA,EAAO,KAAK,GAAIA,EAAO,UAAU,EAAU,gBAAgB,CAAC,CAAC,CACrF,EACU,EAAyB,GAC3B,UAAW,GAAIA,EAAO,KAAK,GAAIA,EAAO,UAAU,EAAU,eAAe,CAAC,CAAC,GACxE,GAEP,WAA2B,EAAY,EAAc,EAAS,CAC1D,KAAM,GAAQ,CAAA,EACR,GAAsB,AAAC,GAAoB,EAC5C,IAAI,CAAY,EAChB,OAAO,IAAK,CACb,GAAI,GAEJ,MAAO,AADkB,IAAK,EAAW,IAAI,EAAC,KAAO,MAAQ,IAAO,OAAS,EAAK,CAAA,GAC3D,MAAM,IAAK,EAAgB,SAAS,EAAC,CAAC,CACzE,CAAS,EACD,SAAW,CAAC,EAAW,CAAE,UAAQ,cAAe,IAAc,eAAgB,CAC1E,KAAM,GAAkB,CAAC,GAAG,GAAQ,GAAG,CAAQ,EAC/C,EAAM,KAAK,CACP,MAAO,IAAQ,GAAK,SAAU,EAAC,IAAI,GAAIA,GAAO,KAAK,CAAC,MAAM,CAAC,CAAC,IAAM,EAClE,KAAM,EAAQ,GAAoB,CAAe,CAAC,CAClE,CAAa,CACJ,CACD,SAAM,KAAK,CAAE,MAAO,GAAK,GAAM,KAAM,EAAQ,CAAY,CAAC,CAAE,KACjDA,EAAO,YAAY,CAAK,CACtC,CACD,KAAM,GAAwB,EAAkB,GAAc,eAAgB,sBAAuB,GAAQ,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,YAAgB,OAAQ,EAAO,sBAAyB,CAAA,CAAC,EACpN,EAAuB,EAAkB,GAAc,cAAe,qBAAsB,GAAQ,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,YAAgB,OAAQ,EAAO,qBAAwB,CAAA,CAAC,EAChN,EAAyB,EAAkB,GAAc,kBAAmB,gBAAiB,GAAQ,EAAW,CAAE,KAAM,CAAI,CAAE,CAAC,EAC/H,EAAuB,EAAkB,GAAc,gBAAiB,cAAe,GAAQ,EAAW,CAAE,KAAM,CAAI,CAAE,CAAC,EAC/H,EAAQ,SAAS,aAAc,GAAIA,EAAO,KAAK,GAAIA,EAAO,YAAY,CAClE,KAAUA,GAAAA,EAAO,KAAK,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,EAAY,IAAI,mBAAmB,CAAC,CAAI,CAAA,CAAC,EACnH,MAAWA,GAAAA,EAAO,QAASA,EAAO,UAAU,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,GAC/E,MAAO,EAAU,iBAAiB,EAClC,YAAa,GAAIA,EAAO,KAAK,EAAU,iBAAiB,CAAC,EACzD,QAAS,GAAIA,EAAO,UAAU,EAAU,YAAY,CAAC,GAClD,GACJ,CAAE,SAAU,OAAQ,QAAS,WAAa,CAAA,EAAG,CAC5C,QAAS,IAAO,EACZ,MAAO,EACP,QAAS,CAAC,CACF,KAAM,iBACN,KAAM,iBAC9B,CAAqB,CACrB,EACS,CAAA,CAAC,CAAC,EACH,UAAW,GAAIA,EAAO,KAAK,GAAIA,EAAO,UAAU,EAAU,eAAe,CAAC,CAAC,CACnF,EAAO,CAAE,QAAS,YAAY,CAAE,EAAG,CAC3B,QAAS,IAAO,EACZ,MAAO,CAAC,CACA,MAAO,EACP,QAAS,CAAC,CACF,KAAM,iBACN,KAAM,iBAClC,CAAyB,CACzB,CAAiB,CACjB,EACK,CAAA,CAAC,EACF,KAAM,GAAY,CACd,QAAS,GAAQ,CACb,GAAI,GACJ,MAAS,IAAK,EAAK,IAAG,EAAG,IAAK,KAAM,MAAQ,IAAO,OAAS,OAAS,EAAG,QAAU,GAC3E,CAAC,CAAC,yBAA0B,kBAAmB,oBAAoB,EAAE,SAAS,EAAK,KAAK,MAAM,EAAE,IAAK,CAAA,CAC/G,CACT,EACI,EAAQ,SAAS,aAAc,GAAIA,EAAO,KAAK,GAAIA,EAAO,YAAY,CAClE,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,sBAAsB,EAAI,EACpF,OAAYA,GAAAA,EAAO,KAAK,GAAIA,EAAO,QAASA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,CAAG,CAAA,EAAG,CAAS,CAAC,EACrG,QAAS,GAAIA,EAAO,KAASA,GAAAA,EAAO,KAAK,GAAIA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,EAAG,CAAS,CAAC,GAC7FA,EAAO,QAAS,CAAC,CAAE,KAAM,MAAM,CAAE,GACjCA,EAAO,MAAO,CACX,yBAA0B,GACtB,SAAU,GAAIA,EAAO,UAAU,EAAU,YAAY,CAAC,GACnD,GAEP,oBAAqB,GACjB,KAAM,EAAY,GACf,GAEP,kBAAmB,GACf,SAAU,GAAIA,EAAO,UAAU,EAAU,YAAY,CAAC,GACnD,GAEP,iBAAkB,GACd,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,MAAM,EAAI,GACjE,GAEP,uBAAwB,GACpB,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,aAAa,EAAI,GACxE,GAEP,qBAAsB,GAClB,SAAU,GAAIA,EAAO,UAAU,EAAU,YAAY,CAAC,GACnD,GAEP,gBAAiB,GACb,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,WAAW,EAAI,EACzE,OAAYA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,GAC9C,EAEV,CACT,EAAO,CAAE,QAAS,YAAY,CAAE,EAAG,CAC3B,QAAS,IAAO,EACZ,KAAM,iBACN,KAAM,iBAClB,EACK,CAAA,CAAC,EACF,EAAQ,SAAS,gBAAiB,GAAIA,EAAO,KAAK,GAAIA,EAAO,YAAY,CACrE,SAAU,GACTA,EAAO,QAAS,CAAC,CAAE,KAAM,UAAU,CAAE,GACrCA,EAAO,MAAWG,GAAAA,GAAS,eAAe,EAAY,EAAsB,CAAsB,CACtG,EAAE,CAAE,SAAU,WAAY,QAAS,UAAY,CAAA,EAAG,CAC/C,QAAS,IAAO,EACZ,SAAU,sBACV,MAAO,CACnB,EACK,CAAA,CAAC,EACF,EAAQ,SAAS,iBAAkB,GAAIH,EAAO,KAAK,GAAIA,EAAO,YAAY,CACtE,UAAW,GACVA,EAAO,QAAS,CAAC,CAAE,KAAM,WAAW,CAAE,GACtCA,EAAO,MAAWG,GAAAA,GAAS,gBAAgB,CAAsB,CACrE,EAAE,CAAE,SAAU,YAAa,QAAS,WAAa,CAAA,EAAG,CACjD,QAAS,IAAO,EACZ,UAAW,0BACX,OAAQ,EACpB,EACK,CAAA,CAAC,EACF,EAAQ,SAAS,qBAAsB,GAAIH,EAAO,KAAK,GAAIA,EAAO,YAAY,CAC1E,UAAW,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,WAAW,EAAI,EAC9E,KAAM,EAAY,EAClB,OAAQ,EAAU,iBAAiB,EACnC,UAAW,EAAW,CAAE,KAAM,CAAC,WAAY,gBAAiB,gBAAgB,EAAG,EAC/E,KAAUA,GAAAA,EAAO,cAAc,EAAW,CAAE,KAAM,MAAM,CAAE,CAAC,CACnE,EAAO,CAAE,QAAS,oBAAoB,CAAE,EAAG,CACnC,QAAS,IAAO,EACZ,UAAW,+BACX,KAAM,GACN,OAAQ,EACR,UAAW,WACX,KAAM,UAClB,EACK,CAAA,CAAC,CACN,CACA,GAAA,qBAA+B,aCvJ/B,OAAO,eAAe,GAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EAC/B,GAAA,sBAAG,OAChC,KAAMA,GAASC,EACT,EAAsB,GAC5B,YAA+B,EAAS,EAAa,CACjD,KAAM,GAAYD,EAAO,UAAU,KAAK,OAAW,CAAO,EACpD,EAAaA,EAAO,WAAW,KAAK,OAAW,CAAW,EAChE,EAAQ,SAAS,cAAe,GAAIA,EAAO,KAAK,GAAIA,EAAO,YAAY,CACnE,KAAM,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CACzC,YAAa,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAqB,IAAK,CAAqB,CAAA,EAAG,CACxH,QAAS,IAAM,EACf,UAAW,CAAC,EAAI,IAAM,IAAM,EAC5B,OAAQ,IAAM,CAAC,CAAE,KAAM,cAAe,OAAQ,CAAC,CAAmB,EAAG,SAAU,EAAqB,CACpH,CAAa,EACD,YAAa,EAAU,gBAAgB,CACnD,CAAS,EAAG,CACA,QAAS,IAAO,EACZ,YAAa,EACb,YAAa,EAC7B,EACA,CAAS,EACD,OAAQ,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAC3C,MAAO,GAAIA,EAAO,UAAcA,GAAAA,EAAO,YAAY,CAC/C,UAAeA,GAAAA,EAAO,KAAK,EAAW,CAAE,UAAW,eAAe,CAAE,CAAC,EACrE,KAAUA,GAAAA,EAAO,KAAK,EAAW,CAAE,UAAW,eAAe,CAAE,CAAC,CAChF,CAAa,CAAC,CACd,CAAS,CAAC,CACV,CAAK,EAAG,CACA,QAAS,IAAO,EACZ,KAAM,CACF,YAAa,EACb,YAAa,EAChB,CACb,EACK,CAAA,CAAC,CACN,CACA,GAAA,sBAAgC,aCpChC,OAAO,eAAe,GAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EAC/B,GAAA,sBAAG,OAChC,KAAMA,GAASC,EACf,YAA+B,EAAS,EAAa,CACjD,KAAM,GAAYD,EAAO,UAAU,KAAK,OAAW,CAAO,EACpD,EAAaA,EAAO,WAAW,KAAK,OAAW,CAAW,EAC1D,KAAkBA,EAAO,YAAY,CACvC,CACI,KAAM,SACN,KAAM,EAAY,EAClB,OAAQ,GAAM,MAAO,IAAM,WAAa,MAAO,IAAM,SAAY,EAAE,SAAQ,EAAK,EACnF,EACD,CACI,KAAM,SACN,KAAM,GAAIA,EAAO,YAAa,EAC9B,OAAQ,GAAM,MAAO,IAAM,SAAY,SAAS,CAAC,EAAI,CACxD,EACD,CACI,KAAM,SACN,KAAM,GAAIA,EAAO,YAAY,CACzB,IAAK,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,CAAC,EAC9D,IAAK,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,CAAC,CAC9E,CAAa,EACD,OAAQ,GAAM,MAAO,IAAM,SAAa,CAAE,IAAK,EAAG,IAAK,CAAC,EAAO,CAAA,CAClE,EACD,CACI,KAAM,UACN,KAAM,GAAIA,EAAO,aAAc,EAC/B,OAAQ,GAAK,IAAM,QAAU,IAAM,CACtC,CACT,CAAK,EACD,EAAQ,SAAS,iBAAsBA,GAAAA,EAAO,YAAY,CACtD,MAAWA,GAAAA,EAAO,KAAK,GAAIA,EAAO,UAAU,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,MAAM,CAAI,CAAA,CAAC,CAAC,EAC5G,IAASA,GAAAA,EAAO,KAAK,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,WAAW,CAAI,CAAA,CAAC,EACzF,MAAO,EAAU,YAAY,EAC7B,WAAY,EAAU,YAAY,EAClC,OAAYA,GAAAA,EAAO,KAAK,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,QAAQ,CAAI,CAAA,CAAC,EACzF,IAAK,GAAIA,EAAO,KAAK,EAAW,CAAE,UAAW,MAAO,OAAQ,CAAE,SAAU,CAAE,SAAU,iBAAkB,GAAI,CAAC,MAAO,CAAE,KAAM,MAAQ,CAAA,EAAK,CAAA,CAAE,CAAC,EAC1I,aAAc,GAAIA,EAAO,KAAK,GAAIA,EAAO,UAAU,EAAU,uBAAuB,CAAC,CAAC,CACzF,EAAE,CAAE,QAAS,MAAQ,CAAA,CAAC,EACvB,EAAQ,SAAS,wBAA6BA,GAAAA,EAAO,YAAY,CAC7D,YAAiBA,GAAAA,EAAO,KAAK,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,aAAa,CAAI,CAAA,CAAC,EACnG,OAAQ,EAAU,YAAY,CACjC,EAAE,CAAE,QAAS,aAAe,CAAA,CAAC,EAC9B,EAAQ,SAAS,kBAAuBA,GAAAA,EAAO,YAAY,CACvD,OAAYA,GAAAA,EAAO,KAAK,GAAIA,EAAO,UAAU,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,OAAO,CAAI,CAAA,CAAC,CAAC,EAC9G,IAASA,GAAAA,EAAO,KAAK,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,YAAY,CAAI,CAAA,CAAC,EAC1F,IAAK,GAAIA,EAAO,KAAK,EAAW,CAAE,UAAW,MAAO,OAAQ,CAAE,SAAU,CAAE,SAAU,kBAAmB,GAAI,CAAC,MAAO,CAAE,KAAM,OAAS,CAAA,EAAK,CAAA,CAAE,CAAC,EAC5I,MAAO,GAAIA,EAAO,KAASA,GAAAA,EAAO,SAAS,EAAY,EAAE,EAAa,CAAE,WAAY,CAAE,UAAW,kBAAmB,OAAQ,CAAE,GAAI,CAAC,MAAO,CAAE,KAAM,OAAS,CAAA,EAAK,CAAA,CAAE,CAAC,CACtK,EAAE,CAAE,QAAS,OAAS,CAAA,CAAC,EACxB,EAAQ,SAAS,kBAAuBA,GAAAA,EAAO,YAAY,CACvD,MAAWA,GAAAA,EAAO,KAAK,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,OAAO,CAAI,CAAA,CAAC,EACvF,IAASA,GAAAA,EAAO,KAAK,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,YAAY,CAAI,CAAA,CAAC,EAC1F,MAAO,GAAIA,EAAO,KAAK,GAAIA,EAAO,SAAS,IAAc,CAAW,CAAC,CACxE,EAAE,CAAE,QAAS,OAAS,CAAA,CAAC,EACxB,EAAQ,SAAS,qBAA0BA,GAAAA,EAAO,YAAY,CAC1D,SAAU,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAC7C,EAAG,EAAU,cAAc,EAC3B,EAAG,EAAU,cAAc,EAC3B,EAAG,EAAU,cAAc,CACvC,CAAS,CAAC,EACF,MAAWA,GAAAA,EAAO,KAAK,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,iBAAiB,CAAI,CAAA,CAAC,EACjG,UAAeA,GAAAA,EAAO,KAAK,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,qBAAqB,CAAI,CAAA,CAAC,EACzG,UAAeA,GAAAA,EAAO,KAAK,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,YAAY,CAAI,CAAA,CAAC,EAChG,MAAO,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAC1C,MAAO,EAAU,YAAY,CACzC,CAAS,CAAC,EACF,OAAYA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,EACjD,MAAO,GAAIA,EAAO,KAAK,EAAU,iBAAiB,CAAC,EACnD,MAAO,GAAIA,EAAO,KAAK,EAAU,iBAAiB,CAAC,CACtD,EAAE,CAAE,QAAS,UAAY,CAAA,CAAC,EAC3B,EAAQ,SAAS,sBAA2BA,GAAAA,EAAO,YAAY,CAC3D,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,WAAW,EAAI,EACzE,KAAM,EAAY,EAClB,MAAO,EAAU,YAAY,GAC5BA,EAAO,QAAS,CAAC,CAAE,KAAM,MAAM,CAAE,GACjCA,EAAO,MAAO,CACX,kBAAmB,CACf,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,OAAO,EAAI,CACxE,EACD,oBAAqB,CACjB,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,MAAM,EAAI,CACvE,EACD,iBAAkB,CACd,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,MAAM,EAAI,CACvE,EACD,mBAAoB,CAChB,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,MAAM,EAAI,CACvE,EACD,sBAAuB,CACnB,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,MAAM,EAAI,CACvE,EACD,oBAAqB,CACjB,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,MAAM,EAAI,CACvE,EACD,mBAAoB,CAChB,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,aAAa,EAAI,CAC9E,EACD,sBAAuB,CACnB,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,aAAa,EAAI,CAC9E,EACD,mBAAoB,CAChB,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,aAAa,EAAI,CAC9E,CACJ,CACJ,CAAA,CAAC,EACF,EAAQ,SAAS,0BAA+BA,GAAAA,EAAO,YAAY,CAC/D,UAAW,EAAU,YAAY,EACjC,SAAU,EAAU,YAAY,EAChC,QAAaA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,EAClD,QAAaA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,CACrD,EAAE,CAAE,QAAS,eAAiB,CAAA,CAAC,EAChC,EAAQ,SAAS,qBAA0BA,GAAAA,EAAO,YAAY,CAC1D,EAAG,EAAU,cAAc,EAC3B,EAAG,EAAU,cAAc,EAC3B,EAAG,EAAU,cAAc,EAC3B,SAAU,EAAU,cAAc,EAClC,WAAY,EAAU,cAAc,CACvC,EAAE,CAAE,QAAS,UAAY,CAAA,CAAC,EAC3B,EAAQ,SAAS,mBAAwBA,GAAAA,EAAO,YAAY,CACxD,KAAM,GAAIA,EAAO,KAAK,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,cAAe,SAAU,EAAI,CAAI,CAAA,CAAC,EAC5G,cAAe,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAClD,KAAM,EAAW,CAAE,KAAM,CAAC,MAAO,MAAO,eAAgB,OAAQ,YAAa,SAAU,OAAO,CAAC,CAAE,GAChGA,EAAO,QAAS,CAAC,CAAE,KAAM,MAAM,CAAE,GACjCA,EAAO,MAAO,CACX,IAAO,CACH,QAAaA,GAAAA,EAAO,KAAK,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,aAAa,CAAI,CAAA,CAAC,CAClG,EACD,aAAgB,CACZ,cAAmBA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,CAC3D,EACD,KAAQ,CACJ,QAAaA,GAAAA,EAAO,KAAK,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,cAAc,CAAI,CAAA,CAAC,CACnG,EACD,UAAa,CACT,mBAAoB,GAAIA,EAAO,KAAK,EAAU,YAAY,CAAC,EAC3D,cAAe,GAAIA,EAAO,KAAK,EAAU,kBAAkB,CAAC,CAC/D,EACD,OAAU,CACN,SAAcA,GAAAA,EAAO,KAAK,EAAW,CAAE,KAAM,UAAU,CAAE,CAAC,EAC1D,MAAO,EAAU,YAAY,EAC7B,aAAkBA,GAAAA,EAAO,KAASA,GAAAA,EAAO,SAAS,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,cAAgB,CAAA,CAAE,EAAG,GAAIA,EAAO,YAAY,CAC9I,CACI,KAAM,UACN,KAAM,GAAIA,EAAO,aAAc,EAC/B,OAAQ,IAAM,EACjB,EACD,CACI,KAAM,SACN,KAAUA,GAAAA,EAAO,SAAS,EAAU,EAAQA,GAAAA,EAAO,cAAc,CACpE,CACJ,CAAA,CAAC,CAAC,EACH,QAAaA,GAAAA,EAAO,KAASA,GAAAA,EAAO,SAAS,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,SAAW,CAAA,CAAE,KAAOA,EAAO,aAAW,CAAG,CAAC,EAC3I,MAAO,GAAIA,EAAO,KAAK,GAAIA,EAAO,UAAU,EAAU,qBAAqB,CAAC,CAAC,EAC7E,WAAY,GAAIA,EAAO,KAAK,EAAU,kBAAkB,CAAC,CAC5D,EACD,MAAS,CACL,KAAM,EAAU,YAAY,CAC/B,CACJ,CACb,CAAS,CAAC,EACF,IAAK,GAAIA,EAAO,KAAK,EAAW,CAAE,UAAW,MAAO,OAAQ,CAAE,SAAU,CAAE,SAAU,mBAAoB,GAAI,CAAC,MAAO,CAAE,KAAM,MAAQ,CAAA,EAAK,CAAA,CAAE,CAAC,EAC5I,KAAUA,GAAAA,EAAO,KAAK,EAAW,CAAE,UAAW,MAAM,CAAE,CAAC,EACvD,SAAU,GAAIA,EAAO,KAAK,EAAU,oBAAoB,CAAC,EACzD,YAAa,GAAIA,EAAO,KAAK,EAAU,oBAAoB,CAAC,EAC5D,SAAU,GAAIA,EAAO,KAAK,EAAU,oBAAoB,CAAC,EACzD,MAAO,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAC1C,WAAgBA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,EACrD,YAAiBA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,EACtD,aAAkBA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,EACvD,YAAiBA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,EACtD,QAAaA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,CAC9D,CAAS,CAAC,EACF,UAAW,GAAIA,EAAO,KAASA,GAAAA,EAAO,SAAS,EAAW,CAAE,KAAM,MAAQ,CAAA,EAAG,EAAU,gBAAgB,CAAC,CAAC,EACzG,QAAS,GAAIA,EAAO,KAAK,EAAU,kBAAkB,CAAC,EACtD,UAAW,GAAIA,EAAO,KAAK,EAAU,kBAAkB,CAAC,EACxD,gBAAiB,GAAIA,EAAO,KAAK,EAAU,kBAAkB,CAAC,EAC9D,QAAaA,GAAAA,EAAO,KAASA,GAAAA,EAAO,SAAS,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,YAAY,CAAI,CAAA,EAAG,EAAU,yBAAyB,CAAC,CAAC,CAC5J,EAAE,CAAE,QAAS,QAAU,CAAA,CAAC,EACzB,EAAQ,SAAS,0BAA+BA,GAAAA,EAAO,YAAY,CAC/D,aAAkBA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,EACvD,QAAaA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,EAClD,SAAcA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,EACnD,cAAmBA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,EACxD,aAAkBA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,EACvD,eAAoBA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,EACzD,yBAA8BA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,EACnE,eAAoBA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,EACzD,cAAe,GAAIA,EAAO,KAAK,EAAU,kBAAkB,CAAC,EAC5D,cAAe,GAAIA,EAAO,KAAK,EAAU,kBAAkB,CAAC,CAC/D,EAAE,CAAE,QAAS,eAAiB,CAAA,CAAC,EAChC,EAAQ,SAAS,mBAAwBA,GAAAA,EAAO,YAAY,CACxD,MAAO,EAAU,cAAc,EAC/B,MAAO,EAAU,cAAc,EAC/B,QAAaA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,EAClD,cAAe,GAAIA,EAAO,KAAK,EAAU,kBAAkB,CAAC,EAC5D,KAAM,GAAIA,EAAO,KAAK,EAAU,yBAAyB,CAAC,CAC7D,EAAE,CAAE,QAAS,QAAU,CAAA,CAAC,CAC7B,CACA,GAAA,sBAAgC,aCvMhC,OAAO,eAAe,GAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EACnC,GAAA,kBAAG,OAC5B,KAAMA,GAASC,EACf,YAA2B,EAAS,EAAa,CAC7C,KAAM,GAAYD,EAAO,UAAU,KAAK,OAAW,CAAO,EACpD,EAAaA,EAAO,WAAW,KAAK,OAAW,CAAW,EAChE,EAAQ,SAAS,SAAU,GAAIA,EAAO,KAAK,GAAIA,EAAO,YAAY,CAC9D,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,mBAAmB,EAAI,GAChFA,EAAO,QAAS,CAAC,CAAE,KAAM,MAAM,CAAE,GACjCA,EAAO,MAAO,CACX,4BAA6B,CACzB,MAAO,GAAIA,EAAO,KAAK,EAAW,CAAE,KAAM,eAAgB,WAAY,EAAI,CAAE,CAAC,EAC7E,QAAaA,GAAAA,EAAO,UAAU,EAAU,CAAE,EAC1C,IAASA,GAAAA,EAAO,SAAS,EAAY,EACrC,EAAU,mBAAmB,CAAC,EAC9B,OAAQ,EAAU,eAAe,CACpC,EACD,+BAAgC,CAC5B,MAAWA,GAAAA,EAAO,KAAK,EAAU,CAAE,EACnC,YAAa,GAAIA,EAAO,UAAU,EAAU,mBAAmB,CAAC,EAChE,OAAQ,EAAU,eAAe,CACpC,EACD,qBAAsB,CAClB,MAAWA,GAAAA,EAAO,KAAK,EAAU,CAAE,EACnC,WAAY,EAAU,mBAAmB,EACzC,OAAQ,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,MAAM,EAAI,EACtE,WAAgBA,GAAAA,EAAO,KAAK,GAAIA,EAAO,YAAU,CAAG,EACpD,YAAiBA,GAAAA,EAAO,KAAK,GAAIA,EAAO,QAASA,EAAO,YAAY,CAAE,QAAS,GAAM,EAAG,CAAE,QAAS,IAAM,GAAG,CAAE,CAAC,CAClH,EACD,qBAAsB,CAClB,MAAWA,GAAAA,EAAO,KAAK,EAAU,CAAE,EACnC,WAAY,EAAU,mBAAmB,EACzC,OAAQ,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,MAAM,EAAI,EACtE,WAAgBA,GAAAA,EAAO,KAAK,GAAIA,EAAO,YAAU,CAAG,EACpD,YAAiBA,GAAAA,EAAO,KAAK,GAAIA,EAAO,QAASA,EAAO,YAAY,CAAE,QAAS,GAAM,EAAG,CAAE,QAAS,IAAM,GAAG,CAAE,CAAC,CAClH,EACD,oBAAqB,CACjB,MAAWA,GAAAA,EAAO,KAAK,EAAU,CAAE,EACnC,WAAY,EAAU,mBAAmB,EACzC,OAAQ,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,MAAM,EAAI,EACtE,WAAgBA,GAAAA,EAAO,KAAK,GAAIA,EAAO,YAAU,CAAG,EACpD,YAAiBA,GAAAA,EAAO,KAAK,GAAIA,EAAO,QAASA,EAAO,YAAY,CAAE,QAAS,GAAM,EAAG,CAAE,QAAS,IAAM,GAAG,CAAE,CAAC,CAClH,EACD,6BAA8B,CAC1B,MAAWA,GAAAA,EAAO,KAAK,EAAU,CAAE,EACnC,WAAY,EAAU,mBAAmB,EACzC,OAAQ,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,MAAM,EAAI,EACtE,WAAgBA,GAAAA,EAAO,KAAK,GAAIA,EAAO,YAAU,CAAG,EACpD,YAAiBA,GAAAA,EAAO,KAAK,GAAIA,EAAO,QAASA,EAAO,YAAY,CAAE,QAAS,GAAM,EAAG,CAAE,QAAS,IAAM,GAAG,CAAE,CAAC,CAClH,EACD,yBAA0B,CACtB,MAAWA,GAAAA,EAAO,KAAK,EAAU,CAAE,EACnC,WAAY,EAAU,mBAAmB,EACzC,OAAQ,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,MAAM,EAAI,EACtE,MAAWA,GAAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,CAClD,EACD,qBAAsB,CAClB,MAAWA,GAAAA,EAAO,KAAK,EAAU,CAAE,EACnC,KAAM,EAAU,0BAA0B,EAC1C,SAAU,EAAU,0BAA0B,EAC9C,OAAQ,EAAU,eAAe,CACpC,CACJ,CACJ,EAAE,CAAE,QAAS,SAAU,qBAAsB,EAAM,CAAA,EAAG,CACnD,QAAS,IAAO,EACZ,KAAM,2BAClB,EACK,CAAA,CAAC,EACF,EAAQ,SAAS,oBAAqB,GAAIA,EAAO,KAAK,GAAIA,EAAO,YAAY,CACzE,CACI,KAAM,SACN,KAAM,EAAU,0BAA0B,EAC1C,OAAQ,GAAK,EAAE,EAClB,EACD,CACI,KAAM,OACN,KAAM,GAAIA,EAAO,UAAU,EAAU,0BAA0B,CAAC,EAChE,OAAQ,GAAK,CAAC,CAAC,CAClB,CACT,CAAK,EAAG,CACA,QAAS,IAAO,EACZ,KAAM,iBAClB,EACK,CAAA,CAAC,EACF,EAAQ,SAAS,2BAA4B,GAAIA,EAAO,KAAK,GAAIA,EAAO,YAAY,CAChF,KAAUA,GAAAA,EAAO,KAAK,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,MAAM,CAAI,CAAA,CAAC,EACrF,IAASA,GAAAA,EAAO,KAAK,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,WAAW,CAAI,CAAA,CAAC,CACjG,CAAK,EAAG,CACA,QAAS,IAAO,EACZ,KAAM,iBAClB,EACK,CAAA,CAAC,EACF,EAAQ,SAAS,gBAAiB,GAAIA,EAAO,KAAK,GAAIA,EAAO,YAAY,CACrE,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,MAAM,EAAI,EACpE,MAAWA,GAAAA,EAAO,KAAK,GAAIA,EAAO,QAASA,EAAO,YAAY,CAAE,QAAS,GAAM,EAAG,CAAE,QAAS,IAAM,CAAC,CAAE,CAAC,CAC/G,CAAK,EAAG,CACA,QAAS,IAAO,EACZ,KAAM,iBAClB,EACK,CAAA,CAAC,CACN,CACA,GAAA,kBAA4B,aCrG5B,OAAO,eAAe,GAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EACrC,GAAA,gBAAG,OAC1B,KAAMA,GAASC,EACf,YAAyB,EAAS,EAAa,CAC3C,KAAM,GAAaD,EAAO,WAAW,KAAK,OAAW,CAAW,EAC1D,EAAU,AAAC,GAAS,GAAIA,EAAO,KAAK,GAAIA,EAAO,YAAY,CAC7D,QAAaA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,EAClD,OAAQ,GAAIA,EAAO,UAAcA,GAAAA,EAAO,YAAY,CAChD,CACI,KAAM,SACN,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,EAAM,SAAU,EAAM,CAAA,CAAE,EAClF,OAAQ,GAAK,EAAE,EAClB,EACD,CACI,KAAM,SACN,KAAM,GAAIA,EAAO,YAAY,CACzB,GAAI,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,EAAM,SAAU,GAAM,aAAc,EAAM,CAAA,CAAE,EACpG,SAAU,GAAIA,EAAO,aAAc,CACvD,CAAiB,EACD,OAAQ,GAAM,EAAE,GAAI,CAAC,EACxB,CACb,CAAS,CAAC,CACV,EAAO,CAAE,QAAS,KAAK,CAAE,EAAG,CACpB,QAAS,IAAO,EACZ,OAAQ,CAAE,CACtB,EACA,CAAK,EACD,EAAQ,SAAS,YAAa,EAAQ,OAAO,CAAC,EAC9C,EAAQ,SAAS,kBAAmB,EAAQ,aAAa,CAAC,EAC1D,EAAQ,SAAS,YAAa,EAAQ,OAAO,CAAC,EAC9C,EAAQ,SAAS,eAAgB,EAAQ,WAAW,CAAC,EACrD,EAAQ,SAAS,iBAAkB,EAAQ,YAAY,CAAC,EACxD,EAAQ,SAAS,WAAY,EAAQ,MAAM,CAAC,EAC5C,EAAQ,SAAS,kBAAmB,EAAQ,cAAc,CAAC,EAC3D,EAAQ,SAAS,gBAAiB,EAAQ,YAAY,CAAC,EACvD,EAAQ,SAAS,qBAAsB,EAAQ,iBAAiB,CAAC,EACjE,EAAQ,SAAS,eAAgB,EAAQ,WAAW,CAAC,EACrD,EAAQ,SAAS,oBAAqB,EAAQ,gBAAgB,CAAC,EAC/D,EAAQ,SAAS,iBAAkB,EAAQ,aAAa,CAAC,EACzD,EAAQ,SAAS,gBAAiB,EAAQ,YAAY,CAAC,EACvD,EAAQ,SAAS,aAAc,EAAQ,SAAS,CAAC,EACjD,EAAQ,SAAS,gBAAiB,EAAQ,YAAY,CAAC,EACvD,EAAQ,SAAS,YAAa,EAAQ,iBAAiB,CAAC,EACxD,EAAQ,SAAS,wBAAyB,EAAQ,6BAA6B,CAAC,EAChF,EAAQ,SAAS,yBAA0B,EAAQ,8BAA8B,CAAC,EAClF,EAAQ,SAAS,gBAAiB,EAAQ,qBAAqB,CAAC,EAChE,EAAQ,SAAS,iCAAkC,EAAQ,sCAAsC,CAAC,EAClG,EAAQ,SAAS,uBAAwB,EAAQ,4BAA4B,CAAC,EAC9E,EAAQ,SAAS,kCAAmC,EAAQ,uCAAuC,CAAC,EACpG,EAAQ,SAAS,YAAa,EAAQ,iBAAiB,CAAC,EACxD,EAAQ,SAAS,qBAAsB,EAAQ,0BAA0B,CAAC,EAC1E,EAAQ,SAAS,qBAAsB,EAAQ,0BAA0B,CAAC,EAC1E,EAAQ,SAAS,qBAAsB,EAAQ,0BAA0B,CAAC,EAC1E,EAAQ,SAAS,oBAAqB,EAAQ,yBAAyB,CAAC,EACxE,EAAQ,SAAS,oBAAqB,EAAQ,yBAAyB,CAAC,EACxE,EAAQ,SAAS,mBAAoB,EAAQ,wBAAwB,CAAC,CAC1E,CACA,GAAA,gBAA0B,aCzD1B,OAAO,eAAe,GAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EAC5B,GAAA,yBAAG,OACnC,KAAMA,GAASC,EACf,YAAkC,EAAS,EAAa,CACpD,KAAM,GAAYD,EAAO,UAAU,KAAK,OAAW,CAAO,EACpD,EAAaA,EAAO,WAAW,KAAK,OAAW,CAAW,EAC1D,EAAkB,AAAC,GAAM,CAAE,GAAI,GAAI,MAAO,aAAa,OAAQ,EAAgB,EAAE,EAAE,EAAK,GAAK,GAAM,KAAuB,OAAS,EAAE,QAAU,MAAQ,IAAO,OAAS,EAAM,MAAO,IAAM,SAAW,GAAK,GAAM,KAAuB,OAAS,EAAE,YACxP,EAAQ,SAAS,iBAAkB,GAAIA,EAAO,KAAK,GAAIA,EAAO,YAAY,CACtE,CACI,KAAM,SACN,KAAM,EAAU,uBAAuB,EACvC,OAAQ,GAAK,YAAa,OAAS,MAAO,GAAE,IAAO,SAAW,EAAE,GAAK,CAAE,KAAM,EAAgB,EAAE,EAAE,CAAC,EAAM,MAAO,IAAM,SAAW,EAAI,CAAE,KAAM,EAAgB,CAAC,CAAG,CACnK,EACD,CACI,KAAM,OACN,KAAM,EAAU,qBAAqB,EACrC,OAAQ,GAAK,CAAC,CAAC,CAClB,EACD,CACI,KAAM,SACN,SAAU,EACV,KAAM,EAAY,EAClB,OAAQ,CACX,EACD,CACI,KAAM,SACN,KAAM,GAAIA,EAAO,YAAa,EAC9B,OAAQ,GAAK,CACT,KAAM,GAAI,WAAW,EAAgB,CAAC,CAAC,EACvC,MAAO,UAAS,CAAC,EAAI,EAAK,AAAE,EAAI,EAAI,CACvC,CACJ,EACD,CACI,KAAM,UACN,KAAM,GAAIA,EAAO,aAAc,EAC/B,OAAQ,GAAK,CACT,KAAM,GAAI,EAAgB,CAAC,EAC3B,MAAO,KAAM,QAAU,IAAM,QAAU,IAAM,OAAS,CAAC,CAAC,CAC3D,CACJ,CACT,EAAO,CAAE,QAAS,gBAAgB,CAAE,EAAG,CAC/B,QAAS,IAAO,EACZ,KAAM,EAClB,EACK,CAAA,CAAC,EACF,KAAM,GAAc,CAChB,MAAWA,GAAAA,EAAO,KAAK,EAAU,CAAE,EACnC,KAAUA,GAAAA,EAAO,KAAK,EAAU,CAAE,EAClC,KAAUA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,EAC/C,OAAYA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,EACjD,WAAgBA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,EACrD,cAAmBA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,EACxD,WAAgBA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,EACrD,UAAeA,GAAAA,EAAO,KAAK,EAAU,CAAE,CAC/C,EACI,EAAQ,SAAS,aAAkBA,GAAAA,EAAO,YAAY,KAC/C,GACJ,CAAE,QAAS,uBAAyB,CAAA,CAAC,EACxC,KAAM,GAAe,OACd,GADc,CAEjB,WAAY,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAC/C,OAAQ,EAAW,CAAE,KAAM,CAAC,WAAY,YAAa,cAAe,kBAAmB,cAAe,mBAAmB,CAAC,CAAE,GAC3HA,EAAO,QAAS,CAAC,CAAE,KAAM,QAAQ,CAAE,GACnCA,EAAO,MAAO,CACX,YAAe,CACX,MAAO,EAAY,CACtB,EACD,kBAAqB,CACjB,MAAO,EAAY,CACtB,EACD,UAAa,CACT,MAAO,EAAY,CACtB,EACD,SAAY,CACR,MAAO,EAAY,CACtB,EACD,YAAe,CACX,MAAO,EAAW,CAAE,UAAW,UAAW,OAAQ,CAAE,aAAc,GAAM,aAAc,EAAM,CAAA,CAAE,CACjG,EACD,gBAAmB,CACf,MAAO,EAAW,CAAE,UAAW,UAAW,OAAQ,CAAE,aAAc,GAAM,aAAc,EAAM,CAAA,CAAE,CACjG,CACJ,CACb,CAAS,CAAC,EACF,WAAY,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAC/C,OAAQ,EAAW,CAAE,KAAM,CAAC,YAAa,YAAa,aAAa,EAAG,GACrEA,EAAO,QAAS,CAAC,CAAE,KAAM,QAAQ,CAAE,GACnCA,EAAO,MAAO,CACX,UAAa,CACT,MAAO,GAAIA,EAAO,KAAK,EAAU,gBAAgB,CAAC,EAClD,SAAU,GAAIA,EAAO,KAAK,EAAU,gBAAgB,CAAC,CACxD,EACD,UAAa,CACT,MAAWA,GAAAA,EAAO,KAAK,EAAW,CAAE,UAAW,MAAO,OAAQ,CAAE,OAAQ,qBAAqB,CAAI,CAAA,CAAC,EAClG,SAAU,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAC7C,GAAI,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,MAAM,EAAI,EAClE,MAAO,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,CAAC,EAChE,IAAK,GAAIA,EAAO,KAAK,EAAW,CAAE,UAAW,MAAO,OAAQ,CAAE,SAAU,CAAE,SAAU,iBAAkB,GAAI,CAAC,MAAO,CAAE,KAAM,IAAM,CAAA,EAAK,CAAA,CAAE,CAAC,CAChK,CAAqB,CAAC,CACL,EACD,YAAe,CACX,MAAO,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAC1C,KAAUA,GAAAA,EAAO,KAAK,EAAU,CAAE,EAClC,KAAUA,GAAAA,EAAO,KAAK,EAAU,CAAE,EAClC,GAAQA,GAAAA,EAAO,KAAK,EAAU,CAAE,CACxD,CAAqB,CAAC,EACF,SAAU,GAAIA,EAAO,KAAK,GAAIA,EAAO,KAAK,GAAIA,EAAO,YAAY,CAC7D,KAAM,GAAIA,EAAO,KAAK,EAAU,gBAAgB,CAAC,EACjD,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,aAAa,EAAI,EAC3E,GAAI,EAAW,CAAE,UAAW,MAAM,CAAE,CAC5D,CAAqB,EAAG,CACA,QAAS,IAAO,EACZ,KAAM,gBACN,GAAI,sCAChC,EACA,CAAqB,CAAC,CACL,CACJ,CACb,CAAS,CAAC,EACF,MAAO,GAAIA,EAAO,KAAK,EAAU,qBAAqB,CAAC,CAC/D,GACI,EAAQ,SAAS,wBAAyB,GAAIA,EAAO,KAAK,GAAIA,EAAO,YAAY,CAC7E,CACI,KAAM,OACN,MAAO,GAAK,MAAO,IAAM,SACzB,OAAQ,GAAM,EAAE,KAAM,EAAE,GACxB,SAAU,GACV,KAAM,GAAIA,EAAO,YAAY,GACzB,KAAM,EAAY,GACf,EACN,CACJ,EACD,CACI,KAAM,cACN,MAAO,GAAM,IAAM,KAAuB,OAAS,EAAE,aAAe,OACpE,OAAQ,GAAM,EAAE,UAAW,EAAE,GAC7B,KAAM,GAAIA,EAAO,YAAY,GACzB,UAAW,EAAY,EACvB,KAAM,GAAIA,EAAO,KAAK,EAAU,qBAAqB,CAAC,GACnD,EACN,CACJ,EACD,CACI,KAAM,QACN,MAAO,GAAM,IAAM,KAAuB,OAAS,EAAE,SAAW,OAChE,OAAQ,GAAM,EAAE,MAAO,CAAE,CAAA,GACzB,KAAM,GAAIA,EAAO,YAAY,GACzB,MAAO,GAAIA,EAAO,YAAY,CAC1B,KAAM,EAAW,CAAE,UAAW,SAAU,OAAQ,CAAE,OAAQ,SAAU,KAAM,WAAY,cAAe,EAAM,CAAA,CAAE,EAC7G,UAAW,EAAW,CAAE,UAAW,WAAW,CAAE,EAChD,MAAWA,GAAAA,EAAO,KAAK,EAAU,CAAE,CACvD,CAAiB,GACE,EACN,CACJ,EACD,CACI,KAAM,WACN,MAAO,GAAM,IAAM,KAAuB,OAAS,EAAE,YAAc,OACnE,OAAQ,GAAM,EAAE,SAAU,EAAE,GAC5B,KAAM,GAAIA,EAAO,YAAY,GACzB,SAAU,EAAW,CAAE,UAAW,SAAU,OAAQ,CAAE,OAAQ,WAAY,KAAM,UAAY,CAAA,CAAE,EAC9F,UAAW,GAAIA,EAAO,KAAK,EAAU,gBAAgB,CAAC,GACnD,EACN,CACJ,EACD,CACI,KAAM,UACN,MAAO,GAAM,IAAM,KAAuB,OAAS,EAAE,WAAa,OAClE,OAAQ,GAAM,EAAE,QAAS,EAAE,GAC3B,KAAM,GAAIA,EAAO,YAAY,GACzB,QAAS,EAAW,CAAE,KAAM,UAAW,WAAY,GAAM,GACtD,EACN,CACJ,EACD,CACI,KAAM,MACN,MAAO,GAAM,IAAM,KAAuB,OAAS,EAAE,OAAS,OAC9D,OAAQ,GAAM,EAAE,IAAK,EAAE,GACvB,KAAM,GAAIA,EAAO,YAAY,GACzB,IAAK,EAAW,CAAE,UAAW,UAAU,CAAE,EACzC,MAAO,GAAIA,EAAO,KAAK,EAAW,CAAE,UAAW,SAAU,OAAQ,CAAE,UAAW,EAAG,UAAW,EAAI,CAAI,CAAA,CAAC,EACrG,OAAQ,GAAIA,EAAO,KAAK,EAAW,CAAE,UAAW,SAAU,OAAQ,CAAE,OAAQ,WAAY,KAAM,UAAU,CAAI,CAAA,CAAC,EAC7G,QAAaA,GAAAA,EAAO,KAAK,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,UAAU,CAAI,CAAA,CAAC,EAC5F,UAAeA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,EACpD,UAAW,GAAIA,EAAO,KAAK,EAAU,gBAAgB,CAAC,GACnD,EACN,CACJ,CACJ,EAAE,CAAE,QAAS,wBAAyB,cAAe,uBAAyB,CAAA,EAAG,CAC9E,QAAS,IAAO,EACZ,KAAM,EAClB,EACK,CAAA,CAAC,EACF,EAAQ,SAAS,sBAAuB,GAAIA,EAAO,KAASA,GAAAA,EAAO,UAAU,EAAU,gBAAgB,CAAC,EAAG,CACvG,QAAS,IAAM,CAAC,CACR,KAAM,EACtB,CAAa,CACR,CAAA,CAAC,CACN,CACA,GAAA,yBAAmC,gCCvMnC,OAAO,eAAc,EAAU,aAAc,CAAE,MAAO,EAAI,CAAE,EAC5D,EAA2B,iBAAA,EAAA,yBAAmC,OAC9D,KAAM,GAASC,EACT,EAAWC,EACjB,WAA0B,EAAS,EAAa,CAC5C,KAAM,GAAa,EAAO,WAAW,KAAK,OAAW,CAAW,EAChE,EAAA,yBAAuC,GAAA,EAAO,KAAS,GAAA,EAAO,aAAc,EAAO,YAAY,CAC3F,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,aAAa,EAAI,EAC3E,OAAY,GAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,EAChD,SAAc,GAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,EAClD,SAAc,GAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,CACrD,CAAA,CAAC,EAAG,CACD,SAAU,IAAM,OAChB,QAAS,IAAM,CAAC,CACR,KAAM,gBACN,OAAQ,CACxB,CAAa,CACb,CAAK,EACD,EAAQ,SAAS,QAAS,GAAI,EAAO,KAAK,GAAI,EAAO,YAAY,CAC7D,YAAa,GAAI,EAAO,YAAa,EACrC,SAAU,GAAI,EAAO,YAAa,EAClC,cAAe,EAAW,CAAE,KAAM,CAAC,OAAQ,OAAQ,MAAM,EAAG,EAC5D,qBAAsB,GAAI,EAAO,KAAK,EAAW,CAAE,KAAM,CAAC,OAAQ,QAAQ,CAAC,CAAE,CAAC,EAC9E,2BAAgC,GAAA,EAAO,KAAS,GAAA,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,CAAG,CAAA,CAAC,EACtF,QAAS,GAAI,EAAO,YAAY,CAC5B,UAAe,GAAA,EAAO,YAAY,CAAE,MAAO,EAAI,CAAE,EACjD,UAAe,GAAA,EAAO,YAAY,CAAE,MAAO,EAAI,CAAE,EACjD,YAAiB,GAAA,EAAO,YAAY,CAAE,MAAO,EAAI,CAAE,EACnD,gBAAqB,GAAA,EAAO,YAAY,CAAE,MAAO,EAAI,CAAE,EACvD,YAAa,GAAI,EAAO,KAAS,GAAA,EAAO,YAAY,CAAE,MAAO,EAAI,CAAE,CAAC,EACpE,cAAe,GAAI,EAAO,KAAS,GAAA,EAAO,YAAY,CAAE,MAAO,EAAI,CAAE,CAAC,EACtE,qBAA0B,GAAA,EAAO,KAAK,EAAW,CAAE,KAAM,CAAC,OAAQ,cAAe,OAAO,CAAG,CAAA,CAAC,EAC5F,cAAmB,GAAA,EAAO,KAAK,EAAU,CAAE,EAC3C,WAAY,GAAI,EAAO,KAAS,GAAA,EAAO,YAAY,CAC/C,MAAO,EAAY,EACnB,WAAgB,GAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,EACpD,oBAAyB,GAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,EAC7D,OAAQ,GAAI,EAAO,YAAa,CAChD,CAAa,CAAC,EACF,gBAAiB,GAAI,EAAO,KAAS,GAAA,EAAO,YAAY,CACpD,MAAO,EAAY,EACnB,YAAa,GAAI,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,EAAG,CACtE,CAAa,CAAC,EACF,MAAO,GAAI,EAAO,KAAS,GAAA,EAAO,YAAY,CAC1C,MAAO,EAAY,EACnB,UAAW,GAAI,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,EAC3D,UAAW,GAAI,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,EAC3D,sBAAuB,GAAI,EAAO,aAAc,CAChE,CAAa,CAAC,EACF,SAAU,GAAI,EAAO,KAAS,GAAA,EAAO,YAAY,CAC7C,QAAS,GAAI,EAAO,YAAY,CAC5B,KAAM,EAAY,CACtC,CAAiB,EACD,YAAa,GAAI,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,EAAG,CACtE,CAAa,CAAC,CACd,CAAS,EACD,SAAU,GAAI,EAAO,SAAS,EAAW,CAAE,KAAM,cAAgB,CAAA,EAAG,EAAQ,wBAAwB,EACpG,YAAiB,GAAA,EAAO,SAAS,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,aAAe,CAAA,CAAE,EAAG,GAAI,EAAO,KAAK,GAAI,EAAO,YAAY,CAC5I,cAAe,GAAI,EAAO,YAAa,EACvC,OAAQ,GAAI,EAAO,YAAa,CAC5C,EAAW,CAAE,SAAU,UAAU,CAAE,EAAG,CAC1B,QAAS,IAAO,EACZ,cAAe,IACf,OAAQ,CACxB,EACA,CAAS,CAAC,EACF,QAAS,GAAI,EAAO,SAAS,EAAW,CAAE,KAAM,CAAC,MAAO,QAAQ,EAAG,EAAO,GAAA,EAAO,QAAS,EAAS,KAAK,CAAE,SAAU,8BAA+B,aAAc,mBAAmB,CAAE,EAAG,CACrL,QAAS,IAAM,CAAC,gBAAgB,CAC5C,CAAS,CAAC,EACF,SAAU,GAAI,EAAO,UAAc,GAAA,EAAO,KAAS,GAAA,EAAS,KAAK,CAAE,SAAU,2BAA4B,aAAc,iBAAkB,EAAG,CAAE,SAAU,IAAM,WAAW,CAAE,EAAG,CAAE,UAAW,GAAI,CACvM,EAAO,CAAE,QAAS,OAAO,CAAE,EAAG,CACtB,QAAS,IAAO,EACZ,YAAa,GACb,SAAU,GACV,cAAe,OACf,SAAU,SACV,QAAS,CACL,UAAW,QACX,UAAW,SACX,YAAa,QACb,gBAAiB,MACpB,CACb,EACK,CAAA,CAAC,CACN,CACA,EAAA,iBAA2B,kBCrF3B,OAAO,eAAe,GAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EACnC,GAAA,kBAAG,OAC5B,KAAMF,GAASC,EACTE,EAAWD,EACjB,YAA2B,EAAS,EAAa,CAC7C,KAAM,GAAYF,EAAO,UAAU,KAAK,OAAW,CAAO,EACpD,EAAaA,EAAO,WAAW,KAAK,OAAW,CAAW,EAC1D,EAAe,CACjB,kBAAmB,GAAIG,EAAS,eAAgB,EAChD,MAAO,GAAIH,EAAO,YAAY,CAC1B,gBAAiB,GAAIG,EAAS,eAAgB,EAC9C,UAAW,GAAIA,EAAS,eAAgB,EACxC,iBAAkB,GAAIH,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,EAClE,yBAA0B,GAAIG,EAAS,eAAgB,EACvD,+BAAgC,GAAIH,EAAO,YAAa,EACxD,8BAA+B,GAAIA,EAAO,YAAa,CACnE,CAAS,CACT,EACU,EAAa,CACf,6BAA8B,GAAIG,EAAS,eAAgB,EAC3D,2BAA4B,GAAIA,EAAS,eAAgB,EACzD,YAAa,GAAIA,EAAS,eAAe,CAAE,IAAK,GAAI,IAAK,EAAG,CACpE,EACI,EAAQ,SAAS,oBAAqB,GAAIH,EAAO,KAAK,GAAIA,EAAO,YAAY,CACzE,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,iBAAiB,EAAI,EAC/E,OAAQ,GAAIA,EAAO,YAAY,CAC3B,YAAa,GAAIA,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,EAAG,EACtD,EAAG,EAAU,iBAAiB,EAC9B,OAAQ,GAAIG,EAAS,eAAgB,EACrC,WAAY,EAAU,iBAAiB,EACvC,YAAiBA,GAAAA,EAAS,KAAK,CAAE,SAAU,OAAO,CAAE,EACpD,eAAgB,GAAIH,EAAO,KAASA,GAAAA,EAAO,YAAY,CACnD,WAAgBA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,EACrD,UAAW,GAAIA,EAAO,KAAK,EAAU,aAAa,CAAC,EACnD,YAAa,GAAIA,EAAO,KAAK,EAAU,aAAa,CAAC,EACrD,WAAY,GAAIA,EAAO,KAAK,EAAU,aAAa,CAAC,EACpD,cAAe,GAAIA,EAAO,KAAK,EAAU,aAAa,CAAC,CACvE,CAAa,CAAC,GACDA,EAAO,QAAS,CAAC,MAAO,CAAE,KAAM,OAAQ,GACxCA,EAAO,MAAO,CACX,mBAAoB,EACpB,iBAAkB,EAClB,wBAAyB,CAC5B,CACb,CAAS,CACT,EAAO,CAAE,QAAS,QAAQ,CAAE,EAAG,CACvB,QAAS,IAAO,EACZ,KAAM,iBACN,OAAQ,CACJ,YAAa,EAChB,CACb,EACK,CAAA,CAAC,CACN,CACA,GAAA,kBAA4B,aCtD5B,OAAO,eAAe,GAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EAChC,GAAA,qBAAG,OAC/B,KAAMA,GAASC,EACTE,GAAWD,EACjB,YAA8B,EAAS,EAAa,CAChD,KAAM,GAAYF,EAAO,UAAU,KAAK,OAAW,CAAO,EACpD,EAAaA,EAAO,WAAW,KAAK,OAAW,CAAW,EAChE,EAAQ,SAAS,YAAiBA,GAAAA,EAAO,YAAY,CACjD,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,kCAAkC,EAAI,GAC/FA,EAAO,QAAS,CAAC,CAAE,KAAM,MAAM,CAAE,GACjCA,EAAO,MAAO,CACX,mCAAoC,CAChC,UAAW,EAAU,0BAA0B,CAClD,EACD,yBAA0B,CACtB,KAAM,EAAW,CAAE,KAAM,iBAAiB,CAAE,CAC/C,EACD,0BAA2B,CACvB,OAAQ,GAAIA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,CAC3D,EACD,kBAAmB,CACf,MAAO,GAAIG,GAAS,aAAa,CAAE,IAAK,EAAG,IAAK,IAAK,CACxD,EACD,iCAAkC,CAC9B,MAAO,GAAIA,GAAS,aAAa,CAAE,IAAK,EAAG,IAAK,IAAK,CACxD,EACD,kCAAmC,CAC/B,YAAa,GAAIH,EAAO,YAAa,EACrC,YAAiBA,GAAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,EACrD,YAAiBA,GAAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,CACxD,EACD,8BAA+B,CAC3B,qBAA0BA,GAAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,EAC9D,aAAc,GAAIA,EAAO,YAAa,EACtC,aAAkBA,GAAAA,EAAO,KAAK,GAAIA,EAAO,YAAU,CAAG,CACzD,EACD,6BAA8B,CAC1B,oBAAqB,EAAW,CAAE,KAAM,CAAC,KAAM,MAAM,EAAG,EACxD,UAAeA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,GAAI,EACpE,iBAAkB,EAAU,0BAA0B,EACtD,yBAA0B,GAAIA,EAAO,KAAK,EAAU,0BAA0B,CAAC,CAClF,EACD,sBAAuB,CACnB,UAAW,EAAW,CAAE,KAAM,gBAAgB,CAAE,CACnD,EACD,yBAA0B,CACtB,OAAQ,EAAU,iBAAiB,CACtC,EACD,0BAA2B,CACvB,UAAW,GAAIG,GAAS,aAAa,CAAE,IAAK,IAAK,IAAK,GAAI,EAC1D,SAAU,GAAIA,GAAS,aAAa,CAAE,IAAK,IAAK,IAAK,GAAI,CAC5D,EACD,8CAA+C,CAC3C,UAAW,EAAW,CAAE,KAAM,gBAAgB,CAAE,EAChD,cAAe,GAAIH,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,CAAC,EACxE,cAAe,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,CAAC,CAC3E,EACD,uCAAwC,CACpC,gBAAqBA,GAAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,CAC5D,CACJ,CACT,EAAO,CAAE,QAAS,YAAa,SAAU,WAAW,CAAE,CAAC,CACvD,CACA,GAAA,qBAA+B,0BC/D/B,OAAO,eAAc,EAAU,aAAc,CAAE,MAAO,EAAI,CAAE,EAC5D,EAAqC,2BAAA,EAAA,gBAA0B,OAC/D,KAAM,GAASC,EACf,WAAoC,EAAS,EAAa,CACtD,KAAM,GAAa,EAAO,WAAW,KAAK,OAAW,CAAW,EAC1D,EAAY,EAAO,UAAU,KAAK,OAAW,CAAO,EAC1D,EAA0B,gBAAI,GAAA,EAAO,KAAK,GAAI,EAAO,YAAY,CAC7D,CACI,KAAM,SACN,KAAM,GAAI,EAAO,YAAa,EAC9B,OAAQ,IAAM,CACjB,EACD,CACI,KAAM,SACN,SAAU,EACV,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,4BAA4B,EAAI,EAC1F,OAAQ,IAAA,EACX,EACD,CACI,KAAM,SACN,KAAM,EAAU,kBAAkB,EAClC,OAAQ,IAAO,EAAA,EAClB,CACT,EAAO,CAAE,cAAe,kBAAkB,CAAE,EAAG,CACvC,QAAS,IAAM,CACvB,CAAK,EACD,KAAM,MAAsB,EAAO,YAAY,CAC3C,CACI,KAAM,SACN,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,iBAAiB,EAAI,EAC/E,OAAQ,IAAA,EACX,EACD,CACI,KAAM,SACN,KAAM,EAAU,kBAAkB,CACrC,CACT,EAAO,CAAE,cAAe,kBAAkB,CAAE,EAClC,KAAiB,EAAO,YAAY,CAAE,IAAK,KAAU,IAAK,GAAO,CAAE,EACnE,EAAa,GAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,MAAQ,EAAG,IAAK,KAAO,CAAG,CAAA,EACtF,EAAQ,SAAS,mBAAoB,GAAI,EAAO,KAAK,GAAI,EAAO,YAAY,CACxE,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,gCAAgC,EAAI,GAC7F,EAAO,QAAS,CAAC,CAAE,KAAM,MAAM,CAAE,GACjC,EAAO,MAAO,CACX,gBAAiB,CACb,SAAU,EAAQ,eACrB,EACD,gBAAiB,CACb,UAAW,EAAQ,gBACnB,UAAW,EAAQ,eACtB,EACD,0BAA2B,CACvB,SAAU,EAAQ,eACrB,EACD,qBAAsB,CAClB,SAAU,EAAQ,eACrB,EACD,8BAA+B,CAC3B,SAAU,EAAQ,eACrB,EACD,uBAAwB,CACpB,SAAU,EAAQ,eACrB,EACD,kBAAmB,CACf,MAAO,EAAQ,gBACf,IAAK,EACL,IAAK,CACR,EACD,qBAAsB,CAClB,SAAU,GAAI,EAAO,YAAa,CACrC,EACD,iBAAkB,CACd,SAAU,EAAQ,eACrB,EACD,uBAAwB,CACpB,SAAU,EAAQ,eACrB,EACD,0BAA2B,CACvB,SAAU,EAAQ,eACrB,EACD,yBAA0B,CACtB,SAAU,EAAQ,eACrB,EACD,gBAAiB,CACb,UAAW,EAAQ,gBACnB,UAAW,EAAQ,eACtB,EACD,gBAAiB,CACb,UAAW,EAAQ,gBACnB,UAAW,EAAQ,eACtB,EACD,gBAAiB,CACb,UAAW,EAAQ,gBACnB,UAAW,EAAQ,eACtB,EACD,kBAAmB,CACf,MAAO,EACP,SAAU,GAAI,EAAO,YAAa,EAClC,QAAS,GAAI,EAAO,YAAa,CACpC,EACD,8BAA+B,CAC3B,SAAU,GAAI,EAAO,YAAa,EAClC,QAAS,GAAI,EAAO,YAAa,EACjC,UAAW,GAAI,EAAO,YAAa,EACnC,SAAU,GAAI,EAAO,YAAa,EAClC,uBAAwB,GAAI,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,EAAG,CACpE,EACD,6BAA8B,CAC1B,SAAU,EAAQ,eACrB,EACD,yBAA0B,CACtB,MAAO,EAAQ,gBACf,cAAe,EACf,cAAe,EACf,cAAe,EAAQ,gBACvB,kBAAmB,EAAQ,eAC9B,EACD,kBAAmB,CACf,SAAU,EAAQ,eACrB,EACD,oBAAqB,CACjB,SAAU,EAAQ,eACrB,EACD,oBAAqB,CACjB,SAAU,EAAQ,eACrB,EACD,0BAA2B,CACvB,MAAO,EACP,SAAU,GAAI,EAAO,YAAa,EAClC,QAAS,GAAI,EAAO,YAAa,EACjC,QAAS,EAAQ,gBACjB,QAAS,EAAQ,gBACjB,QAAS,EAAQ,eACpB,EACD,kBAAmB,CACf,SAAU,EAAQ,eACrB,EACD,mBAAoB,CAChB,OAAQ,EAAU,cAAc,CACnC,EACD,mBAAoB,CAChB,SAAU,EAAQ,eACrB,EACD,oBAAqB,CACjB,SAAU,EAAQ,eACrB,EACD,iCAAkC,CAC9B,oBAAqB,EAAW,CAAE,KAAM,CAAC,SAAU,QAAQ,EAAG,EAC9D,MAAO,EACP,MAAO,EAAQ,eAClB,EACD,+BAAgC,CAC5B,OAAQ,EACR,KAAM,EACN,WAAY,EACZ,SAAU,CACb,CACJ,CACJ,EAAE,CAAE,QAAS,mBAAoB,qBAAsB,EAAM,CAAA,EAAG,CAC7D,QAAS,IAAO,EACZ,KAAM,kBACN,MAAO,0BACP,SAAU,IACV,QAAS,EACrB,EACK,CAAA,CAAC,EACF,EAAQ,SAAS,eAAgB,GAAI,EAAO,KAAK,GAAI,EAAO,YAAY,CACpE,CACI,KAAM,SACN,KAAM,GAAI,EAAO,YAAa,CACjC,EACD,CACI,KAAM,SACN,KAAM,GAAI,EAAO,YAAY,CACzB,WAAY,EAAQ,gBACpB,OAAQ,GAAI,EAAO,UAAc,GAAA,EAAO,YAAY,CAChD,SAAU,GAAI,EAAO,YAAa,EAClC,WAAY,GAAI,EAAO,YAAa,EACpC,MAAO,EAAU,cAAc,CACnD,CAAiB,CAAC,CAClB,EAAe,CAAE,SAAU,WAAY,CAC9B,CACJ,EAAE,CAAE,QAAS,iBAAkB,cAAe,gBAAkB,CAAA,EAAG,CAChE,QAAS,IAAM,CAClB,CAAA,CAAC,CACN,CACA,EAAA,2BAAqC,uBCzLrC,OAAO,eAAe,EAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EAC5D,EAAA,yBAAmC,EAAA,WAAqB,OACxD,KAAMD,GAASC,EACTE,GAAWD,EACjB,YAAkC,EAAS,EAAa,CACpD,KAAM,GAAYF,EAAO,UAAU,KAAK,OAAW,CAAO,EACpD,EAAaA,EAAO,WAAW,KAAK,OAAW,CAAW,EAChE,EAAA,cAAyBA,EAAO,YAAY,CACxC,CACI,KAAM,SACN,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,0BAA0B,EAAI,EACxF,OAAQ,GAAC,EACZ,EACD,CACI,KAAM,SACN,KAAM,EAAU,gBAAgB,EAChC,OAAQ,GAAM,EACV,WAAY,CAAC,CACL,eAAkB,eAC1C,CAAqB,CACrB,EACS,CACT,CAAK,EACD,EAAQ,SAAS,iBAAkB,GAAIA,EAAO,KAAK,GAAIA,EAAO,YAAY,CACtE,WAAY,GAAIA,EAAO,UAAU,EAAU,WAAW,CAAC,CAC/D,EAAO,CAAE,QAAS,gBAAgB,CAAE,EAAG,CAC/B,QAAS,IAAO,EACZ,WAAY,CAAC,CACL,eAAgB,iBAChB,MAAO,CAAC,CACA,mBAAoB,CAChB,eAAgB,uBACnB,EACD,gBAAiB,CACb,eAAgB,uBACnB,CAC7B,CAAyB,CACzB,CAAiB,CACjB,EACK,CAAA,CAAC,EACF,EAAQ,SAAS,YAAa,GAAIA,EAAO,KAAK,GAAIA,EAAO,YAAY,CACjE,eAAgB,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,8BAA8B,EAAI,GACrGA,EAAO,QAAS,CAAC,CAAE,KAAM,gBAAgB,CAAE,GAC3CA,EAAO,MAAO,CACX,sBAAuB,CACnB,UAAW,GAAIA,EAAO,YAAa,CACtC,EACD,yBAA0B,CACtB,OAAQ,GAAIA,EAAO,UAAU,EAAU,aAAa,CAAC,CACxD,EACD,sBAAuB,CACnB,UAAW,GAAIA,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,EAAG,EACpD,gBAAiB,GAAIA,EAAO,KAASG,GAAAA,GAAS,KAAK,CAAE,SAAU,OAAO,CAAE,CAAC,CAC5E,EACD,oBAAqB,CACjB,UAAW,EAAW,CAAE,KAAM,gBAAgB,CAAE,EAChD,OAAYH,GAAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,CACnD,EACD,6BAA8B,CAC1B,MAAO,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,QAAS,WAAY,EAAM,CAAA,CAAE,CAC3F,EACD,iBAAkB,CACd,MAAO,GAAIA,EAAO,UAAU,EAAU,gBAAgB,CAAC,CAC1D,CACJ,CACJ,EAAE,CAAE,SAAU,WAAY,QAAS,WAAa,CAAA,EAAG,CAChD,QAAS,IAAO,EACZ,eAAgB,iBAChB,MAAO,CAAC,CACA,mBAAoB,CAChB,eAAgB,uBACnB,EACD,gBAAiB,CACb,eAAgB,uBACnB,CACrB,CAAiB,CACjB,EACK,CAAA,CAAC,EACF,EAAQ,SAAS,iBAAkB,GAAIA,EAAO,KAAK,GAAIA,EAAO,YAAY,CACtE,mBAAoB,GAAIA,EAAO,KAAK,EAAU,eAAe,CAAC,EAC9D,mBAAoB,EAAU,WAAW,EACzC,gBAAiB,EAAU,WAAW,EACtC,aAAc,EAAU,aAAa,EACrC,WAAY,GAAIA,EAAO,KAAK,EAAW,CAAE,UAAW,MAAO,OAAQ,CAAE,SAAU,CAAE,SAAU,iBAAmB,CAAA,CAAI,CAAA,CAAC,CACtH,EAAE,CAAE,SAAU,YAAa,QAAS,gBAAkB,CAAA,EAAG,CACtD,QAAS,IAAO,EACZ,mBAAoB,CAChB,eAAgB,uBACnB,EACD,gBAAiB,CACb,eAAgB,uBACnB,CACb,EACK,CAAA,CAAC,EACF,KAAM,GAAgB,CAClB,SAAU,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,IAAK,QAAS,EAAM,CAAA,CAAC,EACrF,SAAU,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,IAAK,QAAS,EAAM,CAAA,CAAC,EACrF,WAAgBA,GAAAA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,CAAG,CAAA,CAAC,EACtE,WAAgBA,GAAAA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,CAAG,CAAA,CAAC,CAC9E,EACI,EAAQ,SAAS,gBAAqBA,GAAAA,EAAO,YAAY,CACrD,eAAgB,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,eAAe,EAAI,GACtFA,EAAO,QAAS,CAAC,CAAE,KAAM,gBAAgB,CAAE,GAC3CA,EAAO,MAAO,CACX,oCAAqC,GACjC,KAAM,EAAW,CAAE,KAAM,CAAC,IAAK,IAAK,GAAG,EAAG,GACvC,GAEP,uBAAwB,CAC3B,CACT,EAAO,CAAE,QAAS,gBAAiB,qBAAsB,EAAI,CAAE,CAAC,EAC5D,EAAQ,SAAS,YAAiBA,GAAAA,EAAO,YAAY,CACjD,eAAgB,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,WAAW,EAAI,GAClFA,EAAO,QAAS,CAAC,CAAE,KAAM,gBAAgB,CAAE,GAC3CA,EAAO,MAAO,CACX,wBAAyB,CACrB,MAAO,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,OAAO,EAAI,CACzE,EACD,6BAA8B,CAC1B,YAAa,EAAU,aAAa,CACvC,EACD,+BAAgC,CAC5B,MAAO,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,OAAO,EAAI,EACtE,YAAa,GAAIA,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,EAAG,CACzD,EACD,oCAAqC,CACjC,YAAa,EAAU,aAAa,EACpC,YAAa,GAAIA,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,EAAG,CACzD,EACD,sBAAuB,CACnB,IAAK,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,YAAY,EAAI,CAC5E,CACJ,CACT,EAAO,CAAE,QAAS,YAAa,qBAAsB,EAAI,CAAE,CAAC,CAC5D,CACA,EAAA,yBAAmC,GCvInC,OAAO,eAAe,GAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EAClC,GAAA,mBAAG,OAC7B,KAAMA,GAASC,EACTE,EAAWD,EAGXG,GAAkBD,EACxB,YAA4B,EAAS,EAAa,CAC9C,KAAM,GAAYJ,EAAO,UAAU,KAAK,OAAW,CAAO,EACpD,EAAaA,EAAO,WAAW,KAAK,OAAW,CAAW,EAC1D,KAAwBA,EAAO,YAAY,CAC7C,CACI,KAAM,SACN,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,8BAA8B,EAAI,CAC/F,EACD,CACI,KAAM,SACN,KAAM,EAAU,oBAAoB,CACvC,CACT,EAAO,CAAE,cAAe,SAAS,CAAE,EACzB,KAAoBA,EAAO,YAAY,CACzC,CACI,KAAM,SACN,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,0BAA0B,EAAI,CAC3F,EACD,CACI,KAAM,SACN,KAAM,EAAU,gBAAgB,CACnC,CACT,EAAO,CAAE,cAAe,gBAAgB,CAAE,EAChC,EAAoB,CACtB,MAAWA,GAAAA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,CAAG,CAAA,CAAC,EACxE,UAAeA,GAAAA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,CAAG,CAAA,CAAC,EAC5E,SAAcA,GAAAA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,CAAG,CAAA,CAAC,EAC3E,QAAS,CACjB,EACU,EAAqB,CACvB,aAAc,EAAU,sBAAsB,EAC9C,cAAe,EAAU,sBAAsB,EAC/C,eAAgB,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,CAAC,CACjF,EACU,KAAuBA,EAAO,YAAY,CAC5C,OAAQ,EAAU,WAAW,EAC7B,MAAO,EAAU,aAAa,CACtC,CAAK,EACK,EAAY,CACd,KAAUA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,GAAI,EAC/D,+BAAgC,GAAIA,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,EAAG,EACzE,QAAaA,GAAAA,EAAO,UAAU,CAAgB,CACtD,EACU,EAAwB,CAC1B,QAAS,EAAW,CAAE,KAAM,cAAc,CAAE,EAC5C,MAAO,GAAIG,EAAS,aAAa,CAAE,IAAK,EAAG,IAAK,IAAK,EACrD,eAAoBH,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,IAAK,EAC1E,0BAA2B,GAAIA,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,EAAG,EACpE,yBAA0B,GAAIA,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,EAAG,EACnE,kBAAmB,GAAIA,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,EAAG,EAC5D,UAAW,GAAIG,EAAS,aAAc,EACtC,YAAa,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,QAAS,WAAY,EAAM,CAAA,CAAE,EAC9F,aAAc,EAAU,sBAAsB,EAC9C,mBAAoB,CAC5B,EACI,EAAQ,SAAS,qBAAsB,GAAIH,EAAO,KAAK,GAAIA,EAAO,YAAY,CAC1E,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,kBAAkB,EAAI,EAChF,OAAQ,GAAIA,EAAO,YAAY,EAC1BA,EAAO,QAAS,CAAC,MAAO,CAAE,KAAM,OAAQ,GACxCA,EAAO,MAAO,CACX,mBAAoB,CAChB,YAAa,GAAIA,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,EAAG,CACzD,EACD,2BAA4B,CACxB,MAAO,GAAIG,EAAS,aAAa,CAAE,IAAK,EAAG,IAAK,EAAG,EACnD,OAAQ,GAAIA,EAAS,aAAa,CAAE,IAAK,EAAG,IAAK,GAAI,CACxD,EACD,yBAA0B,CACtB,UAAW,EAAW,CAAE,KAAM,CAAC,KAAM,OAAQ,QAAS,OAAQ,QAAS,MAAM,CAAC,CAAE,EAChF,kBAAmB,EAAU,0BAA0B,EACvD,eAAgB,GAAIH,EAAO,aAAc,EACzC,OAAQ,GAAIA,EAAO,UAAcA,GAAAA,EAAO,YAAY,CAChD,OAAYG,GAAAA,EAAS,aAAa,CAAE,IAAK,CAAC,CAAE,EAC5C,SAAU,EAAU,sBAAsB,CAClE,CAAqB,CAAC,CACL,EACD,uBAAwB,CACpB,eAAgB,EAAU,sBAAsB,CACnD,EACD,0BAA2B,CACvB,SAAU,EAAU,aAAa,EACjC,IAAK,EAAU,aAAa,EAC5B,KAAM,GAAIA,EAAS,aAAa,CAAE,IAAK,EAAG,IAAK,GAAI,EACnD,SAAU,GAAIA,EAAS,aAAa,CAAE,IAAK,EAAG,IAAK,GAAI,CAC1D,EACD,iBAAkB,CACd,eAAgB,EAAU,iCAAiC,EAC3D,OAAQ,EAAU,0BAA0B,EAC5C,OAAQ,GAAIA,EAAS,aAAa,CAAE,IAAK,EAAG,IAAK,EAAG,EACpD,YAAiBH,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,EAAG,CACxE,EACD,8BAA+B,CAC3B,8BAAmCA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,IAAK,EACzF,OAAQ,GAAIG,EAAS,aAAa,CAAE,IAAK,EAAG,IAAK,IAAK,EACtD,OAAQ,GAAIA,EAAS,aAAa,CAAE,IAAK,EAAG,IAAK,IAAK,EACtD,sCAA2CH,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,GAAI,EAChG,iBAAsBA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,GAAI,EAC3E,gCAAiC,GAAIG,EAAS,aAAa,CAAE,IAAK,EAAG,IAAK,IAAK,EAC/E,QAAS,GAAIA,EAAS,eAAe,CAAE,IAAK,EAAG,IAAK,EAAG,EACvD,QAAS,GAAIA,EAAS,eAAe,CAAE,IAAK,EAAG,IAAK,EAAG,EACvD,uDAAwD,GAAIH,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,EAAG,EACjG,4DAAiEA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,GAAI,EACtH,+CAAoDA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,GAAI,CAC5G,EACD,wBAAyB,CACrB,MAAO,GAAIA,EAAO,aAAc,EAChC,KAAM,GAAIA,EAAO,KAAK,EAAU,WAAW,CAAC,CAC/C,EACD,sBAAuB,CACnB,qBAA0BA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,EAC/D,oBAAqB,GAAIA,EAAO,KAAK,EAAU,WAAW,CAAC,EAC3D,OAAQ,GAAIA,EAAO,UAAcA,GAAAA,EAAO,YAAY,CAChD,QAAS,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,CAAC,EAClE,QAAS,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,CAAC,EAClE,OAAQ,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,CAAC,EACjE,OAAQ,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,CAAC,EACjE,QAAaA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,CAC1E,CAAqB,CAAC,CACL,EACD,uBAAwB,CACpB,MAAO,EAAU,aAAa,EAC9B,OAAYA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,IAAK,CACrE,EACD,mBAAoB,EACpB,wBAAyB,CACrB,MAAO,EAAU,aAAa,CACjC,EACD,mBAAoB,CAChB,0BAA+BA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,EAAG,EACnF,kBAAuBA,GAAAA,EAAO,UAAU,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,YAAY,CAAI,CAAA,CAAC,EAC7G,mBAAwBA,GAAAA,EAAO,UAAU,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,YAAY,CAAI,CAAA,CAAC,EAC9G,kBAAmBK,GAAgB,WACnC,mBAAoBA,GAAgB,UACvC,EACD,kBAAmB,CACf,OAAQ,GAAIL,EAAO,YAAY,CAC3B,iBAAkB,EAAU,sBAAsB,EAClD,qBAAsB,EAAU,sBAAsB,EACtD,+BAAgC,EAAU,sBAAsB,EAChE,sBAAuB,EAAU,sBAAsB,EACvD,qBAAsB,EAAU,sBAAsB,EACtD,iBAAkB,GAAIA,EAAO,UAAU,EAAU,aAAa,CAAC,EAC/D,eAAgB,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,QAAS,WAAY,EAAM,CAAA,CAAE,EACjG,eAAgB,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,QAAS,WAAY,EAAM,CAAA,CAAE,CACzH,CAAqB,EACD,OAAQ,GAAIA,EAAO,YAAY,CAC3B,QAAaA,GAAAA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,IAAK,IAAM,IAAK,EAAI,CAAA,CAAC,EACvE,YAAiBA,GAAAA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,IAAK,IAAM,IAAK,EAAI,CAAA,CAAC,EAC3E,aAAkBA,GAAAA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,IAAK,IAAM,IAAK,EAAI,CAAA,CAAC,EAC5E,YAAiBA,GAAAA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,IAAK,IAAM,IAAK,EAAI,CAAA,CAAC,CACnG,CAAqB,EACD,MAAO,GAAIA,EAAO,YAAY,CAC1B,sBAA2BA,GAAAA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,CAAG,CAAA,CAAC,EACjF,gBAAqBA,GAAAA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,CAAG,CAAA,CAAC,EAC3E,mBAAwBA,GAAAA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,EAAI,CAAA,CAAC,CACvG,CAAqB,EACD,iBAAsBA,GAAAA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,CAAG,CAAA,CAAC,EAC5E,gCAAqCA,GAAAA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,CAAG,CAAA,CAAC,EAC3F,4BAAiCA,GAAAA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,CAAG,CAAA,CAAC,EACvF,oCAAyCA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,EAC9E,oBAAyBA,GAAAA,EAAO,KAASG,GAAAA,EAAS,aAAa,CAAE,IAAK,EAAG,IAAK,EAAI,CAAA,CAAC,EACnF,oBAAyBH,GAAAA,EAAO,KAASG,GAAAA,EAAS,aAAa,CAAE,IAAK,EAAG,IAAK,EAAI,CAAA,CAAC,EACnF,aAAkBH,GAAAA,EAAO,KAASG,GAAAA,EAAS,aAAa,CAAE,IAAK,EAAG,IAAK,EAAI,CAAA,CAAC,EAC5E,eAAgB,GAAIH,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,CAAC,EACzE,eAAgB,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,CAAC,EACzE,yBAA8BA,GAAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,CACrE,EACD,6BAA8B,CAC1B,aAAc,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,GAAI,QAAS,EAAM,CAAA,CAAC,EACxF,oBAAyBA,GAAAA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,CAAG,CAAA,CAAC,EAC/E,mBAAwBA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,EAC7D,qBAA0BA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,EAC/D,kBAAuBA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,EAC5D,iBAAsBG,GAAAA,EAAS,KAAK,CAAE,SAAU,OAAO,CAAE,CAC5D,EACD,gCAAiC,EACjC,wBAAyB,CACrB,UAAW,EAAU,aAAa,EAClC,YAAa,EAAU,aAAa,EACpC,WAAY,EAAU,aAAa,EACnC,iBAAkB,EAAU,aAAa,EACzC,QAAaH,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,CACrD,EACD,8BAA+B,EAC/B,oBAAqB,CACjB,MAAO,EAAU,aAAa,CACjC,EACD,iBAAkB,CACd,MAAO,EAAU,sBAAsB,EACvC,QAAS,EAAU,sBAAsB,CAC5C,EACD,4BAA6B,CACzB,8BAA+B,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,GAAK,CAAA,CAAC,EAC1G,cAAe,GAAIG,EAAS,aAAa,CAAE,IAAK,EAAG,IAAK,GAAI,EAC5D,aAAc,GAAIA,EAAS,eAAe,CAAE,IAAK,EAAG,IAAK,GAAI,EAC7D,uCAAwC,GAAIH,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,EAAG,EACjF,qBAAsB,GAAIG,EAAS,eAAe,CAAE,IAAK,GAAK,IAAK,GAAI,EACvE,qBAAsB,GAAIA,EAAS,eAAe,CAAE,IAAK,GAAK,IAAK,GAAI,EACvE,WAAY,GAAIA,EAAS,eAAe,CAAE,IAAK,EAAG,IAAK,EAAG,EAC1D,oBAAyBH,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,IAAK,EAC/E,uBAAwB,GAAIA,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,EAAG,CACpE,EACD,qCAAsC,CAClC,eAAgB,EAAU,sBAAsB,EAChD,aAAc,GAAIA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,EAC9D,cAAe,GAAIA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,CAClE,EACD,qCAAsC,CAClC,MAAO,EAAU,aAAa,EAC9B,OAAQ,EAAU,aAAa,EAC/B,OAAQ,GAAIG,EAAS,aAAa,CAAE,IAAK,EAAG,IAAK,GAAI,CACxD,EACD,+BAAgC,EAChC,gBAAiB,EACjB,8BAA+B,CAC3B,2BAAgCH,GAAAA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,CAAG,CAAA,CAAC,EACtF,6BAAkCA,GAAAA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,CAAG,CAAA,CAAC,EACxF,yBAA8BA,GAAAA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,CAAG,CAAA,CAAC,EACpF,yBAA8BA,GAAAA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,CAAG,CAAA,CAAC,CACvF,EACD,yBAA0B,EAC1B,oCAAqC,CACjC,cAAe,EACf,aAAc,CACjB,EACD,4BAA6B,CACzB,SAAU,GAAIA,EAAO,UAAcA,GAAAA,EAAO,YAAY,CAClD,OAAQ,GAAIA,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,EAAG,EACjD,QAAS,CACjC,CAAqB,CAAC,EACF,QAAS,CACZ,EACD,iCAAkC,CAC9B,QAAaA,GAAAA,EAAO,UAAU,CAAgB,CACjD,EACD,wBAAyB,CACrB,iCAAsCA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,GAAI,EAC3F,YAAiBA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,GAAI,EACtE,wBAA6BA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,IAAK,EACnF,uBAA4BA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,KAAM,EACnF,oBAAyBA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,GAAI,EAC9E,4BAAiCA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,GAAI,EACtF,gCAAqCA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,IAAK,EAC3F,gCAAqCA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,GAAI,EAC1F,iBAAkB,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,QAAS,WAAY,EAAM,CAAA,CAAE,EACnG,oBAAqB,EAAU,sBAAsB,EACrD,4BAA6B,EAAU,sBAAsB,EAC7D,sBAAuB,EAAU,0BAA0B,EAC3D,QAAS,CACZ,EACD,0BAA2B,EAC3B,wBAAyB,CACrB,aAAkBA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,GAAI,EACvE,kBAAuBA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,IAAK,EAC7E,gBAAqBA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,GAAI,EAC1E,cAAmBA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,EAAG,EACvE,cAAmBA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,EAAG,EACvE,mBAAoB,GAAIG,EAAS,aAAc,EAC/C,gBAAiB,GAAIH,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,EAAG,CAC7D,EACD,uBAAwB,CACpB,MAAO,GAAIG,EAAS,aAAa,CAAE,IAAK,EAAG,IAAK,IAAK,CACxD,EACD,qBAAsB,CAClB,YAAa,GAAIH,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,EAAG,CACzD,EACD,yBAA0B,CACtB,SAAU,EAAU,sBAAsB,CAC7C,EACD,mCAAoC,CAChC,SAAU,GAAIG,EAAS,KAAK,CAAE,SAAU,2BAA4B,aAAc,iBAAkB,CACvG,EACD,2BAA4B,CACxB,MAAO,EAAU,aAAa,EAC9B,WAAgBH,GAAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,EACpD,WAAgBA,GAAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,EACpD,qBAAsB,GAAIA,EAAO,aAAc,EAC/C,aAAkBG,GAAAA,EAAS,KAAK,CAAE,SAAU,OAAO,CAAE,CACxD,EACD,iBAAkB,CACd,aAAkBH,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,EACvD,WAAgBA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,EACrD,aAAc,EAAU,cAAc,EACtC,cAAe,EAAU,sBAAsB,EAC/C,eAAgB,EAAU,sBAAsB,EAChD,iBAAkB,EAAU,sBAAsB,EAClD,YAAa,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAChD,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,2BAA2B,EAAI,EACzF,cAAe,EAAU,sBAAsB,EAC/C,eAAgB,GAAIG,EAAS,aAAc,EAC3C,qBAAsB,GAAIH,EAAO,KAASA,GAAAA,EAAO,YAAY,CACzD,oBAAqB,EAAU,sBAAsB,EACrD,4BAA6B,GAAIA,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,EAAG,CAClG,CAAyB,CAAC,GACDA,EAAO,QAAS,CAAC,CAAE,KAAM,MAAM,CAAE,GACjCA,EAAO,MAAO,CACX,iCAAkC,CAC9B,wBAAyB,GAAIA,EAAO,YAAY,CAC5C,eAAoBA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,GAAI,EACzE,gBAAqBA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,GAAI,EAC1E,mBAAoB,GAAIA,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,EAAG,EAC7D,iBAAsBG,GAAAA,EAAS,KAAK,CAAE,SAAU,OAAO,CAAE,EACzD,eAAoBA,GAAAA,EAAS,KAAK,CAAE,SAAU,OAAO,CAAE,EACvD,qBAAsB,EAAU,sBAAsB,CAC1F,CAAiC,CACJ,CACJ,CACzB,EAAuB,CAAE,QAAS,aAAa,CAAE,CAAC,EAC9B,aAAc,GAAIH,EAAO,YAAY,CACjC,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,4BAA4B,EAAI,EAC1F,YAAiBA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,GAAI,EACtE,cAAmBA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,GAAI,EACxE,cAAmBA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,GAAI,GACvEA,EAAO,QAAS,CAAC,CAAE,KAAM,MAAM,CAAE,GACjCA,EAAO,MAAO,CACX,iCAAkC,CAC9B,YAAa,GAAIG,EAAS,aAAa,CAAE,IAAK,EAAG,IAAK,GAAI,EAC1D,sBAA2BH,GAAAA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,CAAG,CAAA,CAAC,CAC3F,EACD,2CAA4C,CACxC,mBAAwBG,GAAAA,EAAS,aAAa,CAAE,IAAK,CAAC,CAAE,EACxD,oBAAyBA,GAAAA,EAAS,aAAa,CAAE,IAAK,CAAC,CAAE,EACzD,iCAAkC,GAAIH,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,EAAG,EAC3E,iBAAsBG,GAAAA,EAAS,KAAK,CAAE,SAAU,OAAO,CAAE,CAC5D,CACJ,CACzB,EAAuB,CAAE,QAAS,eAAgB,EAC9B,eAAgB,GAAIH,EAAO,YAAY,CACnC,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,8BAA8B,EAAI,EAC5F,OAAQ,GAAIG,EAAS,aAAa,CAAE,IAAK,EAAG,IAAK,GAAI,EACrD,OAAQ,GAAIA,EAAS,aAAa,CAAE,IAAK,EAAG,IAAK,GAAI,GACpDH,EAAO,QAAS,CAAC,CAAE,KAAM,MAAM,CAAE,GACjCA,EAAO,MAAO,CACX,gCAAiC,CAC7B,OAAYA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,GAAI,CACpE,EACD,gCAAiC,CAC7B,OAAYA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,GAAI,CACpE,EACD,iCAAkC,CAC9B,OAAYA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,GAAI,CACpE,EACD,kCAAmC,CAC/B,OAAYA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,GAAI,CACpE,EACD,qCAAsC,CAClC,aAAc,GAAIG,EAAS,aAAa,CAAE,IAAK,EAAG,IAAK,GAAI,CAC9D,EACD,gCAAiC,CAC7B,OAAQ,GAAIA,EAAS,aAAa,CAAE,IAAK,EAAG,IAAK,GAAI,CACxD,EACD,yCAA0C,CACtC,eAAgB,GAAIA,EAAS,aAAa,CAAE,IAAK,EAAG,IAAK,IAAK,EAC9D,wBAA6BH,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,IAAK,CACtF,EACD,kCAAmC,CAC/B,aAAc,GAAIG,EAAS,aAAa,CAAE,IAAK,EAAG,IAAK,GAAI,CAC9D,CACJ,CACJ,EAAE,CAAE,QAAS,iBAAkB,qBAAsB,EAAI,CAAE,EAC5D,WAAY,GAAIH,EAAO,UAAcA,GAAAA,EAAO,YAAY,CACpD,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,8BAA8B,EAAI,GAC3FA,EAAO,QAAS,CAAC,CAAE,KAAM,MAAM,CAAE,GACjCA,EAAO,MAAO,CACX,yBAA0B,CACtB,SAAU,EAAU,sBAAsB,CAC7C,EACD,+BAAgC,CAC5B,YAAa,GAAIA,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,EAAG,EACtD,oBAAyBA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,GAAI,EAC9E,mBAAwBA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,GAAI,EAC7E,sBAA2BA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,GAAI,EAChF,eAAgB,EAAU,sBAAsB,EAChD,WAAgBA,GAAAA,EAAO,UAAU,EAAW,CAAE,KAAM,WAAW,CAAE,CAAC,CACrE,EACD,oBAAqB,CACjB,YAAa,GAAIA,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,EAAG,CACzD,EACD,kBAAmB,CACf,YAAa,GAAIA,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,EAAG,CACzD,EACD,uBAAwB,CACpB,YAAa,GAAIA,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,EAAG,CACzD,CACJ,CACzB,EAAuB,CAAE,QAAS,gBAAgB,CAAE,CAAC,CACpC,EACD,2BAA4B,CACxB,aAAc,GAAIA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,EAC9D,cAAe,GAAIA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,EAC/D,WAAY,GAAIA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,CAC/D,EACD,6BAA8B,CAC1B,mBAAwBA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,IAAK,EAC9E,8BAAmCA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,GAAI,EACxF,yCAA0C,GAAIA,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,EAAG,CACtF,EACD,6BAA8B,EAC9B,yCAA0C,CAC7C,CACb,EAAW,CAAE,QAAS,UAAW,CACjC,EAAO,CAAE,QAAS,SAAS,CAAE,EAAG,CACxB,QAAS,IAAO,EACZ,KAAM,iBACN,OAAQ,CACJ,aAAc,CACV,KAAM,mCACT,EACD,aAAc,CACV,KAAM,kCACN,YAAa,EACb,cAAe,EACf,cAAe,CAClB,EACD,eAAgB,CACZ,KAAM,gCACN,OAAQ,EACR,OAAQ,EACR,OAAQ,CACX,CACJ,CACb,EACK,CAAA,CAAC,EACF,EAAQ,SAAS,iBAAkB,GAAIA,EAAO,KAAK,GAAIA,EAAO,YAAY,CACtE,QAAS,EACT,UAAW,GAAIA,EAAO,UAAU,EAAU,WAAW,CAAC,CAC9D,EAAO,CAAE,QAAS,gBAAgB,CAAE,EAAG,CAC/B,QAAS,IAAO,EACZ,QAAS,gBACT,UAAW,CACP,CACI,KAAM,kBACN,MAAO,CACV,EACD,CACI,KAAM,qBACT,EACD,CACI,KAAM,sBACN,UAAW,aACd,CACJ,CACb,EACK,CAAA,CAAC,EACF,EAAQ,SAAS,eAAgB,GAAIA,EAAO,KAAK,GAAIA,EAAO,YAAY,CACpE,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,4BAA4B,EAAI,EAC1F,mBAAwBA,GAAAA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,EAAI,CAAA,CAAC,GAC9EA,EAAO,QAAS,CAAC,CAAE,KAAM,MAAM,CAAE,GACjCA,EAAO,MAAO,CACX,oCAAqC,CACjC,MAAO,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,EAAI,CAAA,CAAC,EACjF,WAAY,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,EAAI,CAAA,CAAC,EACtF,WAAY,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,EAAI,CAAA,CAAC,CACzF,EACD,sCAAuC,CACnC,MAAO,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,EAAI,CAAA,CAAC,EACjF,YAAa,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,EAAI,CAAA,CAAC,EACvF,WAAY,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,EAAI,CAAA,CAAC,EACtF,YAAa,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,EAAI,CAAA,CAAC,EACvF,WAAY,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,EAAI,CAAA,CAAC,CACzF,CACJ,CACT,EAAO,CAAE,qBAAsB,EAAI,CAAE,EAAG,CAChC,QAAS,IAAO,EACZ,KAAM,mCAClB,EACK,CAAA,CAAC,EACF,KAAM,GAAgB,CAClB,KAAUA,GAAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,EAC9C,MAAO,EAAU,kBAAkB,EACnC,MAAO,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,IAAK,OAAO,SAAS,CAAE,EAAG,CAAE,QAAS,IAAM,CAAC,CAAE,CACtG,EACI,EAAQ,SAAS,uBAAwB,GAAIA,EAAO,KAAK,GAAIA,EAAO,YAAY,CAC5E,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,oCAAoC,EAAI,GACjGA,EAAO,QAAS,CAAC,CAAE,KAAM,MAAM,CAAE,GACjCA,EAAO,MAAO,CACX,gCAAiC,OAC1B,GAD0B,CAE7B,QAAaG,GAAAA,EAAS,gBAAgB,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,GAAI,EACxE,WAAY,EAAU,kBAAkB,EACxC,WAAY,GAAIH,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,IAAK,OAAO,SAAS,CAAE,EAAG,CAAE,QAAS,IAAM,CAAC,CAAE,EACnG,OAAQ,GAAIA,EAAO,UAAU,EAAU,aAAa,CAAC,CACxD,GACD,qCAAsC,OAC/B,GAD+B,CAElC,UAAW,GAAIA,EAAO,YAAY,CAAE,IAAK,GAAI,IAAK,EAAG,EACrD,YAAa,GAAIA,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,EAAG,EACtD,cAAe,EAAU,aAAa,EACtC,WAAY,GAAIA,EAAO,UAAU,EAAU,aAAa,CAAC,EACzD,YAAa,GAAIA,EAAO,UAAU,EAAU,aAAa,CAAC,CAC7D,GACD,2BAA4B,OACrB,GADqB,CAExB,OAAQ,GAAIA,EAAO,UAAU,EAAU,aAAa,CAAC,CACxD,GACD,0CAA2C,CACvC,SAAU,EAAY,EACtB,OAAQ,GAAIG,EAAS,aAAc,EACnC,OAAQ,EAAU,sBAAsB,CAC3C,EACD,mCAAoC,CAChC,MAAO,EAAU,aAAa,CACjC,EACD,kCAAmC,CAC/B,MAAO,EAAU,aAAa,CACjC,EACD,oCAAqC,CACjC,QAAS,GAAIH,EAAO,UAAU,GAAIA,EAAO,KAAK,GAAIA,EAAO,YAAY,CACjE,OAAQ,GAAIA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,EACxD,KAAM,EAAU,aAAa,CACjD,CAAiB,EAAG,CACA,QAAS,IAAO,EACZ,KAAM,CAAE,CAChC,EACA,CAAiB,CAAC,CACL,CACJ,CACT,EAAO,CAAE,QAAS,sBAAsB,CAAE,EAAG,CACrC,QAAS,IAAO,EACZ,KAAM,iCAClB,EACK,CAAA,CAAC,EACF,EAAQ,SAAS,kCAAmC,GAAIA,EAAO,KAAK,GAAIA,EAAO,YAAY,CACvF,SAAU,EAAU,sBAAsB,EAC1C,MAAO,GAAIA,EAAO,UAAcA,GAAAA,EAAO,YAAY,CAC/C,QAAS,EAAU,0BAA0B,EAC7C,KAAM,EAAU,sBAAsB,CAClD,CAAS,CAAC,CACV,EAAO,CAAE,QAAS,sBAAsB,CAAE,EAAG,CACrC,QAAS,IAAO,EACZ,SAAU,CACN,KAAM,iCACT,CACb,EACK,CAAA,CAAC,EACF,KAAM,GAAS,CACX,OAAQ,GAAIA,EAAO,KAASA,GAAAA,EAAO,aAAcA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,IAAK,IAAK,GAAI,EAAG,CAAE,UAAW,EAAG,UAAW,CAAC,CAAE,CAAC,CAClJ,EACI,EAAQ,SAAS,2BAA4B,GAAIA,EAAO,KAAK,GAAIA,EAAO,YAAY,CAChF,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,sBAAsB,EAAI,GACnFA,EAAO,QAAS,CAAC,CAAE,KAAM,MAAM,CAAE,GACjCA,EAAO,MAAO,CACX,mBAAoB,CAChB,WAAY,GAAIA,EAAO,UAAU,EAAU,0BAA0B,CAAC,CACzE,EACD,mBAAoB,CAChB,WAAY,GAAIA,EAAO,UAAU,EAAU,0BAA0B,CAAC,CACzE,EACD,4BAA6B,OACtB,GADsB,CAEzB,UAAW,EAAW,CAAE,KAAM,WAAW,CAAE,CAC9C,GACD,gCAAiC,KAC1B,GAEP,+BAAgC,OACzB,GADyB,CAE5B,IAAK,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,YAAY,EAAI,CAC5E,GACD,4BAA6B,OACtB,GADsB,CAEzB,OAAYG,GAAAA,EAAS,KAAK,CAAE,SAAU,OAAO,CAAE,CAClD,GACD,4BAA6B,OACtB,GADsB,CAEzB,OAAYA,GAAAA,EAAS,KAAK,CAAE,SAAU,OAAO,CAAE,CAClD,GACD,gBAAiB,CACb,UAAW,EAAU,0BAA0B,CAClD,EACD,0BAA2B,OACpB,GADoB,CAEvB,MAAO,EAAU,aAAa,CACjC,EACJ,CACT,EAAO,CAAE,QAAS,iBAAiB,CAAE,EAAG,CAChC,QAAS,IAAO,EACZ,KAAM,gBAClB,EACK,CAAA,CAAC,CACN,CACA,GAAA,mBAA6B,aC5kB7B,OAAO,eAAe,GAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EAC5B,GAAA,yBAAG,OACnC,KAAMH,GAASC,EACTE,GAAWD,EACXI,EAAoBF,GAC1B,YAAkC,EAAS,EAAa,CACpD,KAAM,GAAYJ,EAAO,UAAU,KAAK,OAAW,CAAO,EACpD,EAAaA,EAAO,WAAW,KAAK,OAAW,CAAW,EAChE,EAAQ,SAAS,iBAAkB,GAAIA,EAAO,KAAK,GAAIA,EAAO,YAAY,CACtE,UAAeA,GAAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,EACnD,uBAAwB,GAAIA,EAAO,aAAc,EACjD,iBAAkB,GAAIA,EAAO,aAAc,EAC3C,kBAAmB,GAAIA,EAAO,aAAc,EAC5C,qBAAsB,GAAIA,EAAO,aAAc,EAC/C,cAAe,EAAU,aAAa,EACtC,cAAe,EAAU,aAAa,EACtC,MAAO,GAAIA,EAAO,YAAY,CAC1B,MAAWA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,MAAO,IAAK,IAAI,CAAE,EACtE,OAAYA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,KAAM,EACnE,gBAAqBA,GAAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,EACzD,cAAmBA,GAAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,CACnE,CAAS,EACD,aAAc,GAAIA,EAAO,YAAY,CACjC,QAASM,EAAkB,gBAC3B,wBAAyBA,EAAkB,gBAC3C,mBAAoBA,EAAkB,gBACtC,KAAMA,EAAkB,gBACxB,YAAaA,EAAkB,gBAC/B,WAAYA,EAAkB,gBAC9B,WAAYA,EAAkB,gBAC9B,QAASA,EAAkB,gBAC3B,MAAOA,EAAkB,gBACzB,OAAQA,EAAkB,gBAC1B,mCAAoCA,EAAkB,gBACtD,cAAeA,EAAkB,gBACjC,YAAaA,EAAkB,gBAC/B,YAAaA,EAAkB,gBAC/B,SAAUA,EAAkB,eACxC,CAAS,EACD,aAAc,GAAIN,EAAO,UAAU,EAAU,iBAAiB,CAAC,EAC/D,aAAc,EAAU,eAAe,CAC1C,EAAE,CAAE,QAAS,gBAAkB,CAAA,EAAG,GAAS,EACxC,QAAS,IAAMG,GAAS,qBACxB,SAAU,CAAC,EAAM,EAAO,EAAQ,IAAY,CACxC,GAAI,GAAI,EAAI,EAAI,EAChB,SAAQ,EAAK,SAAS,EAAM,EAAO,EAAQ,CAAO,EAC5C,IAAK,GAAU,KAA2B,OAAS,EAAM,SAAW,MAAQ,IAAO,OAAS,OAAS,EAAG,OAAW,IAAK,GAAU,KAA2B,OAAS,EAAM,SAAW,MAAQ,IAAO,OAAS,OAAS,EAAG,QAAU,MACvO,EAAO,IAAI,EAAK,KAAK,OAAO,EAAE,KAAK,QAAQ,EAAG,0BAA2B,IAAI,EAE3E,IAAK,GAAU,KAA2B,OAAS,EAAM,SAAW,MAAQ,IAAO,OAAS,OAAS,EAAG,QAAU,KAAO,GAC3H,EAAO,IAAI,EAAK,KAAK,OAAO,EAAE,KAAK,QAAQ,EAAG,wBAAyB,EAAE,EAEvE,IAAK,GAAU,KAA2B,OAAS,EAAM,SAAW,MAAQ,IAAO,OAAS,OAAS,EAAG,OAAS,KAAO,GAC1H,EAAO,IAAI,EAAK,KAAK,OAAO,EAAE,KAAK,OAAO,EAAG,uBAAwB,EAAE,EAEpE,CACV,CACJ,EAAC,CAAC,EACH,EAAQ,SAAS,eAAoBH,GAAAA,EAAO,YAAY,CACpD,OAAQ,GAAIA,EAAO,YAAa,EAChC,KAAM,GAAIA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,EACtD,OAAYA,GAAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,CACnD,CAAA,CAAC,EACF,EAAQ,SAAS,kBAAmB,GAAIA,EAAO,KAAK,GAAIA,EAAO,YAAY,CACvE,MAAO,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,OAAO,EAAI,EACtE,OAAQ,GAAIA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,CAChE,CAAK,EAAG,CACA,QAAS,IAAO,EACZ,MAAO,kBACP,OAAQ,CACpB,EACK,CAAA,CAAC,CACN,CACA,GAAA,yBAAmC,aCzEnC,OAAO,eAAe,GAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EAChC,GAAA,qBAAG,OAC/B,KAAMA,GAASC,EACTE,GAAWD,EACXK,GAAUH,GAChB,YAA8B,EAAS,EAAa,CAChD,KAAM,GAAaJ,EAAO,WAAW,KAAK,OAAW,CAAW,EAC1D,EAAYA,EAAO,UAAU,KAAK,OAAW,CAAO,EAC1D,EAAQ,SAAS,YAAa,GAAIA,EAAO,KAAK,GAAIA,EAAO,YAAY,CACjE,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,yBAAyB,EAAI,EACvF,OAAYG,GAAAA,GAAS,KAAK,CAAE,SAAU,iBAAiB,CAAE,EACzD,KAAM,EAAW,CAAE,KAAM,iBAAiB,CAAE,EAC5C,gBAAqBH,GAAAA,EAAO,SAAS,EAAW,CAAE,KAAM,eAAgB,KAAOA,EAAO,YAAY,CAC9F,aAAc,EAAW,CAAE,KAAM,CAAC,QAAS,MAAM,EAAG,EACpD,OAAQO,GAAQ,wBAC5B,CAAS,CAAC,EACF,mBAAwBP,GAAAA,EAAO,KAAK,EAAW,CAAE,KAAM,CAAC,OAAQ,aAAc,YAAa,MAAM,CAAG,CAAA,CAAC,GACpGA,EAAO,QAAS,CAAC,CAAE,KAAM,MAAM,CAAE,GACjCA,EAAO,MAAO,CACX,mBAAoB,CAChB,WAAY,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,yBAAyB,EAAI,EAC7F,KAAUA,GAAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,EAC9C,aAAc,EAAU,iBAAiB,EACzC,kBAAuBA,GAAAA,EAAO,KAAK,EAAU,CAAE,EAC/C,2BAAgCA,GAAAA,EAAO,KAAK,EAAW,CAAE,KAAM,gBAAgB,CAAE,CAAC,EAClF,yBAA8BA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,IAAK,EACpF,mBAAoB,GAAIA,EAAO,aAAc,CAChD,EACD,sBAAuB,CACnB,eAAgB,EAAW,CAAE,KAAM,CAAC,SAAU,MAAM,EAAG,CAC1D,EACD,0BAA2B,CACvB,OAAQ,EAAU,iBAAiB,CACtC,EACD,uBAAwB,CACpB,WAAY,EAAW,CAAE,KAAM,CAAC,OAAQ,MAAM,EAAG,EACjD,kBAAmB,GAAIA,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,EAAG,EAC5D,oBAAqB,GAAIA,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,EAAG,CACjE,EACD,0BAA2B,CACvB,OAAQ,GAAIA,EAAO,UAAcA,GAAAA,EAAO,YAAY,CAChD,UAAW,EAAW,CAAE,KAAM,CAAC,kBAAmB,gBAAiB,iBAAkB,cAAe,cAAe,WAAW,CAAC,CAAE,EACjI,uBAAwB,GAAIA,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,EAAG,EACjE,UAAW,GAAIA,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,EAAG,EACpD,UAAW,GAAIA,EAAO,aAAc,EACpC,MAAO,GAAIA,EAAO,aAAc,EAChC,YAAa,GAAIA,EAAO,aAAc,EACtC,wBAAyB,GAAIA,EAAO,aAAc,EAClD,OAAYA,GAAAA,EAAO,YAAY,CAAE,IAAK,CAAC,CAAE,CAC7D,CAAiB,CAAC,CACL,EACD,sBAAuB,CACnB,WAAgBA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,CACxD,CACJ,CACT,EAAO,CAAE,QAAS,mBAAmB,CAAE,EAAG,CAClC,QAAS,IAAO,EACZ,KAAM,mBACN,KAAM,qBACN,KAAM,CAClB,EACK,CAAA,CAAC,CACN,CACA,GAAA,qBAA+B,aC/D/B,OAAO,eAAe,GAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EAC7B,GAAA,wBAAG,OAClC,KAAMA,GAASC,EACTE,GAAWD,EACjB,YAAiC,EAAS,EAAa,CACnD,KAAM,GAAaF,EAAO,WAAW,KAAK,OAAW,CAAW,EAC1D,EAAYA,EAAO,UAAU,KAAK,OAAW,CAAO,EACpD,KAAmBA,EAAO,YAAY,CACxC,CACI,KAAM,SACN,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,yBAAyB,EAAI,CAC1F,EACD,CACI,KAAM,SACN,KAAM,EAAU,eAAe,CAClC,CACT,EAAO,CAAE,cAAe,eAAe,CAAE,EACrC,EAAQ,SAAS,gBAAqBA,GAAAA,EAAO,YAAY,CACrD,WAAY,GAAIA,EAAO,UAAcA,GAAAA,EAAO,YAAY,CACpD,UAAeG,GAAAA,GAAS,KAAK,CAAE,SAAU,qBAAqB,CAAE,EAChE,OAAQ,GAAIH,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,CACpE,CAAS,CAAC,EACF,UAAW,EAAU,qBAAqB,CAC7C,EAAE,CAAE,QAAS,eAAiB,CAAA,CAAC,EAChC,EAAQ,SAAS,sBAAuB,GAAIA,EAAO,KAAK,GAAIA,EAAO,YAAY,CAC3E,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,8BAA8B,EAAI,EAC5F,KAAM,GAAIA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,EACtD,2BAAgCA,GAAAA,EAAO,KAAK,EAAW,CAAE,KAAM,CAAC,UAAW,gBAAiB,gBAAiB,eAAe,CAAG,CAAA,CAAC,EAChI,UAAeA,GAAAA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,CAAG,CAAA,CAAC,EACrE,eAAgB,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CACnD,UAAW,EACX,YAAiBA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,GAAI,CAClF,CAAS,CAAC,EACF,cAAe,GAAIA,EAAO,KAASA,GAAAA,EAAO,aAAcA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,IAAK,IAAK,GAAI,EAAG,CAAE,UAAW,EAAG,UAAW,CAAC,CAAE,CAAC,GAChJA,EAAO,QAAS,CAAC,CAAE,KAAM,MAAM,CAAE,GACjCA,EAAO,MAAO,CACX,6BAA8B,CAC1B,SAAcA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,KAAM,EACrE,OAAYA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,KAAM,EACnE,MAAWA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,KAAM,EAClE,iBAAsBG,GAAAA,GAAS,KAAK,CAAE,SAAU,iBAAiB,CAAE,CACtE,EACD,0BAA2B,CACvB,YAAa,GAAIH,EAAO,KAAK,EAAW,CAAE,KAAM,CAAC,SAAU,YAAY,CAAC,CAAE,CAAC,EAC3E,QAAaA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,KAAM,EACpE,WAAgBA,GAAAA,EAAO,KAAK,GAAIA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,IAAM,CAAA,EAAG,AAAC,GAAU,EACjG,SAAU,CAAC,EAAM,EAAO,EAAQ,IACxB,GAAK,MAAM,KAAK,SAAS,EAAE,IAAK,GAAI,GACpC,EAAO,IAAI,EAAM,kCAAkC,EAEhD,EAAK,SAAS,EAAM,EAAO,EAAQ,CAAO,EAEzE,EAAkB,CACL,CACJ,CACT,EAAO,CAAE,QAAS,qBAAqB,CAAE,EAAG,CACpC,QAAS,IAAO,EACZ,KAAM,0BACN,QAAS,GACT,WAAY,EACZ,KAAM,KAAK,MAAM,KAAK,OAAM,EAAK,UAAU,CACvD,EACK,CAAA,CAAC,CACN,CACA,GAAA,wBAAkC,aChElC,OAAO,eAAe,GAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EAC9B,GAAA,uBAAG,OACjC,KAAMA,GAASC,EACf,YAAgC,EAAS,EAAa,CAClD,KAAM,GAAaD,EAAO,WAAW,KAAK,OAAW,CAAW,EAC1D,EAAYA,EAAO,UAAU,KAAK,OAAW,CAAO,EAC1D,EAAQ,SAAS,gBAAiB,GAAIA,EAAO,KAAK,GAAIA,EAAO,YAAY,CACrE,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,wBAAwB,EAAI,GACrFA,EAAO,QAAS,CAAC,CAAE,KAAM,MAAM,CAAE,GACjCA,EAAO,MAAO,CACX,kBAAmB,CACf,aAAc,EAAU,aAAa,CACxC,EACD,sBAAuB,CACnB,QAAS,EAAU,oBAAoB,EACvC,SAAU,EAAU,eAAe,CACtC,EACD,qBAAsB,CAClB,SAAU,GAAIA,EAAO,UAAU,EAAU,eAAe,CAAC,CAC5D,CACJ,CACJ,EAAE,CAAE,QAAS,gBAAiB,SAAU,MAAQ,CAAA,EAAG,CAChD,QAAS,IAAO,EACZ,KAAM,kBACN,aAAc,CACV,KAAM,iBACT,CACb,EACK,CAAA,CAAC,EACF,EAAQ,SAAS,qBAAsB,GAAIA,EAAO,KAAK,GAAIA,EAAO,YAAY,CAC1E,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,6BAA6B,EAAI,GAC1FA,EAAO,QAAS,CAAC,CAAE,KAAM,MAAM,CAAE,GACjCA,EAAO,MAAO,CACX,kBAAmB,CACf,SAAcA,GAAAA,EAAO,UAAU,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,iBAAiB,CAAI,CAAA,CAAC,CAC5G,EACD,4BAA6B,CACzB,MAAO,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,iBAAiB,EAAI,EAChF,cAAe,GAAIA,EAAO,YAAa,EACvC,cAAe,GAAIA,EAAO,YAAa,CAC1C,EACD,gBAAiB,CACb,OAAQ,EAAU,oBAAoB,CACzC,EACD,wBAAyB,CACrB,OAAYA,GAAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,EAChD,aAAc,EAAW,CAAE,KAAM,cAAc,CAAE,EACjD,kBAAmB,GAAIA,EAAO,aAAc,EAC5C,sBAA2BA,GAAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,CAClE,EACD,8BAA+B,CAC3B,YAAa,EAAY,EACzB,kBAAmB,EAAU,iBAAiB,EAC9C,mBAAoB,EAAU,iBAAiB,CAClD,EACD,kBAAmB,CACf,OAAYA,GAAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,EAChD,yBAA8BA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,IAAK,IAAK,EAAE,CAAE,EACrF,gBAAiB,GAAIA,EAAO,aAAc,CAC7C,EACD,oBAAqB,CACjB,OAAQ,EAAU,iBAAiB,EACnC,yBAA8BA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,IAAK,IAAK,EAAE,CAAE,EACrF,gBAAiB,GAAIA,EAAO,aAAc,CAC7C,CACJ,CACT,EAAO,CAAE,QAAS,oBAAoB,CAAE,EAAG,CACnC,QAAS,IAAO,EACZ,KAAM,kBACN,SAAU,kBACtB,EACK,CAAA,CAAC,CACN,CACA,GAAA,uBAAiC,aCzEjC,OAAO,eAAe,GAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EAC7B,GAAA,wBAAG,OAClC,KAAMA,GAASC,EAETI,GAAkBH,EACxB,YAAiC,EAAS,EAAa,CACnD,KAAM,GAAYF,EAAO,UAAU,KAAK,OAAW,CAAO,EACpD,EAAaA,EAAO,WAAW,KAAK,OAAW,CAAW,EAChE,EAAQ,SAAS,gBAAiB,GAAIA,EAAO,KAAK,GAAIA,EAAO,YAAY,CACrE,KAAM,EAAY,EAClB,SAAU,EAAY,EACtB,SAAU,GAAIA,EAAO,UAAU,EAAU,2BAA2B,CAAC,CAC7E,EAAO,CAAE,QAAS,eAAe,CAAE,EAAG,CAC9B,QAAS,IAAO,EACZ,SAAU,kBACV,SAAU,CACN,CACI,OAAQ,EACR,QAAS,CACL,aAAc,gCACd,WAAY,QACZ,WAAY,iBACf,CACJ,CACJ,CACb,EACK,CAAA,CAAC,EACF,EAAQ,SAAS,4BAA6B,GAAIA,EAAO,KAAK,GAAIA,EAAO,YAAY,CACjF,OAAQ,GAAIA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,EACxD,QAAS,EAAU,kBAAkB,CAC7C,EAAO,CAAE,SAAU,MAAM,CAAE,EAAG,CACtB,QAAS,IAAO,EACZ,OAAQ,EACR,QAAS,CACL,aAAc,gCACd,WAAY,QACZ,WAAY,iBACf,CACb,EACK,CAAA,CAAC,EACF,EAAQ,SAAS,mBAAoB,GAAIA,EAAO,KAAK,GAAIA,EAAO,YAAY,CACxE,aAAc,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,iCAAiC,EAAI,EACvG,WAAY,EAAW,CAAE,KAAM,CAAC,QAAS,kBAAkB,EAAG,GAC7DA,EAAO,QAAS,CAAC,CAAE,KAAM,cAAc,CAAE,GACzCA,EAAO,MAAO,CACX,iCAAkC,CAC9B,QAAS,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,0BAA0B,EAAI,CAC9F,EACD,uCAAwC,CACpC,SAAU,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,YAAY,EAAI,EAC9E,WAAYK,GAAgB,UAC/B,EACD,8BAA+B,CAC3B,SAAU,GAAIL,EAAO,UAAU,EAAU,kBAAkB,CAAC,CAC/D,EACD,gCAAiC,CAC7B,SAAU,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,YAAY,EAAI,EAC9E,WAAYK,GAAgB,UAC/B,CACJ,CACJ,EAAE,CAAE,QAAS,mBAAoB,qBAAsB,EAAM,CAAA,EAAG,CAC7D,QAAS,IAAO,EACZ,aAAc,gCACd,WAAY,QACZ,WAAY,iBACxB,EACK,CAAA,CAAC,CACN,CACA,GAAA,wBAAkC,aCpElC,OAAO,eAAe,GAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EAC9B,GAAA,uBAAG,OACjC,KAAML,IAASC,EACf,YAAgC,EAAS,EAAa,CAClD,KAAM,GAAaD,GAAO,WAAW,KAAK,OAAW,CAAW,EAC1D,EAAYA,GAAO,UAAU,KAAK,OAAW,CAAO,EAC1D,EAAQ,SAAS,eAAgB,GAAIA,GAAO,KAAK,GAAIA,GAAO,YAAY,CACpE,WAAgBA,GAAAA,GAAO,SAAS,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,aAAc,aAAc,EAAI,CAAI,CAAA,EAAG,EAAU,WAAW,CAAC,CACzJ,EAAO,CAAE,QAAS,cAAc,CAAE,EAAG,CAC7B,QAAS,IAAO,EACZ,WAAY,CACR,sBAAuB,CACnB,KAAM,sBACN,UAAW,CACP,KAAM,kBACN,aAAc,CACV,KAAM,wBACN,OAAQ,qBACX,EACD,SAAU,qBACb,CACJ,EACD,uBAAwB,CACpB,KAAM,uBACN,UAAW,CACP,KAAM,kBACN,aAAc,CACV,KAAM,wBACN,OAAQ,kBACX,EACD,SAAU,kBACb,CACJ,EACD,oBAAqB,CACjB,KAAM,oBACN,UAAW,CACP,KAAM,kBACN,aAAc,CACV,KAAM,mBACT,EACD,SAAU,eACb,CACJ,CACJ,CACb,EACK,CAAA,CAAC,EACF,EAAQ,SAAS,8BAA+B,GAAIA,GAAO,KAAK,GAAIA,GAAO,YAAY,CACnF,QAAS,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,MAAM,EAAI,EACvE,SAAU,EAAU,yBAAyB,CACrD,CAAK,EAAG,CACA,QAAS,IAAO,EACZ,QAAS,wBACT,SAAU,CACN,MAAO,GACP,SAAU,GACV,MAAO,mBACP,oBAAqB,CAAE,EACvB,OAAQ,CACJ,CACI,OAAQ,EACR,MAAO,gBACV,EACD,CACI,OAAQ,EACR,MAAO,uBACV,CACJ,CACJ,CACb,EACK,CAAA,CAAC,CACN,CACA,GAAA,uBAAiC,GCvEjC,OAAO,eAAe,GAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EACjC,GAAA,oBAAG,OAC9B,KAAM,IAAUC,GACV,GAAWC,GACX,GAAcE,GACd,GAAoBI,GACpB,GAAYC,GACZ,GAAkBC,GAClB,GAAkBC,EAClB,GAAcC,GACd,GAAiBC,GACjB,GAAgBC,GAChB,GAAiBC,GACjB,GAAgBC,GACtB,YAA6B,EAAS,EAAa,CAE/C,AAAA,GAAI,GAAgB,0BAA0B,EAAS,CAAW,EAClE,GAAI,GAAkB,4BAA4B,EAAS,CAAW,EACtE,GAAI,GAAQ,kBAAkB,EAAS,CAAW,EAClD,GAAI,GAAS,mBAAmB,EAAS,CAAW,EACpD,GAAI,GAAY,sBAAsB,EAAS,CAAW,EAC1D,GAAI,GAAU,oBAAoB,EAAS,CAAW,EACtD,GAAI,GAAgB,0BAA0B,EAAS,CAAW,EAClE,GAAI,GAAY,sBAAsB,EAAS,CAAW,EAC1D,GAAI,GAAe,yBAAyB,EAAS,CAAW,EAChE,GAAI,GAAc,wBAAwB,EAAS,CAAW,EAC9D,GAAI,GAAe,yBAAyB,EAAS,CAAW,EAChE,GAAI,GAAc,wBAAwB,EAAS,CAAW,CAClE,CACA,GAAA,oBAA8B,aC7B9B,OAAO,eAAe,GAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EAC5B,GAAA,yBAAG,OACnC,KAAMhB,GAASC,EACf,YAAkC,EAAS,EAAa,CACpD,KAAM,GAAYD,EAAO,UAAU,KAAK,OAAW,CAAO,EACpD,EAAaA,EAAO,WAAW,KAAK,OAAW,CAAW,EAChE,EAAQ,SAAS,iBAAkB,GAAIA,EAAO,KAAK,GAAIA,EAAO,YAAY,CACtE,kBAAmB,GAAIA,EAAO,aAAc,EAC5C,YAAa,GAAIA,EAAO,aAAc,EACtC,KAAUA,GAAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,EAC9C,WAAgBA,GAAAA,EAAO,SAAS,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,YAAc,CAAA,CAAE,EAAG,EAAU,WAAW,CAAC,CACrI,EAAO,CAAE,QAAS,gBAAgB,CAAE,EAAG,CAC/B,QAAS,IAAM,CACX,KAAM,GAAO,KAAK,MAAM,KAAK,SAAY,UAAW,EAAI,WACxD,MAAO,CACH,kBAAmB,GACnB,YAAa,GACb,OACA,WAAY,CACR,sBAAuB,CACnB,KAAM,sBACN,UAAW,CACP,KAAM,kBACN,OACA,aAAc,CACV,KAAM,wBACN,OAAQ,qBACX,EACD,SAAU,qBACb,CACJ,EACD,uBAAwB,CACpB,KAAM,uBACN,UAAW,CACP,KAAM,kBACN,OACA,aAAc,CACV,KAAM,wBACN,OAAQ,kBACX,EACD,SAAU,kBACb,CACJ,EACD,oBAAqB,CACjB,KAAM,oBACN,UAAW,CACP,KAAM,kBACN,OACA,aAAc,CACV,KAAM,oBACN,MACH,EACD,SAAU,eACb,CACJ,CACJ,CACjB,CACS,CACJ,CAAA,CAAC,CACN,CACA,GAAA,yBAAmC,GC5DnC,OAAO,eAAe,GAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EACzC,GAAA,YAAG,OACtB,KAAM,IAAgBC,GAChB,GAAWC,GACX,GAAaE,GACb,GAAWI,EACX,GAAcC,GACd,GAAcC,GACd,GAAkBC,GAClB,GAAiBC,GACjB,GAAcC,GACd,GAAeC,GACf,GAAeC,GACf,GAAWC,GACX,GAASC,GACT,GAAkBC,GAClB,GAAaC,GACb,GAAkBC,GACxB,YAAqB,EAAS,EAAa,CAEvC,AAAA,GAAI,GAAS,mBAAmB,EAAS,CAAW,EACpD,GAAI,GAAW,qBAAqB,EAAS,CAAW,EACxD,GAAI,GAAc,wBAAwB,EAAS,CAAW,EAC9D,GAAI,GAAS,mBAAmB,EAAS,CAAW,EACpD,GAAI,GAAY,sBAAsB,EAAS,CAAW,EAC1D,GAAI,GAAgB,0BAA0B,EAAS,CAAW,EAClE,GAAI,GAAY,sBAAsB,EAAS,CAAW,EAC1D,GAAI,GAAe,yBAAyB,EAAS,CAAW,EAChE,GAAI,GAAY,sBAAsB,EAAS,CAAW,EAC1D,GAAI,GAAa,uBAAuB,EAAS,CAAW,EAC5D,GAAI,GAAa,uBAAuB,EAAS,CAAW,EAC5D,GAAI,GAAS,mBAAmB,EAAS,CAAW,EACpD,GAAI,GAAO,iBAAiB,EAAS,CAAW,EAChD,GAAI,GAAgB,0BAA0B,EAAS,CAAW,EAClE,GAAI,GAAW,qBAAqB,EAAS,CAAW,EACxD,GAAI,GAAgB,0BAA0B,EAAS,CAAW,CACtE,CACA,GAAA,YAAsB,GCrCtB,GAAI,IAAmBC,IAAQA,GAAK,iBAAqB,QAAO,OAAU,SAAS,EAAG,EAAG,EAAG,EAAI,CAC5F,AAAI,IAAO,QAAW,GAAK,GAC3B,GAAI,GAAO,OAAO,yBAAyB,EAAG,CAAC,EAC/C,AAAI,EAAC,GAAS,QAAS,GAAO,CAAC,EAAE,WAAa,EAAK,UAAY,EAAK,gBAClE,GAAO,CAAE,WAAY,GAAM,IAAK,UAAW,CAAE,MAAO,GAAE,EAAG,IAE3D,OAAO,eAAe,EAAG,EAAI,CAAI,CACrC,EAAM,SAAS,EAAG,EAAG,EAAG,EAAI,CACxB,AAAI,IAAO,QAAW,GAAK,GAC3B,EAAE,GAAM,EAAE,EACd,GACI,GAAsBA,IAAQA,GAAK,oBAAwB,QAAO,OAAU,SAAS,EAAG,EAAG,CAC3F,OAAO,eAAe,EAAG,UAAW,CAAE,WAAY,GAAM,MAAO,CAAC,CAAE,CACtE,EAAK,SAAS,EAAG,EAAG,CAChB,EAAE,QAAa,CACnB,GACI,GAAgBA,IAAQA,GAAK,cAAiB,SAAU,EAAK,CAC7D,GAAI,GAAO,EAAI,WAAY,MAAO,GAClC,GAAI,GAAS,CAAA,EACb,GAAI,GAAO,KAAM,OAAS,KAAK,GAAK,AAAI,IAAM,WAAa,OAAO,UAAU,eAAe,KAAK,EAAK,CAAC,GAAG,GAAgB,EAAQ,EAAK,CAAC,EACvI,UAAmB,EAAQ,CAAG,EACvB,CACX,EACA,OAAO,eAAe,EAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EAC5D,GAAA,IAAA,EAAA,WAAqB,GAAsB,EAAA,eAAG,iBAAsB,OACpE,KAAM,IAASpB,EACT,GAAgBC,GAChB,GAAYE,GAClB,GAAA,IAAA,EAAA,YAAsB,GAAaI,CAAwB,EAC3D,aAA0B,CACtB,KAAM,GAAc,GAAI,IAAO,mBAC/B,SAAI,GAAc,iBAAiB,CAAW,EACvC,CACX,CACA,GAAsB,IAAA,EAAA,eAAG,GAezB,YAAoB,EAAa,CAC7B,KAAM,GAAU,GAAI,IAAO,eAC3B,MAAA,GAAI,GAAU,aAAa,EAAS,CAAW,EACxC,CACX,CACA,GAAA,EAAA,WAAqB"} \ No newline at end of file diff --git a/assets/index.f1232838.js b/assets/index.700191c5.js similarity index 99% rename from assets/index.f1232838.js rename to assets/index.700191c5.js index 0cbf8070..14ad7fac 100644 --- a/assets/index.f1232838.js +++ b/assets/index.700191c5.js @@ -1,2 +1,2 @@ -var ce=Object.defineProperty,de=Object.defineProperties;var pe=Object.getOwnPropertyDescriptors;var ee=Object.getOwnPropertySymbols;var le=Object.prototype.hasOwnProperty,se=Object.prototype.propertyIsEnumerable;var te=(n,e,t)=>e in n?ce(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,g=(n,e)=>{for(var t in e||(e={}))le.call(e,t)&&te(n,t,e[t]);if(ee)for(var t of ee(e))se.call(e,t)&&te(n,t,e[t]);return n},Z=(n,e)=>de(n,pe(e));import{l as N,c as R}from"./index.b990f5f5.js";function me(n,e){return e.forEach(function(t){t&&typeof t!="string"&&!Array.isArray(t)&&Object.keys(t).forEach(function(o){if(o!=="default"&&!(o in n)){var s=Object.getOwnPropertyDescriptor(t,o);Object.defineProperty(n,o,s.get?s:{enumerable:!0,get:function(){return t[o]}})}})}),Object.freeze(Object.defineProperty(n,Symbol.toStringTag,{value:"Module"}))}var w={},q={};Object.defineProperty(q,"__esModule",{value:!0});q.initCollections=void 0;function ue(n){n.register("advancement_trigger",["minecraft:bee_nest_destroyed","minecraft:bred_animals","minecraft:brewed_potion","minecraft:changed_dimension","minecraft:channeled_lightning","minecraft:construct_beacon","minecraft:consume_item","minecraft:cured_zombie_villager","minecraft:effects_changed","minecraft:enchanted_item","minecraft:enter_block","minecraft:entity_hurt_player","minecraft:entity_killed_player","minecraft:filled_bucket","minecraft:fishing_rod_hooked","minecraft:hero_of_the_village","minecraft:impossible","minecraft:inventory_changed","minecraft:item_durability_changed","minecraft:killed_by_crossbow","minecraft:levitation","minecraft:location","minecraft:nether_travel","minecraft:placed_block","minecraft:player_hurt_entity","minecraft:player_killed_entity","minecraft:recipe_unlocked","minecraft:shot_crossbow","minecraft:safely_harvest_honey","minecraft:slept_in_bed","minecraft:slide_down_block","minecraft:summoned_entity","minecraft:tame_animal","minecraft:tick","minecraft:used_ender_eye","minecraft:used_totem","minecraft:villager_trade","minecraft:voluntary_exile"]),n.register("loot_pool_entry_type",["minecraft:empty","minecraft:item","minecraft:tag","minecraft:loot_table","minecraft:alternatives","minecraft:sequence","minecraft:group","minecraft:dynamic"]),n.register("loot_condition_type",["minecraft:alternative","minecraft:inverted","minecraft:reference","minecraft:entity_properties","minecraft:block_state_property","minecraft:match_tool","minecraft:damage_source_properties","minecraft:location_check","minecraft:weather_check","minecraft:time_check","minecraft:entity_scores","minecraft:random_chance","minecraft:random_chance_with_looting","minecraft:table_bonus","minecraft:killed_by_player","minecraft:survives_explosion"]),n.register("loot_function_type",["minecraft:set_count","minecraft:set_damage","minecraft:set_name","minecraft:set_lore","minecraft:set_nbt","minecraft:set_attributes","minecraft:set_contents","minecraft:enchant_randomly","minecraft:enchant_with_levels","minecraft:looting_enchant","minecraft:limit_count","minecraft:furnace_smelt","minecraft:explosion_decay","minecraft:fill_player_head","minecraft:copy_name","minecraft:copy_nbt","minecraft:copy_state","minecraft:apply_bonus","minecraft:exploration_map","minecraft:set_stew_effect"]),n.register("attribute",["generic.maxHealth","generic.followRange","generic.knockbackResistance","generic.movementSpeed","generic.attackDamage","generic.armor","generic.armorToughness","generic.attackSpeed","generic.luck","horse.jumpStrength","generic.attackKnockback","generic.flyingSpeed","zombie.spawnReinforcements"]),n.register("structure_feature",["pillager_outpost","mineshaft","mansion","jungle_pyramid","desert_pyramid","igloo","shipwreck","swamp_hut","stronghold","monument","ocean_ruin","fortress","endcity","buried_treasure","village"]),n.register("dimension",["minecraft:overworld","minecraft:the_nether","minecraft:the_end"]),n.register("keybind",["key.advancements","key.attack","key.back","key.chat","key.command","key.drop","key.forward","key.fullscreen","key.hotbar.1","key.hotbar.2","key.hotbar.3","key.hotbar.4","key.hotbar.5","key.hotbar.6","key.hotbar.7","key.hotbar.8","key.hotbar.9","key.inventory","key.jump","key.left","key.loadToolbarActivator","key.pickItem","key.playerlist","key.right","key.saveToolbarActivator","key.screenshot","key.smoothCamera","key.sneak","key.spectatorOutlines","key.sprint","key.swapOffhand","key.togglePerspective","key.use"]),n.register("slot",["mainhand","offhand","head","chest","legs","feet"]),n.register("gamemode",["survival","creative","adventure","spectator"]),n.register("entity_source",["this","direct_killer","killer","killer_player"]),n.register("copy_source",["block_entity","this","killer","killer_player"]),n.register("loot_table_apply_bonus_formula",["minecraft:uniform_bonus_count","minecraft:binomial_with_bonus_count","minecraft:ore_drops"]),n.register("map_decoration",["mansion","monument","player","frame","red_marker","blue_marker","target_x","target_point","player_off_map","player_off_limits","red_x","banner_white","banner_orange","banner_magenta","banner_light_blue","banner_yellow","banner_lime","banner_pink","banner_gray","banner_light_gray","banner_cyan","banner_purple","banner_blue","banner_brown","banner_green","banner_red","banner_black"]),n.register("recipe_group",["bed","light_gray_dye","iron_ingot","wooden_stairs","black_dye","stained_terracotta","dyed_bed","magenta_dye","bark","rabbit_stew","light_blue_dye","wooden_fence_gate","planks","stained_glass","wooden_door","stained_glass_pane","wooden_fence","sticks","concrete_powder","wooden_pressure_plate","boat","brown_dye","yellow_dye","bonemeal","red_dye","wooden_trapdoor","wooden_button","gold_ingot","pink_dye","wooden_slab","orange_dye","carpet","sign","wool","sugar","blue_dye","white_dye","banner","netherite_ingot"]),n.register("loot_context_type",["minecraft:empty","minecraft:chest","minecraft:command","minecraft:selector","minecraft:fishing","minecraft:entity","minecraft:gift","minecraft:barter","minecraft:advancement_reward","minecraft:advancement_entity","minecraft:generic","minecraft:block"]),n.register("cat_texture",["textures/entity/cat/tabby.png","textures/entity/cat/black.png","textures/entity/cat/red.png","textures/entity/cat/siamese.png","textures/entity/cat/british_shorthair.png","textures/entity/cat/calico.png","textures/entity/cat/persian.png","textures/entity/cat/ragdoll.png","textures/entity/cat/white.png","textures/entity/cat/jellie.png","textures/entity/cat/all_black.png"])}q.initCollections=ue;var A={},F={},L={};(function(n){Object.defineProperty(n,"__esModule",{value:!0}),n.initCommonSchemas=n.Range=n.ConditionCases=void 0;const e=N;function t(o,s){const c=e.StringNode.bind(void 0,s),r=e.Reference.bind(void 0,o);o.register("block_state",(0,e.Mod)((0,e.ObjectNode)({Name:c({validator:"resource",params:{pool:"block"}}),Properties:(0,e.Opt)((0,e.MapNode)(c(),c(),{validation:{validator:"block_state_map",params:{id:["pop",{push:"Name"}]}}}))},{context:"block_state"}),{default:()=>({Name:"minecraft:stone"})})),o.register("fluid_state",(0,e.Mod)((0,e.ObjectNode)({Name:c({validator:"resource",params:{pool:"fluid"}}),Properties:(0,e.Opt)((0,e.MapNode)(c(),c()))},{context:"fluid_state"}),{default:()=>({Name:"minecraft:water",Properties:{level:"0"}})})),o.register("block_pos",(0,e.Mod)((0,e.ListNode)((0,e.NumberNode)({integer:!0})),{default:()=>[0,0,0]})),n.Range=d=>(0,e.ChoiceNode)([...d!=null&&d.forceRange?[]:[{type:"number",node:(0,e.NumberNode)(d),change:_=>{var u,k,C;return _===void 0?0:(C=(k=(u=_.min)!==null&&u!==void 0?u:_.max)!==null&&k!==void 0?k:_.n)!==null&&C!==void 0?C:0}}],{type:"object",priority:-1,node:(0,e.ObjectNode)({min:d!=null&&d.bounds?(0,e.NumberNode)(d):(0,e.Opt)((0,e.NumberNode)(d)),max:d!=null&&d.bounds?(0,e.NumberNode)(d):(0,e.Opt)((0,e.NumberNode)(d))},{context:"range"}),change:_=>({min:typeof _=="number"?_:_===void 0?1:_.n,max:typeof _=="number"?_:_===void 0?1:_.n})},...d!=null&&d.allowBinomial?[{type:"binomial",node:(0,e.ObjectNode)({type:c({enum:["minecraft:binomial"]}),n:(0,e.NumberNode)({integer:!0,min:0}),p:(0,e.NumberNode)({min:0,max:1})},{context:"range"}),match:_=>_!==void 0&&_.type==="minecraft:binomial",change:_=>{var u,k;return{type:"minecraft:binomial",n:typeof _=="number"?_:_===void 0?1:(k=(u=_.min)!==null&&u!==void 0?u:_.max)!==null&&k!==void 0?k:1,p:.5}}}]:[]],{choiceContext:"range"}),n.ConditionCases={"minecraft:alternative":{terms:(0,e.ListNode)(r("condition"))},"minecraft:block_state_property":{block:c({validator:"resource",params:{pool:"block"}}),properties:(0,e.MapNode)(c(),c(),{validation:{validator:"block_state_map",params:{id:["pop",{push:"block"}]}}})},"minecraft:damage_source_properties":{predicate:r("damage_source_predicate")},"minecraft:entity_properties":{entity:c({enum:"entity_source"}),predicate:r("entity_predicate")},"minecraft:entity_scores":{entity:c({enum:"entity_source"}),scores:(0,e.MapNode)(c({validator:"objective"}),(0,n.Range)({forceRange:!0,bounds:!0}))},"minecraft:inverted":{term:r("condition")},"minecraft:killed_by_player":{inverse:(0,e.Opt)((0,e.BooleanNode)())},"minecraft:location_check":{offsetX:(0,e.Opt)((0,e.NumberNode)({integer:!0})),offsetY:(0,e.Opt)((0,e.NumberNode)({integer:!0})),offsetZ:(0,e.Opt)((0,e.NumberNode)({integer:!0})),predicate:r("location_predicate")},"minecraft:match_tool":{predicate:r("item_predicate")},"minecraft:random_chance":{chance:(0,e.NumberNode)({min:0,max:1})},"minecraft:random_chance_with_looting":{chance:(0,e.NumberNode)({min:0,max:1}),looting_multiplier:(0,e.NumberNode)()},"minecraft:reference":{name:c({validator:"resource",params:{pool:"$predicate"}})},"minecraft:table_bonus":{enchantment:c({validator:"resource",params:{pool:"enchantment"}}),chances:(0,e.ListNode)((0,e.NumberNode)({min:0,max:1}))},"minecraft:time_check":{value:(0,n.Range)(),period:(0,e.Opt)((0,e.NumberNode)())},"minecraft:weather_check":{raining:(0,e.Opt)((0,e.BooleanNode)()),thundering:(0,e.Opt)((0,e.BooleanNode)())}}}n.initCommonSchemas=t})(L);var J={};(function(n){Object.defineProperty(n,"__esModule",{value:!0}),n.initPredicatesSchemas=n.LocationFields=void 0;const e=N,t=L;function o(s,c){const r=e.Reference.bind(void 0,s),d=e.StringNode.bind(void 0,c),_=(0,e.ChoiceNode)([{type:"string",node:d(),change:u=>typeof u=="boolean"||typeof u=="number"?u.toString():""},{type:"number",node:(0,e.NumberNode)(),change:u=>typeof u=="string"?parseInt(u):0},{type:"object",node:(0,e.ObjectNode)({min:(0,e.Opt)((0,e.NumberNode)({integer:!0})),max:(0,e.Opt)((0,e.NumberNode)({integer:!0}))}),change:u=>typeof u=="number"?{min:u,max:u}:{}},{type:"boolean",node:(0,e.BooleanNode)(),change:u=>u==="true"||u===1}]);s.register("item_predicate",(0,e.ObjectNode)({item:(0,e.Opt)(d({validator:"resource",params:{pool:"item"}})),tag:(0,e.Opt)(d({validator:"resource",params:{pool:"$tag/item"}})),count:(0,e.Opt)((0,t.Range)()),durability:(0,e.Opt)((0,t.Range)()),potion:(0,e.Opt)(d({validator:"resource",params:{pool:"potion"}})),nbt:(0,e.Opt)(d({validator:"nbt",params:{registry:{category:"minecraft:item",id:["pop",{push:"item"}]}}})),enchantments:(0,e.Opt)((0,e.ListNode)(r("enchantment_predicate")))},{context:"item"})),s.register("enchantment_predicate",(0,e.ObjectNode)({enchantment:(0,e.Opt)(d({validator:"resource",params:{pool:"enchantment"}})),levels:(0,e.Opt)((0,t.Range)())},{context:"enchantment"})),s.register("block_predicate",(0,e.ObjectNode)({block:(0,e.Opt)(d({validator:"resource",params:{pool:"block"}})),tag:(0,e.Opt)(d({validator:"resource",params:{pool:"$tag/block"}})),nbt:(0,e.Opt)(d({validator:"nbt",params:{registry:{category:"minecraft:block",id:["pop",{push:"block"}]}}})),state:(0,e.Opt)((0,e.MapNode)(d(),_,{validation:{validator:"block_state_map",params:{id:["pop",{push:"block"}]}}}))},{context:"block"})),s.register("fluid_predicate",(0,e.ObjectNode)({fluid:(0,e.Opt)(d({validator:"resource",params:{pool:"fluid"}})),tag:(0,e.Opt)(d({validator:"resource",params:{pool:"$tag/fluid"}})),state:(0,e.Opt)((0,e.MapNode)(d(),_))},{context:"fluid"})),n.LocationFields={position:(0,e.Opt)((0,e.ObjectNode)({x:(0,e.Opt)((0,t.Range)()),y:(0,e.Opt)((0,t.Range)()),z:(0,e.Opt)((0,t.Range)())})),biome:(0,e.Opt)(d({enum:"biome"})),feature:(0,e.Opt)(d({enum:"structure_feature"})),dimension:(0,e.Opt)(d({enum:"dimension"})),light:(0,e.Opt)((0,e.ObjectNode)({light:(0,e.Opt)((0,t.Range)({integer:!0,min:0,max:15}))})),block:(0,e.Opt)(r("block_predicate")),fluid:(0,e.Opt)(r("fluid_predicate"))},s.register("location_predicate",(0,e.ObjectNode)(n.LocationFields,{context:"location"})),s.register("statistic_predicate",(0,e.ObjectNode)({type:d({validator:"resource",params:{pool:"stat_type"}}),stat:d(),value:(0,t.Range)(),[e.Switch]:[{push:"type"}],[e.Case]:{"minecraft:mined":{stat:d({validator:"resource",params:{pool:"block"}})},"minecraft:crafted":{stat:d({validator:"resource",params:{pool:"item"}})},"minecraft:used":{stat:d({validator:"resource",params:{pool:"item"}})},"minecraft:broken":{stat:d({validator:"resource",params:{pool:"item"}})},"minecraft:picked_up":{stat:d({validator:"resource",params:{pool:"item"}})},"minecraft:dropped":{stat:d({validator:"resource",params:{pool:"item"}})},"minecraft:killed":{stat:d({validator:"resource",params:{pool:"entity_type"}})},"minecraft:killed_by":{stat:d({validator:"resource",params:{pool:"entity_type"}})},"minecraft:custom":{stat:d({validator:"resource",params:{pool:"custom_stat"}})}}})),s.register("player_predicate",(0,e.ObjectNode)({gamemode:(0,e.Opt)(d({enum:"gamemode"})),level:(0,e.Opt)((0,t.Range)()),advancements:(0,e.Opt)((0,e.MapNode)(d({validator:"resource",params:{pool:"$advancement"}}),(0,e.ChoiceNode)([{type:"boolean",node:(0,e.BooleanNode)(),change:u=>!0},{type:"object",node:(0,e.MapNode)(d(),(0,e.BooleanNode)())}]))),recipes:(0,e.Opt)((0,e.MapNode)(d({validator:"resource",params:{pool:"$recipe"}}),(0,e.BooleanNode)())),stats:(0,e.Opt)((0,e.ListNode)(r("statistic_predicate")))},{context:"player"})),s.register("status_effect_predicate",(0,e.ObjectNode)({amplifier:(0,e.Opt)((0,t.Range)()),duration:(0,e.Opt)((0,t.Range)()),ambient:(0,e.Opt)((0,e.BooleanNode)()),visible:(0,e.Opt)((0,e.BooleanNode)())},{context:"status_effect"})),s.register("distance_predicate",(0,e.ObjectNode)({x:(0,e.Opt)((0,t.Range)()),y:(0,e.Opt)((0,t.Range)()),z:(0,e.Opt)((0,t.Range)()),absolute:(0,e.Opt)((0,t.Range)()),horizontal:(0,e.Opt)((0,t.Range)())},{context:"distance"})),s.register("entity_predicate",(0,e.ObjectNode)({type:(0,e.Opt)(d({validator:"resource",params:{pool:"entity_type",allowTag:!0}})),nbt:(0,e.Opt)(d({validator:"nbt",params:{registry:{category:"minecraft:entity",id:["pop",{push:"type"}]}}})),team:(0,e.Opt)(d({validator:"team"})),location:(0,e.Opt)(r("location_predicate")),distance:(0,e.Opt)(r("distance_predicate")),flags:(0,e.Opt)((0,e.ObjectNode)({is_on_fire:(0,e.Opt)((0,e.BooleanNode)()),is_sneaking:(0,e.Opt)((0,e.BooleanNode)()),is_sprinting:(0,e.Opt)((0,e.BooleanNode)()),is_swimming:(0,e.Opt)((0,e.BooleanNode)()),is_baby:(0,e.Opt)((0,e.BooleanNode)())})),equipment:(0,e.Opt)((0,e.MapNode)(d({enum:"slot"}),r("item_predicate"))),player:(0,e.Opt)(r("player_predicate")),catType:(0,e.Opt)(d({enum:"cat_texture"})),effects:(0,e.Opt)((0,e.MapNode)(d({validator:"resource",params:{pool:"mob_effect"}}),r("status_effect_predicate")))},{context:"entity"})),s.register("damage_source_predicate",(0,e.ObjectNode)({is_explosion:(0,e.Opt)((0,e.BooleanNode)()),is_fire:(0,e.Opt)((0,e.BooleanNode)()),is_magic:(0,e.Opt)((0,e.BooleanNode)()),is_projectile:(0,e.Opt)((0,e.BooleanNode)()),is_lightning:(0,e.Opt)((0,e.BooleanNode)()),bypasses_armor:(0,e.Opt)((0,e.BooleanNode)()),bypasses_invulnerability:(0,e.Opt)((0,e.BooleanNode)()),bypasses_magic:(0,e.Opt)((0,e.BooleanNode)()),source_entity:(0,e.Opt)(r("entity_predicate")),direct_entity:(0,e.Opt)(r("entity_predicate"))},{context:"damage_source"})),s.register("damage_predicate",(0,e.ObjectNode)({dealt:(0,e.Opt)((0,t.Range)()),taken:(0,e.Opt)((0,t.Range)()),blocked:(0,e.Opt)((0,e.BooleanNode)()),source_entity:(0,e.Opt)(r("entity_predicate")),type:(0,e.Opt)(r("damage_source_predicate"))},{context:"damage"}))}n.initPredicatesSchemas=o})(J);Object.defineProperty(F,"__esModule",{value:!0});F.initAdvancementSchemas=void 0;const i=N,h=L,T=J;function _e(n,e){const t=i.Reference.bind(void 0,n),o=i.StringNode.bind(void 0,e);n.register("advancement",(0,i.Mod)((0,i.ObjectNode)({display:(0,i.Opt)((0,i.Mod)((0,i.ObjectNode)({icon:(0,i.ObjectNode)({item:o({validator:"resource",params:{pool:"item"}}),nbt:(0,i.Opt)(o({validator:"nbt",params:{registry:{category:"minecraft:item",id:["pop",{push:"item"}]}}}))}),title:t("text_component"),description:t("text_component"),background:(0,i.Opt)(o()),frame:(0,i.Opt)(o({enum:["task","challenge","goal"]})),show_toast:(0,i.Opt)((0,i.BooleanNode)()),announce_to_chat:(0,i.Opt)((0,i.BooleanNode)()),hidden:(0,i.Opt)((0,i.BooleanNode)())}),{default:()=>({icon:{item:"minecraft:stone"},title:"",description:""})})),parent:(0,i.Opt)(o({validator:"resource",params:{pool:"$advancement"}})),criteria:(0,i.MapNode)(o(),t("advancement_criteria")),requirements:(0,i.Opt)((0,i.ListNode)((0,i.ListNode)(o()))),rewards:(0,i.Opt)((0,i.ObjectNode)({function:(0,i.Opt)(o({validator:"resource",params:{pool:"$function"}})),loot:(0,i.Opt)((0,i.ListNode)(o({validator:"resource",params:{pool:"$loot_table"}}))),recipes:(0,i.Opt)((0,i.ListNode)(o({validator:"resource",params:{pool:"$recipe"}}))),experience:(0,i.Opt)((0,i.NumberNode)({integer:!0}))}))},{context:"advancement"}),{default:()=>({criteria:{requirement:{trigger:"minecraft:location"}}})})),n.register("advancement_criteria",(0,i.ObjectNode)({trigger:o({validator:"resource",params:{pool:e.get("advancement_trigger")}}),conditions:(0,i.Opt)((0,i.ObjectNode)({[i.Switch]:["pop",{push:"trigger"}],[i.Case]:{"minecraft:bee_nest_destroyed":{block:(0,i.Opt)(o({validator:"resource",params:{pool:"block"}})),num_bees_inside:(0,i.Opt)((0,i.NumberNode)({integer:!0})),item:(0,i.Opt)(t("item_predicate"))},"minecraft:bred_animals":{parent:(0,i.Opt)(t("entity_predicate")),partner:(0,i.Opt)(t("entity_predicate")),child:(0,i.Opt)(t("entity_predicate"))},"minecraft:brewed_potion":{potion:(0,i.Opt)(o({validator:"resource",params:{pool:"potion"}}))},"minecraft:changed_dimension":{from:(0,i.Opt)(o({enum:"dimension"})),to:(0,i.Opt)(o({enum:"dimension"}))},"minecraft:channeled_lightning":{victims:(0,i.Opt)((0,i.ListNode)((0,i.Opt)(t("entity_predicate"))))},"minecraft:construct_beacon":{level:(0,i.Opt)((0,h.Range)())},"minecraft:consume_item":{item:(0,i.Opt)(t("item_predicate"))},"minecraft:cured_zombie_villager":{villager:(0,i.Opt)(t("entity_predicate")),zombie:(0,i.Opt)(t("entity_predicate"))},"minecraft:effects_changed":{effects:(0,i.Opt)((0,i.MapNode)(o({validator:"resource",params:{pool:"mob_effect"}}),t("status_effect_predicate")))},"minecraft:enter_block":{block:(0,i.Opt)(o({validator:"resource",params:{pool:"block"}})),state:(0,i.Opt)((0,i.MapNode)(o(),o(),{validation:{validator:"block_state_map",params:{id:["pop",{push:"block"}]}}}))},"minecraft:enchanted_item":{levels:(0,i.Opt)((0,h.Range)()),item:(0,i.Opt)(t("item_predicate"))},"minecraft:entity_hurt_player":{damage:(0,i.Opt)(t("damage_predicate"))},"minecraft:entity_killed_player":{entity:(0,i.Opt)(t("entity_predicate")),killing_blow:(0,i.Opt)(t("damage_source_predicate"))},"minecraft:filled_bucket":{item:(0,i.Opt)(t("item_predicate"))},"minecraft:fishing_rod_hooked":{entity:(0,i.Opt)(t("entity_predicate")),item:(0,i.Opt)(t("item_predicate"))},"minecraft:hero_of_the_village":T.LocationFields,"minecraft:inventory_changed":{slots:(0,i.Opt)((0,i.ObjectNode)({empty:(0,i.Opt)((0,h.Range)()),occupied:(0,i.Opt)((0,h.Range)()),full:(0,i.Opt)((0,h.Range)())})),items:(0,i.Opt)((0,i.ListNode)(t("item_predicate")))},"minecraft:item_durability_changed":{delta:(0,i.Opt)((0,h.Range)()),durability:(0,i.Opt)((0,h.Range)()),item:(0,i.Opt)(t("item_predicate"))},"minecraft:killed_by_crossbow":{unique_entity_types:(0,i.Opt)((0,h.Range)()),victims:(0,i.Opt)((0,i.ListNode)((0,i.Opt)(t("entity_predicate"))))},"minecraft:levitation":{distance:(0,i.Opt)((0,h.Range)()),duration:(0,i.Opt)((0,h.Range)())},"minecraft:location":T.LocationFields,"minecraft:nether_travel":{distance:(0,i.Opt)((0,h.Range)()),entered:(0,i.Opt)(t("location_predicate")),exited:(0,i.Opt)(t("location_predicate"))},"minecraft:placed_block":{block:(0,i.Opt)(o({validator:"resource",params:{pool:"block"}})),state:(0,i.Opt)((0,i.MapNode)(o(),o(),{validation:{validator:"block_state_map",params:{id:["pop",{push:"block"}]}}})),item:(0,i.Opt)(t("item_predicate")),location:(0,i.Opt)(t("location_predicate"))},"minecraft:player_hurt_entity":{damage:(0,i.Opt)(t("damage_predicate")),entity:(0,i.Opt)(t("entity_predicate"))},"minecraft:player_killed_entity":{entity:(0,i.Opt)(t("entity_predicate")),killing_blow:(0,i.Opt)(t("damage_source_predicate"))},"minecraft:recipe_unlocked":{recipe:o({validator:"resource",params:{pool:"$recipe"}})},"minecraft:safely_harvest_honey":{block:(0,i.Opt)((0,i.ObjectNode)({block:(0,i.Opt)(o({validator:"resource",params:{pool:"block"}})),tag:(0,i.Opt)(o({validator:"resource",params:{pool:"$tag/block"}}))})),item:(0,i.Opt)(t("item_predicate"))},"minecraft:slept_in_bed":T.LocationFields,"minecraft:slide_down_block":{block:(0,i.Opt)(o({validator:"resource",params:{pool:"block"}}))},"minecraft:shot_crossbow":{item:(0,i.Opt)(t("item_predicate"))},"minecraft:summoned_entity":{entity:(0,i.Opt)(t("entity_predicate"))},"minecraft:tame_animal":{entity:(0,i.Opt)(t("entity_predicate"))},"minecraft:used_ender_eye":{distance:(0,i.Opt)((0,h.Range)())},"minecraft:used_totem":{item:(0,i.Opt)(t("item_predicate"))},"minecraft:villager_trade":{villager:(0,i.Opt)(t("entity_predicate")),item:(0,i.Opt)(t("item_predicate"))},"minecraft:voluntary_exile":T.LocationFields}},{context:"criterion"}))},{category:"predicate",context:"criterion"}))}F.initAdvancementSchemas=_e;var E={},z={};Object.defineProperty(z,"__esModule",{value:!0});z.initModelSchemas=void 0;const m=N;function fe(n,e){m.Reference.bind(void 0,n);const t=m.StringNode.bind(void 0,e),o=(c,r,d)=>(0,m.ListNode)((0,m.NumberNode)({min:r,max:d}),{minLength:c,maxLength:c}),s=(0,m.ChoiceNode)([{type:"alias",match:c=>typeof c=="string"&&c.startsWith("#"),node:t(),change:c=>typeof c=="string"?`#${c}`:"#0"},{type:"reference",match:c=>typeof c=="string",node:t({validator:"resource",params:{pool:"$texture"}}),change:c=>typeof c=="string"?c.replace(/^#/,""):""}],{choiceContext:"texture"});n.register("model",(0,m.Mod)((0,m.ObjectNode)({parent:(0,m.Opt)(t({validator:"resource",params:{pool:"$model"}})),ambientocclusion:(0,m.Opt)((0,m.BooleanNode)()),gui_light:(0,m.Opt)(t({enum:"gui_light"})),textures:(0,m.Opt)((0,m.MapNode)(t(),s)),elements:(0,m.Opt)((0,m.ListNode)((0,m.ObjectNode)({from:o(3,-16,32),to:o(3,-16,32),rotation:(0,m.Opt)((0,m.ObjectNode)({origin:o(3),axis:t({enum:"axis"}),angle:(0,m.NumberEnum)({values:[-45,-22.5,0,22.5,45]}),rescale:(0,m.Opt)((0,m.BooleanNode)())})),shade:(0,m.Opt)((0,m.BooleanNode)()),faces:(0,m.MapNode)(t({enum:"direction"}),(0,m.ObjectNode)({texture:s,uv:(0,m.Opt)(o(4)),cullface:(0,m.Opt)(t({enum:"direction"})),rotation:(0,m.Opt)((0,m.NumberNode)({integer:!0})),tintindex:(0,m.Opt)((0,m.NumberNode)({integer:!0}))}))},{context:"model_element"}))),display:(0,m.Opt)((0,m.MapNode)(t({enum:"display_position"}),(0,m.ObjectNode)({rotation:o(3),translation:o(3,-80,80),scale:o(3,-4,4)},{context:"item_transform"}))),overrides:(0,m.Opt)((0,m.ListNode)((0,m.ObjectNode)({predicate:(0,m.MapNode)(t({enum:"item_model_predicates"}),(0,m.NumberNode)()),model:t({validator:"resource",params:{pool:"$model"}})},{context:"model_override"})))},{context:"model"}),{default:()=>({parent:"minecraft:item/generated",textures:{layer0:"minecraft:item/diamond"}})}))}z.initModelSchemas=fe;var D={};Object.defineProperty(D,"__esModule",{value:!0});D.initBlockDefinitionSchemas=void 0;const f=N;function ge(n,e){const t=f.Reference.bind(void 0,n),o=f.StringNode.bind(void 0,e);n.register("block_definition",(0,f.Mod)((0,f.ChoiceNode)([{type:"variants",match:c=>c.variants!==void 0,node:(0,f.ObjectNode)({variants:(0,f.MapNode)(o(),t("model_variant"))}),change:c=>({variants:{"":{}}})},{type:"multipart",match:c=>c.multipart!==void 0,node:(0,f.ObjectNode)({multipart:(0,f.ListNode)((0,f.ObjectNode)({when:(0,f.Opt)(t("multipart_condition")),apply:t("model_variant")}))}),change:c=>({multipart:{when:{},apply:{}}})}],{context:"block_definition"}),{default:()=>({variants:{"":{model:"minecraft:block/stone"}}})}));const s={model:o({validator:"resource",params:{pool:"$model"}}),x:(0,f.Opt)((0,f.NumberEnum)({integer:!0,values:[0,90,180,270]})),y:(0,f.Opt)((0,f.NumberEnum)({integer:!0,values:[0,90,180,270]})),uvlock:(0,f.Opt)((0,f.BooleanNode)())};n.register("model_variant",(0,f.ChoiceNode)([{type:"object",node:(0,f.ObjectNode)(s),change:c=>Array.isArray(c)&&c.length>0?c[0]:{}},{type:"list",node:(0,f.ListNode)((0,f.ObjectNode)(Z(g({},s),{weight:(0,f.Opt)((0,f.NumberNode)({integer:!0,min:1}))}),{context:"model_variant"})),change:c=>[g({weight:1},c)]}],{context:"model_variant"})),n.register("multipart_condition",(0,f.ChoiceNode)([{type:"object",priority:-1,match:()=>!0,node:(0,f.MapNode)(o(),o()),change:c=>typeof c=="object"&&Array.isArray(c==null?void 0:c.OR)&&c.OR.length>0?c.OR[0]:{}},{type:"or",match:c=>typeof c=="object"&&(c==null?void 0:c.OR)!==void 0,node:(0,f.ObjectNode)({OR:(0,f.ListNode)(t("multipart_condition"))}),change:c=>({OR:[c!=null?c:{}]})}],{context:"multipart_condition"}))}D.initBlockDefinitionSchemas=ge;Object.defineProperty(E,"__esModule",{value:!0});E.initAssetsSchemas=void 0;const be=z,ye=D;function Oe(n,e){(0,ye.initBlockDefinitionSchemas)(n,e),(0,be.initModelSchemas)(n,e)}E.initAssetsSchemas=Oe;var I={};Object.defineProperty(I,"__esModule",{value:!0});I.initConditionSchemas=void 0;const S=N,he=L;function Ne(n,e){const t=S.Reference.bind(void 0,n),o=S.StringNode.bind(void 0,e);n.register("predicate",(0,S.ObjectOrList)(t("condition"),{choiceContext:"condition"})),n.register("condition",(0,S.Mod)((0,S.ObjectNode)({condition:o({validator:"resource",params:{pool:"loot_condition_type"}}),[S.Switch]:[{push:"condition"}],[S.Case]:he.ConditionCases},{category:"predicate",context:"condition"}),{default:()=>({condition:"minecraft:entity_properties",entity:"this"})}))}I.initConditionSchemas=Ne;var H={},O={};Object.defineProperty(O,"__esModule",{value:!0});O.LootFunctions=O.LootConditions=O.LootCopySources=O.LootEntitySources=O.LootTableTypes=void 0;O.LootTableTypes=new Map([["minecraft:advancement_entity",{requires:[7,8],allows:[]}],["minecraft:advancement_reward",{requires:[7,8],allows:[]}],["minecraft:barter",{requires:[8],allows:[]}],["minecraft:block",{requires:[1,7,9],allows:[0,4,8]}],["minecraft:chest",{requires:[7],allows:[8]}],["minecraft:command",{requires:[7],allows:[8]}],["minecraft:empty",{requires:[],allows:[]}],["minecraft:entity",{requires:[2,7,8],allows:[3,5,6]}],["minecraft:fishing",{requires:[7,9],allows:[8]}],["minecraft:generic",{requires:[2,0,1,3,4,5,6,7,8,9],allows:[]}],["minecraft:gift",{requires:[7,8],allows:[]}],["minecraft:selector",{requires:[7],allows:[8]}]]);O.LootEntitySources=new Map([["direct_killer",[3]],["killer",[5]],["killer_player",[5]],["this",[8]]]);O.LootCopySources=new Map([["block_entity",[0]],["killer",[5]],["killer_player",[5]],["this",[8]]]);O.LootConditions=new Map([["minecraft:alternative",[]],["minecraft:block_state_property",[1]],["minecraft:damage_source_properties",[2]],["minecraft:entity_properties",[7]],["minecraft:entity_scores",[]],["minecraft:inverted",[]],["minecraft:killed_by_player",[6]],["minecraft:location_check",[]],["minecraft:match_tool",[9]],["minecraft:random_chance",[]],["minecraft:random_chance_with_looting",[5]],["minecraft:reference",[]],["minecraft:survives_explosion",[4]],["minecraft:table_bonus",[9]],["minecraft:time_check",[]],["minecraft:weather_check",[]]]);O.LootFunctions=new Map([["minecraft:apply_bonus",[9]],["minecraft:copy_name",[]],["minecraft:copy_nbt",[]],["minecraft:copy_state",[1]],["minecraft:enchant_randomly",[]],["minecraft:enchant_with_levels",[]],["minecraft:exploration_map",[7]],["minecraft:explosion_decay",[]],["minecraft:fill_player_head",[]],["minecraft:furnace_smelt",[]],["minecraft:limit_count",[]],["minecraft:looting_enchant",[5]],["minecraft:set_attributes",[]],["minecraft:set_contents",[]],["minecraft:set_count",[]],["minecraft:set_damage",[]],["minecraft:set_loot_table",[]],["minecraft:set_lore",[]],["minecraft:set_name",[]],["minecraft:set_nbt",[]],["minecraft:set_stew_effect",[]]]);Object.defineProperty(H,"__esModule",{value:!0});H.initLootTableSchemas=void 0;const a=N,P=O,v=L;function ve(n,e){const t=a.Reference.bind(void 0,n),o=a.StringNode.bind(void 0,e),s={conditions:(0,a.Opt)((0,a.ListNode)(t("loot_condition")))},c=g({functions:(0,a.Opt)((0,a.ListNode)(t("loot_function")))},s);function r(b,x,y){const W=[],re=$=>e.get(x).filter(X=>{var B;return((B=b.get(X))!==null&&B!==void 0?B:[]).every(Y=>$.includes(Y))});for(const[$,{allows:X,requires:B}]of P.LootTableTypes){const Q=[...X,...B];W.push({match:Y=>Y.getModel().get(new a.Path(["type"]))===$,node:y(re(Q))})}return W.push({match:$=>!0,node:y(x)}),(0,a.SwitchNode)(W)}const d=r(P.LootConditions,"loot_condition_type",b=>o({validator:"resource",params:{pool:b instanceof Array?b:"loot_condition_type"}})),_=r(P.LootFunctions,"loot_function_type",b=>o({validator:"resource",params:{pool:b instanceof Array?b:"loot_function_type"}})),u=r(P.LootEntitySources,"entity_source",b=>o({enum:b})),k=r(P.LootCopySources,"copy_source",b=>o({enum:b}));n.register("loot_table",(0,a.Mod)((0,a.ObjectNode)({type:(0,a.Opt)(o({validator:"resource",params:{pool:e.get("loot_context_type")}})),pools:(0,a.Opt)((0,a.ListNode)((0,a.Mod)((0,a.ObjectNode)(g({rolls:(0,v.Range)({allowBinomial:!0,integer:!0}),bonus_rolls:(0,a.Opt)((0,v.Range)({integer:!0})),entries:(0,a.ListNode)(t("loot_entry"))},c),{category:"pool",context:"loot_pool"}),{default:()=>({rolls:1,entries:[{type:"minecraft:item",name:"minecraft:stone"}]})}))),functions:(0,a.Opt)((0,a.ListNode)(t("loot_function")))},{context:"loot_table"}),{default:()=>({pools:[{rolls:1,entries:[{type:"minecraft:item",name:"minecraft:stone"}]}]})}));const C={enabled:b=>{var x;return((x=b.pop().get())===null||x===void 0?void 0:x.length)>1&&!["minecraft:alternatives","minecraft:group","minecraft:sequence"].includes(b.push("type").get())}};n.register("loot_entry",(0,a.Mod)((0,a.ObjectNode)({type:o({validator:"resource",params:{pool:"loot_pool_entry_type"}}),weight:(0,a.Opt)((0,a.Mod)((0,a.NumberNode)({integer:!0,min:1}),C)),quality:(0,a.Opt)((0,a.Mod)((0,a.NumberNode)({integer:!0}),C)),[a.Switch]:[{push:"type"}],[a.Case]:{"minecraft:alternatives":g({children:(0,a.ListNode)(t("loot_entry"))},c),"minecraft:dynamic":g({name:o()},c),"minecraft:group":g({children:(0,a.ListNode)(t("loot_entry"))},c),"minecraft:item":g({name:o({validator:"resource",params:{pool:"item"}})},c),"minecraft:loot_table":g({name:o({validator:"resource",params:{pool:"$loot_table"}})},c),"minecraft:sequence":g({children:(0,a.ListNode)(t("loot_entry"))},c),"minecraft:tag":g({name:o({validator:"resource",params:{pool:"$tag/item"}}),expand:(0,a.Opt)((0,a.BooleanNode)())},c)}},{context:"loot_entry"}),{default:()=>({type:"minecraft:item",name:"minecraft:stone"})})),n.register("loot_function",(0,a.Mod)((0,a.ObjectNode)({function:_,[a.Switch]:[{push:"function"}],[a.Case]:(()=>{const b={"minecraft:apply_bonus":{enchantment:o({validator:"resource",params:{pool:"enchantment"}}),formula:o({validator:"resource",params:{pool:e.get("loot_table_apply_bonus_formula")}}),parameters:(0,a.Mod)((0,a.ObjectNode)({bonusMultiplier:(0,a.Mod)((0,a.NumberNode)(),{enabled:y=>y.pop().push("formula").get()==="minecraft:uniform_bonus_count"}),extra:(0,a.Mod)((0,a.NumberNode)(),{enabled:y=>y.pop().push("formula").get()==="minecraft:binomial_with_bonus_count"}),probability:(0,a.Mod)((0,a.NumberNode)(),{enabled:y=>y.pop().push("formula").get()==="minecraft:binomial_with_bonus_count"})}),{enabled:y=>y.push("formula").get()!=="minecraft:ore_drops"})},"minecraft:copy_name":{source:k},"minecraft:copy_nbt":{source:k,ops:(0,a.ListNode)((0,a.ObjectNode)({source:o({validator:"nbt_path",params:{category:{getter:"copy_source",path:["pop","pop","pop",{push:"source"}]}}}),target:o({validator:"nbt_path",params:{category:"minecraft:item"}}),op:o({enum:["replace","append","merge"]})},{context:"nbt_operation"}))},"minecraft:copy_state":{block:o({validator:"resource",params:{pool:"block"}}),properties:(0,a.ListNode)(o({validator:"block_state_key",params:{id:["pop","pop",{push:"block"}]}}))},"minecraft:enchant_randomly":{enchantments:(0,a.Opt)((0,a.ListNode)(o({validator:"resource",params:{pool:"enchantment"}})))},"minecraft:enchant_with_levels":{levels:(0,v.Range)({allowBinomial:!0}),treasure:(0,a.Opt)((0,a.BooleanNode)())},"minecraft:exploration_map":{destination:(0,a.Opt)(o({enum:"structure_feature"})),decoration:(0,a.Opt)(o({enum:"map_decoration"})),zoom:(0,a.Opt)((0,a.NumberNode)({integer:!0})),search_radius:(0,a.Opt)((0,a.NumberNode)({integer:!0})),skip_existing_chunks:(0,a.Opt)((0,a.BooleanNode)())},"minecraft:fill_player_head":{entity:u},"minecraft:limit_count":{limit:(0,v.Range)({bounds:!0})},"minecraft:looting_enchant":{count:(0,v.Range)({bounds:!0}),limit:(0,a.Opt)((0,a.NumberNode)({integer:!0}))},"minecraft:set_attributes":{modifiers:(0,a.ListNode)(t("attribute_modifier"))},"minecraft:set_contents":{entries:(0,a.ListNode)(t("loot_entry"))},"minecraft:set_count":{count:(0,v.Range)({allowBinomial:!0})},"minecraft:set_damage":{damage:(0,v.Range)({forceRange:!0})},"minecraft:set_loot_table":{name:o({validator:"resource",params:{pool:"$loot_table"}}),seed:(0,a.Opt)((0,a.NumberNode)({integer:!0}))},"minecraft:set_lore":{entity:(0,a.Opt)(u),lore:(0,a.ListNode)(t("text_component")),replace:(0,a.Opt)((0,a.BooleanNode)())},"minecraft:set_name":{entity:(0,a.Opt)(u),name:(0,a.Opt)(t("text_component"))},"minecraft:set_nbt":{tag:o({validator:"nbt",params:{registry:{category:"minecraft:item"}}})},"minecraft:set_stew_effect":{effects:(0,a.Opt)((0,a.ListNode)((0,a.ObjectNode)({type:o({validator:"resource",params:{pool:"mob_effect"}}),duration:(0,v.Range)()})))}},x={};return e.get("loot_function_type").forEach(y=>{x[y]=g(g({},b[y]),s)}),x})()},{category:"function",context:"function"}),{default:()=>({function:"minecraft:set_count",count:1})})),n.register("loot_condition",(0,a.Mod)((0,a.ObjectNode)({condition:d,[a.Switch]:[{push:"condition"}],[a.Case]:Z(g({},v.ConditionCases),{"minecraft:entity_properties":{entity:u,predicate:t("entity_predicate")},"minecraft:entity_scores":{entity:u,scores:(0,a.MapNode)(o({validator:"objective"}),(0,v.Range)({bounds:!0}))}})},{category:"predicate",context:"condition"}),{default:()=>({condition:"minecraft:random_chance",chance:.5})})),n.register("attribute_modifier",(0,a.Mod)((0,a.ObjectNode)({attribute:o({validator:"resource",params:{pool:"attribute"}}),name:o(),amount:(0,v.Range)({bounds:!0}),operation:o({enum:["addition","multiply_base","multiply_total"]}),slot:(0,a.StringOrList)(o({enum:"slot"}))},{context:"attribute_modifier"}),{default:()=>({attribute:"minecraft:generic.max_health",name:"",amount:1,operation:"addition",slot:"mainhand"})}))}H.initLootTableSchemas=ve;var V={};Object.defineProperty(V,"__esModule",{value:!0});V.initPackMcmetaSchemas=void 0;const M=N;function ke(n,e){n.register("pack_mcmeta",(0,M.Mod)((0,M.ObjectNode)({pack:(0,M.Mod)((0,M.ObjectNode)({pack_format:(0,M.Mod)((0,M.NumberNode)({integer:!0,min:5,max:5}),{default:()=>5}),description:(0,M.Reference)(n,"text_component")}),{default:()=>({pack_format:5,description:""})})}),{default:()=>({pack:{pack_format:5,description:""}})}))}V.initPackMcmetaSchemas=ke;var G={};Object.defineProperty(G,"__esModule",{value:!0});G.initRecipeSchemas=void 0;const l=N;function xe(n,e){const t=l.Reference.bind(void 0,n),o=l.StringNode.bind(void 0,e);n.register("recipe",(0,l.Mod)((0,l.ObjectNode)({type:o({validator:"resource",params:{pool:"recipe_serializer"}}),[l.Switch]:[{push:"type"}],[l.Case]:{"minecraft:crafting_shaped":{group:(0,l.Opt)(o({enum:"recipe_group",additional:!0})),pattern:(0,l.ListNode)(o()),key:(0,l.MapNode)(o(),t("recipe_ingredient")),result:t("recipe_result")},"minecraft:crafting_shapeless":{group:(0,l.Opt)(o()),ingredients:(0,l.ListNode)(t("recipe_ingredient")),result:t("recipe_result")},"minecraft:smelting":{group:(0,l.Opt)(o()),ingredient:t("recipe_ingredient"),result:o({validator:"resource",params:{pool:"item"}}),experience:(0,l.Opt)((0,l.NumberNode)()),cookingtime:(0,l.Opt)((0,l.Mod)((0,l.NumberNode)({integer:!0}),{default:()=>200}))},"minecraft:blasting":{group:(0,l.Opt)(o()),ingredient:t("recipe_ingredient"),result:o({validator:"resource",params:{pool:"item"}}),experience:(0,l.Opt)((0,l.NumberNode)()),cookingtime:(0,l.Opt)((0,l.Mod)((0,l.NumberNode)({integer:!0}),{default:()=>100}))},"minecraft:smoking":{group:(0,l.Opt)(o()),ingredient:t("recipe_ingredient"),result:o({validator:"resource",params:{pool:"item"}}),experience:(0,l.Opt)((0,l.NumberNode)()),cookingtime:(0,l.Opt)((0,l.Mod)((0,l.NumberNode)({integer:!0}),{default:()=>100}))},"minecraft:campfire_cooking":{group:(0,l.Opt)(o()),ingredient:t("recipe_ingredient"),result:o({validator:"resource",params:{pool:"item"}}),experience:(0,l.Opt)((0,l.NumberNode)()),cookingtime:(0,l.Opt)((0,l.Mod)((0,l.NumberNode)({integer:!0}),{default:()=>100}))},"minecraft:stonecutting":{group:(0,l.Opt)(o()),ingredient:t("recipe_ingredient"),result:o({validator:"resource",params:{pool:"item"}}),count:(0,l.NumberNode)({integer:!0})},"minecraft:smithing":{group:(0,l.Opt)(o()),base:t("recipe_ingredient_object"),addition:t("recipe_ingredient_object"),result:t("recipe_result")}}},{context:"recipe",disableSwitchContext:!0}),{default:()=>({type:"minecraft:crafting_shaped"})})),n.register("recipe_ingredient",(0,l.Mod)((0,l.ChoiceNode)([{type:"object",node:t("recipe_ingredient_object"),change:s=>s[0]},{type:"list",node:(0,l.ListNode)(t("recipe_ingredient_object")),change:s=>[s]}]),{default:()=>({item:"minecraft:stone"})})),n.register("recipe_ingredient_object",(0,l.Mod)((0,l.ObjectNode)({item:(0,l.Opt)(o({validator:"resource",params:{pool:"item"}})),tag:(0,l.Opt)(o({validator:"resource",params:{pool:"$tag/item"}}))}),{default:()=>({item:"minecraft:stone"})})),n.register("recipe_result",(0,l.Mod)((0,l.ObjectNode)({item:o({validator:"resource",params:{pool:"item"}}),count:(0,l.Opt)((0,l.Mod)((0,l.NumberNode)({integer:!0}),{default:()=>1}))}),{default:()=>({item:"minecraft:stone"})}))}G.initRecipeSchemas=xe;var K={};Object.defineProperty(K,"__esModule",{value:!0});K.initTagsSchemas=void 0;const j=N;function je(n,e){const t=j.StringNode.bind(void 0,e),o=s=>(0,j.Mod)((0,j.ObjectNode)({replace:(0,j.Opt)((0,j.BooleanNode)()),values:(0,j.ListNode)((0,j.ChoiceNode)([{type:"string",node:t({validator:"resource",params:{pool:s,allowTag:!0}}),change:c=>c.id},{type:"object",node:(0,j.ObjectNode)({id:t({validator:"resource",params:{pool:s,allowTag:!0,allowUnknown:!0}}),required:(0,j.BooleanNode)()}),change:c=>({id:c})}]))},{context:"tag"}),{default:()=>({values:[]})});n.register("block_tag",o("block")),n.register("entity_type_tag",o("entity_type")),n.register("fluid_tag",o("fluid")),n.register("function_tag",o("$function")),n.register("item_tag",o("item"))}K.initTagsSchemas=je;var U={};Object.defineProperty(U,"__esModule",{value:!0});U.initTextComponentSchemas=void 0;const p=N;function we(n,e){const t=p.Reference.bind(void 0,n),o=p.StringNode.bind(void 0,e),s=r=>{var d;return r instanceof Array?s(r[0]):(d=r==null?void 0:r.text)!==null&&d!==void 0?d:typeof r=="object"?"":r==null?void 0:r.toString()};n.register("text_component",(0,p.Mod)((0,p.ChoiceNode)([{type:"object",node:t("text_component_object"),change:r=>r instanceof Array?typeof r[0]=="object"?r[0]:{text:s(r[0])}:typeof r=="object"?r:{text:s(r)}},{type:"list",node:t("text_component_list"),change:r=>[r]},{type:"string",priority:1,node:o(),change:s},{type:"number",node:(0,p.NumberNode)(),change:r=>{const d=parseFloat(s(r));return isFinite(d)?d:r?1:0}},{type:"boolean",node:(0,p.BooleanNode)(),change:r=>{const d=s(r);return d==="true"||d==="false"?d==="true":!!d}}],{context:"text_component"}),{default:()=>({text:""})}));const c={bold:(0,p.Opt)((0,p.BooleanNode)()),italic:(0,p.Opt)((0,p.BooleanNode)()),underlined:(0,p.Opt)((0,p.BooleanNode)()),strikethrough:(0,p.Opt)((0,p.BooleanNode)()),obfuscated:(0,p.Opt)((0,p.BooleanNode)()),insertion:(0,p.Opt)(o()),clickEvent:(0,p.Opt)((0,p.ObjectNode)({action:o({enum:["open_url","open_file","run_command","suggest_command","change_page","copy_to_clipboard"]}),[p.Switch]:[{push:"action"}],[p.Case]:{change_page:{value:o()},copy_to_clipboard:{value:o()},open_file:{value:o()},open_url:{value:o()},run_command:{value:o({validator:"command",params:{leadingSlash:!0,allowPartial:!0}})},suggest_command:{value:o({validator:"command",params:{leadingSlash:!0,allowPartial:!0}})}}})),hoverEvent:(0,p.Opt)((0,p.ObjectNode)({action:o({enum:["show_text","show_item","show_entity"]}),[p.Switch]:[{push:"action"}],[p.Case]:{show_text:{value:(0,p.Opt)(t("text_component"))},show_item:{value:(0,p.Opt)(o({validator:"nbt",params:{module:"util::InventoryItem"}}))},show_entity:{value:(0,p.Opt)((0,p.ObjectNode)({name:(0,p.Opt)(o()),type:(0,p.Opt)(o()),id:(0,p.Opt)(o())}))}}})),extra:(0,p.Opt)(t("text_component_list"))};n.register("text_component_object",(0,p.Mod)((0,p.ChoiceNode)([{type:"text",match:r=>typeof r=="object",change:r=>({text:""}),priority:-1,node:(0,p.ObjectNode)(g({text:o()},c))},{type:"translation",match:r=>(r==null?void 0:r.translate)!==void 0,change:r=>({translate:""}),node:(0,p.ObjectNode)(g({translate:o(),with:(0,p.Opt)(t("text_component_list"))},c))},{type:"score",match:r=>(r==null?void 0:r.score)!==void 0,change:r=>({score:{}}),node:(0,p.ObjectNode)(g({score:(0,p.ObjectNode)({name:o({validator:"entity",params:{amount:"single",type:"entities",isScoreHolder:!0}}),objective:o({validator:"objective"}),value:(0,p.Opt)(o())})},c))},{type:"selector",match:r=>(r==null?void 0:r.selector)!==void 0,change:r=>({selector:""}),node:(0,p.ObjectNode)(g({selector:o({validator:"entity",params:{amount:"multiple",type:"entities"}})},c))},{type:"keybind",match:r=>(r==null?void 0:r.keybind)!==void 0,change:r=>({keybind:""}),node:(0,p.ObjectNode)(g({keybind:o({enum:"keybind",additional:!0})},c))},{type:"nbt",match:r=>(r==null?void 0:r.nbt)!==void 0,change:r=>({nbt:""}),node:(0,p.ObjectNode)(g({nbt:o({validator:"nbt_path"}),block:(0,p.Opt)(o({validator:"vector",params:{dimension:3,isInteger:!0}})),entity:(0,p.Opt)(o({validator:"entity",params:{amount:"multiple",type:"entities"}})),storage:(0,p.Opt)(o({validator:"resource",params:{pool:"$storage"}})),interpret:(0,p.Opt)((0,p.BooleanNode)())},c))}],{context:"text_component_object",choiceContext:"text_component.object"}),{default:()=>({text:""})})),n.register("text_component_list",(0,p.Mod)((0,p.ListNode)(t("text_component")),{default:()=>[{text:""}]}))}U.initTextComponentSchemas=we;Object.defineProperty(A,"__esModule",{value:!0});A.initSchemas=void 0;const Se=F,Me=E,Ce=L,Re=I,Le=H,Be=V,Pe=J,$e=G,Te=K,qe=U;function Ae(n,e){(0,Ce.initCommonSchemas)(n,e),(0,Pe.initPredicatesSchemas)(n,e),(0,Se.initAdvancementSchemas)(n,e),(0,Me.initAssetsSchemas)(n,e),(0,Re.initConditionSchemas)(n,e),(0,Le.initLootTableSchemas)(n,e),(0,Be.initPackMcmetaSchemas)(n,e),(0,$e.initRecipeSchemas)(n,e),(0,Te.initTagsSchemas)(n,e),(0,qe.initTextComponentSchemas)(n,e)}A.initSchemas=Ae;var Fe=R&&R.__createBinding||(Object.create?function(n,e,t,o){o===void 0&&(o=t);var s=Object.getOwnPropertyDescriptor(e,t);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[t]}}),Object.defineProperty(n,o,s)}:function(n,e,t,o){o===void 0&&(o=t),n[o]=e[t]}),Ee=R&&R.__setModuleDefault||(Object.create?function(n,e){Object.defineProperty(n,"default",{enumerable:!0,value:e})}:function(n,e){n.default=e}),ze=R&&R.__importStar||function(n){if(n&&n.__esModule)return n;var e={};if(n!=null)for(var t in n)t!=="default"&&Object.prototype.hasOwnProperty.call(n,t)&&Fe(e,n,t);return Ee(e,n),e};Object.defineProperty(w,"__esModule",{value:!0});var oe=w.getSchemas=ae=w.getCollections=ie=w.lootContext=void 0;const ne=N,De=q,Ie=A;var ie=w.lootContext=ze(O);function He(){const n=new ne.CollectionRegistry;return(0,De.initCollections)(n),n}var ae=w.getCollections=He;function Ve(n){const e=new ne.SchemaRegistry;return(0,Ie.initSchemas)(e,n),e}oe=w.getSchemas=Ve;var Ue=me({__proto__:null,get getSchemas(){return oe},get getCollections(){return ae},get lootContext(){return ie},default:w},[w]);export{Ue as i}; -//# sourceMappingURL=index.f1232838.js.map +var ce=Object.defineProperty,de=Object.defineProperties;var pe=Object.getOwnPropertyDescriptors;var ee=Object.getOwnPropertySymbols;var le=Object.prototype.hasOwnProperty,se=Object.prototype.propertyIsEnumerable;var te=(n,e,t)=>e in n?ce(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,g=(n,e)=>{for(var t in e||(e={}))le.call(e,t)&&te(n,t,e[t]);if(ee)for(var t of ee(e))se.call(e,t)&&te(n,t,e[t]);return n},Z=(n,e)=>de(n,pe(e));import{l as N,c as R}from"./index.38fdde83.js";function me(n,e){return e.forEach(function(t){t&&typeof t!="string"&&!Array.isArray(t)&&Object.keys(t).forEach(function(o){if(o!=="default"&&!(o in n)){var s=Object.getOwnPropertyDescriptor(t,o);Object.defineProperty(n,o,s.get?s:{enumerable:!0,get:function(){return t[o]}})}})}),Object.freeze(Object.defineProperty(n,Symbol.toStringTag,{value:"Module"}))}var w={},q={};Object.defineProperty(q,"__esModule",{value:!0});q.initCollections=void 0;function ue(n){n.register("advancement_trigger",["minecraft:bee_nest_destroyed","minecraft:bred_animals","minecraft:brewed_potion","minecraft:changed_dimension","minecraft:channeled_lightning","minecraft:construct_beacon","minecraft:consume_item","minecraft:cured_zombie_villager","minecraft:effects_changed","minecraft:enchanted_item","minecraft:enter_block","minecraft:entity_hurt_player","minecraft:entity_killed_player","minecraft:filled_bucket","minecraft:fishing_rod_hooked","minecraft:hero_of_the_village","minecraft:impossible","minecraft:inventory_changed","minecraft:item_durability_changed","minecraft:killed_by_crossbow","minecraft:levitation","minecraft:location","minecraft:nether_travel","minecraft:placed_block","minecraft:player_hurt_entity","minecraft:player_killed_entity","minecraft:recipe_unlocked","minecraft:shot_crossbow","minecraft:safely_harvest_honey","minecraft:slept_in_bed","minecraft:slide_down_block","minecraft:summoned_entity","minecraft:tame_animal","minecraft:tick","minecraft:used_ender_eye","minecraft:used_totem","minecraft:villager_trade","minecraft:voluntary_exile"]),n.register("loot_pool_entry_type",["minecraft:empty","minecraft:item","minecraft:tag","minecraft:loot_table","minecraft:alternatives","minecraft:sequence","minecraft:group","minecraft:dynamic"]),n.register("loot_condition_type",["minecraft:alternative","minecraft:inverted","minecraft:reference","minecraft:entity_properties","minecraft:block_state_property","minecraft:match_tool","minecraft:damage_source_properties","minecraft:location_check","minecraft:weather_check","minecraft:time_check","minecraft:entity_scores","minecraft:random_chance","minecraft:random_chance_with_looting","minecraft:table_bonus","minecraft:killed_by_player","minecraft:survives_explosion"]),n.register("loot_function_type",["minecraft:set_count","minecraft:set_damage","minecraft:set_name","minecraft:set_lore","minecraft:set_nbt","minecraft:set_attributes","minecraft:set_contents","minecraft:enchant_randomly","minecraft:enchant_with_levels","minecraft:looting_enchant","minecraft:limit_count","minecraft:furnace_smelt","minecraft:explosion_decay","minecraft:fill_player_head","minecraft:copy_name","minecraft:copy_nbt","minecraft:copy_state","minecraft:apply_bonus","minecraft:exploration_map","minecraft:set_stew_effect"]),n.register("attribute",["generic.maxHealth","generic.followRange","generic.knockbackResistance","generic.movementSpeed","generic.attackDamage","generic.armor","generic.armorToughness","generic.attackSpeed","generic.luck","horse.jumpStrength","generic.attackKnockback","generic.flyingSpeed","zombie.spawnReinforcements"]),n.register("structure_feature",["pillager_outpost","mineshaft","mansion","jungle_pyramid","desert_pyramid","igloo","shipwreck","swamp_hut","stronghold","monument","ocean_ruin","fortress","endcity","buried_treasure","village"]),n.register("dimension",["minecraft:overworld","minecraft:the_nether","minecraft:the_end"]),n.register("keybind",["key.advancements","key.attack","key.back","key.chat","key.command","key.drop","key.forward","key.fullscreen","key.hotbar.1","key.hotbar.2","key.hotbar.3","key.hotbar.4","key.hotbar.5","key.hotbar.6","key.hotbar.7","key.hotbar.8","key.hotbar.9","key.inventory","key.jump","key.left","key.loadToolbarActivator","key.pickItem","key.playerlist","key.right","key.saveToolbarActivator","key.screenshot","key.smoothCamera","key.sneak","key.spectatorOutlines","key.sprint","key.swapOffhand","key.togglePerspective","key.use"]),n.register("slot",["mainhand","offhand","head","chest","legs","feet"]),n.register("gamemode",["survival","creative","adventure","spectator"]),n.register("entity_source",["this","direct_killer","killer","killer_player"]),n.register("copy_source",["block_entity","this","killer","killer_player"]),n.register("loot_table_apply_bonus_formula",["minecraft:uniform_bonus_count","minecraft:binomial_with_bonus_count","minecraft:ore_drops"]),n.register("map_decoration",["mansion","monument","player","frame","red_marker","blue_marker","target_x","target_point","player_off_map","player_off_limits","red_x","banner_white","banner_orange","banner_magenta","banner_light_blue","banner_yellow","banner_lime","banner_pink","banner_gray","banner_light_gray","banner_cyan","banner_purple","banner_blue","banner_brown","banner_green","banner_red","banner_black"]),n.register("recipe_group",["bed","light_gray_dye","iron_ingot","wooden_stairs","black_dye","stained_terracotta","dyed_bed","magenta_dye","bark","rabbit_stew","light_blue_dye","wooden_fence_gate","planks","stained_glass","wooden_door","stained_glass_pane","wooden_fence","sticks","concrete_powder","wooden_pressure_plate","boat","brown_dye","yellow_dye","bonemeal","red_dye","wooden_trapdoor","wooden_button","gold_ingot","pink_dye","wooden_slab","orange_dye","carpet","sign","wool","sugar","blue_dye","white_dye","banner","netherite_ingot"]),n.register("loot_context_type",["minecraft:empty","minecraft:chest","minecraft:command","minecraft:selector","minecraft:fishing","minecraft:entity","minecraft:gift","minecraft:barter","minecraft:advancement_reward","minecraft:advancement_entity","minecraft:generic","minecraft:block"]),n.register("cat_texture",["textures/entity/cat/tabby.png","textures/entity/cat/black.png","textures/entity/cat/red.png","textures/entity/cat/siamese.png","textures/entity/cat/british_shorthair.png","textures/entity/cat/calico.png","textures/entity/cat/persian.png","textures/entity/cat/ragdoll.png","textures/entity/cat/white.png","textures/entity/cat/jellie.png","textures/entity/cat/all_black.png"])}q.initCollections=ue;var A={},F={},L={};(function(n){Object.defineProperty(n,"__esModule",{value:!0}),n.initCommonSchemas=n.Range=n.ConditionCases=void 0;const e=N;function t(o,s){const c=e.StringNode.bind(void 0,s),r=e.Reference.bind(void 0,o);o.register("block_state",(0,e.Mod)((0,e.ObjectNode)({Name:c({validator:"resource",params:{pool:"block"}}),Properties:(0,e.Opt)((0,e.MapNode)(c(),c(),{validation:{validator:"block_state_map",params:{id:["pop",{push:"Name"}]}}}))},{context:"block_state"}),{default:()=>({Name:"minecraft:stone"})})),o.register("fluid_state",(0,e.Mod)((0,e.ObjectNode)({Name:c({validator:"resource",params:{pool:"fluid"}}),Properties:(0,e.Opt)((0,e.MapNode)(c(),c()))},{context:"fluid_state"}),{default:()=>({Name:"minecraft:water",Properties:{level:"0"}})})),o.register("block_pos",(0,e.Mod)((0,e.ListNode)((0,e.NumberNode)({integer:!0})),{default:()=>[0,0,0]})),n.Range=d=>(0,e.ChoiceNode)([...d!=null&&d.forceRange?[]:[{type:"number",node:(0,e.NumberNode)(d),change:_=>{var u,k,C;return _===void 0?0:(C=(k=(u=_.min)!==null&&u!==void 0?u:_.max)!==null&&k!==void 0?k:_.n)!==null&&C!==void 0?C:0}}],{type:"object",priority:-1,node:(0,e.ObjectNode)({min:d!=null&&d.bounds?(0,e.NumberNode)(d):(0,e.Opt)((0,e.NumberNode)(d)),max:d!=null&&d.bounds?(0,e.NumberNode)(d):(0,e.Opt)((0,e.NumberNode)(d))},{context:"range"}),change:_=>({min:typeof _=="number"?_:_===void 0?1:_.n,max:typeof _=="number"?_:_===void 0?1:_.n})},...d!=null&&d.allowBinomial?[{type:"binomial",node:(0,e.ObjectNode)({type:c({enum:["minecraft:binomial"]}),n:(0,e.NumberNode)({integer:!0,min:0}),p:(0,e.NumberNode)({min:0,max:1})},{context:"range"}),match:_=>_!==void 0&&_.type==="minecraft:binomial",change:_=>{var u,k;return{type:"minecraft:binomial",n:typeof _=="number"?_:_===void 0?1:(k=(u=_.min)!==null&&u!==void 0?u:_.max)!==null&&k!==void 0?k:1,p:.5}}}]:[]],{choiceContext:"range"}),n.ConditionCases={"minecraft:alternative":{terms:(0,e.ListNode)(r("condition"))},"minecraft:block_state_property":{block:c({validator:"resource",params:{pool:"block"}}),properties:(0,e.MapNode)(c(),c(),{validation:{validator:"block_state_map",params:{id:["pop",{push:"block"}]}}})},"minecraft:damage_source_properties":{predicate:r("damage_source_predicate")},"minecraft:entity_properties":{entity:c({enum:"entity_source"}),predicate:r("entity_predicate")},"minecraft:entity_scores":{entity:c({enum:"entity_source"}),scores:(0,e.MapNode)(c({validator:"objective"}),(0,n.Range)({forceRange:!0,bounds:!0}))},"minecraft:inverted":{term:r("condition")},"minecraft:killed_by_player":{inverse:(0,e.Opt)((0,e.BooleanNode)())},"minecraft:location_check":{offsetX:(0,e.Opt)((0,e.NumberNode)({integer:!0})),offsetY:(0,e.Opt)((0,e.NumberNode)({integer:!0})),offsetZ:(0,e.Opt)((0,e.NumberNode)({integer:!0})),predicate:r("location_predicate")},"minecraft:match_tool":{predicate:r("item_predicate")},"minecraft:random_chance":{chance:(0,e.NumberNode)({min:0,max:1})},"minecraft:random_chance_with_looting":{chance:(0,e.NumberNode)({min:0,max:1}),looting_multiplier:(0,e.NumberNode)()},"minecraft:reference":{name:c({validator:"resource",params:{pool:"$predicate"}})},"minecraft:table_bonus":{enchantment:c({validator:"resource",params:{pool:"enchantment"}}),chances:(0,e.ListNode)((0,e.NumberNode)({min:0,max:1}))},"minecraft:time_check":{value:(0,n.Range)(),period:(0,e.Opt)((0,e.NumberNode)())},"minecraft:weather_check":{raining:(0,e.Opt)((0,e.BooleanNode)()),thundering:(0,e.Opt)((0,e.BooleanNode)())}}}n.initCommonSchemas=t})(L);var J={};(function(n){Object.defineProperty(n,"__esModule",{value:!0}),n.initPredicatesSchemas=n.LocationFields=void 0;const e=N,t=L;function o(s,c){const r=e.Reference.bind(void 0,s),d=e.StringNode.bind(void 0,c),_=(0,e.ChoiceNode)([{type:"string",node:d(),change:u=>typeof u=="boolean"||typeof u=="number"?u.toString():""},{type:"number",node:(0,e.NumberNode)(),change:u=>typeof u=="string"?parseInt(u):0},{type:"object",node:(0,e.ObjectNode)({min:(0,e.Opt)((0,e.NumberNode)({integer:!0})),max:(0,e.Opt)((0,e.NumberNode)({integer:!0}))}),change:u=>typeof u=="number"?{min:u,max:u}:{}},{type:"boolean",node:(0,e.BooleanNode)(),change:u=>u==="true"||u===1}]);s.register("item_predicate",(0,e.ObjectNode)({item:(0,e.Opt)(d({validator:"resource",params:{pool:"item"}})),tag:(0,e.Opt)(d({validator:"resource",params:{pool:"$tag/item"}})),count:(0,e.Opt)((0,t.Range)()),durability:(0,e.Opt)((0,t.Range)()),potion:(0,e.Opt)(d({validator:"resource",params:{pool:"potion"}})),nbt:(0,e.Opt)(d({validator:"nbt",params:{registry:{category:"minecraft:item",id:["pop",{push:"item"}]}}})),enchantments:(0,e.Opt)((0,e.ListNode)(r("enchantment_predicate")))},{context:"item"})),s.register("enchantment_predicate",(0,e.ObjectNode)({enchantment:(0,e.Opt)(d({validator:"resource",params:{pool:"enchantment"}})),levels:(0,e.Opt)((0,t.Range)())},{context:"enchantment"})),s.register("block_predicate",(0,e.ObjectNode)({block:(0,e.Opt)(d({validator:"resource",params:{pool:"block"}})),tag:(0,e.Opt)(d({validator:"resource",params:{pool:"$tag/block"}})),nbt:(0,e.Opt)(d({validator:"nbt",params:{registry:{category:"minecraft:block",id:["pop",{push:"block"}]}}})),state:(0,e.Opt)((0,e.MapNode)(d(),_,{validation:{validator:"block_state_map",params:{id:["pop",{push:"block"}]}}}))},{context:"block"})),s.register("fluid_predicate",(0,e.ObjectNode)({fluid:(0,e.Opt)(d({validator:"resource",params:{pool:"fluid"}})),tag:(0,e.Opt)(d({validator:"resource",params:{pool:"$tag/fluid"}})),state:(0,e.Opt)((0,e.MapNode)(d(),_))},{context:"fluid"})),n.LocationFields={position:(0,e.Opt)((0,e.ObjectNode)({x:(0,e.Opt)((0,t.Range)()),y:(0,e.Opt)((0,t.Range)()),z:(0,e.Opt)((0,t.Range)())})),biome:(0,e.Opt)(d({enum:"biome"})),feature:(0,e.Opt)(d({enum:"structure_feature"})),dimension:(0,e.Opt)(d({enum:"dimension"})),light:(0,e.Opt)((0,e.ObjectNode)({light:(0,e.Opt)((0,t.Range)({integer:!0,min:0,max:15}))})),block:(0,e.Opt)(r("block_predicate")),fluid:(0,e.Opt)(r("fluid_predicate"))},s.register("location_predicate",(0,e.ObjectNode)(n.LocationFields,{context:"location"})),s.register("statistic_predicate",(0,e.ObjectNode)({type:d({validator:"resource",params:{pool:"stat_type"}}),stat:d(),value:(0,t.Range)(),[e.Switch]:[{push:"type"}],[e.Case]:{"minecraft:mined":{stat:d({validator:"resource",params:{pool:"block"}})},"minecraft:crafted":{stat:d({validator:"resource",params:{pool:"item"}})},"minecraft:used":{stat:d({validator:"resource",params:{pool:"item"}})},"minecraft:broken":{stat:d({validator:"resource",params:{pool:"item"}})},"minecraft:picked_up":{stat:d({validator:"resource",params:{pool:"item"}})},"minecraft:dropped":{stat:d({validator:"resource",params:{pool:"item"}})},"minecraft:killed":{stat:d({validator:"resource",params:{pool:"entity_type"}})},"minecraft:killed_by":{stat:d({validator:"resource",params:{pool:"entity_type"}})},"minecraft:custom":{stat:d({validator:"resource",params:{pool:"custom_stat"}})}}})),s.register("player_predicate",(0,e.ObjectNode)({gamemode:(0,e.Opt)(d({enum:"gamemode"})),level:(0,e.Opt)((0,t.Range)()),advancements:(0,e.Opt)((0,e.MapNode)(d({validator:"resource",params:{pool:"$advancement"}}),(0,e.ChoiceNode)([{type:"boolean",node:(0,e.BooleanNode)(),change:u=>!0},{type:"object",node:(0,e.MapNode)(d(),(0,e.BooleanNode)())}]))),recipes:(0,e.Opt)((0,e.MapNode)(d({validator:"resource",params:{pool:"$recipe"}}),(0,e.BooleanNode)())),stats:(0,e.Opt)((0,e.ListNode)(r("statistic_predicate")))},{context:"player"})),s.register("status_effect_predicate",(0,e.ObjectNode)({amplifier:(0,e.Opt)((0,t.Range)()),duration:(0,e.Opt)((0,t.Range)()),ambient:(0,e.Opt)((0,e.BooleanNode)()),visible:(0,e.Opt)((0,e.BooleanNode)())},{context:"status_effect"})),s.register("distance_predicate",(0,e.ObjectNode)({x:(0,e.Opt)((0,t.Range)()),y:(0,e.Opt)((0,t.Range)()),z:(0,e.Opt)((0,t.Range)()),absolute:(0,e.Opt)((0,t.Range)()),horizontal:(0,e.Opt)((0,t.Range)())},{context:"distance"})),s.register("entity_predicate",(0,e.ObjectNode)({type:(0,e.Opt)(d({validator:"resource",params:{pool:"entity_type",allowTag:!0}})),nbt:(0,e.Opt)(d({validator:"nbt",params:{registry:{category:"minecraft:entity",id:["pop",{push:"type"}]}}})),team:(0,e.Opt)(d({validator:"team"})),location:(0,e.Opt)(r("location_predicate")),distance:(0,e.Opt)(r("distance_predicate")),flags:(0,e.Opt)((0,e.ObjectNode)({is_on_fire:(0,e.Opt)((0,e.BooleanNode)()),is_sneaking:(0,e.Opt)((0,e.BooleanNode)()),is_sprinting:(0,e.Opt)((0,e.BooleanNode)()),is_swimming:(0,e.Opt)((0,e.BooleanNode)()),is_baby:(0,e.Opt)((0,e.BooleanNode)())})),equipment:(0,e.Opt)((0,e.MapNode)(d({enum:"slot"}),r("item_predicate"))),player:(0,e.Opt)(r("player_predicate")),catType:(0,e.Opt)(d({enum:"cat_texture"})),effects:(0,e.Opt)((0,e.MapNode)(d({validator:"resource",params:{pool:"mob_effect"}}),r("status_effect_predicate")))},{context:"entity"})),s.register("damage_source_predicate",(0,e.ObjectNode)({is_explosion:(0,e.Opt)((0,e.BooleanNode)()),is_fire:(0,e.Opt)((0,e.BooleanNode)()),is_magic:(0,e.Opt)((0,e.BooleanNode)()),is_projectile:(0,e.Opt)((0,e.BooleanNode)()),is_lightning:(0,e.Opt)((0,e.BooleanNode)()),bypasses_armor:(0,e.Opt)((0,e.BooleanNode)()),bypasses_invulnerability:(0,e.Opt)((0,e.BooleanNode)()),bypasses_magic:(0,e.Opt)((0,e.BooleanNode)()),source_entity:(0,e.Opt)(r("entity_predicate")),direct_entity:(0,e.Opt)(r("entity_predicate"))},{context:"damage_source"})),s.register("damage_predicate",(0,e.ObjectNode)({dealt:(0,e.Opt)((0,t.Range)()),taken:(0,e.Opt)((0,t.Range)()),blocked:(0,e.Opt)((0,e.BooleanNode)()),source_entity:(0,e.Opt)(r("entity_predicate")),type:(0,e.Opt)(r("damage_source_predicate"))},{context:"damage"}))}n.initPredicatesSchemas=o})(J);Object.defineProperty(F,"__esModule",{value:!0});F.initAdvancementSchemas=void 0;const i=N,h=L,T=J;function _e(n,e){const t=i.Reference.bind(void 0,n),o=i.StringNode.bind(void 0,e);n.register("advancement",(0,i.Mod)((0,i.ObjectNode)({display:(0,i.Opt)((0,i.Mod)((0,i.ObjectNode)({icon:(0,i.ObjectNode)({item:o({validator:"resource",params:{pool:"item"}}),nbt:(0,i.Opt)(o({validator:"nbt",params:{registry:{category:"minecraft:item",id:["pop",{push:"item"}]}}}))}),title:t("text_component"),description:t("text_component"),background:(0,i.Opt)(o()),frame:(0,i.Opt)(o({enum:["task","challenge","goal"]})),show_toast:(0,i.Opt)((0,i.BooleanNode)()),announce_to_chat:(0,i.Opt)((0,i.BooleanNode)()),hidden:(0,i.Opt)((0,i.BooleanNode)())}),{default:()=>({icon:{item:"minecraft:stone"},title:"",description:""})})),parent:(0,i.Opt)(o({validator:"resource",params:{pool:"$advancement"}})),criteria:(0,i.MapNode)(o(),t("advancement_criteria")),requirements:(0,i.Opt)((0,i.ListNode)((0,i.ListNode)(o()))),rewards:(0,i.Opt)((0,i.ObjectNode)({function:(0,i.Opt)(o({validator:"resource",params:{pool:"$function"}})),loot:(0,i.Opt)((0,i.ListNode)(o({validator:"resource",params:{pool:"$loot_table"}}))),recipes:(0,i.Opt)((0,i.ListNode)(o({validator:"resource",params:{pool:"$recipe"}}))),experience:(0,i.Opt)((0,i.NumberNode)({integer:!0}))}))},{context:"advancement"}),{default:()=>({criteria:{requirement:{trigger:"minecraft:location"}}})})),n.register("advancement_criteria",(0,i.ObjectNode)({trigger:o({validator:"resource",params:{pool:e.get("advancement_trigger")}}),conditions:(0,i.Opt)((0,i.ObjectNode)({[i.Switch]:["pop",{push:"trigger"}],[i.Case]:{"minecraft:bee_nest_destroyed":{block:(0,i.Opt)(o({validator:"resource",params:{pool:"block"}})),num_bees_inside:(0,i.Opt)((0,i.NumberNode)({integer:!0})),item:(0,i.Opt)(t("item_predicate"))},"minecraft:bred_animals":{parent:(0,i.Opt)(t("entity_predicate")),partner:(0,i.Opt)(t("entity_predicate")),child:(0,i.Opt)(t("entity_predicate"))},"minecraft:brewed_potion":{potion:(0,i.Opt)(o({validator:"resource",params:{pool:"potion"}}))},"minecraft:changed_dimension":{from:(0,i.Opt)(o({enum:"dimension"})),to:(0,i.Opt)(o({enum:"dimension"}))},"minecraft:channeled_lightning":{victims:(0,i.Opt)((0,i.ListNode)((0,i.Opt)(t("entity_predicate"))))},"minecraft:construct_beacon":{level:(0,i.Opt)((0,h.Range)())},"minecraft:consume_item":{item:(0,i.Opt)(t("item_predicate"))},"minecraft:cured_zombie_villager":{villager:(0,i.Opt)(t("entity_predicate")),zombie:(0,i.Opt)(t("entity_predicate"))},"minecraft:effects_changed":{effects:(0,i.Opt)((0,i.MapNode)(o({validator:"resource",params:{pool:"mob_effect"}}),t("status_effect_predicate")))},"minecraft:enter_block":{block:(0,i.Opt)(o({validator:"resource",params:{pool:"block"}})),state:(0,i.Opt)((0,i.MapNode)(o(),o(),{validation:{validator:"block_state_map",params:{id:["pop",{push:"block"}]}}}))},"minecraft:enchanted_item":{levels:(0,i.Opt)((0,h.Range)()),item:(0,i.Opt)(t("item_predicate"))},"minecraft:entity_hurt_player":{damage:(0,i.Opt)(t("damage_predicate"))},"minecraft:entity_killed_player":{entity:(0,i.Opt)(t("entity_predicate")),killing_blow:(0,i.Opt)(t("damage_source_predicate"))},"minecraft:filled_bucket":{item:(0,i.Opt)(t("item_predicate"))},"minecraft:fishing_rod_hooked":{entity:(0,i.Opt)(t("entity_predicate")),item:(0,i.Opt)(t("item_predicate"))},"minecraft:hero_of_the_village":T.LocationFields,"minecraft:inventory_changed":{slots:(0,i.Opt)((0,i.ObjectNode)({empty:(0,i.Opt)((0,h.Range)()),occupied:(0,i.Opt)((0,h.Range)()),full:(0,i.Opt)((0,h.Range)())})),items:(0,i.Opt)((0,i.ListNode)(t("item_predicate")))},"minecraft:item_durability_changed":{delta:(0,i.Opt)((0,h.Range)()),durability:(0,i.Opt)((0,h.Range)()),item:(0,i.Opt)(t("item_predicate"))},"minecraft:killed_by_crossbow":{unique_entity_types:(0,i.Opt)((0,h.Range)()),victims:(0,i.Opt)((0,i.ListNode)((0,i.Opt)(t("entity_predicate"))))},"minecraft:levitation":{distance:(0,i.Opt)((0,h.Range)()),duration:(0,i.Opt)((0,h.Range)())},"minecraft:location":T.LocationFields,"minecraft:nether_travel":{distance:(0,i.Opt)((0,h.Range)()),entered:(0,i.Opt)(t("location_predicate")),exited:(0,i.Opt)(t("location_predicate"))},"minecraft:placed_block":{block:(0,i.Opt)(o({validator:"resource",params:{pool:"block"}})),state:(0,i.Opt)((0,i.MapNode)(o(),o(),{validation:{validator:"block_state_map",params:{id:["pop",{push:"block"}]}}})),item:(0,i.Opt)(t("item_predicate")),location:(0,i.Opt)(t("location_predicate"))},"minecraft:player_hurt_entity":{damage:(0,i.Opt)(t("damage_predicate")),entity:(0,i.Opt)(t("entity_predicate"))},"minecraft:player_killed_entity":{entity:(0,i.Opt)(t("entity_predicate")),killing_blow:(0,i.Opt)(t("damage_source_predicate"))},"minecraft:recipe_unlocked":{recipe:o({validator:"resource",params:{pool:"$recipe"}})},"minecraft:safely_harvest_honey":{block:(0,i.Opt)((0,i.ObjectNode)({block:(0,i.Opt)(o({validator:"resource",params:{pool:"block"}})),tag:(0,i.Opt)(o({validator:"resource",params:{pool:"$tag/block"}}))})),item:(0,i.Opt)(t("item_predicate"))},"minecraft:slept_in_bed":T.LocationFields,"minecraft:slide_down_block":{block:(0,i.Opt)(o({validator:"resource",params:{pool:"block"}}))},"minecraft:shot_crossbow":{item:(0,i.Opt)(t("item_predicate"))},"minecraft:summoned_entity":{entity:(0,i.Opt)(t("entity_predicate"))},"minecraft:tame_animal":{entity:(0,i.Opt)(t("entity_predicate"))},"minecraft:used_ender_eye":{distance:(0,i.Opt)((0,h.Range)())},"minecraft:used_totem":{item:(0,i.Opt)(t("item_predicate"))},"minecraft:villager_trade":{villager:(0,i.Opt)(t("entity_predicate")),item:(0,i.Opt)(t("item_predicate"))},"minecraft:voluntary_exile":T.LocationFields}},{context:"criterion"}))},{category:"predicate",context:"criterion"}))}F.initAdvancementSchemas=_e;var E={},z={};Object.defineProperty(z,"__esModule",{value:!0});z.initModelSchemas=void 0;const m=N;function fe(n,e){m.Reference.bind(void 0,n);const t=m.StringNode.bind(void 0,e),o=(c,r,d)=>(0,m.ListNode)((0,m.NumberNode)({min:r,max:d}),{minLength:c,maxLength:c}),s=(0,m.ChoiceNode)([{type:"alias",match:c=>typeof c=="string"&&c.startsWith("#"),node:t(),change:c=>typeof c=="string"?`#${c}`:"#0"},{type:"reference",match:c=>typeof c=="string",node:t({validator:"resource",params:{pool:"$texture"}}),change:c=>typeof c=="string"?c.replace(/^#/,""):""}],{choiceContext:"texture"});n.register("model",(0,m.Mod)((0,m.ObjectNode)({parent:(0,m.Opt)(t({validator:"resource",params:{pool:"$model"}})),ambientocclusion:(0,m.Opt)((0,m.BooleanNode)()),gui_light:(0,m.Opt)(t({enum:"gui_light"})),textures:(0,m.Opt)((0,m.MapNode)(t(),s)),elements:(0,m.Opt)((0,m.ListNode)((0,m.ObjectNode)({from:o(3,-16,32),to:o(3,-16,32),rotation:(0,m.Opt)((0,m.ObjectNode)({origin:o(3),axis:t({enum:"axis"}),angle:(0,m.NumberEnum)({values:[-45,-22.5,0,22.5,45]}),rescale:(0,m.Opt)((0,m.BooleanNode)())})),shade:(0,m.Opt)((0,m.BooleanNode)()),faces:(0,m.MapNode)(t({enum:"direction"}),(0,m.ObjectNode)({texture:s,uv:(0,m.Opt)(o(4)),cullface:(0,m.Opt)(t({enum:"direction"})),rotation:(0,m.Opt)((0,m.NumberNode)({integer:!0})),tintindex:(0,m.Opt)((0,m.NumberNode)({integer:!0}))}))},{context:"model_element"}))),display:(0,m.Opt)((0,m.MapNode)(t({enum:"display_position"}),(0,m.ObjectNode)({rotation:o(3),translation:o(3,-80,80),scale:o(3,-4,4)},{context:"item_transform"}))),overrides:(0,m.Opt)((0,m.ListNode)((0,m.ObjectNode)({predicate:(0,m.MapNode)(t({enum:"item_model_predicates"}),(0,m.NumberNode)()),model:t({validator:"resource",params:{pool:"$model"}})},{context:"model_override"})))},{context:"model"}),{default:()=>({parent:"minecraft:item/generated",textures:{layer0:"minecraft:item/diamond"}})}))}z.initModelSchemas=fe;var D={};Object.defineProperty(D,"__esModule",{value:!0});D.initBlockDefinitionSchemas=void 0;const f=N;function ge(n,e){const t=f.Reference.bind(void 0,n),o=f.StringNode.bind(void 0,e);n.register("block_definition",(0,f.Mod)((0,f.ChoiceNode)([{type:"variants",match:c=>c.variants!==void 0,node:(0,f.ObjectNode)({variants:(0,f.MapNode)(o(),t("model_variant"))}),change:c=>({variants:{"":{}}})},{type:"multipart",match:c=>c.multipart!==void 0,node:(0,f.ObjectNode)({multipart:(0,f.ListNode)((0,f.ObjectNode)({when:(0,f.Opt)(t("multipart_condition")),apply:t("model_variant")}))}),change:c=>({multipart:{when:{},apply:{}}})}],{context:"block_definition"}),{default:()=>({variants:{"":{model:"minecraft:block/stone"}}})}));const s={model:o({validator:"resource",params:{pool:"$model"}}),x:(0,f.Opt)((0,f.NumberEnum)({integer:!0,values:[0,90,180,270]})),y:(0,f.Opt)((0,f.NumberEnum)({integer:!0,values:[0,90,180,270]})),uvlock:(0,f.Opt)((0,f.BooleanNode)())};n.register("model_variant",(0,f.ChoiceNode)([{type:"object",node:(0,f.ObjectNode)(s),change:c=>Array.isArray(c)&&c.length>0?c[0]:{}},{type:"list",node:(0,f.ListNode)((0,f.ObjectNode)(Z(g({},s),{weight:(0,f.Opt)((0,f.NumberNode)({integer:!0,min:1}))}),{context:"model_variant"})),change:c=>[g({weight:1},c)]}],{context:"model_variant"})),n.register("multipart_condition",(0,f.ChoiceNode)([{type:"object",priority:-1,match:()=>!0,node:(0,f.MapNode)(o(),o()),change:c=>typeof c=="object"&&Array.isArray(c==null?void 0:c.OR)&&c.OR.length>0?c.OR[0]:{}},{type:"or",match:c=>typeof c=="object"&&(c==null?void 0:c.OR)!==void 0,node:(0,f.ObjectNode)({OR:(0,f.ListNode)(t("multipart_condition"))}),change:c=>({OR:[c!=null?c:{}]})}],{context:"multipart_condition"}))}D.initBlockDefinitionSchemas=ge;Object.defineProperty(E,"__esModule",{value:!0});E.initAssetsSchemas=void 0;const be=z,ye=D;function Oe(n,e){(0,ye.initBlockDefinitionSchemas)(n,e),(0,be.initModelSchemas)(n,e)}E.initAssetsSchemas=Oe;var I={};Object.defineProperty(I,"__esModule",{value:!0});I.initConditionSchemas=void 0;const S=N,he=L;function Ne(n,e){const t=S.Reference.bind(void 0,n),o=S.StringNode.bind(void 0,e);n.register("predicate",(0,S.ObjectOrList)(t("condition"),{choiceContext:"condition"})),n.register("condition",(0,S.Mod)((0,S.ObjectNode)({condition:o({validator:"resource",params:{pool:"loot_condition_type"}}),[S.Switch]:[{push:"condition"}],[S.Case]:he.ConditionCases},{category:"predicate",context:"condition"}),{default:()=>({condition:"minecraft:entity_properties",entity:"this"})}))}I.initConditionSchemas=Ne;var H={},O={};Object.defineProperty(O,"__esModule",{value:!0});O.LootFunctions=O.LootConditions=O.LootCopySources=O.LootEntitySources=O.LootTableTypes=void 0;O.LootTableTypes=new Map([["minecraft:advancement_entity",{requires:[7,8],allows:[]}],["minecraft:advancement_reward",{requires:[7,8],allows:[]}],["minecraft:barter",{requires:[8],allows:[]}],["minecraft:block",{requires:[1,7,9],allows:[0,4,8]}],["minecraft:chest",{requires:[7],allows:[8]}],["minecraft:command",{requires:[7],allows:[8]}],["minecraft:empty",{requires:[],allows:[]}],["minecraft:entity",{requires:[2,7,8],allows:[3,5,6]}],["minecraft:fishing",{requires:[7,9],allows:[8]}],["minecraft:generic",{requires:[2,0,1,3,4,5,6,7,8,9],allows:[]}],["minecraft:gift",{requires:[7,8],allows:[]}],["minecraft:selector",{requires:[7],allows:[8]}]]);O.LootEntitySources=new Map([["direct_killer",[3]],["killer",[5]],["killer_player",[5]],["this",[8]]]);O.LootCopySources=new Map([["block_entity",[0]],["killer",[5]],["killer_player",[5]],["this",[8]]]);O.LootConditions=new Map([["minecraft:alternative",[]],["minecraft:block_state_property",[1]],["minecraft:damage_source_properties",[2]],["minecraft:entity_properties",[7]],["minecraft:entity_scores",[]],["minecraft:inverted",[]],["minecraft:killed_by_player",[6]],["minecraft:location_check",[]],["minecraft:match_tool",[9]],["minecraft:random_chance",[]],["minecraft:random_chance_with_looting",[5]],["minecraft:reference",[]],["minecraft:survives_explosion",[4]],["minecraft:table_bonus",[9]],["minecraft:time_check",[]],["minecraft:weather_check",[]]]);O.LootFunctions=new Map([["minecraft:apply_bonus",[9]],["minecraft:copy_name",[]],["minecraft:copy_nbt",[]],["minecraft:copy_state",[1]],["minecraft:enchant_randomly",[]],["minecraft:enchant_with_levels",[]],["minecraft:exploration_map",[7]],["minecraft:explosion_decay",[]],["minecraft:fill_player_head",[]],["minecraft:furnace_smelt",[]],["minecraft:limit_count",[]],["minecraft:looting_enchant",[5]],["minecraft:set_attributes",[]],["minecraft:set_contents",[]],["minecraft:set_count",[]],["minecraft:set_damage",[]],["minecraft:set_loot_table",[]],["minecraft:set_lore",[]],["minecraft:set_name",[]],["minecraft:set_nbt",[]],["minecraft:set_stew_effect",[]]]);Object.defineProperty(H,"__esModule",{value:!0});H.initLootTableSchemas=void 0;const a=N,P=O,v=L;function ve(n,e){const t=a.Reference.bind(void 0,n),o=a.StringNode.bind(void 0,e),s={conditions:(0,a.Opt)((0,a.ListNode)(t("loot_condition")))},c=g({functions:(0,a.Opt)((0,a.ListNode)(t("loot_function")))},s);function r(b,x,y){const W=[],re=$=>e.get(x).filter(X=>{var B;return((B=b.get(X))!==null&&B!==void 0?B:[]).every(Y=>$.includes(Y))});for(const[$,{allows:X,requires:B}]of P.LootTableTypes){const Q=[...X,...B];W.push({match:Y=>Y.getModel().get(new a.Path(["type"]))===$,node:y(re(Q))})}return W.push({match:$=>!0,node:y(x)}),(0,a.SwitchNode)(W)}const d=r(P.LootConditions,"loot_condition_type",b=>o({validator:"resource",params:{pool:b instanceof Array?b:"loot_condition_type"}})),_=r(P.LootFunctions,"loot_function_type",b=>o({validator:"resource",params:{pool:b instanceof Array?b:"loot_function_type"}})),u=r(P.LootEntitySources,"entity_source",b=>o({enum:b})),k=r(P.LootCopySources,"copy_source",b=>o({enum:b}));n.register("loot_table",(0,a.Mod)((0,a.ObjectNode)({type:(0,a.Opt)(o({validator:"resource",params:{pool:e.get("loot_context_type")}})),pools:(0,a.Opt)((0,a.ListNode)((0,a.Mod)((0,a.ObjectNode)(g({rolls:(0,v.Range)({allowBinomial:!0,integer:!0}),bonus_rolls:(0,a.Opt)((0,v.Range)({integer:!0})),entries:(0,a.ListNode)(t("loot_entry"))},c),{category:"pool",context:"loot_pool"}),{default:()=>({rolls:1,entries:[{type:"minecraft:item",name:"minecraft:stone"}]})}))),functions:(0,a.Opt)((0,a.ListNode)(t("loot_function")))},{context:"loot_table"}),{default:()=>({pools:[{rolls:1,entries:[{type:"minecraft:item",name:"minecraft:stone"}]}]})}));const C={enabled:b=>{var x;return((x=b.pop().get())===null||x===void 0?void 0:x.length)>1&&!["minecraft:alternatives","minecraft:group","minecraft:sequence"].includes(b.push("type").get())}};n.register("loot_entry",(0,a.Mod)((0,a.ObjectNode)({type:o({validator:"resource",params:{pool:"loot_pool_entry_type"}}),weight:(0,a.Opt)((0,a.Mod)((0,a.NumberNode)({integer:!0,min:1}),C)),quality:(0,a.Opt)((0,a.Mod)((0,a.NumberNode)({integer:!0}),C)),[a.Switch]:[{push:"type"}],[a.Case]:{"minecraft:alternatives":g({children:(0,a.ListNode)(t("loot_entry"))},c),"minecraft:dynamic":g({name:o()},c),"minecraft:group":g({children:(0,a.ListNode)(t("loot_entry"))},c),"minecraft:item":g({name:o({validator:"resource",params:{pool:"item"}})},c),"minecraft:loot_table":g({name:o({validator:"resource",params:{pool:"$loot_table"}})},c),"minecraft:sequence":g({children:(0,a.ListNode)(t("loot_entry"))},c),"minecraft:tag":g({name:o({validator:"resource",params:{pool:"$tag/item"}}),expand:(0,a.Opt)((0,a.BooleanNode)())},c)}},{context:"loot_entry"}),{default:()=>({type:"minecraft:item",name:"minecraft:stone"})})),n.register("loot_function",(0,a.Mod)((0,a.ObjectNode)({function:_,[a.Switch]:[{push:"function"}],[a.Case]:(()=>{const b={"minecraft:apply_bonus":{enchantment:o({validator:"resource",params:{pool:"enchantment"}}),formula:o({validator:"resource",params:{pool:e.get("loot_table_apply_bonus_formula")}}),parameters:(0,a.Mod)((0,a.ObjectNode)({bonusMultiplier:(0,a.Mod)((0,a.NumberNode)(),{enabled:y=>y.pop().push("formula").get()==="minecraft:uniform_bonus_count"}),extra:(0,a.Mod)((0,a.NumberNode)(),{enabled:y=>y.pop().push("formula").get()==="minecraft:binomial_with_bonus_count"}),probability:(0,a.Mod)((0,a.NumberNode)(),{enabled:y=>y.pop().push("formula").get()==="minecraft:binomial_with_bonus_count"})}),{enabled:y=>y.push("formula").get()!=="minecraft:ore_drops"})},"minecraft:copy_name":{source:k},"minecraft:copy_nbt":{source:k,ops:(0,a.ListNode)((0,a.ObjectNode)({source:o({validator:"nbt_path",params:{category:{getter:"copy_source",path:["pop","pop","pop",{push:"source"}]}}}),target:o({validator:"nbt_path",params:{category:"minecraft:item"}}),op:o({enum:["replace","append","merge"]})},{context:"nbt_operation"}))},"minecraft:copy_state":{block:o({validator:"resource",params:{pool:"block"}}),properties:(0,a.ListNode)(o({validator:"block_state_key",params:{id:["pop","pop",{push:"block"}]}}))},"minecraft:enchant_randomly":{enchantments:(0,a.Opt)((0,a.ListNode)(o({validator:"resource",params:{pool:"enchantment"}})))},"minecraft:enchant_with_levels":{levels:(0,v.Range)({allowBinomial:!0}),treasure:(0,a.Opt)((0,a.BooleanNode)())},"minecraft:exploration_map":{destination:(0,a.Opt)(o({enum:"structure_feature"})),decoration:(0,a.Opt)(o({enum:"map_decoration"})),zoom:(0,a.Opt)((0,a.NumberNode)({integer:!0})),search_radius:(0,a.Opt)((0,a.NumberNode)({integer:!0})),skip_existing_chunks:(0,a.Opt)((0,a.BooleanNode)())},"minecraft:fill_player_head":{entity:u},"minecraft:limit_count":{limit:(0,v.Range)({bounds:!0})},"minecraft:looting_enchant":{count:(0,v.Range)({bounds:!0}),limit:(0,a.Opt)((0,a.NumberNode)({integer:!0}))},"minecraft:set_attributes":{modifiers:(0,a.ListNode)(t("attribute_modifier"))},"minecraft:set_contents":{entries:(0,a.ListNode)(t("loot_entry"))},"minecraft:set_count":{count:(0,v.Range)({allowBinomial:!0})},"minecraft:set_damage":{damage:(0,v.Range)({forceRange:!0})},"minecraft:set_loot_table":{name:o({validator:"resource",params:{pool:"$loot_table"}}),seed:(0,a.Opt)((0,a.NumberNode)({integer:!0}))},"minecraft:set_lore":{entity:(0,a.Opt)(u),lore:(0,a.ListNode)(t("text_component")),replace:(0,a.Opt)((0,a.BooleanNode)())},"minecraft:set_name":{entity:(0,a.Opt)(u),name:(0,a.Opt)(t("text_component"))},"minecraft:set_nbt":{tag:o({validator:"nbt",params:{registry:{category:"minecraft:item"}}})},"minecraft:set_stew_effect":{effects:(0,a.Opt)((0,a.ListNode)((0,a.ObjectNode)({type:o({validator:"resource",params:{pool:"mob_effect"}}),duration:(0,v.Range)()})))}},x={};return e.get("loot_function_type").forEach(y=>{x[y]=g(g({},b[y]),s)}),x})()},{category:"function",context:"function"}),{default:()=>({function:"minecraft:set_count",count:1})})),n.register("loot_condition",(0,a.Mod)((0,a.ObjectNode)({condition:d,[a.Switch]:[{push:"condition"}],[a.Case]:Z(g({},v.ConditionCases),{"minecraft:entity_properties":{entity:u,predicate:t("entity_predicate")},"minecraft:entity_scores":{entity:u,scores:(0,a.MapNode)(o({validator:"objective"}),(0,v.Range)({bounds:!0}))}})},{category:"predicate",context:"condition"}),{default:()=>({condition:"minecraft:random_chance",chance:.5})})),n.register("attribute_modifier",(0,a.Mod)((0,a.ObjectNode)({attribute:o({validator:"resource",params:{pool:"attribute"}}),name:o(),amount:(0,v.Range)({bounds:!0}),operation:o({enum:["addition","multiply_base","multiply_total"]}),slot:(0,a.StringOrList)(o({enum:"slot"}))},{context:"attribute_modifier"}),{default:()=>({attribute:"minecraft:generic.max_health",name:"",amount:1,operation:"addition",slot:"mainhand"})}))}H.initLootTableSchemas=ve;var V={};Object.defineProperty(V,"__esModule",{value:!0});V.initPackMcmetaSchemas=void 0;const M=N;function ke(n,e){n.register("pack_mcmeta",(0,M.Mod)((0,M.ObjectNode)({pack:(0,M.Mod)((0,M.ObjectNode)({pack_format:(0,M.Mod)((0,M.NumberNode)({integer:!0,min:5,max:5}),{default:()=>5}),description:(0,M.Reference)(n,"text_component")}),{default:()=>({pack_format:5,description:""})})}),{default:()=>({pack:{pack_format:5,description:""}})}))}V.initPackMcmetaSchemas=ke;var G={};Object.defineProperty(G,"__esModule",{value:!0});G.initRecipeSchemas=void 0;const l=N;function xe(n,e){const t=l.Reference.bind(void 0,n),o=l.StringNode.bind(void 0,e);n.register("recipe",(0,l.Mod)((0,l.ObjectNode)({type:o({validator:"resource",params:{pool:"recipe_serializer"}}),[l.Switch]:[{push:"type"}],[l.Case]:{"minecraft:crafting_shaped":{group:(0,l.Opt)(o({enum:"recipe_group",additional:!0})),pattern:(0,l.ListNode)(o()),key:(0,l.MapNode)(o(),t("recipe_ingredient")),result:t("recipe_result")},"minecraft:crafting_shapeless":{group:(0,l.Opt)(o()),ingredients:(0,l.ListNode)(t("recipe_ingredient")),result:t("recipe_result")},"minecraft:smelting":{group:(0,l.Opt)(o()),ingredient:t("recipe_ingredient"),result:o({validator:"resource",params:{pool:"item"}}),experience:(0,l.Opt)((0,l.NumberNode)()),cookingtime:(0,l.Opt)((0,l.Mod)((0,l.NumberNode)({integer:!0}),{default:()=>200}))},"minecraft:blasting":{group:(0,l.Opt)(o()),ingredient:t("recipe_ingredient"),result:o({validator:"resource",params:{pool:"item"}}),experience:(0,l.Opt)((0,l.NumberNode)()),cookingtime:(0,l.Opt)((0,l.Mod)((0,l.NumberNode)({integer:!0}),{default:()=>100}))},"minecraft:smoking":{group:(0,l.Opt)(o()),ingredient:t("recipe_ingredient"),result:o({validator:"resource",params:{pool:"item"}}),experience:(0,l.Opt)((0,l.NumberNode)()),cookingtime:(0,l.Opt)((0,l.Mod)((0,l.NumberNode)({integer:!0}),{default:()=>100}))},"minecraft:campfire_cooking":{group:(0,l.Opt)(o()),ingredient:t("recipe_ingredient"),result:o({validator:"resource",params:{pool:"item"}}),experience:(0,l.Opt)((0,l.NumberNode)()),cookingtime:(0,l.Opt)((0,l.Mod)((0,l.NumberNode)({integer:!0}),{default:()=>100}))},"minecraft:stonecutting":{group:(0,l.Opt)(o()),ingredient:t("recipe_ingredient"),result:o({validator:"resource",params:{pool:"item"}}),count:(0,l.NumberNode)({integer:!0})},"minecraft:smithing":{group:(0,l.Opt)(o()),base:t("recipe_ingredient_object"),addition:t("recipe_ingredient_object"),result:t("recipe_result")}}},{context:"recipe",disableSwitchContext:!0}),{default:()=>({type:"minecraft:crafting_shaped"})})),n.register("recipe_ingredient",(0,l.Mod)((0,l.ChoiceNode)([{type:"object",node:t("recipe_ingredient_object"),change:s=>s[0]},{type:"list",node:(0,l.ListNode)(t("recipe_ingredient_object")),change:s=>[s]}]),{default:()=>({item:"minecraft:stone"})})),n.register("recipe_ingredient_object",(0,l.Mod)((0,l.ObjectNode)({item:(0,l.Opt)(o({validator:"resource",params:{pool:"item"}})),tag:(0,l.Opt)(o({validator:"resource",params:{pool:"$tag/item"}}))}),{default:()=>({item:"minecraft:stone"})})),n.register("recipe_result",(0,l.Mod)((0,l.ObjectNode)({item:o({validator:"resource",params:{pool:"item"}}),count:(0,l.Opt)((0,l.Mod)((0,l.NumberNode)({integer:!0}),{default:()=>1}))}),{default:()=>({item:"minecraft:stone"})}))}G.initRecipeSchemas=xe;var K={};Object.defineProperty(K,"__esModule",{value:!0});K.initTagsSchemas=void 0;const j=N;function je(n,e){const t=j.StringNode.bind(void 0,e),o=s=>(0,j.Mod)((0,j.ObjectNode)({replace:(0,j.Opt)((0,j.BooleanNode)()),values:(0,j.ListNode)((0,j.ChoiceNode)([{type:"string",node:t({validator:"resource",params:{pool:s,allowTag:!0}}),change:c=>c.id},{type:"object",node:(0,j.ObjectNode)({id:t({validator:"resource",params:{pool:s,allowTag:!0,allowUnknown:!0}}),required:(0,j.BooleanNode)()}),change:c=>({id:c})}]))},{context:"tag"}),{default:()=>({values:[]})});n.register("block_tag",o("block")),n.register("entity_type_tag",o("entity_type")),n.register("fluid_tag",o("fluid")),n.register("function_tag",o("$function")),n.register("item_tag",o("item"))}K.initTagsSchemas=je;var U={};Object.defineProperty(U,"__esModule",{value:!0});U.initTextComponentSchemas=void 0;const p=N;function we(n,e){const t=p.Reference.bind(void 0,n),o=p.StringNode.bind(void 0,e),s=r=>{var d;return r instanceof Array?s(r[0]):(d=r==null?void 0:r.text)!==null&&d!==void 0?d:typeof r=="object"?"":r==null?void 0:r.toString()};n.register("text_component",(0,p.Mod)((0,p.ChoiceNode)([{type:"object",node:t("text_component_object"),change:r=>r instanceof Array?typeof r[0]=="object"?r[0]:{text:s(r[0])}:typeof r=="object"?r:{text:s(r)}},{type:"list",node:t("text_component_list"),change:r=>[r]},{type:"string",priority:1,node:o(),change:s},{type:"number",node:(0,p.NumberNode)(),change:r=>{const d=parseFloat(s(r));return isFinite(d)?d:r?1:0}},{type:"boolean",node:(0,p.BooleanNode)(),change:r=>{const d=s(r);return d==="true"||d==="false"?d==="true":!!d}}],{context:"text_component"}),{default:()=>({text:""})}));const c={bold:(0,p.Opt)((0,p.BooleanNode)()),italic:(0,p.Opt)((0,p.BooleanNode)()),underlined:(0,p.Opt)((0,p.BooleanNode)()),strikethrough:(0,p.Opt)((0,p.BooleanNode)()),obfuscated:(0,p.Opt)((0,p.BooleanNode)()),insertion:(0,p.Opt)(o()),clickEvent:(0,p.Opt)((0,p.ObjectNode)({action:o({enum:["open_url","open_file","run_command","suggest_command","change_page","copy_to_clipboard"]}),[p.Switch]:[{push:"action"}],[p.Case]:{change_page:{value:o()},copy_to_clipboard:{value:o()},open_file:{value:o()},open_url:{value:o()},run_command:{value:o({validator:"command",params:{leadingSlash:!0,allowPartial:!0}})},suggest_command:{value:o({validator:"command",params:{leadingSlash:!0,allowPartial:!0}})}}})),hoverEvent:(0,p.Opt)((0,p.ObjectNode)({action:o({enum:["show_text","show_item","show_entity"]}),[p.Switch]:[{push:"action"}],[p.Case]:{show_text:{value:(0,p.Opt)(t("text_component"))},show_item:{value:(0,p.Opt)(o({validator:"nbt",params:{module:"util::InventoryItem"}}))},show_entity:{value:(0,p.Opt)((0,p.ObjectNode)({name:(0,p.Opt)(o()),type:(0,p.Opt)(o()),id:(0,p.Opt)(o())}))}}})),extra:(0,p.Opt)(t("text_component_list"))};n.register("text_component_object",(0,p.Mod)((0,p.ChoiceNode)([{type:"text",match:r=>typeof r=="object",change:r=>({text:""}),priority:-1,node:(0,p.ObjectNode)(g({text:o()},c))},{type:"translation",match:r=>(r==null?void 0:r.translate)!==void 0,change:r=>({translate:""}),node:(0,p.ObjectNode)(g({translate:o(),with:(0,p.Opt)(t("text_component_list"))},c))},{type:"score",match:r=>(r==null?void 0:r.score)!==void 0,change:r=>({score:{}}),node:(0,p.ObjectNode)(g({score:(0,p.ObjectNode)({name:o({validator:"entity",params:{amount:"single",type:"entities",isScoreHolder:!0}}),objective:o({validator:"objective"}),value:(0,p.Opt)(o())})},c))},{type:"selector",match:r=>(r==null?void 0:r.selector)!==void 0,change:r=>({selector:""}),node:(0,p.ObjectNode)(g({selector:o({validator:"entity",params:{amount:"multiple",type:"entities"}})},c))},{type:"keybind",match:r=>(r==null?void 0:r.keybind)!==void 0,change:r=>({keybind:""}),node:(0,p.ObjectNode)(g({keybind:o({enum:"keybind",additional:!0})},c))},{type:"nbt",match:r=>(r==null?void 0:r.nbt)!==void 0,change:r=>({nbt:""}),node:(0,p.ObjectNode)(g({nbt:o({validator:"nbt_path"}),block:(0,p.Opt)(o({validator:"vector",params:{dimension:3,isInteger:!0}})),entity:(0,p.Opt)(o({validator:"entity",params:{amount:"multiple",type:"entities"}})),storage:(0,p.Opt)(o({validator:"resource",params:{pool:"$storage"}})),interpret:(0,p.Opt)((0,p.BooleanNode)())},c))}],{context:"text_component_object",choiceContext:"text_component.object"}),{default:()=>({text:""})})),n.register("text_component_list",(0,p.Mod)((0,p.ListNode)(t("text_component")),{default:()=>[{text:""}]}))}U.initTextComponentSchemas=we;Object.defineProperty(A,"__esModule",{value:!0});A.initSchemas=void 0;const Se=F,Me=E,Ce=L,Re=I,Le=H,Be=V,Pe=J,$e=G,Te=K,qe=U;function Ae(n,e){(0,Ce.initCommonSchemas)(n,e),(0,Pe.initPredicatesSchemas)(n,e),(0,Se.initAdvancementSchemas)(n,e),(0,Me.initAssetsSchemas)(n,e),(0,Re.initConditionSchemas)(n,e),(0,Le.initLootTableSchemas)(n,e),(0,Be.initPackMcmetaSchemas)(n,e),(0,$e.initRecipeSchemas)(n,e),(0,Te.initTagsSchemas)(n,e),(0,qe.initTextComponentSchemas)(n,e)}A.initSchemas=Ae;var Fe=R&&R.__createBinding||(Object.create?function(n,e,t,o){o===void 0&&(o=t);var s=Object.getOwnPropertyDescriptor(e,t);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[t]}}),Object.defineProperty(n,o,s)}:function(n,e,t,o){o===void 0&&(o=t),n[o]=e[t]}),Ee=R&&R.__setModuleDefault||(Object.create?function(n,e){Object.defineProperty(n,"default",{enumerable:!0,value:e})}:function(n,e){n.default=e}),ze=R&&R.__importStar||function(n){if(n&&n.__esModule)return n;var e={};if(n!=null)for(var t in n)t!=="default"&&Object.prototype.hasOwnProperty.call(n,t)&&Fe(e,n,t);return Ee(e,n),e};Object.defineProperty(w,"__esModule",{value:!0});var oe=w.getSchemas=ae=w.getCollections=ie=w.lootContext=void 0;const ne=N,De=q,Ie=A;var ie=w.lootContext=ze(O);function He(){const n=new ne.CollectionRegistry;return(0,De.initCollections)(n),n}var ae=w.getCollections=He;function Ve(n){const e=new ne.SchemaRegistry;return(0,Ie.initSchemas)(e,n),e}oe=w.getSchemas=Ve;var Ue=me({__proto__:null,get getSchemas(){return oe},get getCollections(){return ae},get lootContext(){return ie},default:w},[w]);export{Ue as i}; +//# sourceMappingURL=index.700191c5.js.map diff --git a/assets/index.f1232838.js.map b/assets/index.700191c5.js.map similarity index 99% rename from assets/index.f1232838.js.map rename to assets/index.700191c5.js.map index 35588313..b5a48a39 100644 --- a/assets/index.f1232838.js.map +++ b/assets/index.700191c5.js.map @@ -1 +1 @@ -{"version":3,"file":"index.f1232838.js","sources":["../../node_modules/@mcschema/java-1.15/lib/Collections.js","../../node_modules/@mcschema/java-1.15/lib/schemas/Common.js","../../node_modules/@mcschema/java-1.15/lib/schemas/Predicates.js","../../node_modules/@mcschema/java-1.15/lib/schemas/Advancement.js","../../node_modules/@mcschema/java-1.15/lib/schemas/assets/Model.js","../../node_modules/@mcschema/java-1.15/lib/schemas/assets/BlockDefinition.js","../../node_modules/@mcschema/java-1.15/lib/schemas/assets/index.js","../../node_modules/@mcschema/java-1.15/lib/schemas/Condition.js","../../node_modules/@mcschema/java-1.15/lib/LootContext.js","../../node_modules/@mcschema/java-1.15/lib/schemas/LootTable.js","../../node_modules/@mcschema/java-1.15/lib/schemas/PackMcmeta.js","../../node_modules/@mcschema/java-1.15/lib/schemas/Recipe.js","../../node_modules/@mcschema/java-1.15/lib/schemas/Tags.js","../../node_modules/@mcschema/java-1.15/lib/schemas/TextComponent.js","../../node_modules/@mcschema/java-1.15/lib/schemas/index.js","../../node_modules/@mcschema/java-1.15/lib/index.js"],"sourcesContent":["\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initCollections = void 0;\r\nfunction initCollections(collections) {\r\n collections.register('advancement_trigger', [\r\n 'minecraft:bee_nest_destroyed',\r\n 'minecraft:bred_animals',\r\n 'minecraft:brewed_potion',\r\n 'minecraft:changed_dimension',\r\n 'minecraft:channeled_lightning',\r\n 'minecraft:construct_beacon',\r\n 'minecraft:consume_item',\r\n 'minecraft:cured_zombie_villager',\r\n 'minecraft:effects_changed',\r\n 'minecraft:enchanted_item',\r\n 'minecraft:enter_block',\r\n 'minecraft:entity_hurt_player',\r\n 'minecraft:entity_killed_player',\r\n 'minecraft:filled_bucket',\r\n 'minecraft:fishing_rod_hooked',\r\n 'minecraft:hero_of_the_village',\r\n 'minecraft:impossible',\r\n 'minecraft:inventory_changed',\r\n 'minecraft:item_durability_changed',\r\n 'minecraft:killed_by_crossbow',\r\n 'minecraft:levitation',\r\n 'minecraft:location',\r\n 'minecraft:nether_travel',\r\n 'minecraft:placed_block',\r\n 'minecraft:player_hurt_entity',\r\n 'minecraft:player_killed_entity',\r\n 'minecraft:recipe_unlocked',\r\n 'minecraft:shot_crossbow',\r\n 'minecraft:safely_harvest_honey',\r\n 'minecraft:slept_in_bed',\r\n 'minecraft:slide_down_block',\r\n 'minecraft:summoned_entity',\r\n 'minecraft:tame_animal',\r\n 'minecraft:tick',\r\n 'minecraft:used_ender_eye',\r\n 'minecraft:used_totem',\r\n 'minecraft:villager_trade',\r\n 'minecraft:voluntary_exile'\r\n ]);\r\n collections.register('loot_pool_entry_type', [\r\n 'minecraft:empty',\r\n 'minecraft:item',\r\n 'minecraft:tag',\r\n 'minecraft:loot_table',\r\n 'minecraft:alternatives',\r\n 'minecraft:sequence',\r\n 'minecraft:group',\r\n 'minecraft:dynamic'\r\n ]);\r\n collections.register('loot_condition_type', [\r\n 'minecraft:alternative',\r\n 'minecraft:inverted',\r\n 'minecraft:reference',\r\n 'minecraft:entity_properties',\r\n 'minecraft:block_state_property',\r\n 'minecraft:match_tool',\r\n 'minecraft:damage_source_properties',\r\n 'minecraft:location_check',\r\n 'minecraft:weather_check',\r\n 'minecraft:time_check',\r\n 'minecraft:entity_scores',\r\n 'minecraft:random_chance',\r\n 'minecraft:random_chance_with_looting',\r\n 'minecraft:table_bonus',\r\n 'minecraft:killed_by_player',\r\n 'minecraft:survives_explosion'\r\n ]);\r\n collections.register('loot_function_type', [\r\n 'minecraft:set_count',\r\n 'minecraft:set_damage',\r\n 'minecraft:set_name',\r\n 'minecraft:set_lore',\r\n 'minecraft:set_nbt',\r\n 'minecraft:set_attributes',\r\n 'minecraft:set_contents',\r\n 'minecraft:enchant_randomly',\r\n 'minecraft:enchant_with_levels',\r\n 'minecraft:looting_enchant',\r\n 'minecraft:limit_count',\r\n 'minecraft:furnace_smelt',\r\n 'minecraft:explosion_decay',\r\n 'minecraft:fill_player_head',\r\n 'minecraft:copy_name',\r\n 'minecraft:copy_nbt',\r\n 'minecraft:copy_state',\r\n 'minecraft:apply_bonus',\r\n 'minecraft:exploration_map',\r\n 'minecraft:set_stew_effect'\r\n ]);\r\n collections.register('attribute', [\r\n 'generic.maxHealth',\r\n 'generic.followRange',\r\n 'generic.knockbackResistance',\r\n 'generic.movementSpeed',\r\n 'generic.attackDamage',\r\n 'generic.armor',\r\n 'generic.armorToughness',\r\n 'generic.attackSpeed',\r\n 'generic.luck',\r\n 'horse.jumpStrength',\r\n 'generic.attackKnockback',\r\n 'generic.flyingSpeed',\r\n 'zombie.spawnReinforcements'\r\n ]);\r\n collections.register('structure_feature', [\r\n 'pillager_outpost',\r\n 'mineshaft',\r\n 'mansion',\r\n 'jungle_pyramid',\r\n 'desert_pyramid',\r\n 'igloo',\r\n 'shipwreck',\r\n 'swamp_hut',\r\n 'stronghold',\r\n 'monument',\r\n 'ocean_ruin',\r\n 'fortress',\r\n 'endcity',\r\n 'buried_treasure',\r\n 'village'\r\n ]);\r\n collections.register('dimension', [\r\n 'minecraft:overworld',\r\n 'minecraft:the_nether',\r\n 'minecraft:the_end'\r\n ]);\r\n collections.register('keybind', [\r\n 'key.advancements',\r\n 'key.attack',\r\n 'key.back',\r\n 'key.chat',\r\n 'key.command',\r\n 'key.drop',\r\n 'key.forward',\r\n 'key.fullscreen',\r\n 'key.hotbar.1',\r\n 'key.hotbar.2',\r\n 'key.hotbar.3',\r\n 'key.hotbar.4',\r\n 'key.hotbar.5',\r\n 'key.hotbar.6',\r\n 'key.hotbar.7',\r\n 'key.hotbar.8',\r\n 'key.hotbar.9',\r\n 'key.inventory',\r\n 'key.jump',\r\n 'key.left',\r\n 'key.loadToolbarActivator',\r\n 'key.pickItem',\r\n 'key.playerlist',\r\n 'key.right',\r\n 'key.saveToolbarActivator',\r\n 'key.screenshot',\r\n 'key.smoothCamera',\r\n 'key.sneak',\r\n 'key.spectatorOutlines',\r\n 'key.sprint',\r\n 'key.swapOffhand',\r\n 'key.togglePerspective',\r\n 'key.use'\r\n ]);\r\n collections.register('slot', [\r\n 'mainhand',\r\n 'offhand',\r\n 'head',\r\n 'chest',\r\n 'legs',\r\n 'feet'\r\n ]);\r\n collections.register('gamemode', [\r\n 'survival',\r\n 'creative',\r\n 'adventure',\r\n 'spectator'\r\n ]);\r\n collections.register('entity_source', [\r\n 'this',\r\n 'direct_killer',\r\n 'killer',\r\n 'killer_player'\r\n ]);\r\n collections.register('copy_source', [\r\n 'block_entity',\r\n 'this',\r\n 'killer',\r\n 'killer_player'\r\n ]);\r\n collections.register('loot_table_apply_bonus_formula', [\r\n 'minecraft:uniform_bonus_count',\r\n 'minecraft:binomial_with_bonus_count',\r\n 'minecraft:ore_drops'\r\n ]);\r\n collections.register('map_decoration', [\r\n 'mansion',\r\n 'monument',\r\n 'player',\r\n 'frame',\r\n 'red_marker',\r\n 'blue_marker',\r\n 'target_x',\r\n 'target_point',\r\n 'player_off_map',\r\n 'player_off_limits',\r\n 'red_x',\r\n 'banner_white',\r\n 'banner_orange',\r\n 'banner_magenta',\r\n 'banner_light_blue',\r\n 'banner_yellow',\r\n 'banner_lime',\r\n 'banner_pink',\r\n 'banner_gray',\r\n 'banner_light_gray',\r\n 'banner_cyan',\r\n 'banner_purple',\r\n 'banner_blue',\r\n 'banner_brown',\r\n 'banner_green',\r\n 'banner_red',\r\n 'banner_black'\r\n ]);\r\n collections.register('recipe_group', [\r\n 'bed',\r\n 'light_gray_dye',\r\n 'iron_ingot',\r\n 'wooden_stairs',\r\n 'black_dye',\r\n 'stained_terracotta',\r\n 'dyed_bed',\r\n 'magenta_dye',\r\n 'bark',\r\n 'rabbit_stew',\r\n 'light_blue_dye',\r\n 'wooden_fence_gate',\r\n 'planks',\r\n 'stained_glass',\r\n 'wooden_door',\r\n 'stained_glass_pane',\r\n 'wooden_fence',\r\n 'sticks',\r\n 'concrete_powder',\r\n 'wooden_pressure_plate',\r\n 'boat',\r\n 'brown_dye',\r\n 'yellow_dye',\r\n 'bonemeal',\r\n 'red_dye',\r\n 'wooden_trapdoor',\r\n 'wooden_button',\r\n 'gold_ingot',\r\n 'pink_dye',\r\n 'wooden_slab',\r\n 'orange_dye',\r\n 'carpet',\r\n 'sign',\r\n 'wool',\r\n 'sugar',\r\n 'blue_dye',\r\n 'white_dye',\r\n 'banner',\r\n 'netherite_ingot'\r\n ]);\r\n collections.register('loot_context_type', [\r\n 'minecraft:empty',\r\n 'minecraft:chest',\r\n 'minecraft:command',\r\n 'minecraft:selector',\r\n 'minecraft:fishing',\r\n 'minecraft:entity',\r\n 'minecraft:gift',\r\n 'minecraft:barter',\r\n 'minecraft:advancement_reward',\r\n 'minecraft:advancement_entity',\r\n 'minecraft:generic',\r\n 'minecraft:block'\r\n ]);\r\n collections.register('cat_texture', [\r\n 'textures/entity/cat/tabby.png',\r\n 'textures/entity/cat/black.png',\r\n 'textures/entity/cat/red.png',\r\n 'textures/entity/cat/siamese.png',\r\n 'textures/entity/cat/british_shorthair.png',\r\n 'textures/entity/cat/calico.png',\r\n 'textures/entity/cat/persian.png',\r\n 'textures/entity/cat/ragdoll.png',\r\n 'textures/entity/cat/white.png',\r\n 'textures/entity/cat/jellie.png',\r\n 'textures/entity/cat/all_black.png'\r\n ]);\r\n}\r\nexports.initCollections = initCollections;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initCommonSchemas = exports.Range = exports.ConditionCases = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initCommonSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n schemas.register('block_state', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n Name: StringNode({ validator: 'resource', params: { pool: 'block' } }),\r\n Properties: (0, core_1.Opt)((0, core_1.MapNode)(StringNode(), StringNode(), { validation: { validator: 'block_state_map', params: { id: ['pop', { push: 'Name' }] } } }))\r\n }, { context: 'block_state' }), {\r\n default: () => ({\r\n Name: 'minecraft:stone'\r\n })\r\n }));\r\n schemas.register('fluid_state', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n Name: StringNode({ validator: 'resource', params: { pool: 'fluid' } }),\r\n Properties: (0, core_1.Opt)((0, core_1.MapNode)(StringNode(), StringNode()))\r\n }, { context: 'fluid_state' }), {\r\n default: () => ({\r\n Name: 'minecraft:water',\r\n Properties: {\r\n 'level': '0'\r\n }\r\n })\r\n }));\r\n schemas.register('block_pos', (0, core_1.Mod)((0, core_1.ListNode)((0, core_1.NumberNode)({ integer: true })), {\r\n default: () => [0, 0, 0]\r\n }));\r\n exports.Range = (config) => (0, core_1.ChoiceNode)([\r\n ...((config === null || config === void 0 ? void 0 : config.forceRange) ? [] : [{\r\n type: 'number',\r\n node: (0, core_1.NumberNode)(config),\r\n change: (v) => { var _a, _b, _c; return v === undefined ? 0 : (_c = (_b = (_a = v.min) !== null && _a !== void 0 ? _a : v.max) !== null && _b !== void 0 ? _b : v.n) !== null && _c !== void 0 ? _c : 0; }\r\n }]),\r\n {\r\n type: 'object',\r\n priority: -1,\r\n node: (0, core_1.ObjectNode)({\r\n min: (config === null || config === void 0 ? void 0 : config.bounds) ? (0, core_1.NumberNode)(config) : (0, core_1.Opt)((0, core_1.NumberNode)(config)),\r\n max: (config === null || config === void 0 ? void 0 : config.bounds) ? (0, core_1.NumberNode)(config) : (0, core_1.Opt)((0, core_1.NumberNode)(config))\r\n }, { context: 'range' }),\r\n change: (v) => ({\r\n min: typeof v === 'number' ? v : v === undefined ? 1 : v.n,\r\n max: typeof v === 'number' ? v : v === undefined ? 1 : v.n\r\n })\r\n },\r\n ...((config === null || config === void 0 ? void 0 : config.allowBinomial) ? [{\r\n type: 'binomial',\r\n node: (0, core_1.ObjectNode)({\r\n type: StringNode({ enum: ['minecraft:binomial'] }),\r\n n: (0, core_1.NumberNode)({ integer: true, min: 0 }),\r\n p: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n }, { context: 'range' }),\r\n match: (v) => v !== undefined && v.type === 'minecraft:binomial',\r\n change: (v) => {\r\n var _a, _b;\r\n return ({\r\n type: 'minecraft:binomial',\r\n n: typeof v === 'number' ? v : v === undefined ? 1 : ((_b = (_a = v.min) !== null && _a !== void 0 ? _a : v.max) !== null && _b !== void 0 ? _b : 1),\r\n p: 0.5\r\n });\r\n }\r\n }] : [])\r\n ], { choiceContext: 'range' });\r\n exports.ConditionCases = {\r\n 'minecraft:alternative': {\r\n terms: (0, core_1.ListNode)(Reference('condition'))\r\n },\r\n 'minecraft:block_state_property': {\r\n block: StringNode({ validator: 'resource', params: { pool: 'block' } }),\r\n properties: (0, core_1.MapNode)(StringNode(), StringNode(), { validation: { validator: 'block_state_map', params: { id: ['pop', { push: 'block' }] } } })\r\n },\r\n 'minecraft:damage_source_properties': {\r\n predicate: Reference('damage_source_predicate')\r\n },\r\n 'minecraft:entity_properties': {\r\n entity: StringNode({ enum: 'entity_source' }),\r\n predicate: Reference('entity_predicate')\r\n },\r\n 'minecraft:entity_scores': {\r\n entity: StringNode({ enum: 'entity_source' }),\r\n scores: (0, core_1.MapNode)(StringNode({ validator: 'objective' }), (0, exports.Range)({ forceRange: true, bounds: true }))\r\n },\r\n 'minecraft:inverted': {\r\n term: Reference('condition')\r\n },\r\n 'minecraft:killed_by_player': {\r\n inverse: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n },\r\n 'minecraft:location_check': {\r\n offsetX: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n offsetY: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n offsetZ: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n predicate: Reference('location_predicate')\r\n },\r\n 'minecraft:match_tool': {\r\n predicate: Reference('item_predicate')\r\n },\r\n 'minecraft:random_chance': {\r\n chance: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n },\r\n 'minecraft:random_chance_with_looting': {\r\n chance: (0, core_1.NumberNode)({ min: 0, max: 1 }),\r\n looting_multiplier: (0, core_1.NumberNode)()\r\n },\r\n 'minecraft:reference': {\r\n name: StringNode({ validator: 'resource', params: { pool: '$predicate' } })\r\n },\r\n 'minecraft:table_bonus': {\r\n enchantment: StringNode({ validator: 'resource', params: { pool: 'enchantment' } }),\r\n chances: (0, core_1.ListNode)((0, core_1.NumberNode)({ min: 0, max: 1 }))\r\n },\r\n 'minecraft:time_check': {\r\n value: (0, exports.Range)(),\r\n period: (0, core_1.Opt)((0, core_1.NumberNode)())\r\n },\r\n 'minecraft:weather_check': {\r\n raining: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n thundering: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n }\r\n };\r\n}\r\nexports.initCommonSchemas = initCommonSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initPredicatesSchemas = exports.LocationFields = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"./Common\");\r\nfunction initPredicatesSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const StateChoice = (0, core_1.ChoiceNode)([\r\n {\r\n type: 'string',\r\n node: StringNode(),\r\n change: v => (typeof v === 'boolean' || typeof v === 'number') ? v.toString() : ''\r\n },\r\n {\r\n type: 'number',\r\n node: (0, core_1.NumberNode)(),\r\n change: v => (typeof v === 'string') ? parseInt(v) : 0\r\n },\r\n {\r\n type: 'object',\r\n node: (0, core_1.ObjectNode)({\r\n min: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n max: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true }))\r\n }),\r\n change: v => (typeof v === 'number') ? ({ min: v, max: v }) : ({})\r\n },\r\n {\r\n type: 'boolean',\r\n node: (0, core_1.BooleanNode)(),\r\n change: v => v === 'true' || v === 1\r\n }\r\n ]);\r\n schemas.register('item_predicate', (0, core_1.ObjectNode)({\r\n item: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: 'item' } })),\r\n tag: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$tag/item' } })),\r\n count: (0, core_1.Opt)((0, Common_1.Range)()),\r\n durability: (0, core_1.Opt)((0, Common_1.Range)()),\r\n potion: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: 'potion' } })),\r\n nbt: (0, core_1.Opt)(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:item', id: ['pop', { push: 'item' }] } } })),\r\n enchantments: (0, core_1.Opt)((0, core_1.ListNode)(Reference('enchantment_predicate')))\r\n }, { context: 'item' }));\r\n schemas.register('enchantment_predicate', (0, core_1.ObjectNode)({\r\n enchantment: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: 'enchantment' } })),\r\n levels: (0, core_1.Opt)((0, Common_1.Range)())\r\n }, { context: 'enchantment' }));\r\n schemas.register('block_predicate', (0, core_1.ObjectNode)({\r\n block: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: 'block' } })),\r\n tag: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$tag/block' } })),\r\n nbt: (0, core_1.Opt)(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:block', id: ['pop', { push: 'block' }] } } })),\r\n state: (0, core_1.Opt)((0, core_1.MapNode)(StringNode(), StateChoice, { validation: { validator: 'block_state_map', params: { id: ['pop', { push: 'block' }] } } }))\r\n }, { context: 'block' }));\r\n schemas.register('fluid_predicate', (0, core_1.ObjectNode)({\r\n fluid: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: 'fluid' } })),\r\n tag: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$tag/fluid' } })),\r\n state: (0, core_1.Opt)((0, core_1.MapNode)(StringNode(), StateChoice))\r\n }, { context: 'fluid' }));\r\n exports.LocationFields = {\r\n position: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n x: (0, core_1.Opt)((0, Common_1.Range)()),\r\n y: (0, core_1.Opt)((0, Common_1.Range)()),\r\n z: (0, core_1.Opt)((0, Common_1.Range)())\r\n })),\r\n biome: (0, core_1.Opt)(StringNode({ enum: 'biome' })),\r\n feature: (0, core_1.Opt)(StringNode({ enum: 'structure_feature' })),\r\n dimension: (0, core_1.Opt)(StringNode({ enum: 'dimension' })),\r\n light: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n light: (0, core_1.Opt)((0, Common_1.Range)({ integer: true, min: 0, max: 15 }))\r\n })),\r\n block: (0, core_1.Opt)(Reference('block_predicate')),\r\n fluid: (0, core_1.Opt)(Reference('fluid_predicate'))\r\n };\r\n schemas.register('location_predicate', (0, core_1.ObjectNode)(exports.LocationFields, { context: 'location' }));\r\n schemas.register('statistic_predicate', (0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'stat_type' } }),\r\n stat: StringNode(),\r\n value: (0, Common_1.Range)(),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:mined': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'block' } })\r\n },\r\n 'minecraft:crafted': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'item' } })\r\n },\r\n 'minecraft:used': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'item' } })\r\n },\r\n 'minecraft:broken': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'item' } })\r\n },\r\n 'minecraft:picked_up': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'item' } })\r\n },\r\n 'minecraft:dropped': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'item' } })\r\n },\r\n 'minecraft:killed': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'entity_type' } })\r\n },\r\n 'minecraft:killed_by': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'entity_type' } })\r\n },\r\n 'minecraft:custom': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'custom_stat' } })\r\n }\r\n }\r\n }));\r\n schemas.register('player_predicate', (0, core_1.ObjectNode)({\r\n gamemode: (0, core_1.Opt)(StringNode({ enum: 'gamemode' })),\r\n level: (0, core_1.Opt)((0, Common_1.Range)()),\r\n advancements: (0, core_1.Opt)((0, core_1.MapNode)(StringNode({ validator: 'resource', params: { pool: '$advancement' } }), (0, core_1.ChoiceNode)([\r\n { type: 'boolean', node: (0, core_1.BooleanNode)(), change: _ => true },\r\n {\r\n type: 'object', node: (0, core_1.MapNode)(StringNode(), (0, core_1.BooleanNode)())\r\n }\r\n ]))),\r\n recipes: (0, core_1.Opt)((0, core_1.MapNode)(StringNode({ validator: 'resource', params: { pool: '$recipe' } }), (0, core_1.BooleanNode)())),\r\n stats: (0, core_1.Opt)((0, core_1.ListNode)(Reference('statistic_predicate')))\r\n }, { context: 'player' }));\r\n schemas.register('status_effect_predicate', (0, core_1.ObjectNode)({\r\n amplifier: (0, core_1.Opt)((0, Common_1.Range)()),\r\n duration: (0, core_1.Opt)((0, Common_1.Range)()),\r\n ambient: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n visible: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n }, { context: 'status_effect' }));\r\n schemas.register('distance_predicate', (0, core_1.ObjectNode)({\r\n x: (0, core_1.Opt)((0, Common_1.Range)()),\r\n y: (0, core_1.Opt)((0, Common_1.Range)()),\r\n z: (0, core_1.Opt)((0, Common_1.Range)()),\r\n absolute: (0, core_1.Opt)((0, Common_1.Range)()),\r\n horizontal: (0, core_1.Opt)((0, Common_1.Range)())\r\n }, { context: 'distance' }));\r\n schemas.register('entity_predicate', (0, core_1.ObjectNode)({\r\n type: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: 'entity_type', allowTag: true } })),\r\n nbt: (0, core_1.Opt)(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:entity', id: ['pop', { push: 'type' }] } } })),\r\n team: (0, core_1.Opt)(StringNode({ validator: 'team' })),\r\n location: (0, core_1.Opt)(Reference('location_predicate')),\r\n distance: (0, core_1.Opt)(Reference('distance_predicate')),\r\n flags: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n is_on_fire: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n is_sneaking: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n is_sprinting: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n is_swimming: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n is_baby: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n })),\r\n equipment: (0, core_1.Opt)((0, core_1.MapNode)(StringNode({ enum: 'slot' }), Reference('item_predicate'))),\r\n player: (0, core_1.Opt)(Reference('player_predicate')),\r\n catType: (0, core_1.Opt)(StringNode({ enum: 'cat_texture' })),\r\n effects: (0, core_1.Opt)((0, core_1.MapNode)(StringNode({ validator: 'resource', params: { pool: 'mob_effect' } }), Reference('status_effect_predicate')))\r\n }, { context: 'entity' }));\r\n schemas.register('damage_source_predicate', (0, core_1.ObjectNode)({\r\n is_explosion: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n is_fire: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n is_magic: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n is_projectile: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n is_lightning: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n bypasses_armor: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n bypasses_invulnerability: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n bypasses_magic: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n source_entity: (0, core_1.Opt)(Reference('entity_predicate')),\r\n direct_entity: (0, core_1.Opt)(Reference('entity_predicate'))\r\n }, { context: 'damage_source' }));\r\n schemas.register('damage_predicate', (0, core_1.ObjectNode)({\r\n dealt: (0, core_1.Opt)((0, Common_1.Range)()),\r\n taken: (0, core_1.Opt)((0, Common_1.Range)()),\r\n blocked: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n source_entity: (0, core_1.Opt)(Reference('entity_predicate')),\r\n type: (0, core_1.Opt)(Reference('damage_source_predicate'))\r\n }, { context: 'damage' }));\r\n}\r\nexports.initPredicatesSchemas = initPredicatesSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initAdvancementSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"./Common\");\r\nconst Predicates_1 = require(\"./Predicates\");\r\nfunction initAdvancementSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('advancement', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n display: (0, core_1.Opt)((0, core_1.Mod)((0, core_1.ObjectNode)({\r\n icon: (0, core_1.ObjectNode)({\r\n item: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n nbt: (0, core_1.Opt)(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:item', id: ['pop', { push: 'item' }] } } }))\r\n }),\r\n title: Reference('text_component'),\r\n description: Reference('text_component'),\r\n background: (0, core_1.Opt)(StringNode()),\r\n frame: (0, core_1.Opt)(StringNode({ enum: ['task', 'challenge', 'goal'] })),\r\n show_toast: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n announce_to_chat: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n hidden: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n }), {\r\n default: () => ({\r\n icon: {\r\n item: 'minecraft:stone'\r\n },\r\n title: '',\r\n description: ''\r\n })\r\n })),\r\n parent: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$advancement' } })),\r\n criteria: (0, core_1.MapNode)(StringNode(), Reference('advancement_criteria')),\r\n requirements: (0, core_1.Opt)((0, core_1.ListNode)((0, core_1.ListNode)(StringNode() // TODO: add validation\r\n ))),\r\n rewards: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n function: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$function' } })),\r\n loot: (0, core_1.Opt)((0, core_1.ListNode)(StringNode({ validator: 'resource', params: { pool: '$loot_table' } }))),\r\n recipes: (0, core_1.Opt)((0, core_1.ListNode)(StringNode({ validator: 'resource', params: { pool: '$recipe' } }))),\r\n experience: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true }))\r\n })),\r\n }, { context: 'advancement' }), {\r\n default: () => ({\r\n criteria: {\r\n requirement: {\r\n trigger: 'minecraft:location'\r\n }\r\n }\r\n })\r\n }));\r\n schemas.register('advancement_criteria', (0, core_1.ObjectNode)({\r\n trigger: StringNode({ validator: 'resource', params: { pool: collections.get('advancement_trigger') } }),\r\n conditions: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n [core_1.Switch]: ['pop', { push: 'trigger' }],\r\n [core_1.Case]: {\r\n 'minecraft:bee_nest_destroyed': {\r\n block: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: 'block' } })),\r\n num_bees_inside: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n item: (0, core_1.Opt)(Reference('item_predicate'))\r\n },\r\n 'minecraft:bred_animals': {\r\n parent: (0, core_1.Opt)(Reference('entity_predicate')),\r\n partner: (0, core_1.Opt)(Reference('entity_predicate')),\r\n child: (0, core_1.Opt)(Reference('entity_predicate'))\r\n },\r\n 'minecraft:brewed_potion': {\r\n potion: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: 'potion' } }))\r\n },\r\n 'minecraft:changed_dimension': {\r\n from: (0, core_1.Opt)(StringNode({ enum: 'dimension' })),\r\n to: (0, core_1.Opt)(StringNode({ enum: 'dimension' }))\r\n },\r\n 'minecraft:channeled_lightning': {\r\n victims: (0, core_1.Opt)((0, core_1.ListNode)((0, core_1.Opt)(Reference('entity_predicate'))))\r\n },\r\n 'minecraft:construct_beacon': {\r\n level: (0, core_1.Opt)((0, Common_1.Range)())\r\n },\r\n 'minecraft:consume_item': {\r\n item: (0, core_1.Opt)(Reference('item_predicate'))\r\n },\r\n 'minecraft:cured_zombie_villager': {\r\n villager: (0, core_1.Opt)(Reference('entity_predicate')),\r\n zombie: (0, core_1.Opt)(Reference('entity_predicate'))\r\n },\r\n 'minecraft:effects_changed': {\r\n effects: (0, core_1.Opt)((0, core_1.MapNode)(StringNode({ validator: 'resource', params: { pool: 'mob_effect' } }), Reference('status_effect_predicate')))\r\n },\r\n 'minecraft:enter_block': {\r\n block: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: 'block' } })),\r\n state: (0, core_1.Opt)((0, core_1.MapNode)(StringNode(), StringNode(), { validation: { validator: 'block_state_map', params: { id: ['pop', { push: 'block' }] } } }))\r\n },\r\n 'minecraft:enchanted_item': {\r\n levels: (0, core_1.Opt)((0, Common_1.Range)()),\r\n item: (0, core_1.Opt)(Reference('item_predicate'))\r\n },\r\n 'minecraft:entity_hurt_player': {\r\n damage: (0, core_1.Opt)(Reference('damage_predicate'))\r\n },\r\n 'minecraft:entity_killed_player': {\r\n entity: (0, core_1.Opt)(Reference('entity_predicate')),\r\n killing_blow: (0, core_1.Opt)(Reference('damage_source_predicate'))\r\n },\r\n 'minecraft:filled_bucket': {\r\n item: (0, core_1.Opt)(Reference('item_predicate'))\r\n },\r\n 'minecraft:fishing_rod_hooked': {\r\n entity: (0, core_1.Opt)(Reference('entity_predicate')),\r\n item: (0, core_1.Opt)(Reference('item_predicate'))\r\n },\r\n 'minecraft:hero_of_the_village': Predicates_1.LocationFields,\r\n 'minecraft:inventory_changed': {\r\n slots: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n empty: (0, core_1.Opt)((0, Common_1.Range)()),\r\n occupied: (0, core_1.Opt)((0, Common_1.Range)()),\r\n full: (0, core_1.Opt)((0, Common_1.Range)())\r\n })),\r\n items: (0, core_1.Opt)((0, core_1.ListNode)(Reference('item_predicate')))\r\n },\r\n 'minecraft:item_durability_changed': {\r\n delta: (0, core_1.Opt)((0, Common_1.Range)()),\r\n durability: (0, core_1.Opt)((0, Common_1.Range)()),\r\n item: (0, core_1.Opt)(Reference('item_predicate'))\r\n },\r\n 'minecraft:killed_by_crossbow': {\r\n unique_entity_types: (0, core_1.Opt)((0, Common_1.Range)()),\r\n victims: (0, core_1.Opt)((0, core_1.ListNode)((0, core_1.Opt)(Reference('entity_predicate'))))\r\n },\r\n 'minecraft:levitation': {\r\n distance: (0, core_1.Opt)((0, Common_1.Range)()),\r\n duration: (0, core_1.Opt)((0, Common_1.Range)())\r\n },\r\n 'minecraft:location': Predicates_1.LocationFields,\r\n 'minecraft:nether_travel': {\r\n distance: (0, core_1.Opt)((0, Common_1.Range)()),\r\n entered: (0, core_1.Opt)(Reference('location_predicate')),\r\n exited: (0, core_1.Opt)(Reference('location_predicate'))\r\n },\r\n 'minecraft:placed_block': {\r\n block: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: 'block' } })),\r\n state: (0, core_1.Opt)((0, core_1.MapNode)(StringNode(), StringNode(), { validation: { validator: 'block_state_map', params: { id: ['pop', { push: 'block' }] } } })),\r\n item: (0, core_1.Opt)(Reference('item_predicate')),\r\n location: (0, core_1.Opt)(Reference('location_predicate'))\r\n },\r\n 'minecraft:player_hurt_entity': {\r\n damage: (0, core_1.Opt)(Reference('damage_predicate')),\r\n entity: (0, core_1.Opt)(Reference('entity_predicate'))\r\n },\r\n 'minecraft:player_killed_entity': {\r\n entity: (0, core_1.Opt)(Reference('entity_predicate')),\r\n killing_blow: (0, core_1.Opt)(Reference('damage_source_predicate'))\r\n },\r\n 'minecraft:recipe_unlocked': {\r\n recipe: StringNode({ validator: 'resource', params: { pool: '$recipe' } })\r\n },\r\n 'minecraft:safely_harvest_honey': {\r\n block: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n block: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: 'block' } })),\r\n tag: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$tag/block' } }))\r\n })),\r\n item: (0, core_1.Opt)(Reference('item_predicate'))\r\n },\r\n 'minecraft:slept_in_bed': Predicates_1.LocationFields,\r\n 'minecraft:slide_down_block': {\r\n block: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: 'block' } }))\r\n },\r\n 'minecraft:shot_crossbow': {\r\n item: (0, core_1.Opt)(Reference('item_predicate'))\r\n },\r\n 'minecraft:summoned_entity': {\r\n entity: (0, core_1.Opt)(Reference('entity_predicate'))\r\n },\r\n 'minecraft:tame_animal': {\r\n entity: (0, core_1.Opt)(Reference('entity_predicate'))\r\n },\r\n 'minecraft:used_ender_eye': {\r\n distance: (0, core_1.Opt)((0, Common_1.Range)())\r\n },\r\n 'minecraft:used_totem': {\r\n item: (0, core_1.Opt)(Reference('item_predicate'))\r\n },\r\n 'minecraft:villager_trade': {\r\n villager: (0, core_1.Opt)(Reference('entity_predicate')),\r\n item: (0, core_1.Opt)(Reference('item_predicate'))\r\n },\r\n 'minecraft:voluntary_exile': Predicates_1.LocationFields\r\n }\r\n }, { context: 'criterion' }))\r\n }, { category: 'predicate', context: 'criterion' }));\r\n}\r\nexports.initAdvancementSchemas = initAdvancementSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initModelSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initModelSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const Vec = (length, min, max) => (0, core_1.ListNode)((0, core_1.NumberNode)({ min, max }), { minLength: length, maxLength: length });\r\n const Texture = (0, core_1.ChoiceNode)([\r\n {\r\n type: 'alias',\r\n match: (v) => typeof v === 'string' && v.startsWith('#'),\r\n node: StringNode(),\r\n change: (v) => typeof v === 'string' ? `#${v}` : \"#0\"\r\n },\r\n {\r\n type: 'reference',\r\n match: (v) => typeof v === 'string',\r\n node: StringNode({ validator: 'resource', params: { pool: '$texture' } }),\r\n change: (v) => typeof v === 'string' ? v.replace(/^#/, '') : \"\"\r\n }\r\n ], { choiceContext: 'texture' });\r\n schemas.register('model', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n parent: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$model' } })),\r\n ambientocclusion: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n gui_light: (0, core_1.Opt)(StringNode({ enum: 'gui_light' })),\r\n textures: (0, core_1.Opt)((0, core_1.MapNode)(StringNode(), Texture)),\r\n elements: (0, core_1.Opt)((0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n from: Vec(3, -16, 32),\r\n to: Vec(3, -16, 32),\r\n rotation: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n origin: Vec(3),\r\n axis: StringNode({ enum: 'axis' }),\r\n angle: (0, core_1.NumberEnum)({ values: [-45, -22.5, 0, 22.5, 45] }),\r\n rescale: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n })),\r\n shade: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n faces: (0, core_1.MapNode)(StringNode({ enum: 'direction' }), (0, core_1.ObjectNode)({\r\n texture: Texture,\r\n uv: (0, core_1.Opt)(Vec(4)),\r\n cullface: (0, core_1.Opt)(StringNode({ enum: 'direction' })),\r\n rotation: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n tintindex: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true }))\r\n }))\r\n }, { context: 'model_element' }))),\r\n display: (0, core_1.Opt)((0, core_1.MapNode)(StringNode({ enum: 'display_position' }), (0, core_1.ObjectNode)({\r\n rotation: Vec(3),\r\n translation: Vec(3, -80, 80),\r\n scale: Vec(3, -4, 4)\r\n }, { context: 'item_transform' }))),\r\n overrides: (0, core_1.Opt)((0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n predicate: (0, core_1.MapNode)(StringNode({ enum: 'item_model_predicates' }), (0, core_1.NumberNode)()),\r\n model: StringNode({ validator: 'resource', params: { pool: '$model' } })\r\n }, { context: 'model_override' })))\r\n }, { context: 'model' }), {\r\n default: () => ({\r\n parent: 'minecraft:item/generated',\r\n textures: {\r\n layer0: 'minecraft:item/diamond'\r\n }\r\n })\r\n }));\r\n}\r\nexports.initModelSchemas = initModelSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initBlockDefinitionSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initBlockDefinitionSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('block_definition', (0, core_1.Mod)((0, core_1.ChoiceNode)([\r\n {\r\n type: 'variants',\r\n match: (v) => v.variants !== undefined,\r\n node: (0, core_1.ObjectNode)({\r\n variants: (0, core_1.MapNode)(StringNode(), Reference('model_variant'))\r\n }),\r\n change: (v) => ({ variants: { \"\": {} } })\r\n },\r\n {\r\n type: 'multipart',\r\n match: (v) => v.multipart !== undefined,\r\n node: (0, core_1.ObjectNode)({\r\n multipart: (0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n when: (0, core_1.Opt)(Reference('multipart_condition')),\r\n apply: Reference('model_variant'),\r\n }))\r\n }),\r\n change: (v) => ({ multipart: { when: {}, apply: {} } })\r\n }\r\n ], { context: 'block_definition' }), {\r\n default: () => ({\r\n variants: {\r\n \"\": {\r\n model: 'minecraft:block/stone'\r\n }\r\n }\r\n })\r\n }));\r\n const VariantChildren = {\r\n model: StringNode({ validator: 'resource', params: { pool: '$model' } }),\r\n x: (0, core_1.Opt)((0, core_1.NumberEnum)({ integer: true, values: [0, 90, 180, 270] })),\r\n y: (0, core_1.Opt)((0, core_1.NumberEnum)({ integer: true, values: [0, 90, 180, 270] })),\r\n uvlock: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n };\r\n schemas.register('model_variant', (0, core_1.ChoiceNode)([\r\n {\r\n type: 'object',\r\n node: (0, core_1.ObjectNode)(VariantChildren),\r\n change: (v) => Array.isArray(v) && v.length > 0 ? v[0] : ({})\r\n },\r\n {\r\n type: 'list',\r\n node: (0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n ...VariantChildren,\r\n weight: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 1 }))\r\n }, { context: 'model_variant' })),\r\n change: (v) => [{ weight: 1, ...v }]\r\n }\r\n ], { context: 'model_variant' }));\r\n schemas.register('multipart_condition', (0, core_1.ChoiceNode)([\r\n {\r\n type: 'object',\r\n priority: -1,\r\n match: () => true,\r\n node: (0, core_1.MapNode)(StringNode(), StringNode()),\r\n change: (v) => typeof v === 'object' && Array.isArray(v === null || v === void 0 ? void 0 : v.OR) && v.OR.length > 0 ? v.OR[0] : ({})\r\n },\r\n {\r\n type: 'or',\r\n match: (v) => typeof v === 'object' && (v === null || v === void 0 ? void 0 : v.OR) !== undefined,\r\n node: (0, core_1.ObjectNode)({\r\n OR: (0, core_1.ListNode)(Reference('multipart_condition'))\r\n }),\r\n change: (v) => ({ OR: [v !== null && v !== void 0 ? v : {}] })\r\n }\r\n ], { context: 'multipart_condition' }));\r\n}\r\nexports.initBlockDefinitionSchemas = initBlockDefinitionSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initAssetsSchemas = void 0;\r\nconst Model_1 = require(\"./Model\");\r\nconst BlockDefinition_1 = require(\"./BlockDefinition\");\r\nfunction initAssetsSchemas(schemas, collections) {\r\n (0, BlockDefinition_1.initBlockDefinitionSchemas)(schemas, collections);\r\n (0, Model_1.initModelSchemas)(schemas, collections);\r\n}\r\nexports.initAssetsSchemas = initAssetsSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initConditionSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"./Common\");\r\nfunction initConditionSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('predicate', (0, core_1.ObjectOrList)(Reference('condition'), { choiceContext: 'condition' }));\r\n schemas.register('condition', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n condition: StringNode({ validator: 'resource', params: { pool: 'loot_condition_type' } }),\r\n [core_1.Switch]: [{ push: 'condition' }],\r\n [core_1.Case]: Common_1.ConditionCases\r\n }, { category: 'predicate', context: 'condition' }), {\r\n default: () => ({\r\n condition: 'minecraft:entity_properties',\r\n entity: 'this'\r\n })\r\n }));\r\n}\r\nexports.initConditionSchemas = initConditionSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.LootFunctions = exports.LootConditions = exports.LootCopySources = exports.LootEntitySources = exports.LootTableTypes = void 0;\r\nexports.LootTableTypes = new Map([\r\n ['minecraft:advancement_entity', { requires: [7 /* Origin */, 8 /* ThisEntity */], allows: [] }],\r\n ['minecraft:advancement_reward', { requires: [7 /* Origin */, 8 /* ThisEntity */], allows: [] }],\r\n ['minecraft:barter', { requires: [8 /* ThisEntity */], allows: [] }],\r\n ['minecraft:block', { requires: [1 /* BlockState */, 7 /* Origin */, 9 /* Tool */], allows: [0 /* BlockEntity */, 4 /* ExplosionRadius */, 8 /* ThisEntity */] }],\r\n ['minecraft:chest', { requires: [7 /* Origin */], allows: [8 /* ThisEntity */] }],\r\n ['minecraft:command', { requires: [7 /* Origin */], allows: [8 /* ThisEntity */] }],\r\n ['minecraft:empty', { requires: [], allows: [] }],\r\n ['minecraft:entity', { requires: [2 /* DamageSource */, 7 /* Origin */, 8 /* ThisEntity */], allows: [3 /* DirectKillerEntity */, 5 /* KillerEntity */, 6 /* LastDamagePlayer */] }],\r\n ['minecraft:fishing', { requires: [7 /* Origin */, 9 /* Tool */], allows: [8 /* ThisEntity */] }],\r\n ['minecraft:generic', { requires: [2 /* DamageSource */, 0 /* BlockEntity */, 1 /* BlockState */, 3 /* DirectKillerEntity */, 4 /* ExplosionRadius */, 5 /* KillerEntity */, 6 /* LastDamagePlayer */, 7 /* Origin */, 8 /* ThisEntity */, 9 /* Tool */], allows: [] }],\r\n ['minecraft:gift', { requires: [7 /* Origin */, 8 /* ThisEntity */], allows: [] }],\r\n ['minecraft:selector', { requires: [7 /* Origin */], allows: [8 /* ThisEntity */] }]\r\n]);\r\n/**\r\n * A map from loot entity sources to an array of their required context.\r\n */\r\nexports.LootEntitySources = new Map([\r\n ['direct_killer', [3 /* DirectKillerEntity */]],\r\n ['killer', [5 /* KillerEntity */]],\r\n ['killer_player', [5 /* KillerEntity */]],\r\n ['this', [8 /* ThisEntity */]]\r\n]);\r\n/**\r\n * A map from loot copy sources to an array of their required context.\r\n */\r\nexports.LootCopySources = new Map([\r\n ['block_entity', [0 /* BlockEntity */]],\r\n ['killer', [5 /* KillerEntity */]],\r\n ['killer_player', [5 /* KillerEntity */]],\r\n ['this', [8 /* ThisEntity */]]\r\n]);\r\n/**\r\n * A map from loot condition IDs to an array of their required context.\r\n */\r\nexports.LootConditions = new Map([\r\n ['minecraft:alternative', []],\r\n ['minecraft:block_state_property', [1 /* BlockState */]],\r\n ['minecraft:damage_source_properties', [2 /* DamageSource */]],\r\n ['minecraft:entity_properties', [7 /* Origin */]],\r\n ['minecraft:entity_scores', []],\r\n ['minecraft:inverted', []],\r\n ['minecraft:killed_by_player', [6 /* LastDamagePlayer */]],\r\n ['minecraft:location_check', []],\r\n ['minecraft:match_tool', [9 /* Tool */]],\r\n ['minecraft:random_chance', []],\r\n ['minecraft:random_chance_with_looting', [5 /* KillerEntity */]],\r\n ['minecraft:reference', []],\r\n ['minecraft:survives_explosion', [4 /* ExplosionRadius */]],\r\n ['minecraft:table_bonus', [9 /* Tool */]],\r\n ['minecraft:time_check', []],\r\n ['minecraft:weather_check', []]\r\n]);\r\n/**\r\n * A map from loot function IDs to an array of their required context.\r\n */\r\nexports.LootFunctions = new Map([\r\n ['minecraft:apply_bonus', [9 /* Tool */]],\r\n ['minecraft:copy_name', []],\r\n ['minecraft:copy_nbt', []],\r\n ['minecraft:copy_state', [1 /* BlockState */]],\r\n ['minecraft:enchant_randomly', []],\r\n ['minecraft:enchant_with_levels', []],\r\n ['minecraft:exploration_map', [7 /* Origin */]],\r\n ['minecraft:explosion_decay', []],\r\n ['minecraft:fill_player_head', []],\r\n ['minecraft:furnace_smelt', []],\r\n ['minecraft:limit_count', []],\r\n ['minecraft:looting_enchant', [5 /* KillerEntity */]],\r\n ['minecraft:set_attributes', []],\r\n ['minecraft:set_contents', []],\r\n ['minecraft:set_count', []],\r\n ['minecraft:set_damage', []],\r\n ['minecraft:set_loot_table', []],\r\n ['minecraft:set_lore', []],\r\n ['minecraft:set_name', []],\r\n ['minecraft:set_nbt', []],\r\n ['minecraft:set_stew_effect', []]\r\n]);\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initLootTableSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst LootContext_1 = require(\"../LootContext\");\r\nconst Common_1 = require(\"./Common\");\r\nfunction initLootTableSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const conditions = {\r\n conditions: (0, core_1.Opt)((0, core_1.ListNode)(Reference('loot_condition')))\r\n };\r\n const functionsAndConditions = {\r\n functions: (0, core_1.Opt)((0, core_1.ListNode)(Reference('loot_function'))),\r\n ...conditions\r\n };\r\n function compileSwitchNode(contextMap, collectionID, getNode) {\r\n const cases = [];\r\n const getAvailableOptions = (providedContext) => collections\r\n .get(collectionID)\r\n .filter(t => {\r\n var _a;\r\n const requiredContext = (_a = contextMap.get(t)) !== null && _a !== void 0 ? _a : [];\r\n return requiredContext.every(c => providedContext.includes(c));\r\n });\r\n for (const [tableType, { allows, requires }] of LootContext_1.LootTableTypes) {\r\n const providedContext = [...allows, ...requires];\r\n cases.push({\r\n match: path => path.getModel().get(new core_1.Path(['type'])) === tableType,\r\n node: getNode(getAvailableOptions(providedContext))\r\n });\r\n }\r\n cases.push({ match: _ => true, node: getNode(collectionID) });\r\n return (0, core_1.SwitchNode)(cases);\r\n }\r\n const conditionSwtichNode = compileSwitchNode(LootContext_1.LootConditions, 'loot_condition_type', type => StringNode({ validator: 'resource', params: { pool: type instanceof Array ? type : `loot_condition_type` } }));\r\n const functionSwtichNode = compileSwitchNode(LootContext_1.LootFunctions, 'loot_function_type', type => StringNode({ validator: 'resource', params: { pool: type instanceof Array ? type : `loot_function_type` } }));\r\n const entitySourceSwtichNode = compileSwitchNode(LootContext_1.LootEntitySources, 'entity_source', type => StringNode({ enum: type }));\r\n const copySourceSwtichNode = compileSwitchNode(LootContext_1.LootCopySources, 'copy_source', type => StringNode({ enum: type }));\r\n schemas.register('loot_table', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n type: (0, core_1.Opt)(StringNode({ validator: \"resource\", params: { pool: collections.get('loot_context_type') } })),\r\n pools: (0, core_1.Opt)((0, core_1.ListNode)((0, core_1.Mod)((0, core_1.ObjectNode)({\r\n rolls: (0, Common_1.Range)({ allowBinomial: true, integer: true }),\r\n bonus_rolls: (0, core_1.Opt)((0, Common_1.Range)({ integer: true })),\r\n entries: (0, core_1.ListNode)(Reference('loot_entry')),\r\n ...functionsAndConditions\r\n }, { category: 'pool', context: 'loot_pool' }), {\r\n default: () => ({\r\n rolls: 1,\r\n entries: [{\r\n type: 'minecraft:item',\r\n name: 'minecraft:stone'\r\n }]\r\n })\r\n }))),\r\n functions: (0, core_1.Opt)((0, core_1.ListNode)(Reference('loot_function')))\r\n }, { context: 'loot_table' }), {\r\n default: () => ({\r\n pools: [{\r\n rolls: 1,\r\n entries: [{\r\n type: 'minecraft:item',\r\n name: 'minecraft:stone'\r\n }]\r\n }]\r\n })\r\n }));\r\n const weightMod = {\r\n enabled: path => {\r\n var _a;\r\n return ((_a = path.pop().get()) === null || _a === void 0 ? void 0 : _a.length) > 1\r\n && !['minecraft:alternatives', 'minecraft:group', 'minecraft:sequence'].includes(path.push('type').get());\r\n }\r\n };\r\n schemas.register('loot_entry', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'loot_pool_entry_type' } }),\r\n weight: (0, core_1.Opt)((0, core_1.Mod)((0, core_1.NumberNode)({ integer: true, min: 1 }), weightMod)),\r\n quality: (0, core_1.Opt)((0, core_1.Mod)((0, core_1.NumberNode)({ integer: true }), weightMod)),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:alternatives': {\r\n children: (0, core_1.ListNode)(Reference('loot_entry')),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:dynamic': {\r\n name: StringNode(),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:group': {\r\n children: (0, core_1.ListNode)(Reference('loot_entry')),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:item': {\r\n name: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:loot_table': {\r\n name: StringNode({ validator: 'resource', params: { pool: '$loot_table' } }),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:sequence': {\r\n children: (0, core_1.ListNode)(Reference('loot_entry')),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:tag': {\r\n name: StringNode({ validator: 'resource', params: { pool: '$tag/item' } }),\r\n expand: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n ...functionsAndConditions\r\n }\r\n }\r\n }, { context: 'loot_entry' }), {\r\n default: () => ({\r\n type: 'minecraft:item',\r\n name: 'minecraft:stone'\r\n })\r\n }));\r\n schemas.register('loot_function', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n function: functionSwtichNode,\r\n [core_1.Switch]: [{ push: 'function' }],\r\n [core_1.Case]: (() => {\r\n const cases = {\r\n 'minecraft:apply_bonus': {\r\n enchantment: StringNode({ validator: 'resource', params: { pool: 'enchantment' } }),\r\n formula: StringNode({ validator: 'resource', params: { pool: collections.get('loot_table_apply_bonus_formula') } }),\r\n parameters: (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n bonusMultiplier: (0, core_1.Mod)((0, core_1.NumberNode)(), {\r\n enabled: path => path.pop().push('formula').get() === 'minecraft:uniform_bonus_count'\r\n }),\r\n extra: (0, core_1.Mod)((0, core_1.NumberNode)(), {\r\n enabled: path => path.pop().push('formula').get() === 'minecraft:binomial_with_bonus_count'\r\n }),\r\n probability: (0, core_1.Mod)((0, core_1.NumberNode)(), {\r\n enabled: path => path.pop().push('formula').get() === 'minecraft:binomial_with_bonus_count'\r\n })\r\n }), {\r\n enabled: path => path.push('formula').get() !== 'minecraft:ore_drops'\r\n })\r\n },\r\n 'minecraft:copy_name': {\r\n source: copySourceSwtichNode\r\n },\r\n 'minecraft:copy_nbt': {\r\n source: copySourceSwtichNode,\r\n ops: (0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n source: StringNode({ validator: 'nbt_path', params: { category: { getter: 'copy_source', path: ['pop', 'pop', 'pop', { push: 'source' }] } } }),\r\n target: StringNode({ validator: 'nbt_path', params: { category: 'minecraft:item' } }),\r\n op: StringNode({ enum: ['replace', 'append', 'merge'] })\r\n }, { context: 'nbt_operation' }))\r\n },\r\n 'minecraft:copy_state': {\r\n block: StringNode({ validator: 'resource', params: { pool: 'block' } }),\r\n properties: (0, core_1.ListNode)(StringNode({ validator: 'block_state_key', params: { id: ['pop', 'pop', { push: 'block' }] } }))\r\n },\r\n 'minecraft:enchant_randomly': {\r\n enchantments: (0, core_1.Opt)((0, core_1.ListNode)(StringNode({ validator: 'resource', params: { pool: 'enchantment' } })))\r\n },\r\n 'minecraft:enchant_with_levels': {\r\n levels: (0, Common_1.Range)({ allowBinomial: true }),\r\n treasure: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n },\r\n 'minecraft:exploration_map': {\r\n destination: (0, core_1.Opt)(StringNode({ enum: 'structure_feature' })),\r\n decoration: (0, core_1.Opt)(StringNode({ enum: 'map_decoration' })),\r\n zoom: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n search_radius: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n skip_existing_chunks: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n },\r\n 'minecraft:fill_player_head': {\r\n entity: entitySourceSwtichNode\r\n },\r\n 'minecraft:limit_count': {\r\n limit: (0, Common_1.Range)({ bounds: true })\r\n },\r\n 'minecraft:looting_enchant': {\r\n count: (0, Common_1.Range)({ bounds: true }),\r\n limit: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true }))\r\n },\r\n 'minecraft:set_attributes': {\r\n modifiers: (0, core_1.ListNode)(Reference('attribute_modifier'))\r\n },\r\n 'minecraft:set_contents': {\r\n entries: (0, core_1.ListNode)(Reference('loot_entry'))\r\n },\r\n 'minecraft:set_count': {\r\n count: (0, Common_1.Range)({ allowBinomial: true })\r\n },\r\n 'minecraft:set_damage': {\r\n damage: (0, Common_1.Range)({ forceRange: true })\r\n },\r\n 'minecraft:set_loot_table': {\r\n name: StringNode({ validator: 'resource', params: { pool: '$loot_table' } }),\r\n seed: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true }))\r\n },\r\n 'minecraft:set_lore': {\r\n entity: (0, core_1.Opt)(entitySourceSwtichNode),\r\n lore: (0, core_1.ListNode)(Reference('text_component')),\r\n replace: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n },\r\n 'minecraft:set_name': {\r\n entity: (0, core_1.Opt)(entitySourceSwtichNode),\r\n name: (0, core_1.Opt)(Reference('text_component'))\r\n },\r\n 'minecraft:set_nbt': {\r\n tag: StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:item' } } })\r\n },\r\n 'minecraft:set_stew_effect': {\r\n effects: (0, core_1.Opt)((0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'mob_effect' } }),\r\n duration: (0, Common_1.Range)()\r\n })))\r\n }\r\n };\r\n const res = {};\r\n collections.get('loot_function_type').forEach(f => {\r\n res[f] = { ...cases[f], ...conditions };\r\n });\r\n return res;\r\n })()\r\n }, { category: 'function', context: 'function' }), {\r\n default: () => ({\r\n function: 'minecraft:set_count',\r\n count: 1\r\n })\r\n }));\r\n schemas.register('loot_condition', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n condition: conditionSwtichNode,\r\n [core_1.Switch]: [{ push: 'condition' }],\r\n [core_1.Case]: {\r\n ...Common_1.ConditionCases,\r\n 'minecraft:entity_properties': {\r\n entity: entitySourceSwtichNode,\r\n predicate: Reference('entity_predicate')\r\n },\r\n 'minecraft:entity_scores': {\r\n entity: entitySourceSwtichNode,\r\n scores: (0, core_1.MapNode)(StringNode({ validator: 'objective' }), (0, Common_1.Range)({ bounds: true }))\r\n }\r\n }\r\n }, { category: 'predicate', context: 'condition' }), {\r\n default: () => ({\r\n condition: 'minecraft:random_chance',\r\n chance: 0.5\r\n })\r\n }));\r\n schemas.register('attribute_modifier', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n attribute: StringNode({ validator: 'resource', params: { pool: 'attribute' } }),\r\n name: StringNode(),\r\n amount: (0, Common_1.Range)({ bounds: true }),\r\n operation: StringNode({ enum: ['addition', 'multiply_base', 'multiply_total'] }),\r\n slot: (0, core_1.StringOrList)(StringNode({ enum: 'slot' }))\r\n }, { context: 'attribute_modifier' }), {\r\n default: () => ({\r\n attribute: 'minecraft:generic.max_health',\r\n name: '',\r\n amount: 1,\r\n operation: 'addition',\r\n slot: 'mainhand'\r\n })\r\n }));\r\n}\r\nexports.initLootTableSchemas = initLootTableSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initPackMcmetaSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initPackMcmetaSchemas(schemas, _) {\r\n const getSimpleString = (jsonText) => { var _a, _b; return jsonText instanceof Array ? getSimpleString(jsonText[0]) : (_b = (_a = jsonText === null || jsonText === void 0 ? void 0 : jsonText.text) !== null && _a !== void 0 ? _a : jsonText === null || jsonText === void 0 ? void 0 : jsonText.toString()) !== null && _b !== void 0 ? _b : ''; };\r\n schemas.register('pack_mcmeta', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n pack: (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n pack_format: (0, core_1.Mod)((0, core_1.NumberNode)({ integer: true, min: 5, max: 5 }), { default: () => 5 }),\r\n description: (0, core_1.Reference)(schemas, 'text_component')\r\n }), {\r\n default: () => ({\r\n pack_format: 5,\r\n description: ''\r\n })\r\n })\r\n }), {\r\n default: () => ({\r\n pack: {\r\n pack_format: 5,\r\n description: ''\r\n }\r\n })\r\n }));\r\n}\r\nexports.initPackMcmetaSchemas = initPackMcmetaSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initRecipeSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initRecipeSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('recipe', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'recipe_serializer' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:crafting_shaped': {\r\n group: (0, core_1.Opt)(StringNode({ enum: 'recipe_group', additional: true })),\r\n pattern: (0, core_1.ListNode)(StringNode()),\r\n key: (0, core_1.MapNode)(StringNode(), // TODO: add validation\r\n Reference('recipe_ingredient')),\r\n result: Reference('recipe_result')\r\n },\r\n 'minecraft:crafting_shapeless': {\r\n group: (0, core_1.Opt)(StringNode()),\r\n ingredients: (0, core_1.ListNode)(Reference('recipe_ingredient')),\r\n result: Reference('recipe_result')\r\n },\r\n 'minecraft:smelting': {\r\n group: (0, core_1.Opt)(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n experience: (0, core_1.Opt)((0, core_1.NumberNode)()),\r\n cookingtime: (0, core_1.Opt)((0, core_1.Mod)((0, core_1.NumberNode)({ integer: true }), { default: () => 200 }))\r\n },\r\n 'minecraft:blasting': {\r\n group: (0, core_1.Opt)(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n experience: (0, core_1.Opt)((0, core_1.NumberNode)()),\r\n cookingtime: (0, core_1.Opt)((0, core_1.Mod)((0, core_1.NumberNode)({ integer: true }), { default: () => 100 }))\r\n },\r\n 'minecraft:smoking': {\r\n group: (0, core_1.Opt)(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n experience: (0, core_1.Opt)((0, core_1.NumberNode)()),\r\n cookingtime: (0, core_1.Opt)((0, core_1.Mod)((0, core_1.NumberNode)({ integer: true }), { default: () => 100 }))\r\n },\r\n 'minecraft:campfire_cooking': {\r\n group: (0, core_1.Opt)(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n experience: (0, core_1.Opt)((0, core_1.NumberNode)()),\r\n cookingtime: (0, core_1.Opt)((0, core_1.Mod)((0, core_1.NumberNode)({ integer: true }), { default: () => 100 }))\r\n },\r\n 'minecraft:stonecutting': {\r\n group: (0, core_1.Opt)(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n count: (0, core_1.NumberNode)({ integer: true })\r\n },\r\n 'minecraft:smithing': {\r\n group: (0, core_1.Opt)(StringNode()),\r\n base: Reference('recipe_ingredient_object'),\r\n addition: Reference('recipe_ingredient_object'),\r\n result: Reference('recipe_result')\r\n }\r\n }\r\n }, { context: 'recipe', disableSwitchContext: true }), {\r\n default: () => ({\r\n type: 'minecraft:crafting_shaped'\r\n })\r\n }));\r\n schemas.register('recipe_ingredient', (0, core_1.Mod)((0, core_1.ChoiceNode)([\r\n {\r\n type: 'object',\r\n node: Reference('recipe_ingredient_object'),\r\n change: v => v[0]\r\n },\r\n {\r\n type: 'list',\r\n node: (0, core_1.ListNode)(Reference('recipe_ingredient_object')),\r\n change: v => [v]\r\n }\r\n ]), {\r\n default: () => ({\r\n item: 'minecraft:stone'\r\n })\r\n }));\r\n schemas.register('recipe_ingredient_object', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n item: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: 'item' } })),\r\n tag: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$tag/item' } }))\r\n }), {\r\n default: () => ({\r\n item: 'minecraft:stone'\r\n })\r\n }));\r\n schemas.register('recipe_result', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n item: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n count: (0, core_1.Opt)((0, core_1.Mod)((0, core_1.NumberNode)({ integer: true }), { default: () => 1 }))\r\n }), {\r\n default: () => ({\r\n item: 'minecraft:stone'\r\n })\r\n }));\r\n}\r\nexports.initRecipeSchemas = initRecipeSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initTagsSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initTagsSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const TagBase = (type) => (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n replace: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n values: (0, core_1.ListNode)((0, core_1.ChoiceNode)([\r\n {\r\n type: 'string',\r\n node: StringNode({ validator: 'resource', params: { pool: type, allowTag: true } }),\r\n change: v => v.id\r\n },\r\n {\r\n type: 'object',\r\n node: (0, core_1.ObjectNode)({\r\n id: StringNode({ validator: 'resource', params: { pool: type, allowTag: true, allowUnknown: true } }),\r\n required: (0, core_1.BooleanNode)()\r\n }),\r\n change: v => ({ id: v })\r\n }\r\n ])),\r\n }, { context: 'tag' }), {\r\n default: () => ({\r\n values: []\r\n })\r\n });\r\n schemas.register('block_tag', TagBase('block'));\r\n schemas.register('entity_type_tag', TagBase('entity_type'));\r\n schemas.register('fluid_tag', TagBase('fluid'));\r\n schemas.register('function_tag', TagBase('$function'));\r\n schemas.register('item_tag', TagBase('item'));\r\n}\r\nexports.initTagsSchemas = initTagsSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initTextComponentSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initTextComponentSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const getSimpleString = (v) => { var _a; return v instanceof Array ? getSimpleString(v[0]) : (_a = v === null || v === void 0 ? void 0 : v.text) !== null && _a !== void 0 ? _a : (typeof v === 'object' ? '' : v === null || v === void 0 ? void 0 : v.toString()); };\r\n schemas.register('text_component', (0, core_1.Mod)((0, core_1.ChoiceNode)([\r\n {\r\n type: 'object',\r\n node: Reference('text_component_object'),\r\n change: v => v instanceof Array ? (typeof v[0] === 'object' ? v[0] : { text: getSimpleString(v[0]) }) : typeof v === 'object' ? v : { text: getSimpleString(v) }\r\n },\r\n {\r\n type: 'list',\r\n node: Reference('text_component_list'),\r\n change: v => [v]\r\n },\r\n {\r\n type: 'string',\r\n priority: 1,\r\n node: StringNode(),\r\n change: getSimpleString\r\n },\r\n {\r\n type: 'number',\r\n node: (0, core_1.NumberNode)(),\r\n change: v => {\r\n const n = parseFloat(getSimpleString(v));\r\n return isFinite(n) ? n : (!!v ? 1 : 0);\r\n }\r\n },\r\n {\r\n type: 'boolean',\r\n node: (0, core_1.BooleanNode)(),\r\n change: v => {\r\n const s = getSimpleString(v);\r\n return s === 'true' || s === 'false' ? s === 'true' : !!s;\r\n }\r\n }\r\n ], { context: 'text_component' }), {\r\n default: () => ({\r\n text: \"\"\r\n })\r\n }));\r\n const CommonFields = {\r\n bold: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n italic: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n underlined: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n strikethrough: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n obfuscated: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n insertion: (0, core_1.Opt)(StringNode()),\r\n clickEvent: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n action: StringNode({ enum: ['open_url', 'open_file', 'run_command', 'suggest_command', 'change_page', 'copy_to_clipboard'] }),\r\n [core_1.Switch]: [{ push: 'action' }],\r\n [core_1.Case]: {\r\n 'change_page': {\r\n value: StringNode()\r\n },\r\n 'copy_to_clipboard': {\r\n value: StringNode()\r\n },\r\n 'open_file': {\r\n value: StringNode()\r\n },\r\n 'open_url': {\r\n value: StringNode()\r\n },\r\n 'run_command': {\r\n value: StringNode({ validator: 'command', params: { leadingSlash: true, allowPartial: true } })\r\n },\r\n 'suggest_command': {\r\n value: StringNode({ validator: 'command', params: { leadingSlash: true, allowPartial: true } })\r\n }\r\n }\r\n })),\r\n hoverEvent: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n action: StringNode({ enum: ['show_text', 'show_item', 'show_entity'] }),\r\n [core_1.Switch]: [{ push: 'action' }],\r\n [core_1.Case]: {\r\n 'show_text': {\r\n value: (0, core_1.Opt)(Reference('text_component'))\r\n },\r\n 'show_item': {\r\n value: (0, core_1.Opt)(StringNode({ validator: 'nbt', params: { module: 'util::InventoryItem' } }))\r\n },\r\n 'show_entity': {\r\n value: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n name: (0, core_1.Opt)(StringNode()),\r\n type: (0, core_1.Opt)(StringNode()),\r\n id: (0, core_1.Opt)(StringNode())\r\n }))\r\n }\r\n }\r\n })),\r\n extra: (0, core_1.Opt)(Reference('text_component_list'))\r\n };\r\n schemas.register('text_component_object', (0, core_1.Mod)((0, core_1.ChoiceNode)([\r\n {\r\n type: 'text',\r\n match: v => typeof v === 'object',\r\n change: v => ({ text: '' }),\r\n priority: -1,\r\n node: (0, core_1.ObjectNode)({\r\n text: StringNode(),\r\n ...CommonFields\r\n })\r\n },\r\n {\r\n type: 'translation',\r\n match: v => (v === null || v === void 0 ? void 0 : v.translate) !== undefined,\r\n change: v => ({ translate: '' }),\r\n node: (0, core_1.ObjectNode)({\r\n translate: StringNode(),\r\n with: (0, core_1.Opt)(Reference('text_component_list')),\r\n ...CommonFields\r\n })\r\n },\r\n {\r\n type: 'score',\r\n match: v => (v === null || v === void 0 ? void 0 : v.score) !== undefined,\r\n change: v => ({ score: {} }),\r\n node: (0, core_1.ObjectNode)({\r\n score: (0, core_1.ObjectNode)({\r\n name: StringNode({ validator: 'entity', params: { amount: 'single', type: 'entities', isScoreHolder: true } }),\r\n objective: StringNode({ validator: 'objective' }),\r\n value: (0, core_1.Opt)(StringNode())\r\n }),\r\n ...CommonFields\r\n })\r\n },\r\n {\r\n type: 'selector',\r\n match: v => (v === null || v === void 0 ? void 0 : v.selector) !== undefined,\r\n change: v => ({ selector: '' }),\r\n node: (0, core_1.ObjectNode)({\r\n selector: StringNode({ validator: 'entity', params: { amount: 'multiple', type: 'entities' } }),\r\n ...CommonFields\r\n })\r\n },\r\n {\r\n type: 'keybind',\r\n match: v => (v === null || v === void 0 ? void 0 : v.keybind) !== undefined,\r\n change: v => ({ keybind: '' }),\r\n node: (0, core_1.ObjectNode)({\r\n keybind: StringNode({ enum: 'keybind', additional: true }),\r\n ...CommonFields\r\n })\r\n },\r\n {\r\n type: 'nbt',\r\n match: v => (v === null || v === void 0 ? void 0 : v.nbt) !== undefined,\r\n change: v => ({ nbt: '' }),\r\n node: (0, core_1.ObjectNode)({\r\n nbt: StringNode({ validator: 'nbt_path' }),\r\n block: (0, core_1.Opt)(StringNode({ validator: 'vector', params: { dimension: 3, isInteger: true } })),\r\n entity: (0, core_1.Opt)(StringNode({ validator: 'entity', params: { amount: 'multiple', type: 'entities' } })),\r\n storage: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$storage' } })),\r\n interpret: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n ...CommonFields\r\n })\r\n }\r\n ], { context: 'text_component_object', choiceContext: 'text_component.object' }), {\r\n default: () => ({\r\n text: \"\"\r\n })\r\n }));\r\n schemas.register('text_component_list', (0, core_1.Mod)((0, core_1.ListNode)(Reference('text_component')), {\r\n default: () => [{\r\n text: \"\"\r\n }]\r\n }));\r\n}\r\nexports.initTextComponentSchemas = initTextComponentSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initSchemas = void 0;\r\nconst Advancement_1 = require(\"./Advancement\");\r\nconst assets_1 = require(\"./assets\");\r\nconst Common_1 = require(\"./Common\");\r\nconst Condition_1 = require(\"./Condition\");\r\nconst LootTable_1 = require(\"./LootTable\");\r\nconst PackMcmeta_1 = require(\"./PackMcmeta\");\r\nconst Predicates_1 = require(\"./Predicates\");\r\nconst Recipe_1 = require(\"./Recipe\");\r\nconst Tags_1 = require(\"./Tags\");\r\nconst TextComponent_1 = require(\"./TextComponent\");\r\nfunction initSchemas(schemas, collections) {\r\n // `Common.ts` and `Predicates.ts` are files that have exports. They should be initialized first. \r\n (0, Common_1.initCommonSchemas)(schemas, collections);\r\n (0, Predicates_1.initPredicatesSchemas)(schemas, collections);\r\n (0, Advancement_1.initAdvancementSchemas)(schemas, collections);\r\n (0, assets_1.initAssetsSchemas)(schemas, collections);\r\n (0, Condition_1.initConditionSchemas)(schemas, collections);\r\n (0, LootTable_1.initLootTableSchemas)(schemas, collections);\r\n (0, PackMcmeta_1.initPackMcmetaSchemas)(schemas, collections);\r\n (0, Recipe_1.initRecipeSchemas)(schemas, collections);\r\n (0, Tags_1.initTagsSchemas)(schemas, collections);\r\n (0, TextComponent_1.initTextComponentSchemas)(schemas, collections);\r\n}\r\nexports.initSchemas = initSchemas;\r\n","\"use strict\";\r\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}));\r\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n});\r\nvar __importStar = (this && this.__importStar) || function (mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.getSchemas = exports.getCollections = exports.lootContext = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Collections_1 = require(\"./Collections\");\r\nconst schemas_1 = require(\"./schemas\");\r\nexports.lootContext = __importStar(require(\"./LootContext\"));\r\nfunction getCollections() {\r\n const collections = new core_1.CollectionRegistry();\r\n (0, Collections_1.initCollections)(collections);\r\n return collections;\r\n}\r\nexports.getCollections = getCollections;\r\n/**\r\n * @param collections The CollectionRegistry for this version. Note that apart from\r\n * the built-in collections, the client of this module is responsible for futhermore\r\n * adding the vanilla registries to it: the collection IDs shouldn't contain the\r\n * namespace (`minecraft:`) part, while the values within the collections should.\r\n *\r\n * @example\r\n * for (const key in VANILLA_REGISTRIES>) {\r\n * collections.register(\r\n * key.replace(/^minecraft:/, ''),\r\n * Object.keys(VANILLA_REGISTRIES[key].entries)\r\n * )\r\n * }\r\n */\r\nfunction getSchemas(collections) {\r\n const schemas = new core_1.SchemaRegistry();\r\n (0, schemas_1.initSchemas)(schemas, collections);\r\n return schemas;\r\n}\r\nexports.getSchemas = getSchemas;\r\n"],"names":["require$$0","require$$1","core_1","Common_1","Predicates_1","require$$2","require$$3","require$$4","require$$5","require$$6","require$$7","require$$8","require$$9","this"],"mappings":"61BACA,OAAO,eAAe,EAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EACrC,EAAA,gBAAG,OAC1B,YAAyB,EAAa,CAClC,EAAY,SAAS,sBAAuB,CACxC,+BACA,yBACA,0BACA,8BACA,gCACA,6BACA,yBACA,kCACA,4BACA,2BACA,wBACA,+BACA,iCACA,0BACA,+BACA,gCACA,uBACA,8BACA,oCACA,+BACA,uBACA,qBACA,0BACA,yBACA,+BACA,iCACA,4BACA,0BACA,iCACA,yBACA,6BACA,4BACA,wBACA,iBACA,2BACA,uBACA,2BACA,2BACR,CAAK,EACD,EAAY,SAAS,uBAAwB,CACzC,kBACA,iBACA,gBACA,uBACA,yBACA,qBACA,kBACA,mBACR,CAAK,EACD,EAAY,SAAS,sBAAuB,CACxC,wBACA,qBACA,sBACA,8BACA,iCACA,uBACA,qCACA,2BACA,0BACA,uBACA,0BACA,0BACA,uCACA,wBACA,6BACA,8BACR,CAAK,EACD,EAAY,SAAS,qBAAsB,CACvC,sBACA,uBACA,qBACA,qBACA,oBACA,2BACA,yBACA,6BACA,gCACA,4BACA,wBACA,0BACA,4BACA,6BACA,sBACA,qBACA,uBACA,wBACA,4BACA,2BACR,CAAK,EACD,EAAY,SAAS,YAAa,CAC9B,oBACA,sBACA,8BACA,wBACA,uBACA,gBACA,yBACA,sBACA,eACA,qBACA,0BACA,sBACA,4BACR,CAAK,EACD,EAAY,SAAS,oBAAqB,CACtC,mBACA,YACA,UACA,iBACA,iBACA,QACA,YACA,YACA,aACA,WACA,aACA,WACA,UACA,kBACA,SACR,CAAK,EACD,EAAY,SAAS,YAAa,CAC9B,sBACA,uBACA,mBACR,CAAK,EACD,EAAY,SAAS,UAAW,CAC5B,mBACA,aACA,WACA,WACA,cACA,WACA,cACA,iBACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,gBACA,WACA,WACA,2BACA,eACA,iBACA,YACA,2BACA,iBACA,mBACA,YACA,wBACA,aACA,kBACA,wBACA,SACR,CAAK,EACD,EAAY,SAAS,OAAQ,CACzB,WACA,UACA,OACA,QACA,OACA,MACR,CAAK,EACD,EAAY,SAAS,WAAY,CAC7B,WACA,WACA,YACA,WACR,CAAK,EACD,EAAY,SAAS,gBAAiB,CAClC,OACA,gBACA,SACA,eACR,CAAK,EACD,EAAY,SAAS,cAAe,CAChC,eACA,OACA,SACA,eACR,CAAK,EACD,EAAY,SAAS,iCAAkC,CACnD,gCACA,sCACA,qBACR,CAAK,EACD,EAAY,SAAS,iBAAkB,CACnC,UACA,WACA,SACA,QACA,aACA,cACA,WACA,eACA,iBACA,oBACA,QACA,eACA,gBACA,iBACA,oBACA,gBACA,cACA,cACA,cACA,oBACA,cACA,gBACA,cACA,eACA,eACA,aACA,cACR,CAAK,EACD,EAAY,SAAS,eAAgB,CACjC,MACA,iBACA,aACA,gBACA,YACA,qBACA,WACA,cACA,OACA,cACA,iBACA,oBACA,SACA,gBACA,cACA,qBACA,eACA,SACA,kBACA,wBACA,OACA,YACA,aACA,WACA,UACA,kBACA,gBACA,aACA,WACA,cACA,aACA,SACA,OACA,OACA,QACA,WACA,YACA,SACA,iBACR,CAAK,EACD,EAAY,SAAS,oBAAqB,CACtC,kBACA,kBACA,oBACA,qBACA,oBACA,mBACA,iBACA,mBACA,+BACA,+BACA,oBACA,iBACR,CAAK,EACD,EAAY,SAAS,cAAe,CAChC,gCACA,gCACA,8BACA,kCACA,4CACA,iCACA,kCACA,kCACA,gCACA,iCACA,mCACR,CAAK,CACL,CACA,EAAA,gBAA0B,mCCtS1B,OAAO,eAAc,EAAU,aAAc,CAAE,MAAO,EAAI,CAAE,EAC5D,EAAA,kBAA4B,EAAgB,MAAA,EAAA,eAAyB,OACrE,KAAM,GAASA,EACf,WAA2B,EAAS,EAAa,CAC7C,KAAM,GAAa,EAAO,WAAW,KAAK,OAAW,CAAW,EAC1D,EAAY,EAAO,UAAU,KAAK,OAAW,CAAO,EAC1D,EAAQ,SAAS,cAAe,GAAI,EAAO,KAAK,GAAI,EAAO,YAAY,CACnE,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,OAAO,EAAI,E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"} \ No newline at end of file +{"version":3,"file":"index.700191c5.js","sources":["../../node_modules/@mcschema/java-1.15/lib/Collections.js","../../node_modules/@mcschema/java-1.15/lib/schemas/Common.js","../../node_modules/@mcschema/java-1.15/lib/schemas/Predicates.js","../../node_modules/@mcschema/java-1.15/lib/schemas/Advancement.js","../../node_modules/@mcschema/java-1.15/lib/schemas/assets/Model.js","../../node_modules/@mcschema/java-1.15/lib/schemas/assets/BlockDefinition.js","../../node_modules/@mcschema/java-1.15/lib/schemas/assets/index.js","../../node_modules/@mcschema/java-1.15/lib/schemas/Condition.js","../../node_modules/@mcschema/java-1.15/lib/LootContext.js","../../node_modules/@mcschema/java-1.15/lib/schemas/LootTable.js","../../node_modules/@mcschema/java-1.15/lib/schemas/PackMcmeta.js","../../node_modules/@mcschema/java-1.15/lib/schemas/Recipe.js","../../node_modules/@mcschema/java-1.15/lib/schemas/Tags.js","../../node_modules/@mcschema/java-1.15/lib/schemas/TextComponent.js","../../node_modules/@mcschema/java-1.15/lib/schemas/index.js","../../node_modules/@mcschema/java-1.15/lib/index.js"],"sourcesContent":["\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initCollections = void 0;\r\nfunction initCollections(collections) {\r\n collections.register('advancement_trigger', [\r\n 'minecraft:bee_nest_destroyed',\r\n 'minecraft:bred_animals',\r\n 'minecraft:brewed_potion',\r\n 'minecraft:changed_dimension',\r\n 'minecraft:channeled_lightning',\r\n 'minecraft:construct_beacon',\r\n 'minecraft:consume_item',\r\n 'minecraft:cured_zombie_villager',\r\n 'minecraft:effects_changed',\r\n 'minecraft:enchanted_item',\r\n 'minecraft:enter_block',\r\n 'minecraft:entity_hurt_player',\r\n 'minecraft:entity_killed_player',\r\n 'minecraft:filled_bucket',\r\n 'minecraft:fishing_rod_hooked',\r\n 'minecraft:hero_of_the_village',\r\n 'minecraft:impossible',\r\n 'minecraft:inventory_changed',\r\n 'minecraft:item_durability_changed',\r\n 'minecraft:killed_by_crossbow',\r\n 'minecraft:levitation',\r\n 'minecraft:location',\r\n 'minecraft:nether_travel',\r\n 'minecraft:placed_block',\r\n 'minecraft:player_hurt_entity',\r\n 'minecraft:player_killed_entity',\r\n 'minecraft:recipe_unlocked',\r\n 'minecraft:shot_crossbow',\r\n 'minecraft:safely_harvest_honey',\r\n 'minecraft:slept_in_bed',\r\n 'minecraft:slide_down_block',\r\n 'minecraft:summoned_entity',\r\n 'minecraft:tame_animal',\r\n 'minecraft:tick',\r\n 'minecraft:used_ender_eye',\r\n 'minecraft:used_totem',\r\n 'minecraft:villager_trade',\r\n 'minecraft:voluntary_exile'\r\n ]);\r\n collections.register('loot_pool_entry_type', [\r\n 'minecraft:empty',\r\n 'minecraft:item',\r\n 'minecraft:tag',\r\n 'minecraft:loot_table',\r\n 'minecraft:alternatives',\r\n 'minecraft:sequence',\r\n 'minecraft:group',\r\n 'minecraft:dynamic'\r\n ]);\r\n collections.register('loot_condition_type', [\r\n 'minecraft:alternative',\r\n 'minecraft:inverted',\r\n 'minecraft:reference',\r\n 'minecraft:entity_properties',\r\n 'minecraft:block_state_property',\r\n 'minecraft:match_tool',\r\n 'minecraft:damage_source_properties',\r\n 'minecraft:location_check',\r\n 'minecraft:weather_check',\r\n 'minecraft:time_check',\r\n 'minecraft:entity_scores',\r\n 'minecraft:random_chance',\r\n 'minecraft:random_chance_with_looting',\r\n 'minecraft:table_bonus',\r\n 'minecraft:killed_by_player',\r\n 'minecraft:survives_explosion'\r\n ]);\r\n collections.register('loot_function_type', [\r\n 'minecraft:set_count',\r\n 'minecraft:set_damage',\r\n 'minecraft:set_name',\r\n 'minecraft:set_lore',\r\n 'minecraft:set_nbt',\r\n 'minecraft:set_attributes',\r\n 'minecraft:set_contents',\r\n 'minecraft:enchant_randomly',\r\n 'minecraft:enchant_with_levels',\r\n 'minecraft:looting_enchant',\r\n 'minecraft:limit_count',\r\n 'minecraft:furnace_smelt',\r\n 'minecraft:explosion_decay',\r\n 'minecraft:fill_player_head',\r\n 'minecraft:copy_name',\r\n 'minecraft:copy_nbt',\r\n 'minecraft:copy_state',\r\n 'minecraft:apply_bonus',\r\n 'minecraft:exploration_map',\r\n 'minecraft:set_stew_effect'\r\n ]);\r\n collections.register('attribute', [\r\n 'generic.maxHealth',\r\n 'generic.followRange',\r\n 'generic.knockbackResistance',\r\n 'generic.movementSpeed',\r\n 'generic.attackDamage',\r\n 'generic.armor',\r\n 'generic.armorToughness',\r\n 'generic.attackSpeed',\r\n 'generic.luck',\r\n 'horse.jumpStrength',\r\n 'generic.attackKnockback',\r\n 'generic.flyingSpeed',\r\n 'zombie.spawnReinforcements'\r\n ]);\r\n collections.register('structure_feature', [\r\n 'pillager_outpost',\r\n 'mineshaft',\r\n 'mansion',\r\n 'jungle_pyramid',\r\n 'desert_pyramid',\r\n 'igloo',\r\n 'shipwreck',\r\n 'swamp_hut',\r\n 'stronghold',\r\n 'monument',\r\n 'ocean_ruin',\r\n 'fortress',\r\n 'endcity',\r\n 'buried_treasure',\r\n 'village'\r\n ]);\r\n collections.register('dimension', [\r\n 'minecraft:overworld',\r\n 'minecraft:the_nether',\r\n 'minecraft:the_end'\r\n ]);\r\n collections.register('keybind', [\r\n 'key.advancements',\r\n 'key.attack',\r\n 'key.back',\r\n 'key.chat',\r\n 'key.command',\r\n 'key.drop',\r\n 'key.forward',\r\n 'key.fullscreen',\r\n 'key.hotbar.1',\r\n 'key.hotbar.2',\r\n 'key.hotbar.3',\r\n 'key.hotbar.4',\r\n 'key.hotbar.5',\r\n 'key.hotbar.6',\r\n 'key.hotbar.7',\r\n 'key.hotbar.8',\r\n 'key.hotbar.9',\r\n 'key.inventory',\r\n 'key.jump',\r\n 'key.left',\r\n 'key.loadToolbarActivator',\r\n 'key.pickItem',\r\n 'key.playerlist',\r\n 'key.right',\r\n 'key.saveToolbarActivator',\r\n 'key.screenshot',\r\n 'key.smoothCamera',\r\n 'key.sneak',\r\n 'key.spectatorOutlines',\r\n 'key.sprint',\r\n 'key.swapOffhand',\r\n 'key.togglePerspective',\r\n 'key.use'\r\n ]);\r\n collections.register('slot', [\r\n 'mainhand',\r\n 'offhand',\r\n 'head',\r\n 'chest',\r\n 'legs',\r\n 'feet'\r\n ]);\r\n collections.register('gamemode', [\r\n 'survival',\r\n 'creative',\r\n 'adventure',\r\n 'spectator'\r\n ]);\r\n collections.register('entity_source', [\r\n 'this',\r\n 'direct_killer',\r\n 'killer',\r\n 'killer_player'\r\n ]);\r\n collections.register('copy_source', [\r\n 'block_entity',\r\n 'this',\r\n 'killer',\r\n 'killer_player'\r\n ]);\r\n collections.register('loot_table_apply_bonus_formula', [\r\n 'minecraft:uniform_bonus_count',\r\n 'minecraft:binomial_with_bonus_count',\r\n 'minecraft:ore_drops'\r\n ]);\r\n collections.register('map_decoration', [\r\n 'mansion',\r\n 'monument',\r\n 'player',\r\n 'frame',\r\n 'red_marker',\r\n 'blue_marker',\r\n 'target_x',\r\n 'target_point',\r\n 'player_off_map',\r\n 'player_off_limits',\r\n 'red_x',\r\n 'banner_white',\r\n 'banner_orange',\r\n 'banner_magenta',\r\n 'banner_light_blue',\r\n 'banner_yellow',\r\n 'banner_lime',\r\n 'banner_pink',\r\n 'banner_gray',\r\n 'banner_light_gray',\r\n 'banner_cyan',\r\n 'banner_purple',\r\n 'banner_blue',\r\n 'banner_brown',\r\n 'banner_green',\r\n 'banner_red',\r\n 'banner_black'\r\n ]);\r\n collections.register('recipe_group', [\r\n 'bed',\r\n 'light_gray_dye',\r\n 'iron_ingot',\r\n 'wooden_stairs',\r\n 'black_dye',\r\n 'stained_terracotta',\r\n 'dyed_bed',\r\n 'magenta_dye',\r\n 'bark',\r\n 'rabbit_stew',\r\n 'light_blue_dye',\r\n 'wooden_fence_gate',\r\n 'planks',\r\n 'stained_glass',\r\n 'wooden_door',\r\n 'stained_glass_pane',\r\n 'wooden_fence',\r\n 'sticks',\r\n 'concrete_powder',\r\n 'wooden_pressure_plate',\r\n 'boat',\r\n 'brown_dye',\r\n 'yellow_dye',\r\n 'bonemeal',\r\n 'red_dye',\r\n 'wooden_trapdoor',\r\n 'wooden_button',\r\n 'gold_ingot',\r\n 'pink_dye',\r\n 'wooden_slab',\r\n 'orange_dye',\r\n 'carpet',\r\n 'sign',\r\n 'wool',\r\n 'sugar',\r\n 'blue_dye',\r\n 'white_dye',\r\n 'banner',\r\n 'netherite_ingot'\r\n ]);\r\n collections.register('loot_context_type', [\r\n 'minecraft:empty',\r\n 'minecraft:chest',\r\n 'minecraft:command',\r\n 'minecraft:selector',\r\n 'minecraft:fishing',\r\n 'minecraft:entity',\r\n 'minecraft:gift',\r\n 'minecraft:barter',\r\n 'minecraft:advancement_reward',\r\n 'minecraft:advancement_entity',\r\n 'minecraft:generic',\r\n 'minecraft:block'\r\n ]);\r\n collections.register('cat_texture', [\r\n 'textures/entity/cat/tabby.png',\r\n 'textures/entity/cat/black.png',\r\n 'textures/entity/cat/red.png',\r\n 'textures/entity/cat/siamese.png',\r\n 'textures/entity/cat/british_shorthair.png',\r\n 'textures/entity/cat/calico.png',\r\n 'textures/entity/cat/persian.png',\r\n 'textures/entity/cat/ragdoll.png',\r\n 'textures/entity/cat/white.png',\r\n 'textures/entity/cat/jellie.png',\r\n 'textures/entity/cat/all_black.png'\r\n ]);\r\n}\r\nexports.initCollections = initCollections;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initCommonSchemas = exports.Range = exports.ConditionCases = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initCommonSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n schemas.register('block_state', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n Name: StringNode({ validator: 'resource', params: { pool: 'block' } }),\r\n Properties: (0, core_1.Opt)((0, core_1.MapNode)(StringNode(), StringNode(), { validation: { validator: 'block_state_map', params: { id: ['pop', { push: 'Name' }] } } }))\r\n }, { context: 'block_state' }), {\r\n default: () => ({\r\n Name: 'minecraft:stone'\r\n })\r\n }));\r\n schemas.register('fluid_state', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n Name: StringNode({ validator: 'resource', params: { pool: 'fluid' } }),\r\n Properties: (0, core_1.Opt)((0, core_1.MapNode)(StringNode(), StringNode()))\r\n }, { context: 'fluid_state' }), {\r\n default: () => ({\r\n Name: 'minecraft:water',\r\n Properties: {\r\n 'level': '0'\r\n }\r\n })\r\n }));\r\n schemas.register('block_pos', (0, core_1.Mod)((0, core_1.ListNode)((0, core_1.NumberNode)({ integer: true })), {\r\n default: () => [0, 0, 0]\r\n }));\r\n exports.Range = (config) => (0, core_1.ChoiceNode)([\r\n ...((config === null || config === void 0 ? void 0 : config.forceRange) ? [] : [{\r\n type: 'number',\r\n node: (0, core_1.NumberNode)(config),\r\n change: (v) => { var _a, _b, _c; return v === undefined ? 0 : (_c = (_b = (_a = v.min) !== null && _a !== void 0 ? _a : v.max) !== null && _b !== void 0 ? _b : v.n) !== null && _c !== void 0 ? _c : 0; }\r\n }]),\r\n {\r\n type: 'object',\r\n priority: -1,\r\n node: (0, core_1.ObjectNode)({\r\n min: (config === null || config === void 0 ? void 0 : config.bounds) ? (0, core_1.NumberNode)(config) : (0, core_1.Opt)((0, core_1.NumberNode)(config)),\r\n max: (config === null || config === void 0 ? void 0 : config.bounds) ? (0, core_1.NumberNode)(config) : (0, core_1.Opt)((0, core_1.NumberNode)(config))\r\n }, { context: 'range' }),\r\n change: (v) => ({\r\n min: typeof v === 'number' ? v : v === undefined ? 1 : v.n,\r\n max: typeof v === 'number' ? v : v === undefined ? 1 : v.n\r\n })\r\n },\r\n ...((config === null || config === void 0 ? void 0 : config.allowBinomial) ? [{\r\n type: 'binomial',\r\n node: (0, core_1.ObjectNode)({\r\n type: StringNode({ enum: ['minecraft:binomial'] }),\r\n n: (0, core_1.NumberNode)({ integer: true, min: 0 }),\r\n p: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n }, { context: 'range' }),\r\n match: (v) => v !== undefined && v.type === 'minecraft:binomial',\r\n change: (v) => {\r\n var _a, _b;\r\n return ({\r\n type: 'minecraft:binomial',\r\n n: typeof v === 'number' ? v : v === undefined ? 1 : ((_b = (_a = v.min) !== null && _a !== void 0 ? _a : v.max) !== null && _b !== void 0 ? _b : 1),\r\n p: 0.5\r\n });\r\n }\r\n }] : [])\r\n ], { choiceContext: 'range' });\r\n exports.ConditionCases = {\r\n 'minecraft:alternative': {\r\n terms: (0, core_1.ListNode)(Reference('condition'))\r\n },\r\n 'minecraft:block_state_property': {\r\n block: StringNode({ validator: 'resource', params: { pool: 'block' } }),\r\n properties: (0, core_1.MapNode)(StringNode(), StringNode(), { validation: { validator: 'block_state_map', params: { id: ['pop', { push: 'block' }] } } })\r\n },\r\n 'minecraft:damage_source_properties': {\r\n predicate: Reference('damage_source_predicate')\r\n },\r\n 'minecraft:entity_properties': {\r\n entity: StringNode({ enum: 'entity_source' }),\r\n predicate: Reference('entity_predicate')\r\n },\r\n 'minecraft:entity_scores': {\r\n entity: StringNode({ enum: 'entity_source' }),\r\n scores: (0, core_1.MapNode)(StringNode({ validator: 'objective' }), (0, exports.Range)({ forceRange: true, bounds: true }))\r\n },\r\n 'minecraft:inverted': {\r\n term: Reference('condition')\r\n },\r\n 'minecraft:killed_by_player': {\r\n inverse: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n },\r\n 'minecraft:location_check': {\r\n offsetX: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n offsetY: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n offsetZ: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n predicate: Reference('location_predicate')\r\n },\r\n 'minecraft:match_tool': {\r\n predicate: Reference('item_predicate')\r\n },\r\n 'minecraft:random_chance': {\r\n chance: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n },\r\n 'minecraft:random_chance_with_looting': {\r\n chance: (0, core_1.NumberNode)({ min: 0, max: 1 }),\r\n looting_multiplier: (0, core_1.NumberNode)()\r\n },\r\n 'minecraft:reference': {\r\n name: StringNode({ validator: 'resource', params: { pool: '$predicate' } })\r\n },\r\n 'minecraft:table_bonus': {\r\n enchantment: StringNode({ validator: 'resource', params: { pool: 'enchantment' } }),\r\n chances: (0, core_1.ListNode)((0, core_1.NumberNode)({ min: 0, max: 1 }))\r\n },\r\n 'minecraft:time_check': {\r\n value: (0, exports.Range)(),\r\n period: (0, core_1.Opt)((0, core_1.NumberNode)())\r\n },\r\n 'minecraft:weather_check': {\r\n raining: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n thundering: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n }\r\n };\r\n}\r\nexports.initCommonSchemas = initCommonSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initPredicatesSchemas = exports.LocationFields = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"./Common\");\r\nfunction initPredicatesSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const StateChoice = (0, core_1.ChoiceNode)([\r\n {\r\n type: 'string',\r\n node: StringNode(),\r\n change: v => (typeof v === 'boolean' || typeof v === 'number') ? v.toString() : ''\r\n },\r\n {\r\n type: 'number',\r\n node: (0, core_1.NumberNode)(),\r\n change: v => (typeof v === 'string') ? parseInt(v) : 0\r\n },\r\n {\r\n type: 'object',\r\n node: (0, core_1.ObjectNode)({\r\n min: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n max: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true }))\r\n }),\r\n change: v => (typeof v === 'number') ? ({ min: v, max: v }) : ({})\r\n },\r\n {\r\n type: 'boolean',\r\n node: (0, core_1.BooleanNode)(),\r\n change: v => v === 'true' || v === 1\r\n }\r\n ]);\r\n schemas.register('item_predicate', (0, core_1.ObjectNode)({\r\n item: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: 'item' } })),\r\n tag: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$tag/item' } })),\r\n count: (0, core_1.Opt)((0, Common_1.Range)()),\r\n durability: (0, core_1.Opt)((0, Common_1.Range)()),\r\n potion: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: 'potion' } })),\r\n nbt: (0, core_1.Opt)(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:item', id: ['pop', { push: 'item' }] } } })),\r\n enchantments: (0, core_1.Opt)((0, core_1.ListNode)(Reference('enchantment_predicate')))\r\n }, { context: 'item' }));\r\n schemas.register('enchantment_predicate', (0, core_1.ObjectNode)({\r\n enchantment: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: 'enchantment' } })),\r\n levels: (0, core_1.Opt)((0, Common_1.Range)())\r\n }, { context: 'enchantment' }));\r\n schemas.register('block_predicate', (0, core_1.ObjectNode)({\r\n block: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: 'block' } })),\r\n tag: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$tag/block' } })),\r\n nbt: (0, core_1.Opt)(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:block', id: ['pop', { push: 'block' }] } } })),\r\n state: (0, core_1.Opt)((0, core_1.MapNode)(StringNode(), StateChoice, { validation: { validator: 'block_state_map', params: { id: ['pop', { push: 'block' }] } } }))\r\n }, { context: 'block' }));\r\n schemas.register('fluid_predicate', (0, core_1.ObjectNode)({\r\n fluid: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: 'fluid' } })),\r\n tag: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$tag/fluid' } })),\r\n state: (0, core_1.Opt)((0, core_1.MapNode)(StringNode(), StateChoice))\r\n }, { context: 'fluid' }));\r\n exports.LocationFields = {\r\n position: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n x: (0, core_1.Opt)((0, Common_1.Range)()),\r\n y: (0, core_1.Opt)((0, Common_1.Range)()),\r\n z: (0, core_1.Opt)((0, Common_1.Range)())\r\n })),\r\n biome: (0, core_1.Opt)(StringNode({ enum: 'biome' })),\r\n feature: (0, core_1.Opt)(StringNode({ enum: 'structure_feature' })),\r\n dimension: (0, core_1.Opt)(StringNode({ enum: 'dimension' })),\r\n light: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n light: (0, core_1.Opt)((0, Common_1.Range)({ integer: true, min: 0, max: 15 }))\r\n })),\r\n block: (0, core_1.Opt)(Reference('block_predicate')),\r\n fluid: (0, core_1.Opt)(Reference('fluid_predicate'))\r\n };\r\n schemas.register('location_predicate', (0, core_1.ObjectNode)(exports.LocationFields, { context: 'location' }));\r\n schemas.register('statistic_predicate', (0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'stat_type' } }),\r\n stat: StringNode(),\r\n value: (0, Common_1.Range)(),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:mined': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'block' } })\r\n },\r\n 'minecraft:crafted': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'item' } })\r\n },\r\n 'minecraft:used': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'item' } })\r\n },\r\n 'minecraft:broken': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'item' } })\r\n },\r\n 'minecraft:picked_up': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'item' } })\r\n },\r\n 'minecraft:dropped': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'item' } })\r\n },\r\n 'minecraft:killed': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'entity_type' } })\r\n },\r\n 'minecraft:killed_by': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'entity_type' } })\r\n },\r\n 'minecraft:custom': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'custom_stat' } })\r\n }\r\n }\r\n }));\r\n schemas.register('player_predicate', (0, core_1.ObjectNode)({\r\n gamemode: (0, core_1.Opt)(StringNode({ enum: 'gamemode' })),\r\n level: (0, core_1.Opt)((0, Common_1.Range)()),\r\n advancements: (0, core_1.Opt)((0, core_1.MapNode)(StringNode({ validator: 'resource', params: { pool: '$advancement' } }), (0, core_1.ChoiceNode)([\r\n { type: 'boolean', node: (0, core_1.BooleanNode)(), change: _ => true },\r\n {\r\n type: 'object', node: (0, core_1.MapNode)(StringNode(), (0, core_1.BooleanNode)())\r\n }\r\n ]))),\r\n recipes: (0, core_1.Opt)((0, core_1.MapNode)(StringNode({ validator: 'resource', params: { pool: '$recipe' } }), (0, core_1.BooleanNode)())),\r\n stats: (0, core_1.Opt)((0, core_1.ListNode)(Reference('statistic_predicate')))\r\n }, { context: 'player' }));\r\n schemas.register('status_effect_predicate', (0, core_1.ObjectNode)({\r\n amplifier: (0, core_1.Opt)((0, Common_1.Range)()),\r\n duration: (0, core_1.Opt)((0, Common_1.Range)()),\r\n ambient: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n visible: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n }, { context: 'status_effect' }));\r\n schemas.register('distance_predicate', (0, core_1.ObjectNode)({\r\n x: (0, core_1.Opt)((0, Common_1.Range)()),\r\n y: (0, core_1.Opt)((0, Common_1.Range)()),\r\n z: (0, core_1.Opt)((0, Common_1.Range)()),\r\n absolute: (0, core_1.Opt)((0, Common_1.Range)()),\r\n horizontal: (0, core_1.Opt)((0, Common_1.Range)())\r\n }, { context: 'distance' }));\r\n schemas.register('entity_predicate', (0, core_1.ObjectNode)({\r\n type: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: 'entity_type', allowTag: true } })),\r\n nbt: (0, core_1.Opt)(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:entity', id: ['pop', { push: 'type' }] } } })),\r\n team: (0, core_1.Opt)(StringNode({ validator: 'team' })),\r\n location: (0, core_1.Opt)(Reference('location_predicate')),\r\n distance: (0, core_1.Opt)(Reference('distance_predicate')),\r\n flags: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n is_on_fire: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n is_sneaking: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n is_sprinting: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n is_swimming: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n is_baby: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n })),\r\n equipment: (0, core_1.Opt)((0, core_1.MapNode)(StringNode({ enum: 'slot' }), Reference('item_predicate'))),\r\n player: (0, core_1.Opt)(Reference('player_predicate')),\r\n catType: (0, core_1.Opt)(StringNode({ enum: 'cat_texture' })),\r\n effects: (0, core_1.Opt)((0, core_1.MapNode)(StringNode({ validator: 'resource', params: { pool: 'mob_effect' } }), Reference('status_effect_predicate')))\r\n }, { context: 'entity' }));\r\n schemas.register('damage_source_predicate', (0, core_1.ObjectNode)({\r\n is_explosion: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n is_fire: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n is_magic: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n is_projectile: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n is_lightning: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n bypasses_armor: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n bypasses_invulnerability: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n bypasses_magic: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n source_entity: (0, core_1.Opt)(Reference('entity_predicate')),\r\n direct_entity: (0, core_1.Opt)(Reference('entity_predicate'))\r\n }, { context: 'damage_source' }));\r\n schemas.register('damage_predicate', (0, core_1.ObjectNode)({\r\n dealt: (0, core_1.Opt)((0, Common_1.Range)()),\r\n taken: (0, core_1.Opt)((0, Common_1.Range)()),\r\n blocked: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n source_entity: (0, core_1.Opt)(Reference('entity_predicate')),\r\n type: (0, core_1.Opt)(Reference('damage_source_predicate'))\r\n }, { context: 'damage' }));\r\n}\r\nexports.initPredicatesSchemas = initPredicatesSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initAdvancementSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"./Common\");\r\nconst Predicates_1 = require(\"./Predicates\");\r\nfunction initAdvancementSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('advancement', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n display: (0, core_1.Opt)((0, core_1.Mod)((0, core_1.ObjectNode)({\r\n icon: (0, core_1.ObjectNode)({\r\n item: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n nbt: (0, core_1.Opt)(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:item', id: ['pop', { push: 'item' }] } } }))\r\n }),\r\n title: Reference('text_component'),\r\n description: Reference('text_component'),\r\n background: (0, core_1.Opt)(StringNode()),\r\n frame: (0, core_1.Opt)(StringNode({ enum: ['task', 'challenge', 'goal'] })),\r\n show_toast: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n announce_to_chat: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n hidden: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n }), {\r\n default: () => ({\r\n icon: {\r\n item: 'minecraft:stone'\r\n },\r\n title: '',\r\n description: ''\r\n })\r\n })),\r\n parent: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$advancement' } })),\r\n criteria: (0, core_1.MapNode)(StringNode(), Reference('advancement_criteria')),\r\n requirements: (0, core_1.Opt)((0, core_1.ListNode)((0, core_1.ListNode)(StringNode() // TODO: add validation\r\n ))),\r\n rewards: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n function: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$function' } })),\r\n loot: (0, core_1.Opt)((0, core_1.ListNode)(StringNode({ validator: 'resource', params: { pool: '$loot_table' } }))),\r\n recipes: (0, core_1.Opt)((0, core_1.ListNode)(StringNode({ validator: 'resource', params: { pool: '$recipe' } }))),\r\n experience: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true }))\r\n })),\r\n }, { context: 'advancement' }), {\r\n default: () => ({\r\n criteria: {\r\n requirement: {\r\n trigger: 'minecraft:location'\r\n }\r\n }\r\n })\r\n }));\r\n schemas.register('advancement_criteria', (0, core_1.ObjectNode)({\r\n trigger: StringNode({ validator: 'resource', params: { pool: collections.get('advancement_trigger') } }),\r\n conditions: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n [core_1.Switch]: ['pop', { push: 'trigger' }],\r\n [core_1.Case]: {\r\n 'minecraft:bee_nest_destroyed': {\r\n block: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: 'block' } })),\r\n num_bees_inside: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n item: (0, core_1.Opt)(Reference('item_predicate'))\r\n },\r\n 'minecraft:bred_animals': {\r\n parent: (0, core_1.Opt)(Reference('entity_predicate')),\r\n partner: (0, core_1.Opt)(Reference('entity_predicate')),\r\n child: (0, core_1.Opt)(Reference('entity_predicate'))\r\n },\r\n 'minecraft:brewed_potion': {\r\n potion: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: 'potion' } }))\r\n },\r\n 'minecraft:changed_dimension': {\r\n from: (0, core_1.Opt)(StringNode({ enum: 'dimension' })),\r\n to: (0, core_1.Opt)(StringNode({ enum: 'dimension' }))\r\n },\r\n 'minecraft:channeled_lightning': {\r\n victims: (0, core_1.Opt)((0, core_1.ListNode)((0, core_1.Opt)(Reference('entity_predicate'))))\r\n },\r\n 'minecraft:construct_beacon': {\r\n level: (0, core_1.Opt)((0, Common_1.Range)())\r\n },\r\n 'minecraft:consume_item': {\r\n item: (0, core_1.Opt)(Reference('item_predicate'))\r\n },\r\n 'minecraft:cured_zombie_villager': {\r\n villager: (0, core_1.Opt)(Reference('entity_predicate')),\r\n zombie: (0, core_1.Opt)(Reference('entity_predicate'))\r\n },\r\n 'minecraft:effects_changed': {\r\n effects: (0, core_1.Opt)((0, core_1.MapNode)(StringNode({ validator: 'resource', params: { pool: 'mob_effect' } }), Reference('status_effect_predicate')))\r\n },\r\n 'minecraft:enter_block': {\r\n block: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: 'block' } })),\r\n state: (0, core_1.Opt)((0, core_1.MapNode)(StringNode(), StringNode(), { validation: { validator: 'block_state_map', params: { id: ['pop', { push: 'block' }] } } }))\r\n },\r\n 'minecraft:enchanted_item': {\r\n levels: (0, core_1.Opt)((0, Common_1.Range)()),\r\n item: (0, core_1.Opt)(Reference('item_predicate'))\r\n },\r\n 'minecraft:entity_hurt_player': {\r\n damage: (0, core_1.Opt)(Reference('damage_predicate'))\r\n },\r\n 'minecraft:entity_killed_player': {\r\n entity: (0, core_1.Opt)(Reference('entity_predicate')),\r\n killing_blow: (0, core_1.Opt)(Reference('damage_source_predicate'))\r\n },\r\n 'minecraft:filled_bucket': {\r\n item: (0, core_1.Opt)(Reference('item_predicate'))\r\n },\r\n 'minecraft:fishing_rod_hooked': {\r\n entity: (0, core_1.Opt)(Reference('entity_predicate')),\r\n item: (0, core_1.Opt)(Reference('item_predicate'))\r\n },\r\n 'minecraft:hero_of_the_village': Predicates_1.LocationFields,\r\n 'minecraft:inventory_changed': {\r\n slots: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n empty: (0, core_1.Opt)((0, Common_1.Range)()),\r\n occupied: (0, core_1.Opt)((0, Common_1.Range)()),\r\n full: (0, core_1.Opt)((0, Common_1.Range)())\r\n })),\r\n items: (0, core_1.Opt)((0, core_1.ListNode)(Reference('item_predicate')))\r\n },\r\n 'minecraft:item_durability_changed': {\r\n delta: (0, core_1.Opt)((0, Common_1.Range)()),\r\n durability: (0, core_1.Opt)((0, Common_1.Range)()),\r\n item: (0, core_1.Opt)(Reference('item_predicate'))\r\n },\r\n 'minecraft:killed_by_crossbow': {\r\n unique_entity_types: (0, core_1.Opt)((0, Common_1.Range)()),\r\n victims: (0, core_1.Opt)((0, core_1.ListNode)((0, core_1.Opt)(Reference('entity_predicate'))))\r\n },\r\n 'minecraft:levitation': {\r\n distance: (0, core_1.Opt)((0, Common_1.Range)()),\r\n duration: (0, core_1.Opt)((0, Common_1.Range)())\r\n },\r\n 'minecraft:location': Predicates_1.LocationFields,\r\n 'minecraft:nether_travel': {\r\n distance: (0, core_1.Opt)((0, Common_1.Range)()),\r\n entered: (0, core_1.Opt)(Reference('location_predicate')),\r\n exited: (0, core_1.Opt)(Reference('location_predicate'))\r\n },\r\n 'minecraft:placed_block': {\r\n block: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: 'block' } })),\r\n state: (0, core_1.Opt)((0, core_1.MapNode)(StringNode(), StringNode(), { validation: { validator: 'block_state_map', params: { id: ['pop', { push: 'block' }] } } })),\r\n item: (0, core_1.Opt)(Reference('item_predicate')),\r\n location: (0, core_1.Opt)(Reference('location_predicate'))\r\n },\r\n 'minecraft:player_hurt_entity': {\r\n damage: (0, core_1.Opt)(Reference('damage_predicate')),\r\n entity: (0, core_1.Opt)(Reference('entity_predicate'))\r\n },\r\n 'minecraft:player_killed_entity': {\r\n entity: (0, core_1.Opt)(Reference('entity_predicate')),\r\n killing_blow: (0, core_1.Opt)(Reference('damage_source_predicate'))\r\n },\r\n 'minecraft:recipe_unlocked': {\r\n recipe: StringNode({ validator: 'resource', params: { pool: '$recipe' } })\r\n },\r\n 'minecraft:safely_harvest_honey': {\r\n block: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n block: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: 'block' } })),\r\n tag: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$tag/block' } }))\r\n })),\r\n item: (0, core_1.Opt)(Reference('item_predicate'))\r\n },\r\n 'minecraft:slept_in_bed': Predicates_1.LocationFields,\r\n 'minecraft:slide_down_block': {\r\n block: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: 'block' } }))\r\n },\r\n 'minecraft:shot_crossbow': {\r\n item: (0, core_1.Opt)(Reference('item_predicate'))\r\n },\r\n 'minecraft:summoned_entity': {\r\n entity: (0, core_1.Opt)(Reference('entity_predicate'))\r\n },\r\n 'minecraft:tame_animal': {\r\n entity: (0, core_1.Opt)(Reference('entity_predicate'))\r\n },\r\n 'minecraft:used_ender_eye': {\r\n distance: (0, core_1.Opt)((0, Common_1.Range)())\r\n },\r\n 'minecraft:used_totem': {\r\n item: (0, core_1.Opt)(Reference('item_predicate'))\r\n },\r\n 'minecraft:villager_trade': {\r\n villager: (0, core_1.Opt)(Reference('entity_predicate')),\r\n item: (0, core_1.Opt)(Reference('item_predicate'))\r\n },\r\n 'minecraft:voluntary_exile': Predicates_1.LocationFields\r\n }\r\n }, { context: 'criterion' }))\r\n }, { category: 'predicate', context: 'criterion' }));\r\n}\r\nexports.initAdvancementSchemas = initAdvancementSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initModelSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initModelSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const Vec = (length, min, max) => (0, core_1.ListNode)((0, core_1.NumberNode)({ min, max }), { minLength: length, maxLength: length });\r\n const Texture = (0, core_1.ChoiceNode)([\r\n {\r\n type: 'alias',\r\n match: (v) => typeof v === 'string' && v.startsWith('#'),\r\n node: StringNode(),\r\n change: (v) => typeof v === 'string' ? `#${v}` : \"#0\"\r\n },\r\n {\r\n type: 'reference',\r\n match: (v) => typeof v === 'string',\r\n node: StringNode({ validator: 'resource', params: { pool: '$texture' } }),\r\n change: (v) => typeof v === 'string' ? v.replace(/^#/, '') : \"\"\r\n }\r\n ], { choiceContext: 'texture' });\r\n schemas.register('model', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n parent: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$model' } })),\r\n ambientocclusion: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n gui_light: (0, core_1.Opt)(StringNode({ enum: 'gui_light' })),\r\n textures: (0, core_1.Opt)((0, core_1.MapNode)(StringNode(), Texture)),\r\n elements: (0, core_1.Opt)((0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n from: Vec(3, -16, 32),\r\n to: Vec(3, -16, 32),\r\n rotation: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n origin: Vec(3),\r\n axis: StringNode({ enum: 'axis' }),\r\n angle: (0, core_1.NumberEnum)({ values: [-45, -22.5, 0, 22.5, 45] }),\r\n rescale: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n })),\r\n shade: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n faces: (0, core_1.MapNode)(StringNode({ enum: 'direction' }), (0, core_1.ObjectNode)({\r\n texture: Texture,\r\n uv: (0, core_1.Opt)(Vec(4)),\r\n cullface: (0, core_1.Opt)(StringNode({ enum: 'direction' })),\r\n rotation: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n tintindex: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true }))\r\n }))\r\n }, { context: 'model_element' }))),\r\n display: (0, core_1.Opt)((0, core_1.MapNode)(StringNode({ enum: 'display_position' }), (0, core_1.ObjectNode)({\r\n rotation: Vec(3),\r\n translation: Vec(3, -80, 80),\r\n scale: Vec(3, -4, 4)\r\n }, { context: 'item_transform' }))),\r\n overrides: (0, core_1.Opt)((0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n predicate: (0, core_1.MapNode)(StringNode({ enum: 'item_model_predicates' }), (0, core_1.NumberNode)()),\r\n model: StringNode({ validator: 'resource', params: { pool: '$model' } })\r\n }, { context: 'model_override' })))\r\n }, { context: 'model' }), {\r\n default: () => ({\r\n parent: 'minecraft:item/generated',\r\n textures: {\r\n layer0: 'minecraft:item/diamond'\r\n }\r\n })\r\n }));\r\n}\r\nexports.initModelSchemas = initModelSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initBlockDefinitionSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initBlockDefinitionSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('block_definition', (0, core_1.Mod)((0, core_1.ChoiceNode)([\r\n {\r\n type: 'variants',\r\n match: (v) => v.variants !== undefined,\r\n node: (0, core_1.ObjectNode)({\r\n variants: (0, core_1.MapNode)(StringNode(), Reference('model_variant'))\r\n }),\r\n change: (v) => ({ variants: { \"\": {} } })\r\n },\r\n {\r\n type: 'multipart',\r\n match: (v) => v.multipart !== undefined,\r\n node: (0, core_1.ObjectNode)({\r\n multipart: (0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n when: (0, core_1.Opt)(Reference('multipart_condition')),\r\n apply: Reference('model_variant'),\r\n }))\r\n }),\r\n change: (v) => ({ multipart: { when: {}, apply: {} } })\r\n }\r\n ], { context: 'block_definition' }), {\r\n default: () => ({\r\n variants: {\r\n \"\": {\r\n model: 'minecraft:block/stone'\r\n }\r\n }\r\n })\r\n }));\r\n const VariantChildren = {\r\n model: StringNode({ validator: 'resource', params: { pool: '$model' } }),\r\n x: (0, core_1.Opt)((0, core_1.NumberEnum)({ integer: true, values: [0, 90, 180, 270] })),\r\n y: (0, core_1.Opt)((0, core_1.NumberEnum)({ integer: true, values: [0, 90, 180, 270] })),\r\n uvlock: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n };\r\n schemas.register('model_variant', (0, core_1.ChoiceNode)([\r\n {\r\n type: 'object',\r\n node: (0, core_1.ObjectNode)(VariantChildren),\r\n change: (v) => Array.isArray(v) && v.length > 0 ? v[0] : ({})\r\n },\r\n {\r\n type: 'list',\r\n node: (0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n ...VariantChildren,\r\n weight: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 1 }))\r\n }, { context: 'model_variant' })),\r\n change: (v) => [{ weight: 1, ...v }]\r\n }\r\n ], { context: 'model_variant' }));\r\n schemas.register('multipart_condition', (0, core_1.ChoiceNode)([\r\n {\r\n type: 'object',\r\n priority: -1,\r\n match: () => true,\r\n node: (0, core_1.MapNode)(StringNode(), StringNode()),\r\n change: (v) => typeof v === 'object' && Array.isArray(v === null || v === void 0 ? void 0 : v.OR) && v.OR.length > 0 ? v.OR[0] : ({})\r\n },\r\n {\r\n type: 'or',\r\n match: (v) => typeof v === 'object' && (v === null || v === void 0 ? void 0 : v.OR) !== undefined,\r\n node: (0, core_1.ObjectNode)({\r\n OR: (0, core_1.ListNode)(Reference('multipart_condition'))\r\n }),\r\n change: (v) => ({ OR: [v !== null && v !== void 0 ? v : {}] })\r\n }\r\n ], { context: 'multipart_condition' }));\r\n}\r\nexports.initBlockDefinitionSchemas = initBlockDefinitionSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initAssetsSchemas = void 0;\r\nconst Model_1 = require(\"./Model\");\r\nconst BlockDefinition_1 = require(\"./BlockDefinition\");\r\nfunction initAssetsSchemas(schemas, collections) {\r\n (0, BlockDefinition_1.initBlockDefinitionSchemas)(schemas, collections);\r\n (0, Model_1.initModelSchemas)(schemas, collections);\r\n}\r\nexports.initAssetsSchemas = initAssetsSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initConditionSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"./Common\");\r\nfunction initConditionSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('predicate', (0, core_1.ObjectOrList)(Reference('condition'), { choiceContext: 'condition' }));\r\n schemas.register('condition', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n condition: StringNode({ validator: 'resource', params: { pool: 'loot_condition_type' } }),\r\n [core_1.Switch]: [{ push: 'condition' }],\r\n [core_1.Case]: Common_1.ConditionCases\r\n }, { category: 'predicate', context: 'condition' }), {\r\n default: () => ({\r\n condition: 'minecraft:entity_properties',\r\n entity: 'this'\r\n })\r\n }));\r\n}\r\nexports.initConditionSchemas = initConditionSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.LootFunctions = exports.LootConditions = exports.LootCopySources = exports.LootEntitySources = exports.LootTableTypes = void 0;\r\nexports.LootTableTypes = new Map([\r\n ['minecraft:advancement_entity', { requires: [7 /* Origin */, 8 /* ThisEntity */], allows: [] }],\r\n ['minecraft:advancement_reward', { requires: [7 /* Origin */, 8 /* ThisEntity */], allows: [] }],\r\n ['minecraft:barter', { requires: [8 /* ThisEntity */], allows: [] }],\r\n ['minecraft:block', { requires: [1 /* BlockState */, 7 /* Origin */, 9 /* Tool */], allows: [0 /* BlockEntity */, 4 /* ExplosionRadius */, 8 /* ThisEntity */] }],\r\n ['minecraft:chest', { requires: [7 /* Origin */], allows: [8 /* ThisEntity */] }],\r\n ['minecraft:command', { requires: [7 /* Origin */], allows: [8 /* ThisEntity */] }],\r\n ['minecraft:empty', { requires: [], allows: [] }],\r\n ['minecraft:entity', { requires: [2 /* DamageSource */, 7 /* Origin */, 8 /* ThisEntity */], allows: [3 /* DirectKillerEntity */, 5 /* KillerEntity */, 6 /* LastDamagePlayer */] }],\r\n ['minecraft:fishing', { requires: [7 /* Origin */, 9 /* Tool */], allows: [8 /* ThisEntity */] }],\r\n ['minecraft:generic', { requires: [2 /* DamageSource */, 0 /* BlockEntity */, 1 /* BlockState */, 3 /* DirectKillerEntity */, 4 /* ExplosionRadius */, 5 /* KillerEntity */, 6 /* LastDamagePlayer */, 7 /* Origin */, 8 /* ThisEntity */, 9 /* Tool */], allows: [] }],\r\n ['minecraft:gift', { requires: [7 /* Origin */, 8 /* ThisEntity */], allows: [] }],\r\n ['minecraft:selector', { requires: [7 /* Origin */], allows: [8 /* ThisEntity */] }]\r\n]);\r\n/**\r\n * A map from loot entity sources to an array of their required context.\r\n */\r\nexports.LootEntitySources = new Map([\r\n ['direct_killer', [3 /* DirectKillerEntity */]],\r\n ['killer', [5 /* KillerEntity */]],\r\n ['killer_player', [5 /* KillerEntity */]],\r\n ['this', [8 /* ThisEntity */]]\r\n]);\r\n/**\r\n * A map from loot copy sources to an array of their required context.\r\n */\r\nexports.LootCopySources = new Map([\r\n ['block_entity', [0 /* BlockEntity */]],\r\n ['killer', [5 /* KillerEntity */]],\r\n ['killer_player', [5 /* KillerEntity */]],\r\n ['this', [8 /* ThisEntity */]]\r\n]);\r\n/**\r\n * A map from loot condition IDs to an array of their required context.\r\n */\r\nexports.LootConditions = new Map([\r\n ['minecraft:alternative', []],\r\n ['minecraft:block_state_property', [1 /* BlockState */]],\r\n ['minecraft:damage_source_properties', [2 /* DamageSource */]],\r\n ['minecraft:entity_properties', [7 /* Origin */]],\r\n ['minecraft:entity_scores', []],\r\n ['minecraft:inverted', []],\r\n ['minecraft:killed_by_player', [6 /* LastDamagePlayer */]],\r\n ['minecraft:location_check', []],\r\n ['minecraft:match_tool', [9 /* Tool */]],\r\n ['minecraft:random_chance', []],\r\n ['minecraft:random_chance_with_looting', [5 /* KillerEntity */]],\r\n ['minecraft:reference', []],\r\n ['minecraft:survives_explosion', [4 /* ExplosionRadius */]],\r\n ['minecraft:table_bonus', [9 /* Tool */]],\r\n ['minecraft:time_check', []],\r\n ['minecraft:weather_check', []]\r\n]);\r\n/**\r\n * A map from loot function IDs to an array of their required context.\r\n */\r\nexports.LootFunctions = new Map([\r\n ['minecraft:apply_bonus', [9 /* Tool */]],\r\n ['minecraft:copy_name', []],\r\n ['minecraft:copy_nbt', []],\r\n ['minecraft:copy_state', [1 /* BlockState */]],\r\n ['minecraft:enchant_randomly', []],\r\n ['minecraft:enchant_with_levels', []],\r\n ['minecraft:exploration_map', [7 /* Origin */]],\r\n ['minecraft:explosion_decay', []],\r\n ['minecraft:fill_player_head', []],\r\n ['minecraft:furnace_smelt', []],\r\n ['minecraft:limit_count', []],\r\n ['minecraft:looting_enchant', [5 /* KillerEntity */]],\r\n ['minecraft:set_attributes', []],\r\n ['minecraft:set_contents', []],\r\n ['minecraft:set_count', []],\r\n ['minecraft:set_damage', []],\r\n ['minecraft:set_loot_table', []],\r\n ['minecraft:set_lore', []],\r\n ['minecraft:set_name', []],\r\n ['minecraft:set_nbt', []],\r\n ['minecraft:set_stew_effect', []]\r\n]);\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initLootTableSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst LootContext_1 = require(\"../LootContext\");\r\nconst Common_1 = require(\"./Common\");\r\nfunction initLootTableSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const conditions = {\r\n conditions: (0, core_1.Opt)((0, core_1.ListNode)(Reference('loot_condition')))\r\n };\r\n const functionsAndConditions = {\r\n functions: (0, core_1.Opt)((0, core_1.ListNode)(Reference('loot_function'))),\r\n ...conditions\r\n };\r\n function compileSwitchNode(contextMap, collectionID, getNode) {\r\n const cases = [];\r\n const getAvailableOptions = (providedContext) => collections\r\n .get(collectionID)\r\n .filter(t => {\r\n var _a;\r\n const requiredContext = (_a = contextMap.get(t)) !== null && _a !== void 0 ? _a : [];\r\n return requiredContext.every(c => providedContext.includes(c));\r\n });\r\n for (const [tableType, { allows, requires }] of LootContext_1.LootTableTypes) {\r\n const providedContext = [...allows, ...requires];\r\n cases.push({\r\n match: path => path.getModel().get(new core_1.Path(['type'])) === tableType,\r\n node: getNode(getAvailableOptions(providedContext))\r\n });\r\n }\r\n cases.push({ match: _ => true, node: getNode(collectionID) });\r\n return (0, core_1.SwitchNode)(cases);\r\n }\r\n const conditionSwtichNode = compileSwitchNode(LootContext_1.LootConditions, 'loot_condition_type', type => StringNode({ validator: 'resource', params: { pool: type instanceof Array ? type : `loot_condition_type` } }));\r\n const functionSwtichNode = compileSwitchNode(LootContext_1.LootFunctions, 'loot_function_type', type => StringNode({ validator: 'resource', params: { pool: type instanceof Array ? type : `loot_function_type` } }));\r\n const entitySourceSwtichNode = compileSwitchNode(LootContext_1.LootEntitySources, 'entity_source', type => StringNode({ enum: type }));\r\n const copySourceSwtichNode = compileSwitchNode(LootContext_1.LootCopySources, 'copy_source', type => StringNode({ enum: type }));\r\n schemas.register('loot_table', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n type: (0, core_1.Opt)(StringNode({ validator: \"resource\", params: { pool: collections.get('loot_context_type') } })),\r\n pools: (0, core_1.Opt)((0, core_1.ListNode)((0, core_1.Mod)((0, core_1.ObjectNode)({\r\n rolls: (0, Common_1.Range)({ allowBinomial: true, integer: true }),\r\n bonus_rolls: (0, core_1.Opt)((0, Common_1.Range)({ integer: true })),\r\n entries: (0, core_1.ListNode)(Reference('loot_entry')),\r\n ...functionsAndConditions\r\n }, { category: 'pool', context: 'loot_pool' }), {\r\n default: () => ({\r\n rolls: 1,\r\n entries: [{\r\n type: 'minecraft:item',\r\n name: 'minecraft:stone'\r\n }]\r\n })\r\n }))),\r\n functions: (0, core_1.Opt)((0, core_1.ListNode)(Reference('loot_function')))\r\n }, { context: 'loot_table' }), {\r\n default: () => ({\r\n pools: [{\r\n rolls: 1,\r\n entries: [{\r\n type: 'minecraft:item',\r\n name: 'minecraft:stone'\r\n }]\r\n }]\r\n })\r\n }));\r\n const weightMod = {\r\n enabled: path => {\r\n var _a;\r\n return ((_a = path.pop().get()) === null || _a === void 0 ? void 0 : _a.length) > 1\r\n && !['minecraft:alternatives', 'minecraft:group', 'minecraft:sequence'].includes(path.push('type').get());\r\n }\r\n };\r\n schemas.register('loot_entry', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'loot_pool_entry_type' } }),\r\n weight: (0, core_1.Opt)((0, core_1.Mod)((0, core_1.NumberNode)({ integer: true, min: 1 }), weightMod)),\r\n quality: (0, core_1.Opt)((0, core_1.Mod)((0, core_1.NumberNode)({ integer: true }), weightMod)),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:alternatives': {\r\n children: (0, core_1.ListNode)(Reference('loot_entry')),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:dynamic': {\r\n name: StringNode(),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:group': {\r\n children: (0, core_1.ListNode)(Reference('loot_entry')),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:item': {\r\n name: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:loot_table': {\r\n name: StringNode({ validator: 'resource', params: { pool: '$loot_table' } }),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:sequence': {\r\n children: (0, core_1.ListNode)(Reference('loot_entry')),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:tag': {\r\n name: StringNode({ validator: 'resource', params: { pool: '$tag/item' } }),\r\n expand: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n ...functionsAndConditions\r\n }\r\n }\r\n }, { context: 'loot_entry' }), {\r\n default: () => ({\r\n type: 'minecraft:item',\r\n name: 'minecraft:stone'\r\n })\r\n }));\r\n schemas.register('loot_function', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n function: functionSwtichNode,\r\n [core_1.Switch]: [{ push: 'function' }],\r\n [core_1.Case]: (() => {\r\n const cases = {\r\n 'minecraft:apply_bonus': {\r\n enchantment: StringNode({ validator: 'resource', params: { pool: 'enchantment' } }),\r\n formula: StringNode({ validator: 'resource', params: { pool: collections.get('loot_table_apply_bonus_formula') } }),\r\n parameters: (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n bonusMultiplier: (0, core_1.Mod)((0, core_1.NumberNode)(), {\r\n enabled: path => path.pop().push('formula').get() === 'minecraft:uniform_bonus_count'\r\n }),\r\n extra: (0, core_1.Mod)((0, core_1.NumberNode)(), {\r\n enabled: path => path.pop().push('formula').get() === 'minecraft:binomial_with_bonus_count'\r\n }),\r\n probability: (0, core_1.Mod)((0, core_1.NumberNode)(), {\r\n enabled: path => path.pop().push('formula').get() === 'minecraft:binomial_with_bonus_count'\r\n })\r\n }), {\r\n enabled: path => path.push('formula').get() !== 'minecraft:ore_drops'\r\n })\r\n },\r\n 'minecraft:copy_name': {\r\n source: copySourceSwtichNode\r\n },\r\n 'minecraft:copy_nbt': {\r\n source: copySourceSwtichNode,\r\n ops: (0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n source: StringNode({ validator: 'nbt_path', params: { category: { getter: 'copy_source', path: ['pop', 'pop', 'pop', { push: 'source' }] } } }),\r\n target: StringNode({ validator: 'nbt_path', params: { category: 'minecraft:item' } }),\r\n op: StringNode({ enum: ['replace', 'append', 'merge'] })\r\n }, { context: 'nbt_operation' }))\r\n },\r\n 'minecraft:copy_state': {\r\n block: StringNode({ validator: 'resource', params: { pool: 'block' } }),\r\n properties: (0, core_1.ListNode)(StringNode({ validator: 'block_state_key', params: { id: ['pop', 'pop', { push: 'block' }] } }))\r\n },\r\n 'minecraft:enchant_randomly': {\r\n enchantments: (0, core_1.Opt)((0, core_1.ListNode)(StringNode({ validator: 'resource', params: { pool: 'enchantment' } })))\r\n },\r\n 'minecraft:enchant_with_levels': {\r\n levels: (0, Common_1.Range)({ allowBinomial: true }),\r\n treasure: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n },\r\n 'minecraft:exploration_map': {\r\n destination: (0, core_1.Opt)(StringNode({ enum: 'structure_feature' })),\r\n decoration: (0, core_1.Opt)(StringNode({ enum: 'map_decoration' })),\r\n zoom: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n search_radius: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n skip_existing_chunks: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n },\r\n 'minecraft:fill_player_head': {\r\n entity: entitySourceSwtichNode\r\n },\r\n 'minecraft:limit_count': {\r\n limit: (0, Common_1.Range)({ bounds: true })\r\n },\r\n 'minecraft:looting_enchant': {\r\n count: (0, Common_1.Range)({ bounds: true }),\r\n limit: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true }))\r\n },\r\n 'minecraft:set_attributes': {\r\n modifiers: (0, core_1.ListNode)(Reference('attribute_modifier'))\r\n },\r\n 'minecraft:set_contents': {\r\n entries: (0, core_1.ListNode)(Reference('loot_entry'))\r\n },\r\n 'minecraft:set_count': {\r\n count: (0, Common_1.Range)({ allowBinomial: true })\r\n },\r\n 'minecraft:set_damage': {\r\n damage: (0, Common_1.Range)({ forceRange: true })\r\n },\r\n 'minecraft:set_loot_table': {\r\n name: StringNode({ validator: 'resource', params: { pool: '$loot_table' } }),\r\n seed: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true }))\r\n },\r\n 'minecraft:set_lore': {\r\n entity: (0, core_1.Opt)(entitySourceSwtichNode),\r\n lore: (0, core_1.ListNode)(Reference('text_component')),\r\n replace: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n },\r\n 'minecraft:set_name': {\r\n entity: (0, core_1.Opt)(entitySourceSwtichNode),\r\n name: (0, core_1.Opt)(Reference('text_component'))\r\n },\r\n 'minecraft:set_nbt': {\r\n tag: StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:item' } } })\r\n },\r\n 'minecraft:set_stew_effect': {\r\n effects: (0, core_1.Opt)((0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'mob_effect' } }),\r\n duration: (0, Common_1.Range)()\r\n })))\r\n }\r\n };\r\n const res = {};\r\n collections.get('loot_function_type').forEach(f => {\r\n res[f] = { ...cases[f], ...conditions };\r\n });\r\n return res;\r\n })()\r\n }, { category: 'function', context: 'function' }), {\r\n default: () => ({\r\n function: 'minecraft:set_count',\r\n count: 1\r\n })\r\n }));\r\n schemas.register('loot_condition', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n condition: conditionSwtichNode,\r\n [core_1.Switch]: [{ push: 'condition' }],\r\n [core_1.Case]: {\r\n ...Common_1.ConditionCases,\r\n 'minecraft:entity_properties': {\r\n entity: entitySourceSwtichNode,\r\n predicate: Reference('entity_predicate')\r\n },\r\n 'minecraft:entity_scores': {\r\n entity: entitySourceSwtichNode,\r\n scores: (0, core_1.MapNode)(StringNode({ validator: 'objective' }), (0, Common_1.Range)({ bounds: true }))\r\n }\r\n }\r\n }, { category: 'predicate', context: 'condition' }), {\r\n default: () => ({\r\n condition: 'minecraft:random_chance',\r\n chance: 0.5\r\n })\r\n }));\r\n schemas.register('attribute_modifier', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n attribute: StringNode({ validator: 'resource', params: { pool: 'attribute' } }),\r\n name: StringNode(),\r\n amount: (0, Common_1.Range)({ bounds: true }),\r\n operation: StringNode({ enum: ['addition', 'multiply_base', 'multiply_total'] }),\r\n slot: (0, core_1.StringOrList)(StringNode({ enum: 'slot' }))\r\n }, { context: 'attribute_modifier' }), {\r\n default: () => ({\r\n attribute: 'minecraft:generic.max_health',\r\n name: '',\r\n amount: 1,\r\n operation: 'addition',\r\n slot: 'mainhand'\r\n })\r\n }));\r\n}\r\nexports.initLootTableSchemas = initLootTableSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initPackMcmetaSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initPackMcmetaSchemas(schemas, _) {\r\n const getSimpleString = (jsonText) => { var _a, _b; return jsonText instanceof Array ? getSimpleString(jsonText[0]) : (_b = (_a = jsonText === null || jsonText === void 0 ? void 0 : jsonText.text) !== null && _a !== void 0 ? _a : jsonText === null || jsonText === void 0 ? void 0 : jsonText.toString()) !== null && _b !== void 0 ? _b : ''; };\r\n schemas.register('pack_mcmeta', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n pack: (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n pack_format: (0, core_1.Mod)((0, core_1.NumberNode)({ integer: true, min: 5, max: 5 }), { default: () => 5 }),\r\n description: (0, core_1.Reference)(schemas, 'text_component')\r\n }), {\r\n default: () => ({\r\n pack_format: 5,\r\n description: ''\r\n })\r\n })\r\n }), {\r\n default: () => ({\r\n pack: {\r\n pack_format: 5,\r\n description: ''\r\n }\r\n })\r\n }));\r\n}\r\nexports.initPackMcmetaSchemas = initPackMcmetaSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initRecipeSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initRecipeSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('recipe', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'recipe_serializer' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:crafting_shaped': {\r\n group: (0, core_1.Opt)(StringNode({ enum: 'recipe_group', additional: true })),\r\n pattern: (0, core_1.ListNode)(StringNode()),\r\n key: (0, core_1.MapNode)(StringNode(), // TODO: add validation\r\n Reference('recipe_ingredient')),\r\n result: Reference('recipe_result')\r\n },\r\n 'minecraft:crafting_shapeless': {\r\n group: (0, core_1.Opt)(StringNode()),\r\n ingredients: (0, core_1.ListNode)(Reference('recipe_ingredient')),\r\n result: Reference('recipe_result')\r\n },\r\n 'minecraft:smelting': {\r\n group: (0, core_1.Opt)(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n experience: (0, core_1.Opt)((0, core_1.NumberNode)()),\r\n cookingtime: (0, core_1.Opt)((0, core_1.Mod)((0, core_1.NumberNode)({ integer: true }), { default: () => 200 }))\r\n },\r\n 'minecraft:blasting': {\r\n group: (0, core_1.Opt)(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n experience: (0, core_1.Opt)((0, core_1.NumberNode)()),\r\n cookingtime: (0, core_1.Opt)((0, core_1.Mod)((0, core_1.NumberNode)({ integer: true }), { default: () => 100 }))\r\n },\r\n 'minecraft:smoking': {\r\n group: (0, core_1.Opt)(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n experience: (0, core_1.Opt)((0, core_1.NumberNode)()),\r\n cookingtime: (0, core_1.Opt)((0, core_1.Mod)((0, core_1.NumberNode)({ integer: true }), { default: () => 100 }))\r\n },\r\n 'minecraft:campfire_cooking': {\r\n group: (0, core_1.Opt)(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n experience: (0, core_1.Opt)((0, core_1.NumberNode)()),\r\n cookingtime: (0, core_1.Opt)((0, core_1.Mod)((0, core_1.NumberNode)({ integer: true }), { default: () => 100 }))\r\n },\r\n 'minecraft:stonecutting': {\r\n group: (0, core_1.Opt)(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n count: (0, core_1.NumberNode)({ integer: true })\r\n },\r\n 'minecraft:smithing': {\r\n group: (0, core_1.Opt)(StringNode()),\r\n base: Reference('recipe_ingredient_object'),\r\n addition: Reference('recipe_ingredient_object'),\r\n result: Reference('recipe_result')\r\n }\r\n }\r\n }, { context: 'recipe', disableSwitchContext: true }), {\r\n default: () => ({\r\n type: 'minecraft:crafting_shaped'\r\n })\r\n }));\r\n schemas.register('recipe_ingredient', (0, core_1.Mod)((0, core_1.ChoiceNode)([\r\n {\r\n type: 'object',\r\n node: Reference('recipe_ingredient_object'),\r\n change: v => v[0]\r\n },\r\n {\r\n type: 'list',\r\n node: (0, core_1.ListNode)(Reference('recipe_ingredient_object')),\r\n change: v => [v]\r\n }\r\n ]), {\r\n default: () => ({\r\n item: 'minecraft:stone'\r\n })\r\n }));\r\n schemas.register('recipe_ingredient_object', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n item: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: 'item' } })),\r\n tag: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$tag/item' } }))\r\n }), {\r\n default: () => ({\r\n item: 'minecraft:stone'\r\n })\r\n }));\r\n schemas.register('recipe_result', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n item: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n count: (0, core_1.Opt)((0, core_1.Mod)((0, core_1.NumberNode)({ integer: true }), { default: () => 1 }))\r\n }), {\r\n default: () => ({\r\n item: 'minecraft:stone'\r\n })\r\n }));\r\n}\r\nexports.initRecipeSchemas = initRecipeSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initTagsSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initTagsSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const TagBase = (type) => (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n replace: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n values: (0, core_1.ListNode)((0, core_1.ChoiceNode)([\r\n {\r\n type: 'string',\r\n node: StringNode({ validator: 'resource', params: { pool: type, allowTag: true } }),\r\n change: v => v.id\r\n },\r\n {\r\n type: 'object',\r\n node: (0, core_1.ObjectNode)({\r\n id: StringNode({ validator: 'resource', params: { pool: type, allowTag: true, allowUnknown: true } }),\r\n required: (0, core_1.BooleanNode)()\r\n }),\r\n change: v => ({ id: v })\r\n }\r\n ])),\r\n }, { context: 'tag' }), {\r\n default: () => ({\r\n values: []\r\n })\r\n });\r\n schemas.register('block_tag', TagBase('block'));\r\n schemas.register('entity_type_tag', TagBase('entity_type'));\r\n schemas.register('fluid_tag', TagBase('fluid'));\r\n schemas.register('function_tag', TagBase('$function'));\r\n schemas.register('item_tag', TagBase('item'));\r\n}\r\nexports.initTagsSchemas = initTagsSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initTextComponentSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initTextComponentSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const getSimpleString = (v) => { var _a; return v instanceof Array ? getSimpleString(v[0]) : (_a = v === null || v === void 0 ? void 0 : v.text) !== null && _a !== void 0 ? _a : (typeof v === 'object' ? '' : v === null || v === void 0 ? void 0 : v.toString()); };\r\n schemas.register('text_component', (0, core_1.Mod)((0, core_1.ChoiceNode)([\r\n {\r\n type: 'object',\r\n node: Reference('text_component_object'),\r\n change: v => v instanceof Array ? (typeof v[0] === 'object' ? v[0] : { text: getSimpleString(v[0]) }) : typeof v === 'object' ? v : { text: getSimpleString(v) }\r\n },\r\n {\r\n type: 'list',\r\n node: Reference('text_component_list'),\r\n change: v => [v]\r\n },\r\n {\r\n type: 'string',\r\n priority: 1,\r\n node: StringNode(),\r\n change: getSimpleString\r\n },\r\n {\r\n type: 'number',\r\n node: (0, core_1.NumberNode)(),\r\n change: v => {\r\n const n = parseFloat(getSimpleString(v));\r\n return isFinite(n) ? n : (!!v ? 1 : 0);\r\n }\r\n },\r\n {\r\n type: 'boolean',\r\n node: (0, core_1.BooleanNode)(),\r\n change: v => {\r\n const s = getSimpleString(v);\r\n return s === 'true' || s === 'false' ? s === 'true' : !!s;\r\n }\r\n }\r\n ], { context: 'text_component' }), {\r\n default: () => ({\r\n text: \"\"\r\n })\r\n }));\r\n const CommonFields = {\r\n bold: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n italic: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n underlined: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n strikethrough: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n obfuscated: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n insertion: (0, core_1.Opt)(StringNode()),\r\n clickEvent: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n action: StringNode({ enum: ['open_url', 'open_file', 'run_command', 'suggest_command', 'change_page', 'copy_to_clipboard'] }),\r\n [core_1.Switch]: [{ push: 'action' }],\r\n [core_1.Case]: {\r\n 'change_page': {\r\n value: StringNode()\r\n },\r\n 'copy_to_clipboard': {\r\n value: StringNode()\r\n },\r\n 'open_file': {\r\n value: StringNode()\r\n },\r\n 'open_url': {\r\n value: StringNode()\r\n },\r\n 'run_command': {\r\n value: StringNode({ validator: 'command', params: { leadingSlash: true, allowPartial: true } })\r\n },\r\n 'suggest_command': {\r\n value: StringNode({ validator: 'command', params: { leadingSlash: true, allowPartial: true } })\r\n }\r\n }\r\n })),\r\n hoverEvent: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n action: StringNode({ enum: ['show_text', 'show_item', 'show_entity'] }),\r\n [core_1.Switch]: [{ push: 'action' }],\r\n [core_1.Case]: {\r\n 'show_text': {\r\n value: (0, core_1.Opt)(Reference('text_component'))\r\n },\r\n 'show_item': {\r\n value: (0, core_1.Opt)(StringNode({ validator: 'nbt', params: { module: 'util::InventoryItem' } }))\r\n },\r\n 'show_entity': {\r\n value: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n name: (0, core_1.Opt)(StringNode()),\r\n type: (0, core_1.Opt)(StringNode()),\r\n id: (0, core_1.Opt)(StringNode())\r\n }))\r\n }\r\n }\r\n })),\r\n extra: (0, core_1.Opt)(Reference('text_component_list'))\r\n };\r\n schemas.register('text_component_object', (0, core_1.Mod)((0, core_1.ChoiceNode)([\r\n {\r\n type: 'text',\r\n match: v => typeof v === 'object',\r\n change: v => ({ text: '' }),\r\n priority: -1,\r\n node: (0, core_1.ObjectNode)({\r\n text: StringNode(),\r\n ...CommonFields\r\n })\r\n },\r\n {\r\n type: 'translation',\r\n match: v => (v === null || v === void 0 ? void 0 : v.translate) !== undefined,\r\n change: v => ({ translate: '' }),\r\n node: (0, core_1.ObjectNode)({\r\n translate: StringNode(),\r\n with: (0, core_1.Opt)(Reference('text_component_list')),\r\n ...CommonFields\r\n })\r\n },\r\n {\r\n type: 'score',\r\n match: v => (v === null || v === void 0 ? void 0 : v.score) !== undefined,\r\n change: v => ({ score: {} }),\r\n node: (0, core_1.ObjectNode)({\r\n score: (0, core_1.ObjectNode)({\r\n name: StringNode({ validator: 'entity', params: { amount: 'single', type: 'entities', isScoreHolder: true } }),\r\n objective: StringNode({ validator: 'objective' }),\r\n value: (0, core_1.Opt)(StringNode())\r\n }),\r\n ...CommonFields\r\n })\r\n },\r\n {\r\n type: 'selector',\r\n match: v => (v === null || v === void 0 ? void 0 : v.selector) !== undefined,\r\n change: v => ({ selector: '' }),\r\n node: (0, core_1.ObjectNode)({\r\n selector: StringNode({ validator: 'entity', params: { amount: 'multiple', type: 'entities' } }),\r\n ...CommonFields\r\n })\r\n },\r\n {\r\n type: 'keybind',\r\n match: v => (v === null || v === void 0 ? void 0 : v.keybind) !== undefined,\r\n change: v => ({ keybind: '' }),\r\n node: (0, core_1.ObjectNode)({\r\n keybind: StringNode({ enum: 'keybind', additional: true }),\r\n ...CommonFields\r\n })\r\n },\r\n {\r\n type: 'nbt',\r\n match: v => (v === null || v === void 0 ? void 0 : v.nbt) !== undefined,\r\n change: v => ({ nbt: '' }),\r\n node: (0, core_1.ObjectNode)({\r\n nbt: StringNode({ validator: 'nbt_path' }),\r\n block: (0, core_1.Opt)(StringNode({ validator: 'vector', params: { dimension: 3, isInteger: true } })),\r\n entity: (0, core_1.Opt)(StringNode({ validator: 'entity', params: { amount: 'multiple', type: 'entities' } })),\r\n storage: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$storage' } })),\r\n interpret: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n ...CommonFields\r\n })\r\n }\r\n ], { context: 'text_component_object', choiceContext: 'text_component.object' }), {\r\n default: () => ({\r\n text: \"\"\r\n })\r\n }));\r\n schemas.register('text_component_list', (0, core_1.Mod)((0, core_1.ListNode)(Reference('text_component')), {\r\n default: () => [{\r\n text: \"\"\r\n }]\r\n }));\r\n}\r\nexports.initTextComponentSchemas = initTextComponentSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initSchemas = void 0;\r\nconst Advancement_1 = require(\"./Advancement\");\r\nconst assets_1 = require(\"./assets\");\r\nconst Common_1 = require(\"./Common\");\r\nconst Condition_1 = require(\"./Condition\");\r\nconst LootTable_1 = require(\"./LootTable\");\r\nconst PackMcmeta_1 = require(\"./PackMcmeta\");\r\nconst Predicates_1 = require(\"./Predicates\");\r\nconst Recipe_1 = require(\"./Recipe\");\r\nconst Tags_1 = require(\"./Tags\");\r\nconst TextComponent_1 = require(\"./TextComponent\");\r\nfunction initSchemas(schemas, collections) {\r\n // `Common.ts` and `Predicates.ts` are files that have exports. They should be initialized first. \r\n (0, Common_1.initCommonSchemas)(schemas, collections);\r\n (0, Predicates_1.initPredicatesSchemas)(schemas, collections);\r\n (0, Advancement_1.initAdvancementSchemas)(schemas, collections);\r\n (0, assets_1.initAssetsSchemas)(schemas, collections);\r\n (0, Condition_1.initConditionSchemas)(schemas, collections);\r\n (0, LootTable_1.initLootTableSchemas)(schemas, collections);\r\n (0, PackMcmeta_1.initPackMcmetaSchemas)(schemas, collections);\r\n (0, Recipe_1.initRecipeSchemas)(schemas, collections);\r\n (0, Tags_1.initTagsSchemas)(schemas, collections);\r\n (0, TextComponent_1.initTextComponentSchemas)(schemas, collections);\r\n}\r\nexports.initSchemas = initSchemas;\r\n","\"use strict\";\r\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}));\r\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n});\r\nvar __importStar = (this && this.__importStar) || function (mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.getSchemas = exports.getCollections = exports.lootContext = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Collections_1 = require(\"./Collections\");\r\nconst schemas_1 = require(\"./schemas\");\r\nexports.lootContext = __importStar(require(\"./LootContext\"));\r\nfunction getCollections() {\r\n const collections = new core_1.CollectionRegistry();\r\n (0, Collections_1.initCollections)(collections);\r\n return collections;\r\n}\r\nexports.getCollections = getCollections;\r\n/**\r\n * @param collections The CollectionRegistry for this version. Note that apart from\r\n * the built-in collections, the client of this module is responsible for futhermore\r\n * adding the vanilla registries to it: the collection IDs shouldn't contain the\r\n * namespace (`minecraft:`) part, while the values within the collections should.\r\n *\r\n * @example\r\n * for (const key in VANILLA_REGISTRIES>) {\r\n * collections.register(\r\n * key.replace(/^minecraft:/, ''),\r\n * Object.keys(VANILLA_REGISTRIES[key].entries)\r\n * )\r\n * }\r\n */\r\nfunction getSchemas(collections) {\r\n const schemas = new core_1.SchemaRegistry();\r\n (0, schemas_1.initSchemas)(schemas, collections);\r\n return schemas;\r\n}\r\nexports.getSchemas = getSchemas;\r\n"],"names":["require$$0","require$$1","core_1","Common_1","Predicates_1","require$$2","require$$3","require$$4","require$$5","require$$6","require$$7","require$$8","require$$9","this"],"mappings":"61BACA,OAAO,eAAe,EAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EACrC,EAAA,gBAAG,OAC1B,YAAyB,EAAa,CAClC,EAAY,SAAS,sBAAuB,CACxC,+BACA,yBACA,0BACA,8BACA,gCACA,6BACA,yBACA,kCACA,4BACA,2BACA,wBACA,+BACA,iCACA,0BACA,+BACA,gCACA,uBACA,8BACA,oCACA,+BACA,uBACA,qBACA,0BACA,yBACA,+BACA,iCACA,4BACA,0BACA,iCACA,yBACA,6BACA,4BACA,wBACA,iBACA,2BACA,uBACA,2BACA,2BACR,CAAK,EACD,EAAY,SAAS,uBAAwB,CACzC,kBACA,iBACA,gBACA,uBACA,yBACA,qBACA,kBACA,mBACR,CAAK,EACD,EAAY,SAAS,sBAAuB,CACxC,wBACA,qBACA,sBACA,8BACA,iCACA,uBACA,qCACA,2BACA,0BACA,uBACA,0BACA,0BACA,uCACA,wBACA,6BACA,8BACR,CAAK,EACD,EAAY,SAAS,qBAAsB,CACvC,sBACA,uBACA,qBACA,qBACA,oBACA,2BACA,yBACA,6BACA,gCACA,4BACA,wBACA,0BACA,4BACA,6BACA,sBACA,qBACA,uBACA,wBACA,4BACA,2BACR,CAAK,EACD,EAAY,SAAS,YAAa,CAC9B,oBACA,sBACA,8BACA,wBACA,uBACA,gBACA,yBACA,sBACA,eACA,qBACA,0BACA,sBACA,4BACR,CAAK,EACD,EAAY,SAAS,oBAAqB,CACtC,mBACA,YACA,UACA,iBACA,iBACA,QACA,YACA,YACA,aACA,WACA,aACA,WACA,UACA,kBACA,SACR,CAAK,EACD,EAAY,SAAS,YAAa,CAC9B,sBACA,uBACA,mBACR,CAAK,EACD,EAAY,SAAS,UAAW,CAC5B,mBACA,aACA,WACA,WACA,cACA,WACA,cACA,iBACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,gBACA,WACA,WACA,2BACA,eACA,iBACA,YACA,2BACA,iBACA,mBACA,YACA,wBACA,aACA,kBACA,wBACA,SACR,CAAK,EACD,EAAY,SAAS,OAAQ,CACzB,WACA,UACA,OACA,QACA,OACA,MACR,CAAK,EACD,EAAY,SAAS,WAAY,CAC7B,WACA,WACA,YACA,WACR,CAAK,EACD,EAAY,SAAS,gBAAiB,CAClC,OACA,gBACA,SACA,eACR,CAAK,EACD,EAAY,SAAS,cAAe,CAChC,eACA,OACA,SACA,eACR,CAAK,EACD,EAAY,SAAS,iCAAkC,CACnD,gCACA,sCACA,qBACR,CAAK,EACD,EAAY,SAAS,iBAAkB,CACnC,UACA,WACA,SACA,QACA,aACA,cACA,WACA,eACA,iBACA,oBACA,QACA,eACA,gBACA,iBACA,oBACA,gBACA,cACA,cACA,cACA,oBACA,cACA,gBACA,cACA,eACA,eACA,aACA,cACR,CAAK,EACD,EAAY,SAAS,eAAgB,CACjC,MACA,iBACA,aACA,gBACA,YACA,qBACA,WACA,cACA,OACA,cACA,iBACA,oBACA,SACA,gBACA,cACA,qBACA,eACA,SACA,kBACA,wBACA,OACA,YACA,aACA,WACA,UACA,kBACA,gBACA,aACA,WACA,cACA,aACA,SACA,OACA,OACA,QACA,WACA,YACA,SACA,iBACR,CAAK,EACD,EAAY,SAAS,oBAAqB,CACtC,kBACA,kBACA,oBACA,qBACA,oBACA,mBACA,iBACA,mBACA,+BACA,+BACA,oBACA,iBACR,CAAK,EACD,EAAY,SAAS,cAAe,CAChC,gCACA,gCACA,8BACA,kCACA,4CACA,iCACA,kCACA,kCACA,gCACA,iCACA,mCACR,CAAK,CACL,CACA,EAAA,gBAA0B,mCCtS1B,OAAO,eAAc,EAAU,aAAc,CAAE,MAAO,EAAI,CAAE,EAC5D,EAAA,kBAA4B,EAAgB,MAAA,EAAA,eAAyB,OACrE,KAAM,GAASA,EACf,WAA2B,EAAS,EAAa,CAC7C,KAAM,GAAa,EAAO,WAAW,KAAK,OAAW,CAAW,EAC1D,EAAY,EAAO,UAAU,KAAK,OAAW,CAAO,EAC1D,EAAQ,SAAS,cAAe,GAAI,EAAO,KAAK,GAAI,EAAO,YAAY,CACnE,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,OAAO,EAAI,E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"} \ No newline at end of file diff --git a/assets/index.9e052309.js b/assets/index.75f8e4cf.js similarity index 99% rename from assets/index.9e052309.js rename to assets/index.75f8e4cf.js index e353a15c..e6ceb6d2 100644 --- a/assets/index.9e052309.js +++ b/assets/index.75f8e4cf.js @@ -1,2 +1,2 @@ -var Ue=Object.defineProperty,Ve=Object.defineProperties;var Ge=Object.getOwnPropertyDescriptors;var De=Object.getOwnPropertySymbols;var He=Object.prototype.hasOwnProperty,Ke=Object.prototype.propertyIsEnumerable;var ze=(r,e,t)=>e in r?Ue(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,g=(r,e)=>{for(var t in e||(e={}))He.call(e,t)&&ze(r,t,e[t]);if(De)for(var t of De(e))Ke.call(e,t)&&ze(r,t,e[t]);return r},A=(r,e)=>Ve(r,Ge(e));import{l as k,c as re}from"./index.b990f5f5.js";function Xe(r,e){return e.forEach(function(t){t&&typeof t!="string"&&!Array.isArray(t)&&Object.keys(t).forEach(function(o){if(o!=="default"&&!(o in r)){var d=Object.getOwnPropertyDescriptor(t,o);Object.defineProperty(r,o,d.get?d:{enumerable:!0,get:function(){return t[o]}})}})}),Object.freeze(Object.defineProperty(r,Symbol.toStringTag,{value:"Module"}))}var G={},ae={};Object.defineProperty(ae,"__esModule",{value:!0});ae.initCollections=void 0;function Ye(r){r.register("advancement_trigger",["minecraft:bee_nest_destroyed","minecraft:bred_animals","minecraft:brewed_potion","minecraft:changed_dimension","minecraft:channeled_lightning","minecraft:construct_beacon","minecraft:consume_item","minecraft:cured_zombie_villager","minecraft:effects_changed","minecraft:enchanted_item","minecraft:enter_block","minecraft:entity_hurt_player","minecraft:entity_killed_player","minecraft:fall_from_height","minecraft:filled_bucket","minecraft:fishing_rod_hooked","minecraft:hero_of_the_village","minecraft:impossible","minecraft:inventory_changed","minecraft:item_durability_changed","minecraft:item_used_on_block","minecraft:killed_by_crossbow","minecraft:levitation","minecraft:lightning_strike","minecraft:location","minecraft:nether_travel","minecraft:placed_block","minecraft:player_generates_container_loot","minecraft:player_hurt_entity","minecraft:player_interacted_with_entity","minecraft:player_killed_entity","minecraft:recipe_unlocked","minecraft:ride_entity_in_lava","minecraft:shot_crossbow","minecraft:slept_in_bed","minecraft:slide_down_block","minecraft:started_riding","minecraft:summoned_entity","minecraft:tame_animal","minecraft:target_hit","minecraft:tick","minecraft:thrown_item_picked_up_by_entity","minecraft:used_ender_eye","minecraft:used_totem","minecraft:using_item","minecraft:villager_trade","minecraft:voluntary_exile"]),r.register("keybind",["key.advancements","key.attack","key.back","key.chat","key.command","key.drop","key.forward","key.fullscreen","key.hotbar.1","key.hotbar.2","key.hotbar.3","key.hotbar.4","key.hotbar.5","key.hotbar.6","key.hotbar.7","key.hotbar.8","key.hotbar.9","key.inventory","key.jump","key.left","key.loadToolbarActivator","key.pickItem","key.playerlist","key.right","key.saveToolbarActivator","key.screenshot","key.smoothCamera","key.sneak","key.spectatorOutlines","key.sprint","key.swapOffhand","key.togglePerspective","key.use"]),r.register("slot",["mainhand","offhand","head","chest","legs","feet"]),r.register("gamemode",["survival","creative","adventure","spectator"]),r.register("entity_source",["this","killer","direct_killer","killer_player"]),r.register("copy_source",["block_entity","this","killer","killer_player"]),r.register("loot_table_apply_bonus_formula",["minecraft:uniform_bonus_count","minecraft:binomial_with_bonus_count","minecraft:ore_drops"]),r.register("map_decoration",["mansion","monument","player","frame","red_marker","blue_marker","target_x","target_point","player_off_map","player_off_limits","red_x","banner_white","banner_orange","banner_magenta","banner_light_blue","banner_yellow","banner_lime","banner_pink","banner_gray","banner_light_gray","banner_cyan","banner_purple","banner_blue","banner_brown","banner_green","banner_red","banner_black"]),r.register("map_feature",["bastion_remnant","buried_treasure","desert_pyramid","endcity","fortress","igloo","jungle_pyramid","mansion","mineshaft","monument","nether_fossil","ocean_ruin","pillager_outpost","ruined_portal","shipwreck","stronghold","swamp_hut","village"]),r.register("recipe_group",["bed","light_gray_dye","iron_ingot","wooden_stairs","black_dye","stained_terracotta","dyed_bed","magenta_dye","bark","rabbit_stew","light_blue_dye","wooden_fence_gate","planks","stained_glass","wooden_door","stained_glass_pane","wooden_fence","sticks","concrete_powder","wooden_pressure_plate","boat","brown_dye","yellow_dye","bonemeal","red_dye","wooden_trapdoor","wooden_button","gold_ingot","pink_dye","wooden_slab","orange_dye","carpet","sign","wool","sugar","blue_dye","white_dye","banner","netherite_ingot"]),r.register("biome_category",["beach","desert","extreme_hills","forest","icy","jungle","mesa","mountain","mushroom","nether","none","ocean","plains","river","savanna","swamp","taiga","the_end","underground"]),r.register("heightmap_type",["MOTION_BLOCKING","MOTION_BLOCKING_NO_LEAVES","OCEAN_FLOOR","OCEAN_FLOOR_WG","WORLD_SURFACE","WORLD_SURFACE_WG"]),r.register("generation_step",["air","liquid"]),r.register("loot_context_type",["minecraft:empty","minecraft:chest","minecraft:command","minecraft:selector","minecraft:fishing","minecraft:entity","minecraft:gift","minecraft:barter","minecraft:advancement_reward","minecraft:advancement_entity","minecraft:generic","minecraft:block"]),r.register("banner_pattern",["base","square_bottom_left","square_bottom_right","square_top_left","square_top_right","stripe_bottom","stripe_top","stripe_left","stripe_right","stripe_center","stripe_middle","stripe_downright","stripe_downleft","small_stripes","cross","straight_cross","triangle_bottom","triangle_top","triangles_bottom","triangles_top","diagonal_left","diagonal_up_right","diagonal_up_left","diagonal_right","circle","rhombus","half_vertical","half_horizontal","half_vertical_right","half_horizontal_bottom","border","curly_border","gradient","gradient_up","bricks","globe","creeper","skull","flower","mojang","piglin"]),r.register("dye_color",["white","orange","magenta","light_blue","yellow","lime","pink","gray","light_gray","cyan","purple","blue","brown","green","red","black"]),r.register("cave_surface",["floor","ceiling"]),r.register("direction",["down","up","north","east","south","west"]),r.register("axis",["x","y","z"]),r.register("display_position",["firstperson_righthand","firstperson_lefthand","thirdperson_righthand","thirdperson_lefthand","gui","head","ground","fixed"]),r.register("gui_light",["front","side"]),r.register("item_model_predicates",["angle","blocking","broken","cast","charged","cooldown","custom_model_data","damage","damaged","firework","lefthanded","pull","pulling","throwing","time"]),r.register("mob_category",["monster","creature","ambient","axolotls","underground_water_creature","water_creature","water_ambient","misc"]),r.register("cat_texture",["textures/entity/cat/tabby.png","textures/entity/cat/black.png","textures/entity/cat/red.png","textures/entity/cat/siamese.png","textures/entity/cat/british_shorthair.png","textures/entity/cat/calico.png","textures/entity/cat/persian.png","textures/entity/cat/ragdoll.png","textures/entity/cat/white.png","textures/entity/cat/jellie.png","textures/entity/cat/all_black.png"])}ae.initCollections=Ye;var ce={},de={};Object.defineProperty(de,"__esModule",{value:!0});de.initAdvancementSchemas=void 0;const s=k;function Ze(r,e){const t=s.Reference.bind(void 0,r),o=s.StringNode.bind(void 0,e),d=(0,s.ChoiceNode)([{type:"object",node:(0,s.Opt)(t("entity_predicate")),change:n=>{var a,p;return(p=(a=n[0])===null||a===void 0?void 0:a.predicate)!==null&&p!==void 0?p:{}}},{type:"list",node:(0,s.ListNode)(t("condition")),change:n=>[{condition:"minecraft:entity_properties",predicate:n}]}],{context:"conditions"});r.register("advancement",(0,s.Mod)((0,s.ObjectNode)({display:(0,s.Opt)((0,s.Mod)((0,s.ObjectNode)({icon:(0,s.ObjectNode)({item:o({validator:"resource",params:{pool:"item"}}),nbt:(0,s.Opt)(o({validator:"nbt",params:{registry:{category:"minecraft:item",id:["pop",{push:"item"}]}}}))}),title:t("text_component"),description:t("text_component"),background:(0,s.Opt)(o()),frame:(0,s.Opt)(o({enum:["task","challenge","goal"]})),show_toast:(0,s.Opt)((0,s.BooleanNode)()),announce_to_chat:(0,s.Opt)((0,s.BooleanNode)()),hidden:(0,s.Opt)((0,s.BooleanNode)())}),{default:()=>({icon:{item:"minecraft:stone"},title:"",description:""})})),parent:(0,s.Opt)(o({validator:"resource",params:{pool:"$advancement"}})),criteria:(0,s.MapNode)(o(),t("advancement_criteria")),requirements:(0,s.Opt)((0,s.ListNode)((0,s.ListNode)(o()))),rewards:(0,s.Opt)((0,s.ObjectNode)({function:(0,s.Opt)(o({validator:"resource",params:{pool:"$function"}})),loot:(0,s.Opt)((0,s.ListNode)(o({validator:"resource",params:{pool:"$loot_table"}}))),recipes:(0,s.Opt)((0,s.ListNode)(o({validator:"resource",params:{pool:"$recipe"}}))),experience:(0,s.Opt)((0,s.NumberNode)({integer:!0}))}))},{context:"advancement"}),{default:()=>({criteria:{requirement:{trigger:"minecraft:location"}}})})),r.register("advancement_criteria",(0,s.ObjectNode)({trigger:o({validator:"resource",params:{pool:e.get("advancement_trigger")}}),conditions:(0,s.Opt)((0,s.ObjectNode)({player:(0,s.Mod)(d,{enabled:n=>n.pop().push("trigger").get()!=="minecraft:impossible"}),[s.Switch]:["pop",{push:"trigger"}],[s.Case]:{"minecraft:bee_nest_destroyed":{block:(0,s.Opt)(o({validator:"resource",params:{pool:"block"}})),num_bees_inside:(0,s.Opt)((0,s.NumberNode)({integer:!0})),item:(0,s.Opt)(t("item_predicate"))},"minecraft:bred_animals":{parent:d,partner:d,child:d},"minecraft:brewed_potion":{potion:(0,s.Opt)(o({validator:"resource",params:{pool:"potion"}}))},"minecraft:changed_dimension":{from:(0,s.Opt)(o({validator:"resource",params:{pool:"$dimension"}})),to:(0,s.Opt)(o({validator:"resource",params:{pool:"$dimension"}}))},"minecraft:channeled_lightning":{victims:(0,s.Opt)((0,s.ListNode)(d))},"minecraft:construct_beacon":{level:t("int_bounds")},"minecraft:consume_item":{item:(0,s.Opt)(t("item_predicate"))},"minecraft:cured_zombie_villager":{villager:d,zombie:d},"minecraft:effects_changed":{effects:(0,s.Opt)((0,s.MapNode)(o({validator:"resource",params:{pool:"mob_effect"}}),(0,s.ObjectNode)({amplifier:t("int_bounds"),duration:t("int_bounds")}))),source:(0,s.Opt)(d)},"minecraft:enter_block":{block:(0,s.Opt)(o({validator:"resource",params:{pool:"block"}})),state:(0,s.Opt)((0,s.MapNode)(o(),o(),{validation:{validator:"block_state_map",params:{id:["pop",{push:"block"}]}}}))},"minecraft:enchanted_item":{levels:t("int_bounds"),item:(0,s.Opt)(t("item_predicate"))},"minecraft:entity_hurt_player":{damage:(0,s.Opt)(t("damage_predicate"))},"minecraft:entity_killed_player":{entity:d,killing_blow:(0,s.Opt)(t("damage_source_predicate"))},"minecraft:fall_from_height":{start_position:(0,s.Opt)(t("location_predicate")),distance:(0,s.Opt)(t("distance_predicate"))},"minecraft:filled_bucket":{item:(0,s.Opt)(t("item_predicate"))},"minecraft:fishing_rod_hooked":{entity:d,item:(0,s.Opt)(t("item_predicate"))},"minecraft:hero_of_the_village":{location:(0,s.Opt)(t("location_predicate"))},"minecraft:inventory_changed":{slots:(0,s.Opt)((0,s.ObjectNode)({empty:t("int_bounds"),occupied:t("int_bounds"),full:t("int_bounds")})),items:(0,s.Opt)((0,s.ListNode)(t("item_predicate")))},"minecraft:item_durability_changed":{delta:t("int_bounds"),durability:t("int_bounds"),item:(0,s.Opt)(t("item_predicate"))},"minecraft:item_used_on_block":{item:(0,s.Opt)(t("item_predicate")),location:(0,s.Opt)(t("location_predicate"))},"minecraft:killed_by_crossbow":{unique_entity_types:t("int_bounds"),victims:(0,s.Opt)((0,s.ListNode)(d))},"minecraft:levitation":{distance:(0,s.Opt)(t("distance_predicate")),duration:t("int_bounds")},"minecraft:lightning_strike":{lightning:d,bystander:d},"minecraft:location":{location:(0,s.Opt)(t("location_predicate"))},"minecraft:nether_travel":{start_position:(0,s.Opt)(t("location_predicate")),distance:(0,s.Opt)(t("distance_predicate"))},"minecraft:placed_block":{block:(0,s.Opt)(o({validator:"resource",params:{pool:"block"}})),state:(0,s.Opt)((0,s.MapNode)(o(),o(),{validation:{validator:"block_state_map",params:{id:["pop",{push:"block"}]}}})),item:(0,s.Opt)(t("item_predicate")),location:(0,s.Opt)(t("location_predicate"))},"minecraft:player_generates_container_loot":{loot_table:o({validator:"resource",params:{pool:"$loot_table"}})},"minecraft:player_hurt_entity":{damage:(0,s.Opt)(t("damage_predicate")),entity:d},"minecraft:player_interacted_with_entity":{item:(0,s.Opt)(t("item_predicate")),entity:d},"minecraft:player_killed_entity":{entity:d,killing_blow:(0,s.Opt)(t("damage_source_predicate"))},"minecraft:recipe_unlocked":{recipe:o({validator:"resource",params:{pool:"$recipe"}})},"minecraft:ride_entity_in_lava":{start_position:(0,s.Opt)(t("location_predicate")),distance:(0,s.Opt)(t("distance_predicate"))},"minecraft:slept_in_bed":{location:(0,s.Opt)(t("location_predicate"))},"minecraft:slide_down_block":{block:(0,s.Opt)(o({validator:"resource",params:{pool:"block"}}))},"minecraft:shot_crossbow":{item:(0,s.Opt)(t("item_predicate"))},"minecraft:summoned_entity":{entity:d},"minecraft:tame_animal":{entity:d},"minecraft:target_hit":{projectile:d,shooter:d,signal_strength:t("int_bounds")},"minecraft:thrown_item_picked_up_by_entity":{entity:d,item:(0,s.Opt)(t("item_predicate"))},"minecraft:used_ender_eye":{distance:(0,s.Opt)(t("float_bounds"))},"minecraft:used_totem":{item:(0,s.Opt)(t("item_predicate"))},"minecraft:using_item":{item:(0,s.Opt)(t("item_predicate"))},"minecraft:villager_trade":{villager:d,item:(0,s.Opt)(t("item_predicate"))},"minecraft:voluntary_exile":{location:(0,s.Opt)(t("location_predicate"))}}},{context:"criterion"}))},{category:"predicate",context:"criterion"}))}de.initAdvancementSchemas=Ze;var se={},le={};Object.defineProperty(le,"__esModule",{value:!0});le.initModelSchemas=void 0;const b=k;function Je(r,e){b.Reference.bind(void 0,r);const t=b.StringNode.bind(void 0,e),o=(n,a,p)=>(0,b.ListNode)((0,b.NumberNode)({min:a,max:p}),{minLength:n,maxLength:n}),d=(0,b.ChoiceNode)([{type:"alias",match:n=>typeof n=="string"&&n.startsWith("#"),node:t(),change:n=>typeof n=="string"?`#${n}`:"#0"},{type:"reference",match:n=>typeof n=="string",node:t({validator:"resource",params:{pool:"$texture"}}),change:n=>typeof n=="string"?n.replace(/^#/,""):""}],{choiceContext:"texture"});r.register("model",(0,b.Mod)((0,b.ObjectNode)({parent:(0,b.Opt)(t({validator:"resource",params:{pool:"$model"}})),ambientocclusion:(0,b.Opt)((0,b.BooleanNode)()),gui_light:(0,b.Opt)(t({enum:"gui_light"})),textures:(0,b.Opt)((0,b.MapNode)(t(),d)),elements:(0,b.Opt)((0,b.ListNode)((0,b.ObjectNode)({from:o(3,-16,32),to:o(3,-16,32),rotation:(0,b.Opt)((0,b.ObjectNode)({origin:o(3),axis:t({enum:"axis"}),angle:(0,b.NumberEnum)({values:[-45,-22.5,0,22.5,45]}),rescale:(0,b.Opt)((0,b.BooleanNode)())})),shade:(0,b.Opt)((0,b.BooleanNode)()),faces:(0,b.MapNode)(t({enum:"direction"}),(0,b.ObjectNode)({texture:d,uv:(0,b.Opt)(o(4)),cullface:(0,b.Opt)(t({enum:"direction"})),rotation:(0,b.Opt)((0,b.NumberNode)({integer:!0})),tintindex:(0,b.Opt)((0,b.NumberNode)({integer:!0}))}))},{context:"model_element"}))),display:(0,b.Opt)((0,b.MapNode)(t({enum:"display_position"}),(0,b.ObjectNode)({rotation:o(3),translation:o(3,-80,80),scale:o(3,-4,4)},{context:"item_transform"}))),overrides:(0,b.Opt)((0,b.ListNode)((0,b.ObjectNode)({predicate:(0,b.MapNode)(t({enum:"item_model_predicates"}),(0,b.NumberNode)()),model:t({validator:"resource",params:{pool:"$model"}})},{context:"model_override"})))},{context:"model"}),{default:()=>({parent:"minecraft:item/generated",textures:{layer0:"minecraft:item/diamond"}})}))}le.initModelSchemas=Je;var me={};Object.defineProperty(me,"__esModule",{value:!0});me.initBlockDefinitionSchemas=void 0;const x=k;function Qe(r,e){const t=x.Reference.bind(void 0,r),o=x.StringNode.bind(void 0,e);r.register("block_definition",(0,x.Mod)((0,x.ChoiceNode)([{type:"variants",match:n=>n.variants!==void 0,node:(0,x.ObjectNode)({variants:(0,x.MapNode)(o(),t("model_variant"))}),change:n=>({variants:{"":{}}})},{type:"multipart",match:n=>n.multipart!==void 0,node:(0,x.ObjectNode)({multipart:(0,x.ListNode)((0,x.ObjectNode)({when:(0,x.Opt)(t("multipart_condition")),apply:t("model_variant")}))}),change:n=>({multipart:{when:{},apply:{}}})}],{context:"block_definition"}),{default:()=>({variants:{"":{model:"minecraft:block/stone"}}})}));const d={model:o({validator:"resource",params:{pool:"$model"}}),x:(0,x.Opt)((0,x.NumberEnum)({integer:!0,values:[0,90,180,270]})),y:(0,x.Opt)((0,x.NumberEnum)({integer:!0,values:[0,90,180,270]})),uvlock:(0,x.Opt)((0,x.BooleanNode)())};r.register("model_variant",(0,x.ChoiceNode)([{type:"object",node:(0,x.ObjectNode)(d),change:n=>Array.isArray(n)&&n.length>0?n[0]:{}},{type:"list",node:(0,x.ListNode)((0,x.ObjectNode)(A(g({},d),{weight:(0,x.Opt)((0,x.NumberNode)({integer:!0,min:1}))}),{context:"model_variant"})),change:n=>[g({weight:1},n)]}],{context:"model_variant"})),r.register("multipart_condition",(0,x.ChoiceNode)([{type:"object",priority:-1,match:()=>!0,node:(0,x.MapNode)(o(),o()),change:n=>typeof n=="object"&&Array.isArray(n==null?void 0:n.OR)&&n.OR.length>0?n.OR[0]:{}},{type:"or",match:n=>typeof n=="object"&&(n==null?void 0:n.OR)!==void 0,node:(0,x.ObjectNode)({OR:(0,x.ListNode)(t("multipart_condition"))}),change:n=>({OR:[n!=null?n:{}]})}],{context:"multipart_condition"}))}me.initBlockDefinitionSchemas=Qe;Object.defineProperty(se,"__esModule",{value:!0});se.initAssetsSchemas=void 0;const et=le,tt=me;function rt(r,e){(0,tt.initBlockDefinitionSchemas)(r,e),(0,et.initModelSchemas)(r,e)}se.initAssetsSchemas=rt;var z={};(function(r){Object.defineProperty(r,"__esModule",{value:!0}),r.initCommonSchemas=r.Tag=r.InclusiveRange=r.IntProvider=r.FloatProvider=r.NoiseSettingsPresets=r.DefaultNoiseSettings=r.DimensionTypePresets=r.DefaultDimensionType=r.FunctionCases=r.ConditionCases=void 0;const e=k;r.DefaultDimensionType={ultrawarm:!1,natural:!0,piglin_safe:!1,respawn_anchor_works:!1,bed_works:!0,has_raids:!0,has_skylight:!0,has_ceiling:!1,coordinate_scale:1,ambient_light:0,logical_height:256,infiniburn:"#minecraft:infiniburn_overworld",min_y:0,height:256},r.DefaultNoiseSettings={sea_level:63,ore_veins_enabled:!0,disable_mob_generation:!1,aquifers_enabled:!0,legacy_random_source:!1,default_block:{Name:"minecraft:stone"},default_fluid:{Properties:{level:"0"},Name:"minecraft:water"},noise:{min_y:-64,height:384,size_horizontal:1,size_vertical:2,top_slide:{target:-.078125,size:2,offset:8},bottom_slide:{target:.1171875,size:3,offset:0},sampling:{xz_scale:.9999999814507745,y_scale:.9999999814507745,xz_factor:80,y_factor:160},terrain_shaper:{offset:0,factor:0,jaggedness:0}},noise_router:{barrier:0,fluid_level_floodedness:0,fluid_level_spread:0,lava:0,temperature:0,vegetation:0,continents:0,erosion:0,depth:0,ridges:0,initial_density_without_jaggedness:0,final_density:{type:"minecraft:interpolated",argument:"minecraft:overworld/base_3d_noise"},vein_toggle:0,vein_ridged:0,vein_gap:0},surface_rule:{type:"minecraft:sequence",sequence:[]}};function t(o,d){const n=e.StringNode.bind(void 0,d),a=e.Reference.bind(void 0,o);o.register("block_state",(0,e.Mod)((0,e.ObjectNode)({Name:n({validator:"resource",params:{pool:"block"}}),Properties:(0,e.Opt)((0,e.MapNode)(n(),n(),{validation:{validator:"block_state_map",params:{id:["pop",{push:"Name"}]}}}))},{context:"block_state"}),{default:()=>({Name:"minecraft:stone"})})),o.register("fluid_state",(0,e.Mod)((0,e.ObjectNode)({Name:n({validator:"resource",params:{pool:"fluid"}}),Properties:(0,e.Opt)((0,e.MapNode)(n(),n()))},{context:"fluid_state"}),{default:()=>({Name:"minecraft:water",Properties:{level:"0"}})})),o.register("block_pos",(0,e.Mod)((0,e.ListNode)((0,e.NumberNode)({integer:!0}),{minLength:3,maxLength:3}),{default:()=>[0,0,0]}));const p=m=>(0,e.Opt)((0,e.ChoiceNode)([{type:"number",node:(0,e.NumberNode)({integer:m}),change:f=>{var j,v;return f===void 0?0:(v=(j=f.min)!==null&&j!==void 0?j:f.max)!==null&&v!==void 0?v:0}},{type:"object",node:(0,e.ObjectNode)({min:(0,e.Opt)((0,e.NumberNode)({integer:m})),max:(0,e.Opt)((0,e.NumberNode)({integer:m}))},{context:"range"}),change:f=>({min:f!=null?f:0,max:f!=null?f:0})}]));o.register("int_bounds",p(!0)),o.register("float_bounds",p()),o.register("int_range",(0,e.ChoiceNode)([{type:"object",node:(0,e.ObjectNode)({min:(0,e.Opt)(a("number_provider")),max:(0,e.Opt)(a("number_provider"))})},{type:"number",node:(0,e.NumberNode)({integer:!0})}],{context:"range"}));const w=(m,f,j,v,S,B,E)=>{let ie={};S&&Object.keys(E[S]).forEach(q=>{ie[q]=(0,e.Mod)(E[S][q],{enabled:I=>I.push("type").get()===void 0})});const Z=(0,e.ObjectNode)(g({type:(0,e.Mod)((0,e.Opt)(n({validator:"resource",params:{pool:m}})),{hidden:()=>!0}),[e.Switch]:[{push:"type"}],[e.Case]:E},ie),{context:B,disableSwitchContext:!0}),J=[{type:f,node:E[v][j]}];return S&&J.push({type:"object",priority:-1,node:Z}),Object.keys(E).forEach(q=>{J.push({type:q,match:I=>{var Q;if("minecraft:"+((Q=I==null?void 0:I.type)===null||Q===void 0?void 0:Q.replace(/^minecraft:/,""))===q)return!0;const W=I?Object.keys(I):[];return typeof I=="object"&&((W==null?void 0:W.length)===0||(W==null?void 0:W.length)===1&&(W==null?void 0:W[0])==="type")},node:Z,change:I=>({type:q})})}),(0,e.ChoiceNode)(J,{context:B,choiceContext:`${B}.type`})};o.register("number_provider",w("loot_number_provider_type","number","value","minecraft:constant","minecraft:uniform","number_provider",{"minecraft:constant":{value:(0,e.NumberNode)()},"minecraft:uniform":{min:a("number_provider"),max:a("number_provider")},"minecraft:binomial":{n:a("number_provider"),p:a("number_provider")},"minecraft:score":{target:a("scoreboard_name_provider"),score:n({validator:"objective"}),scale:(0,e.Opt)((0,e.NumberNode)())}})),o.register("scoreboard_name_provider",w("loot_score_provider_type","string","target","minecraft:context",null,"score_provider",{"minecraft:fixed":{name:n({validator:"entity",params:{amount:"multiple",type:"entities",isScoreHolder:!0}})},"minecraft:context":{target:(0,e.Mod)(n({enum:"entity_source"}),{default:()=>"this"})}})),o.register("nbt_provider",w("loot_nbt_provider_type","string","target","minecraft:context",null,"nbt_provider",{"minecraft:storage":{source:n({validator:"resource",params:{pool:"$storage"}})},"minecraft:context":{target:(0,e.Mod)(n({enum:"copy_source"}),{default:()=>"this"})}})),r.FloatProvider=m=>w("float_provider_type","number","value","minecraft:constant",null,"float_provider",{"minecraft:constant":{value:(0,e.NumberNode)(m)},"minecraft:uniform":{value:(0,e.ObjectNode)({min_inclusive:(0,e.NumberNode)(m),max_exclusive:(0,e.NumberNode)(m)})},"minecraft:clamped_normal":{value:(0,e.ObjectNode)({min:(0,e.NumberNode)(),max:(0,e.NumberNode)(),mean:(0,e.NumberNode)(),deviation:(0,e.NumberNode)()})},"minecraft:trapezoid":{value:(0,e.ObjectNode)({min:(0,e.NumberNode)(),max:(0,e.NumberNode)(),plateau:(0,e.NumberNode)()})}}),o.register("float_provider",(0,r.FloatProvider)()),r.IntProvider=m=>w("int_provider_type","number","value","minecraft:constant",null,"int_provider",{"minecraft:constant":{value:(0,e.NumberNode)(g({integer:!0},m))},"minecraft:uniform":{value:(0,e.ObjectNode)({min_inclusive:(0,e.NumberNode)(g({integer:!0},m)),max_inclusive:(0,e.NumberNode)(g({integer:!0},m))})},"minecraft:biased_to_bottom":{value:(0,e.ObjectNode)({min_inclusive:(0,e.NumberNode)(g({integer:!0},m)),max_inclusive:(0,e.NumberNode)(g({integer:!0},m))})},"minecraft:clamped":{value:(0,e.ObjectNode)({min_inclusive:(0,e.NumberNode)(g({integer:!0},m)),max_inclusive:(0,e.NumberNode)(g({integer:!0},m)),source:a("int_provider")})},"minecraft:clamped_normal":{value:(0,e.ObjectNode)({min_inclusive:(0,e.NumberNode)(g({integer:!0},m)),max_inclusive:(0,e.NumberNode)(g({integer:!0},m)),mean:(0,e.NumberNode)(),deviation:(0,e.NumberNode)()})},"minecraft:weighted_list":{distribution:(0,e.ListNode)((0,e.ObjectNode)({weight:(0,e.NumberNode)({integer:!0}),data:a("int_provider")}))}}),o.register("int_provider",(0,r.IntProvider)()),o.register("vertical_anchor",(0,e.ChoiceNode)(["absolute","above_bottom","below_top"].map(m=>({type:m,match:f=>(f==null?void 0:f[m])!==void 0,change:f=>{var j,v,S;return{[m]:(S=(v=(j=f.absolute)!==null&&j!==void 0?j:f.above_bottom)!==null&&v!==void 0?v:f.below_top)!==null&&S!==void 0?S:0}},node:(0,e.ObjectNode)({[m]:(0,e.NumberNode)({integer:!0,min:-2048,max:2047})})})),{context:"vertical_anchor"})),o.register("height_provider",w("height_provider_type","number","value","minecraft:constant",null,"height_provider",{"minecraft:constant":{value:a("vertical_anchor")},"minecraft:uniform":{min_inclusive:a("vertical_anchor"),max_inclusive:a("vertical_anchor")},"minecraft:biased_to_bottom":{min_inclusive:a("vertical_anchor"),max_inclusive:a("vertical_anchor"),inner:(0,e.Opt)((0,e.NumberNode)({integer:!0,min:1}))},"minecraft:very_biased_to_bottom":{min_inclusive:a("vertical_anchor"),max_inclusive:a("vertical_anchor"),inner:(0,e.Opt)((0,e.NumberNode)({integer:!0,min:1}))},"minecraft:trapezoid":{min_inclusive:a("vertical_anchor"),max_inclusive:a("vertical_anchor"),plateau:(0,e.Opt)((0,e.NumberNode)({integer:!0}))},"minecraft:weighted_list":{distribution:(0,e.ListNode)((0,e.ObjectNode)({weight:(0,e.NumberNode)({integer:!0}),data:a("int_provider")}))}})),r.InclusiveRange=m=>(0,e.ObjectNode)({min_inclusive:(0,e.NumberNode)(m),max_inclusive:(0,e.NumberNode)(m)},{context:"range"}),o.register("noise_parameters",(0,e.Mod)((0,e.ObjectNode)({firstOctave:(0,e.NumberNode)({integer:!0}),amplitudes:(0,e.ListNode)((0,e.NumberNode)())},{context:"noise_parameters"}),{default:()=>({firstOctave:-7,amplitudes:[1,1]})})),r.Tag=m=>(0,e.ChoiceNode)([{type:"string",node:n({validator:"resource",params:{pool:m.resource,allowTag:!0}}),change:f=>{if(Array.isArray(f)&&typeof f[0]=="string"&&!f[0].startsWith("#"))return f[0]}},{type:"list",node:(0,e.ListNode)(m.inlineSchema?(0,e.ChoiceNode)([{type:"string",node:n({validator:"resource",params:{pool:m.resource}})},{type:"object",node:a(m.inlineSchema)}],{choiceContext:"tag.list"}):n({validator:"resource",params:{pool:m.resource}})),change:f=>typeof f=="string"&&!f.startsWith("#")?[f]:[]}],{choiceContext:"tag"}),r.ConditionCases=(m=n({enum:"entity_source"}))=>({"minecraft:alternative":{terms:(0,e.ListNode)(a("condition"))},"minecraft:block_state_property":{block:n({validator:"resource",params:{pool:"block"}}),properties:(0,e.MapNode)(n(),n(),{validation:{validator:"block_state_map",params:{id:["pop",{push:"block"}]}}})},"minecraft:damage_source_properties":{predicate:a("damage_source_predicate")},"minecraft:entity_properties":{entity:m,predicate:a("entity_predicate")},"minecraft:entity_scores":{entity:m,scores:(0,e.MapNode)(n({validator:"objective"}),a("int_range"))},"minecraft:inverted":{term:a("condition")},"minecraft:killed_by_player":{inverse:(0,e.Opt)((0,e.BooleanNode)())},"minecraft:location_check":{offsetX:(0,e.Opt)((0,e.NumberNode)({integer:!0})),offsetY:(0,e.Opt)((0,e.NumberNode)({integer:!0})),offsetZ:(0,e.Opt)((0,e.NumberNode)({integer:!0})),predicate:a("location_predicate")},"minecraft:match_tool":{predicate:a("item_predicate")},"minecraft:random_chance":{chance:(0,e.NumberNode)({min:0,max:1})},"minecraft:random_chance_with_looting":{chance:(0,e.NumberNode)({min:0,max:1}),looting_multiplier:(0,e.NumberNode)()},"minecraft:reference":{name:n({validator:"resource",params:{pool:"$predicate"}})},"minecraft:table_bonus":{enchantment:n({validator:"resource",params:{pool:"enchantment"}}),chances:(0,e.ListNode)((0,e.NumberNode)({min:0,max:1}))},"minecraft:time_check":{value:a("int_range"),period:(0,e.Opt)((0,e.NumberNode)({integer:!0}))},"minecraft:value_check":{value:a("number_provider"),range:a("int_range")},"minecraft:weather_check":{raining:(0,e.Opt)((0,e.BooleanNode)()),thundering:(0,e.Opt)((0,e.BooleanNode)())}}),r.FunctionCases=(m,f=n({enum:"copy_source"}),j=n({enum:"entity_source"}))=>{const v={"minecraft:apply_bonus":{enchantment:n({validator:"resource",params:{pool:"enchantment"}}),formula:n({validator:"resource",params:{pool:d.get("loot_table_apply_bonus_formula")}}),parameters:(0,e.Mod)((0,e.ObjectNode)({bonusMultiplier:(0,e.Mod)((0,e.NumberNode)(),{enabled:B=>B.pop().push("formula").get()==="minecraft:uniform_bonus_count"}),extra:(0,e.Mod)((0,e.NumberNode)(),{enabled:B=>B.pop().push("formula").get()==="minecraft:binomial_with_bonus_count"}),probability:(0,e.Mod)((0,e.NumberNode)(),{enabled:B=>B.pop().push("formula").get()==="minecraft:binomial_with_bonus_count"})}),{enabled:B=>B.push("formula").get()!=="minecraft:ore_drops"})},"minecraft:copy_name":{source:f},"minecraft:copy_nbt":{source:a("nbt_provider"),ops:(0,e.ListNode)((0,e.ObjectNode)({source:n({validator:"nbt_path",params:{category:{getter:"copy_source",path:["pop","pop","pop",{push:"source"}]}}}),target:n({validator:"nbt_path",params:{category:"minecraft:item"}}),op:n({enum:["replace","append","merge"]})},{context:"nbt_operation"}))},"minecraft:copy_state":{block:n({validator:"resource",params:{pool:"block"}}),properties:(0,e.ListNode)(n({validator:"block_state_key",params:{id:["pop","pop",{push:"block"}]}}))},"minecraft:enchant_randomly":{enchantments:(0,e.Opt)((0,e.ListNode)(n({validator:"resource",params:{pool:"enchantment"}})))},"minecraft:enchant_with_levels":{levels:a("number_provider"),treasure:(0,e.Opt)((0,e.BooleanNode)())},"minecraft:exploration_map":{destination:(0,e.Opt)((0,r.Tag)({resource:"$worldgen/configured_structure_feature"})),decoration:(0,e.Opt)(n({enum:"map_decoration"})),zoom:(0,e.Opt)((0,e.NumberNode)({integer:!0})),search_radius:(0,e.Opt)((0,e.NumberNode)({integer:!0})),skip_existing_chunks:(0,e.Opt)((0,e.BooleanNode)())},"minecraft:fill_player_head":{entity:j},"minecraft:limit_count":{limit:a("int_range")},"minecraft:looting_enchant":{count:a("number_provider"),limit:(0,e.Opt)((0,e.NumberNode)({integer:!0}))},"minecraft:set_attributes":{modifiers:(0,e.ListNode)(a("attribute_modifier"))},"minecraft:set_banner_pattern":{patterns:(0,e.ListNode)((0,e.ObjectNode)({pattern:n({enum:"banner_pattern"}),color:n({enum:"dye_color"})})),append:(0,e.Opt)((0,e.BooleanNode)())},"minecraft:set_contents":{type:n({validator:"resource",params:{pool:"block_entity_type"}}),entries:(0,e.ListNode)(a("loot_entry"))},"minecraft:set_count":{count:a("number_provider"),add:(0,e.Opt)((0,e.BooleanNode)())},"minecraft:set_damage":{damage:a("number_provider"),add:(0,e.Opt)((0,e.BooleanNode)())},"minecraft:set_enchantments":{enchantments:(0,e.MapNode)(n({validator:"resource",params:{pool:"enchantment"}}),a("number_provider")),add:(0,e.Opt)((0,e.BooleanNode)())},"minecraft:set_loot_table":{type:n({validator:"resource",params:{pool:"block_entity_type"}}),name:n({validator:"resource",params:{pool:"$loot_table"}}),seed:(0,e.Opt)((0,e.NumberNode)({integer:!0}))},"minecraft:set_lore":{entity:(0,e.Opt)(j),lore:(0,e.ListNode)(a("text_component")),replace:(0,e.Opt)((0,e.BooleanNode)())},"minecraft:set_name":{entity:(0,e.Opt)(j),name:(0,e.Opt)(a("text_component"))},"minecraft:set_nbt":{tag:n({validator:"nbt",params:{registry:{category:"minecraft:item"}}})},"minecraft:set_potion":{id:n({validator:"resource",params:{pool:"potion"}})},"minecraft:set_stew_effect":{effects:(0,e.Opt)((0,e.ListNode)((0,e.ObjectNode)({type:n({validator:"resource",params:{pool:"mob_effect"}}),duration:a("number_provider")})))}},S={};return d.get("loot_function_type").forEach(B=>{S[B]=g(g({},v[B]),m)}),S},r.DimensionTypePresets=m=>(0,e.ObjectOrPreset)(n({validator:"resource",params:{pool:"$dimension_type"}}),m,{"minecraft:overworld":r.DefaultDimensionType,"minecraft:the_nether":{name:"minecraft:the_nether",ultrawarm:!0,natural:!1,shrunk:!0,piglin_safe:!0,respawn_anchor_works:!0,bed_works:!1,has_raids:!1,has_skylight:!1,has_ceiling:!0,ambient_light:.1,fixed_time:18e3,logical_height:128,effects:"minecraft:the_nether",infiniburn:"#minecraft:infiniburn_nether",min_y:0,height:256},"minecraft:the_end":{name:"minecraft:the_end",ultrawarm:!1,natural:!1,shrunk:!1,piglin_safe:!1,respawn_anchor_works:!1,bed_works:!1,has_raids:!0,has_skylight:!1,has_ceiling:!1,ambient_light:0,fixed_time:6e3,logical_height:256,effects:"minecraft:the_end",infiniburn:"#minecraft:infiniburn_end",min_y:0,height:256}}),r.NoiseSettingsPresets=m=>(0,e.ObjectOrPreset)(n({validator:"resource",params:{pool:"$worldgen/noise_settings"}}),m,{"minecraft:overworld":r.DefaultNoiseSettings,"minecraft:nether":{sea_level:32,ore_veins_enabled:!1,disable_mob_generation:!1,aquifers_enabled:!1,legacy_random_source:!0,default_block:{Name:"minecraft:netherrack"},default_fluid:{Properties:{level:"0"},Name:"minecraft:lava"},noise:{min_y:0,height:128,size_horizontal:1,size_vertical:2,top_slide:{target:.9375,size:3,offset:0},bottom_slide:{target:2.5,size:4,offset:-1},sampling:{xz_scale:1,y_scale:3,xz_factor:80,y_factor:60},terrain_shaper:{offset:0,factor:0,jaggedness:0}},noise_router:{barrier:0,fluid_level_floodedness:0,fluid_level_spread:0,lava:0,temperature:0,vegetation:0,continents:0,erosion:0,depth:0,ridges:0,initial_density_without_jaggedness:0,final_density:{type:"minecraft:interpolated",argument:"minecraft:overworld/base_3d_noise"},vein_toggle:0,vein_ridged:0,vein_gap:0},surface_rule:{type:"minecraft:sequence",sequence:[]}},"minecraft:end":{sea_level:0,ore_veins_enabled:!1,disable_mob_generation:!1,aquifers_enabled:!1,legacy_random_source:!0,default_block:{Name:"minecraft:end_stone"},default_fluid:{Name:"minecraft:air"},noise:{min_y:0,height:128,size_horizontal:2,size_vertical:1,top_slide:{target:-23.4375,size:64,offset:-46},bottom_slide:{target:-.234375,size:7,offset:1},sampling:{xz_scale:2,y_scale:1,xz_factor:80,y_factor:160},terrain_shaper:{offset:0,factor:1,jaggedness:0}},noise_router:{barrier:0,fluid_level_floodedness:0,fluid_level_spread:0,lava:0,temperature:0,vegetation:0,continents:0,erosion:0,depth:0,ridges:0,initial_density_without_jaggedness:0,final_density:{type:"minecraft:interpolated",argument:"minecraft:overworld/base_3d_noise"},vein_toggle:0,vein_ridged:0,vein_gap:0},surface_rule:{type:"minecraft:sequence",sequence:[]}},"minecraft:amplified":{sea_level:63,ore_veins_enabled:!0,disable_mob_generation:!1,aquifers_enabled:!0,legacy_random_source:!1,default_block:{Name:"minecraft:stone"},default_fluid:{Properties:{level:"0"},Name:"minecraft:water"},noise:{min_y:-64,height:384,size_horizontal:1,size_vertical:2,top_slide:{target:-.078125,size:2,offset:8},bottom_slide:{target:.1171875,size:3,offset:0},sampling:{xz_scale:.9999999814507745,y_scale:.9999999814507745,xz_factor:80,y_factor:160},terrain_shaper:{offset:0,factor:0,jaggedness:0}},noise_router:{barrier:0,fluid_level_floodedness:0,fluid_level_spread:0,lava:0,temperature:0,vegetation:0,continents:0,erosion:0,depth:0,ridges:0,initial_density_without_jaggedness:0,final_density:{type:"minecraft:interpolated",argument:"minecraft:overworld/base_3d_noise"},vein_toggle:0,vein_ridged:0,vein_gap:0},surface_rule:{type:"minecraft:sequence",sequence:[]}},"minecraft:caves":{sea_level:32,ore_veins_enabled:!1,disable_mob_generation:!1,aquifers_enabled:!1,legacy_random_source:!0,default_block:{Name:"minecraft:stone"},default_fluid:{Properties:{level:"0"},Name:"minecraft:water"},noise:{min_y:0,height:128,size_horizontal:1,size_vertical:2,top_slide:{target:.9375,size:3,offset:0},bottom_slide:{target:2.5,size:4,offset:-1},sampling:{xz_scale:1,y_scale:3,xz_factor:80,y_factor:60},terrain_shaper:{offset:0,factor:0,jaggedness:0}},noise_router:{barrier:0,fluid_level_floodedness:0,fluid_level_spread:0,lava:0,temperature:0,vegetation:0,continents:0,erosion:0,depth:0,ridges:0,initial_density_without_jaggedness:0,final_density:{type:"minecraft:interpolated",argument:"minecraft:overworld/base_3d_noise"},vein_toggle:0,vein_ridged:0,vein_gap:0},surface_rule:{type:"minecraft:sequence",sequence:[]}},"minecraft:floating_islands":{sea_level:0,ore_veins_enabled:!1,disable_mob_generation:!1,aquifers_enabled:!1,legacy_random_source:!0,default_block:{Name:"minecraft:stone"},default_fluid:{Properties:{level:"0"},Name:"minecraft:water"},noise:{min_y:0,height:128,size_horizontal:2,size_vertical:1,top_slide:{target:-23.4375,size:64,offset:-46},bottom_slide:{target:-.234375,size:7,offset:1},sampling:{xz_scale:2,y_scale:1,xz_factor:80,y_factor:160},terrain_shaper:{offset:0,factor:1,jaggedness:0}},noise_router:{barrier:0,fluid_level_floodedness:0,fluid_level_spread:0,lava:0,temperature:0,vegetation:0,continents:0,erosion:0,depth:0,ridges:0,initial_density_without_jaggedness:0,final_density:{type:"minecraft:interpolated",argument:"minecraft:overworld/base_3d_noise"},vein_toggle:0,vein_ridged:0,vein_gap:0},surface_rule:{type:"minecraft:sequence",sequence:[]}}})}r.initCommonSchemas=t})(z);var _e={};Object.defineProperty(_e,"__esModule",{value:!0});_e.initConditionSchemas=void 0;const ee=k,ot=z;function it(r,e){const t=ee.Reference.bind(void 0,r),o=ee.StringNode.bind(void 0,e);r.register("predicate",(0,ee.ObjectOrList)(t("condition"),{choiceContext:"condition"})),r.register("condition",(0,ee.Mod)((0,ee.ObjectNode)({condition:o({validator:"resource",params:{pool:"loot_condition_type"}}),[ee.Switch]:[{push:"condition"}],[ee.Case]:(0,ot.ConditionCases)()},{category:"predicate",context:"condition"}),{default:()=>({condition:"minecraft:entity_properties",entity:"this"})}))}_e.initConditionSchemas=it;var ue={};Object.defineProperty(ue,"__esModule",{value:!0});ue.initDimensionSchemas=void 0;const O=k,$e=z;function nt(r,e){const t=O.Reference.bind(void 0,r),o=O.StringNode.bind(void 0,e),d=(0,O.ChoiceNode)([{type:"string",priority:1,node:o({validator:"resource",params:{pool:"$worldgen/structure_set"}}),change:()=>{}},{type:"object",node:t("structure_set"),change:()=>({})}],{choiceContext:"structure_set"});r.register("dimension",(0,O.Mod)((0,O.ObjectNode)({type:(0,$e.DimensionTypePresets)(t("dimension_type")),generator:(0,O.ObjectNode)({type:o({validator:"resource",params:{pool:"worldgen/chunk_generator"}}),[O.Switch]:[{push:"type"}],[O.Case]:{"minecraft:noise":{seed:(0,O.NumberNode)({integer:!0}),settings:(0,$e.NoiseSettingsPresets)(t("noise_settings")),biome_source:(0,O.ObjectNode)({type:o({validator:"resource",params:{pool:"worldgen/biome_source"}}),[O.Switch]:[{push:"type"}],[O.Case]:{"minecraft:fixed":{biome:o({validator:"resource",params:{pool:"$worldgen/biome"}})},"minecraft:multi_noise":{preset:(0,O.Opt)(o({validator:"resource",params:{pool:["minecraft:overworld","minecraft:nether"]}})),biomes:(0,O.Mod)((0,O.ListNode)(t("generator_biome")),{enabled:a=>a.push("preset").get()===void 0,default:()=>[{biome:"minecraft:plains"}]})},"minecraft:checkerboard":{scale:(0,O.Opt)((0,O.NumberNode)({integer:!0,min:0,max:62})),biomes:(0,$e.Tag)({resource:"$worldgen/biome"})},"minecraft:the_end":{seed:(0,O.NumberNode)({integer:!0})}}},{category:"predicate",disableSwitchContext:!0})},"minecraft:flat":{settings:(0,O.ObjectNode)({biome:(0,O.Opt)(o({validator:"resource",params:{pool:"$worldgen/biome"}})),lakes:(0,O.Opt)((0,O.BooleanNode)()),features:(0,O.Opt)((0,O.BooleanNode)()),layers:(0,O.ListNode)(t("generator_layer")),structure_overrides:(0,O.ListNode)(d)})}}},{disableSwitchContext:!0})},{category:"pool",context:"dimension"}),{default:()=>{const a=Math.floor(Math.random()*4294967296)-2147483648;return{type:"minecraft:overworld",generator:{type:"minecraft:noise",seed:a,biome_source:{type:"minecraft:fixed",seed:a,biome:"minecraft:plains"},settings:"minecraft:overworld"}}}}));const n=(0,O.ChoiceNode)([{type:"number",node:(0,O.NumberNode)({min:-2,max:2}),change:a=>{var p;return(p=a[0])!==null&&p!==void 0?p:0}},{type:"list",node:(0,O.ListNode)((0,O.NumberNode)({min:-2,max:2}),{minLength:2,maxLength:2}),change:a=>[a!=null?a:0,a!=null?a:0]}]);r.register("generator_biome",(0,O.Mod)((0,O.ObjectNode)({biome:o({validator:"resource",params:{pool:"$worldgen/biome"}}),parameters:(0,O.ObjectNode)({temperature:n,humidity:n,continentalness:n,erosion:n,weirdness:n,depth:n,offset:(0,O.NumberNode)({min:0,max:1})})},{context:"generator_biome"}),{default:()=>({biome:"minecraft:plains",parameters:{altitude:0,temperature:0,humidity:0,weirdness:0,offset:0}})}))}ue.initDimensionSchemas=nt;var pe={};Object.defineProperty(pe,"__esModule",{value:!0});pe.initDimensionTypeSchemas=void 0;const $=k,at=z;function ct(r,e){const t=$.StringNode.bind(void 0,e);r.register("dimension_type",(0,$.Mod)((0,$.ObjectNode)({ultrawarm:(0,$.BooleanNode)(),natural:(0,$.BooleanNode)(),piglin_safe:(0,$.BooleanNode)(),respawn_anchor_works:(0,$.BooleanNode)(),bed_works:(0,$.BooleanNode)(),has_raids:(0,$.BooleanNode)(),has_skylight:(0,$.BooleanNode)(),has_ceiling:(0,$.BooleanNode)(),coordinate_scale:(0,$.NumberNode)({min:1e-5,max:3e7}),ambient_light:(0,$.NumberNode)(),fixed_time:(0,$.Opt)((0,$.NumberNode)({integer:!0})),logical_height:(0,$.NumberNode)({integer:!0,min:0,max:4064}),effects:(0,$.Opt)(t({enum:["minecraft:overworld","minecraft:the_nether","minecraft:the_end"]})),infiniburn:t({validator:"resource",params:{pool:"block",requireTag:!0}}),min_y:(0,$.NumberNode)({integer:!0,min:-2032,max:2031}),height:(0,$.NumberNode)({integer:!0,min:16,max:4064})},{context:"dimension_type"}),o=>({default:()=>at.DefaultDimensionType,validate:(d,n,a,p)=>(n=o.validate(d,n,a,p),(n==null?void 0:n.min_y)+(n==null?void 0:n.height)>2032&&a.add(d.push("height"),"error.min_y_plus_height",2032),(n==null?void 0:n.logical_height)>(n==null?void 0:n.height)&&a.add(d.push("logical_height"),"error.logical_height"),(n==null?void 0:n.height)%16!==0&&a.add(d.push("height"),"error.height_multiple",16),(n==null?void 0:n.min_y)%16!==0&&a.add(d.push("min_y"),"error.min_y_multiple",16),n)})))}pe.initDimensionTypeSchemas=ct;var fe={};Object.defineProperty(fe,"__esModule",{value:!0});fe.initItemModifierSchemas=void 0;const U=k,dt=z;function st(r,e){const t=U.Reference.bind(void 0,r),o=U.StringNode.bind(void 0,e);r.register("item_modifier",(0,U.ObjectOrList)(t("function"),{choiceContext:"function"}));const d={conditions:(0,U.Opt)((0,U.ListNode)(t("condition")))};r.register("function",(0,U.Mod)((0,U.ObjectNode)({function:o({validator:"resource",params:{pool:"loot_function_type"}}),[U.Switch]:[{push:"function"}],[U.Case]:(0,dt.FunctionCases)(d)},{category:"function",context:"function"}),{default:()=>[{function:"minecraft:set_count",count:1}]}))}fe.initItemModifierSchemas=st;var ge={},T={};Object.defineProperty(T,"__esModule",{value:!0});T.LootFunctions=T.LootConditions=T.LootCopySources=T.LootEntitySources=T.LootTableTypes=void 0;T.LootTableTypes=new Map([["minecraft:advancement_entity",{requires:[7,8],allows:[]}],["minecraft:advancement_reward",{requires:[7,8],allows:[]}],["minecraft:barter",{requires:[8],allows:[]}],["minecraft:block",{requires:[1,7,9],allows:[0,4,8]}],["minecraft:chest",{requires:[7],allows:[8]}],["minecraft:command",{requires:[7],allows:[8]}],["minecraft:empty",{requires:[],allows:[]}],["minecraft:entity",{requires:[2,7,8],allows:[3,5,6]}],["minecraft:fishing",{requires:[7,9],allows:[8]}],["minecraft:generic",{requires:[2,0,1,3,4,5,6,7,8,9],allows:[]}],["minecraft:gift",{requires:[7,8],allows:[]}],["minecraft:selector",{requires:[7],allows:[8]}]]);T.LootEntitySources=new Map([["direct_killer",[3]],["killer",[5]],["killer_player",[5]],["this",[8]]]);T.LootCopySources=new Map([["block_entity",[0]],["killer",[5]],["killer_player",[5]],["this",[8]]]);T.LootConditions=new Map([["minecraft:alternative",[]],["minecraft:block_state_property",[1]],["minecraft:damage_source_properties",[2]],["minecraft:entity_properties",[7]],["minecraft:entity_scores",[]],["minecraft:inverted",[]],["minecraft:killed_by_player",[6]],["minecraft:location_check",[]],["minecraft:match_tool",[9]],["minecraft:random_chance",[]],["minecraft:random_chance_with_looting",[5]],["minecraft:reference",[]],["minecraft:survives_explosion",[4]],["minecraft:table_bonus",[9]],["minecraft:time_check",[]],["minecraft:weather_check",[]]]);T.LootFunctions=new Map([["minecraft:apply_bonus",[9]],["minecraft:copy_name",[]],["minecraft:copy_nbt",[]],["minecraft:copy_state",[1]],["minecraft:enchant_randomly",[]],["minecraft:enchant_with_levels",[]],["minecraft:exploration_map",[7]],["minecraft:explosion_decay",[]],["minecraft:fill_player_head",[]],["minecraft:furnace_smelt",[]],["minecraft:limit_count",[]],["minecraft:looting_enchant",[5]],["minecraft:set_attributes",[]],["minecraft:set_banner_pattern",[]],["minecraft:set_contents",[]],["minecraft:set_count",[]],["minecraft:set_damage",[]],["minecraft:set_loot_table",[]],["minecraft:set_lore",[]],["minecraft:set_name",[]],["minecraft:set_nbt",[]],["minecraft:set_stew_effect",[]]]);Object.defineProperty(ge,"__esModule",{value:!0});ge.initLootTableSchemas=void 0;const u=k,oe=T,Re=z;function lt(r,e){const t=u.Reference.bind(void 0,r),o=u.StringNode.bind(void 0,e),d={conditions:(0,u.Opt)((0,u.ListNode)(t("loot_condition")))},n=g({functions:(0,u.Opt)((0,u.ListNode)(t("loot_function")))},d);function a(v,S,B){const E=[],ie=Z=>e.get(S).filter(J=>{var q;return((q=v.get(J))!==null&&q!==void 0?q:[]).every(Q=>Z.includes(Q))});for(const[Z,{allows:J,requires:q}]of oe.LootTableTypes){const I=[...J,...q];E.push({match:Q=>Q.getModel().get(new u.Path(["type"]))===Z,node:B(ie(I))})}return E.push({match:Z=>!0,node:B(S)}),(0,u.SwitchNode)(E)}const p=a(oe.LootConditions,"loot_condition_type",v=>o({validator:"resource",params:{pool:v instanceof Array?v:"loot_condition_type"}})),w=a(oe.LootFunctions,"loot_function_type",v=>o({validator:"resource",params:{pool:v instanceof Array?v:"loot_function_type"}})),m=a(oe.LootEntitySources,"entity_source",v=>o({enum:v})),f=a(oe.LootCopySources,"copy_source",v=>o({enum:v}));r.register("loot_table",(0,u.Mod)((0,u.ObjectNode)({type:(0,u.Opt)(o({validator:"resource",params:{pool:e.get("loot_context_type")}})),pools:(0,u.Opt)((0,u.ListNode)((0,u.Mod)((0,u.ObjectNode)(g({rolls:t("number_provider"),bonus_rolls:(0,u.Opt)(t("number_provider")),entries:(0,u.ListNode)(t("loot_entry"))},n),{category:"pool",context:"loot_pool"}),{default:()=>({rolls:1,entries:[{type:"minecraft:item",name:"minecraft:stone"}]})}))),functions:(0,u.Opt)((0,u.ListNode)(t("loot_function")))},{context:"loot_table"}),{default:()=>({pools:[{rolls:1,entries:[{type:"minecraft:item",name:"minecraft:stone"}]}]})}));const j={enabled:v=>{var S;return((S=v.pop().get())===null||S===void 0?void 0:S.length)>1&&!["minecraft:alternatives","minecraft:group","minecraft:sequence"].includes(v.push("type").get())}};r.register("loot_entry",(0,u.Mod)((0,u.ObjectNode)({type:o({validator:"resource",params:{pool:"loot_pool_entry_type"}}),weight:(0,u.Opt)((0,u.Mod)((0,u.NumberNode)({integer:!0,min:1}),j)),quality:(0,u.Opt)((0,u.Mod)((0,u.NumberNode)({integer:!0}),j)),[u.Switch]:[{push:"type"}],[u.Case]:{"minecraft:alternatives":g({children:(0,u.ListNode)(t("loot_entry"))},n),"minecraft:dynamic":g({name:o()},n),"minecraft:group":g({children:(0,u.ListNode)(t("loot_entry"))},n),"minecraft:item":g({name:o({validator:"resource",params:{pool:"item"}})},n),"minecraft:loot_table":g({name:o({validator:"resource",params:{pool:"$loot_table"}})},n),"minecraft:sequence":g({children:(0,u.ListNode)(t("loot_entry"))},n),"minecraft:tag":g({name:o({validator:"resource",params:{pool:"$tag/item"}}),expand:(0,u.Opt)((0,u.BooleanNode)())},n)}},{context:"loot_entry"}),{default:()=>({type:"minecraft:item",name:"minecraft:stone"})})),r.register("loot_function",(0,u.Mod)((0,u.ObjectNode)({function:w,[u.Switch]:[{push:"function"}],[u.Case]:(0,Re.FunctionCases)(d,f,m)},{category:"function",context:"function"}),{default:()=>({function:"minecraft:set_count",count:1})})),r.register("loot_condition",(0,u.Mod)((0,u.ObjectNode)({condition:p,[u.Switch]:[{push:"condition"}],[u.Case]:(0,Re.ConditionCases)(m)},{category:"predicate",context:"condition"}),{default:()=>({condition:"minecraft:random_chance",chance:.5})})),r.register("attribute_modifier",(0,u.Mod)((0,u.ObjectNode)({attribute:o({validator:"resource",params:{pool:"attribute"}}),name:o(),amount:t("number_provider"),operation:o({enum:["addition","multiply_base","multiply_total"]}),slot:(0,u.StringOrList)(o({enum:"slot"}))},{context:"attribute_modifier"}),{default:()=>({attribute:"minecraft:generic.max_health",name:"",amount:1,operation:"addition",slot:"mainhand"})}))}ge.initLootTableSchemas=lt;var be={};Object.defineProperty(be,"__esModule",{value:!0});be.initPackMcmetaSchemas=void 0;const te=k,H=9;function mt(r,e){r.register("pack_mcmeta",(0,te.Mod)((0,te.ObjectNode)({pack:(0,te.Mod)((0,te.ObjectNode)({pack_format:(0,te.Mod)((0,te.NumberNode)({integer:!0,min:H,max:H}),{default:()=>H,canUpdate:(t,o)=>o!==H,update:()=>[{name:"pack_format",params:[H],newValue:H}]}),description:(0,te.Reference)(r,"text_component")}),{default:()=>({pack_format:H,description:""})})}),{default:()=>({pack:{pack_format:H,description:""}})}))}be.initPackMcmetaSchemas=mt;var Ne={};Object.defineProperty(Ne,"__esModule",{value:!0});Ne.initPredicatesSchemas=void 0;const c=k;function _t(r,e){const t=c.Reference.bind(void 0,r),o=c.StringNode.bind(void 0,e),d=(0,c.ChoiceNode)([{type:"string",node:o(),change:n=>typeof n=="boolean"||typeof n=="number"?n.toString():""},{type:"number",node:(0,c.NumberNode)(),change:n=>typeof n=="string"?parseInt(n):0},{type:"object",node:(0,c.ObjectNode)({min:(0,c.Opt)((0,c.NumberNode)({integer:!0})),max:(0,c.Opt)((0,c.NumberNode)({integer:!0}))}),change:n=>typeof n=="number"?{min:n,max:n}:{}},{type:"boolean",node:(0,c.BooleanNode)(),change:n=>n==="true"||n===1}]);r.register("item_predicate",(0,c.ObjectNode)({items:(0,c.Opt)((0,c.ListNode)(o({validator:"resource",params:{pool:"item"}}))),tag:(0,c.Opt)(o({validator:"resource",params:{pool:"$tag/item"}})),count:t("int_bounds"),durability:t("int_bounds"),potion:(0,c.Opt)(o({validator:"resource",params:{pool:"potion"}})),nbt:(0,c.Opt)(o({validator:"nbt",params:{registry:{category:"minecraft:item",id:["pop",{push:"item"}]}}})),enchantments:(0,c.Opt)((0,c.ListNode)(t("enchantment_predicate")))},{context:"item"})),r.register("enchantment_predicate",(0,c.ObjectNode)({enchantment:(0,c.Opt)(o({validator:"resource",params:{pool:"enchantment"}})),levels:t("int_bounds")},{context:"enchantment"})),r.register("block_predicate",(0,c.ObjectNode)({blocks:(0,c.Opt)((0,c.ListNode)(o({validator:"resource",params:{pool:"block"}}))),tag:(0,c.Opt)(o({validator:"resource",params:{pool:"$tag/block"}})),nbt:(0,c.Opt)(o({validator:"nbt",params:{registry:{category:"minecraft:block",id:["pop",{push:"block"}]}}})),state:(0,c.Opt)((0,c.MapNode)(o(),d,{validation:{validator:"block_state_map",params:{id:["pop",{push:"block"}]}}}))},{context:"block"})),r.register("fluid_predicate",(0,c.ObjectNode)({fluid:(0,c.Opt)(o({validator:"resource",params:{pool:"fluid"}})),tag:(0,c.Opt)(o({validator:"resource",params:{pool:"$tag/fluid"}})),state:(0,c.Opt)((0,c.MapNode)(o(),d))},{context:"fluid"})),r.register("location_predicate",(0,c.ObjectNode)({position:(0,c.Opt)((0,c.ObjectNode)({x:t("float_bounds"),y:t("float_bounds"),z:t("float_bounds")})),biome:(0,c.Opt)(o({validator:"resource",params:{pool:"$worldgen/biome"}})),feature:(0,c.Opt)(o({validator:"resource",params:{pool:"$worldgen/configured_structure_feature"}})),dimension:(0,c.Opt)(o({validator:"resource",params:{pool:"$dimension"}})),light:(0,c.Opt)((0,c.ObjectNode)({light:t("int_bounds")})),smokey:(0,c.Opt)((0,c.BooleanNode)()),block:(0,c.Opt)(t("block_predicate")),fluid:(0,c.Opt)(t("fluid_predicate"))},{context:"location"})),r.register("statistic_predicate",(0,c.ObjectNode)({type:o({validator:"resource",params:{pool:"stat_type"}}),stat:o(),value:t("int_bounds"),[c.Switch]:[{push:"type"}],[c.Case]:{"minecraft:mined":{stat:o({validator:"resource",params:{pool:"block"}})},"minecraft:crafted":{stat:o({validator:"resource",params:{pool:"item"}})},"minecraft:used":{stat:o({validator:"resource",params:{pool:"item"}})},"minecraft:broken":{stat:o({validator:"resource",params:{pool:"item"}})},"minecraft:picked_up":{stat:o({validator:"resource",params:{pool:"item"}})},"minecraft:dropped":{stat:o({validator:"resource",params:{pool:"item"}})},"minecraft:killed":{stat:o({validator:"resource",params:{pool:"entity_type"}})},"minecraft:killed_by":{stat:o({validator:"resource",params:{pool:"entity_type"}})},"minecraft:custom":{stat:o({validator:"resource",params:{pool:"custom_stat"}})}}})),r.register("player_predicate",(0,c.ObjectNode)({gamemode:(0,c.Opt)(o({enum:"gamemode"})),level:t("int_bounds"),advancements:(0,c.Opt)((0,c.MapNode)(o({validator:"resource",params:{pool:"$advancement"}}),(0,c.ChoiceNode)([{type:"boolean",node:(0,c.BooleanNode)(),change:n=>!0},{type:"object",node:(0,c.MapNode)(o(),(0,c.BooleanNode)())}]))),recipes:(0,c.Opt)((0,c.MapNode)(o({validator:"resource",params:{pool:"$recipe"}}),(0,c.BooleanNode)())),stats:(0,c.Opt)((0,c.ListNode)(t("statistic_predicate"))),looking_at:(0,c.Opt)(t("entity_predicate"))},{context:"player"})),r.register("status_effect_predicate",(0,c.ObjectNode)({amplifier:t("int_bounds"),duration:t("int_bounds"),ambient:(0,c.Opt)((0,c.BooleanNode)()),visible:(0,c.Opt)((0,c.BooleanNode)())},{context:"status_effect"})),r.register("distance_predicate",(0,c.ObjectNode)({x:t("float_bounds"),y:t("float_bounds"),z:t("float_bounds"),absolute:t("float_bounds"),horizontal:t("float_bounds")},{context:"distance"})),r.register("entity_predicate",(0,c.ObjectNode)({type:(0,c.Opt)(o({validator:"resource",params:{pool:"entity_type",allowTag:!0}})),nbt:(0,c.Opt)(o({validator:"nbt",params:{registry:{category:"minecraft:entity",id:["pop",{push:"type"}]}}})),team:(0,c.Opt)(o({validator:"team"})),location:(0,c.Opt)(t("location_predicate")),stepping_on:(0,c.Opt)(t("location_predicate")),distance:(0,c.Opt)(t("distance_predicate")),flags:(0,c.Opt)((0,c.ObjectNode)({is_on_fire:(0,c.Opt)((0,c.BooleanNode)()),is_sneaking:(0,c.Opt)((0,c.BooleanNode)()),is_sprinting:(0,c.Opt)((0,c.BooleanNode)()),is_swimming:(0,c.Opt)((0,c.BooleanNode)()),is_baby:(0,c.Opt)((0,c.BooleanNode)())})),equipment:(0,c.Opt)((0,c.MapNode)(o({enum:"slot"}),t("item_predicate"))),player:(0,c.Opt)(t("player_predicate")),vehicle:(0,c.Opt)(t("entity_predicate")),passenger:(0,c.Opt)(t("entity_predicate")),targeted_entity:(0,c.Opt)(t("entity_predicate")),lightning_bolt:(0,c.Opt)((0,c.ObjectNode)({blocks_set_on_fire:(0,c.Opt)(t("int_bounds")),entity_struck:(0,c.Opt)(t("entity_predicate"))})),fishing_hook:(0,c.Opt)((0,c.ObjectNode)({in_open_water:(0,c.Opt)((0,c.BooleanNode)())})),catType:(0,c.Opt)(o({enum:"cat_texture"})),effects:(0,c.Opt)((0,c.MapNode)(o({validator:"resource",params:{pool:"mob_effect"}}),t("status_effect_predicate")))},{context:"entity"})),r.register("damage_source_predicate",(0,c.ObjectNode)({is_explosion:(0,c.Opt)((0,c.BooleanNode)()),is_fire:(0,c.Opt)((0,c.BooleanNode)()),is_magic:(0,c.Opt)((0,c.BooleanNode)()),is_projectile:(0,c.Opt)((0,c.BooleanNode)()),is_lightning:(0,c.Opt)((0,c.BooleanNode)()),bypasses_armor:(0,c.Opt)((0,c.BooleanNode)()),bypasses_invulnerability:(0,c.Opt)((0,c.BooleanNode)()),bypasses_magic:(0,c.Opt)((0,c.BooleanNode)()),source_entity:(0,c.Opt)(t("entity_predicate")),direct_entity:(0,c.Opt)(t("entity_predicate"))},{context:"damage_source"})),r.register("damage_predicate",(0,c.ObjectNode)({dealt:t("float_bounds"),taken:t("float_bounds"),blocked:(0,c.Opt)((0,c.BooleanNode)()),source_entity:(0,c.Opt)(t("entity_predicate")),type:(0,c.Opt)(t("damage_source_predicate"))},{context:"damage"}))}Ne.initPredicatesSchemas=_t;var he={};Object.defineProperty(he,"__esModule",{value:!0});he.initRecipeSchemas=void 0;const _=k;function ut(r,e){const t=_.Reference.bind(void 0,r),o=_.StringNode.bind(void 0,e);r.register("recipe",(0,_.Mod)((0,_.ObjectNode)({type:o({validator:"resource",params:{pool:"recipe_serializer"}}),[_.Switch]:[{push:"type"}],[_.Case]:{"minecraft:crafting_shaped":{group:(0,_.Opt)(o({enum:"recipe_group",additional:!0})),pattern:(0,_.ListNode)(o()),key:(0,_.MapNode)(o(),t("recipe_ingredient")),result:t("recipe_result")},"minecraft:crafting_shapeless":{group:(0,_.Opt)(o()),ingredients:(0,_.ListNode)(t("recipe_ingredient")),result:t("recipe_result")},"minecraft:smelting":{group:(0,_.Opt)(o()),ingredient:t("recipe_ingredient"),result:o({validator:"resource",params:{pool:"item"}}),experience:(0,_.Opt)((0,_.NumberNode)()),cookingtime:(0,_.Opt)((0,_.Mod)((0,_.NumberNode)({integer:!0}),{default:()=>200}))},"minecraft:blasting":{group:(0,_.Opt)(o()),ingredient:t("recipe_ingredient"),result:o({validator:"resource",params:{pool:"item"}}),experience:(0,_.Opt)((0,_.NumberNode)()),cookingtime:(0,_.Opt)((0,_.Mod)((0,_.NumberNode)({integer:!0}),{default:()=>100}))},"minecraft:smoking":{group:(0,_.Opt)(o()),ingredient:t("recipe_ingredient"),result:o({validator:"resource",params:{pool:"item"}}),experience:(0,_.Opt)((0,_.NumberNode)()),cookingtime:(0,_.Opt)((0,_.Mod)((0,_.NumberNode)({integer:!0}),{default:()=>100}))},"minecraft:campfire_cooking":{group:(0,_.Opt)(o()),ingredient:t("recipe_ingredient"),result:o({validator:"resource",params:{pool:"item"}}),experience:(0,_.Opt)((0,_.NumberNode)()),cookingtime:(0,_.Opt)((0,_.Mod)((0,_.NumberNode)({integer:!0}),{default:()=>100}))},"minecraft:stonecutting":{group:(0,_.Opt)(o()),ingredient:t("recipe_ingredient"),result:o({validator:"resource",params:{pool:"item"}}),count:(0,_.NumberNode)({integer:!0})},"minecraft:smithing":{group:(0,_.Opt)(o()),base:t("recipe_ingredient_object"),addition:t("recipe_ingredient_object"),result:t("recipe_result")}}},{context:"recipe",disableSwitchContext:!0}),{default:()=>({type:"minecraft:crafting_shaped"})})),r.register("recipe_ingredient",(0,_.Mod)((0,_.ChoiceNode)([{type:"object",node:t("recipe_ingredient_object"),change:d=>d[0]},{type:"list",node:(0,_.ListNode)(t("recipe_ingredient_object")),change:d=>[d]}]),{default:()=>({item:"minecraft:stone"})})),r.register("recipe_ingredient_object",(0,_.Mod)((0,_.ObjectNode)({item:(0,_.Opt)(o({validator:"resource",params:{pool:"item"}})),tag:(0,_.Opt)(o({validator:"resource",params:{pool:"$tag/item"}}))}),{default:()=>({item:"minecraft:stone"})})),r.register("recipe_result",(0,_.Mod)((0,_.ObjectNode)({item:o({validator:"resource",params:{pool:"item"}}),count:(0,_.Opt)((0,_.Mod)((0,_.NumberNode)({integer:!0}),{default:()=>1}))}),{default:()=>({item:"minecraft:stone"})}))}he.initRecipeSchemas=ut;var ye={};Object.defineProperty(ye,"__esModule",{value:!0});ye.initTagsSchemas=void 0;const V=k;function pt(r,e){const t=V.StringNode.bind(void 0,e),o=d=>(0,V.Mod)((0,V.ObjectNode)({replace:(0,V.Opt)((0,V.BooleanNode)()),values:(0,V.ListNode)((0,V.ChoiceNode)([{type:"string",node:t({validator:"resource",params:{pool:d,allowTag:!0}}),change:n=>n.id},{type:"object",node:(0,V.ObjectNode)({id:t({validator:"resource",params:{pool:d,allowTag:!0,allowUnknown:!0}}),required:(0,V.BooleanNode)()}),change:n=>({id:n})}]))},{context:"tag"}),{default:()=>({values:[]})});r.register("block_tag",o("block")),r.register("entity_type_tag",o("entity_type")),r.register("fluid_tag",o("fluid")),r.register("function_tag",o("$function")),r.register("game_event_tag",o("game_event")),r.register("item_tag",o("item")),r.register("advancement_tag",o("$advancement")),r.register("dimension_tag",o("$dimension")),r.register("dimension_type_tag",o("$dimension_type")),r.register("function_tag",o("$function")),r.register("item_modifier_tag",o("$item_modifier")),r.register("loot_table_tag",o("$loot_table")),r.register("predicate_tag",o("$predicate")),r.register("recipe_tag",o("$recipe")),r.register("structure_tag",o("$structure")),r.register("biome_tag",o("$worldgen/biome")),r.register("configured_carver_tag",o("$worldgen/configured_carver")),r.register("configured_decorator_tag",o("$worldgen/configured_decorator")),r.register("configured_feature_tag",o("$worldgen/configured_feature")),r.register("configured_structure_feature_tag",o("$worldgen/configured_structure_feature")),r.register("configured_surface_builder_tag",o("$worldgen/configured_surface_builder")),r.register("density_function_tag",o("$worldgen/density_function")),r.register("noise_tag",o("$worldgen/noise")),r.register("noise_settings_tag",o("$worldgen/noise_settings")),r.register("placed_feature_tag",o("$worldgen/placed_feature")),r.register("processor_list_tag",o("$worldgen/processor_list")),r.register("structure_set_tag",o("$worldgen/structure_set")),r.register("template_pool_tag",o("$worldgen/template_pool"))}ye.initTagsSchemas=pt;var ve={};Object.defineProperty(ve,"__esModule",{value:!0});ve.initTextComponentSchemas=void 0;const l=k;function ft(r,e){const t=l.Reference.bind(void 0,r),o=l.StringNode.bind(void 0,e),d=a=>{var p;return a instanceof Array?d(a[0]):(p=a==null?void 0:a.text)!==null&&p!==void 0?p:typeof a=="object"?"":a==null?void 0:a.toString()};r.register("text_component",(0,l.Mod)((0,l.ChoiceNode)([{type:"object",node:t("text_component_object"),change:a=>a instanceof Array?typeof a[0]=="object"?a[0]:{text:d(a[0])}:typeof a=="object"?a:{text:d(a)}},{type:"list",node:t("text_component_list"),change:a=>[a]},{type:"string",priority:1,node:o(),change:d},{type:"number",node:(0,l.NumberNode)(),change:a=>{const p=parseFloat(d(a));return isFinite(p)?p:a?1:0}},{type:"boolean",node:(0,l.BooleanNode)(),change:a=>{const p=d(a);return p==="true"||p==="false"?p==="true":!!p}}],{context:"text_component"}),{default:()=>({text:""})}));const n={color:(0,l.Opt)(o()),font:(0,l.Opt)(o()),bold:(0,l.Opt)((0,l.BooleanNode)()),italic:(0,l.Opt)((0,l.BooleanNode)()),underlined:(0,l.Opt)((0,l.BooleanNode)()),strikethrough:(0,l.Opt)((0,l.BooleanNode)()),obfuscated:(0,l.Opt)((0,l.BooleanNode)()),insertion:(0,l.Opt)(o()),clickEvent:(0,l.Opt)((0,l.ObjectNode)({action:o({enum:["open_url","open_file","run_command","suggest_command","change_page","copy_to_clipboard"]}),[l.Switch]:[{push:"action"}],[l.Case]:{change_page:{value:o()},copy_to_clipboard:{value:o()},open_file:{value:o()},open_url:{value:o()},run_command:{value:o({validator:"command",params:{leadingSlash:!0,allowPartial:!0}})},suggest_command:{value:o({validator:"command",params:{leadingSlash:!0,allowPartial:!0}})}}})),hoverEvent:(0,l.Opt)((0,l.ObjectNode)({action:o({enum:["show_text","show_item","show_entity"]}),[l.Switch]:[{push:"action"}],[l.Case]:{show_text:{value:(0,l.Opt)(t("text_component")),contents:(0,l.Opt)(t("text_component"))},show_item:{value:(0,l.Opt)(o({validator:"nbt",params:{module:"util::InventoryItem"}})),contents:(0,l.Opt)((0,l.ObjectNode)({id:o({validator:"resource",params:{pool:"item"}}),count:(0,l.Opt)((0,l.NumberNode)({integer:!0})),tag:(0,l.Opt)(o({validator:"nbt",params:{registry:{category:"minecraft:item",id:["pop",{push:"id"}]}}}))}))},show_entity:{value:(0,l.Opt)((0,l.ObjectNode)({name:(0,l.Opt)(o()),type:(0,l.Opt)(o()),id:(0,l.Opt)(o())})),contents:(0,l.Opt)((0,l.Mod)((0,l.ObjectNode)({name:(0,l.Opt)(t("text_component")),type:o({validator:"resource",params:{pool:"entity_type"}}),id:o({validator:"uuid"})}),{default:()=>({type:"minecraft:pig",id:"00000001-0001-0001-0001-000000000001"})}))}}})),extra:(0,l.Opt)(t("text_component_list"))};r.register("text_component_object",(0,l.Mod)((0,l.ChoiceNode)([{type:"text",match:a=>typeof a=="object",change:a=>({text:""}),priority:-1,node:(0,l.ObjectNode)(g({text:o()},n))},{type:"translation",match:a=>(a==null?void 0:a.translate)!==void 0,change:a=>({translate:""}),node:(0,l.ObjectNode)(g({translate:o(),with:(0,l.Opt)(t("text_component_list"))},n))},{type:"score",match:a=>(a==null?void 0:a.score)!==void 0,change:a=>({score:{}}),node:(0,l.ObjectNode)(g({score:(0,l.ObjectNode)({name:o({validator:"entity",params:{amount:"single",type:"entities",isScoreHolder:!0}}),objective:o({validator:"objective"}),value:(0,l.Opt)(o())})},n))},{type:"selector",match:a=>(a==null?void 0:a.selector)!==void 0,change:a=>({selector:""}),node:(0,l.ObjectNode)(g({selector:o({validator:"entity",params:{amount:"multiple",type:"entities"}}),separator:(0,l.Opt)(t("text_component"))},n))},{type:"keybind",match:a=>(a==null?void 0:a.keybind)!==void 0,change:a=>({keybind:""}),node:(0,l.ObjectNode)(g({keybind:o({enum:"keybind",additional:!0})},n))},{type:"nbt",match:a=>(a==null?void 0:a.nbt)!==void 0,change:a=>({nbt:""}),node:(0,l.ObjectNode)(g({nbt:o({validator:"nbt_path"}),block:(0,l.Opt)(o({validator:"vector",params:{dimension:3,isInteger:!0}})),entity:(0,l.Opt)(o({validator:"entity",params:{amount:"multiple",type:"entities"}})),storage:(0,l.Opt)(o({validator:"resource",params:{pool:"$storage"}})),interpret:(0,l.Opt)((0,l.BooleanNode)()),separator:(0,l.Opt)(t("text_component"))},n))}],{context:"text_component_object",choiceContext:"text_component.object"}),{default:()=>({text:""})})),r.register("text_component_list",(0,l.Mod)((0,l.ListNode)(t("text_component")),{default:()=>[{text:""}]}))}ve.initTextComponentSchemas=ft;var Oe={},Fe={};(function(r){Object.defineProperty(r,"__esModule",{value:!0}),r.initBiomeSchemas=r.MobCategorySpawnSettings=void 0;const e=k,t=z;function o(d,n){const a=e.StringNode.bind(void 0,n);r.MobCategorySpawnSettings=(0,e.Mod)((0,e.ListNode)((0,e.ObjectNode)({type:a({validator:"resource",params:{pool:"entity_type"}}),weight:(0,e.NumberNode)({integer:!0}),minCount:(0,e.NumberNode)({integer:!0}),maxCount:(0,e.NumberNode)({integer:!0})})),{category:()=>"pool",default:()=>[{type:"minecraft:bat",weight:1}]}),d.register("biome",(0,e.Mod)((0,e.ObjectNode)({temperature:(0,e.NumberNode)(),downfall:(0,e.NumberNode)(),precipitation:a({enum:["none","rain","snow"]}),temperature_modifier:(0,e.Opt)(a({enum:["none","frozen"]})),category:a({enum:"biome_category"}),creature_spawn_probability:(0,e.Opt)((0,e.NumberNode)({min:0,max:1})),effects:(0,e.ObjectNode)({sky_color:(0,e.NumberNode)({color:!0}),fog_color:(0,e.NumberNode)({color:!0}),water_color:(0,e.NumberNode)({color:!0}),water_fog_color:(0,e.NumberNode)({color:!0}),grass_color:(0,e.Opt)((0,e.NumberNode)({color:!0})),foliage_color:(0,e.Opt)((0,e.NumberNode)({color:!0})),grass_color_modifier:(0,e.Opt)(a({enum:["none","dark_forest","swamp"]})),ambient_sound:(0,e.Opt)(a()),mood_sound:(0,e.Opt)((0,e.ObjectNode)({sound:a(),tick_delay:(0,e.NumberNode)({integer:!0}),block_search_extent:(0,e.NumberNode)({integer:!0}),offset:(0,e.NumberNode)()})),additions_sound:(0,e.Opt)((0,e.ObjectNode)({sound:a(),tick_chance:(0,e.NumberNode)({min:0,max:1})})),music:(0,e.Opt)((0,e.ObjectNode)({sound:a(),min_delay:(0,e.NumberNode)({integer:!0,min:0}),max_delay:(0,e.NumberNode)({integer:!0,min:0}),replace_current_music:(0,e.BooleanNode)()})),particle:(0,e.Opt)((0,e.ObjectNode)({options:(0,e.ObjectNode)({type:a()}),probability:(0,e.NumberNode)({min:0,max:1})}))}),spawners:(0,e.MapNode)(a({enum:"mob_category"}),r.MobCategorySpawnSettings),spawn_costs:(0,e.MapNode)(a({validator:"resource",params:{pool:"entity_type"}}),(0,e.Mod)((0,e.ObjectNode)({energy_budget:(0,e.NumberNode)(),charge:(0,e.NumberNode)()},{category:"function"}),{default:()=>({energy_budget:.12,charge:1})})),carvers:(0,e.MapNode)(a({enum:["air","liquid"]}),(0,e.Mod)((0,t.Tag)({resource:"$worldgen/configured_carver",inlineSchema:"configured_carver"}),{default:()=>["minecraft:cave"]})),features:(0,e.ListNode)((0,e.Mod)((0,t.Tag)({resource:"$worldgen/placed_feature",inlineSchema:"placed_feature"}),{category:()=>"predicate"}),{maxLength:11})},{context:"biome"}),{default:()=>({temperature:.8,downfall:.4,precipitation:"rain",category:"plains",effects:{sky_color:7907327,fog_color:12638463,water_color:4159204,water_fog_color:329011}})}))}r.initBiomeSchemas=o})(Fe);var ke={};Object.defineProperty(ke,"__esModule",{value:!0});ke.initCarverSchemas=void 0;const P=k,K=z;function gt(r,e){const t=P.Reference.bind(void 0,r),o=P.StringNode.bind(void 0,e),d={vertical_rotation:(0,K.FloatProvider)(),shape:(0,P.ObjectNode)({distance_factor:(0,K.FloatProvider)(),thickness:(0,K.FloatProvider)(),width_smoothness:(0,P.NumberNode)({integer:!0,min:0}),horizontal_radius_factor:(0,K.FloatProvider)(),vertical_radius_default_factor:(0,P.NumberNode)(),vertical_radius_center_factor:(0,P.NumberNode)()})},n={horizontal_radius_multiplier:(0,K.FloatProvider)(),vertical_radius_multiplier:(0,K.FloatProvider)(),floor_level:(0,K.FloatProvider)({min:-1,max:1})};r.register("configured_carver",(0,P.Mod)((0,P.ObjectNode)({type:o({validator:"resource",params:{pool:"worldgen/carver"}}),config:(0,P.ObjectNode)({probability:(0,P.NumberNode)({min:0,max:1}),y:t("height_provider"),yScale:(0,K.FloatProvider)(),lava_level:t("vertical_anchor"),debug_settings:(0,P.Opt)((0,P.ObjectNode)({debug_mode:(0,P.Opt)((0,P.BooleanNode)()),air_state:(0,P.Opt)(t("block_state")),water_state:(0,P.Opt)(t("block_state")),lava_state:(0,P.Opt)(t("block_state")),barrier_state:(0,P.Opt)(t("block_state"))})),[P.Switch]:["pop",{push:"type"}],[P.Case]:{"minecraft:canyon":d,"minecraft:cave":n,"minecraft:nether_cave":n}})},{context:"carver"}),{default:()=>({type:"minecraft:cave",config:{probability:.1}})}))}ke.initCarverSchemas=gt;var we={};Object.defineProperty(we,"__esModule",{value:!0});we.initDecoratorSchemas=void 0;const L=k,ne=z;function bt(r,e){const t=L.Reference.bind(void 0,r),o=L.StringNode.bind(void 0,e);r.register("decorator",(0,L.ObjectNode)({type:o({validator:"resource",params:{pool:"worldgen/placement_modifier_type"}}),[L.Switch]:[{push:"type"}],[L.Case]:{"minecraft:block_predicate_filter":{predicate:t("block_predicate_worldgen")},"minecraft:carving_mask":{step:o({enum:"generation_step"})},"minecraft:rarity_filter":{chance:(0,L.NumberNode)({integer:!0,min:0})},"minecraft:count":{count:(0,ne.IntProvider)({min:0,max:256})},"minecraft:count_on_every_layer":{count:(0,ne.IntProvider)({min:0,max:256})},"minecraft:noise_threshold_count":{noise_level:(0,L.NumberNode)(),below_noise:(0,L.NumberNode)({integer:!0}),above_noise:(0,L.NumberNode)({integer:!0})},"minecraft:noise_based_count":{noise_to_count_ratio:(0,L.NumberNode)({integer:!0}),noise_factor:(0,L.NumberNode)(),noise_offset:(0,L.Opt)((0,L.NumberNode)())},"minecraft:environment_scan":{direction_of_search:o({enum:["up","down"]}),max_steps:(0,L.NumberNode)({integer:!0,min:1,max:32}),target_condition:t("block_predicate_worldgen"),allowed_search_condition:(0,L.Opt)(t("block_predicate_worldgen"))},"minecraft:heightmap":{heightmap:o({enum:"heightmap_type"})},"minecraft:height_range":{height:t("height_provider")},"minecraft:random_offset":{xz_spread:(0,ne.IntProvider)({min:-16,max:16}),y_spread:(0,ne.IntProvider)({min:-16,max:16})},"minecraft:surface_relative_threshold_filter":{heightmap:o({enum:"heightmap_type"}),min_inclusive:(0,L.Opt)((0,L.NumberNode)({integer:!0})),max_inclusive:(0,L.Opt)((0,L.NumberNode)({integer:!0}))},"minecraft:surface_water_depth_filter":{max_water_depth:(0,L.NumberNode)({integer:!0})}}},{context:"decorator",category:"predicate"}))}we.initDecoratorSchemas=bt;var Be={};(function(r){Object.defineProperty(r,"__esModule",{value:!0}),r.initDensityFunctionSchemas=r.DensityFunction=void 0;const e=k;function t(o,d){const n=e.StringNode.bind(void 0,d),a=e.Reference.bind(void 0,o);r.DensityFunction=(0,e.Mod)((0,e.ChoiceNode)([{type:"number",node:(0,e.NumberNode)(),change:()=>0},{type:"string",priority:1,node:n({validator:"resource",params:{pool:"$worldgen/density_function"}}),change:()=>{}},{type:"object",node:a("density_function"),change:()=>({})}],{choiceContext:"density_function"}),{default:()=>0});const p=(0,e.ChoiceNode)([{type:"string",node:n({validator:"resource",params:{pool:"$worldgen/noise"}}),change:()=>{}},{type:"object",node:a("noise_parameters")}],{choiceContext:"noise_parameters"}),w=(0,e.NumberNode)({min:-1e6,max:1e6}),m=(0,e.NumberNode)({integer:!0,min:-2032*2,max:2031*2});o.register("density_function",(0,e.Mod)((0,e.ObjectNode)({type:n({validator:"resource",params:{pool:"worldgen/density_function_type"}}),[e.Switch]:[{push:"type"}],[e.Case]:{"minecraft:abs":{argument:r.DensityFunction},"minecraft:add":{argument1:r.DensityFunction,argument2:r.DensityFunction},"minecraft:blend_density":{argument:r.DensityFunction},"minecraft:cache_2d":{argument:r.DensityFunction},"minecraft:cache_all_in_cell":{argument:r.DensityFunction},"minecraft:cache_once":{argument:r.DensityFunction},"minecraft:clamp":{input:r.DensityFunction,min:w,max:w},"minecraft:constant":{argument:(0,e.NumberNode)()},"minecraft:cube":{argument:r.DensityFunction},"minecraft:flat_cache":{argument:r.DensityFunction},"minecraft:half_negative":{argument:r.DensityFunction},"minecraft:interpolated":{argument:r.DensityFunction},"minecraft:max":{argument1:r.DensityFunction,argument2:r.DensityFunction},"minecraft:min":{argument1:r.DensityFunction,argument2:r.DensityFunction},"minecraft:mul":{argument1:r.DensityFunction,argument2:r.DensityFunction},"minecraft:noise":{noise:p,xz_scale:(0,e.NumberNode)(),y_scale:(0,e.NumberNode)()},"minecraft:quarter_negative":{argument:r.DensityFunction},"minecraft:range_choice":{input:r.DensityFunction,min_inclusive:w,max_exclusive:w,when_in_range:r.DensityFunction,when_out_of_range:r.DensityFunction},"minecraft:shift":{argument:r.DensityFunction},"minecraft:shift_a":{argument:r.DensityFunction},"minecraft:shift_b":{argument:r.DensityFunction},"minecraft:shifted_noise":{noise:p,xz_scale:(0,e.NumberNode)(),y_scale:(0,e.NumberNode)(),shift_x:r.DensityFunction,shift_y:r.DensityFunction,shift_z:r.DensityFunction},"minecraft:slide":{argument:r.DensityFunction},"minecraft:spline":{spline:a("cubic_spline"),min_value:w,max_value:w},"minecraft:square":{argument:r.DensityFunction},"minecraft:squeeze":{argument:r.DensityFunction},"minecraft:terrain_shaper_spline":{spline:n({enum:["offset","factor","jaggedness"]}),min_value:w,max_value:w,continentalness:r.DensityFunction,erosion:r.DensityFunction,weirdness:r.DensityFunction},"minecraft:weird_scaled_sampler":{rarity_value_mapper:n({enum:["type_1","type_2"]}),noise:p,input:r.DensityFunction},"minecraft:y_clamped_gradient":{from_y:m,to_y:m,from_value:w,to_value:w}}},{context:"density_function",disableSwitchContext:!0}),{default:()=>({type:"minecraft:noise",noise:"minecraft:cave_entrance",xz_scale:.75,y_scale:.5})})),o.register("cubic_spline",(0,e.Mod)((0,e.ChoiceNode)([{type:"number",node:(0,e.NumberNode)()},{type:"object",node:(0,e.ObjectNode)({coordinate:r.DensityFunction,points:(0,e.ListNode)((0,e.ObjectNode)({location:(0,e.NumberNode)(),derivative:(0,e.NumberNode)(),value:a("cubic_spline")}))},{category:"function"})}],{context:"terrain_spline",choiceContext:"terrain_spline"}),{default:()=>0}))}r.initDensityFunctionSchemas=t})(Be);var xe={},Y={};Object.defineProperty(Y,"__esModule",{value:!0});Y.initProcessorListSchemas=Y.Processors=void 0;const y=k;function Nt(r,e){const t=y.Reference.bind(void 0,r),o=y.StringNode.bind(void 0,e);Y.Processors=(0,y.ChoiceNode)([{type:"string",node:o({validator:"resource",params:{pool:"$worldgen/processor_list"}}),change:n=>{}},{type:"object",node:t("processor_list"),change:n=>({processors:[{processor_type:"minecraft:nop"}]})}]),r.register("processor_list",(0,y.Mod)((0,y.ObjectNode)({processors:(0,y.ListNode)(t("processor"))},{context:"processor_list"}),{default:()=>({processors:[{processor_type:"minecraft:rule",rules:[{location_predicate:{predicate_type:"minecraft:always_true"},input_predicate:{predicate_type:"minecraft:always_true"}}]}]})})),r.register("processor",(0,y.Mod)((0,y.ObjectNode)({processor_type:o({validator:"resource",params:{pool:"worldgen/structure_processor"}}),[y.Switch]:[{push:"processor_type"}],[y.Case]:{"minecraft:block_age":{mossiness:(0,y.NumberNode)()},"minecraft:block_ignore":{blocks:(0,y.ListNode)(t("block_state"))},"minecraft:block_rot":{integrity:(0,y.NumberNode)({min:0,max:1})},"minecraft:gravity":{heightmap:o({enum:"heightmap_type"}),offset:(0,y.NumberNode)({integer:!0})},"minecraft:protected_blocks":{value:o({validator:"resource",params:{pool:"block",requireTag:!0}})},"minecraft:rule":{rules:(0,y.ListNode)(t("processor_rule"))}}},{category:"function",context:"processor"}),{default:()=>({processor_type:"minecraft:rule",rules:[{location_predicate:{predicate_type:"minecraft:always_true"},input_predicate:{predicate_type:"minecraft:always_true"}}]})})),r.register("processor_rule",(0,y.Mod)((0,y.ObjectNode)({position_predicate:(0,y.Opt)(t("pos_rule_test")),location_predicate:t("rule_test"),input_predicate:t("rule_test"),output_state:t("block_state"),output_nbt:(0,y.Opt)(o({validator:"nbt",params:{registry:{category:"minecraft:block"}}}))},{category:"predicate",context:"processor_rule"}),{default:()=>({location_predicate:{predicate_type:"minecraft:always_true"},input_predicate:{predicate_type:"minecraft:always_true"}})}));const d={min_dist:(0,y.Opt)((0,y.NumberNode)({min:0,max:255,integer:!0})),max_dist:(0,y.Opt)((0,y.NumberNode)({min:0,max:255,integer:!0})),min_chance:(0,y.Opt)((0,y.NumberNode)({min:0,max:1})),max_chance:(0,y.Opt)((0,y.NumberNode)({min:0,max:1}))};r.register("pos_rule_test",(0,y.ObjectNode)({predicate_type:o({validator:"resource",params:{pool:"pos_rule_test"}}),[y.Switch]:[{push:"predicate_type"}],[y.Case]:{"minecraft:axis_aligned_linear_pos":g({axis:o({enum:["x","y","z"]})},d),"minecraft:linear_pos":d}},{context:"pos_rule_test",disableSwitchContext:!0})),r.register("rule_test",(0,y.ObjectNode)({predicate_type:o({validator:"resource",params:{pool:"rule_test"}}),[y.Switch]:[{push:"predicate_type"}],[y.Case]:{"minecraft:block_match":{block:o({validator:"resource",params:{pool:"block"}})},"minecraft:blockstate_match":{block_state:t("block_state")},"minecraft:random_block_match":{block:o({validator:"resource",params:{pool:"block"}}),probability:(0,y.NumberNode)({min:0,max:1})},"minecraft:random_blockstate_match":{block_state:t("block_state"),probability:(0,y.NumberNode)({min:0,max:1})},"minecraft:tag_match":{tag:o({validator:"resource",params:{pool:"$tag/block"}})}}},{context:"rule_test",disableSwitchContext:!0}))}Y.initProcessorListSchemas=Nt;Object.defineProperty(xe,"__esModule",{value:!0});xe.initFeatureSchemas=void 0;const i=k,h=z,Te=Y;function ht(r,e){const t=i.Reference.bind(void 0,r),o=i.StringNode.bind(void 0,e),d=(0,i.ChoiceNode)([{type:"string",node:o({validator:"resource",params:{pool:"$worldgen/configured_feature"}})},{type:"object",node:t("configured_feature")}],{choiceContext:"feature"}),n=(0,i.ChoiceNode)([{type:"string",node:o({validator:"resource",params:{pool:"$worldgen/placed_feature"}})},{type:"object",node:t("placed_feature")}],{choiceContext:"placed_feature"}),a={tries:(0,i.Opt)((0,i.NumberNode)({integer:!0,min:1})),xz_spread:(0,i.Opt)((0,i.NumberNode)({integer:!0,min:0})),y_spread:(0,i.Opt)((0,i.NumberNode)({integer:!0,min:0})),feature:n},p={state:t("block_state"),radius:(0,h.IntProvider)({min:0,max:8}),half_height:(0,i.NumberNode)({integer:!0,min:0,max:4}),targets:(0,i.ListNode)(t("block_state"))},w={cap_provider:t("block_state_provider"),stem_provider:t("block_state_provider"),foliage_radius:(0,i.Opt)((0,i.NumberNode)({integer:!0}))},m=(0,i.ObjectNode)({target:t("rule_test"),state:t("block_state")}),f={size:(0,i.NumberNode)({integer:!0,min:0,max:64}),discard_chance_on_air_exposure:(0,i.NumberNode)({min:0,max:1}),targets:(0,i.ListNode)(m)},j={surface:o({enum:"cave_surface"}),depth:(0,h.IntProvider)({min:1,max:128}),vertical_range:(0,i.NumberNode)({integer:!0,min:1,max:256}),extra_bottom_block_chance:(0,i.NumberNode)({min:0,max:1}),extra_edge_column_chance:(0,i.NumberNode)({min:0,max:1}),vegetation_chance:(0,i.NumberNode)({min:0,max:1}),xz_radius:(0,h.IntProvider)(),replaceable:o({validator:"resource",params:{pool:"block",requireTag:!0}}),ground_state:t("block_state_provider"),vegetation_feature:n};r.register("configured_feature",(0,i.Mod)((0,i.ObjectNode)({type:o({validator:"resource",params:{pool:"worldgen/feature"}}),config:(0,i.ObjectNode)({[i.Switch]:["pop",{push:"type"}],[i.Case]:{"minecraft:bamboo":{probability:(0,i.NumberNode)({min:0,max:1})},"minecraft:basalt_columns":{reach:(0,h.IntProvider)({min:0,max:3}),height:(0,h.IntProvider)({min:1,max:10})},"minecraft:block_column":{direction:o({enum:["up","down","north","east","south","west"]}),allowed_placement:t("block_predicate_worldgen"),prioritize_tip:(0,i.BooleanNode)(),layers:(0,i.ListNode)((0,i.ObjectNode)({height:(0,h.IntProvider)({min:0}),provider:t("block_state_provider")}))},"minecraft:block_pile":{state_provider:t("block_state_provider")},"minecraft:delta_feature":{contents:t("block_state"),rim:t("block_state"),size:(0,h.IntProvider)({min:0,max:16}),rim_size:(0,h.IntProvider)({min:0,max:16})},"minecraft:disk":p,"minecraft:dripstone_cluster":{floor_to_ceiling_search_range:(0,i.NumberNode)({integer:!0,min:1,max:512}),height:(0,h.IntProvider)({min:0,max:128}),radius:(0,h.IntProvider)({min:0,max:128}),max_stalagmite_stalactite_height_diff:(0,i.NumberNode)({integer:!0,min:0,max:64}),height_deviation:(0,i.NumberNode)({integer:!0,min:1,max:64}),dripstone_block_layer_thickness:(0,h.IntProvider)({min:0,max:128}),density:(0,h.FloatProvider)({min:0,max:2}),wetness:(0,h.FloatProvider)({min:0,max:2}),chance_of_dripstone_column_at_max_distance_from_center:(0,i.NumberNode)({min:0,max:1}),max_distance_from_edge_affecting_chance_of_dripstone_column:(0,i.NumberNode)({integer:!0,min:1,max:64}),max_distance_from_center_affecting_height_bias:(0,i.NumberNode)({integer:!0,min:1,max:64})},"minecraft:end_gateway":{exact:(0,i.BooleanNode)(),exit:(0,i.Opt)(t("block_pos"))},"minecraft:end_spike":{crystal_invulnerable:(0,i.Opt)((0,i.BooleanNode)()),crystal_beam_target:(0,i.Opt)(t("block_pos")),spikes:(0,i.ListNode)((0,i.ObjectNode)({centerX:(0,i.Opt)((0,i.NumberNode)({integer:!0})),centerZ:(0,i.Opt)((0,i.NumberNode)({integer:!0})),radius:(0,i.Opt)((0,i.NumberNode)({integer:!0})),height:(0,i.Opt)((0,i.NumberNode)({integer:!0})),guarded:(0,i.Opt)((0,i.BooleanNode)())}))},"minecraft:fill_layer":{state:t("block_state"),height:(0,i.NumberNode)({integer:!0,min:0,max:255})},"minecraft:flower":a,"minecraft:forest_rock":{state:t("block_state")},"minecraft:fossil":{max_empty_corners_allowed:(0,i.NumberNode)({integer:!0,min:0,max:7}),fossil_structures:(0,i.ListNode)(o({validator:"resource",params:{pool:"$structure"}})),overlay_structures:(0,i.ListNode)(o({validator:"resource",params:{pool:"$structure"}})),fossil_processors:Te.Processors,overlay_processors:Te.Processors},"minecraft:geode":{blocks:(0,i.ObjectNode)({filling_provider:t("block_state_provider"),inner_layer_provider:t("block_state_provider"),alternate_inner_layer_provider:t("block_state_provider"),middle_layer_provider:t("block_state_provider"),outer_layer_provider:t("block_state_provider"),inner_placements:(0,i.ListNode)(t("block_state")),cannot_replace:o({validator:"resource",params:{pool:"block",requireTag:!0}}),invalid_blocks:o({validator:"resource",params:{pool:"block",requireTag:!0}})}),layers:(0,i.ObjectNode)({filling:(0,i.Opt)((0,i.NumberNode)({min:.01,max:50})),inner_layer:(0,i.Opt)((0,i.NumberNode)({min:.01,max:50})),middle_layer:(0,i.Opt)((0,i.NumberNode)({min:.01,max:50})),outer_layer:(0,i.Opt)((0,i.NumberNode)({min:.01,max:50}))}),crack:(0,i.ObjectNode)({generate_crack_chance:(0,i.Opt)((0,i.NumberNode)({min:0,max:1})),base_crack_size:(0,i.Opt)((0,i.NumberNode)({min:0,max:5})),crack_point_offset:(0,i.Opt)((0,i.NumberNode)({min:0,max:10}))}),noise_multiplier:(0,i.Opt)((0,i.NumberNode)({min:0,max:1})),use_potential_placements_chance:(0,i.Opt)((0,i.NumberNode)({min:0,max:1})),use_alternate_layer0_chance:(0,i.Opt)((0,i.NumberNode)({min:0,max:1})),placements_require_layer0_alternate:(0,i.Opt)((0,i.BooleanNode)()),outer_wall_distance:(0,i.Opt)((0,h.IntProvider)({min:1,max:20})),distribution_points:(0,i.Opt)((0,h.IntProvider)({min:1,max:20})),point_offset:(0,i.Opt)((0,h.IntProvider)({min:0,max:10})),min_gen_offset:(0,i.Opt)((0,i.NumberNode)({integer:!0})),max_gen_offset:(0,i.Opt)((0,i.NumberNode)({integer:!0})),invalid_blocks_threshold:(0,i.NumberNode)({integer:!0})},"minecraft:glow_lichen":{search_range:(0,i.Opt)((0,i.NumberNode)({min:1,max:64,integer:!0})),chance_of_spreading:(0,i.Opt)((0,i.NumberNode)({min:0,max:1})),can_place_on_floor:(0,i.Opt)((0,i.BooleanNode)()),can_place_on_ceiling:(0,i.Opt)((0,i.BooleanNode)()),can_place_on_wall:(0,i.Opt)((0,i.BooleanNode)()),can_be_placed_on:(0,h.Tag)({resource:"block"})},"minecraft:huge_brown_mushroom":w,"minecraft:huge_fungus":{hat_state:t("block_state"),decor_state:t("block_state"),stem_state:t("block_state"),valid_base_block:t("block_state"),planted:(0,i.Opt)((0,i.BooleanNode)())},"minecraft:huge_red_mushroom":w,"minecraft:ice_patch":p,"minecraft:iceberg":{state:t("block_state")},"minecraft:lake":{fluid:t("block_state_provider"),barrier:t("block_state_provider")},"minecraft:large_dripstone":{floor_to_ceiling_search_range:(0,i.Opt)((0,i.NumberNode)({integer:!0,min:1,max:512})),column_radius:(0,h.IntProvider)({min:0,max:60}),height_scale:(0,h.FloatProvider)({min:0,max:20}),max_column_radius_to_cave_height_ratio:(0,i.NumberNode)({min:0,max:1}),stalactite_bluntness:(0,h.FloatProvider)({min:.1,max:10}),stalagmite_bluntness:(0,h.FloatProvider)({min:.1,max:10}),wind_speed:(0,h.FloatProvider)({min:0,max:2}),min_radius_for_wind:(0,i.NumberNode)({integer:!0,min:0,max:100}),min_bluntness_for_wind:(0,i.NumberNode)({min:0,max:5})},"minecraft:nether_forest_vegetation":{state_provider:t("block_state_provider"),spread_width:(0,i.NumberNode)({integer:!0,min:1}),spread_height:(0,i.NumberNode)({integer:!0,min:1})},"minecraft:netherrack_replace_blobs":{state:t("block_state"),target:t("block_state"),radius:(0,h.IntProvider)({min:0,max:12})},"minecraft:no_bonemeal_flower":a,"minecraft:ore":f,"minecraft:pointed_dripstone":{chance_of_taller_dripstone:(0,i.Opt)((0,i.NumberNode)({min:0,max:1})),chance_of_directional_spread:(0,i.Opt)((0,i.NumberNode)({min:0,max:1})),chance_of_spread_radius2:(0,i.Opt)((0,i.NumberNode)({min:0,max:1})),chance_of_spread_radius3:(0,i.Opt)((0,i.NumberNode)({min:0,max:1}))},"minecraft:random_patch":a,"minecraft:random_boolean_selector":{feature_false:n,feature_true:n},"minecraft:random_selector":{features:(0,i.ListNode)((0,i.ObjectNode)({chance:(0,i.NumberNode)({min:0,max:1}),feature:n})),default:n},"minecraft:replace_single_block":{targets:(0,i.ListNode)(m)},"minecraft:root_system":{required_vertical_space_for_tree:(0,i.NumberNode)({integer:!0,min:1,max:64}),root_radius:(0,i.NumberNode)({integer:!0,min:1,max:64}),root_placement_attempts:(0,i.NumberNode)({integer:!0,min:1,max:256}),root_column_max_height:(0,i.NumberNode)({integer:!0,min:1,max:4096}),hanging_root_radius:(0,i.NumberNode)({integer:!0,min:1,max:64}),hanging_roots_vertical_span:(0,i.NumberNode)({integer:!0,min:0,max:16}),hanging_root_placement_attempts:(0,i.NumberNode)({integer:!0,min:0,max:256}),allowed_vertical_water_for_tree:(0,i.NumberNode)({integer:!0,min:1,max:64}),root_replaceable:o({validator:"resource",params:{pool:"block",requireTag:!0}}),root_state_provider:t("block_state_provider"),hanging_root_state_provider:t("block_state_provider"),allowed_tree_position:t("block_predicate_worldgen"),feature:n},"minecraft:scattered_ore":f,"minecraft:sea_pickle":{count:(0,h.IntProvider)({min:0,max:256})},"minecraft:seagrass":{probability:(0,i.NumberNode)({min:0,max:1})},"minecraft:simple_block":{to_place:t("block_state_provider")},"minecraft:simple_random_selector":{features:(0,h.Tag)({resource:"$worldgen/placed_feature",inlineSchema:"placed_feature"})},"minecraft:spring_feature":{state:t("fluid_state"),rock_count:(0,i.NumberNode)({integer:!0}),hole_count:(0,i.NumberNode)({integer:!0}),requires_block_below:(0,i.BooleanNode)(),valid_blocks:(0,h.Tag)({resource:"block"})},"minecraft:tree":{ignore_vines:(0,i.Opt)((0,i.BooleanNode)()),force_dirt:(0,i.Opt)((0,i.BooleanNode)()),minimum_size:t("feature_size"),dirt_provider:t("block_state_provider"),trunk_provider:t("block_state_provider"),foliage_provider:t("block_state_provider"),trunk_placer:(0,i.ObjectNode)({type:o({validator:"resource",params:{pool:"worldgen/trunk_placer_type"}}),base_height:(0,i.NumberNode)({integer:!0,min:0,max:32}),height_rand_a:(0,i.NumberNode)({integer:!0,min:0,max:24}),height_rand_b:(0,i.NumberNode)({integer:!0,min:0,max:24}),[i.Switch]:[{push:"type"}],[i.Case]:{"minecraft:bending_trunk_placer":{bend_length:(0,h.IntProvider)({min:1,max:64}),min_height_for_leaves:(0,i.Opt)((0,i.NumberNode)({integer:!0,min:1}))}}},{context:"trunk_placer"}),foliage_placer:(0,i.ObjectNode)({type:o({validator:"resource",params:{pool:"worldgen/foliage_placer_type"}}),radius:(0,h.IntProvider)({min:0,max:16}),offset:(0,h.IntProvider)({min:0,max:16}),[i.Switch]:[{push:"type"}],[i.Case]:{"minecraft:blob_foliage_placer":{height:(0,i.NumberNode)({integer:!0,min:0,max:16})},"minecraft:bush_foliage_placer":{height:(0,i.NumberNode)({integer:!0,min:0,max:16})},"minecraft:fancy_foliage_placer":{height:(0,i.NumberNode)({integer:!0,min:0,max:16})},"minecraft:jungle_foliage_placer":{height:(0,i.NumberNode)({integer:!0,min:0,max:16})},"minecraft:mega_pine_foliage_placer":{crown_height:(0,h.IntProvider)({min:0,max:24})},"minecraft:pine_foliage_placer":{height:(0,h.IntProvider)({min:0,max:24})},"minecraft:random_spread_foliage_placer":{foliage_height:(0,h.IntProvider)({min:1,max:512}),leaf_placement_attempts:(0,i.NumberNode)({integer:!0,min:0,max:256})},"minecraft:spruce_foliage_placer":{trunk_height:(0,h.IntProvider)({min:0,max:24})}}},{context:"foliage_placer",disableSwitchContext:!0}),decorators:(0,i.ListNode)((0,i.ObjectNode)({type:o({validator:"resource",params:{pool:"worldgen/tree_decorator_type"}}),[i.Switch]:[{push:"type"}],[i.Case]:{"minecraft:alter_ground":{provider:t("block_state_provider")},"minecraft:beehive":{probability:(0,i.NumberNode)({min:0,max:1})},"minecraft:cocoa":{probability:(0,i.NumberNode)({min:0,max:1})}}},{context:"tree_decorator"}))},"minecraft:twisting_vines":{spread_width:(0,i.NumberNode)({integer:!0,min:1}),spread_height:(0,i.NumberNode)({integer:!0,min:1}),max_height:(0,i.NumberNode)({integer:!0,min:1})},"minecraft:underwater_magma":{floor_search_range:(0,i.NumberNode)({integer:!0,min:0,max:512}),placement_radius_around_floor:(0,i.NumberNode)({integer:!0,min:0,max:64}),placement_probability_per_valid_position:(0,i.NumberNode)({min:0,max:1})},"minecraft:vegetation_patch":j,"minecraft:waterlogged_vegetation_patch":j}},{context:"feature"})},{context:"feature"}),{default:()=>({type:"minecraft:tree",config:{minimum_size:{type:"minecraft:two_layers_feature_size"},trunk_placer:{type:"minecraft:straight_trunk_placer",base_height:5,height_rand_a:2,height_rand_b:0},foliage_placer:{type:"minecraft:blob_foliage_placer",radius:2,offset:0,height:3}}})})),r.register("placed_feature",(0,i.Mod)((0,i.ObjectNode)({feature:d,placement:(0,i.ListNode)(t("decorator"))},{context:"placed_feature"}),{default:()=>({feature:"minecraft:oak",placement:[{type:"minecraft:count",count:4},{type:"minecraft:in_square"},{type:"minecraft:heightmap",heightmap:"OCEAN_FLOOR"}]})})),r.register("feature_size",(0,i.Mod)((0,i.ObjectNode)({type:o({validator:"resource",params:{pool:"worldgen/feature_size_type"}}),min_clipped_height:(0,i.Opt)((0,i.NumberNode)({min:0,max:80})),[i.Switch]:[{push:"type"}],[i.Case]:{"minecraft:two_layers_feature_size":{limit:(0,i.Opt)((0,i.NumberNode)({integer:!0,min:0,max:81})),lower_size:(0,i.Opt)((0,i.NumberNode)({integer:!0,min:0,max:16})),upper_size:(0,i.Opt)((0,i.NumberNode)({integer:!0,min:0,max:16}))},"minecraft:three_layers_feature_size":{limit:(0,i.Opt)((0,i.NumberNode)({integer:!0,min:0,max:80})),upper_limit:(0,i.Opt)((0,i.NumberNode)({integer:!0,min:0,max:80})),lower_size:(0,i.Opt)((0,i.NumberNode)({integer:!0,min:0,max:16})),middle_size:(0,i.Opt)((0,i.NumberNode)({integer:!0,min:0,max:16})),upper_size:(0,i.Opt)((0,i.NumberNode)({integer:!0,min:0,max:16}))}}},{disableSwitchContext:!0}),{default:()=>({type:"minecraft:two_layers_feature_size"})}));const v={seed:(0,i.NumberNode)({integer:!0}),noise:t("noise_parameters"),scale:(0,i.Mod)((0,i.NumberNode)({min:Number.MIN_VALUE}),{default:()=>1})};r.register("block_state_provider",(0,i.Mod)((0,i.ObjectNode)({type:o({validator:"resource",params:{pool:"worldgen/block_state_provider_type"}}),[i.Switch]:[{push:"type"}],[i.Case]:{"minecraft:dual_noise_provider":A(g({},v),{variety:(0,h.InclusiveRange)({integer:!0,min:1,max:64}),slow_noise:t("noise_parameters"),slow_scale:(0,i.Mod)((0,i.NumberNode)({min:Number.MIN_VALUE}),{default:()=>1}),states:(0,i.ListNode)(t("block_state"))}),"minecraft:noise_threshold_provider":A(g({},v),{threshold:(0,i.NumberNode)({min:-1,max:1}),high_chance:(0,i.NumberNode)({min:0,max:1}),default_state:t("block_state"),low_states:(0,i.ListNode)(t("block_state")),high_states:(0,i.ListNode)(t("block_state"))}),"minecraft:noise_provider":A(g({},v),{states:(0,i.ListNode)(t("block_state"))}),"minecraft:randomized_int_state_provider":{property:o(),values:(0,h.IntProvider)(),source:t("block_state_provider")},"minecraft:rotated_block_provider":{state:t("block_state")},"minecraft:simple_state_provider":{state:t("block_state")},"minecraft:weighted_state_provider":{entries:(0,i.ListNode)((0,i.Mod)((0,i.ObjectNode)({weight:(0,i.NumberNode)({integer:!0,min:1}),data:t("block_state")}),{default:()=>({data:{}})}))}}},{context:"block_state_provider"}),{default:()=>({type:"minecraft:simple_state_provider"})}));const S={offset:(0,i.Opt)((0,i.ListNode)((0,i.NumberNode)({integer:!0,min:-16,max:16}),{minLength:3,maxLength:3}))};r.register("block_predicate_worldgen",(0,i.Mod)((0,i.ObjectNode)({type:o({validator:"resource",params:{pool:"block_predicate_type"}}),[i.Switch]:[{push:"type"}],[i.Case]:{"minecraft:all_of":{predicates:(0,i.ListNode)(t("block_predicate_worldgen"))},"minecraft:any_of":{predicates:(0,i.ListNode)(t("block_predicate_worldgen"))},"minecraft:has_sturdy_face":A(g({},S),{direction:o({enum:"direction"})}),"minecraft:inside_world_bounds":g({},S),"minecraft:matching_block_tag":A(g({},S),{tag:o({validator:"resource",params:{pool:"$tag/block"}})}),"minecraft:matching_blocks":A(g({},S),{blocks:(0,h.Tag)({resource:"block"})}),"minecraft:matching_fluids":A(g({},S),{fluids:(0,h.Tag)({resource:"fluid"})}),"minecraft:not":{predicate:t("block_predicate_worldgen")},"minecraft:would_survive":A(g({},S),{state:t("block_state")})}},{context:"block_predicate"}),{default:()=>({type:"minecraft:true"})}))}xe.initFeatureSchemas=ht;var Se={};Object.defineProperty(Se,"__esModule",{value:!0});Se.initNoiseSettingsSchemas=void 0;const N=k,yt=z,D=Be;function vt(r,e){const t=N.Reference.bind(void 0,r),o=N.StringNode.bind(void 0,e);r.register("noise_settings",(0,N.Mod)((0,N.ObjectNode)({sea_level:(0,N.NumberNode)({integer:!0}),disable_mob_generation:(0,N.BooleanNode)(),aquifers_enabled:(0,N.BooleanNode)(),ore_veins_enabled:(0,N.BooleanNode)(),legacy_random_source:(0,N.BooleanNode)(),default_block:t("block_state"),default_fluid:t("block_state"),noise:(0,N.ObjectNode)({min_y:(0,N.NumberNode)({integer:!0,min:-2048,max:2047}),height:(0,N.NumberNode)({integer:!0,min:0,max:4096}),size_horizontal:(0,N.NumberNode)({integer:!0}),size_vertical:(0,N.NumberNode)({integer:!0}),sampling:(0,N.ObjectNode)({xz_scale:(0,N.NumberNode)(),y_scale:(0,N.NumberNode)(),xz_factor:(0,N.NumberNode)(),y_factor:(0,N.NumberNode)()}),bottom_slide:t("noise_slider"),top_slide:t("noise_slider"),terrain_shaper:t("terrain_shaper")}),noise_router:(0,N.ObjectNode)({barrier:D.DensityFunction,fluid_level_floodedness:D.DensityFunction,fluid_level_spread:D.DensityFunction,lava:D.DensityFunction,temperature:D.DensityFunction,vegetation:D.DensityFunction,continents:D.DensityFunction,erosion:D.DensityFunction,depth:D.DensityFunction,ridges:D.DensityFunction,initial_density_without_jaggedness:D.DensityFunction,final_density:D.DensityFunction,vein_toggle:D.DensityFunction,vein_ridged:D.DensityFunction,vein_gap:D.DensityFunction}),surface_rule:t("material_rule")},{context:"noise_settings"}),d=>({default:()=>yt.DefaultNoiseSettings,validate:(n,a,p,w)=>{var m,f,j,v;return a=d.validate(n,a,p,w),((m=a==null?void 0:a.noise)===null||m===void 0?void 0:m.min_y)+((f=a==null?void 0:a.noise)===null||f===void 0?void 0:f.height)>2047&&p.add(n.push("noise").push("height"),"error.min_y_plus_height",2047),((j=a==null?void 0:a.noise)===null||j===void 0?void 0:j.height)%16!==0&&p.add(n.push("noise").push("height"),"error.height_multiple",16),((v=a==null?void 0:a.noise)===null||v===void 0?void 0:v.min_y)%16!==0&&p.add(n.push("noise").push("min_y"),"error.min_y_multiple",16),a}}))),r.register("noise_slider",(0,N.ObjectNode)({target:(0,N.NumberNode)(),size:(0,N.NumberNode)({integer:!0,min:0}),offset:(0,N.NumberNode)({integer:!0})})),r.register("generator_layer",(0,N.Mod)((0,N.ObjectNode)({block:o({validator:"resource",params:{pool:"block"}}),height:(0,N.NumberNode)({integer:!0,min:1})}),{default:()=>({block:"minecraft:stone",height:1})})),r.register("terrain_shaper",(0,N.Mod)((0,N.ObjectNode)({offset:t("terrain_spline"),factor:t("terrain_spline"),jaggedness:t("terrain_spline")},{context:"terrain_shaper"}),{default:()=>({offset:0,factor:0,jaggedness:0})})),r.register("terrain_spline",(0,N.Mod)((0,N.ChoiceNode)([{type:"number",node:(0,N.NumberNode)()},{type:"object",node:(0,N.ObjectNode)({coordinate:(0,N.Mod)(o({enum:["continents","erosion","weirdness","ridges"]}),{default:()=>"continents"}),points:(0,N.ListNode)((0,N.ObjectNode)({location:(0,N.NumberNode)(),derivative:(0,N.NumberNode)(),value:t("terrain_spline")}))},{category:"function"})}],{context:"terrain_spline",choiceContext:"terrain_spline"}),{default:()=>0}))}Se.initNoiseSettingsSchemas=vt;var je={};Object.defineProperty(je,"__esModule",{value:!0});je.initStructureFeatureSchemas=void 0;const F=k,Ot=z,kt=Fe;function wt(r,e){const t=F.StringNode.bind(void 0,e),o=F.Reference.bind(void 0,r),d={start_pool:t({validator:"resource",params:{pool:"$worldgen/template_pool"}}),size:(0,F.NumberNode)({integer:!0})};r.register("configured_structure_feature",(0,F.Mod)((0,F.ObjectNode)({type:t({validator:"resource",params:{pool:"worldgen/structure_feature"}}),biomes:(0,Ot.Tag)({resource:"$worldgen/biome"}),adapt_noise:(0,F.Opt)((0,F.BooleanNode)()),spawn_overrides:(0,F.MapNode)(t({enum:"mob_category"}),(0,F.ObjectNode)({bounding_box:t({enum:["piece","full"]}),spawns:kt.MobCategorySpawnSettings})),config:(0,F.ObjectNode)({[F.Switch]:["pop",{push:"type"}],[F.Case]:{"minecraft:bastion_remnant":d,"minecraft:buried_treasure":{probability:(0,F.NumberNode)({min:0,max:1})},"minecraft:mineshaft":{type:t({enum:["normal","mesa"]}),probability:(0,F.NumberNode)({min:0,max:1})},"minecraft:nether_fossil":{height:o("height_provider")},"minecraft:ocean_ruin":{biome_temp:t({enum:["cold","warm"]}),large_probability:(0,F.NumberNode)({min:0,max:1}),cluster_probability:(0,F.NumberNode)({min:0,max:1})},"minecraft:pillager_outpost":d,"minecraft:ruined_portal":{portal_type:t({enum:["standard","desert","jungle","mountain","nether","ocean","swamp"]})},"minecraft:shipwreck":{is_beached:(0,F.Opt)((0,F.BooleanNode)())},"minecraft:village":d}},{context:"structure_feature",disableSwitchContext:!0})},{context:"structure_feature"}),{default:()=>({type:"minecraft:bastion_remnant",config:{start_pool:"minecraft:bastion/starts",size:6}})}))}je.initStructureFeatureSchemas=wt;var Ce={};Object.defineProperty(Ce,"__esModule",{value:!0});Ce.initStructureSetSchemas=void 0;const M=k,xt=z;function St(r,e){const t=M.StringNode.bind(void 0,e),o=M.Reference.bind(void 0,r);r.register("structure_set",(0,M.ObjectNode)({structures:(0,M.ListNode)((0,M.ObjectNode)({structure:(0,xt.Tag)({resource:"$worldgen/configured_structure_feature"}),weight:(0,M.NumberNode)({integer:!0,min:1})})),placement:o("structure_placement")},{context:"structure_set"})),r.register("structure_placement",(0,M.Mod)((0,M.ObjectNode)({type:t({validator:"resource",params:{pool:"worldgen/structure_placement"}}),[M.Switch]:[{push:"type"}],[M.Case]:{"minecraft:concentric_rings":{distance:(0,M.NumberNode)({integer:!0,min:0,max:1023}),spread:(0,M.NumberNode)({integer:!0,min:0,max:1023}),count:(0,M.NumberNode)({integer:!0,min:1,max:4095})},"minecraft:random_spread":{spread_type:(0,M.Opt)(t({enum:["linear","triangular"]})),spacing:(0,M.NumberNode)({integer:!0,min:0,max:4096}),separation:(0,M.Mod)((0,M.NumberNode)({integer:!0,min:0,max:4096}),d=>({validate:(n,a,p,w)=>(n.pop().push("spacing").get()<=a&&p.add(n,"error.separation_smaller_spacing"),d.validate(n,a,p,w))})),salt:(0,M.NumberNode)({integer:!0,min:0}),locate_offset:(0,M.Opt)((0,M.ListNode)((0,M.NumberNode)({integer:!0,min:-16,max:16}),{minLength:3,maxLength:3}))}}},{context:"structure_placement"}),{default:()=>({type:"minecraft:random_spread",spacing:10,separation:5,salt:Math.floor(Math.random()*2147483647)})}))}Ce.initStructureSetSchemas=St;var Me={};Object.defineProperty(Me,"__esModule",{value:!0});Me.initSurfaceRuleSchemas=void 0;const C=k;function jt(r,e){const t=C.StringNode.bind(void 0,e),o=C.Reference.bind(void 0,r);r.register("material_rule",(0,C.Mod)((0,C.ObjectNode)({type:t({validator:"resource",params:{pool:"worldgen/material_rule"}}),[C.Switch]:[{push:"type"}],[C.Case]:{"minecraft:block":{result_state:o("block_state")},"minecraft:condition":{if_true:o("material_condition"),then_run:o("material_rule")},"minecraft:sequence":{sequence:(0,C.ListNode)(o("material_rule"))}}},{context:"material_rule",category:"pool"}),{default:()=>({type:"minecraft:block",result_state:{Name:"minecraft:stone"}})})),r.register("material_condition",(0,C.Mod)((0,C.ObjectNode)({type:t({validator:"resource",params:{pool:"worldgen/material_condition"}}),[C.Switch]:[{push:"type"}],[C.Case]:{"minecraft:biome":{biome_is:(0,C.ListNode)(t({validator:"resource",params:{pool:"$worldgen/biome"}}))},"minecraft:noise_threshold":{noise:t({validator:"resource",params:{pool:"$worldgen/noise"}}),min_threshold:(0,C.NumberNode)(),max_threshold:(0,C.NumberNode)()},"minecraft:not":{invert:o("material_condition")},"minecraft:stone_depth":{offset:(0,C.NumberNode)({integer:!0}),surface_type:t({enum:"cave_surface"}),add_surface_depth:(0,C.BooleanNode)(),secondary_depth_range:(0,C.NumberNode)({integer:!0})},"minecraft:vertical_gradient":{random_name:t(),true_at_and_below:o("vertical_anchor"),false_at_and_above:o("vertical_anchor")},"minecraft:water":{offset:(0,C.NumberNode)({integer:!0}),surface_depth_multiplier:(0,C.NumberNode)({integer:!0,min:-20,max:20}),add_stone_depth:(0,C.BooleanNode)()},"minecraft:y_above":{anchor:o("vertical_anchor"),surface_depth_multiplier:(0,C.NumberNode)({integer:!0,min:-20,max:20}),add_stone_depth:(0,C.BooleanNode)()}}},{context:"material_condition"}),{default:()=>({type:"minecraft:biome",is_biome:"minecraft:plains"})}))}Me.initSurfaceRuleSchemas=jt;var Pe={};Object.defineProperty(Pe,"__esModule",{value:!0});Pe.initTemplatePoolSchemas=void 0;const R=k,qe=Y;function Ct(r,e){const t=R.Reference.bind(void 0,r),o=R.StringNode.bind(void 0,e);r.register("template_pool",(0,R.Mod)((0,R.ObjectNode)({name:o(),fallback:o(),elements:(0,R.ListNode)(t("template_weighted_element"))},{context:"template_pool"}),{default:()=>({fallback:"minecraft:empty",elements:[{weight:1,element:{element_type:"minecraft:single_pool_element",projection:"rigid",processors:"minecraft:empty"}}]})})),r.register("template_weighted_element",(0,R.Mod)((0,R.ObjectNode)({weight:(0,R.NumberNode)({integer:!0,min:1}),element:t("template_element")},{category:"pool"}),{default:()=>({weight:1,element:{element_type:"minecraft:single_pool_element",projection:"rigid",processors:"minecraft:empty"}})})),r.register("template_element",(0,R.Mod)((0,R.ObjectNode)({element_type:o({validator:"resource",params:{pool:"worldgen/structure_pool_element"}}),projection:o({enum:["rigid","terrain_matching"]}),[R.Switch]:[{push:"element_type"}],[R.Case]:{"minecraft:feature_pool_element":{feature:o({validator:"resource",params:{pool:"$worldgen/placed_feature"}})},"minecraft:legacy_single_pool_element":{location:o({validator:"resource",params:{pool:"$structure"}}),processors:qe.Processors},"minecraft:list_pool_element":{elements:(0,R.ListNode)(t("template_element"))},"minecraft:single_pool_element":{location:o({validator:"resource",params:{pool:"$structure"}}),processors:qe.Processors}}},{context:"template_element",disableSwitchContext:!0}),{default:()=>({element_type:"minecraft:single_pool_element",projection:"rigid",processors:"minecraft:empty"})}))}Pe.initTemplatePoolSchemas=Ct;Object.defineProperty(Oe,"__esModule",{value:!0});Oe.initWorldgenSchemas=void 0;const Mt=Fe,Pt=ke,Lt=we,$t=Be,Ft=xe,Bt=Se,Dt=Y,zt=je,Rt=Ce,Tt=Me,qt=Pe;function It(r,e){(0,Dt.initProcessorListSchemas)(r,e),(0,$t.initDensityFunctionSchemas)(r,e),(0,Mt.initBiomeSchemas)(r,e),(0,Pt.initCarverSchemas)(r,e),(0,Lt.initDecoratorSchemas)(r,e),(0,Ft.initFeatureSchemas)(r,e),(0,Bt.initNoiseSettingsSchemas)(r,e),(0,zt.initStructureFeatureSchemas)(r,e),(0,Rt.initStructureSetSchemas)(r,e),(0,Tt.initSurfaceRuleSchemas)(r,e),(0,qt.initTemplatePoolSchemas)(r,e)}Oe.initWorldgenSchemas=It;var Le={};Object.defineProperty(Le,"__esModule",{value:!0});Le.initWorldSettingsSchemas=void 0;const X=k;function At(r,e){const t=X.Reference.bind(void 0,r),o=X.StringNode.bind(void 0,e);r.register("world_settings",(0,X.Mod)((0,X.ObjectNode)({generate_features:(0,X.BooleanNode)(),bonus_chest:(0,X.BooleanNode)(),seed:(0,X.NumberNode)({integer:!0}),dimensions:(0,X.MapNode)(o({validator:"resource",params:{pool:"$dimension"}}),t("dimension"))},{context:"world_settings"}),{default:()=>{const d=Math.floor(Math.random()*4294967296)-2147483648;return{generate_features:!0,bonus_chest:!1,seed:d,dimensions:{"minecraft:overworld":{type:"minecraft:overworld",generator:{type:"minecraft:noise",seed:d,biome_source:{type:"minecraft:multi_noise",preset:"minecraft:overworld"},settings:"minecraft:overworld"}},"minecraft:the_nether":{type:"minecraft:the_nether",generator:{type:"minecraft:noise",seed:d,biome_source:{type:"minecraft:multi_noise",preset:"minecraft:nether"},settings:"minecraft:nether"}},"minecraft:the_end":{type:"minecraft:the_end",generator:{type:"minecraft:noise",seed:d,biome_source:{type:"minecraft:the_end",seed:d},settings:"minecraft:end"}}}}}}))}Le.initWorldSettingsSchemas=At;Object.defineProperty(ce,"__esModule",{value:!0});ce.initSchemas=void 0;const Et=de,Wt=se,Ut=z,Vt=_e,Gt=ue,Ht=pe,Kt=fe,Xt=ge,Yt=be,Zt=Ne,Jt=he,Qt=ye,er=ve,tr=Oe,rr=Le;function or(r,e){(0,Ut.initCommonSchemas)(r,e),(0,Et.initAdvancementSchemas)(r,e),(0,Wt.initAssetsSchemas)(r,e),(0,Vt.initConditionSchemas)(r,e),(0,Ht.initDimensionTypeSchemas)(r,e),(0,Gt.initDimensionSchemas)(r,e),(0,Kt.initItemModifierSchemas)(r,e),(0,Xt.initLootTableSchemas)(r,e),(0,Yt.initPackMcmetaSchemas)(r,e),(0,Zt.initPredicatesSchemas)(r,e),(0,Jt.initRecipeSchemas)(r,e),(0,Qt.initTagsSchemas)(r,e),(0,er.initTextComponentSchemas)(r,e),(0,tr.initWorldgenSchemas)(r,e),(0,rr.initWorldSettingsSchemas)(r,e)}ce.initSchemas=or;var ir=re&&re.__createBinding||(Object.create?function(r,e,t,o){o===void 0&&(o=t);var d=Object.getOwnPropertyDescriptor(e,t);(!d||("get"in d?!e.__esModule:d.writable||d.configurable))&&(d={enumerable:!0,get:function(){return e[t]}}),Object.defineProperty(r,o,d)}:function(r,e,t,o){o===void 0&&(o=t),r[o]=e[t]}),nr=re&&re.__setModuleDefault||(Object.create?function(r,e){Object.defineProperty(r,"default",{enumerable:!0,value:e})}:function(r,e){r.default=e}),ar=re&&re.__importStar||function(r){if(r&&r.__esModule)return r;var e={};if(r!=null)for(var t in r)t!=="default"&&Object.prototype.hasOwnProperty.call(r,t)&&ir(e,r,t);return nr(e,r),e};Object.defineProperty(G,"__esModule",{value:!0});var Ie=G.getSchemas=We=G.getCollections=Ee=G.lootContext=void 0;const Ae=k,cr=ae,dr=ce;var Ee=G.lootContext=ar(T);function sr(){const r=new Ae.CollectionRegistry;return(0,cr.initCollections)(r),r}var We=G.getCollections=sr;function lr(r){const e=new Ae.SchemaRegistry;return(0,dr.initSchemas)(e,r),e}Ie=G.getSchemas=lr;var pr=Xe({__proto__:null,get getSchemas(){return Ie},get getCollections(){return We},get lootContext(){return Ee},default:G},[G]);export{pr as i}; -//# sourceMappingURL=index.9e052309.js.map +var Ue=Object.defineProperty,Ve=Object.defineProperties;var Ge=Object.getOwnPropertyDescriptors;var De=Object.getOwnPropertySymbols;var He=Object.prototype.hasOwnProperty,Ke=Object.prototype.propertyIsEnumerable;var ze=(r,e,t)=>e in r?Ue(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,g=(r,e)=>{for(var t in e||(e={}))He.call(e,t)&&ze(r,t,e[t]);if(De)for(var t of De(e))Ke.call(e,t)&&ze(r,t,e[t]);return r},A=(r,e)=>Ve(r,Ge(e));import{l as k,c as re}from"./index.38fdde83.js";function Xe(r,e){return e.forEach(function(t){t&&typeof t!="string"&&!Array.isArray(t)&&Object.keys(t).forEach(function(o){if(o!=="default"&&!(o in r)){var d=Object.getOwnPropertyDescriptor(t,o);Object.defineProperty(r,o,d.get?d:{enumerable:!0,get:function(){return t[o]}})}})}),Object.freeze(Object.defineProperty(r,Symbol.toStringTag,{value:"Module"}))}var G={},ae={};Object.defineProperty(ae,"__esModule",{value:!0});ae.initCollections=void 0;function Ye(r){r.register("advancement_trigger",["minecraft:bee_nest_destroyed","minecraft:bred_animals","minecraft:brewed_potion","minecraft:changed_dimension","minecraft:channeled_lightning","minecraft:construct_beacon","minecraft:consume_item","minecraft:cured_zombie_villager","minecraft:effects_changed","minecraft:enchanted_item","minecraft:enter_block","minecraft:entity_hurt_player","minecraft:entity_killed_player","minecraft:fall_from_height","minecraft:filled_bucket","minecraft:fishing_rod_hooked","minecraft:hero_of_the_village","minecraft:impossible","minecraft:inventory_changed","minecraft:item_durability_changed","minecraft:item_used_on_block","minecraft:killed_by_crossbow","minecraft:levitation","minecraft:lightning_strike","minecraft:location","minecraft:nether_travel","minecraft:placed_block","minecraft:player_generates_container_loot","minecraft:player_hurt_entity","minecraft:player_interacted_with_entity","minecraft:player_killed_entity","minecraft:recipe_unlocked","minecraft:ride_entity_in_lava","minecraft:shot_crossbow","minecraft:slept_in_bed","minecraft:slide_down_block","minecraft:started_riding","minecraft:summoned_entity","minecraft:tame_animal","minecraft:target_hit","minecraft:tick","minecraft:thrown_item_picked_up_by_entity","minecraft:used_ender_eye","minecraft:used_totem","minecraft:using_item","minecraft:villager_trade","minecraft:voluntary_exile"]),r.register("keybind",["key.advancements","key.attack","key.back","key.chat","key.command","key.drop","key.forward","key.fullscreen","key.hotbar.1","key.hotbar.2","key.hotbar.3","key.hotbar.4","key.hotbar.5","key.hotbar.6","key.hotbar.7","key.hotbar.8","key.hotbar.9","key.inventory","key.jump","key.left","key.loadToolbarActivator","key.pickItem","key.playerlist","key.right","key.saveToolbarActivator","key.screenshot","key.smoothCamera","key.sneak","key.spectatorOutlines","key.sprint","key.swapOffhand","key.togglePerspective","key.use"]),r.register("slot",["mainhand","offhand","head","chest","legs","feet"]),r.register("gamemode",["survival","creative","adventure","spectator"]),r.register("entity_source",["this","killer","direct_killer","killer_player"]),r.register("copy_source",["block_entity","this","killer","killer_player"]),r.register("loot_table_apply_bonus_formula",["minecraft:uniform_bonus_count","minecraft:binomial_with_bonus_count","minecraft:ore_drops"]),r.register("map_decoration",["mansion","monument","player","frame","red_marker","blue_marker","target_x","target_point","player_off_map","player_off_limits","red_x","banner_white","banner_orange","banner_magenta","banner_light_blue","banner_yellow","banner_lime","banner_pink","banner_gray","banner_light_gray","banner_cyan","banner_purple","banner_blue","banner_brown","banner_green","banner_red","banner_black"]),r.register("map_feature",["bastion_remnant","buried_treasure","desert_pyramid","endcity","fortress","igloo","jungle_pyramid","mansion","mineshaft","monument","nether_fossil","ocean_ruin","pillager_outpost","ruined_portal","shipwreck","stronghold","swamp_hut","village"]),r.register("recipe_group",["bed","light_gray_dye","iron_ingot","wooden_stairs","black_dye","stained_terracotta","dyed_bed","magenta_dye","bark","rabbit_stew","light_blue_dye","wooden_fence_gate","planks","stained_glass","wooden_door","stained_glass_pane","wooden_fence","sticks","concrete_powder","wooden_pressure_plate","boat","brown_dye","yellow_dye","bonemeal","red_dye","wooden_trapdoor","wooden_button","gold_ingot","pink_dye","wooden_slab","orange_dye","carpet","sign","wool","sugar","blue_dye","white_dye","banner","netherite_ingot"]),r.register("biome_category",["beach","desert","extreme_hills","forest","icy","jungle","mesa","mountain","mushroom","nether","none","ocean","plains","river","savanna","swamp","taiga","the_end","underground"]),r.register("heightmap_type",["MOTION_BLOCKING","MOTION_BLOCKING_NO_LEAVES","OCEAN_FLOOR","OCEAN_FLOOR_WG","WORLD_SURFACE","WORLD_SURFACE_WG"]),r.register("generation_step",["air","liquid"]),r.register("loot_context_type",["minecraft:empty","minecraft:chest","minecraft:command","minecraft:selector","minecraft:fishing","minecraft:entity","minecraft:gift","minecraft:barter","minecraft:advancement_reward","minecraft:advancement_entity","minecraft:generic","minecraft:block"]),r.register("banner_pattern",["base","square_bottom_left","square_bottom_right","square_top_left","square_top_right","stripe_bottom","stripe_top","stripe_left","stripe_right","stripe_center","stripe_middle","stripe_downright","stripe_downleft","small_stripes","cross","straight_cross","triangle_bottom","triangle_top","triangles_bottom","triangles_top","diagonal_left","diagonal_up_right","diagonal_up_left","diagonal_right","circle","rhombus","half_vertical","half_horizontal","half_vertical_right","half_horizontal_bottom","border","curly_border","gradient","gradient_up","bricks","globe","creeper","skull","flower","mojang","piglin"]),r.register("dye_color",["white","orange","magenta","light_blue","yellow","lime","pink","gray","light_gray","cyan","purple","blue","brown","green","red","black"]),r.register("cave_surface",["floor","ceiling"]),r.register("direction",["down","up","north","east","south","west"]),r.register("axis",["x","y","z"]),r.register("display_position",["firstperson_righthand","firstperson_lefthand","thirdperson_righthand","thirdperson_lefthand","gui","head","ground","fixed"]),r.register("gui_light",["front","side"]),r.register("item_model_predicates",["angle","blocking","broken","cast","charged","cooldown","custom_model_data","damage","damaged","firework","lefthanded","pull","pulling","throwing","time"]),r.register("mob_category",["monster","creature","ambient","axolotls","underground_water_creature","water_creature","water_ambient","misc"]),r.register("cat_texture",["textures/entity/cat/tabby.png","textures/entity/cat/black.png","textures/entity/cat/red.png","textures/entity/cat/siamese.png","textures/entity/cat/british_shorthair.png","textures/entity/cat/calico.png","textures/entity/cat/persian.png","textures/entity/cat/ragdoll.png","textures/entity/cat/white.png","textures/entity/cat/jellie.png","textures/entity/cat/all_black.png"])}ae.initCollections=Ye;var ce={},de={};Object.defineProperty(de,"__esModule",{value:!0});de.initAdvancementSchemas=void 0;const s=k;function Ze(r,e){const t=s.Reference.bind(void 0,r),o=s.StringNode.bind(void 0,e),d=(0,s.ChoiceNode)([{type:"object",node:(0,s.Opt)(t("entity_predicate")),change:n=>{var a,p;return(p=(a=n[0])===null||a===void 0?void 0:a.predicate)!==null&&p!==void 0?p:{}}},{type:"list",node:(0,s.ListNode)(t("condition")),change:n=>[{condition:"minecraft:entity_properties",predicate:n}]}],{context:"conditions"});r.register("advancement",(0,s.Mod)((0,s.ObjectNode)({display:(0,s.Opt)((0,s.Mod)((0,s.ObjectNode)({icon:(0,s.ObjectNode)({item:o({validator:"resource",params:{pool:"item"}}),nbt:(0,s.Opt)(o({validator:"nbt",params:{registry:{category:"minecraft:item",id:["pop",{push:"item"}]}}}))}),title:t("text_component"),description:t("text_component"),background:(0,s.Opt)(o()),frame:(0,s.Opt)(o({enum:["task","challenge","goal"]})),show_toast:(0,s.Opt)((0,s.BooleanNode)()),announce_to_chat:(0,s.Opt)((0,s.BooleanNode)()),hidden:(0,s.Opt)((0,s.BooleanNode)())}),{default:()=>({icon:{item:"minecraft:stone"},title:"",description:""})})),parent:(0,s.Opt)(o({validator:"resource",params:{pool:"$advancement"}})),criteria:(0,s.MapNode)(o(),t("advancement_criteria")),requirements:(0,s.Opt)((0,s.ListNode)((0,s.ListNode)(o()))),rewards:(0,s.Opt)((0,s.ObjectNode)({function:(0,s.Opt)(o({validator:"resource",params:{pool:"$function"}})),loot:(0,s.Opt)((0,s.ListNode)(o({validator:"resource",params:{pool:"$loot_table"}}))),recipes:(0,s.Opt)((0,s.ListNode)(o({validator:"resource",params:{pool:"$recipe"}}))),experience:(0,s.Opt)((0,s.NumberNode)({integer:!0}))}))},{context:"advancement"}),{default:()=>({criteria:{requirement:{trigger:"minecraft:location"}}})})),r.register("advancement_criteria",(0,s.ObjectNode)({trigger:o({validator:"resource",params:{pool:e.get("advancement_trigger")}}),conditions:(0,s.Opt)((0,s.ObjectNode)({player:(0,s.Mod)(d,{enabled:n=>n.pop().push("trigger").get()!=="minecraft:impossible"}),[s.Switch]:["pop",{push:"trigger"}],[s.Case]:{"minecraft:bee_nest_destroyed":{block:(0,s.Opt)(o({validator:"resource",params:{pool:"block"}})),num_bees_inside:(0,s.Opt)((0,s.NumberNode)({integer:!0})),item:(0,s.Opt)(t("item_predicate"))},"minecraft:bred_animals":{parent:d,partner:d,child:d},"minecraft:brewed_potion":{potion:(0,s.Opt)(o({validator:"resource",params:{pool:"potion"}}))},"minecraft:changed_dimension":{from:(0,s.Opt)(o({validator:"resource",params:{pool:"$dimension"}})),to:(0,s.Opt)(o({validator:"resource",params:{pool:"$dimension"}}))},"minecraft:channeled_lightning":{victims:(0,s.Opt)((0,s.ListNode)(d))},"minecraft:construct_beacon":{level:t("int_bounds")},"minecraft:consume_item":{item:(0,s.Opt)(t("item_predicate"))},"minecraft:cured_zombie_villager":{villager:d,zombie:d},"minecraft:effects_changed":{effects:(0,s.Opt)((0,s.MapNode)(o({validator:"resource",params:{pool:"mob_effect"}}),(0,s.ObjectNode)({amplifier:t("int_bounds"),duration:t("int_bounds")}))),source:(0,s.Opt)(d)},"minecraft:enter_block":{block:(0,s.Opt)(o({validator:"resource",params:{pool:"block"}})),state:(0,s.Opt)((0,s.MapNode)(o(),o(),{validation:{validator:"block_state_map",params:{id:["pop",{push:"block"}]}}}))},"minecraft:enchanted_item":{levels:t("int_bounds"),item:(0,s.Opt)(t("item_predicate"))},"minecraft:entity_hurt_player":{damage:(0,s.Opt)(t("damage_predicate"))},"minecraft:entity_killed_player":{entity:d,killing_blow:(0,s.Opt)(t("damage_source_predicate"))},"minecraft:fall_from_height":{start_position:(0,s.Opt)(t("location_predicate")),distance:(0,s.Opt)(t("distance_predicate"))},"minecraft:filled_bucket":{item:(0,s.Opt)(t("item_predicate"))},"minecraft:fishing_rod_hooked":{entity:d,item:(0,s.Opt)(t("item_predicate"))},"minecraft:hero_of_the_village":{location:(0,s.Opt)(t("location_predicate"))},"minecraft:inventory_changed":{slots:(0,s.Opt)((0,s.ObjectNode)({empty:t("int_bounds"),occupied:t("int_bounds"),full:t("int_bounds")})),items:(0,s.Opt)((0,s.ListNode)(t("item_predicate")))},"minecraft:item_durability_changed":{delta:t("int_bounds"),durability:t("int_bounds"),item:(0,s.Opt)(t("item_predicate"))},"minecraft:item_used_on_block":{item:(0,s.Opt)(t("item_predicate")),location:(0,s.Opt)(t("location_predicate"))},"minecraft:killed_by_crossbow":{unique_entity_types:t("int_bounds"),victims:(0,s.Opt)((0,s.ListNode)(d))},"minecraft:levitation":{distance:(0,s.Opt)(t("distance_predicate")),duration:t("int_bounds")},"minecraft:lightning_strike":{lightning:d,bystander:d},"minecraft:location":{location:(0,s.Opt)(t("location_predicate"))},"minecraft:nether_travel":{start_position:(0,s.Opt)(t("location_predicate")),distance:(0,s.Opt)(t("distance_predicate"))},"minecraft:placed_block":{block:(0,s.Opt)(o({validator:"resource",params:{pool:"block"}})),state:(0,s.Opt)((0,s.MapNode)(o(),o(),{validation:{validator:"block_state_map",params:{id:["pop",{push:"block"}]}}})),item:(0,s.Opt)(t("item_predicate")),location:(0,s.Opt)(t("location_predicate"))},"minecraft:player_generates_container_loot":{loot_table:o({validator:"resource",params:{pool:"$loot_table"}})},"minecraft:player_hurt_entity":{damage:(0,s.Opt)(t("damage_predicate")),entity:d},"minecraft:player_interacted_with_entity":{item:(0,s.Opt)(t("item_predicate")),entity:d},"minecraft:player_killed_entity":{entity:d,killing_blow:(0,s.Opt)(t("damage_source_predicate"))},"minecraft:recipe_unlocked":{recipe:o({validator:"resource",params:{pool:"$recipe"}})},"minecraft:ride_entity_in_lava":{start_position:(0,s.Opt)(t("location_predicate")),distance:(0,s.Opt)(t("distance_predicate"))},"minecraft:slept_in_bed":{location:(0,s.Opt)(t("location_predicate"))},"minecraft:slide_down_block":{block:(0,s.Opt)(o({validator:"resource",params:{pool:"block"}}))},"minecraft:shot_crossbow":{item:(0,s.Opt)(t("item_predicate"))},"minecraft:summoned_entity":{entity:d},"minecraft:tame_animal":{entity:d},"minecraft:target_hit":{projectile:d,shooter:d,signal_strength:t("int_bounds")},"minecraft:thrown_item_picked_up_by_entity":{entity:d,item:(0,s.Opt)(t("item_predicate"))},"minecraft:used_ender_eye":{distance:(0,s.Opt)(t("float_bounds"))},"minecraft:used_totem":{item:(0,s.Opt)(t("item_predicate"))},"minecraft:using_item":{item:(0,s.Opt)(t("item_predicate"))},"minecraft:villager_trade":{villager:d,item:(0,s.Opt)(t("item_predicate"))},"minecraft:voluntary_exile":{location:(0,s.Opt)(t("location_predicate"))}}},{context:"criterion"}))},{category:"predicate",context:"criterion"}))}de.initAdvancementSchemas=Ze;var se={},le={};Object.defineProperty(le,"__esModule",{value:!0});le.initModelSchemas=void 0;const b=k;function Je(r,e){b.Reference.bind(void 0,r);const t=b.StringNode.bind(void 0,e),o=(n,a,p)=>(0,b.ListNode)((0,b.NumberNode)({min:a,max:p}),{minLength:n,maxLength:n}),d=(0,b.ChoiceNode)([{type:"alias",match:n=>typeof n=="string"&&n.startsWith("#"),node:t(),change:n=>typeof n=="string"?`#${n}`:"#0"},{type:"reference",match:n=>typeof n=="string",node:t({validator:"resource",params:{pool:"$texture"}}),change:n=>typeof n=="string"?n.replace(/^#/,""):""}],{choiceContext:"texture"});r.register("model",(0,b.Mod)((0,b.ObjectNode)({parent:(0,b.Opt)(t({validator:"resource",params:{pool:"$model"}})),ambientocclusion:(0,b.Opt)((0,b.BooleanNode)()),gui_light:(0,b.Opt)(t({enum:"gui_light"})),textures:(0,b.Opt)((0,b.MapNode)(t(),d)),elements:(0,b.Opt)((0,b.ListNode)((0,b.ObjectNode)({from:o(3,-16,32),to:o(3,-16,32),rotation:(0,b.Opt)((0,b.ObjectNode)({origin:o(3),axis:t({enum:"axis"}),angle:(0,b.NumberEnum)({values:[-45,-22.5,0,22.5,45]}),rescale:(0,b.Opt)((0,b.BooleanNode)())})),shade:(0,b.Opt)((0,b.BooleanNode)()),faces:(0,b.MapNode)(t({enum:"direction"}),(0,b.ObjectNode)({texture:d,uv:(0,b.Opt)(o(4)),cullface:(0,b.Opt)(t({enum:"direction"})),rotation:(0,b.Opt)((0,b.NumberNode)({integer:!0})),tintindex:(0,b.Opt)((0,b.NumberNode)({integer:!0}))}))},{context:"model_element"}))),display:(0,b.Opt)((0,b.MapNode)(t({enum:"display_position"}),(0,b.ObjectNode)({rotation:o(3),translation:o(3,-80,80),scale:o(3,-4,4)},{context:"item_transform"}))),overrides:(0,b.Opt)((0,b.ListNode)((0,b.ObjectNode)({predicate:(0,b.MapNode)(t({enum:"item_model_predicates"}),(0,b.NumberNode)()),model:t({validator:"resource",params:{pool:"$model"}})},{context:"model_override"})))},{context:"model"}),{default:()=>({parent:"minecraft:item/generated",textures:{layer0:"minecraft:item/diamond"}})}))}le.initModelSchemas=Je;var me={};Object.defineProperty(me,"__esModule",{value:!0});me.initBlockDefinitionSchemas=void 0;const x=k;function Qe(r,e){const t=x.Reference.bind(void 0,r),o=x.StringNode.bind(void 0,e);r.register("block_definition",(0,x.Mod)((0,x.ChoiceNode)([{type:"variants",match:n=>n.variants!==void 0,node:(0,x.ObjectNode)({variants:(0,x.MapNode)(o(),t("model_variant"))}),change:n=>({variants:{"":{}}})},{type:"multipart",match:n=>n.multipart!==void 0,node:(0,x.ObjectNode)({multipart:(0,x.ListNode)((0,x.ObjectNode)({when:(0,x.Opt)(t("multipart_condition")),apply:t("model_variant")}))}),change:n=>({multipart:{when:{},apply:{}}})}],{context:"block_definition"}),{default:()=>({variants:{"":{model:"minecraft:block/stone"}}})}));const d={model:o({validator:"resource",params:{pool:"$model"}}),x:(0,x.Opt)((0,x.NumberEnum)({integer:!0,values:[0,90,180,270]})),y:(0,x.Opt)((0,x.NumberEnum)({integer:!0,values:[0,90,180,270]})),uvlock:(0,x.Opt)((0,x.BooleanNode)())};r.register("model_variant",(0,x.ChoiceNode)([{type:"object",node:(0,x.ObjectNode)(d),change:n=>Array.isArray(n)&&n.length>0?n[0]:{}},{type:"list",node:(0,x.ListNode)((0,x.ObjectNode)(A(g({},d),{weight:(0,x.Opt)((0,x.NumberNode)({integer:!0,min:1}))}),{context:"model_variant"})),change:n=>[g({weight:1},n)]}],{context:"model_variant"})),r.register("multipart_condition",(0,x.ChoiceNode)([{type:"object",priority:-1,match:()=>!0,node:(0,x.MapNode)(o(),o()),change:n=>typeof n=="object"&&Array.isArray(n==null?void 0:n.OR)&&n.OR.length>0?n.OR[0]:{}},{type:"or",match:n=>typeof n=="object"&&(n==null?void 0:n.OR)!==void 0,node:(0,x.ObjectNode)({OR:(0,x.ListNode)(t("multipart_condition"))}),change:n=>({OR:[n!=null?n:{}]})}],{context:"multipart_condition"}))}me.initBlockDefinitionSchemas=Qe;Object.defineProperty(se,"__esModule",{value:!0});se.initAssetsSchemas=void 0;const et=le,tt=me;function rt(r,e){(0,tt.initBlockDefinitionSchemas)(r,e),(0,et.initModelSchemas)(r,e)}se.initAssetsSchemas=rt;var z={};(function(r){Object.defineProperty(r,"__esModule",{value:!0}),r.initCommonSchemas=r.Tag=r.InclusiveRange=r.IntProvider=r.FloatProvider=r.NoiseSettingsPresets=r.DefaultNoiseSettings=r.DimensionTypePresets=r.DefaultDimensionType=r.FunctionCases=r.ConditionCases=void 0;const e=k;r.DefaultDimensionType={ultrawarm:!1,natural:!0,piglin_safe:!1,respawn_anchor_works:!1,bed_works:!0,has_raids:!0,has_skylight:!0,has_ceiling:!1,coordinate_scale:1,ambient_light:0,logical_height:256,infiniburn:"#minecraft:infiniburn_overworld",min_y:0,height:256},r.DefaultNoiseSettings={sea_level:63,ore_veins_enabled:!0,disable_mob_generation:!1,aquifers_enabled:!0,legacy_random_source:!1,default_block:{Name:"minecraft:stone"},default_fluid:{Properties:{level:"0"},Name:"minecraft:water"},noise:{min_y:-64,height:384,size_horizontal:1,size_vertical:2,top_slide:{target:-.078125,size:2,offset:8},bottom_slide:{target:.1171875,size:3,offset:0},sampling:{xz_scale:.9999999814507745,y_scale:.9999999814507745,xz_factor:80,y_factor:160},terrain_shaper:{offset:0,factor:0,jaggedness:0}},noise_router:{barrier:0,fluid_level_floodedness:0,fluid_level_spread:0,lava:0,temperature:0,vegetation:0,continents:0,erosion:0,depth:0,ridges:0,initial_density_without_jaggedness:0,final_density:{type:"minecraft:interpolated",argument:"minecraft:overworld/base_3d_noise"},vein_toggle:0,vein_ridged:0,vein_gap:0},surface_rule:{type:"minecraft:sequence",sequence:[]}};function t(o,d){const n=e.StringNode.bind(void 0,d),a=e.Reference.bind(void 0,o);o.register("block_state",(0,e.Mod)((0,e.ObjectNode)({Name:n({validator:"resource",params:{pool:"block"}}),Properties:(0,e.Opt)((0,e.MapNode)(n(),n(),{validation:{validator:"block_state_map",params:{id:["pop",{push:"Name"}]}}}))},{context:"block_state"}),{default:()=>({Name:"minecraft:stone"})})),o.register("fluid_state",(0,e.Mod)((0,e.ObjectNode)({Name:n({validator:"resource",params:{pool:"fluid"}}),Properties:(0,e.Opt)((0,e.MapNode)(n(),n()))},{context:"fluid_state"}),{default:()=>({Name:"minecraft:water",Properties:{level:"0"}})})),o.register("block_pos",(0,e.Mod)((0,e.ListNode)((0,e.NumberNode)({integer:!0}),{minLength:3,maxLength:3}),{default:()=>[0,0,0]}));const p=m=>(0,e.Opt)((0,e.ChoiceNode)([{type:"number",node:(0,e.NumberNode)({integer:m}),change:f=>{var j,v;return f===void 0?0:(v=(j=f.min)!==null&&j!==void 0?j:f.max)!==null&&v!==void 0?v:0}},{type:"object",node:(0,e.ObjectNode)({min:(0,e.Opt)((0,e.NumberNode)({integer:m})),max:(0,e.Opt)((0,e.NumberNode)({integer:m}))},{context:"range"}),change:f=>({min:f!=null?f:0,max:f!=null?f:0})}]));o.register("int_bounds",p(!0)),o.register("float_bounds",p()),o.register("int_range",(0,e.ChoiceNode)([{type:"object",node:(0,e.ObjectNode)({min:(0,e.Opt)(a("number_provider")),max:(0,e.Opt)(a("number_provider"))})},{type:"number",node:(0,e.NumberNode)({integer:!0})}],{context:"range"}));const w=(m,f,j,v,S,B,E)=>{let ie={};S&&Object.keys(E[S]).forEach(q=>{ie[q]=(0,e.Mod)(E[S][q],{enabled:I=>I.push("type").get()===void 0})});const Z=(0,e.ObjectNode)(g({type:(0,e.Mod)((0,e.Opt)(n({validator:"resource",params:{pool:m}})),{hidden:()=>!0}),[e.Switch]:[{push:"type"}],[e.Case]:E},ie),{context:B,disableSwitchContext:!0}),J=[{type:f,node:E[v][j]}];return S&&J.push({type:"object",priority:-1,node:Z}),Object.keys(E).forEach(q=>{J.push({type:q,match:I=>{var Q;if("minecraft:"+((Q=I==null?void 0:I.type)===null||Q===void 0?void 0:Q.replace(/^minecraft:/,""))===q)return!0;const W=I?Object.keys(I):[];return typeof I=="object"&&((W==null?void 0:W.length)===0||(W==null?void 0:W.length)===1&&(W==null?void 0:W[0])==="type")},node:Z,change:I=>({type:q})})}),(0,e.ChoiceNode)(J,{context:B,choiceContext:`${B}.type`})};o.register("number_provider",w("loot_number_provider_type","number","value","minecraft:constant","minecraft:uniform","number_provider",{"minecraft:constant":{value:(0,e.NumberNode)()},"minecraft:uniform":{min:a("number_provider"),max:a("number_provider")},"minecraft:binomial":{n:a("number_provider"),p:a("number_provider")},"minecraft:score":{target:a("scoreboard_name_provider"),score:n({validator:"objective"}),scale:(0,e.Opt)((0,e.NumberNode)())}})),o.register("scoreboard_name_provider",w("loot_score_provider_type","string","target","minecraft:context",null,"score_provider",{"minecraft:fixed":{name:n({validator:"entity",params:{amount:"multiple",type:"entities",isScoreHolder:!0}})},"minecraft:context":{target:(0,e.Mod)(n({enum:"entity_source"}),{default:()=>"this"})}})),o.register("nbt_provider",w("loot_nbt_provider_type","string","target","minecraft:context",null,"nbt_provider",{"minecraft:storage":{source:n({validator:"resource",params:{pool:"$storage"}})},"minecraft:context":{target:(0,e.Mod)(n({enum:"copy_source"}),{default:()=>"this"})}})),r.FloatProvider=m=>w("float_provider_type","number","value","minecraft:constant",null,"float_provider",{"minecraft:constant":{value:(0,e.NumberNode)(m)},"minecraft:uniform":{value:(0,e.ObjectNode)({min_inclusive:(0,e.NumberNode)(m),max_exclusive:(0,e.NumberNode)(m)})},"minecraft:clamped_normal":{value:(0,e.ObjectNode)({min:(0,e.NumberNode)(),max:(0,e.NumberNode)(),mean:(0,e.NumberNode)(),deviation:(0,e.NumberNode)()})},"minecraft:trapezoid":{value:(0,e.ObjectNode)({min:(0,e.NumberNode)(),max:(0,e.NumberNode)(),plateau:(0,e.NumberNode)()})}}),o.register("float_provider",(0,r.FloatProvider)()),r.IntProvider=m=>w("int_provider_type","number","value","minecraft:constant",null,"int_provider",{"minecraft:constant":{value:(0,e.NumberNode)(g({integer:!0},m))},"minecraft:uniform":{value:(0,e.ObjectNode)({min_inclusive:(0,e.NumberNode)(g({integer:!0},m)),max_inclusive:(0,e.NumberNode)(g({integer:!0},m))})},"minecraft:biased_to_bottom":{value:(0,e.ObjectNode)({min_inclusive:(0,e.NumberNode)(g({integer:!0},m)),max_inclusive:(0,e.NumberNode)(g({integer:!0},m))})},"minecraft:clamped":{value:(0,e.ObjectNode)({min_inclusive:(0,e.NumberNode)(g({integer:!0},m)),max_inclusive:(0,e.NumberNode)(g({integer:!0},m)),source:a("int_provider")})},"minecraft:clamped_normal":{value:(0,e.ObjectNode)({min_inclusive:(0,e.NumberNode)(g({integer:!0},m)),max_inclusive:(0,e.NumberNode)(g({integer:!0},m)),mean:(0,e.NumberNode)(),deviation:(0,e.NumberNode)()})},"minecraft:weighted_list":{distribution:(0,e.ListNode)((0,e.ObjectNode)({weight:(0,e.NumberNode)({integer:!0}),data:a("int_provider")}))}}),o.register("int_provider",(0,r.IntProvider)()),o.register("vertical_anchor",(0,e.ChoiceNode)(["absolute","above_bottom","below_top"].map(m=>({type:m,match:f=>(f==null?void 0:f[m])!==void 0,change:f=>{var j,v,S;return{[m]:(S=(v=(j=f.absolute)!==null&&j!==void 0?j:f.above_bottom)!==null&&v!==void 0?v:f.below_top)!==null&&S!==void 0?S:0}},node:(0,e.ObjectNode)({[m]:(0,e.NumberNode)({integer:!0,min:-2048,max:2047})})})),{context:"vertical_anchor"})),o.register("height_provider",w("height_provider_type","number","value","minecraft:constant",null,"height_provider",{"minecraft:constant":{value:a("vertical_anchor")},"minecraft:uniform":{min_inclusive:a("vertical_anchor"),max_inclusive:a("vertical_anchor")},"minecraft:biased_to_bottom":{min_inclusive:a("vertical_anchor"),max_inclusive:a("vertical_anchor"),inner:(0,e.Opt)((0,e.NumberNode)({integer:!0,min:1}))},"minecraft:very_biased_to_bottom":{min_inclusive:a("vertical_anchor"),max_inclusive:a("vertical_anchor"),inner:(0,e.Opt)((0,e.NumberNode)({integer:!0,min:1}))},"minecraft:trapezoid":{min_inclusive:a("vertical_anchor"),max_inclusive:a("vertical_anchor"),plateau:(0,e.Opt)((0,e.NumberNode)({integer:!0}))},"minecraft:weighted_list":{distribution:(0,e.ListNode)((0,e.ObjectNode)({weight:(0,e.NumberNode)({integer:!0}),data:a("int_provider")}))}})),r.InclusiveRange=m=>(0,e.ObjectNode)({min_inclusive:(0,e.NumberNode)(m),max_inclusive:(0,e.NumberNode)(m)},{context:"range"}),o.register("noise_parameters",(0,e.Mod)((0,e.ObjectNode)({firstOctave:(0,e.NumberNode)({integer:!0}),amplitudes:(0,e.ListNode)((0,e.NumberNode)())},{context:"noise_parameters"}),{default:()=>({firstOctave:-7,amplitudes:[1,1]})})),r.Tag=m=>(0,e.ChoiceNode)([{type:"string",node:n({validator:"resource",params:{pool:m.resource,allowTag:!0}}),change:f=>{if(Array.isArray(f)&&typeof f[0]=="string"&&!f[0].startsWith("#"))return f[0]}},{type:"list",node:(0,e.ListNode)(m.inlineSchema?(0,e.ChoiceNode)([{type:"string",node:n({validator:"resource",params:{pool:m.resource}})},{type:"object",node:a(m.inlineSchema)}],{choiceContext:"tag.list"}):n({validator:"resource",params:{pool:m.resource}})),change:f=>typeof f=="string"&&!f.startsWith("#")?[f]:[]}],{choiceContext:"tag"}),r.ConditionCases=(m=n({enum:"entity_source"}))=>({"minecraft:alternative":{terms:(0,e.ListNode)(a("condition"))},"minecraft:block_state_property":{block:n({validator:"resource",params:{pool:"block"}}),properties:(0,e.MapNode)(n(),n(),{validation:{validator:"block_state_map",params:{id:["pop",{push:"block"}]}}})},"minecraft:damage_source_properties":{predicate:a("damage_source_predicate")},"minecraft:entity_properties":{entity:m,predicate:a("entity_predicate")},"minecraft:entity_scores":{entity:m,scores:(0,e.MapNode)(n({validator:"objective"}),a("int_range"))},"minecraft:inverted":{term:a("condition")},"minecraft:killed_by_player":{inverse:(0,e.Opt)((0,e.BooleanNode)())},"minecraft:location_check":{offsetX:(0,e.Opt)((0,e.NumberNode)({integer:!0})),offsetY:(0,e.Opt)((0,e.NumberNode)({integer:!0})),offsetZ:(0,e.Opt)((0,e.NumberNode)({integer:!0})),predicate:a("location_predicate")},"minecraft:match_tool":{predicate:a("item_predicate")},"minecraft:random_chance":{chance:(0,e.NumberNode)({min:0,max:1})},"minecraft:random_chance_with_looting":{chance:(0,e.NumberNode)({min:0,max:1}),looting_multiplier:(0,e.NumberNode)()},"minecraft:reference":{name:n({validator:"resource",params:{pool:"$predicate"}})},"minecraft:table_bonus":{enchantment:n({validator:"resource",params:{pool:"enchantment"}}),chances:(0,e.ListNode)((0,e.NumberNode)({min:0,max:1}))},"minecraft:time_check":{value:a("int_range"),period:(0,e.Opt)((0,e.NumberNode)({integer:!0}))},"minecraft:value_check":{value:a("number_provider"),range:a("int_range")},"minecraft:weather_check":{raining:(0,e.Opt)((0,e.BooleanNode)()),thundering:(0,e.Opt)((0,e.BooleanNode)())}}),r.FunctionCases=(m,f=n({enum:"copy_source"}),j=n({enum:"entity_source"}))=>{const v={"minecraft:apply_bonus":{enchantment:n({validator:"resource",params:{pool:"enchantment"}}),formula:n({validator:"resource",params:{pool:d.get("loot_table_apply_bonus_formula")}}),parameters:(0,e.Mod)((0,e.ObjectNode)({bonusMultiplier:(0,e.Mod)((0,e.NumberNode)(),{enabled:B=>B.pop().push("formula").get()==="minecraft:uniform_bonus_count"}),extra:(0,e.Mod)((0,e.NumberNode)(),{enabled:B=>B.pop().push("formula").get()==="minecraft:binomial_with_bonus_count"}),probability:(0,e.Mod)((0,e.NumberNode)(),{enabled:B=>B.pop().push("formula").get()==="minecraft:binomial_with_bonus_count"})}),{enabled:B=>B.push("formula").get()!=="minecraft:ore_drops"})},"minecraft:copy_name":{source:f},"minecraft:copy_nbt":{source:a("nbt_provider"),ops:(0,e.ListNode)((0,e.ObjectNode)({source:n({validator:"nbt_path",params:{category:{getter:"copy_source",path:["pop","pop","pop",{push:"source"}]}}}),target:n({validator:"nbt_path",params:{category:"minecraft:item"}}),op:n({enum:["replace","append","merge"]})},{context:"nbt_operation"}))},"minecraft:copy_state":{block:n({validator:"resource",params:{pool:"block"}}),properties:(0,e.ListNode)(n({validator:"block_state_key",params:{id:["pop","pop",{push:"block"}]}}))},"minecraft:enchant_randomly":{enchantments:(0,e.Opt)((0,e.ListNode)(n({validator:"resource",params:{pool:"enchantment"}})))},"minecraft:enchant_with_levels":{levels:a("number_provider"),treasure:(0,e.Opt)((0,e.BooleanNode)())},"minecraft:exploration_map":{destination:(0,e.Opt)((0,r.Tag)({resource:"$worldgen/configured_structure_feature"})),decoration:(0,e.Opt)(n({enum:"map_decoration"})),zoom:(0,e.Opt)((0,e.NumberNode)({integer:!0})),search_radius:(0,e.Opt)((0,e.NumberNode)({integer:!0})),skip_existing_chunks:(0,e.Opt)((0,e.BooleanNode)())},"minecraft:fill_player_head":{entity:j},"minecraft:limit_count":{limit:a("int_range")},"minecraft:looting_enchant":{count:a("number_provider"),limit:(0,e.Opt)((0,e.NumberNode)({integer:!0}))},"minecraft:set_attributes":{modifiers:(0,e.ListNode)(a("attribute_modifier"))},"minecraft:set_banner_pattern":{patterns:(0,e.ListNode)((0,e.ObjectNode)({pattern:n({enum:"banner_pattern"}),color:n({enum:"dye_color"})})),append:(0,e.Opt)((0,e.BooleanNode)())},"minecraft:set_contents":{type:n({validator:"resource",params:{pool:"block_entity_type"}}),entries:(0,e.ListNode)(a("loot_entry"))},"minecraft:set_count":{count:a("number_provider"),add:(0,e.Opt)((0,e.BooleanNode)())},"minecraft:set_damage":{damage:a("number_provider"),add:(0,e.Opt)((0,e.BooleanNode)())},"minecraft:set_enchantments":{enchantments:(0,e.MapNode)(n({validator:"resource",params:{pool:"enchantment"}}),a("number_provider")),add:(0,e.Opt)((0,e.BooleanNode)())},"minecraft:set_loot_table":{type:n({validator:"resource",params:{pool:"block_entity_type"}}),name:n({validator:"resource",params:{pool:"$loot_table"}}),seed:(0,e.Opt)((0,e.NumberNode)({integer:!0}))},"minecraft:set_lore":{entity:(0,e.Opt)(j),lore:(0,e.ListNode)(a("text_component")),replace:(0,e.Opt)((0,e.BooleanNode)())},"minecraft:set_name":{entity:(0,e.Opt)(j),name:(0,e.Opt)(a("text_component"))},"minecraft:set_nbt":{tag:n({validator:"nbt",params:{registry:{category:"minecraft:item"}}})},"minecraft:set_potion":{id:n({validator:"resource",params:{pool:"potion"}})},"minecraft:set_stew_effect":{effects:(0,e.Opt)((0,e.ListNode)((0,e.ObjectNode)({type:n({validator:"resource",params:{pool:"mob_effect"}}),duration:a("number_provider")})))}},S={};return d.get("loot_function_type").forEach(B=>{S[B]=g(g({},v[B]),m)}),S},r.DimensionTypePresets=m=>(0,e.ObjectOrPreset)(n({validator:"resource",params:{pool:"$dimension_type"}}),m,{"minecraft:overworld":r.DefaultDimensionType,"minecraft:the_nether":{name:"minecraft:the_nether",ultrawarm:!0,natural:!1,shrunk:!0,piglin_safe:!0,respawn_anchor_works:!0,bed_works:!1,has_raids:!1,has_skylight:!1,has_ceiling:!0,ambient_light:.1,fixed_time:18e3,logical_height:128,effects:"minecraft:the_nether",infiniburn:"#minecraft:infiniburn_nether",min_y:0,height:256},"minecraft:the_end":{name:"minecraft:the_end",ultrawarm:!1,natural:!1,shrunk:!1,piglin_safe:!1,respawn_anchor_works:!1,bed_works:!1,has_raids:!0,has_skylight:!1,has_ceiling:!1,ambient_light:0,fixed_time:6e3,logical_height:256,effects:"minecraft:the_end",infiniburn:"#minecraft:infiniburn_end",min_y:0,height:256}}),r.NoiseSettingsPresets=m=>(0,e.ObjectOrPreset)(n({validator:"resource",params:{pool:"$worldgen/noise_settings"}}),m,{"minecraft:overworld":r.DefaultNoiseSettings,"minecraft:nether":{sea_level:32,ore_veins_enabled:!1,disable_mob_generation:!1,aquifers_enabled:!1,legacy_random_source:!0,default_block:{Name:"minecraft:netherrack"},default_fluid:{Properties:{level:"0"},Name:"minecraft:lava"},noise:{min_y:0,height:128,size_horizontal:1,size_vertical:2,top_slide:{target:.9375,size:3,offset:0},bottom_slide:{target:2.5,size:4,offset:-1},sampling:{xz_scale:1,y_scale:3,xz_factor:80,y_factor:60},terrain_shaper:{offset:0,factor:0,jaggedness:0}},noise_router:{barrier:0,fluid_level_floodedness:0,fluid_level_spread:0,lava:0,temperature:0,vegetation:0,continents:0,erosion:0,depth:0,ridges:0,initial_density_without_jaggedness:0,final_density:{type:"minecraft:interpolated",argument:"minecraft:overworld/base_3d_noise"},vein_toggle:0,vein_ridged:0,vein_gap:0},surface_rule:{type:"minecraft:sequence",sequence:[]}},"minecraft:end":{sea_level:0,ore_veins_enabled:!1,disable_mob_generation:!1,aquifers_enabled:!1,legacy_random_source:!0,default_block:{Name:"minecraft:end_stone"},default_fluid:{Name:"minecraft:air"},noise:{min_y:0,height:128,size_horizontal:2,size_vertical:1,top_slide:{target:-23.4375,size:64,offset:-46},bottom_slide:{target:-.234375,size:7,offset:1},sampling:{xz_scale:2,y_scale:1,xz_factor:80,y_factor:160},terrain_shaper:{offset:0,factor:1,jaggedness:0}},noise_router:{barrier:0,fluid_level_floodedness:0,fluid_level_spread:0,lava:0,temperature:0,vegetation:0,continents:0,erosion:0,depth:0,ridges:0,initial_density_without_jaggedness:0,final_density:{type:"minecraft:interpolated",argument:"minecraft:overworld/base_3d_noise"},vein_toggle:0,vein_ridged:0,vein_gap:0},surface_rule:{type:"minecraft:sequence",sequence:[]}},"minecraft:amplified":{sea_level:63,ore_veins_enabled:!0,disable_mob_generation:!1,aquifers_enabled:!0,legacy_random_source:!1,default_block:{Name:"minecraft:stone"},default_fluid:{Properties:{level:"0"},Name:"minecraft:water"},noise:{min_y:-64,height:384,size_horizontal:1,size_vertical:2,top_slide:{target:-.078125,size:2,offset:8},bottom_slide:{target:.1171875,size:3,offset:0},sampling:{xz_scale:.9999999814507745,y_scale:.9999999814507745,xz_factor:80,y_factor:160},terrain_shaper:{offset:0,factor:0,jaggedness:0}},noise_router:{barrier:0,fluid_level_floodedness:0,fluid_level_spread:0,lava:0,temperature:0,vegetation:0,continents:0,erosion:0,depth:0,ridges:0,initial_density_without_jaggedness:0,final_density:{type:"minecraft:interpolated",argument:"minecraft:overworld/base_3d_noise"},vein_toggle:0,vein_ridged:0,vein_gap:0},surface_rule:{type:"minecraft:sequence",sequence:[]}},"minecraft:caves":{sea_level:32,ore_veins_enabled:!1,disable_mob_generation:!1,aquifers_enabled:!1,legacy_random_source:!0,default_block:{Name:"minecraft:stone"},default_fluid:{Properties:{level:"0"},Name:"minecraft:water"},noise:{min_y:0,height:128,size_horizontal:1,size_vertical:2,top_slide:{target:.9375,size:3,offset:0},bottom_slide:{target:2.5,size:4,offset:-1},sampling:{xz_scale:1,y_scale:3,xz_factor:80,y_factor:60},terrain_shaper:{offset:0,factor:0,jaggedness:0}},noise_router:{barrier:0,fluid_level_floodedness:0,fluid_level_spread:0,lava:0,temperature:0,vegetation:0,continents:0,erosion:0,depth:0,ridges:0,initial_density_without_jaggedness:0,final_density:{type:"minecraft:interpolated",argument:"minecraft:overworld/base_3d_noise"},vein_toggle:0,vein_ridged:0,vein_gap:0},surface_rule:{type:"minecraft:sequence",sequence:[]}},"minecraft:floating_islands":{sea_level:0,ore_veins_enabled:!1,disable_mob_generation:!1,aquifers_enabled:!1,legacy_random_source:!0,default_block:{Name:"minecraft:stone"},default_fluid:{Properties:{level:"0"},Name:"minecraft:water"},noise:{min_y:0,height:128,size_horizontal:2,size_vertical:1,top_slide:{target:-23.4375,size:64,offset:-46},bottom_slide:{target:-.234375,size:7,offset:1},sampling:{xz_scale:2,y_scale:1,xz_factor:80,y_factor:160},terrain_shaper:{offset:0,factor:1,jaggedness:0}},noise_router:{barrier:0,fluid_level_floodedness:0,fluid_level_spread:0,lava:0,temperature:0,vegetation:0,continents:0,erosion:0,depth:0,ridges:0,initial_density_without_jaggedness:0,final_density:{type:"minecraft:interpolated",argument:"minecraft:overworld/base_3d_noise"},vein_toggle:0,vein_ridged:0,vein_gap:0},surface_rule:{type:"minecraft:sequence",sequence:[]}}})}r.initCommonSchemas=t})(z);var _e={};Object.defineProperty(_e,"__esModule",{value:!0});_e.initConditionSchemas=void 0;const ee=k,ot=z;function it(r,e){const t=ee.Reference.bind(void 0,r),o=ee.StringNode.bind(void 0,e);r.register("predicate",(0,ee.ObjectOrList)(t("condition"),{choiceContext:"condition"})),r.register("condition",(0,ee.Mod)((0,ee.ObjectNode)({condition:o({validator:"resource",params:{pool:"loot_condition_type"}}),[ee.Switch]:[{push:"condition"}],[ee.Case]:(0,ot.ConditionCases)()},{category:"predicate",context:"condition"}),{default:()=>({condition:"minecraft:entity_properties",entity:"this"})}))}_e.initConditionSchemas=it;var ue={};Object.defineProperty(ue,"__esModule",{value:!0});ue.initDimensionSchemas=void 0;const O=k,$e=z;function nt(r,e){const t=O.Reference.bind(void 0,r),o=O.StringNode.bind(void 0,e),d=(0,O.ChoiceNode)([{type:"string",priority:1,node:o({validator:"resource",params:{pool:"$worldgen/structure_set"}}),change:()=>{}},{type:"object",node:t("structure_set"),change:()=>({})}],{choiceContext:"structure_set"});r.register("dimension",(0,O.Mod)((0,O.ObjectNode)({type:(0,$e.DimensionTypePresets)(t("dimension_type")),generator:(0,O.ObjectNode)({type:o({validator:"resource",params:{pool:"worldgen/chunk_generator"}}),[O.Switch]:[{push:"type"}],[O.Case]:{"minecraft:noise":{seed:(0,O.NumberNode)({integer:!0}),settings:(0,$e.NoiseSettingsPresets)(t("noise_settings")),biome_source:(0,O.ObjectNode)({type:o({validator:"resource",params:{pool:"worldgen/biome_source"}}),[O.Switch]:[{push:"type"}],[O.Case]:{"minecraft:fixed":{biome:o({validator:"resource",params:{pool:"$worldgen/biome"}})},"minecraft:multi_noise":{preset:(0,O.Opt)(o({validator:"resource",params:{pool:["minecraft:overworld","minecraft:nether"]}})),biomes:(0,O.Mod)((0,O.ListNode)(t("generator_biome")),{enabled:a=>a.push("preset").get()===void 0,default:()=>[{biome:"minecraft:plains"}]})},"minecraft:checkerboard":{scale:(0,O.Opt)((0,O.NumberNode)({integer:!0,min:0,max:62})),biomes:(0,$e.Tag)({resource:"$worldgen/biome"})},"minecraft:the_end":{seed:(0,O.NumberNode)({integer:!0})}}},{category:"predicate",disableSwitchContext:!0})},"minecraft:flat":{settings:(0,O.ObjectNode)({biome:(0,O.Opt)(o({validator:"resource",params:{pool:"$worldgen/biome"}})),lakes:(0,O.Opt)((0,O.BooleanNode)()),features:(0,O.Opt)((0,O.BooleanNode)()),layers:(0,O.ListNode)(t("generator_layer")),structure_overrides:(0,O.ListNode)(d)})}}},{disableSwitchContext:!0})},{category:"pool",context:"dimension"}),{default:()=>{const a=Math.floor(Math.random()*4294967296)-2147483648;return{type:"minecraft:overworld",generator:{type:"minecraft:noise",seed:a,biome_source:{type:"minecraft:fixed",seed:a,biome:"minecraft:plains"},settings:"minecraft:overworld"}}}}));const n=(0,O.ChoiceNode)([{type:"number",node:(0,O.NumberNode)({min:-2,max:2}),change:a=>{var p;return(p=a[0])!==null&&p!==void 0?p:0}},{type:"list",node:(0,O.ListNode)((0,O.NumberNode)({min:-2,max:2}),{minLength:2,maxLength:2}),change:a=>[a!=null?a:0,a!=null?a:0]}]);r.register("generator_biome",(0,O.Mod)((0,O.ObjectNode)({biome:o({validator:"resource",params:{pool:"$worldgen/biome"}}),parameters:(0,O.ObjectNode)({temperature:n,humidity:n,continentalness:n,erosion:n,weirdness:n,depth:n,offset:(0,O.NumberNode)({min:0,max:1})})},{context:"generator_biome"}),{default:()=>({biome:"minecraft:plains",parameters:{altitude:0,temperature:0,humidity:0,weirdness:0,offset:0}})}))}ue.initDimensionSchemas=nt;var pe={};Object.defineProperty(pe,"__esModule",{value:!0});pe.initDimensionTypeSchemas=void 0;const $=k,at=z;function ct(r,e){const t=$.StringNode.bind(void 0,e);r.register("dimension_type",(0,$.Mod)((0,$.ObjectNode)({ultrawarm:(0,$.BooleanNode)(),natural:(0,$.BooleanNode)(),piglin_safe:(0,$.BooleanNode)(),respawn_anchor_works:(0,$.BooleanNode)(),bed_works:(0,$.BooleanNode)(),has_raids:(0,$.BooleanNode)(),has_skylight:(0,$.BooleanNode)(),has_ceiling:(0,$.BooleanNode)(),coordinate_scale:(0,$.NumberNode)({min:1e-5,max:3e7}),ambient_light:(0,$.NumberNode)(),fixed_time:(0,$.Opt)((0,$.NumberNode)({integer:!0})),logical_height:(0,$.NumberNode)({integer:!0,min:0,max:4064}),effects:(0,$.Opt)(t({enum:["minecraft:overworld","minecraft:the_nether","minecraft:the_end"]})),infiniburn:t({validator:"resource",params:{pool:"block",requireTag:!0}}),min_y:(0,$.NumberNode)({integer:!0,min:-2032,max:2031}),height:(0,$.NumberNode)({integer:!0,min:16,max:4064})},{context:"dimension_type"}),o=>({default:()=>at.DefaultDimensionType,validate:(d,n,a,p)=>(n=o.validate(d,n,a,p),(n==null?void 0:n.min_y)+(n==null?void 0:n.height)>2032&&a.add(d.push("height"),"error.min_y_plus_height",2032),(n==null?void 0:n.logical_height)>(n==null?void 0:n.height)&&a.add(d.push("logical_height"),"error.logical_height"),(n==null?void 0:n.height)%16!==0&&a.add(d.push("height"),"error.height_multiple",16),(n==null?void 0:n.min_y)%16!==0&&a.add(d.push("min_y"),"error.min_y_multiple",16),n)})))}pe.initDimensionTypeSchemas=ct;var fe={};Object.defineProperty(fe,"__esModule",{value:!0});fe.initItemModifierSchemas=void 0;const U=k,dt=z;function st(r,e){const t=U.Reference.bind(void 0,r),o=U.StringNode.bind(void 0,e);r.register("item_modifier",(0,U.ObjectOrList)(t("function"),{choiceContext:"function"}));const d={conditions:(0,U.Opt)((0,U.ListNode)(t("condition")))};r.register("function",(0,U.Mod)((0,U.ObjectNode)({function:o({validator:"resource",params:{pool:"loot_function_type"}}),[U.Switch]:[{push:"function"}],[U.Case]:(0,dt.FunctionCases)(d)},{category:"function",context:"function"}),{default:()=>[{function:"minecraft:set_count",count:1}]}))}fe.initItemModifierSchemas=st;var ge={},T={};Object.defineProperty(T,"__esModule",{value:!0});T.LootFunctions=T.LootConditions=T.LootCopySources=T.LootEntitySources=T.LootTableTypes=void 0;T.LootTableTypes=new Map([["minecraft:advancement_entity",{requires:[7,8],allows:[]}],["minecraft:advancement_reward",{requires:[7,8],allows:[]}],["minecraft:barter",{requires:[8],allows:[]}],["minecraft:block",{requires:[1,7,9],allows:[0,4,8]}],["minecraft:chest",{requires:[7],allows:[8]}],["minecraft:command",{requires:[7],allows:[8]}],["minecraft:empty",{requires:[],allows:[]}],["minecraft:entity",{requires:[2,7,8],allows:[3,5,6]}],["minecraft:fishing",{requires:[7,9],allows:[8]}],["minecraft:generic",{requires:[2,0,1,3,4,5,6,7,8,9],allows:[]}],["minecraft:gift",{requires:[7,8],allows:[]}],["minecraft:selector",{requires:[7],allows:[8]}]]);T.LootEntitySources=new Map([["direct_killer",[3]],["killer",[5]],["killer_player",[5]],["this",[8]]]);T.LootCopySources=new Map([["block_entity",[0]],["killer",[5]],["killer_player",[5]],["this",[8]]]);T.LootConditions=new Map([["minecraft:alternative",[]],["minecraft:block_state_property",[1]],["minecraft:damage_source_properties",[2]],["minecraft:entity_properties",[7]],["minecraft:entity_scores",[]],["minecraft:inverted",[]],["minecraft:killed_by_player",[6]],["minecraft:location_check",[]],["minecraft:match_tool",[9]],["minecraft:random_chance",[]],["minecraft:random_chance_with_looting",[5]],["minecraft:reference",[]],["minecraft:survives_explosion",[4]],["minecraft:table_bonus",[9]],["minecraft:time_check",[]],["minecraft:weather_check",[]]]);T.LootFunctions=new Map([["minecraft:apply_bonus",[9]],["minecraft:copy_name",[]],["minecraft:copy_nbt",[]],["minecraft:copy_state",[1]],["minecraft:enchant_randomly",[]],["minecraft:enchant_with_levels",[]],["minecraft:exploration_map",[7]],["minecraft:explosion_decay",[]],["minecraft:fill_player_head",[]],["minecraft:furnace_smelt",[]],["minecraft:limit_count",[]],["minecraft:looting_enchant",[5]],["minecraft:set_attributes",[]],["minecraft:set_banner_pattern",[]],["minecraft:set_contents",[]],["minecraft:set_count",[]],["minecraft:set_damage",[]],["minecraft:set_loot_table",[]],["minecraft:set_lore",[]],["minecraft:set_name",[]],["minecraft:set_nbt",[]],["minecraft:set_stew_effect",[]]]);Object.defineProperty(ge,"__esModule",{value:!0});ge.initLootTableSchemas=void 0;const u=k,oe=T,Re=z;function lt(r,e){const t=u.Reference.bind(void 0,r),o=u.StringNode.bind(void 0,e),d={conditions:(0,u.Opt)((0,u.ListNode)(t("loot_condition")))},n=g({functions:(0,u.Opt)((0,u.ListNode)(t("loot_function")))},d);function a(v,S,B){const E=[],ie=Z=>e.get(S).filter(J=>{var q;return((q=v.get(J))!==null&&q!==void 0?q:[]).every(Q=>Z.includes(Q))});for(const[Z,{allows:J,requires:q}]of oe.LootTableTypes){const I=[...J,...q];E.push({match:Q=>Q.getModel().get(new u.Path(["type"]))===Z,node:B(ie(I))})}return E.push({match:Z=>!0,node:B(S)}),(0,u.SwitchNode)(E)}const p=a(oe.LootConditions,"loot_condition_type",v=>o({validator:"resource",params:{pool:v instanceof Array?v:"loot_condition_type"}})),w=a(oe.LootFunctions,"loot_function_type",v=>o({validator:"resource",params:{pool:v instanceof Array?v:"loot_function_type"}})),m=a(oe.LootEntitySources,"entity_source",v=>o({enum:v})),f=a(oe.LootCopySources,"copy_source",v=>o({enum:v}));r.register("loot_table",(0,u.Mod)((0,u.ObjectNode)({type:(0,u.Opt)(o({validator:"resource",params:{pool:e.get("loot_context_type")}})),pools:(0,u.Opt)((0,u.ListNode)((0,u.Mod)((0,u.ObjectNode)(g({rolls:t("number_provider"),bonus_rolls:(0,u.Opt)(t("number_provider")),entries:(0,u.ListNode)(t("loot_entry"))},n),{category:"pool",context:"loot_pool"}),{default:()=>({rolls:1,entries:[{type:"minecraft:item",name:"minecraft:stone"}]})}))),functions:(0,u.Opt)((0,u.ListNode)(t("loot_function")))},{context:"loot_table"}),{default:()=>({pools:[{rolls:1,entries:[{type:"minecraft:item",name:"minecraft:stone"}]}]})}));const j={enabled:v=>{var S;return((S=v.pop().get())===null||S===void 0?void 0:S.length)>1&&!["minecraft:alternatives","minecraft:group","minecraft:sequence"].includes(v.push("type").get())}};r.register("loot_entry",(0,u.Mod)((0,u.ObjectNode)({type:o({validator:"resource",params:{pool:"loot_pool_entry_type"}}),weight:(0,u.Opt)((0,u.Mod)((0,u.NumberNode)({integer:!0,min:1}),j)),quality:(0,u.Opt)((0,u.Mod)((0,u.NumberNode)({integer:!0}),j)),[u.Switch]:[{push:"type"}],[u.Case]:{"minecraft:alternatives":g({children:(0,u.ListNode)(t("loot_entry"))},n),"minecraft:dynamic":g({name:o()},n),"minecraft:group":g({children:(0,u.ListNode)(t("loot_entry"))},n),"minecraft:item":g({name:o({validator:"resource",params:{pool:"item"}})},n),"minecraft:loot_table":g({name:o({validator:"resource",params:{pool:"$loot_table"}})},n),"minecraft:sequence":g({children:(0,u.ListNode)(t("loot_entry"))},n),"minecraft:tag":g({name:o({validator:"resource",params:{pool:"$tag/item"}}),expand:(0,u.Opt)((0,u.BooleanNode)())},n)}},{context:"loot_entry"}),{default:()=>({type:"minecraft:item",name:"minecraft:stone"})})),r.register("loot_function",(0,u.Mod)((0,u.ObjectNode)({function:w,[u.Switch]:[{push:"function"}],[u.Case]:(0,Re.FunctionCases)(d,f,m)},{category:"function",context:"function"}),{default:()=>({function:"minecraft:set_count",count:1})})),r.register("loot_condition",(0,u.Mod)((0,u.ObjectNode)({condition:p,[u.Switch]:[{push:"condition"}],[u.Case]:(0,Re.ConditionCases)(m)},{category:"predicate",context:"condition"}),{default:()=>({condition:"minecraft:random_chance",chance:.5})})),r.register("attribute_modifier",(0,u.Mod)((0,u.ObjectNode)({attribute:o({validator:"resource",params:{pool:"attribute"}}),name:o(),amount:t("number_provider"),operation:o({enum:["addition","multiply_base","multiply_total"]}),slot:(0,u.StringOrList)(o({enum:"slot"}))},{context:"attribute_modifier"}),{default:()=>({attribute:"minecraft:generic.max_health",name:"",amount:1,operation:"addition",slot:"mainhand"})}))}ge.initLootTableSchemas=lt;var be={};Object.defineProperty(be,"__esModule",{value:!0});be.initPackMcmetaSchemas=void 0;const te=k,H=9;function mt(r,e){r.register("pack_mcmeta",(0,te.Mod)((0,te.ObjectNode)({pack:(0,te.Mod)((0,te.ObjectNode)({pack_format:(0,te.Mod)((0,te.NumberNode)({integer:!0,min:H,max:H}),{default:()=>H,canUpdate:(t,o)=>o!==H,update:()=>[{name:"pack_format",params:[H],newValue:H}]}),description:(0,te.Reference)(r,"text_component")}),{default:()=>({pack_format:H,description:""})})}),{default:()=>({pack:{pack_format:H,description:""}})}))}be.initPackMcmetaSchemas=mt;var Ne={};Object.defineProperty(Ne,"__esModule",{value:!0});Ne.initPredicatesSchemas=void 0;const c=k;function _t(r,e){const t=c.Reference.bind(void 0,r),o=c.StringNode.bind(void 0,e),d=(0,c.ChoiceNode)([{type:"string",node:o(),change:n=>typeof n=="boolean"||typeof n=="number"?n.toString():""},{type:"number",node:(0,c.NumberNode)(),change:n=>typeof n=="string"?parseInt(n):0},{type:"object",node:(0,c.ObjectNode)({min:(0,c.Opt)((0,c.NumberNode)({integer:!0})),max:(0,c.Opt)((0,c.NumberNode)({integer:!0}))}),change:n=>typeof n=="number"?{min:n,max:n}:{}},{type:"boolean",node:(0,c.BooleanNode)(),change:n=>n==="true"||n===1}]);r.register("item_predicate",(0,c.ObjectNode)({items:(0,c.Opt)((0,c.ListNode)(o({validator:"resource",params:{pool:"item"}}))),tag:(0,c.Opt)(o({validator:"resource",params:{pool:"$tag/item"}})),count:t("int_bounds"),durability:t("int_bounds"),potion:(0,c.Opt)(o({validator:"resource",params:{pool:"potion"}})),nbt:(0,c.Opt)(o({validator:"nbt",params:{registry:{category:"minecraft:item",id:["pop",{push:"item"}]}}})),enchantments:(0,c.Opt)((0,c.ListNode)(t("enchantment_predicate")))},{context:"item"})),r.register("enchantment_predicate",(0,c.ObjectNode)({enchantment:(0,c.Opt)(o({validator:"resource",params:{pool:"enchantment"}})),levels:t("int_bounds")},{context:"enchantment"})),r.register("block_predicate",(0,c.ObjectNode)({blocks:(0,c.Opt)((0,c.ListNode)(o({validator:"resource",params:{pool:"block"}}))),tag:(0,c.Opt)(o({validator:"resource",params:{pool:"$tag/block"}})),nbt:(0,c.Opt)(o({validator:"nbt",params:{registry:{category:"minecraft:block",id:["pop",{push:"block"}]}}})),state:(0,c.Opt)((0,c.MapNode)(o(),d,{validation:{validator:"block_state_map",params:{id:["pop",{push:"block"}]}}}))},{context:"block"})),r.register("fluid_predicate",(0,c.ObjectNode)({fluid:(0,c.Opt)(o({validator:"resource",params:{pool:"fluid"}})),tag:(0,c.Opt)(o({validator:"resource",params:{pool:"$tag/fluid"}})),state:(0,c.Opt)((0,c.MapNode)(o(),d))},{context:"fluid"})),r.register("location_predicate",(0,c.ObjectNode)({position:(0,c.Opt)((0,c.ObjectNode)({x:t("float_bounds"),y:t("float_bounds"),z:t("float_bounds")})),biome:(0,c.Opt)(o({validator:"resource",params:{pool:"$worldgen/biome"}})),feature:(0,c.Opt)(o({validator:"resource",params:{pool:"$worldgen/configured_structure_feature"}})),dimension:(0,c.Opt)(o({validator:"resource",params:{pool:"$dimension"}})),light:(0,c.Opt)((0,c.ObjectNode)({light:t("int_bounds")})),smokey:(0,c.Opt)((0,c.BooleanNode)()),block:(0,c.Opt)(t("block_predicate")),fluid:(0,c.Opt)(t("fluid_predicate"))},{context:"location"})),r.register("statistic_predicate",(0,c.ObjectNode)({type:o({validator:"resource",params:{pool:"stat_type"}}),stat:o(),value:t("int_bounds"),[c.Switch]:[{push:"type"}],[c.Case]:{"minecraft:mined":{stat:o({validator:"resource",params:{pool:"block"}})},"minecraft:crafted":{stat:o({validator:"resource",params:{pool:"item"}})},"minecraft:used":{stat:o({validator:"resource",params:{pool:"item"}})},"minecraft:broken":{stat:o({validator:"resource",params:{pool:"item"}})},"minecraft:picked_up":{stat:o({validator:"resource",params:{pool:"item"}})},"minecraft:dropped":{stat:o({validator:"resource",params:{pool:"item"}})},"minecraft:killed":{stat:o({validator:"resource",params:{pool:"entity_type"}})},"minecraft:killed_by":{stat:o({validator:"resource",params:{pool:"entity_type"}})},"minecraft:custom":{stat:o({validator:"resource",params:{pool:"custom_stat"}})}}})),r.register("player_predicate",(0,c.ObjectNode)({gamemode:(0,c.Opt)(o({enum:"gamemode"})),level:t("int_bounds"),advancements:(0,c.Opt)((0,c.MapNode)(o({validator:"resource",params:{pool:"$advancement"}}),(0,c.ChoiceNode)([{type:"boolean",node:(0,c.BooleanNode)(),change:n=>!0},{type:"object",node:(0,c.MapNode)(o(),(0,c.BooleanNode)())}]))),recipes:(0,c.Opt)((0,c.MapNode)(o({validator:"resource",params:{pool:"$recipe"}}),(0,c.BooleanNode)())),stats:(0,c.Opt)((0,c.ListNode)(t("statistic_predicate"))),looking_at:(0,c.Opt)(t("entity_predicate"))},{context:"player"})),r.register("status_effect_predicate",(0,c.ObjectNode)({amplifier:t("int_bounds"),duration:t("int_bounds"),ambient:(0,c.Opt)((0,c.BooleanNode)()),visible:(0,c.Opt)((0,c.BooleanNode)())},{context:"status_effect"})),r.register("distance_predicate",(0,c.ObjectNode)({x:t("float_bounds"),y:t("float_bounds"),z:t("float_bounds"),absolute:t("float_bounds"),horizontal:t("float_bounds")},{context:"distance"})),r.register("entity_predicate",(0,c.ObjectNode)({type:(0,c.Opt)(o({validator:"resource",params:{pool:"entity_type",allowTag:!0}})),nbt:(0,c.Opt)(o({validator:"nbt",params:{registry:{category:"minecraft:entity",id:["pop",{push:"type"}]}}})),team:(0,c.Opt)(o({validator:"team"})),location:(0,c.Opt)(t("location_predicate")),stepping_on:(0,c.Opt)(t("location_predicate")),distance:(0,c.Opt)(t("distance_predicate")),flags:(0,c.Opt)((0,c.ObjectNode)({is_on_fire:(0,c.Opt)((0,c.BooleanNode)()),is_sneaking:(0,c.Opt)((0,c.BooleanNode)()),is_sprinting:(0,c.Opt)((0,c.BooleanNode)()),is_swimming:(0,c.Opt)((0,c.BooleanNode)()),is_baby:(0,c.Opt)((0,c.BooleanNode)())})),equipment:(0,c.Opt)((0,c.MapNode)(o({enum:"slot"}),t("item_predicate"))),player:(0,c.Opt)(t("player_predicate")),vehicle:(0,c.Opt)(t("entity_predicate")),passenger:(0,c.Opt)(t("entity_predicate")),targeted_entity:(0,c.Opt)(t("entity_predicate")),lightning_bolt:(0,c.Opt)((0,c.ObjectNode)({blocks_set_on_fire:(0,c.Opt)(t("int_bounds")),entity_struck:(0,c.Opt)(t("entity_predicate"))})),fishing_hook:(0,c.Opt)((0,c.ObjectNode)({in_open_water:(0,c.Opt)((0,c.BooleanNode)())})),catType:(0,c.Opt)(o({enum:"cat_texture"})),effects:(0,c.Opt)((0,c.MapNode)(o({validator:"resource",params:{pool:"mob_effect"}}),t("status_effect_predicate")))},{context:"entity"})),r.register("damage_source_predicate",(0,c.ObjectNode)({is_explosion:(0,c.Opt)((0,c.BooleanNode)()),is_fire:(0,c.Opt)((0,c.BooleanNode)()),is_magic:(0,c.Opt)((0,c.BooleanNode)()),is_projectile:(0,c.Opt)((0,c.BooleanNode)()),is_lightning:(0,c.Opt)((0,c.BooleanNode)()),bypasses_armor:(0,c.Opt)((0,c.BooleanNode)()),bypasses_invulnerability:(0,c.Opt)((0,c.BooleanNode)()),bypasses_magic:(0,c.Opt)((0,c.BooleanNode)()),source_entity:(0,c.Opt)(t("entity_predicate")),direct_entity:(0,c.Opt)(t("entity_predicate"))},{context:"damage_source"})),r.register("damage_predicate",(0,c.ObjectNode)({dealt:t("float_bounds"),taken:t("float_bounds"),blocked:(0,c.Opt)((0,c.BooleanNode)()),source_entity:(0,c.Opt)(t("entity_predicate")),type:(0,c.Opt)(t("damage_source_predicate"))},{context:"damage"}))}Ne.initPredicatesSchemas=_t;var he={};Object.defineProperty(he,"__esModule",{value:!0});he.initRecipeSchemas=void 0;const _=k;function ut(r,e){const t=_.Reference.bind(void 0,r),o=_.StringNode.bind(void 0,e);r.register("recipe",(0,_.Mod)((0,_.ObjectNode)({type:o({validator:"resource",params:{pool:"recipe_serializer"}}),[_.Switch]:[{push:"type"}],[_.Case]:{"minecraft:crafting_shaped":{group:(0,_.Opt)(o({enum:"recipe_group",additional:!0})),pattern:(0,_.ListNode)(o()),key:(0,_.MapNode)(o(),t("recipe_ingredient")),result:t("recipe_result")},"minecraft:crafting_shapeless":{group:(0,_.Opt)(o()),ingredients:(0,_.ListNode)(t("recipe_ingredient")),result:t("recipe_result")},"minecraft:smelting":{group:(0,_.Opt)(o()),ingredient:t("recipe_ingredient"),result:o({validator:"resource",params:{pool:"item"}}),experience:(0,_.Opt)((0,_.NumberNode)()),cookingtime:(0,_.Opt)((0,_.Mod)((0,_.NumberNode)({integer:!0}),{default:()=>200}))},"minecraft:blasting":{group:(0,_.Opt)(o()),ingredient:t("recipe_ingredient"),result:o({validator:"resource",params:{pool:"item"}}),experience:(0,_.Opt)((0,_.NumberNode)()),cookingtime:(0,_.Opt)((0,_.Mod)((0,_.NumberNode)({integer:!0}),{default:()=>100}))},"minecraft:smoking":{group:(0,_.Opt)(o()),ingredient:t("recipe_ingredient"),result:o({validator:"resource",params:{pool:"item"}}),experience:(0,_.Opt)((0,_.NumberNode)()),cookingtime:(0,_.Opt)((0,_.Mod)((0,_.NumberNode)({integer:!0}),{default:()=>100}))},"minecraft:campfire_cooking":{group:(0,_.Opt)(o()),ingredient:t("recipe_ingredient"),result:o({validator:"resource",params:{pool:"item"}}),experience:(0,_.Opt)((0,_.NumberNode)()),cookingtime:(0,_.Opt)((0,_.Mod)((0,_.NumberNode)({integer:!0}),{default:()=>100}))},"minecraft:stonecutting":{group:(0,_.Opt)(o()),ingredient:t("recipe_ingredient"),result:o({validator:"resource",params:{pool:"item"}}),count:(0,_.NumberNode)({integer:!0})},"minecraft:smithing":{group:(0,_.Opt)(o()),base:t("recipe_ingredient_object"),addition:t("recipe_ingredient_object"),result:t("recipe_result")}}},{context:"recipe",disableSwitchContext:!0}),{default:()=>({type:"minecraft:crafting_shaped"})})),r.register("recipe_ingredient",(0,_.Mod)((0,_.ChoiceNode)([{type:"object",node:t("recipe_ingredient_object"),change:d=>d[0]},{type:"list",node:(0,_.ListNode)(t("recipe_ingredient_object")),change:d=>[d]}]),{default:()=>({item:"minecraft:stone"})})),r.register("recipe_ingredient_object",(0,_.Mod)((0,_.ObjectNode)({item:(0,_.Opt)(o({validator:"resource",params:{pool:"item"}})),tag:(0,_.Opt)(o({validator:"resource",params:{pool:"$tag/item"}}))}),{default:()=>({item:"minecraft:stone"})})),r.register("recipe_result",(0,_.Mod)((0,_.ObjectNode)({item:o({validator:"resource",params:{pool:"item"}}),count:(0,_.Opt)((0,_.Mod)((0,_.NumberNode)({integer:!0}),{default:()=>1}))}),{default:()=>({item:"minecraft:stone"})}))}he.initRecipeSchemas=ut;var ye={};Object.defineProperty(ye,"__esModule",{value:!0});ye.initTagsSchemas=void 0;const V=k;function pt(r,e){const t=V.StringNode.bind(void 0,e),o=d=>(0,V.Mod)((0,V.ObjectNode)({replace:(0,V.Opt)((0,V.BooleanNode)()),values:(0,V.ListNode)((0,V.ChoiceNode)([{type:"string",node:t({validator:"resource",params:{pool:d,allowTag:!0}}),change:n=>n.id},{type:"object",node:(0,V.ObjectNode)({id:t({validator:"resource",params:{pool:d,allowTag:!0,allowUnknown:!0}}),required:(0,V.BooleanNode)()}),change:n=>({id:n})}]))},{context:"tag"}),{default:()=>({values:[]})});r.register("block_tag",o("block")),r.register("entity_type_tag",o("entity_type")),r.register("fluid_tag",o("fluid")),r.register("function_tag",o("$function")),r.register("game_event_tag",o("game_event")),r.register("item_tag",o("item")),r.register("advancement_tag",o("$advancement")),r.register("dimension_tag",o("$dimension")),r.register("dimension_type_tag",o("$dimension_type")),r.register("function_tag",o("$function")),r.register("item_modifier_tag",o("$item_modifier")),r.register("loot_table_tag",o("$loot_table")),r.register("predicate_tag",o("$predicate")),r.register("recipe_tag",o("$recipe")),r.register("structure_tag",o("$structure")),r.register("biome_tag",o("$worldgen/biome")),r.register("configured_carver_tag",o("$worldgen/configured_carver")),r.register("configured_decorator_tag",o("$worldgen/configured_decorator")),r.register("configured_feature_tag",o("$worldgen/configured_feature")),r.register("configured_structure_feature_tag",o("$worldgen/configured_structure_feature")),r.register("configured_surface_builder_tag",o("$worldgen/configured_surface_builder")),r.register("density_function_tag",o("$worldgen/density_function")),r.register("noise_tag",o("$worldgen/noise")),r.register("noise_settings_tag",o("$worldgen/noise_settings")),r.register("placed_feature_tag",o("$worldgen/placed_feature")),r.register("processor_list_tag",o("$worldgen/processor_list")),r.register("structure_set_tag",o("$worldgen/structure_set")),r.register("template_pool_tag",o("$worldgen/template_pool"))}ye.initTagsSchemas=pt;var ve={};Object.defineProperty(ve,"__esModule",{value:!0});ve.initTextComponentSchemas=void 0;const l=k;function ft(r,e){const t=l.Reference.bind(void 0,r),o=l.StringNode.bind(void 0,e),d=a=>{var p;return a instanceof Array?d(a[0]):(p=a==null?void 0:a.text)!==null&&p!==void 0?p:typeof a=="object"?"":a==null?void 0:a.toString()};r.register("text_component",(0,l.Mod)((0,l.ChoiceNode)([{type:"object",node:t("text_component_object"),change:a=>a instanceof Array?typeof a[0]=="object"?a[0]:{text:d(a[0])}:typeof a=="object"?a:{text:d(a)}},{type:"list",node:t("text_component_list"),change:a=>[a]},{type:"string",priority:1,node:o(),change:d},{type:"number",node:(0,l.NumberNode)(),change:a=>{const p=parseFloat(d(a));return isFinite(p)?p:a?1:0}},{type:"boolean",node:(0,l.BooleanNode)(),change:a=>{const p=d(a);return p==="true"||p==="false"?p==="true":!!p}}],{context:"text_component"}),{default:()=>({text:""})}));const n={color:(0,l.Opt)(o()),font:(0,l.Opt)(o()),bold:(0,l.Opt)((0,l.BooleanNode)()),italic:(0,l.Opt)((0,l.BooleanNode)()),underlined:(0,l.Opt)((0,l.BooleanNode)()),strikethrough:(0,l.Opt)((0,l.BooleanNode)()),obfuscated:(0,l.Opt)((0,l.BooleanNode)()),insertion:(0,l.Opt)(o()),clickEvent:(0,l.Opt)((0,l.ObjectNode)({action:o({enum:["open_url","open_file","run_command","suggest_command","change_page","copy_to_clipboard"]}),[l.Switch]:[{push:"action"}],[l.Case]:{change_page:{value:o()},copy_to_clipboard:{value:o()},open_file:{value:o()},open_url:{value:o()},run_command:{value:o({validator:"command",params:{leadingSlash:!0,allowPartial:!0}})},suggest_command:{value:o({validator:"command",params:{leadingSlash:!0,allowPartial:!0}})}}})),hoverEvent:(0,l.Opt)((0,l.ObjectNode)({action:o({enum:["show_text","show_item","show_entity"]}),[l.Switch]:[{push:"action"}],[l.Case]:{show_text:{value:(0,l.Opt)(t("text_component")),contents:(0,l.Opt)(t("text_component"))},show_item:{value:(0,l.Opt)(o({validator:"nbt",params:{module:"util::InventoryItem"}})),contents:(0,l.Opt)((0,l.ObjectNode)({id:o({validator:"resource",params:{pool:"item"}}),count:(0,l.Opt)((0,l.NumberNode)({integer:!0})),tag:(0,l.Opt)(o({validator:"nbt",params:{registry:{category:"minecraft:item",id:["pop",{push:"id"}]}}}))}))},show_entity:{value:(0,l.Opt)((0,l.ObjectNode)({name:(0,l.Opt)(o()),type:(0,l.Opt)(o()),id:(0,l.Opt)(o())})),contents:(0,l.Opt)((0,l.Mod)((0,l.ObjectNode)({name:(0,l.Opt)(t("text_component")),type:o({validator:"resource",params:{pool:"entity_type"}}),id:o({validator:"uuid"})}),{default:()=>({type:"minecraft:pig",id:"00000001-0001-0001-0001-000000000001"})}))}}})),extra:(0,l.Opt)(t("text_component_list"))};r.register("text_component_object",(0,l.Mod)((0,l.ChoiceNode)([{type:"text",match:a=>typeof a=="object",change:a=>({text:""}),priority:-1,node:(0,l.ObjectNode)(g({text:o()},n))},{type:"translation",match:a=>(a==null?void 0:a.translate)!==void 0,change:a=>({translate:""}),node:(0,l.ObjectNode)(g({translate:o(),with:(0,l.Opt)(t("text_component_list"))},n))},{type:"score",match:a=>(a==null?void 0:a.score)!==void 0,change:a=>({score:{}}),node:(0,l.ObjectNode)(g({score:(0,l.ObjectNode)({name:o({validator:"entity",params:{amount:"single",type:"entities",isScoreHolder:!0}}),objective:o({validator:"objective"}),value:(0,l.Opt)(o())})},n))},{type:"selector",match:a=>(a==null?void 0:a.selector)!==void 0,change:a=>({selector:""}),node:(0,l.ObjectNode)(g({selector:o({validator:"entity",params:{amount:"multiple",type:"entities"}}),separator:(0,l.Opt)(t("text_component"))},n))},{type:"keybind",match:a=>(a==null?void 0:a.keybind)!==void 0,change:a=>({keybind:""}),node:(0,l.ObjectNode)(g({keybind:o({enum:"keybind",additional:!0})},n))},{type:"nbt",match:a=>(a==null?void 0:a.nbt)!==void 0,change:a=>({nbt:""}),node:(0,l.ObjectNode)(g({nbt:o({validator:"nbt_path"}),block:(0,l.Opt)(o({validator:"vector",params:{dimension:3,isInteger:!0}})),entity:(0,l.Opt)(o({validator:"entity",params:{amount:"multiple",type:"entities"}})),storage:(0,l.Opt)(o({validator:"resource",params:{pool:"$storage"}})),interpret:(0,l.Opt)((0,l.BooleanNode)()),separator:(0,l.Opt)(t("text_component"))},n))}],{context:"text_component_object",choiceContext:"text_component.object"}),{default:()=>({text:""})})),r.register("text_component_list",(0,l.Mod)((0,l.ListNode)(t("text_component")),{default:()=>[{text:""}]}))}ve.initTextComponentSchemas=ft;var Oe={},Fe={};(function(r){Object.defineProperty(r,"__esModule",{value:!0}),r.initBiomeSchemas=r.MobCategorySpawnSettings=void 0;const e=k,t=z;function o(d,n){const a=e.StringNode.bind(void 0,n);r.MobCategorySpawnSettings=(0,e.Mod)((0,e.ListNode)((0,e.ObjectNode)({type:a({validator:"resource",params:{pool:"entity_type"}}),weight:(0,e.NumberNode)({integer:!0}),minCount:(0,e.NumberNode)({integer:!0}),maxCount:(0,e.NumberNode)({integer:!0})})),{category:()=>"pool",default:()=>[{type:"minecraft:bat",weight:1}]}),d.register("biome",(0,e.Mod)((0,e.ObjectNode)({temperature:(0,e.NumberNode)(),downfall:(0,e.NumberNode)(),precipitation:a({enum:["none","rain","snow"]}),temperature_modifier:(0,e.Opt)(a({enum:["none","frozen"]})),category:a({enum:"biome_category"}),creature_spawn_probability:(0,e.Opt)((0,e.NumberNode)({min:0,max:1})),effects:(0,e.ObjectNode)({sky_color:(0,e.NumberNode)({color:!0}),fog_color:(0,e.NumberNode)({color:!0}),water_color:(0,e.NumberNode)({color:!0}),water_fog_color:(0,e.NumberNode)({color:!0}),grass_color:(0,e.Opt)((0,e.NumberNode)({color:!0})),foliage_color:(0,e.Opt)((0,e.NumberNode)({color:!0})),grass_color_modifier:(0,e.Opt)(a({enum:["none","dark_forest","swamp"]})),ambient_sound:(0,e.Opt)(a()),mood_sound:(0,e.Opt)((0,e.ObjectNode)({sound:a(),tick_delay:(0,e.NumberNode)({integer:!0}),block_search_extent:(0,e.NumberNode)({integer:!0}),offset:(0,e.NumberNode)()})),additions_sound:(0,e.Opt)((0,e.ObjectNode)({sound:a(),tick_chance:(0,e.NumberNode)({min:0,max:1})})),music:(0,e.Opt)((0,e.ObjectNode)({sound:a(),min_delay:(0,e.NumberNode)({integer:!0,min:0}),max_delay:(0,e.NumberNode)({integer:!0,min:0}),replace_current_music:(0,e.BooleanNode)()})),particle:(0,e.Opt)((0,e.ObjectNode)({options:(0,e.ObjectNode)({type:a()}),probability:(0,e.NumberNode)({min:0,max:1})}))}),spawners:(0,e.MapNode)(a({enum:"mob_category"}),r.MobCategorySpawnSettings),spawn_costs:(0,e.MapNode)(a({validator:"resource",params:{pool:"entity_type"}}),(0,e.Mod)((0,e.ObjectNode)({energy_budget:(0,e.NumberNode)(),charge:(0,e.NumberNode)()},{category:"function"}),{default:()=>({energy_budget:.12,charge:1})})),carvers:(0,e.MapNode)(a({enum:["air","liquid"]}),(0,e.Mod)((0,t.Tag)({resource:"$worldgen/configured_carver",inlineSchema:"configured_carver"}),{default:()=>["minecraft:cave"]})),features:(0,e.ListNode)((0,e.Mod)((0,t.Tag)({resource:"$worldgen/placed_feature",inlineSchema:"placed_feature"}),{category:()=>"predicate"}),{maxLength:11})},{context:"biome"}),{default:()=>({temperature:.8,downfall:.4,precipitation:"rain",category:"plains",effects:{sky_color:7907327,fog_color:12638463,water_color:4159204,water_fog_color:329011}})}))}r.initBiomeSchemas=o})(Fe);var ke={};Object.defineProperty(ke,"__esModule",{value:!0});ke.initCarverSchemas=void 0;const P=k,K=z;function gt(r,e){const t=P.Reference.bind(void 0,r),o=P.StringNode.bind(void 0,e),d={vertical_rotation:(0,K.FloatProvider)(),shape:(0,P.ObjectNode)({distance_factor:(0,K.FloatProvider)(),thickness:(0,K.FloatProvider)(),width_smoothness:(0,P.NumberNode)({integer:!0,min:0}),horizontal_radius_factor:(0,K.FloatProvider)(),vertical_radius_default_factor:(0,P.NumberNode)(),vertical_radius_center_factor:(0,P.NumberNode)()})},n={horizontal_radius_multiplier:(0,K.FloatProvider)(),vertical_radius_multiplier:(0,K.FloatProvider)(),floor_level:(0,K.FloatProvider)({min:-1,max:1})};r.register("configured_carver",(0,P.Mod)((0,P.ObjectNode)({type:o({validator:"resource",params:{pool:"worldgen/carver"}}),config:(0,P.ObjectNode)({probability:(0,P.NumberNode)({min:0,max:1}),y:t("height_provider"),yScale:(0,K.FloatProvider)(),lava_level:t("vertical_anchor"),debug_settings:(0,P.Opt)((0,P.ObjectNode)({debug_mode:(0,P.Opt)((0,P.BooleanNode)()),air_state:(0,P.Opt)(t("block_state")),water_state:(0,P.Opt)(t("block_state")),lava_state:(0,P.Opt)(t("block_state")),barrier_state:(0,P.Opt)(t("block_state"))})),[P.Switch]:["pop",{push:"type"}],[P.Case]:{"minecraft:canyon":d,"minecraft:cave":n,"minecraft:nether_cave":n}})},{context:"carver"}),{default:()=>({type:"minecraft:cave",config:{probability:.1}})}))}ke.initCarverSchemas=gt;var we={};Object.defineProperty(we,"__esModule",{value:!0});we.initDecoratorSchemas=void 0;const L=k,ne=z;function bt(r,e){const t=L.Reference.bind(void 0,r),o=L.StringNode.bind(void 0,e);r.register("decorator",(0,L.ObjectNode)({type:o({validator:"resource",params:{pool:"worldgen/placement_modifier_type"}}),[L.Switch]:[{push:"type"}],[L.Case]:{"minecraft:block_predicate_filter":{predicate:t("block_predicate_worldgen")},"minecraft:carving_mask":{step:o({enum:"generation_step"})},"minecraft:rarity_filter":{chance:(0,L.NumberNode)({integer:!0,min:0})},"minecraft:count":{count:(0,ne.IntProvider)({min:0,max:256})},"minecraft:count_on_every_layer":{count:(0,ne.IntProvider)({min:0,max:256})},"minecraft:noise_threshold_count":{noise_level:(0,L.NumberNode)(),below_noise:(0,L.NumberNode)({integer:!0}),above_noise:(0,L.NumberNode)({integer:!0})},"minecraft:noise_based_count":{noise_to_count_ratio:(0,L.NumberNode)({integer:!0}),noise_factor:(0,L.NumberNode)(),noise_offset:(0,L.Opt)((0,L.NumberNode)())},"minecraft:environment_scan":{direction_of_search:o({enum:["up","down"]}),max_steps:(0,L.NumberNode)({integer:!0,min:1,max:32}),target_condition:t("block_predicate_worldgen"),allowed_search_condition:(0,L.Opt)(t("block_predicate_worldgen"))},"minecraft:heightmap":{heightmap:o({enum:"heightmap_type"})},"minecraft:height_range":{height:t("height_provider")},"minecraft:random_offset":{xz_spread:(0,ne.IntProvider)({min:-16,max:16}),y_spread:(0,ne.IntProvider)({min:-16,max:16})},"minecraft:surface_relative_threshold_filter":{heightmap:o({enum:"heightmap_type"}),min_inclusive:(0,L.Opt)((0,L.NumberNode)({integer:!0})),max_inclusive:(0,L.Opt)((0,L.NumberNode)({integer:!0}))},"minecraft:surface_water_depth_filter":{max_water_depth:(0,L.NumberNode)({integer:!0})}}},{context:"decorator",category:"predicate"}))}we.initDecoratorSchemas=bt;var Be={};(function(r){Object.defineProperty(r,"__esModule",{value:!0}),r.initDensityFunctionSchemas=r.DensityFunction=void 0;const e=k;function t(o,d){const n=e.StringNode.bind(void 0,d),a=e.Reference.bind(void 0,o);r.DensityFunction=(0,e.Mod)((0,e.ChoiceNode)([{type:"number",node:(0,e.NumberNode)(),change:()=>0},{type:"string",priority:1,node:n({validator:"resource",params:{pool:"$worldgen/density_function"}}),change:()=>{}},{type:"object",node:a("density_function"),change:()=>({})}],{choiceContext:"density_function"}),{default:()=>0});const p=(0,e.ChoiceNode)([{type:"string",node:n({validator:"resource",params:{pool:"$worldgen/noise"}}),change:()=>{}},{type:"object",node:a("noise_parameters")}],{choiceContext:"noise_parameters"}),w=(0,e.NumberNode)({min:-1e6,max:1e6}),m=(0,e.NumberNode)({integer:!0,min:-2032*2,max:2031*2});o.register("density_function",(0,e.Mod)((0,e.ObjectNode)({type:n({validator:"resource",params:{pool:"worldgen/density_function_type"}}),[e.Switch]:[{push:"type"}],[e.Case]:{"minecraft:abs":{argument:r.DensityFunction},"minecraft:add":{argument1:r.DensityFunction,argument2:r.DensityFunction},"minecraft:blend_density":{argument:r.DensityFunction},"minecraft:cache_2d":{argument:r.DensityFunction},"minecraft:cache_all_in_cell":{argument:r.DensityFunction},"minecraft:cache_once":{argument:r.DensityFunction},"minecraft:clamp":{input:r.DensityFunction,min:w,max:w},"minecraft:constant":{argument:(0,e.NumberNode)()},"minecraft:cube":{argument:r.DensityFunction},"minecraft:flat_cache":{argument:r.DensityFunction},"minecraft:half_negative":{argument:r.DensityFunction},"minecraft:interpolated":{argument:r.DensityFunction},"minecraft:max":{argument1:r.DensityFunction,argument2:r.DensityFunction},"minecraft:min":{argument1:r.DensityFunction,argument2:r.DensityFunction},"minecraft:mul":{argument1:r.DensityFunction,argument2:r.DensityFunction},"minecraft:noise":{noise:p,xz_scale:(0,e.NumberNode)(),y_scale:(0,e.NumberNode)()},"minecraft:quarter_negative":{argument:r.DensityFunction},"minecraft:range_choice":{input:r.DensityFunction,min_inclusive:w,max_exclusive:w,when_in_range:r.DensityFunction,when_out_of_range:r.DensityFunction},"minecraft:shift":{argument:r.DensityFunction},"minecraft:shift_a":{argument:r.DensityFunction},"minecraft:shift_b":{argument:r.DensityFunction},"minecraft:shifted_noise":{noise:p,xz_scale:(0,e.NumberNode)(),y_scale:(0,e.NumberNode)(),shift_x:r.DensityFunction,shift_y:r.DensityFunction,shift_z:r.DensityFunction},"minecraft:slide":{argument:r.DensityFunction},"minecraft:spline":{spline:a("cubic_spline"),min_value:w,max_value:w},"minecraft:square":{argument:r.DensityFunction},"minecraft:squeeze":{argument:r.DensityFunction},"minecraft:terrain_shaper_spline":{spline:n({enum:["offset","factor","jaggedness"]}),min_value:w,max_value:w,continentalness:r.DensityFunction,erosion:r.DensityFunction,weirdness:r.DensityFunction},"minecraft:weird_scaled_sampler":{rarity_value_mapper:n({enum:["type_1","type_2"]}),noise:p,input:r.DensityFunction},"minecraft:y_clamped_gradient":{from_y:m,to_y:m,from_value:w,to_value:w}}},{context:"density_function",disableSwitchContext:!0}),{default:()=>({type:"minecraft:noise",noise:"minecraft:cave_entrance",xz_scale:.75,y_scale:.5})})),o.register("cubic_spline",(0,e.Mod)((0,e.ChoiceNode)([{type:"number",node:(0,e.NumberNode)()},{type:"object",node:(0,e.ObjectNode)({coordinate:r.DensityFunction,points:(0,e.ListNode)((0,e.ObjectNode)({location:(0,e.NumberNode)(),derivative:(0,e.NumberNode)(),value:a("cubic_spline")}))},{category:"function"})}],{context:"terrain_spline",choiceContext:"terrain_spline"}),{default:()=>0}))}r.initDensityFunctionSchemas=t})(Be);var xe={},Y={};Object.defineProperty(Y,"__esModule",{value:!0});Y.initProcessorListSchemas=Y.Processors=void 0;const y=k;function Nt(r,e){const t=y.Reference.bind(void 0,r),o=y.StringNode.bind(void 0,e);Y.Processors=(0,y.ChoiceNode)([{type:"string",node:o({validator:"resource",params:{pool:"$worldgen/processor_list"}}),change:n=>{}},{type:"object",node:t("processor_list"),change:n=>({processors:[{processor_type:"minecraft:nop"}]})}]),r.register("processor_list",(0,y.Mod)((0,y.ObjectNode)({processors:(0,y.ListNode)(t("processor"))},{context:"processor_list"}),{default:()=>({processors:[{processor_type:"minecraft:rule",rules:[{location_predicate:{predicate_type:"minecraft:always_true"},input_predicate:{predicate_type:"minecraft:always_true"}}]}]})})),r.register("processor",(0,y.Mod)((0,y.ObjectNode)({processor_type:o({validator:"resource",params:{pool:"worldgen/structure_processor"}}),[y.Switch]:[{push:"processor_type"}],[y.Case]:{"minecraft:block_age":{mossiness:(0,y.NumberNode)()},"minecraft:block_ignore":{blocks:(0,y.ListNode)(t("block_state"))},"minecraft:block_rot":{integrity:(0,y.NumberNode)({min:0,max:1})},"minecraft:gravity":{heightmap:o({enum:"heightmap_type"}),offset:(0,y.NumberNode)({integer:!0})},"minecraft:protected_blocks":{value:o({validator:"resource",params:{pool:"block",requireTag:!0}})},"minecraft:rule":{rules:(0,y.ListNode)(t("processor_rule"))}}},{category:"function",context:"processor"}),{default:()=>({processor_type:"minecraft:rule",rules:[{location_predicate:{predicate_type:"minecraft:always_true"},input_predicate:{predicate_type:"minecraft:always_true"}}]})})),r.register("processor_rule",(0,y.Mod)((0,y.ObjectNode)({position_predicate:(0,y.Opt)(t("pos_rule_test")),location_predicate:t("rule_test"),input_predicate:t("rule_test"),output_state:t("block_state"),output_nbt:(0,y.Opt)(o({validator:"nbt",params:{registry:{category:"minecraft:block"}}}))},{category:"predicate",context:"processor_rule"}),{default:()=>({location_predicate:{predicate_type:"minecraft:always_true"},input_predicate:{predicate_type:"minecraft:always_true"}})}));const d={min_dist:(0,y.Opt)((0,y.NumberNode)({min:0,max:255,integer:!0})),max_dist:(0,y.Opt)((0,y.NumberNode)({min:0,max:255,integer:!0})),min_chance:(0,y.Opt)((0,y.NumberNode)({min:0,max:1})),max_chance:(0,y.Opt)((0,y.NumberNode)({min:0,max:1}))};r.register("pos_rule_test",(0,y.ObjectNode)({predicate_type:o({validator:"resource",params:{pool:"pos_rule_test"}}),[y.Switch]:[{push:"predicate_type"}],[y.Case]:{"minecraft:axis_aligned_linear_pos":g({axis:o({enum:["x","y","z"]})},d),"minecraft:linear_pos":d}},{context:"pos_rule_test",disableSwitchContext:!0})),r.register("rule_test",(0,y.ObjectNode)({predicate_type:o({validator:"resource",params:{pool:"rule_test"}}),[y.Switch]:[{push:"predicate_type"}],[y.Case]:{"minecraft:block_match":{block:o({validator:"resource",params:{pool:"block"}})},"minecraft:blockstate_match":{block_state:t("block_state")},"minecraft:random_block_match":{block:o({validator:"resource",params:{pool:"block"}}),probability:(0,y.NumberNode)({min:0,max:1})},"minecraft:random_blockstate_match":{block_state:t("block_state"),probability:(0,y.NumberNode)({min:0,max:1})},"minecraft:tag_match":{tag:o({validator:"resource",params:{pool:"$tag/block"}})}}},{context:"rule_test",disableSwitchContext:!0}))}Y.initProcessorListSchemas=Nt;Object.defineProperty(xe,"__esModule",{value:!0});xe.initFeatureSchemas=void 0;const i=k,h=z,Te=Y;function ht(r,e){const t=i.Reference.bind(void 0,r),o=i.StringNode.bind(void 0,e),d=(0,i.ChoiceNode)([{type:"string",node:o({validator:"resource",params:{pool:"$worldgen/configured_feature"}})},{type:"object",node:t("configured_feature")}],{choiceContext:"feature"}),n=(0,i.ChoiceNode)([{type:"string",node:o({validator:"resource",params:{pool:"$worldgen/placed_feature"}})},{type:"object",node:t("placed_feature")}],{choiceContext:"placed_feature"}),a={tries:(0,i.Opt)((0,i.NumberNode)({integer:!0,min:1})),xz_spread:(0,i.Opt)((0,i.NumberNode)({integer:!0,min:0})),y_spread:(0,i.Opt)((0,i.NumberNode)({integer:!0,min:0})),feature:n},p={state:t("block_state"),radius:(0,h.IntProvider)({min:0,max:8}),half_height:(0,i.NumberNode)({integer:!0,min:0,max:4}),targets:(0,i.ListNode)(t("block_state"))},w={cap_provider:t("block_state_provider"),stem_provider:t("block_state_provider"),foliage_radius:(0,i.Opt)((0,i.NumberNode)({integer:!0}))},m=(0,i.ObjectNode)({target:t("rule_test"),state:t("block_state")}),f={size:(0,i.NumberNode)({integer:!0,min:0,max:64}),discard_chance_on_air_exposure:(0,i.NumberNode)({min:0,max:1}),targets:(0,i.ListNode)(m)},j={surface:o({enum:"cave_surface"}),depth:(0,h.IntProvider)({min:1,max:128}),vertical_range:(0,i.NumberNode)({integer:!0,min:1,max:256}),extra_bottom_block_chance:(0,i.NumberNode)({min:0,max:1}),extra_edge_column_chance:(0,i.NumberNode)({min:0,max:1}),vegetation_chance:(0,i.NumberNode)({min:0,max:1}),xz_radius:(0,h.IntProvider)(),replaceable:o({validator:"resource",params:{pool:"block",requireTag:!0}}),ground_state:t("block_state_provider"),vegetation_feature:n};r.register("configured_feature",(0,i.Mod)((0,i.ObjectNode)({type:o({validator:"resource",params:{pool:"worldgen/feature"}}),config:(0,i.ObjectNode)({[i.Switch]:["pop",{push:"type"}],[i.Case]:{"minecraft:bamboo":{probability:(0,i.NumberNode)({min:0,max:1})},"minecraft:basalt_columns":{reach:(0,h.IntProvider)({min:0,max:3}),height:(0,h.IntProvider)({min:1,max:10})},"minecraft:block_column":{direction:o({enum:["up","down","north","east","south","west"]}),allowed_placement:t("block_predicate_worldgen"),prioritize_tip:(0,i.BooleanNode)(),layers:(0,i.ListNode)((0,i.ObjectNode)({height:(0,h.IntProvider)({min:0}),provider:t("block_state_provider")}))},"minecraft:block_pile":{state_provider:t("block_state_provider")},"minecraft:delta_feature":{contents:t("block_state"),rim:t("block_state"),size:(0,h.IntProvider)({min:0,max:16}),rim_size:(0,h.IntProvider)({min:0,max:16})},"minecraft:disk":p,"minecraft:dripstone_cluster":{floor_to_ceiling_search_range:(0,i.NumberNode)({integer:!0,min:1,max:512}),height:(0,h.IntProvider)({min:0,max:128}),radius:(0,h.IntProvider)({min:0,max:128}),max_stalagmite_stalactite_height_diff:(0,i.NumberNode)({integer:!0,min:0,max:64}),height_deviation:(0,i.NumberNode)({integer:!0,min:1,max:64}),dripstone_block_layer_thickness:(0,h.IntProvider)({min:0,max:128}),density:(0,h.FloatProvider)({min:0,max:2}),wetness:(0,h.FloatProvider)({min:0,max:2}),chance_of_dripstone_column_at_max_distance_from_center:(0,i.NumberNode)({min:0,max:1}),max_distance_from_edge_affecting_chance_of_dripstone_column:(0,i.NumberNode)({integer:!0,min:1,max:64}),max_distance_from_center_affecting_height_bias:(0,i.NumberNode)({integer:!0,min:1,max:64})},"minecraft:end_gateway":{exact:(0,i.BooleanNode)(),exit:(0,i.Opt)(t("block_pos"))},"minecraft:end_spike":{crystal_invulnerable:(0,i.Opt)((0,i.BooleanNode)()),crystal_beam_target:(0,i.Opt)(t("block_pos")),spikes:(0,i.ListNode)((0,i.ObjectNode)({centerX:(0,i.Opt)((0,i.NumberNode)({integer:!0})),centerZ:(0,i.Opt)((0,i.NumberNode)({integer:!0})),radius:(0,i.Opt)((0,i.NumberNode)({integer:!0})),height:(0,i.Opt)((0,i.NumberNode)({integer:!0})),guarded:(0,i.Opt)((0,i.BooleanNode)())}))},"minecraft:fill_layer":{state:t("block_state"),height:(0,i.NumberNode)({integer:!0,min:0,max:255})},"minecraft:flower":a,"minecraft:forest_rock":{state:t("block_state")},"minecraft:fossil":{max_empty_corners_allowed:(0,i.NumberNode)({integer:!0,min:0,max:7}),fossil_structures:(0,i.ListNode)(o({validator:"resource",params:{pool:"$structure"}})),overlay_structures:(0,i.ListNode)(o({validator:"resource",params:{pool:"$structure"}})),fossil_processors:Te.Processors,overlay_processors:Te.Processors},"minecraft:geode":{blocks:(0,i.ObjectNode)({filling_provider:t("block_state_provider"),inner_layer_provider:t("block_state_provider"),alternate_inner_layer_provider:t("block_state_provider"),middle_layer_provider:t("block_state_provider"),outer_layer_provider:t("block_state_provider"),inner_placements:(0,i.ListNode)(t("block_state")),cannot_replace:o({validator:"resource",params:{pool:"block",requireTag:!0}}),invalid_blocks:o({validator:"resource",params:{pool:"block",requireTag:!0}})}),layers:(0,i.ObjectNode)({filling:(0,i.Opt)((0,i.NumberNode)({min:.01,max:50})),inner_layer:(0,i.Opt)((0,i.NumberNode)({min:.01,max:50})),middle_layer:(0,i.Opt)((0,i.NumberNode)({min:.01,max:50})),outer_layer:(0,i.Opt)((0,i.NumberNode)({min:.01,max:50}))}),crack:(0,i.ObjectNode)({generate_crack_chance:(0,i.Opt)((0,i.NumberNode)({min:0,max:1})),base_crack_size:(0,i.Opt)((0,i.NumberNode)({min:0,max:5})),crack_point_offset:(0,i.Opt)((0,i.NumberNode)({min:0,max:10}))}),noise_multiplier:(0,i.Opt)((0,i.NumberNode)({min:0,max:1})),use_potential_placements_chance:(0,i.Opt)((0,i.NumberNode)({min:0,max:1})),use_alternate_layer0_chance:(0,i.Opt)((0,i.NumberNode)({min:0,max:1})),placements_require_layer0_alternate:(0,i.Opt)((0,i.BooleanNode)()),outer_wall_distance:(0,i.Opt)((0,h.IntProvider)({min:1,max:20})),distribution_points:(0,i.Opt)((0,h.IntProvider)({min:1,max:20})),point_offset:(0,i.Opt)((0,h.IntProvider)({min:0,max:10})),min_gen_offset:(0,i.Opt)((0,i.NumberNode)({integer:!0})),max_gen_offset:(0,i.Opt)((0,i.NumberNode)({integer:!0})),invalid_blocks_threshold:(0,i.NumberNode)({integer:!0})},"minecraft:glow_lichen":{search_range:(0,i.Opt)((0,i.NumberNode)({min:1,max:64,integer:!0})),chance_of_spreading:(0,i.Opt)((0,i.NumberNode)({min:0,max:1})),can_place_on_floor:(0,i.Opt)((0,i.BooleanNode)()),can_place_on_ceiling:(0,i.Opt)((0,i.BooleanNode)()),can_place_on_wall:(0,i.Opt)((0,i.BooleanNode)()),can_be_placed_on:(0,h.Tag)({resource:"block"})},"minecraft:huge_brown_mushroom":w,"minecraft:huge_fungus":{hat_state:t("block_state"),decor_state:t("block_state"),stem_state:t("block_state"),valid_base_block:t("block_state"),planted:(0,i.Opt)((0,i.BooleanNode)())},"minecraft:huge_red_mushroom":w,"minecraft:ice_patch":p,"minecraft:iceberg":{state:t("block_state")},"minecraft:lake":{fluid:t("block_state_provider"),barrier:t("block_state_provider")},"minecraft:large_dripstone":{floor_to_ceiling_search_range:(0,i.Opt)((0,i.NumberNode)({integer:!0,min:1,max:512})),column_radius:(0,h.IntProvider)({min:0,max:60}),height_scale:(0,h.FloatProvider)({min:0,max:20}),max_column_radius_to_cave_height_ratio:(0,i.NumberNode)({min:0,max:1}),stalactite_bluntness:(0,h.FloatProvider)({min:.1,max:10}),stalagmite_bluntness:(0,h.FloatProvider)({min:.1,max:10}),wind_speed:(0,h.FloatProvider)({min:0,max:2}),min_radius_for_wind:(0,i.NumberNode)({integer:!0,min:0,max:100}),min_bluntness_for_wind:(0,i.NumberNode)({min:0,max:5})},"minecraft:nether_forest_vegetation":{state_provider:t("block_state_provider"),spread_width:(0,i.NumberNode)({integer:!0,min:1}),spread_height:(0,i.NumberNode)({integer:!0,min:1})},"minecraft:netherrack_replace_blobs":{state:t("block_state"),target:t("block_state"),radius:(0,h.IntProvider)({min:0,max:12})},"minecraft:no_bonemeal_flower":a,"minecraft:ore":f,"minecraft:pointed_dripstone":{chance_of_taller_dripstone:(0,i.Opt)((0,i.NumberNode)({min:0,max:1})),chance_of_directional_spread:(0,i.Opt)((0,i.NumberNode)({min:0,max:1})),chance_of_spread_radius2:(0,i.Opt)((0,i.NumberNode)({min:0,max:1})),chance_of_spread_radius3:(0,i.Opt)((0,i.NumberNode)({min:0,max:1}))},"minecraft:random_patch":a,"minecraft:random_boolean_selector":{feature_false:n,feature_true:n},"minecraft:random_selector":{features:(0,i.ListNode)((0,i.ObjectNode)({chance:(0,i.NumberNode)({min:0,max:1}),feature:n})),default:n},"minecraft:replace_single_block":{targets:(0,i.ListNode)(m)},"minecraft:root_system":{required_vertical_space_for_tree:(0,i.NumberNode)({integer:!0,min:1,max:64}),root_radius:(0,i.NumberNode)({integer:!0,min:1,max:64}),root_placement_attempts:(0,i.NumberNode)({integer:!0,min:1,max:256}),root_column_max_height:(0,i.NumberNode)({integer:!0,min:1,max:4096}),hanging_root_radius:(0,i.NumberNode)({integer:!0,min:1,max:64}),hanging_roots_vertical_span:(0,i.NumberNode)({integer:!0,min:0,max:16}),hanging_root_placement_attempts:(0,i.NumberNode)({integer:!0,min:0,max:256}),allowed_vertical_water_for_tree:(0,i.NumberNode)({integer:!0,min:1,max:64}),root_replaceable:o({validator:"resource",params:{pool:"block",requireTag:!0}}),root_state_provider:t("block_state_provider"),hanging_root_state_provider:t("block_state_provider"),allowed_tree_position:t("block_predicate_worldgen"),feature:n},"minecraft:scattered_ore":f,"minecraft:sea_pickle":{count:(0,h.IntProvider)({min:0,max:256})},"minecraft:seagrass":{probability:(0,i.NumberNode)({min:0,max:1})},"minecraft:simple_block":{to_place:t("block_state_provider")},"minecraft:simple_random_selector":{features:(0,h.Tag)({resource:"$worldgen/placed_feature",inlineSchema:"placed_feature"})},"minecraft:spring_feature":{state:t("fluid_state"),rock_count:(0,i.NumberNode)({integer:!0}),hole_count:(0,i.NumberNode)({integer:!0}),requires_block_below:(0,i.BooleanNode)(),valid_blocks:(0,h.Tag)({resource:"block"})},"minecraft:tree":{ignore_vines:(0,i.Opt)((0,i.BooleanNode)()),force_dirt:(0,i.Opt)((0,i.BooleanNode)()),minimum_size:t("feature_size"),dirt_provider:t("block_state_provider"),trunk_provider:t("block_state_provider"),foliage_provider:t("block_state_provider"),trunk_placer:(0,i.ObjectNode)({type:o({validator:"resource",params:{pool:"worldgen/trunk_placer_type"}}),base_height:(0,i.NumberNode)({integer:!0,min:0,max:32}),height_rand_a:(0,i.NumberNode)({integer:!0,min:0,max:24}),height_rand_b:(0,i.NumberNode)({integer:!0,min:0,max:24}),[i.Switch]:[{push:"type"}],[i.Case]:{"minecraft:bending_trunk_placer":{bend_length:(0,h.IntProvider)({min:1,max:64}),min_height_for_leaves:(0,i.Opt)((0,i.NumberNode)({integer:!0,min:1}))}}},{context:"trunk_placer"}),foliage_placer:(0,i.ObjectNode)({type:o({validator:"resource",params:{pool:"worldgen/foliage_placer_type"}}),radius:(0,h.IntProvider)({min:0,max:16}),offset:(0,h.IntProvider)({min:0,max:16}),[i.Switch]:[{push:"type"}],[i.Case]:{"minecraft:blob_foliage_placer":{height:(0,i.NumberNode)({integer:!0,min:0,max:16})},"minecraft:bush_foliage_placer":{height:(0,i.NumberNode)({integer:!0,min:0,max:16})},"minecraft:fancy_foliage_placer":{height:(0,i.NumberNode)({integer:!0,min:0,max:16})},"minecraft:jungle_foliage_placer":{height:(0,i.NumberNode)({integer:!0,min:0,max:16})},"minecraft:mega_pine_foliage_placer":{crown_height:(0,h.IntProvider)({min:0,max:24})},"minecraft:pine_foliage_placer":{height:(0,h.IntProvider)({min:0,max:24})},"minecraft:random_spread_foliage_placer":{foliage_height:(0,h.IntProvider)({min:1,max:512}),leaf_placement_attempts:(0,i.NumberNode)({integer:!0,min:0,max:256})},"minecraft:spruce_foliage_placer":{trunk_height:(0,h.IntProvider)({min:0,max:24})}}},{context:"foliage_placer",disableSwitchContext:!0}),decorators:(0,i.ListNode)((0,i.ObjectNode)({type:o({validator:"resource",params:{pool:"worldgen/tree_decorator_type"}}),[i.Switch]:[{push:"type"}],[i.Case]:{"minecraft:alter_ground":{provider:t("block_state_provider")},"minecraft:beehive":{probability:(0,i.NumberNode)({min:0,max:1})},"minecraft:cocoa":{probability:(0,i.NumberNode)({min:0,max:1})}}},{context:"tree_decorator"}))},"minecraft:twisting_vines":{spread_width:(0,i.NumberNode)({integer:!0,min:1}),spread_height:(0,i.NumberNode)({integer:!0,min:1}),max_height:(0,i.NumberNode)({integer:!0,min:1})},"minecraft:underwater_magma":{floor_search_range:(0,i.NumberNode)({integer:!0,min:0,max:512}),placement_radius_around_floor:(0,i.NumberNode)({integer:!0,min:0,max:64}),placement_probability_per_valid_position:(0,i.NumberNode)({min:0,max:1})},"minecraft:vegetation_patch":j,"minecraft:waterlogged_vegetation_patch":j}},{context:"feature"})},{context:"feature"}),{default:()=>({type:"minecraft:tree",config:{minimum_size:{type:"minecraft:two_layers_feature_size"},trunk_placer:{type:"minecraft:straight_trunk_placer",base_height:5,height_rand_a:2,height_rand_b:0},foliage_placer:{type:"minecraft:blob_foliage_placer",radius:2,offset:0,height:3}}})})),r.register("placed_feature",(0,i.Mod)((0,i.ObjectNode)({feature:d,placement:(0,i.ListNode)(t("decorator"))},{context:"placed_feature"}),{default:()=>({feature:"minecraft:oak",placement:[{type:"minecraft:count",count:4},{type:"minecraft:in_square"},{type:"minecraft:heightmap",heightmap:"OCEAN_FLOOR"}]})})),r.register("feature_size",(0,i.Mod)((0,i.ObjectNode)({type:o({validator:"resource",params:{pool:"worldgen/feature_size_type"}}),min_clipped_height:(0,i.Opt)((0,i.NumberNode)({min:0,max:80})),[i.Switch]:[{push:"type"}],[i.Case]:{"minecraft:two_layers_feature_size":{limit:(0,i.Opt)((0,i.NumberNode)({integer:!0,min:0,max:81})),lower_size:(0,i.Opt)((0,i.NumberNode)({integer:!0,min:0,max:16})),upper_size:(0,i.Opt)((0,i.NumberNode)({integer:!0,min:0,max:16}))},"minecraft:three_layers_feature_size":{limit:(0,i.Opt)((0,i.NumberNode)({integer:!0,min:0,max:80})),upper_limit:(0,i.Opt)((0,i.NumberNode)({integer:!0,min:0,max:80})),lower_size:(0,i.Opt)((0,i.NumberNode)({integer:!0,min:0,max:16})),middle_size:(0,i.Opt)((0,i.NumberNode)({integer:!0,min:0,max:16})),upper_size:(0,i.Opt)((0,i.NumberNode)({integer:!0,min:0,max:16}))}}},{disableSwitchContext:!0}),{default:()=>({type:"minecraft:two_layers_feature_size"})}));const v={seed:(0,i.NumberNode)({integer:!0}),noise:t("noise_parameters"),scale:(0,i.Mod)((0,i.NumberNode)({min:Number.MIN_VALUE}),{default:()=>1})};r.register("block_state_provider",(0,i.Mod)((0,i.ObjectNode)({type:o({validator:"resource",params:{pool:"worldgen/block_state_provider_type"}}),[i.Switch]:[{push:"type"}],[i.Case]:{"minecraft:dual_noise_provider":A(g({},v),{variety:(0,h.InclusiveRange)({integer:!0,min:1,max:64}),slow_noise:t("noise_parameters"),slow_scale:(0,i.Mod)((0,i.NumberNode)({min:Number.MIN_VALUE}),{default:()=>1}),states:(0,i.ListNode)(t("block_state"))}),"minecraft:noise_threshold_provider":A(g({},v),{threshold:(0,i.NumberNode)({min:-1,max:1}),high_chance:(0,i.NumberNode)({min:0,max:1}),default_state:t("block_state"),low_states:(0,i.ListNode)(t("block_state")),high_states:(0,i.ListNode)(t("block_state"))}),"minecraft:noise_provider":A(g({},v),{states:(0,i.ListNode)(t("block_state"))}),"minecraft:randomized_int_state_provider":{property:o(),values:(0,h.IntProvider)(),source:t("block_state_provider")},"minecraft:rotated_block_provider":{state:t("block_state")},"minecraft:simple_state_provider":{state:t("block_state")},"minecraft:weighted_state_provider":{entries:(0,i.ListNode)((0,i.Mod)((0,i.ObjectNode)({weight:(0,i.NumberNode)({integer:!0,min:1}),data:t("block_state")}),{default:()=>({data:{}})}))}}},{context:"block_state_provider"}),{default:()=>({type:"minecraft:simple_state_provider"})}));const S={offset:(0,i.Opt)((0,i.ListNode)((0,i.NumberNode)({integer:!0,min:-16,max:16}),{minLength:3,maxLength:3}))};r.register("block_predicate_worldgen",(0,i.Mod)((0,i.ObjectNode)({type:o({validator:"resource",params:{pool:"block_predicate_type"}}),[i.Switch]:[{push:"type"}],[i.Case]:{"minecraft:all_of":{predicates:(0,i.ListNode)(t("block_predicate_worldgen"))},"minecraft:any_of":{predicates:(0,i.ListNode)(t("block_predicate_worldgen"))},"minecraft:has_sturdy_face":A(g({},S),{direction:o({enum:"direction"})}),"minecraft:inside_world_bounds":g({},S),"minecraft:matching_block_tag":A(g({},S),{tag:o({validator:"resource",params:{pool:"$tag/block"}})}),"minecraft:matching_blocks":A(g({},S),{blocks:(0,h.Tag)({resource:"block"})}),"minecraft:matching_fluids":A(g({},S),{fluids:(0,h.Tag)({resource:"fluid"})}),"minecraft:not":{predicate:t("block_predicate_worldgen")},"minecraft:would_survive":A(g({},S),{state:t("block_state")})}},{context:"block_predicate"}),{default:()=>({type:"minecraft:true"})}))}xe.initFeatureSchemas=ht;var Se={};Object.defineProperty(Se,"__esModule",{value:!0});Se.initNoiseSettingsSchemas=void 0;const N=k,yt=z,D=Be;function vt(r,e){const t=N.Reference.bind(void 0,r),o=N.StringNode.bind(void 0,e);r.register("noise_settings",(0,N.Mod)((0,N.ObjectNode)({sea_level:(0,N.NumberNode)({integer:!0}),disable_mob_generation:(0,N.BooleanNode)(),aquifers_enabled:(0,N.BooleanNode)(),ore_veins_enabled:(0,N.BooleanNode)(),legacy_random_source:(0,N.BooleanNode)(),default_block:t("block_state"),default_fluid:t("block_state"),noise:(0,N.ObjectNode)({min_y:(0,N.NumberNode)({integer:!0,min:-2048,max:2047}),height:(0,N.NumberNode)({integer:!0,min:0,max:4096}),size_horizontal:(0,N.NumberNode)({integer:!0}),size_vertical:(0,N.NumberNode)({integer:!0}),sampling:(0,N.ObjectNode)({xz_scale:(0,N.NumberNode)(),y_scale:(0,N.NumberNode)(),xz_factor:(0,N.NumberNode)(),y_factor:(0,N.NumberNode)()}),bottom_slide:t("noise_slider"),top_slide:t("noise_slider"),terrain_shaper:t("terrain_shaper")}),noise_router:(0,N.ObjectNode)({barrier:D.DensityFunction,fluid_level_floodedness:D.DensityFunction,fluid_level_spread:D.DensityFunction,lava:D.DensityFunction,temperature:D.DensityFunction,vegetation:D.DensityFunction,continents:D.DensityFunction,erosion:D.DensityFunction,depth:D.DensityFunction,ridges:D.DensityFunction,initial_density_without_jaggedness:D.DensityFunction,final_density:D.DensityFunction,vein_toggle:D.DensityFunction,vein_ridged:D.DensityFunction,vein_gap:D.DensityFunction}),surface_rule:t("material_rule")},{context:"noise_settings"}),d=>({default:()=>yt.DefaultNoiseSettings,validate:(n,a,p,w)=>{var m,f,j,v;return a=d.validate(n,a,p,w),((m=a==null?void 0:a.noise)===null||m===void 0?void 0:m.min_y)+((f=a==null?void 0:a.noise)===null||f===void 0?void 0:f.height)>2047&&p.add(n.push("noise").push("height"),"error.min_y_plus_height",2047),((j=a==null?void 0:a.noise)===null||j===void 0?void 0:j.height)%16!==0&&p.add(n.push("noise").push("height"),"error.height_multiple",16),((v=a==null?void 0:a.noise)===null||v===void 0?void 0:v.min_y)%16!==0&&p.add(n.push("noise").push("min_y"),"error.min_y_multiple",16),a}}))),r.register("noise_slider",(0,N.ObjectNode)({target:(0,N.NumberNode)(),size:(0,N.NumberNode)({integer:!0,min:0}),offset:(0,N.NumberNode)({integer:!0})})),r.register("generator_layer",(0,N.Mod)((0,N.ObjectNode)({block:o({validator:"resource",params:{pool:"block"}}),height:(0,N.NumberNode)({integer:!0,min:1})}),{default:()=>({block:"minecraft:stone",height:1})})),r.register("terrain_shaper",(0,N.Mod)((0,N.ObjectNode)({offset:t("terrain_spline"),factor:t("terrain_spline"),jaggedness:t("terrain_spline")},{context:"terrain_shaper"}),{default:()=>({offset:0,factor:0,jaggedness:0})})),r.register("terrain_spline",(0,N.Mod)((0,N.ChoiceNode)([{type:"number",node:(0,N.NumberNode)()},{type:"object",node:(0,N.ObjectNode)({coordinate:(0,N.Mod)(o({enum:["continents","erosion","weirdness","ridges"]}),{default:()=>"continents"}),points:(0,N.ListNode)((0,N.ObjectNode)({location:(0,N.NumberNode)(),derivative:(0,N.NumberNode)(),value:t("terrain_spline")}))},{category:"function"})}],{context:"terrain_spline",choiceContext:"terrain_spline"}),{default:()=>0}))}Se.initNoiseSettingsSchemas=vt;var je={};Object.defineProperty(je,"__esModule",{value:!0});je.initStructureFeatureSchemas=void 0;const F=k,Ot=z,kt=Fe;function wt(r,e){const t=F.StringNode.bind(void 0,e),o=F.Reference.bind(void 0,r),d={start_pool:t({validator:"resource",params:{pool:"$worldgen/template_pool"}}),size:(0,F.NumberNode)({integer:!0})};r.register("configured_structure_feature",(0,F.Mod)((0,F.ObjectNode)({type:t({validator:"resource",params:{pool:"worldgen/structure_feature"}}),biomes:(0,Ot.Tag)({resource:"$worldgen/biome"}),adapt_noise:(0,F.Opt)((0,F.BooleanNode)()),spawn_overrides:(0,F.MapNode)(t({enum:"mob_category"}),(0,F.ObjectNode)({bounding_box:t({enum:["piece","full"]}),spawns:kt.MobCategorySpawnSettings})),config:(0,F.ObjectNode)({[F.Switch]:["pop",{push:"type"}],[F.Case]:{"minecraft:bastion_remnant":d,"minecraft:buried_treasure":{probability:(0,F.NumberNode)({min:0,max:1})},"minecraft:mineshaft":{type:t({enum:["normal","mesa"]}),probability:(0,F.NumberNode)({min:0,max:1})},"minecraft:nether_fossil":{height:o("height_provider")},"minecraft:ocean_ruin":{biome_temp:t({enum:["cold","warm"]}),large_probability:(0,F.NumberNode)({min:0,max:1}),cluster_probability:(0,F.NumberNode)({min:0,max:1})},"minecraft:pillager_outpost":d,"minecraft:ruined_portal":{portal_type:t({enum:["standard","desert","jungle","mountain","nether","ocean","swamp"]})},"minecraft:shipwreck":{is_beached:(0,F.Opt)((0,F.BooleanNode)())},"minecraft:village":d}},{context:"structure_feature",disableSwitchContext:!0})},{context:"structure_feature"}),{default:()=>({type:"minecraft:bastion_remnant",config:{start_pool:"minecraft:bastion/starts",size:6}})}))}je.initStructureFeatureSchemas=wt;var Ce={};Object.defineProperty(Ce,"__esModule",{value:!0});Ce.initStructureSetSchemas=void 0;const M=k,xt=z;function St(r,e){const t=M.StringNode.bind(void 0,e),o=M.Reference.bind(void 0,r);r.register("structure_set",(0,M.ObjectNode)({structures:(0,M.ListNode)((0,M.ObjectNode)({structure:(0,xt.Tag)({resource:"$worldgen/configured_structure_feature"}),weight:(0,M.NumberNode)({integer:!0,min:1})})),placement:o("structure_placement")},{context:"structure_set"})),r.register("structure_placement",(0,M.Mod)((0,M.ObjectNode)({type:t({validator:"resource",params:{pool:"worldgen/structure_placement"}}),[M.Switch]:[{push:"type"}],[M.Case]:{"minecraft:concentric_rings":{distance:(0,M.NumberNode)({integer:!0,min:0,max:1023}),spread:(0,M.NumberNode)({integer:!0,min:0,max:1023}),count:(0,M.NumberNode)({integer:!0,min:1,max:4095})},"minecraft:random_spread":{spread_type:(0,M.Opt)(t({enum:["linear","triangular"]})),spacing:(0,M.NumberNode)({integer:!0,min:0,max:4096}),separation:(0,M.Mod)((0,M.NumberNode)({integer:!0,min:0,max:4096}),d=>({validate:(n,a,p,w)=>(n.pop().push("spacing").get()<=a&&p.add(n,"error.separation_smaller_spacing"),d.validate(n,a,p,w))})),salt:(0,M.NumberNode)({integer:!0,min:0}),locate_offset:(0,M.Opt)((0,M.ListNode)((0,M.NumberNode)({integer:!0,min:-16,max:16}),{minLength:3,maxLength:3}))}}},{context:"structure_placement"}),{default:()=>({type:"minecraft:random_spread",spacing:10,separation:5,salt:Math.floor(Math.random()*2147483647)})}))}Ce.initStructureSetSchemas=St;var Me={};Object.defineProperty(Me,"__esModule",{value:!0});Me.initSurfaceRuleSchemas=void 0;const C=k;function jt(r,e){const t=C.StringNode.bind(void 0,e),o=C.Reference.bind(void 0,r);r.register("material_rule",(0,C.Mod)((0,C.ObjectNode)({type:t({validator:"resource",params:{pool:"worldgen/material_rule"}}),[C.Switch]:[{push:"type"}],[C.Case]:{"minecraft:block":{result_state:o("block_state")},"minecraft:condition":{if_true:o("material_condition"),then_run:o("material_rule")},"minecraft:sequence":{sequence:(0,C.ListNode)(o("material_rule"))}}},{context:"material_rule",category:"pool"}),{default:()=>({type:"minecraft:block",result_state:{Name:"minecraft:stone"}})})),r.register("material_condition",(0,C.Mod)((0,C.ObjectNode)({type:t({validator:"resource",params:{pool:"worldgen/material_condition"}}),[C.Switch]:[{push:"type"}],[C.Case]:{"minecraft:biome":{biome_is:(0,C.ListNode)(t({validator:"resource",params:{pool:"$worldgen/biome"}}))},"minecraft:noise_threshold":{noise:t({validator:"resource",params:{pool:"$worldgen/noise"}}),min_threshold:(0,C.NumberNode)(),max_threshold:(0,C.NumberNode)()},"minecraft:not":{invert:o("material_condition")},"minecraft:stone_depth":{offset:(0,C.NumberNode)({integer:!0}),surface_type:t({enum:"cave_surface"}),add_surface_depth:(0,C.BooleanNode)(),secondary_depth_range:(0,C.NumberNode)({integer:!0})},"minecraft:vertical_gradient":{random_name:t(),true_at_and_below:o("vertical_anchor"),false_at_and_above:o("vertical_anchor")},"minecraft:water":{offset:(0,C.NumberNode)({integer:!0}),surface_depth_multiplier:(0,C.NumberNode)({integer:!0,min:-20,max:20}),add_stone_depth:(0,C.BooleanNode)()},"minecraft:y_above":{anchor:o("vertical_anchor"),surface_depth_multiplier:(0,C.NumberNode)({integer:!0,min:-20,max:20}),add_stone_depth:(0,C.BooleanNode)()}}},{context:"material_condition"}),{default:()=>({type:"minecraft:biome",is_biome:"minecraft:plains"})}))}Me.initSurfaceRuleSchemas=jt;var Pe={};Object.defineProperty(Pe,"__esModule",{value:!0});Pe.initTemplatePoolSchemas=void 0;const R=k,qe=Y;function Ct(r,e){const t=R.Reference.bind(void 0,r),o=R.StringNode.bind(void 0,e);r.register("template_pool",(0,R.Mod)((0,R.ObjectNode)({name:o(),fallback:o(),elements:(0,R.ListNode)(t("template_weighted_element"))},{context:"template_pool"}),{default:()=>({fallback:"minecraft:empty",elements:[{weight:1,element:{element_type:"minecraft:single_pool_element",projection:"rigid",processors:"minecraft:empty"}}]})})),r.register("template_weighted_element",(0,R.Mod)((0,R.ObjectNode)({weight:(0,R.NumberNode)({integer:!0,min:1}),element:t("template_element")},{category:"pool"}),{default:()=>({weight:1,element:{element_type:"minecraft:single_pool_element",projection:"rigid",processors:"minecraft:empty"}})})),r.register("template_element",(0,R.Mod)((0,R.ObjectNode)({element_type:o({validator:"resource",params:{pool:"worldgen/structure_pool_element"}}),projection:o({enum:["rigid","terrain_matching"]}),[R.Switch]:[{push:"element_type"}],[R.Case]:{"minecraft:feature_pool_element":{feature:o({validator:"resource",params:{pool:"$worldgen/placed_feature"}})},"minecraft:legacy_single_pool_element":{location:o({validator:"resource",params:{pool:"$structure"}}),processors:qe.Processors},"minecraft:list_pool_element":{elements:(0,R.ListNode)(t("template_element"))},"minecraft:single_pool_element":{location:o({validator:"resource",params:{pool:"$structure"}}),processors:qe.Processors}}},{context:"template_element",disableSwitchContext:!0}),{default:()=>({element_type:"minecraft:single_pool_element",projection:"rigid",processors:"minecraft:empty"})}))}Pe.initTemplatePoolSchemas=Ct;Object.defineProperty(Oe,"__esModule",{value:!0});Oe.initWorldgenSchemas=void 0;const Mt=Fe,Pt=ke,Lt=we,$t=Be,Ft=xe,Bt=Se,Dt=Y,zt=je,Rt=Ce,Tt=Me,qt=Pe;function It(r,e){(0,Dt.initProcessorListSchemas)(r,e),(0,$t.initDensityFunctionSchemas)(r,e),(0,Mt.initBiomeSchemas)(r,e),(0,Pt.initCarverSchemas)(r,e),(0,Lt.initDecoratorSchemas)(r,e),(0,Ft.initFeatureSchemas)(r,e),(0,Bt.initNoiseSettingsSchemas)(r,e),(0,zt.initStructureFeatureSchemas)(r,e),(0,Rt.initStructureSetSchemas)(r,e),(0,Tt.initSurfaceRuleSchemas)(r,e),(0,qt.initTemplatePoolSchemas)(r,e)}Oe.initWorldgenSchemas=It;var Le={};Object.defineProperty(Le,"__esModule",{value:!0});Le.initWorldSettingsSchemas=void 0;const X=k;function At(r,e){const t=X.Reference.bind(void 0,r),o=X.StringNode.bind(void 0,e);r.register("world_settings",(0,X.Mod)((0,X.ObjectNode)({generate_features:(0,X.BooleanNode)(),bonus_chest:(0,X.BooleanNode)(),seed:(0,X.NumberNode)({integer:!0}),dimensions:(0,X.MapNode)(o({validator:"resource",params:{pool:"$dimension"}}),t("dimension"))},{context:"world_settings"}),{default:()=>{const d=Math.floor(Math.random()*4294967296)-2147483648;return{generate_features:!0,bonus_chest:!1,seed:d,dimensions:{"minecraft:overworld":{type:"minecraft:overworld",generator:{type:"minecraft:noise",seed:d,biome_source:{type:"minecraft:multi_noise",preset:"minecraft:overworld"},settings:"minecraft:overworld"}},"minecraft:the_nether":{type:"minecraft:the_nether",generator:{type:"minecraft:noise",seed:d,biome_source:{type:"minecraft:multi_noise",preset:"minecraft:nether"},settings:"minecraft:nether"}},"minecraft:the_end":{type:"minecraft:the_end",generator:{type:"minecraft:noise",seed:d,biome_source:{type:"minecraft:the_end",seed:d},settings:"minecraft:end"}}}}}}))}Le.initWorldSettingsSchemas=At;Object.defineProperty(ce,"__esModule",{value:!0});ce.initSchemas=void 0;const Et=de,Wt=se,Ut=z,Vt=_e,Gt=ue,Ht=pe,Kt=fe,Xt=ge,Yt=be,Zt=Ne,Jt=he,Qt=ye,er=ve,tr=Oe,rr=Le;function or(r,e){(0,Ut.initCommonSchemas)(r,e),(0,Et.initAdvancementSchemas)(r,e),(0,Wt.initAssetsSchemas)(r,e),(0,Vt.initConditionSchemas)(r,e),(0,Ht.initDimensionTypeSchemas)(r,e),(0,Gt.initDimensionSchemas)(r,e),(0,Kt.initItemModifierSchemas)(r,e),(0,Xt.initLootTableSchemas)(r,e),(0,Yt.initPackMcmetaSchemas)(r,e),(0,Zt.initPredicatesSchemas)(r,e),(0,Jt.initRecipeSchemas)(r,e),(0,Qt.initTagsSchemas)(r,e),(0,er.initTextComponentSchemas)(r,e),(0,tr.initWorldgenSchemas)(r,e),(0,rr.initWorldSettingsSchemas)(r,e)}ce.initSchemas=or;var ir=re&&re.__createBinding||(Object.create?function(r,e,t,o){o===void 0&&(o=t);var d=Object.getOwnPropertyDescriptor(e,t);(!d||("get"in d?!e.__esModule:d.writable||d.configurable))&&(d={enumerable:!0,get:function(){return e[t]}}),Object.defineProperty(r,o,d)}:function(r,e,t,o){o===void 0&&(o=t),r[o]=e[t]}),nr=re&&re.__setModuleDefault||(Object.create?function(r,e){Object.defineProperty(r,"default",{enumerable:!0,value:e})}:function(r,e){r.default=e}),ar=re&&re.__importStar||function(r){if(r&&r.__esModule)return r;var e={};if(r!=null)for(var t in r)t!=="default"&&Object.prototype.hasOwnProperty.call(r,t)&&ir(e,r,t);return nr(e,r),e};Object.defineProperty(G,"__esModule",{value:!0});var Ie=G.getSchemas=We=G.getCollections=Ee=G.lootContext=void 0;const Ae=k,cr=ae,dr=ce;var Ee=G.lootContext=ar(T);function sr(){const r=new Ae.CollectionRegistry;return(0,cr.initCollections)(r),r}var We=G.getCollections=sr;function lr(r){const e=new Ae.SchemaRegistry;return(0,dr.initSchemas)(e,r),e}Ie=G.getSchemas=lr;var pr=Xe({__proto__:null,get getSchemas(){return Ie},get getCollections(){return We},get lootContext(){return Ee},default:G},[G]);export{pr as i}; +//# sourceMappingURL=index.75f8e4cf.js.map diff --git a/assets/index.9e052309.js.map b/assets/index.75f8e4cf.js.map similarity index 99% rename from assets/index.9e052309.js.map rename to assets/index.75f8e4cf.js.map index 267771c2..c9aa9549 100644 --- a/assets/index.9e052309.js.map +++ b/assets/index.75f8e4cf.js.map @@ -1 +1 @@ -{"version":3,"file":"index.9e052309.js","sources":["../../node_modules/@mcschema/java-1.18.2/lib/Collections.js","../../node_modules/@mcschema/java-1.18.2/lib/schemas/Advancement.js","../../node_modules/@mcschema/java-1.18.2/lib/schemas/assets/Model.js","../../node_modules/@mcschema/java-1.18.2/lib/schemas/assets/BlockDefinition.js","../../node_modules/@mcschema/java-1.18.2/lib/schemas/assets/index.js","../../node_modules/@mcschema/java-1.18.2/lib/schemas/Common.js","../../node_modules/@mcschema/java-1.18.2/lib/schemas/Condition.js","../../node_modules/@mcschema/java-1.18.2/lib/schemas/Dimension.js","../../node_modules/@mcschema/java-1.18.2/lib/schemas/DimensionType.js","../../node_modules/@mcschema/java-1.18.2/lib/schemas/ItemModifier.js","../../node_modules/@mcschema/java-1.18.2/lib/LootContext.js","../../node_modules/@mcschema/java-1.18.2/lib/schemas/LootTable.js","../../node_modules/@mcschema/java-1.18.2/lib/schemas/PackMcmeta.js","../../node_modules/@mcschema/java-1.18.2/lib/schemas/Predicates.js","../../node_modules/@mcschema/java-1.18.2/lib/schemas/Recipe.js","../../node_modules/@mcschema/java-1.18.2/lib/schemas/Tags.js","../../node_modules/@mcschema/java-1.18.2/lib/schemas/TextComponent.js","../../node_modules/@mcschema/java-1.18.2/lib/schemas/worldgen/Biome.js","../../node_modules/@mcschema/java-1.18.2/lib/schemas/worldgen/Carver.js","../../node_modules/@mcschema/java-1.18.2/lib/schemas/worldgen/Decorator.js","../../node_modules/@mcschema/java-1.18.2/lib/schemas/worldgen/DensityFunction.js","../../node_modules/@mcschema/java-1.18.2/lib/schemas/worldgen/ProcessorList.js","../../node_modules/@mcschema/java-1.18.2/lib/schemas/worldgen/Feature.js","../../node_modules/@mcschema/java-1.18.2/lib/schemas/worldgen/NoiseSettings.js","../../node_modules/@mcschema/java-1.18.2/lib/schemas/worldgen/StructureFeature.js","../../node_modules/@mcschema/java-1.18.2/lib/schemas/worldgen/StructureSet.js","../../node_modules/@mcschema/java-1.18.2/lib/schemas/worldgen/SurfaceRule.js","../../node_modules/@mcschema/java-1.18.2/lib/schemas/worldgen/TemplatePool.js","../../node_modules/@mcschema/java-1.18.2/lib/schemas/worldgen/index.js","../../node_modules/@mcschema/java-1.18.2/lib/schemas/WorldSettings.js","../../node_modules/@mcschema/java-1.18.2/lib/schemas/index.js","../../node_modules/@mcschema/java-1.18.2/lib/index.js"],"sourcesContent":["\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initCollections = void 0;\r\nfunction initCollections(collections) {\r\n collections.register('advancement_trigger', [\r\n 'minecraft:bee_nest_destroyed',\r\n 'minecraft:bred_animals',\r\n 'minecraft:brewed_potion',\r\n 'minecraft:changed_dimension',\r\n 'minecraft:channeled_lightning',\r\n 'minecraft:construct_beacon',\r\n 'minecraft:consume_item',\r\n 'minecraft:cured_zombie_villager',\r\n 'minecraft:effects_changed',\r\n 'minecraft:enchanted_item',\r\n 'minecraft:enter_block',\r\n 'minecraft:entity_hurt_player',\r\n 'minecraft:entity_killed_player',\r\n 'minecraft:fall_from_height',\r\n 'minecraft:filled_bucket',\r\n 'minecraft:fishing_rod_hooked',\r\n 'minecraft:hero_of_the_village',\r\n 'minecraft:impossible',\r\n 'minecraft:inventory_changed',\r\n 'minecraft:item_durability_changed',\r\n 'minecraft:item_used_on_block',\r\n 'minecraft:killed_by_crossbow',\r\n 'minecraft:levitation',\r\n 'minecraft:lightning_strike',\r\n 'minecraft:location',\r\n 'minecraft:nether_travel',\r\n 'minecraft:placed_block',\r\n 'minecraft:player_generates_container_loot',\r\n 'minecraft:player_hurt_entity',\r\n 'minecraft:player_interacted_with_entity',\r\n 'minecraft:player_killed_entity',\r\n 'minecraft:recipe_unlocked',\r\n 'minecraft:ride_entity_in_lava',\r\n 'minecraft:shot_crossbow',\r\n 'minecraft:slept_in_bed',\r\n 'minecraft:slide_down_block',\r\n 'minecraft:started_riding',\r\n 'minecraft:summoned_entity',\r\n 'minecraft:tame_animal',\r\n 'minecraft:target_hit',\r\n 'minecraft:tick',\r\n 'minecraft:thrown_item_picked_up_by_entity',\r\n 'minecraft:used_ender_eye',\r\n 'minecraft:used_totem',\r\n 'minecraft:using_item',\r\n 'minecraft:villager_trade',\r\n 'minecraft:voluntary_exile'\r\n ]);\r\n collections.register('keybind', [\r\n 'key.advancements',\r\n 'key.attack',\r\n 'key.back',\r\n 'key.chat',\r\n 'key.command',\r\n 'key.drop',\r\n 'key.forward',\r\n 'key.fullscreen',\r\n 'key.hotbar.1',\r\n 'key.hotbar.2',\r\n 'key.hotbar.3',\r\n 'key.hotbar.4',\r\n 'key.hotbar.5',\r\n 'key.hotbar.6',\r\n 'key.hotbar.7',\r\n 'key.hotbar.8',\r\n 'key.hotbar.9',\r\n 'key.inventory',\r\n 'key.jump',\r\n 'key.left',\r\n 'key.loadToolbarActivator',\r\n 'key.pickItem',\r\n 'key.playerlist',\r\n 'key.right',\r\n 'key.saveToolbarActivator',\r\n 'key.screenshot',\r\n 'key.smoothCamera',\r\n 'key.sneak',\r\n 'key.spectatorOutlines',\r\n 'key.sprint',\r\n 'key.swapOffhand',\r\n 'key.togglePerspective',\r\n 'key.use'\r\n ]);\r\n collections.register('slot', [\r\n 'mainhand',\r\n 'offhand',\r\n 'head',\r\n 'chest',\r\n 'legs',\r\n 'feet'\r\n ]);\r\n collections.register('gamemode', [\r\n 'survival',\r\n 'creative',\r\n 'adventure',\r\n 'spectator'\r\n ]);\r\n collections.register('entity_source', [\r\n 'this',\r\n 'killer',\r\n 'direct_killer',\r\n 'killer_player'\r\n ]);\r\n collections.register('copy_source', [\r\n 'block_entity',\r\n 'this',\r\n 'killer',\r\n 'killer_player'\r\n ]);\r\n collections.register('loot_table_apply_bonus_formula', [\r\n 'minecraft:uniform_bonus_count',\r\n 'minecraft:binomial_with_bonus_count',\r\n 'minecraft:ore_drops'\r\n ]);\r\n collections.register('map_decoration', [\r\n 'mansion',\r\n 'monument',\r\n 'player',\r\n 'frame',\r\n 'red_marker',\r\n 'blue_marker',\r\n 'target_x',\r\n 'target_point',\r\n 'player_off_map',\r\n 'player_off_limits',\r\n 'red_x',\r\n 'banner_white',\r\n 'banner_orange',\r\n 'banner_magenta',\r\n 'banner_light_blue',\r\n 'banner_yellow',\r\n 'banner_lime',\r\n 'banner_pink',\r\n 'banner_gray',\r\n 'banner_light_gray',\r\n 'banner_cyan',\r\n 'banner_purple',\r\n 'banner_blue',\r\n 'banner_brown',\r\n 'banner_green',\r\n 'banner_red',\r\n 'banner_black'\r\n ]);\r\n collections.register('map_feature', [\r\n 'bastion_remnant',\r\n 'buried_treasure',\r\n 'desert_pyramid',\r\n 'endcity',\r\n 'fortress',\r\n 'igloo',\r\n 'jungle_pyramid',\r\n 'mansion',\r\n 'mineshaft',\r\n 'monument',\r\n 'nether_fossil',\r\n 'ocean_ruin',\r\n 'pillager_outpost',\r\n 'ruined_portal',\r\n 'shipwreck',\r\n 'stronghold',\r\n 'swamp_hut',\r\n 'village'\r\n ]);\r\n collections.register('recipe_group', [\r\n 'bed',\r\n 'light_gray_dye',\r\n 'iron_ingot',\r\n 'wooden_stairs',\r\n 'black_dye',\r\n 'stained_terracotta',\r\n 'dyed_bed',\r\n 'magenta_dye',\r\n 'bark',\r\n 'rabbit_stew',\r\n 'light_blue_dye',\r\n 'wooden_fence_gate',\r\n 'planks',\r\n 'stained_glass',\r\n 'wooden_door',\r\n 'stained_glass_pane',\r\n 'wooden_fence',\r\n 'sticks',\r\n 'concrete_powder',\r\n 'wooden_pressure_plate',\r\n 'boat',\r\n 'brown_dye',\r\n 'yellow_dye',\r\n 'bonemeal',\r\n 'red_dye',\r\n 'wooden_trapdoor',\r\n 'wooden_button',\r\n 'gold_ingot',\r\n 'pink_dye',\r\n 'wooden_slab',\r\n 'orange_dye',\r\n 'carpet',\r\n 'sign',\r\n 'wool',\r\n 'sugar',\r\n 'blue_dye',\r\n 'white_dye',\r\n 'banner',\r\n 'netherite_ingot'\r\n ]);\r\n collections.register('biome_category', [\r\n 'beach',\r\n 'desert',\r\n 'extreme_hills',\r\n 'forest',\r\n 'icy',\r\n 'jungle',\r\n 'mesa',\r\n 'mountain',\r\n 'mushroom',\r\n 'nether',\r\n 'none',\r\n 'ocean',\r\n 'plains',\r\n 'river',\r\n 'savanna',\r\n 'swamp',\r\n 'taiga',\r\n 'the_end',\r\n 'underground'\r\n ]);\r\n collections.register('heightmap_type', [\r\n 'MOTION_BLOCKING',\r\n 'MOTION_BLOCKING_NO_LEAVES',\r\n 'OCEAN_FLOOR',\r\n 'OCEAN_FLOOR_WG',\r\n 'WORLD_SURFACE',\r\n 'WORLD_SURFACE_WG'\r\n ]);\r\n collections.register('generation_step', [\r\n 'air',\r\n 'liquid'\r\n ]);\r\n collections.register('loot_context_type', [\r\n 'minecraft:empty',\r\n 'minecraft:chest',\r\n 'minecraft:command',\r\n 'minecraft:selector',\r\n 'minecraft:fishing',\r\n 'minecraft:entity',\r\n 'minecraft:gift',\r\n 'minecraft:barter',\r\n 'minecraft:advancement_reward',\r\n 'minecraft:advancement_entity',\r\n 'minecraft:generic',\r\n 'minecraft:block'\r\n ]);\r\n collections.register('banner_pattern', [\r\n 'base',\r\n 'square_bottom_left',\r\n 'square_bottom_right',\r\n 'square_top_left',\r\n 'square_top_right',\r\n 'stripe_bottom',\r\n 'stripe_top',\r\n 'stripe_left',\r\n 'stripe_right',\r\n 'stripe_center',\r\n 'stripe_middle',\r\n 'stripe_downright',\r\n 'stripe_downleft',\r\n 'small_stripes',\r\n 'cross',\r\n 'straight_cross',\r\n 'triangle_bottom',\r\n 'triangle_top',\r\n 'triangles_bottom',\r\n 'triangles_top',\r\n 'diagonal_left',\r\n 'diagonal_up_right',\r\n 'diagonal_up_left',\r\n 'diagonal_right',\r\n 'circle',\r\n 'rhombus',\r\n 'half_vertical',\r\n 'half_horizontal',\r\n 'half_vertical_right',\r\n 'half_horizontal_bottom',\r\n 'border',\r\n 'curly_border',\r\n 'gradient',\r\n 'gradient_up',\r\n 'bricks',\r\n 'globe',\r\n 'creeper',\r\n 'skull',\r\n 'flower',\r\n 'mojang',\r\n 'piglin'\r\n ]);\r\n collections.register('dye_color', [\r\n 'white',\r\n 'orange',\r\n 'magenta',\r\n 'light_blue',\r\n 'yellow',\r\n 'lime',\r\n 'pink',\r\n 'gray',\r\n 'light_gray',\r\n 'cyan',\r\n 'purple',\r\n 'blue',\r\n 'brown',\r\n 'green',\r\n 'red',\r\n 'black'\r\n ]);\r\n collections.register('cave_surface', [\r\n 'floor',\r\n 'ceiling'\r\n ]);\r\n collections.register('direction', [\r\n 'down',\r\n 'up',\r\n 'north',\r\n 'east',\r\n 'south',\r\n 'west'\r\n ]);\r\n collections.register('axis', [\r\n 'x',\r\n 'y',\r\n 'z'\r\n ]);\r\n collections.register('display_position', [\r\n 'firstperson_righthand',\r\n 'firstperson_lefthand',\r\n 'thirdperson_righthand',\r\n 'thirdperson_lefthand',\r\n 'gui',\r\n 'head',\r\n 'ground',\r\n 'fixed'\r\n ]);\r\n collections.register('gui_light', [\r\n 'front',\r\n 'side'\r\n ]);\r\n collections.register('item_model_predicates', [\r\n 'angle',\r\n 'blocking',\r\n 'broken',\r\n 'cast',\r\n 'charged',\r\n 'cooldown',\r\n 'custom_model_data',\r\n 'damage',\r\n 'damaged',\r\n 'firework',\r\n 'lefthanded',\r\n 'pull',\r\n 'pulling',\r\n 'throwing',\r\n 'time'\r\n ]);\r\n collections.register('mob_category', [\r\n 'monster',\r\n 'creature',\r\n 'ambient',\r\n 'axolotls',\r\n 'underground_water_creature',\r\n 'water_creature',\r\n 'water_ambient',\r\n 'misc',\r\n ]);\r\n collections.register('cat_texture', [\r\n 'textures/entity/cat/tabby.png',\r\n 'textures/entity/cat/black.png',\r\n 'textures/entity/cat/red.png',\r\n 'textures/entity/cat/siamese.png',\r\n 'textures/entity/cat/british_shorthair.png',\r\n 'textures/entity/cat/calico.png',\r\n 'textures/entity/cat/persian.png',\r\n 'textures/entity/cat/ragdoll.png',\r\n 'textures/entity/cat/white.png',\r\n 'textures/entity/cat/jellie.png',\r\n 'textures/entity/cat/all_black.png'\r\n ]);\r\n}\r\nexports.initCollections = initCollections;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initAdvancementSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initAdvancementSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const EntityPredicate = (0, core_1.ChoiceNode)([\r\n {\r\n type: 'object',\r\n node: (0, core_1.Opt)(Reference('entity_predicate')),\r\n change: v => { var _a, _b; return (_b = (_a = v[0]) === null || _a === void 0 ? void 0 : _a.predicate) !== null && _b !== void 0 ? _b : ({}); }\r\n },\r\n {\r\n type: 'list',\r\n node: (0, core_1.ListNode)(Reference('condition')),\r\n change: v => [{\r\n condition: 'minecraft:entity_properties',\r\n predicate: v\r\n }]\r\n }\r\n ], { context: 'conditions' });\r\n schemas.register('advancement', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n display: (0, core_1.Opt)((0, core_1.Mod)((0, core_1.ObjectNode)({\r\n icon: (0, core_1.ObjectNode)({\r\n item: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n nbt: (0, core_1.Opt)(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:item', id: ['pop', { push: 'item' }] } } }))\r\n }),\r\n title: Reference('text_component'),\r\n description: Reference('text_component'),\r\n background: (0, core_1.Opt)(StringNode()),\r\n frame: (0, core_1.Opt)(StringNode({ enum: ['task', 'challenge', 'goal'] })),\r\n show_toast: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n announce_to_chat: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n hidden: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n }), {\r\n default: () => ({\r\n icon: {\r\n item: 'minecraft:stone'\r\n },\r\n title: '',\r\n description: ''\r\n })\r\n })),\r\n parent: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$advancement' } })),\r\n criteria: (0, core_1.MapNode)(StringNode(), Reference('advancement_criteria')),\r\n requirements: (0, core_1.Opt)((0, core_1.ListNode)((0, core_1.ListNode)(StringNode() // TODO: add validation\r\n ))),\r\n rewards: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n function: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$function' } })),\r\n loot: (0, core_1.Opt)((0, core_1.ListNode)(StringNode({ validator: 'resource', params: { pool: '$loot_table' } }))),\r\n recipes: (0, core_1.Opt)((0, core_1.ListNode)(StringNode({ validator: 'resource', params: { pool: '$recipe' } }))),\r\n experience: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true }))\r\n })),\r\n }, { context: 'advancement' }), {\r\n default: () => ({\r\n criteria: {\r\n requirement: {\r\n trigger: 'minecraft:location'\r\n }\r\n }\r\n })\r\n }));\r\n schemas.register('advancement_criteria', (0, core_1.ObjectNode)({\r\n trigger: StringNode({ validator: 'resource', params: { pool: collections.get('advancement_trigger') } }),\r\n conditions: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n player: (0, core_1.Mod)(EntityPredicate, {\r\n enabled: path => path.pop().push('trigger').get() !== 'minecraft:impossible'\r\n }),\r\n [core_1.Switch]: ['pop', { push: 'trigger' }],\r\n [core_1.Case]: {\r\n 'minecraft:bee_nest_destroyed': {\r\n block: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: 'block' } })),\r\n num_bees_inside: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n item: (0, core_1.Opt)(Reference('item_predicate'))\r\n },\r\n 'minecraft:bred_animals': {\r\n parent: EntityPredicate,\r\n partner: EntityPredicate,\r\n child: EntityPredicate\r\n },\r\n 'minecraft:brewed_potion': {\r\n potion: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: 'potion' } }))\r\n },\r\n 'minecraft:changed_dimension': {\r\n from: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$dimension' } })),\r\n to: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$dimension' } }))\r\n },\r\n 'minecraft:channeled_lightning': {\r\n victims: (0, core_1.Opt)((0, core_1.ListNode)(EntityPredicate))\r\n },\r\n 'minecraft:construct_beacon': {\r\n level: Reference('int_bounds')\r\n },\r\n 'minecraft:consume_item': {\r\n item: (0, core_1.Opt)(Reference('item_predicate'))\r\n },\r\n 'minecraft:cured_zombie_villager': {\r\n villager: EntityPredicate,\r\n zombie: EntityPredicate\r\n },\r\n 'minecraft:effects_changed': {\r\n effects: (0, core_1.Opt)((0, core_1.MapNode)(StringNode({ validator: 'resource', params: { pool: 'mob_effect' } }), (0, core_1.ObjectNode)({\r\n amplifier: Reference('int_bounds'),\r\n duration: Reference('int_bounds')\r\n }))),\r\n source: (0, core_1.Opt)(EntityPredicate)\r\n },\r\n 'minecraft:enter_block': {\r\n block: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: 'block' } })),\r\n state: (0, core_1.Opt)((0, core_1.MapNode)(StringNode(), StringNode(), { validation: { validator: 'block_state_map', params: { id: ['pop', { push: 'block' }] } } }))\r\n },\r\n 'minecraft:enchanted_item': {\r\n levels: Reference('int_bounds'),\r\n item: (0, core_1.Opt)(Reference('item_predicate'))\r\n },\r\n 'minecraft:entity_hurt_player': {\r\n damage: (0, core_1.Opt)(Reference('damage_predicate'))\r\n },\r\n 'minecraft:entity_killed_player': {\r\n entity: EntityPredicate,\r\n killing_blow: (0, core_1.Opt)(Reference('damage_source_predicate'))\r\n },\r\n 'minecraft:fall_from_height': {\r\n start_position: (0, core_1.Opt)(Reference('location_predicate')),\r\n distance: (0, core_1.Opt)(Reference('distance_predicate'))\r\n },\r\n 'minecraft:filled_bucket': {\r\n item: (0, core_1.Opt)(Reference('item_predicate'))\r\n },\r\n 'minecraft:fishing_rod_hooked': {\r\n entity: EntityPredicate,\r\n item: (0, core_1.Opt)(Reference('item_predicate'))\r\n },\r\n 'minecraft:hero_of_the_village': {\r\n location: (0, core_1.Opt)(Reference('location_predicate'))\r\n },\r\n 'minecraft:inventory_changed': {\r\n slots: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n empty: Reference('int_bounds'),\r\n occupied: Reference('int_bounds'),\r\n full: Reference('int_bounds')\r\n })),\r\n items: (0, core_1.Opt)((0, core_1.ListNode)(Reference('item_predicate')))\r\n },\r\n 'minecraft:item_durability_changed': {\r\n delta: Reference('int_bounds'),\r\n durability: Reference('int_bounds'),\r\n item: (0, core_1.Opt)(Reference('item_predicate'))\r\n },\r\n 'minecraft:item_used_on_block': {\r\n item: (0, core_1.Opt)(Reference('item_predicate')),\r\n location: (0, core_1.Opt)(Reference('location_predicate'))\r\n },\r\n 'minecraft:killed_by_crossbow': {\r\n unique_entity_types: Reference('int_bounds'),\r\n victims: (0, core_1.Opt)((0, core_1.ListNode)(EntityPredicate))\r\n },\r\n 'minecraft:levitation': {\r\n distance: (0, core_1.Opt)(Reference('distance_predicate')),\r\n duration: Reference('int_bounds')\r\n },\r\n 'minecraft:lightning_strike': {\r\n lightning: EntityPredicate,\r\n bystander: EntityPredicate,\r\n },\r\n 'minecraft:location': {\r\n location: (0, core_1.Opt)(Reference('location_predicate'))\r\n },\r\n 'minecraft:nether_travel': {\r\n start_position: (0, core_1.Opt)(Reference('location_predicate')),\r\n distance: (0, core_1.Opt)(Reference('distance_predicate')),\r\n },\r\n 'minecraft:placed_block': {\r\n block: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: 'block' } })),\r\n state: (0, core_1.Opt)((0, core_1.MapNode)(StringNode(), StringNode(), { validation: { validator: 'block_state_map', params: { id: ['pop', { push: 'block' }] } } })),\r\n item: (0, core_1.Opt)(Reference('item_predicate')),\r\n location: (0, core_1.Opt)(Reference('location_predicate'))\r\n },\r\n 'minecraft:player_generates_container_loot': {\r\n loot_table: StringNode({ validator: 'resource', params: { pool: '$loot_table' } })\r\n },\r\n 'minecraft:player_hurt_entity': {\r\n damage: (0, core_1.Opt)(Reference('damage_predicate')),\r\n entity: EntityPredicate\r\n },\r\n 'minecraft:player_interacted_with_entity': {\r\n item: (0, core_1.Opt)(Reference('item_predicate')),\r\n entity: EntityPredicate\r\n },\r\n 'minecraft:player_killed_entity': {\r\n entity: EntityPredicate,\r\n killing_blow: (0, core_1.Opt)(Reference('damage_source_predicate'))\r\n },\r\n 'minecraft:recipe_unlocked': {\r\n recipe: StringNode({ validator: 'resource', params: { pool: '$recipe' } })\r\n },\r\n 'minecraft:ride_entity_in_lava': {\r\n start_position: (0, core_1.Opt)(Reference('location_predicate')),\r\n distance: (0, core_1.Opt)(Reference('distance_predicate'))\r\n },\r\n 'minecraft:slept_in_bed': {\r\n location: (0, core_1.Opt)(Reference('location_predicate'))\r\n },\r\n 'minecraft:slide_down_block': {\r\n block: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: 'block' } }))\r\n },\r\n 'minecraft:shot_crossbow': {\r\n item: (0, core_1.Opt)(Reference('item_predicate'))\r\n },\r\n 'minecraft:summoned_entity': {\r\n entity: EntityPredicate\r\n },\r\n 'minecraft:tame_animal': {\r\n entity: EntityPredicate\r\n },\r\n 'minecraft:target_hit': {\r\n projectile: EntityPredicate,\r\n shooter: EntityPredicate,\r\n signal_strength: Reference('int_bounds')\r\n },\r\n 'minecraft:thrown_item_picked_up_by_entity': {\r\n entity: EntityPredicate,\r\n item: (0, core_1.Opt)(Reference('item_predicate'))\r\n },\r\n 'minecraft:used_ender_eye': {\r\n distance: (0, core_1.Opt)(Reference('float_bounds'))\r\n },\r\n 'minecraft:used_totem': {\r\n item: (0, core_1.Opt)(Reference('item_predicate'))\r\n },\r\n 'minecraft:using_item': {\r\n item: (0, core_1.Opt)(Reference('item_predicate'))\r\n },\r\n 'minecraft:villager_trade': {\r\n villager: EntityPredicate,\r\n item: (0, core_1.Opt)(Reference('item_predicate'))\r\n },\r\n 'minecraft:voluntary_exile': {\r\n location: (0, core_1.Opt)(Reference('location_predicate'))\r\n }\r\n }\r\n }, { context: 'criterion' }))\r\n }, { category: 'predicate', context: 'criterion' }));\r\n}\r\nexports.initAdvancementSchemas = initAdvancementSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initModelSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initModelSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const Vec = (length, min, max) => (0, core_1.ListNode)((0, core_1.NumberNode)({ min, max }), { minLength: length, maxLength: length });\r\n const Texture = (0, core_1.ChoiceNode)([\r\n {\r\n type: 'alias',\r\n match: (v) => typeof v === 'string' && v.startsWith('#'),\r\n node: StringNode(),\r\n change: (v) => typeof v === 'string' ? `#${v}` : \"#0\"\r\n },\r\n {\r\n type: 'reference',\r\n match: (v) => typeof v === 'string',\r\n node: StringNode({ validator: 'resource', params: { pool: '$texture' } }),\r\n change: (v) => typeof v === 'string' ? v.replace(/^#/, '') : \"\"\r\n }\r\n ], { choiceContext: 'texture' });\r\n schemas.register('model', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n parent: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$model' } })),\r\n ambientocclusion: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n gui_light: (0, core_1.Opt)(StringNode({ enum: 'gui_light' })),\r\n textures: (0, core_1.Opt)((0, core_1.MapNode)(StringNode(), Texture)),\r\n elements: (0, core_1.Opt)((0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n from: Vec(3, -16, 32),\r\n to: Vec(3, -16, 32),\r\n rotation: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n origin: Vec(3),\r\n axis: StringNode({ enum: 'axis' }),\r\n angle: (0, core_1.NumberEnum)({ values: [-45, -22.5, 0, 22.5, 45] }),\r\n rescale: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n })),\r\n shade: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n faces: (0, core_1.MapNode)(StringNode({ enum: 'direction' }), (0, core_1.ObjectNode)({\r\n texture: Texture,\r\n uv: (0, core_1.Opt)(Vec(4)),\r\n cullface: (0, core_1.Opt)(StringNode({ enum: 'direction' })),\r\n rotation: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n tintindex: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true }))\r\n }))\r\n }, { context: 'model_element' }))),\r\n display: (0, core_1.Opt)((0, core_1.MapNode)(StringNode({ enum: 'display_position' }), (0, core_1.ObjectNode)({\r\n rotation: Vec(3),\r\n translation: Vec(3, -80, 80),\r\n scale: Vec(3, -4, 4)\r\n }, { context: 'item_transform' }))),\r\n overrides: (0, core_1.Opt)((0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n predicate: (0, core_1.MapNode)(StringNode({ enum: 'item_model_predicates' }), (0, core_1.NumberNode)()),\r\n model: StringNode({ validator: 'resource', params: { pool: '$model' } })\r\n }, { context: 'model_override' })))\r\n }, { context: 'model' }), {\r\n default: () => ({\r\n parent: 'minecraft:item/generated',\r\n textures: {\r\n layer0: 'minecraft:item/diamond'\r\n }\r\n })\r\n }));\r\n}\r\nexports.initModelSchemas = initModelSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initBlockDefinitionSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initBlockDefinitionSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('block_definition', (0, core_1.Mod)((0, core_1.ChoiceNode)([\r\n {\r\n type: 'variants',\r\n match: (v) => v.variants !== undefined,\r\n node: (0, core_1.ObjectNode)({\r\n variants: (0, core_1.MapNode)(StringNode(), Reference('model_variant'))\r\n }),\r\n change: (v) => ({ variants: { \"\": {} } })\r\n },\r\n {\r\n type: 'multipart',\r\n match: (v) => v.multipart !== undefined,\r\n node: (0, core_1.ObjectNode)({\r\n multipart: (0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n when: (0, core_1.Opt)(Reference('multipart_condition')),\r\n apply: Reference('model_variant'),\r\n }))\r\n }),\r\n change: (v) => ({ multipart: { when: {}, apply: {} } })\r\n }\r\n ], { context: 'block_definition' }), {\r\n default: () => ({\r\n variants: {\r\n \"\": {\r\n model: 'minecraft:block/stone'\r\n }\r\n }\r\n })\r\n }));\r\n const VariantChildren = {\r\n model: StringNode({ validator: 'resource', params: { pool: '$model' } }),\r\n x: (0, core_1.Opt)((0, core_1.NumberEnum)({ integer: true, values: [0, 90, 180, 270] })),\r\n y: (0, core_1.Opt)((0, core_1.NumberEnum)({ integer: true, values: [0, 90, 180, 270] })),\r\n uvlock: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n };\r\n schemas.register('model_variant', (0, core_1.ChoiceNode)([\r\n {\r\n type: 'object',\r\n node: (0, core_1.ObjectNode)(VariantChildren),\r\n change: (v) => Array.isArray(v) && v.length > 0 ? v[0] : ({})\r\n },\r\n {\r\n type: 'list',\r\n node: (0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n ...VariantChildren,\r\n weight: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 1 }))\r\n }, { context: 'model_variant' })),\r\n change: (v) => [{ weight: 1, ...v }]\r\n }\r\n ], { context: 'model_variant' }));\r\n schemas.register('multipart_condition', (0, core_1.ChoiceNode)([\r\n {\r\n type: 'object',\r\n priority: -1,\r\n match: () => true,\r\n node: (0, core_1.MapNode)(StringNode(), StringNode()),\r\n change: (v) => typeof v === 'object' && Array.isArray(v === null || v === void 0 ? void 0 : v.OR) && v.OR.length > 0 ? v.OR[0] : ({})\r\n },\r\n {\r\n type: 'or',\r\n match: (v) => typeof v === 'object' && (v === null || v === void 0 ? void 0 : v.OR) !== undefined,\r\n node: (0, core_1.ObjectNode)({\r\n OR: (0, core_1.ListNode)(Reference('multipart_condition'))\r\n }),\r\n change: (v) => ({ OR: [v !== null && v !== void 0 ? v : {}] })\r\n }\r\n ], { context: 'multipart_condition' }));\r\n}\r\nexports.initBlockDefinitionSchemas = initBlockDefinitionSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initAssetsSchemas = void 0;\r\nconst Model_1 = require(\"./Model\");\r\nconst BlockDefinition_1 = require(\"./BlockDefinition\");\r\nfunction initAssetsSchemas(schemas, collections) {\r\n (0, BlockDefinition_1.initBlockDefinitionSchemas)(schemas, collections);\r\n (0, Model_1.initModelSchemas)(schemas, collections);\r\n}\r\nexports.initAssetsSchemas = initAssetsSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initCommonSchemas = exports.Tag = exports.InclusiveRange = exports.IntProvider = exports.FloatProvider = exports.NoiseSettingsPresets = exports.DefaultNoiseSettings = exports.DimensionTypePresets = exports.DefaultDimensionType = exports.FunctionCases = exports.ConditionCases = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nexports.DefaultDimensionType = {\r\n ultrawarm: false,\r\n natural: true,\r\n piglin_safe: false,\r\n respawn_anchor_works: false,\r\n bed_works: true,\r\n has_raids: true,\r\n has_skylight: true,\r\n has_ceiling: false,\r\n coordinate_scale: 1,\r\n ambient_light: 0,\r\n logical_height: 256,\r\n infiniburn: '#minecraft:infiniburn_overworld',\r\n min_y: 0,\r\n height: 256,\r\n};\r\nexports.DefaultNoiseSettings = {\r\n sea_level: 63,\r\n ore_veins_enabled: true,\r\n disable_mob_generation: false,\r\n aquifers_enabled: true,\r\n legacy_random_source: false,\r\n default_block: {\r\n Name: 'minecraft:stone'\r\n },\r\n default_fluid: {\r\n Properties: {\r\n level: '0'\r\n },\r\n Name: 'minecraft:water'\r\n },\r\n noise: {\r\n min_y: -64,\r\n height: 384,\r\n size_horizontal: 1,\r\n size_vertical: 2,\r\n top_slide: {\r\n target: -0.078125,\r\n size: 2,\r\n offset: 8\r\n },\r\n bottom_slide: {\r\n target: 0.1171875,\r\n size: 3,\r\n offset: 0\r\n },\r\n sampling: {\r\n xz_scale: 0.9999999814507745,\r\n y_scale: 0.9999999814507745,\r\n xz_factor: 80,\r\n y_factor: 160\r\n },\r\n terrain_shaper: {\r\n offset: 0,\r\n factor: 0,\r\n jaggedness: 0\r\n }\r\n },\r\n noise_router: {\r\n barrier: 0,\r\n fluid_level_floodedness: 0,\r\n fluid_level_spread: 0,\r\n lava: 0,\r\n temperature: 0,\r\n vegetation: 0,\r\n continents: 0,\r\n erosion: 0,\r\n depth: 0,\r\n ridges: 0,\r\n initial_density_without_jaggedness: 0,\r\n final_density: {\r\n type: 'minecraft:interpolated',\r\n argument: 'minecraft:overworld/base_3d_noise'\r\n },\r\n vein_toggle: 0,\r\n vein_ridged: 0,\r\n vein_gap: 0,\r\n },\r\n surface_rule: {\r\n type: 'minecraft:sequence',\r\n sequence: []\r\n }\r\n};\r\nfunction initCommonSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n schemas.register('block_state', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n Name: StringNode({ validator: 'resource', params: { pool: 'block' } }),\r\n Properties: (0, core_1.Opt)((0, core_1.MapNode)(StringNode(), StringNode(), { validation: { validator: 'block_state_map', params: { id: ['pop', { push: 'Name' }] } } }))\r\n }, { context: 'block_state' }), {\r\n default: () => ({\r\n Name: 'minecraft:stone'\r\n })\r\n }));\r\n schemas.register('fluid_state', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n Name: StringNode({ validator: 'resource', params: { pool: 'fluid' } }),\r\n Properties: (0, core_1.Opt)((0, core_1.MapNode)(StringNode(), StringNode()))\r\n }, { context: 'fluid_state' }), {\r\n default: () => ({\r\n Name: 'minecraft:water',\r\n Properties: {\r\n 'level': '0'\r\n }\r\n })\r\n }));\r\n schemas.register('block_pos', (0, core_1.Mod)((0, core_1.ListNode)((0, core_1.NumberNode)({ integer: true }), { minLength: 3, maxLength: 3 }), {\r\n default: () => [0, 0, 0]\r\n }));\r\n const Bounds = (integer) => (0, core_1.Opt)((0, core_1.ChoiceNode)([\r\n {\r\n type: 'number',\r\n node: (0, core_1.NumberNode)({ integer }),\r\n change: (v) => { var _a, _b; return v === undefined ? 0 : (_b = (_a = v.min) !== null && _a !== void 0 ? _a : v.max) !== null && _b !== void 0 ? _b : 0; }\r\n },\r\n {\r\n type: 'object',\r\n node: (0, core_1.ObjectNode)({\r\n min: (0, core_1.Opt)((0, core_1.NumberNode)({ integer })),\r\n max: (0, core_1.Opt)((0, core_1.NumberNode)({ integer }))\r\n }, { context: 'range' }),\r\n change: (v) => ({\r\n min: v !== null && v !== void 0 ? v : 0,\r\n max: v !== null && v !== void 0 ? v : 0\r\n })\r\n }\r\n ]));\r\n schemas.register('int_bounds', Bounds(true));\r\n schemas.register('float_bounds', Bounds());\r\n schemas.register('int_range', (0, core_1.ChoiceNode)([\r\n {\r\n type: 'object',\r\n node: (0, core_1.ObjectNode)({\r\n min: (0, core_1.Opt)(Reference('number_provider')),\r\n max: (0, core_1.Opt)(Reference('number_provider'))\r\n })\r\n },\r\n {\r\n type: 'number',\r\n node: (0, core_1.NumberNode)({ integer: true })\r\n }\r\n ], { context: 'range' }));\r\n const ObjectWithType = (pool, directType, directPath, directDefault, objectDefault, context, cases) => {\r\n let defaultCase = {};\r\n if (objectDefault) {\r\n Object.keys(cases[objectDefault]).forEach(k => {\r\n defaultCase[k] = (0, core_1.Mod)(cases[objectDefault][k], {\r\n enabled: path => path.push('type').get() === undefined\r\n });\r\n });\r\n }\r\n const provider = (0, core_1.ObjectNode)({\r\n type: (0, core_1.Mod)((0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool } })), {\r\n hidden: () => true\r\n }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: cases,\r\n ...defaultCase\r\n }, { context, disableSwitchContext: true });\r\n const choices = [{\r\n type: directType,\r\n node: cases[directDefault][directPath]\r\n }];\r\n if (objectDefault) {\r\n choices.push({\r\n type: 'object',\r\n priority: -1,\r\n node: provider\r\n });\r\n }\r\n Object.keys(cases).forEach(k => {\r\n choices.push({\r\n type: k,\r\n match: (v) => {\r\n var _a;\r\n const type = 'minecraft:' + ((_a = v === null || v === void 0 ? void 0 : v.type) === null || _a === void 0 ? void 0 : _a.replace(/^minecraft:/, ''));\r\n if (type === k)\r\n return true;\r\n const keys = v ? Object.keys(v) : [];\r\n return typeof v === 'object' && ((keys === null || keys === void 0 ? void 0 : keys.length) === 0 || ((keys === null || keys === void 0 ? void 0 : keys.length) === 1 && (keys === null || keys === void 0 ? void 0 : keys[0]) === 'type'));\r\n },\r\n node: provider,\r\n change: (v) => ({ type: k })\r\n });\r\n });\r\n return (0, core_1.ChoiceNode)(choices, { context, choiceContext: `${context}.type` });\r\n };\r\n schemas.register('number_provider', ObjectWithType('loot_number_provider_type', 'number', 'value', 'minecraft:constant', 'minecraft:uniform', 'number_provider', {\r\n 'minecraft:constant': {\r\n value: (0, core_1.NumberNode)()\r\n },\r\n 'minecraft:uniform': {\r\n min: Reference('number_provider'),\r\n max: Reference('number_provider')\r\n },\r\n 'minecraft:binomial': {\r\n n: Reference('number_provider'),\r\n p: Reference('number_provider')\r\n },\r\n 'minecraft:score': {\r\n target: Reference('scoreboard_name_provider'),\r\n score: StringNode({ validator: 'objective' }),\r\n scale: (0, core_1.Opt)((0, core_1.NumberNode)())\r\n }\r\n }));\r\n schemas.register('scoreboard_name_provider', ObjectWithType('loot_score_provider_type', 'string', 'target', 'minecraft:context', null, 'score_provider', {\r\n 'minecraft:fixed': {\r\n name: StringNode({ validator: 'entity', params: { amount: 'multiple', type: 'entities', isScoreHolder: true } }) // FIXME: doesn't support selectors\r\n },\r\n 'minecraft:context': {\r\n target: (0, core_1.Mod)(StringNode({ enum: 'entity_source' }), { default: () => 'this' })\r\n }\r\n }));\r\n schemas.register('nbt_provider', ObjectWithType('loot_nbt_provider_type', 'string', 'target', 'minecraft:context', null, 'nbt_provider', {\r\n 'minecraft:storage': {\r\n source: StringNode({ validator: 'resource', params: { pool: '$storage' } })\r\n },\r\n 'minecraft:context': {\r\n target: (0, core_1.Mod)(StringNode({ enum: 'copy_source' }), { default: () => 'this' })\r\n }\r\n }));\r\n exports.FloatProvider = (config) => ObjectWithType('float_provider_type', 'number', 'value', 'minecraft:constant', null, 'float_provider', {\r\n 'minecraft:constant': {\r\n value: (0, core_1.NumberNode)(config)\r\n },\r\n 'minecraft:uniform': {\r\n value: (0, core_1.ObjectNode)({\r\n min_inclusive: (0, core_1.NumberNode)(config),\r\n max_exclusive: (0, core_1.NumberNode)(config)\r\n })\r\n },\r\n 'minecraft:clamped_normal': {\r\n value: (0, core_1.ObjectNode)({\r\n min: (0, core_1.NumberNode)(),\r\n max: (0, core_1.NumberNode)(),\r\n mean: (0, core_1.NumberNode)(),\r\n deviation: (0, core_1.NumberNode)()\r\n })\r\n },\r\n 'minecraft:trapezoid': {\r\n value: (0, core_1.ObjectNode)({\r\n min: (0, core_1.NumberNode)(),\r\n max: (0, core_1.NumberNode)(),\r\n plateau: (0, core_1.NumberNode)()\r\n })\r\n }\r\n });\r\n schemas.register('float_provider', (0, exports.FloatProvider)());\r\n exports.IntProvider = (config) => ObjectWithType('int_provider_type', 'number', 'value', 'minecraft:constant', null, 'int_provider', {\r\n 'minecraft:constant': {\r\n value: (0, core_1.NumberNode)({ integer: true, ...config })\r\n },\r\n 'minecraft:uniform': {\r\n value: (0, core_1.ObjectNode)({\r\n min_inclusive: (0, core_1.NumberNode)({ integer: true, ...config }),\r\n max_inclusive: (0, core_1.NumberNode)({ integer: true, ...config })\r\n })\r\n },\r\n 'minecraft:biased_to_bottom': {\r\n value: (0, core_1.ObjectNode)({\r\n min_inclusive: (0, core_1.NumberNode)({ integer: true, ...config }),\r\n max_inclusive: (0, core_1.NumberNode)({ integer: true, ...config })\r\n })\r\n },\r\n 'minecraft:clamped': {\r\n value: (0, core_1.ObjectNode)({\r\n min_inclusive: (0, core_1.NumberNode)({ integer: true, ...config }),\r\n max_inclusive: (0, core_1.NumberNode)({ integer: true, ...config }),\r\n source: Reference('int_provider')\r\n })\r\n },\r\n 'minecraft:clamped_normal': {\r\n value: (0, core_1.ObjectNode)({\r\n min_inclusive: (0, core_1.NumberNode)({ integer: true, ...config }),\r\n max_inclusive: (0, core_1.NumberNode)({ integer: true, ...config }),\r\n mean: (0, core_1.NumberNode)(),\r\n deviation: (0, core_1.NumberNode)()\r\n })\r\n },\r\n 'minecraft:weighted_list': {\r\n distribution: (0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n weight: (0, core_1.NumberNode)({ integer: true }),\r\n data: Reference('int_provider'),\r\n }))\r\n }\r\n });\r\n schemas.register('int_provider', (0, exports.IntProvider)());\r\n schemas.register('vertical_anchor', (0, core_1.ChoiceNode)(['absolute', 'above_bottom', 'below_top'].map(t => ({\r\n type: t,\r\n match: v => (v === null || v === void 0 ? void 0 : v[t]) !== undefined,\r\n change: v => { var _a, _b, _c; return ({ [t]: (_c = (_b = (_a = v.absolute) !== null && _a !== void 0 ? _a : v.above_bottom) !== null && _b !== void 0 ? _b : v.below_top) !== null && _c !== void 0 ? _c : 0 }); },\r\n node: (0, core_1.ObjectNode)({\r\n [t]: (0, core_1.NumberNode)({ integer: true, min: -2048, max: 2047 })\r\n })\r\n })), { context: 'vertical_anchor' }));\r\n schemas.register('height_provider', ObjectWithType('height_provider_type', 'number', 'value', 'minecraft:constant', null, 'height_provider', {\r\n 'minecraft:constant': {\r\n value: Reference('vertical_anchor')\r\n },\r\n 'minecraft:uniform': {\r\n min_inclusive: Reference('vertical_anchor'),\r\n max_inclusive: Reference('vertical_anchor')\r\n },\r\n 'minecraft:biased_to_bottom': {\r\n min_inclusive: Reference('vertical_anchor'),\r\n max_inclusive: Reference('vertical_anchor'),\r\n inner: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 1 }))\r\n },\r\n 'minecraft:very_biased_to_bottom': {\r\n min_inclusive: Reference('vertical_anchor'),\r\n max_inclusive: Reference('vertical_anchor'),\r\n inner: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 1 }))\r\n },\r\n 'minecraft:trapezoid': {\r\n min_inclusive: Reference('vertical_anchor'),\r\n max_inclusive: Reference('vertical_anchor'),\r\n plateau: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true }))\r\n },\r\n 'minecraft:weighted_list': {\r\n distribution: (0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n weight: (0, core_1.NumberNode)({ integer: true }),\r\n data: Reference('int_provider'),\r\n }))\r\n }\r\n }));\r\n exports.InclusiveRange = (config) => (0, core_1.ObjectNode)({\r\n min_inclusive: (0, core_1.NumberNode)(config),\r\n max_inclusive: (0, core_1.NumberNode)(config)\r\n }, { context: 'range' });\r\n schemas.register('noise_parameters', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n firstOctave: (0, core_1.NumberNode)({ integer: true }),\r\n amplitudes: (0, core_1.ListNode)((0, core_1.NumberNode)())\r\n }, { context: 'noise_parameters' }), {\r\n default: () => ({\r\n firstOctave: -7,\r\n amplitudes: [1, 1]\r\n })\r\n }));\r\n exports.Tag = (config) => (0, core_1.ChoiceNode)([\r\n {\r\n type: 'string',\r\n node: StringNode({ validator: 'resource', params: { pool: config.resource, allowTag: true } }),\r\n change: (v) => {\r\n if (Array.isArray(v) && typeof v[0] === 'string' && !v[0].startsWith('#')) {\r\n return v[0];\r\n }\r\n return undefined;\r\n }\r\n },\r\n {\r\n type: 'list',\r\n node: (0, core_1.ListNode)(config.inlineSchema\r\n ? (0, core_1.ChoiceNode)([\r\n {\r\n type: 'string',\r\n node: StringNode({ validator: 'resource', params: { pool: config.resource } })\r\n },\r\n {\r\n type: 'object',\r\n node: Reference(config.inlineSchema)\r\n }\r\n ], { choiceContext: 'tag.list' })\r\n : StringNode({ validator: 'resource', params: { pool: config.resource } })),\r\n change: (v) => {\r\n if (typeof v === 'string' && !v.startsWith('#')) {\r\n return [v];\r\n }\r\n return [];\r\n }\r\n },\r\n ], { choiceContext: 'tag' });\r\n exports.ConditionCases = (entitySourceNode = StringNode({ enum: 'entity_source' })) => ({\r\n 'minecraft:alternative': {\r\n terms: (0, core_1.ListNode)(Reference('condition'))\r\n },\r\n 'minecraft:block_state_property': {\r\n block: StringNode({ validator: 'resource', params: { pool: 'block' } }),\r\n properties: (0, core_1.MapNode)(StringNode(), StringNode(), { validation: { validator: 'block_state_map', params: { id: ['pop', { push: 'block' }] } } })\r\n },\r\n 'minecraft:damage_source_properties': {\r\n predicate: Reference('damage_source_predicate')\r\n },\r\n 'minecraft:entity_properties': {\r\n entity: entitySourceNode,\r\n predicate: Reference('entity_predicate')\r\n },\r\n 'minecraft:entity_scores': {\r\n entity: entitySourceNode,\r\n scores: (0, core_1.MapNode)(StringNode({ validator: 'objective' }), Reference('int_range'))\r\n },\r\n 'minecraft:inverted': {\r\n term: Reference('condition')\r\n },\r\n 'minecraft:killed_by_player': {\r\n inverse: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n },\r\n 'minecraft:location_check': {\r\n offsetX: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n offsetY: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n offsetZ: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n predicate: Reference('location_predicate')\r\n },\r\n 'minecraft:match_tool': {\r\n predicate: Reference('item_predicate')\r\n },\r\n 'minecraft:random_chance': {\r\n chance: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n },\r\n 'minecraft:random_chance_with_looting': {\r\n chance: (0, core_1.NumberNode)({ min: 0, max: 1 }),\r\n looting_multiplier: (0, core_1.NumberNode)()\r\n },\r\n 'minecraft:reference': {\r\n name: StringNode({ validator: 'resource', params: { pool: '$predicate' } })\r\n },\r\n 'minecraft:table_bonus': {\r\n enchantment: StringNode({ validator: 'resource', params: { pool: 'enchantment' } }),\r\n chances: (0, core_1.ListNode)((0, core_1.NumberNode)({ min: 0, max: 1 }))\r\n },\r\n 'minecraft:time_check': {\r\n value: Reference('int_range'),\r\n period: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true }))\r\n },\r\n 'minecraft:value_check': {\r\n value: Reference('number_provider'),\r\n range: Reference('int_range')\r\n },\r\n 'minecraft:weather_check': {\r\n raining: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n thundering: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n }\r\n });\r\n exports.FunctionCases = (conditions, copySourceNode = StringNode({ enum: 'copy_source' }), entitySourceNode = StringNode({ enum: 'entity_source' })) => {\r\n const cases = {\r\n 'minecraft:apply_bonus': {\r\n enchantment: StringNode({ validator: 'resource', params: { pool: 'enchantment' } }),\r\n formula: StringNode({ validator: 'resource', params: { pool: collections.get('loot_table_apply_bonus_formula') } }),\r\n parameters: (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n bonusMultiplier: (0, core_1.Mod)((0, core_1.NumberNode)(), {\r\n enabled: path => path.pop().push('formula').get() === 'minecraft:uniform_bonus_count'\r\n }),\r\n extra: (0, core_1.Mod)((0, core_1.NumberNode)(), {\r\n enabled: path => path.pop().push('formula').get() === 'minecraft:binomial_with_bonus_count'\r\n }),\r\n probability: (0, core_1.Mod)((0, core_1.NumberNode)(), {\r\n enabled: path => path.pop().push('formula').get() === 'minecraft:binomial_with_bonus_count'\r\n })\r\n }), {\r\n enabled: path => path.push('formula').get() !== 'minecraft:ore_drops'\r\n })\r\n },\r\n 'minecraft:copy_name': {\r\n source: copySourceNode\r\n },\r\n 'minecraft:copy_nbt': {\r\n source: Reference('nbt_provider'),\r\n ops: (0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n source: StringNode({ validator: 'nbt_path', params: { category: { getter: 'copy_source', path: ['pop', 'pop', 'pop', { push: 'source' }] } } }),\r\n target: StringNode({ validator: 'nbt_path', params: { category: 'minecraft:item' } }),\r\n op: StringNode({ enum: ['replace', 'append', 'merge'] })\r\n }, { context: 'nbt_operation' }))\r\n },\r\n 'minecraft:copy_state': {\r\n block: StringNode({ validator: 'resource', params: { pool: 'block' } }),\r\n properties: (0, core_1.ListNode)(StringNode({ validator: 'block_state_key', params: { id: ['pop', 'pop', { push: 'block' }] } }))\r\n },\r\n 'minecraft:enchant_randomly': {\r\n enchantments: (0, core_1.Opt)((0, core_1.ListNode)(StringNode({ validator: 'resource', params: { pool: 'enchantment' } })))\r\n },\r\n 'minecraft:enchant_with_levels': {\r\n levels: Reference('number_provider'),\r\n treasure: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n },\r\n 'minecraft:exploration_map': {\r\n destination: (0, core_1.Opt)((0, exports.Tag)({ resource: '$worldgen/configured_structure_feature' })),\r\n decoration: (0, core_1.Opt)(StringNode({ enum: 'map_decoration' })),\r\n zoom: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n search_radius: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n skip_existing_chunks: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n },\r\n 'minecraft:fill_player_head': {\r\n entity: entitySourceNode\r\n },\r\n 'minecraft:limit_count': {\r\n limit: Reference('int_range')\r\n },\r\n 'minecraft:looting_enchant': {\r\n count: Reference('number_provider'),\r\n limit: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true }))\r\n },\r\n 'minecraft:set_attributes': {\r\n modifiers: (0, core_1.ListNode)(Reference('attribute_modifier'))\r\n },\r\n 'minecraft:set_banner_pattern': {\r\n patterns: (0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n pattern: StringNode({ enum: 'banner_pattern' }),\r\n color: StringNode({ enum: 'dye_color' })\r\n })),\r\n append: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n },\r\n 'minecraft:set_contents': {\r\n type: StringNode({ validator: 'resource', params: { pool: 'block_entity_type' } }),\r\n entries: (0, core_1.ListNode)(Reference('loot_entry'))\r\n },\r\n 'minecraft:set_count': {\r\n count: Reference('number_provider'),\r\n add: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n },\r\n 'minecraft:set_damage': {\r\n damage: Reference('number_provider'),\r\n add: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n },\r\n 'minecraft:set_enchantments': {\r\n enchantments: (0, core_1.MapNode)(StringNode({ validator: 'resource', params: { pool: 'enchantment' } }), Reference('number_provider')),\r\n add: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n },\r\n 'minecraft:set_loot_table': {\r\n type: StringNode({ validator: 'resource', params: { pool: 'block_entity_type' } }),\r\n name: StringNode({ validator: 'resource', params: { pool: '$loot_table' } }),\r\n seed: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true }))\r\n },\r\n 'minecraft:set_lore': {\r\n entity: (0, core_1.Opt)(entitySourceNode),\r\n lore: (0, core_1.ListNode)(Reference('text_component')),\r\n replace: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n },\r\n 'minecraft:set_name': {\r\n entity: (0, core_1.Opt)(entitySourceNode),\r\n name: (0, core_1.Opt)(Reference('text_component'))\r\n },\r\n 'minecraft:set_nbt': {\r\n tag: StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:item' } } })\r\n },\r\n 'minecraft:set_potion': {\r\n id: StringNode({ validator: 'resource', params: { pool: 'potion' } })\r\n },\r\n 'minecraft:set_stew_effect': {\r\n effects: (0, core_1.Opt)((0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'mob_effect' } }),\r\n duration: Reference('number_provider')\r\n })))\r\n }\r\n };\r\n const res = {};\r\n collections.get('loot_function_type').forEach(f => {\r\n res[f] = { ...cases[f], ...conditions };\r\n });\r\n return res;\r\n };\r\n exports.DimensionTypePresets = (node) => (0, core_1.ObjectOrPreset)(StringNode({ validator: 'resource', params: { pool: '$dimension_type' } }), node, {\r\n 'minecraft:overworld': exports.DefaultDimensionType,\r\n 'minecraft:the_nether': {\r\n name: 'minecraft:the_nether',\r\n ultrawarm: true,\r\n natural: false,\r\n shrunk: true,\r\n piglin_safe: true,\r\n respawn_anchor_works: true,\r\n bed_works: false,\r\n has_raids: false,\r\n has_skylight: false,\r\n has_ceiling: true,\r\n ambient_light: 0.1,\r\n fixed_time: 18000,\r\n logical_height: 128,\r\n effects: 'minecraft:the_nether',\r\n infiniburn: '#minecraft:infiniburn_nether',\r\n min_y: 0,\r\n height: 256,\r\n },\r\n 'minecraft:the_end': {\r\n name: 'minecraft:the_end',\r\n ultrawarm: false,\r\n natural: false,\r\n shrunk: false,\r\n piglin_safe: false,\r\n respawn_anchor_works: false,\r\n bed_works: false,\r\n has_raids: true,\r\n has_skylight: false,\r\n has_ceiling: false,\r\n ambient_light: 0,\r\n fixed_time: 6000,\r\n logical_height: 256,\r\n effects: 'minecraft:the_end',\r\n infiniburn: '#minecraft:infiniburn_end',\r\n min_y: 0,\r\n height: 256,\r\n }\r\n });\r\n exports.NoiseSettingsPresets = (node) => (0, core_1.ObjectOrPreset)(StringNode({ validator: 'resource', params: { pool: '$worldgen/noise_settings' } }), node, {\r\n 'minecraft:overworld': exports.DefaultNoiseSettings,\r\n 'minecraft:nether': {\r\n sea_level: 32,\r\n ore_veins_enabled: false,\r\n disable_mob_generation: false,\r\n aquifers_enabled: false,\r\n legacy_random_source: true,\r\n default_block: {\r\n Name: 'minecraft:netherrack'\r\n },\r\n default_fluid: {\r\n Properties: {\r\n level: '0'\r\n },\r\n Name: 'minecraft:lava'\r\n },\r\n noise: {\r\n min_y: 0,\r\n height: 128,\r\n size_horizontal: 1,\r\n size_vertical: 2,\r\n top_slide: {\r\n target: 0.9375,\r\n size: 3,\r\n offset: 0\r\n },\r\n bottom_slide: {\r\n target: 2.5,\r\n size: 4,\r\n offset: -1\r\n },\r\n sampling: {\r\n xz_scale: 1.0,\r\n y_scale: 3.0,\r\n xz_factor: 80.0,\r\n y_factor: 60.0\r\n },\r\n terrain_shaper: {\r\n offset: 0,\r\n factor: 0,\r\n jaggedness: 0\r\n }\r\n },\r\n noise_router: {\r\n barrier: 0,\r\n fluid_level_floodedness: 0,\r\n fluid_level_spread: 0,\r\n lava: 0,\r\n temperature: 0,\r\n vegetation: 0,\r\n continents: 0,\r\n erosion: 0,\r\n depth: 0,\r\n ridges: 0,\r\n initial_density_without_jaggedness: 0,\r\n final_density: {\r\n type: 'minecraft:interpolated',\r\n argument: 'minecraft:overworld/base_3d_noise'\r\n },\r\n vein_toggle: 0,\r\n vein_ridged: 0,\r\n vein_gap: 0,\r\n },\r\n surface_rule: {\r\n type: 'minecraft:sequence',\r\n sequence: []\r\n }\r\n },\r\n 'minecraft:end': {\r\n sea_level: 0,\r\n ore_veins_enabled: false,\r\n disable_mob_generation: false,\r\n aquifers_enabled: false,\r\n legacy_random_source: true,\r\n default_block: {\r\n Name: 'minecraft:end_stone'\r\n },\r\n default_fluid: {\r\n Name: 'minecraft:air'\r\n },\r\n noise: {\r\n min_y: 0,\r\n height: 128,\r\n size_horizontal: 2,\r\n size_vertical: 1,\r\n top_slide: {\r\n target: -23.4375,\r\n size: 64,\r\n offset: -46\r\n },\r\n bottom_slide: {\r\n target: -0.234375,\r\n size: 7,\r\n offset: 1\r\n },\r\n sampling: {\r\n xz_scale: 2.0,\r\n y_scale: 1.0,\r\n xz_factor: 80.0,\r\n y_factor: 160.0\r\n },\r\n terrain_shaper: {\r\n offset: 0,\r\n factor: 1,\r\n jaggedness: 0\r\n }\r\n },\r\n noise_router: {\r\n barrier: 0,\r\n fluid_level_floodedness: 0,\r\n fluid_level_spread: 0,\r\n lava: 0,\r\n temperature: 0,\r\n vegetation: 0,\r\n continents: 0,\r\n erosion: 0,\r\n depth: 0,\r\n ridges: 0,\r\n initial_density_without_jaggedness: 0,\r\n final_density: {\r\n type: 'minecraft:interpolated',\r\n argument: 'minecraft:overworld/base_3d_noise'\r\n },\r\n vein_toggle: 0,\r\n vein_ridged: 0,\r\n vein_gap: 0,\r\n },\r\n surface_rule: {\r\n type: 'minecraft:sequence',\r\n sequence: []\r\n }\r\n },\r\n 'minecraft:amplified': {\r\n sea_level: 63,\r\n ore_veins_enabled: true,\r\n disable_mob_generation: false,\r\n aquifers_enabled: true,\r\n legacy_random_source: false,\r\n default_block: {\r\n Name: 'minecraft:stone'\r\n },\r\n default_fluid: {\r\n Properties: {\r\n level: '0'\r\n },\r\n Name: 'minecraft:water'\r\n },\r\n noise: {\r\n min_y: -64,\r\n height: 384,\r\n size_horizontal: 1,\r\n size_vertical: 2,\r\n top_slide: {\r\n target: -0.078125,\r\n size: 2,\r\n offset: 8\r\n },\r\n bottom_slide: {\r\n target: 0.1171875,\r\n size: 3,\r\n offset: 0\r\n },\r\n sampling: {\r\n xz_scale: 0.9999999814507745,\r\n y_scale: 0.9999999814507745,\r\n xz_factor: 80,\r\n y_factor: 160\r\n },\r\n terrain_shaper: {\r\n offset: 0,\r\n factor: 0,\r\n jaggedness: 0\r\n }\r\n },\r\n noise_router: {\r\n barrier: 0,\r\n fluid_level_floodedness: 0,\r\n fluid_level_spread: 0,\r\n lava: 0,\r\n temperature: 0,\r\n vegetation: 0,\r\n continents: 0,\r\n erosion: 0,\r\n depth: 0,\r\n ridges: 0,\r\n initial_density_without_jaggedness: 0,\r\n final_density: {\r\n type: 'minecraft:interpolated',\r\n argument: 'minecraft:overworld/base_3d_noise'\r\n },\r\n vein_toggle: 0,\r\n vein_ridged: 0,\r\n vein_gap: 0,\r\n },\r\n surface_rule: {\r\n type: 'minecraft:sequence',\r\n sequence: []\r\n },\r\n },\r\n 'minecraft:caves': {\r\n sea_level: 32,\r\n ore_veins_enabled: false,\r\n disable_mob_generation: false,\r\n aquifers_enabled: false,\r\n legacy_random_source: true,\r\n default_block: {\r\n Name: 'minecraft:stone'\r\n },\r\n default_fluid: {\r\n Properties: {\r\n level: '0'\r\n },\r\n Name: 'minecraft:water'\r\n },\r\n noise: {\r\n min_y: 0,\r\n height: 128,\r\n size_horizontal: 1,\r\n size_vertical: 2,\r\n top_slide: {\r\n target: 0.9375,\r\n size: 3,\r\n offset: 0\r\n },\r\n bottom_slide: {\r\n target: 2.5,\r\n size: 4,\r\n offset: -1\r\n },\r\n sampling: {\r\n xz_scale: 1.0,\r\n y_scale: 3.0,\r\n xz_factor: 80.0,\r\n y_factor: 60.0\r\n },\r\n terrain_shaper: {\r\n offset: 0,\r\n factor: 0,\r\n jaggedness: 0\r\n }\r\n },\r\n noise_router: {\r\n barrier: 0,\r\n fluid_level_floodedness: 0,\r\n fluid_level_spread: 0,\r\n lava: 0,\r\n temperature: 0,\r\n vegetation: 0,\r\n continents: 0,\r\n erosion: 0,\r\n depth: 0,\r\n ridges: 0,\r\n initial_density_without_jaggedness: 0,\r\n final_density: {\r\n type: 'minecraft:interpolated',\r\n argument: 'minecraft:overworld/base_3d_noise'\r\n },\r\n vein_toggle: 0,\r\n vein_ridged: 0,\r\n vein_gap: 0,\r\n },\r\n surface_rule: {\r\n type: 'minecraft:sequence',\r\n sequence: []\r\n }\r\n },\r\n 'minecraft:floating_islands': {\r\n sea_level: 0,\r\n ore_veins_enabled: false,\r\n disable_mob_generation: false,\r\n aquifers_enabled: false,\r\n legacy_random_source: true,\r\n default_block: {\r\n Name: 'minecraft:stone'\r\n },\r\n default_fluid: {\r\n Properties: {\r\n level: '0'\r\n },\r\n Name: 'minecraft:water'\r\n },\r\n noise: {\r\n min_y: 0,\r\n height: 128,\r\n size_horizontal: 2,\r\n size_vertical: 1,\r\n top_slide: {\r\n target: -23.4375,\r\n size: 64,\r\n offset: -46\r\n },\r\n bottom_slide: {\r\n target: -0.234375,\r\n size: 7,\r\n offset: 1\r\n },\r\n sampling: {\r\n xz_scale: 2.0,\r\n y_scale: 1.0,\r\n xz_factor: 80.0,\r\n y_factor: 160.0\r\n },\r\n terrain_shaper: {\r\n offset: 0,\r\n factor: 1,\r\n jaggedness: 0\r\n }\r\n },\r\n noise_router: {\r\n barrier: 0,\r\n fluid_level_floodedness: 0,\r\n fluid_level_spread: 0,\r\n lava: 0,\r\n temperature: 0,\r\n vegetation: 0,\r\n continents: 0,\r\n erosion: 0,\r\n depth: 0,\r\n ridges: 0,\r\n initial_density_without_jaggedness: 0,\r\n final_density: {\r\n type: 'minecraft:interpolated',\r\n argument: 'minecraft:overworld/base_3d_noise'\r\n },\r\n vein_toggle: 0,\r\n vein_ridged: 0,\r\n vein_gap: 0,\r\n },\r\n surface_rule: {\r\n type: 'minecraft:sequence',\r\n sequence: []\r\n }\r\n }\r\n });\r\n}\r\nexports.initCommonSchemas = initCommonSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initConditionSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"./Common\");\r\nfunction initConditionSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('predicate', (0, core_1.ObjectOrList)(Reference('condition'), { choiceContext: 'condition' }));\r\n schemas.register('condition', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n condition: StringNode({ validator: 'resource', params: { pool: 'loot_condition_type' } }),\r\n [core_1.Switch]: [{ push: 'condition' }],\r\n [core_1.Case]: (0, Common_1.ConditionCases)()\r\n }, { category: 'predicate', context: 'condition' }), {\r\n default: () => ({\r\n condition: 'minecraft:entity_properties',\r\n entity: 'this'\r\n })\r\n }));\r\n}\r\nexports.initConditionSchemas = initConditionSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initDimensionSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"./Common\");\r\nfunction initDimensionSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const StructureSet = (0, core_1.ChoiceNode)([\r\n {\r\n type: 'string',\r\n priority: 1,\r\n node: StringNode({ validator: 'resource', params: { pool: '$worldgen/structure_set' } }),\r\n change: () => undefined\r\n },\r\n {\r\n type: 'object',\r\n node: Reference('structure_set'),\r\n change: () => ({})\r\n }\r\n ], { choiceContext: 'structure_set' });\r\n schemas.register('dimension', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n type: (0, Common_1.DimensionTypePresets)(Reference('dimension_type')),\r\n generator: (0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/chunk_generator' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:noise': {\r\n seed: (0, core_1.NumberNode)({ integer: true }),\r\n settings: (0, Common_1.NoiseSettingsPresets)(Reference('noise_settings')),\r\n biome_source: (0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/biome_source' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:fixed': {\r\n biome: StringNode({ validator: 'resource', params: { pool: '$worldgen/biome' } })\r\n },\r\n 'minecraft:multi_noise': {\r\n preset: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: ['minecraft:overworld', 'minecraft:nether'] } })),\r\n biomes: (0, core_1.Mod)((0, core_1.ListNode)(Reference('generator_biome')), {\r\n enabled: path => path.push('preset').get() === undefined,\r\n default: () => [{\r\n biome: 'minecraft:plains'\r\n }]\r\n })\r\n },\r\n 'minecraft:checkerboard': {\r\n scale: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 0, max: 62 })),\r\n biomes: (0, Common_1.Tag)({ resource: '$worldgen/biome' })\r\n },\r\n 'minecraft:the_end': {\r\n seed: (0, core_1.NumberNode)({ integer: true })\r\n }\r\n }\r\n }, { category: 'predicate', disableSwitchContext: true })\r\n },\r\n 'minecraft:flat': {\r\n settings: (0, core_1.ObjectNode)({\r\n biome: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$worldgen/biome' } })),\r\n lakes: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n features: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n layers: (0, core_1.ListNode)(Reference('generator_layer')),\r\n structure_overrides: (0, core_1.ListNode)(StructureSet)\r\n })\r\n }\r\n }\r\n }, { disableSwitchContext: true })\r\n }, { category: 'pool', context: 'dimension' }), {\r\n default: () => {\r\n const seed = Math.floor(Math.random() * (4294967296)) - 2147483648;\r\n return {\r\n type: 'minecraft:overworld',\r\n generator: {\r\n type: 'minecraft:noise',\r\n seed,\r\n biome_source: {\r\n type: 'minecraft:fixed',\r\n seed,\r\n biome: 'minecraft:plains'\r\n },\r\n settings: 'minecraft:overworld'\r\n }\r\n };\r\n }\r\n }));\r\n const ClimateParameter = (0, core_1.ChoiceNode)([\r\n {\r\n type: 'number',\r\n node: (0, core_1.NumberNode)({ min: -2, max: 2 }),\r\n change: (v) => { var _a; return (_a = v[0]) !== null && _a !== void 0 ? _a : 0; }\r\n },\r\n {\r\n type: 'list',\r\n node: (0, core_1.ListNode)((0, core_1.NumberNode)({ min: -2, max: 2 }), { minLength: 2, maxLength: 2 }),\r\n change: (v) => [v !== null && v !== void 0 ? v : 0, v !== null && v !== void 0 ? v : 0]\r\n }\r\n ]);\r\n schemas.register('generator_biome', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n biome: StringNode({ validator: 'resource', params: { pool: '$worldgen/biome' } }),\r\n parameters: (0, core_1.ObjectNode)({\r\n temperature: ClimateParameter,\r\n humidity: ClimateParameter,\r\n continentalness: ClimateParameter,\r\n erosion: ClimateParameter,\r\n weirdness: ClimateParameter,\r\n depth: ClimateParameter,\r\n offset: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n })\r\n }, { context: 'generator_biome' }), {\r\n default: () => ({\r\n biome: 'minecraft:plains',\r\n parameters: {\r\n altitude: 0,\r\n temperature: 0,\r\n humidity: 0,\r\n weirdness: 0,\r\n offset: 0\r\n }\r\n })\r\n }));\r\n}\r\nexports.initDimensionSchemas = initDimensionSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initDimensionTypeSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"./Common\");\r\nfunction initDimensionTypeSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('dimension_type', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n ultrawarm: (0, core_1.BooleanNode)(),\r\n natural: (0, core_1.BooleanNode)(),\r\n piglin_safe: (0, core_1.BooleanNode)(),\r\n respawn_anchor_works: (0, core_1.BooleanNode)(),\r\n bed_works: (0, core_1.BooleanNode)(),\r\n has_raids: (0, core_1.BooleanNode)(),\r\n has_skylight: (0, core_1.BooleanNode)(),\r\n has_ceiling: (0, core_1.BooleanNode)(),\r\n coordinate_scale: (0, core_1.NumberNode)({ min: 0.00001, max: 30000000 }),\r\n ambient_light: (0, core_1.NumberNode)(),\r\n fixed_time: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n logical_height: (0, core_1.NumberNode)({ integer: true, min: 0, max: 4064 }),\r\n effects: (0, core_1.Opt)(StringNode({ enum: ['minecraft:overworld', 'minecraft:the_nether', 'minecraft:the_end'] })),\r\n infiniburn: StringNode({ validator: 'resource', params: { pool: 'block', requireTag: true } }),\r\n min_y: (0, core_1.NumberNode)({ integer: true, min: -2032, max: 2031 }),\r\n height: (0, core_1.NumberNode)({ integer: true, min: 16, max: 4064 })\r\n }, { context: 'dimension_type' }), node => ({\r\n default: () => Common_1.DefaultDimensionType,\r\n validate: (path, value, errors, options) => {\r\n value = node.validate(path, value, errors, options);\r\n if ((value === null || value === void 0 ? void 0 : value.min_y) + (value === null || value === void 0 ? void 0 : value.height) > 2032) {\r\n errors.add(path.push('height'), 'error.min_y_plus_height', 2032);\r\n }\r\n if ((value === null || value === void 0 ? void 0 : value.logical_height) > (value === null || value === void 0 ? void 0 : value.height)) {\r\n errors.add(path.push('logical_height'), 'error.logical_height');\r\n }\r\n if ((value === null || value === void 0 ? void 0 : value.height) % 16 !== 0) {\r\n errors.add(path.push('height'), 'error.height_multiple', 16);\r\n }\r\n if ((value === null || value === void 0 ? void 0 : value.min_y) % 16 !== 0) {\r\n errors.add(path.push('min_y'), 'error.min_y_multiple', 16);\r\n }\r\n return value;\r\n }\r\n })));\r\n}\r\nexports.initDimensionTypeSchemas = initDimensionTypeSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initItemModifierSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"./Common\");\r\nfunction initItemModifierSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('item_modifier', (0, core_1.ObjectOrList)(Reference('function'), { choiceContext: 'function' }));\r\n const conditions = {\r\n conditions: (0, core_1.Opt)((0, core_1.ListNode)(Reference('condition')))\r\n };\r\n schemas.register('function', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n function: StringNode({ validator: 'resource', params: { pool: 'loot_function_type' } }),\r\n [core_1.Switch]: [{ push: 'function' }],\r\n [core_1.Case]: (0, Common_1.FunctionCases)(conditions)\r\n }, { category: 'function', context: 'function' }), {\r\n default: () => [{\r\n function: 'minecraft:set_count',\r\n count: 1\r\n }]\r\n }));\r\n}\r\nexports.initItemModifierSchemas = initItemModifierSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.LootFunctions = exports.LootConditions = exports.LootCopySources = exports.LootEntitySources = exports.LootTableTypes = void 0;\r\nexports.LootTableTypes = new Map([\r\n ['minecraft:advancement_entity', { requires: [7 /* Origin */, 8 /* ThisEntity */], allows: [] }],\r\n ['minecraft:advancement_reward', { requires: [7 /* Origin */, 8 /* ThisEntity */], allows: [] }],\r\n ['minecraft:barter', { requires: [8 /* ThisEntity */], allows: [] }],\r\n ['minecraft:block', { requires: [1 /* BlockState */, 7 /* Origin */, 9 /* Tool */], allows: [0 /* BlockEntity */, 4 /* ExplosionRadius */, 8 /* ThisEntity */] }],\r\n ['minecraft:chest', { requires: [7 /* Origin */], allows: [8 /* ThisEntity */] }],\r\n ['minecraft:command', { requires: [7 /* Origin */], allows: [8 /* ThisEntity */] }],\r\n ['minecraft:empty', { requires: [], allows: [] }],\r\n ['minecraft:entity', { requires: [2 /* DamageSource */, 7 /* Origin */, 8 /* ThisEntity */], allows: [3 /* DirectKillerEntity */, 5 /* KillerEntity */, 6 /* LastDamagePlayer */] }],\r\n ['minecraft:fishing', { requires: [7 /* Origin */, 9 /* Tool */], allows: [8 /* ThisEntity */] }],\r\n ['minecraft:generic', { requires: [2 /* DamageSource */, 0 /* BlockEntity */, 1 /* BlockState */, 3 /* DirectKillerEntity */, 4 /* ExplosionRadius */, 5 /* KillerEntity */, 6 /* LastDamagePlayer */, 7 /* Origin */, 8 /* ThisEntity */, 9 /* Tool */], allows: [] }],\r\n ['minecraft:gift', { requires: [7 /* Origin */, 8 /* ThisEntity */], allows: [] }],\r\n ['minecraft:selector', { requires: [7 /* Origin */], allows: [8 /* ThisEntity */] }]\r\n]);\r\n/**\r\n * A map from loot entity sources to an array of their required context.\r\n */\r\nexports.LootEntitySources = new Map([\r\n ['direct_killer', [3 /* DirectKillerEntity */]],\r\n ['killer', [5 /* KillerEntity */]],\r\n ['killer_player', [5 /* KillerEntity */]],\r\n ['this', [8 /* ThisEntity */]]\r\n]);\r\n/**\r\n * A map from loot copy sources to an array of their required context.\r\n */\r\nexports.LootCopySources = new Map([\r\n ['block_entity', [0 /* BlockEntity */]],\r\n ['killer', [5 /* KillerEntity */]],\r\n ['killer_player', [5 /* KillerEntity */]],\r\n ['this', [8 /* ThisEntity */]]\r\n]);\r\n/**\r\n * A map from loot condition IDs to an array of their required context.\r\n */\r\nexports.LootConditions = new Map([\r\n ['minecraft:alternative', []],\r\n ['minecraft:block_state_property', [1 /* BlockState */]],\r\n ['minecraft:damage_source_properties', [2 /* DamageSource */]],\r\n ['minecraft:entity_properties', [7 /* Origin */]],\r\n ['minecraft:entity_scores', []],\r\n ['minecraft:inverted', []],\r\n ['minecraft:killed_by_player', [6 /* LastDamagePlayer */]],\r\n ['minecraft:location_check', []],\r\n ['minecraft:match_tool', [9 /* Tool */]],\r\n ['minecraft:random_chance', []],\r\n ['minecraft:random_chance_with_looting', [5 /* KillerEntity */]],\r\n ['minecraft:reference', []],\r\n ['minecraft:survives_explosion', [4 /* ExplosionRadius */]],\r\n ['minecraft:table_bonus', [9 /* Tool */]],\r\n ['minecraft:time_check', []],\r\n ['minecraft:weather_check', []]\r\n]);\r\n/**\r\n * A map from loot function IDs to an array of their required context.\r\n */\r\nexports.LootFunctions = new Map([\r\n ['minecraft:apply_bonus', [9 /* Tool */]],\r\n ['minecraft:copy_name', []],\r\n ['minecraft:copy_nbt', []],\r\n ['minecraft:copy_state', [1 /* BlockState */]],\r\n ['minecraft:enchant_randomly', []],\r\n ['minecraft:enchant_with_levels', []],\r\n ['minecraft:exploration_map', [7 /* Origin */]],\r\n ['minecraft:explosion_decay', []],\r\n ['minecraft:fill_player_head', []],\r\n ['minecraft:furnace_smelt', []],\r\n ['minecraft:limit_count', []],\r\n ['minecraft:looting_enchant', [5 /* KillerEntity */]],\r\n ['minecraft:set_attributes', []],\r\n ['minecraft:set_banner_pattern', []],\r\n ['minecraft:set_contents', []],\r\n ['minecraft:set_count', []],\r\n ['minecraft:set_damage', []],\r\n ['minecraft:set_loot_table', []],\r\n ['minecraft:set_lore', []],\r\n ['minecraft:set_name', []],\r\n ['minecraft:set_nbt', []],\r\n ['minecraft:set_stew_effect', []]\r\n]);\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initLootTableSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst LootContext_1 = require(\"../LootContext\");\r\nconst Common_1 = require(\"./Common\");\r\nfunction initLootTableSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const conditions = {\r\n conditions: (0, core_1.Opt)((0, core_1.ListNode)(Reference('loot_condition')))\r\n };\r\n const functionsAndConditions = {\r\n functions: (0, core_1.Opt)((0, core_1.ListNode)(Reference('loot_function'))),\r\n ...conditions\r\n };\r\n function compileSwitchNode(contextMap, collectionID, getNode) {\r\n const cases = [];\r\n const getAvailableOptions = (providedContext) => collections\r\n .get(collectionID)\r\n .filter(t => {\r\n var _a;\r\n const requiredContext = (_a = contextMap.get(t)) !== null && _a !== void 0 ? _a : [];\r\n return requiredContext.every(c => providedContext.includes(c));\r\n });\r\n for (const [tableType, { allows, requires }] of LootContext_1.LootTableTypes) {\r\n const providedContext = [...allows, ...requires];\r\n cases.push({\r\n match: path => path.getModel().get(new core_1.Path(['type'])) === tableType,\r\n node: getNode(getAvailableOptions(providedContext))\r\n });\r\n }\r\n cases.push({ match: _ => true, node: getNode(collectionID) });\r\n return (0, core_1.SwitchNode)(cases);\r\n }\r\n const conditionIDSwtichNode = compileSwitchNode(LootContext_1.LootConditions, 'loot_condition_type', type => StringNode({ validator: 'resource', params: { pool: type instanceof Array ? type : `loot_condition_type` } }));\r\n const functionIDSwtichNode = compileSwitchNode(LootContext_1.LootFunctions, 'loot_function_type', type => StringNode({ validator: 'resource', params: { pool: type instanceof Array ? type : `loot_function_type` } }));\r\n const entitySourceSwtichNode = compileSwitchNode(LootContext_1.LootEntitySources, 'entity_source', type => StringNode({ enum: type }));\r\n const copySourceSwtichNode = compileSwitchNode(LootContext_1.LootCopySources, 'copy_source', type => StringNode({ enum: type }));\r\n schemas.register('loot_table', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n type: (0, core_1.Opt)(StringNode({ validator: \"resource\", params: { pool: collections.get('loot_context_type') } })),\r\n pools: (0, core_1.Opt)((0, core_1.ListNode)((0, core_1.Mod)((0, core_1.ObjectNode)({\r\n rolls: Reference('number_provider'),\r\n bonus_rolls: (0, core_1.Opt)(Reference('number_provider')),\r\n entries: (0, core_1.ListNode)(Reference('loot_entry')),\r\n ...functionsAndConditions\r\n }, { category: 'pool', context: 'loot_pool' }), {\r\n default: () => ({\r\n rolls: 1,\r\n entries: [{\r\n type: 'minecraft:item',\r\n name: 'minecraft:stone'\r\n }]\r\n })\r\n }))),\r\n functions: (0, core_1.Opt)((0, core_1.ListNode)(Reference('loot_function')))\r\n }, { context: 'loot_table' }), {\r\n default: () => ({\r\n pools: [{\r\n rolls: 1,\r\n entries: [{\r\n type: 'minecraft:item',\r\n name: 'minecraft:stone'\r\n }]\r\n }]\r\n })\r\n }));\r\n const weightMod = {\r\n enabled: path => {\r\n var _a;\r\n return ((_a = path.pop().get()) === null || _a === void 0 ? void 0 : _a.length) > 1\r\n && !['minecraft:alternatives', 'minecraft:group', 'minecraft:sequence'].includes(path.push('type').get());\r\n }\r\n };\r\n schemas.register('loot_entry', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'loot_pool_entry_type' } }),\r\n weight: (0, core_1.Opt)((0, core_1.Mod)((0, core_1.NumberNode)({ integer: true, min: 1 }), weightMod)),\r\n quality: (0, core_1.Opt)((0, core_1.Mod)((0, core_1.NumberNode)({ integer: true }), weightMod)),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:alternatives': {\r\n children: (0, core_1.ListNode)(Reference('loot_entry')),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:dynamic': {\r\n name: StringNode(),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:group': {\r\n children: (0, core_1.ListNode)(Reference('loot_entry')),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:item': {\r\n name: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:loot_table': {\r\n name: StringNode({ validator: 'resource', params: { pool: '$loot_table' } }),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:sequence': {\r\n children: (0, core_1.ListNode)(Reference('loot_entry')),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:tag': {\r\n name: StringNode({ validator: 'resource', params: { pool: '$tag/item' } }),\r\n expand: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n ...functionsAndConditions\r\n }\r\n }\r\n }, { context: 'loot_entry' }), {\r\n default: () => ({\r\n type: 'minecraft:item',\r\n name: 'minecraft:stone'\r\n })\r\n }));\r\n schemas.register('loot_function', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n function: functionIDSwtichNode,\r\n [core_1.Switch]: [{ push: 'function' }],\r\n [core_1.Case]: (0, Common_1.FunctionCases)(conditions, copySourceSwtichNode, entitySourceSwtichNode)\r\n }, { category: 'function', context: 'function' }), {\r\n default: () => ({\r\n function: 'minecraft:set_count',\r\n count: 1\r\n })\r\n }));\r\n schemas.register('loot_condition', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n condition: conditionIDSwtichNode,\r\n [core_1.Switch]: [{ push: 'condition' }],\r\n [core_1.Case]: (0, Common_1.ConditionCases)(entitySourceSwtichNode)\r\n }, { category: 'predicate', context: 'condition' }), {\r\n default: () => ({\r\n condition: 'minecraft:random_chance',\r\n chance: 0.5\r\n })\r\n }));\r\n schemas.register('attribute_modifier', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n attribute: StringNode({ validator: 'resource', params: { pool: 'attribute' } }),\r\n name: StringNode(),\r\n amount: Reference('number_provider'),\r\n operation: StringNode({ enum: ['addition', 'multiply_base', 'multiply_total'] }),\r\n slot: (0, core_1.StringOrList)(StringNode({ enum: 'slot' }))\r\n }, { context: 'attribute_modifier' }), {\r\n default: () => ({\r\n attribute: 'minecraft:generic.max_health',\r\n name: '',\r\n amount: 1,\r\n operation: 'addition',\r\n slot: 'mainhand'\r\n })\r\n }));\r\n}\r\nexports.initLootTableSchemas = initLootTableSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initPackMcmetaSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst CURRENT_PACK_FORMAT = 9;\r\nfunction initPackMcmetaSchemas(schemas, _) {\r\n const getSimpleString = (jsonText) => { var _a, _b; return jsonText instanceof Array ? getSimpleString(jsonText[0]) : (_b = (_a = jsonText === null || jsonText === void 0 ? void 0 : jsonText.text) !== null && _a !== void 0 ? _a : jsonText === null || jsonText === void 0 ? void 0 : jsonText.toString()) !== null && _b !== void 0 ? _b : ''; };\r\n schemas.register('pack_mcmeta', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n pack: (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n pack_format: (0, core_1.Mod)((0, core_1.NumberNode)({ integer: true, min: CURRENT_PACK_FORMAT, max: CURRENT_PACK_FORMAT }), {\r\n default: () => CURRENT_PACK_FORMAT,\r\n canUpdate: (_p, v) => v !== CURRENT_PACK_FORMAT,\r\n update: () => [{ name: 'pack_format', params: [CURRENT_PACK_FORMAT], newValue: CURRENT_PACK_FORMAT }]\r\n }),\r\n description: (0, core_1.Reference)(schemas, 'text_component')\r\n }), {\r\n default: () => ({\r\n pack_format: CURRENT_PACK_FORMAT,\r\n description: ''\r\n })\r\n })\r\n }), {\r\n default: () => ({\r\n pack: {\r\n pack_format: CURRENT_PACK_FORMAT,\r\n description: ''\r\n }\r\n })\r\n }));\r\n}\r\nexports.initPackMcmetaSchemas = initPackMcmetaSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initPredicatesSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initPredicatesSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const StateChoice = (0, core_1.ChoiceNode)([\r\n {\r\n type: 'string',\r\n node: StringNode(),\r\n change: v => (typeof v === 'boolean' || typeof v === 'number') ? v.toString() : ''\r\n },\r\n {\r\n type: 'number',\r\n node: (0, core_1.NumberNode)(),\r\n change: v => (typeof v === 'string') ? parseInt(v) : 0\r\n },\r\n {\r\n type: 'object',\r\n node: (0, core_1.ObjectNode)({\r\n min: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n max: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true }))\r\n }),\r\n change: v => (typeof v === 'number') ? ({ min: v, max: v }) : ({})\r\n },\r\n {\r\n type: 'boolean',\r\n node: (0, core_1.BooleanNode)(),\r\n change: v => v === 'true' || v === 1\r\n }\r\n ]);\r\n schemas.register('item_predicate', (0, core_1.ObjectNode)({\r\n items: (0, core_1.Opt)((0, core_1.ListNode)(StringNode({ validator: 'resource', params: { pool: 'item' } }))),\r\n tag: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$tag/item' } })),\r\n count: Reference('int_bounds'),\r\n durability: Reference('int_bounds'),\r\n potion: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: 'potion' } })),\r\n nbt: (0, core_1.Opt)(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:item', id: ['pop', { push: 'item' }] } } })),\r\n enchantments: (0, core_1.Opt)((0, core_1.ListNode)(Reference('enchantment_predicate')))\r\n }, { context: 'item' }));\r\n schemas.register('enchantment_predicate', (0, core_1.ObjectNode)({\r\n enchantment: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: 'enchantment' } })),\r\n levels: Reference('int_bounds')\r\n }, { context: 'enchantment' }));\r\n schemas.register('block_predicate', (0, core_1.ObjectNode)({\r\n blocks: (0, core_1.Opt)((0, core_1.ListNode)(StringNode({ validator: 'resource', params: { pool: 'block' } }))),\r\n tag: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$tag/block' } })),\r\n nbt: (0, core_1.Opt)(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:block', id: ['pop', { push: 'block' }] } } })),\r\n state: (0, core_1.Opt)((0, core_1.MapNode)(StringNode(), StateChoice, { validation: { validator: 'block_state_map', params: { id: ['pop', { push: 'block' }] } } }))\r\n }, { context: 'block' }));\r\n schemas.register('fluid_predicate', (0, core_1.ObjectNode)({\r\n fluid: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: 'fluid' } })),\r\n tag: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$tag/fluid' } })),\r\n state: (0, core_1.Opt)((0, core_1.MapNode)(StringNode(), StateChoice))\r\n }, { context: 'fluid' }));\r\n schemas.register('location_predicate', (0, core_1.ObjectNode)({\r\n position: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n x: Reference('float_bounds'),\r\n y: Reference('float_bounds'),\r\n z: Reference('float_bounds')\r\n })),\r\n biome: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$worldgen/biome' } })),\r\n feature: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$worldgen/configured_structure_feature' } })),\r\n dimension: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$dimension' } })),\r\n light: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n light: Reference('int_bounds')\r\n })),\r\n smokey: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n block: (0, core_1.Opt)(Reference('block_predicate')),\r\n fluid: (0, core_1.Opt)(Reference('fluid_predicate'))\r\n }, { context: 'location' }));\r\n schemas.register('statistic_predicate', (0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'stat_type' } }),\r\n stat: StringNode(),\r\n value: Reference('int_bounds'),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:mined': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'block' } })\r\n },\r\n 'minecraft:crafted': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'item' } })\r\n },\r\n 'minecraft:used': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'item' } })\r\n },\r\n 'minecraft:broken': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'item' } })\r\n },\r\n 'minecraft:picked_up': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'item' } })\r\n },\r\n 'minecraft:dropped': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'item' } })\r\n },\r\n 'minecraft:killed': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'entity_type' } })\r\n },\r\n 'minecraft:killed_by': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'entity_type' } })\r\n },\r\n 'minecraft:custom': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'custom_stat' } })\r\n }\r\n }\r\n }));\r\n schemas.register('player_predicate', (0, core_1.ObjectNode)({\r\n gamemode: (0, core_1.Opt)(StringNode({ enum: 'gamemode' })),\r\n level: Reference('int_bounds'),\r\n advancements: (0, core_1.Opt)((0, core_1.MapNode)(StringNode({ validator: 'resource', params: { pool: '$advancement' } }), (0, core_1.ChoiceNode)([\r\n { type: 'boolean', node: (0, core_1.BooleanNode)(), change: _ => true },\r\n {\r\n type: 'object', node: (0, core_1.MapNode)(StringNode(), (0, core_1.BooleanNode)())\r\n }\r\n ]))),\r\n recipes: (0, core_1.Opt)((0, core_1.MapNode)(StringNode({ validator: 'resource', params: { pool: '$recipe' } }), (0, core_1.BooleanNode)())),\r\n stats: (0, core_1.Opt)((0, core_1.ListNode)(Reference('statistic_predicate'))),\r\n looking_at: (0, core_1.Opt)(Reference('entity_predicate'))\r\n }, { context: 'player' }));\r\n schemas.register('status_effect_predicate', (0, core_1.ObjectNode)({\r\n amplifier: Reference('int_bounds'),\r\n duration: Reference('int_bounds'),\r\n ambient: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n visible: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n }, { context: 'status_effect' }));\r\n schemas.register('distance_predicate', (0, core_1.ObjectNode)({\r\n x: Reference('float_bounds'),\r\n y: Reference('float_bounds'),\r\n z: Reference('float_bounds'),\r\n absolute: Reference('float_bounds'),\r\n horizontal: Reference('float_bounds')\r\n }, { context: 'distance' }));\r\n schemas.register('entity_predicate', (0, core_1.ObjectNode)({\r\n type: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: 'entity_type', allowTag: true } })),\r\n nbt: (0, core_1.Opt)(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:entity', id: ['pop', { push: 'type' }] } } })),\r\n team: (0, core_1.Opt)(StringNode({ validator: 'team' })),\r\n location: (0, core_1.Opt)(Reference('location_predicate')),\r\n stepping_on: (0, core_1.Opt)(Reference('location_predicate')),\r\n distance: (0, core_1.Opt)(Reference('distance_predicate')),\r\n flags: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n is_on_fire: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n is_sneaking: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n is_sprinting: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n is_swimming: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n is_baby: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n })),\r\n equipment: (0, core_1.Opt)((0, core_1.MapNode)(StringNode({ enum: 'slot' }), Reference('item_predicate'))),\r\n player: (0, core_1.Opt)(Reference('player_predicate')),\r\n vehicle: (0, core_1.Opt)(Reference('entity_predicate')),\r\n passenger: (0, core_1.Opt)(Reference('entity_predicate')),\r\n targeted_entity: (0, core_1.Opt)(Reference('entity_predicate')),\r\n lightning_bolt: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n blocks_set_on_fire: (0, core_1.Opt)(Reference('int_bounds')),\r\n entity_struck: (0, core_1.Opt)(Reference('entity_predicate'))\r\n })),\r\n fishing_hook: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n in_open_water: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n })),\r\n catType: (0, core_1.Opt)(StringNode({ enum: 'cat_texture' })),\r\n effects: (0, core_1.Opt)((0, core_1.MapNode)(StringNode({ validator: 'resource', params: { pool: 'mob_effect' } }), Reference('status_effect_predicate')))\r\n }, { context: 'entity' }));\r\n schemas.register('damage_source_predicate', (0, core_1.ObjectNode)({\r\n is_explosion: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n is_fire: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n is_magic: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n is_projectile: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n is_lightning: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n bypasses_armor: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n bypasses_invulnerability: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n bypasses_magic: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n source_entity: (0, core_1.Opt)(Reference('entity_predicate')),\r\n direct_entity: (0, core_1.Opt)(Reference('entity_predicate'))\r\n }, { context: 'damage_source' }));\r\n schemas.register('damage_predicate', (0, core_1.ObjectNode)({\r\n dealt: Reference('float_bounds'),\r\n taken: Reference('float_bounds'),\r\n blocked: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n source_entity: (0, core_1.Opt)(Reference('entity_predicate')),\r\n type: (0, core_1.Opt)(Reference('damage_source_predicate'))\r\n }, { context: 'damage' }));\r\n}\r\nexports.initPredicatesSchemas = initPredicatesSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initRecipeSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initRecipeSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('recipe', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'recipe_serializer' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:crafting_shaped': {\r\n group: (0, core_1.Opt)(StringNode({ enum: 'recipe_group', additional: true })),\r\n pattern: (0, core_1.ListNode)(StringNode()),\r\n key: (0, core_1.MapNode)(StringNode(), // TODO: add validation\r\n Reference('recipe_ingredient')),\r\n result: Reference('recipe_result')\r\n },\r\n 'minecraft:crafting_shapeless': {\r\n group: (0, core_1.Opt)(StringNode()),\r\n ingredients: (0, core_1.ListNode)(Reference('recipe_ingredient')),\r\n result: Reference('recipe_result')\r\n },\r\n 'minecraft:smelting': {\r\n group: (0, core_1.Opt)(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n experience: (0, core_1.Opt)((0, core_1.NumberNode)()),\r\n cookingtime: (0, core_1.Opt)((0, core_1.Mod)((0, core_1.NumberNode)({ integer: true }), { default: () => 200 }))\r\n },\r\n 'minecraft:blasting': {\r\n group: (0, core_1.Opt)(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n experience: (0, core_1.Opt)((0, core_1.NumberNode)()),\r\n cookingtime: (0, core_1.Opt)((0, core_1.Mod)((0, core_1.NumberNode)({ integer: true }), { default: () => 100 }))\r\n },\r\n 'minecraft:smoking': {\r\n group: (0, core_1.Opt)(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n experience: (0, core_1.Opt)((0, core_1.NumberNode)()),\r\n cookingtime: (0, core_1.Opt)((0, core_1.Mod)((0, core_1.NumberNode)({ integer: true }), { default: () => 100 }))\r\n },\r\n 'minecraft:campfire_cooking': {\r\n group: (0, core_1.Opt)(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n experience: (0, core_1.Opt)((0, core_1.NumberNode)()),\r\n cookingtime: (0, core_1.Opt)((0, core_1.Mod)((0, core_1.NumberNode)({ integer: true }), { default: () => 100 }))\r\n },\r\n 'minecraft:stonecutting': {\r\n group: (0, core_1.Opt)(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n count: (0, core_1.NumberNode)({ integer: true })\r\n },\r\n 'minecraft:smithing': {\r\n group: (0, core_1.Opt)(StringNode()),\r\n base: Reference('recipe_ingredient_object'),\r\n addition: Reference('recipe_ingredient_object'),\r\n result: Reference('recipe_result')\r\n }\r\n }\r\n }, { context: 'recipe', disableSwitchContext: true }), {\r\n default: () => ({\r\n type: 'minecraft:crafting_shaped'\r\n })\r\n }));\r\n schemas.register('recipe_ingredient', (0, core_1.Mod)((0, core_1.ChoiceNode)([\r\n {\r\n type: 'object',\r\n node: Reference('recipe_ingredient_object'),\r\n change: v => v[0]\r\n },\r\n {\r\n type: 'list',\r\n node: (0, core_1.ListNode)(Reference('recipe_ingredient_object')),\r\n change: v => [v]\r\n }\r\n ]), {\r\n default: () => ({\r\n item: 'minecraft:stone'\r\n })\r\n }));\r\n schemas.register('recipe_ingredient_object', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n item: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: 'item' } })),\r\n tag: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$tag/item' } }))\r\n }), {\r\n default: () => ({\r\n item: 'minecraft:stone'\r\n })\r\n }));\r\n schemas.register('recipe_result', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n item: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n count: (0, core_1.Opt)((0, core_1.Mod)((0, core_1.NumberNode)({ integer: true }), { default: () => 1 }))\r\n }), {\r\n default: () => ({\r\n item: 'minecraft:stone'\r\n })\r\n }));\r\n}\r\nexports.initRecipeSchemas = initRecipeSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initTagsSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initTagsSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const TagBase = (type) => (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n replace: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n values: (0, core_1.ListNode)((0, core_1.ChoiceNode)([\r\n {\r\n type: 'string',\r\n node: StringNode({ validator: 'resource', params: { pool: type, allowTag: true } }),\r\n change: v => v.id\r\n },\r\n {\r\n type: 'object',\r\n node: (0, core_1.ObjectNode)({\r\n id: StringNode({ validator: 'resource', params: { pool: type, allowTag: true, allowUnknown: true } }),\r\n required: (0, core_1.BooleanNode)()\r\n }),\r\n change: v => ({ id: v })\r\n }\r\n ])),\r\n }, { context: 'tag' }), {\r\n default: () => ({\r\n values: []\r\n })\r\n });\r\n schemas.register('block_tag', TagBase('block'));\r\n schemas.register('entity_type_tag', TagBase('entity_type'));\r\n schemas.register('fluid_tag', TagBase('fluid'));\r\n schemas.register('function_tag', TagBase('$function'));\r\n schemas.register('game_event_tag', TagBase('game_event'));\r\n schemas.register('item_tag', TagBase('item'));\r\n schemas.register('advancement_tag', TagBase('$advancement'));\r\n schemas.register('dimension_tag', TagBase('$dimension'));\r\n schemas.register('dimension_type_tag', TagBase('$dimension_type'));\r\n schemas.register('function_tag', TagBase('$function'));\r\n schemas.register('item_modifier_tag', TagBase('$item_modifier'));\r\n schemas.register('loot_table_tag', TagBase('$loot_table'));\r\n schemas.register('predicate_tag', TagBase('$predicate'));\r\n schemas.register('recipe_tag', TagBase('$recipe'));\r\n schemas.register('structure_tag', TagBase('$structure'));\r\n schemas.register('biome_tag', TagBase('$worldgen/biome'));\r\n schemas.register('configured_carver_tag', TagBase('$worldgen/configured_carver'));\r\n schemas.register('configured_decorator_tag', TagBase('$worldgen/configured_decorator'));\r\n schemas.register('configured_feature_tag', TagBase('$worldgen/configured_feature'));\r\n schemas.register('configured_structure_feature_tag', TagBase('$worldgen/configured_structure_feature'));\r\n schemas.register('configured_surface_builder_tag', TagBase('$worldgen/configured_surface_builder'));\r\n schemas.register('density_function_tag', TagBase('$worldgen/density_function'));\r\n schemas.register('noise_tag', TagBase('$worldgen/noise'));\r\n schemas.register('noise_settings_tag', TagBase('$worldgen/noise_settings'));\r\n schemas.register('placed_feature_tag', TagBase('$worldgen/placed_feature'));\r\n schemas.register('processor_list_tag', TagBase('$worldgen/processor_list'));\r\n schemas.register('structure_set_tag', TagBase('$worldgen/structure_set'));\r\n schemas.register('template_pool_tag', TagBase('$worldgen/template_pool'));\r\n}\r\nexports.initTagsSchemas = initTagsSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initTextComponentSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initTextComponentSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const getSimpleString = (v) => { var _a; return v instanceof Array ? getSimpleString(v[0]) : (_a = v === null || v === void 0 ? void 0 : v.text) !== null && _a !== void 0 ? _a : (typeof v === 'object' ? '' : v === null || v === void 0 ? void 0 : v.toString()); };\r\n schemas.register('text_component', (0, core_1.Mod)((0, core_1.ChoiceNode)([\r\n {\r\n type: 'object',\r\n node: Reference('text_component_object'),\r\n change: v => v instanceof Array ? (typeof v[0] === 'object' ? v[0] : { text: getSimpleString(v[0]) }) : typeof v === 'object' ? v : { text: getSimpleString(v) }\r\n },\r\n {\r\n type: 'list',\r\n node: Reference('text_component_list'),\r\n change: v => [v]\r\n },\r\n {\r\n type: 'string',\r\n priority: 1,\r\n node: StringNode(),\r\n change: getSimpleString\r\n },\r\n {\r\n type: 'number',\r\n node: (0, core_1.NumberNode)(),\r\n change: v => {\r\n const n = parseFloat(getSimpleString(v));\r\n return isFinite(n) ? n : (!!v ? 1 : 0);\r\n }\r\n },\r\n {\r\n type: 'boolean',\r\n node: (0, core_1.BooleanNode)(),\r\n change: v => {\r\n const s = getSimpleString(v);\r\n return s === 'true' || s === 'false' ? s === 'true' : !!s;\r\n }\r\n }\r\n ], { context: 'text_component' }), {\r\n default: () => ({\r\n text: \"\"\r\n })\r\n }));\r\n const CommonFields = {\r\n color: (0, core_1.Opt)(StringNode()) /* TODO */,\r\n font: (0, core_1.Opt)(StringNode()),\r\n bold: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n italic: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n underlined: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n strikethrough: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n obfuscated: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n insertion: (0, core_1.Opt)(StringNode()),\r\n clickEvent: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n action: StringNode({ enum: ['open_url', 'open_file', 'run_command', 'suggest_command', 'change_page', 'copy_to_clipboard'] }),\r\n [core_1.Switch]: [{ push: 'action' }],\r\n [core_1.Case]: {\r\n 'change_page': {\r\n value: StringNode()\r\n },\r\n 'copy_to_clipboard': {\r\n value: StringNode()\r\n },\r\n 'open_file': {\r\n value: StringNode()\r\n },\r\n 'open_url': {\r\n value: StringNode()\r\n },\r\n 'run_command': {\r\n value: StringNode({ validator: 'command', params: { leadingSlash: true, allowPartial: true } })\r\n },\r\n 'suggest_command': {\r\n value: StringNode({ validator: 'command', params: { leadingSlash: true, allowPartial: true } })\r\n }\r\n }\r\n })),\r\n hoverEvent: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n action: StringNode({ enum: ['show_text', 'show_item', 'show_entity'] }),\r\n [core_1.Switch]: [{ push: 'action' }],\r\n [core_1.Case]: {\r\n 'show_text': {\r\n value: (0, core_1.Opt)(Reference('text_component')),\r\n contents: (0, core_1.Opt)(Reference('text_component'))\r\n },\r\n 'show_item': {\r\n value: (0, core_1.Opt)(StringNode({ validator: 'nbt', params: { module: 'util::InventoryItem' } })),\r\n contents: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n id: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n count: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n tag: (0, core_1.Opt)(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:item', id: ['pop', { push: 'id' }] } } }))\r\n }))\r\n },\r\n 'show_entity': {\r\n value: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n name: (0, core_1.Opt)(StringNode()),\r\n type: (0, core_1.Opt)(StringNode()),\r\n id: (0, core_1.Opt)(StringNode())\r\n })),\r\n contents: (0, core_1.Opt)((0, core_1.Mod)((0, core_1.ObjectNode)({\r\n name: (0, core_1.Opt)(Reference('text_component')),\r\n type: StringNode({ validator: 'resource', params: { pool: 'entity_type' } }),\r\n id: StringNode({ validator: 'uuid' })\r\n }), {\r\n default: () => ({\r\n type: 'minecraft:pig',\r\n id: '00000001-0001-0001-0001-000000000001'\r\n })\r\n }))\r\n }\r\n }\r\n })),\r\n extra: (0, core_1.Opt)(Reference('text_component_list'))\r\n };\r\n schemas.register('text_component_object', (0, core_1.Mod)((0, core_1.ChoiceNode)([\r\n {\r\n type: 'text',\r\n match: v => typeof v === 'object',\r\n change: v => ({ text: '' }),\r\n priority: -1,\r\n node: (0, core_1.ObjectNode)({\r\n text: StringNode(),\r\n ...CommonFields\r\n })\r\n },\r\n {\r\n type: 'translation',\r\n match: v => (v === null || v === void 0 ? void 0 : v.translate) !== undefined,\r\n change: v => ({ translate: '' }),\r\n node: (0, core_1.ObjectNode)({\r\n translate: StringNode(),\r\n with: (0, core_1.Opt)(Reference('text_component_list')),\r\n ...CommonFields\r\n })\r\n },\r\n {\r\n type: 'score',\r\n match: v => (v === null || v === void 0 ? void 0 : v.score) !== undefined,\r\n change: v => ({ score: {} }),\r\n node: (0, core_1.ObjectNode)({\r\n score: (0, core_1.ObjectNode)({\r\n name: StringNode({ validator: 'entity', params: { amount: 'single', type: 'entities', isScoreHolder: true } }),\r\n objective: StringNode({ validator: 'objective' }),\r\n value: (0, core_1.Opt)(StringNode())\r\n }),\r\n ...CommonFields\r\n })\r\n },\r\n {\r\n type: 'selector',\r\n match: v => (v === null || v === void 0 ? void 0 : v.selector) !== undefined,\r\n change: v => ({ selector: '' }),\r\n node: (0, core_1.ObjectNode)({\r\n selector: StringNode({ validator: 'entity', params: { amount: 'multiple', type: 'entities' } }),\r\n separator: (0, core_1.Opt)(Reference('text_component')),\r\n ...CommonFields\r\n })\r\n },\r\n {\r\n type: 'keybind',\r\n match: v => (v === null || v === void 0 ? void 0 : v.keybind) !== undefined,\r\n change: v => ({ keybind: '' }),\r\n node: (0, core_1.ObjectNode)({\r\n keybind: StringNode({ enum: 'keybind', additional: true }),\r\n ...CommonFields\r\n })\r\n },\r\n {\r\n type: 'nbt',\r\n match: v => (v === null || v === void 0 ? void 0 : v.nbt) !== undefined,\r\n change: v => ({ nbt: '' }),\r\n node: (0, core_1.ObjectNode)({\r\n nbt: StringNode({ validator: 'nbt_path' }),\r\n block: (0, core_1.Opt)(StringNode({ validator: 'vector', params: { dimension: 3, isInteger: true } })),\r\n entity: (0, core_1.Opt)(StringNode({ validator: 'entity', params: { amount: 'multiple', type: 'entities' } })),\r\n storage: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$storage' } })),\r\n interpret: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n separator: (0, core_1.Opt)(Reference('text_component')),\r\n ...CommonFields\r\n })\r\n }\r\n ], { context: 'text_component_object', choiceContext: 'text_component.object' }), {\r\n default: () => ({\r\n text: \"\"\r\n })\r\n }));\r\n schemas.register('text_component_list', (0, core_1.Mod)((0, core_1.ListNode)(Reference('text_component')), {\r\n default: () => [{\r\n text: \"\"\r\n }]\r\n }));\r\n}\r\nexports.initTextComponentSchemas = initTextComponentSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initBiomeSchemas = exports.MobCategorySpawnSettings = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"../Common\");\r\nfunction initBiomeSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n exports.MobCategorySpawnSettings = (0, core_1.Mod)((0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'entity_type' } }),\r\n weight: (0, core_1.NumberNode)({ integer: true }),\r\n minCount: (0, core_1.NumberNode)({ integer: true }),\r\n maxCount: (0, core_1.NumberNode)({ integer: true })\r\n })), {\r\n category: () => 'pool',\r\n default: () => [{\r\n type: 'minecraft:bat',\r\n weight: 1\r\n }]\r\n });\r\n schemas.register('biome', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n temperature: (0, core_1.NumberNode)(),\r\n downfall: (0, core_1.NumberNode)(),\r\n precipitation: StringNode({ enum: ['none', 'rain', 'snow'] }),\r\n temperature_modifier: (0, core_1.Opt)(StringNode({ enum: ['none', 'frozen'] })),\r\n category: StringNode({ enum: 'biome_category' }),\r\n creature_spawn_probability: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 1 })),\r\n effects: (0, core_1.ObjectNode)({\r\n sky_color: (0, core_1.NumberNode)({ color: true }),\r\n fog_color: (0, core_1.NumberNode)({ color: true }),\r\n water_color: (0, core_1.NumberNode)({ color: true }),\r\n water_fog_color: (0, core_1.NumberNode)({ color: true }),\r\n grass_color: (0, core_1.Opt)((0, core_1.NumberNode)({ color: true })),\r\n foliage_color: (0, core_1.Opt)((0, core_1.NumberNode)({ color: true })),\r\n grass_color_modifier: (0, core_1.Opt)(StringNode({ enum: ['none', 'dark_forest', 'swamp'] })),\r\n ambient_sound: (0, core_1.Opt)(StringNode()),\r\n mood_sound: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n sound: StringNode(),\r\n tick_delay: (0, core_1.NumberNode)({ integer: true }),\r\n block_search_extent: (0, core_1.NumberNode)({ integer: true }),\r\n offset: (0, core_1.NumberNode)()\r\n })),\r\n additions_sound: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n sound: StringNode(),\r\n tick_chance: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n })),\r\n music: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n sound: StringNode(),\r\n min_delay: (0, core_1.NumberNode)({ integer: true, min: 0 }),\r\n max_delay: (0, core_1.NumberNode)({ integer: true, min: 0 }),\r\n replace_current_music: (0, core_1.BooleanNode)()\r\n })),\r\n particle: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n options: (0, core_1.ObjectNode)({\r\n type: StringNode()\r\n }),\r\n probability: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n }))\r\n }),\r\n spawners: (0, core_1.MapNode)(StringNode({ enum: 'mob_category' }), exports.MobCategorySpawnSettings),\r\n spawn_costs: (0, core_1.MapNode)(StringNode({ validator: 'resource', params: { pool: 'entity_type' } }), (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n energy_budget: (0, core_1.NumberNode)(),\r\n charge: (0, core_1.NumberNode)()\r\n }, { category: 'function' }), {\r\n default: () => ({\r\n energy_budget: 0.12,\r\n charge: 1.0\r\n })\r\n })),\r\n carvers: (0, core_1.MapNode)(StringNode({ enum: ['air', 'liquid'] }), (0, core_1.Mod)((0, Common_1.Tag)({ resource: '$worldgen/configured_carver', inlineSchema: 'configured_carver' }), {\r\n default: () => ['minecraft:cave']\r\n })),\r\n features: (0, core_1.ListNode)((0, core_1.Mod)((0, Common_1.Tag)({ resource: '$worldgen/placed_feature', inlineSchema: 'placed_feature' }), { category: () => 'predicate' }), { maxLength: 11 })\r\n }, { context: 'biome' }), {\r\n default: () => ({\r\n temperature: 0.8,\r\n downfall: 0.4,\r\n precipitation: 'rain',\r\n category: 'plains',\r\n effects: {\r\n sky_color: 7907327,\r\n fog_color: 12638463,\r\n water_color: 4159204,\r\n water_fog_color: 329011\r\n }\r\n })\r\n }));\r\n}\r\nexports.initBiomeSchemas = initBiomeSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initCarverSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"../Common\");\r\nfunction initCarverSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const CanyonConfig = {\r\n vertical_rotation: (0, Common_1.FloatProvider)(),\r\n shape: (0, core_1.ObjectNode)({\r\n distance_factor: (0, Common_1.FloatProvider)(),\r\n thickness: (0, Common_1.FloatProvider)(),\r\n width_smoothness: (0, core_1.NumberNode)({ integer: true, min: 0 }),\r\n horizontal_radius_factor: (0, Common_1.FloatProvider)(),\r\n vertical_radius_default_factor: (0, core_1.NumberNode)(),\r\n vertical_radius_center_factor: (0, core_1.NumberNode)()\r\n })\r\n };\r\n const CaveConfig = {\r\n horizontal_radius_multiplier: (0, Common_1.FloatProvider)(),\r\n vertical_radius_multiplier: (0, Common_1.FloatProvider)(),\r\n floor_level: (0, Common_1.FloatProvider)({ min: -1, max: 1 }),\r\n };\r\n schemas.register('configured_carver', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/carver' } }),\r\n config: (0, core_1.ObjectNode)({\r\n probability: (0, core_1.NumberNode)({ min: 0, max: 1 }),\r\n y: Reference('height_provider'),\r\n yScale: (0, Common_1.FloatProvider)(),\r\n lava_level: Reference('vertical_anchor'),\r\n debug_settings: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n debug_mode: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n air_state: (0, core_1.Opt)(Reference('block_state')),\r\n water_state: (0, core_1.Opt)(Reference('block_state')),\r\n lava_state: (0, core_1.Opt)(Reference('block_state')),\r\n barrier_state: (0, core_1.Opt)(Reference('block_state'))\r\n })),\r\n [core_1.Switch]: ['pop', { push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:canyon': CanyonConfig,\r\n 'minecraft:cave': CaveConfig,\r\n 'minecraft:nether_cave': CaveConfig\r\n },\r\n })\r\n }, { context: 'carver' }), {\r\n default: () => ({\r\n type: 'minecraft:cave',\r\n config: {\r\n probability: 0.1\r\n }\r\n })\r\n }));\r\n}\r\nexports.initCarverSchemas = initCarverSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initDecoratorSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"../Common\");\r\nfunction initDecoratorSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('decorator', (0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/placement_modifier_type' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:block_predicate_filter': {\r\n predicate: Reference('block_predicate_worldgen')\r\n },\r\n 'minecraft:carving_mask': {\r\n step: StringNode({ enum: 'generation_step' })\r\n },\r\n 'minecraft:rarity_filter': {\r\n chance: (0, core_1.NumberNode)({ integer: true, min: 0 })\r\n },\r\n 'minecraft:count': {\r\n count: (0, Common_1.IntProvider)({ min: 0, max: 256 })\r\n },\r\n 'minecraft:count_on_every_layer': {\r\n count: (0, Common_1.IntProvider)({ min: 0, max: 256 })\r\n },\r\n 'minecraft:noise_threshold_count': {\r\n noise_level: (0, core_1.NumberNode)(),\r\n below_noise: (0, core_1.NumberNode)({ integer: true }),\r\n above_noise: (0, core_1.NumberNode)({ integer: true })\r\n },\r\n 'minecraft:noise_based_count': {\r\n noise_to_count_ratio: (0, core_1.NumberNode)({ integer: true }),\r\n noise_factor: (0, core_1.NumberNode)(),\r\n noise_offset: (0, core_1.Opt)((0, core_1.NumberNode)())\r\n },\r\n 'minecraft:environment_scan': {\r\n direction_of_search: StringNode({ enum: ['up', 'down'] }),\r\n max_steps: (0, core_1.NumberNode)({ integer: true, min: 1, max: 32 }),\r\n target_condition: Reference('block_predicate_worldgen'),\r\n allowed_search_condition: (0, core_1.Opt)(Reference('block_predicate_worldgen'))\r\n },\r\n 'minecraft:heightmap': {\r\n heightmap: StringNode({ enum: 'heightmap_type' })\r\n },\r\n 'minecraft:height_range': {\r\n height: Reference('height_provider')\r\n },\r\n 'minecraft:random_offset': {\r\n xz_spread: (0, Common_1.IntProvider)({ min: -16, max: 16 }),\r\n y_spread: (0, Common_1.IntProvider)({ min: -16, max: 16 }),\r\n },\r\n 'minecraft:surface_relative_threshold_filter': {\r\n heightmap: StringNode({ enum: 'heightmap_type' }),\r\n min_inclusive: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n max_inclusive: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true }))\r\n },\r\n 'minecraft:surface_water_depth_filter': {\r\n max_water_depth: (0, core_1.NumberNode)({ integer: true })\r\n }\r\n }\r\n }, { context: 'decorator', category: 'predicate' }));\r\n}\r\nexports.initDecoratorSchemas = initDecoratorSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initDensityFunctionSchemas = exports.DensityFunction = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initDensityFunctionSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n exports.DensityFunction = (0, core_1.Mod)((0, core_1.ChoiceNode)([\r\n {\r\n type: 'number',\r\n node: (0, core_1.NumberNode)(),\r\n change: () => 0\r\n },\r\n {\r\n type: 'string',\r\n priority: 1,\r\n node: StringNode({ validator: 'resource', params: { pool: '$worldgen/density_function' } }),\r\n change: () => undefined\r\n },\r\n {\r\n type: 'object',\r\n node: Reference('density_function'),\r\n change: () => ({})\r\n }\r\n ], { choiceContext: 'density_function' }), {\r\n default: () => 0\r\n });\r\n const NoiseParameters = (0, core_1.ChoiceNode)([\r\n {\r\n type: 'string',\r\n node: StringNode({ validator: 'resource', params: { pool: '$worldgen/noise' } }),\r\n change: () => undefined\r\n },\r\n {\r\n type: 'object',\r\n node: Reference('noise_parameters')\r\n }\r\n ], { choiceContext: 'noise_parameters' });\r\n const NoiseRange = (0, core_1.NumberNode)({ min: -1000000, max: 1000000 });\r\n const YRange = (0, core_1.NumberNode)({ integer: true, min: -2032 * 2, max: 2031 * 2 });\r\n schemas.register('density_function', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/density_function_type' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:abs': {\r\n argument: exports.DensityFunction,\r\n },\r\n 'minecraft:add': {\r\n argument1: exports.DensityFunction,\r\n argument2: exports.DensityFunction,\r\n },\r\n 'minecraft:blend_density': {\r\n argument: exports.DensityFunction,\r\n },\r\n 'minecraft:cache_2d': {\r\n argument: exports.DensityFunction,\r\n },\r\n 'minecraft:cache_all_in_cell': {\r\n argument: exports.DensityFunction,\r\n },\r\n 'minecraft:cache_once': {\r\n argument: exports.DensityFunction,\r\n },\r\n 'minecraft:clamp': {\r\n input: exports.DensityFunction,\r\n min: NoiseRange,\r\n max: NoiseRange,\r\n },\r\n 'minecraft:constant': {\r\n argument: (0, core_1.NumberNode)(),\r\n },\r\n 'minecraft:cube': {\r\n argument: exports.DensityFunction,\r\n },\r\n 'minecraft:flat_cache': {\r\n argument: exports.DensityFunction,\r\n },\r\n 'minecraft:half_negative': {\r\n argument: exports.DensityFunction,\r\n },\r\n 'minecraft:interpolated': {\r\n argument: exports.DensityFunction,\r\n },\r\n 'minecraft:max': {\r\n argument1: exports.DensityFunction,\r\n argument2: exports.DensityFunction,\r\n },\r\n 'minecraft:min': {\r\n argument1: exports.DensityFunction,\r\n argument2: exports.DensityFunction,\r\n },\r\n 'minecraft:mul': {\r\n argument1: exports.DensityFunction,\r\n argument2: exports.DensityFunction,\r\n },\r\n 'minecraft:noise': {\r\n noise: NoiseParameters,\r\n xz_scale: (0, core_1.NumberNode)(),\r\n y_scale: (0, core_1.NumberNode)(),\r\n },\r\n 'minecraft:quarter_negative': {\r\n argument: exports.DensityFunction,\r\n },\r\n 'minecraft:range_choice': {\r\n input: exports.DensityFunction,\r\n min_inclusive: NoiseRange,\r\n max_exclusive: NoiseRange,\r\n when_in_range: exports.DensityFunction,\r\n when_out_of_range: exports.DensityFunction,\r\n },\r\n 'minecraft:shift': {\r\n argument: exports.DensityFunction,\r\n },\r\n 'minecraft:shift_a': {\r\n argument: exports.DensityFunction,\r\n },\r\n 'minecraft:shift_b': {\r\n argument: exports.DensityFunction,\r\n },\r\n 'minecraft:shifted_noise': {\r\n noise: NoiseParameters,\r\n xz_scale: (0, core_1.NumberNode)(),\r\n y_scale: (0, core_1.NumberNode)(),\r\n shift_x: exports.DensityFunction,\r\n shift_y: exports.DensityFunction,\r\n shift_z: exports.DensityFunction,\r\n },\r\n 'minecraft:slide': {\r\n argument: exports.DensityFunction,\r\n },\r\n 'minecraft:spline': {\r\n spline: Reference('cubic_spline'),\r\n min_value: NoiseRange,\r\n max_value: NoiseRange,\r\n },\r\n 'minecraft:square': {\r\n argument: exports.DensityFunction,\r\n },\r\n 'minecraft:squeeze': {\r\n argument: exports.DensityFunction,\r\n },\r\n 'minecraft:terrain_shaper_spline': {\r\n spline: StringNode({ enum: ['offset', 'factor', 'jaggedness'] }),\r\n min_value: NoiseRange,\r\n max_value: NoiseRange,\r\n continentalness: exports.DensityFunction,\r\n erosion: exports.DensityFunction,\r\n weirdness: exports.DensityFunction,\r\n },\r\n 'minecraft:weird_scaled_sampler': {\r\n rarity_value_mapper: StringNode({ enum: ['type_1', 'type_2'] }),\r\n noise: NoiseParameters,\r\n input: exports.DensityFunction,\r\n },\r\n 'minecraft:y_clamped_gradient': {\r\n from_y: YRange,\r\n to_y: YRange,\r\n from_value: NoiseRange,\r\n to_value: NoiseRange,\r\n },\r\n }\r\n }, { context: 'density_function', disableSwitchContext: true }), {\r\n default: () => ({\r\n type: 'minecraft:noise',\r\n noise: 'minecraft:cave_entrance',\r\n xz_scale: 0.75,\r\n y_scale: 0.5\r\n })\r\n }));\r\n schemas.register('cubic_spline', (0, core_1.Mod)((0, core_1.ChoiceNode)([\r\n {\r\n type: 'number',\r\n node: (0, core_1.NumberNode)()\r\n },\r\n {\r\n type: 'object',\r\n node: (0, core_1.ObjectNode)({\r\n coordinate: exports.DensityFunction,\r\n points: (0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n location: (0, core_1.NumberNode)(),\r\n derivative: (0, core_1.NumberNode)(),\r\n value: Reference('cubic_spline')\r\n }))\r\n }, { category: 'function' })\r\n }\r\n ], { context: 'terrain_spline', choiceContext: 'terrain_spline' }), {\r\n default: () => 0\r\n }));\r\n}\r\nexports.initDensityFunctionSchemas = initDensityFunctionSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initProcessorListSchemas = exports.Processors = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initProcessorListSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n exports.Processors = (0, core_1.ChoiceNode)([\r\n {\r\n type: 'string',\r\n node: StringNode({ validator: 'resource', params: { pool: '$worldgen/processor_list' } }),\r\n change: v => undefined\r\n },\r\n {\r\n type: 'object',\r\n node: Reference('processor_list'),\r\n change: v => ({\r\n processors: [{\r\n \"processor_type\": \"minecraft:nop\"\r\n }]\r\n })\r\n }\r\n ]);\r\n schemas.register('processor_list', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n processors: (0, core_1.ListNode)(Reference('processor'))\r\n }, { context: 'processor_list' }), {\r\n default: () => ({\r\n processors: [{\r\n processor_type: 'minecraft:rule',\r\n rules: [{\r\n location_predicate: {\r\n predicate_type: 'minecraft:always_true'\r\n },\r\n input_predicate: {\r\n predicate_type: 'minecraft:always_true'\r\n }\r\n }]\r\n }]\r\n })\r\n }));\r\n schemas.register('processor', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n processor_type: StringNode({ validator: 'resource', params: { pool: 'worldgen/structure_processor' } }),\r\n [core_1.Switch]: [{ push: 'processor_type' }],\r\n [core_1.Case]: {\r\n 'minecraft:block_age': {\r\n mossiness: (0, core_1.NumberNode)()\r\n },\r\n 'minecraft:block_ignore': {\r\n blocks: (0, core_1.ListNode)(Reference('block_state'))\r\n },\r\n 'minecraft:block_rot': {\r\n integrity: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n },\r\n 'minecraft:gravity': {\r\n heightmap: StringNode({ enum: 'heightmap_type' }),\r\n offset: (0, core_1.NumberNode)({ integer: true })\r\n },\r\n 'minecraft:protected_blocks': {\r\n value: StringNode({ validator: 'resource', params: { pool: 'block', requireTag: true } })\r\n },\r\n 'minecraft:rule': {\r\n rules: (0, core_1.ListNode)(Reference('processor_rule'))\r\n }\r\n }\r\n }, { category: 'function', context: 'processor' }), {\r\n default: () => ({\r\n processor_type: 'minecraft:rule',\r\n rules: [{\r\n location_predicate: {\r\n predicate_type: 'minecraft:always_true'\r\n },\r\n input_predicate: {\r\n predicate_type: 'minecraft:always_true'\r\n }\r\n }]\r\n })\r\n }));\r\n schemas.register('processor_rule', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n position_predicate: (0, core_1.Opt)(Reference('pos_rule_test')),\r\n location_predicate: Reference('rule_test'),\r\n input_predicate: Reference('rule_test'),\r\n output_state: Reference('block_state'),\r\n output_nbt: (0, core_1.Opt)(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:block' } } }))\r\n }, { category: 'predicate', context: 'processor_rule' }), {\r\n default: () => ({\r\n location_predicate: {\r\n predicate_type: 'minecraft:always_true'\r\n },\r\n input_predicate: {\r\n predicate_type: 'minecraft:always_true'\r\n }\r\n })\r\n }));\r\n const posTestFields = {\r\n min_dist: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 255, integer: true })),\r\n max_dist: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 255, integer: true })),\r\n min_chance: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 1 })),\r\n max_chance: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 1 }))\r\n };\r\n schemas.register('pos_rule_test', (0, core_1.ObjectNode)({\r\n predicate_type: StringNode({ validator: 'resource', params: { pool: 'pos_rule_test' } }),\r\n [core_1.Switch]: [{ push: 'predicate_type' }],\r\n [core_1.Case]: {\r\n 'minecraft:axis_aligned_linear_pos': {\r\n axis: StringNode({ enum: ['x', 'y', 'z'] }),\r\n ...posTestFields\r\n },\r\n 'minecraft:linear_pos': posTestFields\r\n }\r\n }, { context: 'pos_rule_test', disableSwitchContext: true }));\r\n schemas.register('rule_test', (0, core_1.ObjectNode)({\r\n predicate_type: StringNode({ validator: 'resource', params: { pool: 'rule_test' } }),\r\n [core_1.Switch]: [{ push: 'predicate_type' }],\r\n [core_1.Case]: {\r\n 'minecraft:block_match': {\r\n block: StringNode({ validator: 'resource', params: { pool: 'block' } })\r\n },\r\n 'minecraft:blockstate_match': {\r\n block_state: Reference('block_state')\r\n },\r\n 'minecraft:random_block_match': {\r\n block: StringNode({ validator: 'resource', params: { pool: 'block' } }),\r\n probability: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n },\r\n 'minecraft:random_blockstate_match': {\r\n block_state: Reference('block_state'),\r\n probability: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n },\r\n 'minecraft:tag_match': {\r\n tag: StringNode({ validator: 'resource', params: { pool: '$tag/block' } })\r\n }\r\n }\r\n }, { context: 'rule_test', disableSwitchContext: true }));\r\n}\r\nexports.initProcessorListSchemas = initProcessorListSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initFeatureSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"../Common\");\r\nrequire(\"./Decorator\");\r\nrequire(\"./ProcessorList\");\r\nconst ProcessorList_1 = require(\"./ProcessorList\");\r\nfunction initFeatureSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const ConfiguredFeature = (0, core_1.ChoiceNode)([\r\n {\r\n type: 'string',\r\n node: StringNode({ validator: 'resource', params: { pool: '$worldgen/configured_feature' } })\r\n },\r\n {\r\n type: 'object',\r\n node: Reference('configured_feature')\r\n }\r\n ], { choiceContext: 'feature' });\r\n const PlacedFeature = (0, core_1.ChoiceNode)([\r\n {\r\n type: 'string',\r\n node: StringNode({ validator: 'resource', params: { pool: '$worldgen/placed_feature' } })\r\n },\r\n {\r\n type: 'object',\r\n node: Reference('placed_feature')\r\n }\r\n ], { choiceContext: 'placed_feature' });\r\n const RandomPatchConfig = {\r\n tries: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 1 })),\r\n xz_spread: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 0 })),\r\n y_spread: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 0 })),\r\n feature: PlacedFeature,\r\n };\r\n const DiskConfig = {\r\n state: Reference('block_state'),\r\n radius: (0, Common_1.IntProvider)({ min: 0, max: 8 }),\r\n half_height: (0, core_1.NumberNode)({ integer: true, min: 0, max: 4 }),\r\n targets: (0, core_1.ListNode)(Reference('block_state'))\r\n };\r\n const HugeMushroomConfig = {\r\n cap_provider: Reference('block_state_provider'),\r\n stem_provider: Reference('block_state_provider'),\r\n foliage_radius: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true }))\r\n };\r\n const TargetBlockState = (0, core_1.ObjectNode)({\r\n target: Reference('rule_test'),\r\n state: Reference('block_state')\r\n });\r\n const OreConfig = {\r\n size: (0, core_1.NumberNode)({ integer: true, min: 0, max: 64 }),\r\n discard_chance_on_air_exposure: (0, core_1.NumberNode)({ min: 0, max: 1 }),\r\n targets: (0, core_1.ListNode)(TargetBlockState)\r\n };\r\n const VegetationPatchConfig = {\r\n surface: StringNode({ enum: 'cave_surface' }),\r\n depth: (0, Common_1.IntProvider)({ min: 1, max: 128 }),\r\n vertical_range: (0, core_1.NumberNode)({ integer: true, min: 1, max: 256 }),\r\n extra_bottom_block_chance: (0, core_1.NumberNode)({ min: 0, max: 1 }),\r\n extra_edge_column_chance: (0, core_1.NumberNode)({ min: 0, max: 1 }),\r\n vegetation_chance: (0, core_1.NumberNode)({ min: 0, max: 1 }),\r\n xz_radius: (0, Common_1.IntProvider)(),\r\n replaceable: StringNode({ validator: 'resource', params: { pool: 'block', requireTag: true } }),\r\n ground_state: Reference('block_state_provider'),\r\n vegetation_feature: PlacedFeature\r\n };\r\n schemas.register('configured_feature', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/feature' } }),\r\n config: (0, core_1.ObjectNode)({\r\n [core_1.Switch]: ['pop', { push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:bamboo': {\r\n probability: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n },\r\n 'minecraft:basalt_columns': {\r\n reach: (0, Common_1.IntProvider)({ min: 0, max: 3 }),\r\n height: (0, Common_1.IntProvider)({ min: 1, max: 10 })\r\n },\r\n 'minecraft:block_column': {\r\n direction: StringNode({ enum: ['up', 'down', 'north', 'east', 'south', 'west'] }),\r\n allowed_placement: Reference('block_predicate_worldgen'),\r\n prioritize_tip: (0, core_1.BooleanNode)(),\r\n layers: (0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n height: (0, Common_1.IntProvider)({ min: 0 }),\r\n provider: Reference('block_state_provider')\r\n }))\r\n },\r\n 'minecraft:block_pile': {\r\n state_provider: Reference('block_state_provider')\r\n },\r\n 'minecraft:delta_feature': {\r\n contents: Reference('block_state'),\r\n rim: Reference('block_state'),\r\n size: (0, Common_1.IntProvider)({ min: 0, max: 16 }),\r\n rim_size: (0, Common_1.IntProvider)({ min: 0, max: 16 })\r\n },\r\n 'minecraft:disk': DiskConfig,\r\n 'minecraft:dripstone_cluster': {\r\n floor_to_ceiling_search_range: (0, core_1.NumberNode)({ integer: true, min: 1, max: 512 }),\r\n height: (0, Common_1.IntProvider)({ min: 0, max: 128 }),\r\n radius: (0, Common_1.IntProvider)({ min: 0, max: 128 }),\r\n max_stalagmite_stalactite_height_diff: (0, core_1.NumberNode)({ integer: true, min: 0, max: 64 }),\r\n height_deviation: (0, core_1.NumberNode)({ integer: true, min: 1, max: 64 }),\r\n dripstone_block_layer_thickness: (0, Common_1.IntProvider)({ min: 0, max: 128 }),\r\n density: (0, Common_1.FloatProvider)({ min: 0, max: 2 }),\r\n wetness: (0, Common_1.FloatProvider)({ min: 0, max: 2 }),\r\n chance_of_dripstone_column_at_max_distance_from_center: (0, core_1.NumberNode)({ min: 0, max: 1 }),\r\n max_distance_from_edge_affecting_chance_of_dripstone_column: (0, core_1.NumberNode)({ integer: true, min: 1, max: 64 }),\r\n max_distance_from_center_affecting_height_bias: (0, core_1.NumberNode)({ integer: true, min: 1, max: 64 })\r\n },\r\n 'minecraft:end_gateway': {\r\n exact: (0, core_1.BooleanNode)(),\r\n exit: (0, core_1.Opt)(Reference('block_pos'))\r\n },\r\n 'minecraft:end_spike': {\r\n crystal_invulnerable: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n crystal_beam_target: (0, core_1.Opt)(Reference('block_pos')),\r\n spikes: (0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n centerX: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n centerZ: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n radius: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n height: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n guarded: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n }))\r\n },\r\n 'minecraft:fill_layer': {\r\n state: Reference('block_state'),\r\n height: (0, core_1.NumberNode)({ integer: true, min: 0, max: 255 })\r\n },\r\n 'minecraft:flower': RandomPatchConfig,\r\n 'minecraft:forest_rock': {\r\n state: Reference('block_state')\r\n },\r\n 'minecraft:fossil': {\r\n max_empty_corners_allowed: (0, core_1.NumberNode)({ integer: true, min: 0, max: 7 }),\r\n fossil_structures: (0, core_1.ListNode)(StringNode({ validator: 'resource', params: { pool: '$structure' } })),\r\n overlay_structures: (0, core_1.ListNode)(StringNode({ validator: 'resource', params: { pool: '$structure' } })),\r\n fossil_processors: ProcessorList_1.Processors,\r\n overlay_processors: ProcessorList_1.Processors,\r\n },\r\n 'minecraft:geode': {\r\n blocks: (0, core_1.ObjectNode)({\r\n filling_provider: Reference('block_state_provider'),\r\n inner_layer_provider: Reference('block_state_provider'),\r\n alternate_inner_layer_provider: Reference('block_state_provider'),\r\n middle_layer_provider: Reference('block_state_provider'),\r\n outer_layer_provider: Reference('block_state_provider'),\r\n inner_placements: (0, core_1.ListNode)(Reference('block_state')),\r\n cannot_replace: StringNode({ validator: 'resource', params: { pool: 'block', requireTag: true } }),\r\n invalid_blocks: StringNode({ validator: 'resource', params: { pool: 'block', requireTag: true } })\r\n }),\r\n layers: (0, core_1.ObjectNode)({\r\n filling: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0.01, max: 50 })),\r\n inner_layer: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0.01, max: 50 })),\r\n middle_layer: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0.01, max: 50 })),\r\n outer_layer: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0.01, max: 50 })),\r\n }),\r\n crack: (0, core_1.ObjectNode)({\r\n generate_crack_chance: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 1 })),\r\n base_crack_size: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 5 })),\r\n crack_point_offset: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 10 })),\r\n }),\r\n noise_multiplier: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 1 })),\r\n use_potential_placements_chance: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 1 })),\r\n use_alternate_layer0_chance: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 1 })),\r\n placements_require_layer0_alternate: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n outer_wall_distance: (0, core_1.Opt)((0, Common_1.IntProvider)({ min: 1, max: 20 })),\r\n distribution_points: (0, core_1.Opt)((0, Common_1.IntProvider)({ min: 1, max: 20 })),\r\n point_offset: (0, core_1.Opt)((0, Common_1.IntProvider)({ min: 0, max: 10 })),\r\n min_gen_offset: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n max_gen_offset: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n invalid_blocks_threshold: (0, core_1.NumberNode)({ integer: true })\r\n },\r\n 'minecraft:glow_lichen': {\r\n search_range: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 1, max: 64, integer: true })),\r\n chance_of_spreading: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 1 })),\r\n can_place_on_floor: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n can_place_on_ceiling: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n can_place_on_wall: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n can_be_placed_on: (0, Common_1.Tag)({ resource: 'block' })\r\n },\r\n 'minecraft:huge_brown_mushroom': HugeMushroomConfig,\r\n 'minecraft:huge_fungus': {\r\n hat_state: Reference('block_state'),\r\n decor_state: Reference('block_state'),\r\n stem_state: Reference('block_state'),\r\n valid_base_block: Reference('block_state'),\r\n planted: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n },\r\n 'minecraft:huge_red_mushroom': HugeMushroomConfig,\r\n 'minecraft:ice_patch': DiskConfig,\r\n 'minecraft:iceberg': {\r\n state: Reference('block_state')\r\n },\r\n 'minecraft:lake': {\r\n fluid: Reference('block_state_provider'),\r\n barrier: Reference('block_state_provider')\r\n },\r\n 'minecraft:large_dripstone': {\r\n floor_to_ceiling_search_range: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 1, max: 512 })),\r\n column_radius: (0, Common_1.IntProvider)({ min: 0, max: 60 }),\r\n height_scale: (0, Common_1.FloatProvider)({ min: 0, max: 20 }),\r\n max_column_radius_to_cave_height_ratio: (0, core_1.NumberNode)({ min: 0, max: 1 }),\r\n stalactite_bluntness: (0, Common_1.FloatProvider)({ min: 0.1, max: 10 }),\r\n stalagmite_bluntness: (0, Common_1.FloatProvider)({ min: 0.1, max: 10 }),\r\n wind_speed: (0, Common_1.FloatProvider)({ min: 0, max: 2 }),\r\n min_radius_for_wind: (0, core_1.NumberNode)({ integer: true, min: 0, max: 100 }),\r\n min_bluntness_for_wind: (0, core_1.NumberNode)({ min: 0, max: 5 })\r\n },\r\n 'minecraft:nether_forest_vegetation': {\r\n state_provider: Reference('block_state_provider'),\r\n spread_width: (0, core_1.NumberNode)({ integer: true, min: 1 }),\r\n spread_height: (0, core_1.NumberNode)({ integer: true, min: 1 })\r\n },\r\n 'minecraft:netherrack_replace_blobs': {\r\n state: Reference('block_state'),\r\n target: Reference('block_state'),\r\n radius: (0, Common_1.IntProvider)({ min: 0, max: 12 })\r\n },\r\n 'minecraft:no_bonemeal_flower': RandomPatchConfig,\r\n 'minecraft:ore': OreConfig,\r\n 'minecraft:pointed_dripstone': {\r\n chance_of_taller_dripstone: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 1 })),\r\n chance_of_directional_spread: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 1 })),\r\n chance_of_spread_radius2: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 1 })),\r\n chance_of_spread_radius3: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 1 })),\r\n },\r\n 'minecraft:random_patch': RandomPatchConfig,\r\n 'minecraft:random_boolean_selector': {\r\n feature_false: PlacedFeature,\r\n feature_true: PlacedFeature\r\n },\r\n 'minecraft:random_selector': {\r\n features: (0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n chance: (0, core_1.NumberNode)({ min: 0, max: 1 }),\r\n feature: PlacedFeature\r\n })),\r\n default: PlacedFeature\r\n },\r\n 'minecraft:replace_single_block': {\r\n targets: (0, core_1.ListNode)(TargetBlockState)\r\n },\r\n 'minecraft:root_system': {\r\n required_vertical_space_for_tree: (0, core_1.NumberNode)({ integer: true, min: 1, max: 64 }),\r\n root_radius: (0, core_1.NumberNode)({ integer: true, min: 1, max: 64 }),\r\n root_placement_attempts: (0, core_1.NumberNode)({ integer: true, min: 1, max: 256 }),\r\n root_column_max_height: (0, core_1.NumberNode)({ integer: true, min: 1, max: 4096 }),\r\n hanging_root_radius: (0, core_1.NumberNode)({ integer: true, min: 1, max: 64 }),\r\n hanging_roots_vertical_span: (0, core_1.NumberNode)({ integer: true, min: 0, max: 16 }),\r\n hanging_root_placement_attempts: (0, core_1.NumberNode)({ integer: true, min: 0, max: 256 }),\r\n allowed_vertical_water_for_tree: (0, core_1.NumberNode)({ integer: true, min: 1, max: 64 }),\r\n root_replaceable: StringNode({ validator: 'resource', params: { pool: 'block', requireTag: true } }),\r\n root_state_provider: Reference('block_state_provider'),\r\n hanging_root_state_provider: Reference('block_state_provider'),\r\n allowed_tree_position: Reference('block_predicate_worldgen'),\r\n feature: PlacedFeature\r\n },\r\n 'minecraft:scattered_ore': OreConfig,\r\n 'minecraft:sea_pickle': {\r\n count: (0, Common_1.IntProvider)({ min: 0, max: 256 })\r\n },\r\n 'minecraft:seagrass': {\r\n probability: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n },\r\n 'minecraft:simple_block': {\r\n to_place: Reference('block_state_provider')\r\n },\r\n 'minecraft:simple_random_selector': {\r\n features: (0, Common_1.Tag)({ resource: '$worldgen/placed_feature', inlineSchema: 'placed_feature' }),\r\n },\r\n 'minecraft:spring_feature': {\r\n state: Reference('fluid_state'),\r\n rock_count: (0, core_1.NumberNode)({ integer: true }),\r\n hole_count: (0, core_1.NumberNode)({ integer: true }),\r\n requires_block_below: (0, core_1.BooleanNode)(),\r\n valid_blocks: (0, Common_1.Tag)({ resource: 'block' })\r\n },\r\n 'minecraft:tree': {\r\n ignore_vines: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n force_dirt: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n minimum_size: Reference('feature_size'),\r\n dirt_provider: Reference('block_state_provider'),\r\n trunk_provider: Reference('block_state_provider'),\r\n foliage_provider: Reference('block_state_provider'),\r\n trunk_placer: (0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/trunk_placer_type' } }),\r\n base_height: (0, core_1.NumberNode)({ integer: true, min: 0, max: 32 }),\r\n height_rand_a: (0, core_1.NumberNode)({ integer: true, min: 0, max: 24 }),\r\n height_rand_b: (0, core_1.NumberNode)({ integer: true, min: 0, max: 24 }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:bending_trunk_placer': {\r\n bend_length: (0, Common_1.IntProvider)({ min: 1, max: 64 }),\r\n min_height_for_leaves: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 1 }))\r\n }\r\n }\r\n }, { context: 'trunk_placer' }),\r\n foliage_placer: (0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/foliage_placer_type' } }),\r\n radius: (0, Common_1.IntProvider)({ min: 0, max: 16 }),\r\n offset: (0, Common_1.IntProvider)({ min: 0, max: 16 }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:blob_foliage_placer': {\r\n height: (0, core_1.NumberNode)({ integer: true, min: 0, max: 16 })\r\n },\r\n 'minecraft:bush_foliage_placer': {\r\n height: (0, core_1.NumberNode)({ integer: true, min: 0, max: 16 })\r\n },\r\n 'minecraft:fancy_foliage_placer': {\r\n height: (0, core_1.NumberNode)({ integer: true, min: 0, max: 16 })\r\n },\r\n 'minecraft:jungle_foliage_placer': {\r\n height: (0, core_1.NumberNode)({ integer: true, min: 0, max: 16 })\r\n },\r\n 'minecraft:mega_pine_foliage_placer': {\r\n crown_height: (0, Common_1.IntProvider)({ min: 0, max: 24 })\r\n },\r\n 'minecraft:pine_foliage_placer': {\r\n height: (0, Common_1.IntProvider)({ min: 0, max: 24 })\r\n },\r\n 'minecraft:random_spread_foliage_placer': {\r\n foliage_height: (0, Common_1.IntProvider)({ min: 1, max: 512 }),\r\n leaf_placement_attempts: (0, core_1.NumberNode)({ integer: true, min: 0, max: 256 })\r\n },\r\n 'minecraft:spruce_foliage_placer': {\r\n trunk_height: (0, Common_1.IntProvider)({ min: 0, max: 24 })\r\n }\r\n }\r\n }, { context: 'foliage_placer', disableSwitchContext: true }),\r\n decorators: (0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/tree_decorator_type' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:alter_ground': {\r\n provider: Reference('block_state_provider')\r\n },\r\n 'minecraft:beehive': {\r\n probability: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n },\r\n 'minecraft:cocoa': {\r\n probability: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n }\r\n }\r\n }, { context: 'tree_decorator' }))\r\n },\r\n 'minecraft:twisting_vines': {\r\n spread_width: (0, core_1.NumberNode)({ integer: true, min: 1 }),\r\n spread_height: (0, core_1.NumberNode)({ integer: true, min: 1 }),\r\n max_height: (0, core_1.NumberNode)({ integer: true, min: 1 }),\r\n },\r\n 'minecraft:underwater_magma': {\r\n floor_search_range: (0, core_1.NumberNode)({ integer: true, min: 0, max: 512 }),\r\n placement_radius_around_floor: (0, core_1.NumberNode)({ integer: true, min: 0, max: 64 }),\r\n placement_probability_per_valid_position: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n },\r\n 'minecraft:vegetation_patch': VegetationPatchConfig,\r\n 'minecraft:waterlogged_vegetation_patch': VegetationPatchConfig\r\n }\r\n }, { context: 'feature' })\r\n }, { context: 'feature' }), {\r\n default: () => ({\r\n type: 'minecraft:tree',\r\n config: {\r\n minimum_size: {\r\n type: 'minecraft:two_layers_feature_size'\r\n },\r\n trunk_placer: {\r\n type: 'minecraft:straight_trunk_placer',\r\n base_height: 5,\r\n height_rand_a: 2,\r\n height_rand_b: 0\r\n },\r\n foliage_placer: {\r\n type: 'minecraft:blob_foliage_placer',\r\n radius: 2,\r\n offset: 0,\r\n height: 3\r\n }\r\n }\r\n })\r\n }));\r\n schemas.register('placed_feature', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n feature: ConfiguredFeature,\r\n placement: (0, core_1.ListNode)(Reference('decorator'))\r\n }, { context: 'placed_feature' }), {\r\n default: () => ({\r\n feature: 'minecraft:oak',\r\n placement: [\r\n {\r\n type: 'minecraft:count',\r\n count: 4\r\n },\r\n {\r\n type: 'minecraft:in_square'\r\n },\r\n {\r\n type: 'minecraft:heightmap',\r\n heightmap: 'OCEAN_FLOOR'\r\n }\r\n ]\r\n })\r\n }));\r\n schemas.register('feature_size', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/feature_size_type' } }),\r\n min_clipped_height: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 80 })),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:two_layers_feature_size': {\r\n limit: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 0, max: 81 })),\r\n lower_size: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 0, max: 16 })),\r\n upper_size: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 0, max: 16 }))\r\n },\r\n 'minecraft:three_layers_feature_size': {\r\n limit: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 0, max: 80 })),\r\n upper_limit: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 0, max: 80 })),\r\n lower_size: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 0, max: 16 })),\r\n middle_size: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 0, max: 16 })),\r\n upper_size: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 0, max: 16 }))\r\n }\r\n }\r\n }, { disableSwitchContext: true }), {\r\n default: () => ({\r\n type: 'minecraft:two_layers_feature_size'\r\n })\r\n }));\r\n const NoiseProvider = {\r\n seed: (0, core_1.NumberNode)({ integer: true }),\r\n noise: Reference('noise_parameters'),\r\n scale: (0, core_1.Mod)((0, core_1.NumberNode)({ min: Number.MIN_VALUE }), { default: () => 1 })\r\n };\r\n schemas.register('block_state_provider', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/block_state_provider_type' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:dual_noise_provider': {\r\n ...NoiseProvider,\r\n variety: (0, Common_1.InclusiveRange)({ integer: true, min: 1, max: 64 }),\r\n slow_noise: Reference('noise_parameters'),\r\n slow_scale: (0, core_1.Mod)((0, core_1.NumberNode)({ min: Number.MIN_VALUE }), { default: () => 1 }),\r\n states: (0, core_1.ListNode)(Reference('block_state'))\r\n },\r\n 'minecraft:noise_threshold_provider': {\r\n ...NoiseProvider,\r\n threshold: (0, core_1.NumberNode)({ min: -1, max: 1 }),\r\n high_chance: (0, core_1.NumberNode)({ min: 0, max: 1 }),\r\n default_state: Reference('block_state'),\r\n low_states: (0, core_1.ListNode)(Reference('block_state')),\r\n high_states: (0, core_1.ListNode)(Reference('block_state'))\r\n },\r\n 'minecraft:noise_provider': {\r\n ...NoiseProvider,\r\n states: (0, core_1.ListNode)(Reference('block_state'))\r\n },\r\n 'minecraft:randomized_int_state_provider': {\r\n property: StringNode(),\r\n values: (0, Common_1.IntProvider)(),\r\n source: Reference('block_state_provider')\r\n },\r\n 'minecraft:rotated_block_provider': {\r\n state: Reference('block_state')\r\n },\r\n 'minecraft:simple_state_provider': {\r\n state: Reference('block_state')\r\n },\r\n 'minecraft:weighted_state_provider': {\r\n entries: (0, core_1.ListNode)((0, core_1.Mod)((0, core_1.ObjectNode)({\r\n weight: (0, core_1.NumberNode)({ integer: true, min: 1 }),\r\n data: Reference('block_state')\r\n }), {\r\n default: () => ({\r\n data: {}\r\n })\r\n }))\r\n }\r\n }\r\n }, { context: 'block_state_provider' }), {\r\n default: () => ({\r\n type: 'minecraft:simple_state_provider'\r\n })\r\n }));\r\n const Offset = {\r\n offset: (0, core_1.Opt)((0, core_1.ListNode)((0, core_1.NumberNode)({ integer: true, min: -16, max: 16 }), { minLength: 3, maxLength: 3 }))\r\n };\r\n schemas.register('block_predicate_worldgen', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'block_predicate_type' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:all_of': {\r\n predicates: (0, core_1.ListNode)(Reference('block_predicate_worldgen'))\r\n },\r\n 'minecraft:any_of': {\r\n predicates: (0, core_1.ListNode)(Reference('block_predicate_worldgen'))\r\n },\r\n 'minecraft:has_sturdy_face': {\r\n ...Offset,\r\n direction: StringNode({ enum: 'direction' })\r\n },\r\n 'minecraft:inside_world_bounds': {\r\n ...Offset,\r\n },\r\n 'minecraft:matching_block_tag': {\r\n ...Offset,\r\n tag: StringNode({ validator: 'resource', params: { pool: '$tag/block' } })\r\n },\r\n 'minecraft:matching_blocks': {\r\n ...Offset,\r\n blocks: (0, Common_1.Tag)({ resource: 'block' })\r\n },\r\n 'minecraft:matching_fluids': {\r\n ...Offset,\r\n fluids: (0, Common_1.Tag)({ resource: 'fluid' })\r\n },\r\n 'minecraft:not': {\r\n predicate: Reference('block_predicate_worldgen')\r\n },\r\n 'minecraft:would_survive': {\r\n ...Offset,\r\n state: Reference('block_state')\r\n }\r\n }\r\n }, { context: 'block_predicate' }), {\r\n default: () => ({\r\n type: 'minecraft:true'\r\n })\r\n }));\r\n}\r\nexports.initFeatureSchemas = initFeatureSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initNoiseSettingsSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"../Common\");\r\nconst DensityFunction_1 = require(\"./DensityFunction\");\r\nfunction initNoiseSettingsSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('noise_settings', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n sea_level: (0, core_1.NumberNode)({ integer: true }),\r\n disable_mob_generation: (0, core_1.BooleanNode)(),\r\n aquifers_enabled: (0, core_1.BooleanNode)(),\r\n ore_veins_enabled: (0, core_1.BooleanNode)(),\r\n legacy_random_source: (0, core_1.BooleanNode)(),\r\n default_block: Reference('block_state'),\r\n default_fluid: Reference('block_state'),\r\n noise: (0, core_1.ObjectNode)({\r\n min_y: (0, core_1.NumberNode)({ integer: true, min: -2048, max: 2047 }),\r\n height: (0, core_1.NumberNode)({ integer: true, min: 0, max: 4096 }),\r\n size_horizontal: (0, core_1.NumberNode)({ integer: true }),\r\n size_vertical: (0, core_1.NumberNode)({ integer: true }),\r\n sampling: (0, core_1.ObjectNode)({\r\n xz_scale: (0, core_1.NumberNode)(),\r\n y_scale: (0, core_1.NumberNode)(),\r\n xz_factor: (0, core_1.NumberNode)(),\r\n y_factor: (0, core_1.NumberNode)()\r\n }),\r\n bottom_slide: Reference('noise_slider'),\r\n top_slide: Reference('noise_slider'),\r\n terrain_shaper: Reference('terrain_shaper')\r\n }),\r\n noise_router: (0, core_1.ObjectNode)({\r\n barrier: DensityFunction_1.DensityFunction,\r\n fluid_level_floodedness: DensityFunction_1.DensityFunction,\r\n fluid_level_spread: DensityFunction_1.DensityFunction,\r\n lava: DensityFunction_1.DensityFunction,\r\n temperature: DensityFunction_1.DensityFunction,\r\n vegetation: DensityFunction_1.DensityFunction,\r\n continents: DensityFunction_1.DensityFunction,\r\n erosion: DensityFunction_1.DensityFunction,\r\n depth: DensityFunction_1.DensityFunction,\r\n ridges: DensityFunction_1.DensityFunction,\r\n initial_density_without_jaggedness: DensityFunction_1.DensityFunction,\r\n final_density: DensityFunction_1.DensityFunction,\r\n vein_toggle: DensityFunction_1.DensityFunction,\r\n vein_ridged: DensityFunction_1.DensityFunction,\r\n vein_gap: DensityFunction_1.DensityFunction,\r\n }),\r\n surface_rule: Reference('material_rule'),\r\n }, { context: 'noise_settings' }), node => ({\r\n default: () => Common_1.DefaultNoiseSettings,\r\n validate: (path, value, errors, options) => {\r\n var _a, _b, _c, _d;\r\n value = node.validate(path, value, errors, options);\r\n if (((_a = value === null || value === void 0 ? void 0 : value.noise) === null || _a === void 0 ? void 0 : _a.min_y) + ((_b = value === null || value === void 0 ? void 0 : value.noise) === null || _b === void 0 ? void 0 : _b.height) > 2047) {\r\n errors.add(path.push('noise').push('height'), 'error.min_y_plus_height', 2047);\r\n }\r\n if (((_c = value === null || value === void 0 ? void 0 : value.noise) === null || _c === void 0 ? void 0 : _c.height) % 16 !== 0) {\r\n errors.add(path.push('noise').push('height'), 'error.height_multiple', 16);\r\n }\r\n if (((_d = value === null || value === void 0 ? void 0 : value.noise) === null || _d === void 0 ? void 0 : _d.min_y) % 16 !== 0) {\r\n errors.add(path.push('noise').push('min_y'), 'error.min_y_multiple', 16);\r\n }\r\n return value;\r\n }\r\n })));\r\n schemas.register('noise_slider', (0, core_1.ObjectNode)({\r\n target: (0, core_1.NumberNode)(),\r\n size: (0, core_1.NumberNode)({ integer: true, min: 0 }),\r\n offset: (0, core_1.NumberNode)({ integer: true })\r\n }));\r\n schemas.register('generator_layer', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n block: StringNode({ validator: 'resource', params: { pool: 'block' } }),\r\n height: (0, core_1.NumberNode)({ integer: true, min: 1 })\r\n }), {\r\n default: () => ({\r\n block: 'minecraft:stone',\r\n height: 1\r\n })\r\n }));\r\n schemas.register('terrain_shaper', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n offset: Reference('terrain_spline'),\r\n factor: Reference('terrain_spline'),\r\n jaggedness: Reference('terrain_spline'),\r\n }, { context: 'terrain_shaper' }), {\r\n default: () => ({\r\n offset: 0,\r\n factor: 0,\r\n jaggedness: 0,\r\n })\r\n }));\r\n schemas.register('terrain_spline', (0, core_1.Mod)((0, core_1.ChoiceNode)([\r\n {\r\n type: 'number',\r\n node: (0, core_1.NumberNode)()\r\n },\r\n {\r\n type: 'object',\r\n node: (0, core_1.ObjectNode)({\r\n coordinate: (0, core_1.Mod)(StringNode({ enum: ['continents', 'erosion', 'weirdness', 'ridges'] }), { default: () => 'continents' }),\r\n points: (0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n location: (0, core_1.NumberNode)(),\r\n derivative: (0, core_1.NumberNode)(),\r\n value: Reference('terrain_spline')\r\n }))\r\n }, { category: 'function' })\r\n }\r\n ], { context: 'terrain_spline', choiceContext: 'terrain_spline' }), {\r\n default: () => 0\r\n }));\r\n}\r\nexports.initNoiseSettingsSchemas = initNoiseSettingsSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initStructureFeatureSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"../Common\");\r\nconst Biome_1 = require(\"./Biome\");\r\nfunction initStructureFeatureSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const templatePoolConfig = {\r\n start_pool: StringNode({ validator: 'resource', params: { pool: '$worldgen/template_pool' } }),\r\n size: (0, core_1.NumberNode)({ integer: true })\r\n };\r\n schemas.register('configured_structure_feature', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/structure_feature' } }),\r\n biomes: (0, Common_1.Tag)({ resource: '$worldgen/biome' }),\r\n adapt_noise: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n spawn_overrides: (0, core_1.MapNode)(StringNode({ enum: 'mob_category' }), (0, core_1.ObjectNode)({\r\n bounding_box: StringNode({ enum: ['piece', 'full'] }),\r\n spawns: Biome_1.MobCategorySpawnSettings,\r\n })),\r\n config: (0, core_1.ObjectNode)({\r\n [core_1.Switch]: ['pop', { push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:bastion_remnant': templatePoolConfig,\r\n 'minecraft:buried_treasure': {\r\n probability: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n },\r\n 'minecraft:mineshaft': {\r\n type: StringNode({ enum: ['normal', 'mesa'] }),\r\n probability: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n },\r\n 'minecraft:nether_fossil': {\r\n height: Reference('height_provider')\r\n },\r\n 'minecraft:ocean_ruin': {\r\n biome_temp: StringNode({ enum: ['cold', 'warm'] }),\r\n large_probability: (0, core_1.NumberNode)({ min: 0, max: 1 }),\r\n cluster_probability: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n },\r\n 'minecraft:pillager_outpost': templatePoolConfig,\r\n 'minecraft:ruined_portal': {\r\n portal_type: StringNode({ enum: ['standard', 'desert', 'jungle', 'mountain', 'nether', 'ocean', 'swamp'] })\r\n },\r\n 'minecraft:shipwreck': {\r\n is_beached: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n },\r\n 'minecraft:village': templatePoolConfig\r\n }\r\n }, { context: 'structure_feature', disableSwitchContext: true })\r\n }, { context: 'structure_feature' }), {\r\n default: () => ({\r\n type: 'minecraft:bastion_remnant',\r\n config: {\r\n start_pool: 'minecraft:bastion/starts',\r\n size: 6\r\n }\r\n })\r\n }));\r\n}\r\nexports.initStructureFeatureSchemas = initStructureFeatureSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initStructureSetSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"../Common\");\r\nfunction initStructureSetSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n schemas.register('structure_set', (0, core_1.ObjectNode)({\r\n structures: (0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n structure: (0, Common_1.Tag)({ resource: '$worldgen/configured_structure_feature' }),\r\n weight: (0, core_1.NumberNode)({ integer: true, min: 1 })\r\n })),\r\n placement: Reference('structure_placement')\r\n }, { context: 'structure_set' }));\r\n schemas.register('structure_placement', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/structure_placement' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:concentric_rings': {\r\n distance: (0, core_1.NumberNode)({ integer: true, min: 0, max: 1023 }),\r\n spread: (0, core_1.NumberNode)({ integer: true, min: 0, max: 1023 }),\r\n count: (0, core_1.NumberNode)({ integer: true, min: 1, max: 4095 })\r\n },\r\n 'minecraft:random_spread': {\r\n spread_type: (0, core_1.Opt)(StringNode({ enum: ['linear', 'triangular'] })),\r\n spacing: (0, core_1.NumberNode)({ integer: true, min: 0, max: 4096 }),\r\n separation: (0, core_1.Mod)((0, core_1.NumberNode)({ integer: true, min: 0, max: 4096 }), (node) => ({\r\n validate: (path, value, errors, options) => {\r\n if (path.pop().push('spacing').get() <= value) {\r\n errors.add(path, 'error.separation_smaller_spacing');\r\n }\r\n return node.validate(path, value, errors, options);\r\n }\r\n })),\r\n salt: (0, core_1.NumberNode)({ integer: true, min: 0 }),\r\n locate_offset: (0, core_1.Opt)((0, core_1.ListNode)((0, core_1.NumberNode)({ integer: true, min: -16, max: 16 }), { minLength: 3, maxLength: 3 }))\r\n }\r\n }\r\n }, { context: 'structure_placement' }), {\r\n default: () => ({\r\n type: 'minecraft:random_spread',\r\n spacing: 10,\r\n separation: 5,\r\n salt: Math.floor(Math.random() * 2147483647)\r\n })\r\n }));\r\n}\r\nexports.initStructureSetSchemas = initStructureSetSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initSurfaceRuleSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initSurfaceRuleSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n schemas.register('material_rule', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/material_rule' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:block': {\r\n result_state: Reference('block_state'),\r\n },\r\n 'minecraft:condition': {\r\n if_true: Reference('material_condition'),\r\n then_run: Reference('material_rule')\r\n },\r\n 'minecraft:sequence': {\r\n sequence: (0, core_1.ListNode)(Reference('material_rule'))\r\n }\r\n }\r\n }, { context: 'material_rule', category: 'pool' }), {\r\n default: () => ({\r\n type: 'minecraft:block',\r\n result_state: {\r\n Name: 'minecraft:stone'\r\n }\r\n })\r\n }));\r\n schemas.register('material_condition', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/material_condition' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:biome': {\r\n biome_is: (0, core_1.ListNode)(StringNode({ validator: 'resource', params: { pool: '$worldgen/biome' } }))\r\n },\r\n 'minecraft:noise_threshold': {\r\n noise: StringNode({ validator: 'resource', params: { pool: '$worldgen/noise' } }),\r\n min_threshold: (0, core_1.NumberNode)(),\r\n max_threshold: (0, core_1.NumberNode)()\r\n },\r\n 'minecraft:not': {\r\n invert: Reference('material_condition')\r\n },\r\n 'minecraft:stone_depth': {\r\n offset: (0, core_1.NumberNode)({ integer: true }),\r\n surface_type: StringNode({ enum: 'cave_surface' }),\r\n add_surface_depth: (0, core_1.BooleanNode)(),\r\n secondary_depth_range: (0, core_1.NumberNode)({ integer: true }),\r\n },\r\n 'minecraft:vertical_gradient': {\r\n random_name: StringNode(),\r\n true_at_and_below: Reference('vertical_anchor'),\r\n false_at_and_above: Reference('vertical_anchor'),\r\n },\r\n 'minecraft:water': {\r\n offset: (0, core_1.NumberNode)({ integer: true }),\r\n surface_depth_multiplier: (0, core_1.NumberNode)({ integer: true, min: -20, max: 20 }),\r\n add_stone_depth: (0, core_1.BooleanNode)()\r\n },\r\n 'minecraft:y_above': {\r\n anchor: Reference('vertical_anchor'),\r\n surface_depth_multiplier: (0, core_1.NumberNode)({ integer: true, min: -20, max: 20 }),\r\n add_stone_depth: (0, core_1.BooleanNode)()\r\n }\r\n }\r\n }, { context: 'material_condition' }), {\r\n default: () => ({\r\n type: 'minecraft:biome',\r\n is_biome: 'minecraft:plains'\r\n })\r\n }));\r\n}\r\nexports.initSurfaceRuleSchemas = initSurfaceRuleSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initTemplatePoolSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nrequire(\"./ProcessorList\");\r\nconst ProcessorList_1 = require(\"./ProcessorList\");\r\nfunction initTemplatePoolSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('template_pool', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n name: StringNode(),\r\n fallback: StringNode(),\r\n elements: (0, core_1.ListNode)(Reference('template_weighted_element'))\r\n }, { context: 'template_pool' }), {\r\n default: () => ({\r\n fallback: 'minecraft:empty',\r\n elements: [\r\n {\r\n weight: 1,\r\n element: {\r\n element_type: 'minecraft:single_pool_element',\r\n projection: 'rigid',\r\n processors: 'minecraft:empty'\r\n }\r\n }\r\n ]\r\n })\r\n }));\r\n schemas.register('template_weighted_element', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n weight: (0, core_1.NumberNode)({ integer: true, min: 1 }),\r\n element: Reference('template_element')\r\n }, { category: 'pool' }), {\r\n default: () => ({\r\n weight: 1,\r\n element: {\r\n element_type: 'minecraft:single_pool_element',\r\n projection: 'rigid',\r\n processors: 'minecraft:empty'\r\n }\r\n })\r\n }));\r\n schemas.register('template_element', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n element_type: StringNode({ validator: 'resource', params: { pool: 'worldgen/structure_pool_element' } }),\r\n projection: StringNode({ enum: ['rigid', 'terrain_matching'] }),\r\n [core_1.Switch]: [{ push: 'element_type' }],\r\n [core_1.Case]: {\r\n 'minecraft:feature_pool_element': {\r\n feature: StringNode({ validator: 'resource', params: { pool: '$worldgen/placed_feature' } })\r\n },\r\n 'minecraft:legacy_single_pool_element': {\r\n location: StringNode({ validator: 'resource', params: { pool: '$structure' } }),\r\n processors: ProcessorList_1.Processors\r\n },\r\n 'minecraft:list_pool_element': {\r\n elements: (0, core_1.ListNode)(Reference('template_element'))\r\n },\r\n 'minecraft:single_pool_element': {\r\n location: StringNode({ validator: 'resource', params: { pool: '$structure' } }),\r\n processors: ProcessorList_1.Processors\r\n }\r\n }\r\n }, { context: 'template_element', disableSwitchContext: true }), {\r\n default: () => ({\r\n element_type: 'minecraft:single_pool_element',\r\n projection: 'rigid',\r\n processors: 'minecraft:empty'\r\n })\r\n }));\r\n}\r\nexports.initTemplatePoolSchemas = initTemplatePoolSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initWorldgenSchemas = void 0;\r\nconst Biome_1 = require(\"./Biome\");\r\nconst Carver_1 = require(\"./Carver\");\r\nconst Decorator_1 = require(\"./Decorator\");\r\nconst DensityFunction_1 = require(\"./DensityFunction\");\r\nconst Feature_1 = require(\"./Feature\");\r\nconst NoiseSettings_1 = require(\"./NoiseSettings\");\r\nconst ProcessorList_1 = require(\"./ProcessorList\");\r\nconst StructureFeature_1 = require(\"./StructureFeature\");\r\nconst StructureSet_1 = require(\"./StructureSet\");\r\nconst SurfaceRule_1 = require(\"./SurfaceRule\");\r\nconst TemplatePool_1 = require(\"./TemplatePool\");\r\nfunction initWorldgenSchemas(schemas, collections) {\r\n // `ProcessorList.ts`, `DensityFunction.ts`, and `Biome.ts` have exports. They should be initialized first. \r\n (0, ProcessorList_1.initProcessorListSchemas)(schemas, collections);\r\n (0, DensityFunction_1.initDensityFunctionSchemas)(schemas, collections);\r\n (0, Biome_1.initBiomeSchemas)(schemas, collections);\r\n (0, Carver_1.initCarverSchemas)(schemas, collections);\r\n (0, Decorator_1.initDecoratorSchemas)(schemas, collections);\r\n (0, Feature_1.initFeatureSchemas)(schemas, collections);\r\n (0, NoiseSettings_1.initNoiseSettingsSchemas)(schemas, collections);\r\n (0, StructureFeature_1.initStructureFeatureSchemas)(schemas, collections);\r\n (0, StructureSet_1.initStructureSetSchemas)(schemas, collections);\r\n (0, SurfaceRule_1.initSurfaceRuleSchemas)(schemas, collections);\r\n (0, TemplatePool_1.initTemplatePoolSchemas)(schemas, collections);\r\n}\r\nexports.initWorldgenSchemas = initWorldgenSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initWorldSettingsSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initWorldSettingsSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('world_settings', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n generate_features: (0, core_1.BooleanNode)(),\r\n bonus_chest: (0, core_1.BooleanNode)(),\r\n seed: (0, core_1.NumberNode)({ integer: true }),\r\n dimensions: (0, core_1.MapNode)(StringNode({ validator: 'resource', params: { pool: '$dimension' } }), Reference('dimension'))\r\n }, { context: 'world_settings' }), {\r\n default: () => {\r\n const seed = Math.floor(Math.random() * (4294967296)) - 2147483648;\r\n return {\r\n generate_features: true,\r\n bonus_chest: false,\r\n seed,\r\n dimensions: {\r\n 'minecraft:overworld': {\r\n type: 'minecraft:overworld',\r\n generator: {\r\n type: 'minecraft:noise',\r\n seed,\r\n biome_source: {\r\n type: 'minecraft:multi_noise',\r\n preset: \"minecraft:overworld\"\r\n },\r\n settings: 'minecraft:overworld',\r\n }\r\n },\r\n 'minecraft:the_nether': {\r\n type: 'minecraft:the_nether',\r\n generator: {\r\n type: 'minecraft:noise',\r\n seed,\r\n biome_source: {\r\n type: 'minecraft:multi_noise',\r\n preset: \"minecraft:nether\"\r\n },\r\n settings: 'minecraft:nether'\r\n }\r\n },\r\n 'minecraft:the_end': {\r\n type: \"minecraft:the_end\",\r\n generator: {\r\n type: \"minecraft:noise\",\r\n seed,\r\n biome_source: {\r\n type: \"minecraft:the_end\",\r\n seed\r\n },\r\n settings: \"minecraft:end\"\r\n }\r\n }\r\n }\r\n };\r\n }\r\n }));\r\n}\r\nexports.initWorldSettingsSchemas = initWorldSettingsSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initSchemas = void 0;\r\nconst Advancement_1 = require(\"./Advancement\");\r\nconst assets_1 = require(\"./assets\");\r\nconst Common_1 = require(\"./Common\");\r\nconst Condition_1 = require(\"./Condition\");\r\nconst Dimension_1 = require(\"./Dimension\");\r\nconst DimensionType_1 = require(\"./DimensionType\");\r\nconst ItemModifier_1 = require(\"./ItemModifier\");\r\nconst LootTable_1 = require(\"./LootTable\");\r\nconst PackMcmeta_1 = require(\"./PackMcmeta\");\r\nconst Predicates_1 = require(\"./Predicates\");\r\nconst Recipe_1 = require(\"./Recipe\");\r\nconst Tags_1 = require(\"./Tags\");\r\nconst TextComponent_1 = require(\"./TextComponent\");\r\nconst worldgen_1 = require(\"./worldgen\");\r\nconst WorldSettings_1 = require(\"./WorldSettings\");\r\nfunction initSchemas(schemas, collections) {\r\n // `Common.ts` is the only file that has exports. It should be initialized first. \r\n (0, Common_1.initCommonSchemas)(schemas, collections);\r\n (0, Advancement_1.initAdvancementSchemas)(schemas, collections);\r\n (0, assets_1.initAssetsSchemas)(schemas, collections);\r\n (0, Condition_1.initConditionSchemas)(schemas, collections);\r\n (0, DimensionType_1.initDimensionTypeSchemas)(schemas, collections);\r\n (0, Dimension_1.initDimensionSchemas)(schemas, collections);\r\n (0, ItemModifier_1.initItemModifierSchemas)(schemas, collections);\r\n (0, LootTable_1.initLootTableSchemas)(schemas, collections);\r\n (0, PackMcmeta_1.initPackMcmetaSchemas)(schemas, collections);\r\n (0, Predicates_1.initPredicatesSchemas)(schemas, collections);\r\n (0, Recipe_1.initRecipeSchemas)(schemas, collections);\r\n (0, Tags_1.initTagsSchemas)(schemas, collections);\r\n (0, TextComponent_1.initTextComponentSchemas)(schemas, collections);\r\n (0, worldgen_1.initWorldgenSchemas)(schemas, collections);\r\n (0, WorldSettings_1.initWorldSettingsSchemas)(schemas, collections);\r\n}\r\nexports.initSchemas = initSchemas;\r\n","\"use strict\";\r\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}));\r\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n});\r\nvar __importStar = (this && this.__importStar) || function (mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.getSchemas = exports.getCollections = exports.lootContext = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Collections_1 = require(\"./Collections\");\r\nconst schemas_1 = require(\"./schemas\");\r\nexports.lootContext = __importStar(require(\"./LootContext\"));\r\nfunction getCollections() {\r\n const collections = new core_1.CollectionRegistry();\r\n (0, Collections_1.initCollections)(collections);\r\n return collections;\r\n}\r\nexports.getCollections = getCollections;\r\n/**\r\n * @param collections The CollectionRegistry for this version. Note that apart from\r\n * the built-in collections, the client of this module is responsible for futhermore\r\n * adding the vanilla registries to it: the collection IDs shouldn't contain the\r\n * namespace (`minecraft:`) part, while the values within the collections should.\r\n *\r\n * @example\r\n * for (const key in VANILLA_REGISTRIES>) {\r\n * collections.register(\r\n * key.replace(/^minecraft:/, ''),\r\n * Object.keys(VANILLA_REGISTRIES[key].entries)\r\n * )\r\n * }\r\n */\r\nfunction getSchemas(collections) {\r\n const schemas = new core_1.SchemaRegistry();\r\n (0, schemas_1.initSchemas)(schemas, collections);\r\n return schemas;\r\n}\r\nexports.getSchemas = getSchemas;\r\n"],"names":["core_1","require$$0","require$$1","Common_1","require$$2","ProcessorList_1","DensityFunction_1","Biome_1","require$$3","require$$4","require$$5","require$$6","require$$7","require$$8","require$$9","require$$10","require$$11","require$$12","require$$13","require$$14","this"],"mappings":"+1BACA,OAAO,eAAe,GAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EACrC,GAAA,gBAAG,OAC1B,YAAyB,EAAa,CAClC,EAAY,SAAS,sBAAuB,CACxC,+BACA,yBACA,0BACA,8BACA,gCACA,6BACA,yBACA,kCACA,4BACA,2BACA,wBACA,+BACA,iCACA,6BACA,0BACA,+BACA,gCACA,uBACA,8BACA,oCACA,+BACA,+BACA,uBACA,6BACA,qBACA,0BACA,yBACA,4CACA,+BACA,0CACA,iCACA,4BACA,gCACA,0BACA,yBACA,6BACA,2BACA,4BACA,wBACA,uBACA,iBACA,4CACA,2BACA,uBACA,uBACA,2BACA,2BACR,CAAK,EACD,EAAY,SAAS,UAAW,CAC5B,mBACA,aACA,WACA,WACA,cACA,WACA,cACA,iBACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,gBACA,WACA,WACA,2BACA,eACA,iBACA,YACA,2BACA,iBACA,mBACA,YACA,wBACA,aACA,kBACA,wBACA,SACR,CAAK,EACD,EAAY,SAAS,OAAQ,CACzB,WACA,UACA,OACA,QACA,OACA,MACR,CAAK,EACD,EAAY,SAAS,WAAY,CAC7B,WACA,WACA,YACA,WACR,CAAK,EACD,EAAY,SAAS,gBAAiB,CAClC,OACA,SACA,gBACA,eACR,CAAK,EACD,EAAY,SAAS,cAAe,CAChC,eACA,OACA,SACA,eACR,CAAK,EACD,EAAY,SAAS,iCAAkC,CACnD,gCACA,sCACA,qBACR,CAAK,EACD,EAAY,SAAS,iBAAkB,CACnC,UACA,WACA,SACA,QACA,aACA,cACA,WACA,eACA,iBACA,oBACA,QACA,eACA,gBACA,iBACA,oBACA,gBACA,cACA,cACA,cACA,oBACA,cACA,gBACA,cACA,eACA,eACA,aACA,cACR,CAAK,EACD,EAAY,SAAS,cAAe,CAChC,kBACA,kBACA,iBACA,UACA,WACA,QACA,iBACA,UACA,YACA,WACA,gBACA,aACA,mBACA,gBACA,YACA,aACA,YACA,SACR,CAAK,EACD,EAAY,SAAS,eAAgB,CACjC,MACA,iBACA,aACA,gBACA,YACA,qBACA,WACA,cACA,OACA,cACA,iBACA,oBACA,SACA,gBACA,cACA,qBACA,eACA,SACA,kBACA,wBACA,OACA,YACA,aACA,WACA,UACA,kBACA,gBACA,aACA,WACA,cACA,aACA,SACA,OACA,OACA,QACA,WACA,YACA,SACA,iBACR,CAAK,EACD,EAAY,SAAS,iBAAkB,CACnC,QACA,SACA,gBACA,SACA,MACA,SACA,OACA,WACA,WACA,SACA,OACA,QACA,SACA,QACA,UACA,QACA,QACA,UACA,aACR,CAAK,EACD,EAAY,SAAS,iBAAkB,CACnC,kBACA,4BACA,cACA,iBACA,gBACA,kBACR,CAAK,EACD,EAAY,SAAS,kBAAmB,CACpC,MACA,QACR,CAAK,EACD,EAAY,SAAS,oBAAqB,CACtC,kBACA,kBACA,oBACA,qBACA,oBACA,mBACA,iBACA,mBACA,+BACA,+BACA,oBACA,iBACR,CAAK,EACD,EAAY,SAAS,iBAAkB,CACnC,OACA,qBACA,sBACA,kBACA,mBACA,gBACA,aACA,cACA,eACA,gBACA,gBACA,mBACA,kBACA,gBACA,QACA,iBACA,kBACA,eACA,mBACA,gBACA,gBACA,oBACA,mBACA,iBACA,SACA,UACA,gBACA,kBACA,sBACA,yBACA,SACA,eACA,WACA,cACA,SACA,QACA,UACA,QACA,SACA,SACA,QACR,CAAK,EACD,EAAY,SAAS,YAAa,CAC9B,QACA,SACA,UACA,aACA,SACA,OACA,OACA,OACA,aACA,OACA,SACA,OACA,QACA,QACA,MACA,OACR,CAAK,EACD,EAAY,SAAS,eAAgB,CACjC,QACA,SACR,CAAK,EACD,EAAY,SAAS,YAAa,CAC9B,OACA,KACA,QACA,OACA,QACA,MACR,CAAK,EACD,EAAY,SAAS,OAAQ,CACzB,IACA,IACA,GACR,CAAK,EACD,EAAY,SAAS,mBAAoB,CACrC,wBACA,uBACA,wBACA,uBACA,MACA,OACA,SACA,OACR,CAAK,EACD,EAAY,SAAS,YAAa,CAC9B,QACA,MACR,CAAK,EA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"} \ No newline at end of file +{"version":3,"file":"index.75f8e4cf.js","sources":["../../node_modules/@mcschema/java-1.18.2/lib/Collections.js","../../node_modules/@mcschema/java-1.18.2/lib/schemas/Advancement.js","../../node_modules/@mcschema/java-1.18.2/lib/schemas/assets/Model.js","../../node_modules/@mcschema/java-1.18.2/lib/schemas/assets/BlockDefinition.js","../../node_modules/@mcschema/java-1.18.2/lib/schemas/assets/index.js","../../node_modules/@mcschema/java-1.18.2/lib/schemas/Common.js","../../node_modules/@mcschema/java-1.18.2/lib/schemas/Condition.js","../../node_modules/@mcschema/java-1.18.2/lib/schemas/Dimension.js","../../node_modules/@mcschema/java-1.18.2/lib/schemas/DimensionType.js","../../node_modules/@mcschema/java-1.18.2/lib/schemas/ItemModifier.js","../../node_modules/@mcschema/java-1.18.2/lib/LootContext.js","../../node_modules/@mcschema/java-1.18.2/lib/schemas/LootTable.js","../../node_modules/@mcschema/java-1.18.2/lib/schemas/PackMcmeta.js","../../node_modules/@mcschema/java-1.18.2/lib/schemas/Predicates.js","../../node_modules/@mcschema/java-1.18.2/lib/schemas/Recipe.js","../../node_modules/@mcschema/java-1.18.2/lib/schemas/Tags.js","../../node_modules/@mcschema/java-1.18.2/lib/schemas/TextComponent.js","../../node_modules/@mcschema/java-1.18.2/lib/schemas/worldgen/Biome.js","../../node_modules/@mcschema/java-1.18.2/lib/schemas/worldgen/Carver.js","../../node_modules/@mcschema/java-1.18.2/lib/schemas/worldgen/Decorator.js","../../node_modules/@mcschema/java-1.18.2/lib/schemas/worldgen/DensityFunction.js","../../node_modules/@mcschema/java-1.18.2/lib/schemas/worldgen/ProcessorList.js","../../node_modules/@mcschema/java-1.18.2/lib/schemas/worldgen/Feature.js","../../node_modules/@mcschema/java-1.18.2/lib/schemas/worldgen/NoiseSettings.js","../../node_modules/@mcschema/java-1.18.2/lib/schemas/worldgen/StructureFeature.js","../../node_modules/@mcschema/java-1.18.2/lib/schemas/worldgen/StructureSet.js","../../node_modules/@mcschema/java-1.18.2/lib/schemas/worldgen/SurfaceRule.js","../../node_modules/@mcschema/java-1.18.2/lib/schemas/worldgen/TemplatePool.js","../../node_modules/@mcschema/java-1.18.2/lib/schemas/worldgen/index.js","../../node_modules/@mcschema/java-1.18.2/lib/schemas/WorldSettings.js","../../node_modules/@mcschema/java-1.18.2/lib/schemas/index.js","../../node_modules/@mcschema/java-1.18.2/lib/index.js"],"sourcesContent":["\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initCollections = void 0;\r\nfunction initCollections(collections) {\r\n collections.register('advancement_trigger', [\r\n 'minecraft:bee_nest_destroyed',\r\n 'minecraft:bred_animals',\r\n 'minecraft:brewed_potion',\r\n 'minecraft:changed_dimension',\r\n 'minecraft:channeled_lightning',\r\n 'minecraft:construct_beacon',\r\n 'minecraft:consume_item',\r\n 'minecraft:cured_zombie_villager',\r\n 'minecraft:effects_changed',\r\n 'minecraft:enchanted_item',\r\n 'minecraft:enter_block',\r\n 'minecraft:entity_hurt_player',\r\n 'minecraft:entity_killed_player',\r\n 'minecraft:fall_from_height',\r\n 'minecraft:filled_bucket',\r\n 'minecraft:fishing_rod_hooked',\r\n 'minecraft:hero_of_the_village',\r\n 'minecraft:impossible',\r\n 'minecraft:inventory_changed',\r\n 'minecraft:item_durability_changed',\r\n 'minecraft:item_used_on_block',\r\n 'minecraft:killed_by_crossbow',\r\n 'minecraft:levitation',\r\n 'minecraft:lightning_strike',\r\n 'minecraft:location',\r\n 'minecraft:nether_travel',\r\n 'minecraft:placed_block',\r\n 'minecraft:player_generates_container_loot',\r\n 'minecraft:player_hurt_entity',\r\n 'minecraft:player_interacted_with_entity',\r\n 'minecraft:player_killed_entity',\r\n 'minecraft:recipe_unlocked',\r\n 'minecraft:ride_entity_in_lava',\r\n 'minecraft:shot_crossbow',\r\n 'minecraft:slept_in_bed',\r\n 'minecraft:slide_down_block',\r\n 'minecraft:started_riding',\r\n 'minecraft:summoned_entity',\r\n 'minecraft:tame_animal',\r\n 'minecraft:target_hit',\r\n 'minecraft:tick',\r\n 'minecraft:thrown_item_picked_up_by_entity',\r\n 'minecraft:used_ender_eye',\r\n 'minecraft:used_totem',\r\n 'minecraft:using_item',\r\n 'minecraft:villager_trade',\r\n 'minecraft:voluntary_exile'\r\n ]);\r\n collections.register('keybind', [\r\n 'key.advancements',\r\n 'key.attack',\r\n 'key.back',\r\n 'key.chat',\r\n 'key.command',\r\n 'key.drop',\r\n 'key.forward',\r\n 'key.fullscreen',\r\n 'key.hotbar.1',\r\n 'key.hotbar.2',\r\n 'key.hotbar.3',\r\n 'key.hotbar.4',\r\n 'key.hotbar.5',\r\n 'key.hotbar.6',\r\n 'key.hotbar.7',\r\n 'key.hotbar.8',\r\n 'key.hotbar.9',\r\n 'key.inventory',\r\n 'key.jump',\r\n 'key.left',\r\n 'key.loadToolbarActivator',\r\n 'key.pickItem',\r\n 'key.playerlist',\r\n 'key.right',\r\n 'key.saveToolbarActivator',\r\n 'key.screenshot',\r\n 'key.smoothCamera',\r\n 'key.sneak',\r\n 'key.spectatorOutlines',\r\n 'key.sprint',\r\n 'key.swapOffhand',\r\n 'key.togglePerspective',\r\n 'key.use'\r\n ]);\r\n collections.register('slot', [\r\n 'mainhand',\r\n 'offhand',\r\n 'head',\r\n 'chest',\r\n 'legs',\r\n 'feet'\r\n ]);\r\n collections.register('gamemode', [\r\n 'survival',\r\n 'creative',\r\n 'adventure',\r\n 'spectator'\r\n ]);\r\n collections.register('entity_source', [\r\n 'this',\r\n 'killer',\r\n 'direct_killer',\r\n 'killer_player'\r\n ]);\r\n collections.register('copy_source', [\r\n 'block_entity',\r\n 'this',\r\n 'killer',\r\n 'killer_player'\r\n ]);\r\n collections.register('loot_table_apply_bonus_formula', [\r\n 'minecraft:uniform_bonus_count',\r\n 'minecraft:binomial_with_bonus_count',\r\n 'minecraft:ore_drops'\r\n ]);\r\n collections.register('map_decoration', [\r\n 'mansion',\r\n 'monument',\r\n 'player',\r\n 'frame',\r\n 'red_marker',\r\n 'blue_marker',\r\n 'target_x',\r\n 'target_point',\r\n 'player_off_map',\r\n 'player_off_limits',\r\n 'red_x',\r\n 'banner_white',\r\n 'banner_orange',\r\n 'banner_magenta',\r\n 'banner_light_blue',\r\n 'banner_yellow',\r\n 'banner_lime',\r\n 'banner_pink',\r\n 'banner_gray',\r\n 'banner_light_gray',\r\n 'banner_cyan',\r\n 'banner_purple',\r\n 'banner_blue',\r\n 'banner_brown',\r\n 'banner_green',\r\n 'banner_red',\r\n 'banner_black'\r\n ]);\r\n collections.register('map_feature', [\r\n 'bastion_remnant',\r\n 'buried_treasure',\r\n 'desert_pyramid',\r\n 'endcity',\r\n 'fortress',\r\n 'igloo',\r\n 'jungle_pyramid',\r\n 'mansion',\r\n 'mineshaft',\r\n 'monument',\r\n 'nether_fossil',\r\n 'ocean_ruin',\r\n 'pillager_outpost',\r\n 'ruined_portal',\r\n 'shipwreck',\r\n 'stronghold',\r\n 'swamp_hut',\r\n 'village'\r\n ]);\r\n collections.register('recipe_group', [\r\n 'bed',\r\n 'light_gray_dye',\r\n 'iron_ingot',\r\n 'wooden_stairs',\r\n 'black_dye',\r\n 'stained_terracotta',\r\n 'dyed_bed',\r\n 'magenta_dye',\r\n 'bark',\r\n 'rabbit_stew',\r\n 'light_blue_dye',\r\n 'wooden_fence_gate',\r\n 'planks',\r\n 'stained_glass',\r\n 'wooden_door',\r\n 'stained_glass_pane',\r\n 'wooden_fence',\r\n 'sticks',\r\n 'concrete_powder',\r\n 'wooden_pressure_plate',\r\n 'boat',\r\n 'brown_dye',\r\n 'yellow_dye',\r\n 'bonemeal',\r\n 'red_dye',\r\n 'wooden_trapdoor',\r\n 'wooden_button',\r\n 'gold_ingot',\r\n 'pink_dye',\r\n 'wooden_slab',\r\n 'orange_dye',\r\n 'carpet',\r\n 'sign',\r\n 'wool',\r\n 'sugar',\r\n 'blue_dye',\r\n 'white_dye',\r\n 'banner',\r\n 'netherite_ingot'\r\n ]);\r\n collections.register('biome_category', [\r\n 'beach',\r\n 'desert',\r\n 'extreme_hills',\r\n 'forest',\r\n 'icy',\r\n 'jungle',\r\n 'mesa',\r\n 'mountain',\r\n 'mushroom',\r\n 'nether',\r\n 'none',\r\n 'ocean',\r\n 'plains',\r\n 'river',\r\n 'savanna',\r\n 'swamp',\r\n 'taiga',\r\n 'the_end',\r\n 'underground'\r\n ]);\r\n collections.register('heightmap_type', [\r\n 'MOTION_BLOCKING',\r\n 'MOTION_BLOCKING_NO_LEAVES',\r\n 'OCEAN_FLOOR',\r\n 'OCEAN_FLOOR_WG',\r\n 'WORLD_SURFACE',\r\n 'WORLD_SURFACE_WG'\r\n ]);\r\n collections.register('generation_step', [\r\n 'air',\r\n 'liquid'\r\n ]);\r\n collections.register('loot_context_type', [\r\n 'minecraft:empty',\r\n 'minecraft:chest',\r\n 'minecraft:command',\r\n 'minecraft:selector',\r\n 'minecraft:fishing',\r\n 'minecraft:entity',\r\n 'minecraft:gift',\r\n 'minecraft:barter',\r\n 'minecraft:advancement_reward',\r\n 'minecraft:advancement_entity',\r\n 'minecraft:generic',\r\n 'minecraft:block'\r\n ]);\r\n collections.register('banner_pattern', [\r\n 'base',\r\n 'square_bottom_left',\r\n 'square_bottom_right',\r\n 'square_top_left',\r\n 'square_top_right',\r\n 'stripe_bottom',\r\n 'stripe_top',\r\n 'stripe_left',\r\n 'stripe_right',\r\n 'stripe_center',\r\n 'stripe_middle',\r\n 'stripe_downright',\r\n 'stripe_downleft',\r\n 'small_stripes',\r\n 'cross',\r\n 'straight_cross',\r\n 'triangle_bottom',\r\n 'triangle_top',\r\n 'triangles_bottom',\r\n 'triangles_top',\r\n 'diagonal_left',\r\n 'diagonal_up_right',\r\n 'diagonal_up_left',\r\n 'diagonal_right',\r\n 'circle',\r\n 'rhombus',\r\n 'half_vertical',\r\n 'half_horizontal',\r\n 'half_vertical_right',\r\n 'half_horizontal_bottom',\r\n 'border',\r\n 'curly_border',\r\n 'gradient',\r\n 'gradient_up',\r\n 'bricks',\r\n 'globe',\r\n 'creeper',\r\n 'skull',\r\n 'flower',\r\n 'mojang',\r\n 'piglin'\r\n ]);\r\n collections.register('dye_color', [\r\n 'white',\r\n 'orange',\r\n 'magenta',\r\n 'light_blue',\r\n 'yellow',\r\n 'lime',\r\n 'pink',\r\n 'gray',\r\n 'light_gray',\r\n 'cyan',\r\n 'purple',\r\n 'blue',\r\n 'brown',\r\n 'green',\r\n 'red',\r\n 'black'\r\n ]);\r\n collections.register('cave_surface', [\r\n 'floor',\r\n 'ceiling'\r\n ]);\r\n collections.register('direction', [\r\n 'down',\r\n 'up',\r\n 'north',\r\n 'east',\r\n 'south',\r\n 'west'\r\n ]);\r\n collections.register('axis', [\r\n 'x',\r\n 'y',\r\n 'z'\r\n ]);\r\n collections.register('display_position', [\r\n 'firstperson_righthand',\r\n 'firstperson_lefthand',\r\n 'thirdperson_righthand',\r\n 'thirdperson_lefthand',\r\n 'gui',\r\n 'head',\r\n 'ground',\r\n 'fixed'\r\n ]);\r\n collections.register('gui_light', [\r\n 'front',\r\n 'side'\r\n ]);\r\n collections.register('item_model_predicates', [\r\n 'angle',\r\n 'blocking',\r\n 'broken',\r\n 'cast',\r\n 'charged',\r\n 'cooldown',\r\n 'custom_model_data',\r\n 'damage',\r\n 'damaged',\r\n 'firework',\r\n 'lefthanded',\r\n 'pull',\r\n 'pulling',\r\n 'throwing',\r\n 'time'\r\n ]);\r\n collections.register('mob_category', [\r\n 'monster',\r\n 'creature',\r\n 'ambient',\r\n 'axolotls',\r\n 'underground_water_creature',\r\n 'water_creature',\r\n 'water_ambient',\r\n 'misc',\r\n ]);\r\n collections.register('cat_texture', [\r\n 'textures/entity/cat/tabby.png',\r\n 'textures/entity/cat/black.png',\r\n 'textures/entity/cat/red.png',\r\n 'textures/entity/cat/siamese.png',\r\n 'textures/entity/cat/british_shorthair.png',\r\n 'textures/entity/cat/calico.png',\r\n 'textures/entity/cat/persian.png',\r\n 'textures/entity/cat/ragdoll.png',\r\n 'textures/entity/cat/white.png',\r\n 'textures/entity/cat/jellie.png',\r\n 'textures/entity/cat/all_black.png'\r\n ]);\r\n}\r\nexports.initCollections = initCollections;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initAdvancementSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initAdvancementSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const EntityPredicate = (0, core_1.ChoiceNode)([\r\n {\r\n type: 'object',\r\n node: (0, core_1.Opt)(Reference('entity_predicate')),\r\n change: v => { var _a, _b; return (_b = (_a = v[0]) === null || _a === void 0 ? void 0 : _a.predicate) !== null && _b !== void 0 ? _b : ({}); }\r\n },\r\n {\r\n type: 'list',\r\n node: (0, core_1.ListNode)(Reference('condition')),\r\n change: v => [{\r\n condition: 'minecraft:entity_properties',\r\n predicate: v\r\n }]\r\n }\r\n ], { context: 'conditions' });\r\n schemas.register('advancement', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n display: (0, core_1.Opt)((0, core_1.Mod)((0, core_1.ObjectNode)({\r\n icon: (0, core_1.ObjectNode)({\r\n item: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n nbt: (0, core_1.Opt)(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:item', id: ['pop', { push: 'item' }] } } }))\r\n }),\r\n title: Reference('text_component'),\r\n description: Reference('text_component'),\r\n background: (0, core_1.Opt)(StringNode()),\r\n frame: (0, core_1.Opt)(StringNode({ enum: ['task', 'challenge', 'goal'] })),\r\n show_toast: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n announce_to_chat: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n hidden: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n }), {\r\n default: () => ({\r\n icon: {\r\n item: 'minecraft:stone'\r\n },\r\n title: '',\r\n description: ''\r\n })\r\n })),\r\n parent: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$advancement' } })),\r\n criteria: (0, core_1.MapNode)(StringNode(), Reference('advancement_criteria')),\r\n requirements: (0, core_1.Opt)((0, core_1.ListNode)((0, core_1.ListNode)(StringNode() // TODO: add validation\r\n ))),\r\n rewards: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n function: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$function' } })),\r\n loot: (0, core_1.Opt)((0, core_1.ListNode)(StringNode({ validator: 'resource', params: { pool: '$loot_table' } }))),\r\n recipes: (0, core_1.Opt)((0, core_1.ListNode)(StringNode({ validator: 'resource', params: { pool: '$recipe' } }))),\r\n experience: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true }))\r\n })),\r\n }, { context: 'advancement' }), {\r\n default: () => ({\r\n criteria: {\r\n requirement: {\r\n trigger: 'minecraft:location'\r\n }\r\n }\r\n })\r\n }));\r\n schemas.register('advancement_criteria', (0, core_1.ObjectNode)({\r\n trigger: StringNode({ validator: 'resource', params: { pool: collections.get('advancement_trigger') } }),\r\n conditions: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n player: (0, core_1.Mod)(EntityPredicate, {\r\n enabled: path => path.pop().push('trigger').get() !== 'minecraft:impossible'\r\n }),\r\n [core_1.Switch]: ['pop', { push: 'trigger' }],\r\n [core_1.Case]: {\r\n 'minecraft:bee_nest_destroyed': {\r\n block: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: 'block' } })),\r\n num_bees_inside: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n item: (0, core_1.Opt)(Reference('item_predicate'))\r\n },\r\n 'minecraft:bred_animals': {\r\n parent: EntityPredicate,\r\n partner: EntityPredicate,\r\n child: EntityPredicate\r\n },\r\n 'minecraft:brewed_potion': {\r\n potion: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: 'potion' } }))\r\n },\r\n 'minecraft:changed_dimension': {\r\n from: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$dimension' } })),\r\n to: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$dimension' } }))\r\n },\r\n 'minecraft:channeled_lightning': {\r\n victims: (0, core_1.Opt)((0, core_1.ListNode)(EntityPredicate))\r\n },\r\n 'minecraft:construct_beacon': {\r\n level: Reference('int_bounds')\r\n },\r\n 'minecraft:consume_item': {\r\n item: (0, core_1.Opt)(Reference('item_predicate'))\r\n },\r\n 'minecraft:cured_zombie_villager': {\r\n villager: EntityPredicate,\r\n zombie: EntityPredicate\r\n },\r\n 'minecraft:effects_changed': {\r\n effects: (0, core_1.Opt)((0, core_1.MapNode)(StringNode({ validator: 'resource', params: { pool: 'mob_effect' } }), (0, core_1.ObjectNode)({\r\n amplifier: Reference('int_bounds'),\r\n duration: Reference('int_bounds')\r\n }))),\r\n source: (0, core_1.Opt)(EntityPredicate)\r\n },\r\n 'minecraft:enter_block': {\r\n block: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: 'block' } })),\r\n state: (0, core_1.Opt)((0, core_1.MapNode)(StringNode(), StringNode(), { validation: { validator: 'block_state_map', params: { id: ['pop', { push: 'block' }] } } }))\r\n },\r\n 'minecraft:enchanted_item': {\r\n levels: Reference('int_bounds'),\r\n item: (0, core_1.Opt)(Reference('item_predicate'))\r\n },\r\n 'minecraft:entity_hurt_player': {\r\n damage: (0, core_1.Opt)(Reference('damage_predicate'))\r\n },\r\n 'minecraft:entity_killed_player': {\r\n entity: EntityPredicate,\r\n killing_blow: (0, core_1.Opt)(Reference('damage_source_predicate'))\r\n },\r\n 'minecraft:fall_from_height': {\r\n start_position: (0, core_1.Opt)(Reference('location_predicate')),\r\n distance: (0, core_1.Opt)(Reference('distance_predicate'))\r\n },\r\n 'minecraft:filled_bucket': {\r\n item: (0, core_1.Opt)(Reference('item_predicate'))\r\n },\r\n 'minecraft:fishing_rod_hooked': {\r\n entity: EntityPredicate,\r\n item: (0, core_1.Opt)(Reference('item_predicate'))\r\n },\r\n 'minecraft:hero_of_the_village': {\r\n location: (0, core_1.Opt)(Reference('location_predicate'))\r\n },\r\n 'minecraft:inventory_changed': {\r\n slots: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n empty: Reference('int_bounds'),\r\n occupied: Reference('int_bounds'),\r\n full: Reference('int_bounds')\r\n })),\r\n items: (0, core_1.Opt)((0, core_1.ListNode)(Reference('item_predicate')))\r\n },\r\n 'minecraft:item_durability_changed': {\r\n delta: Reference('int_bounds'),\r\n durability: Reference('int_bounds'),\r\n item: (0, core_1.Opt)(Reference('item_predicate'))\r\n },\r\n 'minecraft:item_used_on_block': {\r\n item: (0, core_1.Opt)(Reference('item_predicate')),\r\n location: (0, core_1.Opt)(Reference('location_predicate'))\r\n },\r\n 'minecraft:killed_by_crossbow': {\r\n unique_entity_types: Reference('int_bounds'),\r\n victims: (0, core_1.Opt)((0, core_1.ListNode)(EntityPredicate))\r\n },\r\n 'minecraft:levitation': {\r\n distance: (0, core_1.Opt)(Reference('distance_predicate')),\r\n duration: Reference('int_bounds')\r\n },\r\n 'minecraft:lightning_strike': {\r\n lightning: EntityPredicate,\r\n bystander: EntityPredicate,\r\n },\r\n 'minecraft:location': {\r\n location: (0, core_1.Opt)(Reference('location_predicate'))\r\n },\r\n 'minecraft:nether_travel': {\r\n start_position: (0, core_1.Opt)(Reference('location_predicate')),\r\n distance: (0, core_1.Opt)(Reference('distance_predicate')),\r\n },\r\n 'minecraft:placed_block': {\r\n block: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: 'block' } })),\r\n state: (0, core_1.Opt)((0, core_1.MapNode)(StringNode(), StringNode(), { validation: { validator: 'block_state_map', params: { id: ['pop', { push: 'block' }] } } })),\r\n item: (0, core_1.Opt)(Reference('item_predicate')),\r\n location: (0, core_1.Opt)(Reference('location_predicate'))\r\n },\r\n 'minecraft:player_generates_container_loot': {\r\n loot_table: StringNode({ validator: 'resource', params: { pool: '$loot_table' } })\r\n },\r\n 'minecraft:player_hurt_entity': {\r\n damage: (0, core_1.Opt)(Reference('damage_predicate')),\r\n entity: EntityPredicate\r\n },\r\n 'minecraft:player_interacted_with_entity': {\r\n item: (0, core_1.Opt)(Reference('item_predicate')),\r\n entity: EntityPredicate\r\n },\r\n 'minecraft:player_killed_entity': {\r\n entity: EntityPredicate,\r\n killing_blow: (0, core_1.Opt)(Reference('damage_source_predicate'))\r\n },\r\n 'minecraft:recipe_unlocked': {\r\n recipe: StringNode({ validator: 'resource', params: { pool: '$recipe' } })\r\n },\r\n 'minecraft:ride_entity_in_lava': {\r\n start_position: (0, core_1.Opt)(Reference('location_predicate')),\r\n distance: (0, core_1.Opt)(Reference('distance_predicate'))\r\n },\r\n 'minecraft:slept_in_bed': {\r\n location: (0, core_1.Opt)(Reference('location_predicate'))\r\n },\r\n 'minecraft:slide_down_block': {\r\n block: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: 'block' } }))\r\n },\r\n 'minecraft:shot_crossbow': {\r\n item: (0, core_1.Opt)(Reference('item_predicate'))\r\n },\r\n 'minecraft:summoned_entity': {\r\n entity: EntityPredicate\r\n },\r\n 'minecraft:tame_animal': {\r\n entity: EntityPredicate\r\n },\r\n 'minecraft:target_hit': {\r\n projectile: EntityPredicate,\r\n shooter: EntityPredicate,\r\n signal_strength: Reference('int_bounds')\r\n },\r\n 'minecraft:thrown_item_picked_up_by_entity': {\r\n entity: EntityPredicate,\r\n item: (0, core_1.Opt)(Reference('item_predicate'))\r\n },\r\n 'minecraft:used_ender_eye': {\r\n distance: (0, core_1.Opt)(Reference('float_bounds'))\r\n },\r\n 'minecraft:used_totem': {\r\n item: (0, core_1.Opt)(Reference('item_predicate'))\r\n },\r\n 'minecraft:using_item': {\r\n item: (0, core_1.Opt)(Reference('item_predicate'))\r\n },\r\n 'minecraft:villager_trade': {\r\n villager: EntityPredicate,\r\n item: (0, core_1.Opt)(Reference('item_predicate'))\r\n },\r\n 'minecraft:voluntary_exile': {\r\n location: (0, core_1.Opt)(Reference('location_predicate'))\r\n }\r\n }\r\n }, { context: 'criterion' }))\r\n }, { category: 'predicate', context: 'criterion' }));\r\n}\r\nexports.initAdvancementSchemas = initAdvancementSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initModelSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initModelSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const Vec = (length, min, max) => (0, core_1.ListNode)((0, core_1.NumberNode)({ min, max }), { minLength: length, maxLength: length });\r\n const Texture = (0, core_1.ChoiceNode)([\r\n {\r\n type: 'alias',\r\n match: (v) => typeof v === 'string' && v.startsWith('#'),\r\n node: StringNode(),\r\n change: (v) => typeof v === 'string' ? `#${v}` : \"#0\"\r\n },\r\n {\r\n type: 'reference',\r\n match: (v) => typeof v === 'string',\r\n node: StringNode({ validator: 'resource', params: { pool: '$texture' } }),\r\n change: (v) => typeof v === 'string' ? v.replace(/^#/, '') : \"\"\r\n }\r\n ], { choiceContext: 'texture' });\r\n schemas.register('model', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n parent: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$model' } })),\r\n ambientocclusion: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n gui_light: (0, core_1.Opt)(StringNode({ enum: 'gui_light' })),\r\n textures: (0, core_1.Opt)((0, core_1.MapNode)(StringNode(), Texture)),\r\n elements: (0, core_1.Opt)((0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n from: Vec(3, -16, 32),\r\n to: Vec(3, -16, 32),\r\n rotation: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n origin: Vec(3),\r\n axis: StringNode({ enum: 'axis' }),\r\n angle: (0, core_1.NumberEnum)({ values: [-45, -22.5, 0, 22.5, 45] }),\r\n rescale: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n })),\r\n shade: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n faces: (0, core_1.MapNode)(StringNode({ enum: 'direction' }), (0, core_1.ObjectNode)({\r\n texture: Texture,\r\n uv: (0, core_1.Opt)(Vec(4)),\r\n cullface: (0, core_1.Opt)(StringNode({ enum: 'direction' })),\r\n rotation: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n tintindex: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true }))\r\n }))\r\n }, { context: 'model_element' }))),\r\n display: (0, core_1.Opt)((0, core_1.MapNode)(StringNode({ enum: 'display_position' }), (0, core_1.ObjectNode)({\r\n rotation: Vec(3),\r\n translation: Vec(3, -80, 80),\r\n scale: Vec(3, -4, 4)\r\n }, { context: 'item_transform' }))),\r\n overrides: (0, core_1.Opt)((0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n predicate: (0, core_1.MapNode)(StringNode({ enum: 'item_model_predicates' }), (0, core_1.NumberNode)()),\r\n model: StringNode({ validator: 'resource', params: { pool: '$model' } })\r\n }, { context: 'model_override' })))\r\n }, { context: 'model' }), {\r\n default: () => ({\r\n parent: 'minecraft:item/generated',\r\n textures: {\r\n layer0: 'minecraft:item/diamond'\r\n }\r\n })\r\n }));\r\n}\r\nexports.initModelSchemas = initModelSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initBlockDefinitionSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initBlockDefinitionSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('block_definition', (0, core_1.Mod)((0, core_1.ChoiceNode)([\r\n {\r\n type: 'variants',\r\n match: (v) => v.variants !== undefined,\r\n node: (0, core_1.ObjectNode)({\r\n variants: (0, core_1.MapNode)(StringNode(), Reference('model_variant'))\r\n }),\r\n change: (v) => ({ variants: { \"\": {} } })\r\n },\r\n {\r\n type: 'multipart',\r\n match: (v) => v.multipart !== undefined,\r\n node: (0, core_1.ObjectNode)({\r\n multipart: (0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n when: (0, core_1.Opt)(Reference('multipart_condition')),\r\n apply: Reference('model_variant'),\r\n }))\r\n }),\r\n change: (v) => ({ multipart: { when: {}, apply: {} } })\r\n }\r\n ], { context: 'block_definition' }), {\r\n default: () => ({\r\n variants: {\r\n \"\": {\r\n model: 'minecraft:block/stone'\r\n }\r\n }\r\n })\r\n }));\r\n const VariantChildren = {\r\n model: StringNode({ validator: 'resource', params: { pool: '$model' } }),\r\n x: (0, core_1.Opt)((0, core_1.NumberEnum)({ integer: true, values: [0, 90, 180, 270] })),\r\n y: (0, core_1.Opt)((0, core_1.NumberEnum)({ integer: true, values: [0, 90, 180, 270] })),\r\n uvlock: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n };\r\n schemas.register('model_variant', (0, core_1.ChoiceNode)([\r\n {\r\n type: 'object',\r\n node: (0, core_1.ObjectNode)(VariantChildren),\r\n change: (v) => Array.isArray(v) && v.length > 0 ? v[0] : ({})\r\n },\r\n {\r\n type: 'list',\r\n node: (0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n ...VariantChildren,\r\n weight: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 1 }))\r\n }, { context: 'model_variant' })),\r\n change: (v) => [{ weight: 1, ...v }]\r\n }\r\n ], { context: 'model_variant' }));\r\n schemas.register('multipart_condition', (0, core_1.ChoiceNode)([\r\n {\r\n type: 'object',\r\n priority: -1,\r\n match: () => true,\r\n node: (0, core_1.MapNode)(StringNode(), StringNode()),\r\n change: (v) => typeof v === 'object' && Array.isArray(v === null || v === void 0 ? void 0 : v.OR) && v.OR.length > 0 ? v.OR[0] : ({})\r\n },\r\n {\r\n type: 'or',\r\n match: (v) => typeof v === 'object' && (v === null || v === void 0 ? void 0 : v.OR) !== undefined,\r\n node: (0, core_1.ObjectNode)({\r\n OR: (0, core_1.ListNode)(Reference('multipart_condition'))\r\n }),\r\n change: (v) => ({ OR: [v !== null && v !== void 0 ? v : {}] })\r\n }\r\n ], { context: 'multipart_condition' }));\r\n}\r\nexports.initBlockDefinitionSchemas = initBlockDefinitionSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initAssetsSchemas = void 0;\r\nconst Model_1 = require(\"./Model\");\r\nconst BlockDefinition_1 = require(\"./BlockDefinition\");\r\nfunction initAssetsSchemas(schemas, collections) {\r\n (0, BlockDefinition_1.initBlockDefinitionSchemas)(schemas, collections);\r\n (0, Model_1.initModelSchemas)(schemas, collections);\r\n}\r\nexports.initAssetsSchemas = initAssetsSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initCommonSchemas = exports.Tag = exports.InclusiveRange = exports.IntProvider = exports.FloatProvider = exports.NoiseSettingsPresets = exports.DefaultNoiseSettings = exports.DimensionTypePresets = exports.DefaultDimensionType = exports.FunctionCases = exports.ConditionCases = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nexports.DefaultDimensionType = {\r\n ultrawarm: false,\r\n natural: true,\r\n piglin_safe: false,\r\n respawn_anchor_works: false,\r\n bed_works: true,\r\n has_raids: true,\r\n has_skylight: true,\r\n has_ceiling: false,\r\n coordinate_scale: 1,\r\n ambient_light: 0,\r\n logical_height: 256,\r\n infiniburn: '#minecraft:infiniburn_overworld',\r\n min_y: 0,\r\n height: 256,\r\n};\r\nexports.DefaultNoiseSettings = {\r\n sea_level: 63,\r\n ore_veins_enabled: true,\r\n disable_mob_generation: false,\r\n aquifers_enabled: true,\r\n legacy_random_source: false,\r\n default_block: {\r\n Name: 'minecraft:stone'\r\n },\r\n default_fluid: {\r\n Properties: {\r\n level: '0'\r\n },\r\n Name: 'minecraft:water'\r\n },\r\n noise: {\r\n min_y: -64,\r\n height: 384,\r\n size_horizontal: 1,\r\n size_vertical: 2,\r\n top_slide: {\r\n target: -0.078125,\r\n size: 2,\r\n offset: 8\r\n },\r\n bottom_slide: {\r\n target: 0.1171875,\r\n size: 3,\r\n offset: 0\r\n },\r\n sampling: {\r\n xz_scale: 0.9999999814507745,\r\n y_scale: 0.9999999814507745,\r\n xz_factor: 80,\r\n y_factor: 160\r\n },\r\n terrain_shaper: {\r\n offset: 0,\r\n factor: 0,\r\n jaggedness: 0\r\n }\r\n },\r\n noise_router: {\r\n barrier: 0,\r\n fluid_level_floodedness: 0,\r\n fluid_level_spread: 0,\r\n lava: 0,\r\n temperature: 0,\r\n vegetation: 0,\r\n continents: 0,\r\n erosion: 0,\r\n depth: 0,\r\n ridges: 0,\r\n initial_density_without_jaggedness: 0,\r\n final_density: {\r\n type: 'minecraft:interpolated',\r\n argument: 'minecraft:overworld/base_3d_noise'\r\n },\r\n vein_toggle: 0,\r\n vein_ridged: 0,\r\n vein_gap: 0,\r\n },\r\n surface_rule: {\r\n type: 'minecraft:sequence',\r\n sequence: []\r\n }\r\n};\r\nfunction initCommonSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n schemas.register('block_state', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n Name: StringNode({ validator: 'resource', params: { pool: 'block' } }),\r\n Properties: (0, core_1.Opt)((0, core_1.MapNode)(StringNode(), StringNode(), { validation: { validator: 'block_state_map', params: { id: ['pop', { push: 'Name' }] } } }))\r\n }, { context: 'block_state' }), {\r\n default: () => ({\r\n Name: 'minecraft:stone'\r\n })\r\n }));\r\n schemas.register('fluid_state', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n Name: StringNode({ validator: 'resource', params: { pool: 'fluid' } }),\r\n Properties: (0, core_1.Opt)((0, core_1.MapNode)(StringNode(), StringNode()))\r\n }, { context: 'fluid_state' }), {\r\n default: () => ({\r\n Name: 'minecraft:water',\r\n Properties: {\r\n 'level': '0'\r\n }\r\n })\r\n }));\r\n schemas.register('block_pos', (0, core_1.Mod)((0, core_1.ListNode)((0, core_1.NumberNode)({ integer: true }), { minLength: 3, maxLength: 3 }), {\r\n default: () => [0, 0, 0]\r\n }));\r\n const Bounds = (integer) => (0, core_1.Opt)((0, core_1.ChoiceNode)([\r\n {\r\n type: 'number',\r\n node: (0, core_1.NumberNode)({ integer }),\r\n change: (v) => { var _a, _b; return v === undefined ? 0 : (_b = (_a = v.min) !== null && _a !== void 0 ? _a : v.max) !== null && _b !== void 0 ? _b : 0; }\r\n },\r\n {\r\n type: 'object',\r\n node: (0, core_1.ObjectNode)({\r\n min: (0, core_1.Opt)((0, core_1.NumberNode)({ integer })),\r\n max: (0, core_1.Opt)((0, core_1.NumberNode)({ integer }))\r\n }, { context: 'range' }),\r\n change: (v) => ({\r\n min: v !== null && v !== void 0 ? v : 0,\r\n max: v !== null && v !== void 0 ? v : 0\r\n })\r\n }\r\n ]));\r\n schemas.register('int_bounds', Bounds(true));\r\n schemas.register('float_bounds', Bounds());\r\n schemas.register('int_range', (0, core_1.ChoiceNode)([\r\n {\r\n type: 'object',\r\n node: (0, core_1.ObjectNode)({\r\n min: (0, core_1.Opt)(Reference('number_provider')),\r\n max: (0, core_1.Opt)(Reference('number_provider'))\r\n })\r\n },\r\n {\r\n type: 'number',\r\n node: (0, core_1.NumberNode)({ integer: true })\r\n }\r\n ], { context: 'range' }));\r\n const ObjectWithType = (pool, directType, directPath, directDefault, objectDefault, context, cases) => {\r\n let defaultCase = {};\r\n if (objectDefault) {\r\n Object.keys(cases[objectDefault]).forEach(k => {\r\n defaultCase[k] = (0, core_1.Mod)(cases[objectDefault][k], {\r\n enabled: path => path.push('type').get() === undefined\r\n });\r\n });\r\n }\r\n const provider = (0, core_1.ObjectNode)({\r\n type: (0, core_1.Mod)((0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool } })), {\r\n hidden: () => true\r\n }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: cases,\r\n ...defaultCase\r\n }, { context, disableSwitchContext: true });\r\n const choices = [{\r\n type: directType,\r\n node: cases[directDefault][directPath]\r\n }];\r\n if (objectDefault) {\r\n choices.push({\r\n type: 'object',\r\n priority: -1,\r\n node: provider\r\n });\r\n }\r\n Object.keys(cases).forEach(k => {\r\n choices.push({\r\n type: k,\r\n match: (v) => {\r\n var _a;\r\n const type = 'minecraft:' + ((_a = v === null || v === void 0 ? void 0 : v.type) === null || _a === void 0 ? void 0 : _a.replace(/^minecraft:/, ''));\r\n if (type === k)\r\n return true;\r\n const keys = v ? Object.keys(v) : [];\r\n return typeof v === 'object' && ((keys === null || keys === void 0 ? void 0 : keys.length) === 0 || ((keys === null || keys === void 0 ? void 0 : keys.length) === 1 && (keys === null || keys === void 0 ? void 0 : keys[0]) === 'type'));\r\n },\r\n node: provider,\r\n change: (v) => ({ type: k })\r\n });\r\n });\r\n return (0, core_1.ChoiceNode)(choices, { context, choiceContext: `${context}.type` });\r\n };\r\n schemas.register('number_provider', ObjectWithType('loot_number_provider_type', 'number', 'value', 'minecraft:constant', 'minecraft:uniform', 'number_provider', {\r\n 'minecraft:constant': {\r\n value: (0, core_1.NumberNode)()\r\n },\r\n 'minecraft:uniform': {\r\n min: Reference('number_provider'),\r\n max: Reference('number_provider')\r\n },\r\n 'minecraft:binomial': {\r\n n: Reference('number_provider'),\r\n p: Reference('number_provider')\r\n },\r\n 'minecraft:score': {\r\n target: Reference('scoreboard_name_provider'),\r\n score: StringNode({ validator: 'objective' }),\r\n scale: (0, core_1.Opt)((0, core_1.NumberNode)())\r\n }\r\n }));\r\n schemas.register('scoreboard_name_provider', ObjectWithType('loot_score_provider_type', 'string', 'target', 'minecraft:context', null, 'score_provider', {\r\n 'minecraft:fixed': {\r\n name: StringNode({ validator: 'entity', params: { amount: 'multiple', type: 'entities', isScoreHolder: true } }) // FIXME: doesn't support selectors\r\n },\r\n 'minecraft:context': {\r\n target: (0, core_1.Mod)(StringNode({ enum: 'entity_source' }), { default: () => 'this' })\r\n }\r\n }));\r\n schemas.register('nbt_provider', ObjectWithType('loot_nbt_provider_type', 'string', 'target', 'minecraft:context', null, 'nbt_provider', {\r\n 'minecraft:storage': {\r\n source: StringNode({ validator: 'resource', params: { pool: '$storage' } })\r\n },\r\n 'minecraft:context': {\r\n target: (0, core_1.Mod)(StringNode({ enum: 'copy_source' }), { default: () => 'this' })\r\n }\r\n }));\r\n exports.FloatProvider = (config) => ObjectWithType('float_provider_type', 'number', 'value', 'minecraft:constant', null, 'float_provider', {\r\n 'minecraft:constant': {\r\n value: (0, core_1.NumberNode)(config)\r\n },\r\n 'minecraft:uniform': {\r\n value: (0, core_1.ObjectNode)({\r\n min_inclusive: (0, core_1.NumberNode)(config),\r\n max_exclusive: (0, core_1.NumberNode)(config)\r\n })\r\n },\r\n 'minecraft:clamped_normal': {\r\n value: (0, core_1.ObjectNode)({\r\n min: (0, core_1.NumberNode)(),\r\n max: (0, core_1.NumberNode)(),\r\n mean: (0, core_1.NumberNode)(),\r\n deviation: (0, core_1.NumberNode)()\r\n })\r\n },\r\n 'minecraft:trapezoid': {\r\n value: (0, core_1.ObjectNode)({\r\n min: (0, core_1.NumberNode)(),\r\n max: (0, core_1.NumberNode)(),\r\n plateau: (0, core_1.NumberNode)()\r\n })\r\n }\r\n });\r\n schemas.register('float_provider', (0, exports.FloatProvider)());\r\n exports.IntProvider = (config) => ObjectWithType('int_provider_type', 'number', 'value', 'minecraft:constant', null, 'int_provider', {\r\n 'minecraft:constant': {\r\n value: (0, core_1.NumberNode)({ integer: true, ...config })\r\n },\r\n 'minecraft:uniform': {\r\n value: (0, core_1.ObjectNode)({\r\n min_inclusive: (0, core_1.NumberNode)({ integer: true, ...config }),\r\n max_inclusive: (0, core_1.NumberNode)({ integer: true, ...config })\r\n })\r\n },\r\n 'minecraft:biased_to_bottom': {\r\n value: (0, core_1.ObjectNode)({\r\n min_inclusive: (0, core_1.NumberNode)({ integer: true, ...config }),\r\n max_inclusive: (0, core_1.NumberNode)({ integer: true, ...config })\r\n })\r\n },\r\n 'minecraft:clamped': {\r\n value: (0, core_1.ObjectNode)({\r\n min_inclusive: (0, core_1.NumberNode)({ integer: true, ...config }),\r\n max_inclusive: (0, core_1.NumberNode)({ integer: true, ...config }),\r\n source: Reference('int_provider')\r\n })\r\n },\r\n 'minecraft:clamped_normal': {\r\n value: (0, core_1.ObjectNode)({\r\n min_inclusive: (0, core_1.NumberNode)({ integer: true, ...config }),\r\n max_inclusive: (0, core_1.NumberNode)({ integer: true, ...config }),\r\n mean: (0, core_1.NumberNode)(),\r\n deviation: (0, core_1.NumberNode)()\r\n })\r\n },\r\n 'minecraft:weighted_list': {\r\n distribution: (0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n weight: (0, core_1.NumberNode)({ integer: true }),\r\n data: Reference('int_provider'),\r\n }))\r\n }\r\n });\r\n schemas.register('int_provider', (0, exports.IntProvider)());\r\n schemas.register('vertical_anchor', (0, core_1.ChoiceNode)(['absolute', 'above_bottom', 'below_top'].map(t => ({\r\n type: t,\r\n match: v => (v === null || v === void 0 ? void 0 : v[t]) !== undefined,\r\n change: v => { var _a, _b, _c; return ({ [t]: (_c = (_b = (_a = v.absolute) !== null && _a !== void 0 ? _a : v.above_bottom) !== null && _b !== void 0 ? _b : v.below_top) !== null && _c !== void 0 ? _c : 0 }); },\r\n node: (0, core_1.ObjectNode)({\r\n [t]: (0, core_1.NumberNode)({ integer: true, min: -2048, max: 2047 })\r\n })\r\n })), { context: 'vertical_anchor' }));\r\n schemas.register('height_provider', ObjectWithType('height_provider_type', 'number', 'value', 'minecraft:constant', null, 'height_provider', {\r\n 'minecraft:constant': {\r\n value: Reference('vertical_anchor')\r\n },\r\n 'minecraft:uniform': {\r\n min_inclusive: Reference('vertical_anchor'),\r\n max_inclusive: Reference('vertical_anchor')\r\n },\r\n 'minecraft:biased_to_bottom': {\r\n min_inclusive: Reference('vertical_anchor'),\r\n max_inclusive: Reference('vertical_anchor'),\r\n inner: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 1 }))\r\n },\r\n 'minecraft:very_biased_to_bottom': {\r\n min_inclusive: Reference('vertical_anchor'),\r\n max_inclusive: Reference('vertical_anchor'),\r\n inner: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 1 }))\r\n },\r\n 'minecraft:trapezoid': {\r\n min_inclusive: Reference('vertical_anchor'),\r\n max_inclusive: Reference('vertical_anchor'),\r\n plateau: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true }))\r\n },\r\n 'minecraft:weighted_list': {\r\n distribution: (0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n weight: (0, core_1.NumberNode)({ integer: true }),\r\n data: Reference('int_provider'),\r\n }))\r\n }\r\n }));\r\n exports.InclusiveRange = (config) => (0, core_1.ObjectNode)({\r\n min_inclusive: (0, core_1.NumberNode)(config),\r\n max_inclusive: (0, core_1.NumberNode)(config)\r\n }, { context: 'range' });\r\n schemas.register('noise_parameters', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n firstOctave: (0, core_1.NumberNode)({ integer: true }),\r\n amplitudes: (0, core_1.ListNode)((0, core_1.NumberNode)())\r\n }, { context: 'noise_parameters' }), {\r\n default: () => ({\r\n firstOctave: -7,\r\n amplitudes: [1, 1]\r\n })\r\n }));\r\n exports.Tag = (config) => (0, core_1.ChoiceNode)([\r\n {\r\n type: 'string',\r\n node: StringNode({ validator: 'resource', params: { pool: config.resource, allowTag: true } }),\r\n change: (v) => {\r\n if (Array.isArray(v) && typeof v[0] === 'string' && !v[0].startsWith('#')) {\r\n return v[0];\r\n }\r\n return undefined;\r\n }\r\n },\r\n {\r\n type: 'list',\r\n node: (0, core_1.ListNode)(config.inlineSchema\r\n ? (0, core_1.ChoiceNode)([\r\n {\r\n type: 'string',\r\n node: StringNode({ validator: 'resource', params: { pool: config.resource } })\r\n },\r\n {\r\n type: 'object',\r\n node: Reference(config.inlineSchema)\r\n }\r\n ], { choiceContext: 'tag.list' })\r\n : StringNode({ validator: 'resource', params: { pool: config.resource } })),\r\n change: (v) => {\r\n if (typeof v === 'string' && !v.startsWith('#')) {\r\n return [v];\r\n }\r\n return [];\r\n }\r\n },\r\n ], { choiceContext: 'tag' });\r\n exports.ConditionCases = (entitySourceNode = StringNode({ enum: 'entity_source' })) => ({\r\n 'minecraft:alternative': {\r\n terms: (0, core_1.ListNode)(Reference('condition'))\r\n },\r\n 'minecraft:block_state_property': {\r\n block: StringNode({ validator: 'resource', params: { pool: 'block' } }),\r\n properties: (0, core_1.MapNode)(StringNode(), StringNode(), { validation: { validator: 'block_state_map', params: { id: ['pop', { push: 'block' }] } } })\r\n },\r\n 'minecraft:damage_source_properties': {\r\n predicate: Reference('damage_source_predicate')\r\n },\r\n 'minecraft:entity_properties': {\r\n entity: entitySourceNode,\r\n predicate: Reference('entity_predicate')\r\n },\r\n 'minecraft:entity_scores': {\r\n entity: entitySourceNode,\r\n scores: (0, core_1.MapNode)(StringNode({ validator: 'objective' }), Reference('int_range'))\r\n },\r\n 'minecraft:inverted': {\r\n term: Reference('condition')\r\n },\r\n 'minecraft:killed_by_player': {\r\n inverse: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n },\r\n 'minecraft:location_check': {\r\n offsetX: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n offsetY: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n offsetZ: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n predicate: Reference('location_predicate')\r\n },\r\n 'minecraft:match_tool': {\r\n predicate: Reference('item_predicate')\r\n },\r\n 'minecraft:random_chance': {\r\n chance: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n },\r\n 'minecraft:random_chance_with_looting': {\r\n chance: (0, core_1.NumberNode)({ min: 0, max: 1 }),\r\n looting_multiplier: (0, core_1.NumberNode)()\r\n },\r\n 'minecraft:reference': {\r\n name: StringNode({ validator: 'resource', params: { pool: '$predicate' } })\r\n },\r\n 'minecraft:table_bonus': {\r\n enchantment: StringNode({ validator: 'resource', params: { pool: 'enchantment' } }),\r\n chances: (0, core_1.ListNode)((0, core_1.NumberNode)({ min: 0, max: 1 }))\r\n },\r\n 'minecraft:time_check': {\r\n value: Reference('int_range'),\r\n period: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true }))\r\n },\r\n 'minecraft:value_check': {\r\n value: Reference('number_provider'),\r\n range: Reference('int_range')\r\n },\r\n 'minecraft:weather_check': {\r\n raining: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n thundering: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n }\r\n });\r\n exports.FunctionCases = (conditions, copySourceNode = StringNode({ enum: 'copy_source' }), entitySourceNode = StringNode({ enum: 'entity_source' })) => {\r\n const cases = {\r\n 'minecraft:apply_bonus': {\r\n enchantment: StringNode({ validator: 'resource', params: { pool: 'enchantment' } }),\r\n formula: StringNode({ validator: 'resource', params: { pool: collections.get('loot_table_apply_bonus_formula') } }),\r\n parameters: (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n bonusMultiplier: (0, core_1.Mod)((0, core_1.NumberNode)(), {\r\n enabled: path => path.pop().push('formula').get() === 'minecraft:uniform_bonus_count'\r\n }),\r\n extra: (0, core_1.Mod)((0, core_1.NumberNode)(), {\r\n enabled: path => path.pop().push('formula').get() === 'minecraft:binomial_with_bonus_count'\r\n }),\r\n probability: (0, core_1.Mod)((0, core_1.NumberNode)(), {\r\n enabled: path => path.pop().push('formula').get() === 'minecraft:binomial_with_bonus_count'\r\n })\r\n }), {\r\n enabled: path => path.push('formula').get() !== 'minecraft:ore_drops'\r\n })\r\n },\r\n 'minecraft:copy_name': {\r\n source: copySourceNode\r\n },\r\n 'minecraft:copy_nbt': {\r\n source: Reference('nbt_provider'),\r\n ops: (0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n source: StringNode({ validator: 'nbt_path', params: { category: { getter: 'copy_source', path: ['pop', 'pop', 'pop', { push: 'source' }] } } }),\r\n target: StringNode({ validator: 'nbt_path', params: { category: 'minecraft:item' } }),\r\n op: StringNode({ enum: ['replace', 'append', 'merge'] })\r\n }, { context: 'nbt_operation' }))\r\n },\r\n 'minecraft:copy_state': {\r\n block: StringNode({ validator: 'resource', params: { pool: 'block' } }),\r\n properties: (0, core_1.ListNode)(StringNode({ validator: 'block_state_key', params: { id: ['pop', 'pop', { push: 'block' }] } }))\r\n },\r\n 'minecraft:enchant_randomly': {\r\n enchantments: (0, core_1.Opt)((0, core_1.ListNode)(StringNode({ validator: 'resource', params: { pool: 'enchantment' } })))\r\n },\r\n 'minecraft:enchant_with_levels': {\r\n levels: Reference('number_provider'),\r\n treasure: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n },\r\n 'minecraft:exploration_map': {\r\n destination: (0, core_1.Opt)((0, exports.Tag)({ resource: '$worldgen/configured_structure_feature' })),\r\n decoration: (0, core_1.Opt)(StringNode({ enum: 'map_decoration' })),\r\n zoom: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n search_radius: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n skip_existing_chunks: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n },\r\n 'minecraft:fill_player_head': {\r\n entity: entitySourceNode\r\n },\r\n 'minecraft:limit_count': {\r\n limit: Reference('int_range')\r\n },\r\n 'minecraft:looting_enchant': {\r\n count: Reference('number_provider'),\r\n limit: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true }))\r\n },\r\n 'minecraft:set_attributes': {\r\n modifiers: (0, core_1.ListNode)(Reference('attribute_modifier'))\r\n },\r\n 'minecraft:set_banner_pattern': {\r\n patterns: (0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n pattern: StringNode({ enum: 'banner_pattern' }),\r\n color: StringNode({ enum: 'dye_color' })\r\n })),\r\n append: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n },\r\n 'minecraft:set_contents': {\r\n type: StringNode({ validator: 'resource', params: { pool: 'block_entity_type' } }),\r\n entries: (0, core_1.ListNode)(Reference('loot_entry'))\r\n },\r\n 'minecraft:set_count': {\r\n count: Reference('number_provider'),\r\n add: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n },\r\n 'minecraft:set_damage': {\r\n damage: Reference('number_provider'),\r\n add: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n },\r\n 'minecraft:set_enchantments': {\r\n enchantments: (0, core_1.MapNode)(StringNode({ validator: 'resource', params: { pool: 'enchantment' } }), Reference('number_provider')),\r\n add: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n },\r\n 'minecraft:set_loot_table': {\r\n type: StringNode({ validator: 'resource', params: { pool: 'block_entity_type' } }),\r\n name: StringNode({ validator: 'resource', params: { pool: '$loot_table' } }),\r\n seed: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true }))\r\n },\r\n 'minecraft:set_lore': {\r\n entity: (0, core_1.Opt)(entitySourceNode),\r\n lore: (0, core_1.ListNode)(Reference('text_component')),\r\n replace: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n },\r\n 'minecraft:set_name': {\r\n entity: (0, core_1.Opt)(entitySourceNode),\r\n name: (0, core_1.Opt)(Reference('text_component'))\r\n },\r\n 'minecraft:set_nbt': {\r\n tag: StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:item' } } })\r\n },\r\n 'minecraft:set_potion': {\r\n id: StringNode({ validator: 'resource', params: { pool: 'potion' } })\r\n },\r\n 'minecraft:set_stew_effect': {\r\n effects: (0, core_1.Opt)((0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'mob_effect' } }),\r\n duration: Reference('number_provider')\r\n })))\r\n }\r\n };\r\n const res = {};\r\n collections.get('loot_function_type').forEach(f => {\r\n res[f] = { ...cases[f], ...conditions };\r\n });\r\n return res;\r\n };\r\n exports.DimensionTypePresets = (node) => (0, core_1.ObjectOrPreset)(StringNode({ validator: 'resource', params: { pool: '$dimension_type' } }), node, {\r\n 'minecraft:overworld': exports.DefaultDimensionType,\r\n 'minecraft:the_nether': {\r\n name: 'minecraft:the_nether',\r\n ultrawarm: true,\r\n natural: false,\r\n shrunk: true,\r\n piglin_safe: true,\r\n respawn_anchor_works: true,\r\n bed_works: false,\r\n has_raids: false,\r\n has_skylight: false,\r\n has_ceiling: true,\r\n ambient_light: 0.1,\r\n fixed_time: 18000,\r\n logical_height: 128,\r\n effects: 'minecraft:the_nether',\r\n infiniburn: '#minecraft:infiniburn_nether',\r\n min_y: 0,\r\n height: 256,\r\n },\r\n 'minecraft:the_end': {\r\n name: 'minecraft:the_end',\r\n ultrawarm: false,\r\n natural: false,\r\n shrunk: false,\r\n piglin_safe: false,\r\n respawn_anchor_works: false,\r\n bed_works: false,\r\n has_raids: true,\r\n has_skylight: false,\r\n has_ceiling: false,\r\n ambient_light: 0,\r\n fixed_time: 6000,\r\n logical_height: 256,\r\n effects: 'minecraft:the_end',\r\n infiniburn: '#minecraft:infiniburn_end',\r\n min_y: 0,\r\n height: 256,\r\n }\r\n });\r\n exports.NoiseSettingsPresets = (node) => (0, core_1.ObjectOrPreset)(StringNode({ validator: 'resource', params: { pool: '$worldgen/noise_settings' } }), node, {\r\n 'minecraft:overworld': exports.DefaultNoiseSettings,\r\n 'minecraft:nether': {\r\n sea_level: 32,\r\n ore_veins_enabled: false,\r\n disable_mob_generation: false,\r\n aquifers_enabled: false,\r\n legacy_random_source: true,\r\n default_block: {\r\n Name: 'minecraft:netherrack'\r\n },\r\n default_fluid: {\r\n Properties: {\r\n level: '0'\r\n },\r\n Name: 'minecraft:lava'\r\n },\r\n noise: {\r\n min_y: 0,\r\n height: 128,\r\n size_horizontal: 1,\r\n size_vertical: 2,\r\n top_slide: {\r\n target: 0.9375,\r\n size: 3,\r\n offset: 0\r\n },\r\n bottom_slide: {\r\n target: 2.5,\r\n size: 4,\r\n offset: -1\r\n },\r\n sampling: {\r\n xz_scale: 1.0,\r\n y_scale: 3.0,\r\n xz_factor: 80.0,\r\n y_factor: 60.0\r\n },\r\n terrain_shaper: {\r\n offset: 0,\r\n factor: 0,\r\n jaggedness: 0\r\n }\r\n },\r\n noise_router: {\r\n barrier: 0,\r\n fluid_level_floodedness: 0,\r\n fluid_level_spread: 0,\r\n lava: 0,\r\n temperature: 0,\r\n vegetation: 0,\r\n continents: 0,\r\n erosion: 0,\r\n depth: 0,\r\n ridges: 0,\r\n initial_density_without_jaggedness: 0,\r\n final_density: {\r\n type: 'minecraft:interpolated',\r\n argument: 'minecraft:overworld/base_3d_noise'\r\n },\r\n vein_toggle: 0,\r\n vein_ridged: 0,\r\n vein_gap: 0,\r\n },\r\n surface_rule: {\r\n type: 'minecraft:sequence',\r\n sequence: []\r\n }\r\n },\r\n 'minecraft:end': {\r\n sea_level: 0,\r\n ore_veins_enabled: false,\r\n disable_mob_generation: false,\r\n aquifers_enabled: false,\r\n legacy_random_source: true,\r\n default_block: {\r\n Name: 'minecraft:end_stone'\r\n },\r\n default_fluid: {\r\n Name: 'minecraft:air'\r\n },\r\n noise: {\r\n min_y: 0,\r\n height: 128,\r\n size_horizontal: 2,\r\n size_vertical: 1,\r\n top_slide: {\r\n target: -23.4375,\r\n size: 64,\r\n offset: -46\r\n },\r\n bottom_slide: {\r\n target: -0.234375,\r\n size: 7,\r\n offset: 1\r\n },\r\n sampling: {\r\n xz_scale: 2.0,\r\n y_scale: 1.0,\r\n xz_factor: 80.0,\r\n y_factor: 160.0\r\n },\r\n terrain_shaper: {\r\n offset: 0,\r\n factor: 1,\r\n jaggedness: 0\r\n }\r\n },\r\n noise_router: {\r\n barrier: 0,\r\n fluid_level_floodedness: 0,\r\n fluid_level_spread: 0,\r\n lava: 0,\r\n temperature: 0,\r\n vegetation: 0,\r\n continents: 0,\r\n erosion: 0,\r\n depth: 0,\r\n ridges: 0,\r\n initial_density_without_jaggedness: 0,\r\n final_density: {\r\n type: 'minecraft:interpolated',\r\n argument: 'minecraft:overworld/base_3d_noise'\r\n },\r\n vein_toggle: 0,\r\n vein_ridged: 0,\r\n vein_gap: 0,\r\n },\r\n surface_rule: {\r\n type: 'minecraft:sequence',\r\n sequence: []\r\n }\r\n },\r\n 'minecraft:amplified': {\r\n sea_level: 63,\r\n ore_veins_enabled: true,\r\n disable_mob_generation: false,\r\n aquifers_enabled: true,\r\n legacy_random_source: false,\r\n default_block: {\r\n Name: 'minecraft:stone'\r\n },\r\n default_fluid: {\r\n Properties: {\r\n level: '0'\r\n },\r\n Name: 'minecraft:water'\r\n },\r\n noise: {\r\n min_y: -64,\r\n height: 384,\r\n size_horizontal: 1,\r\n size_vertical: 2,\r\n top_slide: {\r\n target: -0.078125,\r\n size: 2,\r\n offset: 8\r\n },\r\n bottom_slide: {\r\n target: 0.1171875,\r\n size: 3,\r\n offset: 0\r\n },\r\n sampling: {\r\n xz_scale: 0.9999999814507745,\r\n y_scale: 0.9999999814507745,\r\n xz_factor: 80,\r\n y_factor: 160\r\n },\r\n terrain_shaper: {\r\n offset: 0,\r\n factor: 0,\r\n jaggedness: 0\r\n }\r\n },\r\n noise_router: {\r\n barrier: 0,\r\n fluid_level_floodedness: 0,\r\n fluid_level_spread: 0,\r\n lava: 0,\r\n temperature: 0,\r\n vegetation: 0,\r\n continents: 0,\r\n erosion: 0,\r\n depth: 0,\r\n ridges: 0,\r\n initial_density_without_jaggedness: 0,\r\n final_density: {\r\n type: 'minecraft:interpolated',\r\n argument: 'minecraft:overworld/base_3d_noise'\r\n },\r\n vein_toggle: 0,\r\n vein_ridged: 0,\r\n vein_gap: 0,\r\n },\r\n surface_rule: {\r\n type: 'minecraft:sequence',\r\n sequence: []\r\n },\r\n },\r\n 'minecraft:caves': {\r\n sea_level: 32,\r\n ore_veins_enabled: false,\r\n disable_mob_generation: false,\r\n aquifers_enabled: false,\r\n legacy_random_source: true,\r\n default_block: {\r\n Name: 'minecraft:stone'\r\n },\r\n default_fluid: {\r\n Properties: {\r\n level: '0'\r\n },\r\n Name: 'minecraft:water'\r\n },\r\n noise: {\r\n min_y: 0,\r\n height: 128,\r\n size_horizontal: 1,\r\n size_vertical: 2,\r\n top_slide: {\r\n target: 0.9375,\r\n size: 3,\r\n offset: 0\r\n },\r\n bottom_slide: {\r\n target: 2.5,\r\n size: 4,\r\n offset: -1\r\n },\r\n sampling: {\r\n xz_scale: 1.0,\r\n y_scale: 3.0,\r\n xz_factor: 80.0,\r\n y_factor: 60.0\r\n },\r\n terrain_shaper: {\r\n offset: 0,\r\n factor: 0,\r\n jaggedness: 0\r\n }\r\n },\r\n noise_router: {\r\n barrier: 0,\r\n fluid_level_floodedness: 0,\r\n fluid_level_spread: 0,\r\n lava: 0,\r\n temperature: 0,\r\n vegetation: 0,\r\n continents: 0,\r\n erosion: 0,\r\n depth: 0,\r\n ridges: 0,\r\n initial_density_without_jaggedness: 0,\r\n final_density: {\r\n type: 'minecraft:interpolated',\r\n argument: 'minecraft:overworld/base_3d_noise'\r\n },\r\n vein_toggle: 0,\r\n vein_ridged: 0,\r\n vein_gap: 0,\r\n },\r\n surface_rule: {\r\n type: 'minecraft:sequence',\r\n sequence: []\r\n }\r\n },\r\n 'minecraft:floating_islands': {\r\n sea_level: 0,\r\n ore_veins_enabled: false,\r\n disable_mob_generation: false,\r\n aquifers_enabled: false,\r\n legacy_random_source: true,\r\n default_block: {\r\n Name: 'minecraft:stone'\r\n },\r\n default_fluid: {\r\n Properties: {\r\n level: '0'\r\n },\r\n Name: 'minecraft:water'\r\n },\r\n noise: {\r\n min_y: 0,\r\n height: 128,\r\n size_horizontal: 2,\r\n size_vertical: 1,\r\n top_slide: {\r\n target: -23.4375,\r\n size: 64,\r\n offset: -46\r\n },\r\n bottom_slide: {\r\n target: -0.234375,\r\n size: 7,\r\n offset: 1\r\n },\r\n sampling: {\r\n xz_scale: 2.0,\r\n y_scale: 1.0,\r\n xz_factor: 80.0,\r\n y_factor: 160.0\r\n },\r\n terrain_shaper: {\r\n offset: 0,\r\n factor: 1,\r\n jaggedness: 0\r\n }\r\n },\r\n noise_router: {\r\n barrier: 0,\r\n fluid_level_floodedness: 0,\r\n fluid_level_spread: 0,\r\n lava: 0,\r\n temperature: 0,\r\n vegetation: 0,\r\n continents: 0,\r\n erosion: 0,\r\n depth: 0,\r\n ridges: 0,\r\n initial_density_without_jaggedness: 0,\r\n final_density: {\r\n type: 'minecraft:interpolated',\r\n argument: 'minecraft:overworld/base_3d_noise'\r\n },\r\n vein_toggle: 0,\r\n vein_ridged: 0,\r\n vein_gap: 0,\r\n },\r\n surface_rule: {\r\n type: 'minecraft:sequence',\r\n sequence: []\r\n }\r\n }\r\n });\r\n}\r\nexports.initCommonSchemas = initCommonSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initConditionSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"./Common\");\r\nfunction initConditionSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('predicate', (0, core_1.ObjectOrList)(Reference('condition'), { choiceContext: 'condition' }));\r\n schemas.register('condition', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n condition: StringNode({ validator: 'resource', params: { pool: 'loot_condition_type' } }),\r\n [core_1.Switch]: [{ push: 'condition' }],\r\n [core_1.Case]: (0, Common_1.ConditionCases)()\r\n }, { category: 'predicate', context: 'condition' }), {\r\n default: () => ({\r\n condition: 'minecraft:entity_properties',\r\n entity: 'this'\r\n })\r\n }));\r\n}\r\nexports.initConditionSchemas = initConditionSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initDimensionSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"./Common\");\r\nfunction initDimensionSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const StructureSet = (0, core_1.ChoiceNode)([\r\n {\r\n type: 'string',\r\n priority: 1,\r\n node: StringNode({ validator: 'resource', params: { pool: '$worldgen/structure_set' } }),\r\n change: () => undefined\r\n },\r\n {\r\n type: 'object',\r\n node: Reference('structure_set'),\r\n change: () => ({})\r\n }\r\n ], { choiceContext: 'structure_set' });\r\n schemas.register('dimension', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n type: (0, Common_1.DimensionTypePresets)(Reference('dimension_type')),\r\n generator: (0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/chunk_generator' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:noise': {\r\n seed: (0, core_1.NumberNode)({ integer: true }),\r\n settings: (0, Common_1.NoiseSettingsPresets)(Reference('noise_settings')),\r\n biome_source: (0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/biome_source' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:fixed': {\r\n biome: StringNode({ validator: 'resource', params: { pool: '$worldgen/biome' } })\r\n },\r\n 'minecraft:multi_noise': {\r\n preset: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: ['minecraft:overworld', 'minecraft:nether'] } })),\r\n biomes: (0, core_1.Mod)((0, core_1.ListNode)(Reference('generator_biome')), {\r\n enabled: path => path.push('preset').get() === undefined,\r\n default: () => [{\r\n biome: 'minecraft:plains'\r\n }]\r\n })\r\n },\r\n 'minecraft:checkerboard': {\r\n scale: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 0, max: 62 })),\r\n biomes: (0, Common_1.Tag)({ resource: '$worldgen/biome' })\r\n },\r\n 'minecraft:the_end': {\r\n seed: (0, core_1.NumberNode)({ integer: true })\r\n }\r\n }\r\n }, { category: 'predicate', disableSwitchContext: true })\r\n },\r\n 'minecraft:flat': {\r\n settings: (0, core_1.ObjectNode)({\r\n biome: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$worldgen/biome' } })),\r\n lakes: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n features: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n layers: (0, core_1.ListNode)(Reference('generator_layer')),\r\n structure_overrides: (0, core_1.ListNode)(StructureSet)\r\n })\r\n }\r\n }\r\n }, { disableSwitchContext: true })\r\n }, { category: 'pool', context: 'dimension' }), {\r\n default: () => {\r\n const seed = Math.floor(Math.random() * (4294967296)) - 2147483648;\r\n return {\r\n type: 'minecraft:overworld',\r\n generator: {\r\n type: 'minecraft:noise',\r\n seed,\r\n biome_source: {\r\n type: 'minecraft:fixed',\r\n seed,\r\n biome: 'minecraft:plains'\r\n },\r\n settings: 'minecraft:overworld'\r\n }\r\n };\r\n }\r\n }));\r\n const ClimateParameter = (0, core_1.ChoiceNode)([\r\n {\r\n type: 'number',\r\n node: (0, core_1.NumberNode)({ min: -2, max: 2 }),\r\n change: (v) => { var _a; return (_a = v[0]) !== null && _a !== void 0 ? _a : 0; }\r\n },\r\n {\r\n type: 'list',\r\n node: (0, core_1.ListNode)((0, core_1.NumberNode)({ min: -2, max: 2 }), { minLength: 2, maxLength: 2 }),\r\n change: (v) => [v !== null && v !== void 0 ? v : 0, v !== null && v !== void 0 ? v : 0]\r\n }\r\n ]);\r\n schemas.register('generator_biome', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n biome: StringNode({ validator: 'resource', params: { pool: '$worldgen/biome' } }),\r\n parameters: (0, core_1.ObjectNode)({\r\n temperature: ClimateParameter,\r\n humidity: ClimateParameter,\r\n continentalness: ClimateParameter,\r\n erosion: ClimateParameter,\r\n weirdness: ClimateParameter,\r\n depth: ClimateParameter,\r\n offset: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n })\r\n }, { context: 'generator_biome' }), {\r\n default: () => ({\r\n biome: 'minecraft:plains',\r\n parameters: {\r\n altitude: 0,\r\n temperature: 0,\r\n humidity: 0,\r\n weirdness: 0,\r\n offset: 0\r\n }\r\n })\r\n }));\r\n}\r\nexports.initDimensionSchemas = initDimensionSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initDimensionTypeSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"./Common\");\r\nfunction initDimensionTypeSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('dimension_type', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n ultrawarm: (0, core_1.BooleanNode)(),\r\n natural: (0, core_1.BooleanNode)(),\r\n piglin_safe: (0, core_1.BooleanNode)(),\r\n respawn_anchor_works: (0, core_1.BooleanNode)(),\r\n bed_works: (0, core_1.BooleanNode)(),\r\n has_raids: (0, core_1.BooleanNode)(),\r\n has_skylight: (0, core_1.BooleanNode)(),\r\n has_ceiling: (0, core_1.BooleanNode)(),\r\n coordinate_scale: (0, core_1.NumberNode)({ min: 0.00001, max: 30000000 }),\r\n ambient_light: (0, core_1.NumberNode)(),\r\n fixed_time: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n logical_height: (0, core_1.NumberNode)({ integer: true, min: 0, max: 4064 }),\r\n effects: (0, core_1.Opt)(StringNode({ enum: ['minecraft:overworld', 'minecraft:the_nether', 'minecraft:the_end'] })),\r\n infiniburn: StringNode({ validator: 'resource', params: { pool: 'block', requireTag: true } }),\r\n min_y: (0, core_1.NumberNode)({ integer: true, min: -2032, max: 2031 }),\r\n height: (0, core_1.NumberNode)({ integer: true, min: 16, max: 4064 })\r\n }, { context: 'dimension_type' }), node => ({\r\n default: () => Common_1.DefaultDimensionType,\r\n validate: (path, value, errors, options) => {\r\n value = node.validate(path, value, errors, options);\r\n if ((value === null || value === void 0 ? void 0 : value.min_y) + (value === null || value === void 0 ? void 0 : value.height) > 2032) {\r\n errors.add(path.push('height'), 'error.min_y_plus_height', 2032);\r\n }\r\n if ((value === null || value === void 0 ? void 0 : value.logical_height) > (value === null || value === void 0 ? void 0 : value.height)) {\r\n errors.add(path.push('logical_height'), 'error.logical_height');\r\n }\r\n if ((value === null || value === void 0 ? void 0 : value.height) % 16 !== 0) {\r\n errors.add(path.push('height'), 'error.height_multiple', 16);\r\n }\r\n if ((value === null || value === void 0 ? void 0 : value.min_y) % 16 !== 0) {\r\n errors.add(path.push('min_y'), 'error.min_y_multiple', 16);\r\n }\r\n return value;\r\n }\r\n })));\r\n}\r\nexports.initDimensionTypeSchemas = initDimensionTypeSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initItemModifierSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"./Common\");\r\nfunction initItemModifierSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('item_modifier', (0, core_1.ObjectOrList)(Reference('function'), { choiceContext: 'function' }));\r\n const conditions = {\r\n conditions: (0, core_1.Opt)((0, core_1.ListNode)(Reference('condition')))\r\n };\r\n schemas.register('function', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n function: StringNode({ validator: 'resource', params: { pool: 'loot_function_type' } }),\r\n [core_1.Switch]: [{ push: 'function' }],\r\n [core_1.Case]: (0, Common_1.FunctionCases)(conditions)\r\n }, { category: 'function', context: 'function' }), {\r\n default: () => [{\r\n function: 'minecraft:set_count',\r\n count: 1\r\n }]\r\n }));\r\n}\r\nexports.initItemModifierSchemas = initItemModifierSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.LootFunctions = exports.LootConditions = exports.LootCopySources = exports.LootEntitySources = exports.LootTableTypes = void 0;\r\nexports.LootTableTypes = new Map([\r\n ['minecraft:advancement_entity', { requires: [7 /* Origin */, 8 /* ThisEntity */], allows: [] }],\r\n ['minecraft:advancement_reward', { requires: [7 /* Origin */, 8 /* ThisEntity */], allows: [] }],\r\n ['minecraft:barter', { requires: [8 /* ThisEntity */], allows: [] }],\r\n ['minecraft:block', { requires: [1 /* BlockState */, 7 /* Origin */, 9 /* Tool */], allows: [0 /* BlockEntity */, 4 /* ExplosionRadius */, 8 /* ThisEntity */] }],\r\n ['minecraft:chest', { requires: [7 /* Origin */], allows: [8 /* ThisEntity */] }],\r\n ['minecraft:command', { requires: [7 /* Origin */], allows: [8 /* ThisEntity */] }],\r\n ['minecraft:empty', { requires: [], allows: [] }],\r\n ['minecraft:entity', { requires: [2 /* DamageSource */, 7 /* Origin */, 8 /* ThisEntity */], allows: [3 /* DirectKillerEntity */, 5 /* KillerEntity */, 6 /* LastDamagePlayer */] }],\r\n ['minecraft:fishing', { requires: [7 /* Origin */, 9 /* Tool */], allows: [8 /* ThisEntity */] }],\r\n ['minecraft:generic', { requires: [2 /* DamageSource */, 0 /* BlockEntity */, 1 /* BlockState */, 3 /* DirectKillerEntity */, 4 /* ExplosionRadius */, 5 /* KillerEntity */, 6 /* LastDamagePlayer */, 7 /* Origin */, 8 /* ThisEntity */, 9 /* Tool */], allows: [] }],\r\n ['minecraft:gift', { requires: [7 /* Origin */, 8 /* ThisEntity */], allows: [] }],\r\n ['minecraft:selector', { requires: [7 /* Origin */], allows: [8 /* ThisEntity */] }]\r\n]);\r\n/**\r\n * A map from loot entity sources to an array of their required context.\r\n */\r\nexports.LootEntitySources = new Map([\r\n ['direct_killer', [3 /* DirectKillerEntity */]],\r\n ['killer', [5 /* KillerEntity */]],\r\n ['killer_player', [5 /* KillerEntity */]],\r\n ['this', [8 /* ThisEntity */]]\r\n]);\r\n/**\r\n * A map from loot copy sources to an array of their required context.\r\n */\r\nexports.LootCopySources = new Map([\r\n ['block_entity', [0 /* BlockEntity */]],\r\n ['killer', [5 /* KillerEntity */]],\r\n ['killer_player', [5 /* KillerEntity */]],\r\n ['this', [8 /* ThisEntity */]]\r\n]);\r\n/**\r\n * A map from loot condition IDs to an array of their required context.\r\n */\r\nexports.LootConditions = new Map([\r\n ['minecraft:alternative', []],\r\n ['minecraft:block_state_property', [1 /* BlockState */]],\r\n ['minecraft:damage_source_properties', [2 /* DamageSource */]],\r\n ['minecraft:entity_properties', [7 /* Origin */]],\r\n ['minecraft:entity_scores', []],\r\n ['minecraft:inverted', []],\r\n ['minecraft:killed_by_player', [6 /* LastDamagePlayer */]],\r\n ['minecraft:location_check', []],\r\n ['minecraft:match_tool', [9 /* Tool */]],\r\n ['minecraft:random_chance', []],\r\n ['minecraft:random_chance_with_looting', [5 /* KillerEntity */]],\r\n ['minecraft:reference', []],\r\n ['minecraft:survives_explosion', [4 /* ExplosionRadius */]],\r\n ['minecraft:table_bonus', [9 /* Tool */]],\r\n ['minecraft:time_check', []],\r\n ['minecraft:weather_check', []]\r\n]);\r\n/**\r\n * A map from loot function IDs to an array of their required context.\r\n */\r\nexports.LootFunctions = new Map([\r\n ['minecraft:apply_bonus', [9 /* Tool */]],\r\n ['minecraft:copy_name', []],\r\n ['minecraft:copy_nbt', []],\r\n ['minecraft:copy_state', [1 /* BlockState */]],\r\n ['minecraft:enchant_randomly', []],\r\n ['minecraft:enchant_with_levels', []],\r\n ['minecraft:exploration_map', [7 /* Origin */]],\r\n ['minecraft:explosion_decay', []],\r\n ['minecraft:fill_player_head', []],\r\n ['minecraft:furnace_smelt', []],\r\n ['minecraft:limit_count', []],\r\n ['minecraft:looting_enchant', [5 /* KillerEntity */]],\r\n ['minecraft:set_attributes', []],\r\n ['minecraft:set_banner_pattern', []],\r\n ['minecraft:set_contents', []],\r\n ['minecraft:set_count', []],\r\n ['minecraft:set_damage', []],\r\n ['minecraft:set_loot_table', []],\r\n ['minecraft:set_lore', []],\r\n ['minecraft:set_name', []],\r\n ['minecraft:set_nbt', []],\r\n ['minecraft:set_stew_effect', []]\r\n]);\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initLootTableSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst LootContext_1 = require(\"../LootContext\");\r\nconst Common_1 = require(\"./Common\");\r\nfunction initLootTableSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const conditions = {\r\n conditions: (0, core_1.Opt)((0, core_1.ListNode)(Reference('loot_condition')))\r\n };\r\n const functionsAndConditions = {\r\n functions: (0, core_1.Opt)((0, core_1.ListNode)(Reference('loot_function'))),\r\n ...conditions\r\n };\r\n function compileSwitchNode(contextMap, collectionID, getNode) {\r\n const cases = [];\r\n const getAvailableOptions = (providedContext) => collections\r\n .get(collectionID)\r\n .filter(t => {\r\n var _a;\r\n const requiredContext = (_a = contextMap.get(t)) !== null && _a !== void 0 ? _a : [];\r\n return requiredContext.every(c => providedContext.includes(c));\r\n });\r\n for (const [tableType, { allows, requires }] of LootContext_1.LootTableTypes) {\r\n const providedContext = [...allows, ...requires];\r\n cases.push({\r\n match: path => path.getModel().get(new core_1.Path(['type'])) === tableType,\r\n node: getNode(getAvailableOptions(providedContext))\r\n });\r\n }\r\n cases.push({ match: _ => true, node: getNode(collectionID) });\r\n return (0, core_1.SwitchNode)(cases);\r\n }\r\n const conditionIDSwtichNode = compileSwitchNode(LootContext_1.LootConditions, 'loot_condition_type', type => StringNode({ validator: 'resource', params: { pool: type instanceof Array ? type : `loot_condition_type` } }));\r\n const functionIDSwtichNode = compileSwitchNode(LootContext_1.LootFunctions, 'loot_function_type', type => StringNode({ validator: 'resource', params: { pool: type instanceof Array ? type : `loot_function_type` } }));\r\n const entitySourceSwtichNode = compileSwitchNode(LootContext_1.LootEntitySources, 'entity_source', type => StringNode({ enum: type }));\r\n const copySourceSwtichNode = compileSwitchNode(LootContext_1.LootCopySources, 'copy_source', type => StringNode({ enum: type }));\r\n schemas.register('loot_table', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n type: (0, core_1.Opt)(StringNode({ validator: \"resource\", params: { pool: collections.get('loot_context_type') } })),\r\n pools: (0, core_1.Opt)((0, core_1.ListNode)((0, core_1.Mod)((0, core_1.ObjectNode)({\r\n rolls: Reference('number_provider'),\r\n bonus_rolls: (0, core_1.Opt)(Reference('number_provider')),\r\n entries: (0, core_1.ListNode)(Reference('loot_entry')),\r\n ...functionsAndConditions\r\n }, { category: 'pool', context: 'loot_pool' }), {\r\n default: () => ({\r\n rolls: 1,\r\n entries: [{\r\n type: 'minecraft:item',\r\n name: 'minecraft:stone'\r\n }]\r\n })\r\n }))),\r\n functions: (0, core_1.Opt)((0, core_1.ListNode)(Reference('loot_function')))\r\n }, { context: 'loot_table' }), {\r\n default: () => ({\r\n pools: [{\r\n rolls: 1,\r\n entries: [{\r\n type: 'minecraft:item',\r\n name: 'minecraft:stone'\r\n }]\r\n }]\r\n })\r\n }));\r\n const weightMod = {\r\n enabled: path => {\r\n var _a;\r\n return ((_a = path.pop().get()) === null || _a === void 0 ? void 0 : _a.length) > 1\r\n && !['minecraft:alternatives', 'minecraft:group', 'minecraft:sequence'].includes(path.push('type').get());\r\n }\r\n };\r\n schemas.register('loot_entry', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'loot_pool_entry_type' } }),\r\n weight: (0, core_1.Opt)((0, core_1.Mod)((0, core_1.NumberNode)({ integer: true, min: 1 }), weightMod)),\r\n quality: (0, core_1.Opt)((0, core_1.Mod)((0, core_1.NumberNode)({ integer: true }), weightMod)),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:alternatives': {\r\n children: (0, core_1.ListNode)(Reference('loot_entry')),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:dynamic': {\r\n name: StringNode(),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:group': {\r\n children: (0, core_1.ListNode)(Reference('loot_entry')),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:item': {\r\n name: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:loot_table': {\r\n name: StringNode({ validator: 'resource', params: { pool: '$loot_table' } }),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:sequence': {\r\n children: (0, core_1.ListNode)(Reference('loot_entry')),\r\n ...functionsAndConditions\r\n },\r\n 'minecraft:tag': {\r\n name: StringNode({ validator: 'resource', params: { pool: '$tag/item' } }),\r\n expand: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n ...functionsAndConditions\r\n }\r\n }\r\n }, { context: 'loot_entry' }), {\r\n default: () => ({\r\n type: 'minecraft:item',\r\n name: 'minecraft:stone'\r\n })\r\n }));\r\n schemas.register('loot_function', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n function: functionIDSwtichNode,\r\n [core_1.Switch]: [{ push: 'function' }],\r\n [core_1.Case]: (0, Common_1.FunctionCases)(conditions, copySourceSwtichNode, entitySourceSwtichNode)\r\n }, { category: 'function', context: 'function' }), {\r\n default: () => ({\r\n function: 'minecraft:set_count',\r\n count: 1\r\n })\r\n }));\r\n schemas.register('loot_condition', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n condition: conditionIDSwtichNode,\r\n [core_1.Switch]: [{ push: 'condition' }],\r\n [core_1.Case]: (0, Common_1.ConditionCases)(entitySourceSwtichNode)\r\n }, { category: 'predicate', context: 'condition' }), {\r\n default: () => ({\r\n condition: 'minecraft:random_chance',\r\n chance: 0.5\r\n })\r\n }));\r\n schemas.register('attribute_modifier', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n attribute: StringNode({ validator: 'resource', params: { pool: 'attribute' } }),\r\n name: StringNode(),\r\n amount: Reference('number_provider'),\r\n operation: StringNode({ enum: ['addition', 'multiply_base', 'multiply_total'] }),\r\n slot: (0, core_1.StringOrList)(StringNode({ enum: 'slot' }))\r\n }, { context: 'attribute_modifier' }), {\r\n default: () => ({\r\n attribute: 'minecraft:generic.max_health',\r\n name: '',\r\n amount: 1,\r\n operation: 'addition',\r\n slot: 'mainhand'\r\n })\r\n }));\r\n}\r\nexports.initLootTableSchemas = initLootTableSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initPackMcmetaSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst CURRENT_PACK_FORMAT = 9;\r\nfunction initPackMcmetaSchemas(schemas, _) {\r\n const getSimpleString = (jsonText) => { var _a, _b; return jsonText instanceof Array ? getSimpleString(jsonText[0]) : (_b = (_a = jsonText === null || jsonText === void 0 ? void 0 : jsonText.text) !== null && _a !== void 0 ? _a : jsonText === null || jsonText === void 0 ? void 0 : jsonText.toString()) !== null && _b !== void 0 ? _b : ''; };\r\n schemas.register('pack_mcmeta', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n pack: (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n pack_format: (0, core_1.Mod)((0, core_1.NumberNode)({ integer: true, min: CURRENT_PACK_FORMAT, max: CURRENT_PACK_FORMAT }), {\r\n default: () => CURRENT_PACK_FORMAT,\r\n canUpdate: (_p, v) => v !== CURRENT_PACK_FORMAT,\r\n update: () => [{ name: 'pack_format', params: [CURRENT_PACK_FORMAT], newValue: CURRENT_PACK_FORMAT }]\r\n }),\r\n description: (0, core_1.Reference)(schemas, 'text_component')\r\n }), {\r\n default: () => ({\r\n pack_format: CURRENT_PACK_FORMAT,\r\n description: ''\r\n })\r\n })\r\n }), {\r\n default: () => ({\r\n pack: {\r\n pack_format: CURRENT_PACK_FORMAT,\r\n description: ''\r\n }\r\n })\r\n }));\r\n}\r\nexports.initPackMcmetaSchemas = initPackMcmetaSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initPredicatesSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initPredicatesSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const StateChoice = (0, core_1.ChoiceNode)([\r\n {\r\n type: 'string',\r\n node: StringNode(),\r\n change: v => (typeof v === 'boolean' || typeof v === 'number') ? v.toString() : ''\r\n },\r\n {\r\n type: 'number',\r\n node: (0, core_1.NumberNode)(),\r\n change: v => (typeof v === 'string') ? parseInt(v) : 0\r\n },\r\n {\r\n type: 'object',\r\n node: (0, core_1.ObjectNode)({\r\n min: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n max: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true }))\r\n }),\r\n change: v => (typeof v === 'number') ? ({ min: v, max: v }) : ({})\r\n },\r\n {\r\n type: 'boolean',\r\n node: (0, core_1.BooleanNode)(),\r\n change: v => v === 'true' || v === 1\r\n }\r\n ]);\r\n schemas.register('item_predicate', (0, core_1.ObjectNode)({\r\n items: (0, core_1.Opt)((0, core_1.ListNode)(StringNode({ validator: 'resource', params: { pool: 'item' } }))),\r\n tag: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$tag/item' } })),\r\n count: Reference('int_bounds'),\r\n durability: Reference('int_bounds'),\r\n potion: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: 'potion' } })),\r\n nbt: (0, core_1.Opt)(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:item', id: ['pop', { push: 'item' }] } } })),\r\n enchantments: (0, core_1.Opt)((0, core_1.ListNode)(Reference('enchantment_predicate')))\r\n }, { context: 'item' }));\r\n schemas.register('enchantment_predicate', (0, core_1.ObjectNode)({\r\n enchantment: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: 'enchantment' } })),\r\n levels: Reference('int_bounds')\r\n }, { context: 'enchantment' }));\r\n schemas.register('block_predicate', (0, core_1.ObjectNode)({\r\n blocks: (0, core_1.Opt)((0, core_1.ListNode)(StringNode({ validator: 'resource', params: { pool: 'block' } }))),\r\n tag: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$tag/block' } })),\r\n nbt: (0, core_1.Opt)(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:block', id: ['pop', { push: 'block' }] } } })),\r\n state: (0, core_1.Opt)((0, core_1.MapNode)(StringNode(), StateChoice, { validation: { validator: 'block_state_map', params: { id: ['pop', { push: 'block' }] } } }))\r\n }, { context: 'block' }));\r\n schemas.register('fluid_predicate', (0, core_1.ObjectNode)({\r\n fluid: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: 'fluid' } })),\r\n tag: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$tag/fluid' } })),\r\n state: (0, core_1.Opt)((0, core_1.MapNode)(StringNode(), StateChoice))\r\n }, { context: 'fluid' }));\r\n schemas.register('location_predicate', (0, core_1.ObjectNode)({\r\n position: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n x: Reference('float_bounds'),\r\n y: Reference('float_bounds'),\r\n z: Reference('float_bounds')\r\n })),\r\n biome: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$worldgen/biome' } })),\r\n feature: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$worldgen/configured_structure_feature' } })),\r\n dimension: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$dimension' } })),\r\n light: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n light: Reference('int_bounds')\r\n })),\r\n smokey: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n block: (0, core_1.Opt)(Reference('block_predicate')),\r\n fluid: (0, core_1.Opt)(Reference('fluid_predicate'))\r\n }, { context: 'location' }));\r\n schemas.register('statistic_predicate', (0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'stat_type' } }),\r\n stat: StringNode(),\r\n value: Reference('int_bounds'),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:mined': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'block' } })\r\n },\r\n 'minecraft:crafted': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'item' } })\r\n },\r\n 'minecraft:used': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'item' } })\r\n },\r\n 'minecraft:broken': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'item' } })\r\n },\r\n 'minecraft:picked_up': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'item' } })\r\n },\r\n 'minecraft:dropped': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'item' } })\r\n },\r\n 'minecraft:killed': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'entity_type' } })\r\n },\r\n 'minecraft:killed_by': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'entity_type' } })\r\n },\r\n 'minecraft:custom': {\r\n stat: StringNode({ validator: 'resource', params: { pool: 'custom_stat' } })\r\n }\r\n }\r\n }));\r\n schemas.register('player_predicate', (0, core_1.ObjectNode)({\r\n gamemode: (0, core_1.Opt)(StringNode({ enum: 'gamemode' })),\r\n level: Reference('int_bounds'),\r\n advancements: (0, core_1.Opt)((0, core_1.MapNode)(StringNode({ validator: 'resource', params: { pool: '$advancement' } }), (0, core_1.ChoiceNode)([\r\n { type: 'boolean', node: (0, core_1.BooleanNode)(), change: _ => true },\r\n {\r\n type: 'object', node: (0, core_1.MapNode)(StringNode(), (0, core_1.BooleanNode)())\r\n }\r\n ]))),\r\n recipes: (0, core_1.Opt)((0, core_1.MapNode)(StringNode({ validator: 'resource', params: { pool: '$recipe' } }), (0, core_1.BooleanNode)())),\r\n stats: (0, core_1.Opt)((0, core_1.ListNode)(Reference('statistic_predicate'))),\r\n looking_at: (0, core_1.Opt)(Reference('entity_predicate'))\r\n }, { context: 'player' }));\r\n schemas.register('status_effect_predicate', (0, core_1.ObjectNode)({\r\n amplifier: Reference('int_bounds'),\r\n duration: Reference('int_bounds'),\r\n ambient: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n visible: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n }, { context: 'status_effect' }));\r\n schemas.register('distance_predicate', (0, core_1.ObjectNode)({\r\n x: Reference('float_bounds'),\r\n y: Reference('float_bounds'),\r\n z: Reference('float_bounds'),\r\n absolute: Reference('float_bounds'),\r\n horizontal: Reference('float_bounds')\r\n }, { context: 'distance' }));\r\n schemas.register('entity_predicate', (0, core_1.ObjectNode)({\r\n type: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: 'entity_type', allowTag: true } })),\r\n nbt: (0, core_1.Opt)(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:entity', id: ['pop', { push: 'type' }] } } })),\r\n team: (0, core_1.Opt)(StringNode({ validator: 'team' })),\r\n location: (0, core_1.Opt)(Reference('location_predicate')),\r\n stepping_on: (0, core_1.Opt)(Reference('location_predicate')),\r\n distance: (0, core_1.Opt)(Reference('distance_predicate')),\r\n flags: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n is_on_fire: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n is_sneaking: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n is_sprinting: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n is_swimming: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n is_baby: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n })),\r\n equipment: (0, core_1.Opt)((0, core_1.MapNode)(StringNode({ enum: 'slot' }), Reference('item_predicate'))),\r\n player: (0, core_1.Opt)(Reference('player_predicate')),\r\n vehicle: (0, core_1.Opt)(Reference('entity_predicate')),\r\n passenger: (0, core_1.Opt)(Reference('entity_predicate')),\r\n targeted_entity: (0, core_1.Opt)(Reference('entity_predicate')),\r\n lightning_bolt: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n blocks_set_on_fire: (0, core_1.Opt)(Reference('int_bounds')),\r\n entity_struck: (0, core_1.Opt)(Reference('entity_predicate'))\r\n })),\r\n fishing_hook: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n in_open_water: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n })),\r\n catType: (0, core_1.Opt)(StringNode({ enum: 'cat_texture' })),\r\n effects: (0, core_1.Opt)((0, core_1.MapNode)(StringNode({ validator: 'resource', params: { pool: 'mob_effect' } }), Reference('status_effect_predicate')))\r\n }, { context: 'entity' }));\r\n schemas.register('damage_source_predicate', (0, core_1.ObjectNode)({\r\n is_explosion: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n is_fire: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n is_magic: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n is_projectile: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n is_lightning: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n bypasses_armor: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n bypasses_invulnerability: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n bypasses_magic: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n source_entity: (0, core_1.Opt)(Reference('entity_predicate')),\r\n direct_entity: (0, core_1.Opt)(Reference('entity_predicate'))\r\n }, { context: 'damage_source' }));\r\n schemas.register('damage_predicate', (0, core_1.ObjectNode)({\r\n dealt: Reference('float_bounds'),\r\n taken: Reference('float_bounds'),\r\n blocked: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n source_entity: (0, core_1.Opt)(Reference('entity_predicate')),\r\n type: (0, core_1.Opt)(Reference('damage_source_predicate'))\r\n }, { context: 'damage' }));\r\n}\r\nexports.initPredicatesSchemas = initPredicatesSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initRecipeSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initRecipeSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('recipe', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'recipe_serializer' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:crafting_shaped': {\r\n group: (0, core_1.Opt)(StringNode({ enum: 'recipe_group', additional: true })),\r\n pattern: (0, core_1.ListNode)(StringNode()),\r\n key: (0, core_1.MapNode)(StringNode(), // TODO: add validation\r\n Reference('recipe_ingredient')),\r\n result: Reference('recipe_result')\r\n },\r\n 'minecraft:crafting_shapeless': {\r\n group: (0, core_1.Opt)(StringNode()),\r\n ingredients: (0, core_1.ListNode)(Reference('recipe_ingredient')),\r\n result: Reference('recipe_result')\r\n },\r\n 'minecraft:smelting': {\r\n group: (0, core_1.Opt)(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n experience: (0, core_1.Opt)((0, core_1.NumberNode)()),\r\n cookingtime: (0, core_1.Opt)((0, core_1.Mod)((0, core_1.NumberNode)({ integer: true }), { default: () => 200 }))\r\n },\r\n 'minecraft:blasting': {\r\n group: (0, core_1.Opt)(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n experience: (0, core_1.Opt)((0, core_1.NumberNode)()),\r\n cookingtime: (0, core_1.Opt)((0, core_1.Mod)((0, core_1.NumberNode)({ integer: true }), { default: () => 100 }))\r\n },\r\n 'minecraft:smoking': {\r\n group: (0, core_1.Opt)(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n experience: (0, core_1.Opt)((0, core_1.NumberNode)()),\r\n cookingtime: (0, core_1.Opt)((0, core_1.Mod)((0, core_1.NumberNode)({ integer: true }), { default: () => 100 }))\r\n },\r\n 'minecraft:campfire_cooking': {\r\n group: (0, core_1.Opt)(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n experience: (0, core_1.Opt)((0, core_1.NumberNode)()),\r\n cookingtime: (0, core_1.Opt)((0, core_1.Mod)((0, core_1.NumberNode)({ integer: true }), { default: () => 100 }))\r\n },\r\n 'minecraft:stonecutting': {\r\n group: (0, core_1.Opt)(StringNode()),\r\n ingredient: Reference('recipe_ingredient'),\r\n result: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n count: (0, core_1.NumberNode)({ integer: true })\r\n },\r\n 'minecraft:smithing': {\r\n group: (0, core_1.Opt)(StringNode()),\r\n base: Reference('recipe_ingredient_object'),\r\n addition: Reference('recipe_ingredient_object'),\r\n result: Reference('recipe_result')\r\n }\r\n }\r\n }, { context: 'recipe', disableSwitchContext: true }), {\r\n default: () => ({\r\n type: 'minecraft:crafting_shaped'\r\n })\r\n }));\r\n schemas.register('recipe_ingredient', (0, core_1.Mod)((0, core_1.ChoiceNode)([\r\n {\r\n type: 'object',\r\n node: Reference('recipe_ingredient_object'),\r\n change: v => v[0]\r\n },\r\n {\r\n type: 'list',\r\n node: (0, core_1.ListNode)(Reference('recipe_ingredient_object')),\r\n change: v => [v]\r\n }\r\n ]), {\r\n default: () => ({\r\n item: 'minecraft:stone'\r\n })\r\n }));\r\n schemas.register('recipe_ingredient_object', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n item: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: 'item' } })),\r\n tag: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$tag/item' } }))\r\n }), {\r\n default: () => ({\r\n item: 'minecraft:stone'\r\n })\r\n }));\r\n schemas.register('recipe_result', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n item: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n count: (0, core_1.Opt)((0, core_1.Mod)((0, core_1.NumberNode)({ integer: true }), { default: () => 1 }))\r\n }), {\r\n default: () => ({\r\n item: 'minecraft:stone'\r\n })\r\n }));\r\n}\r\nexports.initRecipeSchemas = initRecipeSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initTagsSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initTagsSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const TagBase = (type) => (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n replace: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n values: (0, core_1.ListNode)((0, core_1.ChoiceNode)([\r\n {\r\n type: 'string',\r\n node: StringNode({ validator: 'resource', params: { pool: type, allowTag: true } }),\r\n change: v => v.id\r\n },\r\n {\r\n type: 'object',\r\n node: (0, core_1.ObjectNode)({\r\n id: StringNode({ validator: 'resource', params: { pool: type, allowTag: true, allowUnknown: true } }),\r\n required: (0, core_1.BooleanNode)()\r\n }),\r\n change: v => ({ id: v })\r\n }\r\n ])),\r\n }, { context: 'tag' }), {\r\n default: () => ({\r\n values: []\r\n })\r\n });\r\n schemas.register('block_tag', TagBase('block'));\r\n schemas.register('entity_type_tag', TagBase('entity_type'));\r\n schemas.register('fluid_tag', TagBase('fluid'));\r\n schemas.register('function_tag', TagBase('$function'));\r\n schemas.register('game_event_tag', TagBase('game_event'));\r\n schemas.register('item_tag', TagBase('item'));\r\n schemas.register('advancement_tag', TagBase('$advancement'));\r\n schemas.register('dimension_tag', TagBase('$dimension'));\r\n schemas.register('dimension_type_tag', TagBase('$dimension_type'));\r\n schemas.register('function_tag', TagBase('$function'));\r\n schemas.register('item_modifier_tag', TagBase('$item_modifier'));\r\n schemas.register('loot_table_tag', TagBase('$loot_table'));\r\n schemas.register('predicate_tag', TagBase('$predicate'));\r\n schemas.register('recipe_tag', TagBase('$recipe'));\r\n schemas.register('structure_tag', TagBase('$structure'));\r\n schemas.register('biome_tag', TagBase('$worldgen/biome'));\r\n schemas.register('configured_carver_tag', TagBase('$worldgen/configured_carver'));\r\n schemas.register('configured_decorator_tag', TagBase('$worldgen/configured_decorator'));\r\n schemas.register('configured_feature_tag', TagBase('$worldgen/configured_feature'));\r\n schemas.register('configured_structure_feature_tag', TagBase('$worldgen/configured_structure_feature'));\r\n schemas.register('configured_surface_builder_tag', TagBase('$worldgen/configured_surface_builder'));\r\n schemas.register('density_function_tag', TagBase('$worldgen/density_function'));\r\n schemas.register('noise_tag', TagBase('$worldgen/noise'));\r\n schemas.register('noise_settings_tag', TagBase('$worldgen/noise_settings'));\r\n schemas.register('placed_feature_tag', TagBase('$worldgen/placed_feature'));\r\n schemas.register('processor_list_tag', TagBase('$worldgen/processor_list'));\r\n schemas.register('structure_set_tag', TagBase('$worldgen/structure_set'));\r\n schemas.register('template_pool_tag', TagBase('$worldgen/template_pool'));\r\n}\r\nexports.initTagsSchemas = initTagsSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initTextComponentSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initTextComponentSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const getSimpleString = (v) => { var _a; return v instanceof Array ? getSimpleString(v[0]) : (_a = v === null || v === void 0 ? void 0 : v.text) !== null && _a !== void 0 ? _a : (typeof v === 'object' ? '' : v === null || v === void 0 ? void 0 : v.toString()); };\r\n schemas.register('text_component', (0, core_1.Mod)((0, core_1.ChoiceNode)([\r\n {\r\n type: 'object',\r\n node: Reference('text_component_object'),\r\n change: v => v instanceof Array ? (typeof v[0] === 'object' ? v[0] : { text: getSimpleString(v[0]) }) : typeof v === 'object' ? v : { text: getSimpleString(v) }\r\n },\r\n {\r\n type: 'list',\r\n node: Reference('text_component_list'),\r\n change: v => [v]\r\n },\r\n {\r\n type: 'string',\r\n priority: 1,\r\n node: StringNode(),\r\n change: getSimpleString\r\n },\r\n {\r\n type: 'number',\r\n node: (0, core_1.NumberNode)(),\r\n change: v => {\r\n const n = parseFloat(getSimpleString(v));\r\n return isFinite(n) ? n : (!!v ? 1 : 0);\r\n }\r\n },\r\n {\r\n type: 'boolean',\r\n node: (0, core_1.BooleanNode)(),\r\n change: v => {\r\n const s = getSimpleString(v);\r\n return s === 'true' || s === 'false' ? s === 'true' : !!s;\r\n }\r\n }\r\n ], { context: 'text_component' }), {\r\n default: () => ({\r\n text: \"\"\r\n })\r\n }));\r\n const CommonFields = {\r\n color: (0, core_1.Opt)(StringNode()) /* TODO */,\r\n font: (0, core_1.Opt)(StringNode()),\r\n bold: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n italic: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n underlined: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n strikethrough: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n obfuscated: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n insertion: (0, core_1.Opt)(StringNode()),\r\n clickEvent: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n action: StringNode({ enum: ['open_url', 'open_file', 'run_command', 'suggest_command', 'change_page', 'copy_to_clipboard'] }),\r\n [core_1.Switch]: [{ push: 'action' }],\r\n [core_1.Case]: {\r\n 'change_page': {\r\n value: StringNode()\r\n },\r\n 'copy_to_clipboard': {\r\n value: StringNode()\r\n },\r\n 'open_file': {\r\n value: StringNode()\r\n },\r\n 'open_url': {\r\n value: StringNode()\r\n },\r\n 'run_command': {\r\n value: StringNode({ validator: 'command', params: { leadingSlash: true, allowPartial: true } })\r\n },\r\n 'suggest_command': {\r\n value: StringNode({ validator: 'command', params: { leadingSlash: true, allowPartial: true } })\r\n }\r\n }\r\n })),\r\n hoverEvent: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n action: StringNode({ enum: ['show_text', 'show_item', 'show_entity'] }),\r\n [core_1.Switch]: [{ push: 'action' }],\r\n [core_1.Case]: {\r\n 'show_text': {\r\n value: (0, core_1.Opt)(Reference('text_component')),\r\n contents: (0, core_1.Opt)(Reference('text_component'))\r\n },\r\n 'show_item': {\r\n value: (0, core_1.Opt)(StringNode({ validator: 'nbt', params: { module: 'util::InventoryItem' } })),\r\n contents: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n id: StringNode({ validator: 'resource', params: { pool: 'item' } }),\r\n count: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n tag: (0, core_1.Opt)(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:item', id: ['pop', { push: 'id' }] } } }))\r\n }))\r\n },\r\n 'show_entity': {\r\n value: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n name: (0, core_1.Opt)(StringNode()),\r\n type: (0, core_1.Opt)(StringNode()),\r\n id: (0, core_1.Opt)(StringNode())\r\n })),\r\n contents: (0, core_1.Opt)((0, core_1.Mod)((0, core_1.ObjectNode)({\r\n name: (0, core_1.Opt)(Reference('text_component')),\r\n type: StringNode({ validator: 'resource', params: { pool: 'entity_type' } }),\r\n id: StringNode({ validator: 'uuid' })\r\n }), {\r\n default: () => ({\r\n type: 'minecraft:pig',\r\n id: '00000001-0001-0001-0001-000000000001'\r\n })\r\n }))\r\n }\r\n }\r\n })),\r\n extra: (0, core_1.Opt)(Reference('text_component_list'))\r\n };\r\n schemas.register('text_component_object', (0, core_1.Mod)((0, core_1.ChoiceNode)([\r\n {\r\n type: 'text',\r\n match: v => typeof v === 'object',\r\n change: v => ({ text: '' }),\r\n priority: -1,\r\n node: (0, core_1.ObjectNode)({\r\n text: StringNode(),\r\n ...CommonFields\r\n })\r\n },\r\n {\r\n type: 'translation',\r\n match: v => (v === null || v === void 0 ? void 0 : v.translate) !== undefined,\r\n change: v => ({ translate: '' }),\r\n node: (0, core_1.ObjectNode)({\r\n translate: StringNode(),\r\n with: (0, core_1.Opt)(Reference('text_component_list')),\r\n ...CommonFields\r\n })\r\n },\r\n {\r\n type: 'score',\r\n match: v => (v === null || v === void 0 ? void 0 : v.score) !== undefined,\r\n change: v => ({ score: {} }),\r\n node: (0, core_1.ObjectNode)({\r\n score: (0, core_1.ObjectNode)({\r\n name: StringNode({ validator: 'entity', params: { amount: 'single', type: 'entities', isScoreHolder: true } }),\r\n objective: StringNode({ validator: 'objective' }),\r\n value: (0, core_1.Opt)(StringNode())\r\n }),\r\n ...CommonFields\r\n })\r\n },\r\n {\r\n type: 'selector',\r\n match: v => (v === null || v === void 0 ? void 0 : v.selector) !== undefined,\r\n change: v => ({ selector: '' }),\r\n node: (0, core_1.ObjectNode)({\r\n selector: StringNode({ validator: 'entity', params: { amount: 'multiple', type: 'entities' } }),\r\n separator: (0, core_1.Opt)(Reference('text_component')),\r\n ...CommonFields\r\n })\r\n },\r\n {\r\n type: 'keybind',\r\n match: v => (v === null || v === void 0 ? void 0 : v.keybind) !== undefined,\r\n change: v => ({ keybind: '' }),\r\n node: (0, core_1.ObjectNode)({\r\n keybind: StringNode({ enum: 'keybind', additional: true }),\r\n ...CommonFields\r\n })\r\n },\r\n {\r\n type: 'nbt',\r\n match: v => (v === null || v === void 0 ? void 0 : v.nbt) !== undefined,\r\n change: v => ({ nbt: '' }),\r\n node: (0, core_1.ObjectNode)({\r\n nbt: StringNode({ validator: 'nbt_path' }),\r\n block: (0, core_1.Opt)(StringNode({ validator: 'vector', params: { dimension: 3, isInteger: true } })),\r\n entity: (0, core_1.Opt)(StringNode({ validator: 'entity', params: { amount: 'multiple', type: 'entities' } })),\r\n storage: (0, core_1.Opt)(StringNode({ validator: 'resource', params: { pool: '$storage' } })),\r\n interpret: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n separator: (0, core_1.Opt)(Reference('text_component')),\r\n ...CommonFields\r\n })\r\n }\r\n ], { context: 'text_component_object', choiceContext: 'text_component.object' }), {\r\n default: () => ({\r\n text: \"\"\r\n })\r\n }));\r\n schemas.register('text_component_list', (0, core_1.Mod)((0, core_1.ListNode)(Reference('text_component')), {\r\n default: () => [{\r\n text: \"\"\r\n }]\r\n }));\r\n}\r\nexports.initTextComponentSchemas = initTextComponentSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initBiomeSchemas = exports.MobCategorySpawnSettings = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"../Common\");\r\nfunction initBiomeSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n exports.MobCategorySpawnSettings = (0, core_1.Mod)((0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'entity_type' } }),\r\n weight: (0, core_1.NumberNode)({ integer: true }),\r\n minCount: (0, core_1.NumberNode)({ integer: true }),\r\n maxCount: (0, core_1.NumberNode)({ integer: true })\r\n })), {\r\n category: () => 'pool',\r\n default: () => [{\r\n type: 'minecraft:bat',\r\n weight: 1\r\n }]\r\n });\r\n schemas.register('biome', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n temperature: (0, core_1.NumberNode)(),\r\n downfall: (0, core_1.NumberNode)(),\r\n precipitation: StringNode({ enum: ['none', 'rain', 'snow'] }),\r\n temperature_modifier: (0, core_1.Opt)(StringNode({ enum: ['none', 'frozen'] })),\r\n category: StringNode({ enum: 'biome_category' }),\r\n creature_spawn_probability: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 1 })),\r\n effects: (0, core_1.ObjectNode)({\r\n sky_color: (0, core_1.NumberNode)({ color: true }),\r\n fog_color: (0, core_1.NumberNode)({ color: true }),\r\n water_color: (0, core_1.NumberNode)({ color: true }),\r\n water_fog_color: (0, core_1.NumberNode)({ color: true }),\r\n grass_color: (0, core_1.Opt)((0, core_1.NumberNode)({ color: true })),\r\n foliage_color: (0, core_1.Opt)((0, core_1.NumberNode)({ color: true })),\r\n grass_color_modifier: (0, core_1.Opt)(StringNode({ enum: ['none', 'dark_forest', 'swamp'] })),\r\n ambient_sound: (0, core_1.Opt)(StringNode()),\r\n mood_sound: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n sound: StringNode(),\r\n tick_delay: (0, core_1.NumberNode)({ integer: true }),\r\n block_search_extent: (0, core_1.NumberNode)({ integer: true }),\r\n offset: (0, core_1.NumberNode)()\r\n })),\r\n additions_sound: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n sound: StringNode(),\r\n tick_chance: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n })),\r\n music: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n sound: StringNode(),\r\n min_delay: (0, core_1.NumberNode)({ integer: true, min: 0 }),\r\n max_delay: (0, core_1.NumberNode)({ integer: true, min: 0 }),\r\n replace_current_music: (0, core_1.BooleanNode)()\r\n })),\r\n particle: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n options: (0, core_1.ObjectNode)({\r\n type: StringNode()\r\n }),\r\n probability: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n }))\r\n }),\r\n spawners: (0, core_1.MapNode)(StringNode({ enum: 'mob_category' }), exports.MobCategorySpawnSettings),\r\n spawn_costs: (0, core_1.MapNode)(StringNode({ validator: 'resource', params: { pool: 'entity_type' } }), (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n energy_budget: (0, core_1.NumberNode)(),\r\n charge: (0, core_1.NumberNode)()\r\n }, { category: 'function' }), {\r\n default: () => ({\r\n energy_budget: 0.12,\r\n charge: 1.0\r\n })\r\n })),\r\n carvers: (0, core_1.MapNode)(StringNode({ enum: ['air', 'liquid'] }), (0, core_1.Mod)((0, Common_1.Tag)({ resource: '$worldgen/configured_carver', inlineSchema: 'configured_carver' }), {\r\n default: () => ['minecraft:cave']\r\n })),\r\n features: (0, core_1.ListNode)((0, core_1.Mod)((0, Common_1.Tag)({ resource: '$worldgen/placed_feature', inlineSchema: 'placed_feature' }), { category: () => 'predicate' }), { maxLength: 11 })\r\n }, { context: 'biome' }), {\r\n default: () => ({\r\n temperature: 0.8,\r\n downfall: 0.4,\r\n precipitation: 'rain',\r\n category: 'plains',\r\n effects: {\r\n sky_color: 7907327,\r\n fog_color: 12638463,\r\n water_color: 4159204,\r\n water_fog_color: 329011\r\n }\r\n })\r\n }));\r\n}\r\nexports.initBiomeSchemas = initBiomeSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initCarverSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"../Common\");\r\nfunction initCarverSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const CanyonConfig = {\r\n vertical_rotation: (0, Common_1.FloatProvider)(),\r\n shape: (0, core_1.ObjectNode)({\r\n distance_factor: (0, Common_1.FloatProvider)(),\r\n thickness: (0, Common_1.FloatProvider)(),\r\n width_smoothness: (0, core_1.NumberNode)({ integer: true, min: 0 }),\r\n horizontal_radius_factor: (0, Common_1.FloatProvider)(),\r\n vertical_radius_default_factor: (0, core_1.NumberNode)(),\r\n vertical_radius_center_factor: (0, core_1.NumberNode)()\r\n })\r\n };\r\n const CaveConfig = {\r\n horizontal_radius_multiplier: (0, Common_1.FloatProvider)(),\r\n vertical_radius_multiplier: (0, Common_1.FloatProvider)(),\r\n floor_level: (0, Common_1.FloatProvider)({ min: -1, max: 1 }),\r\n };\r\n schemas.register('configured_carver', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/carver' } }),\r\n config: (0, core_1.ObjectNode)({\r\n probability: (0, core_1.NumberNode)({ min: 0, max: 1 }),\r\n y: Reference('height_provider'),\r\n yScale: (0, Common_1.FloatProvider)(),\r\n lava_level: Reference('vertical_anchor'),\r\n debug_settings: (0, core_1.Opt)((0, core_1.ObjectNode)({\r\n debug_mode: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n air_state: (0, core_1.Opt)(Reference('block_state')),\r\n water_state: (0, core_1.Opt)(Reference('block_state')),\r\n lava_state: (0, core_1.Opt)(Reference('block_state')),\r\n barrier_state: (0, core_1.Opt)(Reference('block_state'))\r\n })),\r\n [core_1.Switch]: ['pop', { push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:canyon': CanyonConfig,\r\n 'minecraft:cave': CaveConfig,\r\n 'minecraft:nether_cave': CaveConfig\r\n },\r\n })\r\n }, { context: 'carver' }), {\r\n default: () => ({\r\n type: 'minecraft:cave',\r\n config: {\r\n probability: 0.1\r\n }\r\n })\r\n }));\r\n}\r\nexports.initCarverSchemas = initCarverSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initDecoratorSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"../Common\");\r\nfunction initDecoratorSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('decorator', (0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/placement_modifier_type' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:block_predicate_filter': {\r\n predicate: Reference('block_predicate_worldgen')\r\n },\r\n 'minecraft:carving_mask': {\r\n step: StringNode({ enum: 'generation_step' })\r\n },\r\n 'minecraft:rarity_filter': {\r\n chance: (0, core_1.NumberNode)({ integer: true, min: 0 })\r\n },\r\n 'minecraft:count': {\r\n count: (0, Common_1.IntProvider)({ min: 0, max: 256 })\r\n },\r\n 'minecraft:count_on_every_layer': {\r\n count: (0, Common_1.IntProvider)({ min: 0, max: 256 })\r\n },\r\n 'minecraft:noise_threshold_count': {\r\n noise_level: (0, core_1.NumberNode)(),\r\n below_noise: (0, core_1.NumberNode)({ integer: true }),\r\n above_noise: (0, core_1.NumberNode)({ integer: true })\r\n },\r\n 'minecraft:noise_based_count': {\r\n noise_to_count_ratio: (0, core_1.NumberNode)({ integer: true }),\r\n noise_factor: (0, core_1.NumberNode)(),\r\n noise_offset: (0, core_1.Opt)((0, core_1.NumberNode)())\r\n },\r\n 'minecraft:environment_scan': {\r\n direction_of_search: StringNode({ enum: ['up', 'down'] }),\r\n max_steps: (0, core_1.NumberNode)({ integer: true, min: 1, max: 32 }),\r\n target_condition: Reference('block_predicate_worldgen'),\r\n allowed_search_condition: (0, core_1.Opt)(Reference('block_predicate_worldgen'))\r\n },\r\n 'minecraft:heightmap': {\r\n heightmap: StringNode({ enum: 'heightmap_type' })\r\n },\r\n 'minecraft:height_range': {\r\n height: Reference('height_provider')\r\n },\r\n 'minecraft:random_offset': {\r\n xz_spread: (0, Common_1.IntProvider)({ min: -16, max: 16 }),\r\n y_spread: (0, Common_1.IntProvider)({ min: -16, max: 16 }),\r\n },\r\n 'minecraft:surface_relative_threshold_filter': {\r\n heightmap: StringNode({ enum: 'heightmap_type' }),\r\n min_inclusive: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n max_inclusive: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true }))\r\n },\r\n 'minecraft:surface_water_depth_filter': {\r\n max_water_depth: (0, core_1.NumberNode)({ integer: true })\r\n }\r\n }\r\n }, { context: 'decorator', category: 'predicate' }));\r\n}\r\nexports.initDecoratorSchemas = initDecoratorSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initDensityFunctionSchemas = exports.DensityFunction = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initDensityFunctionSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n exports.DensityFunction = (0, core_1.Mod)((0, core_1.ChoiceNode)([\r\n {\r\n type: 'number',\r\n node: (0, core_1.NumberNode)(),\r\n change: () => 0\r\n },\r\n {\r\n type: 'string',\r\n priority: 1,\r\n node: StringNode({ validator: 'resource', params: { pool: '$worldgen/density_function' } }),\r\n change: () => undefined\r\n },\r\n {\r\n type: 'object',\r\n node: Reference('density_function'),\r\n change: () => ({})\r\n }\r\n ], { choiceContext: 'density_function' }), {\r\n default: () => 0\r\n });\r\n const NoiseParameters = (0, core_1.ChoiceNode)([\r\n {\r\n type: 'string',\r\n node: StringNode({ validator: 'resource', params: { pool: '$worldgen/noise' } }),\r\n change: () => undefined\r\n },\r\n {\r\n type: 'object',\r\n node: Reference('noise_parameters')\r\n }\r\n ], { choiceContext: 'noise_parameters' });\r\n const NoiseRange = (0, core_1.NumberNode)({ min: -1000000, max: 1000000 });\r\n const YRange = (0, core_1.NumberNode)({ integer: true, min: -2032 * 2, max: 2031 * 2 });\r\n schemas.register('density_function', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/density_function_type' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:abs': {\r\n argument: exports.DensityFunction,\r\n },\r\n 'minecraft:add': {\r\n argument1: exports.DensityFunction,\r\n argument2: exports.DensityFunction,\r\n },\r\n 'minecraft:blend_density': {\r\n argument: exports.DensityFunction,\r\n },\r\n 'minecraft:cache_2d': {\r\n argument: exports.DensityFunction,\r\n },\r\n 'minecraft:cache_all_in_cell': {\r\n argument: exports.DensityFunction,\r\n },\r\n 'minecraft:cache_once': {\r\n argument: exports.DensityFunction,\r\n },\r\n 'minecraft:clamp': {\r\n input: exports.DensityFunction,\r\n min: NoiseRange,\r\n max: NoiseRange,\r\n },\r\n 'minecraft:constant': {\r\n argument: (0, core_1.NumberNode)(),\r\n },\r\n 'minecraft:cube': {\r\n argument: exports.DensityFunction,\r\n },\r\n 'minecraft:flat_cache': {\r\n argument: exports.DensityFunction,\r\n },\r\n 'minecraft:half_negative': {\r\n argument: exports.DensityFunction,\r\n },\r\n 'minecraft:interpolated': {\r\n argument: exports.DensityFunction,\r\n },\r\n 'minecraft:max': {\r\n argument1: exports.DensityFunction,\r\n argument2: exports.DensityFunction,\r\n },\r\n 'minecraft:min': {\r\n argument1: exports.DensityFunction,\r\n argument2: exports.DensityFunction,\r\n },\r\n 'minecraft:mul': {\r\n argument1: exports.DensityFunction,\r\n argument2: exports.DensityFunction,\r\n },\r\n 'minecraft:noise': {\r\n noise: NoiseParameters,\r\n xz_scale: (0, core_1.NumberNode)(),\r\n y_scale: (0, core_1.NumberNode)(),\r\n },\r\n 'minecraft:quarter_negative': {\r\n argument: exports.DensityFunction,\r\n },\r\n 'minecraft:range_choice': {\r\n input: exports.DensityFunction,\r\n min_inclusive: NoiseRange,\r\n max_exclusive: NoiseRange,\r\n when_in_range: exports.DensityFunction,\r\n when_out_of_range: exports.DensityFunction,\r\n },\r\n 'minecraft:shift': {\r\n argument: exports.DensityFunction,\r\n },\r\n 'minecraft:shift_a': {\r\n argument: exports.DensityFunction,\r\n },\r\n 'minecraft:shift_b': {\r\n argument: exports.DensityFunction,\r\n },\r\n 'minecraft:shifted_noise': {\r\n noise: NoiseParameters,\r\n xz_scale: (0, core_1.NumberNode)(),\r\n y_scale: (0, core_1.NumberNode)(),\r\n shift_x: exports.DensityFunction,\r\n shift_y: exports.DensityFunction,\r\n shift_z: exports.DensityFunction,\r\n },\r\n 'minecraft:slide': {\r\n argument: exports.DensityFunction,\r\n },\r\n 'minecraft:spline': {\r\n spline: Reference('cubic_spline'),\r\n min_value: NoiseRange,\r\n max_value: NoiseRange,\r\n },\r\n 'minecraft:square': {\r\n argument: exports.DensityFunction,\r\n },\r\n 'minecraft:squeeze': {\r\n argument: exports.DensityFunction,\r\n },\r\n 'minecraft:terrain_shaper_spline': {\r\n spline: StringNode({ enum: ['offset', 'factor', 'jaggedness'] }),\r\n min_value: NoiseRange,\r\n max_value: NoiseRange,\r\n continentalness: exports.DensityFunction,\r\n erosion: exports.DensityFunction,\r\n weirdness: exports.DensityFunction,\r\n },\r\n 'minecraft:weird_scaled_sampler': {\r\n rarity_value_mapper: StringNode({ enum: ['type_1', 'type_2'] }),\r\n noise: NoiseParameters,\r\n input: exports.DensityFunction,\r\n },\r\n 'minecraft:y_clamped_gradient': {\r\n from_y: YRange,\r\n to_y: YRange,\r\n from_value: NoiseRange,\r\n to_value: NoiseRange,\r\n },\r\n }\r\n }, { context: 'density_function', disableSwitchContext: true }), {\r\n default: () => ({\r\n type: 'minecraft:noise',\r\n noise: 'minecraft:cave_entrance',\r\n xz_scale: 0.75,\r\n y_scale: 0.5\r\n })\r\n }));\r\n schemas.register('cubic_spline', (0, core_1.Mod)((0, core_1.ChoiceNode)([\r\n {\r\n type: 'number',\r\n node: (0, core_1.NumberNode)()\r\n },\r\n {\r\n type: 'object',\r\n node: (0, core_1.ObjectNode)({\r\n coordinate: exports.DensityFunction,\r\n points: (0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n location: (0, core_1.NumberNode)(),\r\n derivative: (0, core_1.NumberNode)(),\r\n value: Reference('cubic_spline')\r\n }))\r\n }, { category: 'function' })\r\n }\r\n ], { context: 'terrain_spline', choiceContext: 'terrain_spline' }), {\r\n default: () => 0\r\n }));\r\n}\r\nexports.initDensityFunctionSchemas = initDensityFunctionSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initProcessorListSchemas = exports.Processors = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initProcessorListSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n exports.Processors = (0, core_1.ChoiceNode)([\r\n {\r\n type: 'string',\r\n node: StringNode({ validator: 'resource', params: { pool: '$worldgen/processor_list' } }),\r\n change: v => undefined\r\n },\r\n {\r\n type: 'object',\r\n node: Reference('processor_list'),\r\n change: v => ({\r\n processors: [{\r\n \"processor_type\": \"minecraft:nop\"\r\n }]\r\n })\r\n }\r\n ]);\r\n schemas.register('processor_list', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n processors: (0, core_1.ListNode)(Reference('processor'))\r\n }, { context: 'processor_list' }), {\r\n default: () => ({\r\n processors: [{\r\n processor_type: 'minecraft:rule',\r\n rules: [{\r\n location_predicate: {\r\n predicate_type: 'minecraft:always_true'\r\n },\r\n input_predicate: {\r\n predicate_type: 'minecraft:always_true'\r\n }\r\n }]\r\n }]\r\n })\r\n }));\r\n schemas.register('processor', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n processor_type: StringNode({ validator: 'resource', params: { pool: 'worldgen/structure_processor' } }),\r\n [core_1.Switch]: [{ push: 'processor_type' }],\r\n [core_1.Case]: {\r\n 'minecraft:block_age': {\r\n mossiness: (0, core_1.NumberNode)()\r\n },\r\n 'minecraft:block_ignore': {\r\n blocks: (0, core_1.ListNode)(Reference('block_state'))\r\n },\r\n 'minecraft:block_rot': {\r\n integrity: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n },\r\n 'minecraft:gravity': {\r\n heightmap: StringNode({ enum: 'heightmap_type' }),\r\n offset: (0, core_1.NumberNode)({ integer: true })\r\n },\r\n 'minecraft:protected_blocks': {\r\n value: StringNode({ validator: 'resource', params: { pool: 'block', requireTag: true } })\r\n },\r\n 'minecraft:rule': {\r\n rules: (0, core_1.ListNode)(Reference('processor_rule'))\r\n }\r\n }\r\n }, { category: 'function', context: 'processor' }), {\r\n default: () => ({\r\n processor_type: 'minecraft:rule',\r\n rules: [{\r\n location_predicate: {\r\n predicate_type: 'minecraft:always_true'\r\n },\r\n input_predicate: {\r\n predicate_type: 'minecraft:always_true'\r\n }\r\n }]\r\n })\r\n }));\r\n schemas.register('processor_rule', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n position_predicate: (0, core_1.Opt)(Reference('pos_rule_test')),\r\n location_predicate: Reference('rule_test'),\r\n input_predicate: Reference('rule_test'),\r\n output_state: Reference('block_state'),\r\n output_nbt: (0, core_1.Opt)(StringNode({ validator: 'nbt', params: { registry: { category: 'minecraft:block' } } }))\r\n }, { category: 'predicate', context: 'processor_rule' }), {\r\n default: () => ({\r\n location_predicate: {\r\n predicate_type: 'minecraft:always_true'\r\n },\r\n input_predicate: {\r\n predicate_type: 'minecraft:always_true'\r\n }\r\n })\r\n }));\r\n const posTestFields = {\r\n min_dist: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 255, integer: true })),\r\n max_dist: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 255, integer: true })),\r\n min_chance: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 1 })),\r\n max_chance: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 1 }))\r\n };\r\n schemas.register('pos_rule_test', (0, core_1.ObjectNode)({\r\n predicate_type: StringNode({ validator: 'resource', params: { pool: 'pos_rule_test' } }),\r\n [core_1.Switch]: [{ push: 'predicate_type' }],\r\n [core_1.Case]: {\r\n 'minecraft:axis_aligned_linear_pos': {\r\n axis: StringNode({ enum: ['x', 'y', 'z'] }),\r\n ...posTestFields\r\n },\r\n 'minecraft:linear_pos': posTestFields\r\n }\r\n }, { context: 'pos_rule_test', disableSwitchContext: true }));\r\n schemas.register('rule_test', (0, core_1.ObjectNode)({\r\n predicate_type: StringNode({ validator: 'resource', params: { pool: 'rule_test' } }),\r\n [core_1.Switch]: [{ push: 'predicate_type' }],\r\n [core_1.Case]: {\r\n 'minecraft:block_match': {\r\n block: StringNode({ validator: 'resource', params: { pool: 'block' } })\r\n },\r\n 'minecraft:blockstate_match': {\r\n block_state: Reference('block_state')\r\n },\r\n 'minecraft:random_block_match': {\r\n block: StringNode({ validator: 'resource', params: { pool: 'block' } }),\r\n probability: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n },\r\n 'minecraft:random_blockstate_match': {\r\n block_state: Reference('block_state'),\r\n probability: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n },\r\n 'minecraft:tag_match': {\r\n tag: StringNode({ validator: 'resource', params: { pool: '$tag/block' } })\r\n }\r\n }\r\n }, { context: 'rule_test', disableSwitchContext: true }));\r\n}\r\nexports.initProcessorListSchemas = initProcessorListSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initFeatureSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"../Common\");\r\nrequire(\"./Decorator\");\r\nrequire(\"./ProcessorList\");\r\nconst ProcessorList_1 = require(\"./ProcessorList\");\r\nfunction initFeatureSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const ConfiguredFeature = (0, core_1.ChoiceNode)([\r\n {\r\n type: 'string',\r\n node: StringNode({ validator: 'resource', params: { pool: '$worldgen/configured_feature' } })\r\n },\r\n {\r\n type: 'object',\r\n node: Reference('configured_feature')\r\n }\r\n ], { choiceContext: 'feature' });\r\n const PlacedFeature = (0, core_1.ChoiceNode)([\r\n {\r\n type: 'string',\r\n node: StringNode({ validator: 'resource', params: { pool: '$worldgen/placed_feature' } })\r\n },\r\n {\r\n type: 'object',\r\n node: Reference('placed_feature')\r\n }\r\n ], { choiceContext: 'placed_feature' });\r\n const RandomPatchConfig = {\r\n tries: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 1 })),\r\n xz_spread: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 0 })),\r\n y_spread: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 0 })),\r\n feature: PlacedFeature,\r\n };\r\n const DiskConfig = {\r\n state: Reference('block_state'),\r\n radius: (0, Common_1.IntProvider)({ min: 0, max: 8 }),\r\n half_height: (0, core_1.NumberNode)({ integer: true, min: 0, max: 4 }),\r\n targets: (0, core_1.ListNode)(Reference('block_state'))\r\n };\r\n const HugeMushroomConfig = {\r\n cap_provider: Reference('block_state_provider'),\r\n stem_provider: Reference('block_state_provider'),\r\n foliage_radius: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true }))\r\n };\r\n const TargetBlockState = (0, core_1.ObjectNode)({\r\n target: Reference('rule_test'),\r\n state: Reference('block_state')\r\n });\r\n const OreConfig = {\r\n size: (0, core_1.NumberNode)({ integer: true, min: 0, max: 64 }),\r\n discard_chance_on_air_exposure: (0, core_1.NumberNode)({ min: 0, max: 1 }),\r\n targets: (0, core_1.ListNode)(TargetBlockState)\r\n };\r\n const VegetationPatchConfig = {\r\n surface: StringNode({ enum: 'cave_surface' }),\r\n depth: (0, Common_1.IntProvider)({ min: 1, max: 128 }),\r\n vertical_range: (0, core_1.NumberNode)({ integer: true, min: 1, max: 256 }),\r\n extra_bottom_block_chance: (0, core_1.NumberNode)({ min: 0, max: 1 }),\r\n extra_edge_column_chance: (0, core_1.NumberNode)({ min: 0, max: 1 }),\r\n vegetation_chance: (0, core_1.NumberNode)({ min: 0, max: 1 }),\r\n xz_radius: (0, Common_1.IntProvider)(),\r\n replaceable: StringNode({ validator: 'resource', params: { pool: 'block', requireTag: true } }),\r\n ground_state: Reference('block_state_provider'),\r\n vegetation_feature: PlacedFeature\r\n };\r\n schemas.register('configured_feature', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/feature' } }),\r\n config: (0, core_1.ObjectNode)({\r\n [core_1.Switch]: ['pop', { push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:bamboo': {\r\n probability: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n },\r\n 'minecraft:basalt_columns': {\r\n reach: (0, Common_1.IntProvider)({ min: 0, max: 3 }),\r\n height: (0, Common_1.IntProvider)({ min: 1, max: 10 })\r\n },\r\n 'minecraft:block_column': {\r\n direction: StringNode({ enum: ['up', 'down', 'north', 'east', 'south', 'west'] }),\r\n allowed_placement: Reference('block_predicate_worldgen'),\r\n prioritize_tip: (0, core_1.BooleanNode)(),\r\n layers: (0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n height: (0, Common_1.IntProvider)({ min: 0 }),\r\n provider: Reference('block_state_provider')\r\n }))\r\n },\r\n 'minecraft:block_pile': {\r\n state_provider: Reference('block_state_provider')\r\n },\r\n 'minecraft:delta_feature': {\r\n contents: Reference('block_state'),\r\n rim: Reference('block_state'),\r\n size: (0, Common_1.IntProvider)({ min: 0, max: 16 }),\r\n rim_size: (0, Common_1.IntProvider)({ min: 0, max: 16 })\r\n },\r\n 'minecraft:disk': DiskConfig,\r\n 'minecraft:dripstone_cluster': {\r\n floor_to_ceiling_search_range: (0, core_1.NumberNode)({ integer: true, min: 1, max: 512 }),\r\n height: (0, Common_1.IntProvider)({ min: 0, max: 128 }),\r\n radius: (0, Common_1.IntProvider)({ min: 0, max: 128 }),\r\n max_stalagmite_stalactite_height_diff: (0, core_1.NumberNode)({ integer: true, min: 0, max: 64 }),\r\n height_deviation: (0, core_1.NumberNode)({ integer: true, min: 1, max: 64 }),\r\n dripstone_block_layer_thickness: (0, Common_1.IntProvider)({ min: 0, max: 128 }),\r\n density: (0, Common_1.FloatProvider)({ min: 0, max: 2 }),\r\n wetness: (0, Common_1.FloatProvider)({ min: 0, max: 2 }),\r\n chance_of_dripstone_column_at_max_distance_from_center: (0, core_1.NumberNode)({ min: 0, max: 1 }),\r\n max_distance_from_edge_affecting_chance_of_dripstone_column: (0, core_1.NumberNode)({ integer: true, min: 1, max: 64 }),\r\n max_distance_from_center_affecting_height_bias: (0, core_1.NumberNode)({ integer: true, min: 1, max: 64 })\r\n },\r\n 'minecraft:end_gateway': {\r\n exact: (0, core_1.BooleanNode)(),\r\n exit: (0, core_1.Opt)(Reference('block_pos'))\r\n },\r\n 'minecraft:end_spike': {\r\n crystal_invulnerable: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n crystal_beam_target: (0, core_1.Opt)(Reference('block_pos')),\r\n spikes: (0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n centerX: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n centerZ: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n radius: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n height: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n guarded: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n }))\r\n },\r\n 'minecraft:fill_layer': {\r\n state: Reference('block_state'),\r\n height: (0, core_1.NumberNode)({ integer: true, min: 0, max: 255 })\r\n },\r\n 'minecraft:flower': RandomPatchConfig,\r\n 'minecraft:forest_rock': {\r\n state: Reference('block_state')\r\n },\r\n 'minecraft:fossil': {\r\n max_empty_corners_allowed: (0, core_1.NumberNode)({ integer: true, min: 0, max: 7 }),\r\n fossil_structures: (0, core_1.ListNode)(StringNode({ validator: 'resource', params: { pool: '$structure' } })),\r\n overlay_structures: (0, core_1.ListNode)(StringNode({ validator: 'resource', params: { pool: '$structure' } })),\r\n fossil_processors: ProcessorList_1.Processors,\r\n overlay_processors: ProcessorList_1.Processors,\r\n },\r\n 'minecraft:geode': {\r\n blocks: (0, core_1.ObjectNode)({\r\n filling_provider: Reference('block_state_provider'),\r\n inner_layer_provider: Reference('block_state_provider'),\r\n alternate_inner_layer_provider: Reference('block_state_provider'),\r\n middle_layer_provider: Reference('block_state_provider'),\r\n outer_layer_provider: Reference('block_state_provider'),\r\n inner_placements: (0, core_1.ListNode)(Reference('block_state')),\r\n cannot_replace: StringNode({ validator: 'resource', params: { pool: 'block', requireTag: true } }),\r\n invalid_blocks: StringNode({ validator: 'resource', params: { pool: 'block', requireTag: true } })\r\n }),\r\n layers: (0, core_1.ObjectNode)({\r\n filling: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0.01, max: 50 })),\r\n inner_layer: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0.01, max: 50 })),\r\n middle_layer: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0.01, max: 50 })),\r\n outer_layer: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0.01, max: 50 })),\r\n }),\r\n crack: (0, core_1.ObjectNode)({\r\n generate_crack_chance: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 1 })),\r\n base_crack_size: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 5 })),\r\n crack_point_offset: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 10 })),\r\n }),\r\n noise_multiplier: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 1 })),\r\n use_potential_placements_chance: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 1 })),\r\n use_alternate_layer0_chance: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 1 })),\r\n placements_require_layer0_alternate: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n outer_wall_distance: (0, core_1.Opt)((0, Common_1.IntProvider)({ min: 1, max: 20 })),\r\n distribution_points: (0, core_1.Opt)((0, Common_1.IntProvider)({ min: 1, max: 20 })),\r\n point_offset: (0, core_1.Opt)((0, Common_1.IntProvider)({ min: 0, max: 10 })),\r\n min_gen_offset: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n max_gen_offset: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true })),\r\n invalid_blocks_threshold: (0, core_1.NumberNode)({ integer: true })\r\n },\r\n 'minecraft:glow_lichen': {\r\n search_range: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 1, max: 64, integer: true })),\r\n chance_of_spreading: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 1 })),\r\n can_place_on_floor: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n can_place_on_ceiling: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n can_place_on_wall: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n can_be_placed_on: (0, Common_1.Tag)({ resource: 'block' })\r\n },\r\n 'minecraft:huge_brown_mushroom': HugeMushroomConfig,\r\n 'minecraft:huge_fungus': {\r\n hat_state: Reference('block_state'),\r\n decor_state: Reference('block_state'),\r\n stem_state: Reference('block_state'),\r\n valid_base_block: Reference('block_state'),\r\n planted: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n },\r\n 'minecraft:huge_red_mushroom': HugeMushroomConfig,\r\n 'minecraft:ice_patch': DiskConfig,\r\n 'minecraft:iceberg': {\r\n state: Reference('block_state')\r\n },\r\n 'minecraft:lake': {\r\n fluid: Reference('block_state_provider'),\r\n barrier: Reference('block_state_provider')\r\n },\r\n 'minecraft:large_dripstone': {\r\n floor_to_ceiling_search_range: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 1, max: 512 })),\r\n column_radius: (0, Common_1.IntProvider)({ min: 0, max: 60 }),\r\n height_scale: (0, Common_1.FloatProvider)({ min: 0, max: 20 }),\r\n max_column_radius_to_cave_height_ratio: (0, core_1.NumberNode)({ min: 0, max: 1 }),\r\n stalactite_bluntness: (0, Common_1.FloatProvider)({ min: 0.1, max: 10 }),\r\n stalagmite_bluntness: (0, Common_1.FloatProvider)({ min: 0.1, max: 10 }),\r\n wind_speed: (0, Common_1.FloatProvider)({ min: 0, max: 2 }),\r\n min_radius_for_wind: (0, core_1.NumberNode)({ integer: true, min: 0, max: 100 }),\r\n min_bluntness_for_wind: (0, core_1.NumberNode)({ min: 0, max: 5 })\r\n },\r\n 'minecraft:nether_forest_vegetation': {\r\n state_provider: Reference('block_state_provider'),\r\n spread_width: (0, core_1.NumberNode)({ integer: true, min: 1 }),\r\n spread_height: (0, core_1.NumberNode)({ integer: true, min: 1 })\r\n },\r\n 'minecraft:netherrack_replace_blobs': {\r\n state: Reference('block_state'),\r\n target: Reference('block_state'),\r\n radius: (0, Common_1.IntProvider)({ min: 0, max: 12 })\r\n },\r\n 'minecraft:no_bonemeal_flower': RandomPatchConfig,\r\n 'minecraft:ore': OreConfig,\r\n 'minecraft:pointed_dripstone': {\r\n chance_of_taller_dripstone: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 1 })),\r\n chance_of_directional_spread: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 1 })),\r\n chance_of_spread_radius2: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 1 })),\r\n chance_of_spread_radius3: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 1 })),\r\n },\r\n 'minecraft:random_patch': RandomPatchConfig,\r\n 'minecraft:random_boolean_selector': {\r\n feature_false: PlacedFeature,\r\n feature_true: PlacedFeature\r\n },\r\n 'minecraft:random_selector': {\r\n features: (0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n chance: (0, core_1.NumberNode)({ min: 0, max: 1 }),\r\n feature: PlacedFeature\r\n })),\r\n default: PlacedFeature\r\n },\r\n 'minecraft:replace_single_block': {\r\n targets: (0, core_1.ListNode)(TargetBlockState)\r\n },\r\n 'minecraft:root_system': {\r\n required_vertical_space_for_tree: (0, core_1.NumberNode)({ integer: true, min: 1, max: 64 }),\r\n root_radius: (0, core_1.NumberNode)({ integer: true, min: 1, max: 64 }),\r\n root_placement_attempts: (0, core_1.NumberNode)({ integer: true, min: 1, max: 256 }),\r\n root_column_max_height: (0, core_1.NumberNode)({ integer: true, min: 1, max: 4096 }),\r\n hanging_root_radius: (0, core_1.NumberNode)({ integer: true, min: 1, max: 64 }),\r\n hanging_roots_vertical_span: (0, core_1.NumberNode)({ integer: true, min: 0, max: 16 }),\r\n hanging_root_placement_attempts: (0, core_1.NumberNode)({ integer: true, min: 0, max: 256 }),\r\n allowed_vertical_water_for_tree: (0, core_1.NumberNode)({ integer: true, min: 1, max: 64 }),\r\n root_replaceable: StringNode({ validator: 'resource', params: { pool: 'block', requireTag: true } }),\r\n root_state_provider: Reference('block_state_provider'),\r\n hanging_root_state_provider: Reference('block_state_provider'),\r\n allowed_tree_position: Reference('block_predicate_worldgen'),\r\n feature: PlacedFeature\r\n },\r\n 'minecraft:scattered_ore': OreConfig,\r\n 'minecraft:sea_pickle': {\r\n count: (0, Common_1.IntProvider)({ min: 0, max: 256 })\r\n },\r\n 'minecraft:seagrass': {\r\n probability: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n },\r\n 'minecraft:simple_block': {\r\n to_place: Reference('block_state_provider')\r\n },\r\n 'minecraft:simple_random_selector': {\r\n features: (0, Common_1.Tag)({ resource: '$worldgen/placed_feature', inlineSchema: 'placed_feature' }),\r\n },\r\n 'minecraft:spring_feature': {\r\n state: Reference('fluid_state'),\r\n rock_count: (0, core_1.NumberNode)({ integer: true }),\r\n hole_count: (0, core_1.NumberNode)({ integer: true }),\r\n requires_block_below: (0, core_1.BooleanNode)(),\r\n valid_blocks: (0, Common_1.Tag)({ resource: 'block' })\r\n },\r\n 'minecraft:tree': {\r\n ignore_vines: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n force_dirt: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n minimum_size: Reference('feature_size'),\r\n dirt_provider: Reference('block_state_provider'),\r\n trunk_provider: Reference('block_state_provider'),\r\n foliage_provider: Reference('block_state_provider'),\r\n trunk_placer: (0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/trunk_placer_type' } }),\r\n base_height: (0, core_1.NumberNode)({ integer: true, min: 0, max: 32 }),\r\n height_rand_a: (0, core_1.NumberNode)({ integer: true, min: 0, max: 24 }),\r\n height_rand_b: (0, core_1.NumberNode)({ integer: true, min: 0, max: 24 }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:bending_trunk_placer': {\r\n bend_length: (0, Common_1.IntProvider)({ min: 1, max: 64 }),\r\n min_height_for_leaves: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 1 }))\r\n }\r\n }\r\n }, { context: 'trunk_placer' }),\r\n foliage_placer: (0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/foliage_placer_type' } }),\r\n radius: (0, Common_1.IntProvider)({ min: 0, max: 16 }),\r\n offset: (0, Common_1.IntProvider)({ min: 0, max: 16 }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:blob_foliage_placer': {\r\n height: (0, core_1.NumberNode)({ integer: true, min: 0, max: 16 })\r\n },\r\n 'minecraft:bush_foliage_placer': {\r\n height: (0, core_1.NumberNode)({ integer: true, min: 0, max: 16 })\r\n },\r\n 'minecraft:fancy_foliage_placer': {\r\n height: (0, core_1.NumberNode)({ integer: true, min: 0, max: 16 })\r\n },\r\n 'minecraft:jungle_foliage_placer': {\r\n height: (0, core_1.NumberNode)({ integer: true, min: 0, max: 16 })\r\n },\r\n 'minecraft:mega_pine_foliage_placer': {\r\n crown_height: (0, Common_1.IntProvider)({ min: 0, max: 24 })\r\n },\r\n 'minecraft:pine_foliage_placer': {\r\n height: (0, Common_1.IntProvider)({ min: 0, max: 24 })\r\n },\r\n 'minecraft:random_spread_foliage_placer': {\r\n foliage_height: (0, Common_1.IntProvider)({ min: 1, max: 512 }),\r\n leaf_placement_attempts: (0, core_1.NumberNode)({ integer: true, min: 0, max: 256 })\r\n },\r\n 'minecraft:spruce_foliage_placer': {\r\n trunk_height: (0, Common_1.IntProvider)({ min: 0, max: 24 })\r\n }\r\n }\r\n }, { context: 'foliage_placer', disableSwitchContext: true }),\r\n decorators: (0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/tree_decorator_type' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:alter_ground': {\r\n provider: Reference('block_state_provider')\r\n },\r\n 'minecraft:beehive': {\r\n probability: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n },\r\n 'minecraft:cocoa': {\r\n probability: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n }\r\n }\r\n }, { context: 'tree_decorator' }))\r\n },\r\n 'minecraft:twisting_vines': {\r\n spread_width: (0, core_1.NumberNode)({ integer: true, min: 1 }),\r\n spread_height: (0, core_1.NumberNode)({ integer: true, min: 1 }),\r\n max_height: (0, core_1.NumberNode)({ integer: true, min: 1 }),\r\n },\r\n 'minecraft:underwater_magma': {\r\n floor_search_range: (0, core_1.NumberNode)({ integer: true, min: 0, max: 512 }),\r\n placement_radius_around_floor: (0, core_1.NumberNode)({ integer: true, min: 0, max: 64 }),\r\n placement_probability_per_valid_position: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n },\r\n 'minecraft:vegetation_patch': VegetationPatchConfig,\r\n 'minecraft:waterlogged_vegetation_patch': VegetationPatchConfig\r\n }\r\n }, { context: 'feature' })\r\n }, { context: 'feature' }), {\r\n default: () => ({\r\n type: 'minecraft:tree',\r\n config: {\r\n minimum_size: {\r\n type: 'minecraft:two_layers_feature_size'\r\n },\r\n trunk_placer: {\r\n type: 'minecraft:straight_trunk_placer',\r\n base_height: 5,\r\n height_rand_a: 2,\r\n height_rand_b: 0\r\n },\r\n foliage_placer: {\r\n type: 'minecraft:blob_foliage_placer',\r\n radius: 2,\r\n offset: 0,\r\n height: 3\r\n }\r\n }\r\n })\r\n }));\r\n schemas.register('placed_feature', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n feature: ConfiguredFeature,\r\n placement: (0, core_1.ListNode)(Reference('decorator'))\r\n }, { context: 'placed_feature' }), {\r\n default: () => ({\r\n feature: 'minecraft:oak',\r\n placement: [\r\n {\r\n type: 'minecraft:count',\r\n count: 4\r\n },\r\n {\r\n type: 'minecraft:in_square'\r\n },\r\n {\r\n type: 'minecraft:heightmap',\r\n heightmap: 'OCEAN_FLOOR'\r\n }\r\n ]\r\n })\r\n }));\r\n schemas.register('feature_size', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/feature_size_type' } }),\r\n min_clipped_height: (0, core_1.Opt)((0, core_1.NumberNode)({ min: 0, max: 80 })),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:two_layers_feature_size': {\r\n limit: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 0, max: 81 })),\r\n lower_size: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 0, max: 16 })),\r\n upper_size: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 0, max: 16 }))\r\n },\r\n 'minecraft:three_layers_feature_size': {\r\n limit: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 0, max: 80 })),\r\n upper_limit: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 0, max: 80 })),\r\n lower_size: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 0, max: 16 })),\r\n middle_size: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 0, max: 16 })),\r\n upper_size: (0, core_1.Opt)((0, core_1.NumberNode)({ integer: true, min: 0, max: 16 }))\r\n }\r\n }\r\n }, { disableSwitchContext: true }), {\r\n default: () => ({\r\n type: 'minecraft:two_layers_feature_size'\r\n })\r\n }));\r\n const NoiseProvider = {\r\n seed: (0, core_1.NumberNode)({ integer: true }),\r\n noise: Reference('noise_parameters'),\r\n scale: (0, core_1.Mod)((0, core_1.NumberNode)({ min: Number.MIN_VALUE }), { default: () => 1 })\r\n };\r\n schemas.register('block_state_provider', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/block_state_provider_type' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:dual_noise_provider': {\r\n ...NoiseProvider,\r\n variety: (0, Common_1.InclusiveRange)({ integer: true, min: 1, max: 64 }),\r\n slow_noise: Reference('noise_parameters'),\r\n slow_scale: (0, core_1.Mod)((0, core_1.NumberNode)({ min: Number.MIN_VALUE }), { default: () => 1 }),\r\n states: (0, core_1.ListNode)(Reference('block_state'))\r\n },\r\n 'minecraft:noise_threshold_provider': {\r\n ...NoiseProvider,\r\n threshold: (0, core_1.NumberNode)({ min: -1, max: 1 }),\r\n high_chance: (0, core_1.NumberNode)({ min: 0, max: 1 }),\r\n default_state: Reference('block_state'),\r\n low_states: (0, core_1.ListNode)(Reference('block_state')),\r\n high_states: (0, core_1.ListNode)(Reference('block_state'))\r\n },\r\n 'minecraft:noise_provider': {\r\n ...NoiseProvider,\r\n states: (0, core_1.ListNode)(Reference('block_state'))\r\n },\r\n 'minecraft:randomized_int_state_provider': {\r\n property: StringNode(),\r\n values: (0, Common_1.IntProvider)(),\r\n source: Reference('block_state_provider')\r\n },\r\n 'minecraft:rotated_block_provider': {\r\n state: Reference('block_state')\r\n },\r\n 'minecraft:simple_state_provider': {\r\n state: Reference('block_state')\r\n },\r\n 'minecraft:weighted_state_provider': {\r\n entries: (0, core_1.ListNode)((0, core_1.Mod)((0, core_1.ObjectNode)({\r\n weight: (0, core_1.NumberNode)({ integer: true, min: 1 }),\r\n data: Reference('block_state')\r\n }), {\r\n default: () => ({\r\n data: {}\r\n })\r\n }))\r\n }\r\n }\r\n }, { context: 'block_state_provider' }), {\r\n default: () => ({\r\n type: 'minecraft:simple_state_provider'\r\n })\r\n }));\r\n const Offset = {\r\n offset: (0, core_1.Opt)((0, core_1.ListNode)((0, core_1.NumberNode)({ integer: true, min: -16, max: 16 }), { minLength: 3, maxLength: 3 }))\r\n };\r\n schemas.register('block_predicate_worldgen', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'block_predicate_type' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:all_of': {\r\n predicates: (0, core_1.ListNode)(Reference('block_predicate_worldgen'))\r\n },\r\n 'minecraft:any_of': {\r\n predicates: (0, core_1.ListNode)(Reference('block_predicate_worldgen'))\r\n },\r\n 'minecraft:has_sturdy_face': {\r\n ...Offset,\r\n direction: StringNode({ enum: 'direction' })\r\n },\r\n 'minecraft:inside_world_bounds': {\r\n ...Offset,\r\n },\r\n 'minecraft:matching_block_tag': {\r\n ...Offset,\r\n tag: StringNode({ validator: 'resource', params: { pool: '$tag/block' } })\r\n },\r\n 'minecraft:matching_blocks': {\r\n ...Offset,\r\n blocks: (0, Common_1.Tag)({ resource: 'block' })\r\n },\r\n 'minecraft:matching_fluids': {\r\n ...Offset,\r\n fluids: (0, Common_1.Tag)({ resource: 'fluid' })\r\n },\r\n 'minecraft:not': {\r\n predicate: Reference('block_predicate_worldgen')\r\n },\r\n 'minecraft:would_survive': {\r\n ...Offset,\r\n state: Reference('block_state')\r\n }\r\n }\r\n }, { context: 'block_predicate' }), {\r\n default: () => ({\r\n type: 'minecraft:true'\r\n })\r\n }));\r\n}\r\nexports.initFeatureSchemas = initFeatureSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initNoiseSettingsSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"../Common\");\r\nconst DensityFunction_1 = require(\"./DensityFunction\");\r\nfunction initNoiseSettingsSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('noise_settings', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n sea_level: (0, core_1.NumberNode)({ integer: true }),\r\n disable_mob_generation: (0, core_1.BooleanNode)(),\r\n aquifers_enabled: (0, core_1.BooleanNode)(),\r\n ore_veins_enabled: (0, core_1.BooleanNode)(),\r\n legacy_random_source: (0, core_1.BooleanNode)(),\r\n default_block: Reference('block_state'),\r\n default_fluid: Reference('block_state'),\r\n noise: (0, core_1.ObjectNode)({\r\n min_y: (0, core_1.NumberNode)({ integer: true, min: -2048, max: 2047 }),\r\n height: (0, core_1.NumberNode)({ integer: true, min: 0, max: 4096 }),\r\n size_horizontal: (0, core_1.NumberNode)({ integer: true }),\r\n size_vertical: (0, core_1.NumberNode)({ integer: true }),\r\n sampling: (0, core_1.ObjectNode)({\r\n xz_scale: (0, core_1.NumberNode)(),\r\n y_scale: (0, core_1.NumberNode)(),\r\n xz_factor: (0, core_1.NumberNode)(),\r\n y_factor: (0, core_1.NumberNode)()\r\n }),\r\n bottom_slide: Reference('noise_slider'),\r\n top_slide: Reference('noise_slider'),\r\n terrain_shaper: Reference('terrain_shaper')\r\n }),\r\n noise_router: (0, core_1.ObjectNode)({\r\n barrier: DensityFunction_1.DensityFunction,\r\n fluid_level_floodedness: DensityFunction_1.DensityFunction,\r\n fluid_level_spread: DensityFunction_1.DensityFunction,\r\n lava: DensityFunction_1.DensityFunction,\r\n temperature: DensityFunction_1.DensityFunction,\r\n vegetation: DensityFunction_1.DensityFunction,\r\n continents: DensityFunction_1.DensityFunction,\r\n erosion: DensityFunction_1.DensityFunction,\r\n depth: DensityFunction_1.DensityFunction,\r\n ridges: DensityFunction_1.DensityFunction,\r\n initial_density_without_jaggedness: DensityFunction_1.DensityFunction,\r\n final_density: DensityFunction_1.DensityFunction,\r\n vein_toggle: DensityFunction_1.DensityFunction,\r\n vein_ridged: DensityFunction_1.DensityFunction,\r\n vein_gap: DensityFunction_1.DensityFunction,\r\n }),\r\n surface_rule: Reference('material_rule'),\r\n }, { context: 'noise_settings' }), node => ({\r\n default: () => Common_1.DefaultNoiseSettings,\r\n validate: (path, value, errors, options) => {\r\n var _a, _b, _c, _d;\r\n value = node.validate(path, value, errors, options);\r\n if (((_a = value === null || value === void 0 ? void 0 : value.noise) === null || _a === void 0 ? void 0 : _a.min_y) + ((_b = value === null || value === void 0 ? void 0 : value.noise) === null || _b === void 0 ? void 0 : _b.height) > 2047) {\r\n errors.add(path.push('noise').push('height'), 'error.min_y_plus_height', 2047);\r\n }\r\n if (((_c = value === null || value === void 0 ? void 0 : value.noise) === null || _c === void 0 ? void 0 : _c.height) % 16 !== 0) {\r\n errors.add(path.push('noise').push('height'), 'error.height_multiple', 16);\r\n }\r\n if (((_d = value === null || value === void 0 ? void 0 : value.noise) === null || _d === void 0 ? void 0 : _d.min_y) % 16 !== 0) {\r\n errors.add(path.push('noise').push('min_y'), 'error.min_y_multiple', 16);\r\n }\r\n return value;\r\n }\r\n })));\r\n schemas.register('noise_slider', (0, core_1.ObjectNode)({\r\n target: (0, core_1.NumberNode)(),\r\n size: (0, core_1.NumberNode)({ integer: true, min: 0 }),\r\n offset: (0, core_1.NumberNode)({ integer: true })\r\n }));\r\n schemas.register('generator_layer', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n block: StringNode({ validator: 'resource', params: { pool: 'block' } }),\r\n height: (0, core_1.NumberNode)({ integer: true, min: 1 })\r\n }), {\r\n default: () => ({\r\n block: 'minecraft:stone',\r\n height: 1\r\n })\r\n }));\r\n schemas.register('terrain_shaper', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n offset: Reference('terrain_spline'),\r\n factor: Reference('terrain_spline'),\r\n jaggedness: Reference('terrain_spline'),\r\n }, { context: 'terrain_shaper' }), {\r\n default: () => ({\r\n offset: 0,\r\n factor: 0,\r\n jaggedness: 0,\r\n })\r\n }));\r\n schemas.register('terrain_spline', (0, core_1.Mod)((0, core_1.ChoiceNode)([\r\n {\r\n type: 'number',\r\n node: (0, core_1.NumberNode)()\r\n },\r\n {\r\n type: 'object',\r\n node: (0, core_1.ObjectNode)({\r\n coordinate: (0, core_1.Mod)(StringNode({ enum: ['continents', 'erosion', 'weirdness', 'ridges'] }), { default: () => 'continents' }),\r\n points: (0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n location: (0, core_1.NumberNode)(),\r\n derivative: (0, core_1.NumberNode)(),\r\n value: Reference('terrain_spline')\r\n }))\r\n }, { category: 'function' })\r\n }\r\n ], { context: 'terrain_spline', choiceContext: 'terrain_spline' }), {\r\n default: () => 0\r\n }));\r\n}\r\nexports.initNoiseSettingsSchemas = initNoiseSettingsSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initStructureFeatureSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"../Common\");\r\nconst Biome_1 = require(\"./Biome\");\r\nfunction initStructureFeatureSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const templatePoolConfig = {\r\n start_pool: StringNode({ validator: 'resource', params: { pool: '$worldgen/template_pool' } }),\r\n size: (0, core_1.NumberNode)({ integer: true })\r\n };\r\n schemas.register('configured_structure_feature', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/structure_feature' } }),\r\n biomes: (0, Common_1.Tag)({ resource: '$worldgen/biome' }),\r\n adapt_noise: (0, core_1.Opt)((0, core_1.BooleanNode)()),\r\n spawn_overrides: (0, core_1.MapNode)(StringNode({ enum: 'mob_category' }), (0, core_1.ObjectNode)({\r\n bounding_box: StringNode({ enum: ['piece', 'full'] }),\r\n spawns: Biome_1.MobCategorySpawnSettings,\r\n })),\r\n config: (0, core_1.ObjectNode)({\r\n [core_1.Switch]: ['pop', { push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:bastion_remnant': templatePoolConfig,\r\n 'minecraft:buried_treasure': {\r\n probability: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n },\r\n 'minecraft:mineshaft': {\r\n type: StringNode({ enum: ['normal', 'mesa'] }),\r\n probability: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n },\r\n 'minecraft:nether_fossil': {\r\n height: Reference('height_provider')\r\n },\r\n 'minecraft:ocean_ruin': {\r\n biome_temp: StringNode({ enum: ['cold', 'warm'] }),\r\n large_probability: (0, core_1.NumberNode)({ min: 0, max: 1 }),\r\n cluster_probability: (0, core_1.NumberNode)({ min: 0, max: 1 })\r\n },\r\n 'minecraft:pillager_outpost': templatePoolConfig,\r\n 'minecraft:ruined_portal': {\r\n portal_type: StringNode({ enum: ['standard', 'desert', 'jungle', 'mountain', 'nether', 'ocean', 'swamp'] })\r\n },\r\n 'minecraft:shipwreck': {\r\n is_beached: (0, core_1.Opt)((0, core_1.BooleanNode)())\r\n },\r\n 'minecraft:village': templatePoolConfig\r\n }\r\n }, { context: 'structure_feature', disableSwitchContext: true })\r\n }, { context: 'structure_feature' }), {\r\n default: () => ({\r\n type: 'minecraft:bastion_remnant',\r\n config: {\r\n start_pool: 'minecraft:bastion/starts',\r\n size: 6\r\n }\r\n })\r\n }));\r\n}\r\nexports.initStructureFeatureSchemas = initStructureFeatureSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initStructureSetSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Common_1 = require(\"../Common\");\r\nfunction initStructureSetSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n schemas.register('structure_set', (0, core_1.ObjectNode)({\r\n structures: (0, core_1.ListNode)((0, core_1.ObjectNode)({\r\n structure: (0, Common_1.Tag)({ resource: '$worldgen/configured_structure_feature' }),\r\n weight: (0, core_1.NumberNode)({ integer: true, min: 1 })\r\n })),\r\n placement: Reference('structure_placement')\r\n }, { context: 'structure_set' }));\r\n schemas.register('structure_placement', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/structure_placement' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:concentric_rings': {\r\n distance: (0, core_1.NumberNode)({ integer: true, min: 0, max: 1023 }),\r\n spread: (0, core_1.NumberNode)({ integer: true, min: 0, max: 1023 }),\r\n count: (0, core_1.NumberNode)({ integer: true, min: 1, max: 4095 })\r\n },\r\n 'minecraft:random_spread': {\r\n spread_type: (0, core_1.Opt)(StringNode({ enum: ['linear', 'triangular'] })),\r\n spacing: (0, core_1.NumberNode)({ integer: true, min: 0, max: 4096 }),\r\n separation: (0, core_1.Mod)((0, core_1.NumberNode)({ integer: true, min: 0, max: 4096 }), (node) => ({\r\n validate: (path, value, errors, options) => {\r\n if (path.pop().push('spacing').get() <= value) {\r\n errors.add(path, 'error.separation_smaller_spacing');\r\n }\r\n return node.validate(path, value, errors, options);\r\n }\r\n })),\r\n salt: (0, core_1.NumberNode)({ integer: true, min: 0 }),\r\n locate_offset: (0, core_1.Opt)((0, core_1.ListNode)((0, core_1.NumberNode)({ integer: true, min: -16, max: 16 }), { minLength: 3, maxLength: 3 }))\r\n }\r\n }\r\n }, { context: 'structure_placement' }), {\r\n default: () => ({\r\n type: 'minecraft:random_spread',\r\n spacing: 10,\r\n separation: 5,\r\n salt: Math.floor(Math.random() * 2147483647)\r\n })\r\n }));\r\n}\r\nexports.initStructureSetSchemas = initStructureSetSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initSurfaceRuleSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initSurfaceRuleSchemas(schemas, collections) {\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n schemas.register('material_rule', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/material_rule' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:block': {\r\n result_state: Reference('block_state'),\r\n },\r\n 'minecraft:condition': {\r\n if_true: Reference('material_condition'),\r\n then_run: Reference('material_rule')\r\n },\r\n 'minecraft:sequence': {\r\n sequence: (0, core_1.ListNode)(Reference('material_rule'))\r\n }\r\n }\r\n }, { context: 'material_rule', category: 'pool' }), {\r\n default: () => ({\r\n type: 'minecraft:block',\r\n result_state: {\r\n Name: 'minecraft:stone'\r\n }\r\n })\r\n }));\r\n schemas.register('material_condition', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n type: StringNode({ validator: 'resource', params: { pool: 'worldgen/material_condition' } }),\r\n [core_1.Switch]: [{ push: 'type' }],\r\n [core_1.Case]: {\r\n 'minecraft:biome': {\r\n biome_is: (0, core_1.ListNode)(StringNode({ validator: 'resource', params: { pool: '$worldgen/biome' } }))\r\n },\r\n 'minecraft:noise_threshold': {\r\n noise: StringNode({ validator: 'resource', params: { pool: '$worldgen/noise' } }),\r\n min_threshold: (0, core_1.NumberNode)(),\r\n max_threshold: (0, core_1.NumberNode)()\r\n },\r\n 'minecraft:not': {\r\n invert: Reference('material_condition')\r\n },\r\n 'minecraft:stone_depth': {\r\n offset: (0, core_1.NumberNode)({ integer: true }),\r\n surface_type: StringNode({ enum: 'cave_surface' }),\r\n add_surface_depth: (0, core_1.BooleanNode)(),\r\n secondary_depth_range: (0, core_1.NumberNode)({ integer: true }),\r\n },\r\n 'minecraft:vertical_gradient': {\r\n random_name: StringNode(),\r\n true_at_and_below: Reference('vertical_anchor'),\r\n false_at_and_above: Reference('vertical_anchor'),\r\n },\r\n 'minecraft:water': {\r\n offset: (0, core_1.NumberNode)({ integer: true }),\r\n surface_depth_multiplier: (0, core_1.NumberNode)({ integer: true, min: -20, max: 20 }),\r\n add_stone_depth: (0, core_1.BooleanNode)()\r\n },\r\n 'minecraft:y_above': {\r\n anchor: Reference('vertical_anchor'),\r\n surface_depth_multiplier: (0, core_1.NumberNode)({ integer: true, min: -20, max: 20 }),\r\n add_stone_depth: (0, core_1.BooleanNode)()\r\n }\r\n }\r\n }, { context: 'material_condition' }), {\r\n default: () => ({\r\n type: 'minecraft:biome',\r\n is_biome: 'minecraft:plains'\r\n })\r\n }));\r\n}\r\nexports.initSurfaceRuleSchemas = initSurfaceRuleSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initTemplatePoolSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nrequire(\"./ProcessorList\");\r\nconst ProcessorList_1 = require(\"./ProcessorList\");\r\nfunction initTemplatePoolSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('template_pool', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n name: StringNode(),\r\n fallback: StringNode(),\r\n elements: (0, core_1.ListNode)(Reference('template_weighted_element'))\r\n }, { context: 'template_pool' }), {\r\n default: () => ({\r\n fallback: 'minecraft:empty',\r\n elements: [\r\n {\r\n weight: 1,\r\n element: {\r\n element_type: 'minecraft:single_pool_element',\r\n projection: 'rigid',\r\n processors: 'minecraft:empty'\r\n }\r\n }\r\n ]\r\n })\r\n }));\r\n schemas.register('template_weighted_element', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n weight: (0, core_1.NumberNode)({ integer: true, min: 1 }),\r\n element: Reference('template_element')\r\n }, { category: 'pool' }), {\r\n default: () => ({\r\n weight: 1,\r\n element: {\r\n element_type: 'minecraft:single_pool_element',\r\n projection: 'rigid',\r\n processors: 'minecraft:empty'\r\n }\r\n })\r\n }));\r\n schemas.register('template_element', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n element_type: StringNode({ validator: 'resource', params: { pool: 'worldgen/structure_pool_element' } }),\r\n projection: StringNode({ enum: ['rigid', 'terrain_matching'] }),\r\n [core_1.Switch]: [{ push: 'element_type' }],\r\n [core_1.Case]: {\r\n 'minecraft:feature_pool_element': {\r\n feature: StringNode({ validator: 'resource', params: { pool: '$worldgen/placed_feature' } })\r\n },\r\n 'minecraft:legacy_single_pool_element': {\r\n location: StringNode({ validator: 'resource', params: { pool: '$structure' } }),\r\n processors: ProcessorList_1.Processors\r\n },\r\n 'minecraft:list_pool_element': {\r\n elements: (0, core_1.ListNode)(Reference('template_element'))\r\n },\r\n 'minecraft:single_pool_element': {\r\n location: StringNode({ validator: 'resource', params: { pool: '$structure' } }),\r\n processors: ProcessorList_1.Processors\r\n }\r\n }\r\n }, { context: 'template_element', disableSwitchContext: true }), {\r\n default: () => ({\r\n element_type: 'minecraft:single_pool_element',\r\n projection: 'rigid',\r\n processors: 'minecraft:empty'\r\n })\r\n }));\r\n}\r\nexports.initTemplatePoolSchemas = initTemplatePoolSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initWorldgenSchemas = void 0;\r\nconst Biome_1 = require(\"./Biome\");\r\nconst Carver_1 = require(\"./Carver\");\r\nconst Decorator_1 = require(\"./Decorator\");\r\nconst DensityFunction_1 = require(\"./DensityFunction\");\r\nconst Feature_1 = require(\"./Feature\");\r\nconst NoiseSettings_1 = require(\"./NoiseSettings\");\r\nconst ProcessorList_1 = require(\"./ProcessorList\");\r\nconst StructureFeature_1 = require(\"./StructureFeature\");\r\nconst StructureSet_1 = require(\"./StructureSet\");\r\nconst SurfaceRule_1 = require(\"./SurfaceRule\");\r\nconst TemplatePool_1 = require(\"./TemplatePool\");\r\nfunction initWorldgenSchemas(schemas, collections) {\r\n // `ProcessorList.ts`, `DensityFunction.ts`, and `Biome.ts` have exports. They should be initialized first. \r\n (0, ProcessorList_1.initProcessorListSchemas)(schemas, collections);\r\n (0, DensityFunction_1.initDensityFunctionSchemas)(schemas, collections);\r\n (0, Biome_1.initBiomeSchemas)(schemas, collections);\r\n (0, Carver_1.initCarverSchemas)(schemas, collections);\r\n (0, Decorator_1.initDecoratorSchemas)(schemas, collections);\r\n (0, Feature_1.initFeatureSchemas)(schemas, collections);\r\n (0, NoiseSettings_1.initNoiseSettingsSchemas)(schemas, collections);\r\n (0, StructureFeature_1.initStructureFeatureSchemas)(schemas, collections);\r\n (0, StructureSet_1.initStructureSetSchemas)(schemas, collections);\r\n (0, SurfaceRule_1.initSurfaceRuleSchemas)(schemas, collections);\r\n (0, TemplatePool_1.initTemplatePoolSchemas)(schemas, collections);\r\n}\r\nexports.initWorldgenSchemas = initWorldgenSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initWorldSettingsSchemas = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nfunction initWorldSettingsSchemas(schemas, collections) {\r\n const Reference = core_1.Reference.bind(undefined, schemas);\r\n const StringNode = core_1.StringNode.bind(undefined, collections);\r\n schemas.register('world_settings', (0, core_1.Mod)((0, core_1.ObjectNode)({\r\n generate_features: (0, core_1.BooleanNode)(),\r\n bonus_chest: (0, core_1.BooleanNode)(),\r\n seed: (0, core_1.NumberNode)({ integer: true }),\r\n dimensions: (0, core_1.MapNode)(StringNode({ validator: 'resource', params: { pool: '$dimension' } }), Reference('dimension'))\r\n }, { context: 'world_settings' }), {\r\n default: () => {\r\n const seed = Math.floor(Math.random() * (4294967296)) - 2147483648;\r\n return {\r\n generate_features: true,\r\n bonus_chest: false,\r\n seed,\r\n dimensions: {\r\n 'minecraft:overworld': {\r\n type: 'minecraft:overworld',\r\n generator: {\r\n type: 'minecraft:noise',\r\n seed,\r\n biome_source: {\r\n type: 'minecraft:multi_noise',\r\n preset: \"minecraft:overworld\"\r\n },\r\n settings: 'minecraft:overworld',\r\n }\r\n },\r\n 'minecraft:the_nether': {\r\n type: 'minecraft:the_nether',\r\n generator: {\r\n type: 'minecraft:noise',\r\n seed,\r\n biome_source: {\r\n type: 'minecraft:multi_noise',\r\n preset: \"minecraft:nether\"\r\n },\r\n settings: 'minecraft:nether'\r\n }\r\n },\r\n 'minecraft:the_end': {\r\n type: \"minecraft:the_end\",\r\n generator: {\r\n type: \"minecraft:noise\",\r\n seed,\r\n biome_source: {\r\n type: \"minecraft:the_end\",\r\n seed\r\n },\r\n settings: \"minecraft:end\"\r\n }\r\n }\r\n }\r\n };\r\n }\r\n }));\r\n}\r\nexports.initWorldSettingsSchemas = initWorldSettingsSchemas;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.initSchemas = void 0;\r\nconst Advancement_1 = require(\"./Advancement\");\r\nconst assets_1 = require(\"./assets\");\r\nconst Common_1 = require(\"./Common\");\r\nconst Condition_1 = require(\"./Condition\");\r\nconst Dimension_1 = require(\"./Dimension\");\r\nconst DimensionType_1 = require(\"./DimensionType\");\r\nconst ItemModifier_1 = require(\"./ItemModifier\");\r\nconst LootTable_1 = require(\"./LootTable\");\r\nconst PackMcmeta_1 = require(\"./PackMcmeta\");\r\nconst Predicates_1 = require(\"./Predicates\");\r\nconst Recipe_1 = require(\"./Recipe\");\r\nconst Tags_1 = require(\"./Tags\");\r\nconst TextComponent_1 = require(\"./TextComponent\");\r\nconst worldgen_1 = require(\"./worldgen\");\r\nconst WorldSettings_1 = require(\"./WorldSettings\");\r\nfunction initSchemas(schemas, collections) {\r\n // `Common.ts` is the only file that has exports. It should be initialized first. \r\n (0, Common_1.initCommonSchemas)(schemas, collections);\r\n (0, Advancement_1.initAdvancementSchemas)(schemas, collections);\r\n (0, assets_1.initAssetsSchemas)(schemas, collections);\r\n (0, Condition_1.initConditionSchemas)(schemas, collections);\r\n (0, DimensionType_1.initDimensionTypeSchemas)(schemas, collections);\r\n (0, Dimension_1.initDimensionSchemas)(schemas, collections);\r\n (0, ItemModifier_1.initItemModifierSchemas)(schemas, collections);\r\n (0, LootTable_1.initLootTableSchemas)(schemas, collections);\r\n (0, PackMcmeta_1.initPackMcmetaSchemas)(schemas, collections);\r\n (0, Predicates_1.initPredicatesSchemas)(schemas, collections);\r\n (0, Recipe_1.initRecipeSchemas)(schemas, collections);\r\n (0, Tags_1.initTagsSchemas)(schemas, collections);\r\n (0, TextComponent_1.initTextComponentSchemas)(schemas, collections);\r\n (0, worldgen_1.initWorldgenSchemas)(schemas, collections);\r\n (0, WorldSettings_1.initWorldSettingsSchemas)(schemas, collections);\r\n}\r\nexports.initSchemas = initSchemas;\r\n","\"use strict\";\r\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}));\r\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n});\r\nvar __importStar = (this && this.__importStar) || function (mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.getSchemas = exports.getCollections = exports.lootContext = void 0;\r\nconst core_1 = require(\"@mcschema/core\");\r\nconst Collections_1 = require(\"./Collections\");\r\nconst schemas_1 = require(\"./schemas\");\r\nexports.lootContext = __importStar(require(\"./LootContext\"));\r\nfunction getCollections() {\r\n const collections = new core_1.CollectionRegistry();\r\n (0, Collections_1.initCollections)(collections);\r\n return collections;\r\n}\r\nexports.getCollections = getCollections;\r\n/**\r\n * @param collections The CollectionRegistry for this version. Note that apart from\r\n * the built-in collections, the client of this module is responsible for futhermore\r\n * adding the vanilla registries to it: the collection IDs shouldn't contain the\r\n * namespace (`minecraft:`) part, while the values within the collections should.\r\n *\r\n * @example\r\n * for (const key in VANILLA_REGISTRIES>) {\r\n * collections.register(\r\n * key.replace(/^minecraft:/, ''),\r\n * Object.keys(VANILLA_REGISTRIES[key].entries)\r\n * )\r\n * }\r\n */\r\nfunction getSchemas(collections) {\r\n const schemas = new core_1.SchemaRegistry();\r\n (0, schemas_1.initSchemas)(schemas, collections);\r\n return schemas;\r\n}\r\nexports.getSchemas = getSchemas;\r\n"],"names":["core_1","require$$0","require$$1","Common_1","require$$2","ProcessorList_1","DensityFunction_1","Biome_1","require$$3","require$$4","require$$5","require$$6","require$$7","require$$8","require$$9","require$$10","require$$11","require$$12","require$$13","require$$14","this"],"mappings":"+1BACA,OAAO,eAAe,GAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EACrC,GAAA,gBAAG,OAC1B,YAAyB,EAAa,CAClC,EAAY,SAAS,sBAAuB,CACxC,+BACA,yBACA,0BACA,8BACA,gCACA,6BACA,yBACA,kCACA,4BACA,2BACA,wBACA,+BACA,iCACA,6BACA,0BACA,+BACA,gCACA,uBACA,8BACA,oCACA,+BACA,+BACA,uBACA,6BACA,qBACA,0BACA,yBACA,4CACA,+BACA,0CACA,iCACA,4BACA,gCACA,0BACA,yBACA,6BACA,2BACA,4BACA,wBACA,uBACA,iBACA,4CACA,2BACA,uBACA,uBACA,2BACA,2BACR,CAAK,EACD,EAAY,SAAS,UAAW,CAC5B,mBACA,aACA,WACA,WACA,cACA,WACA,cACA,iBACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,gBACA,WACA,WACA,2BACA,eACA,iBACA,YACA,2BACA,iBACA,mBACA,YACA,wBACA,aACA,kBACA,wBACA,SACR,CAAK,EACD,EAAY,SAAS,OAAQ,CACzB,WACA,UACA,OACA,QACA,OACA,MACR,CAAK,EACD,EAAY,SAAS,WAAY,CAC7B,WACA,WACA,YACA,WACR,CAAK,EACD,EAAY,SAAS,gBAAiB,CAClC,OACA,SACA,gBACA,eACR,CAAK,EACD,EAAY,SAAS,cAAe,CAChC,eACA,OACA,SACA,eACR,CAAK,EACD,EAAY,SAAS,iCAAkC,CACnD,gCACA,sCACA,qBACR,CAAK,EACD,EAAY,SAAS,iBAAkB,CACnC,UACA,WACA,SACA,QACA,aACA,cACA,WACA,eACA,iBACA,oBACA,QACA,eACA,gBACA,iBACA,oBACA,gBACA,cACA,cACA,cACA,oBACA,cACA,gBACA,cACA,eACA,eACA,aACA,cACR,CAAK,EACD,EAAY,SAAS,cAAe,CAChC,kBACA,kBACA,iBACA,UACA,WACA,QACA,iBACA,UACA,YACA,WACA,gBACA,aACA,mBACA,gBACA,YACA,aACA,YACA,SACR,CAAK,EACD,EAAY,SAAS,eAAgB,CACjC,MACA,iBACA,aACA,gBACA,YACA,qBACA,WACA,cACA,OACA,cACA,iBACA,oBACA,SACA,gBACA,cACA,qBACA,eACA,SACA,kBACA,wBACA,OACA,YACA,aACA,WACA,UACA,kBACA,gBACA,aACA,WACA,cACA,aACA,SACA,OACA,OACA,QACA,WACA,YACA,SACA,iBACR,CAAK,EACD,EAAY,SAAS,iBAAkB,CACnC,QACA,SACA,gBACA,SACA,MACA,SACA,OACA,WACA,WACA,SACA,OACA,QACA,SACA,QACA,UACA,QACA,QACA,UACA,aACR,CAAK,EACD,EAAY,SAAS,iBAAkB,CACnC,kBACA,4BACA,cACA,iBACA,gBACA,kBACR,CAAK,EACD,EAAY,SAAS,kBAAmB,CACpC,MACA,QACR,CAAK,EACD,EAAY,SAAS,oBAAqB,CACtC,kBACA,kBACA,oBACA,qBACA,oBACA,mBACA,iBACA,mBACA,+BACA,+BACA,oBACA,iBACR,CAAK,EACD,EAAY,SAAS,iBAAkB,CACnC,OACA,qBACA,sBACA,kBACA,mBACA,gBACA,aACA,cACA,eACA,gBACA,gBACA,mBACA,kBACA,gBACA,QACA,iBACA,kBACA,eACA,mBACA,gBACA,gBACA,oBACA,mBACA,iBACA,SACA,UACA,gBACA,kBACA,sBACA,yBACA,SACA,eACA,WACA,cACA,SACA,QACA,UACA,QACA,SACA,SACA,QACR,CAAK,EACD,EAAY,SAAS,YAAa,CAC9B,QACA,SACA,UACA,aACA,SACA,OACA,OACA,OACA,aACA,OACA,SACA,OACA,QACA,QACA,MACA,OACR,CAAK,EACD,EAAY,SAAS,eAAgB,CACjC,QACA,SACR,CAAK,EACD,EAAY,SAAS,YAAa,CAC9B,OACA,KACA,QACA,OACA,QACA,MACR,CAAK,EACD,EAAY,SAAS,OAAQ,CACzB,IACA,IACA,GACR,CAAK,EACD,EAAY,SAAS,mBAAoB,CACrC,wBACA,uBACA,wBACA,uBACA,MACA,OACA,SACA,OACR,CAAK,EACD,EAAY,SAAS,YAAa,CAC9B,QACA,MACR,CAAK,EACD,EAAY,SAAS,wBAAyB,CAC1C,QACA,WACA,SACA,OACA,UACA,WACA,oBACA,SACA,UACA,WACA,aACA,OACA,UACA,WACA,MACR,CAAK,EACD,EAAY,SAAS,eAAgB,CACjC,UACA,WACA,UACA,WACA,6BACA,iBACA,gBACA,MACR,CAAK,EACD,EAAY,SAAS,cAAe,CAChC,gCACA,gCACA,8BACA,kCACA,4CACA,iCACA,kCACA,kCACA,gCACA,iCACA,mCACR,CAAK,CACL,CACA,GAAA,gBAA0B,mBCpY1B,OAAO,eAAe,GAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EAC9B,GAAA,uBAAG,OACjC,KAAMA,GAASC,EACf,YAAgC,EAAS,EAAa,CAClD,KAAM,GAAYD,EAAO,UAAU,KAAK,OAAW,CAAO,EACpD,EAAaA,EAAO,WAAW,KAAK,OAAW,CAAW,EAC1D,KAAsBA,EAAO,YAAY,CAC3C,CACI,KAAM,SACN,KAAM,GAAIA,EAAO,KAAK,EAAU,kBAAkB,CAAC,EACnD,OAAQ,GAAK,CAAE,GAAI,GAAI,EAAI,MAAQ,GAAM,GAAK,EAAE,MAAQ,MAAQ,IAAO,OAAS,OAAS,EAAG,aAAe,MAAQ,IAAO,OAAS,EAAM,CAAA,CAAM,CAClJ,EACD,CACI,KAAM,OACN,KAAM,GAAIA,EAAO,UAAU,EAAU,WAAW,CAAC,EACjD,OAAQ,GAAK,CAAC,CACN,UAAW,8BACX,UAAW,CAC/B,CAAiB,CACR,CACT,EAAO,CAAE,QAAS,YAAY,CAAE,EAC5B,EAAQ,SAAS,cAAe,GAAIA,EAAO,KAAK,GAAIA,EAAO,YAAY,CACnE,QAAS,GAAIA,EAAO,KAAK,GAAIA,EAAO,KAAK,GAAIA,EAAO,YAAY,CAC5D,KAAM,GAAIA,EAAO,YAAY,CACzB,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,MAAM,EAAI,EACpE,IAAK,GAAIA,EAAO,KAAK,EAAW,CAAE,UAAW,MAAO,OAAQ,CAAE,SAAU,CAAE,SAAU,iBAAkB,GAAI,CAAC,MAAO,CAAE,KAAM,MAAQ,CAAA,EAAK,CAAA,CAAE,CAAC,CAC1J,CAAa,EACD,MAAO,EAAU,gBAAgB,EACjC,YAAa,EAAU,gBAAgB,EACvC,WAAgBA,GAAAA,EAAO,KAAK,EAAU,CAAE,EACxC,MAAWA,GAAAA,EAAO,KAAK,EAAW,CAAE,KAAM,CAAC,OAAQ,YAAa,MAAM,CAAG,CAAA,CAAC,EAC1E,WAAgBA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,EACrD,iBAAsBA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,EAC3D,OAAYA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,CAC7D,CAAS,EAAG,CACA,QAAS,IAAO,EACZ,KAAM,CACF,KAAM,iBACT,EACD,MAAO,GACP,YAAa,EAC7B,EACA,CAAS,CAAC,EACF,OAAYA,GAAAA,EAAO,KAAK,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,cAAc,CAAI,CAAA,CAAC,EAC/F,SAAcA,GAAAA,EAAO,SAAS,EAAU,EAAI,EAAU,sBAAsB,CAAC,EAC7E,aAAc,GAAIA,EAAO,KAASA,GAAAA,EAAO,UAAcA,GAAAA,EAAO,UAAU,EAAY,CAC5F,CAAS,CAAC,EACF,QAAS,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAC5C,SAAcA,GAAAA,EAAO,KAAK,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,WAAW,CAAI,CAAA,CAAC,EAC9F,KAAUA,GAAAA,EAAO,KAAK,GAAIA,EAAO,UAAU,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,aAAa,CAAI,CAAA,CAAC,CAAC,EAClH,QAAaA,GAAAA,EAAO,KAAK,GAAIA,EAAO,UAAU,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,SAAS,CAAI,CAAA,CAAC,CAAC,EACjH,WAAY,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,CAAC,CACjF,CAAS,CAAC,CACV,EAAO,CAAE,QAAS,aAAa,CAAE,EAAG,CAC5B,QAAS,IAAO,EACZ,SAAU,CACN,YAAa,CACT,QAAS,oBACZ,CACJ,CACb,EACK,CAAA,CAAC,EACF,EAAQ,SAAS,uBAA4BA,GAAAA,EAAO,YAAY,CAC5D,QAAS,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,EAAY,IAAI,qBAAqB,CAAG,CAAA,CAAE,EACvG,WAAY,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAC/C,OAAYA,GAAAA,EAAO,KAAK,EAAiB,CACrC,QAAS,GAAQ,EAAK,IAAG,EAAG,KAAK,SAAS,EAAE,IAAG,IAAO,sBACtE,CAAa,GACAA,EAAO,QAAS,CAAC,MAAO,CAAE,KAAM,UAAW,GAC3CA,EAAO,MAAO,CACX,+BAAgC,CAC5B,MAAWA,GAAAA,EAAO,KAAK,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,OAAO,CAAI,CAAA,CAAC,EACvF,gBAAiB,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,CAAC,EAC1E,KAAM,GAAIA,EAAO,KAAK,EAAU,gBAAgB,CAAC,CACpD,EACD,yBAA0B,CACtB,OAAQ,EACR,QAAS,EACT,MAAO,CACV,EACD,0BAA2B,CACvB,OAAYA,GAAAA,EAAO,KAAK,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,QAAQ,CAAI,CAAA,CAAC,CAC5F,EACD,8BAA+B,CAC3B,KAAUA,GAAAA,EAAO,KAAK,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,YAAY,CAAI,CAAA,CAAC,EAC3F,GAAQA,GAAAA,EAAO,KAAK,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,YAAY,CAAI,CAAA,CAAC,CAC5F,EACD,gCAAiC,CAC7B,QAAaA,GAAAA,EAAO,KAASA,GAAAA,EAAO,UAAU,CAAe,CAAC,CACjE,EACD,6BAA8B,CAC1B,MAAO,EAAU,YAAY,CAChC,EACD,yBAA0B,CACtB,KAAM,GAAIA,EAAO,KAAK,EAAU,gBAAgB,CAAC,CACpD,EACD,kCAAmC,CAC/B,SAAU,EACV,OAAQ,CACX,EACD,4BAA6B,CACzB,QAAaA,GAAAA,EAAO,KAASA,GAAAA,EAAO,SAAS,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,YAAc,CAAA,CAAE,EAAG,GAAIA,EAAO,YAAY,CACvI,UAAW,EAAU,YAAY,EACjC,SAAU,EAAU,YAAY,CACnC,CAAA,CAAC,CAAC,EACH,OAAYA,GAAAA,EAAO,KAAK,CAAe,CAC1C,EACD,wBAAyB,CACrB,MAAWA,GAAAA,EAAO,KAAK,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,OAAO,CAAI,CAAA,CAAC,EACvF,MAAWA,GAAAA,EAAO,QAASA,EAAO,SAAS,IAAc,IAAc,CAAE,WAAY,CAAE,UAAW,kBAAmB,OAAQ,CAAE,GAAI,CAAC,MAAO,CAAE,KAAM,OAAS,CAAA,EAAK,CAAA,CAAE,CAAC,CACvK,EACD,2BAA4B,CACxB,OAAQ,EAAU,YAAY,EAC9B,KAAM,GAAIA,EAAO,KAAK,EAAU,gBAAgB,CAAC,CACpD,EACD,+BAAgC,CAC5B,OAAQ,GAAIA,EAAO,KAAK,EAAU,kBAAkB,CAAC,CACxD,EACD,iCAAkC,CAC9B,OAAQ,EACR,aAAc,GAAIA,EAAO,KAAK,EAAU,yBAAyB,CAAC,CACrE,EACD,6BAA8B,CAC1B,eAAgB,GAAIA,EAAO,KAAK,EAAU,oBAAoB,CAAC,EAC/D,SAAU,GAAIA,EAAO,KAAK,EAAU,oBAAoB,CAAC,CAC5D,EACD,0BAA2B,CACvB,KAAM,GAAIA,EAAO,KAAK,EAAU,gBAAgB,CAAC,CACpD,EACD,+BAAgC,CAC5B,OAAQ,EACR,KAAM,GAAIA,EAAO,KAAK,EAAU,gBAAgB,CAAC,CACpD,EACD,gCAAiC,CAC7B,SAAU,GAAIA,EAAO,KAAK,EAAU,oBAAoB,CAAC,CAC5D,EACD,8BAA+B,CAC3B,MAAO,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAC1C,MAAO,EAAU,YAAY,EAC7B,SAAU,EAAU,YAAY,EAChC,KAAM,EAAU,YAAY,CACpD,CAAqB,CAAC,EACF,MAAO,GAAIA,EAAO,KAAK,GAAIA,EAAO,UAAU,EAAU,gBAAgB,CAAC,CAAC,CAC3E,EACD,oCAAqC,CACjC,MAAO,EAAU,YAAY,EAC7B,WAAY,EAAU,YAAY,EAClC,KAAM,GAAIA,EAAO,KAAK,EAAU,gBAAgB,CAAC,CACpD,EACD,+BAAgC,CAC5B,KAAM,GAAIA,EAAO,KAAK,EAAU,gBAAgB,CAAC,EACjD,SAAU,GAAIA,EAAO,KAAK,EAAU,oBAAoB,CAAC,CAC5D,EACD,+BAAgC,CAC5B,oBAAqB,EAAU,YAAY,EAC3C,QAAaA,GAAAA,EAAO,KAASA,GAAAA,EAAO,UAAU,CAAe,CAAC,CACjE,EACD,uBAAwB,CACpB,SAAU,GAAIA,EAAO,KAAK,EAAU,oBAAoB,CAAC,EACzD,SAAU,EAAU,YAAY,CACnC,EACD,6BAA8B,CAC1B,UAAW,EACX,UAAW,CACd,EACD,qBAAsB,CAClB,SAAU,GAAIA,EAAO,KAAK,EAAU,oBAAoB,CAAC,CAC5D,EACD,0BAA2B,CACvB,eAAgB,GAAIA,EAAO,KAAK,EAAU,oBAAoB,CAAC,EAC/D,SAAU,GAAIA,EAAO,KAAK,EAAU,oBAAoB,CAAC,CAC5D,EACD,yBAA0B,CACtB,MAAWA,GAAAA,EAAO,KAAK,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,OAAO,CAAI,CAAA,CAAC,EACvF,MAAWA,GAAAA,EAAO,QAASA,EAAO,SAAS,IAAc,IAAc,CAAE,WAAY,CAAE,UAAW,kBAAmB,OAAQ,CAAE,GAAI,CAAC,MAAO,CAAE,KAAM,OAAS,CAAA,EAAK,CAAA,CAAE,CAAC,EACpK,KAAM,GAAIA,EAAO,KAAK,EAAU,gBAAgB,CAAC,EACjD,SAAU,GAAIA,EAAO,KAAK,EAAU,oBAAoB,CAAC,CAC5D,EACD,4CAA6C,CACzC,WAAY,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,aAAa,EAAI,CACpF,EACD,+BAAgC,CAC5B,OAAQ,GAAIA,EAAO,KAAK,EAAU,kBAAkB,CAAC,EACrD,OAAQ,CACX,EACD,0CAA2C,CACvC,KAAM,GAAIA,EAAO,KAAK,EAAU,gBAAgB,CAAC,EACjD,OAAQ,CACX,EACD,iCAAkC,CAC9B,OAAQ,EACR,aAAc,GAAIA,EAAO,KAAK,EAAU,yBAAyB,CAAC,CACrE,EACD,4BAA6B,CACzB,OAAQ,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,SAAS,EAAI,CAC5E,EACD,gCAAiC,CAC7B,eAAgB,GAAIA,EAAO,KAAK,EAAU,oBAAoB,CAAC,EAC/D,SAAU,GAAIA,EAAO,KAAK,EAAU,oBAAoB,CAAC,CAC5D,EACD,yBAA0B,CACtB,SAAU,GAAIA,EAAO,KAAK,EAAU,oBAAoB,CAAC,CAC5D,EACD,6BAA8B,CAC1B,MAAWA,GAAAA,EAAO,KAAK,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,OAAO,CAAI,CAAA,CAAC,CAC1F,EACD,0BAA2B,CACvB,KAAM,GAAIA,EAAO,KAAK,EAAU,gBAAgB,CAAC,CACpD,EACD,4BAA6B,CACzB,OAAQ,CACX,EACD,wBAAyB,CACrB,OAAQ,CACX,EACD,uBAAwB,CACpB,WAAY,EACZ,QAAS,EACT,gBAAiB,EAAU,YAAY,CAC1C,EACD,4CAA6C,CACzC,OAAQ,EACR,KAAM,GAAIA,EAAO,KAAK,EAAU,gBAAgB,CAAC,CACpD,EACD,2BAA4B,CACxB,SAAU,GAAIA,EAAO,KAAK,EAAU,cAAc,CAAC,CACtD,EACD,uBAAwB,CACpB,KAAM,GAAIA,EAAO,KAAK,EAAU,gBAAgB,CAAC,CACpD,EACD,uBAAwB,CACpB,KAAM,GAAIA,EAAO,KAAK,EAAU,gBAAgB,CAAC,CACpD,EACD,2BAA4B,CACxB,SAAU,EACV,KAAM,GAAIA,EAAO,KAAK,EAAU,gBAAgB,CAAC,CACpD,EACD,4BAA6B,CACzB,SAAU,GAAIA,EAAO,KAAK,EAAU,oBAAoB,CAAC,CAC5D,CACJ,CACb,EAAW,CAAE,QAAS,WAAW,CAAE,CAAC,CACpC,EAAO,CAAE,SAAU,YAAa,QAAS,WAAW,CAAE,CAAC,CACvD,CACA,GAAA,uBAAiC,mBCpPjC,OAAO,eAAe,GAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EACpC,GAAA,iBAAG,OAC3B,KAAMA,GAASC,EACf,YAA0B,EAAS,EAAa,CAC1BD,EAAO,UAAU,KAAK,OAAW,CAAO,EAC1D,KAAM,GAAaA,EAAO,WAAW,KAAK,OAAW,CAAW,EAC1D,EAAM,CAAC,EAAQ,EAAK,OAAYA,EAAO,aAAcA,EAAO,YAAY,CAAE,MAAK,KAAG,CAAE,EAAG,CAAE,UAAW,EAAQ,UAAW,CAAM,CAAE,EAC/H,KAAcA,EAAO,YAAY,CACnC,CACI,KAAM,QACN,MAAO,AAAC,GAAM,MAAO,IAAM,UAAY,EAAE,WAAW,GAAG,EACvD,KAAM,EAAY,EAClB,OAAQ,AAAC,GAAM,MAAO,IAAM,SAAW,IAAI,IAAM,IACpD,EACD,CACI,KAAM,YACN,MAAO,AAAC,GAAM,MAAO,IAAM,SAC3B,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,UAAU,EAAI,EACxE,OAAQ,AAAC,GAAM,MAAO,IAAM,SAAW,EAAE,QAAQ,KAAM,EAAE,EAAI,EAChE,CACT,EAAO,CAAE,cAAe,SAAS,CAAE,EAC/B,EAAQ,SAAS,QAAS,GAAIA,EAAO,KAAK,GAAIA,EAAO,YAAY,CAC7D,OAAYA,GAAAA,EAAO,KAAK,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,QAAQ,CAAI,CAAA,CAAC,EACzF,iBAAsBA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,EAC3D,UAAeA,GAAAA,EAAO,KAAK,EAAW,CAAE,KAAM,WAAW,CAAE,CAAC,EAC5D,SAAU,GAAIA,EAAO,KAAK,GAAIA,EAAO,SAAS,IAAc,CAAO,CAAC,EACpE,SAAU,GAAIA,EAAO,KAAK,GAAIA,EAAO,UAAU,GAAIA,EAAO,YAAY,CAClE,KAAM,EAAI,EAAG,IAAK,EAAE,EACpB,GAAI,EAAI,EAAG,IAAK,EAAE,EAClB,SAAU,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAC7C,OAAQ,EAAI,CAAC,EACb,KAAM,EAAW,CAAE,KAAM,MAAM,CAAE,EACjC,MAAO,GAAIA,EAAO,YAAY,CAAE,OAAQ,CAAC,IAAK,MAAO,EAAG,KAAM,EAAE,CAAC,CAAE,EACnE,QAAaA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,CAClE,CAAa,CAAC,EACF,MAAWA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,EAChD,MAAWA,GAAAA,EAAO,SAAS,EAAW,CAAE,KAAM,YAAa,KAAOA,EAAO,YAAY,CACjF,QAAS,EACT,GAAI,GAAIA,EAAO,KAAK,EAAI,CAAC,CAAC,EAC1B,SAAcA,GAAAA,EAAO,KAAK,EAAW,CAAE,KAAM,WAAW,CAAE,CAAC,EAC3D,SAAU,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,CAAC,EACnE,UAAW,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,CAAC,CACpF,CAAa,CAAC,CACL,EAAE,CAAE,QAAS,eAAiB,CAAA,CAAC,CAAC,EACjC,QAAS,GAAIA,EAAO,KAAK,GAAIA,EAAO,SAAS,EAAW,CAAE,KAAM,kBAAkB,CAAE,EAAOA,GAAAA,EAAO,YAAY,CAC1G,SAAU,EAAI,CAAC,EACf,YAAa,EAAI,EAAG,IAAK,EAAE,EAC3B,MAAO,EAAI,EAAG,GAAI,CAAC,CACtB,EAAE,CAAE,QAAS,gBAAkB,CAAA,CAAC,CAAC,EAClC,UAAW,GAAIA,EAAO,KAAK,GAAIA,EAAO,UAAU,GAAIA,EAAO,YAAY,CACnE,UAAeA,GAAAA,EAAO,SAAS,EAAW,CAAE,KAAM,wBAAyB,KAAOA,EAAO,YAAU,CAAG,EACtG,MAAO,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,QAAQ,EAAI,CAC1E,EAAE,CAAE,QAAS,gBAAkB,CAAA,CAAC,CAAC,CAC1C,EAAO,CAAE,QAAS,OAAO,CAAE,EAAG,CACtB,QAAS,IAAO,EACZ,OAAQ,2BACR,SAAU,CACN,OAAQ,wBACX,CACb,EACK,CAAA,CAAC,CACN,CACA,GAAA,iBAA2B,aC9D3B,OAAO,eAAe,GAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EAC1B,GAAA,2BAAG,OACrC,KAAMA,GAASC,EACf,YAAoC,EAAS,EAAa,CACtD,KAAM,GAAYD,EAAO,UAAU,KAAK,OAAW,CAAO,EACpD,EAAaA,EAAO,WAAW,KAAK,OAAW,CAAW,EAChE,EAAQ,SAAS,mBAAoB,GAAIA,EAAO,KAAK,GAAIA,EAAO,YAAY,CACxE,CACI,KAAM,WACN,MAAO,AAAC,GAAM,EAAE,WAAa,OAC7B,KAAM,GAAIA,EAAO,YAAY,CACzB,SAAcA,GAAAA,EAAO,SAAS,EAAU,EAAI,EAAU,eAAe,CAAC,CACtF,CAAa,EACD,OAAQ,AAAC,GAAO,EAAE,SAAU,CAAE,GAAI,CAAE,CAAA,GACvC,EACD,CACI,KAAM,YACN,MAAO,AAAC,GAAM,EAAE,YAAc,OAC9B,KAAM,GAAIA,EAAO,YAAY,CACzB,UAAW,GAAIA,EAAO,UAAcA,GAAAA,EAAO,YAAY,CACnD,KAAM,GAAIA,EAAO,KAAK,EAAU,qBAAqB,CAAC,EACtD,MAAO,EAAU,eAAe,CACpD,CAAiB,CAAC,CAClB,CAAa,EACD,OAAQ,AAAC,GAAO,EAAE,UAAW,CAAE,KAAM,GAAI,MAAO,CAAE,CAAA,GACrD,CACT,EAAO,CAAE,QAAS,kBAAkB,CAAE,EAAG,CACjC,QAAS,IAAO,EACZ,SAAU,CACN,GAAI,CACA,MAAO,uBACV,CACJ,CACb,EACK,CAAA,CAAC,EACF,KAAM,GAAkB,CACpB,MAAO,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,QAAQ,EAAI,EACvE,EAAOA,GAAAA,EAAO,KAAK,GAAIA,EAAO,YAAY,CAAE,QAAS,GAAM,OAAQ,CAAC,EAAG,GAAI,IAAK,GAAG,CAAC,CAAE,CAAC,EACvF,EAAOA,GAAAA,EAAO,KAAK,GAAIA,EAAO,YAAY,CAAE,QAAS,GAAM,OAAQ,CAAC,EAAG,GAAI,IAAK,GAAG,CAAC,CAAE,CAAC,EACvF,OAAYA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,CACzD,EACI,EAAQ,SAAS,gBAAqBA,GAAAA,EAAO,YAAY,CACrD,CACI,KAAM,SACN,KAAUA,GAAAA,EAAO,YAAY,CAAe,EAC5C,OAAQ,AAAC,GAAM,MAAM,QAAQ,CAAC,GAAK,EAAE,OAAS,EAAI,EAAE,GAAM,CAAA,CAC7D,EACD,CACI,KAAM,OACN,KAAM,GAAIA,EAAO,UAAcA,GAAAA,EAAO,YAAY,OAC3C,GAD2C,CAE9C,OAAYA,GAAAA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,CAAG,CAAA,CAAC,CACzF,GAAe,CAAE,QAAS,eAAe,CAAE,CAAC,EAChC,OAAQ,AAAC,GAAM,CAAC,GAAE,OAAQ,GAAM,EAAG,CACtC,CACJ,EAAE,CAAE,QAAS,eAAiB,CAAA,CAAC,EAChC,EAAQ,SAAS,sBAA2BA,GAAAA,EAAO,YAAY,CAC3D,CACI,KAAM,SACN,SAAU,GACV,MAAO,IAAM,GACb,KAAUA,GAAAA,EAAO,SAAS,EAAY,EAAE,EAAU,CAAE,EACpD,OAAQ,AAAC,GAAM,MAAO,IAAM,UAAY,MAAM,QAAQ,GAAM,KAAuB,OAAS,EAAE,EAAE,GAAK,EAAE,GAAG,OAAS,EAAI,EAAE,GAAG,GAAM,CAAA,CACrI,EACD,CACI,KAAM,KACN,MAAO,AAAC,GAAM,MAAO,IAAM,UAAa,IAAM,KAAuB,OAAS,EAAE,MAAQ,OACxF,KAAM,GAAIA,EAAO,YAAY,CACzB,GAAI,GAAIA,EAAO,UAAU,EAAU,qBAAqB,CAAC,CACzE,CAAa,EACD,OAAQ,AAAC,GAAO,EAAE,GAAI,CAAC,GAAM,KAAuB,EAAI,CAAA,CAAE,CAAC,EAC9D,CACJ,EAAE,CAAE,QAAS,qBAAuB,CAAA,CAAC,CAC1C,CACA,GAAA,2BAAqC,GC1ErC,OAAO,eAAe,GAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EACnC,GAAA,kBAAG,OAC5B,KAAM,IAAUC,GACV,GAAoBC,GAC1B,YAA2B,EAAS,EAAa,CAC7C,AAAA,GAAI,GAAkB,4BAA4B,EAAS,CAAW,EACtE,GAAI,GAAQ,kBAAkB,EAAS,CAAW,CACtD,CACA,GAAA,kBAA4B,yBCR5B,OAAO,eAAc,EAAU,aAAc,CAAE,MAAO,EAAI,CAAE,EAC5D,EAAA,kBAA4B,EAAc,IAAA,EAAA,eAAyB,EAAsB,YAAA,EAAA,cAAwB,EAA+B,qBAAA,EAAA,qBAA+B,EAA+B,qBAAA,EAAA,qBAA+B,EAAwB,cAAA,EAAA,eAAyB,OAC9R,KAAM,GAASD,EACf,EAA+B,qBAAA,CAC3B,UAAW,GACX,QAAS,GACT,YAAa,GACb,qBAAsB,GACtB,UAAW,GACX,UAAW,GACX,aAAc,GACd,YAAa,GACb,iBAAkB,EAClB,cAAe,EACf,eAAgB,IAChB,WAAY,kCACZ,MAAO,EACP,OAAQ,GACZ,EACA,EAA+B,qBAAA,CAC3B,UAAW,GACX,kBAAmB,GACnB,uBAAwB,GACxB,iBAAkB,GAClB,qBAAsB,GACtB,cAAe,CACX,KAAM,iBACT,EACD,cAAe,CACX,WAAY,CACR,MAAO,GACV,EACD,KAAM,iBACT,EACD,MAAO,CACH,MAAO,IACP,OAAQ,IACR,gBAAiB,EACjB,cAAe,EACf,UAAW,CACP,OAAQ,SACR,KAAM,EACN,OAAQ,CACX,EACD,aAAc,CACV,OAAQ,SACR,KAAM,EACN,OAAQ,CACX,EACD,SAAU,CACN,SAAU,kBACV,QAAS,kBACT,UAAW,GACX,SAAU,GACb,EACD,eAAgB,CACZ,OAAQ,EACR,OAAQ,EACR,WAAY,CACf,CACJ,EACD,aAAc,CACV,QAAS,EACT,wBAAyB,EACzB,mBAAoB,EACpB,KAAM,EACN,YAAa,EACb,WAAY,EACZ,WAAY,EACZ,QAAS,EACT,MAAO,EACP,OAAQ,EACR,mCAAoC,EACpC,cAAe,CACX,KAAM,yBACN,SAAU,mCACb,EACD,YAAa,EACb,YAAa,EACb,SAAU,CACb,EACD,aAAc,CACV,KAAM,qBACN,SAAU,CAAE,CACf,CACL,EACA,WAA2B,EAAS,EAAa,CAC7C,KAAM,GAAa,EAAO,WAAW,KAAK,OAAW,CAAW,EAC1D,EAAY,EAAO,UAAU,KAAK,OAAW,CAAO,EAC1D,EAAQ,SAAS,cAAe,GAAI,EAAO,KAAK,GAAI,EAAO,YAAY,CACnE,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,OAAO,EAAI,EACrE,WAAgB,GAAA,EAAO,QAAS,EAAO,SAAS,IAAc,IAAc,CAAE,WAAY,CAAE,UAAW,kBAAmB,OAAQ,CAAE,GAAI,CAAC,MAAO,CAAE,KAAM,MAAQ,CAAA,EAAK,CAAA,CAAE,CAAC,CAChL,EAAO,CAAE,QAAS,aAAa,CAAE,EAAG,CAC5B,QAAS,IAAO,EACZ,KAAM,iBAClB,EACK,CAAA,CAAC,EACF,EAAQ,SAAS,cAAe,GAAI,EAAO,KAAK,GAAI,EAAO,YAAY,CACnE,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,OAAO,EAAI,EACrE,WAAY,GAAI,EAAO,KAAS,GAAA,EAAO,SAAS,EAAU,EAAI,EAAU,CAAE,CAAC,CACnF,EAAO,CAAE,QAAS,aAAa,CAAE,EAAG,CAC5B,QAAS,IAAO,EACZ,KAAM,kBACN,WAAY,CACR,MAAS,GACZ,CACb,EACK,CAAA,CAAC,EACF,EAAQ,SAAS,YAAiB,GAAA,EAAO,KAAS,GAAA,EAAO,aAAc,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,EAAG,CAAE,UAAW,EAAG,UAAW,CAAC,CAAE,EAAG,CAC3I,QAAS,IAAM,CAAC,EAAG,EAAG,CAAC,CAC1B,CAAA,CAAC,EACF,KAAM,GAAS,AAAC,GAAY,GAAI,EAAO,KAAK,GAAI,EAAO,YAAY,CAC/D,CACI,KAAM,SACN,KAAM,GAAI,EAAO,YAAY,CAAE,SAAO,CAAE,EACxC,OAAQ,AAAC,GAAM,CAAE,GAAI,GAAI,EAAI,MAAO,KAAM,OAAY,EAAK,GAAM,GAAK,EAAE,OAAS,MAAQ,IAAO,OAAS,EAAK,EAAE,OAAS,MAAQ,IAAO,OAAS,EAAK,CAAI,CAC7J,EACD,CACI,KAAM,SACN,KAAM,GAAI,EAAO,YAAY,CACzB,IAAK,GAAI,EAAO,KAAK,GAAI,EAAO,YAAY,CAAE,SAAO,CAAE,CAAC,EACxD,IAAK,GAAI,EAAO,KAAK,GAAI,EAAO,YAAY,CAAE,SAAO,CAAE,CAAC,CACxE,EAAe,CAAE,QAAS,QAAS,EACvB,OAAQ,AAAC,GAAO,EACZ,IAAK,GAAM,KAAuB,EAAI,EACtC,IAAK,GAAM,KAAuB,EAAI,CACtD,EACS,CACJ,CAAA,CAAC,EACF,EAAQ,SAAS,aAAc,EAAO,EAAI,CAAC,EAC3C,EAAQ,SAAS,eAAgB,EAAQ,CAAA,EACzC,EAAQ,SAAS,YAAiB,GAAA,EAAO,YAAY,CACjD,CACI,KAAM,SACN,KAAM,GAAI,EAAO,YAAY,CACzB,IAAK,GAAI,EAAO,KAAK,EAAU,iBAAiB,CAAC,EACjD,IAAK,GAAI,EAAO,KAAK,EAAU,iBAAiB,CAAC,CACjE,CAAa,CACJ,EACD,CACI,KAAM,SACN,KAAU,GAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,CACjD,CACJ,EAAE,CAAE,QAAS,OAAS,CAAA,CAAC,EACxB,KAAM,GAAiB,CAAC,EAAM,EAAY,EAAY,EAAe,EAAe,EAAS,IAAU,CACnG,GAAI,IAAc,CAAA,EAClB,AAAI,GACA,OAAO,KAAK,EAAM,EAAc,EAAE,QAAQ,GAAK,CAC3C,GAAY,MAAS,EAAO,KAAK,EAAM,GAAe,GAAI,CACtD,QAAS,GAAQ,EAAK,KAAK,MAAM,EAAE,IAAG,IAAO,MACjE,CAAiB,CACjB,CAAa,EAEL,KAAM,MAAe,EAAO,YAAY,GACpC,KAAM,GAAI,EAAO,KAAS,GAAA,EAAO,KAAK,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,MAAM,CAAA,CAAE,CAAC,EAAG,CAC5F,OAAQ,IAAM,EAC9B,CAAa,GACA,EAAO,QAAS,CAAC,CAAE,KAAM,MAAM,CAAE,GACjC,EAAO,MAAO,GACZ,IACJ,CAAE,UAAS,qBAAsB,EAAM,CAAA,EACpC,EAAU,CAAC,CACT,KAAM,EACN,KAAM,EAAM,GAAe,EAC3C,CAAa,EACL,MAAI,IACA,EAAQ,KAAK,CACT,KAAM,SACN,SAAU,GACV,KAAM,CACtB,CAAa,EAEL,OAAO,KAAK,CAAK,EAAE,QAAQ,GAAK,CAC5B,EAAQ,KAAK,CACT,KAAM,EACN,MAAO,AAAC,GAAM,CACV,GAAI,GAEJ,GAAI,AADS,aAAiB,IAAK,GAAM,KAAuB,OAAS,EAAE,QAAU,MAAQ,IAAO,OAAS,OAAS,EAAG,QAAQ,cAAe,EAAE,KACrI,EACT,MAAO,GACX,KAAM,GAAO,EAAI,OAAO,KAAK,CAAC,EAAI,GAClC,MAAO,OAAO,IAAM,UAAc,KAAS,KAA0B,OAAS,EAAK,UAAY,GAAO,IAAS,KAA0B,OAAS,EAAK,UAAY,GAAM,IAAS,KAA0B,OAAS,EAAK,MAAQ,OACrO,EACD,KAAM,EACN,OAAQ,AAAC,GAAO,EAAE,KAAM,CAAC,EACzC,CAAa,CACb,CAAS,KACU,EAAO,YAAY,EAAS,CAAE,UAAS,cAAe,GAAG,QAAgB,CAAA,CAC5F,EACI,EAAQ,SAAS,kBAAmB,EAAe,4BAA6B,SAAU,QAAS,qBAAsB,oBAAqB,kBAAmB,CAC7J,qBAAsB,CAClB,MAAO,GAAI,EAAO,YAAa,CAClC,EACD,oBAAqB,CACjB,IAAK,EAAU,iBAAiB,EAChC,IAAK,EAAU,iBAAiB,CACnC,EACD,qBAAsB,CAClB,EAAG,EAAU,iBAAiB,EAC9B,EAAG,EAAU,iBAAiB,CACjC,EACD,kBAAmB,CACf,OAAQ,EAAU,0BAA0B,EAC5C,MAAO,EAAW,CAAE,UAAW,WAAW,CAAE,EAC5C,MAAW,GAAA,EAAO,KAAK,GAAI,EAAO,YAAU,CAAG,CAClD,CACJ,CAAA,CAAC,EACF,EAAQ,SAAS,2BAA4B,EAAe,2BAA4B,SAAU,SAAU,oBAAqB,KAAM,iBAAkB,CACrJ,kBAAmB,CACf,KAAM,EAAW,CAAE,UAAW,SAAU,OAAQ,CAAE,OAAQ,WAAY,KAAM,WAAY,cAAe,EAAM,CAAA,CAAE,CAClH,EACD,oBAAqB,CACjB,OAAY,GAAA,EAAO,KAAK,EAAW,CAAE,KAAM,eAAe,CAAE,EAAG,CAAE,QAAS,IAAM,MAAM,CAAE,CAC3F,CACJ,CAAA,CAAC,EACF,EAAQ,SAAS,eAAgB,EAAe,yBAA0B,SAAU,SAAU,oBAAqB,KAAM,eAAgB,CACrI,oBAAqB,CACjB,OAAQ,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,UAAU,EAAI,CAC7E,EACD,oBAAqB,CACjB,OAAY,GAAA,EAAO,KAAK,EAAW,CAAE,KAAM,aAAa,CAAE,EAAG,CAAE,QAAS,IAAM,MAAM,CAAE,CACzF,CACJ,CAAA,CAAC,EACF,gBAAwB,AAAC,GAAW,EAAe,sBAAuB,SAAU,QAAS,qBAAsB,KAAM,iBAAkB,CACvI,qBAAsB,CAClB,MAAW,GAAA,EAAO,YAAY,CAAM,CACvC,EACD,oBAAqB,CACjB,MAAO,GAAI,EAAO,YAAY,CAC1B,cAAmB,GAAA,EAAO,YAAY,CAAM,EAC5C,cAAmB,GAAA,EAAO,YAAY,CAAM,CAC5D,CAAa,CACJ,EACD,2BAA4B,CACxB,MAAO,GAAI,EAAO,YAAY,CAC1B,IAAK,GAAI,EAAO,YAAa,EAC7B,IAAK,GAAI,EAAO,YAAa,EAC7B,KAAM,GAAI,EAAO,YAAa,EAC9B,UAAW,GAAI,EAAO,YAAa,CACnD,CAAa,CACJ,EACD,sBAAuB,CACnB,MAAO,GAAI,EAAO,YAAY,CAC1B,IAAK,GAAI,EAAO,YAAa,EAC7B,IAAK,GAAI,EAAO,YAAa,EAC7B,QAAS,GAAI,EAAO,YAAa,CACjD,CAAa,CACJ,CACT,CAAK,EACD,EAAQ,SAAS,iBAAsB,GAAA,EAAQ,eAAgB,CAAA,EAC/D,cAAsB,AAAC,GAAW,EAAe,oBAAqB,SAAU,QAAS,qBAAsB,KAAM,eAAgB,CACjI,qBAAsB,CAClB,MAAW,GAAA,EAAO,YAAY,GAAE,QAAS,IAAS,EAAQ,CAC7D,EACD,oBAAqB,CACjB,MAAO,GAAI,EAAO,YAAY,CAC1B,cAAmB,GAAA,EAAO,YAAY,GAAE,QAAS,IAAS,EAAQ,EAClE,cAAmB,GAAA,EAAO,YAAY,GAAE,QAAS,IAAS,EAAQ,CAClF,CAAa,CACJ,EACD,6BAA8B,CAC1B,MAAO,GAAI,EAAO,YAAY,CAC1B,cAAmB,GAAA,EAAO,YAAY,GAAE,QAAS,IAAS,EAAQ,EAClE,cAAmB,GAAA,EAAO,YAAY,GAAE,QAAS,IAAS,EAAQ,CAClF,CAAa,CACJ,EACD,oBAAqB,CACjB,MAAO,GAAI,EAAO,YAAY,CAC1B,cAAmB,GAAA,EAAO,YAAY,GAAE,QAAS,IAAS,EAAQ,EAClE,cAAmB,GAAA,EAAO,YAAY,GAAE,QAAS,IAAS,EAAQ,EAClE,OAAQ,EAAU,cAAc,CAChD,CAAa,CACJ,EACD,2BAA4B,CACxB,MAAO,GAAI,EAAO,YAAY,CAC1B,cAAmB,GAAA,EAAO,YAAY,GAAE,QAAS,IAAS,EAAQ,EAClE,cAAmB,GAAA,EAAO,YAAY,GAAE,QAAS,IAAS,EAAQ,EAClE,KAAM,GAAI,EAAO,YAAa,EAC9B,UAAW,GAAI,EAAO,YAAa,CACnD,CAAa,CACJ,EACD,0BAA2B,CACvB,aAAc,GAAI,EAAO,UAAc,GAAA,EAAO,YAAY,CACtD,OAAY,GAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,EAChD,KAAM,EAAU,cAAc,CAC9C,CAAa,CAAC,CACL,CACT,CAAK,EACD,EAAQ,SAAS,eAAoB,GAAA,EAAQ,aAAc,CAAA,EAC3D,EAAQ,SAAS,kBAAmB,GAAI,EAAO,YAAY,CAAC,WAAY,eAAgB,WAAW,EAAE,IAAI,GAAM,EAC3G,KAAM,EACN,MAAO,GAAM,IAAM,KAAuB,OAAS,EAAE,MAAQ,OAC7D,OAAQ,GAAK,CAAE,GAAI,GAAI,EAAI,EAAI,MAAQ,EAAG,GAAK,GAAM,GAAM,GAAK,EAAE,YAAc,MAAQ,IAAO,OAAS,EAAK,EAAE,gBAAkB,MAAQ,IAAO,OAAS,EAAK,EAAE,aAAe,MAAQ,IAAO,OAAS,EAAK,CAAC,CAAM,EACnN,KAAM,GAAI,EAAO,YAAY,EACxB,GAAI,GAAI,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,MAAO,IAAK,IAAI,CAAE,CAChF,CAAS,CACJ,EAAC,EAAG,CAAE,QAAS,iBAAiB,CAAE,CAAC,EACpC,EAAQ,SAAS,kBAAmB,EAAe,uBAAwB,SAAU,QAAS,qBAAsB,KAAM,kBAAmB,CACzI,qBAAsB,CAClB,MAAO,EAAU,iBAAiB,CACrC,EACD,oBAAqB,CACjB,cAAe,EAAU,iBAAiB,EAC1C,cAAe,EAAU,iBAAiB,CAC7C,EACD,6BAA8B,CAC1B,cAAe,EAAU,iBAAiB,EAC1C,cAAe,EAAU,iBAAiB,EAC1C,MAAW,GAAA,EAAO,KAAS,GAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,CAAG,CAAA,CAAC,CAC3E,EACD,kCAAmC,CAC/B,cAAe,EAAU,iBAAiB,EAC1C,cAAe,EAAU,iBAAiB,EAC1C,MAAW,GAAA,EAAO,KAAS,GAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,CAAG,CAAA,CAAC,CAC3E,EACD,sBAAuB,CACnB,cAAe,EAAU,iBAAiB,EAC1C,cAAe,EAAU,iBAAiB,EAC1C,QAAS,GAAI,EAAO,KAAS,GAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,CAAC,CACrE,EACD,0BAA2B,CACvB,aAAc,GAAI,EAAO,UAAc,GAAA,EAAO,YAAY,CACtD,OAAY,GAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,EAChD,KAAM,EAAU,cAAc,CAC9C,CAAa,CAAC,CACL,CACJ,CAAA,CAAC,EACF,EAAA,eAAyB,AAAC,GAAe,GAAA,EAAO,YAAY,CACxD,cAAmB,GAAA,EAAO,YAAY,CAAM,EAC5C,cAAmB,GAAA,EAAO,YAAY,CAAM,CACpD,EAAO,CAAE,QAAS,OAAO,CAAE,EACvB,EAAQ,SAAS,mBAAoB,GAAI,EAAO,KAAK,GAAI,EAAO,YAAY,CACxE,YAAiB,GAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,EACrD,WAAgB,GAAA,EAAO,UAAU,GAAI,EAAO,YAAU,CAAG,CACjE,EAAO,CAAE,QAAS,kBAAkB,CAAE,EAAG,CACjC,QAAS,IAAO,EACZ,YAAa,GACb,WAAY,CAAC,EAAG,CAAC,CAC7B,EACK,CAAA,CAAC,EACF,EAAA,IAAc,AAAC,GAAe,GAAA,EAAO,YAAY,CAC7C,CACI,KAAM,SACN,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,EAAO,SAAU,SAAU,EAAM,CAAA,CAAE,EAC7F,OAAQ,AAAC,GAAM,CACX,GAAI,MAAM,QAAQ,CAAC,GAAK,MAAO,GAAE,IAAO,UAAY,CAAC,EAAE,GAAG,WAAW,GAAG,EACpE,MAAO,GAAE,EAGhB,CACJ,EACD,CACI,KAAM,OACN,KAAU,GAAA,EAAO,UAAU,EAAO,aACxB,GAAA,EAAO,YAAY,CACrB,CACI,KAAM,SACN,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,EAAO,QAAQ,EAAI,CAChF,EACD,CACI,KAAM,SACN,KAAM,EAAU,EAAO,YAAY,CACtC,CACrB,EAAmB,CAAE,cAAe,WAAY,EAC9B,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,EAAO,QAAU,CAAA,CAAE,CAAC,EAC9E,OAAQ,AAAC,GACD,MAAO,IAAM,UAAY,CAAC,EAAE,WAAW,GAAG,EACnC,CAAC,CAAC,EAEN,EAEd,CACT,EAAO,CAAE,cAAe,KAAK,CAAE,EAC3B,EAAyB,eAAA,CAAC,EAAmB,EAAW,CAAE,KAAM,eAAe,CAAE,IAAO,EACpF,wBAAyB,CACrB,MAAO,GAAI,EAAO,UAAU,EAAU,WAAW,CAAC,CACrD,EACD,iCAAkC,CAC9B,MAAO,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,OAAO,EAAI,EACtE,WAAY,GAAI,EAAO,SAAS,EAAY,EAAE,EAAY,EAAE,CAAE,WAAY,CAAE,UAAW,kBAAmB,OAAQ,CAAE,GAAI,CAAC,MAAO,CAAE,KAAM,OAAO,CAAE,CAAG,CAAA,EAAI,CAC3J,EACD,qCAAsC,CAClC,UAAW,EAAU,yBAAyB,CACjD,EACD,8BAA+B,CAC3B,OAAQ,EACR,UAAW,EAAU,kBAAkB,CAC1C,EACD,0BAA2B,CACvB,OAAQ,EACR,OAAY,GAAA,EAAO,SAAS,EAAW,CAAE,UAAW,YAAa,EAAG,EAAU,WAAW,CAAC,CAC7F,EACD,qBAAsB,CAClB,KAAM,EAAU,WAAW,CAC9B,EACD,6BAA8B,CAC1B,QAAa,GAAA,EAAO,KAAK,GAAI,EAAO,aAAW,CAAG,CACrD,EACD,2BAA4B,CACxB,QAAS,GAAI,EAAO,KAAS,GAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,CAAC,EAClE,QAAS,GAAI,EAAO,KAAS,GAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,CAAC,EAClE,QAAS,GAAI,EAAO,KAAS,GAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,CAAC,EAClE,UAAW,EAAU,oBAAoB,CAC5C,EACD,uBAAwB,CACpB,UAAW,EAAU,gBAAgB,CACxC,EACD,0BAA2B,CACvB,OAAQ,GAAI,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,EAAG,CACpD,EACD,uCAAwC,CACpC,OAAQ,GAAI,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,EAAG,EACjD,mBAAoB,GAAI,EAAO,YAAa,CAC/C,EACD,sBAAuB,CACnB,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,YAAY,EAAI,CAC7E,EACD,wBAAyB,CACrB,YAAa,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,aAAa,EAAI,EAClF,QAAa,GAAA,EAAO,UAAc,GAAA,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,CAAG,CAAA,CAAC,CAC3E,EACD,uBAAwB,CACpB,MAAO,EAAU,WAAW,EAC5B,OAAQ,GAAI,EAAO,KAAS,GAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,CAAC,CACpE,EACD,wBAAyB,CACrB,MAAO,EAAU,iBAAiB,EAClC,MAAO,EAAU,WAAW,CAC/B,EACD,0BAA2B,CACvB,QAAa,GAAA,EAAO,KAAK,GAAI,EAAO,aAAW,CAAG,EAClD,WAAgB,GAAA,EAAO,KAAK,GAAI,EAAO,aAAW,CAAG,CACxD,CACT,GACI,EAAA,cAAwB,CAAC,EAAY,EAAiB,EAAW,CAAE,KAAM,aAAa,CAAE,EAAG,EAAmB,EAAW,CAAE,KAAM,eAAiB,CAAA,IAAM,CACpJ,KAAM,GAAQ,CACV,wBAAyB,CACrB,YAAa,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,aAAa,EAAI,EAClF,QAAS,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,EAAY,IAAI,gCAAgC,CAAG,CAAA,CAAE,EAClH,WAAY,GAAI,EAAO,KAAS,GAAA,EAAO,YAAY,CAC/C,gBAAqB,GAAA,EAAO,KAAK,GAAI,EAAO,YAAU,EAAK,CACvD,QAAS,GAAQ,EAAK,IAAG,EAAG,KAAK,SAAS,EAAE,IAAG,IAAO,+BAC9E,CAAqB,EACD,MAAW,GAAA,EAAO,KAAK,GAAI,EAAO,YAAU,EAAK,CAC7C,QAAS,GAAQ,EAAK,IAAG,EAAG,KAAK,SAAS,EAAE,IAAG,IAAO,qCAC9E,CAAqB,EACD,YAAiB,GAAA,EAAO,KAAK,GAAI,EAAO,YAAU,EAAK,CACnD,QAAS,GAAQ,EAAK,IAAG,EAAG,KAAK,SAAS,EAAE,IAAG,IAAO,qCAC9E,CAAqB,CACrB,CAAiB,EAAG,CACA,QAAS,GAAQ,EAAK,KAAK,SAAS,EAAE,IAAG,IAAO,qBACpE,CAAiB,CACJ,EACD,sBAAuB,CACnB,OAAQ,CACX,EACD,qBAAsB,CAClB,OAAQ,EAAU,cAAc,EAChC,IAAK,GAAI,EAAO,UAAc,GAAA,EAAO,YAAY,CAC7C,OAAQ,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,SAAU,CAAE,OAAQ,cAAe,KAAM,CAAC,MAAO,MAAO,MAAO,CAAE,KAAM,QAAQ,CAAE,CAAG,CAAA,EAAI,EAC9I,OAAQ,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,SAAU,gBAAgB,EAAI,EACpF,GAAI,EAAW,CAAE,KAAM,CAAC,UAAW,SAAU,OAAO,EAAG,CAC3E,EAAmB,CAAE,QAAS,eAAe,CAAE,CAAC,CACnC,EACD,uBAAwB,CACpB,MAAO,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,OAAO,EAAI,EACtE,WAAgB,GAAA,EAAO,UAAU,EAAW,CAAE,UAAW,kBAAmB,OAAQ,CAAE,GAAI,CAAC,MAAO,MAAO,CAAE,KAAM,OAAS,CAAA,CAAG,CAAA,CAAE,CAAC,CACnI,EACD,6BAA8B,CAC1B,aAAkB,GAAA,EAAO,KAAK,GAAI,EAAO,UAAU,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,aAAa,CAAI,CAAA,CAAC,CAAC,CAC7H,EACD,gCAAiC,CAC7B,OAAQ,EAAU,iBAAiB,EACnC,SAAc,GAAA,EAAO,KAAK,GAAI,EAAO,aAAW,CAAG,CACtD,EACD,4BAA6B,CACzB,YAAa,GAAI,EAAO,KAAS,GAAA,EAAQ,KAAK,CAAE,SAAU,wCAAwC,CAAE,CAAC,EACrG,WAAgB,GAAA,EAAO,KAAK,EAAW,CAAE,KAAM,gBAAgB,CAAE,CAAC,EAClE,KAAM,GAAI,EAAO,KAAS,GAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,CAAC,EAC/D,cAAe,GAAI,EAAO,KAAS,GAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,CAAC,EACxE,qBAA0B,GAAA,EAAO,KAAK,GAAI,EAAO,aAAW,CAAG,CAClE,EACD,6BAA8B,CAC1B,OAAQ,CACX,EACD,wBAAyB,CACrB,MAAO,EAAU,WAAW,CAC/B,EACD,4BAA6B,CACzB,MAAO,EAAU,iBAAiB,EAClC,MAAO,GAAI,EAAO,KAAS,GAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,CAAC,CACnE,EACD,2BAA4B,CACxB,UAAW,GAAI,EAAO,UAAU,EAAU,oBAAoB,CAAC,CAClE,EACD,+BAAgC,CAC5B,SAAU,GAAI,EAAO,UAAc,GAAA,EAAO,YAAY,CAClD,QAAS,EAAW,CAAE,KAAM,gBAAgB,CAAE,EAC9C,MAAO,EAAW,CAAE,KAAM,WAAW,CAAE,CAC3D,CAAiB,CAAC,EACF,OAAY,GAAA,EAAO,KAAK,GAAI,EAAO,aAAW,CAAG,CACpD,EACD,yBAA0B,CACtB,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,mBAAmB,EAAI,EACjF,QAAS,GAAI,EAAO,UAAU,EAAU,YAAY,CAAC,CACxD,EACD,sBAAuB,CACnB,MAAO,EAAU,iBAAiB,EAClC,IAAS,GAAA,EAAO,KAAK,GAAI,EAAO,aAAW,CAAG,CACjD,EACD,uBAAwB,CACpB,OAAQ,EAAU,iBAAiB,EACnC,IAAS,GAAA,EAAO,KAAK,GAAI,EAAO,aAAW,CAAG,CACjD,EACD,6BAA8B,CAC1B,aAAkB,GAAA,EAAO,SAAS,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,aAAe,CAAA,CAAE,EAAG,EAAU,iBAAiB,CAAC,EACtI,IAAS,GAAA,EAAO,KAAK,GAAI,EAAO,aAAW,CAAG,CACjD,EACD,2BAA4B,CACxB,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,mBAAmB,EAAI,EACjF,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,aAAa,EAAI,EAC3E,KAAM,GAAI,EAAO,KAAS,GAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,CAAC,CAClE,EACD,qBAAsB,CAClB,OAAY,GAAA,EAAO,KAAK,CAAgB,EACxC,KAAM,GAAI,EAAO,UAAU,EAAU,gBAAgB,CAAC,EACtD,QAAa,GAAA,EAAO,KAAK,GAAI,EAAO,aAAW,CAAG,CACrD,EACD,qBAAsB,CAClB,OAAY,GAAA,EAAO,KAAK,CAAgB,EACxC,KAAM,GAAI,EAAO,KAAK,EAAU,gBAAgB,CAAC,CACpD,EACD,oBAAqB,CACjB,IAAK,EAAW,CAAE,UAAW,MAAO,OAAQ,CAAE,SAAU,CAAE,SAAU,gBAAgB,CAAI,CAAA,CAAE,CAC7F,EACD,uBAAwB,CACpB,GAAI,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,QAAQ,EAAI,CACvE,EACD,4BAA6B,CACzB,QAAS,GAAI,EAAO,KAAK,GAAI,EAAO,UAAU,GAAI,EAAO,YAAY,CACjE,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,YAAY,EAAI,EAC1E,SAAU,EAAU,iBAAiB,CACxC,CAAA,CAAC,CAAC,CACN,CACb,EACc,EAAM,CAAA,EACZ,SAAY,IAAI,oBAAoB,EAAE,QAAQ,GAAK,CAC/C,EAAI,GAAK,OAAK,EAAM,IAAO,EACvC,CAAS,EACM,CACf,EACI,EAA+B,qBAAA,AAAC,GAAS,GAAI,EAAO,gBAAgB,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,iBAAmB,CAAA,CAAE,EAAG,EAAM,CAClJ,sBAAuB,EAAQ,qBAC/B,uBAAwB,CACpB,KAAM,uBACN,UAAW,GACX,QAAS,GACT,OAAQ,GACR,YAAa,GACb,qBAAsB,GACtB,UAAW,GACX,UAAW,GACX,aAAc,GACd,YAAa,GACb,cAAe,GACf,WAAY,KACZ,eAAgB,IAChB,QAAS,uBACT,WAAY,+BACZ,MAAO,EACP,OAAQ,GACX,EACD,oBAAqB,CACjB,KAAM,oBACN,UAAW,GACX,QAAS,GACT,OAAQ,GACR,YAAa,GACb,qBAAsB,GACtB,UAAW,GACX,UAAW,GACX,aAAc,GACd,YAAa,GACb,cAAe,EACf,WAAY,IACZ,eAAgB,IAChB,QAAS,oBACT,WAAY,4BACZ,MAAO,EACP,OAAQ,GACX,CACT,CAAK,EACD,EAA+B,qBAAA,AAAC,GAAS,GAAI,EAAO,gBAAgB,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,0BAA4B,CAAA,CAAE,EAAG,EAAM,CAC3J,sBAAuB,EAAQ,qBAC/B,mBAAoB,CAChB,UAAW,GACX,kBAAmB,GACnB,uBAAwB,GACxB,iBAAkB,GAClB,qBAAsB,GACtB,cAAe,CACX,KAAM,sBACT,EACD,cAAe,CACX,WAAY,CACR,MAAO,GACV,EACD,KAAM,gBACT,EACD,MAAO,CACH,MAAO,EACP,OAAQ,IACR,gBAAiB,EACjB,cAAe,EACf,UAAW,CACP,OAAQ,MACR,KAAM,EACN,OAAQ,CACX,EACD,aAAc,CACV,OAAQ,IACR,KAAM,EACN,OAAQ,EACX,EACD,SAAU,CACN,SAAU,EACV,QAAS,EACT,UAAW,GACX,SAAU,EACb,EACD,eAAgB,CACZ,OAAQ,EACR,OAAQ,EACR,WAAY,CACf,CACJ,EACD,aAAc,CACV,QAAS,EACT,wBAAyB,EACzB,mBAAoB,EACpB,KAAM,EACN,YAAa,EACb,WAAY,EACZ,WAAY,EACZ,QAAS,EACT,MAAO,EACP,OAAQ,EACR,mCAAoC,EACpC,cAAe,CACX,KAAM,yBACN,SAAU,mCACb,EACD,YAAa,EACb,YAAa,EACb,SAAU,CACb,EACD,aAAc,CACV,KAAM,qBACN,SAAU,CAAE,CACf,CACJ,EACD,gBAAiB,CACb,UAAW,EACX,kBAAmB,GACnB,uBAAwB,GACxB,iBAAkB,GAClB,qBAAsB,GACtB,cAAe,CACX,KAAM,qBACT,EACD,cAAe,CACX,KAAM,eACT,EACD,MAAO,CACH,MAAO,EACP,OAAQ,IACR,gBAAiB,EACjB,cAAe,EACf,UAAW,CACP,OAAQ,SACR,KAAM,GACN,OAAQ,GACX,EACD,aAAc,CACV,OAAQ,SACR,KAAM,EACN,OAAQ,CACX,EACD,SAAU,CACN,SAAU,EACV,QAAS,EACT,UAAW,GACX,SAAU,GACb,EACD,eAAgB,CACZ,OAAQ,EACR,OAAQ,EACR,WAAY,CACf,CACJ,EACD,aAAc,CACV,QAAS,EACT,wBAAyB,EACzB,mBAAoB,EACpB,KAAM,EACN,YAAa,EACb,WAAY,EACZ,WAAY,EACZ,QAAS,EACT,MAAO,EACP,OAAQ,EACR,mCAAoC,EACpC,cAAe,CACX,KAAM,yBACN,SAAU,mCACb,EACD,YAAa,EACb,YAAa,EACb,SAAU,CACb,EACD,aAAc,CACV,KAAM,qBACN,SAAU,CAAE,CACf,CACJ,EACD,sBAAuB,CACnB,UAAW,GACX,kBAAmB,GACnB,uBAAwB,GACxB,iBAAkB,GAClB,qBAAsB,GACtB,cAAe,CACX,KAAM,iBACT,EACD,cAAe,CACX,WAAY,CACR,MAAO,GACV,EACD,KAAM,iBACT,EACD,MAAO,CACH,MAAO,IACP,OAAQ,IACR,gBAAiB,EACjB,cAAe,EACf,UAAW,CACP,OAAQ,SACR,KAAM,EACN,OAAQ,CACX,EACD,aAAc,CACV,OAAQ,SACR,KAAM,EACN,OAAQ,CACX,EACD,SAAU,CACN,SAAU,kBACV,QAAS,kBACT,UAAW,GACX,SAAU,GACb,EACD,eAAgB,CACZ,OAAQ,EACR,OAAQ,EACR,WAAY,CACf,CACJ,EACD,aAAc,CACV,QAAS,EACT,wBAAyB,EACzB,mBAAoB,EACpB,KAAM,EACN,YAAa,EACb,WAAY,EACZ,WAAY,EACZ,QAAS,EACT,MAAO,EACP,OAAQ,EACR,mCAAoC,EACpC,cAAe,CACX,KAAM,yBACN,SAAU,mCACb,EACD,YAAa,EACb,YAAa,EACb,SAAU,CACb,EACD,aAAc,CACV,KAAM,qBACN,SAAU,CAAE,CACf,CACJ,EACD,kBAAmB,CACf,UAAW,GACX,kBAAmB,GACnB,uBAAwB,GACxB,iBAAkB,GAClB,qBAAsB,GACtB,cAAe,CACX,KAAM,iBACT,EACD,cAAe,CACX,WAAY,CACR,MAAO,GACV,EACD,KAAM,iBACT,EACD,MAAO,CACH,MAAO,EACP,OAAQ,IACR,gBAAiB,EACjB,cAAe,EACf,UAAW,CACP,OAAQ,MACR,KAAM,EACN,OAAQ,CACX,EACD,aAAc,CACV,OAAQ,IACR,KAAM,EACN,OAAQ,EACX,EACD,SAAU,CACN,SAAU,EACV,QAAS,EACT,UAAW,GACX,SAAU,EACb,EACD,eAAgB,CACZ,OAAQ,EACR,OAAQ,EACR,WAAY,CACf,CACJ,EACD,aAAc,CACV,QAAS,EACT,wBAAyB,EACzB,mBAAoB,EACpB,KAAM,EACN,YAAa,EACb,WAAY,EACZ,WAAY,EACZ,QAAS,EACT,MAAO,EACP,OAAQ,EACR,mCAAoC,EACpC,cAAe,CACX,KAAM,yBACN,SAAU,mCACb,EACD,YAAa,EACb,YAAa,EACb,SAAU,CACb,EACD,aAAc,CACV,KAAM,qBACN,SAAU,CAAE,CACf,CACJ,EACD,6BAA8B,CAC1B,UAAW,EACX,kBAAmB,GACnB,uBAAwB,GACxB,iBAAkB,GAClB,qBAAsB,GACtB,cAAe,CACX,KAAM,iBACT,EACD,cAAe,CACX,WAAY,CACR,MAAO,GACV,EACD,KAAM,iBACT,EACD,MAAO,CACH,MAAO,EACP,OAAQ,IACR,gBAAiB,EACjB,cAAe,EACf,UAAW,CACP,OAAQ,SACR,KAAM,GACN,OAAQ,GACX,EACD,aAAc,CACV,OAAQ,SACR,KAAM,EACN,OAAQ,CACX,EACD,SAAU,CACN,SAAU,EACV,QAAS,EACT,UAAW,GACX,SAAU,GACb,EACD,eAAgB,CACZ,OAAQ,EACR,OAAQ,EACR,WAAY,CACf,CACJ,EACD,aAAc,CACV,QAAS,EACT,wBAAyB,EACzB,mBAAoB,EACpB,KAAM,EACN,YAAa,EACb,WAAY,EACZ,WAAY,EACZ,QAAS,EACT,MAAO,EACP,OAAQ,EACR,mCAAoC,EACpC,cAAe,CACX,KAAM,yBACN,SAAU,mCACb,EACD,YAAa,EACb,YAAa,EACb,SAAU,CACb,EACD,aAAc,CACV,KAAM,qBACN,SAAU,CAAE,CACf,CACJ,CACT,CAAK,CACL,CACA,EAAA,kBAA4B,iBCh6B5B,OAAO,eAAe,GAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EAChC,GAAA,qBAAG,OAC/B,KAAMD,IAASC,EACTE,GAAWD,EACjB,YAA8B,EAAS,EAAa,CAChD,KAAM,GAAYF,GAAO,UAAU,KAAK,OAAW,CAAO,EACpD,EAAaA,GAAO,WAAW,KAAK,OAAW,CAAW,EAChE,EAAQ,SAAS,YAAa,GAAIA,GAAO,cAAc,EAAU,WAAW,EAAG,CAAE,cAAe,WAAW,CAAE,CAAC,EAC9G,EAAQ,SAAS,YAAa,GAAIA,GAAO,KAAK,GAAIA,GAAO,YAAY,CACjE,UAAW,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,qBAAqB,EAAI,GACvFA,GAAO,QAAS,CAAC,CAAE,KAAM,WAAW,CAAE,GACtCA,GAAO,MAAWG,GAAAA,GAAS,gBAAiB,CAChD,EAAE,CAAE,SAAU,YAAa,QAAS,WAAa,CAAA,EAAG,CACjD,QAAS,IAAO,EACZ,UAAW,8BACX,OAAQ,MACpB,EACK,CAAA,CAAC,CACN,CACA,GAAA,qBAA+B,aCnB/B,OAAO,eAAe,GAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EAChC,GAAA,qBAAG,OAC/B,KAAMH,GAASC,EACTE,GAAWD,EACjB,YAA8B,EAAS,EAAa,CAChD,KAAM,GAAYF,EAAO,UAAU,KAAK,OAAW,CAAO,EACpD,EAAaA,EAAO,WAAW,KAAK,OAAW,CAAW,EAC1D,KAAmBA,EAAO,YAAY,CACxC,CACI,KAAM,SACN,SAAU,EACV,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,yBAAyB,EAAI,EACvF,OAAQ,IAAA,EACX,EACD,CACI,KAAM,SACN,KAAM,EAAU,eAAe,EAC/B,OAAQ,IAAO,EAAA,EAClB,CACT,EAAO,CAAE,cAAe,eAAe,CAAE,EACrC,EAAQ,SAAS,YAAa,GAAIA,EAAO,KAAK,GAAIA,EAAO,YAAY,CACjE,KAAM,GAAIG,GAAS,sBAAsB,EAAU,gBAAgB,CAAC,EACpE,UAAW,GAAIH,EAAO,YAAY,CAC9B,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,0BAA0B,EAAI,GACvFA,EAAO,QAAS,CAAC,CAAE,KAAM,MAAM,CAAE,GACjCA,EAAO,MAAO,CACX,kBAAmB,CACf,KAAUA,GAAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,EAC9C,SAAU,GAAIG,GAAS,sBAAsB,EAAU,gBAAgB,CAAC,EACxE,aAAc,GAAIH,EAAO,YAAY,CACjC,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,uBAAuB,EAAI,GACpFA,EAAO,QAAS,CAAC,CAAE,KAAM,MAAM,CAAE,GACjCA,EAAO,MAAO,CACX,kBAAmB,CACf,MAAO,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,iBAAiB,EAAI,CACnF,EACD,wBAAyB,CACrB,OAAQ,GAAIA,EAAO,KAAK,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,CAAC,sBAAuB,kBAAkB,CAAC,CAAI,CAAA,CAAC,EAC5H,OAAQ,GAAIA,EAAO,KAAK,GAAIA,EAAO,UAAU,EAAU,iBAAiB,CAAC,EAAG,CACxE,QAAS,GAAQ,EAAK,KAAK,QAAQ,EAAE,IAAG,IAAO,OAC/C,QAAS,IAAM,CAAC,CACR,MAAO,kBACnD,CAAyC,CACzC,CAAiC,CACJ,EACD,yBAA0B,CACtB,MAAO,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,EAAI,CAAA,CAAC,EACjF,OAAYG,GAAAA,GAAS,KAAK,CAAE,SAAU,iBAAiB,CAAE,CAC5D,EACD,oBAAqB,CACjB,KAAUH,GAAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,CACjD,CACJ,CACJ,EAAE,CAAE,SAAU,YAAa,qBAAsB,EAAI,CAAE,CAC3D,EACD,iBAAkB,CACd,SAAU,GAAIA,EAAO,YAAY,CAC7B,MAAWA,GAAAA,EAAO,KAAK,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,iBAAiB,CAAI,CAAA,CAAC,EACjG,MAAWA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,EAChD,SAAcA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,EACnD,OAAQ,GAAIA,EAAO,UAAU,EAAU,iBAAiB,CAAC,EACzD,oBAAyBA,GAAAA,EAAO,UAAU,CAAY,CAC9E,CAAqB,CACJ,CACJ,CACb,EAAW,CAAE,qBAAsB,GAAM,CACpC,EAAE,CAAE,SAAU,OAAQ,QAAS,WAAa,CAAA,EAAG,CAC5C,QAAS,IAAM,CACX,KAAM,GAAO,KAAK,MAAM,KAAK,SAAY,UAAW,EAAI,WACxD,MAAO,CACH,KAAM,sBACN,UAAW,CACP,KAAM,kBACN,OACA,aAAc,CACV,KAAM,kBACN,OACA,MAAO,kBACV,EACD,SAAU,qBACb,CACjB,CACS,CACJ,CAAA,CAAC,EACF,KAAM,MAAuBA,EAAO,YAAY,CAC5C,CACI,KAAM,SACN,KAAM,GAAIA,EAAO,YAAY,CAAE,IAAK,GAAI,IAAK,EAAG,EAChD,OAAQ,AAAC,GAAM,CAAE,GAAI,GAAI,MAAQ,GAAK,EAAE,MAAQ,MAAQ,IAAO,OAAS,EAAK,CAAI,CACpF,EACD,CACI,KAAM,OACN,KAAUA,GAAAA,EAAO,UAAcA,GAAAA,EAAO,YAAY,CAAE,IAAK,GAAI,IAAK,CAAC,CAAE,EAAG,CAAE,UAAW,EAAG,UAAW,EAAG,EACtG,OAAQ,AAAC,GAAM,CAAC,GAAM,KAAuB,EAAI,EAAG,GAAM,KAAuB,EAAI,CAAC,CACzF,CACT,CAAK,EACD,EAAQ,SAAS,kBAAmB,GAAIA,EAAO,KAAK,GAAIA,EAAO,YAAY,CACvE,MAAO,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,iBAAiB,EAAI,EAChF,WAAY,GAAIA,EAAO,YAAY,CAC/B,YAAa,EACb,SAAU,EACV,gBAAiB,EACjB,QAAS,EACT,UAAW,EACX,MAAO,EACP,OAAQ,GAAIA,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,EAAG,CAC7D,CAAS,CACT,EAAO,CAAE,QAAS,iBAAiB,CAAE,EAAG,CAChC,QAAS,IAAO,EACZ,MAAO,mBACP,WAAY,CACR,SAAU,EACV,YAAa,EACb,SAAU,EACV,UAAW,EACX,OAAQ,CACX,CACb,EACK,CAAA,CAAC,CACN,CACA,GAAA,qBAA+B,aCxH/B,OAAO,eAAe,GAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EAC5B,GAAA,yBAAG,OACnC,KAAMA,GAASC,EACTE,GAAWD,EACjB,YAAkC,EAAS,EAAa,CACpD,KAAM,GAAaF,EAAO,WAAW,KAAK,OAAW,CAAW,EAChE,EAAQ,SAAS,iBAAkB,GAAIA,EAAO,KAAK,GAAIA,EAAO,YAAY,CACtE,UAAW,GAAIA,EAAO,aAAc,EACpC,QAAS,GAAIA,EAAO,aAAc,EAClC,YAAa,GAAIA,EAAO,aAAc,EACtC,qBAAsB,GAAIA,EAAO,aAAc,EAC/C,UAAW,GAAIA,EAAO,aAAc,EACpC,UAAW,GAAIA,EAAO,aAAc,EACpC,aAAc,GAAIA,EAAO,aAAc,EACvC,YAAa,GAAIA,EAAO,aAAc,EACtC,iBAAkB,GAAIA,EAAO,YAAY,CAAE,IAAK,KAAS,IAAK,IAAU,EACxE,cAAe,GAAIA,EAAO,YAAa,EACvC,WAAY,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,CAAC,EACrE,eAAoBA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,KAAM,EAC3E,QAAaA,GAAAA,EAAO,KAAK,EAAW,CAAE,KAAM,CAAC,sBAAuB,uBAAwB,mBAAmB,CAAG,CAAA,CAAC,EACnH,WAAY,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,QAAS,WAAY,EAAM,CAAA,CAAE,EAC7F,MAAWA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,MAAO,IAAK,IAAI,CAAE,EACtE,OAAYA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,GAAI,IAAK,KAAM,CACvE,EAAE,CAAE,QAAS,gBAAkB,CAAA,EAAG,GAAS,EACxC,QAAS,IAAMG,GAAS,qBACxB,SAAU,CAAC,EAAM,EAAO,EAAQ,IAC5B,GAAQ,EAAK,SAAS,EAAM,EAAO,EAAQ,CAAO,EAC7C,IAAU,KAA2B,OAAS,EAAM,OAAU,IAAU,KAA2B,OAAS,EAAM,QAAU,MAC7H,EAAO,IAAI,EAAK,KAAK,QAAQ,EAAG,0BAA2B,IAAI,EAE9D,IAAU,KAA2B,OAAS,EAAM,gBAAmB,IAAU,KAA2B,OAAS,EAAM,SAC5H,EAAO,IAAI,EAAK,KAAK,gBAAgB,EAAG,sBAAsB,EAE7D,IAAU,KAA2B,OAAS,EAAM,QAAU,KAAO,GACtE,EAAO,IAAI,EAAK,KAAK,QAAQ,EAAG,wBAAyB,EAAE,EAE1D,IAAU,KAA2B,OAAS,EAAM,OAAS,KAAO,GACrE,EAAO,IAAI,EAAK,KAAK,OAAO,EAAG,uBAAwB,EAAE,EAEtD,EAEd,EAAC,CAAC,CACP,CACA,GAAA,yBAAmC,aC3CnC,OAAO,eAAe,GAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EAC7B,GAAA,wBAAG,OAClC,KAAMH,GAASC,EACTE,GAAWD,EACjB,YAAiC,EAAS,EAAa,CACnD,KAAM,GAAYF,EAAO,UAAU,KAAK,OAAW,CAAO,EACpD,EAAaA,EAAO,WAAW,KAAK,OAAW,CAAW,EAChE,EAAQ,SAAS,gBAAiB,GAAIA,EAAO,cAAc,EAAU,UAAU,EAAG,CAAE,cAAe,UAAU,CAAE,CAAC,EAChH,KAAM,GAAa,CACf,WAAY,GAAIA,EAAO,KAAK,GAAIA,EAAO,UAAU,EAAU,WAAW,CAAC,CAAC,CAChF,EACI,EAAQ,SAAS,WAAY,GAAIA,EAAO,KAAK,GAAIA,EAAO,YAAY,CAChE,SAAU,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,oBAAoB,EAAI,GACrFA,EAAO,QAAS,CAAC,CAAE,KAAM,UAAU,CAAE,GACrCA,EAAO,MAAWG,GAAAA,GAAS,eAAe,CAAU,CACxD,EAAE,CAAE,SAAU,WAAY,QAAS,UAAY,CAAA,EAAG,CAC/C,QAAS,IAAM,CAAC,CACR,SAAU,sBACV,MAAO,CACvB,CAAa,CACR,CAAA,CAAC,CACN,CACA,GAAA,wBAAkC,kBCtBlC,OAAO,eAAe,EAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EACvC,EAAA,cAAyB,EAAA,eAA0B,EAAA,gBAA4B,EAAA,kBAAyB,EAAA,eAAG,OAC1G,EAAA,eAAG,GAAI,KAAI,CAC7B,CAAC,+BAAgC,CAAE,SAAU,CAAC,EAAgB,GAAqB,OAAQ,CAAA,EAAI,EAC/F,CAAC,+BAAgC,CAAE,SAAU,CAAC,EAAgB,GAAqB,OAAQ,CAAA,EAAI,EAC/F,CAAC,mBAAoB,CAAE,SAAU,CAAC,CAAC,EAAoB,OAAQ,CAAA,EAAI,EACnE,CAAC,kBAAmB,CAAE,SAAU,CAAC,EAAoB,EAAgB,GAAe,OAAQ,CAAC,EAAqB,EAAyB,CAAmB,CAAA,CAAE,EAChK,CAAC,kBAAmB,CAAE,SAAU,CAAC,CAAe,EAAE,OAAQ,CAAC,CAAC,EAAoB,EAChF,CAAC,oBAAqB,CAAE,SAAU,CAAC,CAAe,EAAE,OAAQ,CAAC,CAAC,EAAoB,EAClF,CAAC,kBAAmB,CAAE,SAAU,CAAE,EAAE,OAAQ,CAAE,CAAA,CAAE,EAChD,CAAC,mBAAoB,CAAE,SAAU,CAAC,EAAsB,EAAgB,GAAqB,OAAQ,CAAC,EAA4B,EAAsB,CAAyB,CAAA,CAAE,EACnL,CAAC,oBAAqB,CAAE,SAAU,CAAC,EAAgB,CAAC,EAAc,OAAQ,CAAC,CAAC,EAAoB,EAChG,CAAC,oBAAqB,CAAE,SAAU,CAAC,EAAsB,EAAqB,EAAoB,EAA4B,EAAyB,EAAsB,EAA0B,EAAgB,EAAoB,CAAC,EAAc,OAAQ,CAAA,EAAI,EACtQ,CAAC,iBAAkB,CAAE,SAAU,CAAC,EAAgB,GAAqB,OAAQ,CAAA,EAAI,EACjF,CAAC,qBAAsB,CAAE,SAAU,CAAC,CAAe,EAAE,OAAQ,CAAC,CAAC,EAAoB,CACvF,CAAC,EAIwB,EAAA,kBAAG,GAAI,KAAI,CAChC,CAAC,gBAAiB,CAAC,EAA2B,EAC9C,CAAC,SAAU,CAAC,EAAqB,EACjC,CAAC,gBAAiB,CAAC,EAAqB,EACxC,CAAC,OAAQ,CAAC,EAAmB,CACjC,CAAC,EAIsB,EAAA,gBAAG,GAAI,KAAI,CAC9B,CAAC,eAAgB,CAAC,EAAoB,EACtC,CAAC,SAAU,CAAC,EAAqB,EACjC,CAAC,gBAAiB,CAAC,EAAqB,EACxC,CAAC,OAAQ,CAAC,EAAmB,CACjC,CAAC,EAIqB,EAAA,eAAG,GAAI,KAAI,CAC7B,CAAC,wBAAyB,CAAA,CAAE,EAC5B,CAAC,iCAAkC,CAAC,EAAmB,EACvD,CAAC,qCAAsC,CAAC,EAAqB,EAC7D,CAAC,8BAA+B,CAAC,EAAe,EAChD,CAAC,0BAA2B,CAAA,CAAE,EAC9B,CAAC,qBAAsB,CAAA,CAAE,EACzB,CAAC,6BAA8B,CAAC,EAAyB,EACzD,CAAC,2BAA4B,CAAA,CAAE,EAC/B,CAAC,uBAAwB,CAAC,EAAa,EACvC,CAAC,0BAA2B,CAAA,CAAE,EAC9B,CAAC,uCAAwC,CAAC,EAAqB,EAC/D,CAAC,sBAAuB,CAAA,CAAE,EAC1B,CAAC,+BAAgC,CAAC,EAAwB,EAC1D,CAAC,wBAAyB,CAAC,EAAa,EACxC,CAAC,uBAAwB,CAAA,CAAE,EAC3B,CAAC,0BAA2B,CAAA,CAAE,CAClC,CAAC,EAIoB,EAAA,cAAG,GAAI,KAAI,CAC5B,CAAC,wBAAyB,CAAC,EAAa,EACxC,CAAC,sBAAuB,CAAA,CAAE,EAC1B,CAAC,qBAAsB,CAAA,CAAE,EACzB,CAAC,uBAAwB,CAAC,EAAmB,EAC7C,CAAC,6BAA8B,CAAA,CAAE,EACjC,CAAC,gCAAiC,CAAA,CAAE,EACpC,CAAC,4BAA6B,CAAC,EAAe,EAC9C,CAAC,4BAA6B,CAAA,CAAE,EAChC,CAAC,6BAA8B,CAAA,CAAE,EACjC,CAAC,0BAA2B,CAAA,CAAE,EAC9B,CAAC,wBAAyB,CAAA,CAAE,EAC5B,CAAC,4BAA6B,CAAC,EAAqB,EACpD,CAAC,2BAA4B,CAAA,CAAE,EAC/B,CAAC,+BAAgC,CAAA,CAAE,EACnC,CAAC,yBAA0B,CAAA,CAAE,EAC7B,CAAC,sBAAuB,CAAA,CAAE,EAC1B,CAAC,uBAAwB,CAAA,CAAE,EAC3B,CAAC,2BAA4B,CAAA,CAAE,EAC/B,CAAC,qBAAsB,CAAA,CAAE,EACzB,CAAC,qBAAsB,CAAA,CAAE,EACzB,CAAC,oBAAqB,CAAA,CAAE,EACxB,CAAC,4BAA6B,CAAA,CAAE,CACpC,CAAC,ECjFD,OAAO,eAAe,GAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EAChC,GAAA,qBAAG,OAC/B,KAAMH,GAASC,EACT,GAAgBC,EAChBC,GAAWC,EACjB,YAA8B,EAAS,EAAa,CAChD,KAAM,GAAYJ,EAAO,UAAU,KAAK,OAAW,CAAO,EACpD,EAAaA,EAAO,WAAW,KAAK,OAAW,CAAW,EAC1D,EAAa,CACf,WAAY,GAAIA,EAAO,KAAK,GAAIA,EAAO,UAAU,EAAU,gBAAgB,CAAC,CAAC,CACrF,EACU,EAAyB,GAC3B,UAAW,GAAIA,EAAO,KAAK,GAAIA,EAAO,UAAU,EAAU,eAAe,CAAC,CAAC,GACxE,GAEP,WAA2B,EAAY,EAAc,EAAS,CAC1D,KAAM,GAAQ,CAAA,EACR,GAAsB,AAAC,GAAoB,EAC5C,IAAI,CAAY,EAChB,OAAO,GAAK,CACb,GAAI,GAEJ,MAAO,AADkB,IAAK,EAAW,IAAI,CAAC,KAAO,MAAQ,IAAO,OAAS,EAAK,CAAA,GAC3D,MAAM,GAAK,EAAgB,SAAS,CAAC,CAAC,CACzE,CAAS,EACD,SAAW,CAAC,EAAW,CAAE,SAAQ,cAAe,IAAc,eAAgB,CAC1E,KAAM,GAAkB,CAAC,GAAG,EAAQ,GAAG,CAAQ,EAC/C,EAAM,KAAK,CACP,MAAO,GAAQ,EAAK,SAAU,EAAC,IAAI,GAAIA,GAAO,KAAK,CAAC,MAAM,CAAC,CAAC,IAAM,EAClE,KAAM,EAAQ,GAAoB,CAAe,CAAC,CAClE,CAAa,CACJ,CACD,SAAM,KAAK,CAAE,MAAO,GAAK,GAAM,KAAM,EAAQ,CAAY,CAAC,CAAE,KACjDA,EAAO,YAAY,CAAK,CACtC,CACD,KAAM,GAAwB,EAAkB,GAAc,eAAgB,sBAAuB,GAAQ,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,YAAgB,OAAQ,EAAO,sBAAyB,CAAA,CAAC,EACpN,EAAuB,EAAkB,GAAc,cAAe,qBAAsB,GAAQ,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,YAAgB,OAAQ,EAAO,qBAAwB,CAAA,CAAC,EAChN,EAAyB,EAAkB,GAAc,kBAAmB,gBAAiB,GAAQ,EAAW,CAAE,KAAM,CAAI,CAAE,CAAC,EAC/H,EAAuB,EAAkB,GAAc,gBAAiB,cAAe,GAAQ,EAAW,CAAE,KAAM,CAAI,CAAE,CAAC,EAC/H,EAAQ,SAAS,aAAc,GAAIA,EAAO,KAAK,GAAIA,EAAO,YAAY,CAClE,KAAUA,GAAAA,EAAO,KAAK,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,EAAY,IAAI,mBAAmB,CAAC,CAAI,CAAA,CAAC,EACnH,MAAWA,GAAAA,EAAO,QAASA,EAAO,UAAU,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,GAC/E,MAAO,EAAU,iBAAiB,EAClC,YAAa,GAAIA,EAAO,KAAK,EAAU,iBAAiB,CAAC,EACzD,QAAS,GAAIA,EAAO,UAAU,EAAU,YAAY,CAAC,GAClD,GACJ,CAAE,SAAU,OAAQ,QAAS,WAAa,CAAA,EAAG,CAC5C,QAAS,IAAO,EACZ,MAAO,EACP,QAAS,CAAC,CACF,KAAM,iBACN,KAAM,iBAC9B,CAAqB,CACrB,EACS,CAAA,CAAC,CAAC,EACH,UAAW,GAAIA,EAAO,KAAK,GAAIA,EAAO,UAAU,EAAU,eAAe,CAAC,CAAC,CACnF,EAAO,CAAE,QAAS,YAAY,CAAE,EAAG,CAC3B,QAAS,IAAO,EACZ,MAAO,CAAC,CACA,MAAO,EACP,QAAS,CAAC,CACF,KAAM,iBACN,KAAM,iBAClC,CAAyB,CACzB,CAAiB,CACjB,EACK,CAAA,CAAC,EACF,KAAM,GAAY,CACd,QAAS,GAAQ,CACb,GAAI,GACJ,MAAS,IAAK,EAAK,IAAG,EAAG,IAAK,KAAM,MAAQ,IAAO,OAAS,OAAS,EAAG,QAAU,GAC3E,CAAC,CAAC,yBAA0B,kBAAmB,oBAAoB,EAAE,SAAS,EAAK,KAAK,MAAM,EAAE,IAAK,CAAA,CAC/G,CACT,EACI,EAAQ,SAAS,aAAc,GAAIA,EAAO,KAAK,GAAIA,EAAO,YAAY,CAClE,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,sBAAsB,EAAI,EACpF,OAAYA,GAAAA,EAAO,KAAK,GAAIA,EAAO,QAASA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,CAAG,CAAA,EAAG,CAAS,CAAC,EACrG,QAAS,GAAIA,EAAO,KAASA,GAAAA,EAAO,KAAK,GAAIA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,EAAG,CAAS,CAAC,GAC7FA,EAAO,QAAS,CAAC,CAAE,KAAM,MAAM,CAAE,GACjCA,EAAO,MAAO,CACX,yBAA0B,GACtB,SAAU,GAAIA,EAAO,UAAU,EAAU,YAAY,CAAC,GACnD,GAEP,oBAAqB,GACjB,KAAM,EAAY,GACf,GAEP,kBAAmB,GACf,SAAU,GAAIA,EAAO,UAAU,EAAU,YAAY,CAAC,GACnD,GAEP,iBAAkB,GACd,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,MAAM,EAAI,GACjE,GAEP,uBAAwB,GACpB,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,aAAa,EAAI,GACxE,GAEP,qBAAsB,GAClB,SAAU,GAAIA,EAAO,UAAU,EAAU,YAAY,CAAC,GACnD,GAEP,gBAAiB,GACb,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,WAAW,EAAI,EACzE,OAAYA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,GAC9C,EAEV,CACT,EAAO,CAAE,QAAS,YAAY,CAAE,EAAG,CAC3B,QAAS,IAAO,EACZ,KAAM,iBACN,KAAM,iBAClB,EACK,CAAA,CAAC,EACF,EAAQ,SAAS,gBAAiB,GAAIA,EAAO,KAAK,GAAIA,EAAO,YAAY,CACrE,SAAU,GACTA,EAAO,QAAS,CAAC,CAAE,KAAM,UAAU,CAAE,GACrCA,EAAO,MAAWG,GAAAA,GAAS,eAAe,EAAY,EAAsB,CAAsB,CACtG,EAAE,CAAE,SAAU,WAAY,QAAS,UAAY,CAAA,EAAG,CAC/C,QAAS,IAAO,EACZ,SAAU,sBACV,MAAO,CACnB,EACK,CAAA,CAAC,EACF,EAAQ,SAAS,iBAAkB,GAAIH,EAAO,KAAK,GAAIA,EAAO,YAAY,CACtE,UAAW,GACVA,EAAO,QAAS,CAAC,CAAE,KAAM,WAAW,CAAE,GACtCA,EAAO,MAAWG,GAAAA,GAAS,gBAAgB,CAAsB,CACrE,EAAE,CAAE,SAAU,YAAa,QAAS,WAAa,CAAA,EAAG,CACjD,QAAS,IAAO,EACZ,UAAW,0BACX,OAAQ,EACpB,EACK,CAAA,CAAC,EACF,EAAQ,SAAS,qBAAsB,GAAIH,EAAO,KAAK,GAAIA,EAAO,YAAY,CAC1E,UAAW,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,WAAW,EAAI,EAC9E,KAAM,EAAY,EAClB,OAAQ,EAAU,iBAAiB,EACnC,UAAW,EAAW,CAAE,KAAM,CAAC,WAAY,gBAAiB,gBAAgB,EAAG,EAC/E,KAAUA,GAAAA,EAAO,cAAc,EAAW,CAAE,KAAM,MAAM,CAAE,CAAC,CACnE,EAAO,CAAE,QAAS,oBAAoB,CAAE,EAAG,CACnC,QAAS,IAAO,EACZ,UAAW,+BACX,KAAM,GACN,OAAQ,EACR,UAAW,WACX,KAAM,UAClB,EACK,CAAA,CAAC,CACN,CACA,GAAA,qBAA+B,aCvJ/B,OAAO,eAAe,GAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EAC/B,GAAA,sBAAG,OAChC,KAAMA,IAASC,EACT,EAAsB,EAC5B,YAA+B,EAAS,EAAG,CAEvC,EAAQ,SAAS,cAAe,GAAID,GAAO,KAAK,GAAIA,GAAO,YAAY,CACnE,KAAM,GAAIA,GAAO,KAASA,GAAAA,GAAO,YAAY,CACzC,YAAa,GAAIA,GAAO,KAASA,GAAAA,GAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAqB,IAAK,CAAqB,CAAA,EAAG,CACxH,QAAS,IAAM,EACf,UAAW,CAAC,EAAI,IAAM,IAAM,EAC5B,OAAQ,IAAM,CAAC,CAAE,KAAM,cAAe,OAAQ,CAAC,CAAmB,EAAG,SAAU,EAAqB,CACpH,CAAa,EACD,YAAa,GAAIA,GAAO,WAAW,EAAS,gBAAgB,CACxE,CAAS,EAAG,CACA,QAAS,IAAO,EACZ,YAAa,EACb,YAAa,EAC7B,EACA,CAAS,CACT,CAAK,EAAG,CACA,QAAS,IAAO,EACZ,KAAM,CACF,YAAa,EACb,YAAa,EAChB,CACb,EACK,CAAA,CAAC,CACN,CACA,GAAA,sBAAgC,aC7BhC,OAAO,eAAe,GAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EAC/B,GAAA,sBAAG,OAChC,KAAMA,GAASC,EACf,YAA+B,EAAS,EAAa,CACjD,KAAM,GAAYD,EAAO,UAAU,KAAK,OAAW,CAAO,EACpD,EAAaA,EAAO,WAAW,KAAK,OAAW,CAAW,EAC1D,KAAkBA,EAAO,YAAY,CACvC,CACI,KAAM,SACN,KAAM,EAAY,EAClB,OAAQ,GAAM,MAAO,IAAM,WAAa,MAAO,IAAM,SAAY,EAAE,SAAQ,EAAK,EACnF,EACD,CACI,KAAM,SACN,KAAM,GAAIA,EAAO,YAAa,EAC9B,OAAQ,GAAM,MAAO,IAAM,SAAY,SAAS,CAAC,EAAI,CACxD,EACD,CACI,KAAM,SACN,KAAM,GAAIA,EAAO,YAAY,CACzB,IAAK,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,CAAC,EAC9D,IAAK,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,CAAC,CAC9E,CAAa,EACD,OAAQ,GAAM,MAAO,IAAM,SAAa,CAAE,IAAK,EAAG,IAAK,CAAC,EAAO,CAAA,CAClE,EACD,CACI,KAAM,UACN,KAAM,GAAIA,EAAO,aAAc,EAC/B,OAAQ,GAAK,IAAM,QAAU,IAAM,CACtC,CACT,CAAK,EACD,EAAQ,SAAS,iBAAsBA,GAAAA,EAAO,YAAY,CACtD,MAAWA,GAAAA,EAAO,KAAK,GAAIA,EAAO,UAAU,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,MAAM,CAAI,CAAA,CAAC,CAAC,EAC5G,IAASA,GAAAA,EAAO,KAAK,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,WAAW,CAAI,CAAA,CAAC,EACzF,MAAO,EAAU,YAAY,EAC7B,WAAY,EAAU,YAAY,EAClC,OAAYA,GAAAA,EAAO,KAAK,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,QAAQ,CAAI,CAAA,CAAC,EACzF,IAAK,GAAIA,EAAO,KAAK,EAAW,CAAE,UAAW,MAAO,OAAQ,CAAE,SAAU,CAAE,SAAU,iBAAkB,GAAI,CAAC,MAAO,CAAE,KAAM,MAAQ,CAAA,EAAK,CAAA,CAAE,CAAC,EAC1I,aAAc,GAAIA,EAAO,KAAK,GAAIA,EAAO,UAAU,EAAU,uBAAuB,CAAC,CAAC,CACzF,EAAE,CAAE,QAAS,MAAQ,CAAA,CAAC,EACvB,EAAQ,SAAS,wBAA6BA,GAAAA,EAAO,YAAY,CAC7D,YAAiBA,GAAAA,EAAO,KAAK,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,aAAa,CAAI,CAAA,CAAC,EACnG,OAAQ,EAAU,YAAY,CACjC,EAAE,CAAE,QAAS,aAAe,CAAA,CAAC,EAC9B,EAAQ,SAAS,kBAAuBA,GAAAA,EAAO,YAAY,CACvD,OAAYA,GAAAA,EAAO,KAAK,GAAIA,EAAO,UAAU,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,OAAO,CAAI,CAAA,CAAC,CAAC,EAC9G,IAASA,GAAAA,EAAO,KAAK,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,YAAY,CAAI,CAAA,CAAC,EAC1F,IAAK,GAAIA,EAAO,KAAK,EAAW,CAAE,UAAW,MAAO,OAAQ,CAAE,SAAU,CAAE,SAAU,kBAAmB,GAAI,CAAC,MAAO,CAAE,KAAM,OAAS,CAAA,EAAK,CAAA,CAAE,CAAC,EAC5I,MAAO,GAAIA,EAAO,KAASA,GAAAA,EAAO,SAAS,EAAY,EAAE,EAAa,CAAE,WAAY,CAAE,UAAW,kBAAmB,OAAQ,CAAE,GAAI,CAAC,MAAO,CAAE,KAAM,OAAS,CAAA,EAAK,CAAA,CAAE,CAAC,CACtK,EAAE,CAAE,QAAS,OAAS,CAAA,CAAC,EACxB,EAAQ,SAAS,kBAAuBA,GAAAA,EAAO,YAAY,CACvD,MAAWA,GAAAA,EAAO,KAAK,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,OAAO,CAAI,CAAA,CAAC,EACvF,IAASA,GAAAA,EAAO,KAAK,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,YAAY,CAAI,CAAA,CAAC,EAC1F,MAAO,GAAIA,EAAO,KAAK,GAAIA,EAAO,SAAS,IAAc,CAAW,CAAC,CACxE,EAAE,CAAE,QAAS,OAAS,CAAA,CAAC,EACxB,EAAQ,SAAS,qBAA0BA,GAAAA,EAAO,YAAY,CAC1D,SAAU,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAC7C,EAAG,EAAU,cAAc,EAC3B,EAAG,EAAU,cAAc,EAC3B,EAAG,EAAU,cAAc,CACvC,CAAS,CAAC,EACF,MAAWA,GAAAA,EAAO,KAAK,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,iBAAiB,CAAI,CAAA,CAAC,EACjG,QAAaA,GAAAA,EAAO,KAAK,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,wCAAwC,CAAI,CAAA,CAAC,EAC1H,UAAeA,GAAAA,EAAO,KAAK,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,YAAY,CAAI,CAAA,CAAC,EAChG,MAAO,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAC1C,MAAO,EAAU,YAAY,CACzC,CAAS,CAAC,EACF,OAAYA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,EACjD,MAAO,GAAIA,EAAO,KAAK,EAAU,iBAAiB,CAAC,EACnD,MAAO,GAAIA,EAAO,KAAK,EAAU,iBAAiB,CAAC,CACtD,EAAE,CAAE,QAAS,UAAY,CAAA,CAAC,EAC3B,EAAQ,SAAS,sBAA2BA,GAAAA,EAAO,YAAY,CAC3D,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,WAAW,EAAI,EACzE,KAAM,EAAY,EAClB,MAAO,EAAU,YAAY,GAC5BA,EAAO,QAAS,CAAC,CAAE,KAAM,MAAM,CAAE,GACjCA,EAAO,MAAO,CACX,kBAAmB,CACf,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,OAAO,EAAI,CACxE,EACD,oBAAqB,CACjB,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,MAAM,EAAI,CACvE,EACD,iBAAkB,CACd,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,MAAM,EAAI,CACvE,EACD,mBAAoB,CAChB,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,MAAM,EAAI,CACvE,EACD,sBAAuB,CACnB,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,MAAM,EAAI,CACvE,EACD,oBAAqB,CACjB,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,MAAM,EAAI,CACvE,EACD,mBAAoB,CAChB,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,aAAa,EAAI,CAC9E,EACD,sBAAuB,CACnB,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,aAAa,EAAI,CAC9E,EACD,mBAAoB,CAChB,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,aAAa,EAAI,CAC9E,CACJ,CACJ,CAAA,CAAC,EACF,EAAQ,SAAS,mBAAwBA,GAAAA,EAAO,YAAY,CACxD,SAAcA,GAAAA,EAAO,KAAK,EAAW,CAAE,KAAM,UAAU,CAAE,CAAC,EAC1D,MAAO,EAAU,YAAY,EAC7B,aAAkBA,GAAAA,EAAO,KAASA,GAAAA,EAAO,SAAS,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,cAAgB,CAAA,CAAE,EAAG,GAAIA,EAAO,YAAY,CAC9I,CAAE,KAAM,UAAW,KAAUA,GAAAA,EAAO,eAAgB,OAAQ,GAAK,EAAM,EACvE,CACI,KAAM,SAAU,QAAUA,EAAO,SAAS,IAAc,GAAIA,EAAO,cAAc,CACpF,CACJ,CAAA,CAAC,CAAC,EACH,QAAaA,GAAAA,EAAO,KAASA,GAAAA,EAAO,SAAS,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,SAAW,CAAA,CAAE,KAAOA,EAAO,aAAW,CAAG,CAAC,EAC3I,MAAO,GAAIA,EAAO,KAAK,GAAIA,EAAO,UAAU,EAAU,qBAAqB,CAAC,CAAC,EAC7E,WAAY,GAAIA,EAAO,KAAK,EAAU,kBAAkB,CAAC,CAC5D,EAAE,CAAE,QAAS,QAAU,CAAA,CAAC,EACzB,EAAQ,SAAS,0BAA+BA,GAAAA,EAAO,YAAY,CAC/D,UAAW,EAAU,YAAY,EACjC,SAAU,EAAU,YAAY,EAChC,QAAaA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,EAClD,QAAaA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,CACrD,EAAE,CAAE,QAAS,eAAiB,CAAA,CAAC,EAChC,EAAQ,SAAS,qBAA0BA,GAAAA,EAAO,YAAY,CAC1D,EAAG,EAAU,cAAc,EAC3B,EAAG,EAAU,cAAc,EAC3B,EAAG,EAAU,cAAc,EAC3B,SAAU,EAAU,cAAc,EAClC,WAAY,EAAU,cAAc,CACvC,EAAE,CAAE,QAAS,UAAY,CAAA,CAAC,EAC3B,EAAQ,SAAS,mBAAwBA,GAAAA,EAAO,YAAY,CACxD,KAAM,GAAIA,EAAO,KAAK,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,cAAe,SAAU,EAAI,CAAI,CAAA,CAAC,EAC5G,IAAK,GAAIA,EAAO,KAAK,EAAW,CAAE,UAAW,MAAO,OAAQ,CAAE,SAAU,CAAE,SAAU,mBAAoB,GAAI,CAAC,MAAO,CAAE,KAAM,MAAQ,CAAA,EAAK,CAAA,CAAE,CAAC,EAC5I,KAAUA,GAAAA,EAAO,KAAK,EAAW,CAAE,UAAW,MAAM,CAAE,CAAC,EACvD,SAAU,GAAIA,EAAO,KAAK,EAAU,oBAAoB,CAAC,EACzD,YAAa,GAAIA,EAAO,KAAK,EAAU,oBAAoB,CAAC,EAC5D,SAAU,GAAIA,EAAO,KAAK,EAAU,oBAAoB,CAAC,EACzD,MAAO,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAC1C,WAAgBA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,EACrD,YAAiBA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,EACtD,aAAkBA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,EACvD,YAAiBA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,EACtD,QAAaA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,CAC9D,CAAS,CAAC,EACF,UAAW,GAAIA,EAAO,KAASA,GAAAA,EAAO,SAAS,EAAW,CAAE,KAAM,MAAQ,CAAA,EAAG,EAAU,gBAAgB,CAAC,CAAC,EACzG,OAAQ,GAAIA,EAAO,KAAK,EAAU,kBAAkB,CAAC,EACrD,QAAS,GAAIA,EAAO,KAAK,EAAU,kBAAkB,CAAC,EACtD,UAAW,GAAIA,EAAO,KAAK,EAAU,kBAAkB,CAAC,EACxD,gBAAiB,GAAIA,EAAO,KAAK,EAAU,kBAAkB,CAAC,EAC9D,eAAgB,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CACnD,mBAAoB,GAAIA,EAAO,KAAK,EAAU,YAAY,CAAC,EAC3D,cAAe,GAAIA,EAAO,KAAK,EAAU,kBAAkB,CAAC,CACxE,CAAS,CAAC,EACF,aAAc,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CACjD,cAAmBA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,CACpE,CAAS,CAAC,EACF,QAAaA,GAAAA,EAAO,KAAK,EAAW,CAAE,KAAM,aAAa,CAAE,CAAC,EAC5D,QAAaA,GAAAA,EAAO,KAASA,GAAAA,EAAO,SAAS,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,YAAY,CAAI,CAAA,EAAG,EAAU,yBAAyB,CAAC,CAAC,CAC5J,EAAE,CAAE,QAAS,QAAU,CAAA,CAAC,EACzB,EAAQ,SAAS,0BAA+BA,GAAAA,EAAO,YAAY,CAC/D,aAAkBA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,EACvD,QAAaA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,EAClD,SAAcA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,EACnD,cAAmBA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,EACxD,aAAkBA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,EACvD,eAAoBA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,EACzD,yBAA8BA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,EACnE,eAAoBA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,EACzD,cAAe,GAAIA,EAAO,KAAK,EAAU,kBAAkB,CAAC,EAC5D,cAAe,GAAIA,EAAO,KAAK,EAAU,kBAAkB,CAAC,CAC/D,EAAE,CAAE,QAAS,eAAiB,CAAA,CAAC,EAChC,EAAQ,SAAS,mBAAwBA,GAAAA,EAAO,YAAY,CACxD,MAAO,EAAU,cAAc,EAC/B,MAAO,EAAU,cAAc,EAC/B,QAAaA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,EAClD,cAAe,GAAIA,EAAO,KAAK,EAAU,kBAAkB,CAAC,EAC5D,KAAM,GAAIA,EAAO,KAAK,EAAU,yBAAyB,CAAC,CAC7D,EAAE,CAAE,QAAS,QAAU,CAAA,CAAC,CAC7B,CACA,GAAA,sBAAgC,aCrLhC,OAAO,eAAe,GAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EACnC,GAAA,kBAAG,OAC5B,KAAMA,GAASC,EACf,YAA2B,EAAS,EAAa,CAC7C,KAAM,GAAYD,EAAO,UAAU,KAAK,OAAW,CAAO,EACpD,EAAaA,EAAO,WAAW,KAAK,OAAW,CAAW,EAChE,EAAQ,SAAS,SAAU,GAAIA,EAAO,KAAK,GAAIA,EAAO,YAAY,CAC9D,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,mBAAmB,EAAI,GAChFA,EAAO,QAAS,CAAC,CAAE,KAAM,MAAM,CAAE,GACjCA,EAAO,MAAO,CACX,4BAA6B,CACzB,MAAO,GAAIA,EAAO,KAAK,EAAW,CAAE,KAAM,eAAgB,WAAY,EAAI,CAAE,CAAC,EAC7E,QAAaA,GAAAA,EAAO,UAAU,EAAU,CAAE,EAC1C,IAASA,GAAAA,EAAO,SAAS,EAAY,EACrC,EAAU,mBAAmB,CAAC,EAC9B,OAAQ,EAAU,eAAe,CACpC,EACD,+BAAgC,CAC5B,MAAWA,GAAAA,EAAO,KAAK,EAAU,CAAE,EACnC,YAAa,GAAIA,EAAO,UAAU,EAAU,mBAAmB,CAAC,EAChE,OAAQ,EAAU,eAAe,CACpC,EACD,qBAAsB,CAClB,MAAWA,GAAAA,EAAO,KAAK,EAAU,CAAE,EACnC,WAAY,EAAU,mBAAmB,EACzC,OAAQ,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,MAAM,EAAI,EACtE,WAAgBA,GAAAA,EAAO,KAAK,GAAIA,EAAO,YAAU,CAAG,EACpD,YAAiBA,GAAAA,EAAO,KAAK,GAAIA,EAAO,QAASA,EAAO,YAAY,CAAE,QAAS,GAAM,EAAG,CAAE,QAAS,IAAM,GAAG,CAAE,CAAC,CAClH,EACD,qBAAsB,CAClB,MAAWA,GAAAA,EAAO,KAAK,EAAU,CAAE,EACnC,WAAY,EAAU,mBAAmB,EACzC,OAAQ,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,MAAM,EAAI,EACtE,WAAgBA,GAAAA,EAAO,KAAK,GAAIA,EAAO,YAAU,CAAG,EACpD,YAAiBA,GAAAA,EAAO,KAAK,GAAIA,EAAO,QAASA,EAAO,YAAY,CAAE,QAAS,GAAM,EAAG,CAAE,QAAS,IAAM,GAAG,CAAE,CAAC,CAClH,EACD,oBAAqB,CACjB,MAAWA,GAAAA,EAAO,KAAK,EAAU,CAAE,EACnC,WAAY,EAAU,mBAAmB,EACzC,OAAQ,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,MAAM,EAAI,EACtE,WAAgBA,GAAAA,EAAO,KAAK,GAAIA,EAAO,YAAU,CAAG,EACpD,YAAiBA,GAAAA,EAAO,KAAK,GAAIA,EAAO,QAASA,EAAO,YAAY,CAAE,QAAS,GAAM,EAAG,CAAE,QAAS,IAAM,GAAG,CAAE,CAAC,CAClH,EACD,6BAA8B,CAC1B,MAAWA,GAAAA,EAAO,KAAK,EAAU,CAAE,EACnC,WAAY,EAAU,mBAAmB,EACzC,OAAQ,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,MAAM,EAAI,EACtE,WAAgBA,GAAAA,EAAO,KAAK,GAAIA,EAAO,YAAU,CAAG,EACpD,YAAiBA,GAAAA,EAAO,KAAK,GAAIA,EAAO,QAASA,EAAO,YAAY,CAAE,QAAS,GAAM,EAAG,CAAE,QAAS,IAAM,GAAG,CAAE,CAAC,CAClH,EACD,yBAA0B,CACtB,MAAWA,GAAAA,EAAO,KAAK,EAAU,CAAE,EACnC,WAAY,EAAU,mBAAmB,EACzC,OAAQ,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,MAAM,EAAI,EACtE,MAAWA,GAAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,CAClD,EACD,qBAAsB,CAClB,MAAWA,GAAAA,EAAO,KAAK,EAAU,CAAE,EACnC,KAAM,EAAU,0BAA0B,EAC1C,SAAU,EAAU,0BAA0B,EAC9C,OAAQ,EAAU,eAAe,CACpC,CACJ,CACJ,EAAE,CAAE,QAAS,SAAU,qBAAsB,EAAM,CAAA,EAAG,CACnD,QAAS,IAAO,EACZ,KAAM,2BAClB,EACK,CAAA,CAAC,EACF,EAAQ,SAAS,oBAAqB,GAAIA,EAAO,KAAK,GAAIA,EAAO,YAAY,CACzE,CACI,KAAM,SACN,KAAM,EAAU,0BAA0B,EAC1C,OAAQ,GAAK,EAAE,EAClB,EACD,CACI,KAAM,OACN,KAAM,GAAIA,EAAO,UAAU,EAAU,0BAA0B,CAAC,EAChE,OAAQ,GAAK,CAAC,CAAC,CAClB,CACT,CAAK,EAAG,CACA,QAAS,IAAO,EACZ,KAAM,iBAClB,EACK,CAAA,CAAC,EACF,EAAQ,SAAS,2BAA4B,GAAIA,EAAO,KAAK,GAAIA,EAAO,YAAY,CAChF,KAAUA,GAAAA,EAAO,KAAK,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,MAAM,CAAI,CAAA,CAAC,EACrF,IAASA,GAAAA,EAAO,KAAK,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,WAAW,CAAI,CAAA,CAAC,CACjG,CAAK,EAAG,CACA,QAAS,IAAO,EACZ,KAAM,iBAClB,EACK,CAAA,CAAC,EACF,EAAQ,SAAS,gBAAiB,GAAIA,EAAO,KAAK,GAAIA,EAAO,YAAY,CACrE,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,MAAM,EAAI,EACpE,MAAWA,GAAAA,EAAO,KAAK,GAAIA,EAAO,QAASA,EAAO,YAAY,CAAE,QAAS,GAAM,EAAG,CAAE,QAAS,IAAM,CAAC,CAAE,CAAC,CAC/G,CAAK,EAAG,CACA,QAAS,IAAO,EACZ,KAAM,iBAClB,EACK,CAAA,CAAC,CACN,CACA,GAAA,kBAA4B,aCrG5B,OAAO,eAAe,GAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EACrC,GAAA,gBAAG,OAC1B,KAAMA,GAASC,EACf,YAAyB,EAAS,EAAa,CAC3C,KAAM,GAAaD,EAAO,WAAW,KAAK,OAAW,CAAW,EAC1D,EAAU,AAAC,GAAS,GAAIA,EAAO,KAAK,GAAIA,EAAO,YAAY,CAC7D,QAAaA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,EAClD,OAAQ,GAAIA,EAAO,UAAcA,GAAAA,EAAO,YAAY,CAChD,CACI,KAAM,SACN,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,EAAM,SAAU,EAAM,CAAA,CAAE,EAClF,OAAQ,GAAK,EAAE,EAClB,EACD,CACI,KAAM,SACN,KAAM,GAAIA,EAAO,YAAY,CACzB,GAAI,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,EAAM,SAAU,GAAM,aAAc,EAAM,CAAA,CAAE,EACpG,SAAU,GAAIA,EAAO,aAAc,CACvD,CAAiB,EACD,OAAQ,GAAM,EAAE,GAAI,CAAC,EACxB,CACb,CAAS,CAAC,CACV,EAAO,CAAE,QAAS,KAAK,CAAE,EAAG,CACpB,QAAS,IAAO,EACZ,OAAQ,CAAE,CACtB,EACA,CAAK,EACD,EAAQ,SAAS,YAAa,EAAQ,OAAO,CAAC,EAC9C,EAAQ,SAAS,kBAAmB,EAAQ,aAAa,CAAC,EAC1D,EAAQ,SAAS,YAAa,EAAQ,OAAO,CAAC,EAC9C,EAAQ,SAAS,eAAgB,EAAQ,WAAW,CAAC,EACrD,EAAQ,SAAS,iBAAkB,EAAQ,YAAY,CAAC,EACxD,EAAQ,SAAS,WAAY,EAAQ,MAAM,CAAC,EAC5C,EAAQ,SAAS,kBAAmB,EAAQ,cAAc,CAAC,EAC3D,EAAQ,SAAS,gBAAiB,EAAQ,YAAY,CAAC,EACvD,EAAQ,SAAS,qBAAsB,EAAQ,iBAAiB,CAAC,EACjE,EAAQ,SAAS,eAAgB,EAAQ,WAAW,CAAC,EACrD,EAAQ,SAAS,oBAAqB,EAAQ,gBAAgB,CAAC,EAC/D,EAAQ,SAAS,iBAAkB,EAAQ,aAAa,CAAC,EACzD,EAAQ,SAAS,gBAAiB,EAAQ,YAAY,CAAC,EACvD,EAAQ,SAAS,aAAc,EAAQ,SAAS,CAAC,EACjD,EAAQ,SAAS,gBAAiB,EAAQ,YAAY,CAAC,EACvD,EAAQ,SAAS,YAAa,EAAQ,iBAAiB,CAAC,EACxD,EAAQ,SAAS,wBAAyB,EAAQ,6BAA6B,CAAC,EAChF,EAAQ,SAAS,2BAA4B,EAAQ,gCAAgC,CAAC,EACtF,EAAQ,SAAS,yBAA0B,EAAQ,8BAA8B,CAAC,EAClF,EAAQ,SAAS,mCAAoC,EAAQ,wCAAwC,CAAC,EACtG,EAAQ,SAAS,iCAAkC,EAAQ,sCAAsC,CAAC,EAClG,EAAQ,SAAS,uBAAwB,EAAQ,4BAA4B,CAAC,EAC9E,EAAQ,SAAS,YAAa,EAAQ,iBAAiB,CAAC,EACxD,EAAQ,SAAS,qBAAsB,EAAQ,0BAA0B,CAAC,EAC1E,EAAQ,SAAS,qBAAsB,EAAQ,0BAA0B,CAAC,EAC1E,EAAQ,SAAS,qBAAsB,EAAQ,0BAA0B,CAAC,EAC1E,EAAQ,SAAS,oBAAqB,EAAQ,yBAAyB,CAAC,EACxE,EAAQ,SAAS,oBAAqB,EAAQ,yBAAyB,CAAC,CAC5E,CACA,GAAA,gBAA0B,aCxD1B,OAAO,eAAe,GAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EAC5B,GAAA,yBAAG,OACnC,KAAMA,GAASC,EACf,YAAkC,EAAS,EAAa,CACpD,KAAM,GAAYD,EAAO,UAAU,KAAK,OAAW,CAAO,EACpD,EAAaA,EAAO,WAAW,KAAK,OAAW,CAAW,EAC1D,EAAkB,AAAC,GAAM,CAAE,GAAI,GAAI,MAAO,aAAa,OAAQ,EAAgB,EAAE,EAAE,EAAK,GAAK,GAAM,KAAuB,OAAS,EAAE,QAAU,MAAQ,IAAO,OAAS,EAAM,MAAO,IAAM,SAAW,GAAK,GAAM,KAAuB,OAAS,EAAE,YACxP,EAAQ,SAAS,iBAAkB,GAAIA,EAAO,KAAK,GAAIA,EAAO,YAAY,CACtE,CACI,KAAM,SACN,KAAM,EAAU,uBAAuB,EACvC,OAAQ,GAAK,YAAa,OAAS,MAAO,GAAE,IAAO,SAAW,EAAE,GAAK,CAAE,KAAM,EAAgB,EAAE,EAAE,CAAC,EAAM,MAAO,IAAM,SAAW,EAAI,CAAE,KAAM,EAAgB,CAAC,CAAG,CACnK,EACD,CACI,KAAM,OACN,KAAM,EAAU,qBAAqB,EACrC,OAAQ,GAAK,CAAC,CAAC,CAClB,EACD,CACI,KAAM,SACN,SAAU,EACV,KAAM,EAAY,EAClB,OAAQ,CACX,EACD,CACI,KAAM,SACN,KAAM,GAAIA,EAAO,YAAa,EAC9B,OAAQ,GAAK,CACT,KAAM,GAAI,WAAW,EAAgB,CAAC,CAAC,EACvC,MAAO,UAAS,CAAC,EAAI,EAAK,AAAE,EAAI,EAAI,CACvC,CACJ,EACD,CACI,KAAM,UACN,KAAM,GAAIA,EAAO,aAAc,EAC/B,OAAQ,GAAK,CACT,KAAM,GAAI,EAAgB,CAAC,EAC3B,MAAO,KAAM,QAAU,IAAM,QAAU,IAAM,OAAS,CAAC,CAAC,CAC3D,CACJ,CACT,EAAO,CAAE,QAAS,gBAAgB,CAAE,EAAG,CAC/B,QAAS,IAAO,EACZ,KAAM,EAClB,EACK,CAAA,CAAC,EACF,KAAM,GAAe,CACjB,MAAWA,GAAAA,EAAO,KAAK,EAAU,CAAE,EACnC,KAAUA,GAAAA,EAAO,KAAK,EAAU,CAAE,EAClC,KAAUA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,EAC/C,OAAYA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,EACjD,WAAgBA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,EACrD,cAAmBA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,EACxD,WAAgBA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,EACrD,UAAeA,GAAAA,EAAO,KAAK,EAAU,CAAE,EACvC,WAAY,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAC/C,OAAQ,EAAW,CAAE,KAAM,CAAC,WAAY,YAAa,cAAe,kBAAmB,cAAe,mBAAmB,CAAC,CAAE,GAC3HA,EAAO,QAAS,CAAC,CAAE,KAAM,QAAQ,CAAE,GACnCA,EAAO,MAAO,CACX,YAAe,CACX,MAAO,EAAY,CACtB,EACD,kBAAqB,CACjB,MAAO,EAAY,CACtB,EACD,UAAa,CACT,MAAO,EAAY,CACtB,EACD,SAAY,CACR,MAAO,EAAY,CACtB,EACD,YAAe,CACX,MAAO,EAAW,CAAE,UAAW,UAAW,OAAQ,CAAE,aAAc,GAAM,aAAc,EAAM,CAAA,CAAE,CACjG,EACD,gBAAmB,CACf,MAAO,EAAW,CAAE,UAAW,UAAW,OAAQ,CAAE,aAAc,GAAM,aAAc,EAAM,CAAA,CAAE,CACjG,CACJ,CACb,CAAS,CAAC,EACF,WAAY,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAC/C,OAAQ,EAAW,CAAE,KAAM,CAAC,YAAa,YAAa,aAAa,EAAG,GACrEA,EAAO,QAAS,CAAC,CAAE,KAAM,QAAQ,CAAE,GACnCA,EAAO,MAAO,CACX,UAAa,CACT,MAAO,GAAIA,EAAO,KAAK,EAAU,gBAAgB,CAAC,EAClD,SAAU,GAAIA,EAAO,KAAK,EAAU,gBAAgB,CAAC,CACxD,EACD,UAAa,CACT,MAAWA,GAAAA,EAAO,KAAK,EAAW,CAAE,UAAW,MAAO,OAAQ,CAAE,OAAQ,qBAAqB,CAAI,CAAA,CAAC,EAClG,SAAU,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAC7C,GAAI,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,MAAM,EAAI,EAClE,MAAO,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,CAAC,EAChE,IAAK,GAAIA,EAAO,KAAK,EAAW,CAAE,UAAW,MAAO,OAAQ,CAAE,SAAU,CAAE,SAAU,iBAAkB,GAAI,CAAC,MAAO,CAAE,KAAM,IAAM,CAAA,EAAK,CAAA,CAAE,CAAC,CAChK,CAAqB,CAAC,CACL,EACD,YAAe,CACX,MAAO,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAC1C,KAAUA,GAAAA,EAAO,KAAK,EAAU,CAAE,EAClC,KAAUA,GAAAA,EAAO,KAAK,EAAU,CAAE,EAClC,GAAQA,GAAAA,EAAO,KAAK,EAAU,CAAE,CACxD,CAAqB,CAAC,EACF,SAAU,GAAIA,EAAO,KAAK,GAAIA,EAAO,KAAK,GAAIA,EAAO,YAAY,CAC7D,KAAM,GAAIA,EAAO,KAAK,EAAU,gBAAgB,CAAC,EACjD,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,aAAa,EAAI,EAC3E,GAAI,EAAW,CAAE,UAAW,MAAM,CAAE,CAC5D,CAAqB,EAAG,CACA,QAAS,IAAO,EACZ,KAAM,gBACN,GAAI,sCAChC,EACA,CAAqB,CAAC,CACL,CACJ,CACb,CAAS,CAAC,EACF,MAAO,GAAIA,EAAO,KAAK,EAAU,qBAAqB,CAAC,CAC/D,EACI,EAAQ,SAAS,wBAAyB,GAAIA,EAAO,KAAK,GAAIA,EAAO,YAAY,CAC7E,CACI,KAAM,OACN,MAAO,GAAK,MAAO,IAAM,SACzB,OAAQ,GAAM,EAAE,KAAM,EAAE,GACxB,SAAU,GACV,KAAM,GAAIA,EAAO,YAAY,GACzB,KAAM,EAAY,GACf,EACN,CACJ,EACD,CACI,KAAM,cACN,MAAO,GAAM,IAAM,KAAuB,OAAS,EAAE,aAAe,OACpE,OAAQ,GAAM,EAAE,UAAW,EAAE,GAC7B,KAAM,GAAIA,EAAO,YAAY,GACzB,UAAW,EAAY,EACvB,KAAM,GAAIA,EAAO,KAAK,EAAU,qBAAqB,CAAC,GACnD,EACN,CACJ,EACD,CACI,KAAM,QACN,MAAO,GAAM,IAAM,KAAuB,OAAS,EAAE,SAAW,OAChE,OAAQ,GAAM,EAAE,MAAO,CAAE,CAAA,GACzB,KAAM,GAAIA,EAAO,YAAY,GACzB,MAAO,GAAIA,EAAO,YAAY,CAC1B,KAAM,EAAW,CAAE,UAAW,SAAU,OAAQ,CAAE,OAAQ,SAAU,KAAM,WAAY,cAAe,EAAM,CAAA,CAAE,EAC7G,UAAW,EAAW,CAAE,UAAW,WAAW,CAAE,EAChD,MAAWA,GAAAA,EAAO,KAAK,EAAU,CAAE,CACvD,CAAiB,GACE,EACN,CACJ,EACD,CACI,KAAM,WACN,MAAO,GAAM,IAAM,KAAuB,OAAS,EAAE,YAAc,OACnE,OAAQ,GAAM,EAAE,SAAU,EAAE,GAC5B,KAAM,GAAIA,EAAO,YAAY,GACzB,SAAU,EAAW,CAAE,UAAW,SAAU,OAAQ,CAAE,OAAQ,WAAY,KAAM,UAAY,CAAA,CAAE,EAC9F,UAAW,GAAIA,EAAO,KAAK,EAAU,gBAAgB,CAAC,GACnD,EACN,CACJ,EACD,CACI,KAAM,UACN,MAAO,GAAM,IAAM,KAAuB,OAAS,EAAE,WAAa,OAClE,OAAQ,GAAM,EAAE,QAAS,EAAE,GAC3B,KAAM,GAAIA,EAAO,YAAY,GACzB,QAAS,EAAW,CAAE,KAAM,UAAW,WAAY,GAAM,GACtD,EACN,CACJ,EACD,CACI,KAAM,MACN,MAAO,GAAM,IAAM,KAAuB,OAAS,EAAE,OAAS,OAC9D,OAAQ,GAAM,EAAE,IAAK,EAAE,GACvB,KAAM,GAAIA,EAAO,YAAY,GACzB,IAAK,EAAW,CAAE,UAAW,UAAU,CAAE,EACzC,MAAO,GAAIA,EAAO,KAAK,EAAW,CAAE,UAAW,SAAU,OAAQ,CAAE,UAAW,EAAG,UAAW,EAAI,CAAI,CAAA,CAAC,EACrG,OAAQ,GAAIA,EAAO,KAAK,EAAW,CAAE,UAAW,SAAU,OAAQ,CAAE,OAAQ,WAAY,KAAM,UAAU,CAAI,CAAA,CAAC,EAC7G,QAAaA,GAAAA,EAAO,KAAK,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,UAAU,CAAI,CAAA,CAAC,EAC5F,UAAeA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,EACpD,UAAW,GAAIA,EAAO,KAAK,EAAU,gBAAgB,CAAC,GACnD,EACN,CACJ,CACJ,EAAE,CAAE,QAAS,wBAAyB,cAAe,uBAAyB,CAAA,EAAG,CAC9E,QAAS,IAAO,EACZ,KAAM,EAClB,EACK,CAAA,CAAC,EACF,EAAQ,SAAS,sBAAuB,GAAIA,EAAO,KAASA,GAAAA,EAAO,UAAU,EAAU,gBAAgB,CAAC,EAAG,CACvG,QAAS,IAAM,CAAC,CACR,KAAM,EACtB,CAAa,CACR,CAAA,CAAC,CACN,CACA,GAAA,yBAAmC,gCCjMnC,OAAO,eAAc,EAAU,aAAc,CAAE,MAAO,EAAI,CAAE,EAC5D,EAA2B,iBAAA,EAAA,yBAAmC,OAC9D,KAAM,GAASC,EACT,EAAWC,EACjB,WAA0B,EAAS,EAAa,CAC5C,KAAM,GAAa,EAAO,WAAW,KAAK,OAAW,CAAW,EAChE,EAAA,yBAAuC,GAAA,EAAO,KAAS,GAAA,EAAO,aAAc,EAAO,YAAY,CAC3F,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,aAAa,EAAI,EAC3E,OAAY,GAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,EAChD,SAAc,GAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,EAClD,SAAc,GAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,CACrD,CAAA,CAAC,EAAG,CACD,SAAU,IAAM,OAChB,QAAS,IAAM,CAAC,CACR,KAAM,gBACN,OAAQ,CACxB,CAAa,CACb,CAAK,EACD,EAAQ,SAAS,QAAS,GAAI,EAAO,KAAK,GAAI,EAAO,YAAY,CAC7D,YAAa,GAAI,EAAO,YAAa,EACrC,SAAU,GAAI,EAAO,YAAa,EAClC,cAAe,EAAW,CAAE,KAAM,CAAC,OAAQ,OAAQ,MAAM,EAAG,EAC5D,qBAAsB,GAAI,EAAO,KAAK,EAAW,CAAE,KAAM,CAAC,OAAQ,QAAQ,CAAC,CAAE,CAAC,EAC9E,SAAU,EAAW,CAAE,KAAM,gBAAgB,CAAE,EAC/C,2BAAgC,GAAA,EAAO,KAAS,GAAA,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,CAAG,CAAA,CAAC,EACtF,QAAS,GAAI,EAAO,YAAY,CAC5B,UAAe,GAAA,EAAO,YAAY,CAAE,MAAO,EAAI,CAAE,EACjD,UAAe,GAAA,EAAO,YAAY,CAAE,MAAO,EAAI,CAAE,EACjD,YAAiB,GAAA,EAAO,YAAY,CAAE,MAAO,EAAI,CAAE,EACnD,gBAAqB,GAAA,EAAO,YAAY,CAAE,MAAO,EAAI,CAAE,EACvD,YAAa,GAAI,EAAO,KAAS,GAAA,EAAO,YAAY,CAAE,MAAO,EAAI,CAAE,CAAC,EACpE,cAAe,GAAI,EAAO,KAAS,GAAA,EAAO,YAAY,CAAE,MAAO,EAAI,CAAE,CAAC,EACtE,qBAA0B,GAAA,EAAO,KAAK,EAAW,CAAE,KAAM,CAAC,OAAQ,cAAe,OAAO,CAAG,CAAA,CAAC,EAC5F,cAAmB,GAAA,EAAO,KAAK,EAAU,CAAE,EAC3C,WAAY,GAAI,EAAO,KAAS,GAAA,EAAO,YAAY,CAC/C,MAAO,EAAY,EACnB,WAAgB,GAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,EACpD,oBAAyB,GAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,EAC7D,OAAQ,GAAI,EAAO,YAAa,CAChD,CAAa,CAAC,EACF,gBAAiB,GAAI,EAAO,KAAS,GAAA,EAAO,YAAY,CACpD,MAAO,EAAY,EACnB,YAAa,GAAI,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,EAAG,CACtE,CAAa,CAAC,EACF,MAAO,GAAI,EAAO,KAAS,GAAA,EAAO,YAAY,CAC1C,MAAO,EAAY,EACnB,UAAW,GAAI,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,EAC3D,UAAW,GAAI,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,EAC3D,sBAAuB,GAAI,EAAO,aAAc,CAChE,CAAa,CAAC,EACF,SAAU,GAAI,EAAO,KAAS,GAAA,EAAO,YAAY,CAC7C,QAAS,GAAI,EAAO,YAAY,CAC5B,KAAM,EAAY,CACtC,CAAiB,EACD,YAAa,GAAI,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,EAAG,CACtE,CAAa,CAAC,CACd,CAAS,EACD,SAAU,GAAI,EAAO,SAAS,EAAW,CAAE,KAAM,cAAgB,CAAA,EAAG,EAAQ,wBAAwB,EACpG,YAAiB,GAAA,EAAO,SAAS,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,aAAe,CAAA,CAAE,EAAG,GAAI,EAAO,KAAK,GAAI,EAAO,YAAY,CAC5I,cAAe,GAAI,EAAO,YAAa,EACvC,OAAQ,GAAI,EAAO,YAAa,CAC5C,EAAW,CAAE,SAAU,UAAU,CAAE,EAAG,CAC1B,QAAS,IAAO,EACZ,cAAe,IACf,OAAQ,CACxB,EACA,CAAS,CAAC,EACF,QAAS,GAAI,EAAO,SAAS,EAAW,CAAE,KAAM,CAAC,MAAO,QAAQ,EAAG,EAAO,GAAA,EAAO,QAAS,EAAS,KAAK,CAAE,SAAU,8BAA+B,aAAc,mBAAmB,CAAE,EAAG,CACrL,QAAS,IAAM,CAAC,gBAAgB,CAC5C,CAAS,CAAC,EACF,SAAU,GAAI,EAAO,UAAc,GAAA,EAAO,KAAS,GAAA,EAAS,KAAK,CAAE,SAAU,2BAA4B,aAAc,iBAAkB,EAAG,CAAE,SAAU,IAAM,WAAW,CAAE,EAAG,CAAE,UAAW,GAAI,CACvM,EAAO,CAAE,QAAS,OAAO,CAAE,EAAG,CACtB,QAAS,IAAO,EACZ,YAAa,GACb,SAAU,GACV,cAAe,OACf,SAAU,SACV,QAAS,CACL,UAAW,QACX,UAAW,SACX,YAAa,QACb,gBAAiB,MACpB,CACb,EACK,CAAA,CAAC,CACN,CACA,EAAA,iBAA2B,kBCtF3B,OAAO,eAAe,GAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EACnC,GAAA,kBAAG,OAC5B,KAAMF,GAASC,EACTE,EAAWD,EACjB,YAA2B,EAAS,EAAa,CAC7C,KAAM,GAAYF,EAAO,UAAU,KAAK,OAAW,CAAO,EACpD,EAAaA,EAAO,WAAW,KAAK,OAAW,CAAW,EAC1D,EAAe,CACjB,kBAAmB,GAAIG,EAAS,eAAgB,EAChD,MAAO,GAAIH,EAAO,YAAY,CAC1B,gBAAiB,GAAIG,EAAS,eAAgB,EAC9C,UAAW,GAAIA,EAAS,eAAgB,EACxC,iBAAkB,GAAIH,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,EAClE,yBAA0B,GAAIG,EAAS,eAAgB,EACvD,+BAAgC,GAAIH,EAAO,YAAa,EACxD,8BAA+B,GAAIA,EAAO,YAAa,CACnE,CAAS,CACT,EACU,EAAa,CACf,6BAA8B,GAAIG,EAAS,eAAgB,EAC3D,2BAA4B,GAAIA,EAAS,eAAgB,EACzD,YAAa,GAAIA,EAAS,eAAe,CAAE,IAAK,GAAI,IAAK,EAAG,CACpE,EACI,EAAQ,SAAS,oBAAqB,GAAIH,EAAO,KAAK,GAAIA,EAAO,YAAY,CACzE,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,iBAAiB,EAAI,EAC/E,OAAQ,GAAIA,EAAO,YAAY,CAC3B,YAAa,GAAIA,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,EAAG,EACtD,EAAG,EAAU,iBAAiB,EAC9B,OAAQ,GAAIG,EAAS,eAAgB,EACrC,WAAY,EAAU,iBAAiB,EACvC,eAAgB,GAAIH,EAAO,KAASA,GAAAA,EAAO,YAAY,CACnD,WAAgBA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,EACrD,UAAW,GAAIA,EAAO,KAAK,EAAU,aAAa,CAAC,EACnD,YAAa,GAAIA,EAAO,KAAK,EAAU,aAAa,CAAC,EACrD,WAAY,GAAIA,EAAO,KAAK,EAAU,aAAa,CAAC,EACpD,cAAe,GAAIA,EAAO,KAAK,EAAU,aAAa,CAAC,CACvE,CAAa,CAAC,GACDA,EAAO,QAAS,CAAC,MAAO,CAAE,KAAM,OAAQ,GACxCA,EAAO,MAAO,CACX,mBAAoB,EACpB,iBAAkB,EAClB,wBAAyB,CAC5B,CACb,CAAS,CACT,EAAO,CAAE,QAAS,QAAQ,CAAE,EAAG,CACvB,QAAS,IAAO,EACZ,KAAM,iBACN,OAAQ,CACJ,YAAa,EAChB,CACb,EACK,CAAA,CAAC,CACN,CACA,GAAA,kBAA4B,aCrD5B,OAAO,eAAe,GAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EAChC,GAAA,qBAAG,OAC/B,KAAMA,GAASC,EACTE,GAAWD,EACjB,YAA8B,EAAS,EAAa,CAChD,KAAM,GAAYF,EAAO,UAAU,KAAK,OAAW,CAAO,EACpD,EAAaA,EAAO,WAAW,KAAK,OAAW,CAAW,EAChE,EAAQ,SAAS,YAAiBA,GAAAA,EAAO,YAAY,CACjD,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,kCAAkC,EAAI,GAC/FA,EAAO,QAAS,CAAC,CAAE,KAAM,MAAM,CAAE,GACjCA,EAAO,MAAO,CACX,mCAAoC,CAChC,UAAW,EAAU,0BAA0B,CAClD,EACD,yBAA0B,CACtB,KAAM,EAAW,CAAE,KAAM,iBAAiB,CAAE,CAC/C,EACD,0BAA2B,CACvB,OAAQ,GAAIA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,CAC3D,EACD,kBAAmB,CACf,MAAO,GAAIG,GAAS,aAAa,CAAE,IAAK,EAAG,IAAK,IAAK,CACxD,EACD,iCAAkC,CAC9B,MAAO,GAAIA,GAAS,aAAa,CAAE,IAAK,EAAG,IAAK,IAAK,CACxD,EACD,kCAAmC,CAC/B,YAAa,GAAIH,EAAO,YAAa,EACrC,YAAiBA,GAAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,EACrD,YAAiBA,GAAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,CACxD,EACD,8BAA+B,CAC3B,qBAA0BA,GAAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,EAC9D,aAAc,GAAIA,EAAO,YAAa,EACtC,aAAkBA,GAAAA,EAAO,KAAK,GAAIA,EAAO,YAAU,CAAG,CACzD,EACD,6BAA8B,CAC1B,oBAAqB,EAAW,CAAE,KAAM,CAAC,KAAM,MAAM,EAAG,EACxD,UAAeA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,GAAI,EACpE,iBAAkB,EAAU,0BAA0B,EACtD,yBAA0B,GAAIA,EAAO,KAAK,EAAU,0BAA0B,CAAC,CAClF,EACD,sBAAuB,CACnB,UAAW,EAAW,CAAE,KAAM,gBAAgB,CAAE,CACnD,EACD,yBAA0B,CACtB,OAAQ,EAAU,iBAAiB,CACtC,EACD,0BAA2B,CACvB,UAAW,GAAIG,GAAS,aAAa,CAAE,IAAK,IAAK,IAAK,GAAI,EAC1D,SAAU,GAAIA,GAAS,aAAa,CAAE,IAAK,IAAK,IAAK,GAAI,CAC5D,EACD,8CAA+C,CAC3C,UAAW,EAAW,CAAE,KAAM,gBAAgB,CAAE,EAChD,cAAe,GAAIH,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,CAAC,EACxE,cAAe,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,CAAC,CAC3E,EACD,uCAAwC,CACpC,gBAAqBA,GAAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,CAC5D,CACJ,CACT,EAAO,CAAE,QAAS,YAAa,SAAU,WAAW,CAAE,CAAC,CACvD,CACA,GAAA,qBAA+B,0BC/D/B,OAAO,eAAc,EAAU,aAAc,CAAE,MAAO,EAAI,CAAE,EAC5D,EAAqC,2BAAA,EAAA,gBAA0B,OAC/D,KAAM,GAASC,EACf,WAAoC,EAAS,EAAa,CACtD,KAAM,GAAa,EAAO,WAAW,KAAK,OAAW,CAAW,EAC1D,EAAY,EAAO,UAAU,KAAK,OAAW,CAAO,EAC1D,EAA0B,gBAAI,GAAA,EAAO,KAAK,GAAI,EAAO,YAAY,CAC7D,CACI,KAAM,SACN,KAAM,GAAI,EAAO,YAAa,EAC9B,OAAQ,IAAM,CACjB,EACD,CACI,KAAM,SACN,SAAU,EACV,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,4BAA4B,EAAI,EAC1F,OAAQ,IAAA,EACX,EACD,CACI,KAAM,SACN,KAAM,EAAU,kBAAkB,EAClC,OAAQ,IAAO,EAAA,EAClB,CACT,EAAO,CAAE,cAAe,kBAAkB,CAAE,EAAG,CACvC,QAAS,IAAM,CACvB,CAAK,EACD,KAAM,MAAsB,EAAO,YAAY,CAC3C,CACI,KAAM,SACN,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,iBAAiB,EAAI,EAC/E,OAAQ,IAAA,EACX,EACD,CACI,KAAM,SACN,KAAM,EAAU,kBAAkB,CACrC,CACT,EAAO,CAAE,cAAe,kBAAkB,CAAE,EAClC,KAAiB,EAAO,YAAY,CAAE,IAAK,KAAU,IAAK,GAAO,CAAE,EACnE,EAAa,GAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,MAAQ,EAAG,IAAK,KAAO,CAAG,CAAA,EACtF,EAAQ,SAAS,mBAAoB,GAAI,EAAO,KAAK,GAAI,EAAO,YAAY,CACxE,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,gCAAgC,EAAI,GAC7F,EAAO,QAAS,CAAC,CAAE,KAAM,MAAM,CAAE,GACjC,EAAO,MAAO,CACX,gBAAiB,CACb,SAAU,EAAQ,eACrB,EACD,gBAAiB,CACb,UAAW,EAAQ,gBACnB,UAAW,EAAQ,eACtB,EACD,0BAA2B,CACvB,SAAU,EAAQ,eACrB,EACD,qBAAsB,CAClB,SAAU,EAAQ,eACrB,EACD,8BAA+B,CAC3B,SAAU,EAAQ,eACrB,EACD,uBAAwB,CACpB,SAAU,EAAQ,eACrB,EACD,kBAAmB,CACf,MAAO,EAAQ,gBACf,IAAK,EACL,IAAK,CACR,EACD,qBAAsB,CAClB,SAAU,GAAI,EAAO,YAAa,CACrC,EACD,iBAAkB,CACd,SAAU,EAAQ,eACrB,EACD,uBAAwB,CACpB,SAAU,EAAQ,eACrB,EACD,0BAA2B,CACvB,SAAU,EAAQ,eACrB,EACD,yBAA0B,CACtB,SAAU,EAAQ,eACrB,EACD,gBAAiB,CACb,UAAW,EAAQ,gBACnB,UAAW,EAAQ,eACtB,EACD,gBAAiB,CACb,UAAW,EAAQ,gBACnB,UAAW,EAAQ,eACtB,EACD,gBAAiB,CACb,UAAW,EAAQ,gBACnB,UAAW,EAAQ,eACtB,EACD,kBAAmB,CACf,MAAO,EACP,SAAU,GAAI,EAAO,YAAa,EAClC,QAAS,GAAI,EAAO,YAAa,CACpC,EACD,6BAA8B,CAC1B,SAAU,EAAQ,eACrB,EACD,yBAA0B,CACtB,MAAO,EAAQ,gBACf,cAAe,EACf,cAAe,EACf,cAAe,EAAQ,gBACvB,kBAAmB,EAAQ,eAC9B,EACD,kBAAmB,CACf,SAAU,EAAQ,eACrB,EACD,oBAAqB,CACjB,SAAU,EAAQ,eACrB,EACD,oBAAqB,CACjB,SAAU,EAAQ,eACrB,EACD,0BAA2B,CACvB,MAAO,EACP,SAAU,GAAI,EAAO,YAAa,EAClC,QAAS,GAAI,EAAO,YAAa,EACjC,QAAS,EAAQ,gBACjB,QAAS,EAAQ,gBACjB,QAAS,EAAQ,eACpB,EACD,kBAAmB,CACf,SAAU,EAAQ,eACrB,EACD,mBAAoB,CAChB,OAAQ,EAAU,cAAc,EAChC,UAAW,EACX,UAAW,CACd,EACD,mBAAoB,CAChB,SAAU,EAAQ,eACrB,EACD,oBAAqB,CACjB,SAAU,EAAQ,eACrB,EACD,kCAAmC,CAC/B,OAAQ,EAAW,CAAE,KAAM,CAAC,SAAU,SAAU,YAAY,EAAG,EAC/D,UAAW,EACX,UAAW,EACX,gBAAiB,EAAQ,gBACzB,QAAS,EAAQ,gBACjB,UAAW,EAAQ,eACtB,EACD,iCAAkC,CAC9B,oBAAqB,EAAW,CAAE,KAAM,CAAC,SAAU,QAAQ,EAAG,EAC9D,MAAO,EACP,MAAO,EAAQ,eAClB,EACD,+BAAgC,CAC5B,OAAQ,EACR,KAAM,EACN,WAAY,EACZ,SAAU,CACb,CACJ,CACJ,EAAE,CAAE,QAAS,mBAAoB,qBAAsB,EAAM,CAAA,EAAG,CAC7D,QAAS,IAAO,EACZ,KAAM,kBACN,MAAO,0BACP,SAAU,IACV,QAAS,EACrB,EACK,CAAA,CAAC,EACF,EAAQ,SAAS,eAAgB,GAAI,EAAO,KAAK,GAAI,EAAO,YAAY,CACpE,CACI,KAAM,SACN,KAAM,GAAI,EAAO,YAAa,CACjC,EACD,CACI,KAAM,SACN,KAAM,GAAI,EAAO,YAAY,CACzB,WAAY,EAAQ,gBACpB,OAAQ,GAAI,EAAO,UAAc,GAAA,EAAO,YAAY,CAChD,SAAU,GAAI,EAAO,YAAa,EAClC,WAAY,GAAI,EAAO,YAAa,EACpC,MAAO,EAAU,cAAc,CACnD,CAAiB,CAAC,CAClB,EAAe,CAAE,SAAU,WAAY,CAC9B,CACJ,EAAE,CAAE,QAAS,iBAAkB,cAAe,gBAAkB,CAAA,EAAG,CAChE,QAAS,IAAM,CAClB,CAAA,CAAC,CACN,CACA,EAAA,2BAAqC,uBC5LrC,OAAO,eAAe,EAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EAC5D,EAAA,yBAAmC,EAAA,WAAqB,OACxD,KAAMD,GAASC,EACf,YAAkC,EAAS,EAAa,CACpD,KAAM,GAAYD,EAAO,UAAU,KAAK,OAAW,CAAO,EACpD,EAAaA,EAAO,WAAW,KAAK,OAAW,CAAW,EAChE,EAAA,cAAyBA,EAAO,YAAY,CACxC,CACI,KAAM,SACN,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,0BAA0B,EAAI,EACxF,OAAQ,GAAC,EACZ,EACD,CACI,KAAM,SACN,KAAM,EAAU,gBAAgB,EAChC,OAAQ,GAAM,EACV,WAAY,CAAC,CACL,eAAkB,eAC1C,CAAqB,CACrB,EACS,CACT,CAAK,EACD,EAAQ,SAAS,iBAAkB,GAAIA,EAAO,KAAK,GAAIA,EAAO,YAAY,CACtE,WAAY,GAAIA,EAAO,UAAU,EAAU,WAAW,CAAC,CAC/D,EAAO,CAAE,QAAS,gBAAgB,CAAE,EAAG,CAC/B,QAAS,IAAO,EACZ,WAAY,CAAC,CACL,eAAgB,iBAChB,MAAO,CAAC,CACA,mBAAoB,CAChB,eAAgB,uBACnB,EACD,gBAAiB,CACb,eAAgB,uBACnB,CAC7B,CAAyB,CACzB,CAAiB,CACjB,EACK,CAAA,CAAC,EACF,EAAQ,SAAS,YAAa,GAAIA,EAAO,KAAK,GAAIA,EAAO,YAAY,CACjE,eAAgB,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,8BAA8B,EAAI,GACrGA,EAAO,QAAS,CAAC,CAAE,KAAM,gBAAgB,CAAE,GAC3CA,EAAO,MAAO,CACX,sBAAuB,CACnB,UAAW,GAAIA,EAAO,YAAa,CACtC,EACD,yBAA0B,CACtB,OAAQ,GAAIA,EAAO,UAAU,EAAU,aAAa,CAAC,CACxD,EACD,sBAAuB,CACnB,UAAW,GAAIA,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,EAAG,CACvD,EACD,oBAAqB,CACjB,UAAW,EAAW,CAAE,KAAM,gBAAgB,CAAE,EAChD,OAAYA,GAAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,CACnD,EACD,6BAA8B,CAC1B,MAAO,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,QAAS,WAAY,EAAM,CAAA,CAAE,CAC3F,EACD,iBAAkB,CACd,MAAO,GAAIA,EAAO,UAAU,EAAU,gBAAgB,CAAC,CAC1D,CACJ,CACJ,EAAE,CAAE,SAAU,WAAY,QAAS,WAAa,CAAA,EAAG,CAChD,QAAS,IAAO,EACZ,eAAgB,iBAChB,MAAO,CAAC,CACA,mBAAoB,CAChB,eAAgB,uBACnB,EACD,gBAAiB,CACb,eAAgB,uBACnB,CACrB,CAAiB,CACjB,EACK,CAAA,CAAC,EACF,EAAQ,SAAS,iBAAkB,GAAIA,EAAO,KAAK,GAAIA,EAAO,YAAY,CACtE,mBAAoB,GAAIA,EAAO,KAAK,EAAU,eAAe,CAAC,EAC9D,mBAAoB,EAAU,WAAW,EACzC,gBAAiB,EAAU,WAAW,EACtC,aAAc,EAAU,aAAa,EACrC,WAAY,GAAIA,EAAO,KAAK,EAAW,CAAE,UAAW,MAAO,OAAQ,CAAE,SAAU,CAAE,SAAU,iBAAmB,CAAA,CAAI,CAAA,CAAC,CACtH,EAAE,CAAE,SAAU,YAAa,QAAS,gBAAkB,CAAA,EAAG,CACtD,QAAS,IAAO,EACZ,mBAAoB,CAChB,eAAgB,uBACnB,EACD,gBAAiB,CACb,eAAgB,uBACnB,CACb,EACK,CAAA,CAAC,EACF,KAAM,GAAgB,CAClB,SAAU,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,IAAK,QAAS,EAAM,CAAA,CAAC,EACrF,SAAU,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,IAAK,QAAS,EAAM,CAAA,CAAC,EACrF,WAAgBA,GAAAA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,CAAG,CAAA,CAAC,EACtE,WAAgBA,GAAAA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,CAAG,CAAA,CAAC,CAC9E,EACI,EAAQ,SAAS,gBAAqBA,GAAAA,EAAO,YAAY,CACrD,eAAgB,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,eAAe,EAAI,GACtFA,EAAO,QAAS,CAAC,CAAE,KAAM,gBAAgB,CAAE,GAC3CA,EAAO,MAAO,CACX,oCAAqC,GACjC,KAAM,EAAW,CAAE,KAAM,CAAC,IAAK,IAAK,GAAG,EAAG,GACvC,GAEP,uBAAwB,CAC3B,CACT,EAAO,CAAE,QAAS,gBAAiB,qBAAsB,EAAI,CAAE,CAAC,EAC5D,EAAQ,SAAS,YAAiBA,GAAAA,EAAO,YAAY,CACjD,eAAgB,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,WAAW,EAAI,GAClFA,EAAO,QAAS,CAAC,CAAE,KAAM,gBAAgB,CAAE,GAC3CA,EAAO,MAAO,CACX,wBAAyB,CACrB,MAAO,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,OAAO,EAAI,CACzE,EACD,6BAA8B,CAC1B,YAAa,EAAU,aAAa,CACvC,EACD,+BAAgC,CAC5B,MAAO,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,OAAO,EAAI,EACtE,YAAa,GAAIA,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,EAAG,CACzD,EACD,oCAAqC,CACjC,YAAa,EAAU,aAAa,EACpC,YAAa,GAAIA,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,EAAG,CACzD,EACD,sBAAuB,CACnB,IAAK,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,YAAY,EAAI,CAC5E,CACJ,CACT,EAAO,CAAE,QAAS,YAAa,qBAAsB,EAAI,CAAE,CAAC,CAC5D,CACA,EAAA,yBAAmC,GCrInC,OAAO,eAAe,GAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EAClC,GAAA,mBAAG,OAC7B,KAAMA,GAASC,EACTE,EAAWD,EAGXG,GAAkBD,EACxB,YAA4B,EAAS,EAAa,CAC9C,KAAM,GAAYJ,EAAO,UAAU,KAAK,OAAW,CAAO,EACpD,EAAaA,EAAO,WAAW,KAAK,OAAW,CAAW,EAC1D,KAAwBA,EAAO,YAAY,CAC7C,CACI,KAAM,SACN,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,8BAA8B,EAAI,CAC/F,EACD,CACI,KAAM,SACN,KAAM,EAAU,oBAAoB,CACvC,CACT,EAAO,CAAE,cAAe,SAAS,CAAE,EACzB,KAAoBA,EAAO,YAAY,CACzC,CACI,KAAM,SACN,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,0BAA0B,EAAI,CAC3F,EACD,CACI,KAAM,SACN,KAAM,EAAU,gBAAgB,CACnC,CACT,EAAO,CAAE,cAAe,gBAAgB,CAAE,EAChC,EAAoB,CACtB,MAAWA,GAAAA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,CAAG,CAAA,CAAC,EACxE,UAAeA,GAAAA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,CAAG,CAAA,CAAC,EAC5E,SAAcA,GAAAA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,CAAG,CAAA,CAAC,EAC3E,QAAS,CACjB,EACU,EAAa,CACf,MAAO,EAAU,aAAa,EAC9B,OAAQ,GAAIG,EAAS,aAAa,CAAE,IAAK,EAAG,IAAK,EAAG,EACpD,YAAiBH,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,EAAG,EACrE,QAAS,GAAIA,EAAO,UAAU,EAAU,aAAa,CAAC,CAC9D,EACU,EAAqB,CACvB,aAAc,EAAU,sBAAsB,EAC9C,cAAe,EAAU,sBAAsB,EAC/C,eAAgB,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,CAAC,CACjF,EACU,KAAuBA,EAAO,YAAY,CAC5C,OAAQ,EAAU,WAAW,EAC7B,MAAO,EAAU,aAAa,CACtC,CAAK,EACK,EAAY,CACd,KAAUA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,GAAI,EAC/D,+BAAgC,GAAIA,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,EAAG,EACzE,QAAaA,GAAAA,EAAO,UAAU,CAAgB,CACtD,EACU,EAAwB,CAC1B,QAAS,EAAW,CAAE,KAAM,cAAc,CAAE,EAC5C,MAAO,GAAIG,EAAS,aAAa,CAAE,IAAK,EAAG,IAAK,IAAK,EACrD,eAAoBH,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,IAAK,EAC1E,0BAA2B,GAAIA,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,EAAG,EACpE,yBAA0B,GAAIA,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,EAAG,EACnE,kBAAmB,GAAIA,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,EAAG,EAC5D,UAAW,GAAIG,EAAS,aAAc,EACtC,YAAa,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,QAAS,WAAY,EAAM,CAAA,CAAE,EAC9F,aAAc,EAAU,sBAAsB,EAC9C,mBAAoB,CAC5B,EACI,EAAQ,SAAS,qBAAsB,GAAIH,EAAO,KAAK,GAAIA,EAAO,YAAY,CAC1E,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,kBAAkB,EAAI,EAChF,OAAQ,GAAIA,EAAO,YAAY,EAC1BA,EAAO,QAAS,CAAC,MAAO,CAAE,KAAM,OAAQ,GACxCA,EAAO,MAAO,CACX,mBAAoB,CAChB,YAAa,GAAIA,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,EAAG,CACzD,EACD,2BAA4B,CACxB,MAAO,GAAIG,EAAS,aAAa,CAAE,IAAK,EAAG,IAAK,EAAG,EACnD,OAAQ,GAAIA,EAAS,aAAa,CAAE,IAAK,EAAG,IAAK,GAAI,CACxD,EACD,yBAA0B,CACtB,UAAW,EAAW,CAAE,KAAM,CAAC,KAAM,OAAQ,QAAS,OAAQ,QAAS,MAAM,CAAC,CAAE,EAChF,kBAAmB,EAAU,0BAA0B,EACvD,eAAgB,GAAIH,EAAO,aAAc,EACzC,OAAQ,GAAIA,EAAO,UAAcA,GAAAA,EAAO,YAAY,CAChD,OAAYG,GAAAA,EAAS,aAAa,CAAE,IAAK,CAAC,CAAE,EAC5C,SAAU,EAAU,sBAAsB,CAClE,CAAqB,CAAC,CACL,EACD,uBAAwB,CACpB,eAAgB,EAAU,sBAAsB,CACnD,EACD,0BAA2B,CACvB,SAAU,EAAU,aAAa,EACjC,IAAK,EAAU,aAAa,EAC5B,KAAM,GAAIA,EAAS,aAAa,CAAE,IAAK,EAAG,IAAK,GAAI,EACnD,SAAU,GAAIA,EAAS,aAAa,CAAE,IAAK,EAAG,IAAK,GAAI,CAC1D,EACD,iBAAkB,EAClB,8BAA+B,CAC3B,8BAAmCH,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,IAAK,EACzF,OAAQ,GAAIG,EAAS,aAAa,CAAE,IAAK,EAAG,IAAK,IAAK,EACtD,OAAQ,GAAIA,EAAS,aAAa,CAAE,IAAK,EAAG,IAAK,IAAK,EACtD,sCAA2CH,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,GAAI,EAChG,iBAAsBA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,GAAI,EAC3E,gCAAiC,GAAIG,EAAS,aAAa,CAAE,IAAK,EAAG,IAAK,IAAK,EAC/E,QAAS,GAAIA,EAAS,eAAe,CAAE,IAAK,EAAG,IAAK,EAAG,EACvD,QAAS,GAAIA,EAAS,eAAe,CAAE,IAAK,EAAG,IAAK,EAAG,EACvD,uDAAwD,GAAIH,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,EAAG,EACjG,4DAAiEA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,GAAI,EACtH,+CAAoDA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,GAAI,CAC5G,EACD,wBAAyB,CACrB,MAAO,GAAIA,EAAO,aAAc,EAChC,KAAM,GAAIA,EAAO,KAAK,EAAU,WAAW,CAAC,CAC/C,EACD,sBAAuB,CACnB,qBAA0BA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,EAC/D,oBAAqB,GAAIA,EAAO,KAAK,EAAU,WAAW,CAAC,EAC3D,OAAQ,GAAIA,EAAO,UAAcA,GAAAA,EAAO,YAAY,CAChD,QAAS,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,CAAC,EAClE,QAAS,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,CAAC,EAClE,OAAQ,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,CAAC,EACjE,OAAQ,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,CAAC,EACjE,QAAaA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,CAC1E,CAAqB,CAAC,CACL,EACD,uBAAwB,CACpB,MAAO,EAAU,aAAa,EAC9B,OAAYA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,IAAK,CACrE,EACD,mBAAoB,EACpB,wBAAyB,CACrB,MAAO,EAAU,aAAa,CACjC,EACD,mBAAoB,CAChB,0BAA+BA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,EAAG,EACnF,kBAAuBA,GAAAA,EAAO,UAAU,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,YAAY,CAAI,CAAA,CAAC,EAC7G,mBAAwBA,GAAAA,EAAO,UAAU,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,YAAY,CAAI,CAAA,CAAC,EAC9G,kBAAmBK,GAAgB,WACnC,mBAAoBA,GAAgB,UACvC,EACD,kBAAmB,CACf,OAAQ,GAAIL,EAAO,YAAY,CAC3B,iBAAkB,EAAU,sBAAsB,EAClD,qBAAsB,EAAU,sBAAsB,EACtD,+BAAgC,EAAU,sBAAsB,EAChE,sBAAuB,EAAU,sBAAsB,EACvD,qBAAsB,EAAU,sBAAsB,EACtD,iBAAkB,GAAIA,EAAO,UAAU,EAAU,aAAa,CAAC,EAC/D,eAAgB,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,QAAS,WAAY,EAAM,CAAA,CAAE,EACjG,eAAgB,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,QAAS,WAAY,EAAM,CAAA,CAAE,CACzH,CAAqB,EACD,OAAQ,GAAIA,EAAO,YAAY,CAC3B,QAAaA,GAAAA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,IAAK,IAAM,IAAK,EAAI,CAAA,CAAC,EACvE,YAAiBA,GAAAA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,IAAK,IAAM,IAAK,EAAI,CAAA,CAAC,EAC3E,aAAkBA,GAAAA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,IAAK,IAAM,IAAK,EAAI,CAAA,CAAC,EAC5E,YAAiBA,GAAAA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,IAAK,IAAM,IAAK,EAAI,CAAA,CAAC,CACnG,CAAqB,EACD,MAAO,GAAIA,EAAO,YAAY,CAC1B,sBAA2BA,GAAAA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,CAAG,CAAA,CAAC,EACjF,gBAAqBA,GAAAA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,CAAG,CAAA,CAAC,EAC3E,mBAAwBA,GAAAA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,EAAI,CAAA,CAAC,CACvG,CAAqB,EACD,iBAAsBA,GAAAA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,CAAG,CAAA,CAAC,EAC5E,gCAAqCA,GAAAA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,CAAG,CAAA,CAAC,EAC3F,4BAAiCA,GAAAA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,CAAG,CAAA,CAAC,EACvF,oCAAyCA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,EAC9E,oBAAyBA,GAAAA,EAAO,KAASG,GAAAA,EAAS,aAAa,CAAE,IAAK,EAAG,IAAK,EAAI,CAAA,CAAC,EACnF,oBAAyBH,GAAAA,EAAO,KAASG,GAAAA,EAAS,aAAa,CAAE,IAAK,EAAG,IAAK,EAAI,CAAA,CAAC,EACnF,aAAkBH,GAAAA,EAAO,KAASG,GAAAA,EAAS,aAAa,CAAE,IAAK,EAAG,IAAK,EAAI,CAAA,CAAC,EAC5E,eAAgB,GAAIH,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,CAAC,EACzE,eAAgB,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,CAAC,EACzE,yBAA8BA,GAAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,CACrE,EACD,wBAAyB,CACrB,aAAc,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,GAAI,QAAS,EAAM,CAAA,CAAC,EACxF,oBAAyBA,GAAAA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,CAAG,CAAA,CAAC,EAC/E,mBAAwBA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,EAC7D,qBAA0BA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,EAC/D,kBAAuBA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,EAC5D,iBAAsBG,GAAAA,EAAS,KAAK,CAAE,SAAU,OAAO,CAAE,CAC5D,EACD,gCAAiC,EACjC,wBAAyB,CACrB,UAAW,EAAU,aAAa,EAClC,YAAa,EAAU,aAAa,EACpC,WAAY,EAAU,aAAa,EACnC,iBAAkB,EAAU,aAAa,EACzC,QAAaH,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,CACrD,EACD,8BAA+B,EAC/B,sBAAuB,EACvB,oBAAqB,CACjB,MAAO,EAAU,aAAa,CACjC,EACD,iBAAkB,CACd,MAAO,EAAU,sBAAsB,EACvC,QAAS,EAAU,sBAAsB,CAC5C,EACD,4BAA6B,CACzB,8BAA+B,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,GAAK,CAAA,CAAC,EAC1G,cAAe,GAAIG,EAAS,aAAa,CAAE,IAAK,EAAG,IAAK,GAAI,EAC5D,aAAc,GAAIA,EAAS,eAAe,CAAE,IAAK,EAAG,IAAK,GAAI,EAC7D,uCAAwC,GAAIH,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,EAAG,EACjF,qBAAsB,GAAIG,EAAS,eAAe,CAAE,IAAK,GAAK,IAAK,GAAI,EACvE,qBAAsB,GAAIA,EAAS,eAAe,CAAE,IAAK,GAAK,IAAK,GAAI,EACvE,WAAY,GAAIA,EAAS,eAAe,CAAE,IAAK,EAAG,IAAK,EAAG,EAC1D,oBAAyBH,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,IAAK,EAC/E,uBAAwB,GAAIA,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,EAAG,CACpE,EACD,qCAAsC,CAClC,eAAgB,EAAU,sBAAsB,EAChD,aAAc,GAAIA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,EAC9D,cAAe,GAAIA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,CAClE,EACD,qCAAsC,CAClC,MAAO,EAAU,aAAa,EAC9B,OAAQ,EAAU,aAAa,EAC/B,OAAQ,GAAIG,EAAS,aAAa,CAAE,IAAK,EAAG,IAAK,GAAI,CACxD,EACD,+BAAgC,EAChC,gBAAiB,EACjB,8BAA+B,CAC3B,2BAAgCH,GAAAA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,CAAG,CAAA,CAAC,EACtF,6BAAkCA,GAAAA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,CAAG,CAAA,CAAC,EACxF,yBAA8BA,GAAAA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,CAAG,CAAA,CAAC,EACpF,yBAA8BA,GAAAA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,CAAG,CAAA,CAAC,CACvF,EACD,yBAA0B,EAC1B,oCAAqC,CACjC,cAAe,EACf,aAAc,CACjB,EACD,4BAA6B,CACzB,SAAU,GAAIA,EAAO,UAAcA,GAAAA,EAAO,YAAY,CAClD,OAAQ,GAAIA,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,EAAG,EACjD,QAAS,CACjC,CAAqB,CAAC,EACF,QAAS,CACZ,EACD,iCAAkC,CAC9B,QAAaA,GAAAA,EAAO,UAAU,CAAgB,CACjD,EACD,wBAAyB,CACrB,iCAAsCA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,GAAI,EAC3F,YAAiBA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,GAAI,EACtE,wBAA6BA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,IAAK,EACnF,uBAA4BA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,KAAM,EACnF,oBAAyBA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,GAAI,EAC9E,4BAAiCA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,GAAI,EACtF,gCAAqCA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,IAAK,EAC3F,gCAAqCA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,GAAI,EAC1F,iBAAkB,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,QAAS,WAAY,EAAM,CAAA,CAAE,EACnG,oBAAqB,EAAU,sBAAsB,EACrD,4BAA6B,EAAU,sBAAsB,EAC7D,sBAAuB,EAAU,0BAA0B,EAC3D,QAAS,CACZ,EACD,0BAA2B,EAC3B,uBAAwB,CACpB,MAAO,GAAIG,EAAS,aAAa,CAAE,IAAK,EAAG,IAAK,IAAK,CACxD,EACD,qBAAsB,CAClB,YAAa,GAAIH,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,EAAG,CACzD,EACD,yBAA0B,CACtB,SAAU,EAAU,sBAAsB,CAC7C,EACD,mCAAoC,CAChC,SAAU,GAAIG,EAAS,KAAK,CAAE,SAAU,2BAA4B,aAAc,iBAAkB,CACvG,EACD,2BAA4B,CACxB,MAAO,EAAU,aAAa,EAC9B,WAAgBH,GAAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,EACpD,WAAgBA,GAAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,EACpD,qBAAsB,GAAIA,EAAO,aAAc,EAC/C,aAAkBG,GAAAA,EAAS,KAAK,CAAE,SAAU,OAAO,CAAE,CACxD,EACD,iBAAkB,CACd,aAAkBH,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,EACvD,WAAgBA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,EACrD,aAAc,EAAU,cAAc,EACtC,cAAe,EAAU,sBAAsB,EAC/C,eAAgB,EAAU,sBAAsB,EAChD,iBAAkB,EAAU,sBAAsB,EAClD,aAAc,GAAIA,EAAO,YAAY,CACjC,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,4BAA4B,EAAI,EAC1F,YAAiBA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,GAAI,EACtE,cAAmBA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,GAAI,EACxE,cAAmBA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,GAAI,GACvEA,EAAO,QAAS,CAAC,CAAE,KAAM,MAAM,CAAE,GACjCA,EAAO,MAAO,CACX,iCAAkC,CAC9B,YAAa,GAAIG,EAAS,aAAa,CAAE,IAAK,EAAG,IAAK,GAAI,EAC1D,sBAA2BH,GAAAA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,CAAG,CAAA,CAAC,CAC3F,CACJ,CACzB,EAAuB,CAAE,QAAS,eAAgB,EAC9B,eAAgB,GAAIA,EAAO,YAAY,CACnC,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,8BAA8B,EAAI,EAC5F,OAAQ,GAAIG,EAAS,aAAa,CAAE,IAAK,EAAG,IAAK,GAAI,EACrD,OAAQ,GAAIA,EAAS,aAAa,CAAE,IAAK,EAAG,IAAK,GAAI,GACpDH,EAAO,QAAS,CAAC,CAAE,KAAM,MAAM,CAAE,GACjCA,EAAO,MAAO,CACX,gCAAiC,CAC7B,OAAYA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,GAAI,CACpE,EACD,gCAAiC,CAC7B,OAAYA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,GAAI,CACpE,EACD,iCAAkC,CAC9B,OAAYA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,GAAI,CACpE,EACD,kCAAmC,CAC/B,OAAYA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,GAAI,CACpE,EACD,qCAAsC,CAClC,aAAc,GAAIG,EAAS,aAAa,CAAE,IAAK,EAAG,IAAK,GAAI,CAC9D,EACD,gCAAiC,CAC7B,OAAQ,GAAIA,EAAS,aAAa,CAAE,IAAK,EAAG,IAAK,GAAI,CACxD,EACD,yCAA0C,CACtC,eAAgB,GAAIA,EAAS,aAAa,CAAE,IAAK,EAAG,IAAK,IAAK,EAC9D,wBAA6BH,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,IAAK,CACtF,EACD,kCAAmC,CAC/B,aAAc,GAAIG,EAAS,aAAa,CAAE,IAAK,EAAG,IAAK,GAAI,CAC9D,CACJ,CACJ,EAAE,CAAE,QAAS,iBAAkB,qBAAsB,EAAI,CAAE,EAC5D,WAAY,GAAIH,EAAO,UAAcA,GAAAA,EAAO,YAAY,CACpD,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,8BAA8B,EAAI,GAC3FA,EAAO,QAAS,CAAC,CAAE,KAAM,MAAM,CAAE,GACjCA,EAAO,MAAO,CACX,yBAA0B,CACtB,SAAU,EAAU,sBAAsB,CAC7C,EACD,oBAAqB,CACjB,YAAa,GAAIA,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,EAAG,CACzD,EACD,kBAAmB,CACf,YAAa,GAAIA,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,EAAG,CACzD,CACJ,CACzB,EAAuB,CAAE,QAAS,gBAAgB,CAAE,CAAC,CACpC,EACD,2BAA4B,CACxB,aAAc,GAAIA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,EAC9D,cAAe,GAAIA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,EAC/D,WAAY,GAAIA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,CAC/D,EACD,6BAA8B,CAC1B,mBAAwBA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,IAAK,EAC9E,8BAAmCA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,GAAI,EACxF,yCAA0C,GAAIA,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,EAAG,CACtF,EACD,6BAA8B,EAC9B,yCAA0C,CAC7C,CACb,EAAW,CAAE,QAAS,UAAW,CACjC,EAAO,CAAE,QAAS,SAAS,CAAE,EAAG,CACxB,QAAS,IAAO,EACZ,KAAM,iBACN,OAAQ,CACJ,aAAc,CACV,KAAM,mCACT,EACD,aAAc,CACV,KAAM,kCACN,YAAa,EACb,cAAe,EACf,cAAe,CAClB,EACD,eAAgB,CACZ,KAAM,gCACN,OAAQ,EACR,OAAQ,EACR,OAAQ,CACX,CACJ,CACb,EACK,CAAA,CAAC,EACF,EAAQ,SAAS,iBAAkB,GAAIA,EAAO,KAAK,GAAIA,EAAO,YAAY,CACtE,QAAS,EACT,UAAW,GAAIA,EAAO,UAAU,EAAU,WAAW,CAAC,CAC9D,EAAO,CAAE,QAAS,gBAAgB,CAAE,EAAG,CAC/B,QAAS,IAAO,EACZ,QAAS,gBACT,UAAW,CACP,CACI,KAAM,kBACN,MAAO,CACV,EACD,CACI,KAAM,qBACT,EACD,CACI,KAAM,sBACN,UAAW,aACd,CACJ,CACb,EACK,CAAA,CAAC,EACF,EAAQ,SAAS,eAAgB,GAAIA,EAAO,KAAK,GAAIA,EAAO,YAAY,CACpE,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,4BAA4B,EAAI,EAC1F,mBAAwBA,GAAAA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,EAAI,CAAA,CAAC,GAC9EA,EAAO,QAAS,CAAC,CAAE,KAAM,MAAM,CAAE,GACjCA,EAAO,MAAO,CACX,oCAAqC,CACjC,MAAO,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,EAAI,CAAA,CAAC,EACjF,WAAY,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,EAAI,CAAA,CAAC,EACtF,WAAY,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,EAAI,CAAA,CAAC,CACzF,EACD,sCAAuC,CACnC,MAAO,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,EAAI,CAAA,CAAC,EACjF,YAAa,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,EAAI,CAAA,CAAC,EACvF,WAAY,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,EAAI,CAAA,CAAC,EACtF,YAAa,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,EAAI,CAAA,CAAC,EACvF,WAAY,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,EAAI,CAAA,CAAC,CACzF,CACJ,CACT,EAAO,CAAE,qBAAsB,EAAI,CAAE,EAAG,CAChC,QAAS,IAAO,EACZ,KAAM,mCAClB,EACK,CAAA,CAAC,EACF,KAAM,GAAgB,CAClB,KAAUA,GAAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,EAC9C,MAAO,EAAU,kBAAkB,EACnC,MAAO,GAAIA,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,IAAK,OAAO,SAAS,CAAE,EAAG,CAAE,QAAS,IAAM,CAAC,CAAE,CACtG,EACI,EAAQ,SAAS,uBAAwB,GAAIA,EAAO,KAAK,GAAIA,EAAO,YAAY,CAC5E,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,oCAAoC,EAAI,GACjGA,EAAO,QAAS,CAAC,CAAE,KAAM,MAAM,CAAE,GACjCA,EAAO,MAAO,CACX,gCAAiC,OAC1B,GAD0B,CAE7B,QAAaG,GAAAA,EAAS,gBAAgB,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,GAAI,EACxE,WAAY,EAAU,kBAAkB,EACxC,WAAY,GAAIH,EAAO,KAASA,GAAAA,EAAO,YAAY,CAAE,IAAK,OAAO,SAAS,CAAE,EAAG,CAAE,QAAS,IAAM,CAAC,CAAE,EACnG,OAAQ,GAAIA,EAAO,UAAU,EAAU,aAAa,CAAC,CACxD,GACD,qCAAsC,OAC/B,GAD+B,CAElC,UAAW,GAAIA,EAAO,YAAY,CAAE,IAAK,GAAI,IAAK,EAAG,EACrD,YAAa,GAAIA,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,EAAG,EACtD,cAAe,EAAU,aAAa,EACtC,WAAY,GAAIA,EAAO,UAAU,EAAU,aAAa,CAAC,EACzD,YAAa,GAAIA,EAAO,UAAU,EAAU,aAAa,CAAC,CAC7D,GACD,2BAA4B,OACrB,GADqB,CAExB,OAAQ,GAAIA,EAAO,UAAU,EAAU,aAAa,CAAC,CACxD,GACD,0CAA2C,CACvC,SAAU,EAAY,EACtB,OAAQ,GAAIG,EAAS,aAAc,EACnC,OAAQ,EAAU,sBAAsB,CAC3C,EACD,mCAAoC,CAChC,MAAO,EAAU,aAAa,CACjC,EACD,kCAAmC,CAC/B,MAAO,EAAU,aAAa,CACjC,EACD,oCAAqC,CACjC,QAAS,GAAIH,EAAO,UAAU,GAAIA,EAAO,KAAK,GAAIA,EAAO,YAAY,CACjE,OAAQ,GAAIA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,EACxD,KAAM,EAAU,aAAa,CACjD,CAAiB,EAAG,CACA,QAAS,IAAO,EACZ,KAAM,CAAE,CAChC,EACA,CAAiB,CAAC,CACL,CACJ,CACT,EAAO,CAAE,QAAS,sBAAsB,CAAE,EAAG,CACrC,QAAS,IAAO,EACZ,KAAM,iCAClB,EACK,CAAA,CAAC,EACF,KAAM,GAAS,CACX,OAAQ,GAAIA,EAAO,KAASA,GAAAA,EAAO,aAAcA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,IAAK,IAAK,GAAI,EAAG,CAAE,UAAW,EAAG,UAAW,CAAC,CAAE,CAAC,CAClJ,EACI,EAAQ,SAAS,2BAA4B,GAAIA,EAAO,KAAK,GAAIA,EAAO,YAAY,CAChF,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,sBAAsB,EAAI,GACnFA,EAAO,QAAS,CAAC,CAAE,KAAM,MAAM,CAAE,GACjCA,EAAO,MAAO,CACX,mBAAoB,CAChB,WAAY,GAAIA,EAAO,UAAU,EAAU,0BAA0B,CAAC,CACzE,EACD,mBAAoB,CAChB,WAAY,GAAIA,EAAO,UAAU,EAAU,0BAA0B,CAAC,CACzE,EACD,4BAA6B,OACtB,GADsB,CAEzB,UAAW,EAAW,CAAE,KAAM,WAAW,CAAE,CAC9C,GACD,gCAAiC,KAC1B,GAEP,+BAAgC,OACzB,GADyB,CAE5B,IAAK,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,YAAY,EAAI,CAC5E,GACD,4BAA6B,OACtB,GADsB,CAEzB,OAAYG,GAAAA,EAAS,KAAK,CAAE,SAAU,OAAO,CAAE,CAClD,GACD,4BAA6B,OACtB,GADsB,CAEzB,OAAYA,GAAAA,EAAS,KAAK,CAAE,SAAU,OAAO,CAAE,CAClD,GACD,gBAAiB,CACb,UAAW,EAAU,0BAA0B,CAClD,EACD,0BAA2B,OACpB,GADoB,CAEvB,MAAO,EAAU,aAAa,CACjC,EACJ,CACT,EAAO,CAAE,QAAS,iBAAiB,CAAE,EAAG,CAChC,QAAS,IAAO,EACZ,KAAM,gBAClB,EACK,CAAA,CAAC,CACN,CACA,GAAA,mBAA6B,aCjhB7B,OAAO,eAAe,GAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EAC5B,GAAA,yBAAG,OACnC,KAAMH,GAASC,EACTE,GAAWD,EACXI,EAAoBF,GAC1B,YAAkC,EAAS,EAAa,CACpD,KAAM,GAAYJ,EAAO,UAAU,KAAK,OAAW,CAAO,EACpD,EAAaA,EAAO,WAAW,KAAK,OAAW,CAAW,EAChE,EAAQ,SAAS,iBAAkB,GAAIA,EAAO,KAAK,GAAIA,EAAO,YAAY,CACtE,UAAeA,GAAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,EACnD,uBAAwB,GAAIA,EAAO,aAAc,EACjD,iBAAkB,GAAIA,EAAO,aAAc,EAC3C,kBAAmB,GAAIA,EAAO,aAAc,EAC5C,qBAAsB,GAAIA,EAAO,aAAc,EAC/C,cAAe,EAAU,aAAa,EACtC,cAAe,EAAU,aAAa,EACtC,MAAO,GAAIA,EAAO,YAAY,CAC1B,MAAWA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,MAAO,IAAK,IAAI,CAAE,EACtE,OAAYA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,KAAM,EACnE,gBAAqBA,GAAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,EACzD,cAAmBA,GAAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,EACvD,SAAU,GAAIA,EAAO,YAAY,CAC7B,SAAU,GAAIA,EAAO,YAAa,EAClC,QAAS,GAAIA,EAAO,YAAa,EACjC,UAAW,GAAIA,EAAO,YAAa,EACnC,SAAU,GAAIA,EAAO,YAAa,CAClD,CAAa,EACD,aAAc,EAAU,cAAc,EACtC,UAAW,EAAU,cAAc,EACnC,eAAgB,EAAU,gBAAgB,CACtD,CAAS,EACD,aAAc,GAAIA,EAAO,YAAY,CACjC,QAASM,EAAkB,gBAC3B,wBAAyBA,EAAkB,gBAC3C,mBAAoBA,EAAkB,gBACtC,KAAMA,EAAkB,gBACxB,YAAaA,EAAkB,gBAC/B,WAAYA,EAAkB,gBAC9B,WAAYA,EAAkB,gBAC9B,QAASA,EAAkB,gBAC3B,MAAOA,EAAkB,gBACzB,OAAQA,EAAkB,gBAC1B,mCAAoCA,EAAkB,gBACtD,cAAeA,EAAkB,gBACjC,YAAaA,EAAkB,gBAC/B,YAAaA,EAAkB,gBAC/B,SAAUA,EAAkB,eACxC,CAAS,EACD,aAAc,EAAU,eAAe,CAC1C,EAAE,CAAE,QAAS,gBAAkB,CAAA,EAAG,GAAS,EACxC,QAAS,IAAMH,GAAS,qBACxB,SAAU,CAAC,EAAM,EAAO,EAAQ,IAAY,CACxC,GAAI,GAAI,EAAI,EAAI,EAChB,SAAQ,EAAK,SAAS,EAAM,EAAO,EAAQ,CAAO,EAC5C,IAAK,GAAU,KAA2B,OAAS,EAAM,SAAW,MAAQ,IAAO,OAAS,OAAS,EAAG,OAAW,IAAK,GAAU,KAA2B,OAAS,EAAM,SAAW,MAAQ,IAAO,OAAS,OAAS,EAAG,QAAU,MACvO,EAAO,IAAI,EAAK,KAAK,OAAO,EAAE,KAAK,QAAQ,EAAG,0BAA2B,IAAI,EAE3E,IAAK,GAAU,KAA2B,OAAS,EAAM,SAAW,MAAQ,IAAO,OAAS,OAAS,EAAG,QAAU,KAAO,GAC3H,EAAO,IAAI,EAAK,KAAK,OAAO,EAAE,KAAK,QAAQ,EAAG,wBAAyB,EAAE,EAEvE,IAAK,GAAU,KAA2B,OAAS,EAAM,SAAW,MAAQ,IAAO,OAAS,OAAS,EAAG,OAAS,KAAO,GAC1H,EAAO,IAAI,EAAK,KAAK,OAAO,EAAE,KAAK,OAAO,EAAG,uBAAwB,EAAE,EAEpE,CACV,CACJ,EAAC,CAAC,EACH,EAAQ,SAAS,eAAoBH,GAAAA,EAAO,YAAY,CACpD,OAAQ,GAAIA,EAAO,YAAa,EAChC,KAAM,GAAIA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,EACtD,OAAYA,GAAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,CACnD,CAAA,CAAC,EACF,EAAQ,SAAS,kBAAmB,GAAIA,EAAO,KAAK,GAAIA,EAAO,YAAY,CACvE,MAAO,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,OAAO,EAAI,EACtE,OAAQ,GAAIA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,CAChE,CAAK,EAAG,CACA,QAAS,IAAO,EACZ,MAAO,kBACP,OAAQ,CACpB,EACK,CAAA,CAAC,EACF,EAAQ,SAAS,iBAAkB,GAAIA,EAAO,KAAK,GAAIA,EAAO,YAAY,CACtE,OAAQ,EAAU,gBAAgB,EAClC,OAAQ,EAAU,gBAAgB,EAClC,WAAY,EAAU,gBAAgB,CAC9C,EAAO,CAAE,QAAS,gBAAgB,CAAE,EAAG,CAC/B,QAAS,IAAO,EACZ,OAAQ,EACR,OAAQ,EACR,WAAY,CACxB,EACK,CAAA,CAAC,EACF,EAAQ,SAAS,iBAAkB,GAAIA,EAAO,KAAK,GAAIA,EAAO,YAAY,CACtE,CACI,KAAM,SACN,KAAM,GAAIA,EAAO,YAAa,CACjC,EACD,CACI,KAAM,SACN,KAAM,GAAIA,EAAO,YAAY,CACzB,WAAgBA,GAAAA,EAAO,KAAK,EAAW,CAAE,KAAM,CAAC,aAAc,UAAW,YAAa,QAAQ,CAAG,CAAA,EAAG,CAAE,QAAS,IAAM,aAAc,EACnI,OAAQ,GAAIA,EAAO,UAAcA,GAAAA,EAAO,YAAY,CAChD,SAAU,GAAIA,EAAO,YAAa,EAClC,WAAY,GAAIA,EAAO,YAAa,EACpC,MAAO,EAAU,gBAAgB,CACrD,CAAiB,CAAC,CAClB,EAAe,CAAE,SAAU,WAAY,CAC9B,CACJ,EAAE,CAAE,QAAS,iBAAkB,cAAe,gBAAkB,CAAA,EAAG,CAChE,QAAS,IAAM,CAClB,CAAA,CAAC,CACN,CACA,GAAA,yBAAmC,aC/GnC,OAAO,eAAe,GAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EACzB,GAAA,4BAAG,OACtC,KAAMA,GAASC,EACTE,GAAWD,EACXK,GAAUH,GAChB,YAAqC,EAAS,EAAa,CACvD,KAAM,GAAaJ,EAAO,WAAW,KAAK,OAAW,CAAW,EAC1D,EAAYA,EAAO,UAAU,KAAK,OAAW,CAAO,EACpD,EAAqB,CACvB,WAAY,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,yBAAyB,EAAI,EAC7F,KAAUA,GAAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,CACtD,EACI,EAAQ,SAAS,+BAAgC,GAAIA,EAAO,KAAK,GAAIA,EAAO,YAAY,CACpF,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,4BAA4B,EAAI,EAC1F,OAAYG,GAAAA,GAAS,KAAK,CAAE,SAAU,iBAAiB,CAAE,EACzD,YAAiBH,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,EACtD,gBAAqBA,GAAAA,EAAO,SAAS,EAAW,CAAE,KAAM,eAAgB,KAAOA,EAAO,YAAY,CAC9F,aAAc,EAAW,CAAE,KAAM,CAAC,QAAS,MAAM,EAAG,EACpD,OAAQO,GAAQ,wBAC5B,CAAS,CAAC,EACF,OAAQ,GAAIP,EAAO,YAAY,EAC1BA,EAAO,QAAS,CAAC,MAAO,CAAE,KAAM,OAAQ,GACxCA,EAAO,MAAO,CACX,4BAA6B,EAC7B,4BAA6B,CACzB,YAAa,GAAIA,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,EAAG,CACzD,EACD,sBAAuB,CACnB,KAAM,EAAW,CAAE,KAAM,CAAC,SAAU,MAAM,EAAG,EAC7C,YAAa,GAAIA,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,EAAG,CACzD,EACD,0BAA2B,CACvB,OAAQ,EAAU,iBAAiB,CACtC,EACD,uBAAwB,CACpB,WAAY,EAAW,CAAE,KAAM,CAAC,OAAQ,MAAM,EAAG,EACjD,kBAAmB,GAAIA,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,EAAG,EAC5D,oBAAqB,GAAIA,EAAO,YAAY,CAAE,IAAK,EAAG,IAAK,EAAG,CACjE,EACD,6BAA8B,EAC9B,0BAA2B,CACvB,YAAa,EAAW,CAAE,KAAM,CAAC,WAAY,SAAU,SAAU,WAAY,SAAU,QAAS,OAAO,CAAC,CAAE,CAC7G,EACD,sBAAuB,CACnB,WAAgBA,GAAAA,EAAO,KAAK,GAAIA,EAAO,aAAW,CAAG,CACxD,EACD,oBAAqB,CACxB,CACJ,EAAE,CAAE,QAAS,oBAAqB,qBAAsB,EAAI,CAAE,CACvE,EAAO,CAAE,QAAS,mBAAmB,CAAE,EAAG,CAClC,QAAS,IAAO,EACZ,KAAM,4BACN,OAAQ,CACJ,WAAY,2BACZ,KAAM,CACT,CACb,EACK,CAAA,CAAC,CACN,CACA,GAAA,4BAAsC,aC3DtC,OAAO,eAAe,GAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EAC7B,GAAA,wBAAG,OAClC,KAAMA,GAASC,EACTE,GAAWD,EACjB,YAAiC,EAAS,EAAa,CACnD,KAAM,GAAaF,EAAO,WAAW,KAAK,OAAW,CAAW,EAC1D,EAAYA,EAAO,UAAU,KAAK,OAAW,CAAO,EAC1D,EAAQ,SAAS,gBAAqBA,GAAAA,EAAO,YAAY,CACrD,WAAY,GAAIA,EAAO,UAAcA,GAAAA,EAAO,YAAY,CACpD,UAAeG,GAAAA,GAAS,KAAK,CAAE,SAAU,wCAAwC,CAAE,EACnF,OAAQ,GAAIH,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,CACpE,CAAS,CAAC,EACF,UAAW,EAAU,qBAAqB,CAC7C,EAAE,CAAE,QAAS,eAAiB,CAAA,CAAC,EAChC,EAAQ,SAAS,sBAAuB,GAAIA,EAAO,KAAK,GAAIA,EAAO,YAAY,CAC3E,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,8BAA8B,EAAI,GAC3FA,EAAO,QAAS,CAAC,CAAE,KAAM,MAAM,CAAE,GACjCA,EAAO,MAAO,CACX,6BAA8B,CAC1B,SAAcA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,KAAM,EACrE,OAAYA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,KAAM,EACnE,MAAWA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,KAAM,CACrE,EACD,0BAA2B,CACvB,YAAa,GAAIA,EAAO,KAAK,EAAW,CAAE,KAAM,CAAC,SAAU,YAAY,CAAC,CAAE,CAAC,EAC3E,QAAaA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,KAAM,EACpE,WAAgBA,GAAAA,EAAO,KAAK,GAAIA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,IAAK,IAAM,CAAA,EAAG,AAAC,GAAU,EACjG,SAAU,CAAC,EAAM,EAAO,EAAQ,IACxB,GAAK,MAAM,KAAK,SAAS,EAAE,IAAK,GAAI,GACpC,EAAO,IAAI,EAAM,kCAAkC,EAEhD,EAAK,SAAS,EAAM,EAAO,EAAQ,CAAO,EAEzE,EAAkB,EACF,KAAM,GAAIA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,EACtD,cAAe,GAAIA,EAAO,KAASA,GAAAA,EAAO,aAAcA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,IAAK,IAAK,GAAI,EAAG,CAAE,UAAW,EAAG,UAAW,CAAC,CAAE,CAAC,CACpJ,CACJ,CACT,EAAO,CAAE,QAAS,qBAAqB,CAAE,EAAG,CACpC,QAAS,IAAO,EACZ,KAAM,0BACN,QAAS,GACT,WAAY,EACZ,KAAM,KAAK,MAAM,KAAK,OAAM,EAAK,UAAU,CACvD,EACK,CAAA,CAAC,CACN,CACA,GAAA,wBAAkC,aC/ClC,OAAO,eAAe,GAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EAC9B,GAAA,uBAAG,OACjC,KAAMA,GAASC,EACf,YAAgC,EAAS,EAAa,CAClD,KAAM,GAAaD,EAAO,WAAW,KAAK,OAAW,CAAW,EAC1D,EAAYA,EAAO,UAAU,KAAK,OAAW,CAAO,EAC1D,EAAQ,SAAS,gBAAiB,GAAIA,EAAO,KAAK,GAAIA,EAAO,YAAY,CACrE,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,wBAAwB,EAAI,GACrFA,EAAO,QAAS,CAAC,CAAE,KAAM,MAAM,CAAE,GACjCA,EAAO,MAAO,CACX,kBAAmB,CACf,aAAc,EAAU,aAAa,CACxC,EACD,sBAAuB,CACnB,QAAS,EAAU,oBAAoB,EACvC,SAAU,EAAU,eAAe,CACtC,EACD,qBAAsB,CAClB,SAAU,GAAIA,EAAO,UAAU,EAAU,eAAe,CAAC,CAC5D,CACJ,CACJ,EAAE,CAAE,QAAS,gBAAiB,SAAU,MAAQ,CAAA,EAAG,CAChD,QAAS,IAAO,EACZ,KAAM,kBACN,aAAc,CACV,KAAM,iBACT,CACb,EACK,CAAA,CAAC,EACF,EAAQ,SAAS,qBAAsB,GAAIA,EAAO,KAAK,GAAIA,EAAO,YAAY,CAC1E,KAAM,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,6BAA6B,EAAI,GAC1FA,EAAO,QAAS,CAAC,CAAE,KAAM,MAAM,CAAE,GACjCA,EAAO,MAAO,CACX,kBAAmB,CACf,SAAcA,GAAAA,EAAO,UAAU,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,iBAAiB,CAAI,CAAA,CAAC,CAC5G,EACD,4BAA6B,CACzB,MAAO,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,iBAAiB,EAAI,EAChF,cAAe,GAAIA,EAAO,YAAa,EACvC,cAAe,GAAIA,EAAO,YAAa,CAC1C,EACD,gBAAiB,CACb,OAAQ,EAAU,oBAAoB,CACzC,EACD,wBAAyB,CACrB,OAAYA,GAAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,EAChD,aAAc,EAAW,CAAE,KAAM,cAAc,CAAE,EACjD,kBAAmB,GAAIA,EAAO,aAAc,EAC5C,sBAA2BA,GAAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,CAClE,EACD,8BAA+B,CAC3B,YAAa,EAAY,EACzB,kBAAmB,EAAU,iBAAiB,EAC9C,mBAAoB,EAAU,iBAAiB,CAClD,EACD,kBAAmB,CACf,OAAYA,GAAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,EAChD,yBAA8BA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,IAAK,IAAK,EAAE,CAAE,EACrF,gBAAiB,GAAIA,EAAO,aAAc,CAC7C,EACD,oBAAqB,CACjB,OAAQ,EAAU,iBAAiB,EACnC,yBAA8BA,GAAAA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,IAAK,IAAK,EAAE,CAAE,EACrF,gBAAiB,GAAIA,EAAO,aAAc,CAC7C,CACJ,CACT,EAAO,CAAE,QAAS,oBAAoB,CAAE,EAAG,CACnC,QAAS,IAAO,EACZ,KAAM,kBACN,SAAU,kBACtB,EACK,CAAA,CAAC,CACN,CACA,GAAA,uBAAiC,aCzEjC,OAAO,eAAe,GAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EAC7B,GAAA,wBAAG,OAClC,KAAMA,GAASC,EAETI,GAAkBH,EACxB,YAAiC,EAAS,EAAa,CACnD,KAAM,GAAYF,EAAO,UAAU,KAAK,OAAW,CAAO,EACpD,EAAaA,EAAO,WAAW,KAAK,OAAW,CAAW,EAChE,EAAQ,SAAS,gBAAiB,GAAIA,EAAO,KAAK,GAAIA,EAAO,YAAY,CACrE,KAAM,EAAY,EAClB,SAAU,EAAY,EACtB,SAAU,GAAIA,EAAO,UAAU,EAAU,2BAA2B,CAAC,CAC7E,EAAO,CAAE,QAAS,eAAe,CAAE,EAAG,CAC9B,QAAS,IAAO,EACZ,SAAU,kBACV,SAAU,CACN,CACI,OAAQ,EACR,QAAS,CACL,aAAc,gCACd,WAAY,QACZ,WAAY,iBACf,CACJ,CACJ,CACb,EACK,CAAA,CAAC,EACF,EAAQ,SAAS,4BAA6B,GAAIA,EAAO,KAAK,GAAIA,EAAO,YAAY,CACjF,OAAQ,GAAIA,EAAO,YAAY,CAAE,QAAS,GAAM,IAAK,EAAG,EACxD,QAAS,EAAU,kBAAkB,CAC7C,EAAO,CAAE,SAAU,MAAM,CAAE,EAAG,CACtB,QAAS,IAAO,EACZ,OAAQ,EACR,QAAS,CACL,aAAc,gCACd,WAAY,QACZ,WAAY,iBACf,CACb,EACK,CAAA,CAAC,EACF,EAAQ,SAAS,mBAAoB,GAAIA,EAAO,KAAK,GAAIA,EAAO,YAAY,CACxE,aAAc,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,iCAAiC,EAAI,EACvG,WAAY,EAAW,CAAE,KAAM,CAAC,QAAS,kBAAkB,EAAG,GAC7DA,EAAO,QAAS,CAAC,CAAE,KAAM,cAAc,CAAE,GACzCA,EAAO,MAAO,CACX,iCAAkC,CAC9B,QAAS,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,0BAA0B,EAAI,CAC9F,EACD,uCAAwC,CACpC,SAAU,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,YAAY,EAAI,EAC9E,WAAYK,GAAgB,UAC/B,EACD,8BAA+B,CAC3B,SAAU,GAAIL,EAAO,UAAU,EAAU,kBAAkB,CAAC,CAC/D,EACD,gCAAiC,CAC7B,SAAU,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,YAAY,EAAI,EAC9E,WAAYK,GAAgB,UAC/B,CACJ,CACJ,EAAE,CAAE,QAAS,mBAAoB,qBAAsB,EAAM,CAAA,EAAG,CAC7D,QAAS,IAAO,EACZ,aAAc,gCACd,WAAY,QACZ,WAAY,iBACxB,EACK,CAAA,CAAC,CACN,CACA,GAAA,wBAAkC,GCpElC,OAAO,eAAe,GAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EACjC,GAAA,oBAAG,OAC9B,KAAM,IAAUJ,GACV,GAAWC,GACX,GAAcE,GACd,GAAoBI,GACpB,GAAYC,GACZ,GAAkBC,GAClB,GAAkBC,EAClB,GAAqBC,GACrB,GAAiBC,GACjB,GAAgBC,GAChB,GAAiBC,GACvB,YAA6B,EAAS,EAAa,CAE/C,AAAA,GAAI,GAAgB,0BAA0B,EAAS,CAAW,EAClE,GAAI,GAAkB,4BAA4B,EAAS,CAAW,EACtE,GAAI,GAAQ,kBAAkB,EAAS,CAAW,EAClD,GAAI,GAAS,mBAAmB,EAAS,CAAW,EACpD,GAAI,GAAY,sBAAsB,EAAS,CAAW,EAC1D,GAAI,GAAU,oBAAoB,EAAS,CAAW,EACtD,GAAI,GAAgB,0BAA0B,EAAS,CAAW,EAClE,GAAI,GAAmB,6BAA6B,EAAS,CAAW,EACxE,GAAI,GAAe,yBAAyB,EAAS,CAAW,EAChE,GAAI,GAAc,wBAAwB,EAAS,CAAW,EAC9D,GAAI,GAAe,yBAAyB,EAAS,CAAW,CACpE,CACA,GAAA,oBAA8B,aC3B9B,OAAO,eAAe,GAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EAC5B,GAAA,yBAAG,OACnC,KAAMf,GAASC,EACf,YAAkC,EAAS,EAAa,CACpD,KAAM,GAAYD,EAAO,UAAU,KAAK,OAAW,CAAO,EACpD,EAAaA,EAAO,WAAW,KAAK,OAAW,CAAW,EAChE,EAAQ,SAAS,iBAAkB,GAAIA,EAAO,KAAK,GAAIA,EAAO,YAAY,CACtE,kBAAmB,GAAIA,EAAO,aAAc,EAC5C,YAAa,GAAIA,EAAO,aAAc,EACtC,KAAUA,GAAAA,EAAO,YAAY,CAAE,QAAS,EAAI,CAAE,EAC9C,WAAgBA,GAAAA,EAAO,SAAS,EAAW,CAAE,UAAW,WAAY,OAAQ,CAAE,KAAM,YAAc,CAAA,CAAE,EAAG,EAAU,WAAW,CAAC,CACrI,EAAO,CAAE,QAAS,gBAAgB,CAAE,EAAG,CAC/B,QAAS,IAAM,CACX,KAAM,GAAO,KAAK,MAAM,KAAK,SAAY,UAAW,EAAI,WACxD,MAAO,CACH,kBAAmB,GACnB,YAAa,GACb,OACA,WAAY,CACR,sBAAuB,CACnB,KAAM,sBACN,UAAW,CACP,KAAM,kBACN,OACA,aAAc,CACV,KAAM,wBACN,OAAQ,qBACX,EACD,SAAU,qBACb,CACJ,EACD,uBAAwB,CACpB,KAAM,uBACN,UAAW,CACP,KAAM,kBACN,OACA,aAAc,CACV,KAAM,wBACN,OAAQ,kBACX,EACD,SAAU,kBACb,CACJ,EACD,oBAAqB,CACjB,KAAM,oBACN,UAAW,CACP,KAAM,kBACN,OACA,aAAc,CACV,KAAM,oBACN,MACH,EACD,SAAU,eACb,CACJ,CACJ,CACjB,CACS,CACJ,CAAA,CAAC,CACN,CACA,GAAA,yBAAmC,GC5DnC,OAAO,eAAe,GAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EACzC,GAAA,YAAG,OACtB,KAAM,IAAgBC,GAChB,GAAWC,GACX,GAAWE,EACX,GAAcI,GACd,GAAcC,GACd,GAAkBC,GAClB,GAAiBC,GACjB,GAAcC,GACd,GAAeC,GACf,GAAeC,GACf,GAAWC,GACX,GAASC,GACT,GAAkBC,GAClB,GAAaC,GACb,GAAkBC,GACxB,YAAqB,EAAS,EAAa,CAEvC,AAAA,GAAI,GAAS,mBAAmB,EAAS,CAAW,EACpD,GAAI,GAAc,wBAAwB,EAAS,CAAW,EAC9D,GAAI,GAAS,mBAAmB,EAAS,CAAW,EACpD,GAAI,GAAY,sBAAsB,EAAS,CAAW,EAC1D,GAAI,GAAgB,0BAA0B,EAAS,CAAW,EAClE,GAAI,GAAY,sBAAsB,EAAS,CAAW,EAC1D,GAAI,GAAe,yBAAyB,EAAS,CAAW,EAChE,GAAI,GAAY,sBAAsB,EAAS,CAAW,EAC1D,GAAI,GAAa,uBAAuB,EAAS,CAAW,EAC5D,GAAI,GAAa,uBAAuB,EAAS,CAAW,EAC5D,GAAI,GAAS,mBAAmB,EAAS,CAAW,EACpD,GAAI,GAAO,iBAAiB,EAAS,CAAW,EAChD,GAAI,GAAgB,0BAA0B,EAAS,CAAW,EAClE,GAAI,GAAW,qBAAqB,EAAS,CAAW,EACxD,GAAI,GAAgB,0BAA0B,EAAS,CAAW,CACtE,CACA,GAAA,YAAsB,GCnCtB,GAAI,IAAmBC,IAAQA,GAAK,iBAAqB,QAAO,OAAU,SAAS,EAAG,EAAG,EAAG,EAAI,CAC5F,AAAI,IAAO,QAAW,GAAK,GAC3B,GAAI,GAAO,OAAO,yBAAyB,EAAG,CAAC,EAC/C,AAAI,EAAC,GAAS,QAAS,GAAO,CAAC,EAAE,WAAa,EAAK,UAAY,EAAK,gBAClE,GAAO,CAAE,WAAY,GAAM,IAAK,UAAW,CAAE,MAAO,GAAE,EAAG,IAE3D,OAAO,eAAe,EAAG,EAAI,CAAI,CACrC,EAAM,SAAS,EAAG,EAAG,EAAG,EAAI,CACxB,AAAI,IAAO,QAAW,GAAK,GAC3B,EAAE,GAAM,EAAE,EACd,GACI,GAAsBA,IAAQA,GAAK,oBAAwB,QAAO,OAAU,SAAS,EAAG,EAAG,CAC3F,OAAO,eAAe,EAAG,UAAW,CAAE,WAAY,GAAM,MAAO,CAAC,CAAE,CACtE,EAAK,SAAS,EAAG,EAAG,CAChB,EAAE,QAAa,CACnB,GACI,GAAgBA,IAAQA,GAAK,cAAiB,SAAU,EAAK,CAC7D,GAAI,GAAO,EAAI,WAAY,MAAO,GAClC,GAAI,GAAS,CAAA,EACb,GAAI,GAAO,KAAM,OAAS,KAAK,GAAK,AAAI,IAAM,WAAa,OAAO,UAAU,eAAe,KAAK,EAAK,CAAC,GAAG,GAAgB,EAAQ,EAAK,CAAC,EACvI,UAAmB,EAAQ,CAAG,EACvB,CACX,EACA,OAAO,eAAe,EAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EAC5D,GAAA,IAAA,EAAA,WAAqB,GAAsB,EAAA,eAAG,iBAAsB,OACpE,KAAM,IAASnB,EACT,GAAgBC,GAChB,GAAYE,GAClB,GAAA,IAAA,EAAA,YAAsB,GAAaI,CAAwB,EAC3D,aAA0B,CACtB,KAAM,GAAc,GAAI,IAAO,mBAC/B,SAAI,GAAc,iBAAiB,CAAW,EACvC,CACX,CACA,GAAsB,IAAA,EAAA,eAAG,GAezB,YAAoB,EAAa,CAC7B,KAAM,GAAU,GAAI,IAAO,eAC3B,MAAA,GAAI,GAAU,aAAa,EAAS,CAAW,EACxC,CACX,CACA,GAAA,EAAA,WAAqB"} \ No newline at end of file diff --git a/assets/index.569a7228.js b/assets/index.9d4d1607.js similarity index 99% rename from assets/index.569a7228.js rename to assets/index.9d4d1607.js index f3c6faee..56ee5299 100644 --- a/assets/index.569a7228.js +++ b/assets/index.9d4d1607.js @@ -1,4 +1,4 @@ -var Xi=Object.defineProperty,Ji=Object.defineProperties;var zi=Object.getOwnPropertyDescriptors;var Mt=Object.getOwnPropertySymbols;var _i=Object.prototype.hasOwnProperty,Ki=Object.prototype.propertyIsEnumerable;var Rt=(o,p,x)=>p in o?Xi(o,p,{enumerable:!0,configurable:!0,writable:!0,value:x}):o[p]=x,Lt=(o,p)=>{for(var x in p||(p={}))_i.call(p,x)&&Rt(o,x,p[x]);if(Mt)for(var x of Mt(p))Ki.call(p,x)&&Rt(o,x,p[x]);return o},Ut=(o,p)=>Ji(o,zi(p));import{c as ji}from"./index.b990f5f5.js";function $i(o,p){return p.forEach(function(x){x&&typeof x!="string"&&!Array.isArray(x)&&Object.keys(x).forEach(function(c){if(c!=="default"&&!(c in o)){var C=Object.getOwnPropertyDescriptor(x,c);Object.defineProperty(o,c,C.get?C:{enumerable:!0,get:function(){return x[c]}})}})}),Object.freeze(Object.defineProperty(o,Symbol.toStringTag,{value:"Module"}))}var ei={exports:{}};(function(o,p){(function(c,C){o.exports=C()})(ji,function(){return function(x){var c={};function C(d){if(c[d])return c[d].exports;var D=c[d]={exports:{},id:d,loaded:!1};return x[d].call(D.exports,D,D.exports,C),D.loaded=!0,D.exports}return C.m=x,C.c=c,C.p="",C(0)}([function(x,c,C){Object.defineProperty(c,"__esModule",{value:!0});var d=C(1),D=C(3),s=C(8),l=C(15);function A(f,e,i){var n=null,a=function(X,z){i&&i(X,z),n&&n.visit(X,z)},E=typeof i=="function"?a:null,F=!1;if(e){F=typeof e.comment=="boolean"&&e.comment;var T=typeof e.attachComment=="boolean"&&e.attachComment;(F||T)&&(n=new d.CommentHandler,n.attach=T,e.comment=!0,E=a)}var I=!1;e&&typeof e.sourceType=="string"&&(I=e.sourceType==="module");var P;e&&typeof e.jsx=="boolean"&&e.jsx?P=new D.JSXParser(f,e,E):P=new s.Parser(f,e,E);var R=I?P.parseModule():P.parseScript(),L=R;return F&&n&&(L.comments=n.comments),P.config.tokens&&(L.tokens=P.tokens),P.config.tolerant&&(L.errors=P.errorHandler.errors),L}c.parse=A;function S(f,e,i){var n=e||{};return n.sourceType="module",A(f,n,i)}c.parseModule=S;function g(f,e,i){var n=e||{};return n.sourceType="script",A(f,n,i)}c.parseScript=g;function h(f,e,i){var n=new l.Tokenizer(f,e),a;a=[];try{for(;;){var E=n.getNextToken();if(!E)break;i&&(E=i(E)),a.push(E)}}catch(F){n.errorHandler.tolerate(F)}return n.errorHandler.tolerant&&(a.errors=n.errors()),a}c.tokenize=h;var y=C(2);c.Syntax=y.Syntax,c.version="4.0.1"},function(x,c,C){Object.defineProperty(c,"__esModule",{value:!0});var d=C(2),D=function(){function s(){this.attach=!1,this.comments=[],this.stack=[],this.leading=[],this.trailing=[]}return s.prototype.insertInnerComments=function(l,A){if(l.type===d.Syntax.BlockStatement&&l.body.length===0){for(var S=[],g=this.leading.length-1;g>=0;--g){var h=this.leading[g];A.end.offset>=h.start&&(S.unshift(h.comment),this.leading.splice(g,1),this.trailing.splice(g,1))}S.length&&(l.innerComments=S)}},s.prototype.findTrailingComments=function(l){var A=[];if(this.trailing.length>0){for(var S=this.trailing.length-1;S>=0;--S){var g=this.trailing[S];g.start>=l.end.offset&&A.unshift(g.comment)}return this.trailing.length=0,A}var h=this.stack[this.stack.length-1];if(h&&h.node.trailingComments){var y=h.node.trailingComments[0];y&&y.range[0]>=l.end.offset&&(A=h.node.trailingComments,delete h.node.trailingComments)}return A},s.prototype.findLeadingComments=function(l){for(var A=[],S;this.stack.length>0;){var g=this.stack[this.stack.length-1];if(g&&g.start>=l.start.offset)S=g.node,this.stack.pop();else break}if(S){for(var h=S.leadingComments?S.leadingComments.length:0,y=h-1;y>=0;--y){var f=S.leadingComments[y];f.range[1]<=l.start.offset&&(A.unshift(f),S.leadingComments.splice(y,1))}return S.leadingComments&&S.leadingComments.length===0&&delete S.leadingComments,A}for(var y=this.leading.length-1;y>=0;--y){var g=this.leading[y];g.start<=l.start.offset&&(A.unshift(g.comment),this.leading.splice(y,1))}return A},s.prototype.visitNode=function(l,A){if(!(l.type===d.Syntax.Program&&l.body.length>0)){this.insertInnerComments(l,A);var S=this.findTrailingComments(A),g=this.findLeadingComments(A);g.length>0&&(l.leadingComments=g),S.length>0&&(l.trailingComments=S),this.stack.push({node:l,start:A.start.offset})}},s.prototype.visitComment=function(l,A){var S=l.type[0]==="L"?"Line":"Block",g={type:S,value:l.value};if(l.range&&(g.range=l.range),l.loc&&(g.loc=l.loc),this.comments.push(g),this.attach){var h={comment:{type:S,value:l.value,range:[A.start.offset,A.end.offset]},start:A.start.offset};l.loc&&(h.comment.loc=l.loc),l.type=S,this.leading.push(h),this.trailing.push(h)}},s.prototype.visit=function(l,A){l.type==="LineComment"?this.visitComment(l,A):l.type==="BlockComment"?this.visitComment(l,A):this.attach&&this.visitNode(l,A)},s}();c.CommentHandler=D},function(x,c){Object.defineProperty(c,"__esModule",{value:!0}),c.Syntax={AssignmentExpression:"AssignmentExpression",AssignmentPattern:"AssignmentPattern",ArrayExpression:"ArrayExpression",ArrayPattern:"ArrayPattern",ArrowFunctionExpression:"ArrowFunctionExpression",AwaitExpression:"AwaitExpression",BlockStatement:"BlockStatement",BinaryExpression:"BinaryExpression",BreakStatement:"BreakStatement",CallExpression:"CallExpression",CatchClause:"CatchClause",ClassBody:"ClassBody",ClassDeclaration:"ClassDeclaration",ClassExpression:"ClassExpression",ConditionalExpression:"ConditionalExpression",ContinueStatement:"ContinueStatement",DoWhileStatement:"DoWhileStatement",DebuggerStatement:"DebuggerStatement",EmptyStatement:"EmptyStatement",ExportAllDeclaration:"ExportAllDeclaration",ExportDefaultDeclaration:"ExportDefaultDeclaration",ExportNamedDeclaration:"ExportNamedDeclaration",ExportSpecifier:"ExportSpecifier",ExpressionStatement:"ExpressionStatement",ForStatement:"ForStatement",ForOfStatement:"ForOfStatement",ForInStatement:"ForInStatement",FunctionDeclaration:"FunctionDeclaration",FunctionExpression:"FunctionExpression",Identifier:"Identifier",IfStatement:"IfStatement",ImportDeclaration:"ImportDeclaration",ImportDefaultSpecifier:"ImportDefaultSpecifier",ImportNamespaceSpecifier:"ImportNamespaceSpecifier",ImportSpecifier:"ImportSpecifier",Literal:"Literal",LabeledStatement:"LabeledStatement",LogicalExpression:"LogicalExpression",MemberExpression:"MemberExpression",MetaProperty:"MetaProperty",MethodDefinition:"MethodDefinition",NewExpression:"NewExpression",ObjectExpression:"ObjectExpression",ObjectPattern:"ObjectPattern",Program:"Program",Property:"Property",RestElement:"RestElement",ReturnStatement:"ReturnStatement",SequenceExpression:"SequenceExpression",SpreadElement:"SpreadElement",Super:"Super",SwitchCase:"SwitchCase",SwitchStatement:"SwitchStatement",TaggedTemplateExpression:"TaggedTemplateExpression",TemplateElement:"TemplateElement",TemplateLiteral:"TemplateLiteral",ThisExpression:"ThisExpression",ThrowStatement:"ThrowStatement",TryStatement:"TryStatement",UnaryExpression:"UnaryExpression",UpdateExpression:"UpdateExpression",VariableDeclaration:"VariableDeclaration",VariableDeclarator:"VariableDeclarator",WhileStatement:"WhileStatement",WithStatement:"WithStatement",YieldExpression:"YieldExpression"}},function(x,c,C){var d=this&&this.__extends||function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var a in n)n.hasOwnProperty(a)&&(i[a]=n[a])};return function(i,n){e(i,n);function a(){this.constructor=i}i.prototype=n===null?Object.create(n):(a.prototype=n.prototype,new a)}}();Object.defineProperty(c,"__esModule",{value:!0});var D=C(4),s=C(5),l=C(6),A=C(7),S=C(8),g=C(13),h=C(14);g.TokenName[100]="JSXIdentifier",g.TokenName[101]="JSXText";function y(e){var i;switch(e.type){case l.JSXSyntax.JSXIdentifier:var n=e;i=n.name;break;case l.JSXSyntax.JSXNamespacedName:var a=e;i=y(a.namespace)+":"+y(a.name);break;case l.JSXSyntax.JSXMemberExpression:var E=e;i=y(E.object)+"."+y(E.property);break}return i}var f=function(e){d(i,e);function i(n,a,E){return e.call(this,n,a,E)||this}return i.prototype.parsePrimaryExpression=function(){return this.match("<")?this.parseJSXRoot():e.prototype.parsePrimaryExpression.call(this)},i.prototype.startJSX=function(){this.scanner.index=this.startMarker.index,this.scanner.lineNumber=this.startMarker.line,this.scanner.lineStart=this.startMarker.index-this.startMarker.column},i.prototype.finishJSX=function(){this.nextToken()},i.prototype.reenterJSX=function(){this.startJSX(),this.expectJSX("}"),this.config.tokens&&this.tokens.pop()},i.prototype.createJSXNode=function(){return this.collectComments(),{index:this.scanner.index,line:this.scanner.lineNumber,column:this.scanner.index-this.scanner.lineStart}},i.prototype.createJSXChildNode=function(){return{index:this.scanner.index,line:this.scanner.lineNumber,column:this.scanner.index-this.scanner.lineStart}},i.prototype.scanXHTMLEntity=function(n){for(var a="&",E=!0,F=!1,T=!1,I=!1;!this.scanner.eof()&&E&&!F;){var P=this.scanner.source[this.scanner.index];if(P===n)break;if(F=P===";",a+=P,++this.scanner.index,!F)switch(a.length){case 2:T=P==="#";break;case 3:T&&(I=P==="x",E=I||D.Character.isDecimalDigit(P.charCodeAt(0)),T=T&&!I);break;default:E=E&&!(T&&!D.Character.isDecimalDigit(P.charCodeAt(0))),E=E&&!(I&&!D.Character.isHexDigit(P.charCodeAt(0)));break}}if(E&&F&&a.length>2){var R=a.substr(1,a.length-2);T&&R.length>1?a=String.fromCharCode(parseInt(R.substr(1),10)):I&&R.length>2?a=String.fromCharCode(parseInt("0"+R.substr(1),16)):!T&&!I&&h.XHTMLEntities[R]&&(a=h.XHTMLEntities[R])}return a},i.prototype.lexJSX=function(){var n=this.scanner.source.charCodeAt(this.scanner.index);if(n===60||n===62||n===47||n===58||n===61||n===123||n===125){var a=this.scanner.source[this.scanner.index++];return{type:7,value:a,lineNumber:this.scanner.lineNumber,lineStart:this.scanner.lineStart,start:this.scanner.index-1,end:this.scanner.index}}if(n===34||n===39){for(var E=this.scanner.index,F=this.scanner.source[this.scanner.index++],T="";!this.scanner.eof();){var I=this.scanner.source[this.scanner.index++];if(I===F)break;I==="&"?T+=this.scanXHTMLEntity(F):T+=I}return{type:8,value:T,lineNumber:this.scanner.lineNumber,lineStart:this.scanner.lineStart,start:E,end:this.scanner.index}}if(n===46){var P=this.scanner.source.charCodeAt(this.scanner.index+1),R=this.scanner.source.charCodeAt(this.scanner.index+2),a=P===46&&R===46?"...":".",E=this.scanner.index;return this.scanner.index+=a.length,{type:7,value:a,lineNumber:this.scanner.lineNumber,lineStart:this.scanner.lineStart,start:E,end:this.scanner.index}}if(n===96)return{type:10,value:"",lineNumber:this.scanner.lineNumber,lineStart:this.scanner.lineStart,start:this.scanner.index,end:this.scanner.index};if(D.Character.isIdentifierStart(n)&&n!==92){var E=this.scanner.index;for(++this.scanner.index;!this.scanner.eof();){var I=this.scanner.source.charCodeAt(this.scanner.index);if(D.Character.isIdentifierPart(I)&&I!==92)++this.scanner.index;else if(I===45)++this.scanner.index;else break}var L=this.scanner.source.slice(E,this.scanner.index);return{type:100,value:L,lineNumber:this.scanner.lineNumber,lineStart:this.scanner.lineStart,start:E,end:this.scanner.index}}return this.scanner.lex()},i.prototype.nextJSXToken=function(){this.collectComments(),this.startMarker.index=this.scanner.index,this.startMarker.line=this.scanner.lineNumber,this.startMarker.column=this.scanner.index-this.scanner.lineStart;var n=this.lexJSX();return this.lastMarker.index=this.scanner.index,this.lastMarker.line=this.scanner.lineNumber,this.lastMarker.column=this.scanner.index-this.scanner.lineStart,this.config.tokens&&this.tokens.push(this.convertToken(n)),n},i.prototype.nextJSXText=function(){this.startMarker.index=this.scanner.index,this.startMarker.line=this.scanner.lineNumber,this.startMarker.column=this.scanner.index-this.scanner.lineStart;for(var n=this.scanner.index,a="";!this.scanner.eof();){var E=this.scanner.source[this.scanner.index];if(E==="{"||E==="<")break;++this.scanner.index,a+=E,D.Character.isLineTerminator(E.charCodeAt(0))&&(++this.scanner.lineNumber,E==="\r"&&this.scanner.source[this.scanner.index]===` +var Xi=Object.defineProperty,Ji=Object.defineProperties;var zi=Object.getOwnPropertyDescriptors;var Mt=Object.getOwnPropertySymbols;var _i=Object.prototype.hasOwnProperty,Ki=Object.prototype.propertyIsEnumerable;var Rt=(o,p,x)=>p in o?Xi(o,p,{enumerable:!0,configurable:!0,writable:!0,value:x}):o[p]=x,Lt=(o,p)=>{for(var x in p||(p={}))_i.call(p,x)&&Rt(o,x,p[x]);if(Mt)for(var x of Mt(p))Ki.call(p,x)&&Rt(o,x,p[x]);return o},Ut=(o,p)=>Ji(o,zi(p));import{c as ji}from"./index.38fdde83.js";function $i(o,p){return p.forEach(function(x){x&&typeof x!="string"&&!Array.isArray(x)&&Object.keys(x).forEach(function(c){if(c!=="default"&&!(c in o)){var C=Object.getOwnPropertyDescriptor(x,c);Object.defineProperty(o,c,C.get?C:{enumerable:!0,get:function(){return x[c]}})}})}),Object.freeze(Object.defineProperty(o,Symbol.toStringTag,{value:"Module"}))}var ei={exports:{}};(function(o,p){(function(c,C){o.exports=C()})(ji,function(){return function(x){var c={};function C(d){if(c[d])return c[d].exports;var D=c[d]={exports:{},id:d,loaded:!1};return x[d].call(D.exports,D,D.exports,C),D.loaded=!0,D.exports}return C.m=x,C.c=c,C.p="",C(0)}([function(x,c,C){Object.defineProperty(c,"__esModule",{value:!0});var d=C(1),D=C(3),s=C(8),l=C(15);function A(f,e,i){var n=null,a=function(X,z){i&&i(X,z),n&&n.visit(X,z)},E=typeof i=="function"?a:null,F=!1;if(e){F=typeof e.comment=="boolean"&&e.comment;var T=typeof e.attachComment=="boolean"&&e.attachComment;(F||T)&&(n=new d.CommentHandler,n.attach=T,e.comment=!0,E=a)}var I=!1;e&&typeof e.sourceType=="string"&&(I=e.sourceType==="module");var P;e&&typeof e.jsx=="boolean"&&e.jsx?P=new D.JSXParser(f,e,E):P=new s.Parser(f,e,E);var R=I?P.parseModule():P.parseScript(),L=R;return F&&n&&(L.comments=n.comments),P.config.tokens&&(L.tokens=P.tokens),P.config.tolerant&&(L.errors=P.errorHandler.errors),L}c.parse=A;function S(f,e,i){var n=e||{};return n.sourceType="module",A(f,n,i)}c.parseModule=S;function g(f,e,i){var n=e||{};return n.sourceType="script",A(f,n,i)}c.parseScript=g;function h(f,e,i){var n=new l.Tokenizer(f,e),a;a=[];try{for(;;){var E=n.getNextToken();if(!E)break;i&&(E=i(E)),a.push(E)}}catch(F){n.errorHandler.tolerate(F)}return n.errorHandler.tolerant&&(a.errors=n.errors()),a}c.tokenize=h;var y=C(2);c.Syntax=y.Syntax,c.version="4.0.1"},function(x,c,C){Object.defineProperty(c,"__esModule",{value:!0});var d=C(2),D=function(){function s(){this.attach=!1,this.comments=[],this.stack=[],this.leading=[],this.trailing=[]}return s.prototype.insertInnerComments=function(l,A){if(l.type===d.Syntax.BlockStatement&&l.body.length===0){for(var S=[],g=this.leading.length-1;g>=0;--g){var h=this.leading[g];A.end.offset>=h.start&&(S.unshift(h.comment),this.leading.splice(g,1),this.trailing.splice(g,1))}S.length&&(l.innerComments=S)}},s.prototype.findTrailingComments=function(l){var A=[];if(this.trailing.length>0){for(var S=this.trailing.length-1;S>=0;--S){var g=this.trailing[S];g.start>=l.end.offset&&A.unshift(g.comment)}return this.trailing.length=0,A}var h=this.stack[this.stack.length-1];if(h&&h.node.trailingComments){var y=h.node.trailingComments[0];y&&y.range[0]>=l.end.offset&&(A=h.node.trailingComments,delete h.node.trailingComments)}return A},s.prototype.findLeadingComments=function(l){for(var A=[],S;this.stack.length>0;){var g=this.stack[this.stack.length-1];if(g&&g.start>=l.start.offset)S=g.node,this.stack.pop();else break}if(S){for(var h=S.leadingComments?S.leadingComments.length:0,y=h-1;y>=0;--y){var f=S.leadingComments[y];f.range[1]<=l.start.offset&&(A.unshift(f),S.leadingComments.splice(y,1))}return S.leadingComments&&S.leadingComments.length===0&&delete S.leadingComments,A}for(var y=this.leading.length-1;y>=0;--y){var g=this.leading[y];g.start<=l.start.offset&&(A.unshift(g.comment),this.leading.splice(y,1))}return A},s.prototype.visitNode=function(l,A){if(!(l.type===d.Syntax.Program&&l.body.length>0)){this.insertInnerComments(l,A);var S=this.findTrailingComments(A),g=this.findLeadingComments(A);g.length>0&&(l.leadingComments=g),S.length>0&&(l.trailingComments=S),this.stack.push({node:l,start:A.start.offset})}},s.prototype.visitComment=function(l,A){var S=l.type[0]==="L"?"Line":"Block",g={type:S,value:l.value};if(l.range&&(g.range=l.range),l.loc&&(g.loc=l.loc),this.comments.push(g),this.attach){var h={comment:{type:S,value:l.value,range:[A.start.offset,A.end.offset]},start:A.start.offset};l.loc&&(h.comment.loc=l.loc),l.type=S,this.leading.push(h),this.trailing.push(h)}},s.prototype.visit=function(l,A){l.type==="LineComment"?this.visitComment(l,A):l.type==="BlockComment"?this.visitComment(l,A):this.attach&&this.visitNode(l,A)},s}();c.CommentHandler=D},function(x,c){Object.defineProperty(c,"__esModule",{value:!0}),c.Syntax={AssignmentExpression:"AssignmentExpression",AssignmentPattern:"AssignmentPattern",ArrayExpression:"ArrayExpression",ArrayPattern:"ArrayPattern",ArrowFunctionExpression:"ArrowFunctionExpression",AwaitExpression:"AwaitExpression",BlockStatement:"BlockStatement",BinaryExpression:"BinaryExpression",BreakStatement:"BreakStatement",CallExpression:"CallExpression",CatchClause:"CatchClause",ClassBody:"ClassBody",ClassDeclaration:"ClassDeclaration",ClassExpression:"ClassExpression",ConditionalExpression:"ConditionalExpression",ContinueStatement:"ContinueStatement",DoWhileStatement:"DoWhileStatement",DebuggerStatement:"DebuggerStatement",EmptyStatement:"EmptyStatement",ExportAllDeclaration:"ExportAllDeclaration",ExportDefaultDeclaration:"ExportDefaultDeclaration",ExportNamedDeclaration:"ExportNamedDeclaration",ExportSpecifier:"ExportSpecifier",ExpressionStatement:"ExpressionStatement",ForStatement:"ForStatement",ForOfStatement:"ForOfStatement",ForInStatement:"ForInStatement",FunctionDeclaration:"FunctionDeclaration",FunctionExpression:"FunctionExpression",Identifier:"Identifier",IfStatement:"IfStatement",ImportDeclaration:"ImportDeclaration",ImportDefaultSpecifier:"ImportDefaultSpecifier",ImportNamespaceSpecifier:"ImportNamespaceSpecifier",ImportSpecifier:"ImportSpecifier",Literal:"Literal",LabeledStatement:"LabeledStatement",LogicalExpression:"LogicalExpression",MemberExpression:"MemberExpression",MetaProperty:"MetaProperty",MethodDefinition:"MethodDefinition",NewExpression:"NewExpression",ObjectExpression:"ObjectExpression",ObjectPattern:"ObjectPattern",Program:"Program",Property:"Property",RestElement:"RestElement",ReturnStatement:"ReturnStatement",SequenceExpression:"SequenceExpression",SpreadElement:"SpreadElement",Super:"Super",SwitchCase:"SwitchCase",SwitchStatement:"SwitchStatement",TaggedTemplateExpression:"TaggedTemplateExpression",TemplateElement:"TemplateElement",TemplateLiteral:"TemplateLiteral",ThisExpression:"ThisExpression",ThrowStatement:"ThrowStatement",TryStatement:"TryStatement",UnaryExpression:"UnaryExpression",UpdateExpression:"UpdateExpression",VariableDeclaration:"VariableDeclaration",VariableDeclarator:"VariableDeclarator",WhileStatement:"WhileStatement",WithStatement:"WithStatement",YieldExpression:"YieldExpression"}},function(x,c,C){var d=this&&this.__extends||function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var a in n)n.hasOwnProperty(a)&&(i[a]=n[a])};return function(i,n){e(i,n);function a(){this.constructor=i}i.prototype=n===null?Object.create(n):(a.prototype=n.prototype,new a)}}();Object.defineProperty(c,"__esModule",{value:!0});var D=C(4),s=C(5),l=C(6),A=C(7),S=C(8),g=C(13),h=C(14);g.TokenName[100]="JSXIdentifier",g.TokenName[101]="JSXText";function y(e){var i;switch(e.type){case l.JSXSyntax.JSXIdentifier:var n=e;i=n.name;break;case l.JSXSyntax.JSXNamespacedName:var a=e;i=y(a.namespace)+":"+y(a.name);break;case l.JSXSyntax.JSXMemberExpression:var E=e;i=y(E.object)+"."+y(E.property);break}return i}var f=function(e){d(i,e);function i(n,a,E){return e.call(this,n,a,E)||this}return i.prototype.parsePrimaryExpression=function(){return this.match("<")?this.parseJSXRoot():e.prototype.parsePrimaryExpression.call(this)},i.prototype.startJSX=function(){this.scanner.index=this.startMarker.index,this.scanner.lineNumber=this.startMarker.line,this.scanner.lineStart=this.startMarker.index-this.startMarker.column},i.prototype.finishJSX=function(){this.nextToken()},i.prototype.reenterJSX=function(){this.startJSX(),this.expectJSX("}"),this.config.tokens&&this.tokens.pop()},i.prototype.createJSXNode=function(){return this.collectComments(),{index:this.scanner.index,line:this.scanner.lineNumber,column:this.scanner.index-this.scanner.lineStart}},i.prototype.createJSXChildNode=function(){return{index:this.scanner.index,line:this.scanner.lineNumber,column:this.scanner.index-this.scanner.lineStart}},i.prototype.scanXHTMLEntity=function(n){for(var a="&",E=!0,F=!1,T=!1,I=!1;!this.scanner.eof()&&E&&!F;){var P=this.scanner.source[this.scanner.index];if(P===n)break;if(F=P===";",a+=P,++this.scanner.index,!F)switch(a.length){case 2:T=P==="#";break;case 3:T&&(I=P==="x",E=I||D.Character.isDecimalDigit(P.charCodeAt(0)),T=T&&!I);break;default:E=E&&!(T&&!D.Character.isDecimalDigit(P.charCodeAt(0))),E=E&&!(I&&!D.Character.isHexDigit(P.charCodeAt(0)));break}}if(E&&F&&a.length>2){var R=a.substr(1,a.length-2);T&&R.length>1?a=String.fromCharCode(parseInt(R.substr(1),10)):I&&R.length>2?a=String.fromCharCode(parseInt("0"+R.substr(1),16)):!T&&!I&&h.XHTMLEntities[R]&&(a=h.XHTMLEntities[R])}return a},i.prototype.lexJSX=function(){var n=this.scanner.source.charCodeAt(this.scanner.index);if(n===60||n===62||n===47||n===58||n===61||n===123||n===125){var a=this.scanner.source[this.scanner.index++];return{type:7,value:a,lineNumber:this.scanner.lineNumber,lineStart:this.scanner.lineStart,start:this.scanner.index-1,end:this.scanner.index}}if(n===34||n===39){for(var E=this.scanner.index,F=this.scanner.source[this.scanner.index++],T="";!this.scanner.eof();){var I=this.scanner.source[this.scanner.index++];if(I===F)break;I==="&"?T+=this.scanXHTMLEntity(F):T+=I}return{type:8,value:T,lineNumber:this.scanner.lineNumber,lineStart:this.scanner.lineStart,start:E,end:this.scanner.index}}if(n===46){var P=this.scanner.source.charCodeAt(this.scanner.index+1),R=this.scanner.source.charCodeAt(this.scanner.index+2),a=P===46&&R===46?"...":".",E=this.scanner.index;return this.scanner.index+=a.length,{type:7,value:a,lineNumber:this.scanner.lineNumber,lineStart:this.scanner.lineStart,start:E,end:this.scanner.index}}if(n===96)return{type:10,value:"",lineNumber:this.scanner.lineNumber,lineStart:this.scanner.lineStart,start:this.scanner.index,end:this.scanner.index};if(D.Character.isIdentifierStart(n)&&n!==92){var E=this.scanner.index;for(++this.scanner.index;!this.scanner.eof();){var I=this.scanner.source.charCodeAt(this.scanner.index);if(D.Character.isIdentifierPart(I)&&I!==92)++this.scanner.index;else if(I===45)++this.scanner.index;else break}var L=this.scanner.source.slice(E,this.scanner.index);return{type:100,value:L,lineNumber:this.scanner.lineNumber,lineStart:this.scanner.lineStart,start:E,end:this.scanner.index}}return this.scanner.lex()},i.prototype.nextJSXToken=function(){this.collectComments(),this.startMarker.index=this.scanner.index,this.startMarker.line=this.scanner.lineNumber,this.startMarker.column=this.scanner.index-this.scanner.lineStart;var n=this.lexJSX();return this.lastMarker.index=this.scanner.index,this.lastMarker.line=this.scanner.lineNumber,this.lastMarker.column=this.scanner.index-this.scanner.lineStart,this.config.tokens&&this.tokens.push(this.convertToken(n)),n},i.prototype.nextJSXText=function(){this.startMarker.index=this.scanner.index,this.startMarker.line=this.scanner.lineNumber,this.startMarker.column=this.scanner.index-this.scanner.lineStart;for(var n=this.scanner.index,a="";!this.scanner.eof();){var E=this.scanner.source[this.scanner.index];if(E==="{"||E==="<")break;++this.scanner.index,a+=E,D.Character.isLineTerminator(E.charCodeAt(0))&&(++this.scanner.lineNumber,E==="\r"&&this.scanner.source[this.scanner.index]===` `&&++this.scanner.index,this.scanner.lineStart=this.scanner.index)}this.lastMarker.index=this.scanner.index,this.lastMarker.line=this.scanner.lineNumber,this.lastMarker.column=this.scanner.index-this.scanner.lineStart;var F={type:101,value:a,lineNumber:this.scanner.lineNumber,lineStart:this.scanner.lineStart,start:n,end:this.scanner.index};return a.length>0&&this.config.tokens&&this.tokens.push(this.convertToken(F)),F},i.prototype.peekJSXToken=function(){var n=this.scanner.saveState();this.scanner.scanComments();var a=this.lexJSX();return this.scanner.restoreState(n),a},i.prototype.expectJSX=function(n){var a=this.nextJSXToken();(a.type!==7||a.value!==n)&&this.throwUnexpectedToken(a)},i.prototype.matchJSX=function(n){var a=this.peekJSXToken();return a.type===7&&a.value===n},i.prototype.parseJSXIdentifier=function(){var n=this.createJSXNode(),a=this.nextJSXToken();return a.type!==100&&this.throwUnexpectedToken(a),this.finalize(n,new s.JSXIdentifier(a.value))},i.prototype.parseJSXElementName=function(){var n=this.createJSXNode(),a=this.parseJSXIdentifier();if(this.matchJSX(":")){var E=a;this.expectJSX(":");var F=this.parseJSXIdentifier();a=this.finalize(n,new s.JSXNamespacedName(E,F))}else if(this.matchJSX("."))for(;this.matchJSX(".");){var T=a;this.expectJSX(".");var I=this.parseJSXIdentifier();a=this.finalize(n,new s.JSXMemberExpression(T,I))}return a},i.prototype.parseJSXAttributeName=function(){var n=this.createJSXNode(),a,E=this.parseJSXIdentifier();if(this.matchJSX(":")){var F=E;this.expectJSX(":");var T=this.parseJSXIdentifier();a=this.finalize(n,new s.JSXNamespacedName(F,T))}else a=E;return a},i.prototype.parseJSXStringLiteralAttribute=function(){var n=this.createJSXNode(),a=this.nextJSXToken();a.type!==8&&this.throwUnexpectedToken(a);var E=this.getTokenRaw(a);return this.finalize(n,new A.Literal(a.value,E))},i.prototype.parseJSXExpressionAttribute=function(){var n=this.createJSXNode();this.expectJSX("{"),this.finishJSX(),this.match("}")&&this.tolerateError("JSX attributes must only be assigned a non-empty expression");var a=this.parseAssignmentExpression();return this.reenterJSX(),this.finalize(n,new s.JSXExpressionContainer(a))},i.prototype.parseJSXAttributeValue=function(){return this.matchJSX("{")?this.parseJSXExpressionAttribute():this.matchJSX("<")?this.parseJSXElement():this.parseJSXStringLiteralAttribute()},i.prototype.parseJSXNameValueAttribute=function(){var n=this.createJSXNode(),a=this.parseJSXAttributeName(),E=null;return this.matchJSX("=")&&(this.expectJSX("="),E=this.parseJSXAttributeValue()),this.finalize(n,new s.JSXAttribute(a,E))},i.prototype.parseJSXSpreadAttribute=function(){var n=this.createJSXNode();this.expectJSX("{"),this.expectJSX("..."),this.finishJSX();var a=this.parseAssignmentExpression();return this.reenterJSX(),this.finalize(n,new s.JSXSpreadAttribute(a))},i.prototype.parseJSXAttributes=function(){for(var n=[];!this.matchJSX("/")&&!this.matchJSX(">");){var a=this.matchJSX("{")?this.parseJSXSpreadAttribute():this.parseJSXNameValueAttribute();n.push(a)}return n},i.prototype.parseJSXOpeningElement=function(){var n=this.createJSXNode();this.expectJSX("<");var a=this.parseJSXElementName(),E=this.parseJSXAttributes(),F=this.matchJSX("/");return F&&this.expectJSX("/"),this.expectJSX(">"),this.finalize(n,new s.JSXOpeningElement(a,F,E))},i.prototype.parseJSXBoundaryElement=function(){var n=this.createJSXNode();if(this.expectJSX("<"),this.matchJSX("/")){this.expectJSX("/");var a=this.parseJSXElementName();return this.expectJSX(">"),this.finalize(n,new s.JSXClosingElement(a))}var E=this.parseJSXElementName(),F=this.parseJSXAttributes(),T=this.matchJSX("/");return T&&this.expectJSX("/"),this.expectJSX(">"),this.finalize(n,new s.JSXOpeningElement(E,T,F))},i.prototype.parseJSXEmptyExpression=function(){var n=this.createJSXChildNode();return this.collectComments(),this.lastMarker.index=this.scanner.index,this.lastMarker.line=this.scanner.lineNumber,this.lastMarker.column=this.scanner.index-this.scanner.lineStart,this.finalize(n,new s.JSXEmptyExpression)},i.prototype.parseJSXExpressionContainer=function(){var n=this.createJSXNode();this.expectJSX("{");var a;return this.matchJSX("}")?(a=this.parseJSXEmptyExpression(),this.expectJSX("}")):(this.finishJSX(),a=this.parseAssignmentExpression(),this.reenterJSX()),this.finalize(n,new s.JSXExpressionContainer(a))},i.prototype.parseJSXChildren=function(){for(var n=[];!this.scanner.eof();){var a=this.createJSXChildNode(),E=this.nextJSXText();if(E.start<E.end){var F=this.getTokenRaw(E),T=this.finalize(a,new s.JSXText(E.value,F));n.push(T)}if(this.scanner.source[this.scanner.index]==="{"){var I=this.parseJSXExpressionContainer();n.push(I)}else break}return n},i.prototype.parseComplexJSXElement=function(n){for(var a=[];!this.scanner.eof();){n.children=n.children.concat(this.parseJSXChildren());var E=this.createJSXChildNode(),F=this.parseJSXBoundaryElement();if(F.type===l.JSXSyntax.JSXOpeningElement){var T=F;if(T.selfClosing){var I=this.finalize(E,new s.JSXElement(T,[],null));n.children.push(I)}else a.push(n),n={node:E,opening:T,closing:null,children:[]}}if(F.type===l.JSXSyntax.JSXClosingElement){n.closing=F;var P=y(n.opening.name),R=y(n.closing.name);if(P!==R&&this.tolerateError("Expected corresponding JSX closing tag for %0",P),a.length>0){var I=this.finalize(n.node,new s.JSXElement(n.opening,n.children,n.closing));n=a[a.length-1],n.children.push(I),a.pop()}else break}}return n},i.prototype.parseJSXElement=function(){var n=this.createJSXNode(),a=this.parseJSXOpeningElement(),E=[],F=null;if(!a.selfClosing){var T=this.parseComplexJSXElement({node:n,opening:a,closing:F,children:E});E=T.children,F=T.closing}return this.finalize(n,new s.JSXElement(a,E,F))},i.prototype.parseJSXRoot=function(){this.config.tokens&&this.tokens.pop(),this.startJSX();var n=this.parseJSXElement();return this.finishJSX(),n},i.prototype.isStartOfExpression=function(){return e.prototype.isStartOfExpression.call(this)||this.match("<")},i}(S.Parser);c.JSXParser=f},function(x,c){Object.defineProperty(c,"__esModule",{value:!0});var C={NonAsciiIdentifierStart:/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AD\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDEC0-\uDEF8]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]/,NonAsciiIdentifierPart:/[\xAA\xB5\xB7\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u08A0-\u08B4\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C81-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D01-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1369-\u1371\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1CD0-\u1CD2\u1CD4-\u1CF6\u1CF8\u1CF9\u1D00-\u1DF5\u1DFC-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AD\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C4\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDEC0-\uDEF8]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/};c.Character={fromCodePoint:function(d){return d<65536?String.fromCharCode(d):String.fromCharCode(55296+(d-65536>>10))+String.fromCharCode(56320+(d-65536&1023))},isWhiteSpace:function(d){return d===32||d===9||d===11||d===12||d===160||d>=5760&&[5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279].indexOf(d)>=0},isLineTerminator:function(d){return d===10||d===13||d===8232||d===8233},isIdentifierStart:function(d){return d===36||d===95||d>=65&&d<=90||d>=97&&d<=122||d===92||d>=128&&C.NonAsciiIdentifierStart.test(c.Character.fromCodePoint(d))},isIdentifierPart:function(d){return d===36||d===95||d>=65&&d<=90||d>=97&&d<=122||d>=48&&d<=57||d===92||d>=128&&C.NonAsciiIdentifierPart.test(c.Character.fromCodePoint(d))},isDecimalDigit:function(d){return d>=48&&d<=57},isHexDigit:function(d){return d>=48&&d<=57||d>=65&&d<=70||d>=97&&d<=102},isOctalDigit:function(d){return d>=48&&d<=55}}},function(x,c,C){Object.defineProperty(c,"__esModule",{value:!0});var d=C(6),D=function(){function n(a){this.type=d.JSXSyntax.JSXClosingElement,this.name=a}return n}();c.JSXClosingElement=D;var s=function(){function n(a,E,F){this.type=d.JSXSyntax.JSXElement,this.openingElement=a,this.children=E,this.closingElement=F}return n}();c.JSXElement=s;var l=function(){function n(){this.type=d.JSXSyntax.JSXEmptyExpression}return n}();c.JSXEmptyExpression=l;var A=function(){function n(a){this.type=d.JSXSyntax.JSXExpressionContainer,this.expression=a}return n}();c.JSXExpressionContainer=A;var S=function(){function n(a){this.type=d.JSXSyntax.JSXIdentifier,this.name=a}return n}();c.JSXIdentifier=S;var g=function(){function n(a,E){this.type=d.JSXSyntax.JSXMemberExpression,this.object=a,this.property=E}return n}();c.JSXMemberExpression=g;var h=function(){function n(a,E){this.type=d.JSXSyntax.JSXAttribute,this.name=a,this.value=E}return n}();c.JSXAttribute=h;var y=function(){function n(a,E){this.type=d.JSXSyntax.JSXNamespacedName,this.namespace=a,this.name=E}return n}();c.JSXNamespacedName=y;var f=function(){function n(a,E,F){this.type=d.JSXSyntax.JSXOpeningElement,this.name=a,this.selfClosing=E,this.attributes=F}return n}();c.JSXOpeningElement=f;var e=function(){function n(a){this.type=d.JSXSyntax.JSXSpreadAttribute,this.argument=a}return n}();c.JSXSpreadAttribute=e;var i=function(){function n(a,E){this.type=d.JSXSyntax.JSXText,this.value=a,this.raw=E}return n}();c.JSXText=i},function(x,c){Object.defineProperty(c,"__esModule",{value:!0}),c.JSXSyntax={JSXAttribute:"JSXAttribute",JSXClosingElement:"JSXClosingElement",JSXElement:"JSXElement",JSXEmptyExpression:"JSXEmptyExpression",JSXExpressionContainer:"JSXExpressionContainer",JSXIdentifier:"JSXIdentifier",JSXMemberExpression:"JSXMemberExpression",JSXNamespacedName:"JSXNamespacedName",JSXOpeningElement:"JSXOpeningElement",JSXSpreadAttribute:"JSXSpreadAttribute",JSXText:"JSXText"}},function(x,c,C){Object.defineProperty(c,"__esModule",{value:!0});var d=C(2),D=function(){function B(k){this.type=d.Syntax.ArrayExpression,this.elements=k}return B}();c.ArrayExpression=D;var s=function(){function B(k){this.type=d.Syntax.ArrayPattern,this.elements=k}return B}();c.ArrayPattern=s;var l=function(){function B(k,N,U){this.type=d.Syntax.ArrowFunctionExpression,this.id=null,this.params=k,this.body=N,this.generator=!1,this.expression=U,this.async=!1}return B}();c.ArrowFunctionExpression=l;var A=function(){function B(k,N,U){this.type=d.Syntax.AssignmentExpression,this.operator=k,this.left=N,this.right=U}return B}();c.AssignmentExpression=A;var S=function(){function B(k,N){this.type=d.Syntax.AssignmentPattern,this.left=k,this.right=N}return B}();c.AssignmentPattern=S;var g=function(){function B(k,N,U){this.type=d.Syntax.ArrowFunctionExpression,this.id=null,this.params=k,this.body=N,this.generator=!1,this.expression=U,this.async=!0}return B}();c.AsyncArrowFunctionExpression=g;var h=function(){function B(k,N,U){this.type=d.Syntax.FunctionDeclaration,this.id=k,this.params=N,this.body=U,this.generator=!1,this.expression=!1,this.async=!0}return B}();c.AsyncFunctionDeclaration=h;var y=function(){function B(k,N,U){this.type=d.Syntax.FunctionExpression,this.id=k,this.params=N,this.body=U,this.generator=!1,this.expression=!1,this.async=!0}return B}();c.AsyncFunctionExpression=y;var f=function(){function B(k){this.type=d.Syntax.AwaitExpression,this.argument=k}return B}();c.AwaitExpression=f;var e=function(){function B(k,N,U){var q=k==="||"||k==="&&";this.type=q?d.Syntax.LogicalExpression:d.Syntax.BinaryExpression,this.operator=k,this.left=N,this.right=U}return B}();c.BinaryExpression=e;var i=function(){function B(k){this.type=d.Syntax.BlockStatement,this.body=k}return B}();c.BlockStatement=i;var n=function(){function B(k){this.type=d.Syntax.BreakStatement,this.label=k}return B}();c.BreakStatement=n;var a=function(){function B(k,N){this.type=d.Syntax.CallExpression,this.callee=k,this.arguments=N}return B}();c.CallExpression=a;var E=function(){function B(k,N){this.type=d.Syntax.CatchClause,this.param=k,this.body=N}return B}();c.CatchClause=E;var F=function(){function B(k){this.type=d.Syntax.ClassBody,this.body=k}return B}();c.ClassBody=F;var T=function(){function B(k,N,U){this.type=d.Syntax.ClassDeclaration,this.id=k,this.superClass=N,this.body=U}return B}();c.ClassDeclaration=T;var I=function(){function B(k,N,U){this.type=d.Syntax.ClassExpression,this.id=k,this.superClass=N,this.body=U}return B}();c.ClassExpression=I;var P=function(){function B(k,N){this.type=d.Syntax.MemberExpression,this.computed=!0,this.object=k,this.property=N}return B}();c.ComputedMemberExpression=P;var R=function(){function B(k,N,U){this.type=d.Syntax.ConditionalExpression,this.test=k,this.consequent=N,this.alternate=U}return B}();c.ConditionalExpression=R;var L=function(){function B(k){this.type=d.Syntax.ContinueStatement,this.label=k}return B}();c.ContinueStatement=L;var X=function(){function B(){this.type=d.Syntax.DebuggerStatement}return B}();c.DebuggerStatement=X;var z=function(){function B(k,N){this.type=d.Syntax.ExpressionStatement,this.expression=k,this.directive=N}return B}();c.Directive=z;var G=function(){function B(k,N){this.type=d.Syntax.DoWhileStatement,this.body=k,this.test=N}return B}();c.DoWhileStatement=G;var V=function(){function B(){this.type=d.Syntax.EmptyStatement}return B}();c.EmptyStatement=V;var oe=function(){function B(k){this.type=d.Syntax.ExportAllDeclaration,this.source=k}return B}();c.ExportAllDeclaration=oe;var De=function(){function B(k){this.type=d.Syntax.ExportDefaultDeclaration,this.declaration=k}return B}();c.ExportDefaultDeclaration=De;var We=function(){function B(k,N,U){this.type=d.Syntax.ExportNamedDeclaration,this.declaration=k,this.specifiers=N,this.source=U}return B}();c.ExportNamedDeclaration=We;var Ve=function(){function B(k,N){this.type=d.Syntax.ExportSpecifier,this.exported=N,this.local=k}return B}();c.ExportSpecifier=Ve;var qe=function(){function B(k){this.type=d.Syntax.ExpressionStatement,this.expression=k}return B}();c.ExpressionStatement=qe;var Ze=function(){function B(k,N,U){this.type=d.Syntax.ForInStatement,this.left=k,this.right=N,this.body=U,this.each=!1}return B}();c.ForInStatement=Ze;var Qe=function(){function B(k,N,U){this.type=d.Syntax.ForOfStatement,this.left=k,this.right=N,this.body=U}return B}();c.ForOfStatement=Qe;var $=function(){function B(k,N,U,q){this.type=d.Syntax.ForStatement,this.init=k,this.test=N,this.update=U,this.body=q}return B}();c.ForStatement=$;var H=function(){function B(k,N,U,q){this.type=d.Syntax.FunctionDeclaration,this.id=k,this.params=N,this.body=U,this.generator=q,this.expression=!1,this.async=!1}return B}();c.FunctionDeclaration=H;var Ie=function(){function B(k,N,U,q){this.type=d.Syntax.FunctionExpression,this.id=k,this.params=N,this.body=U,this.generator=q,this.expression=!1,this.async=!1}return B}();c.FunctionExpression=Ie;var Ne=function(){function B(k){this.type=d.Syntax.Identifier,this.name=k}return B}();c.Identifier=Ne;var Pe=function(){function B(k,N,U){this.type=d.Syntax.IfStatement,this.test=k,this.consequent=N,this.alternate=U}return B}();c.IfStatement=Pe;var Me=function(){function B(k,N){this.type=d.Syntax.ImportDeclaration,this.specifiers=k,this.source=N}return B}();c.ImportDeclaration=Me;var Re=function(){function B(k){this.type=d.Syntax.ImportDefaultSpecifier,this.local=k}return B}();c.ImportDefaultSpecifier=Re;var he=function(){function B(k){this.type=d.Syntax.ImportNamespaceSpecifier,this.local=k}return B}();c.ImportNamespaceSpecifier=he;var ve=function(){function B(k,N){this.type=d.Syntax.ImportSpecifier,this.local=k,this.imported=N}return B}();c.ImportSpecifier=ve;var Le=function(){function B(k,N){this.type=d.Syntax.LabeledStatement,this.label=k,this.body=N}return B}();c.LabeledStatement=Le;var et=function(){function B(k,N){this.type=d.Syntax.Literal,this.value=k,this.raw=N}return B}();c.Literal=et;var Ue=function(){function B(k,N){this.type=d.Syntax.MetaProperty,this.meta=k,this.property=N}return B}();c.MetaProperty=Ue;var ce=function(){function B(k,N,U,q,ot){this.type=d.Syntax.MethodDefinition,this.key=k,this.computed=N,this.value=U,this.kind=q,this.static=ot}return B}();c.MethodDefinition=ce;var de=function(){function B(k){this.type=d.Syntax.Program,this.body=k,this.sourceType="module"}return B}();c.Module=de;var tt=function(){function B(k,N){this.type=d.Syntax.NewExpression,this.callee=k,this.arguments=N}return B}();c.NewExpression=tt;var it=function(){function B(k){this.type=d.Syntax.ObjectExpression,this.properties=k}return B}();c.ObjectExpression=it;var Fe=function(){function B(k){this.type=d.Syntax.ObjectPattern,this.properties=k}return B}();c.ObjectPattern=Fe;var rt=function(){function B(k,N,U,q,ot,Oi){this.type=d.Syntax.Property,this.key=N,this.computed=U,this.value=q,this.kind=k,this.method=ot,this.shorthand=Oi}return B}();c.Property=rt;var nt=function(){function B(k,N,U,q){this.type=d.Syntax.Literal,this.value=k,this.raw=N,this.regex={pattern:U,flags:q}}return B}();c.RegexLiteral=nt;var Oe=function(){function B(k){this.type=d.Syntax.RestElement,this.argument=k}return B}();c.RestElement=Oe;var Ee=function(){function B(k){this.type=d.Syntax.ReturnStatement,this.argument=k}return B}();c.ReturnStatement=Ee;var ee=function(){function B(k){this.type=d.Syntax.Program,this.body=k,this.sourceType="script"}return B}();c.Script=ee;var Se=function(){function B(k){this.type=d.Syntax.SequenceExpression,this.expressions=k}return B}();c.SequenceExpression=Se;var st=function(){function B(k){this.type=d.Syntax.SpreadElement,this.argument=k}return B}();c.SpreadElement=st;var re=function(){function B(k,N){this.type=d.Syntax.MemberExpression,this.computed=!1,this.object=k,this.property=N}return B}();c.StaticMemberExpression=re;var at=function(){function B(){this.type=d.Syntax.Super}return B}();c.Super=at;var u=function(){function B(k,N){this.type=d.Syntax.SwitchCase,this.test=k,this.consequent=N}return B}();c.SwitchCase=u;var t=function(){function B(k,N){this.type=d.Syntax.SwitchStatement,this.discriminant=k,this.cases=N}return B}();c.SwitchStatement=t;var r=function(){function B(k,N){this.type=d.Syntax.TaggedTemplateExpression,this.tag=k,this.quasi=N}return B}();c.TaggedTemplateExpression=r;var m=function(){function B(k,N){this.type=d.Syntax.TemplateElement,this.value=k,this.tail=N}return B}();c.TemplateElement=m;var v=function(){function B(k,N){this.type=d.Syntax.TemplateLiteral,this.quasis=k,this.expressions=N}return B}();c.TemplateLiteral=v;var w=function(){function B(){this.type=d.Syntax.ThisExpression}return B}();c.ThisExpression=w;var b=function(){function B(k){this.type=d.Syntax.ThrowStatement,this.argument=k}return B}();c.ThrowStatement=b;var O=function(){function B(k,N,U){this.type=d.Syntax.TryStatement,this.block=k,this.handler=N,this.finalizer=U}return B}();c.TryStatement=O;var K=function(){function B(k,N){this.type=d.Syntax.UnaryExpression,this.operator=k,this.argument=N,this.prefix=!0}return B}();c.UnaryExpression=K;var _=function(){function B(k,N,U){this.type=d.Syntax.UpdateExpression,this.operator=k,this.argument=N,this.prefix=U}return B}();c.UpdateExpression=_;var j=function(){function B(k,N){this.type=d.Syntax.VariableDeclaration,this.declarations=k,this.kind=N}return B}();c.VariableDeclaration=j;var J=function(){function B(k,N){this.type=d.Syntax.VariableDeclarator,this.id=k,this.init=N}return B}();c.VariableDeclarator=J;var Ri=function(){function B(k,N){this.type=d.Syntax.WhileStatement,this.test=k,this.body=N}return B}();c.WhileStatement=Ri;var Li=function(){function B(k,N){this.type=d.Syntax.WithStatement,this.object=k,this.body=N}return B}();c.WithStatement=Li;var Ui=function(){function B(k,N){this.type=d.Syntax.YieldExpression,this.argument=k,this.delegate=N}return B}();c.YieldExpression=Ui},function(x,c,C){Object.defineProperty(c,"__esModule",{value:!0});var d=C(9),D=C(10),s=C(11),l=C(7),A=C(12),S=C(2),g=C(13),h="ArrowParameterPlaceHolder",y=function(){function f(e,i,n){i===void 0&&(i={}),this.config={range:typeof i.range=="boolean"&&i.range,loc:typeof i.loc=="boolean"&&i.loc,source:null,tokens:typeof i.tokens=="boolean"&&i.tokens,comment:typeof i.comment=="boolean"&&i.comment,tolerant:typeof i.tolerant=="boolean"&&i.tolerant},this.config.loc&&i.source&&i.source!==null&&(this.config.source=String(i.source)),this.delegate=n,this.errorHandler=new D.ErrorHandler,this.errorHandler.tolerant=this.config.tolerant,this.scanner=new A.Scanner(e,this.errorHandler),this.scanner.trackComment=this.config.comment,this.operatorPrecedence={")":0,";":0,",":0,"=":0,"]":0,"||":1,"&&":2,"|":3,"^":4,"&":5,"==":6,"!=":6,"===":6,"!==":6,"<":7,">":7,"<=":7,">=":7,"<<":8,">>":8,">>>":8,"+":9,"-":9,"*":11,"/":11,"%":11},this.lookahead={type:2,value:"",lineNumber:this.scanner.lineNumber,lineStart:0,start:0,end:0},this.hasLineTerminator=!1,this.context={isModule:!1,await:!1,allowIn:!0,allowStrictDirective:!0,allowYield:!0,firstCoverInitializedNameError:null,isAssignmentTarget:!1,isBindingElement:!1,inFunctionBody:!1,inIteration:!1,inSwitch:!1,labelSet:{},strict:!1},this.tokens=[],this.startMarker={index:0,line:this.scanner.lineNumber,column:0},this.lastMarker={index:0,line:this.scanner.lineNumber,column:0},this.nextToken(),this.lastMarker={index:this.scanner.index,line:this.scanner.lineNumber,column:this.scanner.index-this.scanner.lineStart}}return f.prototype.throwError=function(e){for(var i=[],n=1;n<arguments.length;n++)i[n-1]=arguments[n];var a=Array.prototype.slice.call(arguments,1),E=e.replace(/%(\d)/g,function(P,R){return d.assert(R<a.length,"Message reference must be in range"),a[R]}),F=this.lastMarker.index,T=this.lastMarker.line,I=this.lastMarker.column+1;throw this.errorHandler.createError(F,T,I,E)},f.prototype.tolerateError=function(e){for(var i=[],n=1;n<arguments.length;n++)i[n-1]=arguments[n];var a=Array.prototype.slice.call(arguments,1),E=e.replace(/%(\d)/g,function(P,R){return d.assert(R<a.length,"Message reference must be in range"),a[R]}),F=this.lastMarker.index,T=this.scanner.lineNumber,I=this.lastMarker.column+1;this.errorHandler.tolerateError(F,T,I,E)},f.prototype.unexpectedTokenError=function(e,i){var n=i||s.Messages.UnexpectedToken,a;if(e?(i||(n=e.type===2?s.Messages.UnexpectedEOS:e.type===3?s.Messages.UnexpectedIdentifier:e.type===6?s.Messages.UnexpectedNumber:e.type===8?s.Messages.UnexpectedString:e.type===10?s.Messages.UnexpectedTemplate:s.Messages.UnexpectedToken,e.type===4&&(this.scanner.isFutureReservedWord(e.value)?n=s.Messages.UnexpectedReserved:this.context.strict&&this.scanner.isStrictModeReservedWord(e.value)&&(n=s.Messages.StrictReservedWord))),a=e.value):a="ILLEGAL",n=n.replace("%0",a),e&&typeof e.lineNumber=="number"){var E=e.start,F=e.lineNumber,T=this.lastMarker.index-this.lastMarker.column,I=e.start-T+1;return this.errorHandler.createError(E,F,I,n)}else{var E=this.lastMarker.index,F=this.lastMarker.line,I=this.lastMarker.column+1;return this.errorHandler.createError(E,F,I,n)}},f.prototype.throwUnexpectedToken=function(e,i){throw this.unexpectedTokenError(e,i)},f.prototype.tolerateUnexpectedToken=function(e,i){this.errorHandler.tolerate(this.unexpectedTokenError(e,i))},f.prototype.collectComments=function(){if(!this.config.comment)this.scanner.scanComments();else{var e=this.scanner.scanComments();if(e.length>0&&this.delegate)for(var i=0;i<e.length;++i){var n=e[i],a=void 0;a={type:n.multiLine?"BlockComment":"LineComment",value:this.scanner.source.slice(n.slice[0],n.slice[1])},this.config.range&&(a.range=n.range),this.config.loc&&(a.loc=n.loc);var E={start:{line:n.loc.start.line,column:n.loc.start.column,offset:n.range[0]},end:{line:n.loc.end.line,column:n.loc.end.column,offset:n.range[1]}};this.delegate(a,E)}}},f.prototype.getTokenRaw=function(e){return this.scanner.source.slice(e.start,e.end)},f.prototype.convertToken=function(e){var i={type:g.TokenName[e.type],value:this.getTokenRaw(e)};if(this.config.range&&(i.range=[e.start,e.end]),this.config.loc&&(i.loc={start:{line:this.startMarker.line,column:this.startMarker.column},end:{line:this.scanner.lineNumber,column:this.scanner.index-this.scanner.lineStart}}),e.type===9){var n=e.pattern,a=e.flags;i.regex={pattern:n,flags:a}}return i},f.prototype.nextToken=function(){var e=this.lookahead;this.lastMarker.index=this.scanner.index,this.lastMarker.line=this.scanner.lineNumber,this.lastMarker.column=this.scanner.index-this.scanner.lineStart,this.collectComments(),this.scanner.index!==this.startMarker.index&&(this.startMarker.index=this.scanner.index,this.startMarker.line=this.scanner.lineNumber,this.startMarker.column=this.scanner.index-this.scanner.lineStart);var i=this.scanner.lex();return this.hasLineTerminator=e.lineNumber!==i.lineNumber,i&&this.context.strict&&i.type===3&&this.scanner.isStrictModeReservedWord(i.value)&&(i.type=4),this.lookahead=i,this.config.tokens&&i.type!==2&&this.tokens.push(this.convertToken(i)),e},f.prototype.nextRegexToken=function(){this.collectComments();var e=this.scanner.scanRegExp();return this.config.tokens&&(this.tokens.pop(),this.tokens.push(this.convertToken(e))),this.lookahead=e,this.nextToken(),e},f.prototype.createNode=function(){return{index:this.startMarker.index,line:this.startMarker.line,column:this.startMarker.column}},f.prototype.startNode=function(e,i){i===void 0&&(i=0);var n=e.start-e.lineStart,a=e.lineNumber;return n<0&&(n+=i,a--),{index:e.start,line:a,column:n}},f.prototype.finalize=function(e,i){if(this.config.range&&(i.range=[e.index,this.lastMarker.index]),this.config.loc&&(i.loc={start:{line:e.line,column:e.column},end:{line:this.lastMarker.line,column:this.lastMarker.column}},this.config.source&&(i.loc.source=this.config.source)),this.delegate){var n={start:{line:e.line,column:e.column,offset:e.index},end:{line:this.lastMarker.line,column:this.lastMarker.column,offset:this.lastMarker.index}};this.delegate(i,n)}return i},f.prototype.expect=function(e){var i=this.nextToken();(i.type!==7||i.value!==e)&&this.throwUnexpectedToken(i)},f.prototype.expectCommaSeparator=function(){if(this.config.tolerant){var e=this.lookahead;e.type===7&&e.value===","?this.nextToken():e.type===7&&e.value===";"?(this.nextToken(),this.tolerateUnexpectedToken(e)):this.tolerateUnexpectedToken(e,s.Messages.UnexpectedToken)}else this.expect(",")},f.prototype.expectKeyword=function(e){var i=this.nextToken();(i.type!==4||i.value!==e)&&this.throwUnexpectedToken(i)},f.prototype.match=function(e){return this.lookahead.type===7&&this.lookahead.value===e},f.prototype.matchKeyword=function(e){return this.lookahead.type===4&&this.lookahead.value===e},f.prototype.matchContextualKeyword=function(e){return this.lookahead.type===3&&this.lookahead.value===e},f.prototype.matchAssign=function(){if(this.lookahead.type!==7)return!1;var e=this.lookahead.value;return e==="="||e==="*="||e==="**="||e==="/="||e==="%="||e==="+="||e==="-="||e==="<<="||e===">>="||e===">>>="||e==="&="||e==="^="||e==="|="},f.prototype.isolateCoverGrammar=function(e){var i=this.context.isBindingElement,n=this.context.isAssignmentTarget,a=this.context.firstCoverInitializedNameError;this.context.isBindingElement=!0,this.context.isAssignmentTarget=!0,this.context.firstCoverInitializedNameError=null;var E=e.call(this);return this.context.firstCoverInitializedNameError!==null&&this.throwUnexpectedToken(this.context.firstCoverInitializedNameError),this.context.isBindingElement=i,this.context.isAssignmentTarget=n,this.context.firstCoverInitializedNameError=a,E},f.prototype.inheritCoverGrammar=function(e){var i=this.context.isBindingElement,n=this.context.isAssignmentTarget,a=this.context.firstCoverInitializedNameError;this.context.isBindingElement=!0,this.context.isAssignmentTarget=!0,this.context.firstCoverInitializedNameError=null;var E=e.call(this);return this.context.isBindingElement=this.context.isBindingElement&&i,this.context.isAssignmentTarget=this.context.isAssignmentTarget&&n,this.context.firstCoverInitializedNameError=a||this.context.firstCoverInitializedNameError,E},f.prototype.consumeSemicolon=function(){this.match(";")?this.nextToken():this.hasLineTerminator||(this.lookahead.type!==2&&!this.match("}")&&this.throwUnexpectedToken(this.lookahead),this.lastMarker.index=this.startMarker.index,this.lastMarker.line=this.startMarker.line,this.lastMarker.column=this.startMarker.column)},f.prototype.parsePrimaryExpression=function(){var e=this.createNode(),i,n,a;switch(this.lookahead.type){case 3:(this.context.isModule||this.context.await)&&this.lookahead.value==="await"&&this.tolerateUnexpectedToken(this.lookahead),i=this.matchAsyncFunction()?this.parseFunctionExpression():this.finalize(e,new l.Identifier(this.nextToken().value));break;case 6:case 8:this.context.strict&&this.lookahead.octal&&this.tolerateUnexpectedToken(this.lookahead,s.Messages.StrictOctalLiteral),this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1,n=this.nextToken(),a=this.getTokenRaw(n),i=this.finalize(e,new l.Literal(n.value,a));break;case 1:this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1,n=this.nextToken(),a=this.getTokenRaw(n),i=this.finalize(e,new l.Literal(n.value==="true",a));break;case 5:this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1,n=this.nextToken(),a=this.getTokenRaw(n),i=this.finalize(e,new l.Literal(null,a));break;case 10:i=this.parseTemplateLiteral();break;case 7:switch(this.lookahead.value){case"(":this.context.isBindingElement=!1,i=this.inheritCoverGrammar(this.parseGroupExpression);break;case"[":i=this.inheritCoverGrammar(this.parseArrayInitializer);break;case"{":i=this.inheritCoverGrammar(this.parseObjectInitializer);break;case"/":case"/=":this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1,this.scanner.index=this.startMarker.index,n=this.nextRegexToken(),a=this.getTokenRaw(n),i=this.finalize(e,new l.RegexLiteral(n.regex,a,n.pattern,n.flags));break;default:i=this.throwUnexpectedToken(this.nextToken())}break;case 4:!this.context.strict&&this.context.allowYield&&this.matchKeyword("yield")?i=this.parseIdentifierName():!this.context.strict&&this.matchKeyword("let")?i=this.finalize(e,new l.Identifier(this.nextToken().value)):(this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1,this.matchKeyword("function")?i=this.parseFunctionExpression():this.matchKeyword("this")?(this.nextToken(),i=this.finalize(e,new l.ThisExpression)):this.matchKeyword("class")?i=this.parseClassExpression():i=this.throwUnexpectedToken(this.nextToken()));break;default:i=this.throwUnexpectedToken(this.nextToken())}return i},f.prototype.parseSpreadElement=function(){var e=this.createNode();this.expect("...");var i=this.inheritCoverGrammar(this.parseAssignmentExpression);return this.finalize(e,new l.SpreadElement(i))},f.prototype.parseArrayInitializer=function(){var e=this.createNode(),i=[];for(this.expect("[");!this.match("]");)if(this.match(","))this.nextToken(),i.push(null);else if(this.match("...")){var n=this.parseSpreadElement();this.match("]")||(this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1,this.expect(",")),i.push(n)}else i.push(this.inheritCoverGrammar(this.parseAssignmentExpression)),this.match("]")||this.expect(",");return this.expect("]"),this.finalize(e,new l.ArrayExpression(i))},f.prototype.parsePropertyMethod=function(e){this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1;var i=this.context.strict,n=this.context.allowStrictDirective;this.context.allowStrictDirective=e.simple;var a=this.isolateCoverGrammar(this.parseFunctionSourceElements);return this.context.strict&&e.firstRestricted&&this.tolerateUnexpectedToken(e.firstRestricted,e.message),this.context.strict&&e.stricted&&this.tolerateUnexpectedToken(e.stricted,e.message),this.context.strict=i,this.context.allowStrictDirective=n,a},f.prototype.parsePropertyMethodFunction=function(){var e=!1,i=this.createNode(),n=this.context.allowYield;this.context.allowYield=!0;var a=this.parseFormalParameters(),E=this.parsePropertyMethod(a);return this.context.allowYield=n,this.finalize(i,new l.FunctionExpression(null,a.params,E,e))},f.prototype.parsePropertyMethodAsyncFunction=function(){var e=this.createNode(),i=this.context.allowYield,n=this.context.await;this.context.allowYield=!1,this.context.await=!0;var a=this.parseFormalParameters(),E=this.parsePropertyMethod(a);return this.context.allowYield=i,this.context.await=n,this.finalize(e,new l.AsyncFunctionExpression(null,a.params,E))},f.prototype.parseObjectPropertyKey=function(){var e=this.createNode(),i=this.nextToken(),n;switch(i.type){case 8:case 6:this.context.strict&&i.octal&&this.tolerateUnexpectedToken(i,s.Messages.StrictOctalLiteral);var a=this.getTokenRaw(i);n=this.finalize(e,new l.Literal(i.value,a));break;case 3:case 1:case 5:case 4:n=this.finalize(e,new l.Identifier(i.value));break;case 7:i.value==="["?(n=this.isolateCoverGrammar(this.parseAssignmentExpression),this.expect("]")):n=this.throwUnexpectedToken(i);break;default:n=this.throwUnexpectedToken(i)}return n},f.prototype.isPropertyKey=function(e,i){return e.type===S.Syntax.Identifier&&e.name===i||e.type===S.Syntax.Literal&&e.value===i},f.prototype.parseObjectProperty=function(e){var i=this.createNode(),n=this.lookahead,a,E=null,F=null,T=!1,I=!1,P=!1,R=!1;if(n.type===3){var L=n.value;this.nextToken(),T=this.match("["),R=!this.hasLineTerminator&&L==="async"&&!this.match(":")&&!this.match("(")&&!this.match("*")&&!this.match(","),E=R?this.parseObjectPropertyKey():this.finalize(i,new l.Identifier(L))}else this.match("*")?this.nextToken():(T=this.match("["),E=this.parseObjectPropertyKey());var X=this.qualifiedPropertyName(this.lookahead);if(n.type===3&&!R&&n.value==="get"&&X)a="get",T=this.match("["),E=this.parseObjectPropertyKey(),this.context.allowYield=!1,F=this.parseGetterMethod();else if(n.type===3&&!R&&n.value==="set"&&X)a="set",T=this.match("["),E=this.parseObjectPropertyKey(),F=this.parseSetterMethod();else if(n.type===7&&n.value==="*"&&X)a="init",T=this.match("["),E=this.parseObjectPropertyKey(),F=this.parseGeneratorMethod(),I=!0;else if(E||this.throwUnexpectedToken(this.lookahead),a="init",this.match(":")&&!R)!T&&this.isPropertyKey(E,"__proto__")&&(e.value&&this.tolerateError(s.Messages.DuplicateProtoProperty),e.value=!0),this.nextToken(),F=this.inheritCoverGrammar(this.parseAssignmentExpression);else if(this.match("("))F=R?this.parsePropertyMethodAsyncFunction():this.parsePropertyMethodFunction(),I=!0;else if(n.type===3){var L=this.finalize(i,new l.Identifier(n.value));if(this.match("=")){this.context.firstCoverInitializedNameError=this.lookahead,this.nextToken(),P=!0;var z=this.isolateCoverGrammar(this.parseAssignmentExpression);F=this.finalize(i,new l.AssignmentPattern(L,z))}else P=!0,F=L}else this.throwUnexpectedToken(this.nextToken());return this.finalize(i,new l.Property(a,E,T,F,I,P))},f.prototype.parseObjectInitializer=function(){var e=this.createNode();this.expect("{");for(var i=[],n={value:!1};!this.match("}");)i.push(this.parseObjectProperty(n)),this.match("}")||this.expectCommaSeparator();return this.expect("}"),this.finalize(e,new l.ObjectExpression(i))},f.prototype.parseTemplateHead=function(){d.assert(this.lookahead.head,"Template literal must start with a template head");var e=this.createNode(),i=this.nextToken(),n=i.value,a=i.cooked;return this.finalize(e,new l.TemplateElement({raw:n,cooked:a},i.tail))},f.prototype.parseTemplateElement=function(){this.lookahead.type!==10&&this.throwUnexpectedToken();var e=this.createNode(),i=this.nextToken(),n=i.value,a=i.cooked;return this.finalize(e,new l.TemplateElement({raw:n,cooked:a},i.tail))},f.prototype.parseTemplateLiteral=function(){var e=this.createNode(),i=[],n=[],a=this.parseTemplateHead();for(n.push(a);!a.tail;)i.push(this.parseExpression()),a=this.parseTemplateElement(),n.push(a);return this.finalize(e,new l.TemplateLiteral(n,i))},f.prototype.reinterpretExpressionAsPattern=function(e){switch(e.type){case S.Syntax.Identifier:case S.Syntax.MemberExpression:case S.Syntax.RestElement:case S.Syntax.AssignmentPattern:break;case S.Syntax.SpreadElement:e.type=S.Syntax.RestElement,this.reinterpretExpressionAsPattern(e.argument);break;case S.Syntax.ArrayExpression:e.type=S.Syntax.ArrayPattern;for(var i=0;i<e.elements.length;i++)e.elements[i]!==null&&this.reinterpretExpressionAsPattern(e.elements[i]);break;case S.Syntax.ObjectExpression:e.type=S.Syntax.ObjectPattern;for(var i=0;i<e.properties.length;i++)this.reinterpretExpressionAsPattern(e.properties[i].value);break;case S.Syntax.AssignmentExpression:e.type=S.Syntax.AssignmentPattern,delete e.operator,this.reinterpretExpressionAsPattern(e.left);break}},f.prototype.parseGroupExpression=function(){var e;if(this.expect("("),this.match(")"))this.nextToken(),this.match("=>")||this.expect("=>"),e={type:h,params:[],async:!1};else{var i=this.lookahead,n=[];if(this.match("..."))e=this.parseRestElement(n),this.expect(")"),this.match("=>")||this.expect("=>"),e={type:h,params:[e],async:!1};else{var a=!1;if(this.context.isBindingElement=!0,e=this.inheritCoverGrammar(this.parseAssignmentExpression),this.match(",")){var E=[];for(this.context.isAssignmentTarget=!1,E.push(e);this.lookahead.type!==2&&this.match(",");){if(this.nextToken(),this.match(")")){this.nextToken();for(var F=0;F<E.length;F++)this.reinterpretExpressionAsPattern(E[F]);a=!0,e={type:h,params:E,async:!1}}else if(this.match("...")){this.context.isBindingElement||this.throwUnexpectedToken(this.lookahead),E.push(this.parseRestElement(n)),this.expect(")"),this.match("=>")||this.expect("=>"),this.context.isBindingElement=!1;for(var F=0;F<E.length;F++)this.reinterpretExpressionAsPattern(E[F]);a=!0,e={type:h,params:E,async:!1}}else E.push(this.inheritCoverGrammar(this.parseAssignmentExpression));if(a)break}a||(e=this.finalize(this.startNode(i),new l.SequenceExpression(E)))}if(!a){if(this.expect(")"),this.match("=>")&&(e.type===S.Syntax.Identifier&&e.name==="yield"&&(a=!0,e={type:h,params:[e],async:!1}),!a)){if(this.context.isBindingElement||this.throwUnexpectedToken(this.lookahead),e.type===S.Syntax.SequenceExpression)for(var F=0;F<e.expressions.length;F++)this.reinterpretExpressionAsPattern(e.expressions[F]);else this.reinterpretExpressionAsPattern(e);var T=e.type===S.Syntax.SequenceExpression?e.expressions:[e];e={type:h,params:T,async:!1}}this.context.isBindingElement=!1}}}return e},f.prototype.parseArguments=function(){this.expect("(");var e=[];if(!this.match(")"))for(;;){var i=this.match("...")?this.parseSpreadElement():this.isolateCoverGrammar(this.parseAssignmentExpression);if(e.push(i),this.match(")")||(this.expectCommaSeparator(),this.match(")")))break}return this.expect(")"),e},f.prototype.isIdentifierName=function(e){return e.type===3||e.type===4||e.type===1||e.type===5},f.prototype.parseIdentifierName=function(){var e=this.createNode(),i=this.nextToken();return this.isIdentifierName(i)||this.throwUnexpectedToken(i),this.finalize(e,new l.Identifier(i.value))},f.prototype.parseNewExpression=function(){var e=this.createNode(),i=this.parseIdentifierName();d.assert(i.name==="new","New expression must start with `new`");var n;if(this.match("."))if(this.nextToken(),this.lookahead.type===3&&this.context.inFunctionBody&&this.lookahead.value==="target"){var a=this.parseIdentifierName();n=new l.MetaProperty(i,a)}else this.throwUnexpectedToken(this.lookahead);else{var E=this.isolateCoverGrammar(this.parseLeftHandSideExpression),F=this.match("(")?this.parseArguments():[];n=new l.NewExpression(E,F),this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1}return this.finalize(e,n)},f.prototype.parseAsyncArgument=function(){var e=this.parseAssignmentExpression();return this.context.firstCoverInitializedNameError=null,e},f.prototype.parseAsyncArguments=function(){this.expect("(");var e=[];if(!this.match(")"))for(;;){var i=this.match("...")?this.parseSpreadElement():this.isolateCoverGrammar(this.parseAsyncArgument);if(e.push(i),this.match(")")||(this.expectCommaSeparator(),this.match(")")))break}return this.expect(")"),e},f.prototype.parseLeftHandSideExpressionAllowCall=function(){var e=this.lookahead,i=this.matchContextualKeyword("async"),n=this.context.allowIn;this.context.allowIn=!0;var a;for(this.matchKeyword("super")&&this.context.inFunctionBody?(a=this.createNode(),this.nextToken(),a=this.finalize(a,new l.Super),!this.match("(")&&!this.match(".")&&!this.match("[")&&this.throwUnexpectedToken(this.lookahead)):a=this.inheritCoverGrammar(this.matchKeyword("new")?this.parseNewExpression:this.parsePrimaryExpression);;)if(this.match(".")){this.context.isBindingElement=!1,this.context.isAssignmentTarget=!0,this.expect(".");var E=this.parseIdentifierName();a=this.finalize(this.startNode(e),new l.StaticMemberExpression(a,E))}else if(this.match("(")){var F=i&&e.lineNumber===this.lookahead.lineNumber;this.context.isBindingElement=!1,this.context.isAssignmentTarget=!1;var T=F?this.parseAsyncArguments():this.parseArguments();if(a=this.finalize(this.startNode(e),new l.CallExpression(a,T)),F&&this.match("=>")){for(var I=0;I<T.length;++I)this.reinterpretExpressionAsPattern(T[I]);a={type:h,params:T,async:!0}}}else if(this.match("[")){this.context.isBindingElement=!1,this.context.isAssignmentTarget=!0,this.expect("[");var E=this.isolateCoverGrammar(this.parseExpression);this.expect("]"),a=this.finalize(this.startNode(e),new l.ComputedMemberExpression(a,E))}else if(this.lookahead.type===10&&this.lookahead.head){var P=this.parseTemplateLiteral();a=this.finalize(this.startNode(e),new l.TaggedTemplateExpression(a,P))}else break;return this.context.allowIn=n,a},f.prototype.parseSuper=function(){var e=this.createNode();return this.expectKeyword("super"),!this.match("[")&&!this.match(".")&&this.throwUnexpectedToken(this.lookahead),this.finalize(e,new l.Super)},f.prototype.parseLeftHandSideExpression=function(){d.assert(this.context.allowIn,"callee of new expression always allow in keyword.");for(var e=this.startNode(this.lookahead),i=this.matchKeyword("super")&&this.context.inFunctionBody?this.parseSuper():this.inheritCoverGrammar(this.matchKeyword("new")?this.parseNewExpression:this.parsePrimaryExpression);;)if(this.match("[")){this.context.isBindingElement=!1,this.context.isAssignmentTarget=!0,this.expect("[");var n=this.isolateCoverGrammar(this.parseExpression);this.expect("]"),i=this.finalize(e,new l.ComputedMemberExpression(i,n))}else if(this.match(".")){this.context.isBindingElement=!1,this.context.isAssignmentTarget=!0,this.expect(".");var n=this.parseIdentifierName();i=this.finalize(e,new l.StaticMemberExpression(i,n))}else if(this.lookahead.type===10&&this.lookahead.head){var a=this.parseTemplateLiteral();i=this.finalize(e,new l.TaggedTemplateExpression(i,a))}else break;return i},f.prototype.parseUpdateExpression=function(){var e,i=this.lookahead;if(this.match("++")||this.match("--")){var n=this.startNode(i),a=this.nextToken();e=this.inheritCoverGrammar(this.parseUnaryExpression),this.context.strict&&e.type===S.Syntax.Identifier&&this.scanner.isRestrictedWord(e.name)&&this.tolerateError(s.Messages.StrictLHSPrefix),this.context.isAssignmentTarget||this.tolerateError(s.Messages.InvalidLHSInAssignment);var E=!0;e=this.finalize(n,new l.UpdateExpression(a.value,e,E)),this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1}else if(e=this.inheritCoverGrammar(this.parseLeftHandSideExpressionAllowCall),!this.hasLineTerminator&&this.lookahead.type===7&&(this.match("++")||this.match("--"))){this.context.strict&&e.type===S.Syntax.Identifier&&this.scanner.isRestrictedWord(e.name)&&this.tolerateError(s.Messages.StrictLHSPostfix),this.context.isAssignmentTarget||this.tolerateError(s.Messages.InvalidLHSInAssignment),this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1;var F=this.nextToken().value,E=!1;e=this.finalize(this.startNode(i),new l.UpdateExpression(F,e,E))}return e},f.prototype.parseAwaitExpression=function(){var e=this.createNode();this.nextToken();var i=this.parseUnaryExpression();return this.finalize(e,new l.AwaitExpression(i))},f.prototype.parseUnaryExpression=function(){var e;if(this.match("+")||this.match("-")||this.match("~")||this.match("!")||this.matchKeyword("delete")||this.matchKeyword("void")||this.matchKeyword("typeof")){var i=this.startNode(this.lookahead),n=this.nextToken();e=this.inheritCoverGrammar(this.parseUnaryExpression),e=this.finalize(i,new l.UnaryExpression(n.value,e)),this.context.strict&&e.operator==="delete"&&e.argument.type===S.Syntax.Identifier&&this.tolerateError(s.Messages.StrictDelete),this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1}else this.context.await&&this.matchContextualKeyword("await")?e=this.parseAwaitExpression():e=this.parseUpdateExpression();return e},f.prototype.parseExponentiationExpression=function(){var e=this.lookahead,i=this.inheritCoverGrammar(this.parseUnaryExpression);if(i.type!==S.Syntax.UnaryExpression&&this.match("**")){this.nextToken(),this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1;var n=i,a=this.isolateCoverGrammar(this.parseExponentiationExpression);i=this.finalize(this.startNode(e),new l.BinaryExpression("**",n,a))}return i},f.prototype.binaryPrecedence=function(e){var i=e.value,n;return e.type===7?n=this.operatorPrecedence[i]||0:e.type===4?n=i==="instanceof"||this.context.allowIn&&i==="in"?7:0:n=0,n},f.prototype.parseBinaryExpression=function(){var e=this.lookahead,i=this.inheritCoverGrammar(this.parseExponentiationExpression),n=this.lookahead,a=this.binaryPrecedence(n);if(a>0){this.nextToken(),this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1;for(var E=[e,this.lookahead],F=i,T=this.isolateCoverGrammar(this.parseExponentiationExpression),I=[F,n.value,T],P=[a];a=this.binaryPrecedence(this.lookahead),!(a<=0);){for(;I.length>2&&a<=P[P.length-1];){T=I.pop();var R=I.pop();P.pop(),F=I.pop(),E.pop();var L=this.startNode(E[E.length-1]);I.push(this.finalize(L,new l.BinaryExpression(R,F,T)))}I.push(this.nextToken().value),P.push(a),E.push(this.lookahead),I.push(this.isolateCoverGrammar(this.parseExponentiationExpression))}var X=I.length-1;i=I[X];for(var z=E.pop();X>1;){var G=E.pop(),V=z&&z.lineStart,L=this.startNode(G,V),R=I[X-1];i=this.finalize(L,new l.BinaryExpression(R,I[X-2],i)),X-=2,z=G}}return i},f.prototype.parseConditionalExpression=function(){var e=this.lookahead,i=this.inheritCoverGrammar(this.parseBinaryExpression);if(this.match("?")){this.nextToken();var n=this.context.allowIn;this.context.allowIn=!0;var a=this.isolateCoverGrammar(this.parseAssignmentExpression);this.context.allowIn=n,this.expect(":");var E=this.isolateCoverGrammar(this.parseAssignmentExpression);i=this.finalize(this.startNode(e),new l.ConditionalExpression(i,a,E)),this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1}return i},f.prototype.checkPatternParam=function(e,i){switch(i.type){case S.Syntax.Identifier:this.validateParam(e,i,i.name);break;case S.Syntax.RestElement:this.checkPatternParam(e,i.argument);break;case S.Syntax.AssignmentPattern:this.checkPatternParam(e,i.left);break;case S.Syntax.ArrayPattern:for(var n=0;n<i.elements.length;n++)i.elements[n]!==null&&this.checkPatternParam(e,i.elements[n]);break;case S.Syntax.ObjectPattern:for(var n=0;n<i.properties.length;n++)this.checkPatternParam(e,i.properties[n].value);break}e.simple=e.simple&&i instanceof l.Identifier},f.prototype.reinterpretAsCoverFormalsList=function(e){var i=[e],n,a=!1;switch(e.type){case S.Syntax.Identifier:break;case h:i=e.params,a=e.async;break;default:return null}n={simple:!0,paramSet:{}};for(var E=0;E<i.length;++E){var F=i[E];F.type===S.Syntax.AssignmentPattern?F.right.type===S.Syntax.YieldExpression&&(F.right.argument&&this.throwUnexpectedToken(this.lookahead),F.right.type=S.Syntax.Identifier,F.right.name="yield",delete F.right.argument,delete F.right.delegate):a&&F.type===S.Syntax.Identifier&&F.name==="await"&&this.throwUnexpectedToken(this.lookahead),this.checkPatternParam(n,F),i[E]=F}if(this.context.strict||!this.context.allowYield)for(var E=0;E<i.length;++E){var F=i[E];F.type===S.Syntax.YieldExpression&&this.throwUnexpectedToken(this.lookahead)}if(n.message===s.Messages.StrictParamDupe){var T=this.context.strict?n.stricted:n.firstRestricted;this.throwUnexpectedToken(T,n.message)}return{simple:n.simple,params:i,stricted:n.stricted,firstRestricted:n.firstRestricted,message:n.message}},f.prototype.parseAssignmentExpression=function(){var e;if(!this.context.allowYield&&this.matchKeyword("yield"))e=this.parseYieldExpression();else{var i=this.lookahead,n=i;if(e=this.parseConditionalExpression(),n.type===3&&n.lineNumber===this.lookahead.lineNumber&&n.value==="async"&&(this.lookahead.type===3||this.matchKeyword("yield"))){var a=this.parsePrimaryExpression();this.reinterpretExpressionAsPattern(a),e={type:h,params:[a],async:!0}}if(e.type===h||this.match("=>")){this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1;var E=e.async,F=this.reinterpretAsCoverFormalsList(e);if(F){this.hasLineTerminator&&this.tolerateUnexpectedToken(this.lookahead),this.context.firstCoverInitializedNameError=null;var T=this.context.strict,I=this.context.allowStrictDirective;this.context.allowStrictDirective=F.simple;var P=this.context.allowYield,R=this.context.await;this.context.allowYield=!0,this.context.await=E;var L=this.startNode(i);this.expect("=>");var X=void 0;if(this.match("{")){var z=this.context.allowIn;this.context.allowIn=!0,X=this.parseFunctionSourceElements(),this.context.allowIn=z}else X=this.isolateCoverGrammar(this.parseAssignmentExpression);var G=X.type!==S.Syntax.BlockStatement;this.context.strict&&F.firstRestricted&&this.throwUnexpectedToken(F.firstRestricted,F.message),this.context.strict&&F.stricted&&this.tolerateUnexpectedToken(F.stricted,F.message),e=E?this.finalize(L,new l.AsyncArrowFunctionExpression(F.params,X,G)):this.finalize(L,new l.ArrowFunctionExpression(F.params,X,G)),this.context.strict=T,this.context.allowStrictDirective=I,this.context.allowYield=P,this.context.await=R}}else if(this.matchAssign()){if(this.context.isAssignmentTarget||this.tolerateError(s.Messages.InvalidLHSInAssignment),this.context.strict&&e.type===S.Syntax.Identifier){var V=e;this.scanner.isRestrictedWord(V.name)&&this.tolerateUnexpectedToken(n,s.Messages.StrictLHSAssignment),this.scanner.isStrictModeReservedWord(V.name)&&this.tolerateUnexpectedToken(n,s.Messages.StrictReservedWord)}this.match("=")?this.reinterpretExpressionAsPattern(e):(this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1),n=this.nextToken();var oe=n.value,De=this.isolateCoverGrammar(this.parseAssignmentExpression);e=this.finalize(this.startNode(i),new l.AssignmentExpression(oe,e,De)),this.context.firstCoverInitializedNameError=null}}return e},f.prototype.parseExpression=function(){var e=this.lookahead,i=this.isolateCoverGrammar(this.parseAssignmentExpression);if(this.match(",")){var n=[];for(n.push(i);this.lookahead.type!==2&&this.match(",");)this.nextToken(),n.push(this.isolateCoverGrammar(this.parseAssignmentExpression));i=this.finalize(this.startNode(e),new l.SequenceExpression(n))}return i},f.prototype.parseStatementListItem=function(){var e;if(this.context.isAssignmentTarget=!0,this.context.isBindingElement=!0,this.lookahead.type===4)switch(this.lookahead.value){case"export":this.context.isModule||this.tolerateUnexpectedToken(this.lookahead,s.Messages.IllegalExportDeclaration),e=this.parseExportDeclaration();break;case"import":this.context.isModule||this.tolerateUnexpectedToken(this.lookahead,s.Messages.IllegalImportDeclaration),e=this.parseImportDeclaration();break;case"const":e=this.parseLexicalDeclaration({inFor:!1});break;case"function":e=this.parseFunctionDeclaration();break;case"class":e=this.parseClassDeclaration();break;case"let":e=this.isLexicalDeclaration()?this.parseLexicalDeclaration({inFor:!1}):this.parseStatement();break;default:e=this.parseStatement();break}else e=this.parseStatement();return e},f.prototype.parseBlock=function(){var e=this.createNode();this.expect("{");for(var i=[];!this.match("}");)i.push(this.parseStatementListItem());return this.expect("}"),this.finalize(e,new l.BlockStatement(i))},f.prototype.parseLexicalBinding=function(e,i){var n=this.createNode(),a=[],E=this.parsePattern(a,e);this.context.strict&&E.type===S.Syntax.Identifier&&this.scanner.isRestrictedWord(E.name)&&this.tolerateError(s.Messages.StrictVarName);var F=null;return e==="const"?!this.matchKeyword("in")&&!this.matchContextualKeyword("of")&&(this.match("=")?(this.nextToken(),F=this.isolateCoverGrammar(this.parseAssignmentExpression)):this.throwError(s.Messages.DeclarationMissingInitializer,"const")):(!i.inFor&&E.type!==S.Syntax.Identifier||this.match("="))&&(this.expect("="),F=this.isolateCoverGrammar(this.parseAssignmentExpression)),this.finalize(n,new l.VariableDeclarator(E,F))},f.prototype.parseBindingList=function(e,i){for(var n=[this.parseLexicalBinding(e,i)];this.match(",");)this.nextToken(),n.push(this.parseLexicalBinding(e,i));return n},f.prototype.isLexicalDeclaration=function(){var e=this.scanner.saveState();this.scanner.scanComments();var i=this.scanner.lex();return this.scanner.restoreState(e),i.type===3||i.type===7&&i.value==="["||i.type===7&&i.value==="{"||i.type===4&&i.value==="let"||i.type===4&&i.value==="yield"},f.prototype.parseLexicalDeclaration=function(e){var i=this.createNode(),n=this.nextToken().value;d.assert(n==="let"||n==="const","Lexical declaration must be either let or const");var a=this.parseBindingList(n,e);return this.consumeSemicolon(),this.finalize(i,new l.VariableDeclaration(a,n))},f.prototype.parseBindingRestElement=function(e,i){var n=this.createNode();this.expect("...");var a=this.parsePattern(e,i);return this.finalize(n,new l.RestElement(a))},f.prototype.parseArrayPattern=function(e,i){var n=this.createNode();this.expect("[");for(var a=[];!this.match("]");)if(this.match(","))this.nextToken(),a.push(null);else{if(this.match("...")){a.push(this.parseBindingRestElement(e,i));break}else a.push(this.parsePatternWithDefault(e,i));this.match("]")||this.expect(",")}return this.expect("]"),this.finalize(n,new l.ArrayPattern(a))},f.prototype.parsePropertyPattern=function(e,i){var n=this.createNode(),a=!1,E=!1,F=!1,T,I;if(this.lookahead.type===3){var P=this.lookahead;T=this.parseVariableIdentifier();var R=this.finalize(n,new l.Identifier(P.value));if(this.match("=")){e.push(P),E=!0,this.nextToken();var L=this.parseAssignmentExpression();I=this.finalize(this.startNode(P),new l.AssignmentPattern(R,L))}else this.match(":")?(this.expect(":"),I=this.parsePatternWithDefault(e,i)):(e.push(P),E=!0,I=R)}else a=this.match("["),T=this.parseObjectPropertyKey(),this.expect(":"),I=this.parsePatternWithDefault(e,i);return this.finalize(n,new l.Property("init",T,a,I,F,E))},f.prototype.parseObjectPattern=function(e,i){var n=this.createNode(),a=[];for(this.expect("{");!this.match("}");)a.push(this.parsePropertyPattern(e,i)),this.match("}")||this.expect(",");return this.expect("}"),this.finalize(n,new l.ObjectPattern(a))},f.prototype.parsePattern=function(e,i){var n;return this.match("[")?n=this.parseArrayPattern(e,i):this.match("{")?n=this.parseObjectPattern(e,i):(this.matchKeyword("let")&&(i==="const"||i==="let")&&this.tolerateUnexpectedToken(this.lookahead,s.Messages.LetInLexicalBinding),e.push(this.lookahead),n=this.parseVariableIdentifier(i)),n},f.prototype.parsePatternWithDefault=function(e,i){var n=this.lookahead,a=this.parsePattern(e,i);if(this.match("=")){this.nextToken();var E=this.context.allowYield;this.context.allowYield=!0;var F=this.isolateCoverGrammar(this.parseAssignmentExpression);this.context.allowYield=E,a=this.finalize(this.startNode(n),new l.AssignmentPattern(a,F))}return a},f.prototype.parseVariableIdentifier=function(e){var i=this.createNode(),n=this.nextToken();return n.type===4&&n.value==="yield"?this.context.strict?this.tolerateUnexpectedToken(n,s.Messages.StrictReservedWord):this.context.allowYield||this.throwUnexpectedToken(n):n.type!==3?this.context.strict&&n.type===4&&this.scanner.isStrictModeReservedWord(n.value)?this.tolerateUnexpectedToken(n,s.Messages.StrictReservedWord):(this.context.strict||n.value!=="let"||e!=="var")&&this.throwUnexpectedToken(n):(this.context.isModule||this.context.await)&&n.type===3&&n.value==="await"&&this.tolerateUnexpectedToken(n),this.finalize(i,new l.Identifier(n.value))},f.prototype.parseVariableDeclaration=function(e){var i=this.createNode(),n=[],a=this.parsePattern(n,"var");this.context.strict&&a.type===S.Syntax.Identifier&&this.scanner.isRestrictedWord(a.name)&&this.tolerateError(s.Messages.StrictVarName);var E=null;return this.match("=")?(this.nextToken(),E=this.isolateCoverGrammar(this.parseAssignmentExpression)):a.type!==S.Syntax.Identifier&&!e.inFor&&this.expect("="),this.finalize(i,new l.VariableDeclarator(a,E))},f.prototype.parseVariableDeclarationList=function(e){var i={inFor:e.inFor},n=[];for(n.push(this.parseVariableDeclaration(i));this.match(",");)this.nextToken(),n.push(this.parseVariableDeclaration(i));return n},f.prototype.parseVariableStatement=function(){var e=this.createNode();this.expectKeyword("var");var i=this.parseVariableDeclarationList({inFor:!1});return this.consumeSemicolon(),this.finalize(e,new l.VariableDeclaration(i,"var"))},f.prototype.parseEmptyStatement=function(){var e=this.createNode();return this.expect(";"),this.finalize(e,new l.EmptyStatement)},f.prototype.parseExpressionStatement=function(){var e=this.createNode(),i=this.parseExpression();return this.consumeSemicolon(),this.finalize(e,new l.ExpressionStatement(i))},f.prototype.parseIfClause=function(){return this.context.strict&&this.matchKeyword("function")&&this.tolerateError(s.Messages.StrictFunction),this.parseStatement()},f.prototype.parseIfStatement=function(){var e=this.createNode(),i,n=null;this.expectKeyword("if"),this.expect("(");var a=this.parseExpression();return!this.match(")")&&this.config.tolerant?(this.tolerateUnexpectedToken(this.nextToken()),i=this.finalize(this.createNode(),new l.EmptyStatement)):(this.expect(")"),i=this.parseIfClause(),this.matchKeyword("else")&&(this.nextToken(),n=this.parseIfClause())),this.finalize(e,new l.IfStatement(a,i,n))},f.prototype.parseDoWhileStatement=function(){var e=this.createNode();this.expectKeyword("do");var i=this.context.inIteration;this.context.inIteration=!0;var n=this.parseStatement();this.context.inIteration=i,this.expectKeyword("while"),this.expect("(");var a=this.parseExpression();return!this.match(")")&&this.config.tolerant?this.tolerateUnexpectedToken(this.nextToken()):(this.expect(")"),this.match(";")&&this.nextToken()),this.finalize(e,new l.DoWhileStatement(n,a))},f.prototype.parseWhileStatement=function(){var e=this.createNode(),i;this.expectKeyword("while"),this.expect("(");var n=this.parseExpression();if(!this.match(")")&&this.config.tolerant)this.tolerateUnexpectedToken(this.nextToken()),i=this.finalize(this.createNode(),new l.EmptyStatement);else{this.expect(")");var a=this.context.inIteration;this.context.inIteration=!0,i=this.parseStatement(),this.context.inIteration=a}return this.finalize(e,new l.WhileStatement(n,i))},f.prototype.parseForStatement=function(){var e=null,i=null,n=null,a=!0,E,F,T=this.createNode();if(this.expectKeyword("for"),this.expect("("),this.match(";"))this.nextToken();else if(this.matchKeyword("var")){e=this.createNode(),this.nextToken();var I=this.context.allowIn;this.context.allowIn=!1;var P=this.parseVariableDeclarationList({inFor:!0});if(this.context.allowIn=I,P.length===1&&this.matchKeyword("in")){var R=P[0];R.init&&(R.id.type===S.Syntax.ArrayPattern||R.id.type===S.Syntax.ObjectPattern||this.context.strict)&&this.tolerateError(s.Messages.ForInOfLoopInitializer,"for-in"),e=this.finalize(e,new l.VariableDeclaration(P,"var")),this.nextToken(),E=e,F=this.parseExpression(),e=null}else P.length===1&&P[0].init===null&&this.matchContextualKeyword("of")?(e=this.finalize(e,new l.VariableDeclaration(P,"var")),this.nextToken(),E=e,F=this.parseAssignmentExpression(),e=null,a=!1):(e=this.finalize(e,new l.VariableDeclaration(P,"var")),this.expect(";"))}else if(this.matchKeyword("const")||this.matchKeyword("let")){e=this.createNode();var L=this.nextToken().value;if(!this.context.strict&&this.lookahead.value==="in")e=this.finalize(e,new l.Identifier(L)),this.nextToken(),E=e,F=this.parseExpression(),e=null;else{var I=this.context.allowIn;this.context.allowIn=!1;var P=this.parseBindingList(L,{inFor:!0});this.context.allowIn=I,P.length===1&&P[0].init===null&&this.matchKeyword("in")?(e=this.finalize(e,new l.VariableDeclaration(P,L)),this.nextToken(),E=e,F=this.parseExpression(),e=null):P.length===1&&P[0].init===null&&this.matchContextualKeyword("of")?(e=this.finalize(e,new l.VariableDeclaration(P,L)),this.nextToken(),E=e,F=this.parseAssignmentExpression(),e=null,a=!1):(this.consumeSemicolon(),e=this.finalize(e,new l.VariableDeclaration(P,L)))}}else{var X=this.lookahead,I=this.context.allowIn;if(this.context.allowIn=!1,e=this.inheritCoverGrammar(this.parseAssignmentExpression),this.context.allowIn=I,this.matchKeyword("in"))(!this.context.isAssignmentTarget||e.type===S.Syntax.AssignmentExpression)&&this.tolerateError(s.Messages.InvalidLHSInForIn),this.nextToken(),this.reinterpretExpressionAsPattern(e),E=e,F=this.parseExpression(),e=null;else if(this.matchContextualKeyword("of"))(!this.context.isAssignmentTarget||e.type===S.Syntax.AssignmentExpression)&&this.tolerateError(s.Messages.InvalidLHSInForLoop),this.nextToken(),this.reinterpretExpressionAsPattern(e),E=e,F=this.parseAssignmentExpression(),e=null,a=!1;else{if(this.match(",")){for(var z=[e];this.match(",");)this.nextToken(),z.push(this.isolateCoverGrammar(this.parseAssignmentExpression));e=this.finalize(this.startNode(X),new l.SequenceExpression(z))}this.expect(";")}}typeof E=="undefined"&&(this.match(";")||(i=this.parseExpression()),this.expect(";"),this.match(")")||(n=this.parseExpression()));var G;if(!this.match(")")&&this.config.tolerant)this.tolerateUnexpectedToken(this.nextToken()),G=this.finalize(this.createNode(),new l.EmptyStatement);else{this.expect(")");var V=this.context.inIteration;this.context.inIteration=!0,G=this.isolateCoverGrammar(this.parseStatement),this.context.inIteration=V}return typeof E=="undefined"?this.finalize(T,new l.ForStatement(e,i,n,G)):a?this.finalize(T,new l.ForInStatement(E,F,G)):this.finalize(T,new l.ForOfStatement(E,F,G))},f.prototype.parseContinueStatement=function(){var e=this.createNode();this.expectKeyword("continue");var i=null;if(this.lookahead.type===3&&!this.hasLineTerminator){var n=this.parseVariableIdentifier();i=n;var a="$"+n.name;Object.prototype.hasOwnProperty.call(this.context.labelSet,a)||this.throwError(s.Messages.UnknownLabel,n.name)}return this.consumeSemicolon(),i===null&&!this.context.inIteration&&this.throwError(s.Messages.IllegalContinue),this.finalize(e,new l.ContinueStatement(i))},f.prototype.parseBreakStatement=function(){var e=this.createNode();this.expectKeyword("break");var i=null;if(this.lookahead.type===3&&!this.hasLineTerminator){var n=this.parseVariableIdentifier(),a="$"+n.name;Object.prototype.hasOwnProperty.call(this.context.labelSet,a)||this.throwError(s.Messages.UnknownLabel,n.name),i=n}return this.consumeSemicolon(),i===null&&!this.context.inIteration&&!this.context.inSwitch&&this.throwError(s.Messages.IllegalBreak),this.finalize(e,new l.BreakStatement(i))},f.prototype.parseReturnStatement=function(){this.context.inFunctionBody||this.tolerateError(s.Messages.IllegalReturn);var e=this.createNode();this.expectKeyword("return");var i=!this.match(";")&&!this.match("}")&&!this.hasLineTerminator&&this.lookahead.type!==2||this.lookahead.type===8||this.lookahead.type===10,n=i?this.parseExpression():null;return this.consumeSemicolon(),this.finalize(e,new l.ReturnStatement(n))},f.prototype.parseWithStatement=function(){this.context.strict&&this.tolerateError(s.Messages.StrictModeWith);var e=this.createNode(),i;this.expectKeyword("with"),this.expect("(");var n=this.parseExpression();return!this.match(")")&&this.config.tolerant?(this.tolerateUnexpectedToken(this.nextToken()),i=this.finalize(this.createNode(),new l.EmptyStatement)):(this.expect(")"),i=this.parseStatement()),this.finalize(e,new l.WithStatement(n,i))},f.prototype.parseSwitchCase=function(){var e=this.createNode(),i;this.matchKeyword("default")?(this.nextToken(),i=null):(this.expectKeyword("case"),i=this.parseExpression()),this.expect(":");for(var n=[];!(this.match("}")||this.matchKeyword("default")||this.matchKeyword("case"));)n.push(this.parseStatementListItem());return this.finalize(e,new l.SwitchCase(i,n))},f.prototype.parseSwitchStatement=function(){var e=this.createNode();this.expectKeyword("switch"),this.expect("(");var i=this.parseExpression();this.expect(")");var n=this.context.inSwitch;this.context.inSwitch=!0;var a=[],E=!1;for(this.expect("{");!this.match("}");){var F=this.parseSwitchCase();F.test===null&&(E&&this.throwError(s.Messages.MultipleDefaultsInSwitch),E=!0),a.push(F)}return this.expect("}"),this.context.inSwitch=n,this.finalize(e,new l.SwitchStatement(i,a))},f.prototype.parseLabelledStatement=function(){var e=this.createNode(),i=this.parseExpression(),n;if(i.type===S.Syntax.Identifier&&this.match(":")){this.nextToken();var a=i,E="$"+a.name;Object.prototype.hasOwnProperty.call(this.context.labelSet,E)&&this.throwError(s.Messages.Redeclaration,"Label",a.name),this.context.labelSet[E]=!0;var F=void 0;if(this.matchKeyword("class"))this.tolerateUnexpectedToken(this.lookahead),F=this.parseClassDeclaration();else if(this.matchKeyword("function")){var T=this.lookahead,I=this.parseFunctionDeclaration();this.context.strict?this.tolerateUnexpectedToken(T,s.Messages.StrictFunction):I.generator&&this.tolerateUnexpectedToken(T,s.Messages.GeneratorInLegacyContext),F=I}else F=this.parseStatement();delete this.context.labelSet[E],n=new l.LabeledStatement(a,F)}else this.consumeSemicolon(),n=new l.ExpressionStatement(i);return this.finalize(e,n)},f.prototype.parseThrowStatement=function(){var e=this.createNode();this.expectKeyword("throw"),this.hasLineTerminator&&this.throwError(s.Messages.NewlineAfterThrow);var i=this.parseExpression();return this.consumeSemicolon(),this.finalize(e,new l.ThrowStatement(i))},f.prototype.parseCatchClause=function(){var e=this.createNode();this.expectKeyword("catch"),this.expect("("),this.match(")")&&this.throwUnexpectedToken(this.lookahead);for(var i=[],n=this.parsePattern(i),a={},E=0;E<i.length;E++){var F="$"+i[E].value;Object.prototype.hasOwnProperty.call(a,F)&&this.tolerateError(s.Messages.DuplicateBinding,i[E].value),a[F]=!0}this.context.strict&&n.type===S.Syntax.Identifier&&this.scanner.isRestrictedWord(n.name)&&this.tolerateError(s.Messages.StrictCatchVariable),this.expect(")");var T=this.parseBlock();return this.finalize(e,new l.CatchClause(n,T))},f.prototype.parseFinallyClause=function(){return this.expectKeyword("finally"),this.parseBlock()},f.prototype.parseTryStatement=function(){var e=this.createNode();this.expectKeyword("try");var i=this.parseBlock(),n=this.matchKeyword("catch")?this.parseCatchClause():null,a=this.matchKeyword("finally")?this.parseFinallyClause():null;return!n&&!a&&this.throwError(s.Messages.NoCatchOrFinally),this.finalize(e,new l.TryStatement(i,n,a))},f.prototype.parseDebuggerStatement=function(){var e=this.createNode();return this.expectKeyword("debugger"),this.consumeSemicolon(),this.finalize(e,new l.DebuggerStatement)},f.prototype.parseStatement=function(){var e;switch(this.lookahead.type){case 1:case 5:case 6:case 8:case 10:case 9:e=this.parseExpressionStatement();break;case 7:var i=this.lookahead.value;i==="{"?e=this.parseBlock():i==="("?e=this.parseExpressionStatement():i===";"?e=this.parseEmptyStatement():e=this.parseExpressionStatement();break;case 3:e=this.matchAsyncFunction()?this.parseFunctionDeclaration():this.parseLabelledStatement();break;case 4:switch(this.lookahead.value){case"break":e=this.parseBreakStatement();break;case"continue":e=this.parseContinueStatement();break;case"debugger":e=this.parseDebuggerStatement();break;case"do":e=this.parseDoWhileStatement();break;case"for":e=this.parseForStatement();break;case"function":e=this.parseFunctionDeclaration();break;case"if":e=this.parseIfStatement();break;case"return":e=this.parseReturnStatement();break;case"switch":e=this.parseSwitchStatement();break;case"throw":e=this.parseThrowStatement();break;case"try":e=this.parseTryStatement();break;case"var":e=this.parseVariableStatement();break;case"while":e=this.parseWhileStatement();break;case"with":e=this.parseWithStatement();break;default:e=this.parseExpressionStatement();break}break;default:e=this.throwUnexpectedToken(this.lookahead)}return e},f.prototype.parseFunctionSourceElements=function(){var e=this.createNode();this.expect("{");var i=this.parseDirectivePrologues(),n=this.context.labelSet,a=this.context.inIteration,E=this.context.inSwitch,F=this.context.inFunctionBody;for(this.context.labelSet={},this.context.inIteration=!1,this.context.inSwitch=!1,this.context.inFunctionBody=!0;this.lookahead.type!==2&&!this.match("}");)i.push(this.parseStatementListItem());return this.expect("}"),this.context.labelSet=n,this.context.inIteration=a,this.context.inSwitch=E,this.context.inFunctionBody=F,this.finalize(e,new l.BlockStatement(i))},f.prototype.validateParam=function(e,i,n){var a="$"+n;this.context.strict?(this.scanner.isRestrictedWord(n)&&(e.stricted=i,e.message=s.Messages.StrictParamName),Object.prototype.hasOwnProperty.call(e.paramSet,a)&&(e.stricted=i,e.message=s.Messages.StrictParamDupe)):e.firstRestricted||(this.scanner.isRestrictedWord(n)?(e.firstRestricted=i,e.message=s.Messages.StrictParamName):this.scanner.isStrictModeReservedWord(n)?(e.firstRestricted=i,e.message=s.Messages.StrictReservedWord):Object.prototype.hasOwnProperty.call(e.paramSet,a)&&(e.stricted=i,e.message=s.Messages.StrictParamDupe)),typeof Object.defineProperty=="function"?Object.defineProperty(e.paramSet,a,{value:!0,enumerable:!0,writable:!0,configurable:!0}):e.paramSet[a]=!0},f.prototype.parseRestElement=function(e){var i=this.createNode();this.expect("...");var n=this.parsePattern(e);return this.match("=")&&this.throwError(s.Messages.DefaultRestParameter),this.match(")")||this.throwError(s.Messages.ParameterAfterRestParameter),this.finalize(i,new l.RestElement(n))},f.prototype.parseFormalParameter=function(e){for(var i=[],n=this.match("...")?this.parseRestElement(i):this.parsePatternWithDefault(i),a=0;a<i.length;a++)this.validateParam(e,i[a],i[a].value);e.simple=e.simple&&n instanceof l.Identifier,e.params.push(n)},f.prototype.parseFormalParameters=function(e){var i;if(i={simple:!0,params:[],firstRestricted:e},this.expect("("),!this.match(")"))for(i.paramSet={};this.lookahead.type!==2&&(this.parseFormalParameter(i),!(this.match(")")||(this.expect(","),this.match(")")))););return this.expect(")"),{simple:i.simple,params:i.params,stricted:i.stricted,firstRestricted:i.firstRestricted,message:i.message}},f.prototype.matchAsyncFunction=function(){var e=this.matchContextualKeyword("async");if(e){var i=this.scanner.saveState();this.scanner.scanComments();var n=this.scanner.lex();this.scanner.restoreState(i),e=i.lineNumber===n.lineNumber&&n.type===4&&n.value==="function"}return e},f.prototype.parseFunctionDeclaration=function(e){var i=this.createNode(),n=this.matchContextualKeyword("async");n&&this.nextToken(),this.expectKeyword("function");var a=n?!1:this.match("*");a&&this.nextToken();var E,F=null,T=null;if(!e||!this.match("(")){var I=this.lookahead;F=this.parseVariableIdentifier(),this.context.strict?this.scanner.isRestrictedWord(I.value)&&this.tolerateUnexpectedToken(I,s.Messages.StrictFunctionName):this.scanner.isRestrictedWord(I.value)?(T=I,E=s.Messages.StrictFunctionName):this.scanner.isStrictModeReservedWord(I.value)&&(T=I,E=s.Messages.StrictReservedWord)}var P=this.context.await,R=this.context.allowYield;this.context.await=n,this.context.allowYield=!a;var L=this.parseFormalParameters(T),X=L.params,z=L.stricted;T=L.firstRestricted,L.message&&(E=L.message);var G=this.context.strict,V=this.context.allowStrictDirective;this.context.allowStrictDirective=L.simple;var oe=this.parseFunctionSourceElements();return this.context.strict&&T&&this.throwUnexpectedToken(T,E),this.context.strict&&z&&this.tolerateUnexpectedToken(z,E),this.context.strict=G,this.context.allowStrictDirective=V,this.context.await=P,this.context.allowYield=R,n?this.finalize(i,new l.AsyncFunctionDeclaration(F,X,oe)):this.finalize(i,new l.FunctionDeclaration(F,X,oe,a))},f.prototype.parseFunctionExpression=function(){var e=this.createNode(),i=this.matchContextualKeyword("async");i&&this.nextToken(),this.expectKeyword("function");var n=i?!1:this.match("*");n&&this.nextToken();var a,E=null,F,T=this.context.await,I=this.context.allowYield;if(this.context.await=i,this.context.allowYield=!n,!this.match("(")){var P=this.lookahead;E=!this.context.strict&&!n&&this.matchKeyword("yield")?this.parseIdentifierName():this.parseVariableIdentifier(),this.context.strict?this.scanner.isRestrictedWord(P.value)&&this.tolerateUnexpectedToken(P,s.Messages.StrictFunctionName):this.scanner.isRestrictedWord(P.value)?(F=P,a=s.Messages.StrictFunctionName):this.scanner.isStrictModeReservedWord(P.value)&&(F=P,a=s.Messages.StrictReservedWord)}var R=this.parseFormalParameters(F),L=R.params,X=R.stricted;F=R.firstRestricted,R.message&&(a=R.message);var z=this.context.strict,G=this.context.allowStrictDirective;this.context.allowStrictDirective=R.simple;var V=this.parseFunctionSourceElements();return this.context.strict&&F&&this.throwUnexpectedToken(F,a),this.context.strict&&X&&this.tolerateUnexpectedToken(X,a),this.context.strict=z,this.context.allowStrictDirective=G,this.context.await=T,this.context.allowYield=I,i?this.finalize(e,new l.AsyncFunctionExpression(E,L,V)):this.finalize(e,new l.FunctionExpression(E,L,V,n))},f.prototype.parseDirective=function(){var e=this.lookahead,i=this.createNode(),n=this.parseExpression(),a=n.type===S.Syntax.Literal?this.getTokenRaw(e).slice(1,-1):null;return this.consumeSemicolon(),this.finalize(i,a?new l.Directive(n,a):new l.ExpressionStatement(n))},f.prototype.parseDirectivePrologues=function(){for(var e=null,i=[];;){var n=this.lookahead;if(n.type!==8)break;var a=this.parseDirective();i.push(a);var E=a.directive;if(typeof E!="string")break;E==="use strict"?(this.context.strict=!0,e&&this.tolerateUnexpectedToken(e,s.Messages.StrictOctalLiteral),this.context.allowStrictDirective||this.tolerateUnexpectedToken(n,s.Messages.IllegalLanguageModeDirective)):!e&&n.octal&&(e=n)}return i},f.prototype.qualifiedPropertyName=function(e){switch(e.type){case 3:case 8:case 1:case 5:case 6:case 4:return!0;case 7:return e.value==="["}return!1},f.prototype.parseGetterMethod=function(){var e=this.createNode(),i=!1,n=this.context.allowYield;this.context.allowYield=!i;var a=this.parseFormalParameters();a.params.length>0&&this.tolerateError(s.Messages.BadGetterArity);var E=this.parsePropertyMethod(a);return this.context.allowYield=n,this.finalize(e,new l.FunctionExpression(null,a.params,E,i))},f.prototype.parseSetterMethod=function(){var e=this.createNode(),i=!1,n=this.context.allowYield;this.context.allowYield=!i;var a=this.parseFormalParameters();a.params.length!==1?this.tolerateError(s.Messages.BadSetterArity):a.params[0]instanceof l.RestElement&&this.tolerateError(s.Messages.BadSetterRestParameter);var E=this.parsePropertyMethod(a);return this.context.allowYield=n,this.finalize(e,new l.FunctionExpression(null,a.params,E,i))},f.prototype.parseGeneratorMethod=function(){var e=this.createNode(),i=!0,n=this.context.allowYield;this.context.allowYield=!0;var a=this.parseFormalParameters();this.context.allowYield=!1;var E=this.parsePropertyMethod(a);return this.context.allowYield=n,this.finalize(e,new l.FunctionExpression(null,a.params,E,i))},f.prototype.isStartOfExpression=function(){var e=!0,i=this.lookahead.value;switch(this.lookahead.type){case 7:e=i==="["||i==="("||i==="{"||i==="+"||i==="-"||i==="!"||i==="~"||i==="++"||i==="--"||i==="/"||i==="/=";break;case 4:e=i==="class"||i==="delete"||i==="function"||i==="let"||i==="new"||i==="super"||i==="this"||i==="typeof"||i==="void"||i==="yield";break}return e},f.prototype.parseYieldExpression=function(){var e=this.createNode();this.expectKeyword("yield");var i=null,n=!1;if(!this.hasLineTerminator){var a=this.context.allowYield;this.context.allowYield=!1,n=this.match("*"),n?(this.nextToken(),i=this.parseAssignmentExpression()):this.isStartOfExpression()&&(i=this.parseAssignmentExpression()),this.context.allowYield=a}return this.finalize(e,new l.YieldExpression(i,n))},f.prototype.parseClassElement=function(e){var i=this.lookahead,n=this.createNode(),a="",E=null,F=null,T=!1,I=!1,P=!1,R=!1;if(this.match("*"))this.nextToken();else{T=this.match("["),E=this.parseObjectPropertyKey();var L=E;if(L.name==="static"&&(this.qualifiedPropertyName(this.lookahead)||this.match("*"))&&(i=this.lookahead,P=!0,T=this.match("["),this.match("*")?this.nextToken():E=this.parseObjectPropertyKey()),i.type===3&&!this.hasLineTerminator&&i.value==="async"){var X=this.lookahead.value;X!==":"&&X!=="("&&X!=="*"&&(R=!0,i=this.lookahead,E=this.parseObjectPropertyKey(),i.type===3&&i.value==="constructor"&&this.tolerateUnexpectedToken(i,s.Messages.ConstructorIsAsync))}}var z=this.qualifiedPropertyName(this.lookahead);return i.type===3?i.value==="get"&&z?(a="get",T=this.match("["),E=this.parseObjectPropertyKey(),this.context.allowYield=!1,F=this.parseGetterMethod()):i.value==="set"&&z&&(a="set",T=this.match("["),E=this.parseObjectPropertyKey(),F=this.parseSetterMethod()):i.type===7&&i.value==="*"&&z&&(a="init",T=this.match("["),E=this.parseObjectPropertyKey(),F=this.parseGeneratorMethod(),I=!0),!a&&E&&this.match("(")&&(a="init",F=R?this.parsePropertyMethodAsyncFunction():this.parsePropertyMethodFunction(),I=!0),a||this.throwUnexpectedToken(this.lookahead),a==="init"&&(a="method"),T||(P&&this.isPropertyKey(E,"prototype")&&this.throwUnexpectedToken(i,s.Messages.StaticPrototype),!P&&this.isPropertyKey(E,"constructor")&&((a!=="method"||!I||F&&F.generator)&&this.throwUnexpectedToken(i,s.Messages.ConstructorSpecialMethod),e.value?this.throwUnexpectedToken(i,s.Messages.DuplicateConstructor):e.value=!0,a="constructor")),this.finalize(n,new l.MethodDefinition(E,T,F,a,P))},f.prototype.parseClassElementList=function(){var e=[],i={value:!1};for(this.expect("{");!this.match("}");)this.match(";")?this.nextToken():e.push(this.parseClassElement(i));return this.expect("}"),e},f.prototype.parseClassBody=function(){var e=this.createNode(),i=this.parseClassElementList();return this.finalize(e,new l.ClassBody(i))},f.prototype.parseClassDeclaration=function(e){var i=this.createNode(),n=this.context.strict;this.context.strict=!0,this.expectKeyword("class");var a=e&&this.lookahead.type!==3?null:this.parseVariableIdentifier(),E=null;this.matchKeyword("extends")&&(this.nextToken(),E=this.isolateCoverGrammar(this.parseLeftHandSideExpressionAllowCall));var F=this.parseClassBody();return this.context.strict=n,this.finalize(i,new l.ClassDeclaration(a,E,F))},f.prototype.parseClassExpression=function(){var e=this.createNode(),i=this.context.strict;this.context.strict=!0,this.expectKeyword("class");var n=this.lookahead.type===3?this.parseVariableIdentifier():null,a=null;this.matchKeyword("extends")&&(this.nextToken(),a=this.isolateCoverGrammar(this.parseLeftHandSideExpressionAllowCall));var E=this.parseClassBody();return this.context.strict=i,this.finalize(e,new l.ClassExpression(n,a,E))},f.prototype.parseModule=function(){this.context.strict=!0,this.context.isModule=!0,this.scanner.isModule=!0;for(var e=this.createNode(),i=this.parseDirectivePrologues();this.lookahead.type!==2;)i.push(this.parseStatementListItem());return this.finalize(e,new l.Module(i))},f.prototype.parseScript=function(){for(var e=this.createNode(),i=this.parseDirectivePrologues();this.lookahead.type!==2;)i.push(this.parseStatementListItem());return this.finalize(e,new l.Script(i))},f.prototype.parseModuleSpecifier=function(){var e=this.createNode();this.lookahead.type!==8&&this.throwError(s.Messages.InvalidModuleSpecifier);var i=this.nextToken(),n=this.getTokenRaw(i);return this.finalize(e,new l.Literal(i.value,n))},f.prototype.parseImportSpecifier=function(){var e=this.createNode(),i,n;return this.lookahead.type===3?(i=this.parseVariableIdentifier(),n=i,this.matchContextualKeyword("as")&&(this.nextToken(),n=this.parseVariableIdentifier())):(i=this.parseIdentifierName(),n=i,this.matchContextualKeyword("as")?(this.nextToken(),n=this.parseVariableIdentifier()):this.throwUnexpectedToken(this.nextToken())),this.finalize(e,new l.ImportSpecifier(n,i))},f.prototype.parseNamedImports=function(){this.expect("{");for(var e=[];!this.match("}");)e.push(this.parseImportSpecifier()),this.match("}")||this.expect(",");return this.expect("}"),e},f.prototype.parseImportDefaultSpecifier=function(){var e=this.createNode(),i=this.parseIdentifierName();return this.finalize(e,new l.ImportDefaultSpecifier(i))},f.prototype.parseImportNamespaceSpecifier=function(){var e=this.createNode();this.expect("*"),this.matchContextualKeyword("as")||this.throwError(s.Messages.NoAsAfterImportNamespace),this.nextToken();var i=this.parseIdentifierName();return this.finalize(e,new l.ImportNamespaceSpecifier(i))},f.prototype.parseImportDeclaration=function(){this.context.inFunctionBody&&this.throwError(s.Messages.IllegalImportDeclaration);var e=this.createNode();this.expectKeyword("import");var i,n=[];if(this.lookahead.type===8)i=this.parseModuleSpecifier();else{if(this.match("{")?n=n.concat(this.parseNamedImports()):this.match("*")?n.push(this.parseImportNamespaceSpecifier()):this.isIdentifierName(this.lookahead)&&!this.matchKeyword("default")?(n.push(this.parseImportDefaultSpecifier()),this.match(",")&&(this.nextToken(),this.match("*")?n.push(this.parseImportNamespaceSpecifier()):this.match("{")?n=n.concat(this.parseNamedImports()):this.throwUnexpectedToken(this.lookahead))):this.throwUnexpectedToken(this.nextToken()),!this.matchContextualKeyword("from")){var a=this.lookahead.value?s.Messages.UnexpectedToken:s.Messages.MissingFromClause;this.throwError(a,this.lookahead.value)}this.nextToken(),i=this.parseModuleSpecifier()}return this.consumeSemicolon(),this.finalize(e,new l.ImportDeclaration(n,i))},f.prototype.parseExportSpecifier=function(){var e=this.createNode(),i=this.parseIdentifierName(),n=i;return this.matchContextualKeyword("as")&&(this.nextToken(),n=this.parseIdentifierName()),this.finalize(e,new l.ExportSpecifier(i,n))},f.prototype.parseExportDeclaration=function(){this.context.inFunctionBody&&this.throwError(s.Messages.IllegalExportDeclaration);var e=this.createNode();this.expectKeyword("export");var i;if(this.matchKeyword("default"))if(this.nextToken(),this.matchKeyword("function")){var n=this.parseFunctionDeclaration(!0);i=this.finalize(e,new l.ExportDefaultDeclaration(n))}else if(this.matchKeyword("class")){var n=this.parseClassDeclaration(!0);i=this.finalize(e,new l.ExportDefaultDeclaration(n))}else if(this.matchContextualKeyword("async")){var n=this.matchAsyncFunction()?this.parseFunctionDeclaration(!0):this.parseAssignmentExpression();i=this.finalize(e,new l.ExportDefaultDeclaration(n))}else{this.matchContextualKeyword("from")&&this.throwError(s.Messages.UnexpectedToken,this.lookahead.value);var n=this.match("{")?this.parseObjectInitializer():this.match("[")?this.parseArrayInitializer():this.parseAssignmentExpression();this.consumeSemicolon(),i=this.finalize(e,new l.ExportDefaultDeclaration(n))}else if(this.match("*")){if(this.nextToken(),!this.matchContextualKeyword("from")){var a=this.lookahead.value?s.Messages.UnexpectedToken:s.Messages.MissingFromClause;this.throwError(a,this.lookahead.value)}this.nextToken();var E=this.parseModuleSpecifier();this.consumeSemicolon(),i=this.finalize(e,new l.ExportAllDeclaration(E))}else if(this.lookahead.type===4){var n=void 0;switch(this.lookahead.value){case"let":case"const":n=this.parseLexicalDeclaration({inFor:!1});break;case"var":case"class":case"function":n=this.parseStatementListItem();break;default:this.throwUnexpectedToken(this.lookahead)}i=this.finalize(e,new l.ExportNamedDeclaration(n,[],null))}else if(this.matchAsyncFunction()){var n=this.parseFunctionDeclaration();i=this.finalize(e,new l.ExportNamedDeclaration(n,[],null))}else{var F=[],T=null,I=!1;for(this.expect("{");!this.match("}");)I=I||this.matchKeyword("default"),F.push(this.parseExportSpecifier()),this.match("}")||this.expect(",");if(this.expect("}"),this.matchContextualKeyword("from"))this.nextToken(),T=this.parseModuleSpecifier(),this.consumeSemicolon();else if(I){var a=this.lookahead.value?s.Messages.UnexpectedToken:s.Messages.MissingFromClause;this.throwError(a,this.lookahead.value)}else this.consumeSemicolon();i=this.finalize(e,new l.ExportNamedDeclaration(null,F,T))}return i},f}();c.Parser=y},function(x,c){Object.defineProperty(c,"__esModule",{value:!0});function C(d,D){if(!d)throw new Error("ASSERT: "+D)}c.assert=C},function(x,c){Object.defineProperty(c,"__esModule",{value:!0});var C=function(){function d(){this.errors=[],this.tolerant=!1}return d.prototype.recordError=function(D){this.errors.push(D)},d.prototype.tolerate=function(D){if(this.tolerant)this.recordError(D);else throw D},d.prototype.constructError=function(D,s){var l=new Error(D);try{throw l}catch(A){Object.create&&Object.defineProperty&&(l=Object.create(A),Object.defineProperty(l,"column",{value:s}))}return l},d.prototype.createError=function(D,s,l,A){var S="Line "+s+": "+A,g=this.constructError(S,l);return g.index=D,g.lineNumber=s,g.description=A,g},d.prototype.throwError=function(D,s,l,A){throw this.createError(D,s,l,A)},d.prototype.tolerateError=function(D,s,l,A){var S=this.createError(D,s,l,A);if(this.tolerant)this.recordError(S);else throw S},d}();c.ErrorHandler=C},function(x,c){Object.defineProperty(c,"__esModule",{value:!0}),c.Messages={BadGetterArity:"Getter must not have any formal parameters",BadSetterArity:"Setter must have exactly one formal parameter",BadSetterRestParameter:"Setter function argument must not be a rest parameter",ConstructorIsAsync:"Class constructor may not be an async method",ConstructorSpecialMethod:"Class constructor may not be an accessor",DeclarationMissingInitializer:"Missing initializer in %0 declaration",DefaultRestParameter:"Unexpected token =",DuplicateBinding:"Duplicate binding %0",DuplicateConstructor:"A class may only have one constructor",DuplicateProtoProperty:"Duplicate __proto__ fields are not allowed in object literals",ForInOfLoopInitializer:"%0 loop variable declaration may not have an initializer",GeneratorInLegacyContext:"Generator declarations are not allowed in legacy contexts",IllegalBreak:"Illegal break statement",IllegalContinue:"Illegal continue statement",IllegalExportDeclaration:"Unexpected token",IllegalImportDeclaration:"Unexpected token",IllegalLanguageModeDirective:"Illegal 'use strict' directive in function with non-simple parameter list",IllegalReturn:"Illegal return statement",InvalidEscapedReservedWord:"Keyword must not contain escaped characters",InvalidHexEscapeSequence:"Invalid hexadecimal escape sequence",InvalidLHSInAssignment:"Invalid left-hand side in assignment",InvalidLHSInForIn:"Invalid left-hand side in for-in",InvalidLHSInForLoop:"Invalid left-hand side in for-loop",InvalidModuleSpecifier:"Unexpected token",InvalidRegExp:"Invalid regular expression",LetInLexicalBinding:"let is disallowed as a lexically bound name",MissingFromClause:"Unexpected token",MultipleDefaultsInSwitch:"More than one default clause in switch statement",NewlineAfterThrow:"Illegal newline after throw",NoAsAfterImportNamespace:"Unexpected token",NoCatchOrFinally:"Missing catch or finally after try",ParameterAfterRestParameter:"Rest parameter must be last formal parameter",Redeclaration:"%0 '%1' has already been declared",StaticPrototype:"Classes may not have static property named prototype",StrictCatchVariable:"Catch variable may not be eval or arguments in strict mode",StrictDelete:"Delete of an unqualified identifier in strict mode.",StrictFunction:"In strict mode code, functions can only be declared at top level or inside a block",StrictFunctionName:"Function name may not be eval or arguments in strict mode",StrictLHSAssignment:"Assignment to eval or arguments is not allowed in strict mode",StrictLHSPostfix:"Postfix increment/decrement may not have eval or arguments operand in strict mode",StrictLHSPrefix:"Prefix increment/decrement may not have eval or arguments operand in strict mode",StrictModeWith:"Strict mode code may not include a with statement",StrictOctalLiteral:"Octal literals are not allowed in strict mode.",StrictParamDupe:"Strict mode function may not have duplicate parameter names",StrictParamName:"Parameter name eval or arguments is not allowed in strict mode",StrictReservedWord:"Use of future reserved word in strict mode",StrictVarName:"Variable name may not be eval or arguments in strict mode",TemplateOctalLiteral:"Octal literals are not allowed in template strings.",UnexpectedEOS:"Unexpected end of input",UnexpectedIdentifier:"Unexpected identifier",UnexpectedNumber:"Unexpected number",UnexpectedReserved:"Unexpected reserved word",UnexpectedString:"Unexpected string",UnexpectedTemplate:"Unexpected quasi %0",UnexpectedToken:"Unexpected token %0",UnexpectedTokenIllegal:"Unexpected token ILLEGAL",UnknownLabel:"Undefined label '%0'",UnterminatedRegExp:"Invalid regular expression: missing /"}},function(x,c,C){Object.defineProperty(c,"__esModule",{value:!0});var d=C(9),D=C(4),s=C(11);function l(g){return"0123456789abcdef".indexOf(g.toLowerCase())}function A(g){return"01234567".indexOf(g)}var S=function(){function g(h,y){this.source=h,this.errorHandler=y,this.trackComment=!1,this.isModule=!1,this.length=h.length,this.index=0,this.lineNumber=h.length>0?1:0,this.lineStart=0,this.curlyStack=[]}return g.prototype.saveState=function(){return{index:this.index,lineNumber:this.lineNumber,lineStart:this.lineStart}},g.prototype.restoreState=function(h){this.index=h.index,this.lineNumber=h.lineNumber,this.lineStart=h.lineStart},g.prototype.eof=function(){return this.index>=this.length},g.prototype.throwUnexpectedToken=function(h){return h===void 0&&(h=s.Messages.UnexpectedTokenIllegal),this.errorHandler.throwError(this.index,this.lineNumber,this.index-this.lineStart+1,h)},g.prototype.tolerateUnexpectedToken=function(h){h===void 0&&(h=s.Messages.UnexpectedTokenIllegal),this.errorHandler.tolerateError(this.index,this.lineNumber,this.index-this.lineStart+1,h)},g.prototype.skipSingleLineComment=function(h){var y=[],f,e;for(this.trackComment&&(y=[],f=this.index-h,e={start:{line:this.lineNumber,column:this.index-this.lineStart-h},end:{}});!this.eof();){var i=this.source.charCodeAt(this.index);if(++this.index,D.Character.isLineTerminator(i)){if(this.trackComment){e.end={line:this.lineNumber,column:this.index-this.lineStart-1};var n={multiLine:!1,slice:[f+h,this.index-1],range:[f,this.index-1],loc:e};y.push(n)}return i===13&&this.source.charCodeAt(this.index)===10&&++this.index,++this.lineNumber,this.lineStart=this.index,y}}if(this.trackComment){e.end={line:this.lineNumber,column:this.index-this.lineStart};var n={multiLine:!1,slice:[f+h,this.index],range:[f,this.index],loc:e};y.push(n)}return y},g.prototype.skipMultiLineComment=function(){var h=[],y,f;for(this.trackComment&&(h=[],y=this.index-2,f={start:{line:this.lineNumber,column:this.index-this.lineStart-2},end:{}});!this.eof();){var e=this.source.charCodeAt(this.index);if(D.Character.isLineTerminator(e))e===13&&this.source.charCodeAt(this.index+1)===10&&++this.index,++this.lineNumber,++this.index,this.lineStart=this.index;else if(e===42){if(this.source.charCodeAt(this.index+1)===47){if(this.index+=2,this.trackComment){f.end={line:this.lineNumber,column:this.index-this.lineStart};var i={multiLine:!0,slice:[y+2,this.index-2],range:[y,this.index],loc:f};h.push(i)}return h}++this.index}else++this.index}if(this.trackComment){f.end={line:this.lineNumber,column:this.index-this.lineStart};var i={multiLine:!0,slice:[y+2,this.index],range:[y,this.index],loc:f};h.push(i)}return this.tolerateUnexpectedToken(),h},g.prototype.scanComments=function(){var h;this.trackComment&&(h=[]);for(var y=this.index===0;!this.eof();){var f=this.source.charCodeAt(this.index);if(D.Character.isWhiteSpace(f))++this.index;else if(D.Character.isLineTerminator(f))++this.index,f===13&&this.source.charCodeAt(this.index)===10&&++this.index,++this.lineNumber,this.lineStart=this.index,y=!0;else if(f===47)if(f=this.source.charCodeAt(this.index+1),f===47){this.index+=2;var e=this.skipSingleLineComment(2);this.trackComment&&(h=h.concat(e)),y=!0}else if(f===42){this.index+=2;var e=this.skipMultiLineComment();this.trackComment&&(h=h.concat(e))}else break;else if(y&&f===45)if(this.source.charCodeAt(this.index+1)===45&&this.source.charCodeAt(this.index+2)===62){this.index+=3;var e=this.skipSingleLineComment(3);this.trackComment&&(h=h.concat(e))}else break;else if(f===60&&!this.isModule)if(this.source.slice(this.index+1,this.index+4)==="!--"){this.index+=4;var e=this.skipSingleLineComment(4);this.trackComment&&(h=h.concat(e))}else break;else break}return h},g.prototype.isFutureReservedWord=function(h){switch(h){case"enum":case"export":case"import":case"super":return!0;default:return!1}},g.prototype.isStrictModeReservedWord=function(h){switch(h){case"implements":case"interface":case"package":case"private":case"protected":case"public":case"static":case"yield":case"let":return!0;default:return!1}},g.prototype.isRestrictedWord=function(h){return h==="eval"||h==="arguments"},g.prototype.isKeyword=function(h){switch(h.length){case 2:return h==="if"||h==="in"||h==="do";case 3:return h==="var"||h==="for"||h==="new"||h==="try"||h==="let";case 4:return h==="this"||h==="else"||h==="case"||h==="void"||h==="with"||h==="enum";case 5:return h==="while"||h==="break"||h==="catch"||h==="throw"||h==="const"||h==="yield"||h==="class"||h==="super";case 6:return h==="return"||h==="typeof"||h==="delete"||h==="switch"||h==="export"||h==="import";case 7:return h==="default"||h==="finally"||h==="extends";case 8:return h==="function"||h==="continue"||h==="debugger";case 10:return h==="instanceof";default:return!1}},g.prototype.codePointAt=function(h){var y=this.source.charCodeAt(h);if(y>=55296&&y<=56319){var f=this.source.charCodeAt(h+1);if(f>=56320&&f<=57343){var e=y;y=(e-55296)*1024+f-56320+65536}}return y},g.prototype.scanHexEscape=function(h){for(var y=h==="u"?4:2,f=0,e=0;e<y;++e)if(!this.eof()&&D.Character.isHexDigit(this.source.charCodeAt(this.index)))f=f*16+l(this.source[this.index++]);else return null;return String.fromCharCode(f)},g.prototype.scanUnicodeCodePointEscape=function(){var h=this.source[this.index],y=0;for(h==="}"&&this.throwUnexpectedToken();!this.eof()&&(h=this.source[this.index++],!!D.Character.isHexDigit(h.charCodeAt(0)));)y=y*16+l(h);return(y>1114111||h!=="}")&&this.throwUnexpectedToken(),D.Character.fromCodePoint(y)},g.prototype.getIdentifier=function(){for(var h=this.index++;!this.eof();){var y=this.source.charCodeAt(this.index);if(y===92)return this.index=h,this.getComplexIdentifier();if(y>=55296&&y<57343)return this.index=h,this.getComplexIdentifier();if(D.Character.isIdentifierPart(y))++this.index;else break}return this.source.slice(h,this.index)},g.prototype.getComplexIdentifier=function(){var h=this.codePointAt(this.index),y=D.Character.fromCodePoint(h);this.index+=y.length;var f;for(h===92&&(this.source.charCodeAt(this.index)!==117&&this.throwUnexpectedToken(),++this.index,this.source[this.index]==="{"?(++this.index,f=this.scanUnicodeCodePointEscape()):(f=this.scanHexEscape("u"),(f===null||f==="\\"||!D.Character.isIdentifierStart(f.charCodeAt(0)))&&this.throwUnexpectedToken()),y=f);!this.eof()&&(h=this.codePointAt(this.index),!!D.Character.isIdentifierPart(h));)f=D.Character.fromCodePoint(h),y+=f,this.index+=f.length,h===92&&(y=y.substr(0,y.length-1),this.source.charCodeAt(this.index)!==117&&this.throwUnexpectedToken(),++this.index,this.source[this.index]==="{"?(++this.index,f=this.scanUnicodeCodePointEscape()):(f=this.scanHexEscape("u"),(f===null||f==="\\"||!D.Character.isIdentifierPart(f.charCodeAt(0)))&&this.throwUnexpectedToken()),y+=f);return y},g.prototype.octalToDecimal=function(h){var y=h!=="0",f=A(h);return!this.eof()&&D.Character.isOctalDigit(this.source.charCodeAt(this.index))&&(y=!0,f=f*8+A(this.source[this.index++]),"0123".indexOf(h)>=0&&!this.eof()&&D.Character.isOctalDigit(this.source.charCodeAt(this.index))&&(f=f*8+A(this.source[this.index++]))),{code:f,octal:y}},g.prototype.scanIdentifier=function(){var h,y=this.index,f=this.source.charCodeAt(y)===92?this.getComplexIdentifier():this.getIdentifier();if(f.length===1?h=3:this.isKeyword(f)?h=4:f==="null"?h=5:f==="true"||f==="false"?h=1:h=3,h!==3&&y+f.length!==this.index){var e=this.index;this.index=y,this.tolerateUnexpectedToken(s.Messages.InvalidEscapedReservedWord),this.index=e}return{type:h,value:f,lineNumber:this.lineNumber,lineStart:this.lineStart,start:y,end:this.index}},g.prototype.scanPunctuator=function(){var h=this.index,y=this.source[this.index];switch(y){case"(":case"{":y==="{"&&this.curlyStack.push("{"),++this.index;break;case".":++this.index,this.source[this.index]==="."&&this.source[this.index+1]==="."&&(this.index+=2,y="...");break;case"}":++this.index,this.curlyStack.pop();break;case")":case";":case",":case"[":case"]":case":":case"?":case"~":++this.index;break;default:y=this.source.substr(this.index,4),y===">>>="?this.index+=4:(y=y.substr(0,3),y==="==="||y==="!=="||y===">>>"||y==="<<="||y===">>="||y==="**="?this.index+=3:(y=y.substr(0,2),y==="&&"||y==="||"||y==="=="||y==="!="||y==="+="||y==="-="||y==="*="||y==="/="||y==="++"||y==="--"||y==="<<"||y===">>"||y==="&="||y==="|="||y==="^="||y==="%="||y==="<="||y===">="||y==="=>"||y==="**"?this.index+=2:(y=this.source[this.index],"<>=!+-*%&|^/".indexOf(y)>=0&&++this.index)))}return this.index===h&&this.throwUnexpectedToken(),{type:7,value:y,lineNumber:this.lineNumber,lineStart:this.lineStart,start:h,end:this.index}},g.prototype.scanHexLiteral=function(h){for(var y="";!this.eof()&&D.Character.isHexDigit(this.source.charCodeAt(this.index));)y+=this.source[this.index++];return y.length===0&&this.throwUnexpectedToken(),D.Character.isIdentifierStart(this.source.charCodeAt(this.index))&&this.throwUnexpectedToken(),{type:6,value:parseInt("0x"+y,16),lineNumber:this.lineNumber,lineStart:this.lineStart,start:h,end:this.index}},g.prototype.scanBinaryLiteral=function(h){for(var y="",f;!this.eof()&&(f=this.source[this.index],!(f!=="0"&&f!=="1"));)y+=this.source[this.index++];return y.length===0&&this.throwUnexpectedToken(),this.eof()||(f=this.source.charCodeAt(this.index),(D.Character.isIdentifierStart(f)||D.Character.isDecimalDigit(f))&&this.throwUnexpectedToken()),{type:6,value:parseInt(y,2),lineNumber:this.lineNumber,lineStart:this.lineStart,start:h,end:this.index}},g.prototype.scanOctalLiteral=function(h,y){var f="",e=!1;for(D.Character.isOctalDigit(h.charCodeAt(0))?(e=!0,f="0"+this.source[this.index++]):++this.index;!this.eof()&&D.Character.isOctalDigit(this.source.charCodeAt(this.index));)f+=this.source[this.index++];return!e&&f.length===0&&this.throwUnexpectedToken(),(D.Character.isIdentifierStart(this.source.charCodeAt(this.index))||D.Character.isDecimalDigit(this.source.charCodeAt(this.index)))&&this.throwUnexpectedToken(),{type:6,value:parseInt(f,8),octal:e,lineNumber:this.lineNumber,lineStart:this.lineStart,start:y,end:this.index}},g.prototype.isImplicitOctalLiteral=function(){for(var h=this.index+1;h<this.length;++h){var y=this.source[h];if(y==="8"||y==="9")return!1;if(!D.Character.isOctalDigit(y.charCodeAt(0)))return!0}return!0},g.prototype.scanNumericLiteral=function(){var h=this.index,y=this.source[h];d.assert(D.Character.isDecimalDigit(y.charCodeAt(0))||y===".","Numeric literal must start with a decimal digit or a decimal point");var f="";if(y!=="."){if(f=this.source[this.index++],y=this.source[this.index],f==="0"){if(y==="x"||y==="X")return++this.index,this.scanHexLiteral(h);if(y==="b"||y==="B")return++this.index,this.scanBinaryLiteral(h);if(y==="o"||y==="O")return this.scanOctalLiteral(y,h);if(y&&D.Character.isOctalDigit(y.charCodeAt(0))&&this.isImplicitOctalLiteral())return this.scanOctalLiteral(y,h)}for(;D.Character.isDecimalDigit(this.source.charCodeAt(this.index));)f+=this.source[this.index++];y=this.source[this.index]}if(y==="."){for(f+=this.source[this.index++];D.Character.isDecimalDigit(this.source.charCodeAt(this.index));)f+=this.source[this.index++];y=this.source[this.index]}if(y==="e"||y==="E")if(f+=this.source[this.index++],y=this.source[this.index],(y==="+"||y==="-")&&(f+=this.source[this.index++]),D.Character.isDecimalDigit(this.source.charCodeAt(this.index)))for(;D.Character.isDecimalDigit(this.source.charCodeAt(this.index));)f+=this.source[this.index++];else this.throwUnexpectedToken();return D.Character.isIdentifierStart(this.source.charCodeAt(this.index))&&this.throwUnexpectedToken(),{type:6,value:parseFloat(f),lineNumber:this.lineNumber,lineStart:this.lineStart,start:h,end:this.index}},g.prototype.scanStringLiteral=function(){var h=this.index,y=this.source[h];d.assert(y==="'"||y==='"',"String literal must starts with a quote"),++this.index;for(var f=!1,e="";!this.eof();){var i=this.source[this.index++];if(i===y){y="";break}else if(i==="\\")if(i=this.source[this.index++],!i||!D.Character.isLineTerminator(i.charCodeAt(0)))switch(i){case"u":if(this.source[this.index]==="{")++this.index,e+=this.scanUnicodeCodePointEscape();else{var n=this.scanHexEscape(i);n===null&&this.throwUnexpectedToken(),e+=n}break;case"x":var a=this.scanHexEscape(i);a===null&&this.throwUnexpectedToken(s.Messages.InvalidHexEscapeSequence),e+=a;break;case"n":e+=` `;break;case"r":e+="\r";break;case"t":e+=" ";break;case"b":e+="\b";break;case"f":e+="\f";break;case"v":e+="\v";break;case"8":case"9":e+=i,this.tolerateUnexpectedToken();break;default:if(i&&D.Character.isOctalDigit(i.charCodeAt(0))){var E=this.octalToDecimal(i);f=E.octal||f,e+=String.fromCharCode(E.code)}else e+=i;break}else++this.lineNumber,i==="\r"&&this.source[this.index]===` `&&++this.index,this.lineStart=this.index;else{if(D.Character.isLineTerminator(i.charCodeAt(0)))break;e+=i}}return y!==""&&(this.index=h,this.throwUnexpectedToken()),{type:8,value:e,octal:f,lineNumber:this.lineNumber,lineStart:this.lineStart,start:h,end:this.index}},g.prototype.scanTemplate=function(){var h="",y=!1,f=this.index,e=this.source[f]==="`",i=!1,n=2;for(++this.index;!this.eof();){var a=this.source[this.index++];if(a==="`"){n=1,i=!0,y=!0;break}else if(a==="$"){if(this.source[this.index]==="{"){this.curlyStack.push("${"),++this.index,y=!0;break}h+=a}else if(a==="\\")if(a=this.source[this.index++],D.Character.isLineTerminator(a.charCodeAt(0)))++this.lineNumber,a==="\r"&&this.source[this.index]===` @@ -17,4 +17,4 @@ var Xi=Object.defineProperty,Ji=Object.defineProperties;var zi=Object.getOwnProp * Licensed under the MIT License. */var ue="",pt,en=tn;function tn(o,p){if(typeof o!="string")throw new TypeError("expected a string");if(p===1)return o;if(p===2)return o+o;var x=o.length*p;if(pt!==o||typeof pt=="undefined")pt=o,ue="";else if(ue.length>=x)return ue.substr(0,x);for(;x>ue.length&&p>1;)p&1&&(ue+=o),p>>=1,o+=o;return ue+=o,ue=ue.substr(0,x),ue}const{isArray:Tt,isObject:wi,isFunction:xt,isNumber:rn,isString:nn}=Y,sn=en,{PREFIX_BEFORE_ALL:an,PREFIX_BEFORE:Bi,PREFIX_AFTER_PROP:on,PREFIX_AFTER_COLON:un,PREFIX_AFTER_VALUE:hn,PREFIX_AFTER:It,PREFIX_AFTER_ALL:cn,BRACKET_OPEN:ln,BRACKET_CLOSE:pn,CURLY_BRACKET_OPEN:fn,CURLY_BRACKET_CLOSE:dn,COLON:mn,COMMA:ki,EMPTY:Q,UNDEFINED:xn}=Ye,ft=/[\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,Nt=" ",me=` `,bi="null",Ti=o=>`${Bi}:${o}`,Dn=o=>`${on}:${o}`,En=o=>`${un}:${o}`,Ii=o=>`${hn}:${o}`,Ni=o=>`${It}:${o}`,yn={"\b":"\\b"," ":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},Cn=o=>(ft.lastIndex=0,ft.test(o)?o.replace(ft,p=>{const x=yn[p];return typeof x=="string"?x:p}):o),Pi=o=>`"${Cn(o)}"`,An=(o,p)=>p?`//${o}`:`/*${o}*/`,Z=(o,p,x,c)=>{const C=o[Symbol.for(p)];if(!C||!C.length)return Q;let d=!1;const D=C.reduce((s,{inline:l,type:A,value:S})=>{const g=l?Nt:me+x;return d=A==="LineComment",s+g+An(S,d)},Q);return c||d?D+me+x:D};let Ae=null,Te=Q;const vn=()=>{Ae=null,Te=Q},be=(o,p,x)=>o?p?o+p.trim()+me+x:o.trimRight()+me+x:p?p.trimRight()+me+x:Q,Mi=(o,p,x)=>{const c=Z(p,Bi,x+Te,!0);return be(c,o,x)},Fn=(o,p)=>{const x=p+Te,{length:c}=o;let C=Q,d=Q;for(let D=0;D<c;D++)D!==0&&(C+=ki),C+=be(d,Z(o,Ti(D),x),x)||me+x,C+=Pt(D,o,x)||bi,C+=Z(o,Ii(D),x),d=Z(o,Ni(D),x);return C+=be(d,Z(o,It,x),x),ln+Mi(C,o,p)+pn},Sn=(o,p)=>{if(!o)return"null";const x=p+Te;let c=Q,C=Q,d=!0;const D=Tt(Ae)?Ae:Object.keys(o),s=l=>{const A=Pt(l,o,x);if(A===xn)return;d||(c+=ki),d=!1,c+=be(C,Z(o,Ti(l),x),x)||me+x,c+=Pi(l)+Z(o,Dn(l),x)+mn+Z(o,En(l),x)+Nt+A+Z(o,Ii(l),x),C=Z(o,Ni(l),x)};return D.forEach(s),c+=be(C,Z(o,It,x),x),fn+Mi(c,o,p)+dn};function Pt(o,p,x){let c=p[o];switch(wi(c)&&xt(c.toJSON)&&(c=c.toJSON(o)),xt(Ae)&&(c=Ae.call(p,o,c)),typeof c){case"string":return Pi(c);case"number":return Number.isFinite(c)?String(c):bi;case"boolean":case"null":return String(c);case"object":return Tt(c)?Fn(c,x):Sn(c,x)}}const gn=o=>nn(o)?o:rn(o)?sn(Nt,o):Q,{toString:wn}=Object.prototype,Bn=["[object Number]","[object String]","[object Boolean]"],kn=o=>{if(typeof o!="object")return!1;const p=wn.call(o);return Bn.includes(p)};var bn=(o,p,x)=>{const c=gn(x);if(!c)return JSON.stringify(o,p);!xt(p)&&!Tt(p)&&(p=null),Ae=p,Te=c;const C=kn(o)?JSON.stringify(o):Pt("",{"":o},Q);return vn(),wi(o)?Z(o,an,Q).trimLeft()+C+Z(o,cn,Q).trimRight():C};const{parse:Tn,tokenize:In}=Qr,Nn=bn,{CommentArray:Pn}=fi,{assign:Mn}=Ye;var Qt={parse:Tn,stringify:Nn,tokenize:In,CommentArray:Pn,assign:Mn},On=$i({__proto__:null,default:Qt},[Qt]);export{On as i}; -//# sourceMappingURL=index.569a7228.js.map +//# sourceMappingURL=index.9d4d1607.js.map diff --git a/assets/index.569a7228.js.map b/assets/index.9d4d1607.js.map similarity index 99% rename from assets/index.569a7228.js.map rename to assets/index.9d4d1607.js.map index 97883676..1d7d5e43 100644 --- a/assets/index.569a7228.js.map +++ b/assets/index.9d4d1607.js.map @@ -1 +1 @@ -{"version":3,"file":"index.569a7228.js","sources":["../../node_modules/esprima/dist/esprima.js","../../node_modules/base64-js/index.js","../../node_modules/ieee754/index.js","../../node_modules/buffer/index.js","../../node_modules/core-util-is/lib/util.js","../../node_modules/array-timsort/src/index.js","../../node_modules/has-own-prop/index.js","../../node_modules/comment-json/src/common.js","../../node_modules/comment-json/src/array.js","../../node_modules/comment-json/src/parse.js","../../node_modules/repeat-string/index.js","../../node_modules/comment-json/src/stringify.js","../../node_modules/comment-json/src/index.js"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n/* istanbul ignore next */\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n/* istanbul ignore next */\n\telse if(typeof exports === 'object')\n\t\texports[\"esprima\"] = factory();\n\telse\n\t\troot[\"esprima\"] = factory();\n})(this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n\n/******/ \t\t// Check if module is in cache\n/* istanbul ignore if */\n/******/ \t\tif(installedModules[moduleId])\n/******/ \t\t\treturn installedModules[moduleId].exports;\n\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\texports: {},\n/******/ \t\t\tid: moduleId,\n/******/ \t\t\tloaded: false\n/******/ \t\t};\n\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.loaded = true;\n\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n\n\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(0);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\t/*\n\t Copyright JS Foundation and other contributors, https://js.foundation/\n\n\t Redistribution and use in source and binary forms, with or without\n\t modification, are permitted provided that the following conditions are met:\n\n\t * Redistributions of source code must retain the above copyright\n\t notice, this list of conditions and the following disclaimer.\n\t * Redistributions in binary form must reproduce the above copyright\n\t notice, this list of conditions and the following disclaimer in the\n\t documentation and/or other materials provided with the distribution.\n\n\t THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\n\t AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n\t IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\n\t ARE DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY\n\t DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n\t (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\n\t LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND\n\t ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n\t (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF\n\t THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\t*/\n\tObject.defineProperty(exports, \"__esModule\", { value: true });\n\tvar comment_handler_1 = __webpack_require__(1);\n\tvar jsx_parser_1 = __webpack_require__(3);\n\tvar parser_1 = __webpack_require__(8);\n\tvar tokenizer_1 = __webpack_require__(15);\n\tfunction parse(code, options, delegate) {\n\t var commentHandler = null;\n\t var proxyDelegate = function (node, metadata) {\n\t if (delegate) {\n\t delegate(node, metadata);\n\t }\n\t if (commentHandler) {\n\t commentHandler.visit(node, metadata);\n\t }\n\t };\n\t var parserDelegate = (typeof delegate === 'function') ? proxyDelegate : null;\n\t var collectComment = false;\n\t if (options) {\n\t collectComment = (typeof options.comment === 'boolean' && options.comment);\n\t var attachComment = (typeof options.attachComment === 'boolean' && options.attachComment);\n\t if (collectComment || attachComment) {\n\t commentHandler = new comment_handler_1.CommentHandler();\n\t commentHandler.attach = attachComment;\n\t options.comment = true;\n\t parserDelegate = proxyDelegate;\n\t }\n\t }\n\t var isModule = false;\n\t if (options && typeof options.sourceType === 'string') {\n\t isModule = (options.sourceType === 'module');\n\t }\n\t var parser;\n\t if (options && typeof options.jsx === 'boolean' && options.jsx) {\n\t parser = new jsx_parser_1.JSXParser(code, options, parserDelegate);\n\t }\n\t else {\n\t parser = new parser_1.Parser(code, options, parserDelegate);\n\t }\n\t var program = isModule ? parser.parseModule() : parser.parseScript();\n\t var ast = program;\n\t if (collectComment && commentHandler) {\n\t ast.comments = commentHandler.comments;\n\t }\n\t if (parser.config.tokens) {\n\t ast.tokens = parser.tokens;\n\t }\n\t if (parser.config.tolerant) {\n\t ast.errors = parser.errorHandler.errors;\n\t }\n\t return ast;\n\t}\n\texports.parse = parse;\n\tfunction parseModule(code, options, delegate) {\n\t var parsingOptions = options || {};\n\t parsingOptions.sourceType = 'module';\n\t return parse(code, parsingOptions, delegate);\n\t}\n\texports.parseModule = parseModule;\n\tfunction parseScript(code, options, delegate) {\n\t var parsingOptions = options || {};\n\t parsingOptions.sourceType = 'script';\n\t return parse(code, parsingOptions, delegate);\n\t}\n\texports.parseScript = parseScript;\n\tfunction tokenize(code, options, delegate) {\n\t var tokenizer = new tokenizer_1.Tokenizer(code, options);\n\t var tokens;\n\t tokens = [];\n\t try {\n\t while (true) {\n\t var token = tokenizer.getNextToken();\n\t if (!token) {\n\t break;\n\t }\n\t if (delegate) {\n\t token = delegate(token);\n\t }\n\t tokens.push(token);\n\t }\n\t }\n\t catch (e) {\n\t tokenizer.errorHandler.tolerate(e);\n\t }\n\t if (tokenizer.errorHandler.tolerant) {\n\t tokens.errors = tokenizer.errors();\n\t }\n\t return tokens;\n\t}\n\texports.tokenize = tokenize;\n\tvar syntax_1 = __webpack_require__(2);\n\texports.Syntax = syntax_1.Syntax;\n\t// Sync with *.json manifests.\n\texports.version = '4.0.1';\n\n\n/***/ },\n/* 1 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\tObject.defineProperty(exports, \"__esModule\", { value: true });\n\tvar syntax_1 = __webpack_require__(2);\n\tvar CommentHandler = (function () {\n\t function CommentHandler() {\n\t this.attach = false;\n\t this.comments = [];\n\t this.stack = [];\n\t this.leading = [];\n\t this.trailing = [];\n\t }\n\t CommentHandler.prototype.insertInnerComments = function (node, metadata) {\n\t // innnerComments for properties empty block\n\t // `function a() {/** comments **\\/}`\n\t if (node.type === syntax_1.Syntax.BlockStatement && node.body.length === 0) {\n\t var innerComments = [];\n\t for (var i = this.leading.length - 1; i >= 0; --i) {\n\t var entry = this.leading[i];\n\t if (metadata.end.offset >= entry.start) {\n\t innerComments.unshift(entry.comment);\n\t this.leading.splice(i, 1);\n\t this.trailing.splice(i, 1);\n\t }\n\t }\n\t if (innerComments.length) {\n\t node.innerComments = innerComments;\n\t }\n\t }\n\t };\n\t CommentHandler.prototype.findTrailingComments = function (metadata) {\n\t var trailingComments = [];\n\t if (this.trailing.length > 0) {\n\t for (var i = this.trailing.length - 1; i >= 0; --i) {\n\t var entry_1 = this.trailing[i];\n\t if (entry_1.start >= metadata.end.offset) {\n\t trailingComments.unshift(entry_1.comment);\n\t }\n\t }\n\t this.trailing.length = 0;\n\t return trailingComments;\n\t }\n\t var entry = this.stack[this.stack.length - 1];\n\t if (entry && entry.node.trailingComments) {\n\t var firstComment = entry.node.trailingComments[0];\n\t if (firstComment && firstComment.range[0] >= metadata.end.offset) {\n\t trailingComments = entry.node.trailingComments;\n\t delete entry.node.trailingComments;\n\t }\n\t }\n\t return trailingComments;\n\t };\n\t CommentHandler.prototype.findLeadingComments = function (metadata) {\n\t var leadingComments = [];\n\t var target;\n\t while (this.stack.length > 0) {\n\t var entry = this.stack[this.stack.length - 1];\n\t if (entry && entry.start >= metadata.start.offset) {\n\t target = entry.node;\n\t this.stack.pop();\n\t }\n\t else {\n\t break;\n\t }\n\t }\n\t if (target) {\n\t var count = target.leadingComments ? target.leadingComments.length : 0;\n\t for (var i = count - 1; i >= 0; --i) {\n\t var comment = target.leadingComments[i];\n\t if (comment.range[1] <= metadata.start.offset) {\n\t leadingComments.unshift(comment);\n\t target.leadingComments.splice(i, 1);\n\t }\n\t }\n\t if (target.leadingComments && target.leadingComments.length === 0) {\n\t delete target.leadingComments;\n\t }\n\t return leadingComments;\n\t }\n\t for (var i = this.leading.length - 1; i >= 0; --i) {\n\t var entry = this.leading[i];\n\t if (entry.start <= metadata.start.offset) {\n\t leadingComments.unshift(entry.comment);\n\t this.leading.splice(i, 1);\n\t }\n\t }\n\t return leadingComments;\n\t };\n\t CommentHandler.prototype.visitNode = function (node, metadata) {\n\t if (node.type === syntax_1.Syntax.Program && node.body.length > 0) {\n\t return;\n\t }\n\t this.insertInnerComments(node, metadata);\n\t var trailingComments = this.findTrailingComments(metadata);\n\t var leadingComments = this.findLeadingComments(metadata);\n\t if (leadingComments.length > 0) {\n\t node.leadingComments = leadingComments;\n\t }\n\t if (trailingComments.length > 0) {\n\t node.trailingComments = trailingComments;\n\t }\n\t this.stack.push({\n\t node: node,\n\t start: metadata.start.offset\n\t });\n\t };\n\t CommentHandler.prototype.visitComment = function (node, metadata) {\n\t var type = (node.type[0] === 'L') ? 'Line' : 'Block';\n\t var comment = {\n\t type: type,\n\t value: node.value\n\t };\n\t if (node.range) {\n\t comment.range = node.range;\n\t }\n\t if (node.loc) {\n\t comment.loc = node.loc;\n\t }\n\t this.comments.push(comment);\n\t if (this.attach) {\n\t var entry = {\n\t comment: {\n\t type: type,\n\t value: node.value,\n\t range: [metadata.start.offset, metadata.end.offset]\n\t },\n\t start: metadata.start.offset\n\t };\n\t if (node.loc) {\n\t entry.comment.loc = node.loc;\n\t }\n\t node.type = type;\n\t this.leading.push(entry);\n\t this.trailing.push(entry);\n\t }\n\t };\n\t CommentHandler.prototype.visit = function (node, metadata) {\n\t if (node.type === 'LineComment') {\n\t this.visitComment(node, metadata);\n\t }\n\t else if (node.type === 'BlockComment') {\n\t this.visitComment(node, metadata);\n\t }\n\t else if (this.attach) {\n\t this.visitNode(node, metadata);\n\t }\n\t };\n\t return CommentHandler;\n\t}());\n\texports.CommentHandler = CommentHandler;\n\n\n/***/ },\n/* 2 */\n/***/ function(module, exports) {\n\n\t\"use strict\";\n\tObject.defineProperty(exports, \"__esModule\", { value: true });\n\texports.Syntax = {\n\t AssignmentExpression: 'AssignmentExpression',\n\t AssignmentPattern: 'AssignmentPattern',\n\t ArrayExpression: 'ArrayExpression',\n\t ArrayPattern: 'ArrayPattern',\n\t ArrowFunctionExpression: 'ArrowFunctionExpression',\n\t AwaitExpression: 'AwaitExpression',\n\t BlockStatement: 'BlockStatement',\n\t BinaryExpression: 'BinaryExpression',\n\t BreakStatement: 'BreakStatement',\n\t CallExpression: 'CallExpression',\n\t CatchClause: 'CatchClause',\n\t ClassBody: 'ClassBody',\n\t ClassDeclaration: 'ClassDeclaration',\n\t ClassExpression: 'ClassExpression',\n\t ConditionalExpression: 'ConditionalExpression',\n\t ContinueStatement: 'ContinueStatement',\n\t DoWhileStatement: 'DoWhileStatement',\n\t DebuggerStatement: 'DebuggerStatement',\n\t EmptyStatement: 'EmptyStatement',\n\t ExportAllDeclaration: 'ExportAllDeclaration',\n\t ExportDefaultDeclaration: 'ExportDefaultDeclaration',\n\t ExportNamedDeclaration: 'ExportNamedDeclaration',\n\t ExportSpecifier: 'ExportSpecifier',\n\t ExpressionStatement: 'ExpressionStatement',\n\t ForStatement: 'ForStatement',\n\t ForOfStatement: 'ForOfStatement',\n\t ForInStatement: 'ForInStatement',\n\t FunctionDeclaration: 'FunctionDeclaration',\n\t FunctionExpression: 'FunctionExpression',\n\t Identifier: 'Identifier',\n\t IfStatement: 'IfStatement',\n\t ImportDeclaration: 'ImportDeclaration',\n\t ImportDefaultSpecifier: 'ImportDefaultSpecifier',\n\t ImportNamespaceSpecifier: 'ImportNamespaceSpecifier',\n\t ImportSpecifier: 'ImportSpecifier',\n\t Literal: 'Literal',\n\t LabeledStatement: 'LabeledStatement',\n\t LogicalExpression: 'LogicalExpression',\n\t MemberExpression: 'MemberExpression',\n\t MetaProperty: 'MetaProperty',\n\t MethodDefinition: 'MethodDefinition',\n\t NewExpression: 'NewExpression',\n\t ObjectExpression: 'ObjectExpression',\n\t ObjectPattern: 'ObjectPattern',\n\t Program: 'Program',\n\t Property: 'Property',\n\t RestElement: 'RestElement',\n\t ReturnStatement: 'ReturnStatement',\n\t SequenceExpression: 'SequenceExpression',\n\t SpreadElement: 'SpreadElement',\n\t Super: 'Super',\n\t SwitchCase: 'SwitchCase',\n\t SwitchStatement: 'SwitchStatement',\n\t TaggedTemplateExpression: 'TaggedTemplateExpression',\n\t TemplateElement: 'TemplateElement',\n\t TemplateLiteral: 'TemplateLiteral',\n\t ThisExpression: 'ThisExpression',\n\t ThrowStatement: 'ThrowStatement',\n\t TryStatement: 'TryStatement',\n\t UnaryExpression: 'UnaryExpression',\n\t UpdateExpression: 'UpdateExpression',\n\t VariableDeclaration: 'VariableDeclaration',\n\t VariableDeclarator: 'VariableDeclarator',\n\t WhileStatement: 'WhileStatement',\n\t WithStatement: 'WithStatement',\n\t YieldExpression: 'YieldExpression'\n\t};\n\n\n/***/ },\n/* 3 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n/* istanbul ignore next */\n\tvar __extends = (this && this.__extends) || (function () {\n\t var extendStatics = Object.setPrototypeOf ||\n\t ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n\t function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n\t return function (d, b) {\n\t extendStatics(d, b);\n\t function __() { this.constructor = d; }\n\t d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n\t };\n\t})();\n\tObject.defineProperty(exports, \"__esModule\", { value: true });\n\tvar character_1 = __webpack_require__(4);\n\tvar JSXNode = __webpack_require__(5);\n\tvar jsx_syntax_1 = __webpack_require__(6);\n\tvar Node = __webpack_require__(7);\n\tvar parser_1 = __webpack_require__(8);\n\tvar token_1 = __webpack_require__(13);\n\tvar xhtml_entities_1 = __webpack_require__(14);\n\ttoken_1.TokenName[100 /* Identifier */] = 'JSXIdentifier';\n\ttoken_1.TokenName[101 /* Text */] = 'JSXText';\n\t// Fully qualified element name, e.g. <svg:path> returns \"svg:path\"\n\tfunction getQualifiedElementName(elementName) {\n\t var qualifiedName;\n\t switch (elementName.type) {\n\t case jsx_syntax_1.JSXSyntax.JSXIdentifier:\n\t var id = elementName;\n\t qualifiedName = id.name;\n\t break;\n\t case jsx_syntax_1.JSXSyntax.JSXNamespacedName:\n\t var ns = elementName;\n\t qualifiedName = getQualifiedElementName(ns.namespace) + ':' +\n\t getQualifiedElementName(ns.name);\n\t break;\n\t case jsx_syntax_1.JSXSyntax.JSXMemberExpression:\n\t var expr = elementName;\n\t qualifiedName = getQualifiedElementName(expr.object) + '.' +\n\t getQualifiedElementName(expr.property);\n\t break;\n\t /* istanbul ignore next */\n\t default:\n\t break;\n\t }\n\t return qualifiedName;\n\t}\n\tvar JSXParser = (function (_super) {\n\t __extends(JSXParser, _super);\n\t function JSXParser(code, options, delegate) {\n\t return _super.call(this, code, options, delegate) || this;\n\t }\n\t JSXParser.prototype.parsePrimaryExpression = function () {\n\t return this.match('<') ? this.parseJSXRoot() : _super.prototype.parsePrimaryExpression.call(this);\n\t };\n\t JSXParser.prototype.startJSX = function () {\n\t // Unwind the scanner before the lookahead token.\n\t this.scanner.index = this.startMarker.index;\n\t this.scanner.lineNumber = this.startMarker.line;\n\t this.scanner.lineStart = this.startMarker.index - this.startMarker.column;\n\t };\n\t JSXParser.prototype.finishJSX = function () {\n\t // Prime the next lookahead.\n\t this.nextToken();\n\t };\n\t JSXParser.prototype.reenterJSX = function () {\n\t this.startJSX();\n\t this.expectJSX('}');\n\t // Pop the closing '}' added from the lookahead.\n\t if (this.config.tokens) {\n\t this.tokens.pop();\n\t }\n\t };\n\t JSXParser.prototype.createJSXNode = function () {\n\t this.collectComments();\n\t return {\n\t index: this.scanner.index,\n\t line: this.scanner.lineNumber,\n\t column: this.scanner.index - this.scanner.lineStart\n\t };\n\t };\n\t JSXParser.prototype.createJSXChildNode = function () {\n\t return {\n\t index: this.scanner.index,\n\t line: this.scanner.lineNumber,\n\t column: this.scanner.index - this.scanner.lineStart\n\t };\n\t };\n\t JSXParser.prototype.scanXHTMLEntity = function (quote) {\n\t var result = '&';\n\t var valid = true;\n\t var terminated = false;\n\t var numeric = false;\n\t var hex = false;\n\t while (!this.scanner.eof() && valid && !terminated) {\n\t var ch = this.scanner.source[this.scanner.index];\n\t if (ch === quote) {\n\t break;\n\t }\n\t terminated = (ch === ';');\n\t result += ch;\n\t ++this.scanner.index;\n\t if (!terminated) {\n\t switch (result.length) {\n\t case 2:\n\t // e.g. '{'\n\t numeric = (ch === '#');\n\t break;\n\t case 3:\n\t if (numeric) {\n\t // e.g. 'A'\n\t hex = (ch === 'x');\n\t valid = hex || character_1.Character.isDecimalDigit(ch.charCodeAt(0));\n\t numeric = numeric && !hex;\n\t }\n\t break;\n\t default:\n\t valid = valid && !(numeric && !character_1.Character.isDecimalDigit(ch.charCodeAt(0)));\n\t valid = valid && !(hex && !character_1.Character.isHexDigit(ch.charCodeAt(0)));\n\t break;\n\t }\n\t }\n\t }\n\t if (valid && terminated && result.length > 2) {\n\t // e.g. 'A' becomes just '#x41'\n\t var str = result.substr(1, result.length - 2);\n\t if (numeric && str.length > 1) {\n\t result = String.fromCharCode(parseInt(str.substr(1), 10));\n\t }\n\t else if (hex && str.length > 2) {\n\t result = String.fromCharCode(parseInt('0' + str.substr(1), 16));\n\t }\n\t else if (!numeric && !hex && xhtml_entities_1.XHTMLEntities[str]) {\n\t result = xhtml_entities_1.XHTMLEntities[str];\n\t }\n\t }\n\t return result;\n\t };\n\t // Scan the next JSX token. This replaces Scanner#lex when in JSX mode.\n\t JSXParser.prototype.lexJSX = function () {\n\t var cp = this.scanner.source.charCodeAt(this.scanner.index);\n\t // < > / : = { }\n\t if (cp === 60 || cp === 62 || cp === 47 || cp === 58 || cp === 61 || cp === 123 || cp === 125) {\n\t var value = this.scanner.source[this.scanner.index++];\n\t return {\n\t type: 7 /* Punctuator */,\n\t value: value,\n\t lineNumber: this.scanner.lineNumber,\n\t lineStart: this.scanner.lineStart,\n\t start: this.scanner.index - 1,\n\t end: this.scanner.index\n\t };\n\t }\n\t // \" '\n\t if (cp === 34 || cp === 39) {\n\t var start = this.scanner.index;\n\t var quote = this.scanner.source[this.scanner.index++];\n\t var str = '';\n\t while (!this.scanner.eof()) {\n\t var ch = this.scanner.source[this.scanner.index++];\n\t if (ch === quote) {\n\t break;\n\t }\n\t else if (ch === '&') {\n\t str += this.scanXHTMLEntity(quote);\n\t }\n\t else {\n\t str += ch;\n\t }\n\t }\n\t return {\n\t type: 8 /* StringLiteral */,\n\t value: str,\n\t lineNumber: this.scanner.lineNumber,\n\t lineStart: this.scanner.lineStart,\n\t start: start,\n\t end: this.scanner.index\n\t };\n\t }\n\t // ... or .\n\t if (cp === 46) {\n\t var n1 = this.scanner.source.charCodeAt(this.scanner.index + 1);\n\t var n2 = this.scanner.source.charCodeAt(this.scanner.index + 2);\n\t var value = (n1 === 46 && n2 === 46) ? '...' : '.';\n\t var start = this.scanner.index;\n\t this.scanner.index += value.length;\n\t return {\n\t type: 7 /* Punctuator */,\n\t value: value,\n\t lineNumber: this.scanner.lineNumber,\n\t lineStart: this.scanner.lineStart,\n\t start: start,\n\t end: this.scanner.index\n\t };\n\t }\n\t // `\n\t if (cp === 96) {\n\t // Only placeholder, since it will be rescanned as a real assignment expression.\n\t return {\n\t type: 10 /* Template */,\n\t value: '',\n\t lineNumber: this.scanner.lineNumber,\n\t lineStart: this.scanner.lineStart,\n\t start: this.scanner.index,\n\t end: this.scanner.index\n\t };\n\t }\n\t // Identifer can not contain backslash (char code 92).\n\t if (character_1.Character.isIdentifierStart(cp) && (cp !== 92)) {\n\t var start = this.scanner.index;\n\t ++this.scanner.index;\n\t while (!this.scanner.eof()) {\n\t var ch = this.scanner.source.charCodeAt(this.scanner.index);\n\t if (character_1.Character.isIdentifierPart(ch) && (ch !== 92)) {\n\t ++this.scanner.index;\n\t }\n\t else if (ch === 45) {\n\t // Hyphen (char code 45) can be part of an identifier.\n\t ++this.scanner.index;\n\t }\n\t else {\n\t break;\n\t }\n\t }\n\t var id = this.scanner.source.slice(start, this.scanner.index);\n\t return {\n\t type: 100 /* Identifier */,\n\t value: id,\n\t lineNumber: this.scanner.lineNumber,\n\t lineStart: this.scanner.lineStart,\n\t start: start,\n\t end: this.scanner.index\n\t };\n\t }\n\t return this.scanner.lex();\n\t };\n\t JSXParser.prototype.nextJSXToken = function () {\n\t this.collectComments();\n\t this.startMarker.index = this.scanner.index;\n\t this.startMarker.line = this.scanner.lineNumber;\n\t this.startMarker.column = this.scanner.index - this.scanner.lineStart;\n\t var token = this.lexJSX();\n\t this.lastMarker.index = this.scanner.index;\n\t this.lastMarker.line = this.scanner.lineNumber;\n\t this.lastMarker.column = this.scanner.index - this.scanner.lineStart;\n\t if (this.config.tokens) {\n\t this.tokens.push(this.convertToken(token));\n\t }\n\t return token;\n\t };\n\t JSXParser.prototype.nextJSXText = function () {\n\t this.startMarker.index = this.scanner.index;\n\t this.startMarker.line = this.scanner.lineNumber;\n\t this.startMarker.column = this.scanner.index - this.scanner.lineStart;\n\t var start = this.scanner.index;\n\t var text = '';\n\t while (!this.scanner.eof()) {\n\t var ch = this.scanner.source[this.scanner.index];\n\t if (ch === '{' || ch === '<') {\n\t break;\n\t }\n\t ++this.scanner.index;\n\t text += ch;\n\t if (character_1.Character.isLineTerminator(ch.charCodeAt(0))) {\n\t ++this.scanner.lineNumber;\n\t if (ch === '\\r' && this.scanner.source[this.scanner.index] === '\\n') {\n\t ++this.scanner.index;\n\t }\n\t this.scanner.lineStart = this.scanner.index;\n\t }\n\t }\n\t this.lastMarker.index = this.scanner.index;\n\t this.lastMarker.line = this.scanner.lineNumber;\n\t this.lastMarker.column = this.scanner.index - this.scanner.lineStart;\n\t var token = {\n\t type: 101 /* Text */,\n\t value: text,\n\t lineNumber: this.scanner.lineNumber,\n\t lineStart: this.scanner.lineStart,\n\t start: start,\n\t end: this.scanner.index\n\t };\n\t if ((text.length > 0) && this.config.tokens) {\n\t this.tokens.push(this.convertToken(token));\n\t }\n\t return token;\n\t };\n\t JSXParser.prototype.peekJSXToken = function () {\n\t var state = this.scanner.saveState();\n\t this.scanner.scanComments();\n\t var next = this.lexJSX();\n\t this.scanner.restoreState(state);\n\t return next;\n\t };\n\t // Expect the next JSX token to match the specified punctuator.\n\t // If not, an exception will be thrown.\n\t JSXParser.prototype.expectJSX = function (value) {\n\t var token = this.nextJSXToken();\n\t if (token.type !== 7 /* Punctuator */ || token.value !== value) {\n\t this.throwUnexpectedToken(token);\n\t }\n\t };\n\t // Return true if the next JSX token matches the specified punctuator.\n\t JSXParser.prototype.matchJSX = function (value) {\n\t var next = this.peekJSXToken();\n\t return next.type === 7 /* Punctuator */ && next.value === value;\n\t };\n\t JSXParser.prototype.parseJSXIdentifier = function () {\n\t var node = this.createJSXNode();\n\t var token = this.nextJSXToken();\n\t if (token.type !== 100 /* Identifier */) {\n\t this.throwUnexpectedToken(token);\n\t }\n\t return this.finalize(node, new JSXNode.JSXIdentifier(token.value));\n\t };\n\t JSXParser.prototype.parseJSXElementName = function () {\n\t var node = this.createJSXNode();\n\t var elementName = this.parseJSXIdentifier();\n\t if (this.matchJSX(':')) {\n\t var namespace = elementName;\n\t this.expectJSX(':');\n\t var name_1 = this.parseJSXIdentifier();\n\t elementName = this.finalize(node, new JSXNode.JSXNamespacedName(namespace, name_1));\n\t }\n\t else if (this.matchJSX('.')) {\n\t while (this.matchJSX('.')) {\n\t var object = elementName;\n\t this.expectJSX('.');\n\t var property = this.parseJSXIdentifier();\n\t elementName = this.finalize(node, new JSXNode.JSXMemberExpression(object, property));\n\t }\n\t }\n\t return elementName;\n\t };\n\t JSXParser.prototype.parseJSXAttributeName = function () {\n\t var node = this.createJSXNode();\n\t var attributeName;\n\t var identifier = this.parseJSXIdentifier();\n\t if (this.matchJSX(':')) {\n\t var namespace = identifier;\n\t this.expectJSX(':');\n\t var name_2 = this.parseJSXIdentifier();\n\t attributeName = this.finalize(node, new JSXNode.JSXNamespacedName(namespace, name_2));\n\t }\n\t else {\n\t attributeName = identifier;\n\t }\n\t return attributeName;\n\t };\n\t JSXParser.prototype.parseJSXStringLiteralAttribute = function () {\n\t var node = this.createJSXNode();\n\t var token = this.nextJSXToken();\n\t if (token.type !== 8 /* StringLiteral */) {\n\t this.throwUnexpectedToken(token);\n\t }\n\t var raw = this.getTokenRaw(token);\n\t return this.finalize(node, new Node.Literal(token.value, raw));\n\t };\n\t JSXParser.prototype.parseJSXExpressionAttribute = function () {\n\t var node = this.createJSXNode();\n\t this.expectJSX('{');\n\t this.finishJSX();\n\t if (this.match('}')) {\n\t this.tolerateError('JSX attributes must only be assigned a non-empty expression');\n\t }\n\t var expression = this.parseAssignmentExpression();\n\t this.reenterJSX();\n\t return this.finalize(node, new JSXNode.JSXExpressionContainer(expression));\n\t };\n\t JSXParser.prototype.parseJSXAttributeValue = function () {\n\t return this.matchJSX('{') ? this.parseJSXExpressionAttribute() :\n\t this.matchJSX('<') ? this.parseJSXElement() : this.parseJSXStringLiteralAttribute();\n\t };\n\t JSXParser.prototype.parseJSXNameValueAttribute = function () {\n\t var node = this.createJSXNode();\n\t var name = this.parseJSXAttributeName();\n\t var value = null;\n\t if (this.matchJSX('=')) {\n\t this.expectJSX('=');\n\t value = this.parseJSXAttributeValue();\n\t }\n\t return this.finalize(node, new JSXNode.JSXAttribute(name, value));\n\t };\n\t JSXParser.prototype.parseJSXSpreadAttribute = function () {\n\t var node = this.createJSXNode();\n\t this.expectJSX('{');\n\t this.expectJSX('...');\n\t this.finishJSX();\n\t var argument = this.parseAssignmentExpression();\n\t this.reenterJSX();\n\t return this.finalize(node, new JSXNode.JSXSpreadAttribute(argument));\n\t };\n\t JSXParser.prototype.parseJSXAttributes = function () {\n\t var attributes = [];\n\t while (!this.matchJSX('/') && !this.matchJSX('>')) {\n\t var attribute = this.matchJSX('{') ? this.parseJSXSpreadAttribute() :\n\t this.parseJSXNameValueAttribute();\n\t attributes.push(attribute);\n\t }\n\t return attributes;\n\t };\n\t JSXParser.prototype.parseJSXOpeningElement = function () {\n\t var node = this.createJSXNode();\n\t this.expectJSX('<');\n\t var name = this.parseJSXElementName();\n\t var attributes = this.parseJSXAttributes();\n\t var selfClosing = this.matchJSX('/');\n\t if (selfClosing) {\n\t this.expectJSX('/');\n\t }\n\t this.expectJSX('>');\n\t return this.finalize(node, new JSXNode.JSXOpeningElement(name, selfClosing, attributes));\n\t };\n\t JSXParser.prototype.parseJSXBoundaryElement = function () {\n\t var node = this.createJSXNode();\n\t this.expectJSX('<');\n\t if (this.matchJSX('/')) {\n\t this.expectJSX('/');\n\t var name_3 = this.parseJSXElementName();\n\t this.expectJSX('>');\n\t return this.finalize(node, new JSXNode.JSXClosingElement(name_3));\n\t }\n\t var name = this.parseJSXElementName();\n\t var attributes = this.parseJSXAttributes();\n\t var selfClosing = this.matchJSX('/');\n\t if (selfClosing) {\n\t this.expectJSX('/');\n\t }\n\t this.expectJSX('>');\n\t return this.finalize(node, new JSXNode.JSXOpeningElement(name, selfClosing, attributes));\n\t };\n\t JSXParser.prototype.parseJSXEmptyExpression = function () {\n\t var node = this.createJSXChildNode();\n\t this.collectComments();\n\t this.lastMarker.index = this.scanner.index;\n\t this.lastMarker.line = this.scanner.lineNumber;\n\t this.lastMarker.column = this.scanner.index - this.scanner.lineStart;\n\t return this.finalize(node, new JSXNode.JSXEmptyExpression());\n\t };\n\t JSXParser.prototype.parseJSXExpressionContainer = function () {\n\t var node = this.createJSXNode();\n\t this.expectJSX('{');\n\t var expression;\n\t if (this.matchJSX('}')) {\n\t expression = this.parseJSXEmptyExpression();\n\t this.expectJSX('}');\n\t }\n\t else {\n\t this.finishJSX();\n\t expression = this.parseAssignmentExpression();\n\t this.reenterJSX();\n\t }\n\t return this.finalize(node, new JSXNode.JSXExpressionContainer(expression));\n\t };\n\t JSXParser.prototype.parseJSXChildren = function () {\n\t var children = [];\n\t while (!this.scanner.eof()) {\n\t var node = this.createJSXChildNode();\n\t var token = this.nextJSXText();\n\t if (token.start < token.end) {\n\t var raw = this.getTokenRaw(token);\n\t var child = this.finalize(node, new JSXNode.JSXText(token.value, raw));\n\t children.push(child);\n\t }\n\t if (this.scanner.source[this.scanner.index] === '{') {\n\t var container = this.parseJSXExpressionContainer();\n\t children.push(container);\n\t }\n\t else {\n\t break;\n\t }\n\t }\n\t return children;\n\t };\n\t JSXParser.prototype.parseComplexJSXElement = function (el) {\n\t var stack = [];\n\t while (!this.scanner.eof()) {\n\t el.children = el.children.concat(this.parseJSXChildren());\n\t var node = this.createJSXChildNode();\n\t var element = this.parseJSXBoundaryElement();\n\t if (element.type === jsx_syntax_1.JSXSyntax.JSXOpeningElement) {\n\t var opening = element;\n\t if (opening.selfClosing) {\n\t var child = this.finalize(node, new JSXNode.JSXElement(opening, [], null));\n\t el.children.push(child);\n\t }\n\t else {\n\t stack.push(el);\n\t el = { node: node, opening: opening, closing: null, children: [] };\n\t }\n\t }\n\t if (element.type === jsx_syntax_1.JSXSyntax.JSXClosingElement) {\n\t el.closing = element;\n\t var open_1 = getQualifiedElementName(el.opening.name);\n\t var close_1 = getQualifiedElementName(el.closing.name);\n\t if (open_1 !== close_1) {\n\t this.tolerateError('Expected corresponding JSX closing tag for %0', open_1);\n\t }\n\t if (stack.length > 0) {\n\t var child = this.finalize(el.node, new JSXNode.JSXElement(el.opening, el.children, el.closing));\n\t el = stack[stack.length - 1];\n\t el.children.push(child);\n\t stack.pop();\n\t }\n\t else {\n\t break;\n\t }\n\t }\n\t }\n\t return el;\n\t };\n\t JSXParser.prototype.parseJSXElement = function () {\n\t var node = this.createJSXNode();\n\t var opening = this.parseJSXOpeningElement();\n\t var children = [];\n\t var closing = null;\n\t if (!opening.selfClosing) {\n\t var el = this.parseComplexJSXElement({ node: node, opening: opening, closing: closing, children: children });\n\t children = el.children;\n\t closing = el.closing;\n\t }\n\t return this.finalize(node, new JSXNode.JSXElement(opening, children, closing));\n\t };\n\t JSXParser.prototype.parseJSXRoot = function () {\n\t // Pop the opening '<' added from the lookahead.\n\t if (this.config.tokens) {\n\t this.tokens.pop();\n\t }\n\t this.startJSX();\n\t var element = this.parseJSXElement();\n\t this.finishJSX();\n\t return element;\n\t };\n\t JSXParser.prototype.isStartOfExpression = function () {\n\t return _super.prototype.isStartOfExpression.call(this) || this.match('<');\n\t };\n\t return JSXParser;\n\t}(parser_1.Parser));\n\texports.JSXParser = JSXParser;\n\n\n/***/ },\n/* 4 */\n/***/ function(module, exports) {\n\n\t\"use strict\";\n\tObject.defineProperty(exports, \"__esModule\", { value: true });\n\t// See also tools/generate-unicode-regex.js.\n\tvar Regex = {\n\t // Unicode v8.0.0 NonAsciiIdentifierStart:\n\t NonAsciiIdentifierStart: /[\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0620-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u08A0-\\u08B4\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0AF9\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58-\\u0C5A\\u0C60\\u0C61\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D5F-\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1877\\u1880-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1CE9-\\u1CEC\\u1CEE-\\u1CF1\\u1CF5\\u1CF6\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2118-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u309B-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FD5\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6EF\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7AD\\uA7B0-\\uA7B7\\uA7F7-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA8FD\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uA9E0-\\uA9E4\\uA9E6-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB65\\uAB70-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]|\\uD800[\\uDC00-\\uDC0B\\uDC0D-\\uDC26\\uDC28-\\uDC3A\\uDC3C\\uDC3D\\uDC3F-\\uDC4D\\uDC50-\\uDC5D\\uDC80-\\uDCFA\\uDD40-\\uDD74\\uDE80-\\uDE9C\\uDEA0-\\uDED0\\uDF00-\\uDF1F\\uDF30-\\uDF4A\\uDF50-\\uDF75\\uDF80-\\uDF9D\\uDFA0-\\uDFC3\\uDFC8-\\uDFCF\\uDFD1-\\uDFD5]|\\uD801[\\uDC00-\\uDC9D\\uDD00-\\uDD27\\uDD30-\\uDD63\\uDE00-\\uDF36\\uDF40-\\uDF55\\uDF60-\\uDF67]|\\uD802[\\uDC00-\\uDC05\\uDC08\\uDC0A-\\uDC35\\uDC37\\uDC38\\uDC3C\\uDC3F-\\uDC55\\uDC60-\\uDC76\\uDC80-\\uDC9E\\uDCE0-\\uDCF2\\uDCF4\\uDCF5\\uDD00-\\uDD15\\uDD20-\\uDD39\\uDD80-\\uDDB7\\uDDBE\\uDDBF\\uDE00\\uDE10-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE33\\uDE60-\\uDE7C\\uDE80-\\uDE9C\\uDEC0-\\uDEC7\\uDEC9-\\uDEE4\\uDF00-\\uDF35\\uDF40-\\uDF55\\uDF60-\\uDF72\\uDF80-\\uDF91]|\\uD803[\\uDC00-\\uDC48\\uDC80-\\uDCB2\\uDCC0-\\uDCF2]|\\uD804[\\uDC03-\\uDC37\\uDC83-\\uDCAF\\uDCD0-\\uDCE8\\uDD03-\\uDD26\\uDD50-\\uDD72\\uDD76\\uDD83-\\uDDB2\\uDDC1-\\uDDC4\\uDDDA\\uDDDC\\uDE00-\\uDE11\\uDE13-\\uDE2B\\uDE80-\\uDE86\\uDE88\\uDE8A-\\uDE8D\\uDE8F-\\uDE9D\\uDE9F-\\uDEA8\\uDEB0-\\uDEDE\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3D\\uDF50\\uDF5D-\\uDF61]|\\uD805[\\uDC80-\\uDCAF\\uDCC4\\uDCC5\\uDCC7\\uDD80-\\uDDAE\\uDDD8-\\uDDDB\\uDE00-\\uDE2F\\uDE44\\uDE80-\\uDEAA\\uDF00-\\uDF19]|\\uD806[\\uDCA0-\\uDCDF\\uDCFF\\uDEC0-\\uDEF8]|\\uD808[\\uDC00-\\uDF99]|\\uD809[\\uDC00-\\uDC6E\\uDC80-\\uDD43]|[\\uD80C\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2E]|\\uD811[\\uDC00-\\uDE46]|\\uD81A[\\uDC00-\\uDE38\\uDE40-\\uDE5E\\uDED0-\\uDEED\\uDF00-\\uDF2F\\uDF40-\\uDF43\\uDF63-\\uDF77\\uDF7D-\\uDF8F]|\\uD81B[\\uDF00-\\uDF44\\uDF50\\uDF93-\\uDF9F]|\\uD82C[\\uDC00\\uDC01]|\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99]|\\uD835[\\uDC00-\\uDC54\\uDC56-\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD1E-\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD52-\\uDEA5\\uDEA8-\\uDEC0\\uDEC2-\\uDEDA\\uDEDC-\\uDEFA\\uDEFC-\\uDF14\\uDF16-\\uDF34\\uDF36-\\uDF4E\\uDF50-\\uDF6E\\uDF70-\\uDF88\\uDF8A-\\uDFA8\\uDFAA-\\uDFC2\\uDFC4-\\uDFCB]|\\uD83A[\\uDC00-\\uDCC4]|\\uD83B[\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB]|\\uD869[\\uDC00-\\uDED6\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF34\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1]|\\uD87E[\\uDC00-\\uDE1D]/,\n\t // Unicode v8.0.0 NonAsciiIdentifierPart:\n\t NonAsciiIdentifierPart: /[\\xAA\\xB5\\xB7\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0300-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u0483-\\u0487\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0610-\\u061A\\u0620-\\u0669\\u066E-\\u06D3\\u06D5-\\u06DC\\u06DF-\\u06E8\\u06EA-\\u06FC\\u06FF\\u0710-\\u074A\\u074D-\\u07B1\\u07C0-\\u07F5\\u07FA\\u0800-\\u082D\\u0840-\\u085B\\u08A0-\\u08B4\\u08E3-\\u0963\\u0966-\\u096F\\u0971-\\u0983\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BC-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CE\\u09D7\\u09DC\\u09DD\\u09DF-\\u09E3\\u09E6-\\u09F1\\u0A01-\\u0A03\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A59-\\u0A5C\\u0A5E\\u0A66-\\u0A75\\u0A81-\\u0A83\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABC-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AD0\\u0AE0-\\u0AE3\\u0AE6-\\u0AEF\\u0AF9\\u0B01-\\u0B03\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3C-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B56\\u0B57\\u0B5C\\u0B5D\\u0B5F-\\u0B63\\u0B66-\\u0B6F\\u0B71\\u0B82\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD0\\u0BD7\\u0BE6-\\u0BEF\\u0C00-\\u0C03\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C58-\\u0C5A\\u0C60-\\u0C63\\u0C66-\\u0C6F\\u0C81-\\u0C83\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBC-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CDE\\u0CE0-\\u0CE3\\u0CE6-\\u0CEF\\u0CF1\\u0CF2\\u0D01-\\u0D03\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4E\\u0D57\\u0D5F-\\u0D63\\u0D66-\\u0D6F\\u0D7A-\\u0D7F\\u0D82\\u0D83\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DE6-\\u0DEF\\u0DF2\\u0DF3\\u0E01-\\u0E3A\\u0E40-\\u0E4E\\u0E50-\\u0E59\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB9\\u0EBB-\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EC8-\\u0ECD\\u0ED0-\\u0ED9\\u0EDC-\\u0EDF\\u0F00\\u0F18\\u0F19\\u0F20-\\u0F29\\u0F35\\u0F37\\u0F39\\u0F3E-\\u0F47\\u0F49-\\u0F6C\\u0F71-\\u0F84\\u0F86-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u1000-\\u1049\\u1050-\\u109D\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u135D-\\u135F\\u1369-\\u1371\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1714\\u1720-\\u1734\\u1740-\\u1753\\u1760-\\u176C\\u176E-\\u1770\\u1772\\u1773\\u1780-\\u17D3\\u17D7\\u17DC\\u17DD\\u17E0-\\u17E9\\u180B-\\u180D\\u1810-\\u1819\\u1820-\\u1877\\u1880-\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1920-\\u192B\\u1930-\\u193B\\u1946-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u19D0-\\u19DA\\u1A00-\\u1A1B\\u1A20-\\u1A5E\\u1A60-\\u1A7C\\u1A7F-\\u1A89\\u1A90-\\u1A99\\u1AA7\\u1AB0-\\u1ABD\\u1B00-\\u1B4B\\u1B50-\\u1B59\\u1B6B-\\u1B73\\u1B80-\\u1BF3\\u1C00-\\u1C37\\u1C40-\\u1C49\\u1C4D-\\u1C7D\\u1CD0-\\u1CD2\\u1CD4-\\u1CF6\\u1CF8\\u1CF9\\u1D00-\\u1DF5\\u1DFC-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u200C\\u200D\\u203F\\u2040\\u2054\\u2071\\u207F\\u2090-\\u209C\\u20D0-\\u20DC\\u20E1\\u20E5-\\u20F0\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2118-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D7F-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2DE0-\\u2DFF\\u3005-\\u3007\\u3021-\\u302F\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u3099-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FD5\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA62B\\uA640-\\uA66F\\uA674-\\uA67D\\uA67F-\\uA6F1\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7AD\\uA7B0-\\uA7B7\\uA7F7-\\uA827\\uA840-\\uA873\\uA880-\\uA8C4\\uA8D0-\\uA8D9\\uA8E0-\\uA8F7\\uA8FB\\uA8FD\\uA900-\\uA92D\\uA930-\\uA953\\uA960-\\uA97C\\uA980-\\uA9C0\\uA9CF-\\uA9D9\\uA9E0-\\uA9FE\\uAA00-\\uAA36\\uAA40-\\uAA4D\\uAA50-\\uAA59\\uAA60-\\uAA76\\uAA7A-\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEF\\uAAF2-\\uAAF6\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB65\\uAB70-\\uABEA\\uABEC\\uABED\\uABF0-\\uABF9\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE00-\\uFE0F\\uFE20-\\uFE2F\\uFE33\\uFE34\\uFE4D-\\uFE4F\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF10-\\uFF19\\uFF21-\\uFF3A\\uFF3F\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]|\\uD800[\\uDC00-\\uDC0B\\uDC0D-\\uDC26\\uDC28-\\uDC3A\\uDC3C\\uDC3D\\uDC3F-\\uDC4D\\uDC50-\\uDC5D\\uDC80-\\uDCFA\\uDD40-\\uDD74\\uDDFD\\uDE80-\\uDE9C\\uDEA0-\\uDED0\\uDEE0\\uDF00-\\uDF1F\\uDF30-\\uDF4A\\uDF50-\\uDF7A\\uDF80-\\uDF9D\\uDFA0-\\uDFC3\\uDFC8-\\uDFCF\\uDFD1-\\uDFD5]|\\uD801[\\uDC00-\\uDC9D\\uDCA0-\\uDCA9\\uDD00-\\uDD27\\uDD30-\\uDD63\\uDE00-\\uDF36\\uDF40-\\uDF55\\uDF60-\\uDF67]|\\uD802[\\uDC00-\\uDC05\\uDC08\\uDC0A-\\uDC35\\uDC37\\uDC38\\uDC3C\\uDC3F-\\uDC55\\uDC60-\\uDC76\\uDC80-\\uDC9E\\uDCE0-\\uDCF2\\uDCF4\\uDCF5\\uDD00-\\uDD15\\uDD20-\\uDD39\\uDD80-\\uDDB7\\uDDBE\\uDDBF\\uDE00-\\uDE03\\uDE05\\uDE06\\uDE0C-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE33\\uDE38-\\uDE3A\\uDE3F\\uDE60-\\uDE7C\\uDE80-\\uDE9C\\uDEC0-\\uDEC7\\uDEC9-\\uDEE6\\uDF00-\\uDF35\\uDF40-\\uDF55\\uDF60-\\uDF72\\uDF80-\\uDF91]|\\uD803[\\uDC00-\\uDC48\\uDC80-\\uDCB2\\uDCC0-\\uDCF2]|\\uD804[\\uDC00-\\uDC46\\uDC66-\\uDC6F\\uDC7F-\\uDCBA\\uDCD0-\\uDCE8\\uDCF0-\\uDCF9\\uDD00-\\uDD34\\uDD36-\\uDD3F\\uDD50-\\uDD73\\uDD76\\uDD80-\\uDDC4\\uDDCA-\\uDDCC\\uDDD0-\\uDDDA\\uDDDC\\uDE00-\\uDE11\\uDE13-\\uDE37\\uDE80-\\uDE86\\uDE88\\uDE8A-\\uDE8D\\uDE8F-\\uDE9D\\uDE9F-\\uDEA8\\uDEB0-\\uDEEA\\uDEF0-\\uDEF9\\uDF00-\\uDF03\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3C-\\uDF44\\uDF47\\uDF48\\uDF4B-\\uDF4D\\uDF50\\uDF57\\uDF5D-\\uDF63\\uDF66-\\uDF6C\\uDF70-\\uDF74]|\\uD805[\\uDC80-\\uDCC5\\uDCC7\\uDCD0-\\uDCD9\\uDD80-\\uDDB5\\uDDB8-\\uDDC0\\uDDD8-\\uDDDD\\uDE00-\\uDE40\\uDE44\\uDE50-\\uDE59\\uDE80-\\uDEB7\\uDEC0-\\uDEC9\\uDF00-\\uDF19\\uDF1D-\\uDF2B\\uDF30-\\uDF39]|\\uD806[\\uDCA0-\\uDCE9\\uDCFF\\uDEC0-\\uDEF8]|\\uD808[\\uDC00-\\uDF99]|\\uD809[\\uDC00-\\uDC6E\\uDC80-\\uDD43]|[\\uD80C\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2E]|\\uD811[\\uDC00-\\uDE46]|\\uD81A[\\uDC00-\\uDE38\\uDE40-\\uDE5E\\uDE60-\\uDE69\\uDED0-\\uDEED\\uDEF0-\\uDEF4\\uDF00-\\uDF36\\uDF40-\\uDF43\\uDF50-\\uDF59\\uDF63-\\uDF77\\uDF7D-\\uDF8F]|\\uD81B[\\uDF00-\\uDF44\\uDF50-\\uDF7E\\uDF8F-\\uDF9F]|\\uD82C[\\uDC00\\uDC01]|\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99\\uDC9D\\uDC9E]|\\uD834[\\uDD65-\\uDD69\\uDD6D-\\uDD72\\uDD7B-\\uDD82\\uDD85-\\uDD8B\\uDDAA-\\uDDAD\\uDE42-\\uDE44]|\\uD835[\\uDC00-\\uDC54\\uDC56-\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD1E-\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD52-\\uDEA5\\uDEA8-\\uDEC0\\uDEC2-\\uDEDA\\uDEDC-\\uDEFA\\uDEFC-\\uDF14\\uDF16-\\uDF34\\uDF36-\\uDF4E\\uDF50-\\uDF6E\\uDF70-\\uDF88\\uDF8A-\\uDFA8\\uDFAA-\\uDFC2\\uDFC4-\\uDFCB\\uDFCE-\\uDFFF]|\\uD836[\\uDE00-\\uDE36\\uDE3B-\\uDE6C\\uDE75\\uDE84\\uDE9B-\\uDE9F\\uDEA1-\\uDEAF]|\\uD83A[\\uDC00-\\uDCC4\\uDCD0-\\uDCD6]|\\uD83B[\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB]|\\uD869[\\uDC00-\\uDED6\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF34\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1]|\\uD87E[\\uDC00-\\uDE1D]|\\uDB40[\\uDD00-\\uDDEF]/\n\t};\n\texports.Character = {\n\t /* tslint:disable:no-bitwise */\n\t fromCodePoint: function (cp) {\n\t return (cp < 0x10000) ? String.fromCharCode(cp) :\n\t String.fromCharCode(0xD800 + ((cp - 0x10000) >> 10)) +\n\t String.fromCharCode(0xDC00 + ((cp - 0x10000) & 1023));\n\t },\n\t // https://tc39.github.io/ecma262/#sec-white-space\n\t isWhiteSpace: function (cp) {\n\t return (cp === 0x20) || (cp === 0x09) || (cp === 0x0B) || (cp === 0x0C) || (cp === 0xA0) ||\n\t (cp >= 0x1680 && [0x1680, 0x2000, 0x2001, 0x2002, 0x2003, 0x2004, 0x2005, 0x2006, 0x2007, 0x2008, 0x2009, 0x200A, 0x202F, 0x205F, 0x3000, 0xFEFF].indexOf(cp) >= 0);\n\t },\n\t // https://tc39.github.io/ecma262/#sec-line-terminators\n\t isLineTerminator: function (cp) {\n\t return (cp === 0x0A) || (cp === 0x0D) || (cp === 0x2028) || (cp === 0x2029);\n\t },\n\t // https://tc39.github.io/ecma262/#sec-names-and-keywords\n\t isIdentifierStart: function (cp) {\n\t return (cp === 0x24) || (cp === 0x5F) ||\n\t (cp >= 0x41 && cp <= 0x5A) ||\n\t (cp >= 0x61 && cp <= 0x7A) ||\n\t (cp === 0x5C) ||\n\t ((cp >= 0x80) && Regex.NonAsciiIdentifierStart.test(exports.Character.fromCodePoint(cp)));\n\t },\n\t isIdentifierPart: function (cp) {\n\t return (cp === 0x24) || (cp === 0x5F) ||\n\t (cp >= 0x41 && cp <= 0x5A) ||\n\t (cp >= 0x61 && cp <= 0x7A) ||\n\t (cp >= 0x30 && cp <= 0x39) ||\n\t (cp === 0x5C) ||\n\t ((cp >= 0x80) && Regex.NonAsciiIdentifierPart.test(exports.Character.fromCodePoint(cp)));\n\t },\n\t // https://tc39.github.io/ecma262/#sec-literals-numeric-literals\n\t isDecimalDigit: function (cp) {\n\t return (cp >= 0x30 && cp <= 0x39); // 0..9\n\t },\n\t isHexDigit: function (cp) {\n\t return (cp >= 0x30 && cp <= 0x39) ||\n\t (cp >= 0x41 && cp <= 0x46) ||\n\t (cp >= 0x61 && cp <= 0x66); // a..f\n\t },\n\t isOctalDigit: function (cp) {\n\t return (cp >= 0x30 && cp <= 0x37); // 0..7\n\t }\n\t};\n\n\n/***/ },\n/* 5 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\tObject.defineProperty(exports, \"__esModule\", { value: true });\n\tvar jsx_syntax_1 = __webpack_require__(6);\n\t/* tslint:disable:max-classes-per-file */\n\tvar JSXClosingElement = (function () {\n\t function JSXClosingElement(name) {\n\t this.type = jsx_syntax_1.JSXSyntax.JSXClosingElement;\n\t this.name = name;\n\t }\n\t return JSXClosingElement;\n\t}());\n\texports.JSXClosingElement = JSXClosingElement;\n\tvar JSXElement = (function () {\n\t function JSXElement(openingElement, children, closingElement) {\n\t this.type = jsx_syntax_1.JSXSyntax.JSXElement;\n\t this.openingElement = openingElement;\n\t this.children = children;\n\t this.closingElement = closingElement;\n\t }\n\t return JSXElement;\n\t}());\n\texports.JSXElement = JSXElement;\n\tvar JSXEmptyExpression = (function () {\n\t function JSXEmptyExpression() {\n\t this.type = jsx_syntax_1.JSXSyntax.JSXEmptyExpression;\n\t }\n\t return JSXEmptyExpression;\n\t}());\n\texports.JSXEmptyExpression = JSXEmptyExpression;\n\tvar JSXExpressionContainer = (function () {\n\t function JSXExpressionContainer(expression) {\n\t this.type = jsx_syntax_1.JSXSyntax.JSXExpressionContainer;\n\t this.expression = expression;\n\t }\n\t return JSXExpressionContainer;\n\t}());\n\texports.JSXExpressionContainer = JSXExpressionContainer;\n\tvar JSXIdentifier = (function () {\n\t function JSXIdentifier(name) {\n\t this.type = jsx_syntax_1.JSXSyntax.JSXIdentifier;\n\t this.name = name;\n\t }\n\t return JSXIdentifier;\n\t}());\n\texports.JSXIdentifier = JSXIdentifier;\n\tvar JSXMemberExpression = (function () {\n\t function JSXMemberExpression(object, property) {\n\t this.type = jsx_syntax_1.JSXSyntax.JSXMemberExpression;\n\t this.object = object;\n\t this.property = property;\n\t }\n\t return JSXMemberExpression;\n\t}());\n\texports.JSXMemberExpression = JSXMemberExpression;\n\tvar JSXAttribute = (function () {\n\t function JSXAttribute(name, value) {\n\t this.type = jsx_syntax_1.JSXSyntax.JSXAttribute;\n\t this.name = name;\n\t this.value = value;\n\t }\n\t return JSXAttribute;\n\t}());\n\texports.JSXAttribute = JSXAttribute;\n\tvar JSXNamespacedName = (function () {\n\t function JSXNamespacedName(namespace, name) {\n\t this.type = jsx_syntax_1.JSXSyntax.JSXNamespacedName;\n\t this.namespace = namespace;\n\t this.name = name;\n\t }\n\t return JSXNamespacedName;\n\t}());\n\texports.JSXNamespacedName = JSXNamespacedName;\n\tvar JSXOpeningElement = (function () {\n\t function JSXOpeningElement(name, selfClosing, attributes) {\n\t this.type = jsx_syntax_1.JSXSyntax.JSXOpeningElement;\n\t this.name = name;\n\t this.selfClosing = selfClosing;\n\t this.attributes = attributes;\n\t }\n\t return JSXOpeningElement;\n\t}());\n\texports.JSXOpeningElement = JSXOpeningElement;\n\tvar JSXSpreadAttribute = (function () {\n\t function JSXSpreadAttribute(argument) {\n\t this.type = jsx_syntax_1.JSXSyntax.JSXSpreadAttribute;\n\t this.argument = argument;\n\t }\n\t return JSXSpreadAttribute;\n\t}());\n\texports.JSXSpreadAttribute = JSXSpreadAttribute;\n\tvar JSXText = (function () {\n\t function JSXText(value, raw) {\n\t this.type = jsx_syntax_1.JSXSyntax.JSXText;\n\t this.value = value;\n\t this.raw = raw;\n\t }\n\t return JSXText;\n\t}());\n\texports.JSXText = JSXText;\n\n\n/***/ },\n/* 6 */\n/***/ function(module, exports) {\n\n\t\"use strict\";\n\tObject.defineProperty(exports, \"__esModule\", { value: true });\n\texports.JSXSyntax = {\n\t JSXAttribute: 'JSXAttribute',\n\t JSXClosingElement: 'JSXClosingElement',\n\t JSXElement: 'JSXElement',\n\t JSXEmptyExpression: 'JSXEmptyExpression',\n\t JSXExpressionContainer: 'JSXExpressionContainer',\n\t JSXIdentifier: 'JSXIdentifier',\n\t JSXMemberExpression: 'JSXMemberExpression',\n\t JSXNamespacedName: 'JSXNamespacedName',\n\t JSXOpeningElement: 'JSXOpeningElement',\n\t JSXSpreadAttribute: 'JSXSpreadAttribute',\n\t JSXText: 'JSXText'\n\t};\n\n\n/***/ },\n/* 7 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\tObject.defineProperty(exports, \"__esModule\", { value: true });\n\tvar syntax_1 = __webpack_require__(2);\n\t/* tslint:disable:max-classes-per-file */\n\tvar ArrayExpression = (function () {\n\t function ArrayExpression(elements) {\n\t this.type = syntax_1.Syntax.ArrayExpression;\n\t this.elements = elements;\n\t }\n\t return ArrayExpression;\n\t}());\n\texports.ArrayExpression = ArrayExpression;\n\tvar ArrayPattern = (function () {\n\t function ArrayPattern(elements) {\n\t this.type = syntax_1.Syntax.ArrayPattern;\n\t this.elements = elements;\n\t }\n\t return ArrayPattern;\n\t}());\n\texports.ArrayPattern = ArrayPattern;\n\tvar ArrowFunctionExpression = (function () {\n\t function ArrowFunctionExpression(params, body, expression) {\n\t this.type = syntax_1.Syntax.ArrowFunctionExpression;\n\t this.id = null;\n\t this.params = params;\n\t this.body = body;\n\t this.generator = false;\n\t this.expression = expression;\n\t this.async = false;\n\t }\n\t return ArrowFunctionExpression;\n\t}());\n\texports.ArrowFunctionExpression = ArrowFunctionExpression;\n\tvar AssignmentExpression = (function () {\n\t function AssignmentExpression(operator, left, right) {\n\t this.type = syntax_1.Syntax.AssignmentExpression;\n\t this.operator = operator;\n\t this.left = left;\n\t this.right = right;\n\t }\n\t return AssignmentExpression;\n\t}());\n\texports.AssignmentExpression = AssignmentExpression;\n\tvar AssignmentPattern = (function () {\n\t function AssignmentPattern(left, right) {\n\t this.type = syntax_1.Syntax.AssignmentPattern;\n\t this.left = left;\n\t this.right = right;\n\t }\n\t return AssignmentPattern;\n\t}());\n\texports.AssignmentPattern = AssignmentPattern;\n\tvar AsyncArrowFunctionExpression = (function () {\n\t function AsyncArrowFunctionExpression(params, body, expression) {\n\t this.type = syntax_1.Syntax.ArrowFunctionExpression;\n\t this.id = null;\n\t this.params = params;\n\t this.body = body;\n\t this.generator = false;\n\t this.expression = expression;\n\t this.async = true;\n\t }\n\t return AsyncArrowFunctionExpression;\n\t}());\n\texports.AsyncArrowFunctionExpression = AsyncArrowFunctionExpression;\n\tvar AsyncFunctionDeclaration = (function () {\n\t function AsyncFunctionDeclaration(id, params, body) {\n\t this.type = syntax_1.Syntax.FunctionDeclaration;\n\t this.id = id;\n\t this.params = params;\n\t this.body = body;\n\t this.generator = false;\n\t this.expression = false;\n\t this.async = true;\n\t }\n\t return AsyncFunctionDeclaration;\n\t}());\n\texports.AsyncFunctionDeclaration = AsyncFunctionDeclaration;\n\tvar AsyncFunctionExpression = (function () {\n\t function AsyncFunctionExpression(id, params, body) {\n\t this.type = syntax_1.Syntax.FunctionExpression;\n\t this.id = id;\n\t this.params = params;\n\t this.body = body;\n\t this.generator = false;\n\t this.expression = false;\n\t this.async = true;\n\t }\n\t return AsyncFunctionExpression;\n\t}());\n\texports.AsyncFunctionExpression = AsyncFunctionExpression;\n\tvar AwaitExpression = (function () {\n\t function AwaitExpression(argument) {\n\t this.type = syntax_1.Syntax.AwaitExpression;\n\t this.argument = argument;\n\t }\n\t return AwaitExpression;\n\t}());\n\texports.AwaitExpression = AwaitExpression;\n\tvar BinaryExpression = (function () {\n\t function BinaryExpression(operator, left, right) {\n\t var logical = (operator === '||' || operator === '&&');\n\t this.type = logical ? syntax_1.Syntax.LogicalExpression : syntax_1.Syntax.BinaryExpression;\n\t this.operator = operator;\n\t this.left = left;\n\t this.right = right;\n\t }\n\t return BinaryExpression;\n\t}());\n\texports.BinaryExpression = BinaryExpression;\n\tvar BlockStatement = (function () {\n\t function BlockStatement(body) {\n\t this.type = syntax_1.Syntax.BlockStatement;\n\t this.body = body;\n\t }\n\t return BlockStatement;\n\t}());\n\texports.BlockStatement = BlockStatement;\n\tvar BreakStatement = (function () {\n\t function BreakStatement(label) {\n\t this.type = syntax_1.Syntax.BreakStatement;\n\t this.label = label;\n\t }\n\t return BreakStatement;\n\t}());\n\texports.BreakStatement = BreakStatement;\n\tvar CallExpression = (function () {\n\t function CallExpression(callee, args) {\n\t this.type = syntax_1.Syntax.CallExpression;\n\t this.callee = callee;\n\t this.arguments = args;\n\t }\n\t return CallExpression;\n\t}());\n\texports.CallExpression = CallExpression;\n\tvar CatchClause = (function () {\n\t function CatchClause(param, body) {\n\t this.type = syntax_1.Syntax.CatchClause;\n\t this.param = param;\n\t this.body = body;\n\t }\n\t return CatchClause;\n\t}());\n\texports.CatchClause = CatchClause;\n\tvar ClassBody = (function () {\n\t function ClassBody(body) {\n\t this.type = syntax_1.Syntax.ClassBody;\n\t this.body = body;\n\t }\n\t return ClassBody;\n\t}());\n\texports.ClassBody = ClassBody;\n\tvar ClassDeclaration = (function () {\n\t function ClassDeclaration(id, superClass, body) {\n\t this.type = syntax_1.Syntax.ClassDeclaration;\n\t this.id = id;\n\t this.superClass = superClass;\n\t this.body = body;\n\t }\n\t return ClassDeclaration;\n\t}());\n\texports.ClassDeclaration = ClassDeclaration;\n\tvar ClassExpression = (function () {\n\t function ClassExpression(id, superClass, body) {\n\t this.type = syntax_1.Syntax.ClassExpression;\n\t this.id = id;\n\t this.superClass = superClass;\n\t this.body = body;\n\t }\n\t return ClassExpression;\n\t}());\n\texports.ClassExpression = ClassExpression;\n\tvar ComputedMemberExpression = (function () {\n\t function ComputedMemberExpression(object, property) {\n\t this.type = syntax_1.Syntax.MemberExpression;\n\t this.computed = true;\n\t this.object = object;\n\t this.property = property;\n\t }\n\t return ComputedMemberExpression;\n\t}());\n\texports.ComputedMemberExpression = ComputedMemberExpression;\n\tvar ConditionalExpression = (function () {\n\t function ConditionalExpression(test, consequent, alternate) {\n\t this.type = syntax_1.Syntax.ConditionalExpression;\n\t this.test = test;\n\t this.consequent = consequent;\n\t this.alternate = alternate;\n\t }\n\t return ConditionalExpression;\n\t}());\n\texports.ConditionalExpression = ConditionalExpression;\n\tvar ContinueStatement = (function () {\n\t function ContinueStatement(label) {\n\t this.type = syntax_1.Syntax.ContinueStatement;\n\t this.label = label;\n\t }\n\t return ContinueStatement;\n\t}());\n\texports.ContinueStatement = ContinueStatement;\n\tvar DebuggerStatement = (function () {\n\t function DebuggerStatement() {\n\t this.type = syntax_1.Syntax.DebuggerStatement;\n\t }\n\t return DebuggerStatement;\n\t}());\n\texports.DebuggerStatement = DebuggerStatement;\n\tvar Directive = (function () {\n\t function Directive(expression, directive) {\n\t this.type = syntax_1.Syntax.ExpressionStatement;\n\t this.expression = expression;\n\t this.directive = directive;\n\t }\n\t return Directive;\n\t}());\n\texports.Directive = Directive;\n\tvar DoWhileStatement = (function () {\n\t function DoWhileStatement(body, test) {\n\t this.type = syntax_1.Syntax.DoWhileStatement;\n\t this.body = body;\n\t this.test = test;\n\t }\n\t return DoWhileStatement;\n\t}());\n\texports.DoWhileStatement = DoWhileStatement;\n\tvar EmptyStatement = (function () {\n\t function EmptyStatement() {\n\t this.type = syntax_1.Syntax.EmptyStatement;\n\t }\n\t return EmptyStatement;\n\t}());\n\texports.EmptyStatement = EmptyStatement;\n\tvar ExportAllDeclaration = (function () {\n\t function ExportAllDeclaration(source) {\n\t this.type = syntax_1.Syntax.ExportAllDeclaration;\n\t this.source = source;\n\t }\n\t return ExportAllDeclaration;\n\t}());\n\texports.ExportAllDeclaration = ExportAllDeclaration;\n\tvar ExportDefaultDeclaration = (function () {\n\t function ExportDefaultDeclaration(declaration) {\n\t this.type = syntax_1.Syntax.ExportDefaultDeclaration;\n\t this.declaration = declaration;\n\t }\n\t return ExportDefaultDeclaration;\n\t}());\n\texports.ExportDefaultDeclaration = ExportDefaultDeclaration;\n\tvar ExportNamedDeclaration = (function () {\n\t function ExportNamedDeclaration(declaration, specifiers, source) {\n\t this.type = syntax_1.Syntax.ExportNamedDeclaration;\n\t this.declaration = declaration;\n\t this.specifiers = specifiers;\n\t this.source = source;\n\t }\n\t return ExportNamedDeclaration;\n\t}());\n\texports.ExportNamedDeclaration = ExportNamedDeclaration;\n\tvar ExportSpecifier = (function () {\n\t function ExportSpecifier(local, exported) {\n\t this.type = syntax_1.Syntax.ExportSpecifier;\n\t this.exported = exported;\n\t this.local = local;\n\t }\n\t return ExportSpecifier;\n\t}());\n\texports.ExportSpecifier = ExportSpecifier;\n\tvar ExpressionStatement = (function () {\n\t function ExpressionStatement(expression) {\n\t this.type = syntax_1.Syntax.ExpressionStatement;\n\t this.expression = expression;\n\t }\n\t return ExpressionStatement;\n\t}());\n\texports.ExpressionStatement = ExpressionStatement;\n\tvar ForInStatement = (function () {\n\t function ForInStatement(left, right, body) {\n\t this.type = syntax_1.Syntax.ForInStatement;\n\t this.left = left;\n\t this.right = right;\n\t this.body = body;\n\t this.each = false;\n\t }\n\t return ForInStatement;\n\t}());\n\texports.ForInStatement = ForInStatement;\n\tvar ForOfStatement = (function () {\n\t function ForOfStatement(left, right, body) {\n\t this.type = syntax_1.Syntax.ForOfStatement;\n\t this.left = left;\n\t this.right = right;\n\t this.body = body;\n\t }\n\t return ForOfStatement;\n\t}());\n\texports.ForOfStatement = ForOfStatement;\n\tvar ForStatement = (function () {\n\t function ForStatement(init, test, update, body) {\n\t this.type = syntax_1.Syntax.ForStatement;\n\t this.init = init;\n\t this.test = test;\n\t this.update = update;\n\t this.body = body;\n\t }\n\t return ForStatement;\n\t}());\n\texports.ForStatement = ForStatement;\n\tvar FunctionDeclaration = (function () {\n\t function FunctionDeclaration(id, params, body, generator) {\n\t this.type = syntax_1.Syntax.FunctionDeclaration;\n\t this.id = id;\n\t this.params = params;\n\t this.body = body;\n\t this.generator = generator;\n\t this.expression = false;\n\t this.async = false;\n\t }\n\t return FunctionDeclaration;\n\t}());\n\texports.FunctionDeclaration = FunctionDeclaration;\n\tvar FunctionExpression = (function () {\n\t function FunctionExpression(id, params, body, generator) {\n\t this.type = syntax_1.Syntax.FunctionExpression;\n\t this.id = id;\n\t this.params = params;\n\t this.body = body;\n\t this.generator = generator;\n\t this.expression = false;\n\t this.async = false;\n\t }\n\t return FunctionExpression;\n\t}());\n\texports.FunctionExpression = FunctionExpression;\n\tvar Identifier = (function () {\n\t function Identifier(name) {\n\t this.type = syntax_1.Syntax.Identifier;\n\t this.name = name;\n\t }\n\t return Identifier;\n\t}());\n\texports.Identifier = Identifier;\n\tvar IfStatement = (function () {\n\t function IfStatement(test, consequent, alternate) {\n\t this.type = syntax_1.Syntax.IfStatement;\n\t this.test = test;\n\t this.consequent = consequent;\n\t this.alternate = alternate;\n\t }\n\t return IfStatement;\n\t}());\n\texports.IfStatement = IfStatement;\n\tvar ImportDeclaration = (function () {\n\t function ImportDeclaration(specifiers, source) {\n\t this.type = syntax_1.Syntax.ImportDeclaration;\n\t this.specifiers = specifiers;\n\t this.source = source;\n\t }\n\t return ImportDeclaration;\n\t}());\n\texports.ImportDeclaration = ImportDeclaration;\n\tvar ImportDefaultSpecifier = (function () {\n\t function ImportDefaultSpecifier(local) {\n\t this.type = syntax_1.Syntax.ImportDefaultSpecifier;\n\t this.local = local;\n\t }\n\t return ImportDefaultSpecifier;\n\t}());\n\texports.ImportDefaultSpecifier = ImportDefaultSpecifier;\n\tvar ImportNamespaceSpecifier = (function () {\n\t function ImportNamespaceSpecifier(local) {\n\t this.type = syntax_1.Syntax.ImportNamespaceSpecifier;\n\t this.local = local;\n\t }\n\t return ImportNamespaceSpecifier;\n\t}());\n\texports.ImportNamespaceSpecifier = ImportNamespaceSpecifier;\n\tvar ImportSpecifier = (function () {\n\t function ImportSpecifier(local, imported) {\n\t this.type = syntax_1.Syntax.ImportSpecifier;\n\t this.local = local;\n\t this.imported = imported;\n\t }\n\t return ImportSpecifier;\n\t}());\n\texports.ImportSpecifier = ImportSpecifier;\n\tvar LabeledStatement = (function () {\n\t function LabeledStatement(label, body) {\n\t this.type = syntax_1.Syntax.LabeledStatement;\n\t this.label = label;\n\t this.body = body;\n\t }\n\t return LabeledStatement;\n\t}());\n\texports.LabeledStatement = LabeledStatement;\n\tvar Literal = (function () {\n\t function Literal(value, raw) {\n\t this.type = syntax_1.Syntax.Literal;\n\t this.value = value;\n\t this.raw = raw;\n\t }\n\t return Literal;\n\t}());\n\texports.Literal = Literal;\n\tvar MetaProperty = (function () {\n\t function MetaProperty(meta, property) {\n\t this.type = syntax_1.Syntax.MetaProperty;\n\t this.meta = meta;\n\t this.property = property;\n\t }\n\t return MetaProperty;\n\t}());\n\texports.MetaProperty = MetaProperty;\n\tvar MethodDefinition = (function () {\n\t function MethodDefinition(key, computed, value, kind, isStatic) {\n\t this.type = syntax_1.Syntax.MethodDefinition;\n\t this.key = key;\n\t this.computed = computed;\n\t this.value = value;\n\t this.kind = kind;\n\t this.static = isStatic;\n\t }\n\t return MethodDefinition;\n\t}());\n\texports.MethodDefinition = MethodDefinition;\n\tvar Module = (function () {\n\t function Module(body) {\n\t this.type = syntax_1.Syntax.Program;\n\t this.body = body;\n\t this.sourceType = 'module';\n\t }\n\t return Module;\n\t}());\n\texports.Module = Module;\n\tvar NewExpression = (function () {\n\t function NewExpression(callee, args) {\n\t this.type = syntax_1.Syntax.NewExpression;\n\t this.callee = callee;\n\t this.arguments = args;\n\t }\n\t return NewExpression;\n\t}());\n\texports.NewExpression = NewExpression;\n\tvar ObjectExpression = (function () {\n\t function ObjectExpression(properties) {\n\t this.type = syntax_1.Syntax.ObjectExpression;\n\t this.properties = properties;\n\t }\n\t return ObjectExpression;\n\t}());\n\texports.ObjectExpression = ObjectExpression;\n\tvar ObjectPattern = (function () {\n\t function ObjectPattern(properties) {\n\t this.type = syntax_1.Syntax.ObjectPattern;\n\t this.properties = properties;\n\t }\n\t return ObjectPattern;\n\t}());\n\texports.ObjectPattern = ObjectPattern;\n\tvar Property = (function () {\n\t function Property(kind, key, computed, value, method, shorthand) {\n\t this.type = syntax_1.Syntax.Property;\n\t this.key = key;\n\t this.computed = computed;\n\t this.value = value;\n\t this.kind = kind;\n\t this.method = method;\n\t this.shorthand = shorthand;\n\t }\n\t return Property;\n\t}());\n\texports.Property = Property;\n\tvar RegexLiteral = (function () {\n\t function RegexLiteral(value, raw, pattern, flags) {\n\t this.type = syntax_1.Syntax.Literal;\n\t this.value = value;\n\t this.raw = raw;\n\t this.regex = { pattern: pattern, flags: flags };\n\t }\n\t return RegexLiteral;\n\t}());\n\texports.RegexLiteral = RegexLiteral;\n\tvar RestElement = (function () {\n\t function RestElement(argument) {\n\t this.type = syntax_1.Syntax.RestElement;\n\t this.argument = argument;\n\t }\n\t return RestElement;\n\t}());\n\texports.RestElement = RestElement;\n\tvar ReturnStatement = (function () {\n\t function ReturnStatement(argument) {\n\t this.type = syntax_1.Syntax.ReturnStatement;\n\t this.argument = argument;\n\t }\n\t return ReturnStatement;\n\t}());\n\texports.ReturnStatement = ReturnStatement;\n\tvar Script = (function () {\n\t function Script(body) {\n\t this.type = syntax_1.Syntax.Program;\n\t this.body = body;\n\t this.sourceType = 'script';\n\t }\n\t return Script;\n\t}());\n\texports.Script = Script;\n\tvar SequenceExpression = (function () {\n\t function SequenceExpression(expressions) {\n\t this.type = syntax_1.Syntax.SequenceExpression;\n\t this.expressions = expressions;\n\t }\n\t return SequenceExpression;\n\t}());\n\texports.SequenceExpression = SequenceExpression;\n\tvar SpreadElement = (function () {\n\t function SpreadElement(argument) {\n\t this.type = syntax_1.Syntax.SpreadElement;\n\t this.argument = argument;\n\t }\n\t return SpreadElement;\n\t}());\n\texports.SpreadElement = SpreadElement;\n\tvar StaticMemberExpression = (function () {\n\t function StaticMemberExpression(object, property) {\n\t this.type = syntax_1.Syntax.MemberExpression;\n\t this.computed = false;\n\t this.object = object;\n\t this.property = property;\n\t }\n\t return StaticMemberExpression;\n\t}());\n\texports.StaticMemberExpression = StaticMemberExpression;\n\tvar Super = (function () {\n\t function Super() {\n\t this.type = syntax_1.Syntax.Super;\n\t }\n\t return Super;\n\t}());\n\texports.Super = Super;\n\tvar SwitchCase = (function () {\n\t function SwitchCase(test, consequent) {\n\t this.type = syntax_1.Syntax.SwitchCase;\n\t this.test = test;\n\t this.consequent = consequent;\n\t }\n\t return SwitchCase;\n\t}());\n\texports.SwitchCase = SwitchCase;\n\tvar SwitchStatement = (function () {\n\t function SwitchStatement(discriminant, cases) {\n\t this.type = syntax_1.Syntax.SwitchStatement;\n\t this.discriminant = discriminant;\n\t this.cases = cases;\n\t }\n\t return SwitchStatement;\n\t}());\n\texports.SwitchStatement = SwitchStatement;\n\tvar TaggedTemplateExpression = (function () {\n\t function TaggedTemplateExpression(tag, quasi) {\n\t this.type = syntax_1.Syntax.TaggedTemplateExpression;\n\t this.tag = tag;\n\t this.quasi = quasi;\n\t }\n\t return TaggedTemplateExpression;\n\t}());\n\texports.TaggedTemplateExpression = TaggedTemplateExpression;\n\tvar TemplateElement = (function () {\n\t function TemplateElement(value, tail) {\n\t this.type = syntax_1.Syntax.TemplateElement;\n\t this.value = value;\n\t this.tail = tail;\n\t }\n\t return TemplateElement;\n\t}());\n\texports.TemplateElement = TemplateElement;\n\tvar TemplateLiteral = (function () {\n\t function TemplateLiteral(quasis, expressions) {\n\t this.type = syntax_1.Syntax.TemplateLiteral;\n\t this.quasis = quasis;\n\t this.expressions = expressions;\n\t }\n\t return TemplateLiteral;\n\t}());\n\texports.TemplateLiteral = TemplateLiteral;\n\tvar ThisExpression = (function () {\n\t function ThisExpression() {\n\t this.type = syntax_1.Syntax.ThisExpression;\n\t }\n\t return ThisExpression;\n\t}());\n\texports.ThisExpression = ThisExpression;\n\tvar ThrowStatement = (function () {\n\t function ThrowStatement(argument) {\n\t this.type = syntax_1.Syntax.ThrowStatement;\n\t this.argument = argument;\n\t }\n\t return ThrowStatement;\n\t}());\n\texports.ThrowStatement = ThrowStatement;\n\tvar TryStatement = (function () {\n\t function TryStatement(block, handler, finalizer) {\n\t this.type = syntax_1.Syntax.TryStatement;\n\t this.block = block;\n\t this.handler = handler;\n\t this.finalizer = finalizer;\n\t }\n\t return TryStatement;\n\t}());\n\texports.TryStatement = TryStatement;\n\tvar UnaryExpression = (function () {\n\t function UnaryExpression(operator, argument) {\n\t this.type = syntax_1.Syntax.UnaryExpression;\n\t this.operator = operator;\n\t this.argument = argument;\n\t this.prefix = true;\n\t }\n\t return UnaryExpression;\n\t}());\n\texports.UnaryExpression = UnaryExpression;\n\tvar UpdateExpression = (function () {\n\t function UpdateExpression(operator, argument, prefix) {\n\t this.type = syntax_1.Syntax.UpdateExpression;\n\t this.operator = operator;\n\t this.argument = argument;\n\t this.prefix = prefix;\n\t }\n\t return UpdateExpression;\n\t}());\n\texports.UpdateExpression = UpdateExpression;\n\tvar VariableDeclaration = (function () {\n\t function VariableDeclaration(declarations, kind) {\n\t this.type = syntax_1.Syntax.VariableDeclaration;\n\t this.declarations = declarations;\n\t this.kind = kind;\n\t }\n\t return VariableDeclaration;\n\t}());\n\texports.VariableDeclaration = VariableDeclaration;\n\tvar VariableDeclarator = (function () {\n\t function VariableDeclarator(id, init) {\n\t this.type = syntax_1.Syntax.VariableDeclarator;\n\t this.id = id;\n\t this.init = init;\n\t }\n\t return VariableDeclarator;\n\t}());\n\texports.VariableDeclarator = VariableDeclarator;\n\tvar WhileStatement = (function () {\n\t function WhileStatement(test, body) {\n\t this.type = syntax_1.Syntax.WhileStatement;\n\t this.test = test;\n\t this.body = body;\n\t }\n\t return WhileStatement;\n\t}());\n\texports.WhileStatement = WhileStatement;\n\tvar WithStatement = (function () {\n\t function WithStatement(object, body) {\n\t this.type = syntax_1.Syntax.WithStatement;\n\t this.object = object;\n\t this.body = body;\n\t }\n\t return WithStatement;\n\t}());\n\texports.WithStatement = WithStatement;\n\tvar YieldExpression = (function () {\n\t function YieldExpression(argument, delegate) {\n\t this.type = syntax_1.Syntax.YieldExpression;\n\t this.argument = argument;\n\t this.delegate = delegate;\n\t }\n\t return YieldExpression;\n\t}());\n\texports.YieldExpression = YieldExpression;\n\n\n/***/ },\n/* 8 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\tObject.defineProperty(exports, \"__esModule\", { value: true });\n\tvar assert_1 = __webpack_require__(9);\n\tvar error_handler_1 = __webpack_require__(10);\n\tvar messages_1 = __webpack_require__(11);\n\tvar Node = __webpack_require__(7);\n\tvar scanner_1 = __webpack_require__(12);\n\tvar syntax_1 = __webpack_require__(2);\n\tvar token_1 = __webpack_require__(13);\n\tvar ArrowParameterPlaceHolder = 'ArrowParameterPlaceHolder';\n\tvar Parser = (function () {\n\t function Parser(code, options, delegate) {\n\t if (options === void 0) { options = {}; }\n\t this.config = {\n\t range: (typeof options.range === 'boolean') && options.range,\n\t loc: (typeof options.loc === 'boolean') && options.loc,\n\t source: null,\n\t tokens: (typeof options.tokens === 'boolean') && options.tokens,\n\t comment: (typeof options.comment === 'boolean') && options.comment,\n\t tolerant: (typeof options.tolerant === 'boolean') && options.tolerant\n\t };\n\t if (this.config.loc && options.source && options.source !== null) {\n\t this.config.source = String(options.source);\n\t }\n\t this.delegate = delegate;\n\t this.errorHandler = new error_handler_1.ErrorHandler();\n\t this.errorHandler.tolerant = this.config.tolerant;\n\t this.scanner = new scanner_1.Scanner(code, this.errorHandler);\n\t this.scanner.trackComment = this.config.comment;\n\t this.operatorPrecedence = {\n\t ')': 0,\n\t ';': 0,\n\t ',': 0,\n\t '=': 0,\n\t ']': 0,\n\t '||': 1,\n\t '&&': 2,\n\t '|': 3,\n\t '^': 4,\n\t '&': 5,\n\t '==': 6,\n\t '!=': 6,\n\t '===': 6,\n\t '!==': 6,\n\t '<': 7,\n\t '>': 7,\n\t '<=': 7,\n\t '>=': 7,\n\t '<<': 8,\n\t '>>': 8,\n\t '>>>': 8,\n\t '+': 9,\n\t '-': 9,\n\t '*': 11,\n\t '/': 11,\n\t '%': 11\n\t };\n\t this.lookahead = {\n\t type: 2 /* EOF */,\n\t value: '',\n\t lineNumber: this.scanner.lineNumber,\n\t lineStart: 0,\n\t start: 0,\n\t end: 0\n\t };\n\t this.hasLineTerminator = false;\n\t this.context = {\n\t isModule: false,\n\t await: false,\n\t allowIn: true,\n\t allowStrictDirective: true,\n\t allowYield: true,\n\t firstCoverInitializedNameError: null,\n\t isAssignmentTarget: false,\n\t isBindingElement: false,\n\t inFunctionBody: false,\n\t inIteration: false,\n\t inSwitch: false,\n\t labelSet: {},\n\t strict: false\n\t };\n\t this.tokens = [];\n\t this.startMarker = {\n\t index: 0,\n\t line: this.scanner.lineNumber,\n\t column: 0\n\t };\n\t this.lastMarker = {\n\t index: 0,\n\t line: this.scanner.lineNumber,\n\t column: 0\n\t };\n\t this.nextToken();\n\t this.lastMarker = {\n\t index: this.scanner.index,\n\t line: this.scanner.lineNumber,\n\t column: this.scanner.index - this.scanner.lineStart\n\t };\n\t }\n\t Parser.prototype.throwError = function (messageFormat) {\n\t var values = [];\n\t for (var _i = 1; _i < arguments.length; _i++) {\n\t values[_i - 1] = arguments[_i];\n\t }\n\t var args = Array.prototype.slice.call(arguments, 1);\n\t var msg = messageFormat.replace(/%(\\d)/g, function (whole, idx) {\n\t assert_1.assert(idx < args.length, 'Message reference must be in range');\n\t return args[idx];\n\t });\n\t var index = this.lastMarker.index;\n\t var line = this.lastMarker.line;\n\t var column = this.lastMarker.column + 1;\n\t throw this.errorHandler.createError(index, line, column, msg);\n\t };\n\t Parser.prototype.tolerateError = function (messageFormat) {\n\t var values = [];\n\t for (var _i = 1; _i < arguments.length; _i++) {\n\t values[_i - 1] = arguments[_i];\n\t }\n\t var args = Array.prototype.slice.call(arguments, 1);\n\t var msg = messageFormat.replace(/%(\\d)/g, function (whole, idx) {\n\t assert_1.assert(idx < args.length, 'Message reference must be in range');\n\t return args[idx];\n\t });\n\t var index = this.lastMarker.index;\n\t var line = this.scanner.lineNumber;\n\t var column = this.lastMarker.column + 1;\n\t this.errorHandler.tolerateError(index, line, column, msg);\n\t };\n\t // Throw an exception because of the token.\n\t Parser.prototype.unexpectedTokenError = function (token, message) {\n\t var msg = message || messages_1.Messages.UnexpectedToken;\n\t var value;\n\t if (token) {\n\t if (!message) {\n\t msg = (token.type === 2 /* EOF */) ? messages_1.Messages.UnexpectedEOS :\n\t (token.type === 3 /* Identifier */) ? messages_1.Messages.UnexpectedIdentifier :\n\t (token.type === 6 /* NumericLiteral */) ? messages_1.Messages.UnexpectedNumber :\n\t (token.type === 8 /* StringLiteral */) ? messages_1.Messages.UnexpectedString :\n\t (token.type === 10 /* Template */) ? messages_1.Messages.UnexpectedTemplate :\n\t messages_1.Messages.UnexpectedToken;\n\t if (token.type === 4 /* Keyword */) {\n\t if (this.scanner.isFutureReservedWord(token.value)) {\n\t msg = messages_1.Messages.UnexpectedReserved;\n\t }\n\t else if (this.context.strict && this.scanner.isStrictModeReservedWord(token.value)) {\n\t msg = messages_1.Messages.StrictReservedWord;\n\t }\n\t }\n\t }\n\t value = token.value;\n\t }\n\t else {\n\t value = 'ILLEGAL';\n\t }\n\t msg = msg.replace('%0', value);\n\t if (token && typeof token.lineNumber === 'number') {\n\t var index = token.start;\n\t var line = token.lineNumber;\n\t var lastMarkerLineStart = this.lastMarker.index - this.lastMarker.column;\n\t var column = token.start - lastMarkerLineStart + 1;\n\t return this.errorHandler.createError(index, line, column, msg);\n\t }\n\t else {\n\t var index = this.lastMarker.index;\n\t var line = this.lastMarker.line;\n\t var column = this.lastMarker.column + 1;\n\t return this.errorHandler.createError(index, line, column, msg);\n\t }\n\t };\n\t Parser.prototype.throwUnexpectedToken = function (token, message) {\n\t throw this.unexpectedTokenError(token, message);\n\t };\n\t Parser.prototype.tolerateUnexpectedToken = function (token, message) {\n\t this.errorHandler.tolerate(this.unexpectedTokenError(token, message));\n\t };\n\t Parser.prototype.collectComments = function () {\n\t if (!this.config.comment) {\n\t this.scanner.scanComments();\n\t }\n\t else {\n\t var comments = this.scanner.scanComments();\n\t if (comments.length > 0 && this.delegate) {\n\t for (var i = 0; i < comments.length; ++i) {\n\t var e = comments[i];\n\t var node = void 0;\n\t node = {\n\t type: e.multiLine ? 'BlockComment' : 'LineComment',\n\t value: this.scanner.source.slice(e.slice[0], e.slice[1])\n\t };\n\t if (this.config.range) {\n\t node.range = e.range;\n\t }\n\t if (this.config.loc) {\n\t node.loc = e.loc;\n\t }\n\t var metadata = {\n\t start: {\n\t line: e.loc.start.line,\n\t column: e.loc.start.column,\n\t offset: e.range[0]\n\t },\n\t end: {\n\t line: e.loc.end.line,\n\t column: e.loc.end.column,\n\t offset: e.range[1]\n\t }\n\t };\n\t this.delegate(node, metadata);\n\t }\n\t }\n\t }\n\t };\n\t // From internal representation to an external structure\n\t Parser.prototype.getTokenRaw = function (token) {\n\t return this.scanner.source.slice(token.start, token.end);\n\t };\n\t Parser.prototype.convertToken = function (token) {\n\t var t = {\n\t type: token_1.TokenName[token.type],\n\t value: this.getTokenRaw(token)\n\t };\n\t if (this.config.range) {\n\t t.range = [token.start, token.end];\n\t }\n\t if (this.config.loc) {\n\t t.loc = {\n\t start: {\n\t line: this.startMarker.line,\n\t column: this.startMarker.column\n\t },\n\t end: {\n\t line: this.scanner.lineNumber,\n\t column: this.scanner.index - this.scanner.lineStart\n\t }\n\t };\n\t }\n\t if (token.type === 9 /* RegularExpression */) {\n\t var pattern = token.pattern;\n\t var flags = token.flags;\n\t t.regex = { pattern: pattern, flags: flags };\n\t }\n\t return t;\n\t };\n\t Parser.prototype.nextToken = function () {\n\t var token = this.lookahead;\n\t this.lastMarker.index = this.scanner.index;\n\t this.lastMarker.line = this.scanner.lineNumber;\n\t this.lastMarker.column = this.scanner.index - this.scanner.lineStart;\n\t this.collectComments();\n\t if (this.scanner.index !== this.startMarker.index) {\n\t this.startMarker.index = this.scanner.index;\n\t this.startMarker.line = this.scanner.lineNumber;\n\t this.startMarker.column = this.scanner.index - this.scanner.lineStart;\n\t }\n\t var next = this.scanner.lex();\n\t this.hasLineTerminator = (token.lineNumber !== next.lineNumber);\n\t if (next && this.context.strict && next.type === 3 /* Identifier */) {\n\t if (this.scanner.isStrictModeReservedWord(next.value)) {\n\t next.type = 4 /* Keyword */;\n\t }\n\t }\n\t this.lookahead = next;\n\t if (this.config.tokens && next.type !== 2 /* EOF */) {\n\t this.tokens.push(this.convertToken(next));\n\t }\n\t return token;\n\t };\n\t Parser.prototype.nextRegexToken = function () {\n\t this.collectComments();\n\t var token = this.scanner.scanRegExp();\n\t if (this.config.tokens) {\n\t // Pop the previous token, '/' or '/='\n\t // This is added from the lookahead token.\n\t this.tokens.pop();\n\t this.tokens.push(this.convertToken(token));\n\t }\n\t // Prime the next lookahead.\n\t this.lookahead = token;\n\t this.nextToken();\n\t return token;\n\t };\n\t Parser.prototype.createNode = function () {\n\t return {\n\t index: this.startMarker.index,\n\t line: this.startMarker.line,\n\t column: this.startMarker.column\n\t };\n\t };\n\t Parser.prototype.startNode = function (token, lastLineStart) {\n\t if (lastLineStart === void 0) { lastLineStart = 0; }\n\t var column = token.start - token.lineStart;\n\t var line = token.lineNumber;\n\t if (column < 0) {\n\t column += lastLineStart;\n\t line--;\n\t }\n\t return {\n\t index: token.start,\n\t line: line,\n\t column: column\n\t };\n\t };\n\t Parser.prototype.finalize = function (marker, node) {\n\t if (this.config.range) {\n\t node.range = [marker.index, this.lastMarker.index];\n\t }\n\t if (this.config.loc) {\n\t node.loc = {\n\t start: {\n\t line: marker.line,\n\t column: marker.column,\n\t },\n\t end: {\n\t line: this.lastMarker.line,\n\t column: this.lastMarker.column\n\t }\n\t };\n\t if (this.config.source) {\n\t node.loc.source = this.config.source;\n\t }\n\t }\n\t if (this.delegate) {\n\t var metadata = {\n\t start: {\n\t line: marker.line,\n\t column: marker.column,\n\t offset: marker.index\n\t },\n\t end: {\n\t line: this.lastMarker.line,\n\t column: this.lastMarker.column,\n\t offset: this.lastMarker.index\n\t }\n\t };\n\t this.delegate(node, metadata);\n\t }\n\t return node;\n\t };\n\t // Expect the next token to match the specified punctuator.\n\t // If not, an exception will be thrown.\n\t Parser.prototype.expect = function (value) {\n\t var token = this.nextToken();\n\t if (token.type !== 7 /* Punctuator */ || token.value !== value) {\n\t this.throwUnexpectedToken(token);\n\t }\n\t };\n\t // Quietly expect a comma when in tolerant mode, otherwise delegates to expect().\n\t Parser.prototype.expectCommaSeparator = function () {\n\t if (this.config.tolerant) {\n\t var token = this.lookahead;\n\t if (token.type === 7 /* Punctuator */ && token.value === ',') {\n\t this.nextToken();\n\t }\n\t else if (token.type === 7 /* Punctuator */ && token.value === ';') {\n\t this.nextToken();\n\t this.tolerateUnexpectedToken(token);\n\t }\n\t else {\n\t this.tolerateUnexpectedToken(token, messages_1.Messages.UnexpectedToken);\n\t }\n\t }\n\t else {\n\t this.expect(',');\n\t }\n\t };\n\t // Expect the next token to match the specified keyword.\n\t // If not, an exception will be thrown.\n\t Parser.prototype.expectKeyword = function (keyword) {\n\t var token = this.nextToken();\n\t if (token.type !== 4 /* Keyword */ || token.value !== keyword) {\n\t this.throwUnexpectedToken(token);\n\t }\n\t };\n\t // Return true if the next token matches the specified punctuator.\n\t Parser.prototype.match = function (value) {\n\t return this.lookahead.type === 7 /* Punctuator */ && this.lookahead.value === value;\n\t };\n\t // Return true if the next token matches the specified keyword\n\t Parser.prototype.matchKeyword = function (keyword) {\n\t return this.lookahead.type === 4 /* Keyword */ && this.lookahead.value === keyword;\n\t };\n\t // Return true if the next token matches the specified contextual keyword\n\t // (where an identifier is sometimes a keyword depending on the context)\n\t Parser.prototype.matchContextualKeyword = function (keyword) {\n\t return this.lookahead.type === 3 /* Identifier */ && this.lookahead.value === keyword;\n\t };\n\t // Return true if the next token is an assignment operator\n\t Parser.prototype.matchAssign = function () {\n\t if (this.lookahead.type !== 7 /* Punctuator */) {\n\t return false;\n\t }\n\t var op = this.lookahead.value;\n\t return op === '=' ||\n\t op === '*=' ||\n\t op === '**=' ||\n\t op === '/=' ||\n\t op === '%=' ||\n\t op === '+=' ||\n\t op === '-=' ||\n\t op === '<<=' ||\n\t op === '>>=' ||\n\t op === '>>>=' ||\n\t op === '&=' ||\n\t op === '^=' ||\n\t op === '|=';\n\t };\n\t // Cover grammar support.\n\t //\n\t // When an assignment expression position starts with an left parenthesis, the determination of the type\n\t // of the syntax is to be deferred arbitrarily long until the end of the parentheses pair (plus a lookahead)\n\t // or the first comma. This situation also defers the determination of all the expressions nested in the pair.\n\t //\n\t // There are three productions that can be parsed in a parentheses pair that needs to be determined\n\t // after the outermost pair is closed. They are:\n\t //\n\t // 1. AssignmentExpression\n\t // 2. BindingElements\n\t // 3. AssignmentTargets\n\t //\n\t // In order to avoid exponential backtracking, we use two flags to denote if the production can be\n\t // binding element or assignment target.\n\t //\n\t // The three productions have the relationship:\n\t //\n\t // BindingElements ⊆ AssignmentTargets ⊆ AssignmentExpression\n\t //\n\t // with a single exception that CoverInitializedName when used directly in an Expression, generates\n\t // an early error. Therefore, we need the third state, firstCoverInitializedNameError, to track the\n\t // first usage of CoverInitializedName and report it when we reached the end of the parentheses pair.\n\t //\n\t // isolateCoverGrammar function runs the given parser function with a new cover grammar context, and it does not\n\t // effect the current flags. This means the production the parser parses is only used as an expression. Therefore\n\t // the CoverInitializedName check is conducted.\n\t //\n\t // inheritCoverGrammar function runs the given parse function with a new cover grammar context, and it propagates\n\t // the flags outside of the parser. This means the production the parser parses is used as a part of a potential\n\t // pattern. The CoverInitializedName check is deferred.\n\t Parser.prototype.isolateCoverGrammar = function (parseFunction) {\n\t var previousIsBindingElement = this.context.isBindingElement;\n\t var previousIsAssignmentTarget = this.context.isAssignmentTarget;\n\t var previousFirstCoverInitializedNameError = this.context.firstCoverInitializedNameError;\n\t this.context.isBindingElement = true;\n\t this.context.isAssignmentTarget = true;\n\t this.context.firstCoverInitializedNameError = null;\n\t var result = parseFunction.call(this);\n\t if (this.context.firstCoverInitializedNameError !== null) {\n\t this.throwUnexpectedToken(this.context.firstCoverInitializedNameError);\n\t }\n\t this.context.isBindingElement = previousIsBindingElement;\n\t this.context.isAssignmentTarget = previousIsAssignmentTarget;\n\t this.context.firstCoverInitializedNameError = previousFirstCoverInitializedNameError;\n\t return result;\n\t };\n\t Parser.prototype.inheritCoverGrammar = function (parseFunction) {\n\t var previousIsBindingElement = this.context.isBindingElement;\n\t var previousIsAssignmentTarget = this.context.isAssignmentTarget;\n\t var previousFirstCoverInitializedNameError = this.context.firstCoverInitializedNameError;\n\t this.context.isBindingElement = true;\n\t this.context.isAssignmentTarget = true;\n\t this.context.firstCoverInitializedNameError = null;\n\t var result = parseFunction.call(this);\n\t this.context.isBindingElement = this.context.isBindingElement && previousIsBindingElement;\n\t this.context.isAssignmentTarget = this.context.isAssignmentTarget && previousIsAssignmentTarget;\n\t this.context.firstCoverInitializedNameError = previousFirstCoverInitializedNameError || this.context.firstCoverInitializedNameError;\n\t return result;\n\t };\n\t Parser.prototype.consumeSemicolon = function () {\n\t if (this.match(';')) {\n\t this.nextToken();\n\t }\n\t else if (!this.hasLineTerminator) {\n\t if (this.lookahead.type !== 2 /* EOF */ && !this.match('}')) {\n\t this.throwUnexpectedToken(this.lookahead);\n\t }\n\t this.lastMarker.index = this.startMarker.index;\n\t this.lastMarker.line = this.startMarker.line;\n\t this.lastMarker.column = this.startMarker.column;\n\t }\n\t };\n\t // https://tc39.github.io/ecma262/#sec-primary-expression\n\t Parser.prototype.parsePrimaryExpression = function () {\n\t var node = this.createNode();\n\t var expr;\n\t var token, raw;\n\t switch (this.lookahead.type) {\n\t case 3 /* Identifier */:\n\t if ((this.context.isModule || this.context.await) && this.lookahead.value === 'await') {\n\t this.tolerateUnexpectedToken(this.lookahead);\n\t }\n\t expr = this.matchAsyncFunction() ? this.parseFunctionExpression() : this.finalize(node, new Node.Identifier(this.nextToken().value));\n\t break;\n\t case 6 /* NumericLiteral */:\n\t case 8 /* StringLiteral */:\n\t if (this.context.strict && this.lookahead.octal) {\n\t this.tolerateUnexpectedToken(this.lookahead, messages_1.Messages.StrictOctalLiteral);\n\t }\n\t this.context.isAssignmentTarget = false;\n\t this.context.isBindingElement = false;\n\t token = this.nextToken();\n\t raw = this.getTokenRaw(token);\n\t expr = this.finalize(node, new Node.Literal(token.value, raw));\n\t break;\n\t case 1 /* BooleanLiteral */:\n\t this.context.isAssignmentTarget = false;\n\t this.context.isBindingElement = false;\n\t token = this.nextToken();\n\t raw = this.getTokenRaw(token);\n\t expr = this.finalize(node, new Node.Literal(token.value === 'true', raw));\n\t break;\n\t case 5 /* NullLiteral */:\n\t this.context.isAssignmentTarget = false;\n\t this.context.isBindingElement = false;\n\t token = this.nextToken();\n\t raw = this.getTokenRaw(token);\n\t expr = this.finalize(node, new Node.Literal(null, raw));\n\t break;\n\t case 10 /* Template */:\n\t expr = this.parseTemplateLiteral();\n\t break;\n\t case 7 /* Punctuator */:\n\t switch (this.lookahead.value) {\n\t case '(':\n\t this.context.isBindingElement = false;\n\t expr = this.inheritCoverGrammar(this.parseGroupExpression);\n\t break;\n\t case '[':\n\t expr = this.inheritCoverGrammar(this.parseArrayInitializer);\n\t break;\n\t case '{':\n\t expr = this.inheritCoverGrammar(this.parseObjectInitializer);\n\t break;\n\t case '/':\n\t case '/=':\n\t this.context.isAssignmentTarget = false;\n\t this.context.isBindingElement = false;\n\t this.scanner.index = this.startMarker.index;\n\t token = this.nextRegexToken();\n\t raw = this.getTokenRaw(token);\n\t expr = this.finalize(node, new Node.RegexLiteral(token.regex, raw, token.pattern, token.flags));\n\t break;\n\t default:\n\t expr = this.throwUnexpectedToken(this.nextToken());\n\t }\n\t break;\n\t case 4 /* Keyword */:\n\t if (!this.context.strict && this.context.allowYield && this.matchKeyword('yield')) {\n\t expr = this.parseIdentifierName();\n\t }\n\t else if (!this.context.strict && this.matchKeyword('let')) {\n\t expr = this.finalize(node, new Node.Identifier(this.nextToken().value));\n\t }\n\t else {\n\t this.context.isAssignmentTarget = false;\n\t this.context.isBindingElement = false;\n\t if (this.matchKeyword('function')) {\n\t expr = this.parseFunctionExpression();\n\t }\n\t else if (this.matchKeyword('this')) {\n\t this.nextToken();\n\t expr = this.finalize(node, new Node.ThisExpression());\n\t }\n\t else if (this.matchKeyword('class')) {\n\t expr = this.parseClassExpression();\n\t }\n\t else {\n\t expr = this.throwUnexpectedToken(this.nextToken());\n\t }\n\t }\n\t break;\n\t default:\n\t expr = this.throwUnexpectedToken(this.nextToken());\n\t }\n\t return expr;\n\t };\n\t // https://tc39.github.io/ecma262/#sec-array-initializer\n\t Parser.prototype.parseSpreadElement = function () {\n\t var node = this.createNode();\n\t this.expect('...');\n\t var arg = this.inheritCoverGrammar(this.parseAssignmentExpression);\n\t return this.finalize(node, new Node.SpreadElement(arg));\n\t };\n\t Parser.prototype.parseArrayInitializer = function () {\n\t var node = this.createNode();\n\t var elements = [];\n\t this.expect('[');\n\t while (!this.match(']')) {\n\t if (this.match(',')) {\n\t this.nextToken();\n\t elements.push(null);\n\t }\n\t else if (this.match('...')) {\n\t var element = this.parseSpreadElement();\n\t if (!this.match(']')) {\n\t this.context.isAssignmentTarget = false;\n\t this.context.isBindingElement = false;\n\t this.expect(',');\n\t }\n\t elements.push(element);\n\t }\n\t else {\n\t elements.push(this.inheritCoverGrammar(this.parseAssignmentExpression));\n\t if (!this.match(']')) {\n\t this.expect(',');\n\t }\n\t }\n\t }\n\t this.expect(']');\n\t return this.finalize(node, new Node.ArrayExpression(elements));\n\t };\n\t // https://tc39.github.io/ecma262/#sec-object-initializer\n\t Parser.prototype.parsePropertyMethod = function (params) {\n\t this.context.isAssignmentTarget = false;\n\t this.context.isBindingElement = false;\n\t var previousStrict = this.context.strict;\n\t var previousAllowStrictDirective = this.context.allowStrictDirective;\n\t this.context.allowStrictDirective = params.simple;\n\t var body = this.isolateCoverGrammar(this.parseFunctionSourceElements);\n\t if (this.context.strict && params.firstRestricted) {\n\t this.tolerateUnexpectedToken(params.firstRestricted, params.message);\n\t }\n\t if (this.context.strict && params.stricted) {\n\t this.tolerateUnexpectedToken(params.stricted, params.message);\n\t }\n\t this.context.strict = previousStrict;\n\t this.context.allowStrictDirective = previousAllowStrictDirective;\n\t return body;\n\t };\n\t Parser.prototype.parsePropertyMethodFunction = function () {\n\t var isGenerator = false;\n\t var node = this.createNode();\n\t var previousAllowYield = this.context.allowYield;\n\t this.context.allowYield = true;\n\t var params = this.parseFormalParameters();\n\t var method = this.parsePropertyMethod(params);\n\t this.context.allowYield = previousAllowYield;\n\t return this.finalize(node, new Node.FunctionExpression(null, params.params, method, isGenerator));\n\t };\n\t Parser.prototype.parsePropertyMethodAsyncFunction = function () {\n\t var node = this.createNode();\n\t var previousAllowYield = this.context.allowYield;\n\t var previousAwait = this.context.await;\n\t this.context.allowYield = false;\n\t this.context.await = true;\n\t var params = this.parseFormalParameters();\n\t var method = this.parsePropertyMethod(params);\n\t this.context.allowYield = previousAllowYield;\n\t this.context.await = previousAwait;\n\t return this.finalize(node, new Node.AsyncFunctionExpression(null, params.params, method));\n\t };\n\t Parser.prototype.parseObjectPropertyKey = function () {\n\t var node = this.createNode();\n\t var token = this.nextToken();\n\t var key;\n\t switch (token.type) {\n\t case 8 /* StringLiteral */:\n\t case 6 /* NumericLiteral */:\n\t if (this.context.strict && token.octal) {\n\t this.tolerateUnexpectedToken(token, messages_1.Messages.StrictOctalLiteral);\n\t }\n\t var raw = this.getTokenRaw(token);\n\t key = this.finalize(node, new Node.Literal(token.value, raw));\n\t break;\n\t case 3 /* Identifier */:\n\t case 1 /* BooleanLiteral */:\n\t case 5 /* NullLiteral */:\n\t case 4 /* Keyword */:\n\t key = this.finalize(node, new Node.Identifier(token.value));\n\t break;\n\t case 7 /* Punctuator */:\n\t if (token.value === '[') {\n\t key = this.isolateCoverGrammar(this.parseAssignmentExpression);\n\t this.expect(']');\n\t }\n\t else {\n\t key = this.throwUnexpectedToken(token);\n\t }\n\t break;\n\t default:\n\t key = this.throwUnexpectedToken(token);\n\t }\n\t return key;\n\t };\n\t Parser.prototype.isPropertyKey = function (key, value) {\n\t return (key.type === syntax_1.Syntax.Identifier && key.name === value) ||\n\t (key.type === syntax_1.Syntax.Literal && key.value === value);\n\t };\n\t Parser.prototype.parseObjectProperty = function (hasProto) {\n\t var node = this.createNode();\n\t var token = this.lookahead;\n\t var kind;\n\t var key = null;\n\t var value = null;\n\t var computed = false;\n\t var method = false;\n\t var shorthand = false;\n\t var isAsync = false;\n\t if (token.type === 3 /* Identifier */) {\n\t var id = token.value;\n\t this.nextToken();\n\t computed = this.match('[');\n\t isAsync = !this.hasLineTerminator && (id === 'async') &&\n\t !this.match(':') && !this.match('(') && !this.match('*') && !this.match(',');\n\t key = isAsync ? this.parseObjectPropertyKey() : this.finalize(node, new Node.Identifier(id));\n\t }\n\t else if (this.match('*')) {\n\t this.nextToken();\n\t }\n\t else {\n\t computed = this.match('[');\n\t key = this.parseObjectPropertyKey();\n\t }\n\t var lookaheadPropertyKey = this.qualifiedPropertyName(this.lookahead);\n\t if (token.type === 3 /* Identifier */ && !isAsync && token.value === 'get' && lookaheadPropertyKey) {\n\t kind = 'get';\n\t computed = this.match('[');\n\t key = this.parseObjectPropertyKey();\n\t this.context.allowYield = false;\n\t value = this.parseGetterMethod();\n\t }\n\t else if (token.type === 3 /* Identifier */ && !isAsync && token.value === 'set' && lookaheadPropertyKey) {\n\t kind = 'set';\n\t computed = this.match('[');\n\t key = this.parseObjectPropertyKey();\n\t value = this.parseSetterMethod();\n\t }\n\t else if (token.type === 7 /* Punctuator */ && token.value === '*' && lookaheadPropertyKey) {\n\t kind = 'init';\n\t computed = this.match('[');\n\t key = this.parseObjectPropertyKey();\n\t value = this.parseGeneratorMethod();\n\t method = true;\n\t }\n\t else {\n\t if (!key) {\n\t this.throwUnexpectedToken(this.lookahead);\n\t }\n\t kind = 'init';\n\t if (this.match(':') && !isAsync) {\n\t if (!computed && this.isPropertyKey(key, '__proto__')) {\n\t if (hasProto.value) {\n\t this.tolerateError(messages_1.Messages.DuplicateProtoProperty);\n\t }\n\t hasProto.value = true;\n\t }\n\t this.nextToken();\n\t value = this.inheritCoverGrammar(this.parseAssignmentExpression);\n\t }\n\t else if (this.match('(')) {\n\t value = isAsync ? this.parsePropertyMethodAsyncFunction() : this.parsePropertyMethodFunction();\n\t method = true;\n\t }\n\t else if (token.type === 3 /* Identifier */) {\n\t var id = this.finalize(node, new Node.Identifier(token.value));\n\t if (this.match('=')) {\n\t this.context.firstCoverInitializedNameError = this.lookahead;\n\t this.nextToken();\n\t shorthand = true;\n\t var init = this.isolateCoverGrammar(this.parseAssignmentExpression);\n\t value = this.finalize(node, new Node.AssignmentPattern(id, init));\n\t }\n\t else {\n\t shorthand = true;\n\t value = id;\n\t }\n\t }\n\t else {\n\t this.throwUnexpectedToken(this.nextToken());\n\t }\n\t }\n\t return this.finalize(node, new Node.Property(kind, key, computed, value, method, shorthand));\n\t };\n\t Parser.prototype.parseObjectInitializer = function () {\n\t var node = this.createNode();\n\t this.expect('{');\n\t var properties = [];\n\t var hasProto = { value: false };\n\t while (!this.match('}')) {\n\t properties.push(this.parseObjectProperty(hasProto));\n\t if (!this.match('}')) {\n\t this.expectCommaSeparator();\n\t }\n\t }\n\t this.expect('}');\n\t return this.finalize(node, new Node.ObjectExpression(properties));\n\t };\n\t // https://tc39.github.io/ecma262/#sec-template-literals\n\t Parser.prototype.parseTemplateHead = function () {\n\t assert_1.assert(this.lookahead.head, 'Template literal must start with a template head');\n\t var node = this.createNode();\n\t var token = this.nextToken();\n\t var raw = token.value;\n\t var cooked = token.cooked;\n\t return this.finalize(node, new Node.TemplateElement({ raw: raw, cooked: cooked }, token.tail));\n\t };\n\t Parser.prototype.parseTemplateElement = function () {\n\t if (this.lookahead.type !== 10 /* Template */) {\n\t this.throwUnexpectedToken();\n\t }\n\t var node = this.createNode();\n\t var token = this.nextToken();\n\t var raw = token.value;\n\t var cooked = token.cooked;\n\t return this.finalize(node, new Node.TemplateElement({ raw: raw, cooked: cooked }, token.tail));\n\t };\n\t Parser.prototype.parseTemplateLiteral = function () {\n\t var node = this.createNode();\n\t var expressions = [];\n\t var quasis = [];\n\t var quasi = this.parseTemplateHead();\n\t quasis.push(quasi);\n\t while (!quasi.tail) {\n\t expressions.push(this.parseExpression());\n\t quasi = this.parseTemplateElement();\n\t quasis.push(quasi);\n\t }\n\t return this.finalize(node, new Node.TemplateLiteral(quasis, expressions));\n\t };\n\t // https://tc39.github.io/ecma262/#sec-grouping-operator\n\t Parser.prototype.reinterpretExpressionAsPattern = function (expr) {\n\t switch (expr.type) {\n\t case syntax_1.Syntax.Identifier:\n\t case syntax_1.Syntax.MemberExpression:\n\t case syntax_1.Syntax.RestElement:\n\t case syntax_1.Syntax.AssignmentPattern:\n\t break;\n\t case syntax_1.Syntax.SpreadElement:\n\t expr.type = syntax_1.Syntax.RestElement;\n\t this.reinterpretExpressionAsPattern(expr.argument);\n\t break;\n\t case syntax_1.Syntax.ArrayExpression:\n\t expr.type = syntax_1.Syntax.ArrayPattern;\n\t for (var i = 0; i < expr.elements.length; i++) {\n\t if (expr.elements[i] !== null) {\n\t this.reinterpretExpressionAsPattern(expr.elements[i]);\n\t }\n\t }\n\t break;\n\t case syntax_1.Syntax.ObjectExpression:\n\t expr.type = syntax_1.Syntax.ObjectPattern;\n\t for (var i = 0; i < expr.properties.length; i++) {\n\t this.reinterpretExpressionAsPattern(expr.properties[i].value);\n\t }\n\t break;\n\t case syntax_1.Syntax.AssignmentExpression:\n\t expr.type = syntax_1.Syntax.AssignmentPattern;\n\t delete expr.operator;\n\t this.reinterpretExpressionAsPattern(expr.left);\n\t break;\n\t default:\n\t // Allow other node type for tolerant parsing.\n\t break;\n\t }\n\t };\n\t Parser.prototype.parseGroupExpression = function () {\n\t var expr;\n\t this.expect('(');\n\t if (this.match(')')) {\n\t this.nextToken();\n\t if (!this.match('=>')) {\n\t this.expect('=>');\n\t }\n\t expr = {\n\t type: ArrowParameterPlaceHolder,\n\t params: [],\n\t async: false\n\t };\n\t }\n\t else {\n\t var startToken = this.lookahead;\n\t var params = [];\n\t if (this.match('...')) {\n\t expr = this.parseRestElement(params);\n\t this.expect(')');\n\t if (!this.match('=>')) {\n\t this.expect('=>');\n\t }\n\t expr = {\n\t type: ArrowParameterPlaceHolder,\n\t params: [expr],\n\t async: false\n\t };\n\t }\n\t else {\n\t var arrow = false;\n\t this.context.isBindingElement = true;\n\t expr = this.inheritCoverGrammar(this.parseAssignmentExpression);\n\t if (this.match(',')) {\n\t var expressions = [];\n\t this.context.isAssignmentTarget = false;\n\t expressions.push(expr);\n\t while (this.lookahead.type !== 2 /* EOF */) {\n\t if (!this.match(',')) {\n\t break;\n\t }\n\t this.nextToken();\n\t if (this.match(')')) {\n\t this.nextToken();\n\t for (var i = 0; i < expressions.length; i++) {\n\t this.reinterpretExpressionAsPattern(expressions[i]);\n\t }\n\t arrow = true;\n\t expr = {\n\t type: ArrowParameterPlaceHolder,\n\t params: expressions,\n\t async: false\n\t };\n\t }\n\t else if (this.match('...')) {\n\t if (!this.context.isBindingElement) {\n\t this.throwUnexpectedToken(this.lookahead);\n\t }\n\t expressions.push(this.parseRestElement(params));\n\t this.expect(')');\n\t if (!this.match('=>')) {\n\t this.expect('=>');\n\t }\n\t this.context.isBindingElement = false;\n\t for (var i = 0; i < expressions.length; i++) {\n\t this.reinterpretExpressionAsPattern(expressions[i]);\n\t }\n\t arrow = true;\n\t expr = {\n\t type: ArrowParameterPlaceHolder,\n\t params: expressions,\n\t async: false\n\t };\n\t }\n\t else {\n\t expressions.push(this.inheritCoverGrammar(this.parseAssignmentExpression));\n\t }\n\t if (arrow) {\n\t break;\n\t }\n\t }\n\t if (!arrow) {\n\t expr = this.finalize(this.startNode(startToken), new Node.SequenceExpression(expressions));\n\t }\n\t }\n\t if (!arrow) {\n\t this.expect(')');\n\t if (this.match('=>')) {\n\t if (expr.type === syntax_1.Syntax.Identifier && expr.name === 'yield') {\n\t arrow = true;\n\t expr = {\n\t type: ArrowParameterPlaceHolder,\n\t params: [expr],\n\t async: false\n\t };\n\t }\n\t if (!arrow) {\n\t if (!this.context.isBindingElement) {\n\t this.throwUnexpectedToken(this.lookahead);\n\t }\n\t if (expr.type === syntax_1.Syntax.SequenceExpression) {\n\t for (var i = 0; i < expr.expressions.length; i++) {\n\t this.reinterpretExpressionAsPattern(expr.expressions[i]);\n\t }\n\t }\n\t else {\n\t this.reinterpretExpressionAsPattern(expr);\n\t }\n\t var parameters = (expr.type === syntax_1.Syntax.SequenceExpression ? expr.expressions : [expr]);\n\t expr = {\n\t type: ArrowParameterPlaceHolder,\n\t params: parameters,\n\t async: false\n\t };\n\t }\n\t }\n\t this.context.isBindingElement = false;\n\t }\n\t }\n\t }\n\t return expr;\n\t };\n\t // https://tc39.github.io/ecma262/#sec-left-hand-side-expressions\n\t Parser.prototype.parseArguments = function () {\n\t this.expect('(');\n\t var args = [];\n\t if (!this.match(')')) {\n\t while (true) {\n\t var expr = this.match('...') ? this.parseSpreadElement() :\n\t this.isolateCoverGrammar(this.parseAssignmentExpression);\n\t args.push(expr);\n\t if (this.match(')')) {\n\t break;\n\t }\n\t this.expectCommaSeparator();\n\t if (this.match(')')) {\n\t break;\n\t }\n\t }\n\t }\n\t this.expect(')');\n\t return args;\n\t };\n\t Parser.prototype.isIdentifierName = function (token) {\n\t return token.type === 3 /* Identifier */ ||\n\t token.type === 4 /* Keyword */ ||\n\t token.type === 1 /* BooleanLiteral */ ||\n\t token.type === 5 /* NullLiteral */;\n\t };\n\t Parser.prototype.parseIdentifierName = function () {\n\t var node = this.createNode();\n\t var token = this.nextToken();\n\t if (!this.isIdentifierName(token)) {\n\t this.throwUnexpectedToken(token);\n\t }\n\t return this.finalize(node, new Node.Identifier(token.value));\n\t };\n\t Parser.prototype.parseNewExpression = function () {\n\t var node = this.createNode();\n\t var id = this.parseIdentifierName();\n\t assert_1.assert(id.name === 'new', 'New expression must start with `new`');\n\t var expr;\n\t if (this.match('.')) {\n\t this.nextToken();\n\t if (this.lookahead.type === 3 /* Identifier */ && this.context.inFunctionBody && this.lookahead.value === 'target') {\n\t var property = this.parseIdentifierName();\n\t expr = new Node.MetaProperty(id, property);\n\t }\n\t else {\n\t this.throwUnexpectedToken(this.lookahead);\n\t }\n\t }\n\t else {\n\t var callee = this.isolateCoverGrammar(this.parseLeftHandSideExpression);\n\t var args = this.match('(') ? this.parseArguments() : [];\n\t expr = new Node.NewExpression(callee, args);\n\t this.context.isAssignmentTarget = false;\n\t this.context.isBindingElement = false;\n\t }\n\t return this.finalize(node, expr);\n\t };\n\t Parser.prototype.parseAsyncArgument = function () {\n\t var arg = this.parseAssignmentExpression();\n\t this.context.firstCoverInitializedNameError = null;\n\t return arg;\n\t };\n\t Parser.prototype.parseAsyncArguments = function () {\n\t this.expect('(');\n\t var args = [];\n\t if (!this.match(')')) {\n\t while (true) {\n\t var expr = this.match('...') ? this.parseSpreadElement() :\n\t this.isolateCoverGrammar(this.parseAsyncArgument);\n\t args.push(expr);\n\t if (this.match(')')) {\n\t break;\n\t }\n\t this.expectCommaSeparator();\n\t if (this.match(')')) {\n\t break;\n\t }\n\t }\n\t }\n\t this.expect(')');\n\t return args;\n\t };\n\t Parser.prototype.parseLeftHandSideExpressionAllowCall = function () {\n\t var startToken = this.lookahead;\n\t var maybeAsync = this.matchContextualKeyword('async');\n\t var previousAllowIn = this.context.allowIn;\n\t this.context.allowIn = true;\n\t var expr;\n\t if (this.matchKeyword('super') && this.context.inFunctionBody) {\n\t expr = this.createNode();\n\t this.nextToken();\n\t expr = this.finalize(expr, new Node.Super());\n\t if (!this.match('(') && !this.match('.') && !this.match('[')) {\n\t this.throwUnexpectedToken(this.lookahead);\n\t }\n\t }\n\t else {\n\t expr = this.inheritCoverGrammar(this.matchKeyword('new') ? this.parseNewExpression : this.parsePrimaryExpression);\n\t }\n\t while (true) {\n\t if (this.match('.')) {\n\t this.context.isBindingElement = false;\n\t this.context.isAssignmentTarget = true;\n\t this.expect('.');\n\t var property = this.parseIdentifierName();\n\t expr = this.finalize(this.startNode(startToken), new Node.StaticMemberExpression(expr, property));\n\t }\n\t else if (this.match('(')) {\n\t var asyncArrow = maybeAsync && (startToken.lineNumber === this.lookahead.lineNumber);\n\t this.context.isBindingElement = false;\n\t this.context.isAssignmentTarget = false;\n\t var args = asyncArrow ? this.parseAsyncArguments() : this.parseArguments();\n\t expr = this.finalize(this.startNode(startToken), new Node.CallExpression(expr, args));\n\t if (asyncArrow && this.match('=>')) {\n\t for (var i = 0; i < args.length; ++i) {\n\t this.reinterpretExpressionAsPattern(args[i]);\n\t }\n\t expr = {\n\t type: ArrowParameterPlaceHolder,\n\t params: args,\n\t async: true\n\t };\n\t }\n\t }\n\t else if (this.match('[')) {\n\t this.context.isBindingElement = false;\n\t this.context.isAssignmentTarget = true;\n\t this.expect('[');\n\t var property = this.isolateCoverGrammar(this.parseExpression);\n\t this.expect(']');\n\t expr = this.finalize(this.startNode(startToken), new Node.ComputedMemberExpression(expr, property));\n\t }\n\t else if (this.lookahead.type === 10 /* Template */ && this.lookahead.head) {\n\t var quasi = this.parseTemplateLiteral();\n\t expr = this.finalize(this.startNode(startToken), new Node.TaggedTemplateExpression(expr, quasi));\n\t }\n\t else {\n\t break;\n\t }\n\t }\n\t this.context.allowIn = previousAllowIn;\n\t return expr;\n\t };\n\t Parser.prototype.parseSuper = function () {\n\t var node = this.createNode();\n\t this.expectKeyword('super');\n\t if (!this.match('[') && !this.match('.')) {\n\t this.throwUnexpectedToken(this.lookahead);\n\t }\n\t return this.finalize(node, new Node.Super());\n\t };\n\t Parser.prototype.parseLeftHandSideExpression = function () {\n\t assert_1.assert(this.context.allowIn, 'callee of new expression always allow in keyword.');\n\t var node = this.startNode(this.lookahead);\n\t var expr = (this.matchKeyword('super') && this.context.inFunctionBody) ? this.parseSuper() :\n\t this.inheritCoverGrammar(this.matchKeyword('new') ? this.parseNewExpression : this.parsePrimaryExpression);\n\t while (true) {\n\t if (this.match('[')) {\n\t this.context.isBindingElement = false;\n\t this.context.isAssignmentTarget = true;\n\t this.expect('[');\n\t var property = this.isolateCoverGrammar(this.parseExpression);\n\t this.expect(']');\n\t expr = this.finalize(node, new Node.ComputedMemberExpression(expr, property));\n\t }\n\t else if (this.match('.')) {\n\t this.context.isBindingElement = false;\n\t this.context.isAssignmentTarget = true;\n\t this.expect('.');\n\t var property = this.parseIdentifierName();\n\t expr = this.finalize(node, new Node.StaticMemberExpression(expr, property));\n\t }\n\t else if (this.lookahead.type === 10 /* Template */ && this.lookahead.head) {\n\t var quasi = this.parseTemplateLiteral();\n\t expr = this.finalize(node, new Node.TaggedTemplateExpression(expr, quasi));\n\t }\n\t else {\n\t break;\n\t }\n\t }\n\t return expr;\n\t };\n\t // https://tc39.github.io/ecma262/#sec-update-expressions\n\t Parser.prototype.parseUpdateExpression = function () {\n\t var expr;\n\t var startToken = this.lookahead;\n\t if (this.match('++') || this.match('--')) {\n\t var node = this.startNode(startToken);\n\t var token = this.nextToken();\n\t expr = this.inheritCoverGrammar(this.parseUnaryExpression);\n\t if (this.context.strict && expr.type === syntax_1.Syntax.Identifier && this.scanner.isRestrictedWord(expr.name)) {\n\t this.tolerateError(messages_1.Messages.StrictLHSPrefix);\n\t }\n\t if (!this.context.isAssignmentTarget) {\n\t this.tolerateError(messages_1.Messages.InvalidLHSInAssignment);\n\t }\n\t var prefix = true;\n\t expr = this.finalize(node, new Node.UpdateExpression(token.value, expr, prefix));\n\t this.context.isAssignmentTarget = false;\n\t this.context.isBindingElement = false;\n\t }\n\t else {\n\t expr = this.inheritCoverGrammar(this.parseLeftHandSideExpressionAllowCall);\n\t if (!this.hasLineTerminator && this.lookahead.type === 7 /* Punctuator */) {\n\t if (this.match('++') || this.match('--')) {\n\t if (this.context.strict && expr.type === syntax_1.Syntax.Identifier && this.scanner.isRestrictedWord(expr.name)) {\n\t this.tolerateError(messages_1.Messages.StrictLHSPostfix);\n\t }\n\t if (!this.context.isAssignmentTarget) {\n\t this.tolerateError(messages_1.Messages.InvalidLHSInAssignment);\n\t }\n\t this.context.isAssignmentTarget = false;\n\t this.context.isBindingElement = false;\n\t var operator = this.nextToken().value;\n\t var prefix = false;\n\t expr = this.finalize(this.startNode(startToken), new Node.UpdateExpression(operator, expr, prefix));\n\t }\n\t }\n\t }\n\t return expr;\n\t };\n\t // https://tc39.github.io/ecma262/#sec-unary-operators\n\t Parser.prototype.parseAwaitExpression = function () {\n\t var node = this.createNode();\n\t this.nextToken();\n\t var argument = this.parseUnaryExpression();\n\t return this.finalize(node, new Node.AwaitExpression(argument));\n\t };\n\t Parser.prototype.parseUnaryExpression = function () {\n\t var expr;\n\t if (this.match('+') || this.match('-') || this.match('~') || this.match('!') ||\n\t this.matchKeyword('delete') || this.matchKeyword('void') || this.matchKeyword('typeof')) {\n\t var node = this.startNode(this.lookahead);\n\t var token = this.nextToken();\n\t expr = this.inheritCoverGrammar(this.parseUnaryExpression);\n\t expr = this.finalize(node, new Node.UnaryExpression(token.value, expr));\n\t if (this.context.strict && expr.operator === 'delete' && expr.argument.type === syntax_1.Syntax.Identifier) {\n\t this.tolerateError(messages_1.Messages.StrictDelete);\n\t }\n\t this.context.isAssignmentTarget = false;\n\t this.context.isBindingElement = false;\n\t }\n\t else if (this.context.await && this.matchContextualKeyword('await')) {\n\t expr = this.parseAwaitExpression();\n\t }\n\t else {\n\t expr = this.parseUpdateExpression();\n\t }\n\t return expr;\n\t };\n\t Parser.prototype.parseExponentiationExpression = function () {\n\t var startToken = this.lookahead;\n\t var expr = this.inheritCoverGrammar(this.parseUnaryExpression);\n\t if (expr.type !== syntax_1.Syntax.UnaryExpression && this.match('**')) {\n\t this.nextToken();\n\t this.context.isAssignmentTarget = false;\n\t this.context.isBindingElement = false;\n\t var left = expr;\n\t var right = this.isolateCoverGrammar(this.parseExponentiationExpression);\n\t expr = this.finalize(this.startNode(startToken), new Node.BinaryExpression('**', left, right));\n\t }\n\t return expr;\n\t };\n\t // https://tc39.github.io/ecma262/#sec-exp-operator\n\t // https://tc39.github.io/ecma262/#sec-multiplicative-operators\n\t // https://tc39.github.io/ecma262/#sec-additive-operators\n\t // https://tc39.github.io/ecma262/#sec-bitwise-shift-operators\n\t // https://tc39.github.io/ecma262/#sec-relational-operators\n\t // https://tc39.github.io/ecma262/#sec-equality-operators\n\t // https://tc39.github.io/ecma262/#sec-binary-bitwise-operators\n\t // https://tc39.github.io/ecma262/#sec-binary-logical-operators\n\t Parser.prototype.binaryPrecedence = function (token) {\n\t var op = token.value;\n\t var precedence;\n\t if (token.type === 7 /* Punctuator */) {\n\t precedence = this.operatorPrecedence[op] || 0;\n\t }\n\t else if (token.type === 4 /* Keyword */) {\n\t precedence = (op === 'instanceof' || (this.context.allowIn && op === 'in')) ? 7 : 0;\n\t }\n\t else {\n\t precedence = 0;\n\t }\n\t return precedence;\n\t };\n\t Parser.prototype.parseBinaryExpression = function () {\n\t var startToken = this.lookahead;\n\t var expr = this.inheritCoverGrammar(this.parseExponentiationExpression);\n\t var token = this.lookahead;\n\t var prec = this.binaryPrecedence(token);\n\t if (prec > 0) {\n\t this.nextToken();\n\t this.context.isAssignmentTarget = false;\n\t this.context.isBindingElement = false;\n\t var markers = [startToken, this.lookahead];\n\t var left = expr;\n\t var right = this.isolateCoverGrammar(this.parseExponentiationExpression);\n\t var stack = [left, token.value, right];\n\t var precedences = [prec];\n\t while (true) {\n\t prec = this.binaryPrecedence(this.lookahead);\n\t if (prec <= 0) {\n\t break;\n\t }\n\t // Reduce: make a binary expression from the three topmost entries.\n\t while ((stack.length > 2) && (prec <= precedences[precedences.length - 1])) {\n\t right = stack.pop();\n\t var operator = stack.pop();\n\t precedences.pop();\n\t left = stack.pop();\n\t markers.pop();\n\t var node = this.startNode(markers[markers.length - 1]);\n\t stack.push(this.finalize(node, new Node.BinaryExpression(operator, left, right)));\n\t }\n\t // Shift.\n\t stack.push(this.nextToken().value);\n\t precedences.push(prec);\n\t markers.push(this.lookahead);\n\t stack.push(this.isolateCoverGrammar(this.parseExponentiationExpression));\n\t }\n\t // Final reduce to clean-up the stack.\n\t var i = stack.length - 1;\n\t expr = stack[i];\n\t var lastMarker = markers.pop();\n\t while (i > 1) {\n\t var marker = markers.pop();\n\t var lastLineStart = lastMarker && lastMarker.lineStart;\n\t var node = this.startNode(marker, lastLineStart);\n\t var operator = stack[i - 1];\n\t expr = this.finalize(node, new Node.BinaryExpression(operator, stack[i - 2], expr));\n\t i -= 2;\n\t lastMarker = marker;\n\t }\n\t }\n\t return expr;\n\t };\n\t // https://tc39.github.io/ecma262/#sec-conditional-operator\n\t Parser.prototype.parseConditionalExpression = function () {\n\t var startToken = this.lookahead;\n\t var expr = this.inheritCoverGrammar(this.parseBinaryExpression);\n\t if (this.match('?')) {\n\t this.nextToken();\n\t var previousAllowIn = this.context.allowIn;\n\t this.context.allowIn = true;\n\t var consequent = this.isolateCoverGrammar(this.parseAssignmentExpression);\n\t this.context.allowIn = previousAllowIn;\n\t this.expect(':');\n\t var alternate = this.isolateCoverGrammar(this.parseAssignmentExpression);\n\t expr = this.finalize(this.startNode(startToken), new Node.ConditionalExpression(expr, consequent, alternate));\n\t this.context.isAssignmentTarget = false;\n\t this.context.isBindingElement = false;\n\t }\n\t return expr;\n\t };\n\t // https://tc39.github.io/ecma262/#sec-assignment-operators\n\t Parser.prototype.checkPatternParam = function (options, param) {\n\t switch (param.type) {\n\t case syntax_1.Syntax.Identifier:\n\t this.validateParam(options, param, param.name);\n\t break;\n\t case syntax_1.Syntax.RestElement:\n\t this.checkPatternParam(options, param.argument);\n\t break;\n\t case syntax_1.Syntax.AssignmentPattern:\n\t this.checkPatternParam(options, param.left);\n\t break;\n\t case syntax_1.Syntax.ArrayPattern:\n\t for (var i = 0; i < param.elements.length; i++) {\n\t if (param.elements[i] !== null) {\n\t this.checkPatternParam(options, param.elements[i]);\n\t }\n\t }\n\t break;\n\t case syntax_1.Syntax.ObjectPattern:\n\t for (var i = 0; i < param.properties.length; i++) {\n\t this.checkPatternParam(options, param.properties[i].value);\n\t }\n\t break;\n\t default:\n\t break;\n\t }\n\t options.simple = options.simple && (param instanceof Node.Identifier);\n\t };\n\t Parser.prototype.reinterpretAsCoverFormalsList = function (expr) {\n\t var params = [expr];\n\t var options;\n\t var asyncArrow = false;\n\t switch (expr.type) {\n\t case syntax_1.Syntax.Identifier:\n\t break;\n\t case ArrowParameterPlaceHolder:\n\t params = expr.params;\n\t asyncArrow = expr.async;\n\t break;\n\t default:\n\t return null;\n\t }\n\t options = {\n\t simple: true,\n\t paramSet: {}\n\t };\n\t for (var i = 0; i < params.length; ++i) {\n\t var param = params[i];\n\t if (param.type === syntax_1.Syntax.AssignmentPattern) {\n\t if (param.right.type === syntax_1.Syntax.YieldExpression) {\n\t if (param.right.argument) {\n\t this.throwUnexpectedToken(this.lookahead);\n\t }\n\t param.right.type = syntax_1.Syntax.Identifier;\n\t param.right.name = 'yield';\n\t delete param.right.argument;\n\t delete param.right.delegate;\n\t }\n\t }\n\t else if (asyncArrow && param.type === syntax_1.Syntax.Identifier && param.name === 'await') {\n\t this.throwUnexpectedToken(this.lookahead);\n\t }\n\t this.checkPatternParam(options, param);\n\t params[i] = param;\n\t }\n\t if (this.context.strict || !this.context.allowYield) {\n\t for (var i = 0; i < params.length; ++i) {\n\t var param = params[i];\n\t if (param.type === syntax_1.Syntax.YieldExpression) {\n\t this.throwUnexpectedToken(this.lookahead);\n\t }\n\t }\n\t }\n\t if (options.message === messages_1.Messages.StrictParamDupe) {\n\t var token = this.context.strict ? options.stricted : options.firstRestricted;\n\t this.throwUnexpectedToken(token, options.message);\n\t }\n\t return {\n\t simple: options.simple,\n\t params: params,\n\t stricted: options.stricted,\n\t firstRestricted: options.firstRestricted,\n\t message: options.message\n\t };\n\t };\n\t Parser.prototype.parseAssignmentExpression = function () {\n\t var expr;\n\t if (!this.context.allowYield && this.matchKeyword('yield')) {\n\t expr = this.parseYieldExpression();\n\t }\n\t else {\n\t var startToken = this.lookahead;\n\t var token = startToken;\n\t expr = this.parseConditionalExpression();\n\t if (token.type === 3 /* Identifier */ && (token.lineNumber === this.lookahead.lineNumber) && token.value === 'async') {\n\t if (this.lookahead.type === 3 /* Identifier */ || this.matchKeyword('yield')) {\n\t var arg = this.parsePrimaryExpression();\n\t this.reinterpretExpressionAsPattern(arg);\n\t expr = {\n\t type: ArrowParameterPlaceHolder,\n\t params: [arg],\n\t async: true\n\t };\n\t }\n\t }\n\t if (expr.type === ArrowParameterPlaceHolder || this.match('=>')) {\n\t // https://tc39.github.io/ecma262/#sec-arrow-function-definitions\n\t this.context.isAssignmentTarget = false;\n\t this.context.isBindingElement = false;\n\t var isAsync = expr.async;\n\t var list = this.reinterpretAsCoverFormalsList(expr);\n\t if (list) {\n\t if (this.hasLineTerminator) {\n\t this.tolerateUnexpectedToken(this.lookahead);\n\t }\n\t this.context.firstCoverInitializedNameError = null;\n\t var previousStrict = this.context.strict;\n\t var previousAllowStrictDirective = this.context.allowStrictDirective;\n\t this.context.allowStrictDirective = list.simple;\n\t var previousAllowYield = this.context.allowYield;\n\t var previousAwait = this.context.await;\n\t this.context.allowYield = true;\n\t this.context.await = isAsync;\n\t var node = this.startNode(startToken);\n\t this.expect('=>');\n\t var body = void 0;\n\t if (this.match('{')) {\n\t var previousAllowIn = this.context.allowIn;\n\t this.context.allowIn = true;\n\t body = this.parseFunctionSourceElements();\n\t this.context.allowIn = previousAllowIn;\n\t }\n\t else {\n\t body = this.isolateCoverGrammar(this.parseAssignmentExpression);\n\t }\n\t var expression = body.type !== syntax_1.Syntax.BlockStatement;\n\t if (this.context.strict && list.firstRestricted) {\n\t this.throwUnexpectedToken(list.firstRestricted, list.message);\n\t }\n\t if (this.context.strict && list.stricted) {\n\t this.tolerateUnexpectedToken(list.stricted, list.message);\n\t }\n\t expr = isAsync ? this.finalize(node, new Node.AsyncArrowFunctionExpression(list.params, body, expression)) :\n\t this.finalize(node, new Node.ArrowFunctionExpression(list.params, body, expression));\n\t this.context.strict = previousStrict;\n\t this.context.allowStrictDirective = previousAllowStrictDirective;\n\t this.context.allowYield = previousAllowYield;\n\t this.context.await = previousAwait;\n\t }\n\t }\n\t else {\n\t if (this.matchAssign()) {\n\t if (!this.context.isAssignmentTarget) {\n\t this.tolerateError(messages_1.Messages.InvalidLHSInAssignment);\n\t }\n\t if (this.context.strict && expr.type === syntax_1.Syntax.Identifier) {\n\t var id = expr;\n\t if (this.scanner.isRestrictedWord(id.name)) {\n\t this.tolerateUnexpectedToken(token, messages_1.Messages.StrictLHSAssignment);\n\t }\n\t if (this.scanner.isStrictModeReservedWord(id.name)) {\n\t this.tolerateUnexpectedToken(token, messages_1.Messages.StrictReservedWord);\n\t }\n\t }\n\t if (!this.match('=')) {\n\t this.context.isAssignmentTarget = false;\n\t this.context.isBindingElement = false;\n\t }\n\t else {\n\t this.reinterpretExpressionAsPattern(expr);\n\t }\n\t token = this.nextToken();\n\t var operator = token.value;\n\t var right = this.isolateCoverGrammar(this.parseAssignmentExpression);\n\t expr = this.finalize(this.startNode(startToken), new Node.AssignmentExpression(operator, expr, right));\n\t this.context.firstCoverInitializedNameError = null;\n\t }\n\t }\n\t }\n\t return expr;\n\t };\n\t // https://tc39.github.io/ecma262/#sec-comma-operator\n\t Parser.prototype.parseExpression = function () {\n\t var startToken = this.lookahead;\n\t var expr = this.isolateCoverGrammar(this.parseAssignmentExpression);\n\t if (this.match(',')) {\n\t var expressions = [];\n\t expressions.push(expr);\n\t while (this.lookahead.type !== 2 /* EOF */) {\n\t if (!this.match(',')) {\n\t break;\n\t }\n\t this.nextToken();\n\t expressions.push(this.isolateCoverGrammar(this.parseAssignmentExpression));\n\t }\n\t expr = this.finalize(this.startNode(startToken), new Node.SequenceExpression(expressions));\n\t }\n\t return expr;\n\t };\n\t // https://tc39.github.io/ecma262/#sec-block\n\t Parser.prototype.parseStatementListItem = function () {\n\t var statement;\n\t this.context.isAssignmentTarget = true;\n\t this.context.isBindingElement = true;\n\t if (this.lookahead.type === 4 /* Keyword */) {\n\t switch (this.lookahead.value) {\n\t case 'export':\n\t if (!this.context.isModule) {\n\t this.tolerateUnexpectedToken(this.lookahead, messages_1.Messages.IllegalExportDeclaration);\n\t }\n\t statement = this.parseExportDeclaration();\n\t break;\n\t case 'import':\n\t if (!this.context.isModule) {\n\t this.tolerateUnexpectedToken(this.lookahead, messages_1.Messages.IllegalImportDeclaration);\n\t }\n\t statement = this.parseImportDeclaration();\n\t break;\n\t case 'const':\n\t statement = this.parseLexicalDeclaration({ inFor: false });\n\t break;\n\t case 'function':\n\t statement = this.parseFunctionDeclaration();\n\t break;\n\t case 'class':\n\t statement = this.parseClassDeclaration();\n\t break;\n\t case 'let':\n\t statement = this.isLexicalDeclaration() ? this.parseLexicalDeclaration({ inFor: false }) : this.parseStatement();\n\t break;\n\t default:\n\t statement = this.parseStatement();\n\t break;\n\t }\n\t }\n\t else {\n\t statement = this.parseStatement();\n\t }\n\t return statement;\n\t };\n\t Parser.prototype.parseBlock = function () {\n\t var node = this.createNode();\n\t this.expect('{');\n\t var block = [];\n\t while (true) {\n\t if (this.match('}')) {\n\t break;\n\t }\n\t block.push(this.parseStatementListItem());\n\t }\n\t this.expect('}');\n\t return this.finalize(node, new Node.BlockStatement(block));\n\t };\n\t // https://tc39.github.io/ecma262/#sec-let-and-const-declarations\n\t Parser.prototype.parseLexicalBinding = function (kind, options) {\n\t var node = this.createNode();\n\t var params = [];\n\t var id = this.parsePattern(params, kind);\n\t if (this.context.strict && id.type === syntax_1.Syntax.Identifier) {\n\t if (this.scanner.isRestrictedWord(id.name)) {\n\t this.tolerateError(messages_1.Messages.StrictVarName);\n\t }\n\t }\n\t var init = null;\n\t if (kind === 'const') {\n\t if (!this.matchKeyword('in') && !this.matchContextualKeyword('of')) {\n\t if (this.match('=')) {\n\t this.nextToken();\n\t init = this.isolateCoverGrammar(this.parseAssignmentExpression);\n\t }\n\t else {\n\t this.throwError(messages_1.Messages.DeclarationMissingInitializer, 'const');\n\t }\n\t }\n\t }\n\t else if ((!options.inFor && id.type !== syntax_1.Syntax.Identifier) || this.match('=')) {\n\t this.expect('=');\n\t init = this.isolateCoverGrammar(this.parseAssignmentExpression);\n\t }\n\t return this.finalize(node, new Node.VariableDeclarator(id, init));\n\t };\n\t Parser.prototype.parseBindingList = function (kind, options) {\n\t var list = [this.parseLexicalBinding(kind, options)];\n\t while (this.match(',')) {\n\t this.nextToken();\n\t list.push(this.parseLexicalBinding(kind, options));\n\t }\n\t return list;\n\t };\n\t Parser.prototype.isLexicalDeclaration = function () {\n\t var state = this.scanner.saveState();\n\t this.scanner.scanComments();\n\t var next = this.scanner.lex();\n\t this.scanner.restoreState(state);\n\t return (next.type === 3 /* Identifier */) ||\n\t (next.type === 7 /* Punctuator */ && next.value === '[') ||\n\t (next.type === 7 /* Punctuator */ && next.value === '{') ||\n\t (next.type === 4 /* Keyword */ && next.value === 'let') ||\n\t (next.type === 4 /* Keyword */ && next.value === 'yield');\n\t };\n\t Parser.prototype.parseLexicalDeclaration = function (options) {\n\t var node = this.createNode();\n\t var kind = this.nextToken().value;\n\t assert_1.assert(kind === 'let' || kind === 'const', 'Lexical declaration must be either let or const');\n\t var declarations = this.parseBindingList(kind, options);\n\t this.consumeSemicolon();\n\t return this.finalize(node, new Node.VariableDeclaration(declarations, kind));\n\t };\n\t // https://tc39.github.io/ecma262/#sec-destructuring-binding-patterns\n\t Parser.prototype.parseBindingRestElement = function (params, kind) {\n\t var node = this.createNode();\n\t this.expect('...');\n\t var arg = this.parsePattern(params, kind);\n\t return this.finalize(node, new Node.RestElement(arg));\n\t };\n\t Parser.prototype.parseArrayPattern = function (params, kind) {\n\t var node = this.createNode();\n\t this.expect('[');\n\t var elements = [];\n\t while (!this.match(']')) {\n\t if (this.match(',')) {\n\t this.nextToken();\n\t elements.push(null);\n\t }\n\t else {\n\t if (this.match('...')) {\n\t elements.push(this.parseBindingRestElement(params, kind));\n\t break;\n\t }\n\t else {\n\t elements.push(this.parsePatternWithDefault(params, kind));\n\t }\n\t if (!this.match(']')) {\n\t this.expect(',');\n\t }\n\t }\n\t }\n\t this.expect(']');\n\t return this.finalize(node, new Node.ArrayPattern(elements));\n\t };\n\t Parser.prototype.parsePropertyPattern = function (params, kind) {\n\t var node = this.createNode();\n\t var computed = false;\n\t var shorthand = false;\n\t var method = false;\n\t var key;\n\t var value;\n\t if (this.lookahead.type === 3 /* Identifier */) {\n\t var keyToken = this.lookahead;\n\t key = this.parseVariableIdentifier();\n\t var init = this.finalize(node, new Node.Identifier(keyToken.value));\n\t if (this.match('=')) {\n\t params.push(keyToken);\n\t shorthand = true;\n\t this.nextToken();\n\t var expr = this.parseAssignmentExpression();\n\t value = this.finalize(this.startNode(keyToken), new Node.AssignmentPattern(init, expr));\n\t }\n\t else if (!this.match(':')) {\n\t params.push(keyToken);\n\t shorthand = true;\n\t value = init;\n\t }\n\t else {\n\t this.expect(':');\n\t value = this.parsePatternWithDefault(params, kind);\n\t }\n\t }\n\t else {\n\t computed = this.match('[');\n\t key = this.parseObjectPropertyKey();\n\t this.expect(':');\n\t value = this.parsePatternWithDefault(params, kind);\n\t }\n\t return this.finalize(node, new Node.Property('init', key, computed, value, method, shorthand));\n\t };\n\t Parser.prototype.parseObjectPattern = function (params, kind) {\n\t var node = this.createNode();\n\t var properties = [];\n\t this.expect('{');\n\t while (!this.match('}')) {\n\t properties.push(this.parsePropertyPattern(params, kind));\n\t if (!this.match('}')) {\n\t this.expect(',');\n\t }\n\t }\n\t this.expect('}');\n\t return this.finalize(node, new Node.ObjectPattern(properties));\n\t };\n\t Parser.prototype.parsePattern = function (params, kind) {\n\t var pattern;\n\t if (this.match('[')) {\n\t pattern = this.parseArrayPattern(params, kind);\n\t }\n\t else if (this.match('{')) {\n\t pattern = this.parseObjectPattern(params, kind);\n\t }\n\t else {\n\t if (this.matchKeyword('let') && (kind === 'const' || kind === 'let')) {\n\t this.tolerateUnexpectedToken(this.lookahead, messages_1.Messages.LetInLexicalBinding);\n\t }\n\t params.push(this.lookahead);\n\t pattern = this.parseVariableIdentifier(kind);\n\t }\n\t return pattern;\n\t };\n\t Parser.prototype.parsePatternWithDefault = function (params, kind) {\n\t var startToken = this.lookahead;\n\t var pattern = this.parsePattern(params, kind);\n\t if (this.match('=')) {\n\t this.nextToken();\n\t var previousAllowYield = this.context.allowYield;\n\t this.context.allowYield = true;\n\t var right = this.isolateCoverGrammar(this.parseAssignmentExpression);\n\t this.context.allowYield = previousAllowYield;\n\t pattern = this.finalize(this.startNode(startToken), new Node.AssignmentPattern(pattern, right));\n\t }\n\t return pattern;\n\t };\n\t // https://tc39.github.io/ecma262/#sec-variable-statement\n\t Parser.prototype.parseVariableIdentifier = function (kind) {\n\t var node = this.createNode();\n\t var token = this.nextToken();\n\t if (token.type === 4 /* Keyword */ && token.value === 'yield') {\n\t if (this.context.strict) {\n\t this.tolerateUnexpectedToken(token, messages_1.Messages.StrictReservedWord);\n\t }\n\t else if (!this.context.allowYield) {\n\t this.throwUnexpectedToken(token);\n\t }\n\t }\n\t else if (token.type !== 3 /* Identifier */) {\n\t if (this.context.strict && token.type === 4 /* Keyword */ && this.scanner.isStrictModeReservedWord(token.value)) {\n\t this.tolerateUnexpectedToken(token, messages_1.Messages.StrictReservedWord);\n\t }\n\t else {\n\t if (this.context.strict || token.value !== 'let' || kind !== 'var') {\n\t this.throwUnexpectedToken(token);\n\t }\n\t }\n\t }\n\t else if ((this.context.isModule || this.context.await) && token.type === 3 /* Identifier */ && token.value === 'await') {\n\t this.tolerateUnexpectedToken(token);\n\t }\n\t return this.finalize(node, new Node.Identifier(token.value));\n\t };\n\t Parser.prototype.parseVariableDeclaration = function (options) {\n\t var node = this.createNode();\n\t var params = [];\n\t var id = this.parsePattern(params, 'var');\n\t if (this.context.strict && id.type === syntax_1.Syntax.Identifier) {\n\t if (this.scanner.isRestrictedWord(id.name)) {\n\t this.tolerateError(messages_1.Messages.StrictVarName);\n\t }\n\t }\n\t var init = null;\n\t if (this.match('=')) {\n\t this.nextToken();\n\t init = this.isolateCoverGrammar(this.parseAssignmentExpression);\n\t }\n\t else if (id.type !== syntax_1.Syntax.Identifier && !options.inFor) {\n\t this.expect('=');\n\t }\n\t return this.finalize(node, new Node.VariableDeclarator(id, init));\n\t };\n\t Parser.prototype.parseVariableDeclarationList = function (options) {\n\t var opt = { inFor: options.inFor };\n\t var list = [];\n\t list.push(this.parseVariableDeclaration(opt));\n\t while (this.match(',')) {\n\t this.nextToken();\n\t list.push(this.parseVariableDeclaration(opt));\n\t }\n\t return list;\n\t };\n\t Parser.prototype.parseVariableStatement = function () {\n\t var node = this.createNode();\n\t this.expectKeyword('var');\n\t var declarations = this.parseVariableDeclarationList({ inFor: false });\n\t this.consumeSemicolon();\n\t return this.finalize(node, new Node.VariableDeclaration(declarations, 'var'));\n\t };\n\t // https://tc39.github.io/ecma262/#sec-empty-statement\n\t Parser.prototype.parseEmptyStatement = function () {\n\t var node = this.createNode();\n\t this.expect(';');\n\t return this.finalize(node, new Node.EmptyStatement());\n\t };\n\t // https://tc39.github.io/ecma262/#sec-expression-statement\n\t Parser.prototype.parseExpressionStatement = function () {\n\t var node = this.createNode();\n\t var expr = this.parseExpression();\n\t this.consumeSemicolon();\n\t return this.finalize(node, new Node.ExpressionStatement(expr));\n\t };\n\t // https://tc39.github.io/ecma262/#sec-if-statement\n\t Parser.prototype.parseIfClause = function () {\n\t if (this.context.strict && this.matchKeyword('function')) {\n\t this.tolerateError(messages_1.Messages.StrictFunction);\n\t }\n\t return this.parseStatement();\n\t };\n\t Parser.prototype.parseIfStatement = function () {\n\t var node = this.createNode();\n\t var consequent;\n\t var alternate = null;\n\t this.expectKeyword('if');\n\t this.expect('(');\n\t var test = this.parseExpression();\n\t if (!this.match(')') && this.config.tolerant) {\n\t this.tolerateUnexpectedToken(this.nextToken());\n\t consequent = this.finalize(this.createNode(), new Node.EmptyStatement());\n\t }\n\t else {\n\t this.expect(')');\n\t consequent = this.parseIfClause();\n\t if (this.matchKeyword('else')) {\n\t this.nextToken();\n\t alternate = this.parseIfClause();\n\t }\n\t }\n\t return this.finalize(node, new Node.IfStatement(test, consequent, alternate));\n\t };\n\t // https://tc39.github.io/ecma262/#sec-do-while-statement\n\t Parser.prototype.parseDoWhileStatement = function () {\n\t var node = this.createNode();\n\t this.expectKeyword('do');\n\t var previousInIteration = this.context.inIteration;\n\t this.context.inIteration = true;\n\t var body = this.parseStatement();\n\t this.context.inIteration = previousInIteration;\n\t this.expectKeyword('while');\n\t this.expect('(');\n\t var test = this.parseExpression();\n\t if (!this.match(')') && this.config.tolerant) {\n\t this.tolerateUnexpectedToken(this.nextToken());\n\t }\n\t else {\n\t this.expect(')');\n\t if (this.match(';')) {\n\t this.nextToken();\n\t }\n\t }\n\t return this.finalize(node, new Node.DoWhileStatement(body, test));\n\t };\n\t // https://tc39.github.io/ecma262/#sec-while-statement\n\t Parser.prototype.parseWhileStatement = function () {\n\t var node = this.createNode();\n\t var body;\n\t this.expectKeyword('while');\n\t this.expect('(');\n\t var test = this.parseExpression();\n\t if (!this.match(')') && this.config.tolerant) {\n\t this.tolerateUnexpectedToken(this.nextToken());\n\t body = this.finalize(this.createNode(), new Node.EmptyStatement());\n\t }\n\t else {\n\t this.expect(')');\n\t var previousInIteration = this.context.inIteration;\n\t this.context.inIteration = true;\n\t body = this.parseStatement();\n\t this.context.inIteration = previousInIteration;\n\t }\n\t return this.finalize(node, new Node.WhileStatement(test, body));\n\t };\n\t // https://tc39.github.io/ecma262/#sec-for-statement\n\t // https://tc39.github.io/ecma262/#sec-for-in-and-for-of-statements\n\t Parser.prototype.parseForStatement = function () {\n\t var init = null;\n\t var test = null;\n\t var update = null;\n\t var forIn = true;\n\t var left, right;\n\t var node = this.createNode();\n\t this.expectKeyword('for');\n\t this.expect('(');\n\t if (this.match(';')) {\n\t this.nextToken();\n\t }\n\t else {\n\t if (this.matchKeyword('var')) {\n\t init = this.createNode();\n\t this.nextToken();\n\t var previousAllowIn = this.context.allowIn;\n\t this.context.allowIn = false;\n\t var declarations = this.parseVariableDeclarationList({ inFor: true });\n\t this.context.allowIn = previousAllowIn;\n\t if (declarations.length === 1 && this.matchKeyword('in')) {\n\t var decl = declarations[0];\n\t if (decl.init && (decl.id.type === syntax_1.Syntax.ArrayPattern || decl.id.type === syntax_1.Syntax.ObjectPattern || this.context.strict)) {\n\t this.tolerateError(messages_1.Messages.ForInOfLoopInitializer, 'for-in');\n\t }\n\t init = this.finalize(init, new Node.VariableDeclaration(declarations, 'var'));\n\t this.nextToken();\n\t left = init;\n\t right = this.parseExpression();\n\t init = null;\n\t }\n\t else if (declarations.length === 1 && declarations[0].init === null && this.matchContextualKeyword('of')) {\n\t init = this.finalize(init, new Node.VariableDeclaration(declarations, 'var'));\n\t this.nextToken();\n\t left = init;\n\t right = this.parseAssignmentExpression();\n\t init = null;\n\t forIn = false;\n\t }\n\t else {\n\t init = this.finalize(init, new Node.VariableDeclaration(declarations, 'var'));\n\t this.expect(';');\n\t }\n\t }\n\t else if (this.matchKeyword('const') || this.matchKeyword('let')) {\n\t init = this.createNode();\n\t var kind = this.nextToken().value;\n\t if (!this.context.strict && this.lookahead.value === 'in') {\n\t init = this.finalize(init, new Node.Identifier(kind));\n\t this.nextToken();\n\t left = init;\n\t right = this.parseExpression();\n\t init = null;\n\t }\n\t else {\n\t var previousAllowIn = this.context.allowIn;\n\t this.context.allowIn = false;\n\t var declarations = this.parseBindingList(kind, { inFor: true });\n\t this.context.allowIn = previousAllowIn;\n\t if (declarations.length === 1 && declarations[0].init === null && this.matchKeyword('in')) {\n\t init = this.finalize(init, new Node.VariableDeclaration(declarations, kind));\n\t this.nextToken();\n\t left = init;\n\t right = this.parseExpression();\n\t init = null;\n\t }\n\t else if (declarations.length === 1 && declarations[0].init === null && this.matchContextualKeyword('of')) {\n\t init = this.finalize(init, new Node.VariableDeclaration(declarations, kind));\n\t this.nextToken();\n\t left = init;\n\t right = this.parseAssignmentExpression();\n\t init = null;\n\t forIn = false;\n\t }\n\t else {\n\t this.consumeSemicolon();\n\t init = this.finalize(init, new Node.VariableDeclaration(declarations, kind));\n\t }\n\t }\n\t }\n\t else {\n\t var initStartToken = this.lookahead;\n\t var previousAllowIn = this.context.allowIn;\n\t this.context.allowIn = false;\n\t init = this.inheritCoverGrammar(this.parseAssignmentExpression);\n\t this.context.allowIn = previousAllowIn;\n\t if (this.matchKeyword('in')) {\n\t if (!this.context.isAssignmentTarget || init.type === syntax_1.Syntax.AssignmentExpression) {\n\t this.tolerateError(messages_1.Messages.InvalidLHSInForIn);\n\t }\n\t this.nextToken();\n\t this.reinterpretExpressionAsPattern(init);\n\t left = init;\n\t right = this.parseExpression();\n\t init = null;\n\t }\n\t else if (this.matchContextualKeyword('of')) {\n\t if (!this.context.isAssignmentTarget || init.type === syntax_1.Syntax.AssignmentExpression) {\n\t this.tolerateError(messages_1.Messages.InvalidLHSInForLoop);\n\t }\n\t this.nextToken();\n\t this.reinterpretExpressionAsPattern(init);\n\t left = init;\n\t right = this.parseAssignmentExpression();\n\t init = null;\n\t forIn = false;\n\t }\n\t else {\n\t if (this.match(',')) {\n\t var initSeq = [init];\n\t while (this.match(',')) {\n\t this.nextToken();\n\t initSeq.push(this.isolateCoverGrammar(this.parseAssignmentExpression));\n\t }\n\t init = this.finalize(this.startNode(initStartToken), new Node.SequenceExpression(initSeq));\n\t }\n\t this.expect(';');\n\t }\n\t }\n\t }\n\t if (typeof left === 'undefined') {\n\t if (!this.match(';')) {\n\t test = this.parseExpression();\n\t }\n\t this.expect(';');\n\t if (!this.match(')')) {\n\t update = this.parseExpression();\n\t }\n\t }\n\t var body;\n\t if (!this.match(')') && this.config.tolerant) {\n\t this.tolerateUnexpectedToken(this.nextToken());\n\t body = this.finalize(this.createNode(), new Node.EmptyStatement());\n\t }\n\t else {\n\t this.expect(')');\n\t var previousInIteration = this.context.inIteration;\n\t this.context.inIteration = true;\n\t body = this.isolateCoverGrammar(this.parseStatement);\n\t this.context.inIteration = previousInIteration;\n\t }\n\t return (typeof left === 'undefined') ?\n\t this.finalize(node, new Node.ForStatement(init, test, update, body)) :\n\t forIn ? this.finalize(node, new Node.ForInStatement(left, right, body)) :\n\t this.finalize(node, new Node.ForOfStatement(left, right, body));\n\t };\n\t // https://tc39.github.io/ecma262/#sec-continue-statement\n\t Parser.prototype.parseContinueStatement = function () {\n\t var node = this.createNode();\n\t this.expectKeyword('continue');\n\t var label = null;\n\t if (this.lookahead.type === 3 /* Identifier */ && !this.hasLineTerminator) {\n\t var id = this.parseVariableIdentifier();\n\t label = id;\n\t var key = '$' + id.name;\n\t if (!Object.prototype.hasOwnProperty.call(this.context.labelSet, key)) {\n\t this.throwError(messages_1.Messages.UnknownLabel, id.name);\n\t }\n\t }\n\t this.consumeSemicolon();\n\t if (label === null && !this.context.inIteration) {\n\t this.throwError(messages_1.Messages.IllegalContinue);\n\t }\n\t return this.finalize(node, new Node.ContinueStatement(label));\n\t };\n\t // https://tc39.github.io/ecma262/#sec-break-statement\n\t Parser.prototype.parseBreakStatement = function () {\n\t var node = this.createNode();\n\t this.expectKeyword('break');\n\t var label = null;\n\t if (this.lookahead.type === 3 /* Identifier */ && !this.hasLineTerminator) {\n\t var id = this.parseVariableIdentifier();\n\t var key = '$' + id.name;\n\t if (!Object.prototype.hasOwnProperty.call(this.context.labelSet, key)) {\n\t this.throwError(messages_1.Messages.UnknownLabel, id.name);\n\t }\n\t label = id;\n\t }\n\t this.consumeSemicolon();\n\t if (label === null && !this.context.inIteration && !this.context.inSwitch) {\n\t this.throwError(messages_1.Messages.IllegalBreak);\n\t }\n\t return this.finalize(node, new Node.BreakStatement(label));\n\t };\n\t // https://tc39.github.io/ecma262/#sec-return-statement\n\t Parser.prototype.parseReturnStatement = function () {\n\t if (!this.context.inFunctionBody) {\n\t this.tolerateError(messages_1.Messages.IllegalReturn);\n\t }\n\t var node = this.createNode();\n\t this.expectKeyword('return');\n\t var hasArgument = (!this.match(';') && !this.match('}') &&\n\t !this.hasLineTerminator && this.lookahead.type !== 2 /* EOF */) ||\n\t this.lookahead.type === 8 /* StringLiteral */ ||\n\t this.lookahead.type === 10 /* Template */;\n\t var argument = hasArgument ? this.parseExpression() : null;\n\t this.consumeSemicolon();\n\t return this.finalize(node, new Node.ReturnStatement(argument));\n\t };\n\t // https://tc39.github.io/ecma262/#sec-with-statement\n\t Parser.prototype.parseWithStatement = function () {\n\t if (this.context.strict) {\n\t this.tolerateError(messages_1.Messages.StrictModeWith);\n\t }\n\t var node = this.createNode();\n\t var body;\n\t this.expectKeyword('with');\n\t this.expect('(');\n\t var object = this.parseExpression();\n\t if (!this.match(')') && this.config.tolerant) {\n\t this.tolerateUnexpectedToken(this.nextToken());\n\t body = this.finalize(this.createNode(), new Node.EmptyStatement());\n\t }\n\t else {\n\t this.expect(')');\n\t body = this.parseStatement();\n\t }\n\t return this.finalize(node, new Node.WithStatement(object, body));\n\t };\n\t // https://tc39.github.io/ecma262/#sec-switch-statement\n\t Parser.prototype.parseSwitchCase = function () {\n\t var node = this.createNode();\n\t var test;\n\t if (this.matchKeyword('default')) {\n\t this.nextToken();\n\t test = null;\n\t }\n\t else {\n\t this.expectKeyword('case');\n\t test = this.parseExpression();\n\t }\n\t this.expect(':');\n\t var consequent = [];\n\t while (true) {\n\t if (this.match('}') || this.matchKeyword('default') || this.matchKeyword('case')) {\n\t break;\n\t }\n\t consequent.push(this.parseStatementListItem());\n\t }\n\t return this.finalize(node, new Node.SwitchCase(test, consequent));\n\t };\n\t Parser.prototype.parseSwitchStatement = function () {\n\t var node = this.createNode();\n\t this.expectKeyword('switch');\n\t this.expect('(');\n\t var discriminant = this.parseExpression();\n\t this.expect(')');\n\t var previousInSwitch = this.context.inSwitch;\n\t this.context.inSwitch = true;\n\t var cases = [];\n\t var defaultFound = false;\n\t this.expect('{');\n\t while (true) {\n\t if (this.match('}')) {\n\t break;\n\t }\n\t var clause = this.parseSwitchCase();\n\t if (clause.test === null) {\n\t if (defaultFound) {\n\t this.throwError(messages_1.Messages.MultipleDefaultsInSwitch);\n\t }\n\t defaultFound = true;\n\t }\n\t cases.push(clause);\n\t }\n\t this.expect('}');\n\t this.context.inSwitch = previousInSwitch;\n\t return this.finalize(node, new Node.SwitchStatement(discriminant, cases));\n\t };\n\t // https://tc39.github.io/ecma262/#sec-labelled-statements\n\t Parser.prototype.parseLabelledStatement = function () {\n\t var node = this.createNode();\n\t var expr = this.parseExpression();\n\t var statement;\n\t if ((expr.type === syntax_1.Syntax.Identifier) && this.match(':')) {\n\t this.nextToken();\n\t var id = expr;\n\t var key = '$' + id.name;\n\t if (Object.prototype.hasOwnProperty.call(this.context.labelSet, key)) {\n\t this.throwError(messages_1.Messages.Redeclaration, 'Label', id.name);\n\t }\n\t this.context.labelSet[key] = true;\n\t var body = void 0;\n\t if (this.matchKeyword('class')) {\n\t this.tolerateUnexpectedToken(this.lookahead);\n\t body = this.parseClassDeclaration();\n\t }\n\t else if (this.matchKeyword('function')) {\n\t var token = this.lookahead;\n\t var declaration = this.parseFunctionDeclaration();\n\t if (this.context.strict) {\n\t this.tolerateUnexpectedToken(token, messages_1.Messages.StrictFunction);\n\t }\n\t else if (declaration.generator) {\n\t this.tolerateUnexpectedToken(token, messages_1.Messages.GeneratorInLegacyContext);\n\t }\n\t body = declaration;\n\t }\n\t else {\n\t body = this.parseStatement();\n\t }\n\t delete this.context.labelSet[key];\n\t statement = new Node.LabeledStatement(id, body);\n\t }\n\t else {\n\t this.consumeSemicolon();\n\t statement = new Node.ExpressionStatement(expr);\n\t }\n\t return this.finalize(node, statement);\n\t };\n\t // https://tc39.github.io/ecma262/#sec-throw-statement\n\t Parser.prototype.parseThrowStatement = function () {\n\t var node = this.createNode();\n\t this.expectKeyword('throw');\n\t if (this.hasLineTerminator) {\n\t this.throwError(messages_1.Messages.NewlineAfterThrow);\n\t }\n\t var argument = this.parseExpression();\n\t this.consumeSemicolon();\n\t return this.finalize(node, new Node.ThrowStatement(argument));\n\t };\n\t // https://tc39.github.io/ecma262/#sec-try-statement\n\t Parser.prototype.parseCatchClause = function () {\n\t var node = this.createNode();\n\t this.expectKeyword('catch');\n\t this.expect('(');\n\t if (this.match(')')) {\n\t this.throwUnexpectedToken(this.lookahead);\n\t }\n\t var params = [];\n\t var param = this.parsePattern(params);\n\t var paramMap = {};\n\t for (var i = 0; i < params.length; i++) {\n\t var key = '$' + params[i].value;\n\t if (Object.prototype.hasOwnProperty.call(paramMap, key)) {\n\t this.tolerateError(messages_1.Messages.DuplicateBinding, params[i].value);\n\t }\n\t paramMap[key] = true;\n\t }\n\t if (this.context.strict && param.type === syntax_1.Syntax.Identifier) {\n\t if (this.scanner.isRestrictedWord(param.name)) {\n\t this.tolerateError(messages_1.Messages.StrictCatchVariable);\n\t }\n\t }\n\t this.expect(')');\n\t var body = this.parseBlock();\n\t return this.finalize(node, new Node.CatchClause(param, body));\n\t };\n\t Parser.prototype.parseFinallyClause = function () {\n\t this.expectKeyword('finally');\n\t return this.parseBlock();\n\t };\n\t Parser.prototype.parseTryStatement = function () {\n\t var node = this.createNode();\n\t this.expectKeyword('try');\n\t var block = this.parseBlock();\n\t var handler = this.matchKeyword('catch') ? this.parseCatchClause() : null;\n\t var finalizer = this.matchKeyword('finally') ? this.parseFinallyClause() : null;\n\t if (!handler && !finalizer) {\n\t this.throwError(messages_1.Messages.NoCatchOrFinally);\n\t }\n\t return this.finalize(node, new Node.TryStatement(block, handler, finalizer));\n\t };\n\t // https://tc39.github.io/ecma262/#sec-debugger-statement\n\t Parser.prototype.parseDebuggerStatement = function () {\n\t var node = this.createNode();\n\t this.expectKeyword('debugger');\n\t this.consumeSemicolon();\n\t return this.finalize(node, new Node.DebuggerStatement());\n\t };\n\t // https://tc39.github.io/ecma262/#sec-ecmascript-language-statements-and-declarations\n\t Parser.prototype.parseStatement = function () {\n\t var statement;\n\t switch (this.lookahead.type) {\n\t case 1 /* BooleanLiteral */:\n\t case 5 /* NullLiteral */:\n\t case 6 /* NumericLiteral */:\n\t case 8 /* StringLiteral */:\n\t case 10 /* Template */:\n\t case 9 /* RegularExpression */:\n\t statement = this.parseExpressionStatement();\n\t break;\n\t case 7 /* Punctuator */:\n\t var value = this.lookahead.value;\n\t if (value === '{') {\n\t statement = this.parseBlock();\n\t }\n\t else if (value === '(') {\n\t statement = this.parseExpressionStatement();\n\t }\n\t else if (value === ';') {\n\t statement = this.parseEmptyStatement();\n\t }\n\t else {\n\t statement = this.parseExpressionStatement();\n\t }\n\t break;\n\t case 3 /* Identifier */:\n\t statement = this.matchAsyncFunction() ? this.parseFunctionDeclaration() : this.parseLabelledStatement();\n\t break;\n\t case 4 /* Keyword */:\n\t switch (this.lookahead.value) {\n\t case 'break':\n\t statement = this.parseBreakStatement();\n\t break;\n\t case 'continue':\n\t statement = this.parseContinueStatement();\n\t break;\n\t case 'debugger':\n\t statement = this.parseDebuggerStatement();\n\t break;\n\t case 'do':\n\t statement = this.parseDoWhileStatement();\n\t break;\n\t case 'for':\n\t statement = this.parseForStatement();\n\t break;\n\t case 'function':\n\t statement = this.parseFunctionDeclaration();\n\t break;\n\t case 'if':\n\t statement = this.parseIfStatement();\n\t break;\n\t case 'return':\n\t statement = this.parseReturnStatement();\n\t break;\n\t case 'switch':\n\t statement = this.parseSwitchStatement();\n\t break;\n\t case 'throw':\n\t statement = this.parseThrowStatement();\n\t break;\n\t case 'try':\n\t statement = this.parseTryStatement();\n\t break;\n\t case 'var':\n\t statement = this.parseVariableStatement();\n\t break;\n\t case 'while':\n\t statement = this.parseWhileStatement();\n\t break;\n\t case 'with':\n\t statement = this.parseWithStatement();\n\t break;\n\t default:\n\t statement = this.parseExpressionStatement();\n\t break;\n\t }\n\t break;\n\t default:\n\t statement = this.throwUnexpectedToken(this.lookahead);\n\t }\n\t return statement;\n\t };\n\t // https://tc39.github.io/ecma262/#sec-function-definitions\n\t Parser.prototype.parseFunctionSourceElements = function () {\n\t var node = this.createNode();\n\t this.expect('{');\n\t var body = this.parseDirectivePrologues();\n\t var previousLabelSet = this.context.labelSet;\n\t var previousInIteration = this.context.inIteration;\n\t var previousInSwitch = this.context.inSwitch;\n\t var previousInFunctionBody = this.context.inFunctionBody;\n\t this.context.labelSet = {};\n\t this.context.inIteration = false;\n\t this.context.inSwitch = false;\n\t this.context.inFunctionBody = true;\n\t while (this.lookahead.type !== 2 /* EOF */) {\n\t if (this.match('}')) {\n\t break;\n\t }\n\t body.push(this.parseStatementListItem());\n\t }\n\t this.expect('}');\n\t this.context.labelSet = previousLabelSet;\n\t this.context.inIteration = previousInIteration;\n\t this.context.inSwitch = previousInSwitch;\n\t this.context.inFunctionBody = previousInFunctionBody;\n\t return this.finalize(node, new Node.BlockStatement(body));\n\t };\n\t Parser.prototype.validateParam = function (options, param, name) {\n\t var key = '$' + name;\n\t if (this.context.strict) {\n\t if (this.scanner.isRestrictedWord(name)) {\n\t options.stricted = param;\n\t options.message = messages_1.Messages.StrictParamName;\n\t }\n\t if (Object.prototype.hasOwnProperty.call(options.paramSet, key)) {\n\t options.stricted = param;\n\t options.message = messages_1.Messages.StrictParamDupe;\n\t }\n\t }\n\t else if (!options.firstRestricted) {\n\t if (this.scanner.isRestrictedWord(name)) {\n\t options.firstRestricted = param;\n\t options.message = messages_1.Messages.StrictParamName;\n\t }\n\t else if (this.scanner.isStrictModeReservedWord(name)) {\n\t options.firstRestricted = param;\n\t options.message = messages_1.Messages.StrictReservedWord;\n\t }\n\t else if (Object.prototype.hasOwnProperty.call(options.paramSet, key)) {\n\t options.stricted = param;\n\t options.message = messages_1.Messages.StrictParamDupe;\n\t }\n\t }\n\t /* istanbul ignore next */\n\t if (typeof Object.defineProperty === 'function') {\n\t Object.defineProperty(options.paramSet, key, { value: true, enumerable: true, writable: true, configurable: true });\n\t }\n\t else {\n\t options.paramSet[key] = true;\n\t }\n\t };\n\t Parser.prototype.parseRestElement = function (params) {\n\t var node = this.createNode();\n\t this.expect('...');\n\t var arg = this.parsePattern(params);\n\t if (this.match('=')) {\n\t this.throwError(messages_1.Messages.DefaultRestParameter);\n\t }\n\t if (!this.match(')')) {\n\t this.throwError(messages_1.Messages.ParameterAfterRestParameter);\n\t }\n\t return this.finalize(node, new Node.RestElement(arg));\n\t };\n\t Parser.prototype.parseFormalParameter = function (options) {\n\t var params = [];\n\t var param = this.match('...') ? this.parseRestElement(params) : this.parsePatternWithDefault(params);\n\t for (var i = 0; i < params.length; i++) {\n\t this.validateParam(options, params[i], params[i].value);\n\t }\n\t options.simple = options.simple && (param instanceof Node.Identifier);\n\t options.params.push(param);\n\t };\n\t Parser.prototype.parseFormalParameters = function (firstRestricted) {\n\t var options;\n\t options = {\n\t simple: true,\n\t params: [],\n\t firstRestricted: firstRestricted\n\t };\n\t this.expect('(');\n\t if (!this.match(')')) {\n\t options.paramSet = {};\n\t while (this.lookahead.type !== 2 /* EOF */) {\n\t this.parseFormalParameter(options);\n\t if (this.match(')')) {\n\t break;\n\t }\n\t this.expect(',');\n\t if (this.match(')')) {\n\t break;\n\t }\n\t }\n\t }\n\t this.expect(')');\n\t return {\n\t simple: options.simple,\n\t params: options.params,\n\t stricted: options.stricted,\n\t firstRestricted: options.firstRestricted,\n\t message: options.message\n\t };\n\t };\n\t Parser.prototype.matchAsyncFunction = function () {\n\t var match = this.matchContextualKeyword('async');\n\t if (match) {\n\t var state = this.scanner.saveState();\n\t this.scanner.scanComments();\n\t var next = this.scanner.lex();\n\t this.scanner.restoreState(state);\n\t match = (state.lineNumber === next.lineNumber) && (next.type === 4 /* Keyword */) && (next.value === 'function');\n\t }\n\t return match;\n\t };\n\t Parser.prototype.parseFunctionDeclaration = function (identifierIsOptional) {\n\t var node = this.createNode();\n\t var isAsync = this.matchContextualKeyword('async');\n\t if (isAsync) {\n\t this.nextToken();\n\t }\n\t this.expectKeyword('function');\n\t var isGenerator = isAsync ? false : this.match('*');\n\t if (isGenerator) {\n\t this.nextToken();\n\t }\n\t var message;\n\t var id = null;\n\t var firstRestricted = null;\n\t if (!identifierIsOptional || !this.match('(')) {\n\t var token = this.lookahead;\n\t id = this.parseVariableIdentifier();\n\t if (this.context.strict) {\n\t if (this.scanner.isRestrictedWord(token.value)) {\n\t this.tolerateUnexpectedToken(token, messages_1.Messages.StrictFunctionName);\n\t }\n\t }\n\t else {\n\t if (this.scanner.isRestrictedWord(token.value)) {\n\t firstRestricted = token;\n\t message = messages_1.Messages.StrictFunctionName;\n\t }\n\t else if (this.scanner.isStrictModeReservedWord(token.value)) {\n\t firstRestricted = token;\n\t message = messages_1.Messages.StrictReservedWord;\n\t }\n\t }\n\t }\n\t var previousAllowAwait = this.context.await;\n\t var previousAllowYield = this.context.allowYield;\n\t this.context.await = isAsync;\n\t this.context.allowYield = !isGenerator;\n\t var formalParameters = this.parseFormalParameters(firstRestricted);\n\t var params = formalParameters.params;\n\t var stricted = formalParameters.stricted;\n\t firstRestricted = formalParameters.firstRestricted;\n\t if (formalParameters.message) {\n\t message = formalParameters.message;\n\t }\n\t var previousStrict = this.context.strict;\n\t var previousAllowStrictDirective = this.context.allowStrictDirective;\n\t this.context.allowStrictDirective = formalParameters.simple;\n\t var body = this.parseFunctionSourceElements();\n\t if (this.context.strict && firstRestricted) {\n\t this.throwUnexpectedToken(firstRestricted, message);\n\t }\n\t if (this.context.strict && stricted) {\n\t this.tolerateUnexpectedToken(stricted, message);\n\t }\n\t this.context.strict = previousStrict;\n\t this.context.allowStrictDirective = previousAllowStrictDirective;\n\t this.context.await = previousAllowAwait;\n\t this.context.allowYield = previousAllowYield;\n\t return isAsync ? this.finalize(node, new Node.AsyncFunctionDeclaration(id, params, body)) :\n\t this.finalize(node, new Node.FunctionDeclaration(id, params, body, isGenerator));\n\t };\n\t Parser.prototype.parseFunctionExpression = function () {\n\t var node = this.createNode();\n\t var isAsync = this.matchContextualKeyword('async');\n\t if (isAsync) {\n\t this.nextToken();\n\t }\n\t this.expectKeyword('function');\n\t var isGenerator = isAsync ? false : this.match('*');\n\t if (isGenerator) {\n\t this.nextToken();\n\t }\n\t var message;\n\t var id = null;\n\t var firstRestricted;\n\t var previousAllowAwait = this.context.await;\n\t var previousAllowYield = this.context.allowYield;\n\t this.context.await = isAsync;\n\t this.context.allowYield = !isGenerator;\n\t if (!this.match('(')) {\n\t var token = this.lookahead;\n\t id = (!this.context.strict && !isGenerator && this.matchKeyword('yield')) ? this.parseIdentifierName() : this.parseVariableIdentifier();\n\t if (this.context.strict) {\n\t if (this.scanner.isRestrictedWord(token.value)) {\n\t this.tolerateUnexpectedToken(token, messages_1.Messages.StrictFunctionName);\n\t }\n\t }\n\t else {\n\t if (this.scanner.isRestrictedWord(token.value)) {\n\t firstRestricted = token;\n\t message = messages_1.Messages.StrictFunctionName;\n\t }\n\t else if (this.scanner.isStrictModeReservedWord(token.value)) {\n\t firstRestricted = token;\n\t message = messages_1.Messages.StrictReservedWord;\n\t }\n\t }\n\t }\n\t var formalParameters = this.parseFormalParameters(firstRestricted);\n\t var params = formalParameters.params;\n\t var stricted = formalParameters.stricted;\n\t firstRestricted = formalParameters.firstRestricted;\n\t if (formalParameters.message) {\n\t message = formalParameters.message;\n\t }\n\t var previousStrict = this.context.strict;\n\t var previousAllowStrictDirective = this.context.allowStrictDirective;\n\t this.context.allowStrictDirective = formalParameters.simple;\n\t var body = this.parseFunctionSourceElements();\n\t if (this.context.strict && firstRestricted) {\n\t this.throwUnexpectedToken(firstRestricted, message);\n\t }\n\t if (this.context.strict && stricted) {\n\t this.tolerateUnexpectedToken(stricted, message);\n\t }\n\t this.context.strict = previousStrict;\n\t this.context.allowStrictDirective = previousAllowStrictDirective;\n\t this.context.await = previousAllowAwait;\n\t this.context.allowYield = previousAllowYield;\n\t return isAsync ? this.finalize(node, new Node.AsyncFunctionExpression(id, params, body)) :\n\t this.finalize(node, new Node.FunctionExpression(id, params, body, isGenerator));\n\t };\n\t // https://tc39.github.io/ecma262/#sec-directive-prologues-and-the-use-strict-directive\n\t Parser.prototype.parseDirective = function () {\n\t var token = this.lookahead;\n\t var node = this.createNode();\n\t var expr = this.parseExpression();\n\t var directive = (expr.type === syntax_1.Syntax.Literal) ? this.getTokenRaw(token).slice(1, -1) : null;\n\t this.consumeSemicolon();\n\t return this.finalize(node, directive ? new Node.Directive(expr, directive) : new Node.ExpressionStatement(expr));\n\t };\n\t Parser.prototype.parseDirectivePrologues = function () {\n\t var firstRestricted = null;\n\t var body = [];\n\t while (true) {\n\t var token = this.lookahead;\n\t if (token.type !== 8 /* StringLiteral */) {\n\t break;\n\t }\n\t var statement = this.parseDirective();\n\t body.push(statement);\n\t var directive = statement.directive;\n\t if (typeof directive !== 'string') {\n\t break;\n\t }\n\t if (directive === 'use strict') {\n\t this.context.strict = true;\n\t if (firstRestricted) {\n\t this.tolerateUnexpectedToken(firstRestricted, messages_1.Messages.StrictOctalLiteral);\n\t }\n\t if (!this.context.allowStrictDirective) {\n\t this.tolerateUnexpectedToken(token, messages_1.Messages.IllegalLanguageModeDirective);\n\t }\n\t }\n\t else {\n\t if (!firstRestricted && token.octal) {\n\t firstRestricted = token;\n\t }\n\t }\n\t }\n\t return body;\n\t };\n\t // https://tc39.github.io/ecma262/#sec-method-definitions\n\t Parser.prototype.qualifiedPropertyName = function (token) {\n\t switch (token.type) {\n\t case 3 /* Identifier */:\n\t case 8 /* StringLiteral */:\n\t case 1 /* BooleanLiteral */:\n\t case 5 /* NullLiteral */:\n\t case 6 /* NumericLiteral */:\n\t case 4 /* Keyword */:\n\t return true;\n\t case 7 /* Punctuator */:\n\t return token.value === '[';\n\t default:\n\t break;\n\t }\n\t return false;\n\t };\n\t Parser.prototype.parseGetterMethod = function () {\n\t var node = this.createNode();\n\t var isGenerator = false;\n\t var previousAllowYield = this.context.allowYield;\n\t this.context.allowYield = !isGenerator;\n\t var formalParameters = this.parseFormalParameters();\n\t if (formalParameters.params.length > 0) {\n\t this.tolerateError(messages_1.Messages.BadGetterArity);\n\t }\n\t var method = this.parsePropertyMethod(formalParameters);\n\t this.context.allowYield = previousAllowYield;\n\t return this.finalize(node, new Node.FunctionExpression(null, formalParameters.params, method, isGenerator));\n\t };\n\t Parser.prototype.parseSetterMethod = function () {\n\t var node = this.createNode();\n\t var isGenerator = false;\n\t var previousAllowYield = this.context.allowYield;\n\t this.context.allowYield = !isGenerator;\n\t var formalParameters = this.parseFormalParameters();\n\t if (formalParameters.params.length !== 1) {\n\t this.tolerateError(messages_1.Messages.BadSetterArity);\n\t }\n\t else if (formalParameters.params[0] instanceof Node.RestElement) {\n\t this.tolerateError(messages_1.Messages.BadSetterRestParameter);\n\t }\n\t var method = this.parsePropertyMethod(formalParameters);\n\t this.context.allowYield = previousAllowYield;\n\t return this.finalize(node, new Node.FunctionExpression(null, formalParameters.params, method, isGenerator));\n\t };\n\t Parser.prototype.parseGeneratorMethod = function () {\n\t var node = this.createNode();\n\t var isGenerator = true;\n\t var previousAllowYield = this.context.allowYield;\n\t this.context.allowYield = true;\n\t var params = this.parseFormalParameters();\n\t this.context.allowYield = false;\n\t var method = this.parsePropertyMethod(params);\n\t this.context.allowYield = previousAllowYield;\n\t return this.finalize(node, new Node.FunctionExpression(null, params.params, method, isGenerator));\n\t };\n\t // https://tc39.github.io/ecma262/#sec-generator-function-definitions\n\t Parser.prototype.isStartOfExpression = function () {\n\t var start = true;\n\t var value = this.lookahead.value;\n\t switch (this.lookahead.type) {\n\t case 7 /* Punctuator */:\n\t start = (value === '[') || (value === '(') || (value === '{') ||\n\t (value === '+') || (value === '-') ||\n\t (value === '!') || (value === '~') ||\n\t (value === '++') || (value === '--') ||\n\t (value === '/') || (value === '/='); // regular expression literal\n\t break;\n\t case 4 /* Keyword */:\n\t start = (value === 'class') || (value === 'delete') ||\n\t (value === 'function') || (value === 'let') || (value === 'new') ||\n\t (value === 'super') || (value === 'this') || (value === 'typeof') ||\n\t (value === 'void') || (value === 'yield');\n\t break;\n\t default:\n\t break;\n\t }\n\t return start;\n\t };\n\t Parser.prototype.parseYieldExpression = function () {\n\t var node = this.createNode();\n\t this.expectKeyword('yield');\n\t var argument = null;\n\t var delegate = false;\n\t if (!this.hasLineTerminator) {\n\t var previousAllowYield = this.context.allowYield;\n\t this.context.allowYield = false;\n\t delegate = this.match('*');\n\t if (delegate) {\n\t this.nextToken();\n\t argument = this.parseAssignmentExpression();\n\t }\n\t else if (this.isStartOfExpression()) {\n\t argument = this.parseAssignmentExpression();\n\t }\n\t this.context.allowYield = previousAllowYield;\n\t }\n\t return this.finalize(node, new Node.YieldExpression(argument, delegate));\n\t };\n\t // https://tc39.github.io/ecma262/#sec-class-definitions\n\t Parser.prototype.parseClassElement = function (hasConstructor) {\n\t var token = this.lookahead;\n\t var node = this.createNode();\n\t var kind = '';\n\t var key = null;\n\t var value = null;\n\t var computed = false;\n\t var method = false;\n\t var isStatic = false;\n\t var isAsync = false;\n\t if (this.match('*')) {\n\t this.nextToken();\n\t }\n\t else {\n\t computed = this.match('[');\n\t key = this.parseObjectPropertyKey();\n\t var id = key;\n\t if (id.name === 'static' && (this.qualifiedPropertyName(this.lookahead) || this.match('*'))) {\n\t token = this.lookahead;\n\t isStatic = true;\n\t computed = this.match('[');\n\t if (this.match('*')) {\n\t this.nextToken();\n\t }\n\t else {\n\t key = this.parseObjectPropertyKey();\n\t }\n\t }\n\t if ((token.type === 3 /* Identifier */) && !this.hasLineTerminator && (token.value === 'async')) {\n\t var punctuator = this.lookahead.value;\n\t if (punctuator !== ':' && punctuator !== '(' && punctuator !== '*') {\n\t isAsync = true;\n\t token = this.lookahead;\n\t key = this.parseObjectPropertyKey();\n\t if (token.type === 3 /* Identifier */ && token.value === 'constructor') {\n\t this.tolerateUnexpectedToken(token, messages_1.Messages.ConstructorIsAsync);\n\t }\n\t }\n\t }\n\t }\n\t var lookaheadPropertyKey = this.qualifiedPropertyName(this.lookahead);\n\t if (token.type === 3 /* Identifier */) {\n\t if (token.value === 'get' && lookaheadPropertyKey) {\n\t kind = 'get';\n\t computed = this.match('[');\n\t key = this.parseObjectPropertyKey();\n\t this.context.allowYield = false;\n\t value = this.parseGetterMethod();\n\t }\n\t else if (token.value === 'set' && lookaheadPropertyKey) {\n\t kind = 'set';\n\t computed = this.match('[');\n\t key = this.parseObjectPropertyKey();\n\t value = this.parseSetterMethod();\n\t }\n\t }\n\t else if (token.type === 7 /* Punctuator */ && token.value === '*' && lookaheadPropertyKey) {\n\t kind = 'init';\n\t computed = this.match('[');\n\t key = this.parseObjectPropertyKey();\n\t value = this.parseGeneratorMethod();\n\t method = true;\n\t }\n\t if (!kind && key && this.match('(')) {\n\t kind = 'init';\n\t value = isAsync ? this.parsePropertyMethodAsyncFunction() : this.parsePropertyMethodFunction();\n\t method = true;\n\t }\n\t if (!kind) {\n\t this.throwUnexpectedToken(this.lookahead);\n\t }\n\t if (kind === 'init') {\n\t kind = 'method';\n\t }\n\t if (!computed) {\n\t if (isStatic && this.isPropertyKey(key, 'prototype')) {\n\t this.throwUnexpectedToken(token, messages_1.Messages.StaticPrototype);\n\t }\n\t if (!isStatic && this.isPropertyKey(key, 'constructor')) {\n\t if (kind !== 'method' || !method || (value && value.generator)) {\n\t this.throwUnexpectedToken(token, messages_1.Messages.ConstructorSpecialMethod);\n\t }\n\t if (hasConstructor.value) {\n\t this.throwUnexpectedToken(token, messages_1.Messages.DuplicateConstructor);\n\t }\n\t else {\n\t hasConstructor.value = true;\n\t }\n\t kind = 'constructor';\n\t }\n\t }\n\t return this.finalize(node, new Node.MethodDefinition(key, computed, value, kind, isStatic));\n\t };\n\t Parser.prototype.parseClassElementList = function () {\n\t var body = [];\n\t var hasConstructor = { value: false };\n\t this.expect('{');\n\t while (!this.match('}')) {\n\t if (this.match(';')) {\n\t this.nextToken();\n\t }\n\t else {\n\t body.push(this.parseClassElement(hasConstructor));\n\t }\n\t }\n\t this.expect('}');\n\t return body;\n\t };\n\t Parser.prototype.parseClassBody = function () {\n\t var node = this.createNode();\n\t var elementList = this.parseClassElementList();\n\t return this.finalize(node, new Node.ClassBody(elementList));\n\t };\n\t Parser.prototype.parseClassDeclaration = function (identifierIsOptional) {\n\t var node = this.createNode();\n\t var previousStrict = this.context.strict;\n\t this.context.strict = true;\n\t this.expectKeyword('class');\n\t var id = (identifierIsOptional && (this.lookahead.type !== 3 /* Identifier */)) ? null : this.parseVariableIdentifier();\n\t var superClass = null;\n\t if (this.matchKeyword('extends')) {\n\t this.nextToken();\n\t superClass = this.isolateCoverGrammar(this.parseLeftHandSideExpressionAllowCall);\n\t }\n\t var classBody = this.parseClassBody();\n\t this.context.strict = previousStrict;\n\t return this.finalize(node, new Node.ClassDeclaration(id, superClass, classBody));\n\t };\n\t Parser.prototype.parseClassExpression = function () {\n\t var node = this.createNode();\n\t var previousStrict = this.context.strict;\n\t this.context.strict = true;\n\t this.expectKeyword('class');\n\t var id = (this.lookahead.type === 3 /* Identifier */) ? this.parseVariableIdentifier() : null;\n\t var superClass = null;\n\t if (this.matchKeyword('extends')) {\n\t this.nextToken();\n\t superClass = this.isolateCoverGrammar(this.parseLeftHandSideExpressionAllowCall);\n\t }\n\t var classBody = this.parseClassBody();\n\t this.context.strict = previousStrict;\n\t return this.finalize(node, new Node.ClassExpression(id, superClass, classBody));\n\t };\n\t // https://tc39.github.io/ecma262/#sec-scripts\n\t // https://tc39.github.io/ecma262/#sec-modules\n\t Parser.prototype.parseModule = function () {\n\t this.context.strict = true;\n\t this.context.isModule = true;\n\t this.scanner.isModule = true;\n\t var node = this.createNode();\n\t var body = this.parseDirectivePrologues();\n\t while (this.lookahead.type !== 2 /* EOF */) {\n\t body.push(this.parseStatementListItem());\n\t }\n\t return this.finalize(node, new Node.Module(body));\n\t };\n\t Parser.prototype.parseScript = function () {\n\t var node = this.createNode();\n\t var body = this.parseDirectivePrologues();\n\t while (this.lookahead.type !== 2 /* EOF */) {\n\t body.push(this.parseStatementListItem());\n\t }\n\t return this.finalize(node, new Node.Script(body));\n\t };\n\t // https://tc39.github.io/ecma262/#sec-imports\n\t Parser.prototype.parseModuleSpecifier = function () {\n\t var node = this.createNode();\n\t if (this.lookahead.type !== 8 /* StringLiteral */) {\n\t this.throwError(messages_1.Messages.InvalidModuleSpecifier);\n\t }\n\t var token = this.nextToken();\n\t var raw = this.getTokenRaw(token);\n\t return this.finalize(node, new Node.Literal(token.value, raw));\n\t };\n\t // import {<foo as bar>} ...;\n\t Parser.prototype.parseImportSpecifier = function () {\n\t var node = this.createNode();\n\t var imported;\n\t var local;\n\t if (this.lookahead.type === 3 /* Identifier */) {\n\t imported = this.parseVariableIdentifier();\n\t local = imported;\n\t if (this.matchContextualKeyword('as')) {\n\t this.nextToken();\n\t local = this.parseVariableIdentifier();\n\t }\n\t }\n\t else {\n\t imported = this.parseIdentifierName();\n\t local = imported;\n\t if (this.matchContextualKeyword('as')) {\n\t this.nextToken();\n\t local = this.parseVariableIdentifier();\n\t }\n\t else {\n\t this.throwUnexpectedToken(this.nextToken());\n\t }\n\t }\n\t return this.finalize(node, new Node.ImportSpecifier(local, imported));\n\t };\n\t // {foo, bar as bas}\n\t Parser.prototype.parseNamedImports = function () {\n\t this.expect('{');\n\t var specifiers = [];\n\t while (!this.match('}')) {\n\t specifiers.push(this.parseImportSpecifier());\n\t if (!this.match('}')) {\n\t this.expect(',');\n\t }\n\t }\n\t this.expect('}');\n\t return specifiers;\n\t };\n\t // import <foo> ...;\n\t Parser.prototype.parseImportDefaultSpecifier = function () {\n\t var node = this.createNode();\n\t var local = this.parseIdentifierName();\n\t return this.finalize(node, new Node.ImportDefaultSpecifier(local));\n\t };\n\t // import <* as foo> ...;\n\t Parser.prototype.parseImportNamespaceSpecifier = function () {\n\t var node = this.createNode();\n\t this.expect('*');\n\t if (!this.matchContextualKeyword('as')) {\n\t this.throwError(messages_1.Messages.NoAsAfterImportNamespace);\n\t }\n\t this.nextToken();\n\t var local = this.parseIdentifierName();\n\t return this.finalize(node, new Node.ImportNamespaceSpecifier(local));\n\t };\n\t Parser.prototype.parseImportDeclaration = function () {\n\t if (this.context.inFunctionBody) {\n\t this.throwError(messages_1.Messages.IllegalImportDeclaration);\n\t }\n\t var node = this.createNode();\n\t this.expectKeyword('import');\n\t var src;\n\t var specifiers = [];\n\t if (this.lookahead.type === 8 /* StringLiteral */) {\n\t // import 'foo';\n\t src = this.parseModuleSpecifier();\n\t }\n\t else {\n\t if (this.match('{')) {\n\t // import {bar}\n\t specifiers = specifiers.concat(this.parseNamedImports());\n\t }\n\t else if (this.match('*')) {\n\t // import * as foo\n\t specifiers.push(this.parseImportNamespaceSpecifier());\n\t }\n\t else if (this.isIdentifierName(this.lookahead) && !this.matchKeyword('default')) {\n\t // import foo\n\t specifiers.push(this.parseImportDefaultSpecifier());\n\t if (this.match(',')) {\n\t this.nextToken();\n\t if (this.match('*')) {\n\t // import foo, * as foo\n\t specifiers.push(this.parseImportNamespaceSpecifier());\n\t }\n\t else if (this.match('{')) {\n\t // import foo, {bar}\n\t specifiers = specifiers.concat(this.parseNamedImports());\n\t }\n\t else {\n\t this.throwUnexpectedToken(this.lookahead);\n\t }\n\t }\n\t }\n\t else {\n\t this.throwUnexpectedToken(this.nextToken());\n\t }\n\t if (!this.matchContextualKeyword('from')) {\n\t var message = this.lookahead.value ? messages_1.Messages.UnexpectedToken : messages_1.Messages.MissingFromClause;\n\t this.throwError(message, this.lookahead.value);\n\t }\n\t this.nextToken();\n\t src = this.parseModuleSpecifier();\n\t }\n\t this.consumeSemicolon();\n\t return this.finalize(node, new Node.ImportDeclaration(specifiers, src));\n\t };\n\t // https://tc39.github.io/ecma262/#sec-exports\n\t Parser.prototype.parseExportSpecifier = function () {\n\t var node = this.createNode();\n\t var local = this.parseIdentifierName();\n\t var exported = local;\n\t if (this.matchContextualKeyword('as')) {\n\t this.nextToken();\n\t exported = this.parseIdentifierName();\n\t }\n\t return this.finalize(node, new Node.ExportSpecifier(local, exported));\n\t };\n\t Parser.prototype.parseExportDeclaration = function () {\n\t if (this.context.inFunctionBody) {\n\t this.throwError(messages_1.Messages.IllegalExportDeclaration);\n\t }\n\t var node = this.createNode();\n\t this.expectKeyword('export');\n\t var exportDeclaration;\n\t if (this.matchKeyword('default')) {\n\t // export default ...\n\t this.nextToken();\n\t if (this.matchKeyword('function')) {\n\t // export default function foo () {}\n\t // export default function () {}\n\t var declaration = this.parseFunctionDeclaration(true);\n\t exportDeclaration = this.finalize(node, new Node.ExportDefaultDeclaration(declaration));\n\t }\n\t else if (this.matchKeyword('class')) {\n\t // export default class foo {}\n\t var declaration = this.parseClassDeclaration(true);\n\t exportDeclaration = this.finalize(node, new Node.ExportDefaultDeclaration(declaration));\n\t }\n\t else if (this.matchContextualKeyword('async')) {\n\t // export default async function f () {}\n\t // export default async function () {}\n\t // export default async x => x\n\t var declaration = this.matchAsyncFunction() ? this.parseFunctionDeclaration(true) : this.parseAssignmentExpression();\n\t exportDeclaration = this.finalize(node, new Node.ExportDefaultDeclaration(declaration));\n\t }\n\t else {\n\t if (this.matchContextualKeyword('from')) {\n\t this.throwError(messages_1.Messages.UnexpectedToken, this.lookahead.value);\n\t }\n\t // export default {};\n\t // export default [];\n\t // export default (1 + 2);\n\t var declaration = this.match('{') ? this.parseObjectInitializer() :\n\t this.match('[') ? this.parseArrayInitializer() : this.parseAssignmentExpression();\n\t this.consumeSemicolon();\n\t exportDeclaration = this.finalize(node, new Node.ExportDefaultDeclaration(declaration));\n\t }\n\t }\n\t else if (this.match('*')) {\n\t // export * from 'foo';\n\t this.nextToken();\n\t if (!this.matchContextualKeyword('from')) {\n\t var message = this.lookahead.value ? messages_1.Messages.UnexpectedToken : messages_1.Messages.MissingFromClause;\n\t this.throwError(message, this.lookahead.value);\n\t }\n\t this.nextToken();\n\t var src = this.parseModuleSpecifier();\n\t this.consumeSemicolon();\n\t exportDeclaration = this.finalize(node, new Node.ExportAllDeclaration(src));\n\t }\n\t else if (this.lookahead.type === 4 /* Keyword */) {\n\t // export var f = 1;\n\t var declaration = void 0;\n\t switch (this.lookahead.value) {\n\t case 'let':\n\t case 'const':\n\t declaration = this.parseLexicalDeclaration({ inFor: false });\n\t break;\n\t case 'var':\n\t case 'class':\n\t case 'function':\n\t declaration = this.parseStatementListItem();\n\t break;\n\t default:\n\t this.throwUnexpectedToken(this.lookahead);\n\t }\n\t exportDeclaration = this.finalize(node, new Node.ExportNamedDeclaration(declaration, [], null));\n\t }\n\t else if (this.matchAsyncFunction()) {\n\t var declaration = this.parseFunctionDeclaration();\n\t exportDeclaration = this.finalize(node, new Node.ExportNamedDeclaration(declaration, [], null));\n\t }\n\t else {\n\t var specifiers = [];\n\t var source = null;\n\t var isExportFromIdentifier = false;\n\t this.expect('{');\n\t while (!this.match('}')) {\n\t isExportFromIdentifier = isExportFromIdentifier || this.matchKeyword('default');\n\t specifiers.push(this.parseExportSpecifier());\n\t if (!this.match('}')) {\n\t this.expect(',');\n\t }\n\t }\n\t this.expect('}');\n\t if (this.matchContextualKeyword('from')) {\n\t // export {default} from 'foo';\n\t // export {foo} from 'foo';\n\t this.nextToken();\n\t source = this.parseModuleSpecifier();\n\t this.consumeSemicolon();\n\t }\n\t else if (isExportFromIdentifier) {\n\t // export {default}; // missing fromClause\n\t var message = this.lookahead.value ? messages_1.Messages.UnexpectedToken : messages_1.Messages.MissingFromClause;\n\t this.throwError(message, this.lookahead.value);\n\t }\n\t else {\n\t // export {foo};\n\t this.consumeSemicolon();\n\t }\n\t exportDeclaration = this.finalize(node, new Node.ExportNamedDeclaration(null, specifiers, source));\n\t }\n\t return exportDeclaration;\n\t };\n\t return Parser;\n\t}());\n\texports.Parser = Parser;\n\n\n/***/ },\n/* 9 */\n/***/ function(module, exports) {\n\n\t\"use strict\";\n\t// Ensure the condition is true, otherwise throw an error.\n\t// This is only to have a better contract semantic, i.e. another safety net\n\t// to catch a logic error. The condition shall be fulfilled in normal case.\n\t// Do NOT use this to enforce a certain condition on any user input.\n\tObject.defineProperty(exports, \"__esModule\", { value: true });\n\tfunction assert(condition, message) {\n\t /* istanbul ignore if */\n\t if (!condition) {\n\t throw new Error('ASSERT: ' + message);\n\t }\n\t}\n\texports.assert = assert;\n\n\n/***/ },\n/* 10 */\n/***/ function(module, exports) {\n\n\t\"use strict\";\n\t/* tslint:disable:max-classes-per-file */\n\tObject.defineProperty(exports, \"__esModule\", { value: true });\n\tvar ErrorHandler = (function () {\n\t function ErrorHandler() {\n\t this.errors = [];\n\t this.tolerant = false;\n\t }\n\t ErrorHandler.prototype.recordError = function (error) {\n\t this.errors.push(error);\n\t };\n\t ErrorHandler.prototype.tolerate = function (error) {\n\t if (this.tolerant) {\n\t this.recordError(error);\n\t }\n\t else {\n\t throw error;\n\t }\n\t };\n\t ErrorHandler.prototype.constructError = function (msg, column) {\n\t var error = new Error(msg);\n\t try {\n\t throw error;\n\t }\n\t catch (base) {\n\t /* istanbul ignore else */\n\t if (Object.create && Object.defineProperty) {\n\t error = Object.create(base);\n\t Object.defineProperty(error, 'column', { value: column });\n\t }\n\t }\n\t /* istanbul ignore next */\n\t return error;\n\t };\n\t ErrorHandler.prototype.createError = function (index, line, col, description) {\n\t var msg = 'Line ' + line + ': ' + description;\n\t var error = this.constructError(msg, col);\n\t error.index = index;\n\t error.lineNumber = line;\n\t error.description = description;\n\t return error;\n\t };\n\t ErrorHandler.prototype.throwError = function (index, line, col, description) {\n\t throw this.createError(index, line, col, description);\n\t };\n\t ErrorHandler.prototype.tolerateError = function (index, line, col, description) {\n\t var error = this.createError(index, line, col, description);\n\t if (this.tolerant) {\n\t this.recordError(error);\n\t }\n\t else {\n\t throw error;\n\t }\n\t };\n\t return ErrorHandler;\n\t}());\n\texports.ErrorHandler = ErrorHandler;\n\n\n/***/ },\n/* 11 */\n/***/ function(module, exports) {\n\n\t\"use strict\";\n\tObject.defineProperty(exports, \"__esModule\", { value: true });\n\t// Error messages should be identical to V8.\n\texports.Messages = {\n\t BadGetterArity: 'Getter must not have any formal parameters',\n\t BadSetterArity: 'Setter must have exactly one formal parameter',\n\t BadSetterRestParameter: 'Setter function argument must not be a rest parameter',\n\t ConstructorIsAsync: 'Class constructor may not be an async method',\n\t ConstructorSpecialMethod: 'Class constructor may not be an accessor',\n\t DeclarationMissingInitializer: 'Missing initializer in %0 declaration',\n\t DefaultRestParameter: 'Unexpected token =',\n\t DuplicateBinding: 'Duplicate binding %0',\n\t DuplicateConstructor: 'A class may only have one constructor',\n\t DuplicateProtoProperty: 'Duplicate __proto__ fields are not allowed in object literals',\n\t ForInOfLoopInitializer: '%0 loop variable declaration may not have an initializer',\n\t GeneratorInLegacyContext: 'Generator declarations are not allowed in legacy contexts',\n\t IllegalBreak: 'Illegal break statement',\n\t IllegalContinue: 'Illegal continue statement',\n\t IllegalExportDeclaration: 'Unexpected token',\n\t IllegalImportDeclaration: 'Unexpected token',\n\t IllegalLanguageModeDirective: 'Illegal \\'use strict\\' directive in function with non-simple parameter list',\n\t IllegalReturn: 'Illegal return statement',\n\t InvalidEscapedReservedWord: 'Keyword must not contain escaped characters',\n\t InvalidHexEscapeSequence: 'Invalid hexadecimal escape sequence',\n\t InvalidLHSInAssignment: 'Invalid left-hand side in assignment',\n\t InvalidLHSInForIn: 'Invalid left-hand side in for-in',\n\t InvalidLHSInForLoop: 'Invalid left-hand side in for-loop',\n\t InvalidModuleSpecifier: 'Unexpected token',\n\t InvalidRegExp: 'Invalid regular expression',\n\t LetInLexicalBinding: 'let is disallowed as a lexically bound name',\n\t MissingFromClause: 'Unexpected token',\n\t MultipleDefaultsInSwitch: 'More than one default clause in switch statement',\n\t NewlineAfterThrow: 'Illegal newline after throw',\n\t NoAsAfterImportNamespace: 'Unexpected token',\n\t NoCatchOrFinally: 'Missing catch or finally after try',\n\t ParameterAfterRestParameter: 'Rest parameter must be last formal parameter',\n\t Redeclaration: '%0 \\'%1\\' has already been declared',\n\t StaticPrototype: 'Classes may not have static property named prototype',\n\t StrictCatchVariable: 'Catch variable may not be eval or arguments in strict mode',\n\t StrictDelete: 'Delete of an unqualified identifier in strict mode.',\n\t StrictFunction: 'In strict mode code, functions can only be declared at top level or inside a block',\n\t StrictFunctionName: 'Function name may not be eval or arguments in strict mode',\n\t StrictLHSAssignment: 'Assignment to eval or arguments is not allowed in strict mode',\n\t StrictLHSPostfix: 'Postfix increment/decrement may not have eval or arguments operand in strict mode',\n\t StrictLHSPrefix: 'Prefix increment/decrement may not have eval or arguments operand in strict mode',\n\t StrictModeWith: 'Strict mode code may not include a with statement',\n\t StrictOctalLiteral: 'Octal literals are not allowed in strict mode.',\n\t StrictParamDupe: 'Strict mode function may not have duplicate parameter names',\n\t StrictParamName: 'Parameter name eval or arguments is not allowed in strict mode',\n\t StrictReservedWord: 'Use of future reserved word in strict mode',\n\t StrictVarName: 'Variable name may not be eval or arguments in strict mode',\n\t TemplateOctalLiteral: 'Octal literals are not allowed in template strings.',\n\t UnexpectedEOS: 'Unexpected end of input',\n\t UnexpectedIdentifier: 'Unexpected identifier',\n\t UnexpectedNumber: 'Unexpected number',\n\t UnexpectedReserved: 'Unexpected reserved word',\n\t UnexpectedString: 'Unexpected string',\n\t UnexpectedTemplate: 'Unexpected quasi %0',\n\t UnexpectedToken: 'Unexpected token %0',\n\t UnexpectedTokenIllegal: 'Unexpected token ILLEGAL',\n\t UnknownLabel: 'Undefined label \\'%0\\'',\n\t UnterminatedRegExp: 'Invalid regular expression: missing /'\n\t};\n\n\n/***/ },\n/* 12 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\tObject.defineProperty(exports, \"__esModule\", { value: true });\n\tvar assert_1 = __webpack_require__(9);\n\tvar character_1 = __webpack_require__(4);\n\tvar messages_1 = __webpack_require__(11);\n\tfunction hexValue(ch) {\n\t return '0123456789abcdef'.indexOf(ch.toLowerCase());\n\t}\n\tfunction octalValue(ch) {\n\t return '01234567'.indexOf(ch);\n\t}\n\tvar Scanner = (function () {\n\t function Scanner(code, handler) {\n\t this.source = code;\n\t this.errorHandler = handler;\n\t this.trackComment = false;\n\t this.isModule = false;\n\t this.length = code.length;\n\t this.index = 0;\n\t this.lineNumber = (code.length > 0) ? 1 : 0;\n\t this.lineStart = 0;\n\t this.curlyStack = [];\n\t }\n\t Scanner.prototype.saveState = function () {\n\t return {\n\t index: this.index,\n\t lineNumber: this.lineNumber,\n\t lineStart: this.lineStart\n\t };\n\t };\n\t Scanner.prototype.restoreState = function (state) {\n\t this.index = state.index;\n\t this.lineNumber = state.lineNumber;\n\t this.lineStart = state.lineStart;\n\t };\n\t Scanner.prototype.eof = function () {\n\t return this.index >= this.length;\n\t };\n\t Scanner.prototype.throwUnexpectedToken = function (message) {\n\t if (message === void 0) { message = messages_1.Messages.UnexpectedTokenIllegal; }\n\t return this.errorHandler.throwError(this.index, this.lineNumber, this.index - this.lineStart + 1, message);\n\t };\n\t Scanner.prototype.tolerateUnexpectedToken = function (message) {\n\t if (message === void 0) { message = messages_1.Messages.UnexpectedTokenIllegal; }\n\t this.errorHandler.tolerateError(this.index, this.lineNumber, this.index - this.lineStart + 1, message);\n\t };\n\t // https://tc39.github.io/ecma262/#sec-comments\n\t Scanner.prototype.skipSingleLineComment = function (offset) {\n\t var comments = [];\n\t var start, loc;\n\t if (this.trackComment) {\n\t comments = [];\n\t start = this.index - offset;\n\t loc = {\n\t start: {\n\t line: this.lineNumber,\n\t column: this.index - this.lineStart - offset\n\t },\n\t end: {}\n\t };\n\t }\n\t while (!this.eof()) {\n\t var ch = this.source.charCodeAt(this.index);\n\t ++this.index;\n\t if (character_1.Character.isLineTerminator(ch)) {\n\t if (this.trackComment) {\n\t loc.end = {\n\t line: this.lineNumber,\n\t column: this.index - this.lineStart - 1\n\t };\n\t var entry = {\n\t multiLine: false,\n\t slice: [start + offset, this.index - 1],\n\t range: [start, this.index - 1],\n\t loc: loc\n\t };\n\t comments.push(entry);\n\t }\n\t if (ch === 13 && this.source.charCodeAt(this.index) === 10) {\n\t ++this.index;\n\t }\n\t ++this.lineNumber;\n\t this.lineStart = this.index;\n\t return comments;\n\t }\n\t }\n\t if (this.trackComment) {\n\t loc.end = {\n\t line: this.lineNumber,\n\t column: this.index - this.lineStart\n\t };\n\t var entry = {\n\t multiLine: false,\n\t slice: [start + offset, this.index],\n\t range: [start, this.index],\n\t loc: loc\n\t };\n\t comments.push(entry);\n\t }\n\t return comments;\n\t };\n\t Scanner.prototype.skipMultiLineComment = function () {\n\t var comments = [];\n\t var start, loc;\n\t if (this.trackComment) {\n\t comments = [];\n\t start = this.index - 2;\n\t loc = {\n\t start: {\n\t line: this.lineNumber,\n\t column: this.index - this.lineStart - 2\n\t },\n\t end: {}\n\t };\n\t }\n\t while (!this.eof()) {\n\t var ch = this.source.charCodeAt(this.index);\n\t if (character_1.Character.isLineTerminator(ch)) {\n\t if (ch === 0x0D && this.source.charCodeAt(this.index + 1) === 0x0A) {\n\t ++this.index;\n\t }\n\t ++this.lineNumber;\n\t ++this.index;\n\t this.lineStart = this.index;\n\t }\n\t else if (ch === 0x2A) {\n\t // Block comment ends with '*/'.\n\t if (this.source.charCodeAt(this.index + 1) === 0x2F) {\n\t this.index += 2;\n\t if (this.trackComment) {\n\t loc.end = {\n\t line: this.lineNumber,\n\t column: this.index - this.lineStart\n\t };\n\t var entry = {\n\t multiLine: true,\n\t slice: [start + 2, this.index - 2],\n\t range: [start, this.index],\n\t loc: loc\n\t };\n\t comments.push(entry);\n\t }\n\t return comments;\n\t }\n\t ++this.index;\n\t }\n\t else {\n\t ++this.index;\n\t }\n\t }\n\t // Ran off the end of the file - the whole thing is a comment\n\t if (this.trackComment) {\n\t loc.end = {\n\t line: this.lineNumber,\n\t column: this.index - this.lineStart\n\t };\n\t var entry = {\n\t multiLine: true,\n\t slice: [start + 2, this.index],\n\t range: [start, this.index],\n\t loc: loc\n\t };\n\t comments.push(entry);\n\t }\n\t this.tolerateUnexpectedToken();\n\t return comments;\n\t };\n\t Scanner.prototype.scanComments = function () {\n\t var comments;\n\t if (this.trackComment) {\n\t comments = [];\n\t }\n\t var start = (this.index === 0);\n\t while (!this.eof()) {\n\t var ch = this.source.charCodeAt(this.index);\n\t if (character_1.Character.isWhiteSpace(ch)) {\n\t ++this.index;\n\t }\n\t else if (character_1.Character.isLineTerminator(ch)) {\n\t ++this.index;\n\t if (ch === 0x0D && this.source.charCodeAt(this.index) === 0x0A) {\n\t ++this.index;\n\t }\n\t ++this.lineNumber;\n\t this.lineStart = this.index;\n\t start = true;\n\t }\n\t else if (ch === 0x2F) {\n\t ch = this.source.charCodeAt(this.index + 1);\n\t if (ch === 0x2F) {\n\t this.index += 2;\n\t var comment = this.skipSingleLineComment(2);\n\t if (this.trackComment) {\n\t comments = comments.concat(comment);\n\t }\n\t start = true;\n\t }\n\t else if (ch === 0x2A) {\n\t this.index += 2;\n\t var comment = this.skipMultiLineComment();\n\t if (this.trackComment) {\n\t comments = comments.concat(comment);\n\t }\n\t }\n\t else {\n\t break;\n\t }\n\t }\n\t else if (start && ch === 0x2D) {\n\t // U+003E is '>'\n\t if ((this.source.charCodeAt(this.index + 1) === 0x2D) && (this.source.charCodeAt(this.index + 2) === 0x3E)) {\n\t // '-->' is a single-line comment\n\t this.index += 3;\n\t var comment = this.skipSingleLineComment(3);\n\t if (this.trackComment) {\n\t comments = comments.concat(comment);\n\t }\n\t }\n\t else {\n\t break;\n\t }\n\t }\n\t else if (ch === 0x3C && !this.isModule) {\n\t if (this.source.slice(this.index + 1, this.index + 4) === '!--') {\n\t this.index += 4; // `<!--`\n\t var comment = this.skipSingleLineComment(4);\n\t if (this.trackComment) {\n\t comments = comments.concat(comment);\n\t }\n\t }\n\t else {\n\t break;\n\t }\n\t }\n\t else {\n\t break;\n\t }\n\t }\n\t return comments;\n\t };\n\t // https://tc39.github.io/ecma262/#sec-future-reserved-words\n\t Scanner.prototype.isFutureReservedWord = function (id) {\n\t switch (id) {\n\t case 'enum':\n\t case 'export':\n\t case 'import':\n\t case 'super':\n\t return true;\n\t default:\n\t return false;\n\t }\n\t };\n\t Scanner.prototype.isStrictModeReservedWord = function (id) {\n\t switch (id) {\n\t case 'implements':\n\t case 'interface':\n\t case 'package':\n\t case 'private':\n\t case 'protected':\n\t case 'public':\n\t case 'static':\n\t case 'yield':\n\t case 'let':\n\t return true;\n\t default:\n\t return false;\n\t }\n\t };\n\t Scanner.prototype.isRestrictedWord = function (id) {\n\t return id === 'eval' || id === 'arguments';\n\t };\n\t // https://tc39.github.io/ecma262/#sec-keywords\n\t Scanner.prototype.isKeyword = function (id) {\n\t switch (id.length) {\n\t case 2:\n\t return (id === 'if') || (id === 'in') || (id === 'do');\n\t case 3:\n\t return (id === 'var') || (id === 'for') || (id === 'new') ||\n\t (id === 'try') || (id === 'let');\n\t case 4:\n\t return (id === 'this') || (id === 'else') || (id === 'case') ||\n\t (id === 'void') || (id === 'with') || (id === 'enum');\n\t case 5:\n\t return (id === 'while') || (id === 'break') || (id === 'catch') ||\n\t (id === 'throw') || (id === 'const') || (id === 'yield') ||\n\t (id === 'class') || (id === 'super');\n\t case 6:\n\t return (id === 'return') || (id === 'typeof') || (id === 'delete') ||\n\t (id === 'switch') || (id === 'export') || (id === 'import');\n\t case 7:\n\t return (id === 'default') || (id === 'finally') || (id === 'extends');\n\t case 8:\n\t return (id === 'function') || (id === 'continue') || (id === 'debugger');\n\t case 10:\n\t return (id === 'instanceof');\n\t default:\n\t return false;\n\t }\n\t };\n\t Scanner.prototype.codePointAt = function (i) {\n\t var cp = this.source.charCodeAt(i);\n\t if (cp >= 0xD800 && cp <= 0xDBFF) {\n\t var second = this.source.charCodeAt(i + 1);\n\t if (second >= 0xDC00 && second <= 0xDFFF) {\n\t var first = cp;\n\t cp = (first - 0xD800) * 0x400 + second - 0xDC00 + 0x10000;\n\t }\n\t }\n\t return cp;\n\t };\n\t Scanner.prototype.scanHexEscape = function (prefix) {\n\t var len = (prefix === 'u') ? 4 : 2;\n\t var code = 0;\n\t for (var i = 0; i < len; ++i) {\n\t if (!this.eof() && character_1.Character.isHexDigit(this.source.charCodeAt(this.index))) {\n\t code = code * 16 + hexValue(this.source[this.index++]);\n\t }\n\t else {\n\t return null;\n\t }\n\t }\n\t return String.fromCharCode(code);\n\t };\n\t Scanner.prototype.scanUnicodeCodePointEscape = function () {\n\t var ch = this.source[this.index];\n\t var code = 0;\n\t // At least, one hex digit is required.\n\t if (ch === '}') {\n\t this.throwUnexpectedToken();\n\t }\n\t while (!this.eof()) {\n\t ch = this.source[this.index++];\n\t if (!character_1.Character.isHexDigit(ch.charCodeAt(0))) {\n\t break;\n\t }\n\t code = code * 16 + hexValue(ch);\n\t }\n\t if (code > 0x10FFFF || ch !== '}') {\n\t this.throwUnexpectedToken();\n\t }\n\t return character_1.Character.fromCodePoint(code);\n\t };\n\t Scanner.prototype.getIdentifier = function () {\n\t var start = this.index++;\n\t while (!this.eof()) {\n\t var ch = this.source.charCodeAt(this.index);\n\t if (ch === 0x5C) {\n\t // Blackslash (U+005C) marks Unicode escape sequence.\n\t this.index = start;\n\t return this.getComplexIdentifier();\n\t }\n\t else if (ch >= 0xD800 && ch < 0xDFFF) {\n\t // Need to handle surrogate pairs.\n\t this.index = start;\n\t return this.getComplexIdentifier();\n\t }\n\t if (character_1.Character.isIdentifierPart(ch)) {\n\t ++this.index;\n\t }\n\t else {\n\t break;\n\t }\n\t }\n\t return this.source.slice(start, this.index);\n\t };\n\t Scanner.prototype.getComplexIdentifier = function () {\n\t var cp = this.codePointAt(this.index);\n\t var id = character_1.Character.fromCodePoint(cp);\n\t this.index += id.length;\n\t // '\\u' (U+005C, U+0075) denotes an escaped character.\n\t var ch;\n\t if (cp === 0x5C) {\n\t if (this.source.charCodeAt(this.index) !== 0x75) {\n\t this.throwUnexpectedToken();\n\t }\n\t ++this.index;\n\t if (this.source[this.index] === '{') {\n\t ++this.index;\n\t ch = this.scanUnicodeCodePointEscape();\n\t }\n\t else {\n\t ch = this.scanHexEscape('u');\n\t if (ch === null || ch === '\\\\' || !character_1.Character.isIdentifierStart(ch.charCodeAt(0))) {\n\t this.throwUnexpectedToken();\n\t }\n\t }\n\t id = ch;\n\t }\n\t while (!this.eof()) {\n\t cp = this.codePointAt(this.index);\n\t if (!character_1.Character.isIdentifierPart(cp)) {\n\t break;\n\t }\n\t ch = character_1.Character.fromCodePoint(cp);\n\t id += ch;\n\t this.index += ch.length;\n\t // '\\u' (U+005C, U+0075) denotes an escaped character.\n\t if (cp === 0x5C) {\n\t id = id.substr(0, id.length - 1);\n\t if (this.source.charCodeAt(this.index) !== 0x75) {\n\t this.throwUnexpectedToken();\n\t }\n\t ++this.index;\n\t if (this.source[this.index] === '{') {\n\t ++this.index;\n\t ch = this.scanUnicodeCodePointEscape();\n\t }\n\t else {\n\t ch = this.scanHexEscape('u');\n\t if (ch === null || ch === '\\\\' || !character_1.Character.isIdentifierPart(ch.charCodeAt(0))) {\n\t this.throwUnexpectedToken();\n\t }\n\t }\n\t id += ch;\n\t }\n\t }\n\t return id;\n\t };\n\t Scanner.prototype.octalToDecimal = function (ch) {\n\t // \\0 is not octal escape sequence\n\t var octal = (ch !== '0');\n\t var code = octalValue(ch);\n\t if (!this.eof() && character_1.Character.isOctalDigit(this.source.charCodeAt(this.index))) {\n\t octal = true;\n\t code = code * 8 + octalValue(this.source[this.index++]);\n\t // 3 digits are only allowed when string starts\n\t // with 0, 1, 2, 3\n\t if ('0123'.indexOf(ch) >= 0 && !this.eof() && character_1.Character.isOctalDigit(this.source.charCodeAt(this.index))) {\n\t code = code * 8 + octalValue(this.source[this.index++]);\n\t }\n\t }\n\t return {\n\t code: code,\n\t octal: octal\n\t };\n\t };\n\t // https://tc39.github.io/ecma262/#sec-names-and-keywords\n\t Scanner.prototype.scanIdentifier = function () {\n\t var type;\n\t var start = this.index;\n\t // Backslash (U+005C) starts an escaped character.\n\t var id = (this.source.charCodeAt(start) === 0x5C) ? this.getComplexIdentifier() : this.getIdentifier();\n\t // There is no keyword or literal with only one character.\n\t // Thus, it must be an identifier.\n\t if (id.length === 1) {\n\t type = 3 /* Identifier */;\n\t }\n\t else if (this.isKeyword(id)) {\n\t type = 4 /* Keyword */;\n\t }\n\t else if (id === 'null') {\n\t type = 5 /* NullLiteral */;\n\t }\n\t else if (id === 'true' || id === 'false') {\n\t type = 1 /* BooleanLiteral */;\n\t }\n\t else {\n\t type = 3 /* Identifier */;\n\t }\n\t if (type !== 3 /* Identifier */ && (start + id.length !== this.index)) {\n\t var restore = this.index;\n\t this.index = start;\n\t this.tolerateUnexpectedToken(messages_1.Messages.InvalidEscapedReservedWord);\n\t this.index = restore;\n\t }\n\t return {\n\t type: type,\n\t value: id,\n\t lineNumber: this.lineNumber,\n\t lineStart: this.lineStart,\n\t start: start,\n\t end: this.index\n\t };\n\t };\n\t // https://tc39.github.io/ecma262/#sec-punctuators\n\t Scanner.prototype.scanPunctuator = function () {\n\t var start = this.index;\n\t // Check for most common single-character punctuators.\n\t var str = this.source[this.index];\n\t switch (str) {\n\t case '(':\n\t case '{':\n\t if (str === '{') {\n\t this.curlyStack.push('{');\n\t }\n\t ++this.index;\n\t break;\n\t case '.':\n\t ++this.index;\n\t if (this.source[this.index] === '.' && this.source[this.index + 1] === '.') {\n\t // Spread operator: ...\n\t this.index += 2;\n\t str = '...';\n\t }\n\t break;\n\t case '}':\n\t ++this.index;\n\t this.curlyStack.pop();\n\t break;\n\t case ')':\n\t case ';':\n\t case ',':\n\t case '[':\n\t case ']':\n\t case ':':\n\t case '?':\n\t case '~':\n\t ++this.index;\n\t break;\n\t default:\n\t // 4-character punctuator.\n\t str = this.source.substr(this.index, 4);\n\t if (str === '>>>=') {\n\t this.index += 4;\n\t }\n\t else {\n\t // 3-character punctuators.\n\t str = str.substr(0, 3);\n\t if (str === '===' || str === '!==' || str === '>>>' ||\n\t str === '<<=' || str === '>>=' || str === '**=') {\n\t this.index += 3;\n\t }\n\t else {\n\t // 2-character punctuators.\n\t str = str.substr(0, 2);\n\t if (str === '&&' || str === '||' || str === '==' || str === '!=' ||\n\t str === '+=' || str === '-=' || str === '*=' || str === '/=' ||\n\t str === '++' || str === '--' || str === '<<' || str === '>>' ||\n\t str === '&=' || str === '|=' || str === '^=' || str === '%=' ||\n\t str === '<=' || str === '>=' || str === '=>' || str === '**') {\n\t this.index += 2;\n\t }\n\t else {\n\t // 1-character punctuators.\n\t str = this.source[this.index];\n\t if ('<>=!+-*%&|^/'.indexOf(str) >= 0) {\n\t ++this.index;\n\t }\n\t }\n\t }\n\t }\n\t }\n\t if (this.index === start) {\n\t this.throwUnexpectedToken();\n\t }\n\t return {\n\t type: 7 /* Punctuator */,\n\t value: str,\n\t lineNumber: this.lineNumber,\n\t lineStart: this.lineStart,\n\t start: start,\n\t end: this.index\n\t };\n\t };\n\t // https://tc39.github.io/ecma262/#sec-literals-numeric-literals\n\t Scanner.prototype.scanHexLiteral = function (start) {\n\t var num = '';\n\t while (!this.eof()) {\n\t if (!character_1.Character.isHexDigit(this.source.charCodeAt(this.index))) {\n\t break;\n\t }\n\t num += this.source[this.index++];\n\t }\n\t if (num.length === 0) {\n\t this.throwUnexpectedToken();\n\t }\n\t if (character_1.Character.isIdentifierStart(this.source.charCodeAt(this.index))) {\n\t this.throwUnexpectedToken();\n\t }\n\t return {\n\t type: 6 /* NumericLiteral */,\n\t value: parseInt('0x' + num, 16),\n\t lineNumber: this.lineNumber,\n\t lineStart: this.lineStart,\n\t start: start,\n\t end: this.index\n\t };\n\t };\n\t Scanner.prototype.scanBinaryLiteral = function (start) {\n\t var num = '';\n\t var ch;\n\t while (!this.eof()) {\n\t ch = this.source[this.index];\n\t if (ch !== '0' && ch !== '1') {\n\t break;\n\t }\n\t num += this.source[this.index++];\n\t }\n\t if (num.length === 0) {\n\t // only 0b or 0B\n\t this.throwUnexpectedToken();\n\t }\n\t if (!this.eof()) {\n\t ch = this.source.charCodeAt(this.index);\n\t /* istanbul ignore else */\n\t if (character_1.Character.isIdentifierStart(ch) || character_1.Character.isDecimalDigit(ch)) {\n\t this.throwUnexpectedToken();\n\t }\n\t }\n\t return {\n\t type: 6 /* NumericLiteral */,\n\t value: parseInt(num, 2),\n\t lineNumber: this.lineNumber,\n\t lineStart: this.lineStart,\n\t start: start,\n\t end: this.index\n\t };\n\t };\n\t Scanner.prototype.scanOctalLiteral = function (prefix, start) {\n\t var num = '';\n\t var octal = false;\n\t if (character_1.Character.isOctalDigit(prefix.charCodeAt(0))) {\n\t octal = true;\n\t num = '0' + this.source[this.index++];\n\t }\n\t else {\n\t ++this.index;\n\t }\n\t while (!this.eof()) {\n\t if (!character_1.Character.isOctalDigit(this.source.charCodeAt(this.index))) {\n\t break;\n\t }\n\t num += this.source[this.index++];\n\t }\n\t if (!octal && num.length === 0) {\n\t // only 0o or 0O\n\t this.throwUnexpectedToken();\n\t }\n\t if (character_1.Character.isIdentifierStart(this.source.charCodeAt(this.index)) || character_1.Character.isDecimalDigit(this.source.charCodeAt(this.index))) {\n\t this.throwUnexpectedToken();\n\t }\n\t return {\n\t type: 6 /* NumericLiteral */,\n\t value: parseInt(num, 8),\n\t octal: octal,\n\t lineNumber: this.lineNumber,\n\t lineStart: this.lineStart,\n\t start: start,\n\t end: this.index\n\t };\n\t };\n\t Scanner.prototype.isImplicitOctalLiteral = function () {\n\t // Implicit octal, unless there is a non-octal digit.\n\t // (Annex B.1.1 on Numeric Literals)\n\t for (var i = this.index + 1; i < this.length; ++i) {\n\t var ch = this.source[i];\n\t if (ch === '8' || ch === '9') {\n\t return false;\n\t }\n\t if (!character_1.Character.isOctalDigit(ch.charCodeAt(0))) {\n\t return true;\n\t }\n\t }\n\t return true;\n\t };\n\t Scanner.prototype.scanNumericLiteral = function () {\n\t var start = this.index;\n\t var ch = this.source[start];\n\t assert_1.assert(character_1.Character.isDecimalDigit(ch.charCodeAt(0)) || (ch === '.'), 'Numeric literal must start with a decimal digit or a decimal point');\n\t var num = '';\n\t if (ch !== '.') {\n\t num = this.source[this.index++];\n\t ch = this.source[this.index];\n\t // Hex number starts with '0x'.\n\t // Octal number starts with '0'.\n\t // Octal number in ES6 starts with '0o'.\n\t // Binary number in ES6 starts with '0b'.\n\t if (num === '0') {\n\t if (ch === 'x' || ch === 'X') {\n\t ++this.index;\n\t return this.scanHexLiteral(start);\n\t }\n\t if (ch === 'b' || ch === 'B') {\n\t ++this.index;\n\t return this.scanBinaryLiteral(start);\n\t }\n\t if (ch === 'o' || ch === 'O') {\n\t return this.scanOctalLiteral(ch, start);\n\t }\n\t if (ch && character_1.Character.isOctalDigit(ch.charCodeAt(0))) {\n\t if (this.isImplicitOctalLiteral()) {\n\t return this.scanOctalLiteral(ch, start);\n\t }\n\t }\n\t }\n\t while (character_1.Character.isDecimalDigit(this.source.charCodeAt(this.index))) {\n\t num += this.source[this.index++];\n\t }\n\t ch = this.source[this.index];\n\t }\n\t if (ch === '.') {\n\t num += this.source[this.index++];\n\t while (character_1.Character.isDecimalDigit(this.source.charCodeAt(this.index))) {\n\t num += this.source[this.index++];\n\t }\n\t ch = this.source[this.index];\n\t }\n\t if (ch === 'e' || ch === 'E') {\n\t num += this.source[this.index++];\n\t ch = this.source[this.index];\n\t if (ch === '+' || ch === '-') {\n\t num += this.source[this.index++];\n\t }\n\t if (character_1.Character.isDecimalDigit(this.source.charCodeAt(this.index))) {\n\t while (character_1.Character.isDecimalDigit(this.source.charCodeAt(this.index))) {\n\t num += this.source[this.index++];\n\t }\n\t }\n\t else {\n\t this.throwUnexpectedToken();\n\t }\n\t }\n\t if (character_1.Character.isIdentifierStart(this.source.charCodeAt(this.index))) {\n\t this.throwUnexpectedToken();\n\t }\n\t return {\n\t type: 6 /* NumericLiteral */,\n\t value: parseFloat(num),\n\t lineNumber: this.lineNumber,\n\t lineStart: this.lineStart,\n\t start: start,\n\t end: this.index\n\t };\n\t };\n\t // https://tc39.github.io/ecma262/#sec-literals-string-literals\n\t Scanner.prototype.scanStringLiteral = function () {\n\t var start = this.index;\n\t var quote = this.source[start];\n\t assert_1.assert((quote === '\\'' || quote === '\"'), 'String literal must starts with a quote');\n\t ++this.index;\n\t var octal = false;\n\t var str = '';\n\t while (!this.eof()) {\n\t var ch = this.source[this.index++];\n\t if (ch === quote) {\n\t quote = '';\n\t break;\n\t }\n\t else if (ch === '\\\\') {\n\t ch = this.source[this.index++];\n\t if (!ch || !character_1.Character.isLineTerminator(ch.charCodeAt(0))) {\n\t switch (ch) {\n\t case 'u':\n\t if (this.source[this.index] === '{') {\n\t ++this.index;\n\t str += this.scanUnicodeCodePointEscape();\n\t }\n\t else {\n\t var unescaped_1 = this.scanHexEscape(ch);\n\t if (unescaped_1 === null) {\n\t this.throwUnexpectedToken();\n\t }\n\t str += unescaped_1;\n\t }\n\t break;\n\t case 'x':\n\t var unescaped = this.scanHexEscape(ch);\n\t if (unescaped === null) {\n\t this.throwUnexpectedToken(messages_1.Messages.InvalidHexEscapeSequence);\n\t }\n\t str += unescaped;\n\t break;\n\t case 'n':\n\t str += '\\n';\n\t break;\n\t case 'r':\n\t str += '\\r';\n\t break;\n\t case 't':\n\t str += '\\t';\n\t break;\n\t case 'b':\n\t str += '\\b';\n\t break;\n\t case 'f':\n\t str += '\\f';\n\t break;\n\t case 'v':\n\t str += '\\x0B';\n\t break;\n\t case '8':\n\t case '9':\n\t str += ch;\n\t this.tolerateUnexpectedToken();\n\t break;\n\t default:\n\t if (ch && character_1.Character.isOctalDigit(ch.charCodeAt(0))) {\n\t var octToDec = this.octalToDecimal(ch);\n\t octal = octToDec.octal || octal;\n\t str += String.fromCharCode(octToDec.code);\n\t }\n\t else {\n\t str += ch;\n\t }\n\t break;\n\t }\n\t }\n\t else {\n\t ++this.lineNumber;\n\t if (ch === '\\r' && this.source[this.index] === '\\n') {\n\t ++this.index;\n\t }\n\t this.lineStart = this.index;\n\t }\n\t }\n\t else if (character_1.Character.isLineTerminator(ch.charCodeAt(0))) {\n\t break;\n\t }\n\t else {\n\t str += ch;\n\t }\n\t }\n\t if (quote !== '') {\n\t this.index = start;\n\t this.throwUnexpectedToken();\n\t }\n\t return {\n\t type: 8 /* StringLiteral */,\n\t value: str,\n\t octal: octal,\n\t lineNumber: this.lineNumber,\n\t lineStart: this.lineStart,\n\t start: start,\n\t end: this.index\n\t };\n\t };\n\t // https://tc39.github.io/ecma262/#sec-template-literal-lexical-components\n\t Scanner.prototype.scanTemplate = function () {\n\t var cooked = '';\n\t var terminated = false;\n\t var start = this.index;\n\t var head = (this.source[start] === '`');\n\t var tail = false;\n\t var rawOffset = 2;\n\t ++this.index;\n\t while (!this.eof()) {\n\t var ch = this.source[this.index++];\n\t if (ch === '`') {\n\t rawOffset = 1;\n\t tail = true;\n\t terminated = true;\n\t break;\n\t }\n\t else if (ch === '$') {\n\t if (this.source[this.index] === '{') {\n\t this.curlyStack.push('${');\n\t ++this.index;\n\t terminated = true;\n\t break;\n\t }\n\t cooked += ch;\n\t }\n\t else if (ch === '\\\\') {\n\t ch = this.source[this.index++];\n\t if (!character_1.Character.isLineTerminator(ch.charCodeAt(0))) {\n\t switch (ch) {\n\t case 'n':\n\t cooked += '\\n';\n\t break;\n\t case 'r':\n\t cooked += '\\r';\n\t break;\n\t case 't':\n\t cooked += '\\t';\n\t break;\n\t case 'u':\n\t if (this.source[this.index] === '{') {\n\t ++this.index;\n\t cooked += this.scanUnicodeCodePointEscape();\n\t }\n\t else {\n\t var restore = this.index;\n\t var unescaped_2 = this.scanHexEscape(ch);\n\t if (unescaped_2 !== null) {\n\t cooked += unescaped_2;\n\t }\n\t else {\n\t this.index = restore;\n\t cooked += ch;\n\t }\n\t }\n\t break;\n\t case 'x':\n\t var unescaped = this.scanHexEscape(ch);\n\t if (unescaped === null) {\n\t this.throwUnexpectedToken(messages_1.Messages.InvalidHexEscapeSequence);\n\t }\n\t cooked += unescaped;\n\t break;\n\t case 'b':\n\t cooked += '\\b';\n\t break;\n\t case 'f':\n\t cooked += '\\f';\n\t break;\n\t case 'v':\n\t cooked += '\\v';\n\t break;\n\t default:\n\t if (ch === '0') {\n\t if (character_1.Character.isDecimalDigit(this.source.charCodeAt(this.index))) {\n\t // Illegal: \\01 \\02 and so on\n\t this.throwUnexpectedToken(messages_1.Messages.TemplateOctalLiteral);\n\t }\n\t cooked += '\\0';\n\t }\n\t else if (character_1.Character.isOctalDigit(ch.charCodeAt(0))) {\n\t // Illegal: \\1 \\2\n\t this.throwUnexpectedToken(messages_1.Messages.TemplateOctalLiteral);\n\t }\n\t else {\n\t cooked += ch;\n\t }\n\t break;\n\t }\n\t }\n\t else {\n\t ++this.lineNumber;\n\t if (ch === '\\r' && this.source[this.index] === '\\n') {\n\t ++this.index;\n\t }\n\t this.lineStart = this.index;\n\t }\n\t }\n\t else if (character_1.Character.isLineTerminator(ch.charCodeAt(0))) {\n\t ++this.lineNumber;\n\t if (ch === '\\r' && this.source[this.index] === '\\n') {\n\t ++this.index;\n\t }\n\t this.lineStart = this.index;\n\t cooked += '\\n';\n\t }\n\t else {\n\t cooked += ch;\n\t }\n\t }\n\t if (!terminated) {\n\t this.throwUnexpectedToken();\n\t }\n\t if (!head) {\n\t this.curlyStack.pop();\n\t }\n\t return {\n\t type: 10 /* Template */,\n\t value: this.source.slice(start + 1, this.index - rawOffset),\n\t cooked: cooked,\n\t head: head,\n\t tail: tail,\n\t lineNumber: this.lineNumber,\n\t lineStart: this.lineStart,\n\t start: start,\n\t end: this.index\n\t };\n\t };\n\t // https://tc39.github.io/ecma262/#sec-literals-regular-expression-literals\n\t Scanner.prototype.testRegExp = function (pattern, flags) {\n\t // The BMP character to use as a replacement for astral symbols when\n\t // translating an ES6 \"u\"-flagged pattern to an ES5-compatible\n\t // approximation.\n\t // Note: replacing with '\\uFFFF' enables false positives in unlikely\n\t // scenarios. For example, `[\\u{1044f}-\\u{10440}]` is an invalid\n\t // pattern that would not be detected by this substitution.\n\t var astralSubstitute = '\\uFFFF';\n\t var tmp = pattern;\n\t var self = this;\n\t if (flags.indexOf('u') >= 0) {\n\t tmp = tmp\n\t .replace(/\\\\u\\{([0-9a-fA-F]+)\\}|\\\\u([a-fA-F0-9]{4})/g, function ($0, $1, $2) {\n\t var codePoint = parseInt($1 || $2, 16);\n\t if (codePoint > 0x10FFFF) {\n\t self.throwUnexpectedToken(messages_1.Messages.InvalidRegExp);\n\t }\n\t if (codePoint <= 0xFFFF) {\n\t return String.fromCharCode(codePoint);\n\t }\n\t return astralSubstitute;\n\t })\n\t .replace(/[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/g, astralSubstitute);\n\t }\n\t // First, detect invalid regular expressions.\n\t try {\n\t RegExp(tmp);\n\t }\n\t catch (e) {\n\t this.throwUnexpectedToken(messages_1.Messages.InvalidRegExp);\n\t }\n\t // Return a regular expression object for this pattern-flag pair, or\n\t // `null` in case the current environment doesn't support the flags it\n\t // uses.\n\t try {\n\t return new RegExp(pattern, flags);\n\t }\n\t catch (exception) {\n\t /* istanbul ignore next */\n\t return null;\n\t }\n\t };\n\t Scanner.prototype.scanRegExpBody = function () {\n\t var ch = this.source[this.index];\n\t assert_1.assert(ch === '/', 'Regular expression literal must start with a slash');\n\t var str = this.source[this.index++];\n\t var classMarker = false;\n\t var terminated = false;\n\t while (!this.eof()) {\n\t ch = this.source[this.index++];\n\t str += ch;\n\t if (ch === '\\\\') {\n\t ch = this.source[this.index++];\n\t // https://tc39.github.io/ecma262/#sec-literals-regular-expression-literals\n\t if (character_1.Character.isLineTerminator(ch.charCodeAt(0))) {\n\t this.throwUnexpectedToken(messages_1.Messages.UnterminatedRegExp);\n\t }\n\t str += ch;\n\t }\n\t else if (character_1.Character.isLineTerminator(ch.charCodeAt(0))) {\n\t this.throwUnexpectedToken(messages_1.Messages.UnterminatedRegExp);\n\t }\n\t else if (classMarker) {\n\t if (ch === ']') {\n\t classMarker = false;\n\t }\n\t }\n\t else {\n\t if (ch === '/') {\n\t terminated = true;\n\t break;\n\t }\n\t else if (ch === '[') {\n\t classMarker = true;\n\t }\n\t }\n\t }\n\t if (!terminated) {\n\t this.throwUnexpectedToken(messages_1.Messages.UnterminatedRegExp);\n\t }\n\t // Exclude leading and trailing slash.\n\t return str.substr(1, str.length - 2);\n\t };\n\t Scanner.prototype.scanRegExpFlags = function () {\n\t var str = '';\n\t var flags = '';\n\t while (!this.eof()) {\n\t var ch = this.source[this.index];\n\t if (!character_1.Character.isIdentifierPart(ch.charCodeAt(0))) {\n\t break;\n\t }\n\t ++this.index;\n\t if (ch === '\\\\' && !this.eof()) {\n\t ch = this.source[this.index];\n\t if (ch === 'u') {\n\t ++this.index;\n\t var restore = this.index;\n\t var char = this.scanHexEscape('u');\n\t if (char !== null) {\n\t flags += char;\n\t for (str += '\\\\u'; restore < this.index; ++restore) {\n\t str += this.source[restore];\n\t }\n\t }\n\t else {\n\t this.index = restore;\n\t flags += 'u';\n\t str += '\\\\u';\n\t }\n\t this.tolerateUnexpectedToken();\n\t }\n\t else {\n\t str += '\\\\';\n\t this.tolerateUnexpectedToken();\n\t }\n\t }\n\t else {\n\t flags += ch;\n\t str += ch;\n\t }\n\t }\n\t return flags;\n\t };\n\t Scanner.prototype.scanRegExp = function () {\n\t var start = this.index;\n\t var pattern = this.scanRegExpBody();\n\t var flags = this.scanRegExpFlags();\n\t var value = this.testRegExp(pattern, flags);\n\t return {\n\t type: 9 /* RegularExpression */,\n\t value: '',\n\t pattern: pattern,\n\t flags: flags,\n\t regex: value,\n\t lineNumber: this.lineNumber,\n\t lineStart: this.lineStart,\n\t start: start,\n\t end: this.index\n\t };\n\t };\n\t Scanner.prototype.lex = function () {\n\t if (this.eof()) {\n\t return {\n\t type: 2 /* EOF */,\n\t value: '',\n\t lineNumber: this.lineNumber,\n\t lineStart: this.lineStart,\n\t start: this.index,\n\t end: this.index\n\t };\n\t }\n\t var cp = this.source.charCodeAt(this.index);\n\t if (character_1.Character.isIdentifierStart(cp)) {\n\t return this.scanIdentifier();\n\t }\n\t // Very common: ( and ) and ;\n\t if (cp === 0x28 || cp === 0x29 || cp === 0x3B) {\n\t return this.scanPunctuator();\n\t }\n\t // String literal starts with single quote (U+0027) or double quote (U+0022).\n\t if (cp === 0x27 || cp === 0x22) {\n\t return this.scanStringLiteral();\n\t }\n\t // Dot (.) U+002E can also start a floating-point number, hence the need\n\t // to check the next character.\n\t if (cp === 0x2E) {\n\t if (character_1.Character.isDecimalDigit(this.source.charCodeAt(this.index + 1))) {\n\t return this.scanNumericLiteral();\n\t }\n\t return this.scanPunctuator();\n\t }\n\t if (character_1.Character.isDecimalDigit(cp)) {\n\t return this.scanNumericLiteral();\n\t }\n\t // Template literals start with ` (U+0060) for template head\n\t // or } (U+007D) for template middle or template tail.\n\t if (cp === 0x60 || (cp === 0x7D && this.curlyStack[this.curlyStack.length - 1] === '${')) {\n\t return this.scanTemplate();\n\t }\n\t // Possible identifier start in a surrogate pair.\n\t if (cp >= 0xD800 && cp < 0xDFFF) {\n\t if (character_1.Character.isIdentifierStart(this.codePointAt(this.index))) {\n\t return this.scanIdentifier();\n\t }\n\t }\n\t return this.scanPunctuator();\n\t };\n\t return Scanner;\n\t}());\n\texports.Scanner = Scanner;\n\n\n/***/ },\n/* 13 */\n/***/ function(module, exports) {\n\n\t\"use strict\";\n\tObject.defineProperty(exports, \"__esModule\", { value: true });\n\texports.TokenName = {};\n\texports.TokenName[1 /* BooleanLiteral */] = 'Boolean';\n\texports.TokenName[2 /* EOF */] = '<end>';\n\texports.TokenName[3 /* Identifier */] = 'Identifier';\n\texports.TokenName[4 /* Keyword */] = 'Keyword';\n\texports.TokenName[5 /* NullLiteral */] = 'Null';\n\texports.TokenName[6 /* NumericLiteral */] = 'Numeric';\n\texports.TokenName[7 /* Punctuator */] = 'Punctuator';\n\texports.TokenName[8 /* StringLiteral */] = 'String';\n\texports.TokenName[9 /* RegularExpression */] = 'RegularExpression';\n\texports.TokenName[10 /* Template */] = 'Template';\n\n\n/***/ },\n/* 14 */\n/***/ function(module, exports) {\n\n\t\"use strict\";\n\t// Generated by generate-xhtml-entities.js. DO NOT MODIFY!\n\tObject.defineProperty(exports, \"__esModule\", { value: true });\n\texports.XHTMLEntities = {\n\t quot: '\\u0022',\n\t amp: '\\u0026',\n\t apos: '\\u0027',\n\t gt: '\\u003E',\n\t nbsp: '\\u00A0',\n\t iexcl: '\\u00A1',\n\t cent: '\\u00A2',\n\t pound: '\\u00A3',\n\t curren: '\\u00A4',\n\t yen: '\\u00A5',\n\t brvbar: '\\u00A6',\n\t sect: '\\u00A7',\n\t uml: '\\u00A8',\n\t copy: '\\u00A9',\n\t ordf: '\\u00AA',\n\t laquo: '\\u00AB',\n\t not: '\\u00AC',\n\t shy: '\\u00AD',\n\t reg: '\\u00AE',\n\t macr: '\\u00AF',\n\t deg: '\\u00B0',\n\t plusmn: '\\u00B1',\n\t sup2: '\\u00B2',\n\t sup3: '\\u00B3',\n\t acute: '\\u00B4',\n\t micro: '\\u00B5',\n\t para: '\\u00B6',\n\t middot: '\\u00B7',\n\t cedil: '\\u00B8',\n\t sup1: '\\u00B9',\n\t ordm: '\\u00BA',\n\t raquo: '\\u00BB',\n\t frac14: '\\u00BC',\n\t frac12: '\\u00BD',\n\t frac34: '\\u00BE',\n\t iquest: '\\u00BF',\n\t Agrave: '\\u00C0',\n\t Aacute: '\\u00C1',\n\t Acirc: '\\u00C2',\n\t Atilde: '\\u00C3',\n\t Auml: '\\u00C4',\n\t Aring: '\\u00C5',\n\t AElig: '\\u00C6',\n\t Ccedil: '\\u00C7',\n\t Egrave: '\\u00C8',\n\t Eacute: '\\u00C9',\n\t Ecirc: '\\u00CA',\n\t Euml: '\\u00CB',\n\t Igrave: '\\u00CC',\n\t Iacute: '\\u00CD',\n\t Icirc: '\\u00CE',\n\t Iuml: '\\u00CF',\n\t ETH: '\\u00D0',\n\t Ntilde: '\\u00D1',\n\t Ograve: '\\u00D2',\n\t Oacute: '\\u00D3',\n\t Ocirc: '\\u00D4',\n\t Otilde: '\\u00D5',\n\t Ouml: '\\u00D6',\n\t times: '\\u00D7',\n\t Oslash: '\\u00D8',\n\t Ugrave: '\\u00D9',\n\t Uacute: '\\u00DA',\n\t Ucirc: '\\u00DB',\n\t Uuml: '\\u00DC',\n\t Yacute: '\\u00DD',\n\t THORN: '\\u00DE',\n\t szlig: '\\u00DF',\n\t agrave: '\\u00E0',\n\t aacute: '\\u00E1',\n\t acirc: '\\u00E2',\n\t atilde: '\\u00E3',\n\t auml: '\\u00E4',\n\t aring: '\\u00E5',\n\t aelig: '\\u00E6',\n\t ccedil: '\\u00E7',\n\t egrave: '\\u00E8',\n\t eacute: '\\u00E9',\n\t ecirc: '\\u00EA',\n\t euml: '\\u00EB',\n\t igrave: '\\u00EC',\n\t iacute: '\\u00ED',\n\t icirc: '\\u00EE',\n\t iuml: '\\u00EF',\n\t eth: '\\u00F0',\n\t ntilde: '\\u00F1',\n\t ograve: '\\u00F2',\n\t oacute: '\\u00F3',\n\t ocirc: '\\u00F4',\n\t otilde: '\\u00F5',\n\t ouml: '\\u00F6',\n\t divide: '\\u00F7',\n\t oslash: '\\u00F8',\n\t ugrave: '\\u00F9',\n\t uacute: '\\u00FA',\n\t ucirc: '\\u00FB',\n\t uuml: '\\u00FC',\n\t yacute: '\\u00FD',\n\t thorn: '\\u00FE',\n\t yuml: '\\u00FF',\n\t OElig: '\\u0152',\n\t oelig: '\\u0153',\n\t Scaron: '\\u0160',\n\t scaron: '\\u0161',\n\t Yuml: '\\u0178',\n\t fnof: '\\u0192',\n\t circ: '\\u02C6',\n\t tilde: '\\u02DC',\n\t Alpha: '\\u0391',\n\t Beta: '\\u0392',\n\t Gamma: '\\u0393',\n\t Delta: '\\u0394',\n\t Epsilon: '\\u0395',\n\t Zeta: '\\u0396',\n\t Eta: '\\u0397',\n\t Theta: '\\u0398',\n\t Iota: '\\u0399',\n\t Kappa: '\\u039A',\n\t Lambda: '\\u039B',\n\t Mu: '\\u039C',\n\t Nu: '\\u039D',\n\t Xi: '\\u039E',\n\t Omicron: '\\u039F',\n\t Pi: '\\u03A0',\n\t Rho: '\\u03A1',\n\t Sigma: '\\u03A3',\n\t Tau: '\\u03A4',\n\t Upsilon: '\\u03A5',\n\t Phi: '\\u03A6',\n\t Chi: '\\u03A7',\n\t Psi: '\\u03A8',\n\t Omega: '\\u03A9',\n\t alpha: '\\u03B1',\n\t beta: '\\u03B2',\n\t gamma: '\\u03B3',\n\t delta: '\\u03B4',\n\t epsilon: '\\u03B5',\n\t zeta: '\\u03B6',\n\t eta: '\\u03B7',\n\t theta: '\\u03B8',\n\t iota: '\\u03B9',\n\t kappa: '\\u03BA',\n\t lambda: '\\u03BB',\n\t mu: '\\u03BC',\n\t nu: '\\u03BD',\n\t xi: '\\u03BE',\n\t omicron: '\\u03BF',\n\t pi: '\\u03C0',\n\t rho: '\\u03C1',\n\t sigmaf: '\\u03C2',\n\t sigma: '\\u03C3',\n\t tau: '\\u03C4',\n\t upsilon: '\\u03C5',\n\t phi: '\\u03C6',\n\t chi: '\\u03C7',\n\t psi: '\\u03C8',\n\t omega: '\\u03C9',\n\t thetasym: '\\u03D1',\n\t upsih: '\\u03D2',\n\t piv: '\\u03D6',\n\t ensp: '\\u2002',\n\t emsp: '\\u2003',\n\t thinsp: '\\u2009',\n\t zwnj: '\\u200C',\n\t zwj: '\\u200D',\n\t lrm: '\\u200E',\n\t rlm: '\\u200F',\n\t ndash: '\\u2013',\n\t mdash: '\\u2014',\n\t lsquo: '\\u2018',\n\t rsquo: '\\u2019',\n\t sbquo: '\\u201A',\n\t ldquo: '\\u201C',\n\t rdquo: '\\u201D',\n\t bdquo: '\\u201E',\n\t dagger: '\\u2020',\n\t Dagger: '\\u2021',\n\t bull: '\\u2022',\n\t hellip: '\\u2026',\n\t permil: '\\u2030',\n\t prime: '\\u2032',\n\t Prime: '\\u2033',\n\t lsaquo: '\\u2039',\n\t rsaquo: '\\u203A',\n\t oline: '\\u203E',\n\t frasl: '\\u2044',\n\t euro: '\\u20AC',\n\t image: '\\u2111',\n\t weierp: '\\u2118',\n\t real: '\\u211C',\n\t trade: '\\u2122',\n\t alefsym: '\\u2135',\n\t larr: '\\u2190',\n\t uarr: '\\u2191',\n\t rarr: '\\u2192',\n\t darr: '\\u2193',\n\t harr: '\\u2194',\n\t crarr: '\\u21B5',\n\t lArr: '\\u21D0',\n\t uArr: '\\u21D1',\n\t rArr: '\\u21D2',\n\t dArr: '\\u21D3',\n\t hArr: '\\u21D4',\n\t forall: '\\u2200',\n\t part: '\\u2202',\n\t exist: '\\u2203',\n\t empty: '\\u2205',\n\t nabla: '\\u2207',\n\t isin: '\\u2208',\n\t notin: '\\u2209',\n\t ni: '\\u220B',\n\t prod: '\\u220F',\n\t sum: '\\u2211',\n\t minus: '\\u2212',\n\t lowast: '\\u2217',\n\t radic: '\\u221A',\n\t prop: '\\u221D',\n\t infin: '\\u221E',\n\t ang: '\\u2220',\n\t and: '\\u2227',\n\t or: '\\u2228',\n\t cap: '\\u2229',\n\t cup: '\\u222A',\n\t int: '\\u222B',\n\t there4: '\\u2234',\n\t sim: '\\u223C',\n\t cong: '\\u2245',\n\t asymp: '\\u2248',\n\t ne: '\\u2260',\n\t equiv: '\\u2261',\n\t le: '\\u2264',\n\t ge: '\\u2265',\n\t sub: '\\u2282',\n\t sup: '\\u2283',\n\t nsub: '\\u2284',\n\t sube: '\\u2286',\n\t supe: '\\u2287',\n\t oplus: '\\u2295',\n\t otimes: '\\u2297',\n\t perp: '\\u22A5',\n\t sdot: '\\u22C5',\n\t lceil: '\\u2308',\n\t rceil: '\\u2309',\n\t lfloor: '\\u230A',\n\t rfloor: '\\u230B',\n\t loz: '\\u25CA',\n\t spades: '\\u2660',\n\t clubs: '\\u2663',\n\t hearts: '\\u2665',\n\t diams: '\\u2666',\n\t lang: '\\u27E8',\n\t rang: '\\u27E9'\n\t};\n\n\n/***/ },\n/* 15 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\tObject.defineProperty(exports, \"__esModule\", { value: true });\n\tvar error_handler_1 = __webpack_require__(10);\n\tvar scanner_1 = __webpack_require__(12);\n\tvar token_1 = __webpack_require__(13);\n\tvar Reader = (function () {\n\t function Reader() {\n\t this.values = [];\n\t this.curly = this.paren = -1;\n\t }\n\t // A function following one of those tokens is an expression.\n\t Reader.prototype.beforeFunctionExpression = function (t) {\n\t return ['(', '{', '[', 'in', 'typeof', 'instanceof', 'new',\n\t 'return', 'case', 'delete', 'throw', 'void',\n\t // assignment operators\n\t '=', '+=', '-=', '*=', '**=', '/=', '%=', '<<=', '>>=', '>>>=',\n\t '&=', '|=', '^=', ',',\n\t // binary/unary operators\n\t '+', '-', '*', '**', '/', '%', '++', '--', '<<', '>>', '>>>', '&',\n\t '|', '^', '!', '~', '&&', '||', '?', ':', '===', '==', '>=',\n\t '<=', '<', '>', '!=', '!=='].indexOf(t) >= 0;\n\t };\n\t // Determine if forward slash (/) is an operator or part of a regular expression\n\t // https://github.com/mozilla/sweet.js/wiki/design\n\t Reader.prototype.isRegexStart = function () {\n\t var previous = this.values[this.values.length - 1];\n\t var regex = (previous !== null);\n\t switch (previous) {\n\t case 'this':\n\t case ']':\n\t regex = false;\n\t break;\n\t case ')':\n\t var keyword = this.values[this.paren - 1];\n\t regex = (keyword === 'if' || keyword === 'while' || keyword === 'for' || keyword === 'with');\n\t break;\n\t case '}':\n\t // Dividing a function by anything makes little sense,\n\t // but we have to check for that.\n\t regex = false;\n\t if (this.values[this.curly - 3] === 'function') {\n\t // Anonymous function, e.g. function(){} /42\n\t var check = this.values[this.curly - 4];\n\t regex = check ? !this.beforeFunctionExpression(check) : false;\n\t }\n\t else if (this.values[this.curly - 4] === 'function') {\n\t // Named function, e.g. function f(){} /42/\n\t var check = this.values[this.curly - 5];\n\t regex = check ? !this.beforeFunctionExpression(check) : true;\n\t }\n\t break;\n\t default:\n\t break;\n\t }\n\t return regex;\n\t };\n\t Reader.prototype.push = function (token) {\n\t if (token.type === 7 /* Punctuator */ || token.type === 4 /* Keyword */) {\n\t if (token.value === '{') {\n\t this.curly = this.values.length;\n\t }\n\t else if (token.value === '(') {\n\t this.paren = this.values.length;\n\t }\n\t this.values.push(token.value);\n\t }\n\t else {\n\t this.values.push(null);\n\t }\n\t };\n\t return Reader;\n\t}());\n\tvar Tokenizer = (function () {\n\t function Tokenizer(code, config) {\n\t this.errorHandler = new error_handler_1.ErrorHandler();\n\t this.errorHandler.tolerant = config ? (typeof config.tolerant === 'boolean' && config.tolerant) : false;\n\t this.scanner = new scanner_1.Scanner(code, this.errorHandler);\n\t this.scanner.trackComment = config ? (typeof config.comment === 'boolean' && config.comment) : false;\n\t this.trackRange = config ? (typeof config.range === 'boolean' && config.range) : false;\n\t this.trackLoc = config ? (typeof config.loc === 'boolean' && config.loc) : false;\n\t this.buffer = [];\n\t this.reader = new Reader();\n\t }\n\t Tokenizer.prototype.errors = function () {\n\t return this.errorHandler.errors;\n\t };\n\t Tokenizer.prototype.getNextToken = function () {\n\t if (this.buffer.length === 0) {\n\t var comments = this.scanner.scanComments();\n\t if (this.scanner.trackComment) {\n\t for (var i = 0; i < comments.length; ++i) {\n\t var e = comments[i];\n\t var value = this.scanner.source.slice(e.slice[0], e.slice[1]);\n\t var comment = {\n\t type: e.multiLine ? 'BlockComment' : 'LineComment',\n\t value: value\n\t };\n\t if (this.trackRange) {\n\t comment.range = e.range;\n\t }\n\t if (this.trackLoc) {\n\t comment.loc = e.loc;\n\t }\n\t this.buffer.push(comment);\n\t }\n\t }\n\t if (!this.scanner.eof()) {\n\t var loc = void 0;\n\t if (this.trackLoc) {\n\t loc = {\n\t start: {\n\t line: this.scanner.lineNumber,\n\t column: this.scanner.index - this.scanner.lineStart\n\t },\n\t end: {}\n\t };\n\t }\n\t var startRegex = (this.scanner.source[this.scanner.index] === '/') && this.reader.isRegexStart();\n\t var token = startRegex ? this.scanner.scanRegExp() : this.scanner.lex();\n\t this.reader.push(token);\n\t var entry = {\n\t type: token_1.TokenName[token.type],\n\t value: this.scanner.source.slice(token.start, token.end)\n\t };\n\t if (this.trackRange) {\n\t entry.range = [token.start, token.end];\n\t }\n\t if (this.trackLoc) {\n\t loc.end = {\n\t line: this.scanner.lineNumber,\n\t column: this.scanner.index - this.scanner.lineStart\n\t };\n\t entry.loc = loc;\n\t }\n\t if (token.type === 9 /* RegularExpression */) {\n\t var pattern = token.pattern;\n\t var flags = token.flags;\n\t entry.regex = { pattern: pattern, flags: flags };\n\t }\n\t this.buffer.push(entry);\n\t }\n\t }\n\t return this.buffer.shift();\n\t };\n\t return Tokenizer;\n\t}());\n\texports.Tokenizer = Tokenizer;\n\n\n/***/ }\n/******/ ])\n});\n;","'use strict'\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction getLens (b64) {\n var len = b64.length\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=')\n if (validLen === -1) validLen = len\n\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4)\n\n return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\n var curByte = 0\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen\n\n var i\n for (i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)]\n arr[curByte++] = (tmp >> 16) & 0xFF\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF)\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n parts.push(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n )\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n )\n }\n\n return parts.join('')\n}\n","/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */\nexports.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var nBits = -7\n var i = isLE ? (nBytes - 1) : 0\n var d = isLE ? -1 : 1\n var s = buffer[offset + i]\n\n i += d\n\n e = s & ((1 << (-nBits)) - 1)\n s >>= (-nBits)\n nBits += eLen\n for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1)\n e >>= (-nBits)\n nBits += mLen\n for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen)\n e = e - eBias\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n var i = isLE ? 0 : (nBytes - 1)\n var d = isLE ? 1 : -1\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n value = Math.abs(value)\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0\n e = eMax\n } else {\n e = Math.floor(Math.log(value) / Math.LN2)\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--\n c *= 2\n }\n if (e + eBias >= 1) {\n value += rt / c\n } else {\n value += rt * Math.pow(2, 1 - eBias)\n }\n if (value * c >= 2) {\n e++\n c /= 2\n }\n\n if (e + eBias >= eMax) {\n m = 0\n e = eMax\n } else if (e + eBias >= 1) {\n m = ((value * c) - 1) * Math.pow(2, mLen)\n e = e + eBias\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n e = 0\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m\n eLen += mLen\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128\n}\n","/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh <https://feross.org>\n * @license MIT\n */\n/* eslint-disable no-proto */\n\n'use strict'\n\nconst base64 = require('base64-js')\nconst ieee754 = require('ieee754')\nconst customInspectSymbol =\n (typeof Symbol === 'function' && typeof Symbol['for'] === 'function') // eslint-disable-line dot-notation\n ? Symbol['for']('nodejs.util.inspect.custom') // eslint-disable-line dot-notation\n : null\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\nconst K_MAX_LENGTH = 0x7fffffff\nexports.kMaxLength = K_MAX_LENGTH\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Print warning and recommend using `buffer` v4.x which has an Object\n * implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * We report that the browser does not support typed arrays if the are not subclassable\n * using __proto__. Firefox 4-29 lacks support for adding new properties to `Uint8Array`\n * (See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438). IE 10 lacks support\n * for __proto__ and has a buggy typed array implementation.\n */\nBuffer.TYPED_ARRAY_SUPPORT = typedArraySupport()\n\nif (!Buffer.TYPED_ARRAY_SUPPORT && typeof console !== 'undefined' &&\n typeof console.error === 'function') {\n console.error(\n 'This browser lacks typed array (Uint8Array) support which is required by ' +\n '`buffer` v5.x. Use `buffer` v4.x if you require old browser support.'\n )\n}\n\nfunction typedArraySupport () {\n // Can typed array instances can be augmented?\n try {\n const arr = new Uint8Array(1)\n const proto = { foo: function () { return 42 } }\n Object.setPrototypeOf(proto, Uint8Array.prototype)\n Object.setPrototypeOf(arr, proto)\n return arr.foo() === 42\n } catch (e) {\n return false\n }\n}\n\nObject.defineProperty(Buffer.prototype, 'parent', {\n enumerable: true,\n get: function () {\n if (!Buffer.isBuffer(this)) return undefined\n return this.buffer\n }\n})\n\nObject.defineProperty(Buffer.prototype, 'offset', {\n enumerable: true,\n get: function () {\n if (!Buffer.isBuffer(this)) return undefined\n return this.byteOffset\n }\n})\n\nfunction createBuffer (length) {\n if (length > K_MAX_LENGTH) {\n throw new RangeError('The value \"' + length + '\" is invalid for option \"size\"')\n }\n // Return an augmented `Uint8Array` instance\n const buf = new Uint8Array(length)\n Object.setPrototypeOf(buf, Buffer.prototype)\n return buf\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new TypeError(\n 'The \"string\" argument must be of type string. Received type number'\n )\n }\n return allocUnsafe(arg)\n }\n return from(arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\nfunction from (value, encodingOrOffset, length) {\n if (typeof value === 'string') {\n return fromString(value, encodingOrOffset)\n }\n\n if (ArrayBuffer.isView(value)) {\n return fromArrayView(value)\n }\n\n if (value == null) {\n throw new TypeError(\n 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n 'or Array-like Object. Received type ' + (typeof value)\n )\n }\n\n if (isInstance(value, ArrayBuffer) ||\n (value && isInstance(value.buffer, ArrayBuffer))) {\n return fromArrayBuffer(value, encodingOrOffset, length)\n }\n\n if (typeof SharedArrayBuffer !== 'undefined' &&\n (isInstance(value, SharedArrayBuffer) ||\n (value && isInstance(value.buffer, SharedArrayBuffer)))) {\n return fromArrayBuffer(value, encodingOrOffset, length)\n }\n\n if (typeof value === 'number') {\n throw new TypeError(\n 'The \"value\" argument must not be of type number. Received type number'\n )\n }\n\n const valueOf = value.valueOf && value.valueOf()\n if (valueOf != null && valueOf !== value) {\n return Buffer.from(valueOf, encodingOrOffset, length)\n }\n\n const b = fromObject(value)\n if (b) return b\n\n if (typeof Symbol !== 'undefined' && Symbol.toPrimitive != null &&\n typeof value[Symbol.toPrimitive] === 'function') {\n return Buffer.from(value[Symbol.toPrimitive]('string'), encodingOrOffset, length)\n }\n\n throw new TypeError(\n 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n 'or Array-like Object. Received type ' + (typeof value)\n )\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(value, encodingOrOffset, length)\n}\n\n// Note: Change prototype *after* Buffer.from is defined to workaround Chrome bug:\n// https://github.com/feross/buffer/pull/148\nObject.setPrototypeOf(Buffer.prototype, Uint8Array.prototype)\nObject.setPrototypeOf(Buffer, Uint8Array)\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be of type number')\n } else if (size < 0) {\n throw new RangeError('The value \"' + size + '\" is invalid for option \"size\"')\n }\n}\n\nfunction alloc (size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpreted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(size).fill(fill, encoding)\n : createBuffer(size).fill(fill)\n }\n return createBuffer(size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(size, fill, encoding)\n}\n\nfunction allocUnsafe (size) {\n assertSize(size)\n return createBuffer(size < 0 ? 0 : checked(size) | 0)\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(size)\n}\n\nfunction fromString (string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n\n const length = byteLength(string, encoding) | 0\n let buf = createBuffer(length)\n\n const actual = buf.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n buf = buf.slice(0, actual)\n }\n\n return buf\n}\n\nfunction fromArrayLike (array) {\n const length = array.length < 0 ? 0 : checked(array.length) | 0\n const buf = createBuffer(length)\n for (let i = 0; i < length; i += 1) {\n buf[i] = array[i] & 255\n }\n return buf\n}\n\nfunction fromArrayView (arrayView) {\n if (isInstance(arrayView, Uint8Array)) {\n const copy = new Uint8Array(arrayView)\n return fromArrayBuffer(copy.buffer, copy.byteOffset, copy.byteLength)\n }\n return fromArrayLike(arrayView)\n}\n\nfunction fromArrayBuffer (array, byteOffset, length) {\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\"offset\" is outside of buffer bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\"length\" is outside of buffer bounds')\n }\n\n let buf\n if (byteOffset === undefined && length === undefined) {\n buf = new Uint8Array(array)\n } else if (length === undefined) {\n buf = new Uint8Array(array, byteOffset)\n } else {\n buf = new Uint8Array(array, byteOffset, length)\n }\n\n // Return an augmented `Uint8Array` instance\n Object.setPrototypeOf(buf, Buffer.prototype)\n\n return buf\n}\n\nfunction fromObject (obj) {\n if (Buffer.isBuffer(obj)) {\n const len = checked(obj.length) | 0\n const buf = createBuffer(len)\n\n if (buf.length === 0) {\n return buf\n }\n\n obj.copy(buf, 0, 0, len)\n return buf\n }\n\n if (obj.length !== undefined) {\n if (typeof obj.length !== 'number' || numberIsNaN(obj.length)) {\n return createBuffer(0)\n }\n return fromArrayLike(obj)\n }\n\n if (obj.type === 'Buffer' && Array.isArray(obj.data)) {\n return fromArrayLike(obj.data)\n }\n}\n\nfunction checked (length) {\n // Note: cannot use `length < K_MAX_LENGTH` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= K_MAX_LENGTH) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + K_MAX_LENGTH.toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return b != null && b._isBuffer === true &&\n b !== Buffer.prototype // so Buffer.isBuffer(Buffer.prototype) will be false\n}\n\nBuffer.compare = function compare (a, b) {\n if (isInstance(a, Uint8Array)) a = Buffer.from(a, a.offset, a.byteLength)\n if (isInstance(b, Uint8Array)) b = Buffer.from(b, b.offset, b.byteLength)\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError(\n 'The \"buf1\", \"buf2\" arguments must be one of type Buffer or Uint8Array'\n )\n }\n\n if (a === b) return 0\n\n let x = a.length\n let y = b.length\n\n for (let i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!Array.isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n let i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n const buffer = Buffer.allocUnsafe(length)\n let pos = 0\n for (i = 0; i < list.length; ++i) {\n let buf = list[i]\n if (isInstance(buf, Uint8Array)) {\n if (pos + buf.length > buffer.length) {\n if (!Buffer.isBuffer(buf)) buf = Buffer.from(buf)\n buf.copy(buffer, pos)\n } else {\n Uint8Array.prototype.set.call(\n buffer,\n buf,\n pos\n )\n }\n } else if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n } else {\n buf.copy(buffer, pos)\n }\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (ArrayBuffer.isView(string) || isInstance(string, ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n throw new TypeError(\n 'The \"string\" argument must be one of type string, Buffer, or ArrayBuffer. ' +\n 'Received type ' + typeof string\n )\n }\n\n const len = string.length\n const mustMatch = (arguments.length > 2 && arguments[2] === true)\n if (!mustMatch && len === 0) return 0\n\n // Use a for loop to avoid recursion\n let loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) {\n return mustMatch ? -1 : utf8ToBytes(string).length // assume utf8\n }\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n let loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coercion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// This property is used by `Buffer.isBuffer` (and the `is-buffer` npm package)\n// to detect a Buffer instance. It's not possible to use `instanceof Buffer`\n// reliably in a browserify context because there could be multiple different\n// copies of the 'buffer' package in use. This method works even for Buffer\n// instances that were created from another copy of the `buffer` package.\n// See: https://github.com/feross/buffer/issues/154\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n const i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n const len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (let i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n const len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (let i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n const len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (let i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n const length = this.length\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.toLocaleString = Buffer.prototype.toString\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n let str = ''\n const max = exports.INSPECT_MAX_BYTES\n str = this.toString('hex', 0, max).replace(/(.{2})/g, '$1 ').trim()\n if (this.length > max) str += ' ... '\n return '<Buffer ' + str + '>'\n}\nif (customInspectSymbol) {\n Buffer.prototype[customInspectSymbol] = Buffer.prototype.inspect\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (isInstance(target, Uint8Array)) {\n target = Buffer.from(target, target.offset, target.byteLength)\n }\n if (!Buffer.isBuffer(target)) {\n throw new TypeError(\n 'The \"target\" argument must be one of type Buffer or Uint8Array. ' +\n 'Received type ' + (typeof target)\n )\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n let x = thisEnd - thisStart\n let y = end - start\n const len = Math.min(x, y)\n\n const thisCopy = this.slice(thisStart, thisEnd)\n const targetCopy = target.slice(start, end)\n\n for (let i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (numberIsNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [val], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n let indexSize = 1\n let arrLength = arr.length\n let valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n let i\n if (dir) {\n let foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n let found = true\n for (let j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n const remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n const strLen = string.length\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n let i\n for (i = 0; i < length; ++i) {\n const parsed = parseInt(string.substr(i * 2, 2), 16)\n if (numberIsNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset >>> 0\n if (isFinite(length)) {\n length = length >>> 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n const remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n let loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n case 'latin1':\n case 'binary':\n return asciiWrite(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n const res = []\n\n let i = start\n while (i < end) {\n const firstByte = buf[i]\n let codePoint = null\n let bytesPerSequence = (firstByte > 0xEF)\n ? 4\n : (firstByte > 0xDF)\n ? 3\n : (firstByte > 0xBF)\n ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n let secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nconst MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n const len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n let res = ''\n let i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n let ret = ''\n end = Math.min(buf.length, end)\n\n for (let i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n let ret = ''\n end = Math.min(buf.length, end)\n\n for (let i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n const len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n let out = ''\n for (let i = start; i < end; ++i) {\n out += hexSliceLookupTable[buf[i]]\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n const bytes = buf.slice(start, end)\n let res = ''\n // If bytes.length is odd, the last 8 bits must be ignored (same as node.js)\n for (let i = 0; i < bytes.length - 1; i += 2) {\n res += String.fromCharCode(bytes[i] + (bytes[i + 1] * 256))\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n const len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n const newBuf = this.subarray(start, end)\n // Return an augmented `Uint8Array` instance\n Object.setPrototypeOf(newBuf, Buffer.prototype)\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUintLE =\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n let val = this[offset]\n let mul = 1\n let i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUintBE =\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n let val = this[offset + --byteLength]\n let mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUint8 =\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUint16LE =\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUint16BE =\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUint32LE =\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUint32BE =\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readBigUInt64LE = defineBigIntMethod(function readBigUInt64LE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const lo = first +\n this[++offset] * 2 ** 8 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 24\n\n const hi = this[++offset] +\n this[++offset] * 2 ** 8 +\n this[++offset] * 2 ** 16 +\n last * 2 ** 24\n\n return BigInt(lo) + (BigInt(hi) << BigInt(32))\n})\n\nBuffer.prototype.readBigUInt64BE = defineBigIntMethod(function readBigUInt64BE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const hi = first * 2 ** 24 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n this[++offset]\n\n const lo = this[++offset] * 2 ** 24 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n last\n\n return (BigInt(hi) << BigInt(32)) + BigInt(lo)\n})\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n let val = this[offset]\n let mul = 1\n let i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n let i = byteLength\n let mul = 1\n let val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n const val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n const val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readBigInt64LE = defineBigIntMethod(function readBigInt64LE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const val = this[offset + 4] +\n this[offset + 5] * 2 ** 8 +\n this[offset + 6] * 2 ** 16 +\n (last << 24) // Overflow\n\n return (BigInt(val) << BigInt(32)) +\n BigInt(first +\n this[++offset] * 2 ** 8 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 24)\n})\n\nBuffer.prototype.readBigInt64BE = defineBigIntMethod(function readBigInt64BE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const val = (first << 24) + // Overflow\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n this[++offset]\n\n return (BigInt(val) << BigInt(32)) +\n BigInt(this[++offset] * 2 ** 24 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n last)\n})\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUintLE =\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n const maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n let mul = 1\n let i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUintBE =\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n const maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n let i = byteLength - 1\n let mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUint8 =\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeUint16LE =\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n return offset + 2\n}\n\nBuffer.prototype.writeUint16BE =\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n return offset + 2\n}\n\nBuffer.prototype.writeUint32LE =\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n return offset + 4\n}\n\nBuffer.prototype.writeUint32BE =\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n return offset + 4\n}\n\nfunction wrtBigUInt64LE (buf, value, offset, min, max) {\n checkIntBI(value, min, max, buf, offset, 7)\n\n let lo = Number(value & BigInt(0xffffffff))\n buf[offset++] = lo\n lo = lo >> 8\n buf[offset++] = lo\n lo = lo >> 8\n buf[offset++] = lo\n lo = lo >> 8\n buf[offset++] = lo\n let hi = Number(value >> BigInt(32) & BigInt(0xffffffff))\n buf[offset++] = hi\n hi = hi >> 8\n buf[offset++] = hi\n hi = hi >> 8\n buf[offset++] = hi\n hi = hi >> 8\n buf[offset++] = hi\n return offset\n}\n\nfunction wrtBigUInt64BE (buf, value, offset, min, max) {\n checkIntBI(value, min, max, buf, offset, 7)\n\n let lo = Number(value & BigInt(0xffffffff))\n buf[offset + 7] = lo\n lo = lo >> 8\n buf[offset + 6] = lo\n lo = lo >> 8\n buf[offset + 5] = lo\n lo = lo >> 8\n buf[offset + 4] = lo\n let hi = Number(value >> BigInt(32) & BigInt(0xffffffff))\n buf[offset + 3] = hi\n hi = hi >> 8\n buf[offset + 2] = hi\n hi = hi >> 8\n buf[offset + 1] = hi\n hi = hi >> 8\n buf[offset] = hi\n return offset + 8\n}\n\nBuffer.prototype.writeBigUInt64LE = defineBigIntMethod(function writeBigUInt64LE (value, offset = 0) {\n return wrtBigUInt64LE(this, value, offset, BigInt(0), BigInt('0xffffffffffffffff'))\n})\n\nBuffer.prototype.writeBigUInt64BE = defineBigIntMethod(function writeBigUInt64BE (value, offset = 0) {\n return wrtBigUInt64BE(this, value, offset, BigInt(0), BigInt('0xffffffffffffffff'))\n})\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n const limit = Math.pow(2, (8 * byteLength) - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n let i = 0\n let mul = 1\n let sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n const limit = Math.pow(2, (8 * byteLength) - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n let i = byteLength - 1\n let mul = 1\n let sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n return offset + 4\n}\n\nBuffer.prototype.writeBigInt64LE = defineBigIntMethod(function writeBigInt64LE (value, offset = 0) {\n return wrtBigUInt64LE(this, value, offset, -BigInt('0x8000000000000000'), BigInt('0x7fffffffffffffff'))\n})\n\nBuffer.prototype.writeBigInt64BE = defineBigIntMethod(function writeBigInt64BE (value, offset = 0) {\n return wrtBigUInt64BE(this, value, offset, -BigInt('0x8000000000000000'), BigInt('0x7fffffffffffffff'))\n})\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!Buffer.isBuffer(target)) throw new TypeError('argument should be a Buffer')\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('Index out of range')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n const len = end - start\n\n if (this === target && typeof Uint8Array.prototype.copyWithin === 'function') {\n // Use built-in when available, missing from IE11\n this.copyWithin(targetStart, start, end)\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, end),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n if (val.length === 1) {\n const code = val.charCodeAt(0)\n if ((encoding === 'utf8' && code < 128) ||\n encoding === 'latin1') {\n // Fast path: If `val` fits into a single byte, use that numeric value.\n val = code\n }\n }\n } else if (typeof val === 'number') {\n val = val & 255\n } else if (typeof val === 'boolean') {\n val = Number(val)\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n let i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n const bytes = Buffer.isBuffer(val)\n ? val\n : Buffer.from(val, encoding)\n const len = bytes.length\n if (len === 0) {\n throw new TypeError('The value \"' + val +\n '\" is invalid for argument \"value\"')\n }\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// CUSTOM ERRORS\n// =============\n\n// Simplified versions from Node, changed for Buffer-only usage\nconst errors = {}\nfunction E (sym, getMessage, Base) {\n errors[sym] = class NodeError extends Base {\n constructor () {\n super()\n\n Object.defineProperty(this, 'message', {\n value: getMessage.apply(this, arguments),\n writable: true,\n configurable: true\n })\n\n // Add the error code to the name to include it in the stack trace.\n this.name = `${this.name} [${sym}]`\n // Access the stack to generate the error message including the error code\n // from the name.\n this.stack // eslint-disable-line no-unused-expressions\n // Reset the name to the actual name.\n delete this.name\n }\n\n get code () {\n return sym\n }\n\n set code (value) {\n Object.defineProperty(this, 'code', {\n configurable: true,\n enumerable: true,\n value,\n writable: true\n })\n }\n\n toString () {\n return `${this.name} [${sym}]: ${this.message}`\n }\n }\n}\n\nE('ERR_BUFFER_OUT_OF_BOUNDS',\n function (name) {\n if (name) {\n return `${name} is outside of buffer bounds`\n }\n\n return 'Attempt to access memory outside buffer bounds'\n }, RangeError)\nE('ERR_INVALID_ARG_TYPE',\n function (name, actual) {\n return `The \"${name}\" argument must be of type number. Received type ${typeof actual}`\n }, TypeError)\nE('ERR_OUT_OF_RANGE',\n function (str, range, input) {\n let msg = `The value of \"${str}\" is out of range.`\n let received = input\n if (Number.isInteger(input) && Math.abs(input) > 2 ** 32) {\n received = addNumericalSeparator(String(input))\n } else if (typeof input === 'bigint') {\n received = String(input)\n if (input > BigInt(2) ** BigInt(32) || input < -(BigInt(2) ** BigInt(32))) {\n received = addNumericalSeparator(received)\n }\n received += 'n'\n }\n msg += ` It must be ${range}. Received ${received}`\n return msg\n }, RangeError)\n\nfunction addNumericalSeparator (val) {\n let res = ''\n let i = val.length\n const start = val[0] === '-' ? 1 : 0\n for (; i >= start + 4; i -= 3) {\n res = `_${val.slice(i - 3, i)}${res}`\n }\n return `${val.slice(0, i)}${res}`\n}\n\n// CHECK FUNCTIONS\n// ===============\n\nfunction checkBounds (buf, offset, byteLength) {\n validateNumber(offset, 'offset')\n if (buf[offset] === undefined || buf[offset + byteLength] === undefined) {\n boundsError(offset, buf.length - (byteLength + 1))\n }\n}\n\nfunction checkIntBI (value, min, max, buf, offset, byteLength) {\n if (value > max || value < min) {\n const n = typeof min === 'bigint' ? 'n' : ''\n let range\n if (byteLength > 3) {\n if (min === 0 || min === BigInt(0)) {\n range = `>= 0${n} and < 2${n} ** ${(byteLength + 1) * 8}${n}`\n } else {\n range = `>= -(2${n} ** ${(byteLength + 1) * 8 - 1}${n}) and < 2 ** ` +\n `${(byteLength + 1) * 8 - 1}${n}`\n }\n } else {\n range = `>= ${min}${n} and <= ${max}${n}`\n }\n throw new errors.ERR_OUT_OF_RANGE('value', range, value)\n }\n checkBounds(buf, offset, byteLength)\n}\n\nfunction validateNumber (value, name) {\n if (typeof value !== 'number') {\n throw new errors.ERR_INVALID_ARG_TYPE(name, 'number', value)\n }\n}\n\nfunction boundsError (value, length, type) {\n if (Math.floor(value) !== value) {\n validateNumber(value, type)\n throw new errors.ERR_OUT_OF_RANGE(type || 'offset', 'an integer', value)\n }\n\n if (length < 0) {\n throw new errors.ERR_BUFFER_OUT_OF_BOUNDS()\n }\n\n throw new errors.ERR_OUT_OF_RANGE(type || 'offset',\n `>= ${type ? 1 : 0} and <= ${length}`,\n value)\n}\n\n// HELPER FUNCTIONS\n// ================\n\nconst INVALID_BASE64_RE = /[^+/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node takes equal signs as end of the Base64 encoding\n str = str.split('=')[0]\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = str.trim().replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n let codePoint\n const length = string.length\n let leadSurrogate = null\n const bytes = []\n\n for (let i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n const byteArray = []\n for (let i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n let c, hi, lo\n const byteArray = []\n for (let i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n let i\n for (i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\n// ArrayBuffer or Uint8Array objects from other contexts (i.e. iframes) do not pass\n// the `instanceof` check but they should be treated as of that type.\n// See: https://github.com/feross/buffer/issues/166\nfunction isInstance (obj, type) {\n return obj instanceof type ||\n (obj != null && obj.constructor != null && obj.constructor.name != null &&\n obj.constructor.name === type.name)\n}\nfunction numberIsNaN (obj) {\n // For IE11 support\n return obj !== obj // eslint-disable-line no-self-compare\n}\n\n// Create lookup table for `toString('hex')`\n// See: https://github.com/feross/buffer/issues/219\nconst hexSliceLookupTable = (function () {\n const alphabet = '0123456789abcdef'\n const table = new Array(256)\n for (let i = 0; i < 16; ++i) {\n const i16 = i * 16\n for (let j = 0; j < 16; ++j) {\n table[i16 + j] = alphabet[i] + alphabet[j]\n }\n }\n return table\n})()\n\n// Return not function with Error if BigInt not supported\nfunction defineBigIntMethod (fn) {\n return typeof BigInt === 'undefined' ? BufferBigIntNotDefined : fn\n}\n\nfunction BufferBigIntNotDefined () {\n throw new Error('BigInt not supported')\n}\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// NOTE: These type checking functions intentionally don't use `instanceof`\n// because it is fragile and can be easily faked with `Object.create()`.\n\nfunction isArray(arg) {\n if (Array.isArray) {\n return Array.isArray(arg);\n }\n return objectToString(arg) === '[object Array]';\n}\nexports.isArray = isArray;\n\nfunction isBoolean(arg) {\n return typeof arg === 'boolean';\n}\nexports.isBoolean = isBoolean;\n\nfunction isNull(arg) {\n return arg === null;\n}\nexports.isNull = isNull;\n\nfunction isNullOrUndefined(arg) {\n return arg == null;\n}\nexports.isNullOrUndefined = isNullOrUndefined;\n\nfunction isNumber(arg) {\n return typeof arg === 'number';\n}\nexports.isNumber = isNumber;\n\nfunction isString(arg) {\n return typeof arg === 'string';\n}\nexports.isString = isString;\n\nfunction isSymbol(arg) {\n return typeof arg === 'symbol';\n}\nexports.isSymbol = isSymbol;\n\nfunction isUndefined(arg) {\n return arg === void 0;\n}\nexports.isUndefined = isUndefined;\n\nfunction isRegExp(re) {\n return objectToString(re) === '[object RegExp]';\n}\nexports.isRegExp = isRegExp;\n\nfunction isObject(arg) {\n return typeof arg === 'object' && arg !== null;\n}\nexports.isObject = isObject;\n\nfunction isDate(d) {\n return objectToString(d) === '[object Date]';\n}\nexports.isDate = isDate;\n\nfunction isError(e) {\n return (objectToString(e) === '[object Error]' || e instanceof Error);\n}\nexports.isError = isError;\n\nfunction isFunction(arg) {\n return typeof arg === 'function';\n}\nexports.isFunction = isFunction;\n\nfunction isPrimitive(arg) {\n return arg === null ||\n typeof arg === 'boolean' ||\n typeof arg === 'number' ||\n typeof arg === 'string' ||\n typeof arg === 'symbol' || // ES6 symbol\n typeof arg === 'undefined';\n}\nexports.isPrimitive = isPrimitive;\n\nexports.isBuffer = require('buffer').Buffer.isBuffer;\n\nfunction objectToString(o) {\n return Object.prototype.toString.call(o);\n}\n","/**\n * Default minimum size of a run.\n */\nconst DEFAULT_MIN_MERGE = 32\n\n/**\n * Minimum ordered subsequece required to do galloping.\n */\nconst DEFAULT_MIN_GALLOPING = 7\n\n/**\n * Default tmp storage length. Can increase depending on the size of the\n * smallest run to merge.\n */\nconst DEFAULT_TMP_STORAGE_LENGTH = 256\n\n/**\n * Pre-computed powers of 10 for efficient lexicographic comparison of\n * small integers.\n */\nconst POWERS_OF_TEN = [1e0, 1e1, 1e2, 1e3, 1e4, 1e5, 1e6, 1e7, 1e8, 1e9]\n\nlet results\n\n/**\n * Estimate the logarithm base 10 of a small integer.\n *\n * @param {number} x - The integer to estimate the logarithm of.\n * @return {number} - The estimated logarithm of the integer.\n */\nconst log10 = x => x < 1e5\n ? x < 1e2\n ? x < 1e1\n ? 0\n : 1\n : x < 1e4\n ? x < 1e3\n ? 2\n : 3\n : 4\n : x < 1e7\n ? x < 1e6\n ? 5\n : 6\n : x < 1e9\n ? x < 1e8\n ? 7\n : 8\n : 9\n\n/**\n * Default alphabetical comparison of items.\n *\n * @param {string|object|number} a - First element to compare.\n * @param {string|object|number} b - Second element to compare.\n * @return {number} - A positive number if a.toString() > b.toString(), a\n * negative number if .toString() < b.toString(), 0 otherwise.\n */\nfunction alphabeticalCompare (a, b) {\n if (a === b) {\n return 0\n }\n\n if (~ ~ a === a && ~ ~ b === b) {\n if (a === 0 || b === 0) {\n return a < b ? - 1 : 1\n }\n\n if (a < 0 || b < 0) {\n if (b >= 0) {\n return - 1\n }\n\n if (a >= 0) {\n return 1\n }\n\n a = - a\n b = - b\n }\n\n const al = log10(a)\n const bl = log10(b)\n\n let t = 0\n\n if (al < bl) {\n a *= POWERS_OF_TEN[bl - al - 1]\n b /= 10\n t = - 1\n } else if (al > bl) {\n b *= POWERS_OF_TEN[al - bl - 1]\n a /= 10\n t = 1\n }\n\n if (a === b) {\n return t\n }\n\n return a < b ? - 1 : 1\n }\n\n const aStr = String(a)\n const bStr = String(b)\n\n if (aStr === bStr) {\n return 0\n }\n\n return aStr < bStr ? - 1 : 1\n}\n\n/**\n * Compute minimum run length for TimSort\n *\n * @param {number} n - The size of the array to sort.\n */\nfunction minRunLength (n) {\n let r = 0\n\n while (n >= DEFAULT_MIN_MERGE) {\n r |= (n & 1)\n n >>= 1\n }\n\n return n + r\n}\n\n/**\n * Counts the length of a monotonically ascending or strictly monotonically\n * descending sequence (run) starting at array[lo] in the range [lo, hi). If\n * the run is descending it is made ascending.\n *\n * @param {array} array - The array to reverse.\n * @param {number} lo - First element in the range (inclusive).\n * @param {number} hi - Last element in the range.\n * @param {function} compare - Item comparison function.\n * @return {number} - The length of the run.\n */\nfunction makeAscendingRun (array, lo, hi, compare) {\n let runHi = lo + 1\n\n if (runHi === hi) {\n return 1\n }\n\n // Descending\n if (compare(array[runHi ++], array[lo]) < 0) {\n while (runHi < hi && compare(array[runHi], array[runHi - 1]) < 0) {\n runHi ++\n }\n\n reverseRun(array, lo, runHi)\n reverseRun(results, lo, runHi)\n // Ascending\n } else {\n while (runHi < hi && compare(array[runHi], array[runHi - 1]) >= 0) {\n runHi ++\n }\n }\n\n return runHi - lo\n}\n\n/**\n * Reverse an array in the range [lo, hi).\n *\n * @param {array} array - The array to reverse.\n * @param {number} lo - First element in the range (inclusive).\n * @param {number} hi - Last element in the range.\n */\nfunction reverseRun (array, lo, hi) {\n hi --\n\n while (lo < hi) {\n const t = array[lo]\n array[lo ++] = array[hi]\n array[hi --] = t\n }\n}\n\n/**\n * Perform the binary sort of the array in the range [lo, hi) where start is\n * the first element possibly out of order.\n *\n * @param {array} array - The array to sort.\n * @param {number} lo - First element in the range (inclusive).\n * @param {number} hi - Last element in the range.\n * @param {number} start - First element possibly out of order.\n * @param {function} compare - Item comparison function.\n */\nfunction binaryInsertionSort (array, lo, hi, start, compare) {\n if (start === lo) {\n start ++\n }\n\n for (; start < hi; start ++) {\n const pivot = array[start]\n const pivotIndex = results[start]\n\n // Ranges of the array where pivot belongs\n let left = lo\n let right = start\n\n /*\n * pivot >= array[i] for i in [lo, left)\n * pivot < array[i] for i in in [right, start)\n */\n while (left < right) {\n const mid = (left + right) >>> 1\n\n if (compare(pivot, array[mid]) < 0) {\n right = mid\n } else {\n left = mid + 1\n }\n }\n\n /*\n * Move elements right to make room for the pivot. If there are elements\n * equal to pivot, left points to the first slot after them: this is also\n * a reason for which TimSort is stable\n */\n let n = start - left\n // Switch is just an optimization for small arrays\n switch (n) {\n case 3:\n array[left + 3] = array[left + 2]\n results[left + 3] = results[left + 2]\n /* falls through */\n case 2:\n array[left + 2] = array[left + 1]\n results[left + 2] = results[left + 1]\n /* falls through */\n case 1:\n array[left + 1] = array[left]\n results[left + 1] = results[left]\n break\n default:\n while (n > 0) {\n array[left + n] = array[left + n - 1]\n results[left + n] = results[left + n - 1]\n n --\n }\n }\n\n array[left] = pivot\n results[left] = pivotIndex\n }\n}\n\n/**\n * Find the position at which to insert a value in a sorted range. If the range\n * contains elements equal to the value the leftmost element index is returned\n * (for stability).\n *\n * @param {number} value - Value to insert.\n * @param {array} array - The array in which to insert value.\n * @param {number} start - First element in the range.\n * @param {number} length - Length of the range.\n * @param {number} hint - The index at which to begin the search.\n * @param {function} compare - Item comparison function.\n * @return {number} - The index where to insert value.\n */\nfunction gallopLeft (value, array, start, length, hint, compare) {\n let lastOffset = 0\n let maxOffset = 0\n let offset = 1\n\n if (compare(value, array[start + hint]) > 0) {\n maxOffset = length - hint\n\n while (\n offset < maxOffset\n && compare(value, array[start + hint + offset]) > 0\n ) {\n lastOffset = offset\n offset = (offset << 1) + 1\n\n if (offset <= 0) {\n offset = maxOffset\n }\n }\n\n if (offset > maxOffset) {\n offset = maxOffset\n }\n\n // Make offsets relative to start\n lastOffset += hint\n offset += hint\n\n // value <= array[start + hint]\n } else {\n maxOffset = hint + 1\n while (\n offset < maxOffset\n && compare(value, array[start + hint - offset]) <= 0\n ) {\n lastOffset = offset\n offset = (offset << 1) + 1\n\n if (offset <= 0) {\n offset = maxOffset\n }\n }\n if (offset > maxOffset) {\n offset = maxOffset\n }\n\n // Make offsets relative to start\n const tmp = lastOffset\n lastOffset = hint - offset\n offset = hint - tmp\n }\n\n /*\n * Now array[start+lastOffset] < value <= array[start+offset], so value\n * belongs somewhere in the range (start + lastOffset, start + offset]. Do a\n * binary search, with invariant array[start + lastOffset - 1] < value <=\n * array[start + offset].\n */\n lastOffset ++\n while (lastOffset < offset) {\n const m = lastOffset + ((offset - lastOffset) >>> 1)\n\n if (compare(value, array[start + m]) > 0) {\n lastOffset = m + 1\n } else {\n offset = m\n }\n }\n return offset\n}\n\n/**\n * Find the position at which to insert a value in a sorted range. If the range\n * contains elements equal to the value the rightmost element index is returned\n * (for stability).\n *\n * @param {number} value - Value to insert.\n * @param {array} array - The array in which to insert value.\n * @param {number} start - First element in the range.\n * @param {number} length - Length of the range.\n * @param {number} hint - The index at which to begin the search.\n * @param {function} compare - Item comparison function.\n * @return {number} - The index where to insert value.\n */\nfunction gallopRight (value, array, start, length, hint, compare) {\n let lastOffset = 0\n let maxOffset = 0\n let offset = 1\n\n if (compare(value, array[start + hint]) < 0) {\n maxOffset = hint + 1\n\n while (\n offset < maxOffset\n && compare(value, array[start + hint - offset]) < 0\n ) {\n lastOffset = offset\n offset = (offset << 1) + 1\n\n if (offset <= 0) {\n offset = maxOffset\n }\n }\n\n if (offset > maxOffset) {\n offset = maxOffset\n }\n\n // Make offsets relative to start\n const tmp = lastOffset\n lastOffset = hint - offset\n offset = hint - tmp\n\n // value >= array[start + hint]\n } else {\n maxOffset = length - hint\n\n while (\n offset < maxOffset\n && compare(value, array[start + hint + offset]) >= 0\n ) {\n lastOffset = offset\n offset = (offset << 1) + 1\n\n if (offset <= 0) {\n offset = maxOffset\n }\n }\n\n if (offset > maxOffset) {\n offset = maxOffset\n }\n\n // Make offsets relative to start\n lastOffset += hint\n offset += hint\n }\n\n /*\n * Now array[start+lastOffset] < value <= array[start+offset], so value\n * belongs somewhere in the range (start + lastOffset, start + offset]. Do a\n * binary search, with invariant array[start + lastOffset - 1] < value <=\n * array[start + offset].\n */\n lastOffset ++\n\n while (lastOffset < offset) {\n const m = lastOffset + ((offset - lastOffset) >>> 1)\n\n if (compare(value, array[start + m]) < 0) {\n offset = m\n } else {\n lastOffset = m + 1\n }\n }\n\n return offset\n}\n\nclass TimSort {\n constructor (array, compare) {\n this.array = array\n this.compare = compare\n\n const {length} = array\n\n this.length = length\n this.minGallop = DEFAULT_MIN_GALLOPING\n\n this.tmpStorageLength = length < 2 * DEFAULT_TMP_STORAGE_LENGTH\n ? length >>> 1\n : DEFAULT_TMP_STORAGE_LENGTH\n\n this.tmp = new Array(this.tmpStorageLength)\n this.tmpIndex = new Array(this.tmpStorageLength)\n\n this.stackLength = length < 120\n ? 5\n : length < 1542\n ? 10\n : length < 119151\n ? 19\n : 40\n\n this.runStart = new Array(this.stackLength)\n this.runLength = new Array(this.stackLength)\n\n this.stackSize = 0\n }\n\n /**\n * Push a new run on TimSort's stack.\n *\n * @param {number} runStart - Start index of the run in the original array.\n * @param {number} runLength - Length of the run;\n */\n pushRun (runStart, runLength) {\n this.runStart[this.stackSize] = runStart\n this.runLength[this.stackSize] = runLength\n this.stackSize += 1\n }\n\n /**\n * Merge runs on TimSort's stack so that the following holds for all i:\n * 1) runLength[i - 3] > runLength[i - 2] + runLength[i - 1]\n * 2) runLength[i - 2] > runLength[i - 1]\n */\n mergeRuns () {\n while (this.stackSize > 1) {\n let n = this.stackSize - 2\n\n if (\n (\n n >= 1\n && this.runLength[n - 1] <= this.runLength[n] + this.runLength[n + 1]\n )\n || (\n n >= 2\n && this.runLength[n - 2] <= this.runLength[n] + this.runLength[n - 1]\n )\n ) {\n if (this.runLength[n - 1] < this.runLength[n + 1]) {\n n --\n }\n } else if (this.runLength[n] > this.runLength[n + 1]) {\n break\n }\n this.mergeAt(n)\n }\n }\n\n /**\n * Merge all runs on TimSort's stack until only one remains.\n */\n forceMergeRuns () {\n while (this.stackSize > 1) {\n let n = this.stackSize - 2\n\n if (n > 0 && this.runLength[n - 1] < this.runLength[n + 1]) {\n n --\n }\n\n this.mergeAt(n)\n }\n }\n\n /**\n * Merge the runs on the stack at positions i and i+1. Must be always be called\n * with i=stackSize-2 or i=stackSize-3 (that is, we merge on top of the stack).\n *\n * @param {number} i - Index of the run to merge in TimSort's stack.\n */\n mergeAt (i) {\n const {compare} = this\n const {array} = this\n\n let start1 = this.runStart[i]\n let length1 = this.runLength[i]\n const start2 = this.runStart[i + 1]\n let length2 = this.runLength[i + 1]\n\n this.runLength[i] = length1 + length2\n\n if (i === this.stackSize - 3) {\n this.runStart[i + 1] = this.runStart[i + 2]\n this.runLength[i + 1] = this.runLength[i + 2]\n }\n\n this.stackSize --\n\n /*\n * Find where the first element in the second run goes in run1. Previous\n * elements in run1 are already in place\n */\n const k = gallopRight(array[start2], array, start1, length1, 0, compare)\n start1 += k\n length1 -= k\n\n if (length1 === 0) {\n return\n }\n\n /*\n * Find where the last element in the first run goes in run2. Next elements\n * in run2 are already in place\n */\n length2 = gallopLeft(\n array[start1 + length1 - 1],\n array,\n start2,\n length2,\n length2 - 1,\n compare\n )\n\n if (length2 === 0) {\n return\n }\n\n /*\n * Merge remaining runs. A tmp array with length = min(length1, length2) is\n * used\n */\n if (length1 <= length2) {\n this.mergeLow(start1, length1, start2, length2)\n } else {\n this.mergeHigh(start1, length1, start2, length2)\n }\n }\n\n /**\n * Merge two adjacent runs in a stable way. The runs must be such that the\n * first element of run1 is bigger than the first element in run2 and the\n * last element of run1 is greater than all the elements in run2.\n * The method should be called when run1.length <= run2.length as it uses\n * TimSort temporary array to store run1. Use mergeHigh if run1.length >\n * run2.length.\n *\n * @param {number} start1 - First element in run1.\n * @param {number} length1 - Length of run1.\n * @param {number} start2 - First element in run2.\n * @param {number} length2 - Length of run2.\n */\n mergeLow (start1, length1, start2, length2) {\n const {compare} = this\n const {array} = this\n const {tmp} = this\n const {tmpIndex} = this\n let i = 0\n\n for (i = 0; i < length1; i ++) {\n tmp[i] = array[start1 + i]\n tmpIndex[i] = results[start1 + i]\n }\n\n let cursor1 = 0\n let cursor2 = start2\n let dest = start1\n\n array[dest] = array[cursor2]\n results[dest] = results[cursor2]\n\n dest ++\n cursor2 ++\n\n if (-- length2 === 0) {\n for (i = 0; i < length1; i ++) {\n array[dest + i] = tmp[cursor1 + i]\n results[dest + i] = tmpIndex[cursor1 + i]\n }\n return\n }\n\n if (length1 === 1) {\n for (i = 0; i < length2; i ++) {\n array[dest + i] = array[cursor2 + i]\n results[dest + i] = results[cursor2 + i]\n }\n array[dest + length2] = tmp[cursor1]\n results[dest + length2] = tmpIndex[cursor1]\n return\n }\n\n let {minGallop} = this\n\n while (true) {\n let count1 = 0\n let count2 = 0\n let exit = false\n\n do {\n if (compare(array[cursor2], tmp[cursor1]) < 0) {\n array[dest] = array[cursor2]\n results[dest] = results[cursor2]\n dest ++\n cursor2 ++\n count2 ++\n count1 = 0\n\n if (-- length2 === 0) {\n exit = true\n break\n }\n } else {\n array[dest] = tmp[cursor1]\n results[dest] = tmpIndex[cursor1]\n dest ++\n cursor1 ++\n count1 ++\n count2 = 0\n if (-- length1 === 1) {\n exit = true\n break\n }\n }\n } while ((count1 | count2) < minGallop)\n\n if (exit) {\n break\n }\n\n do {\n count1 = gallopRight(array[cursor2], tmp, cursor1, length1, 0, compare)\n\n if (count1 !== 0) {\n for (i = 0; i < count1; i ++) {\n array[dest + i] = tmp[cursor1 + i]\n results[dest + i] = tmpIndex[cursor1 + i]\n }\n\n dest += count1\n cursor1 += count1\n length1 -= count1\n if (length1 <= 1) {\n exit = true\n break\n }\n }\n\n array[dest] = array[cursor2]\n results[dest] = results[cursor2]\n\n dest ++\n cursor2 ++\n\n if (-- length2 === 0) {\n exit = true\n break\n }\n\n count2 = gallopLeft(tmp[cursor1], array, cursor2, length2, 0, compare)\n\n if (count2 !== 0) {\n for (i = 0; i < count2; i ++) {\n array[dest + i] = array[cursor2 + i]\n results[dest + i] = results[cursor2 + i]\n }\n\n dest += count2\n cursor2 += count2\n length2 -= count2\n\n if (length2 === 0) {\n exit = true\n break\n }\n }\n array[dest] = tmp[cursor1]\n results[dest] = tmpIndex[cursor1]\n dest ++\n cursor1 ++\n\n if (-- length1 === 1) {\n exit = true\n break\n }\n\n minGallop --\n } while (\n count1 >= DEFAULT_MIN_GALLOPING\n || count2 >= DEFAULT_MIN_GALLOPING\n )\n\n if (exit) {\n break\n }\n\n if (minGallop < 0) {\n minGallop = 0\n }\n\n minGallop += 2\n }\n\n this.minGallop = minGallop\n\n if (minGallop < 1) {\n this.minGallop = 1\n }\n\n if (length1 === 1) {\n for (i = 0; i < length2; i ++) {\n array[dest + i] = array[cursor2 + i]\n results[dest + i] = results[cursor2 + i]\n }\n array[dest + length2] = tmp[cursor1]\n results[dest + length2] = tmpIndex[cursor1]\n } else if (length1 === 0) {\n throw new Error('mergeLow preconditions were not respected')\n } else {\n for (i = 0; i < length1; i ++) {\n array[dest + i] = tmp[cursor1 + i]\n results[dest + i] = tmpIndex[cursor1 + i]\n }\n }\n }\n\n /**\n * Merge two adjacent runs in a stable way. The runs must be such that the\n * first element of run1 is bigger than the first element in run2 and the\n * last element of run1 is greater than all the elements in run2.\n * The method should be called when run1.length > run2.length as it uses\n * TimSort temporary array to store run2. Use mergeLow if run1.length <=\n * run2.length.\n *\n * @param {number} start1 - First element in run1.\n * @param {number} length1 - Length of run1.\n * @param {number} start2 - First element in run2.\n * @param {number} length2 - Length of run2.\n */\n mergeHigh (start1, length1, start2, length2) {\n const {compare} = this\n const {array} = this\n const {tmp} = this\n const {tmpIndex} = this\n let i = 0\n\n for (i = 0; i < length2; i ++) {\n tmp[i] = array[start2 + i]\n tmpIndex[i] = results[start2 + i]\n }\n\n let cursor1 = start1 + length1 - 1\n let cursor2 = length2 - 1\n let dest = start2 + length2 - 1\n let customCursor = 0\n let customDest = 0\n\n array[dest] = array[cursor1]\n results[dest] = results[cursor1]\n\n dest --\n cursor1 --\n\n if (-- length1 === 0) {\n customCursor = dest - (length2 - 1)\n\n for (i = 0; i < length2; i ++) {\n array[customCursor + i] = tmp[i]\n results[customCursor + i] = tmpIndex[i]\n }\n\n return\n }\n\n if (length2 === 1) {\n dest -= length1\n cursor1 -= length1\n customDest = dest + 1\n customCursor = cursor1 + 1\n\n for (i = length1 - 1; i >= 0; i --) {\n array[customDest + i] = array[customCursor + i]\n results[customDest + i] = results[customCursor + i]\n }\n\n array[dest] = tmp[cursor2]\n results[dest] = tmpIndex[cursor2]\n return\n }\n\n let {minGallop} = this\n\n while (true) {\n let count1 = 0\n let count2 = 0\n let exit = false\n\n do {\n if (compare(tmp[cursor2], array[cursor1]) < 0) {\n array[dest] = array[cursor1]\n results[dest] = results[cursor1]\n dest --\n cursor1 --\n count1 ++\n count2 = 0\n if (-- length1 === 0) {\n exit = true\n break\n }\n } else {\n array[dest] = tmp[cursor2]\n results[dest] = tmpIndex[cursor2]\n dest --\n cursor2 --\n count2 ++\n count1 = 0\n if (-- length2 === 1) {\n exit = true\n break\n }\n }\n } while ((count1 | count2) < minGallop)\n\n if (exit) {\n break\n }\n\n do {\n count1 = length1 - gallopRight(\n tmp[cursor2],\n array,\n start1,\n length1,\n length1 - 1,\n compare\n )\n\n if (count1 !== 0) {\n dest -= count1\n cursor1 -= count1\n length1 -= count1\n customDest = dest + 1\n customCursor = cursor1 + 1\n\n for (i = count1 - 1; i >= 0; i --) {\n array[customDest + i] = array[customCursor + i]\n results[customDest + i] = results[customCursor + i]\n }\n\n if (length1 === 0) {\n exit = true\n break\n }\n }\n\n array[dest] = tmp[cursor2]\n results[dest] = tmpIndex[cursor2]\n dest --\n cursor2 --\n\n if (-- length2 === 1) {\n exit = true\n break\n }\n\n count2 = length2 - gallopLeft(\n array[cursor1],\n tmp,\n 0,\n length2,\n length2 - 1,\n compare\n )\n\n if (count2 !== 0) {\n dest -= count2\n cursor2 -= count2\n length2 -= count2\n customDest = dest + 1\n customCursor = cursor2 + 1\n\n for (i = 0; i < count2; i ++) {\n array[customDest + i] = tmp[customCursor + i]\n results[customDest + i] = tmpIndex[customCursor + i]\n }\n\n if (length2 <= 1) {\n exit = true\n break\n }\n }\n\n array[dest] = array[cursor1]\n results[dest] = results[cursor1]\n dest --\n cursor1 --\n\n if (-- length1 === 0) {\n exit = true\n break\n }\n\n minGallop --\n } while (\n count1 >= DEFAULT_MIN_GALLOPING\n || count2 >= DEFAULT_MIN_GALLOPING\n )\n\n if (exit) {\n break\n }\n\n if (minGallop < 0) {\n minGallop = 0\n }\n\n minGallop += 2\n }\n\n this.minGallop = minGallop\n\n if (minGallop < 1) {\n this.minGallop = 1\n }\n\n if (length2 === 1) {\n dest -= length1\n cursor1 -= length1\n customDest = dest + 1\n customCursor = cursor1 + 1\n\n for (i = length1 - 1; i >= 0; i --) {\n array[customDest + i] = array[customCursor + i]\n results[customDest + i] = results[customCursor + i]\n }\n\n array[dest] = tmp[cursor2]\n results[dest] = tmpIndex[cursor2]\n } else if (length2 === 0) {\n throw new Error('mergeHigh preconditions were not respected')\n } else {\n customCursor = dest - (length2 - 1)\n for (i = 0; i < length2; i ++) {\n array[customCursor + i] = tmp[i]\n results[customCursor + i] = tmpIndex[i]\n }\n }\n }\n}\n\n/**\n * Sort an array in the range [lo, hi) using TimSort.\n *\n * @param {array} array - The array to sort.\n * @param {function=} compare - Item comparison function. Default is\n * alphabetical\n * @param {number} lo - First element in the range (inclusive).\n * @param {number} hi - Last element in the range.\n * comparator.\n */\nfunction sort (array, compare, lo, hi) {\n if (!Array.isArray(array)) {\n throw new TypeError(\n `The \"array\" argument must be an array. Received ${array}`\n )\n }\n\n results = []\n\n const {length} = array\n\n let i = 0\n\n while (i < length) {\n results[i] = i ++\n }\n\n /*\n * Handle the case where a comparison function is not provided. We do\n * lexicographic sorting\n */\n if (!compare) {\n compare = alphabeticalCompare\n } else if (typeof compare !== 'function') {\n hi = lo\n lo = compare\n compare = alphabeticalCompare\n }\n\n if (!lo) {\n lo = 0\n }\n if (!hi) {\n hi = length\n }\n\n let remaining = hi - lo\n\n // The array is already sorted\n if (remaining < 2) {\n return results\n }\n\n let runLength = 0\n // On small arrays binary sort can be used directly\n if (remaining < DEFAULT_MIN_MERGE) {\n runLength = makeAscendingRun(array, lo, hi, compare)\n binaryInsertionSort(array, lo, hi, lo + runLength, compare)\n return results\n }\n\n const ts = new TimSort(array, compare)\n\n const minRun = minRunLength(remaining)\n\n do {\n runLength = makeAscendingRun(array, lo, hi, compare)\n if (runLength < minRun) {\n let force = remaining\n if (force > minRun) {\n force = minRun\n }\n\n binaryInsertionSort(array, lo, lo + force, lo + runLength, compare)\n runLength = force\n }\n // Push new run and merge if necessary\n ts.pushRun(lo, runLength)\n ts.mergeRuns()\n\n // Go find next run\n remaining -= runLength\n lo += runLength\n } while (remaining !== 0)\n\n // Force merging of remaining runs\n ts.forceMergeRuns()\n\n return results\n}\n\nmodule.exports = {\n sort\n}\n","'use strict';\nconst hasOwnProp = Object.prototype.hasOwnProperty;\n\nmodule.exports = (object, property) => hasOwnProp.call(object, property);\n","const hasOwnProperty = require('has-own-prop')\nconst {isObject, isArray} = require('core-util-is')\n\n\nconst PREFIX_BEFORE = 'before'\nconst PREFIX_AFTER_PROP = 'after-prop'\nconst PREFIX_AFTER_COLON = 'after-colon'\nconst PREFIX_AFTER_VALUE = 'after-value'\nconst PREFIX_AFTER = 'after'\n\nconst PREFIX_BEFORE_ALL = 'before-all'\nconst PREFIX_AFTER_ALL = 'after-all'\n\nconst BRACKET_OPEN = '['\nconst BRACKET_CLOSE = ']'\nconst CURLY_BRACKET_OPEN = '{'\nconst CURLY_BRACKET_CLOSE = '}'\nconst COMMA = ','\nconst EMPTY = ''\nconst MINUS = '-'\n\nconst SYMBOL_PREFIXES = [\n PREFIX_BEFORE,\n PREFIX_AFTER_PROP,\n PREFIX_AFTER_COLON,\n PREFIX_AFTER_VALUE,\n PREFIX_AFTER\n]\n\nconst NON_PROP_SYMBOL_KEYS = [\n PREFIX_BEFORE,\n PREFIX_BEFORE_ALL,\n PREFIX_AFTER_ALL\n].map(Symbol.for)\n\nconst COLON = ':'\nconst UNDEFINED = undefined\n\n\nconst symbol = (prefix, key) => Symbol.for(prefix + COLON + key)\n\nconst define = (target, key, value) => Object.defineProperty(target, key, {\n value,\n writable: true,\n configurable: true\n})\n\nconst copy_comments_by_kind = (\n target, source, target_key, source_key, prefix, remove_source\n) => {\n const source_prop = symbol(prefix, source_key)\n if (!hasOwnProperty(source, source_prop)) {\n return\n }\n\n const target_prop = target_key === source_key\n ? source_prop\n : symbol(prefix, target_key)\n\n define(target, target_prop, source[source_prop])\n\n if (remove_source) {\n delete source[source_prop]\n }\n}\n\nconst copy_comments = (\n target, source, target_key, source_key, remove_source\n) => {\n SYMBOL_PREFIXES.forEach(prefix => {\n copy_comments_by_kind(\n target, source, target_key, source_key, prefix, remove_source\n )\n })\n}\n\nconst swap_comments = (array, from, to) => {\n if (from === to) {\n return\n }\n\n SYMBOL_PREFIXES.forEach(prefix => {\n const target_prop = symbol(prefix, to)\n if (!hasOwnProperty(array, target_prop)) {\n copy_comments_by_kind(array, array, to, from, prefix, true)\n return\n }\n\n const comments = array[target_prop]\n delete array[target_prop]\n\n copy_comments_by_kind(array, array, to, from, prefix, true)\n define(array, symbol(prefix, from), comments)\n })\n}\n\nconst assign_non_prop_comments = (target, source) => {\n NON_PROP_SYMBOL_KEYS.forEach(key => {\n const comments = source[key]\n\n if (comments) {\n define(target, key, comments)\n }\n })\n}\n\n// Assign keys and comments\nconst assign = (target, source, keys) => {\n keys.forEach(key => {\n if (!hasOwnProperty(source, key)) {\n return\n }\n\n target[key] = source[key]\n copy_comments(target, source, key, key)\n })\n\n return target\n}\n\n\nmodule.exports = {\n SYMBOL_PREFIXES,\n\n PREFIX_BEFORE,\n PREFIX_AFTER_PROP,\n PREFIX_AFTER_COLON,\n PREFIX_AFTER_VALUE,\n PREFIX_AFTER,\n\n PREFIX_BEFORE_ALL,\n PREFIX_AFTER_ALL,\n\n BRACKET_OPEN,\n BRACKET_CLOSE,\n CURLY_BRACKET_OPEN,\n CURLY_BRACKET_CLOSE,\n\n COLON,\n COMMA,\n MINUS,\n EMPTY,\n\n UNDEFINED,\n\n symbol,\n define,\n copy_comments,\n swap_comments,\n assign_non_prop_comments,\n\n assign (target, source, keys) {\n if (!isObject(target)) {\n throw new TypeError('Cannot convert undefined or null to object')\n }\n\n if (!isObject(source)) {\n return target\n }\n\n if (keys === UNDEFINED) {\n keys = Object.keys(source)\n // We assign non-property comments\n // if argument `keys` is not specified\n assign_non_prop_comments(target, source)\n } else if (!isArray(keys)) {\n throw new TypeError('keys must be array or undefined')\n } else if (keys.length === 0) {\n // Or argument `keys` is an empty array\n assign_non_prop_comments(target, source)\n }\n\n return assign(target, source, keys)\n }\n}\n","const {isArray} = require('core-util-is')\nconst {sort} = require('array-timsort')\n\nconst {\n SYMBOL_PREFIXES,\n\n UNDEFINED,\n\n symbol,\n copy_comments,\n swap_comments\n} = require('./common')\n\n\nconst reverse_comments = array => {\n const {length} = array\n let i = 0\n const max = length / 2\n\n for (; i < max; i ++) {\n swap_comments(array, i, length - i - 1)\n }\n}\n\nconst move_comment = (target, source, i, offset, remove) => {\n copy_comments(target, source, i + offset, i, remove)\n}\n\nconst move_comments = (\n // `Array` target array\n target,\n // `Array` source array\n source,\n // `number` start index\n start,\n // `number` number of indexes to move\n count,\n // `number` offset to move\n offset,\n // `boolean` whether should remove the comments from source\n remove\n) => {\n if (offset > 0) {\n let i = count\n // | count | offset |\n // source: -------------\n // target: -------------\n // | remove |\n // => remove === offset\n\n // From [count - 1, 0]\n while (i -- > 0) {\n move_comment(target, source, start + i, offset, remove)\n }\n return\n }\n\n let i = 0\n // | remove | count |\n // -------------\n // -------------\n // | offset |\n\n // From [0, count - 1]\n while (i < count) {\n const ii = i ++\n move_comment(target, source, start + ii, offset, remove)\n }\n}\n\nconst remove_comments = (array, key) => {\n SYMBOL_PREFIXES.forEach(prefix => {\n const prop = symbol(prefix, key)\n delete array[prop]\n })\n}\n\nconst get_mapped = (map, key) => {\n let mapped = key\n\n while (mapped in map) {\n mapped = map[mapped]\n }\n\n return mapped\n}\n\n\nclass CommentArray extends Array {\n // - deleteCount + items.length\n\n // We should avoid `splice(begin, deleteCount, ...items)`,\n // because `splice(0, undefined)` is not equivalent to `splice(0)`,\n // as well as:\n // - slice\n splice (...args) {\n const {length} = this\n const ret = super.splice(...args)\n\n // #16\n // If no element removed, we might still need to move comments,\n // because splice could add new items\n\n // if (!ret.length) {\n // return ret\n // }\n\n // JavaScript syntax is silly\n // eslint-disable-next-line prefer-const\n let [begin, deleteCount, ...items] = args\n\n if (begin < 0) {\n begin += length\n }\n\n if (arguments.length === 1) {\n deleteCount = length - begin\n } else {\n deleteCount = Math.min(length - begin, deleteCount)\n }\n\n const {\n length: item_length\n } = items\n\n // itemsToDelete: -\n // itemsToAdd: +\n // | dc | count |\n // =======-------------============\n // =======++++++============\n // | il |\n const offset = item_length - deleteCount\n const start = begin + deleteCount\n const count = length - start\n\n move_comments(this, this, start, count, offset, true)\n\n return ret\n }\n\n slice (...args) {\n const {length} = this\n const array = super.slice(...args)\n if (!array.length) {\n return new CommentArray()\n }\n\n let [begin, before] = args\n\n // Ref:\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/slice\n if (before === UNDEFINED) {\n before = length\n } else if (before < 0) {\n before += length\n }\n\n if (begin < 0) {\n begin += length\n } else if (begin === UNDEFINED) {\n begin = 0\n }\n\n move_comments(array, this, begin, before - begin, - begin)\n\n return array\n }\n\n unshift (...items) {\n const {length} = this\n const ret = super.unshift(...items)\n const {\n length: items_length\n } = items\n\n if (items_length > 0) {\n move_comments(this, this, 0, length, items_length, true)\n }\n\n return ret\n }\n\n shift () {\n const ret = super.shift()\n const {length} = this\n\n remove_comments(this, 0)\n move_comments(this, this, 1, length, - 1, true)\n\n return ret\n }\n\n reverse () {\n super.reverse()\n\n reverse_comments(this)\n\n return this\n }\n\n pop () {\n const ret = super.pop()\n\n // Removes comments\n remove_comments(this, this.length)\n\n return ret\n }\n\n concat (...items) {\n let {length} = this\n const ret = super.concat(...items)\n\n if (!items.length) {\n return ret\n }\n\n move_comments(ret, this, 0, this.length, 0)\n\n items.forEach(item => {\n const prev = length\n length += isArray(item)\n ? item.length\n : 1\n\n if (!(item instanceof CommentArray)) {\n return\n }\n\n move_comments(ret, item, 0, item.length, prev)\n })\n\n return ret\n }\n\n sort (...args) {\n const result = sort(\n this,\n // Make sure there is no more than one argument\n ...args.slice(0, 1)\n )\n\n // For example,\n // if we sort ['b', 'd', 'c', 'a'],\n // then `result` will be [3, 0, 2, 1], and the array is ['a', 'b', 'c', 'd']\n\n // First, we swap index 0 (b) and index 3 (a), then the array comments are\n // ['a.comments', 'd.comments', 'c.comments', 'b.comments']\n // index 0 is finalized\n // index 3 is actually mapped to original index 0, we present as 0 -> 3\n\n // Then swap index 1 (d) and index 0 (-> 3, b)\n // 1 (index) -> 0 (new index) -> 3 (real_index)\n // ['d.comments', 'b.comments', 'c.comments', 'd.comments']\n // index 1 is finalized\n // index 3 is contains the item of original index 1\n // - we present as 1 -> 3\n // - it is ok that we don't remove mapping 0 -> 3\n\n // Then index 2 should be skipped\n\n // Then swap index 3 (d) and index 1 (-> 3, b), skipped\n\n const map = Object.create(null)\n\n result.forEach((source_index, index) => {\n if (source_index === index) {\n return\n }\n\n const real_source_index = get_mapped(map, source_index)\n\n if (real_source_index === index) {\n return\n }\n\n // The item of index `index` gets the final value\n // delete map[index]\n map[index] = real_source_index\n\n swap_comments(this, index, real_source_index)\n })\n\n return this\n }\n}\n\n\nmodule.exports = {\n CommentArray\n}\n","// JSON formatting\n\nconst esprima = require('esprima')\n\nconst {\n CommentArray,\n} = require('./array')\n\nconst {\n PREFIX_BEFORE,\n PREFIX_AFTER_PROP,\n PREFIX_AFTER_COLON,\n PREFIX_AFTER_VALUE,\n PREFIX_AFTER,\n\n PREFIX_BEFORE_ALL,\n PREFIX_AFTER_ALL,\n\n BRACKET_OPEN,\n BRACKET_CLOSE,\n CURLY_BRACKET_OPEN,\n CURLY_BRACKET_CLOSE,\n\n COLON,\n COMMA,\n MINUS,\n EMPTY,\n\n UNDEFINED,\n\n define,\n assign_non_prop_comments\n} = require('./common')\n\nconst tokenize = code => esprima.tokenize(code, {\n comment: true,\n loc: true\n})\n\nconst previous_hosts = []\nlet comments_host = null\nlet unassigned_comments = null\n\nconst previous_props = []\nlet last_prop\n\nlet remove_comments = false\nlet inline = false\nlet tokens = null\nlet last = null\nlet current = null\nlet index\nlet reviver = null\n\nconst clean = () => {\n previous_props.length =\n previous_hosts.length = 0\n\n last = null\n last_prop = UNDEFINED\n}\n\nconst free = () => {\n clean()\n\n tokens.length = 0\n\n unassigned_comments =\n comments_host =\n tokens =\n last =\n current =\n reviver = null\n}\n\nconst symbolFor = prefix => Symbol.for(\n last_prop !== UNDEFINED\n ? prefix + COLON + last_prop\n : prefix\n)\n\nconst transform = (k, v) => reviver\n ? reviver(k, v)\n : v\n\nconst unexpected = () => {\n const error = new SyntaxError(`Unexpected token ${current.value.slice(0, 1)}`)\n Object.assign(error, current.loc.start)\n\n throw error\n}\n\nconst unexpected_end = () => {\n const error = new SyntaxError('Unexpected end of JSON input')\n Object.assign(error, last\n ? last.loc.end\n // Empty string\n : {\n line: 1,\n column: 0\n })\n\n throw error\n}\n\n// Move the reader to the next\nconst next = () => {\n const new_token = tokens[++ index]\n inline = current\n && new_token\n && current.loc.end.line === new_token.loc.start.line\n || false\n\n last = current\n current = new_token\n}\n\nconst type = () => {\n if (!current) {\n unexpected_end()\n }\n\n return current.type === 'Punctuator'\n ? current.value\n : current.type\n}\n\nconst is = t => type() === t\n\nconst expect = a => {\n if (!is(a)) {\n unexpected()\n }\n}\n\nconst set_comments_host = new_host => {\n previous_hosts.push(comments_host)\n comments_host = new_host\n}\n\nconst restore_comments_host = () => {\n comments_host = previous_hosts.pop()\n}\n\nconst assign_after_comments = () => {\n if (!unassigned_comments) {\n return\n }\n\n const after_comments = []\n\n for (const comment of unassigned_comments) {\n // If the comment is inline, then it is an after-comma comment\n if (comment.inline) {\n after_comments.push(comment)\n // Otherwise, all comments are before:<next-prop> comment\n } else {\n break\n }\n }\n\n const {length} = after_comments\n if (!length) {\n return\n }\n\n if (length === unassigned_comments.length) {\n // If unassigned_comments are all consumed\n unassigned_comments = null\n } else {\n unassigned_comments.splice(0, length)\n }\n\n define(comments_host, symbolFor(PREFIX_AFTER), after_comments)\n}\n\nconst assign_comments = prefix => {\n if (!unassigned_comments) {\n return\n }\n\n define(comments_host, symbolFor(prefix), unassigned_comments)\n\n unassigned_comments = null\n}\n\nconst parse_comments = prefix => {\n const comments = []\n\n while (\n current\n && (\n is('LineComment')\n || is('BlockComment')\n )\n ) {\n const comment = {\n ...current,\n inline\n }\n\n // delete comment.loc\n comments.push(comment)\n\n next()\n }\n\n if (remove_comments) {\n return\n }\n\n if (!comments.length) {\n return\n }\n\n if (prefix) {\n define(comments_host, symbolFor(prefix), comments)\n return\n }\n\n unassigned_comments = comments\n}\n\nconst set_prop = (prop, push) => {\n if (push) {\n previous_props.push(last_prop)\n }\n\n last_prop = prop\n}\n\nconst restore_prop = () => {\n last_prop = previous_props.pop()\n}\n\nconst parse_object = () => {\n const obj = {}\n set_comments_host(obj)\n set_prop(UNDEFINED, true)\n\n let started = false\n let name\n\n parse_comments()\n\n while (!is(CURLY_BRACKET_CLOSE)) {\n if (started) {\n assign_comments(PREFIX_AFTER_VALUE)\n\n // key-value pair delimiter\n expect(COMMA)\n next()\n parse_comments()\n\n assign_after_comments()\n\n // If there is a trailing comma, we might reach the end\n // ```\n // {\n // \"a\": 1,\n // }\n // ```\n if (is(CURLY_BRACKET_CLOSE)) {\n break\n }\n }\n\n started = true\n expect('String')\n name = JSON.parse(current.value)\n\n set_prop(name)\n assign_comments(PREFIX_BEFORE)\n\n next()\n parse_comments(PREFIX_AFTER_PROP)\n\n expect(COLON)\n\n next()\n parse_comments(PREFIX_AFTER_COLON)\n\n obj[name] = transform(name, walk())\n parse_comments()\n }\n\n if (started) {\n // If there are properties,\n // then the unassigned comments are after comments\n assign_comments(PREFIX_AFTER)\n }\n\n // bypass }\n next()\n last_prop = undefined\n\n if (!started) {\n // Otherwise, they are before comments\n assign_comments(PREFIX_BEFORE)\n }\n\n restore_comments_host()\n restore_prop()\n\n return obj\n}\n\nconst parse_array = () => {\n const array = new CommentArray()\n set_comments_host(array)\n set_prop(UNDEFINED, true)\n\n let started = false\n let i = 0\n\n parse_comments()\n\n while (!is(BRACKET_CLOSE)) {\n if (started) {\n assign_comments(PREFIX_AFTER_VALUE)\n expect(COMMA)\n next()\n parse_comments()\n\n assign_after_comments()\n\n if (is(BRACKET_CLOSE)) {\n break\n }\n }\n\n started = true\n\n set_prop(i)\n assign_comments(PREFIX_BEFORE)\n\n array[i] = transform(i, walk())\n i ++\n\n parse_comments()\n }\n\n if (started) {\n assign_comments(PREFIX_AFTER)\n }\n\n next()\n last_prop = undefined\n\n if (!started) {\n assign_comments(PREFIX_BEFORE)\n }\n\n restore_comments_host()\n restore_prop()\n\n return array\n}\n\nfunction walk () {\n let tt = type()\n\n if (tt === CURLY_BRACKET_OPEN) {\n next()\n return parse_object()\n }\n\n if (tt === BRACKET_OPEN) {\n next()\n return parse_array()\n }\n\n let negative = EMPTY\n\n // -1\n if (tt === MINUS) {\n next()\n tt = type()\n negative = MINUS\n }\n\n let v\n\n switch (tt) {\n case 'String':\n case 'Boolean':\n case 'Null':\n case 'Numeric':\n v = current.value\n next()\n return JSON.parse(negative + v)\n default:\n }\n}\n\nconst isObject = subject => Object(subject) === subject\n\nconst parse = (code, rev, no_comments) => {\n // Clean variables in closure\n clean()\n\n tokens = tokenize(code)\n reviver = rev\n remove_comments = no_comments\n\n if (!tokens.length) {\n unexpected_end()\n }\n\n index = - 1\n next()\n\n set_comments_host({})\n\n parse_comments(PREFIX_BEFORE_ALL)\n\n let result = walk()\n\n parse_comments(PREFIX_AFTER_ALL)\n\n if (current) {\n unexpected()\n }\n\n if (!no_comments && result !== null) {\n if (!isObject(result)) {\n // 1 -> new Number(1)\n // true -> new Boolean(1)\n // \"foo\" -> new String(\"foo\")\n\n // eslint-disable-next-line no-new-object\n result = new Object(result)\n }\n\n assign_non_prop_comments(result, comments_host)\n }\n\n restore_comments_host()\n\n // reviver\n result = transform('', result)\n\n free()\n\n return result\n}\n\nmodule.exports = {\n parse,\n tokenize\n}\n","/*!\n * repeat-string <https://github.com/jonschlinkert/repeat-string>\n *\n * Copyright (c) 2014-2015, Jon Schlinkert.\n * Licensed under the MIT License.\n */\n\n'use strict';\n\n/**\n * Results cache\n */\n\nvar res = '';\nvar cache;\n\n/**\n * Expose `repeat`\n */\n\nmodule.exports = repeat;\n\n/**\n * Repeat the given `string` the specified `number`\n * of times.\n *\n * **Example:**\n *\n * ```js\n * var repeat = require('repeat-string');\n * repeat('A', 5);\n * //=> AAAAA\n * ```\n *\n * @param {String} `string` The string to repeat\n * @param {Number} `number` The number of times to repeat the string\n * @return {String} Repeated string\n * @api public\n */\n\nfunction repeat(str, num) {\n if (typeof str !== 'string') {\n throw new TypeError('expected a string');\n }\n\n // cover common, quick use cases\n if (num === 1) return str;\n if (num === 2) return str + str;\n\n var max = str.length * num;\n if (cache !== str || typeof cache === 'undefined') {\n cache = str;\n res = '';\n } else if (res.length >= max) {\n return res.substr(0, max);\n }\n\n while (max > res.length && num > 1) {\n if (num & 1) {\n res += str;\n }\n\n num >>= 1;\n str += str;\n }\n\n res += str;\n res = res.substr(0, max);\n return res;\n}\n","const {\n isArray, isObject, isFunction, isNumber, isString\n} = require('core-util-is')\nconst repeat = require('repeat-string')\n\nconst {\n PREFIX_BEFORE_ALL,\n PREFIX_BEFORE,\n PREFIX_AFTER_PROP,\n PREFIX_AFTER_COLON,\n PREFIX_AFTER_VALUE,\n PREFIX_AFTER,\n PREFIX_AFTER_ALL,\n\n BRACKET_OPEN,\n BRACKET_CLOSE,\n CURLY_BRACKET_OPEN,\n CURLY_BRACKET_CLOSE,\n COLON,\n COMMA,\n EMPTY,\n\n UNDEFINED\n} = require('./common')\n\n// eslint-disable-next-line no-control-regex, no-misleading-character-class\nconst ESCAPABLE = /[\\\\\"\\x00-\\x1f\\x7f-\\x9f\\u00ad\\u0600-\\u0604\\u070f\\u17b4\\u17b5\\u200c-\\u200f\\u2028-\\u202f\\u2060-\\u206f\\ufeff\\ufff0-\\uffff]/g\n\n// String constants\nconst SPACE = ' '\nconst LF = '\\n'\nconst STR_NULL = 'null'\n\n// Symbol tags\nconst BEFORE = prop => `${PREFIX_BEFORE}:${prop}`\nconst AFTER_PROP = prop => `${PREFIX_AFTER_PROP}:${prop}`\nconst AFTER_COLON = prop => `${PREFIX_AFTER_COLON}:${prop}`\nconst AFTER_VALUE = prop => `${PREFIX_AFTER_VALUE}:${prop}`\nconst AFTER = prop => `${PREFIX_AFTER}:${prop}`\n\n// table of character substitutions\nconst meta = {\n '\\b': '\\\\b',\n '\\t': '\\\\t',\n '\\n': '\\\\n',\n '\\f': '\\\\f',\n '\\r': '\\\\r',\n '\"': '\\\\\"',\n '\\\\': '\\\\\\\\'\n}\n\nconst escape = string => {\n ESCAPABLE.lastIndex = 0\n\n if (!ESCAPABLE.test(string)) {\n return string\n }\n\n return string.replace(ESCAPABLE, a => {\n const c = meta[a]\n return typeof c === 'string'\n ? c\n : a\n })\n}\n\n// Escape no control characters, no quote characters,\n// and no backslash characters,\n// then we can safely slap some quotes around it.\nconst quote = string => `\"${escape(string)}\"`\nconst comment_stringify = (value, line) => line\n ? `//${value}`\n : `/*${value}*/`\n\n// display_block `boolean` whether the\n// WHOLE block of comments is always a block group\nconst process_comments = (host, symbol_tag, deeper_gap, display_block) => {\n const comments = host[Symbol.for(symbol_tag)]\n if (!comments || !comments.length) {\n return EMPTY\n }\n\n let is_line_comment = false\n\n const str = comments.reduce((prev, {\n inline,\n type,\n value\n }) => {\n const delimiter = inline\n ? SPACE\n : LF + deeper_gap\n\n is_line_comment = type === 'LineComment'\n\n return prev + delimiter + comment_stringify(value, is_line_comment)\n }, EMPTY)\n\n\n return display_block\n // line comment should always end with a LF\n || is_line_comment\n ? str + LF + deeper_gap\n : str\n}\n\nlet replacer = null\nlet indent = EMPTY\n\nconst clean = () => {\n replacer = null\n indent = EMPTY\n}\n\nconst join = (one, two, gap) =>\n one\n ? two\n // Symbol.for('before') and Symbol.for('before:prop')\n // might both exist if user mannually add comments to the object\n // and make a mistake.\n // SO, we are not to only trimRight but trim for both sides\n ? one + two.trim() + LF + gap\n : one.trimRight() + LF + gap\n : two\n ? two.trimRight() + LF + gap\n : EMPTY\n\nconst join_content = (inside, value, gap) => {\n const comment = process_comments(value, PREFIX_BEFORE, gap + indent, true)\n\n return join(comment, inside, gap)\n}\n\n// | deeper_gap |\n// | gap | indent |\n// [\n// \"foo\",\n// \"bar\"\n// ]\nconst array_stringify = (value, gap) => {\n const deeper_gap = gap + indent\n\n const {length} = value\n\n // From the item to before close\n let inside = EMPTY\n let after_comma = EMPTY\n\n // Never use Array.prototype.forEach,\n // that we should iterate all items\n for (let i = 0; i < length; i ++) {\n if (i !== 0) {\n inside += COMMA\n }\n\n const before = join(\n after_comma,\n process_comments(value, BEFORE(i), deeper_gap),\n deeper_gap\n )\n\n inside += before || (LF + deeper_gap)\n\n // JSON.stringify([undefined]) => [null]\n inside += stringify(i, value, deeper_gap) || STR_NULL\n\n inside += process_comments(value, AFTER_VALUE(i), deeper_gap)\n\n after_comma = process_comments(value, AFTER(i), deeper_gap)\n }\n\n inside += join(\n after_comma,\n process_comments(value, PREFIX_AFTER, deeper_gap),\n deeper_gap\n )\n\n return BRACKET_OPEN\n + join_content(inside, value, gap)\n + BRACKET_CLOSE\n}\n\n// | deeper_gap |\n// | gap | indent |\n// {\n// \"foo\": 1,\n// \"bar\": 2\n// }\nconst object_stringify = (value, gap) => {\n // Due to a specification blunder in ECMAScript, typeof null is 'object',\n // so watch out for that case.\n if (!value) {\n return 'null'\n }\n\n const deeper_gap = gap + indent\n\n // From the first element to before close\n let inside = EMPTY\n let after_comma = EMPTY\n let first = true\n\n const keys = isArray(replacer)\n ? replacer\n : Object.keys(value)\n\n const iteratee = key => {\n // Stringified value\n const sv = stringify(key, value, deeper_gap)\n\n // If a value is undefined, then the key-value pair should be ignored\n if (sv === UNDEFINED) {\n return\n }\n\n // The treat ment\n if (!first) {\n inside += COMMA\n }\n\n first = false\n\n const before = join(\n after_comma,\n process_comments(value, BEFORE(key), deeper_gap),\n deeper_gap\n )\n\n inside += before || (LF + deeper_gap)\n\n inside += quote(key)\n + process_comments(value, AFTER_PROP(key), deeper_gap)\n + COLON\n + process_comments(value, AFTER_COLON(key), deeper_gap)\n + SPACE\n + sv\n + process_comments(value, AFTER_VALUE(key), deeper_gap)\n\n after_comma = process_comments(value, AFTER(key), deeper_gap)\n }\n\n keys.forEach(iteratee)\n\n // if (after_comma) {\n // inside += COMMA\n // }\n\n inside += join(\n after_comma,\n process_comments(value, PREFIX_AFTER, deeper_gap),\n deeper_gap\n )\n\n return CURLY_BRACKET_OPEN\n + join_content(inside, value, gap)\n + CURLY_BRACKET_CLOSE\n}\n\n// @param {string} key\n// @param {Object} holder\n// @param {function()|Array} replacer\n// @param {string} indent\n// @param {string} gap\nfunction stringify (key, holder, gap) {\n let value = holder[key]\n\n // If the value has a toJSON method, call it to obtain a replacement value.\n if (isObject(value) && isFunction(value.toJSON)) {\n value = value.toJSON(key)\n }\n\n // If we were called with a replacer function, then call the replacer to\n // obtain a replacement value.\n if (isFunction(replacer)) {\n value = replacer.call(holder, key, value)\n }\n\n switch (typeof value) {\n case 'string':\n return quote(value)\n\n case 'number':\n // JSON numbers must be finite. Encode non-finite numbers as null.\n return Number.isFinite(value) ? String(value) : STR_NULL\n\n case 'boolean':\n case 'null':\n\n // If the value is a boolean or null, convert it to a string. Note:\n // typeof null does not produce 'null'. The case is included here in\n // the remote chance that this gets fixed someday.\n return String(value)\n\n // If the type is 'object', we might be dealing with an object or an array or\n // null.\n case 'object':\n return isArray(value)\n ? array_stringify(value, gap)\n : object_stringify(value, gap)\n\n // undefined\n default:\n // JSON.stringify(undefined) === undefined\n // JSON.stringify('foo', () => undefined) === undefined\n }\n}\n\nconst get_indent = space => isString(space)\n // If the space parameter is a string, it will be used as the indent string.\n ? space\n : isNumber(space)\n ? repeat(SPACE, space)\n : EMPTY\n\nconst {toString} = Object.prototype\nconst PRIMITIVE_OBJECT_TYPES = [\n '[object Number]',\n '[object String]',\n '[object Boolean]'\n]\n\nconst is_primitive_object = subject => {\n if (typeof subject !== 'object') {\n return false\n }\n\n const str = toString.call(subject)\n return PRIMITIVE_OBJECT_TYPES.includes(str)\n}\n\n// @param {function()|Array} replacer\n// @param {string|number} space\nmodule.exports = (value, replacer_, space) => {\n // The stringify method takes a value and an optional replacer, and an optional\n // space parameter, and returns a JSON text. The replacer can be a function\n // that can replace values, or an array of strings that will select the keys.\n // A default replacer method can be provided. Use of the space parameter can\n // produce text that is more easily readable.\n\n // If the space parameter is a number, make an indent string containing that\n // many spaces.\n const indent_ = get_indent(space)\n\n if (!indent_) {\n return JSON.stringify(value, replacer_)\n }\n\n // vanilla `JSON.parse` allow invalid replacer\n if (!isFunction(replacer_) && !isArray(replacer_)) {\n replacer_ = null\n }\n\n replacer = replacer_\n indent = indent_\n\n const str = is_primitive_object(value)\n ? JSON.stringify(value)\n : stringify('', {'': value}, EMPTY)\n\n clean()\n\n return isObject(value)\n ? process_comments(value, PREFIX_BEFORE_ALL, EMPTY).trimLeft()\n + str\n + process_comments(value, PREFIX_AFTER_ALL, EMPTY).trimRight()\n : str\n}\n","const {parse, tokenize} = require('./parse')\nconst stringify = require('./stringify')\nconst {CommentArray} = require('./array')\nconst {assign} = require('./common')\n\nmodule.exports = {\n parse,\n stringify,\n tokenize,\n\n CommentArray,\n assign\n}\n"],"names":["this","require$$0","ieee754","require$$1","isArray","isNumber","isString","isObject","isFunction","src","sort","PREFIX_BEFORE","PREFIX_AFTER_PROP","PREFIX_AFTER_COLON","PREFIX_AFTER_VALUE","PREFIX_AFTER","PREFIX_BEFORE_ALL","PREFIX_AFTER_ALL","BRACKET_OPEN","BRACKET_CLOSE","CURLY_BRACKET_OPEN","CURLY_BRACKET_CLOSE","COMMA","EMPTY","MINUS","SYMBOL_PREFIXES","COLON","UNDEFINED","symbol","define","copy_comments","swap_comments","assign_non_prop_comments","assign","require$$2","remove_comments","CommentArray","tokenize","index","clean","parse","repeat","stringify","require$$3"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"index.9d4d1607.js","sources":["../../node_modules/esprima/dist/esprima.js","../../node_modules/base64-js/index.js","../../node_modules/ieee754/index.js","../../node_modules/buffer/index.js","../../node_modules/core-util-is/lib/util.js","../../node_modules/array-timsort/src/index.js","../../node_modules/has-own-prop/index.js","../../node_modules/comment-json/src/common.js","../../node_modules/comment-json/src/array.js","../../node_modules/comment-json/src/parse.js","../../node_modules/repeat-string/index.js","../../node_modules/comment-json/src/stringify.js","../../node_modules/comment-json/src/index.js"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n/* istanbul ignore next */\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n/* istanbul ignore next */\n\telse if(typeof exports === 'object')\n\t\texports[\"esprima\"] = factory();\n\telse\n\t\troot[\"esprima\"] = factory();\n})(this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n\n/******/ \t\t// Check if module is in cache\n/* istanbul ignore if */\n/******/ \t\tif(installedModules[moduleId])\n/******/ \t\t\treturn installedModules[moduleId].exports;\n\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\texports: {},\n/******/ \t\t\tid: moduleId,\n/******/ \t\t\tloaded: false\n/******/ \t\t};\n\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.loaded = true;\n\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n\n\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(0);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\t/*\n\t Copyright JS Foundation and other contributors, https://js.foundation/\n\n\t Redistribution and use in source and binary forms, with or without\n\t modification, are permitted provided that the following conditions are met:\n\n\t * Redistributions of source code must retain the above copyright\n\t notice, this list of conditions and the following disclaimer.\n\t * Redistributions in binary form must reproduce the above copyright\n\t notice, this list of conditions and the following disclaimer in the\n\t documentation and/or other materials provided with the distribution.\n\n\t THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\n\t AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n\t IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\n\t ARE DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY\n\t DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n\t (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\n\t LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND\n\t ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n\t (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF\n\t THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\t*/\n\tObject.defineProperty(exports, \"__esModule\", { value: true });\n\tvar comment_handler_1 = __webpack_require__(1);\n\tvar jsx_parser_1 = __webpack_require__(3);\n\tvar parser_1 = __webpack_require__(8);\n\tvar tokenizer_1 = __webpack_require__(15);\n\tfunction parse(code, options, delegate) {\n\t var commentHandler = null;\n\t var proxyDelegate = function (node, metadata) {\n\t if (delegate) {\n\t delegate(node, metadata);\n\t }\n\t if (commentHandler) {\n\t commentHandler.visit(node, metadata);\n\t }\n\t };\n\t var parserDelegate = (typeof delegate === 'function') ? proxyDelegate : null;\n\t var collectComment = false;\n\t if (options) {\n\t collectComment = (typeof options.comment === 'boolean' && options.comment);\n\t var attachComment = (typeof options.attachComment === 'boolean' && options.attachComment);\n\t if (collectComment || attachComment) {\n\t commentHandler = new comment_handler_1.CommentHandler();\n\t commentHandler.attach = attachComment;\n\t options.comment = true;\n\t parserDelegate = proxyDelegate;\n\t }\n\t }\n\t var isModule = false;\n\t if (options && typeof options.sourceType === 'string') {\n\t isModule = (options.sourceType === 'module');\n\t }\n\t var parser;\n\t if (options && typeof options.jsx === 'boolean' && options.jsx) {\n\t parser = new jsx_parser_1.JSXParser(code, options, parserDelegate);\n\t }\n\t else {\n\t parser = new parser_1.Parser(code, options, parserDelegate);\n\t }\n\t var program = isModule ? parser.parseModule() : parser.parseScript();\n\t var ast = program;\n\t if (collectComment && commentHandler) {\n\t ast.comments = commentHandler.comments;\n\t }\n\t if (parser.config.tokens) {\n\t ast.tokens = parser.tokens;\n\t }\n\t if (parser.config.tolerant) {\n\t ast.errors = parser.errorHandler.errors;\n\t }\n\t return ast;\n\t}\n\texports.parse = parse;\n\tfunction parseModule(code, options, delegate) {\n\t var parsingOptions = options || {};\n\t parsingOptions.sourceType = 'module';\n\t return parse(code, parsingOptions, delegate);\n\t}\n\texports.parseModule = parseModule;\n\tfunction parseScript(code, options, delegate) {\n\t var parsingOptions = options || {};\n\t parsingOptions.sourceType = 'script';\n\t return parse(code, parsingOptions, delegate);\n\t}\n\texports.parseScript = parseScript;\n\tfunction tokenize(code, options, delegate) {\n\t var tokenizer = new tokenizer_1.Tokenizer(code, options);\n\t var tokens;\n\t tokens = [];\n\t try {\n\t while (true) {\n\t var token = tokenizer.getNextToken();\n\t if (!token) {\n\t break;\n\t }\n\t if (delegate) {\n\t token = delegate(token);\n\t }\n\t tokens.push(token);\n\t }\n\t }\n\t catch (e) {\n\t tokenizer.errorHandler.tolerate(e);\n\t }\n\t if (tokenizer.errorHandler.tolerant) {\n\t tokens.errors = tokenizer.errors();\n\t }\n\t return tokens;\n\t}\n\texports.tokenize = tokenize;\n\tvar syntax_1 = __webpack_require__(2);\n\texports.Syntax = syntax_1.Syntax;\n\t// Sync with *.json manifests.\n\texports.version = '4.0.1';\n\n\n/***/ },\n/* 1 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\tObject.defineProperty(exports, \"__esModule\", { value: true });\n\tvar syntax_1 = __webpack_require__(2);\n\tvar CommentHandler = (function () {\n\t function CommentHandler() {\n\t this.attach = false;\n\t this.comments = [];\n\t this.stack = [];\n\t this.leading = [];\n\t this.trailing = [];\n\t }\n\t CommentHandler.prototype.insertInnerComments = function (node, metadata) {\n\t // innnerComments for properties empty block\n\t // `function a() {/** comments **\\/}`\n\t if (node.type === syntax_1.Syntax.BlockStatement && node.body.length === 0) {\n\t var innerComments = [];\n\t for (var i = this.leading.length - 1; i >= 0; --i) {\n\t var entry = this.leading[i];\n\t if (metadata.end.offset >= entry.start) {\n\t innerComments.unshift(entry.comment);\n\t this.leading.splice(i, 1);\n\t this.trailing.splice(i, 1);\n\t }\n\t }\n\t if (innerComments.length) {\n\t node.innerComments = innerComments;\n\t }\n\t }\n\t };\n\t CommentHandler.prototype.findTrailingComments = function (metadata) {\n\t var trailingComments = [];\n\t if (this.trailing.length > 0) {\n\t for (var i = this.trailing.length - 1; i >= 0; --i) {\n\t var entry_1 = this.trailing[i];\n\t if (entry_1.start >= metadata.end.offset) {\n\t trailingComments.unshift(entry_1.comment);\n\t }\n\t }\n\t this.trailing.length = 0;\n\t return trailingComments;\n\t }\n\t var entry = this.stack[this.stack.length - 1];\n\t if (entry && entry.node.trailingComments) {\n\t var firstComment = entry.node.trailingComments[0];\n\t if (firstComment && firstComment.range[0] >= metadata.end.offset) {\n\t trailingComments = entry.node.trailingComments;\n\t delete entry.node.trailingComments;\n\t }\n\t }\n\t return trailingComments;\n\t };\n\t CommentHandler.prototype.findLeadingComments = function (metadata) {\n\t var leadingComments = [];\n\t var target;\n\t while (this.stack.length > 0) {\n\t var entry = this.stack[this.stack.length - 1];\n\t if (entry && entry.start >= metadata.start.offset) {\n\t target = entry.node;\n\t this.stack.pop();\n\t }\n\t else {\n\t break;\n\t }\n\t }\n\t if (target) {\n\t var count = target.leadingComments ? target.leadingComments.length : 0;\n\t for (var i = count - 1; i >= 0; --i) {\n\t var comment = target.leadingComments[i];\n\t if (comment.range[1] <= metadata.start.offset) {\n\t leadingComments.unshift(comment);\n\t target.leadingComments.splice(i, 1);\n\t }\n\t }\n\t if (target.leadingComments && target.leadingComments.length === 0) {\n\t delete target.leadingComments;\n\t }\n\t return leadingComments;\n\t }\n\t for (var i = this.leading.length - 1; i >= 0; --i) {\n\t var entry = this.leading[i];\n\t if (entry.start <= metadata.start.offset) {\n\t leadingComments.unshift(entry.comment);\n\t this.leading.splice(i, 1);\n\t }\n\t }\n\t return leadingComments;\n\t };\n\t CommentHandler.prototype.visitNode = function (node, metadata) {\n\t if (node.type === syntax_1.Syntax.Program && node.body.length > 0) {\n\t return;\n\t }\n\t this.insertInnerComments(node, metadata);\n\t var trailingComments = this.findTrailingComments(metadata);\n\t var leadingComments = this.findLeadingComments(metadata);\n\t if (leadingComments.length > 0) {\n\t node.leadingComments = leadingComments;\n\t }\n\t if (trailingComments.length > 0) {\n\t node.trailingComments = trailingComments;\n\t }\n\t this.stack.push({\n\t node: node,\n\t start: metadata.start.offset\n\t });\n\t };\n\t CommentHandler.prototype.visitComment = function (node, metadata) {\n\t var type = (node.type[0] === 'L') ? 'Line' : 'Block';\n\t var comment = {\n\t type: type,\n\t value: node.value\n\t };\n\t if (node.range) {\n\t comment.range = node.range;\n\t }\n\t if (node.loc) {\n\t comment.loc = node.loc;\n\t }\n\t this.comments.push(comment);\n\t if (this.attach) {\n\t var entry = {\n\t comment: {\n\t type: type,\n\t value: node.value,\n\t range: [metadata.start.offset, metadata.end.offset]\n\t },\n\t start: metadata.start.offset\n\t };\n\t if (node.loc) {\n\t entry.comment.loc = node.loc;\n\t }\n\t node.type = type;\n\t this.leading.push(entry);\n\t this.trailing.push(entry);\n\t }\n\t };\n\t CommentHandler.prototype.visit = function (node, metadata) {\n\t if (node.type === 'LineComment') {\n\t this.visitComment(node, metadata);\n\t }\n\t else if (node.type === 'BlockComment') {\n\t this.visitComment(node, metadata);\n\t }\n\t else if (this.attach) {\n\t this.visitNode(node, metadata);\n\t }\n\t };\n\t return CommentHandler;\n\t}());\n\texports.CommentHandler = CommentHandler;\n\n\n/***/ },\n/* 2 */\n/***/ function(module, exports) {\n\n\t\"use strict\";\n\tObject.defineProperty(exports, \"__esModule\", { value: true });\n\texports.Syntax = {\n\t AssignmentExpression: 'AssignmentExpression',\n\t AssignmentPattern: 'AssignmentPattern',\n\t ArrayExpression: 'ArrayExpression',\n\t ArrayPattern: 'ArrayPattern',\n\t ArrowFunctionExpression: 'ArrowFunctionExpression',\n\t AwaitExpression: 'AwaitExpression',\n\t BlockStatement: 'BlockStatement',\n\t BinaryExpression: 'BinaryExpression',\n\t BreakStatement: 'BreakStatement',\n\t CallExpression: 'CallExpression',\n\t CatchClause: 'CatchClause',\n\t ClassBody: 'ClassBody',\n\t ClassDeclaration: 'ClassDeclaration',\n\t ClassExpression: 'ClassExpression',\n\t ConditionalExpression: 'ConditionalExpression',\n\t ContinueStatement: 'ContinueStatement',\n\t DoWhileStatement: 'DoWhileStatement',\n\t DebuggerStatement: 'DebuggerStatement',\n\t EmptyStatement: 'EmptyStatement',\n\t ExportAllDeclaration: 'ExportAllDeclaration',\n\t ExportDefaultDeclaration: 'ExportDefaultDeclaration',\n\t ExportNamedDeclaration: 'ExportNamedDeclaration',\n\t ExportSpecifier: 'ExportSpecifier',\n\t ExpressionStatement: 'ExpressionStatement',\n\t ForStatement: 'ForStatement',\n\t ForOfStatement: 'ForOfStatement',\n\t ForInStatement: 'ForInStatement',\n\t FunctionDeclaration: 'FunctionDeclaration',\n\t FunctionExpression: 'FunctionExpression',\n\t Identifier: 'Identifier',\n\t IfStatement: 'IfStatement',\n\t ImportDeclaration: 'ImportDeclaration',\n\t ImportDefaultSpecifier: 'ImportDefaultSpecifier',\n\t ImportNamespaceSpecifier: 'ImportNamespaceSpecifier',\n\t ImportSpecifier: 'ImportSpecifier',\n\t Literal: 'Literal',\n\t LabeledStatement: 'LabeledStatement',\n\t LogicalExpression: 'LogicalExpression',\n\t MemberExpression: 'MemberExpression',\n\t MetaProperty: 'MetaProperty',\n\t MethodDefinition: 'MethodDefinition',\n\t NewExpression: 'NewExpression',\n\t ObjectExpression: 'ObjectExpression',\n\t ObjectPattern: 'ObjectPattern',\n\t Program: 'Program',\n\t Property: 'Property',\n\t RestElement: 'RestElement',\n\t ReturnStatement: 'ReturnStatement',\n\t SequenceExpression: 'SequenceExpression',\n\t SpreadElement: 'SpreadElement',\n\t Super: 'Super',\n\t SwitchCase: 'SwitchCase',\n\t SwitchStatement: 'SwitchStatement',\n\t TaggedTemplateExpression: 'TaggedTemplateExpression',\n\t TemplateElement: 'TemplateElement',\n\t TemplateLiteral: 'TemplateLiteral',\n\t ThisExpression: 'ThisExpression',\n\t ThrowStatement: 'ThrowStatement',\n\t TryStatement: 'TryStatement',\n\t UnaryExpression: 'UnaryExpression',\n\t UpdateExpression: 'UpdateExpression',\n\t VariableDeclaration: 'VariableDeclaration',\n\t VariableDeclarator: 'VariableDeclarator',\n\t WhileStatement: 'WhileStatement',\n\t WithStatement: 'WithStatement',\n\t YieldExpression: 'YieldExpression'\n\t};\n\n\n/***/ },\n/* 3 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n/* istanbul ignore next */\n\tvar __extends = (this && this.__extends) || (function () {\n\t var extendStatics = Object.setPrototypeOf ||\n\t ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n\t function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n\t return function (d, b) {\n\t extendStatics(d, b);\n\t function __() { this.constructor = d; }\n\t d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n\t };\n\t})();\n\tObject.defineProperty(exports, \"__esModule\", { value: true });\n\tvar character_1 = __webpack_require__(4);\n\tvar JSXNode = __webpack_require__(5);\n\tvar jsx_syntax_1 = __webpack_require__(6);\n\tvar Node = __webpack_require__(7);\n\tvar parser_1 = __webpack_require__(8);\n\tvar token_1 = __webpack_require__(13);\n\tvar xhtml_entities_1 = __webpack_require__(14);\n\ttoken_1.TokenName[100 /* Identifier */] = 'JSXIdentifier';\n\ttoken_1.TokenName[101 /* Text */] = 'JSXText';\n\t// Fully qualified element name, e.g. <svg:path> returns \"svg:path\"\n\tfunction getQualifiedElementName(elementName) {\n\t var qualifiedName;\n\t switch (elementName.type) {\n\t case jsx_syntax_1.JSXSyntax.JSXIdentifier:\n\t var id = elementName;\n\t qualifiedName = id.name;\n\t break;\n\t case jsx_syntax_1.JSXSyntax.JSXNamespacedName:\n\t var ns = elementName;\n\t qualifiedName = getQualifiedElementName(ns.namespace) + ':' +\n\t getQualifiedElementName(ns.name);\n\t break;\n\t case jsx_syntax_1.JSXSyntax.JSXMemberExpression:\n\t var expr = elementName;\n\t qualifiedName = getQualifiedElementName(expr.object) + '.' +\n\t getQualifiedElementName(expr.property);\n\t break;\n\t /* istanbul ignore next */\n\t default:\n\t break;\n\t }\n\t return qualifiedName;\n\t}\n\tvar JSXParser = (function (_super) {\n\t __extends(JSXParser, _super);\n\t function JSXParser(code, options, delegate) {\n\t return _super.call(this, code, options, delegate) || this;\n\t }\n\t JSXParser.prototype.parsePrimaryExpression = function () {\n\t return this.match('<') ? this.parseJSXRoot() : _super.prototype.parsePrimaryExpression.call(this);\n\t };\n\t JSXParser.prototype.startJSX = function () {\n\t // Unwind the scanner before the lookahead token.\n\t this.scanner.index = this.startMarker.index;\n\t this.scanner.lineNumber = this.startMarker.line;\n\t this.scanner.lineStart = this.startMarker.index - this.startMarker.column;\n\t };\n\t JSXParser.prototype.finishJSX = function () {\n\t // Prime the next lookahead.\n\t this.nextToken();\n\t };\n\t JSXParser.prototype.reenterJSX = function () {\n\t this.startJSX();\n\t this.expectJSX('}');\n\t // Pop the closing '}' added from the lookahead.\n\t if (this.config.tokens) {\n\t this.tokens.pop();\n\t }\n\t };\n\t JSXParser.prototype.createJSXNode = function () {\n\t this.collectComments();\n\t return {\n\t index: this.scanner.index,\n\t line: this.scanner.lineNumber,\n\t column: this.scanner.index - this.scanner.lineStart\n\t };\n\t };\n\t JSXParser.prototype.createJSXChildNode = function () {\n\t return {\n\t index: this.scanner.index,\n\t line: this.scanner.lineNumber,\n\t column: this.scanner.index - this.scanner.lineStart\n\t };\n\t };\n\t JSXParser.prototype.scanXHTMLEntity = function (quote) {\n\t var result = '&';\n\t var valid = true;\n\t var terminated = false;\n\t var numeric = false;\n\t var hex = false;\n\t while (!this.scanner.eof() && valid && !terminated) {\n\t var ch = this.scanner.source[this.scanner.index];\n\t if (ch === quote) {\n\t break;\n\t }\n\t terminated = (ch === ';');\n\t result += ch;\n\t ++this.scanner.index;\n\t if (!terminated) {\n\t switch (result.length) {\n\t case 2:\n\t // e.g. '{'\n\t numeric = (ch === '#');\n\t break;\n\t case 3:\n\t if (numeric) {\n\t // e.g. 'A'\n\t hex = (ch === 'x');\n\t valid = hex || character_1.Character.isDecimalDigit(ch.charCodeAt(0));\n\t numeric = numeric && !hex;\n\t }\n\t break;\n\t default:\n\t valid = valid && !(numeric && !character_1.Character.isDecimalDigit(ch.charCodeAt(0)));\n\t valid = valid && !(hex && !character_1.Character.isHexDigit(ch.charCodeAt(0)));\n\t break;\n\t }\n\t }\n\t }\n\t if (valid && terminated && result.length > 2) {\n\t // e.g. 'A' becomes just '#x41'\n\t var str = result.substr(1, result.length - 2);\n\t if (numeric && str.length > 1) {\n\t result = String.fromCharCode(parseInt(str.substr(1), 10));\n\t }\n\t else if (hex && str.length > 2) {\n\t result = String.fromCharCode(parseInt('0' + str.substr(1), 16));\n\t }\n\t else if (!numeric && !hex && xhtml_entities_1.XHTMLEntities[str]) {\n\t result = xhtml_entities_1.XHTMLEntities[str];\n\t }\n\t }\n\t return result;\n\t };\n\t // Scan the next JSX token. This replaces Scanner#lex when in JSX mode.\n\t JSXParser.prototype.lexJSX = function () {\n\t var cp = this.scanner.source.charCodeAt(this.scanner.index);\n\t // < > / : = { }\n\t if (cp === 60 || cp === 62 || cp === 47 || cp === 58 || cp === 61 || cp === 123 || cp === 125) {\n\t var value = this.scanner.source[this.scanner.index++];\n\t return {\n\t type: 7 /* Punctuator */,\n\t value: value,\n\t lineNumber: this.scanner.lineNumber,\n\t lineStart: this.scanner.lineStart,\n\t start: this.scanner.index - 1,\n\t end: this.scanner.index\n\t };\n\t }\n\t // \" '\n\t if (cp === 34 || cp === 39) {\n\t var start = this.scanner.index;\n\t var quote = this.scanner.source[this.scanner.index++];\n\t var str = '';\n\t while (!this.scanner.eof()) {\n\t var ch = this.scanner.source[this.scanner.index++];\n\t if (ch === quote) {\n\t break;\n\t }\n\t else if (ch === '&') {\n\t str += this.scanXHTMLEntity(quote);\n\t }\n\t else {\n\t str += ch;\n\t }\n\t }\n\t return {\n\t type: 8 /* StringLiteral */,\n\t value: str,\n\t lineNumber: this.scanner.lineNumber,\n\t lineStart: this.scanner.lineStart,\n\t start: start,\n\t end: this.scanner.index\n\t };\n\t }\n\t // ... or .\n\t if (cp === 46) {\n\t var n1 = this.scanner.source.charCodeAt(this.scanner.index + 1);\n\t var n2 = this.scanner.source.charCodeAt(this.scanner.index + 2);\n\t var value = (n1 === 46 && n2 === 46) ? '...' : '.';\n\t var start = this.scanner.index;\n\t this.scanner.index += value.length;\n\t return {\n\t type: 7 /* Punctuator */,\n\t value: value,\n\t lineNumber: this.scanner.lineNumber,\n\t lineStart: this.scanner.lineStart,\n\t start: start,\n\t end: this.scanner.index\n\t };\n\t }\n\t // `\n\t if (cp === 96) {\n\t // Only placeholder, since it will be rescanned as a real assignment expression.\n\t return {\n\t type: 10 /* Template */,\n\t value: '',\n\t lineNumber: this.scanner.lineNumber,\n\t lineStart: this.scanner.lineStart,\n\t start: this.scanner.index,\n\t end: this.scanner.index\n\t };\n\t }\n\t // Identifer can not contain backslash (char code 92).\n\t if (character_1.Character.isIdentifierStart(cp) && (cp !== 92)) {\n\t var start = this.scanner.index;\n\t ++this.scanner.index;\n\t while (!this.scanner.eof()) {\n\t var ch = this.scanner.source.charCodeAt(this.scanner.index);\n\t if (character_1.Character.isIdentifierPart(ch) && (ch !== 92)) {\n\t ++this.scanner.index;\n\t }\n\t else if (ch === 45) {\n\t // Hyphen (char code 45) can be part of an identifier.\n\t ++this.scanner.index;\n\t }\n\t else {\n\t break;\n\t }\n\t }\n\t var id = this.scanner.source.slice(start, this.scanner.index);\n\t return {\n\t type: 100 /* Identifier */,\n\t value: id,\n\t lineNumber: this.scanner.lineNumber,\n\t lineStart: this.scanner.lineStart,\n\t start: start,\n\t end: this.scanner.index\n\t };\n\t }\n\t return this.scanner.lex();\n\t };\n\t JSXParser.prototype.nextJSXToken = function () {\n\t this.collectComments();\n\t this.startMarker.index = this.scanner.index;\n\t this.startMarker.line = this.scanner.lineNumber;\n\t this.startMarker.column = this.scanner.index - this.scanner.lineStart;\n\t var token = this.lexJSX();\n\t this.lastMarker.index = this.scanner.index;\n\t this.lastMarker.line = this.scanner.lineNumber;\n\t this.lastMarker.column = this.scanner.index - this.scanner.lineStart;\n\t if (this.config.tokens) {\n\t this.tokens.push(this.convertToken(token));\n\t }\n\t return token;\n\t };\n\t JSXParser.prototype.nextJSXText = function () {\n\t this.startMarker.index = this.scanner.index;\n\t this.startMarker.line = this.scanner.lineNumber;\n\t this.startMarker.column = this.scanner.index - this.scanner.lineStart;\n\t var start = this.scanner.index;\n\t var text = '';\n\t while (!this.scanner.eof()) {\n\t var ch = this.scanner.source[this.scanner.index];\n\t if (ch === '{' || ch === '<') {\n\t break;\n\t }\n\t ++this.scanner.index;\n\t text += ch;\n\t if (character_1.Character.isLineTerminator(ch.charCodeAt(0))) {\n\t ++this.scanner.lineNumber;\n\t if (ch === '\\r' && this.scanner.source[this.scanner.index] === '\\n') {\n\t ++this.scanner.index;\n\t }\n\t this.scanner.lineStart = this.scanner.index;\n\t }\n\t }\n\t this.lastMarker.index = this.scanner.index;\n\t this.lastMarker.line = this.scanner.lineNumber;\n\t this.lastMarker.column = this.scanner.index - this.scanner.lineStart;\n\t var token = {\n\t type: 101 /* Text */,\n\t value: text,\n\t lineNumber: this.scanner.lineNumber,\n\t lineStart: this.scanner.lineStart,\n\t start: start,\n\t end: this.scanner.index\n\t };\n\t if ((text.length > 0) && this.config.tokens) {\n\t this.tokens.push(this.convertToken(token));\n\t }\n\t return token;\n\t };\n\t JSXParser.prototype.peekJSXToken = function () {\n\t var state = this.scanner.saveState();\n\t this.scanner.scanComments();\n\t var next = this.lexJSX();\n\t this.scanner.restoreState(state);\n\t return next;\n\t };\n\t // Expect the next JSX token to match the specified punctuator.\n\t // If not, an exception will be thrown.\n\t JSXParser.prototype.expectJSX = function (value) {\n\t var token = this.nextJSXToken();\n\t if (token.type !== 7 /* Punctuator */ || token.value !== value) {\n\t this.throwUnexpectedToken(token);\n\t }\n\t };\n\t // Return true if the next JSX token matches the specified punctuator.\n\t JSXParser.prototype.matchJSX = function (value) {\n\t var next = this.peekJSXToken();\n\t return next.type === 7 /* Punctuator */ && next.value === value;\n\t };\n\t JSXParser.prototype.parseJSXIdentifier = function () {\n\t var node = this.createJSXNode();\n\t var token = this.nextJSXToken();\n\t if (token.type !== 100 /* Identifier */) {\n\t this.throwUnexpectedToken(token);\n\t }\n\t return this.finalize(node, new JSXNode.JSXIdentifier(token.value));\n\t };\n\t JSXParser.prototype.parseJSXElementName = function () {\n\t var node = this.createJSXNode();\n\t var elementName = this.parseJSXIdentifier();\n\t if (this.matchJSX(':')) {\n\t var namespace = elementName;\n\t this.expectJSX(':');\n\t var name_1 = this.parseJSXIdentifier();\n\t elementName = this.finalize(node, new JSXNode.JSXNamespacedName(namespace, name_1));\n\t }\n\t else if (this.matchJSX('.')) {\n\t while (this.matchJSX('.')) {\n\t var object = elementName;\n\t this.expectJSX('.');\n\t var property = this.parseJSXIdentifier();\n\t elementName = this.finalize(node, new JSXNode.JSXMemberExpression(object, property));\n\t }\n\t }\n\t return elementName;\n\t };\n\t JSXParser.prototype.parseJSXAttributeName = function () {\n\t var node = this.createJSXNode();\n\t var attributeName;\n\t var identifier = this.parseJSXIdentifier();\n\t if (this.matchJSX(':')) {\n\t var namespace = identifier;\n\t this.expectJSX(':');\n\t var name_2 = this.parseJSXIdentifier();\n\t attributeName = this.finalize(node, new JSXNode.JSXNamespacedName(namespace, name_2));\n\t }\n\t else {\n\t attributeName = identifier;\n\t }\n\t return attributeName;\n\t };\n\t JSXParser.prototype.parseJSXStringLiteralAttribute = function () {\n\t var node = this.createJSXNode();\n\t var token = this.nextJSXToken();\n\t if (token.type !== 8 /* StringLiteral */) {\n\t this.throwUnexpectedToken(token);\n\t }\n\t var raw = this.getTokenRaw(token);\n\t return this.finalize(node, new Node.Literal(token.value, raw));\n\t };\n\t JSXParser.prototype.parseJSXExpressionAttribute = function () {\n\t var node = this.createJSXNode();\n\t this.expectJSX('{');\n\t this.finishJSX();\n\t if (this.match('}')) {\n\t this.tolerateError('JSX attributes must only be assigned a non-empty expression');\n\t }\n\t var expression = this.parseAssignmentExpression();\n\t this.reenterJSX();\n\t return this.finalize(node, new JSXNode.JSXExpressionContainer(expression));\n\t };\n\t JSXParser.prototype.parseJSXAttributeValue = function () {\n\t return this.matchJSX('{') ? this.parseJSXExpressionAttribute() :\n\t this.matchJSX('<') ? this.parseJSXElement() : this.parseJSXStringLiteralAttribute();\n\t };\n\t JSXParser.prototype.parseJSXNameValueAttribute = function () {\n\t var node = this.createJSXNode();\n\t var name = this.parseJSXAttributeName();\n\t var value = null;\n\t if (this.matchJSX('=')) {\n\t this.expectJSX('=');\n\t value = this.parseJSXAttributeValue();\n\t }\n\t return this.finalize(node, new JSXNode.JSXAttribute(name, value));\n\t };\n\t JSXParser.prototype.parseJSXSpreadAttribute = function () {\n\t var node = this.createJSXNode();\n\t this.expectJSX('{');\n\t this.expectJSX('...');\n\t this.finishJSX();\n\t var argument = this.parseAssignmentExpression();\n\t this.reenterJSX();\n\t return this.finalize(node, new JSXNode.JSXSpreadAttribute(argument));\n\t };\n\t JSXParser.prototype.parseJSXAttributes = function () {\n\t var attributes = [];\n\t while (!this.matchJSX('/') && !this.matchJSX('>')) {\n\t var attribute = this.matchJSX('{') ? this.parseJSXSpreadAttribute() :\n\t this.parseJSXNameValueAttribute();\n\t attributes.push(attribute);\n\t }\n\t return attributes;\n\t };\n\t JSXParser.prototype.parseJSXOpeningElement = function () {\n\t var node = this.createJSXNode();\n\t this.expectJSX('<');\n\t var name = this.parseJSXElementName();\n\t var attributes = this.parseJSXAttributes();\n\t var selfClosing = this.matchJSX('/');\n\t if (selfClosing) {\n\t this.expectJSX('/');\n\t }\n\t this.expectJSX('>');\n\t return this.finalize(node, new JSXNode.JSXOpeningElement(name, selfClosing, attributes));\n\t };\n\t JSXParser.prototype.parseJSXBoundaryElement = function () {\n\t var node = this.createJSXNode();\n\t this.expectJSX('<');\n\t if (this.matchJSX('/')) {\n\t this.expectJSX('/');\n\t var name_3 = this.parseJSXElementName();\n\t this.expectJSX('>');\n\t return this.finalize(node, new JSXNode.JSXClosingElement(name_3));\n\t }\n\t var name = this.parseJSXElementName();\n\t var attributes = this.parseJSXAttributes();\n\t var selfClosing = this.matchJSX('/');\n\t if (selfClosing) {\n\t this.expectJSX('/');\n\t }\n\t this.expectJSX('>');\n\t return this.finalize(node, new JSXNode.JSXOpeningElement(name, selfClosing, attributes));\n\t };\n\t JSXParser.prototype.parseJSXEmptyExpression = function () {\n\t var node = this.createJSXChildNode();\n\t this.collectComments();\n\t this.lastMarker.index = this.scanner.index;\n\t this.lastMarker.line = this.scanner.lineNumber;\n\t this.lastMarker.column = this.scanner.index - this.scanner.lineStart;\n\t return this.finalize(node, new JSXNode.JSXEmptyExpression());\n\t };\n\t JSXParser.prototype.parseJSXExpressionContainer = function () {\n\t var node = this.createJSXNode();\n\t this.expectJSX('{');\n\t var expression;\n\t if (this.matchJSX('}')) {\n\t expression = this.parseJSXEmptyExpression();\n\t this.expectJSX('}');\n\t }\n\t else {\n\t this.finishJSX();\n\t expression = this.parseAssignmentExpression();\n\t this.reenterJSX();\n\t }\n\t return this.finalize(node, new JSXNode.JSXExpressionContainer(expression));\n\t };\n\t JSXParser.prototype.parseJSXChildren = function () {\n\t var children = [];\n\t while (!this.scanner.eof()) {\n\t var node = this.createJSXChildNode();\n\t var token = this.nextJSXText();\n\t if (token.start < token.end) {\n\t var raw = this.getTokenRaw(token);\n\t var child = this.finalize(node, new JSXNode.JSXText(token.value, raw));\n\t children.push(child);\n\t }\n\t if (this.scanner.source[this.scanner.index] === '{') {\n\t var container = this.parseJSXExpressionContainer();\n\t children.push(container);\n\t }\n\t else {\n\t break;\n\t }\n\t }\n\t return children;\n\t };\n\t JSXParser.prototype.parseComplexJSXElement = function (el) {\n\t var stack = [];\n\t while (!this.scanner.eof()) {\n\t el.children = el.children.concat(this.parseJSXChildren());\n\t var node = this.createJSXChildNode();\n\t var element = this.parseJSXBoundaryElement();\n\t if (element.type === jsx_syntax_1.JSXSyntax.JSXOpeningElement) {\n\t var opening = element;\n\t if (opening.selfClosing) {\n\t var child = this.finalize(node, new JSXNode.JSXElement(opening, [], null));\n\t el.children.push(child);\n\t }\n\t else {\n\t stack.push(el);\n\t el = { node: node, opening: opening, closing: null, children: [] };\n\t }\n\t }\n\t if (element.type === jsx_syntax_1.JSXSyntax.JSXClosingElement) {\n\t el.closing = element;\n\t var open_1 = getQualifiedElementName(el.opening.name);\n\t var close_1 = getQualifiedElementName(el.closing.name);\n\t if (open_1 !== close_1) {\n\t this.tolerateError('Expected corresponding JSX closing tag for %0', open_1);\n\t }\n\t if (stack.length > 0) {\n\t var child = this.finalize(el.node, new JSXNode.JSXElement(el.opening, el.children, el.closing));\n\t el = stack[stack.length - 1];\n\t el.children.push(child);\n\t stack.pop();\n\t }\n\t else {\n\t break;\n\t }\n\t }\n\t }\n\t return el;\n\t };\n\t JSXParser.prototype.parseJSXElement = function () {\n\t var node = this.createJSXNode();\n\t var opening = this.parseJSXOpeningElement();\n\t var children = [];\n\t var closing = null;\n\t if (!opening.selfClosing) {\n\t var el = this.parseComplexJSXElement({ node: node, opening: opening, closing: closing, children: children });\n\t children = el.children;\n\t closing = el.closing;\n\t }\n\t return this.finalize(node, new JSXNode.JSXElement(opening, children, closing));\n\t };\n\t JSXParser.prototype.parseJSXRoot = function () {\n\t // Pop the opening '<' added from the lookahead.\n\t if (this.config.tokens) {\n\t this.tokens.pop();\n\t }\n\t this.startJSX();\n\t var element = this.parseJSXElement();\n\t this.finishJSX();\n\t return element;\n\t };\n\t JSXParser.prototype.isStartOfExpression = function () {\n\t return _super.prototype.isStartOfExpression.call(this) || this.match('<');\n\t };\n\t return JSXParser;\n\t}(parser_1.Parser));\n\texports.JSXParser = JSXParser;\n\n\n/***/ },\n/* 4 */\n/***/ function(module, exports) {\n\n\t\"use strict\";\n\tObject.defineProperty(exports, \"__esModule\", { value: true });\n\t// See also tools/generate-unicode-regex.js.\n\tvar Regex = {\n\t // Unicode v8.0.0 NonAsciiIdentifierStart:\n\t NonAsciiIdentifierStart: /[\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0620-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u08A0-\\u08B4\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0AF9\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58-\\u0C5A\\u0C60\\u0C61\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D5F-\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1877\\u1880-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1CE9-\\u1CEC\\u1CEE-\\u1CF1\\u1CF5\\u1CF6\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2118-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u309B-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FD5\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6EF\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7AD\\uA7B0-\\uA7B7\\uA7F7-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA8FD\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uA9E0-\\uA9E4\\uA9E6-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB65\\uAB70-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]|\\uD800[\\uDC00-\\uDC0B\\uDC0D-\\uDC26\\uDC28-\\uDC3A\\uDC3C\\uDC3D\\uDC3F-\\uDC4D\\uDC50-\\uDC5D\\uDC80-\\uDCFA\\uDD40-\\uDD74\\uDE80-\\uDE9C\\uDEA0-\\uDED0\\uDF00-\\uDF1F\\uDF30-\\uDF4A\\uDF50-\\uDF75\\uDF80-\\uDF9D\\uDFA0-\\uDFC3\\uDFC8-\\uDFCF\\uDFD1-\\uDFD5]|\\uD801[\\uDC00-\\uDC9D\\uDD00-\\uDD27\\uDD30-\\uDD63\\uDE00-\\uDF36\\uDF40-\\uDF55\\uDF60-\\uDF67]|\\uD802[\\uDC00-\\uDC05\\uDC08\\uDC0A-\\uDC35\\uDC37\\uDC38\\uDC3C\\uDC3F-\\uDC55\\uDC60-\\uDC76\\uDC80-\\uDC9E\\uDCE0-\\uDCF2\\uDCF4\\uDCF5\\uDD00-\\uDD15\\uDD20-\\uDD39\\uDD80-\\uDDB7\\uDDBE\\uDDBF\\uDE00\\uDE10-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE33\\uDE60-\\uDE7C\\uDE80-\\uDE9C\\uDEC0-\\uDEC7\\uDEC9-\\uDEE4\\uDF00-\\uDF35\\uDF40-\\uDF55\\uDF60-\\uDF72\\uDF80-\\uDF91]|\\uD803[\\uDC00-\\uDC48\\uDC80-\\uDCB2\\uDCC0-\\uDCF2]|\\uD804[\\uDC03-\\uDC37\\uDC83-\\uDCAF\\uDCD0-\\uDCE8\\uDD03-\\uDD26\\uDD50-\\uDD72\\uDD76\\uDD83-\\uDDB2\\uDDC1-\\uDDC4\\uDDDA\\uDDDC\\uDE00-\\uDE11\\uDE13-\\uDE2B\\uDE80-\\uDE86\\uDE88\\uDE8A-\\uDE8D\\uDE8F-\\uDE9D\\uDE9F-\\uDEA8\\uDEB0-\\uDEDE\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3D\\uDF50\\uDF5D-\\uDF61]|\\uD805[\\uDC80-\\uDCAF\\uDCC4\\uDCC5\\uDCC7\\uDD80-\\uDDAE\\uDDD8-\\uDDDB\\uDE00-\\uDE2F\\uDE44\\uDE80-\\uDEAA\\uDF00-\\uDF19]|\\uD806[\\uDCA0-\\uDCDF\\uDCFF\\uDEC0-\\uDEF8]|\\uD808[\\uDC00-\\uDF99]|\\uD809[\\uDC00-\\uDC6E\\uDC80-\\uDD43]|[\\uD80C\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2E]|\\uD811[\\uDC00-\\uDE46]|\\uD81A[\\uDC00-\\uDE38\\uDE40-\\uDE5E\\uDED0-\\uDEED\\uDF00-\\uDF2F\\uDF40-\\uDF43\\uDF63-\\uDF77\\uDF7D-\\uDF8F]|\\uD81B[\\uDF00-\\uDF44\\uDF50\\uDF93-\\uDF9F]|\\uD82C[\\uDC00\\uDC01]|\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99]|\\uD835[\\uDC00-\\uDC54\\uDC56-\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD1E-\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD52-\\uDEA5\\uDEA8-\\uDEC0\\uDEC2-\\uDEDA\\uDEDC-\\uDEFA\\uDEFC-\\uDF14\\uDF16-\\uDF34\\uDF36-\\uDF4E\\uDF50-\\uDF6E\\uDF70-\\uDF88\\uDF8A-\\uDFA8\\uDFAA-\\uDFC2\\uDFC4-\\uDFCB]|\\uD83A[\\uDC00-\\uDCC4]|\\uD83B[\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB]|\\uD869[\\uDC00-\\uDED6\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF34\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1]|\\uD87E[\\uDC00-\\uDE1D]/,\n\t // Unicode v8.0.0 NonAsciiIdentifierPart:\n\t NonAsciiIdentifierPart: /[\\xAA\\xB5\\xB7\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0300-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u0483-\\u0487\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0610-\\u061A\\u0620-\\u0669\\u066E-\\u06D3\\u06D5-\\u06DC\\u06DF-\\u06E8\\u06EA-\\u06FC\\u06FF\\u0710-\\u074A\\u074D-\\u07B1\\u07C0-\\u07F5\\u07FA\\u0800-\\u082D\\u0840-\\u085B\\u08A0-\\u08B4\\u08E3-\\u0963\\u0966-\\u096F\\u0971-\\u0983\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BC-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CE\\u09D7\\u09DC\\u09DD\\u09DF-\\u09E3\\u09E6-\\u09F1\\u0A01-\\u0A03\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A59-\\u0A5C\\u0A5E\\u0A66-\\u0A75\\u0A81-\\u0A83\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABC-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AD0\\u0AE0-\\u0AE3\\u0AE6-\\u0AEF\\u0AF9\\u0B01-\\u0B03\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3C-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B56\\u0B57\\u0B5C\\u0B5D\\u0B5F-\\u0B63\\u0B66-\\u0B6F\\u0B71\\u0B82\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD0\\u0BD7\\u0BE6-\\u0BEF\\u0C00-\\u0C03\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C58-\\u0C5A\\u0C60-\\u0C63\\u0C66-\\u0C6F\\u0C81-\\u0C83\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBC-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CDE\\u0CE0-\\u0CE3\\u0CE6-\\u0CEF\\u0CF1\\u0CF2\\u0D01-\\u0D03\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4E\\u0D57\\u0D5F-\\u0D63\\u0D66-\\u0D6F\\u0D7A-\\u0D7F\\u0D82\\u0D83\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DE6-\\u0DEF\\u0DF2\\u0DF3\\u0E01-\\u0E3A\\u0E40-\\u0E4E\\u0E50-\\u0E59\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB9\\u0EBB-\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EC8-\\u0ECD\\u0ED0-\\u0ED9\\u0EDC-\\u0EDF\\u0F00\\u0F18\\u0F19\\u0F20-\\u0F29\\u0F35\\u0F37\\u0F39\\u0F3E-\\u0F47\\u0F49-\\u0F6C\\u0F71-\\u0F84\\u0F86-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u1000-\\u1049\\u1050-\\u109D\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u135D-\\u135F\\u1369-\\u1371\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1714\\u1720-\\u1734\\u1740-\\u1753\\u1760-\\u176C\\u176E-\\u1770\\u1772\\u1773\\u1780-\\u17D3\\u17D7\\u17DC\\u17DD\\u17E0-\\u17E9\\u180B-\\u180D\\u1810-\\u1819\\u1820-\\u1877\\u1880-\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1920-\\u192B\\u1930-\\u193B\\u1946-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u19D0-\\u19DA\\u1A00-\\u1A1B\\u1A20-\\u1A5E\\u1A60-\\u1A7C\\u1A7F-\\u1A89\\u1A90-\\u1A99\\u1AA7\\u1AB0-\\u1ABD\\u1B00-\\u1B4B\\u1B50-\\u1B59\\u1B6B-\\u1B73\\u1B80-\\u1BF3\\u1C00-\\u1C37\\u1C40-\\u1C49\\u1C4D-\\u1C7D\\u1CD0-\\u1CD2\\u1CD4-\\u1CF6\\u1CF8\\u1CF9\\u1D00-\\u1DF5\\u1DFC-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u200C\\u200D\\u203F\\u2040\\u2054\\u2071\\u207F\\u2090-\\u209C\\u20D0-\\u20DC\\u20E1\\u20E5-\\u20F0\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2118-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D7F-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2DE0-\\u2DFF\\u3005-\\u3007\\u3021-\\u302F\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u3099-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FD5\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA62B\\uA640-\\uA66F\\uA674-\\uA67D\\uA67F-\\uA6F1\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7AD\\uA7B0-\\uA7B7\\uA7F7-\\uA827\\uA840-\\uA873\\uA880-\\uA8C4\\uA8D0-\\uA8D9\\uA8E0-\\uA8F7\\uA8FB\\uA8FD\\uA900-\\uA92D\\uA930-\\uA953\\uA960-\\uA97C\\uA980-\\uA9C0\\uA9CF-\\uA9D9\\uA9E0-\\uA9FE\\uAA00-\\uAA36\\uAA40-\\uAA4D\\uAA50-\\uAA59\\uAA60-\\uAA76\\uAA7A-\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEF\\uAAF2-\\uAAF6\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB65\\uAB70-\\uABEA\\uABEC\\uABED\\uABF0-\\uABF9\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE00-\\uFE0F\\uFE20-\\uFE2F\\uFE33\\uFE34\\uFE4D-\\uFE4F\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF10-\\uFF19\\uFF21-\\uFF3A\\uFF3F\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]|\\uD800[\\uDC00-\\uDC0B\\uDC0D-\\uDC26\\uDC28-\\uDC3A\\uDC3C\\uDC3D\\uDC3F-\\uDC4D\\uDC50-\\uDC5D\\uDC80-\\uDCFA\\uDD40-\\uDD74\\uDDFD\\uDE80-\\uDE9C\\uDEA0-\\uDED0\\uDEE0\\uDF00-\\uDF1F\\uDF30-\\uDF4A\\uDF50-\\uDF7A\\uDF80-\\uDF9D\\uDFA0-\\uDFC3\\uDFC8-\\uDFCF\\uDFD1-\\uDFD5]|\\uD801[\\uDC00-\\uDC9D\\uDCA0-\\uDCA9\\uDD00-\\uDD27\\uDD30-\\uDD63\\uDE00-\\uDF36\\uDF40-\\uDF55\\uDF60-\\uDF67]|\\uD802[\\uDC00-\\uDC05\\uDC08\\uDC0A-\\uDC35\\uDC37\\uDC38\\uDC3C\\uDC3F-\\uDC55\\uDC60-\\uDC76\\uDC80-\\uDC9E\\uDCE0-\\uDCF2\\uDCF4\\uDCF5\\uDD00-\\uDD15\\uDD20-\\uDD39\\uDD80-\\uDDB7\\uDDBE\\uDDBF\\uDE00-\\uDE03\\uDE05\\uDE06\\uDE0C-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE33\\uDE38-\\uDE3A\\uDE3F\\uDE60-\\uDE7C\\uDE80-\\uDE9C\\uDEC0-\\uDEC7\\uDEC9-\\uDEE6\\uDF00-\\uDF35\\uDF40-\\uDF55\\uDF60-\\uDF72\\uDF80-\\uDF91]|\\uD803[\\uDC00-\\uDC48\\uDC80-\\uDCB2\\uDCC0-\\uDCF2]|\\uD804[\\uDC00-\\uDC46\\uDC66-\\uDC6F\\uDC7F-\\uDCBA\\uDCD0-\\uDCE8\\uDCF0-\\uDCF9\\uDD00-\\uDD34\\uDD36-\\uDD3F\\uDD50-\\uDD73\\uDD76\\uDD80-\\uDDC4\\uDDCA-\\uDDCC\\uDDD0-\\uDDDA\\uDDDC\\uDE00-\\uDE11\\uDE13-\\uDE37\\uDE80-\\uDE86\\uDE88\\uDE8A-\\uDE8D\\uDE8F-\\uDE9D\\uDE9F-\\uDEA8\\uDEB0-\\uDEEA\\uDEF0-\\uDEF9\\uDF00-\\uDF03\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3C-\\uDF44\\uDF47\\uDF48\\uDF4B-\\uDF4D\\uDF50\\uDF57\\uDF5D-\\uDF63\\uDF66-\\uDF6C\\uDF70-\\uDF74]|\\uD805[\\uDC80-\\uDCC5\\uDCC7\\uDCD0-\\uDCD9\\uDD80-\\uDDB5\\uDDB8-\\uDDC0\\uDDD8-\\uDDDD\\uDE00-\\uDE40\\uDE44\\uDE50-\\uDE59\\uDE80-\\uDEB7\\uDEC0-\\uDEC9\\uDF00-\\uDF19\\uDF1D-\\uDF2B\\uDF30-\\uDF39]|\\uD806[\\uDCA0-\\uDCE9\\uDCFF\\uDEC0-\\uDEF8]|\\uD808[\\uDC00-\\uDF99]|\\uD809[\\uDC00-\\uDC6E\\uDC80-\\uDD43]|[\\uD80C\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2E]|\\uD811[\\uDC00-\\uDE46]|\\uD81A[\\uDC00-\\uDE38\\uDE40-\\uDE5E\\uDE60-\\uDE69\\uDED0-\\uDEED\\uDEF0-\\uDEF4\\uDF00-\\uDF36\\uDF40-\\uDF43\\uDF50-\\uDF59\\uDF63-\\uDF77\\uDF7D-\\uDF8F]|\\uD81B[\\uDF00-\\uDF44\\uDF50-\\uDF7E\\uDF8F-\\uDF9F]|\\uD82C[\\uDC00\\uDC01]|\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99\\uDC9D\\uDC9E]|\\uD834[\\uDD65-\\uDD69\\uDD6D-\\uDD72\\uDD7B-\\uDD82\\uDD85-\\uDD8B\\uDDAA-\\uDDAD\\uDE42-\\uDE44]|\\uD835[\\uDC00-\\uDC54\\uDC56-\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD1E-\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD52-\\uDEA5\\uDEA8-\\uDEC0\\uDEC2-\\uDEDA\\uDEDC-\\uDEFA\\uDEFC-\\uDF14\\uDF16-\\uDF34\\uDF36-\\uDF4E\\uDF50-\\uDF6E\\uDF70-\\uDF88\\uDF8A-\\uDFA8\\uDFAA-\\uDFC2\\uDFC4-\\uDFCB\\uDFCE-\\uDFFF]|\\uD836[\\uDE00-\\uDE36\\uDE3B-\\uDE6C\\uDE75\\uDE84\\uDE9B-\\uDE9F\\uDEA1-\\uDEAF]|\\uD83A[\\uDC00-\\uDCC4\\uDCD0-\\uDCD6]|\\uD83B[\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB]|\\uD869[\\uDC00-\\uDED6\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF34\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1]|\\uD87E[\\uDC00-\\uDE1D]|\\uDB40[\\uDD00-\\uDDEF]/\n\t};\n\texports.Character = {\n\t /* tslint:disable:no-bitwise */\n\t fromCodePoint: function (cp) {\n\t return (cp < 0x10000) ? String.fromCharCode(cp) :\n\t String.fromCharCode(0xD800 + ((cp - 0x10000) >> 10)) +\n\t String.fromCharCode(0xDC00 + ((cp - 0x10000) & 1023));\n\t },\n\t // https://tc39.github.io/ecma262/#sec-white-space\n\t isWhiteSpace: function (cp) {\n\t return (cp === 0x20) || (cp === 0x09) || (cp === 0x0B) || (cp === 0x0C) || (cp === 0xA0) ||\n\t (cp >= 0x1680 && [0x1680, 0x2000, 0x2001, 0x2002, 0x2003, 0x2004, 0x2005, 0x2006, 0x2007, 0x2008, 0x2009, 0x200A, 0x202F, 0x205F, 0x3000, 0xFEFF].indexOf(cp) >= 0);\n\t },\n\t // https://tc39.github.io/ecma262/#sec-line-terminators\n\t isLineTerminator: function (cp) {\n\t return (cp === 0x0A) || (cp === 0x0D) || (cp === 0x2028) || (cp === 0x2029);\n\t },\n\t // https://tc39.github.io/ecma262/#sec-names-and-keywords\n\t isIdentifierStart: function (cp) {\n\t return (cp === 0x24) || (cp === 0x5F) ||\n\t (cp >= 0x41 && cp <= 0x5A) ||\n\t (cp >= 0x61 && cp <= 0x7A) ||\n\t (cp === 0x5C) ||\n\t ((cp >= 0x80) && Regex.NonAsciiIdentifierStart.test(exports.Character.fromCodePoint(cp)));\n\t },\n\t isIdentifierPart: function (cp) {\n\t return (cp === 0x24) || (cp === 0x5F) ||\n\t (cp >= 0x41 && cp <= 0x5A) ||\n\t (cp >= 0x61 && cp <= 0x7A) ||\n\t (cp >= 0x30 && cp <= 0x39) ||\n\t (cp === 0x5C) ||\n\t ((cp >= 0x80) && Regex.NonAsciiIdentifierPart.test(exports.Character.fromCodePoint(cp)));\n\t },\n\t // https://tc39.github.io/ecma262/#sec-literals-numeric-literals\n\t isDecimalDigit: function (cp) {\n\t return (cp >= 0x30 && cp <= 0x39); // 0..9\n\t },\n\t isHexDigit: function (cp) {\n\t return (cp >= 0x30 && cp <= 0x39) ||\n\t (cp >= 0x41 && cp <= 0x46) ||\n\t (cp >= 0x61 && cp <= 0x66); // a..f\n\t },\n\t isOctalDigit: function (cp) {\n\t return (cp >= 0x30 && cp <= 0x37); // 0..7\n\t }\n\t};\n\n\n/***/ },\n/* 5 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\tObject.defineProperty(exports, \"__esModule\", { value: true });\n\tvar jsx_syntax_1 = __webpack_require__(6);\n\t/* tslint:disable:max-classes-per-file */\n\tvar JSXClosingElement = (function () {\n\t function JSXClosingElement(name) {\n\t this.type = jsx_syntax_1.JSXSyntax.JSXClosingElement;\n\t this.name = name;\n\t }\n\t return JSXClosingElement;\n\t}());\n\texports.JSXClosingElement = JSXClosingElement;\n\tvar JSXElement = (function () {\n\t function JSXElement(openingElement, children, closingElement) {\n\t this.type = jsx_syntax_1.JSXSyntax.JSXElement;\n\t this.openingElement = openingElement;\n\t this.children = children;\n\t this.closingElement = closingElement;\n\t }\n\t return JSXElement;\n\t}());\n\texports.JSXElement = JSXElement;\n\tvar JSXEmptyExpression = (function () {\n\t function JSXEmptyExpression() {\n\t this.type = jsx_syntax_1.JSXSyntax.JSXEmptyExpression;\n\t }\n\t return JSXEmptyExpression;\n\t}());\n\texports.JSXEmptyExpression = JSXEmptyExpression;\n\tvar JSXExpressionContainer = (function () {\n\t function JSXExpressionContainer(expression) {\n\t this.type = jsx_syntax_1.JSXSyntax.JSXExpressionContainer;\n\t this.expression = expression;\n\t }\n\t return JSXExpressionContainer;\n\t}());\n\texports.JSXExpressionContainer = JSXExpressionContainer;\n\tvar JSXIdentifier = (function () {\n\t function JSXIdentifier(name) {\n\t this.type = jsx_syntax_1.JSXSyntax.JSXIdentifier;\n\t this.name = name;\n\t }\n\t return JSXIdentifier;\n\t}());\n\texports.JSXIdentifier = JSXIdentifier;\n\tvar JSXMemberExpression = (function () {\n\t function JSXMemberExpression(object, property) {\n\t this.type = jsx_syntax_1.JSXSyntax.JSXMemberExpression;\n\t this.object = object;\n\t this.property = property;\n\t }\n\t return JSXMemberExpression;\n\t}());\n\texports.JSXMemberExpression = JSXMemberExpression;\n\tvar JSXAttribute = (function () {\n\t function JSXAttribute(name, value) {\n\t this.type = jsx_syntax_1.JSXSyntax.JSXAttribute;\n\t this.name = name;\n\t this.value = value;\n\t }\n\t return JSXAttribute;\n\t}());\n\texports.JSXAttribute = JSXAttribute;\n\tvar JSXNamespacedName = (function () {\n\t function JSXNamespacedName(namespace, name) {\n\t this.type = jsx_syntax_1.JSXSyntax.JSXNamespacedName;\n\t this.namespace = namespace;\n\t this.name = name;\n\t }\n\t return JSXNamespacedName;\n\t}());\n\texports.JSXNamespacedName = JSXNamespacedName;\n\tvar JSXOpeningElement = (function () {\n\t function JSXOpeningElement(name, selfClosing, attributes) {\n\t this.type = jsx_syntax_1.JSXSyntax.JSXOpeningElement;\n\t this.name = name;\n\t this.selfClosing = selfClosing;\n\t this.attributes = attributes;\n\t }\n\t return JSXOpeningElement;\n\t}());\n\texports.JSXOpeningElement = JSXOpeningElement;\n\tvar JSXSpreadAttribute = (function () {\n\t function JSXSpreadAttribute(argument) {\n\t this.type = jsx_syntax_1.JSXSyntax.JSXSpreadAttribute;\n\t this.argument = argument;\n\t }\n\t return JSXSpreadAttribute;\n\t}());\n\texports.JSXSpreadAttribute = JSXSpreadAttribute;\n\tvar JSXText = (function () {\n\t function JSXText(value, raw) {\n\t this.type = jsx_syntax_1.JSXSyntax.JSXText;\n\t this.value = value;\n\t this.raw = raw;\n\t }\n\t return JSXText;\n\t}());\n\texports.JSXText = JSXText;\n\n\n/***/ },\n/* 6 */\n/***/ function(module, exports) {\n\n\t\"use strict\";\n\tObject.defineProperty(exports, \"__esModule\", { value: true });\n\texports.JSXSyntax = {\n\t JSXAttribute: 'JSXAttribute',\n\t JSXClosingElement: 'JSXClosingElement',\n\t JSXElement: 'JSXElement',\n\t JSXEmptyExpression: 'JSXEmptyExpression',\n\t JSXExpressionContainer: 'JSXExpressionContainer',\n\t JSXIdentifier: 'JSXIdentifier',\n\t JSXMemberExpression: 'JSXMemberExpression',\n\t JSXNamespacedName: 'JSXNamespacedName',\n\t JSXOpeningElement: 'JSXOpeningElement',\n\t JSXSpreadAttribute: 'JSXSpreadAttribute',\n\t JSXText: 'JSXText'\n\t};\n\n\n/***/ },\n/* 7 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\tObject.defineProperty(exports, \"__esModule\", { value: true });\n\tvar syntax_1 = __webpack_require__(2);\n\t/* tslint:disable:max-classes-per-file */\n\tvar ArrayExpression = (function () {\n\t function ArrayExpression(elements) {\n\t this.type = syntax_1.Syntax.ArrayExpression;\n\t this.elements = elements;\n\t }\n\t return ArrayExpression;\n\t}());\n\texports.ArrayExpression = ArrayExpression;\n\tvar ArrayPattern = (function () {\n\t function ArrayPattern(elements) {\n\t this.type = syntax_1.Syntax.ArrayPattern;\n\t this.elements = elements;\n\t }\n\t return ArrayPattern;\n\t}());\n\texports.ArrayPattern = ArrayPattern;\n\tvar ArrowFunctionExpression = (function () {\n\t function ArrowFunctionExpression(params, body, expression) {\n\t this.type = syntax_1.Syntax.ArrowFunctionExpression;\n\t this.id = null;\n\t this.params = params;\n\t this.body = body;\n\t this.generator = false;\n\t this.expression = expression;\n\t this.async = false;\n\t }\n\t return ArrowFunctionExpression;\n\t}());\n\texports.ArrowFunctionExpression = ArrowFunctionExpression;\n\tvar AssignmentExpression = (function () {\n\t function AssignmentExpression(operator, left, right) {\n\t this.type = syntax_1.Syntax.AssignmentExpression;\n\t this.operator = operator;\n\t this.left = left;\n\t this.right = right;\n\t }\n\t return AssignmentExpression;\n\t}());\n\texports.AssignmentExpression = AssignmentExpression;\n\tvar AssignmentPattern = (function () {\n\t function AssignmentPattern(left, right) {\n\t this.type = syntax_1.Syntax.AssignmentPattern;\n\t this.left = left;\n\t this.right = right;\n\t }\n\t return AssignmentPattern;\n\t}());\n\texports.AssignmentPattern = AssignmentPattern;\n\tvar AsyncArrowFunctionExpression = (function () {\n\t function AsyncArrowFunctionExpression(params, body, expression) {\n\t this.type = syntax_1.Syntax.ArrowFunctionExpression;\n\t this.id = null;\n\t this.params = params;\n\t this.body = body;\n\t this.generator = false;\n\t this.expression = expression;\n\t this.async = true;\n\t }\n\t return AsyncArrowFunctionExpression;\n\t}());\n\texports.AsyncArrowFunctionExpression = AsyncArrowFunctionExpression;\n\tvar AsyncFunctionDeclaration = (function () {\n\t function AsyncFunctionDeclaration(id, params, body) {\n\t this.type = syntax_1.Syntax.FunctionDeclaration;\n\t this.id = id;\n\t this.params = params;\n\t this.body = body;\n\t this.generator = false;\n\t this.expression = false;\n\t this.async = true;\n\t }\n\t return AsyncFunctionDeclaration;\n\t}());\n\texports.AsyncFunctionDeclaration = AsyncFunctionDeclaration;\n\tvar AsyncFunctionExpression = (function () {\n\t function AsyncFunctionExpression(id, params, body) {\n\t this.type = syntax_1.Syntax.FunctionExpression;\n\t this.id = id;\n\t this.params = params;\n\t this.body = body;\n\t this.generator = false;\n\t this.expression = false;\n\t this.async = true;\n\t }\n\t return AsyncFunctionExpression;\n\t}());\n\texports.AsyncFunctionExpression = AsyncFunctionExpression;\n\tvar AwaitExpression = (function () {\n\t function AwaitExpression(argument) {\n\t this.type = syntax_1.Syntax.AwaitExpression;\n\t this.argument = argument;\n\t }\n\t return AwaitExpression;\n\t}());\n\texports.AwaitExpression = AwaitExpression;\n\tvar BinaryExpression = (function () {\n\t function BinaryExpression(operator, left, right) {\n\t var logical = (operator === '||' || operator === '&&');\n\t this.type = logical ? syntax_1.Syntax.LogicalExpression : syntax_1.Syntax.BinaryExpression;\n\t this.operator = operator;\n\t this.left = left;\n\t this.right = right;\n\t }\n\t return BinaryExpression;\n\t}());\n\texports.BinaryExpression = BinaryExpression;\n\tvar BlockStatement = (function () {\n\t function BlockStatement(body) {\n\t this.type = syntax_1.Syntax.BlockStatement;\n\t this.body = body;\n\t }\n\t return BlockStatement;\n\t}());\n\texports.BlockStatement = BlockStatement;\n\tvar BreakStatement = (function () {\n\t function BreakStatement(label) {\n\t this.type = syntax_1.Syntax.BreakStatement;\n\t this.label = label;\n\t }\n\t return BreakStatement;\n\t}());\n\texports.BreakStatement = BreakStatement;\n\tvar CallExpression = (function () {\n\t function CallExpression(callee, args) {\n\t this.type = syntax_1.Syntax.CallExpression;\n\t this.callee = callee;\n\t this.arguments = args;\n\t }\n\t return CallExpression;\n\t}());\n\texports.CallExpression = CallExpression;\n\tvar CatchClause = (function () {\n\t function CatchClause(param, body) {\n\t this.type = syntax_1.Syntax.CatchClause;\n\t this.param = param;\n\t this.body = body;\n\t }\n\t return CatchClause;\n\t}());\n\texports.CatchClause = CatchClause;\n\tvar ClassBody = (function () {\n\t function ClassBody(body) {\n\t this.type = syntax_1.Syntax.ClassBody;\n\t this.body = body;\n\t }\n\t return ClassBody;\n\t}());\n\texports.ClassBody = ClassBody;\n\tvar ClassDeclaration = (function () {\n\t function ClassDeclaration(id, superClass, body) {\n\t this.type = syntax_1.Syntax.ClassDeclaration;\n\t this.id = id;\n\t this.superClass = superClass;\n\t this.body = body;\n\t }\n\t return ClassDeclaration;\n\t}());\n\texports.ClassDeclaration = ClassDeclaration;\n\tvar ClassExpression = (function () {\n\t function ClassExpression(id, superClass, body) {\n\t this.type = syntax_1.Syntax.ClassExpression;\n\t this.id = id;\n\t this.superClass = superClass;\n\t this.body = body;\n\t }\n\t return ClassExpression;\n\t}());\n\texports.ClassExpression = ClassExpression;\n\tvar ComputedMemberExpression = (function () {\n\t function ComputedMemberExpression(object, property) {\n\t this.type = syntax_1.Syntax.MemberExpression;\n\t this.computed = true;\n\t this.object = object;\n\t this.property = property;\n\t }\n\t return ComputedMemberExpression;\n\t}());\n\texports.ComputedMemberExpression = ComputedMemberExpression;\n\tvar ConditionalExpression = (function () {\n\t function ConditionalExpression(test, consequent, alternate) {\n\t this.type = syntax_1.Syntax.ConditionalExpression;\n\t this.test = test;\n\t this.consequent = consequent;\n\t this.alternate = alternate;\n\t }\n\t return ConditionalExpression;\n\t}());\n\texports.ConditionalExpression = ConditionalExpression;\n\tvar ContinueStatement = (function () {\n\t function ContinueStatement(label) {\n\t this.type = syntax_1.Syntax.ContinueStatement;\n\t this.label = label;\n\t }\n\t return ContinueStatement;\n\t}());\n\texports.ContinueStatement = ContinueStatement;\n\tvar DebuggerStatement = (function () {\n\t function DebuggerStatement() {\n\t this.type = syntax_1.Syntax.DebuggerStatement;\n\t }\n\t return DebuggerStatement;\n\t}());\n\texports.DebuggerStatement = DebuggerStatement;\n\tvar Directive = (function () {\n\t function Directive(expression, directive) {\n\t this.type = syntax_1.Syntax.ExpressionStatement;\n\t this.expression = expression;\n\t this.directive = directive;\n\t }\n\t return Directive;\n\t}());\n\texports.Directive = Directive;\n\tvar DoWhileStatement = (function () {\n\t function DoWhileStatement(body, test) {\n\t this.type = syntax_1.Syntax.DoWhileStatement;\n\t this.body = body;\n\t this.test = test;\n\t }\n\t return DoWhileStatement;\n\t}());\n\texports.DoWhileStatement = DoWhileStatement;\n\tvar EmptyStatement = (function () {\n\t function EmptyStatement() {\n\t this.type = syntax_1.Syntax.EmptyStatement;\n\t }\n\t return EmptyStatement;\n\t}());\n\texports.EmptyStatement = EmptyStatement;\n\tvar ExportAllDeclaration = (function () {\n\t function ExportAllDeclaration(source) {\n\t this.type = syntax_1.Syntax.ExportAllDeclaration;\n\t this.source = source;\n\t }\n\t return ExportAllDeclaration;\n\t}());\n\texports.ExportAllDeclaration = ExportAllDeclaration;\n\tvar ExportDefaultDeclaration = (function () {\n\t function ExportDefaultDeclaration(declaration) {\n\t this.type = syntax_1.Syntax.ExportDefaultDeclaration;\n\t this.declaration = declaration;\n\t }\n\t return ExportDefaultDeclaration;\n\t}());\n\texports.ExportDefaultDeclaration = ExportDefaultDeclaration;\n\tvar ExportNamedDeclaration = (function () {\n\t function ExportNamedDeclaration(declaration, specifiers, source) {\n\t this.type = syntax_1.Syntax.ExportNamedDeclaration;\n\t this.declaration = declaration;\n\t this.specifiers = specifiers;\n\t this.source = source;\n\t }\n\t return ExportNamedDeclaration;\n\t}());\n\texports.ExportNamedDeclaration = ExportNamedDeclaration;\n\tvar ExportSpecifier = (function () {\n\t function ExportSpecifier(local, exported) {\n\t this.type = syntax_1.Syntax.ExportSpecifier;\n\t this.exported = exported;\n\t this.local = local;\n\t }\n\t return ExportSpecifier;\n\t}());\n\texports.ExportSpecifier = ExportSpecifier;\n\tvar ExpressionStatement = (function () {\n\t function ExpressionStatement(expression) {\n\t this.type = syntax_1.Syntax.ExpressionStatement;\n\t this.expression = expression;\n\t }\n\t return ExpressionStatement;\n\t}());\n\texports.ExpressionStatement = ExpressionStatement;\n\tvar ForInStatement = (function () {\n\t function ForInStatement(left, right, body) {\n\t this.type = syntax_1.Syntax.ForInStatement;\n\t this.left = left;\n\t this.right = right;\n\t this.body = body;\n\t this.each = false;\n\t }\n\t return ForInStatement;\n\t}());\n\texports.ForInStatement = ForInStatement;\n\tvar ForOfStatement = (function () {\n\t function ForOfStatement(left, right, body) {\n\t this.type = syntax_1.Syntax.ForOfStatement;\n\t this.left = left;\n\t this.right = right;\n\t this.body = body;\n\t }\n\t return ForOfStatement;\n\t}());\n\texports.ForOfStatement = ForOfStatement;\n\tvar ForStatement = (function () {\n\t function ForStatement(init, test, update, body) {\n\t this.type = syntax_1.Syntax.ForStatement;\n\t this.init = init;\n\t this.test = test;\n\t this.update = update;\n\t this.body = body;\n\t }\n\t return ForStatement;\n\t}());\n\texports.ForStatement = ForStatement;\n\tvar FunctionDeclaration = (function () {\n\t function FunctionDeclaration(id, params, body, generator) {\n\t this.type = syntax_1.Syntax.FunctionDeclaration;\n\t this.id = id;\n\t this.params = params;\n\t this.body = body;\n\t this.generator = generator;\n\t this.expression = false;\n\t this.async = false;\n\t }\n\t return FunctionDeclaration;\n\t}());\n\texports.FunctionDeclaration = FunctionDeclaration;\n\tvar FunctionExpression = (function () {\n\t function FunctionExpression(id, params, body, generator) {\n\t this.type = syntax_1.Syntax.FunctionExpression;\n\t this.id = id;\n\t this.params = params;\n\t this.body = body;\n\t this.generator = generator;\n\t this.expression = false;\n\t this.async = false;\n\t }\n\t return FunctionExpression;\n\t}());\n\texports.FunctionExpression = FunctionExpression;\n\tvar Identifier = (function () {\n\t function Identifier(name) {\n\t this.type = syntax_1.Syntax.Identifier;\n\t this.name = name;\n\t }\n\t return Identifier;\n\t}());\n\texports.Identifier = Identifier;\n\tvar IfStatement = (function () {\n\t function IfStatement(test, consequent, alternate) {\n\t this.type = syntax_1.Syntax.IfStatement;\n\t this.test = test;\n\t this.consequent = consequent;\n\t this.alternate = alternate;\n\t }\n\t return IfStatement;\n\t}());\n\texports.IfStatement = IfStatement;\n\tvar ImportDeclaration = (function () {\n\t function ImportDeclaration(specifiers, source) {\n\t this.type = syntax_1.Syntax.ImportDeclaration;\n\t this.specifiers = specifiers;\n\t this.source = source;\n\t }\n\t return ImportDeclaration;\n\t}());\n\texports.ImportDeclaration = ImportDeclaration;\n\tvar ImportDefaultSpecifier = (function () {\n\t function ImportDefaultSpecifier(local) {\n\t this.type = syntax_1.Syntax.ImportDefaultSpecifier;\n\t this.local = local;\n\t }\n\t return ImportDefaultSpecifier;\n\t}());\n\texports.ImportDefaultSpecifier = ImportDefaultSpecifier;\n\tvar ImportNamespaceSpecifier = (function () {\n\t function ImportNamespaceSpecifier(local) {\n\t this.type = syntax_1.Syntax.ImportNamespaceSpecifier;\n\t this.local = local;\n\t }\n\t return ImportNamespaceSpecifier;\n\t}());\n\texports.ImportNamespaceSpecifier = ImportNamespaceSpecifier;\n\tvar ImportSpecifier = (function () {\n\t function ImportSpecifier(local, imported) {\n\t this.type = syntax_1.Syntax.ImportSpecifier;\n\t this.local = local;\n\t this.imported = imported;\n\t }\n\t return ImportSpecifier;\n\t}());\n\texports.ImportSpecifier = ImportSpecifier;\n\tvar LabeledStatement = (function () {\n\t function LabeledStatement(label, body) {\n\t this.type = syntax_1.Syntax.LabeledStatement;\n\t this.label = label;\n\t this.body = body;\n\t }\n\t return LabeledStatement;\n\t}());\n\texports.LabeledStatement = LabeledStatement;\n\tvar Literal = (function () {\n\t function Literal(value, raw) {\n\t this.type = syntax_1.Syntax.Literal;\n\t this.value = value;\n\t this.raw = raw;\n\t }\n\t return Literal;\n\t}());\n\texports.Literal = Literal;\n\tvar MetaProperty = (function () {\n\t function MetaProperty(meta, property) {\n\t this.type = syntax_1.Syntax.MetaProperty;\n\t this.meta = meta;\n\t this.property = property;\n\t }\n\t return MetaProperty;\n\t}());\n\texports.MetaProperty = MetaProperty;\n\tvar MethodDefinition = (function () {\n\t function MethodDefinition(key, computed, value, kind, isStatic) {\n\t this.type = syntax_1.Syntax.MethodDefinition;\n\t this.key = key;\n\t this.computed = computed;\n\t this.value = value;\n\t this.kind = kind;\n\t this.static = isStatic;\n\t }\n\t return MethodDefinition;\n\t}());\n\texports.MethodDefinition = MethodDefinition;\n\tvar Module = (function () {\n\t function Module(body) {\n\t this.type = syntax_1.Syntax.Program;\n\t this.body = body;\n\t this.sourceType = 'module';\n\t }\n\t return Module;\n\t}());\n\texports.Module = Module;\n\tvar NewExpression = (function () {\n\t function NewExpression(callee, args) {\n\t this.type = syntax_1.Syntax.NewExpression;\n\t this.callee = callee;\n\t this.arguments = args;\n\t }\n\t return NewExpression;\n\t}());\n\texports.NewExpression = NewExpression;\n\tvar ObjectExpression = (function () {\n\t function ObjectExpression(properties) {\n\t this.type = syntax_1.Syntax.ObjectExpression;\n\t this.properties = properties;\n\t }\n\t return ObjectExpression;\n\t}());\n\texports.ObjectExpression = ObjectExpression;\n\tvar ObjectPattern = (function () {\n\t function ObjectPattern(properties) {\n\t this.type = syntax_1.Syntax.ObjectPattern;\n\t this.properties = properties;\n\t }\n\t return ObjectPattern;\n\t}());\n\texports.ObjectPattern = ObjectPattern;\n\tvar Property = (function () {\n\t function Property(kind, key, computed, value, method, shorthand) {\n\t this.type = syntax_1.Syntax.Property;\n\t this.key = key;\n\t this.computed = computed;\n\t this.value = value;\n\t this.kind = kind;\n\t this.method = method;\n\t this.shorthand = shorthand;\n\t }\n\t return Property;\n\t}());\n\texports.Property = Property;\n\tvar RegexLiteral = (function () {\n\t function RegexLiteral(value, raw, pattern, flags) {\n\t this.type = syntax_1.Syntax.Literal;\n\t this.value = value;\n\t this.raw = raw;\n\t this.regex = { pattern: pattern, flags: flags };\n\t }\n\t return RegexLiteral;\n\t}());\n\texports.RegexLiteral = RegexLiteral;\n\tvar RestElement = (function () {\n\t function RestElement(argument) {\n\t this.type = syntax_1.Syntax.RestElement;\n\t this.argument = argument;\n\t }\n\t return RestElement;\n\t}());\n\texports.RestElement = RestElement;\n\tvar ReturnStatement = (function () {\n\t function ReturnStatement(argument) {\n\t this.type = syntax_1.Syntax.ReturnStatement;\n\t this.argument = argument;\n\t }\n\t return ReturnStatement;\n\t}());\n\texports.ReturnStatement = ReturnStatement;\n\tvar Script = (function () {\n\t function Script(body) {\n\t this.type = syntax_1.Syntax.Program;\n\t this.body = body;\n\t this.sourceType = 'script';\n\t }\n\t return Script;\n\t}());\n\texports.Script = Script;\n\tvar SequenceExpression = (function () {\n\t function SequenceExpression(expressions) {\n\t this.type = syntax_1.Syntax.SequenceExpression;\n\t this.expressions = expressions;\n\t }\n\t return SequenceExpression;\n\t}());\n\texports.SequenceExpression = SequenceExpression;\n\tvar SpreadElement = (function () {\n\t function SpreadElement(argument) {\n\t this.type = syntax_1.Syntax.SpreadElement;\n\t this.argument = argument;\n\t }\n\t return SpreadElement;\n\t}());\n\texports.SpreadElement = SpreadElement;\n\tvar StaticMemberExpression = (function () {\n\t function StaticMemberExpression(object, property) {\n\t this.type = syntax_1.Syntax.MemberExpression;\n\t this.computed = false;\n\t this.object = object;\n\t this.property = property;\n\t }\n\t return StaticMemberExpression;\n\t}());\n\texports.StaticMemberExpression = StaticMemberExpression;\n\tvar Super = (function () {\n\t function Super() {\n\t this.type = syntax_1.Syntax.Super;\n\t }\n\t return Super;\n\t}());\n\texports.Super = Super;\n\tvar SwitchCase = (function () {\n\t function SwitchCase(test, consequent) {\n\t this.type = syntax_1.Syntax.SwitchCase;\n\t this.test = test;\n\t this.consequent = consequent;\n\t }\n\t return SwitchCase;\n\t}());\n\texports.SwitchCase = SwitchCase;\n\tvar SwitchStatement = (function () {\n\t function SwitchStatement(discriminant, cases) {\n\t this.type = syntax_1.Syntax.SwitchStatement;\n\t this.discriminant = discriminant;\n\t this.cases = cases;\n\t }\n\t return SwitchStatement;\n\t}());\n\texports.SwitchStatement = SwitchStatement;\n\tvar TaggedTemplateExpression = (function () {\n\t function TaggedTemplateExpression(tag, quasi) {\n\t this.type = syntax_1.Syntax.TaggedTemplateExpression;\n\t this.tag = tag;\n\t this.quasi = quasi;\n\t }\n\t return TaggedTemplateExpression;\n\t}());\n\texports.TaggedTemplateExpression = TaggedTemplateExpression;\n\tvar TemplateElement = (function () {\n\t function TemplateElement(value, tail) {\n\t this.type = syntax_1.Syntax.TemplateElement;\n\t this.value = value;\n\t this.tail = tail;\n\t }\n\t return TemplateElement;\n\t}());\n\texports.TemplateElement = TemplateElement;\n\tvar TemplateLiteral = (function () {\n\t function TemplateLiteral(quasis, expressions) {\n\t this.type = syntax_1.Syntax.TemplateLiteral;\n\t this.quasis = quasis;\n\t this.expressions = expressions;\n\t }\n\t return TemplateLiteral;\n\t}());\n\texports.TemplateLiteral = TemplateLiteral;\n\tvar ThisExpression = (function () {\n\t function ThisExpression() {\n\t this.type = syntax_1.Syntax.ThisExpression;\n\t }\n\t return ThisExpression;\n\t}());\n\texports.ThisExpression = ThisExpression;\n\tvar ThrowStatement = (function () {\n\t function ThrowStatement(argument) {\n\t this.type = syntax_1.Syntax.ThrowStatement;\n\t this.argument = argument;\n\t }\n\t return ThrowStatement;\n\t}());\n\texports.ThrowStatement = ThrowStatement;\n\tvar TryStatement = (function () {\n\t function TryStatement(block, handler, finalizer) {\n\t this.type = syntax_1.Syntax.TryStatement;\n\t this.block = block;\n\t this.handler = handler;\n\t this.finalizer = finalizer;\n\t }\n\t return TryStatement;\n\t}());\n\texports.TryStatement = TryStatement;\n\tvar UnaryExpression = (function () {\n\t function UnaryExpression(operator, argument) {\n\t this.type = syntax_1.Syntax.UnaryExpression;\n\t this.operator = operator;\n\t this.argument = argument;\n\t this.prefix = true;\n\t }\n\t return UnaryExpression;\n\t}());\n\texports.UnaryExpression = UnaryExpression;\n\tvar UpdateExpression = (function () {\n\t function UpdateExpression(operator, argument, prefix) {\n\t this.type = syntax_1.Syntax.UpdateExpression;\n\t this.operator = operator;\n\t this.argument = argument;\n\t this.prefix = prefix;\n\t }\n\t return UpdateExpression;\n\t}());\n\texports.UpdateExpression = UpdateExpression;\n\tvar VariableDeclaration = (function () {\n\t function VariableDeclaration(declarations, kind) {\n\t this.type = syntax_1.Syntax.VariableDeclaration;\n\t this.declarations = declarations;\n\t this.kind = kind;\n\t }\n\t return VariableDeclaration;\n\t}());\n\texports.VariableDeclaration = VariableDeclaration;\n\tvar VariableDeclarator = (function () {\n\t function VariableDeclarator(id, init) {\n\t this.type = syntax_1.Syntax.VariableDeclarator;\n\t this.id = id;\n\t this.init = init;\n\t }\n\t return VariableDeclarator;\n\t}());\n\texports.VariableDeclarator = VariableDeclarator;\n\tvar WhileStatement = (function () {\n\t function WhileStatement(test, body) {\n\t this.type = syntax_1.Syntax.WhileStatement;\n\t this.test = test;\n\t this.body = body;\n\t }\n\t return WhileStatement;\n\t}());\n\texports.WhileStatement = WhileStatement;\n\tvar WithStatement = (function () {\n\t function WithStatement(object, body) {\n\t this.type = syntax_1.Syntax.WithStatement;\n\t this.object = object;\n\t this.body = body;\n\t }\n\t return WithStatement;\n\t}());\n\texports.WithStatement = WithStatement;\n\tvar YieldExpression = (function () {\n\t function YieldExpression(argument, delegate) {\n\t this.type = syntax_1.Syntax.YieldExpression;\n\t this.argument = argument;\n\t this.delegate = delegate;\n\t }\n\t return YieldExpression;\n\t}());\n\texports.YieldExpression = YieldExpression;\n\n\n/***/ },\n/* 8 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\tObject.defineProperty(exports, \"__esModule\", { value: true });\n\tvar assert_1 = __webpack_require__(9);\n\tvar error_handler_1 = __webpack_require__(10);\n\tvar messages_1 = __webpack_require__(11);\n\tvar Node = __webpack_require__(7);\n\tvar scanner_1 = __webpack_require__(12);\n\tvar syntax_1 = __webpack_require__(2);\n\tvar token_1 = __webpack_require__(13);\n\tvar ArrowParameterPlaceHolder = 'ArrowParameterPlaceHolder';\n\tvar Parser = (function () {\n\t function Parser(code, options, delegate) {\n\t if (options === void 0) { options = {}; }\n\t this.config = {\n\t range: (typeof options.range === 'boolean') && options.range,\n\t loc: (typeof options.loc === 'boolean') && options.loc,\n\t source: null,\n\t tokens: (typeof options.tokens === 'boolean') && options.tokens,\n\t comment: (typeof options.comment === 'boolean') && options.comment,\n\t tolerant: (typeof options.tolerant === 'boolean') && options.tolerant\n\t };\n\t if (this.config.loc && options.source && options.source !== null) {\n\t this.config.source = String(options.source);\n\t }\n\t this.delegate = delegate;\n\t this.errorHandler = new error_handler_1.ErrorHandler();\n\t this.errorHandler.tolerant = this.config.tolerant;\n\t this.scanner = new scanner_1.Scanner(code, this.errorHandler);\n\t this.scanner.trackComment = this.config.comment;\n\t this.operatorPrecedence = {\n\t ')': 0,\n\t ';': 0,\n\t ',': 0,\n\t '=': 0,\n\t ']': 0,\n\t '||': 1,\n\t '&&': 2,\n\t '|': 3,\n\t '^': 4,\n\t '&': 5,\n\t '==': 6,\n\t '!=': 6,\n\t '===': 6,\n\t '!==': 6,\n\t '<': 7,\n\t '>': 7,\n\t '<=': 7,\n\t '>=': 7,\n\t '<<': 8,\n\t '>>': 8,\n\t '>>>': 8,\n\t '+': 9,\n\t '-': 9,\n\t '*': 11,\n\t '/': 11,\n\t '%': 11\n\t };\n\t this.lookahead = {\n\t type: 2 /* EOF */,\n\t value: '',\n\t lineNumber: this.scanner.lineNumber,\n\t lineStart: 0,\n\t start: 0,\n\t end: 0\n\t };\n\t this.hasLineTerminator = false;\n\t this.context = {\n\t isModule: false,\n\t await: false,\n\t allowIn: true,\n\t allowStrictDirective: true,\n\t allowYield: true,\n\t firstCoverInitializedNameError: null,\n\t isAssignmentTarget: false,\n\t isBindingElement: false,\n\t inFunctionBody: false,\n\t inIteration: false,\n\t inSwitch: false,\n\t labelSet: {},\n\t strict: false\n\t };\n\t this.tokens = [];\n\t this.startMarker = {\n\t index: 0,\n\t line: this.scanner.lineNumber,\n\t column: 0\n\t };\n\t this.lastMarker = {\n\t index: 0,\n\t line: this.scanner.lineNumber,\n\t column: 0\n\t };\n\t this.nextToken();\n\t this.lastMarker = {\n\t index: this.scanner.index,\n\t line: this.scanner.lineNumber,\n\t column: this.scanner.index - this.scanner.lineStart\n\t };\n\t }\n\t Parser.prototype.throwError = function (messageFormat) {\n\t var values = [];\n\t for (var _i = 1; _i < arguments.length; _i++) {\n\t values[_i - 1] = arguments[_i];\n\t }\n\t var args = Array.prototype.slice.call(arguments, 1);\n\t var msg = messageFormat.replace(/%(\\d)/g, function (whole, idx) {\n\t assert_1.assert(idx < args.length, 'Message reference must be in range');\n\t return args[idx];\n\t });\n\t var index = this.lastMarker.index;\n\t var line = this.lastMarker.line;\n\t var column = this.lastMarker.column + 1;\n\t throw this.errorHandler.createError(index, line, column, msg);\n\t };\n\t Parser.prototype.tolerateError = function (messageFormat) {\n\t var values = [];\n\t for (var _i = 1; _i < arguments.length; _i++) {\n\t values[_i - 1] = arguments[_i];\n\t }\n\t var args = Array.prototype.slice.call(arguments, 1);\n\t var msg = messageFormat.replace(/%(\\d)/g, function (whole, idx) {\n\t assert_1.assert(idx < args.length, 'Message reference must be in range');\n\t return args[idx];\n\t });\n\t var index = this.lastMarker.index;\n\t var line = this.scanner.lineNumber;\n\t var column = this.lastMarker.column + 1;\n\t this.errorHandler.tolerateError(index, line, column, msg);\n\t };\n\t // Throw an exception because of the token.\n\t Parser.prototype.unexpectedTokenError = function (token, message) {\n\t var msg = message || messages_1.Messages.UnexpectedToken;\n\t var value;\n\t if (token) {\n\t if (!message) {\n\t msg = (token.type === 2 /* EOF */) ? messages_1.Messages.UnexpectedEOS :\n\t (token.type === 3 /* Identifier */) ? messages_1.Messages.UnexpectedIdentifier :\n\t (token.type === 6 /* NumericLiteral */) ? messages_1.Messages.UnexpectedNumber :\n\t (token.type === 8 /* StringLiteral */) ? messages_1.Messages.UnexpectedString :\n\t (token.type === 10 /* Template */) ? messages_1.Messages.UnexpectedTemplate :\n\t messages_1.Messages.UnexpectedToken;\n\t if (token.type === 4 /* Keyword */) {\n\t if (this.scanner.isFutureReservedWord(token.value)) {\n\t msg = messages_1.Messages.UnexpectedReserved;\n\t }\n\t else if (this.context.strict && this.scanner.isStrictModeReservedWord(token.value)) {\n\t msg = messages_1.Messages.StrictReservedWord;\n\t }\n\t }\n\t }\n\t value = token.value;\n\t }\n\t else {\n\t value = 'ILLEGAL';\n\t }\n\t msg = msg.replace('%0', value);\n\t if (token && typeof token.lineNumber === 'number') {\n\t var index = token.start;\n\t var line = token.lineNumber;\n\t var lastMarkerLineStart = this.lastMarker.index - this.lastMarker.column;\n\t var column = token.start - lastMarkerLineStart + 1;\n\t return this.errorHandler.createError(index, line, column, msg);\n\t }\n\t else {\n\t var index = this.lastMarker.index;\n\t var line = this.lastMarker.line;\n\t var column = this.lastMarker.column + 1;\n\t return this.errorHandler.createError(index, line, column, msg);\n\t }\n\t };\n\t Parser.prototype.throwUnexpectedToken = function (token, message) {\n\t throw this.unexpectedTokenError(token, message);\n\t };\n\t Parser.prototype.tolerateUnexpectedToken = function (token, message) {\n\t this.errorHandler.tolerate(this.unexpectedTokenError(token, message));\n\t };\n\t Parser.prototype.collectComments = function () {\n\t if (!this.config.comment) {\n\t this.scanner.scanComments();\n\t }\n\t else {\n\t var comments = this.scanner.scanComments();\n\t if (comments.length > 0 && this.delegate) {\n\t for (var i = 0; i < comments.length; ++i) {\n\t var e = comments[i];\n\t var node = void 0;\n\t node = {\n\t type: e.multiLine ? 'BlockComment' : 'LineComment',\n\t value: this.scanner.source.slice(e.slice[0], e.slice[1])\n\t };\n\t if (this.config.range) {\n\t node.range = e.range;\n\t }\n\t if (this.config.loc) {\n\t node.loc = e.loc;\n\t }\n\t var metadata = {\n\t start: {\n\t line: e.loc.start.line,\n\t column: e.loc.start.column,\n\t offset: e.range[0]\n\t },\n\t end: {\n\t line: e.loc.end.line,\n\t column: e.loc.end.column,\n\t offset: e.range[1]\n\t }\n\t };\n\t this.delegate(node, metadata);\n\t }\n\t }\n\t }\n\t };\n\t // From internal representation to an external structure\n\t Parser.prototype.getTokenRaw = function (token) {\n\t return this.scanner.source.slice(token.start, token.end);\n\t };\n\t Parser.prototype.convertToken = function (token) {\n\t var t = {\n\t type: token_1.TokenName[token.type],\n\t value: this.getTokenRaw(token)\n\t };\n\t if (this.config.range) {\n\t t.range = [token.start, token.end];\n\t }\n\t if (this.config.loc) {\n\t t.loc = {\n\t start: {\n\t line: this.startMarker.line,\n\t column: this.startMarker.column\n\t },\n\t end: {\n\t line: this.scanner.lineNumber,\n\t column: this.scanner.index - this.scanner.lineStart\n\t }\n\t };\n\t }\n\t if (token.type === 9 /* RegularExpression */) {\n\t var pattern = token.pattern;\n\t var flags = token.flags;\n\t t.regex = { pattern: pattern, flags: flags };\n\t }\n\t return t;\n\t };\n\t Parser.prototype.nextToken = function () {\n\t var token = this.lookahead;\n\t this.lastMarker.index = this.scanner.index;\n\t this.lastMarker.line = this.scanner.lineNumber;\n\t this.lastMarker.column = this.scanner.index - this.scanner.lineStart;\n\t this.collectComments();\n\t if (this.scanner.index !== this.startMarker.index) {\n\t this.startMarker.index = this.scanner.index;\n\t this.startMarker.line = this.scanner.lineNumber;\n\t this.startMarker.column = this.scanner.index - this.scanner.lineStart;\n\t }\n\t var next = this.scanner.lex();\n\t this.hasLineTerminator = (token.lineNumber !== next.lineNumber);\n\t if (next && this.context.strict && next.type === 3 /* Identifier */) {\n\t if (this.scanner.isStrictModeReservedWord(next.value)) {\n\t next.type = 4 /* Keyword */;\n\t }\n\t }\n\t this.lookahead = next;\n\t if (this.config.tokens && next.type !== 2 /* EOF */) {\n\t this.tokens.push(this.convertToken(next));\n\t }\n\t return token;\n\t };\n\t Parser.prototype.nextRegexToken = function () {\n\t this.collectComments();\n\t var token = this.scanner.scanRegExp();\n\t if (this.config.tokens) {\n\t // Pop the previous token, '/' or '/='\n\t // This is added from the lookahead token.\n\t this.tokens.pop();\n\t this.tokens.push(this.convertToken(token));\n\t }\n\t // Prime the next lookahead.\n\t this.lookahead = token;\n\t this.nextToken();\n\t return token;\n\t };\n\t Parser.prototype.createNode = function () {\n\t return {\n\t index: this.startMarker.index,\n\t line: this.startMarker.line,\n\t column: this.startMarker.column\n\t };\n\t };\n\t Parser.prototype.startNode = function (token, lastLineStart) {\n\t if (lastLineStart === void 0) { lastLineStart = 0; }\n\t var column = token.start - token.lineStart;\n\t var line = token.lineNumber;\n\t if (column < 0) {\n\t column += lastLineStart;\n\t line--;\n\t }\n\t return {\n\t index: token.start,\n\t line: line,\n\t column: column\n\t };\n\t };\n\t Parser.prototype.finalize = function (marker, node) {\n\t if (this.config.range) {\n\t node.range = [marker.index, this.lastMarker.index];\n\t }\n\t if (this.config.loc) {\n\t node.loc = {\n\t start: {\n\t line: marker.line,\n\t column: marker.column,\n\t },\n\t end: {\n\t line: this.lastMarker.line,\n\t column: this.lastMarker.column\n\t }\n\t };\n\t if (this.config.source) {\n\t node.loc.source = this.config.source;\n\t }\n\t }\n\t if (this.delegate) {\n\t var metadata = {\n\t start: {\n\t line: marker.line,\n\t column: marker.column,\n\t offset: marker.index\n\t },\n\t end: {\n\t line: this.lastMarker.line,\n\t column: this.lastMarker.column,\n\t offset: this.lastMarker.index\n\t }\n\t };\n\t this.delegate(node, metadata);\n\t }\n\t return node;\n\t };\n\t // Expect the next token to match the specified punctuator.\n\t // If not, an exception will be thrown.\n\t Parser.prototype.expect = function (value) {\n\t var token = this.nextToken();\n\t if (token.type !== 7 /* Punctuator */ || token.value !== value) {\n\t this.throwUnexpectedToken(token);\n\t }\n\t };\n\t // Quietly expect a comma when in tolerant mode, otherwise delegates to expect().\n\t Parser.prototype.expectCommaSeparator = function () {\n\t if (this.config.tolerant) {\n\t var token = this.lookahead;\n\t if (token.type === 7 /* Punctuator */ && token.value === ',') {\n\t this.nextToken();\n\t }\n\t else if (token.type === 7 /* Punctuator */ && token.value === ';') {\n\t this.nextToken();\n\t this.tolerateUnexpectedToken(token);\n\t }\n\t else {\n\t this.tolerateUnexpectedToken(token, messages_1.Messages.UnexpectedToken);\n\t }\n\t }\n\t else {\n\t this.expect(',');\n\t }\n\t };\n\t // Expect the next token to match the specified keyword.\n\t // If not, an exception will be thrown.\n\t Parser.prototype.expectKeyword = function (keyword) {\n\t var token = this.nextToken();\n\t if (token.type !== 4 /* Keyword */ || token.value !== keyword) {\n\t this.throwUnexpectedToken(token);\n\t }\n\t };\n\t // Return true if the next token matches the specified punctuator.\n\t Parser.prototype.match = function (value) {\n\t return this.lookahead.type === 7 /* Punctuator */ && this.lookahead.value === value;\n\t };\n\t // Return true if the next token matches the specified keyword\n\t Parser.prototype.matchKeyword = function (keyword) {\n\t return this.lookahead.type === 4 /* Keyword */ && this.lookahead.value === keyword;\n\t };\n\t // Return true if the next token matches the specified contextual keyword\n\t // (where an identifier is sometimes a keyword depending on the context)\n\t Parser.prototype.matchContextualKeyword = function (keyword) {\n\t return this.lookahead.type === 3 /* Identifier */ && this.lookahead.value === keyword;\n\t };\n\t // Return true if the next token is an assignment operator\n\t Parser.prototype.matchAssign = function () {\n\t if (this.lookahead.type !== 7 /* Punctuator */) {\n\t return false;\n\t }\n\t var op = this.lookahead.value;\n\t return op === '=' ||\n\t op === '*=' ||\n\t op === '**=' ||\n\t op === '/=' ||\n\t op === '%=' ||\n\t op === '+=' ||\n\t op === '-=' ||\n\t op === '<<=' ||\n\t op === '>>=' ||\n\t op === '>>>=' ||\n\t op === '&=' ||\n\t op === '^=' ||\n\t op === '|=';\n\t };\n\t // Cover grammar support.\n\t //\n\t // When an assignment expression position starts with an left parenthesis, the determination of the type\n\t // of the syntax is to be deferred arbitrarily long until the end of the parentheses pair (plus a lookahead)\n\t // or the first comma. This situation also defers the determination of all the expressions nested in the pair.\n\t //\n\t // There are three productions that can be parsed in a parentheses pair that needs to be determined\n\t // after the outermost pair is closed. They are:\n\t //\n\t // 1. AssignmentExpression\n\t // 2. BindingElements\n\t // 3. AssignmentTargets\n\t //\n\t // In order to avoid exponential backtracking, we use two flags to denote if the production can be\n\t // binding element or assignment target.\n\t //\n\t // The three productions have the relationship:\n\t //\n\t // BindingElements ⊆ AssignmentTargets ⊆ AssignmentExpression\n\t //\n\t // with a single exception that CoverInitializedName when used directly in an Expression, generates\n\t // an early error. Therefore, we need the third state, firstCoverInitializedNameError, to track the\n\t // first usage of CoverInitializedName and report it when we reached the end of the parentheses pair.\n\t //\n\t // isolateCoverGrammar function runs the given parser function with a new cover grammar context, and it does not\n\t // effect the current flags. This means the production the parser parses is only used as an expression. Therefore\n\t // the CoverInitializedName check is conducted.\n\t //\n\t // inheritCoverGrammar function runs the given parse function with a new cover grammar context, and it propagates\n\t // the flags outside of the parser. This means the production the parser parses is used as a part of a potential\n\t // pattern. The CoverInitializedName check is deferred.\n\t Parser.prototype.isolateCoverGrammar = function (parseFunction) {\n\t var previousIsBindingElement = this.context.isBindingElement;\n\t var previousIsAssignmentTarget = this.context.isAssignmentTarget;\n\t var previousFirstCoverInitializedNameError = this.context.firstCoverInitializedNameError;\n\t this.context.isBindingElement = true;\n\t this.context.isAssignmentTarget = true;\n\t this.context.firstCoverInitializedNameError = null;\n\t var result = parseFunction.call(this);\n\t if (this.context.firstCoverInitializedNameError !== null) {\n\t this.throwUnexpectedToken(this.context.firstCoverInitializedNameError);\n\t }\n\t this.context.isBindingElement = previousIsBindingElement;\n\t this.context.isAssignmentTarget = previousIsAssignmentTarget;\n\t this.context.firstCoverInitializedNameError = previousFirstCoverInitializedNameError;\n\t return result;\n\t };\n\t Parser.prototype.inheritCoverGrammar = function (parseFunction) {\n\t var previousIsBindingElement = this.context.isBindingElement;\n\t var previousIsAssignmentTarget = this.context.isAssignmentTarget;\n\t var previousFirstCoverInitializedNameError = this.context.firstCoverInitializedNameError;\n\t this.context.isBindingElement = true;\n\t this.context.isAssignmentTarget = true;\n\t this.context.firstCoverInitializedNameError = null;\n\t var result = parseFunction.call(this);\n\t this.context.isBindingElement = this.context.isBindingElement && previousIsBindingElement;\n\t this.context.isAssignmentTarget = this.context.isAssignmentTarget && previousIsAssignmentTarget;\n\t this.context.firstCoverInitializedNameError = previousFirstCoverInitializedNameError || this.context.firstCoverInitializedNameError;\n\t return result;\n\t };\n\t Parser.prototype.consumeSemicolon = function () {\n\t if (this.match(';')) {\n\t this.nextToken();\n\t }\n\t else if (!this.hasLineTerminator) {\n\t if (this.lookahead.type !== 2 /* EOF */ && !this.match('}')) {\n\t this.throwUnexpectedToken(this.lookahead);\n\t }\n\t this.lastMarker.index = this.startMarker.index;\n\t this.lastMarker.line = this.startMarker.line;\n\t this.lastMarker.column = this.startMarker.column;\n\t }\n\t };\n\t // https://tc39.github.io/ecma262/#sec-primary-expression\n\t Parser.prototype.parsePrimaryExpression = function () {\n\t var node = this.createNode();\n\t var expr;\n\t var token, raw;\n\t switch (this.lookahead.type) {\n\t case 3 /* Identifier */:\n\t if ((this.context.isModule || this.context.await) && this.lookahead.value === 'await') {\n\t this.tolerateUnexpectedToken(this.lookahead);\n\t }\n\t expr = this.matchAsyncFunction() ? this.parseFunctionExpression() : this.finalize(node, new Node.Identifier(this.nextToken().value));\n\t break;\n\t case 6 /* NumericLiteral */:\n\t case 8 /* StringLiteral */:\n\t if (this.context.strict && this.lookahead.octal) {\n\t this.tolerateUnexpectedToken(this.lookahead, messages_1.Messages.StrictOctalLiteral);\n\t }\n\t this.context.isAssignmentTarget = false;\n\t this.context.isBindingElement = false;\n\t token = this.nextToken();\n\t raw = this.getTokenRaw(token);\n\t expr = this.finalize(node, new Node.Literal(token.value, raw));\n\t break;\n\t case 1 /* BooleanLiteral */:\n\t this.context.isAssignmentTarget = false;\n\t this.context.isBindingElement = false;\n\t token = this.nextToken();\n\t raw = this.getTokenRaw(token);\n\t expr = this.finalize(node, new Node.Literal(token.value === 'true', raw));\n\t break;\n\t case 5 /* NullLiteral */:\n\t this.context.isAssignmentTarget = false;\n\t this.context.isBindingElement = false;\n\t token = this.nextToken();\n\t raw = this.getTokenRaw(token);\n\t expr = this.finalize(node, new Node.Literal(null, raw));\n\t break;\n\t case 10 /* Template */:\n\t expr = this.parseTemplateLiteral();\n\t break;\n\t case 7 /* Punctuator */:\n\t switch (this.lookahead.value) {\n\t case '(':\n\t this.context.isBindingElement = false;\n\t expr = this.inheritCoverGrammar(this.parseGroupExpression);\n\t break;\n\t case '[':\n\t expr = this.inheritCoverGrammar(this.parseArrayInitializer);\n\t break;\n\t case '{':\n\t expr = this.inheritCoverGrammar(this.parseObjectInitializer);\n\t break;\n\t case '/':\n\t case '/=':\n\t this.context.isAssignmentTarget = false;\n\t this.context.isBindingElement = false;\n\t this.scanner.index = this.startMarker.index;\n\t token = this.nextRegexToken();\n\t raw = this.getTokenRaw(token);\n\t expr = this.finalize(node, new Node.RegexLiteral(token.regex, raw, token.pattern, token.flags));\n\t break;\n\t default:\n\t expr = this.throwUnexpectedToken(this.nextToken());\n\t }\n\t break;\n\t case 4 /* Keyword */:\n\t if (!this.context.strict && this.context.allowYield && this.matchKeyword('yield')) {\n\t expr = this.parseIdentifierName();\n\t }\n\t else if (!this.context.strict && this.matchKeyword('let')) {\n\t expr = this.finalize(node, new Node.Identifier(this.nextToken().value));\n\t }\n\t else {\n\t this.context.isAssignmentTarget = false;\n\t this.context.isBindingElement = false;\n\t if (this.matchKeyword('function')) {\n\t expr = this.parseFunctionExpression();\n\t }\n\t else if (this.matchKeyword('this')) {\n\t this.nextToken();\n\t expr = this.finalize(node, new Node.ThisExpression());\n\t }\n\t else if (this.matchKeyword('class')) {\n\t expr = this.parseClassExpression();\n\t }\n\t else {\n\t expr = this.throwUnexpectedToken(this.nextToken());\n\t }\n\t }\n\t break;\n\t default:\n\t expr = this.throwUnexpectedToken(this.nextToken());\n\t }\n\t return expr;\n\t };\n\t // https://tc39.github.io/ecma262/#sec-array-initializer\n\t Parser.prototype.parseSpreadElement = function () {\n\t var node = this.createNode();\n\t this.expect('...');\n\t var arg = this.inheritCoverGrammar(this.parseAssignmentExpression);\n\t return this.finalize(node, new Node.SpreadElement(arg));\n\t };\n\t Parser.prototype.parseArrayInitializer = function () {\n\t var node = this.createNode();\n\t var elements = [];\n\t this.expect('[');\n\t while (!this.match(']')) {\n\t if (this.match(',')) {\n\t this.nextToken();\n\t elements.push(null);\n\t }\n\t else if (this.match('...')) {\n\t var element = this.parseSpreadElement();\n\t if (!this.match(']')) {\n\t this.context.isAssignmentTarget = false;\n\t this.context.isBindingElement = false;\n\t this.expect(',');\n\t }\n\t elements.push(element);\n\t }\n\t else {\n\t elements.push(this.inheritCoverGrammar(this.parseAssignmentExpression));\n\t if (!this.match(']')) {\n\t this.expect(',');\n\t }\n\t }\n\t }\n\t this.expect(']');\n\t return this.finalize(node, new Node.ArrayExpression(elements));\n\t };\n\t // https://tc39.github.io/ecma262/#sec-object-initializer\n\t Parser.prototype.parsePropertyMethod = function (params) {\n\t this.context.isAssignmentTarget = false;\n\t this.context.isBindingElement = false;\n\t var previousStrict = this.context.strict;\n\t var previousAllowStrictDirective = this.context.allowStrictDirective;\n\t this.context.allowStrictDirective = params.simple;\n\t var body = this.isolateCoverGrammar(this.parseFunctionSourceElements);\n\t if (this.context.strict && params.firstRestricted) {\n\t this.tolerateUnexpectedToken(params.firstRestricted, params.message);\n\t }\n\t if (this.context.strict && params.stricted) {\n\t this.tolerateUnexpectedToken(params.stricted, params.message);\n\t }\n\t this.context.strict = previousStrict;\n\t this.context.allowStrictDirective = previousAllowStrictDirective;\n\t return body;\n\t };\n\t Parser.prototype.parsePropertyMethodFunction = function () {\n\t var isGenerator = false;\n\t var node = this.createNode();\n\t var previousAllowYield = this.context.allowYield;\n\t this.context.allowYield = true;\n\t var params = this.parseFormalParameters();\n\t var method = this.parsePropertyMethod(params);\n\t this.context.allowYield = previousAllowYield;\n\t return this.finalize(node, new Node.FunctionExpression(null, params.params, method, isGenerator));\n\t };\n\t Parser.prototype.parsePropertyMethodAsyncFunction = function () {\n\t var node = this.createNode();\n\t var previousAllowYield = this.context.allowYield;\n\t var previousAwait = this.context.await;\n\t this.context.allowYield = false;\n\t this.context.await = true;\n\t var params = this.parseFormalParameters();\n\t var method = this.parsePropertyMethod(params);\n\t this.context.allowYield = previousAllowYield;\n\t this.context.await = previousAwait;\n\t return this.finalize(node, new Node.AsyncFunctionExpression(null, params.params, method));\n\t };\n\t Parser.prototype.parseObjectPropertyKey = function () {\n\t var node = this.createNode();\n\t var token = this.nextToken();\n\t var key;\n\t switch (token.type) {\n\t case 8 /* StringLiteral */:\n\t case 6 /* NumericLiteral */:\n\t if (this.context.strict && token.octal) {\n\t this.tolerateUnexpectedToken(token, messages_1.Messages.StrictOctalLiteral);\n\t }\n\t var raw = this.getTokenRaw(token);\n\t key = this.finalize(node, new Node.Literal(token.value, raw));\n\t break;\n\t case 3 /* Identifier */:\n\t case 1 /* BooleanLiteral */:\n\t case 5 /* NullLiteral */:\n\t case 4 /* Keyword */:\n\t key = this.finalize(node, new Node.Identifier(token.value));\n\t break;\n\t case 7 /* Punctuator */:\n\t if (token.value === '[') {\n\t key = this.isolateCoverGrammar(this.parseAssignmentExpression);\n\t this.expect(']');\n\t }\n\t else {\n\t key = this.throwUnexpectedToken(token);\n\t }\n\t break;\n\t default:\n\t key = this.throwUnexpectedToken(token);\n\t }\n\t return key;\n\t };\n\t Parser.prototype.isPropertyKey = function (key, value) {\n\t return (key.type === syntax_1.Syntax.Identifier && key.name === value) ||\n\t (key.type === syntax_1.Syntax.Literal && key.value === value);\n\t };\n\t Parser.prototype.parseObjectProperty = function (hasProto) {\n\t var node = this.createNode();\n\t var token = this.lookahead;\n\t var kind;\n\t var key = null;\n\t var value = null;\n\t var computed = false;\n\t var method = false;\n\t var shorthand = false;\n\t var isAsync = false;\n\t if (token.type === 3 /* Identifier */) {\n\t var id = token.value;\n\t this.nextToken();\n\t computed = this.match('[');\n\t isAsync = !this.hasLineTerminator && (id === 'async') &&\n\t !this.match(':') && !this.match('(') && !this.match('*') && !this.match(',');\n\t key = isAsync ? this.parseObjectPropertyKey() : this.finalize(node, new Node.Identifier(id));\n\t }\n\t else if (this.match('*')) {\n\t this.nextToken();\n\t }\n\t else {\n\t computed = this.match('[');\n\t key = this.parseObjectPropertyKey();\n\t }\n\t var lookaheadPropertyKey = this.qualifiedPropertyName(this.lookahead);\n\t if (token.type === 3 /* Identifier */ && !isAsync && token.value === 'get' && lookaheadPropertyKey) {\n\t kind = 'get';\n\t computed = this.match('[');\n\t key = this.parseObjectPropertyKey();\n\t this.context.allowYield = false;\n\t value = this.parseGetterMethod();\n\t }\n\t else if (token.type === 3 /* Identifier */ && !isAsync && token.value === 'set' && lookaheadPropertyKey) {\n\t kind = 'set';\n\t computed = this.match('[');\n\t key = this.parseObjectPropertyKey();\n\t value = this.parseSetterMethod();\n\t }\n\t else if (token.type === 7 /* Punctuator */ && token.value === '*' && lookaheadPropertyKey) {\n\t kind = 'init';\n\t computed = this.match('[');\n\t key = this.parseObjectPropertyKey();\n\t value = this.parseGeneratorMethod();\n\t method = true;\n\t }\n\t else {\n\t if (!key) {\n\t this.throwUnexpectedToken(this.lookahead);\n\t }\n\t kind = 'init';\n\t if (this.match(':') && !isAsync) {\n\t if (!computed && this.isPropertyKey(key, '__proto__')) {\n\t if (hasProto.value) {\n\t this.tolerateError(messages_1.Messages.DuplicateProtoProperty);\n\t }\n\t hasProto.value = true;\n\t }\n\t this.nextToken();\n\t value = this.inheritCoverGrammar(this.parseAssignmentExpression);\n\t }\n\t else if (this.match('(')) {\n\t value = isAsync ? this.parsePropertyMethodAsyncFunction() : this.parsePropertyMethodFunction();\n\t method = true;\n\t }\n\t else if (token.type === 3 /* Identifier */) {\n\t var id = this.finalize(node, new Node.Identifier(token.value));\n\t if (this.match('=')) {\n\t this.context.firstCoverInitializedNameError = this.lookahead;\n\t this.nextToken();\n\t shorthand = true;\n\t var init = this.isolateCoverGrammar(this.parseAssignmentExpression);\n\t value = this.finalize(node, new Node.AssignmentPattern(id, init));\n\t }\n\t else {\n\t shorthand = true;\n\t value = id;\n\t }\n\t }\n\t else {\n\t this.throwUnexpectedToken(this.nextToken());\n\t }\n\t }\n\t return this.finalize(node, new Node.Property(kind, key, computed, value, method, shorthand));\n\t };\n\t Parser.prototype.parseObjectInitializer = function () {\n\t var node = this.createNode();\n\t this.expect('{');\n\t var properties = [];\n\t var hasProto = { value: false };\n\t while (!this.match('}')) {\n\t properties.push(this.parseObjectProperty(hasProto));\n\t if (!this.match('}')) {\n\t this.expectCommaSeparator();\n\t }\n\t }\n\t this.expect('}');\n\t return this.finalize(node, new Node.ObjectExpression(properties));\n\t };\n\t // https://tc39.github.io/ecma262/#sec-template-literals\n\t Parser.prototype.parseTemplateHead = function () {\n\t assert_1.assert(this.lookahead.head, 'Template literal must start with a template head');\n\t var node = this.createNode();\n\t var token = this.nextToken();\n\t var raw = token.value;\n\t var cooked = token.cooked;\n\t return this.finalize(node, new Node.TemplateElement({ raw: raw, cooked: cooked }, token.tail));\n\t };\n\t Parser.prototype.parseTemplateElement = function () {\n\t if (this.lookahead.type !== 10 /* Template */) {\n\t this.throwUnexpectedToken();\n\t }\n\t var node = this.createNode();\n\t var token = this.nextToken();\n\t var raw = token.value;\n\t var cooked = token.cooked;\n\t return this.finalize(node, new Node.TemplateElement({ raw: raw, cooked: cooked }, token.tail));\n\t };\n\t Parser.prototype.parseTemplateLiteral = function () {\n\t var node = this.createNode();\n\t var expressions = [];\n\t var quasis = [];\n\t var quasi = this.parseTemplateHead();\n\t quasis.push(quasi);\n\t while (!quasi.tail) {\n\t expressions.push(this.parseExpression());\n\t quasi = this.parseTemplateElement();\n\t quasis.push(quasi);\n\t }\n\t return this.finalize(node, new Node.TemplateLiteral(quasis, expressions));\n\t };\n\t // https://tc39.github.io/ecma262/#sec-grouping-operator\n\t Parser.prototype.reinterpretExpressionAsPattern = function (expr) {\n\t switch (expr.type) {\n\t case syntax_1.Syntax.Identifier:\n\t case syntax_1.Syntax.MemberExpression:\n\t case syntax_1.Syntax.RestElement:\n\t case syntax_1.Syntax.AssignmentPattern:\n\t break;\n\t case syntax_1.Syntax.SpreadElement:\n\t expr.type = syntax_1.Syntax.RestElement;\n\t this.reinterpretExpressionAsPattern(expr.argument);\n\t break;\n\t case syntax_1.Syntax.ArrayExpression:\n\t expr.type = syntax_1.Syntax.ArrayPattern;\n\t for (var i = 0; i < expr.elements.length; i++) {\n\t if (expr.elements[i] !== null) {\n\t this.reinterpretExpressionAsPattern(expr.elements[i]);\n\t }\n\t }\n\t break;\n\t case syntax_1.Syntax.ObjectExpression:\n\t expr.type = syntax_1.Syntax.ObjectPattern;\n\t for (var i = 0; i < expr.properties.length; i++) {\n\t this.reinterpretExpressionAsPattern(expr.properties[i].value);\n\t }\n\t break;\n\t case syntax_1.Syntax.AssignmentExpression:\n\t expr.type = syntax_1.Syntax.AssignmentPattern;\n\t delete expr.operator;\n\t this.reinterpretExpressionAsPattern(expr.left);\n\t break;\n\t default:\n\t // Allow other node type for tolerant parsing.\n\t break;\n\t }\n\t };\n\t Parser.prototype.parseGroupExpression = function () {\n\t var expr;\n\t this.expect('(');\n\t if (this.match(')')) {\n\t this.nextToken();\n\t if (!this.match('=>')) {\n\t this.expect('=>');\n\t }\n\t expr = {\n\t type: ArrowParameterPlaceHolder,\n\t params: [],\n\t async: false\n\t };\n\t }\n\t else {\n\t var startToken = this.lookahead;\n\t var params = [];\n\t if (this.match('...')) {\n\t expr = this.parseRestElement(params);\n\t this.expect(')');\n\t if (!this.match('=>')) {\n\t this.expect('=>');\n\t }\n\t expr = {\n\t type: ArrowParameterPlaceHolder,\n\t params: [expr],\n\t async: false\n\t };\n\t }\n\t else {\n\t var arrow = false;\n\t this.context.isBindingElement = true;\n\t expr = this.inheritCoverGrammar(this.parseAssignmentExpression);\n\t if (this.match(',')) {\n\t var expressions = [];\n\t this.context.isAssignmentTarget = false;\n\t expressions.push(expr);\n\t while (this.lookahead.type !== 2 /* EOF */) {\n\t if (!this.match(',')) {\n\t break;\n\t }\n\t this.nextToken();\n\t if (this.match(')')) {\n\t this.nextToken();\n\t for (var i = 0; i < expressions.length; i++) {\n\t this.reinterpretExpressionAsPattern(expressions[i]);\n\t }\n\t arrow = true;\n\t expr = {\n\t type: ArrowParameterPlaceHolder,\n\t params: expressions,\n\t async: false\n\t };\n\t }\n\t else if (this.match('...')) {\n\t if (!this.context.isBindingElement) {\n\t this.throwUnexpectedToken(this.lookahead);\n\t }\n\t expressions.push(this.parseRestElement(params));\n\t this.expect(')');\n\t if (!this.match('=>')) {\n\t this.expect('=>');\n\t }\n\t this.context.isBindingElement = false;\n\t for (var i = 0; i < expressions.length; i++) {\n\t this.reinterpretExpressionAsPattern(expressions[i]);\n\t }\n\t arrow = true;\n\t expr = {\n\t type: ArrowParameterPlaceHolder,\n\t params: expressions,\n\t async: false\n\t };\n\t }\n\t else {\n\t expressions.push(this.inheritCoverGrammar(this.parseAssignmentExpression));\n\t }\n\t if (arrow) {\n\t break;\n\t }\n\t }\n\t if (!arrow) {\n\t expr = this.finalize(this.startNode(startToken), new Node.SequenceExpression(expressions));\n\t }\n\t }\n\t if (!arrow) {\n\t this.expect(')');\n\t if (this.match('=>')) {\n\t if (expr.type === syntax_1.Syntax.Identifier && expr.name === 'yield') {\n\t arrow = true;\n\t expr = {\n\t type: ArrowParameterPlaceHolder,\n\t params: [expr],\n\t async: false\n\t };\n\t }\n\t if (!arrow) {\n\t if (!this.context.isBindingElement) {\n\t this.throwUnexpectedToken(this.lookahead);\n\t }\n\t if (expr.type === syntax_1.Syntax.SequenceExpression) {\n\t for (var i = 0; i < expr.expressions.length; i++) {\n\t this.reinterpretExpressionAsPattern(expr.expressions[i]);\n\t }\n\t }\n\t else {\n\t this.reinterpretExpressionAsPattern(expr);\n\t }\n\t var parameters = (expr.type === syntax_1.Syntax.SequenceExpression ? expr.expressions : [expr]);\n\t expr = {\n\t type: ArrowParameterPlaceHolder,\n\t params: parameters,\n\t async: false\n\t };\n\t }\n\t }\n\t this.context.isBindingElement = false;\n\t }\n\t }\n\t }\n\t return expr;\n\t };\n\t // https://tc39.github.io/ecma262/#sec-left-hand-side-expressions\n\t Parser.prototype.parseArguments = function () {\n\t this.expect('(');\n\t var args = [];\n\t if (!this.match(')')) {\n\t while (true) {\n\t var expr = this.match('...') ? this.parseSpreadElement() :\n\t this.isolateCoverGrammar(this.parseAssignmentExpression);\n\t args.push(expr);\n\t if (this.match(')')) {\n\t break;\n\t }\n\t this.expectCommaSeparator();\n\t if (this.match(')')) {\n\t break;\n\t }\n\t }\n\t }\n\t this.expect(')');\n\t return args;\n\t };\n\t Parser.prototype.isIdentifierName = function (token) {\n\t return token.type === 3 /* Identifier */ ||\n\t token.type === 4 /* Keyword */ ||\n\t token.type === 1 /* BooleanLiteral */ ||\n\t token.type === 5 /* NullLiteral */;\n\t };\n\t Parser.prototype.parseIdentifierName = function () {\n\t var node = this.createNode();\n\t var token = this.nextToken();\n\t if (!this.isIdentifierName(token)) {\n\t this.throwUnexpectedToken(token);\n\t }\n\t return this.finalize(node, new Node.Identifier(token.value));\n\t };\n\t Parser.prototype.parseNewExpression = function () {\n\t var node = this.createNode();\n\t var id = this.parseIdentifierName();\n\t assert_1.assert(id.name === 'new', 'New expression must start with `new`');\n\t var expr;\n\t if (this.match('.')) {\n\t this.nextToken();\n\t if (this.lookahead.type === 3 /* Identifier */ && this.context.inFunctionBody && this.lookahead.value === 'target') {\n\t var property = this.parseIdentifierName();\n\t expr = new Node.MetaProperty(id, property);\n\t }\n\t else {\n\t this.throwUnexpectedToken(this.lookahead);\n\t }\n\t }\n\t else {\n\t var callee = this.isolateCoverGrammar(this.parseLeftHandSideExpression);\n\t var args = this.match('(') ? this.parseArguments() : [];\n\t expr = new Node.NewExpression(callee, args);\n\t this.context.isAssignmentTarget = false;\n\t this.context.isBindingElement = false;\n\t }\n\t return this.finalize(node, expr);\n\t };\n\t Parser.prototype.parseAsyncArgument = function () {\n\t var arg = this.parseAssignmentExpression();\n\t this.context.firstCoverInitializedNameError = null;\n\t return arg;\n\t };\n\t Parser.prototype.parseAsyncArguments = function () {\n\t this.expect('(');\n\t var args = [];\n\t if (!this.match(')')) {\n\t while (true) {\n\t var expr = this.match('...') ? this.parseSpreadElement() :\n\t this.isolateCoverGrammar(this.parseAsyncArgument);\n\t args.push(expr);\n\t if (this.match(')')) {\n\t break;\n\t }\n\t this.expectCommaSeparator();\n\t if (this.match(')')) {\n\t break;\n\t }\n\t }\n\t }\n\t this.expect(')');\n\t return args;\n\t };\n\t Parser.prototype.parseLeftHandSideExpressionAllowCall = function () {\n\t var startToken = this.lookahead;\n\t var maybeAsync = this.matchContextualKeyword('async');\n\t var previousAllowIn = this.context.allowIn;\n\t this.context.allowIn = true;\n\t var expr;\n\t if (this.matchKeyword('super') && this.context.inFunctionBody) {\n\t expr = this.createNode();\n\t this.nextToken();\n\t expr = this.finalize(expr, new Node.Super());\n\t if (!this.match('(') && !this.match('.') && !this.match('[')) {\n\t this.throwUnexpectedToken(this.lookahead);\n\t }\n\t }\n\t else {\n\t expr = this.inheritCoverGrammar(this.matchKeyword('new') ? this.parseNewExpression : this.parsePrimaryExpression);\n\t }\n\t while (true) {\n\t if (this.match('.')) {\n\t this.context.isBindingElement = false;\n\t this.context.isAssignmentTarget = true;\n\t this.expect('.');\n\t var property = this.parseIdentifierName();\n\t expr = this.finalize(this.startNode(startToken), new Node.StaticMemberExpression(expr, property));\n\t }\n\t else if (this.match('(')) {\n\t var asyncArrow = maybeAsync && (startToken.lineNumber === this.lookahead.lineNumber);\n\t this.context.isBindingElement = false;\n\t this.context.isAssignmentTarget = false;\n\t var args = asyncArrow ? this.parseAsyncArguments() : this.parseArguments();\n\t expr = this.finalize(this.startNode(startToken), new Node.CallExpression(expr, args));\n\t if (asyncArrow && this.match('=>')) {\n\t for (var i = 0; i < args.length; ++i) {\n\t this.reinterpretExpressionAsPattern(args[i]);\n\t }\n\t expr = {\n\t type: ArrowParameterPlaceHolder,\n\t params: args,\n\t async: true\n\t };\n\t }\n\t }\n\t else if (this.match('[')) {\n\t this.context.isBindingElement = false;\n\t this.context.isAssignmentTarget = true;\n\t this.expect('[');\n\t var property = this.isolateCoverGrammar(this.parseExpression);\n\t this.expect(']');\n\t expr = this.finalize(this.startNode(startToken), new Node.ComputedMemberExpression(expr, property));\n\t }\n\t else if (this.lookahead.type === 10 /* Template */ && this.lookahead.head) {\n\t var quasi = this.parseTemplateLiteral();\n\t expr = this.finalize(this.startNode(startToken), new Node.TaggedTemplateExpression(expr, quasi));\n\t }\n\t else {\n\t break;\n\t }\n\t }\n\t this.context.allowIn = previousAllowIn;\n\t return expr;\n\t };\n\t Parser.prototype.parseSuper = function () {\n\t var node = this.createNode();\n\t this.expectKeyword('super');\n\t if (!this.match('[') && !this.match('.')) {\n\t this.throwUnexpectedToken(this.lookahead);\n\t }\n\t return this.finalize(node, new Node.Super());\n\t };\n\t Parser.prototype.parseLeftHandSideExpression = function () {\n\t assert_1.assert(this.context.allowIn, 'callee of new expression always allow in keyword.');\n\t var node = this.startNode(this.lookahead);\n\t var expr = (this.matchKeyword('super') && this.context.inFunctionBody) ? this.parseSuper() :\n\t this.inheritCoverGrammar(this.matchKeyword('new') ? this.parseNewExpression : this.parsePrimaryExpression);\n\t while (true) {\n\t if (this.match('[')) {\n\t this.context.isBindingElement = false;\n\t this.context.isAssignmentTarget = true;\n\t this.expect('[');\n\t var property = this.isolateCoverGrammar(this.parseExpression);\n\t this.expect(']');\n\t expr = this.finalize(node, new Node.ComputedMemberExpression(expr, property));\n\t }\n\t else if (this.match('.')) {\n\t this.context.isBindingElement = false;\n\t this.context.isAssignmentTarget = true;\n\t this.expect('.');\n\t var property = this.parseIdentifierName();\n\t expr = this.finalize(node, new Node.StaticMemberExpression(expr, property));\n\t }\n\t else if (this.lookahead.type === 10 /* Template */ && this.lookahead.head) {\n\t var quasi = this.parseTemplateLiteral();\n\t expr = this.finalize(node, new Node.TaggedTemplateExpression(expr, quasi));\n\t }\n\t else {\n\t break;\n\t }\n\t }\n\t return expr;\n\t };\n\t // https://tc39.github.io/ecma262/#sec-update-expressions\n\t Parser.prototype.parseUpdateExpression = function () {\n\t var expr;\n\t var startToken = this.lookahead;\n\t if (this.match('++') || this.match('--')) {\n\t var node = this.startNode(startToken);\n\t var token = this.nextToken();\n\t expr = this.inheritCoverGrammar(this.parseUnaryExpression);\n\t if (this.context.strict && expr.type === syntax_1.Syntax.Identifier && this.scanner.isRestrictedWord(expr.name)) {\n\t this.tolerateError(messages_1.Messages.StrictLHSPrefix);\n\t }\n\t if (!this.context.isAssignmentTarget) {\n\t this.tolerateError(messages_1.Messages.InvalidLHSInAssignment);\n\t }\n\t var prefix = true;\n\t expr = this.finalize(node, new Node.UpdateExpression(token.value, expr, prefix));\n\t this.context.isAssignmentTarget = false;\n\t this.context.isBindingElement = false;\n\t }\n\t else {\n\t expr = this.inheritCoverGrammar(this.parseLeftHandSideExpressionAllowCall);\n\t if (!this.hasLineTerminator && this.lookahead.type === 7 /* Punctuator */) {\n\t if (this.match('++') || this.match('--')) {\n\t if (this.context.strict && expr.type === syntax_1.Syntax.Identifier && this.scanner.isRestrictedWord(expr.name)) {\n\t this.tolerateError(messages_1.Messages.StrictLHSPostfix);\n\t }\n\t if (!this.context.isAssignmentTarget) {\n\t this.tolerateError(messages_1.Messages.InvalidLHSInAssignment);\n\t }\n\t this.context.isAssignmentTarget = false;\n\t this.context.isBindingElement = false;\n\t var operator = this.nextToken().value;\n\t var prefix = false;\n\t expr = this.finalize(this.startNode(startToken), new Node.UpdateExpression(operator, expr, prefix));\n\t }\n\t }\n\t }\n\t return expr;\n\t };\n\t // https://tc39.github.io/ecma262/#sec-unary-operators\n\t Parser.prototype.parseAwaitExpression = function () {\n\t var node = this.createNode();\n\t this.nextToken();\n\t var argument = this.parseUnaryExpression();\n\t return this.finalize(node, new Node.AwaitExpression(argument));\n\t };\n\t Parser.prototype.parseUnaryExpression = function () {\n\t var expr;\n\t if (this.match('+') || this.match('-') || this.match('~') || this.match('!') ||\n\t this.matchKeyword('delete') || this.matchKeyword('void') || this.matchKeyword('typeof')) {\n\t var node = this.startNode(this.lookahead);\n\t var token = this.nextToken();\n\t expr = this.inheritCoverGrammar(this.parseUnaryExpression);\n\t expr = this.finalize(node, new Node.UnaryExpression(token.value, expr));\n\t if (this.context.strict && expr.operator === 'delete' && expr.argument.type === syntax_1.Syntax.Identifier) {\n\t this.tolerateError(messages_1.Messages.StrictDelete);\n\t }\n\t this.context.isAssignmentTarget = false;\n\t this.context.isBindingElement = false;\n\t }\n\t else if (this.context.await && this.matchContextualKeyword('await')) {\n\t expr = this.parseAwaitExpression();\n\t }\n\t else {\n\t expr = this.parseUpdateExpression();\n\t }\n\t return expr;\n\t };\n\t Parser.prototype.parseExponentiationExpression = function () {\n\t var startToken = this.lookahead;\n\t var expr = this.inheritCoverGrammar(this.parseUnaryExpression);\n\t if (expr.type !== syntax_1.Syntax.UnaryExpression && this.match('**')) {\n\t this.nextToken();\n\t this.context.isAssignmentTarget = false;\n\t this.context.isBindingElement = false;\n\t var left = expr;\n\t var right = this.isolateCoverGrammar(this.parseExponentiationExpression);\n\t expr = this.finalize(this.startNode(startToken), new Node.BinaryExpression('**', left, right));\n\t }\n\t return expr;\n\t };\n\t // https://tc39.github.io/ecma262/#sec-exp-operator\n\t // https://tc39.github.io/ecma262/#sec-multiplicative-operators\n\t // https://tc39.github.io/ecma262/#sec-additive-operators\n\t // https://tc39.github.io/ecma262/#sec-bitwise-shift-operators\n\t // https://tc39.github.io/ecma262/#sec-relational-operators\n\t // https://tc39.github.io/ecma262/#sec-equality-operators\n\t // https://tc39.github.io/ecma262/#sec-binary-bitwise-operators\n\t // https://tc39.github.io/ecma262/#sec-binary-logical-operators\n\t Parser.prototype.binaryPrecedence = function (token) {\n\t var op = token.value;\n\t var precedence;\n\t if (token.type === 7 /* Punctuator */) {\n\t precedence = this.operatorPrecedence[op] || 0;\n\t }\n\t else if (token.type === 4 /* Keyword */) {\n\t precedence = (op === 'instanceof' || (this.context.allowIn && op === 'in')) ? 7 : 0;\n\t }\n\t else {\n\t precedence = 0;\n\t }\n\t return precedence;\n\t };\n\t Parser.prototype.parseBinaryExpression = function () {\n\t var startToken = this.lookahead;\n\t var expr = this.inheritCoverGrammar(this.parseExponentiationExpression);\n\t var token = this.lookahead;\n\t var prec = this.binaryPrecedence(token);\n\t if (prec > 0) {\n\t this.nextToken();\n\t this.context.isAssignmentTarget = false;\n\t this.context.isBindingElement = false;\n\t var markers = [startToken, this.lookahead];\n\t var left = expr;\n\t var right = this.isolateCoverGrammar(this.parseExponentiationExpression);\n\t var stack = [left, token.value, right];\n\t var precedences = [prec];\n\t while (true) {\n\t prec = this.binaryPrecedence(this.lookahead);\n\t if (prec <= 0) {\n\t break;\n\t }\n\t // Reduce: make a binary expression from the three topmost entries.\n\t while ((stack.length > 2) && (prec <= precedences[precedences.length - 1])) {\n\t right = stack.pop();\n\t var operator = stack.pop();\n\t precedences.pop();\n\t left = stack.pop();\n\t markers.pop();\n\t var node = this.startNode(markers[markers.length - 1]);\n\t stack.push(this.finalize(node, new Node.BinaryExpression(operator, left, right)));\n\t }\n\t // Shift.\n\t stack.push(this.nextToken().value);\n\t precedences.push(prec);\n\t markers.push(this.lookahead);\n\t stack.push(this.isolateCoverGrammar(this.parseExponentiationExpression));\n\t }\n\t // Final reduce to clean-up the stack.\n\t var i = stack.length - 1;\n\t expr = stack[i];\n\t var lastMarker = markers.pop();\n\t while (i > 1) {\n\t var marker = markers.pop();\n\t var lastLineStart = lastMarker && lastMarker.lineStart;\n\t var node = this.startNode(marker, lastLineStart);\n\t var operator = stack[i - 1];\n\t expr = this.finalize(node, new Node.BinaryExpression(operator, stack[i - 2], expr));\n\t i -= 2;\n\t lastMarker = marker;\n\t }\n\t }\n\t return expr;\n\t };\n\t // https://tc39.github.io/ecma262/#sec-conditional-operator\n\t Parser.prototype.parseConditionalExpression = function () {\n\t var startToken = this.lookahead;\n\t var expr = this.inheritCoverGrammar(this.parseBinaryExpression);\n\t if (this.match('?')) {\n\t this.nextToken();\n\t var previousAllowIn = this.context.allowIn;\n\t this.context.allowIn = true;\n\t var consequent = this.isolateCoverGrammar(this.parseAssignmentExpression);\n\t this.context.allowIn = previousAllowIn;\n\t this.expect(':');\n\t var alternate = this.isolateCoverGrammar(this.parseAssignmentExpression);\n\t expr = this.finalize(this.startNode(startToken), new Node.ConditionalExpression(expr, consequent, alternate));\n\t this.context.isAssignmentTarget = false;\n\t this.context.isBindingElement = false;\n\t }\n\t return expr;\n\t };\n\t // https://tc39.github.io/ecma262/#sec-assignment-operators\n\t Parser.prototype.checkPatternParam = function (options, param) {\n\t switch (param.type) {\n\t case syntax_1.Syntax.Identifier:\n\t this.validateParam(options, param, param.name);\n\t break;\n\t case syntax_1.Syntax.RestElement:\n\t this.checkPatternParam(options, param.argument);\n\t break;\n\t case syntax_1.Syntax.AssignmentPattern:\n\t this.checkPatternParam(options, param.left);\n\t break;\n\t case syntax_1.Syntax.ArrayPattern:\n\t for (var i = 0; i < param.elements.length; i++) {\n\t if (param.elements[i] !== null) {\n\t this.checkPatternParam(options, param.elements[i]);\n\t }\n\t }\n\t break;\n\t case syntax_1.Syntax.ObjectPattern:\n\t for (var i = 0; i < param.properties.length; i++) {\n\t this.checkPatternParam(options, param.properties[i].value);\n\t }\n\t break;\n\t default:\n\t break;\n\t }\n\t options.simple = options.simple && (param instanceof Node.Identifier);\n\t };\n\t Parser.prototype.reinterpretAsCoverFormalsList = function (expr) {\n\t var params = [expr];\n\t var options;\n\t var asyncArrow = false;\n\t switch (expr.type) {\n\t case syntax_1.Syntax.Identifier:\n\t break;\n\t case ArrowParameterPlaceHolder:\n\t params = expr.params;\n\t asyncArrow = expr.async;\n\t break;\n\t default:\n\t return null;\n\t }\n\t options = {\n\t simple: true,\n\t paramSet: {}\n\t };\n\t for (var i = 0; i < params.length; ++i) {\n\t var param = params[i];\n\t if (param.type === syntax_1.Syntax.AssignmentPattern) {\n\t if (param.right.type === syntax_1.Syntax.YieldExpression) {\n\t if (param.right.argument) {\n\t this.throwUnexpectedToken(this.lookahead);\n\t }\n\t param.right.type = syntax_1.Syntax.Identifier;\n\t param.right.name = 'yield';\n\t delete param.right.argument;\n\t delete param.right.delegate;\n\t }\n\t }\n\t else if (asyncArrow && param.type === syntax_1.Syntax.Identifier && param.name === 'await') {\n\t this.throwUnexpectedToken(this.lookahead);\n\t }\n\t this.checkPatternParam(options, param);\n\t params[i] = param;\n\t }\n\t if (this.context.strict || !this.context.allowYield) {\n\t for (var i = 0; i < params.length; ++i) {\n\t var param = params[i];\n\t if (param.type === syntax_1.Syntax.YieldExpression) {\n\t this.throwUnexpectedToken(this.lookahead);\n\t }\n\t }\n\t }\n\t if (options.message === messages_1.Messages.StrictParamDupe) {\n\t var token = this.context.strict ? options.stricted : options.firstRestricted;\n\t this.throwUnexpectedToken(token, options.message);\n\t }\n\t return {\n\t simple: options.simple,\n\t params: params,\n\t stricted: options.stricted,\n\t firstRestricted: options.firstRestricted,\n\t message: options.message\n\t };\n\t };\n\t Parser.prototype.parseAssignmentExpression = function () {\n\t var expr;\n\t if (!this.context.allowYield && this.matchKeyword('yield')) {\n\t expr = this.parseYieldExpression();\n\t }\n\t else {\n\t var startToken = this.lookahead;\n\t var token = startToken;\n\t expr = this.parseConditionalExpression();\n\t if (token.type === 3 /* Identifier */ && (token.lineNumber === this.lookahead.lineNumber) && token.value === 'async') {\n\t if (this.lookahead.type === 3 /* Identifier */ || this.matchKeyword('yield')) {\n\t var arg = this.parsePrimaryExpression();\n\t this.reinterpretExpressionAsPattern(arg);\n\t expr = {\n\t type: ArrowParameterPlaceHolder,\n\t params: [arg],\n\t async: true\n\t };\n\t }\n\t }\n\t if (expr.type === ArrowParameterPlaceHolder || this.match('=>')) {\n\t // https://tc39.github.io/ecma262/#sec-arrow-function-definitions\n\t this.context.isAssignmentTarget = false;\n\t this.context.isBindingElement = false;\n\t var isAsync = expr.async;\n\t var list = this.reinterpretAsCoverFormalsList(expr);\n\t if (list) {\n\t if (this.hasLineTerminator) {\n\t this.tolerateUnexpectedToken(this.lookahead);\n\t }\n\t this.context.firstCoverInitializedNameError = null;\n\t var previousStrict = this.context.strict;\n\t var previousAllowStrictDirective = this.context.allowStrictDirective;\n\t this.context.allowStrictDirective = list.simple;\n\t var previousAllowYield = this.context.allowYield;\n\t var previousAwait = this.context.await;\n\t this.context.allowYield = true;\n\t this.context.await = isAsync;\n\t var node = this.startNode(startToken);\n\t this.expect('=>');\n\t var body = void 0;\n\t if (this.match('{')) {\n\t var previousAllowIn = this.context.allowIn;\n\t this.context.allowIn = true;\n\t body = this.parseFunctionSourceElements();\n\t this.context.allowIn = previousAllowIn;\n\t }\n\t else {\n\t body = this.isolateCoverGrammar(this.parseAssignmentExpression);\n\t }\n\t var expression = body.type !== syntax_1.Syntax.BlockStatement;\n\t if (this.context.strict && list.firstRestricted) {\n\t this.throwUnexpectedToken(list.firstRestricted, list.message);\n\t }\n\t if (this.context.strict && list.stricted) {\n\t this.tolerateUnexpectedToken(list.stricted, list.message);\n\t }\n\t expr = isAsync ? this.finalize(node, new Node.AsyncArrowFunctionExpression(list.params, body, expression)) :\n\t this.finalize(node, new Node.ArrowFunctionExpression(list.params, body, expression));\n\t this.context.strict = previousStrict;\n\t this.context.allowStrictDirective = previousAllowStrictDirective;\n\t this.context.allowYield = previousAllowYield;\n\t this.context.await = previousAwait;\n\t }\n\t }\n\t else {\n\t if (this.matchAssign()) {\n\t if (!this.context.isAssignmentTarget) {\n\t this.tolerateError(messages_1.Messages.InvalidLHSInAssignment);\n\t }\n\t if (this.context.strict && expr.type === syntax_1.Syntax.Identifier) {\n\t var id = expr;\n\t if (this.scanner.isRestrictedWord(id.name)) {\n\t this.tolerateUnexpectedToken(token, messages_1.Messages.StrictLHSAssignment);\n\t }\n\t if (this.scanner.isStrictModeReservedWord(id.name)) {\n\t this.tolerateUnexpectedToken(token, messages_1.Messages.StrictReservedWord);\n\t }\n\t }\n\t if (!this.match('=')) {\n\t this.context.isAssignmentTarget = false;\n\t this.context.isBindingElement = false;\n\t }\n\t else {\n\t this.reinterpretExpressionAsPattern(expr);\n\t }\n\t token = this.nextToken();\n\t var operator = token.value;\n\t var right = this.isolateCoverGrammar(this.parseAssignmentExpression);\n\t expr = this.finalize(this.startNode(startToken), new Node.AssignmentExpression(operator, expr, right));\n\t this.context.firstCoverInitializedNameError = null;\n\t }\n\t }\n\t }\n\t return expr;\n\t };\n\t // https://tc39.github.io/ecma262/#sec-comma-operator\n\t Parser.prototype.parseExpression = function () {\n\t var startToken = this.lookahead;\n\t var expr = this.isolateCoverGrammar(this.parseAssignmentExpression);\n\t if (this.match(',')) {\n\t var expressions = [];\n\t expressions.push(expr);\n\t while (this.lookahead.type !== 2 /* EOF */) {\n\t if (!this.match(',')) {\n\t break;\n\t }\n\t this.nextToken();\n\t expressions.push(this.isolateCoverGrammar(this.parseAssignmentExpression));\n\t }\n\t expr = this.finalize(this.startNode(startToken), new Node.SequenceExpression(expressions));\n\t }\n\t return expr;\n\t };\n\t // https://tc39.github.io/ecma262/#sec-block\n\t Parser.prototype.parseStatementListItem = function () {\n\t var statement;\n\t this.context.isAssignmentTarget = true;\n\t this.context.isBindingElement = true;\n\t if (this.lookahead.type === 4 /* Keyword */) {\n\t switch (this.lookahead.value) {\n\t case 'export':\n\t if (!this.context.isModule) {\n\t this.tolerateUnexpectedToken(this.lookahead, messages_1.Messages.IllegalExportDeclaration);\n\t }\n\t statement = this.parseExportDeclaration();\n\t break;\n\t case 'import':\n\t if (!this.context.isModule) {\n\t this.tolerateUnexpectedToken(this.lookahead, messages_1.Messages.IllegalImportDeclaration);\n\t }\n\t statement = this.parseImportDeclaration();\n\t break;\n\t case 'const':\n\t statement = this.parseLexicalDeclaration({ inFor: false });\n\t break;\n\t case 'function':\n\t statement = this.parseFunctionDeclaration();\n\t break;\n\t case 'class':\n\t statement = this.parseClassDeclaration();\n\t break;\n\t case 'let':\n\t statement = this.isLexicalDeclaration() ? this.parseLexicalDeclaration({ inFor: false }) : this.parseStatement();\n\t break;\n\t default:\n\t statement = this.parseStatement();\n\t break;\n\t }\n\t }\n\t else {\n\t statement = this.parseStatement();\n\t }\n\t return statement;\n\t };\n\t Parser.prototype.parseBlock = function () {\n\t var node = this.createNode();\n\t this.expect('{');\n\t var block = [];\n\t while (true) {\n\t if (this.match('}')) {\n\t break;\n\t }\n\t block.push(this.parseStatementListItem());\n\t }\n\t this.expect('}');\n\t return this.finalize(node, new Node.BlockStatement(block));\n\t };\n\t // https://tc39.github.io/ecma262/#sec-let-and-const-declarations\n\t Parser.prototype.parseLexicalBinding = function (kind, options) {\n\t var node = this.createNode();\n\t var params = [];\n\t var id = this.parsePattern(params, kind);\n\t if (this.context.strict && id.type === syntax_1.Syntax.Identifier) {\n\t if (this.scanner.isRestrictedWord(id.name)) {\n\t this.tolerateError(messages_1.Messages.StrictVarName);\n\t }\n\t }\n\t var init = null;\n\t if (kind === 'const') {\n\t if (!this.matchKeyword('in') && !this.matchContextualKeyword('of')) {\n\t if (this.match('=')) {\n\t this.nextToken();\n\t init = this.isolateCoverGrammar(this.parseAssignmentExpression);\n\t }\n\t else {\n\t this.throwError(messages_1.Messages.DeclarationMissingInitializer, 'const');\n\t }\n\t }\n\t }\n\t else if ((!options.inFor && id.type !== syntax_1.Syntax.Identifier) || this.match('=')) {\n\t this.expect('=');\n\t init = this.isolateCoverGrammar(this.parseAssignmentExpression);\n\t }\n\t return this.finalize(node, new Node.VariableDeclarator(id, init));\n\t };\n\t Parser.prototype.parseBindingList = function (kind, options) {\n\t var list = [this.parseLexicalBinding(kind, options)];\n\t while (this.match(',')) {\n\t this.nextToken();\n\t list.push(this.parseLexicalBinding(kind, options));\n\t }\n\t return list;\n\t };\n\t Parser.prototype.isLexicalDeclaration = function () {\n\t var state = this.scanner.saveState();\n\t this.scanner.scanComments();\n\t var next = this.scanner.lex();\n\t this.scanner.restoreState(state);\n\t return (next.type === 3 /* Identifier */) ||\n\t (next.type === 7 /* Punctuator */ && next.value === '[') ||\n\t (next.type === 7 /* Punctuator */ && next.value === '{') ||\n\t (next.type === 4 /* Keyword */ && next.value === 'let') ||\n\t (next.type === 4 /* Keyword */ && next.value === 'yield');\n\t };\n\t Parser.prototype.parseLexicalDeclaration = function (options) {\n\t var node = this.createNode();\n\t var kind = this.nextToken().value;\n\t assert_1.assert(kind === 'let' || kind === 'const', 'Lexical declaration must be either let or const');\n\t var declarations = this.parseBindingList(kind, options);\n\t this.consumeSemicolon();\n\t return this.finalize(node, new Node.VariableDeclaration(declarations, kind));\n\t };\n\t // https://tc39.github.io/ecma262/#sec-destructuring-binding-patterns\n\t Parser.prototype.parseBindingRestElement = function (params, kind) {\n\t var node = this.createNode();\n\t this.expect('...');\n\t var arg = this.parsePattern(params, kind);\n\t return this.finalize(node, new Node.RestElement(arg));\n\t };\n\t Parser.prototype.parseArrayPattern = function (params, kind) {\n\t var node = this.createNode();\n\t this.expect('[');\n\t var elements = [];\n\t while (!this.match(']')) {\n\t if (this.match(',')) {\n\t this.nextToken();\n\t elements.push(null);\n\t }\n\t else {\n\t if (this.match('...')) {\n\t elements.push(this.parseBindingRestElement(params, kind));\n\t break;\n\t }\n\t else {\n\t elements.push(this.parsePatternWithDefault(params, kind));\n\t }\n\t if (!this.match(']')) {\n\t this.expect(',');\n\t }\n\t }\n\t }\n\t this.expect(']');\n\t return this.finalize(node, new Node.ArrayPattern(elements));\n\t };\n\t Parser.prototype.parsePropertyPattern = function (params, kind) {\n\t var node = this.createNode();\n\t var computed = false;\n\t var shorthand = false;\n\t var method = false;\n\t var key;\n\t var value;\n\t if (this.lookahead.type === 3 /* Identifier */) {\n\t var keyToken = this.lookahead;\n\t key = this.parseVariableIdentifier();\n\t var init = this.finalize(node, new Node.Identifier(keyToken.value));\n\t if (this.match('=')) {\n\t params.push(keyToken);\n\t shorthand = true;\n\t this.nextToken();\n\t var expr = this.parseAssignmentExpression();\n\t value = this.finalize(this.startNode(keyToken), new Node.AssignmentPattern(init, expr));\n\t }\n\t else if (!this.match(':')) {\n\t params.push(keyToken);\n\t shorthand = true;\n\t value = init;\n\t }\n\t else {\n\t this.expect(':');\n\t value = this.parsePatternWithDefault(params, kind);\n\t }\n\t }\n\t else {\n\t computed = this.match('[');\n\t key = this.parseObjectPropertyKey();\n\t this.expect(':');\n\t value = this.parsePatternWithDefault(params, kind);\n\t }\n\t return this.finalize(node, new Node.Property('init', key, computed, value, method, shorthand));\n\t };\n\t Parser.prototype.parseObjectPattern = function (params, kind) {\n\t var node = this.createNode();\n\t var properties = [];\n\t this.expect('{');\n\t while (!this.match('}')) {\n\t properties.push(this.parsePropertyPattern(params, kind));\n\t if (!this.match('}')) {\n\t this.expect(',');\n\t }\n\t }\n\t this.expect('}');\n\t return this.finalize(node, new Node.ObjectPattern(properties));\n\t };\n\t Parser.prototype.parsePattern = function (params, kind) {\n\t var pattern;\n\t if (this.match('[')) {\n\t pattern = this.parseArrayPattern(params, kind);\n\t }\n\t else if (this.match('{')) {\n\t pattern = this.parseObjectPattern(params, kind);\n\t }\n\t else {\n\t if (this.matchKeyword('let') && (kind === 'const' || kind === 'let')) {\n\t this.tolerateUnexpectedToken(this.lookahead, messages_1.Messages.LetInLexicalBinding);\n\t }\n\t params.push(this.lookahead);\n\t pattern = this.parseVariableIdentifier(kind);\n\t }\n\t return pattern;\n\t };\n\t Parser.prototype.parsePatternWithDefault = function (params, kind) {\n\t var startToken = this.lookahead;\n\t var pattern = this.parsePattern(params, kind);\n\t if (this.match('=')) {\n\t this.nextToken();\n\t var previousAllowYield = this.context.allowYield;\n\t this.context.allowYield = true;\n\t var right = this.isolateCoverGrammar(this.parseAssignmentExpression);\n\t this.context.allowYield = previousAllowYield;\n\t pattern = this.finalize(this.startNode(startToken), new Node.AssignmentPattern(pattern, right));\n\t }\n\t return pattern;\n\t };\n\t // https://tc39.github.io/ecma262/#sec-variable-statement\n\t Parser.prototype.parseVariableIdentifier = function (kind) {\n\t var node = this.createNode();\n\t var token = this.nextToken();\n\t if (token.type === 4 /* Keyword */ && token.value === 'yield') {\n\t if (this.context.strict) {\n\t this.tolerateUnexpectedToken(token, messages_1.Messages.StrictReservedWord);\n\t }\n\t else if (!this.context.allowYield) {\n\t this.throwUnexpectedToken(token);\n\t }\n\t }\n\t else if (token.type !== 3 /* Identifier */) {\n\t if (this.context.strict && token.type === 4 /* Keyword */ && this.scanner.isStrictModeReservedWord(token.value)) {\n\t this.tolerateUnexpectedToken(token, messages_1.Messages.StrictReservedWord);\n\t }\n\t else {\n\t if (this.context.strict || token.value !== 'let' || kind !== 'var') {\n\t this.throwUnexpectedToken(token);\n\t }\n\t }\n\t }\n\t else if ((this.context.isModule || this.context.await) && token.type === 3 /* Identifier */ && token.value === 'await') {\n\t this.tolerateUnexpectedToken(token);\n\t }\n\t return this.finalize(node, new Node.Identifier(token.value));\n\t };\n\t Parser.prototype.parseVariableDeclaration = function (options) {\n\t var node = this.createNode();\n\t var params = [];\n\t var id = this.parsePattern(params, 'var');\n\t if (this.context.strict && id.type === syntax_1.Syntax.Identifier) {\n\t if (this.scanner.isRestrictedWord(id.name)) {\n\t this.tolerateError(messages_1.Messages.StrictVarName);\n\t }\n\t }\n\t var init = null;\n\t if (this.match('=')) {\n\t this.nextToken();\n\t init = this.isolateCoverGrammar(this.parseAssignmentExpression);\n\t }\n\t else if (id.type !== syntax_1.Syntax.Identifier && !options.inFor) {\n\t this.expect('=');\n\t }\n\t return this.finalize(node, new Node.VariableDeclarator(id, init));\n\t };\n\t Parser.prototype.parseVariableDeclarationList = function (options) {\n\t var opt = { inFor: options.inFor };\n\t var list = [];\n\t list.push(this.parseVariableDeclaration(opt));\n\t while (this.match(',')) {\n\t this.nextToken();\n\t list.push(this.parseVariableDeclaration(opt));\n\t }\n\t return list;\n\t };\n\t Parser.prototype.parseVariableStatement = function () {\n\t var node = this.createNode();\n\t this.expectKeyword('var');\n\t var declarations = this.parseVariableDeclarationList({ inFor: false });\n\t this.consumeSemicolon();\n\t return this.finalize(node, new Node.VariableDeclaration(declarations, 'var'));\n\t };\n\t // https://tc39.github.io/ecma262/#sec-empty-statement\n\t Parser.prototype.parseEmptyStatement = function () {\n\t var node = this.createNode();\n\t this.expect(';');\n\t return this.finalize(node, new Node.EmptyStatement());\n\t };\n\t // https://tc39.github.io/ecma262/#sec-expression-statement\n\t Parser.prototype.parseExpressionStatement = function () {\n\t var node = this.createNode();\n\t var expr = this.parseExpression();\n\t this.consumeSemicolon();\n\t return this.finalize(node, new Node.ExpressionStatement(expr));\n\t };\n\t // https://tc39.github.io/ecma262/#sec-if-statement\n\t Parser.prototype.parseIfClause = function () {\n\t if (this.context.strict && this.matchKeyword('function')) {\n\t this.tolerateError(messages_1.Messages.StrictFunction);\n\t }\n\t return this.parseStatement();\n\t };\n\t Parser.prototype.parseIfStatement = function () {\n\t var node = this.createNode();\n\t var consequent;\n\t var alternate = null;\n\t this.expectKeyword('if');\n\t this.expect('(');\n\t var test = this.parseExpression();\n\t if (!this.match(')') && this.config.tolerant) {\n\t this.tolerateUnexpectedToken(this.nextToken());\n\t consequent = this.finalize(this.createNode(), new Node.EmptyStatement());\n\t }\n\t else {\n\t this.expect(')');\n\t consequent = this.parseIfClause();\n\t if (this.matchKeyword('else')) {\n\t this.nextToken();\n\t alternate = this.parseIfClause();\n\t }\n\t }\n\t return this.finalize(node, new Node.IfStatement(test, consequent, alternate));\n\t };\n\t // https://tc39.github.io/ecma262/#sec-do-while-statement\n\t Parser.prototype.parseDoWhileStatement = function () {\n\t var node = this.createNode();\n\t this.expectKeyword('do');\n\t var previousInIteration = this.context.inIteration;\n\t this.context.inIteration = true;\n\t var body = this.parseStatement();\n\t this.context.inIteration = previousInIteration;\n\t this.expectKeyword('while');\n\t this.expect('(');\n\t var test = this.parseExpression();\n\t if (!this.match(')') && this.config.tolerant) {\n\t this.tolerateUnexpectedToken(this.nextToken());\n\t }\n\t else {\n\t this.expect(')');\n\t if (this.match(';')) {\n\t this.nextToken();\n\t }\n\t }\n\t return this.finalize(node, new Node.DoWhileStatement(body, test));\n\t };\n\t // https://tc39.github.io/ecma262/#sec-while-statement\n\t Parser.prototype.parseWhileStatement = function () {\n\t var node = this.createNode();\n\t var body;\n\t this.expectKeyword('while');\n\t this.expect('(');\n\t var test = this.parseExpression();\n\t if (!this.match(')') && this.config.tolerant) {\n\t this.tolerateUnexpectedToken(this.nextToken());\n\t body = this.finalize(this.createNode(), new Node.EmptyStatement());\n\t }\n\t else {\n\t this.expect(')');\n\t var previousInIteration = this.context.inIteration;\n\t this.context.inIteration = true;\n\t body = this.parseStatement();\n\t this.context.inIteration = previousInIteration;\n\t }\n\t return this.finalize(node, new Node.WhileStatement(test, body));\n\t };\n\t // https://tc39.github.io/ecma262/#sec-for-statement\n\t // https://tc39.github.io/ecma262/#sec-for-in-and-for-of-statements\n\t Parser.prototype.parseForStatement = function () {\n\t var init = null;\n\t var test = null;\n\t var update = null;\n\t var forIn = true;\n\t var left, right;\n\t var node = this.createNode();\n\t this.expectKeyword('for');\n\t this.expect('(');\n\t if (this.match(';')) {\n\t this.nextToken();\n\t }\n\t else {\n\t if (this.matchKeyword('var')) {\n\t init = this.createNode();\n\t this.nextToken();\n\t var previousAllowIn = this.context.allowIn;\n\t this.context.allowIn = false;\n\t var declarations = this.parseVariableDeclarationList({ inFor: true });\n\t this.context.allowIn = previousAllowIn;\n\t if (declarations.length === 1 && this.matchKeyword('in')) {\n\t var decl = declarations[0];\n\t if (decl.init && (decl.id.type === syntax_1.Syntax.ArrayPattern || decl.id.type === syntax_1.Syntax.ObjectPattern || this.context.strict)) {\n\t this.tolerateError(messages_1.Messages.ForInOfLoopInitializer, 'for-in');\n\t }\n\t init = this.finalize(init, new Node.VariableDeclaration(declarations, 'var'));\n\t this.nextToken();\n\t left = init;\n\t right = this.parseExpression();\n\t init = null;\n\t }\n\t else if (declarations.length === 1 && declarations[0].init === null && this.matchContextualKeyword('of')) {\n\t init = this.finalize(init, new Node.VariableDeclaration(declarations, 'var'));\n\t this.nextToken();\n\t left = init;\n\t right = this.parseAssignmentExpression();\n\t init = null;\n\t forIn = false;\n\t }\n\t else {\n\t init = this.finalize(init, new Node.VariableDeclaration(declarations, 'var'));\n\t this.expect(';');\n\t }\n\t }\n\t else if (this.matchKeyword('const') || this.matchKeyword('let')) {\n\t init = this.createNode();\n\t var kind = this.nextToken().value;\n\t if (!this.context.strict && this.lookahead.value === 'in') {\n\t init = this.finalize(init, new Node.Identifier(kind));\n\t this.nextToken();\n\t left = init;\n\t right = this.parseExpression();\n\t init = null;\n\t }\n\t else {\n\t var previousAllowIn = this.context.allowIn;\n\t this.context.allowIn = false;\n\t var declarations = this.parseBindingList(kind, { inFor: true });\n\t this.context.allowIn = previousAllowIn;\n\t if (declarations.length === 1 && declarations[0].init === null && this.matchKeyword('in')) {\n\t init = this.finalize(init, new Node.VariableDeclaration(declarations, kind));\n\t this.nextToken();\n\t left = init;\n\t right = this.parseExpression();\n\t init = null;\n\t }\n\t else if (declarations.length === 1 && declarations[0].init === null && this.matchContextualKeyword('of')) {\n\t init = this.finalize(init, new Node.VariableDeclaration(declarations, kind));\n\t this.nextToken();\n\t left = init;\n\t right = this.parseAssignmentExpression();\n\t init = null;\n\t forIn = false;\n\t }\n\t else {\n\t this.consumeSemicolon();\n\t init = this.finalize(init, new Node.VariableDeclaration(declarations, kind));\n\t }\n\t }\n\t }\n\t else {\n\t var initStartToken = this.lookahead;\n\t var previousAllowIn = this.context.allowIn;\n\t this.context.allowIn = false;\n\t init = this.inheritCoverGrammar(this.parseAssignmentExpression);\n\t this.context.allowIn = previousAllowIn;\n\t if (this.matchKeyword('in')) {\n\t if (!this.context.isAssignmentTarget || init.type === syntax_1.Syntax.AssignmentExpression) {\n\t this.tolerateError(messages_1.Messages.InvalidLHSInForIn);\n\t }\n\t this.nextToken();\n\t this.reinterpretExpressionAsPattern(init);\n\t left = init;\n\t right = this.parseExpression();\n\t init = null;\n\t }\n\t else if (this.matchContextualKeyword('of')) {\n\t if (!this.context.isAssignmentTarget || init.type === syntax_1.Syntax.AssignmentExpression) {\n\t this.tolerateError(messages_1.Messages.InvalidLHSInForLoop);\n\t }\n\t this.nextToken();\n\t this.reinterpretExpressionAsPattern(init);\n\t left = init;\n\t right = this.parseAssignmentExpression();\n\t init = null;\n\t forIn = false;\n\t }\n\t else {\n\t if (this.match(',')) {\n\t var initSeq = [init];\n\t while (this.match(',')) {\n\t this.nextToken();\n\t initSeq.push(this.isolateCoverGrammar(this.parseAssignmentExpression));\n\t }\n\t init = this.finalize(this.startNode(initStartToken), new Node.SequenceExpression(initSeq));\n\t }\n\t this.expect(';');\n\t }\n\t }\n\t }\n\t if (typeof left === 'undefined') {\n\t if (!this.match(';')) {\n\t test = this.parseExpression();\n\t }\n\t this.expect(';');\n\t if (!this.match(')')) {\n\t update = this.parseExpression();\n\t }\n\t }\n\t var body;\n\t if (!this.match(')') && this.config.tolerant) {\n\t this.tolerateUnexpectedToken(this.nextToken());\n\t body = this.finalize(this.createNode(), new Node.EmptyStatement());\n\t }\n\t else {\n\t this.expect(')');\n\t var previousInIteration = this.context.inIteration;\n\t this.context.inIteration = true;\n\t body = this.isolateCoverGrammar(this.parseStatement);\n\t this.context.inIteration = previousInIteration;\n\t }\n\t return (typeof left === 'undefined') ?\n\t this.finalize(node, new Node.ForStatement(init, test, update, body)) :\n\t forIn ? this.finalize(node, new Node.ForInStatement(left, right, body)) :\n\t this.finalize(node, new Node.ForOfStatement(left, right, body));\n\t };\n\t // https://tc39.github.io/ecma262/#sec-continue-statement\n\t Parser.prototype.parseContinueStatement = function () {\n\t var node = this.createNode();\n\t this.expectKeyword('continue');\n\t var label = null;\n\t if (this.lookahead.type === 3 /* Identifier */ && !this.hasLineTerminator) {\n\t var id = this.parseVariableIdentifier();\n\t label = id;\n\t var key = '$' + id.name;\n\t if (!Object.prototype.hasOwnProperty.call(this.context.labelSet, key)) {\n\t this.throwError(messages_1.Messages.UnknownLabel, id.name);\n\t }\n\t }\n\t this.consumeSemicolon();\n\t if (label === null && !this.context.inIteration) {\n\t this.throwError(messages_1.Messages.IllegalContinue);\n\t }\n\t return this.finalize(node, new Node.ContinueStatement(label));\n\t };\n\t // https://tc39.github.io/ecma262/#sec-break-statement\n\t Parser.prototype.parseBreakStatement = function () {\n\t var node = this.createNode();\n\t this.expectKeyword('break');\n\t var label = null;\n\t if (this.lookahead.type === 3 /* Identifier */ && !this.hasLineTerminator) {\n\t var id = this.parseVariableIdentifier();\n\t var key = '$' + id.name;\n\t if (!Object.prototype.hasOwnProperty.call(this.context.labelSet, key)) {\n\t this.throwError(messages_1.Messages.UnknownLabel, id.name);\n\t }\n\t label = id;\n\t }\n\t this.consumeSemicolon();\n\t if (label === null && !this.context.inIteration && !this.context.inSwitch) {\n\t this.throwError(messages_1.Messages.IllegalBreak);\n\t }\n\t return this.finalize(node, new Node.BreakStatement(label));\n\t };\n\t // https://tc39.github.io/ecma262/#sec-return-statement\n\t Parser.prototype.parseReturnStatement = function () {\n\t if (!this.context.inFunctionBody) {\n\t this.tolerateError(messages_1.Messages.IllegalReturn);\n\t }\n\t var node = this.createNode();\n\t this.expectKeyword('return');\n\t var hasArgument = (!this.match(';') && !this.match('}') &&\n\t !this.hasLineTerminator && this.lookahead.type !== 2 /* EOF */) ||\n\t this.lookahead.type === 8 /* StringLiteral */ ||\n\t this.lookahead.type === 10 /* Template */;\n\t var argument = hasArgument ? this.parseExpression() : null;\n\t this.consumeSemicolon();\n\t return this.finalize(node, new Node.ReturnStatement(argument));\n\t };\n\t // https://tc39.github.io/ecma262/#sec-with-statement\n\t Parser.prototype.parseWithStatement = function () {\n\t if (this.context.strict) {\n\t this.tolerateError(messages_1.Messages.StrictModeWith);\n\t }\n\t var node = this.createNode();\n\t var body;\n\t this.expectKeyword('with');\n\t this.expect('(');\n\t var object = this.parseExpression();\n\t if (!this.match(')') && this.config.tolerant) {\n\t this.tolerateUnexpectedToken(this.nextToken());\n\t body = this.finalize(this.createNode(), new Node.EmptyStatement());\n\t }\n\t else {\n\t this.expect(')');\n\t body = this.parseStatement();\n\t }\n\t return this.finalize(node, new Node.WithStatement(object, body));\n\t };\n\t // https://tc39.github.io/ecma262/#sec-switch-statement\n\t Parser.prototype.parseSwitchCase = function () {\n\t var node = this.createNode();\n\t var test;\n\t if (this.matchKeyword('default')) {\n\t this.nextToken();\n\t test = null;\n\t }\n\t else {\n\t this.expectKeyword('case');\n\t test = this.parseExpression();\n\t }\n\t this.expect(':');\n\t var consequent = [];\n\t while (true) {\n\t if (this.match('}') || this.matchKeyword('default') || this.matchKeyword('case')) {\n\t break;\n\t }\n\t consequent.push(this.parseStatementListItem());\n\t }\n\t return this.finalize(node, new Node.SwitchCase(test, consequent));\n\t };\n\t Parser.prototype.parseSwitchStatement = function () {\n\t var node = this.createNode();\n\t this.expectKeyword('switch');\n\t this.expect('(');\n\t var discriminant = this.parseExpression();\n\t this.expect(')');\n\t var previousInSwitch = this.context.inSwitch;\n\t this.context.inSwitch = true;\n\t var cases = [];\n\t var defaultFound = false;\n\t this.expect('{');\n\t while (true) {\n\t if (this.match('}')) {\n\t break;\n\t }\n\t var clause = this.parseSwitchCase();\n\t if (clause.test === null) {\n\t if (defaultFound) {\n\t this.throwError(messages_1.Messages.MultipleDefaultsInSwitch);\n\t }\n\t defaultFound = true;\n\t }\n\t cases.push(clause);\n\t }\n\t this.expect('}');\n\t this.context.inSwitch = previousInSwitch;\n\t return this.finalize(node, new Node.SwitchStatement(discriminant, cases));\n\t };\n\t // https://tc39.github.io/ecma262/#sec-labelled-statements\n\t Parser.prototype.parseLabelledStatement = function () {\n\t var node = this.createNode();\n\t var expr = this.parseExpression();\n\t var statement;\n\t if ((expr.type === syntax_1.Syntax.Identifier) && this.match(':')) {\n\t this.nextToken();\n\t var id = expr;\n\t var key = '$' + id.name;\n\t if (Object.prototype.hasOwnProperty.call(this.context.labelSet, key)) {\n\t this.throwError(messages_1.Messages.Redeclaration, 'Label', id.name);\n\t }\n\t this.context.labelSet[key] = true;\n\t var body = void 0;\n\t if (this.matchKeyword('class')) {\n\t this.tolerateUnexpectedToken(this.lookahead);\n\t body = this.parseClassDeclaration();\n\t }\n\t else if (this.matchKeyword('function')) {\n\t var token = this.lookahead;\n\t var declaration = this.parseFunctionDeclaration();\n\t if (this.context.strict) {\n\t this.tolerateUnexpectedToken(token, messages_1.Messages.StrictFunction);\n\t }\n\t else if (declaration.generator) {\n\t this.tolerateUnexpectedToken(token, messages_1.Messages.GeneratorInLegacyContext);\n\t }\n\t body = declaration;\n\t }\n\t else {\n\t body = this.parseStatement();\n\t }\n\t delete this.context.labelSet[key];\n\t statement = new Node.LabeledStatement(id, body);\n\t }\n\t else {\n\t this.consumeSemicolon();\n\t statement = new Node.ExpressionStatement(expr);\n\t }\n\t return this.finalize(node, statement);\n\t };\n\t // https://tc39.github.io/ecma262/#sec-throw-statement\n\t Parser.prototype.parseThrowStatement = function () {\n\t var node = this.createNode();\n\t this.expectKeyword('throw');\n\t if (this.hasLineTerminator) {\n\t this.throwError(messages_1.Messages.NewlineAfterThrow);\n\t }\n\t var argument = this.parseExpression();\n\t this.consumeSemicolon();\n\t return this.finalize(node, new Node.ThrowStatement(argument));\n\t };\n\t // https://tc39.github.io/ecma262/#sec-try-statement\n\t Parser.prototype.parseCatchClause = function () {\n\t var node = this.createNode();\n\t this.expectKeyword('catch');\n\t this.expect('(');\n\t if (this.match(')')) {\n\t this.throwUnexpectedToken(this.lookahead);\n\t }\n\t var params = [];\n\t var param = this.parsePattern(params);\n\t var paramMap = {};\n\t for (var i = 0; i < params.length; i++) {\n\t var key = '$' + params[i].value;\n\t if (Object.prototype.hasOwnProperty.call(paramMap, key)) {\n\t this.tolerateError(messages_1.Messages.DuplicateBinding, params[i].value);\n\t }\n\t paramMap[key] = true;\n\t }\n\t if (this.context.strict && param.type === syntax_1.Syntax.Identifier) {\n\t if (this.scanner.isRestrictedWord(param.name)) {\n\t this.tolerateError(messages_1.Messages.StrictCatchVariable);\n\t }\n\t }\n\t this.expect(')');\n\t var body = this.parseBlock();\n\t return this.finalize(node, new Node.CatchClause(param, body));\n\t };\n\t Parser.prototype.parseFinallyClause = function () {\n\t this.expectKeyword('finally');\n\t return this.parseBlock();\n\t };\n\t Parser.prototype.parseTryStatement = function () {\n\t var node = this.createNode();\n\t this.expectKeyword('try');\n\t var block = this.parseBlock();\n\t var handler = this.matchKeyword('catch') ? this.parseCatchClause() : null;\n\t var finalizer = this.matchKeyword('finally') ? this.parseFinallyClause() : null;\n\t if (!handler && !finalizer) {\n\t this.throwError(messages_1.Messages.NoCatchOrFinally);\n\t }\n\t return this.finalize(node, new Node.TryStatement(block, handler, finalizer));\n\t };\n\t // https://tc39.github.io/ecma262/#sec-debugger-statement\n\t Parser.prototype.parseDebuggerStatement = function () {\n\t var node = this.createNode();\n\t this.expectKeyword('debugger');\n\t this.consumeSemicolon();\n\t return this.finalize(node, new Node.DebuggerStatement());\n\t };\n\t // https://tc39.github.io/ecma262/#sec-ecmascript-language-statements-and-declarations\n\t Parser.prototype.parseStatement = function () {\n\t var statement;\n\t switch (this.lookahead.type) {\n\t case 1 /* BooleanLiteral */:\n\t case 5 /* NullLiteral */:\n\t case 6 /* NumericLiteral */:\n\t case 8 /* StringLiteral */:\n\t case 10 /* Template */:\n\t case 9 /* RegularExpression */:\n\t statement = this.parseExpressionStatement();\n\t break;\n\t case 7 /* Punctuator */:\n\t var value = this.lookahead.value;\n\t if (value === '{') {\n\t statement = this.parseBlock();\n\t }\n\t else if (value === '(') {\n\t statement = this.parseExpressionStatement();\n\t }\n\t else if (value === ';') {\n\t statement = this.parseEmptyStatement();\n\t }\n\t else {\n\t statement = this.parseExpressionStatement();\n\t }\n\t break;\n\t case 3 /* Identifier */:\n\t statement = this.matchAsyncFunction() ? this.parseFunctionDeclaration() : this.parseLabelledStatement();\n\t break;\n\t case 4 /* Keyword */:\n\t switch (this.lookahead.value) {\n\t case 'break':\n\t statement = this.parseBreakStatement();\n\t break;\n\t case 'continue':\n\t statement = this.parseContinueStatement();\n\t break;\n\t case 'debugger':\n\t statement = this.parseDebuggerStatement();\n\t break;\n\t case 'do':\n\t statement = this.parseDoWhileStatement();\n\t break;\n\t case 'for':\n\t statement = this.parseForStatement();\n\t break;\n\t case 'function':\n\t statement = this.parseFunctionDeclaration();\n\t break;\n\t case 'if':\n\t statement = this.parseIfStatement();\n\t break;\n\t case 'return':\n\t statement = this.parseReturnStatement();\n\t break;\n\t case 'switch':\n\t statement = this.parseSwitchStatement();\n\t break;\n\t case 'throw':\n\t statement = this.parseThrowStatement();\n\t break;\n\t case 'try':\n\t statement = this.parseTryStatement();\n\t break;\n\t case 'var':\n\t statement = this.parseVariableStatement();\n\t break;\n\t case 'while':\n\t statement = this.parseWhileStatement();\n\t break;\n\t case 'with':\n\t statement = this.parseWithStatement();\n\t break;\n\t default:\n\t statement = this.parseExpressionStatement();\n\t break;\n\t }\n\t break;\n\t default:\n\t statement = this.throwUnexpectedToken(this.lookahead);\n\t }\n\t return statement;\n\t };\n\t // https://tc39.github.io/ecma262/#sec-function-definitions\n\t Parser.prototype.parseFunctionSourceElements = function () {\n\t var node = this.createNode();\n\t this.expect('{');\n\t var body = this.parseDirectivePrologues();\n\t var previousLabelSet = this.context.labelSet;\n\t var previousInIteration = this.context.inIteration;\n\t var previousInSwitch = this.context.inSwitch;\n\t var previousInFunctionBody = this.context.inFunctionBody;\n\t this.context.labelSet = {};\n\t this.context.inIteration = false;\n\t this.context.inSwitch = false;\n\t this.context.inFunctionBody = true;\n\t while (this.lookahead.type !== 2 /* EOF */) {\n\t if (this.match('}')) {\n\t break;\n\t }\n\t body.push(this.parseStatementListItem());\n\t }\n\t this.expect('}');\n\t this.context.labelSet = previousLabelSet;\n\t this.context.inIteration = previousInIteration;\n\t this.context.inSwitch = previousInSwitch;\n\t this.context.inFunctionBody = previousInFunctionBody;\n\t return this.finalize(node, new Node.BlockStatement(body));\n\t };\n\t Parser.prototype.validateParam = function (options, param, name) {\n\t var key = '$' + name;\n\t if (this.context.strict) {\n\t if (this.scanner.isRestrictedWord(name)) {\n\t options.stricted = param;\n\t options.message = messages_1.Messages.StrictParamName;\n\t }\n\t if (Object.prototype.hasOwnProperty.call(options.paramSet, key)) {\n\t options.stricted = param;\n\t options.message = messages_1.Messages.StrictParamDupe;\n\t }\n\t }\n\t else if (!options.firstRestricted) {\n\t if (this.scanner.isRestrictedWord(name)) {\n\t options.firstRestricted = param;\n\t options.message = messages_1.Messages.StrictParamName;\n\t }\n\t else if (this.scanner.isStrictModeReservedWord(name)) {\n\t options.firstRestricted = param;\n\t options.message = messages_1.Messages.StrictReservedWord;\n\t }\n\t else if (Object.prototype.hasOwnProperty.call(options.paramSet, key)) {\n\t options.stricted = param;\n\t options.message = messages_1.Messages.StrictParamDupe;\n\t }\n\t }\n\t /* istanbul ignore next */\n\t if (typeof Object.defineProperty === 'function') {\n\t Object.defineProperty(options.paramSet, key, { value: true, enumerable: true, writable: true, configurable: true });\n\t }\n\t else {\n\t options.paramSet[key] = true;\n\t }\n\t };\n\t Parser.prototype.parseRestElement = function (params) {\n\t var node = this.createNode();\n\t this.expect('...');\n\t var arg = this.parsePattern(params);\n\t if (this.match('=')) {\n\t this.throwError(messages_1.Messages.DefaultRestParameter);\n\t }\n\t if (!this.match(')')) {\n\t this.throwError(messages_1.Messages.ParameterAfterRestParameter);\n\t }\n\t return this.finalize(node, new Node.RestElement(arg));\n\t };\n\t Parser.prototype.parseFormalParameter = function (options) {\n\t var params = [];\n\t var param = this.match('...') ? this.parseRestElement(params) : this.parsePatternWithDefault(params);\n\t for (var i = 0; i < params.length; i++) {\n\t this.validateParam(options, params[i], params[i].value);\n\t }\n\t options.simple = options.simple && (param instanceof Node.Identifier);\n\t options.params.push(param);\n\t };\n\t Parser.prototype.parseFormalParameters = function (firstRestricted) {\n\t var options;\n\t options = {\n\t simple: true,\n\t params: [],\n\t firstRestricted: firstRestricted\n\t };\n\t this.expect('(');\n\t if (!this.match(')')) {\n\t options.paramSet = {};\n\t while (this.lookahead.type !== 2 /* EOF */) {\n\t this.parseFormalParameter(options);\n\t if (this.match(')')) {\n\t break;\n\t }\n\t this.expect(',');\n\t if (this.match(')')) {\n\t break;\n\t }\n\t }\n\t }\n\t this.expect(')');\n\t return {\n\t simple: options.simple,\n\t params: options.params,\n\t stricted: options.stricted,\n\t firstRestricted: options.firstRestricted,\n\t message: options.message\n\t };\n\t };\n\t Parser.prototype.matchAsyncFunction = function () {\n\t var match = this.matchContextualKeyword('async');\n\t if (match) {\n\t var state = this.scanner.saveState();\n\t this.scanner.scanComments();\n\t var next = this.scanner.lex();\n\t this.scanner.restoreState(state);\n\t match = (state.lineNumber === next.lineNumber) && (next.type === 4 /* Keyword */) && (next.value === 'function');\n\t }\n\t return match;\n\t };\n\t Parser.prototype.parseFunctionDeclaration = function (identifierIsOptional) {\n\t var node = this.createNode();\n\t var isAsync = this.matchContextualKeyword('async');\n\t if (isAsync) {\n\t this.nextToken();\n\t }\n\t this.expectKeyword('function');\n\t var isGenerator = isAsync ? false : this.match('*');\n\t if (isGenerator) {\n\t this.nextToken();\n\t }\n\t var message;\n\t var id = null;\n\t var firstRestricted = null;\n\t if (!identifierIsOptional || !this.match('(')) {\n\t var token = this.lookahead;\n\t id = this.parseVariableIdentifier();\n\t if (this.context.strict) {\n\t if (this.scanner.isRestrictedWord(token.value)) {\n\t this.tolerateUnexpectedToken(token, messages_1.Messages.StrictFunctionName);\n\t }\n\t }\n\t else {\n\t if (this.scanner.isRestrictedWord(token.value)) {\n\t firstRestricted = token;\n\t message = messages_1.Messages.StrictFunctionName;\n\t }\n\t else if (this.scanner.isStrictModeReservedWord(token.value)) {\n\t firstRestricted = token;\n\t message = messages_1.Messages.StrictReservedWord;\n\t }\n\t }\n\t }\n\t var previousAllowAwait = this.context.await;\n\t var previousAllowYield = this.context.allowYield;\n\t this.context.await = isAsync;\n\t this.context.allowYield = !isGenerator;\n\t var formalParameters = this.parseFormalParameters(firstRestricted);\n\t var params = formalParameters.params;\n\t var stricted = formalParameters.stricted;\n\t firstRestricted = formalParameters.firstRestricted;\n\t if (formalParameters.message) {\n\t message = formalParameters.message;\n\t }\n\t var previousStrict = this.context.strict;\n\t var previousAllowStrictDirective = this.context.allowStrictDirective;\n\t this.context.allowStrictDirective = formalParameters.simple;\n\t var body = this.parseFunctionSourceElements();\n\t if (this.context.strict && firstRestricted) {\n\t this.throwUnexpectedToken(firstRestricted, message);\n\t }\n\t if (this.context.strict && stricted) {\n\t this.tolerateUnexpectedToken(stricted, message);\n\t }\n\t this.context.strict = previousStrict;\n\t this.context.allowStrictDirective = previousAllowStrictDirective;\n\t this.context.await = previousAllowAwait;\n\t this.context.allowYield = previousAllowYield;\n\t return isAsync ? this.finalize(node, new Node.AsyncFunctionDeclaration(id, params, body)) :\n\t this.finalize(node, new Node.FunctionDeclaration(id, params, body, isGenerator));\n\t };\n\t Parser.prototype.parseFunctionExpression = function () {\n\t var node = this.createNode();\n\t var isAsync = this.matchContextualKeyword('async');\n\t if (isAsync) {\n\t this.nextToken();\n\t }\n\t this.expectKeyword('function');\n\t var isGenerator = isAsync ? false : this.match('*');\n\t if (isGenerator) {\n\t this.nextToken();\n\t }\n\t var message;\n\t var id = null;\n\t var firstRestricted;\n\t var previousAllowAwait = this.context.await;\n\t var previousAllowYield = this.context.allowYield;\n\t this.context.await = isAsync;\n\t this.context.allowYield = !isGenerator;\n\t if (!this.match('(')) {\n\t var token = this.lookahead;\n\t id = (!this.context.strict && !isGenerator && this.matchKeyword('yield')) ? this.parseIdentifierName() : this.parseVariableIdentifier();\n\t if (this.context.strict) {\n\t if (this.scanner.isRestrictedWord(token.value)) {\n\t this.tolerateUnexpectedToken(token, messages_1.Messages.StrictFunctionName);\n\t }\n\t }\n\t else {\n\t if (this.scanner.isRestrictedWord(token.value)) {\n\t firstRestricted = token;\n\t message = messages_1.Messages.StrictFunctionName;\n\t }\n\t else if (this.scanner.isStrictModeReservedWord(token.value)) {\n\t firstRestricted = token;\n\t message = messages_1.Messages.StrictReservedWord;\n\t }\n\t }\n\t }\n\t var formalParameters = this.parseFormalParameters(firstRestricted);\n\t var params = formalParameters.params;\n\t var stricted = formalParameters.stricted;\n\t firstRestricted = formalParameters.firstRestricted;\n\t if (formalParameters.message) {\n\t message = formalParameters.message;\n\t }\n\t var previousStrict = this.context.strict;\n\t var previousAllowStrictDirective = this.context.allowStrictDirective;\n\t this.context.allowStrictDirective = formalParameters.simple;\n\t var body = this.parseFunctionSourceElements();\n\t if (this.context.strict && firstRestricted) {\n\t this.throwUnexpectedToken(firstRestricted, message);\n\t }\n\t if (this.context.strict && stricted) {\n\t this.tolerateUnexpectedToken(stricted, message);\n\t }\n\t this.context.strict = previousStrict;\n\t this.context.allowStrictDirective = previousAllowStrictDirective;\n\t this.context.await = previousAllowAwait;\n\t this.context.allowYield = previousAllowYield;\n\t return isAsync ? this.finalize(node, new Node.AsyncFunctionExpression(id, params, body)) :\n\t this.finalize(node, new Node.FunctionExpression(id, params, body, isGenerator));\n\t };\n\t // https://tc39.github.io/ecma262/#sec-directive-prologues-and-the-use-strict-directive\n\t Parser.prototype.parseDirective = function () {\n\t var token = this.lookahead;\n\t var node = this.createNode();\n\t var expr = this.parseExpression();\n\t var directive = (expr.type === syntax_1.Syntax.Literal) ? this.getTokenRaw(token).slice(1, -1) : null;\n\t this.consumeSemicolon();\n\t return this.finalize(node, directive ? new Node.Directive(expr, directive) : new Node.ExpressionStatement(expr));\n\t };\n\t Parser.prototype.parseDirectivePrologues = function () {\n\t var firstRestricted = null;\n\t var body = [];\n\t while (true) {\n\t var token = this.lookahead;\n\t if (token.type !== 8 /* StringLiteral */) {\n\t break;\n\t }\n\t var statement = this.parseDirective();\n\t body.push(statement);\n\t var directive = statement.directive;\n\t if (typeof directive !== 'string') {\n\t break;\n\t }\n\t if (directive === 'use strict') {\n\t this.context.strict = true;\n\t if (firstRestricted) {\n\t this.tolerateUnexpectedToken(firstRestricted, messages_1.Messages.StrictOctalLiteral);\n\t }\n\t if (!this.context.allowStrictDirective) {\n\t this.tolerateUnexpectedToken(token, messages_1.Messages.IllegalLanguageModeDirective);\n\t }\n\t }\n\t else {\n\t if (!firstRestricted && token.octal) {\n\t firstRestricted = token;\n\t }\n\t }\n\t }\n\t return body;\n\t };\n\t // https://tc39.github.io/ecma262/#sec-method-definitions\n\t Parser.prototype.qualifiedPropertyName = function (token) {\n\t switch (token.type) {\n\t case 3 /* Identifier */:\n\t case 8 /* StringLiteral */:\n\t case 1 /* BooleanLiteral */:\n\t case 5 /* NullLiteral */:\n\t case 6 /* NumericLiteral */:\n\t case 4 /* Keyword */:\n\t return true;\n\t case 7 /* Punctuator */:\n\t return token.value === '[';\n\t default:\n\t break;\n\t }\n\t return false;\n\t };\n\t Parser.prototype.parseGetterMethod = function () {\n\t var node = this.createNode();\n\t var isGenerator = false;\n\t var previousAllowYield = this.context.allowYield;\n\t this.context.allowYield = !isGenerator;\n\t var formalParameters = this.parseFormalParameters();\n\t if (formalParameters.params.length > 0) {\n\t this.tolerateError(messages_1.Messages.BadGetterArity);\n\t }\n\t var method = this.parsePropertyMethod(formalParameters);\n\t this.context.allowYield = previousAllowYield;\n\t return this.finalize(node, new Node.FunctionExpression(null, formalParameters.params, method, isGenerator));\n\t };\n\t Parser.prototype.parseSetterMethod = function () {\n\t var node = this.createNode();\n\t var isGenerator = false;\n\t var previousAllowYield = this.context.allowYield;\n\t this.context.allowYield = !isGenerator;\n\t var formalParameters = this.parseFormalParameters();\n\t if (formalParameters.params.length !== 1) {\n\t this.tolerateError(messages_1.Messages.BadSetterArity);\n\t }\n\t else if (formalParameters.params[0] instanceof Node.RestElement) {\n\t this.tolerateError(messages_1.Messages.BadSetterRestParameter);\n\t }\n\t var method = this.parsePropertyMethod(formalParameters);\n\t this.context.allowYield = previousAllowYield;\n\t return this.finalize(node, new Node.FunctionExpression(null, formalParameters.params, method, isGenerator));\n\t };\n\t Parser.prototype.parseGeneratorMethod = function () {\n\t var node = this.createNode();\n\t var isGenerator = true;\n\t var previousAllowYield = this.context.allowYield;\n\t this.context.allowYield = true;\n\t var params = this.parseFormalParameters();\n\t this.context.allowYield = false;\n\t var method = this.parsePropertyMethod(params);\n\t this.context.allowYield = previousAllowYield;\n\t return this.finalize(node, new Node.FunctionExpression(null, params.params, method, isGenerator));\n\t };\n\t // https://tc39.github.io/ecma262/#sec-generator-function-definitions\n\t Parser.prototype.isStartOfExpression = function () {\n\t var start = true;\n\t var value = this.lookahead.value;\n\t switch (this.lookahead.type) {\n\t case 7 /* Punctuator */:\n\t start = (value === '[') || (value === '(') || (value === '{') ||\n\t (value === '+') || (value === '-') ||\n\t (value === '!') || (value === '~') ||\n\t (value === '++') || (value === '--') ||\n\t (value === '/') || (value === '/='); // regular expression literal\n\t break;\n\t case 4 /* Keyword */:\n\t start = (value === 'class') || (value === 'delete') ||\n\t (value === 'function') || (value === 'let') || (value === 'new') ||\n\t (value === 'super') || (value === 'this') || (value === 'typeof') ||\n\t (value === 'void') || (value === 'yield');\n\t break;\n\t default:\n\t break;\n\t }\n\t return start;\n\t };\n\t Parser.prototype.parseYieldExpression = function () {\n\t var node = this.createNode();\n\t this.expectKeyword('yield');\n\t var argument = null;\n\t var delegate = false;\n\t if (!this.hasLineTerminator) {\n\t var previousAllowYield = this.context.allowYield;\n\t this.context.allowYield = false;\n\t delegate = this.match('*');\n\t if (delegate) {\n\t this.nextToken();\n\t argument = this.parseAssignmentExpression();\n\t }\n\t else if (this.isStartOfExpression()) {\n\t argument = this.parseAssignmentExpression();\n\t }\n\t this.context.allowYield = previousAllowYield;\n\t }\n\t return this.finalize(node, new Node.YieldExpression(argument, delegate));\n\t };\n\t // https://tc39.github.io/ecma262/#sec-class-definitions\n\t Parser.prototype.parseClassElement = function (hasConstructor) {\n\t var token = this.lookahead;\n\t var node = this.createNode();\n\t var kind = '';\n\t var key = null;\n\t var value = null;\n\t var computed = false;\n\t var method = false;\n\t var isStatic = false;\n\t var isAsync = false;\n\t if (this.match('*')) {\n\t this.nextToken();\n\t }\n\t else {\n\t computed = this.match('[');\n\t key = this.parseObjectPropertyKey();\n\t var id = key;\n\t if (id.name === 'static' && (this.qualifiedPropertyName(this.lookahead) || this.match('*'))) {\n\t token = this.lookahead;\n\t isStatic = true;\n\t computed = this.match('[');\n\t if (this.match('*')) {\n\t this.nextToken();\n\t }\n\t else {\n\t key = this.parseObjectPropertyKey();\n\t }\n\t }\n\t if ((token.type === 3 /* Identifier */) && !this.hasLineTerminator && (token.value === 'async')) {\n\t var punctuator = this.lookahead.value;\n\t if (punctuator !== ':' && punctuator !== '(' && punctuator !== '*') {\n\t isAsync = true;\n\t token = this.lookahead;\n\t key = this.parseObjectPropertyKey();\n\t if (token.type === 3 /* Identifier */ && token.value === 'constructor') {\n\t this.tolerateUnexpectedToken(token, messages_1.Messages.ConstructorIsAsync);\n\t }\n\t }\n\t }\n\t }\n\t var lookaheadPropertyKey = this.qualifiedPropertyName(this.lookahead);\n\t if (token.type === 3 /* Identifier */) {\n\t if (token.value === 'get' && lookaheadPropertyKey) {\n\t kind = 'get';\n\t computed = this.match('[');\n\t key = this.parseObjectPropertyKey();\n\t this.context.allowYield = false;\n\t value = this.parseGetterMethod();\n\t }\n\t else if (token.value === 'set' && lookaheadPropertyKey) {\n\t kind = 'set';\n\t computed = this.match('[');\n\t key = this.parseObjectPropertyKey();\n\t value = this.parseSetterMethod();\n\t }\n\t }\n\t else if (token.type === 7 /* Punctuator */ && token.value === '*' && lookaheadPropertyKey) {\n\t kind = 'init';\n\t computed = this.match('[');\n\t key = this.parseObjectPropertyKey();\n\t value = this.parseGeneratorMethod();\n\t method = true;\n\t }\n\t if (!kind && key && this.match('(')) {\n\t kind = 'init';\n\t value = isAsync ? this.parsePropertyMethodAsyncFunction() : this.parsePropertyMethodFunction();\n\t method = true;\n\t }\n\t if (!kind) {\n\t this.throwUnexpectedToken(this.lookahead);\n\t }\n\t if (kind === 'init') {\n\t kind = 'method';\n\t }\n\t if (!computed) {\n\t if (isStatic && this.isPropertyKey(key, 'prototype')) {\n\t this.throwUnexpectedToken(token, messages_1.Messages.StaticPrototype);\n\t }\n\t if (!isStatic && this.isPropertyKey(key, 'constructor')) {\n\t if (kind !== 'method' || !method || (value && value.generator)) {\n\t this.throwUnexpectedToken(token, messages_1.Messages.ConstructorSpecialMethod);\n\t }\n\t if (hasConstructor.value) {\n\t this.throwUnexpectedToken(token, messages_1.Messages.DuplicateConstructor);\n\t }\n\t else {\n\t hasConstructor.value = true;\n\t }\n\t kind = 'constructor';\n\t }\n\t }\n\t return this.finalize(node, new Node.MethodDefinition(key, computed, value, kind, isStatic));\n\t };\n\t Parser.prototype.parseClassElementList = function () {\n\t var body = [];\n\t var hasConstructor = { value: false };\n\t this.expect('{');\n\t while (!this.match('}')) {\n\t if (this.match(';')) {\n\t this.nextToken();\n\t }\n\t else {\n\t body.push(this.parseClassElement(hasConstructor));\n\t }\n\t }\n\t this.expect('}');\n\t return body;\n\t };\n\t Parser.prototype.parseClassBody = function () {\n\t var node = this.createNode();\n\t var elementList = this.parseClassElementList();\n\t return this.finalize(node, new Node.ClassBody(elementList));\n\t };\n\t Parser.prototype.parseClassDeclaration = function (identifierIsOptional) {\n\t var node = this.createNode();\n\t var previousStrict = this.context.strict;\n\t this.context.strict = true;\n\t this.expectKeyword('class');\n\t var id = (identifierIsOptional && (this.lookahead.type !== 3 /* Identifier */)) ? null : this.parseVariableIdentifier();\n\t var superClass = null;\n\t if (this.matchKeyword('extends')) {\n\t this.nextToken();\n\t superClass = this.isolateCoverGrammar(this.parseLeftHandSideExpressionAllowCall);\n\t }\n\t var classBody = this.parseClassBody();\n\t this.context.strict = previousStrict;\n\t return this.finalize(node, new Node.ClassDeclaration(id, superClass, classBody));\n\t };\n\t Parser.prototype.parseClassExpression = function () {\n\t var node = this.createNode();\n\t var previousStrict = this.context.strict;\n\t this.context.strict = true;\n\t this.expectKeyword('class');\n\t var id = (this.lookahead.type === 3 /* Identifier */) ? this.parseVariableIdentifier() : null;\n\t var superClass = null;\n\t if (this.matchKeyword('extends')) {\n\t this.nextToken();\n\t superClass = this.isolateCoverGrammar(this.parseLeftHandSideExpressionAllowCall);\n\t }\n\t var classBody = this.parseClassBody();\n\t this.context.strict = previousStrict;\n\t return this.finalize(node, new Node.ClassExpression(id, superClass, classBody));\n\t };\n\t // https://tc39.github.io/ecma262/#sec-scripts\n\t // https://tc39.github.io/ecma262/#sec-modules\n\t Parser.prototype.parseModule = function () {\n\t this.context.strict = true;\n\t this.context.isModule = true;\n\t this.scanner.isModule = true;\n\t var node = this.createNode();\n\t var body = this.parseDirectivePrologues();\n\t while (this.lookahead.type !== 2 /* EOF */) {\n\t body.push(this.parseStatementListItem());\n\t }\n\t return this.finalize(node, new Node.Module(body));\n\t };\n\t Parser.prototype.parseScript = function () {\n\t var node = this.createNode();\n\t var body = this.parseDirectivePrologues();\n\t while (this.lookahead.type !== 2 /* EOF */) {\n\t body.push(this.parseStatementListItem());\n\t }\n\t return this.finalize(node, new Node.Script(body));\n\t };\n\t // https://tc39.github.io/ecma262/#sec-imports\n\t Parser.prototype.parseModuleSpecifier = function () {\n\t var node = this.createNode();\n\t if (this.lookahead.type !== 8 /* StringLiteral */) {\n\t this.throwError(messages_1.Messages.InvalidModuleSpecifier);\n\t }\n\t var token = this.nextToken();\n\t var raw = this.getTokenRaw(token);\n\t return this.finalize(node, new Node.Literal(token.value, raw));\n\t };\n\t // import {<foo as bar>} ...;\n\t Parser.prototype.parseImportSpecifier = function () {\n\t var node = this.createNode();\n\t var imported;\n\t var local;\n\t if (this.lookahead.type === 3 /* Identifier */) {\n\t imported = this.parseVariableIdentifier();\n\t local = imported;\n\t if (this.matchContextualKeyword('as')) {\n\t this.nextToken();\n\t local = this.parseVariableIdentifier();\n\t }\n\t }\n\t else {\n\t imported = this.parseIdentifierName();\n\t local = imported;\n\t if (this.matchContextualKeyword('as')) {\n\t this.nextToken();\n\t local = this.parseVariableIdentifier();\n\t }\n\t else {\n\t this.throwUnexpectedToken(this.nextToken());\n\t }\n\t }\n\t return this.finalize(node, new Node.ImportSpecifier(local, imported));\n\t };\n\t // {foo, bar as bas}\n\t Parser.prototype.parseNamedImports = function () {\n\t this.expect('{');\n\t var specifiers = [];\n\t while (!this.match('}')) {\n\t specifiers.push(this.parseImportSpecifier());\n\t if (!this.match('}')) {\n\t this.expect(',');\n\t }\n\t }\n\t this.expect('}');\n\t return specifiers;\n\t };\n\t // import <foo> ...;\n\t Parser.prototype.parseImportDefaultSpecifier = function () {\n\t var node = this.createNode();\n\t var local = this.parseIdentifierName();\n\t return this.finalize(node, new Node.ImportDefaultSpecifier(local));\n\t };\n\t // import <* as foo> ...;\n\t Parser.prototype.parseImportNamespaceSpecifier = function () {\n\t var node = this.createNode();\n\t this.expect('*');\n\t if (!this.matchContextualKeyword('as')) {\n\t this.throwError(messages_1.Messages.NoAsAfterImportNamespace);\n\t }\n\t this.nextToken();\n\t var local = this.parseIdentifierName();\n\t return this.finalize(node, new Node.ImportNamespaceSpecifier(local));\n\t };\n\t Parser.prototype.parseImportDeclaration = function () {\n\t if (this.context.inFunctionBody) {\n\t this.throwError(messages_1.Messages.IllegalImportDeclaration);\n\t }\n\t var node = this.createNode();\n\t this.expectKeyword('import');\n\t var src;\n\t var specifiers = [];\n\t if (this.lookahead.type === 8 /* StringLiteral */) {\n\t // import 'foo';\n\t src = this.parseModuleSpecifier();\n\t }\n\t else {\n\t if (this.match('{')) {\n\t // import {bar}\n\t specifiers = specifiers.concat(this.parseNamedImports());\n\t }\n\t else if (this.match('*')) {\n\t // import * as foo\n\t specifiers.push(this.parseImportNamespaceSpecifier());\n\t }\n\t else if (this.isIdentifierName(this.lookahead) && !this.matchKeyword('default')) {\n\t // import foo\n\t specifiers.push(this.parseImportDefaultSpecifier());\n\t if (this.match(',')) {\n\t this.nextToken();\n\t if (this.match('*')) {\n\t // import foo, * as foo\n\t specifiers.push(this.parseImportNamespaceSpecifier());\n\t }\n\t else if (this.match('{')) {\n\t // import foo, {bar}\n\t specifiers = specifiers.concat(this.parseNamedImports());\n\t }\n\t else {\n\t this.throwUnexpectedToken(this.lookahead);\n\t }\n\t }\n\t }\n\t else {\n\t this.throwUnexpectedToken(this.nextToken());\n\t }\n\t if (!this.matchContextualKeyword('from')) {\n\t var message = this.lookahead.value ? messages_1.Messages.UnexpectedToken : messages_1.Messages.MissingFromClause;\n\t this.throwError(message, this.lookahead.value);\n\t }\n\t this.nextToken();\n\t src = this.parseModuleSpecifier();\n\t }\n\t this.consumeSemicolon();\n\t return this.finalize(node, new Node.ImportDeclaration(specifiers, src));\n\t };\n\t // https://tc39.github.io/ecma262/#sec-exports\n\t Parser.prototype.parseExportSpecifier = function () {\n\t var node = this.createNode();\n\t var local = this.parseIdentifierName();\n\t var exported = local;\n\t if (this.matchContextualKeyword('as')) {\n\t this.nextToken();\n\t exported = this.parseIdentifierName();\n\t }\n\t return this.finalize(node, new Node.ExportSpecifier(local, exported));\n\t };\n\t Parser.prototype.parseExportDeclaration = function () {\n\t if (this.context.inFunctionBody) {\n\t this.throwError(messages_1.Messages.IllegalExportDeclaration);\n\t }\n\t var node = this.createNode();\n\t this.expectKeyword('export');\n\t var exportDeclaration;\n\t if (this.matchKeyword('default')) {\n\t // export default ...\n\t this.nextToken();\n\t if (this.matchKeyword('function')) {\n\t // export default function foo () {}\n\t // export default function () {}\n\t var declaration = this.parseFunctionDeclaration(true);\n\t exportDeclaration = this.finalize(node, new Node.ExportDefaultDeclaration(declaration));\n\t }\n\t else if (this.matchKeyword('class')) {\n\t // export default class foo {}\n\t var declaration = this.parseClassDeclaration(true);\n\t exportDeclaration = this.finalize(node, new Node.ExportDefaultDeclaration(declaration));\n\t }\n\t else if (this.matchContextualKeyword('async')) {\n\t // export default async function f () {}\n\t // export default async function () {}\n\t // export default async x => x\n\t var declaration = this.matchAsyncFunction() ? this.parseFunctionDeclaration(true) : this.parseAssignmentExpression();\n\t exportDeclaration = this.finalize(node, new Node.ExportDefaultDeclaration(declaration));\n\t }\n\t else {\n\t if (this.matchContextualKeyword('from')) {\n\t this.throwError(messages_1.Messages.UnexpectedToken, this.lookahead.value);\n\t }\n\t // export default {};\n\t // export default [];\n\t // export default (1 + 2);\n\t var declaration = this.match('{') ? this.parseObjectInitializer() :\n\t this.match('[') ? this.parseArrayInitializer() : this.parseAssignmentExpression();\n\t this.consumeSemicolon();\n\t exportDeclaration = this.finalize(node, new Node.ExportDefaultDeclaration(declaration));\n\t }\n\t }\n\t else if (this.match('*')) {\n\t // export * from 'foo';\n\t this.nextToken();\n\t if (!this.matchContextualKeyword('from')) {\n\t var message = this.lookahead.value ? messages_1.Messages.UnexpectedToken : messages_1.Messages.MissingFromClause;\n\t this.throwError(message, this.lookahead.value);\n\t }\n\t this.nextToken();\n\t var src = this.parseModuleSpecifier();\n\t this.consumeSemicolon();\n\t exportDeclaration = this.finalize(node, new Node.ExportAllDeclaration(src));\n\t }\n\t else if (this.lookahead.type === 4 /* Keyword */) {\n\t // export var f = 1;\n\t var declaration = void 0;\n\t switch (this.lookahead.value) {\n\t case 'let':\n\t case 'const':\n\t declaration = this.parseLexicalDeclaration({ inFor: false });\n\t break;\n\t case 'var':\n\t case 'class':\n\t case 'function':\n\t declaration = this.parseStatementListItem();\n\t break;\n\t default:\n\t this.throwUnexpectedToken(this.lookahead);\n\t }\n\t exportDeclaration = this.finalize(node, new Node.ExportNamedDeclaration(declaration, [], null));\n\t }\n\t else if (this.matchAsyncFunction()) {\n\t var declaration = this.parseFunctionDeclaration();\n\t exportDeclaration = this.finalize(node, new Node.ExportNamedDeclaration(declaration, [], null));\n\t }\n\t else {\n\t var specifiers = [];\n\t var source = null;\n\t var isExportFromIdentifier = false;\n\t this.expect('{');\n\t while (!this.match('}')) {\n\t isExportFromIdentifier = isExportFromIdentifier || this.matchKeyword('default');\n\t specifiers.push(this.parseExportSpecifier());\n\t if (!this.match('}')) {\n\t this.expect(',');\n\t }\n\t }\n\t this.expect('}');\n\t if (this.matchContextualKeyword('from')) {\n\t // export {default} from 'foo';\n\t // export {foo} from 'foo';\n\t this.nextToken();\n\t source = this.parseModuleSpecifier();\n\t this.consumeSemicolon();\n\t }\n\t else if (isExportFromIdentifier) {\n\t // export {default}; // missing fromClause\n\t var message = this.lookahead.value ? messages_1.Messages.UnexpectedToken : messages_1.Messages.MissingFromClause;\n\t this.throwError(message, this.lookahead.value);\n\t }\n\t else {\n\t // export {foo};\n\t this.consumeSemicolon();\n\t }\n\t exportDeclaration = this.finalize(node, new Node.ExportNamedDeclaration(null, specifiers, source));\n\t }\n\t return exportDeclaration;\n\t };\n\t return Parser;\n\t}());\n\texports.Parser = Parser;\n\n\n/***/ },\n/* 9 */\n/***/ function(module, exports) {\n\n\t\"use strict\";\n\t// Ensure the condition is true, otherwise throw an error.\n\t// This is only to have a better contract semantic, i.e. another safety net\n\t// to catch a logic error. The condition shall be fulfilled in normal case.\n\t// Do NOT use this to enforce a certain condition on any user input.\n\tObject.defineProperty(exports, \"__esModule\", { value: true });\n\tfunction assert(condition, message) {\n\t /* istanbul ignore if */\n\t if (!condition) {\n\t throw new Error('ASSERT: ' + message);\n\t }\n\t}\n\texports.assert = assert;\n\n\n/***/ },\n/* 10 */\n/***/ function(module, exports) {\n\n\t\"use strict\";\n\t/* tslint:disable:max-classes-per-file */\n\tObject.defineProperty(exports, \"__esModule\", { value: true });\n\tvar ErrorHandler = (function () {\n\t function ErrorHandler() {\n\t this.errors = [];\n\t this.tolerant = false;\n\t }\n\t ErrorHandler.prototype.recordError = function (error) {\n\t this.errors.push(error);\n\t };\n\t ErrorHandler.prototype.tolerate = function (error) {\n\t if (this.tolerant) {\n\t this.recordError(error);\n\t }\n\t else {\n\t throw error;\n\t }\n\t };\n\t ErrorHandler.prototype.constructError = function (msg, column) {\n\t var error = new Error(msg);\n\t try {\n\t throw error;\n\t }\n\t catch (base) {\n\t /* istanbul ignore else */\n\t if (Object.create && Object.defineProperty) {\n\t error = Object.create(base);\n\t Object.defineProperty(error, 'column', { value: column });\n\t }\n\t }\n\t /* istanbul ignore next */\n\t return error;\n\t };\n\t ErrorHandler.prototype.createError = function (index, line, col, description) {\n\t var msg = 'Line ' + line + ': ' + description;\n\t var error = this.constructError(msg, col);\n\t error.index = index;\n\t error.lineNumber = line;\n\t error.description = description;\n\t return error;\n\t };\n\t ErrorHandler.prototype.throwError = function (index, line, col, description) {\n\t throw this.createError(index, line, col, description);\n\t };\n\t ErrorHandler.prototype.tolerateError = function (index, line, col, description) {\n\t var error = this.createError(index, line, col, description);\n\t if (this.tolerant) {\n\t this.recordError(error);\n\t }\n\t else {\n\t throw error;\n\t }\n\t };\n\t return ErrorHandler;\n\t}());\n\texports.ErrorHandler = ErrorHandler;\n\n\n/***/ },\n/* 11 */\n/***/ function(module, exports) {\n\n\t\"use strict\";\n\tObject.defineProperty(exports, \"__esModule\", { value: true });\n\t// Error messages should be identical to V8.\n\texports.Messages = {\n\t BadGetterArity: 'Getter must not have any formal parameters',\n\t BadSetterArity: 'Setter must have exactly one formal parameter',\n\t BadSetterRestParameter: 'Setter function argument must not be a rest parameter',\n\t ConstructorIsAsync: 'Class constructor may not be an async method',\n\t ConstructorSpecialMethod: 'Class constructor may not be an accessor',\n\t DeclarationMissingInitializer: 'Missing initializer in %0 declaration',\n\t DefaultRestParameter: 'Unexpected token =',\n\t DuplicateBinding: 'Duplicate binding %0',\n\t DuplicateConstructor: 'A class may only have one constructor',\n\t DuplicateProtoProperty: 'Duplicate __proto__ fields are not allowed in object literals',\n\t ForInOfLoopInitializer: '%0 loop variable declaration may not have an initializer',\n\t GeneratorInLegacyContext: 'Generator declarations are not allowed in legacy contexts',\n\t IllegalBreak: 'Illegal break statement',\n\t IllegalContinue: 'Illegal continue statement',\n\t IllegalExportDeclaration: 'Unexpected token',\n\t IllegalImportDeclaration: 'Unexpected token',\n\t IllegalLanguageModeDirective: 'Illegal \\'use strict\\' directive in function with non-simple parameter list',\n\t IllegalReturn: 'Illegal return statement',\n\t InvalidEscapedReservedWord: 'Keyword must not contain escaped characters',\n\t InvalidHexEscapeSequence: 'Invalid hexadecimal escape sequence',\n\t InvalidLHSInAssignment: 'Invalid left-hand side in assignment',\n\t InvalidLHSInForIn: 'Invalid left-hand side in for-in',\n\t InvalidLHSInForLoop: 'Invalid left-hand side in for-loop',\n\t InvalidModuleSpecifier: 'Unexpected token',\n\t InvalidRegExp: 'Invalid regular expression',\n\t LetInLexicalBinding: 'let is disallowed as a lexically bound name',\n\t MissingFromClause: 'Unexpected token',\n\t MultipleDefaultsInSwitch: 'More than one default clause in switch statement',\n\t NewlineAfterThrow: 'Illegal newline after throw',\n\t NoAsAfterImportNamespace: 'Unexpected token',\n\t NoCatchOrFinally: 'Missing catch or finally after try',\n\t ParameterAfterRestParameter: 'Rest parameter must be last formal parameter',\n\t Redeclaration: '%0 \\'%1\\' has already been declared',\n\t StaticPrototype: 'Classes may not have static property named prototype',\n\t StrictCatchVariable: 'Catch variable may not be eval or arguments in strict mode',\n\t StrictDelete: 'Delete of an unqualified identifier in strict mode.',\n\t StrictFunction: 'In strict mode code, functions can only be declared at top level or inside a block',\n\t StrictFunctionName: 'Function name may not be eval or arguments in strict mode',\n\t StrictLHSAssignment: 'Assignment to eval or arguments is not allowed in strict mode',\n\t StrictLHSPostfix: 'Postfix increment/decrement may not have eval or arguments operand in strict mode',\n\t StrictLHSPrefix: 'Prefix increment/decrement may not have eval or arguments operand in strict mode',\n\t StrictModeWith: 'Strict mode code may not include a with statement',\n\t StrictOctalLiteral: 'Octal literals are not allowed in strict mode.',\n\t StrictParamDupe: 'Strict mode function may not have duplicate parameter names',\n\t StrictParamName: 'Parameter name eval or arguments is not allowed in strict mode',\n\t StrictReservedWord: 'Use of future reserved word in strict mode',\n\t StrictVarName: 'Variable name may not be eval or arguments in strict mode',\n\t TemplateOctalLiteral: 'Octal literals are not allowed in template strings.',\n\t UnexpectedEOS: 'Unexpected end of input',\n\t UnexpectedIdentifier: 'Unexpected identifier',\n\t UnexpectedNumber: 'Unexpected number',\n\t UnexpectedReserved: 'Unexpected reserved word',\n\t UnexpectedString: 'Unexpected string',\n\t UnexpectedTemplate: 'Unexpected quasi %0',\n\t UnexpectedToken: 'Unexpected token %0',\n\t UnexpectedTokenIllegal: 'Unexpected token ILLEGAL',\n\t UnknownLabel: 'Undefined label \\'%0\\'',\n\t UnterminatedRegExp: 'Invalid regular expression: missing /'\n\t};\n\n\n/***/ },\n/* 12 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\tObject.defineProperty(exports, \"__esModule\", { value: true });\n\tvar assert_1 = __webpack_require__(9);\n\tvar character_1 = __webpack_require__(4);\n\tvar messages_1 = __webpack_require__(11);\n\tfunction hexValue(ch) {\n\t return '0123456789abcdef'.indexOf(ch.toLowerCase());\n\t}\n\tfunction octalValue(ch) {\n\t return '01234567'.indexOf(ch);\n\t}\n\tvar Scanner = (function () {\n\t function Scanner(code, handler) {\n\t this.source = code;\n\t this.errorHandler = handler;\n\t this.trackComment = false;\n\t this.isModule = false;\n\t this.length = code.length;\n\t this.index = 0;\n\t this.lineNumber = (code.length > 0) ? 1 : 0;\n\t this.lineStart = 0;\n\t this.curlyStack = [];\n\t }\n\t Scanner.prototype.saveState = function () {\n\t return {\n\t index: this.index,\n\t lineNumber: this.lineNumber,\n\t lineStart: this.lineStart\n\t };\n\t };\n\t Scanner.prototype.restoreState = function (state) {\n\t this.index = state.index;\n\t this.lineNumber = state.lineNumber;\n\t this.lineStart = state.lineStart;\n\t };\n\t Scanner.prototype.eof = function () {\n\t return this.index >= this.length;\n\t };\n\t Scanner.prototype.throwUnexpectedToken = function (message) {\n\t if (message === void 0) { message = messages_1.Messages.UnexpectedTokenIllegal; }\n\t return this.errorHandler.throwError(this.index, this.lineNumber, this.index - this.lineStart + 1, message);\n\t };\n\t Scanner.prototype.tolerateUnexpectedToken = function (message) {\n\t if (message === void 0) { message = messages_1.Messages.UnexpectedTokenIllegal; }\n\t this.errorHandler.tolerateError(this.index, this.lineNumber, this.index - this.lineStart + 1, message);\n\t };\n\t // https://tc39.github.io/ecma262/#sec-comments\n\t Scanner.prototype.skipSingleLineComment = function (offset) {\n\t var comments = [];\n\t var start, loc;\n\t if (this.trackComment) {\n\t comments = [];\n\t start = this.index - offset;\n\t loc = {\n\t start: {\n\t line: this.lineNumber,\n\t column: this.index - this.lineStart - offset\n\t },\n\t end: {}\n\t };\n\t }\n\t while (!this.eof()) {\n\t var ch = this.source.charCodeAt(this.index);\n\t ++this.index;\n\t if (character_1.Character.isLineTerminator(ch)) {\n\t if (this.trackComment) {\n\t loc.end = {\n\t line: this.lineNumber,\n\t column: this.index - this.lineStart - 1\n\t };\n\t var entry = {\n\t multiLine: false,\n\t slice: [start + offset, this.index - 1],\n\t range: [start, this.index - 1],\n\t loc: loc\n\t };\n\t comments.push(entry);\n\t }\n\t if (ch === 13 && this.source.charCodeAt(this.index) === 10) {\n\t ++this.index;\n\t }\n\t ++this.lineNumber;\n\t this.lineStart = this.index;\n\t return comments;\n\t }\n\t }\n\t if (this.trackComment) {\n\t loc.end = {\n\t line: this.lineNumber,\n\t column: this.index - this.lineStart\n\t };\n\t var entry = {\n\t multiLine: false,\n\t slice: [start + offset, this.index],\n\t range: [start, this.index],\n\t loc: loc\n\t };\n\t comments.push(entry);\n\t }\n\t return comments;\n\t };\n\t Scanner.prototype.skipMultiLineComment = function () {\n\t var comments = [];\n\t var start, loc;\n\t if (this.trackComment) {\n\t comments = [];\n\t start = this.index - 2;\n\t loc = {\n\t start: {\n\t line: this.lineNumber,\n\t column: this.index - this.lineStart - 2\n\t },\n\t end: {}\n\t };\n\t }\n\t while (!this.eof()) {\n\t var ch = this.source.charCodeAt(this.index);\n\t if (character_1.Character.isLineTerminator(ch)) {\n\t if (ch === 0x0D && this.source.charCodeAt(this.index + 1) === 0x0A) {\n\t ++this.index;\n\t }\n\t ++this.lineNumber;\n\t ++this.index;\n\t this.lineStart = this.index;\n\t }\n\t else if (ch === 0x2A) {\n\t // Block comment ends with '*/'.\n\t if (this.source.charCodeAt(this.index + 1) === 0x2F) {\n\t this.index += 2;\n\t if (this.trackComment) {\n\t loc.end = {\n\t line: this.lineNumber,\n\t column: this.index - this.lineStart\n\t };\n\t var entry = {\n\t multiLine: true,\n\t slice: [start + 2, this.index - 2],\n\t range: [start, this.index],\n\t loc: loc\n\t };\n\t comments.push(entry);\n\t }\n\t return comments;\n\t }\n\t ++this.index;\n\t }\n\t else {\n\t ++this.index;\n\t }\n\t }\n\t // Ran off the end of the file - the whole thing is a comment\n\t if (this.trackComment) {\n\t loc.end = {\n\t line: this.lineNumber,\n\t column: this.index - this.lineStart\n\t };\n\t var entry = {\n\t multiLine: true,\n\t slice: [start + 2, this.index],\n\t range: [start, this.index],\n\t loc: loc\n\t };\n\t comments.push(entry);\n\t }\n\t this.tolerateUnexpectedToken();\n\t return comments;\n\t };\n\t Scanner.prototype.scanComments = function () {\n\t var comments;\n\t if (this.trackComment) {\n\t comments = [];\n\t }\n\t var start = (this.index === 0);\n\t while (!this.eof()) {\n\t var ch = this.source.charCodeAt(this.index);\n\t if (character_1.Character.isWhiteSpace(ch)) {\n\t ++this.index;\n\t }\n\t else if (character_1.Character.isLineTerminator(ch)) {\n\t ++this.index;\n\t if (ch === 0x0D && this.source.charCodeAt(this.index) === 0x0A) {\n\t ++this.index;\n\t }\n\t ++this.lineNumber;\n\t this.lineStart = this.index;\n\t start = true;\n\t }\n\t else if (ch === 0x2F) {\n\t ch = this.source.charCodeAt(this.index + 1);\n\t if (ch === 0x2F) {\n\t this.index += 2;\n\t var comment = this.skipSingleLineComment(2);\n\t if (this.trackComment) {\n\t comments = comments.concat(comment);\n\t }\n\t start = true;\n\t }\n\t else if (ch === 0x2A) {\n\t this.index += 2;\n\t var comment = this.skipMultiLineComment();\n\t if (this.trackComment) {\n\t comments = comments.concat(comment);\n\t }\n\t }\n\t else {\n\t break;\n\t }\n\t }\n\t else if (start && ch === 0x2D) {\n\t // U+003E is '>'\n\t if ((this.source.charCodeAt(this.index + 1) === 0x2D) && (this.source.charCodeAt(this.index + 2) === 0x3E)) {\n\t // '-->' is a single-line comment\n\t this.index += 3;\n\t var comment = this.skipSingleLineComment(3);\n\t if (this.trackComment) {\n\t comments = comments.concat(comment);\n\t }\n\t }\n\t else {\n\t break;\n\t }\n\t }\n\t else if (ch === 0x3C && !this.isModule) {\n\t if (this.source.slice(this.index + 1, this.index + 4) === '!--') {\n\t this.index += 4; // `<!--`\n\t var comment = this.skipSingleLineComment(4);\n\t if (this.trackComment) {\n\t comments = comments.concat(comment);\n\t }\n\t }\n\t else {\n\t break;\n\t }\n\t }\n\t else {\n\t break;\n\t }\n\t }\n\t return comments;\n\t };\n\t // https://tc39.github.io/ecma262/#sec-future-reserved-words\n\t Scanner.prototype.isFutureReservedWord = function (id) {\n\t switch (id) {\n\t case 'enum':\n\t case 'export':\n\t case 'import':\n\t case 'super':\n\t return true;\n\t default:\n\t return false;\n\t }\n\t };\n\t Scanner.prototype.isStrictModeReservedWord = function (id) {\n\t switch (id) {\n\t case 'implements':\n\t case 'interface':\n\t case 'package':\n\t case 'private':\n\t case 'protected':\n\t case 'public':\n\t case 'static':\n\t case 'yield':\n\t case 'let':\n\t return true;\n\t default:\n\t return false;\n\t }\n\t };\n\t Scanner.prototype.isRestrictedWord = function (id) {\n\t return id === 'eval' || id === 'arguments';\n\t };\n\t // https://tc39.github.io/ecma262/#sec-keywords\n\t Scanner.prototype.isKeyword = function (id) {\n\t switch (id.length) {\n\t case 2:\n\t return (id === 'if') || (id === 'in') || (id === 'do');\n\t case 3:\n\t return (id === 'var') || (id === 'for') || (id === 'new') ||\n\t (id === 'try') || (id === 'let');\n\t case 4:\n\t return (id === 'this') || (id === 'else') || (id === 'case') ||\n\t (id === 'void') || (id === 'with') || (id === 'enum');\n\t case 5:\n\t return (id === 'while') || (id === 'break') || (id === 'catch') ||\n\t (id === 'throw') || (id === 'const') || (id === 'yield') ||\n\t (id === 'class') || (id === 'super');\n\t case 6:\n\t return (id === 'return') || (id === 'typeof') || (id === 'delete') ||\n\t (id === 'switch') || (id === 'export') || (id === 'import');\n\t case 7:\n\t return (id === 'default') || (id === 'finally') || (id === 'extends');\n\t case 8:\n\t return (id === 'function') || (id === 'continue') || (id === 'debugger');\n\t case 10:\n\t return (id === 'instanceof');\n\t default:\n\t return false;\n\t }\n\t };\n\t Scanner.prototype.codePointAt = function (i) {\n\t var cp = this.source.charCodeAt(i);\n\t if (cp >= 0xD800 && cp <= 0xDBFF) {\n\t var second = this.source.charCodeAt(i + 1);\n\t if (second >= 0xDC00 && second <= 0xDFFF) {\n\t var first = cp;\n\t cp = (first - 0xD800) * 0x400 + second - 0xDC00 + 0x10000;\n\t }\n\t }\n\t return cp;\n\t };\n\t Scanner.prototype.scanHexEscape = function (prefix) {\n\t var len = (prefix === 'u') ? 4 : 2;\n\t var code = 0;\n\t for (var i = 0; i < len; ++i) {\n\t if (!this.eof() && character_1.Character.isHexDigit(this.source.charCodeAt(this.index))) {\n\t code = code * 16 + hexValue(this.source[this.index++]);\n\t }\n\t else {\n\t return null;\n\t }\n\t }\n\t return String.fromCharCode(code);\n\t };\n\t Scanner.prototype.scanUnicodeCodePointEscape = function () {\n\t var ch = this.source[this.index];\n\t var code = 0;\n\t // At least, one hex digit is required.\n\t if (ch === '}') {\n\t this.throwUnexpectedToken();\n\t }\n\t while (!this.eof()) {\n\t ch = this.source[this.index++];\n\t if (!character_1.Character.isHexDigit(ch.charCodeAt(0))) {\n\t break;\n\t }\n\t code = code * 16 + hexValue(ch);\n\t }\n\t if (code > 0x10FFFF || ch !== '}') {\n\t this.throwUnexpectedToken();\n\t }\n\t return character_1.Character.fromCodePoint(code);\n\t };\n\t Scanner.prototype.getIdentifier = function () {\n\t var start = this.index++;\n\t while (!this.eof()) {\n\t var ch = this.source.charCodeAt(this.index);\n\t if (ch === 0x5C) {\n\t // Blackslash (U+005C) marks Unicode escape sequence.\n\t this.index = start;\n\t return this.getComplexIdentifier();\n\t }\n\t else if (ch >= 0xD800 && ch < 0xDFFF) {\n\t // Need to handle surrogate pairs.\n\t this.index = start;\n\t return this.getComplexIdentifier();\n\t }\n\t if (character_1.Character.isIdentifierPart(ch)) {\n\t ++this.index;\n\t }\n\t else {\n\t break;\n\t }\n\t }\n\t return this.source.slice(start, this.index);\n\t };\n\t Scanner.prototype.getComplexIdentifier = function () {\n\t var cp = this.codePointAt(this.index);\n\t var id = character_1.Character.fromCodePoint(cp);\n\t this.index += id.length;\n\t // '\\u' (U+005C, U+0075) denotes an escaped character.\n\t var ch;\n\t if (cp === 0x5C) {\n\t if (this.source.charCodeAt(this.index) !== 0x75) {\n\t this.throwUnexpectedToken();\n\t }\n\t ++this.index;\n\t if (this.source[this.index] === '{') {\n\t ++this.index;\n\t ch = this.scanUnicodeCodePointEscape();\n\t }\n\t else {\n\t ch = this.scanHexEscape('u');\n\t if (ch === null || ch === '\\\\' || !character_1.Character.isIdentifierStart(ch.charCodeAt(0))) {\n\t this.throwUnexpectedToken();\n\t }\n\t }\n\t id = ch;\n\t }\n\t while (!this.eof()) {\n\t cp = this.codePointAt(this.index);\n\t if (!character_1.Character.isIdentifierPart(cp)) {\n\t break;\n\t }\n\t ch = character_1.Character.fromCodePoint(cp);\n\t id += ch;\n\t this.index += ch.length;\n\t // '\\u' (U+005C, U+0075) denotes an escaped character.\n\t if (cp === 0x5C) {\n\t id = id.substr(0, id.length - 1);\n\t if (this.source.charCodeAt(this.index) !== 0x75) {\n\t this.throwUnexpectedToken();\n\t }\n\t ++this.index;\n\t if (this.source[this.index] === '{') {\n\t ++this.index;\n\t ch = this.scanUnicodeCodePointEscape();\n\t }\n\t else {\n\t ch = this.scanHexEscape('u');\n\t if (ch === null || ch === '\\\\' || !character_1.Character.isIdentifierPart(ch.charCodeAt(0))) {\n\t this.throwUnexpectedToken();\n\t }\n\t }\n\t id += ch;\n\t }\n\t }\n\t return id;\n\t };\n\t Scanner.prototype.octalToDecimal = function (ch) {\n\t // \\0 is not octal escape sequence\n\t var octal = (ch !== '0');\n\t var code = octalValue(ch);\n\t if (!this.eof() && character_1.Character.isOctalDigit(this.source.charCodeAt(this.index))) {\n\t octal = true;\n\t code = code * 8 + octalValue(this.source[this.index++]);\n\t // 3 digits are only allowed when string starts\n\t // with 0, 1, 2, 3\n\t if ('0123'.indexOf(ch) >= 0 && !this.eof() && character_1.Character.isOctalDigit(this.source.charCodeAt(this.index))) {\n\t code = code * 8 + octalValue(this.source[this.index++]);\n\t }\n\t }\n\t return {\n\t code: code,\n\t octal: octal\n\t };\n\t };\n\t // https://tc39.github.io/ecma262/#sec-names-and-keywords\n\t Scanner.prototype.scanIdentifier = function () {\n\t var type;\n\t var start = this.index;\n\t // Backslash (U+005C) starts an escaped character.\n\t var id = (this.source.charCodeAt(start) === 0x5C) ? this.getComplexIdentifier() : this.getIdentifier();\n\t // There is no keyword or literal with only one character.\n\t // Thus, it must be an identifier.\n\t if (id.length === 1) {\n\t type = 3 /* Identifier */;\n\t }\n\t else if (this.isKeyword(id)) {\n\t type = 4 /* Keyword */;\n\t }\n\t else if (id === 'null') {\n\t type = 5 /* NullLiteral */;\n\t }\n\t else if (id === 'true' || id === 'false') {\n\t type = 1 /* BooleanLiteral */;\n\t }\n\t else {\n\t type = 3 /* Identifier */;\n\t }\n\t if (type !== 3 /* Identifier */ && (start + id.length !== this.index)) {\n\t var restore = this.index;\n\t this.index = start;\n\t this.tolerateUnexpectedToken(messages_1.Messages.InvalidEscapedReservedWord);\n\t this.index = restore;\n\t }\n\t return {\n\t type: type,\n\t value: id,\n\t lineNumber: this.lineNumber,\n\t lineStart: this.lineStart,\n\t start: start,\n\t end: this.index\n\t };\n\t };\n\t // https://tc39.github.io/ecma262/#sec-punctuators\n\t Scanner.prototype.scanPunctuator = function () {\n\t var start = this.index;\n\t // Check for most common single-character punctuators.\n\t var str = this.source[this.index];\n\t switch (str) {\n\t case '(':\n\t case '{':\n\t if (str === '{') {\n\t this.curlyStack.push('{');\n\t }\n\t ++this.index;\n\t break;\n\t case '.':\n\t ++this.index;\n\t if (this.source[this.index] === '.' && this.source[this.index + 1] === '.') {\n\t // Spread operator: ...\n\t this.index += 2;\n\t str = '...';\n\t }\n\t break;\n\t case '}':\n\t ++this.index;\n\t this.curlyStack.pop();\n\t break;\n\t case ')':\n\t case ';':\n\t case ',':\n\t case '[':\n\t case ']':\n\t case ':':\n\t case '?':\n\t case '~':\n\t ++this.index;\n\t break;\n\t default:\n\t // 4-character punctuator.\n\t str = this.source.substr(this.index, 4);\n\t if (str === '>>>=') {\n\t this.index += 4;\n\t }\n\t else {\n\t // 3-character punctuators.\n\t str = str.substr(0, 3);\n\t if (str === '===' || str === '!==' || str === '>>>' ||\n\t str === '<<=' || str === '>>=' || str === '**=') {\n\t this.index += 3;\n\t }\n\t else {\n\t // 2-character punctuators.\n\t str = str.substr(0, 2);\n\t if (str === '&&' || str === '||' || str === '==' || str === '!=' ||\n\t str === '+=' || str === '-=' || str === '*=' || str === '/=' ||\n\t str === '++' || str === '--' || str === '<<' || str === '>>' ||\n\t str === '&=' || str === '|=' || str === '^=' || str === '%=' ||\n\t str === '<=' || str === '>=' || str === '=>' || str === '**') {\n\t this.index += 2;\n\t }\n\t else {\n\t // 1-character punctuators.\n\t str = this.source[this.index];\n\t if ('<>=!+-*%&|^/'.indexOf(str) >= 0) {\n\t ++this.index;\n\t }\n\t }\n\t }\n\t }\n\t }\n\t if (this.index === start) {\n\t this.throwUnexpectedToken();\n\t }\n\t return {\n\t type: 7 /* Punctuator */,\n\t value: str,\n\t lineNumber: this.lineNumber,\n\t lineStart: this.lineStart,\n\t start: start,\n\t end: this.index\n\t };\n\t };\n\t // https://tc39.github.io/ecma262/#sec-literals-numeric-literals\n\t Scanner.prototype.scanHexLiteral = function (start) {\n\t var num = '';\n\t while (!this.eof()) {\n\t if (!character_1.Character.isHexDigit(this.source.charCodeAt(this.index))) {\n\t break;\n\t }\n\t num += this.source[this.index++];\n\t }\n\t if (num.length === 0) {\n\t this.throwUnexpectedToken();\n\t }\n\t if (character_1.Character.isIdentifierStart(this.source.charCodeAt(this.index))) {\n\t this.throwUnexpectedToken();\n\t }\n\t return {\n\t type: 6 /* NumericLiteral */,\n\t value: parseInt('0x' + num, 16),\n\t lineNumber: this.lineNumber,\n\t lineStart: this.lineStart,\n\t start: start,\n\t end: this.index\n\t };\n\t };\n\t Scanner.prototype.scanBinaryLiteral = function (start) {\n\t var num = '';\n\t var ch;\n\t while (!this.eof()) {\n\t ch = this.source[this.index];\n\t if (ch !== '0' && ch !== '1') {\n\t break;\n\t }\n\t num += this.source[this.index++];\n\t }\n\t if (num.length === 0) {\n\t // only 0b or 0B\n\t this.throwUnexpectedToken();\n\t }\n\t if (!this.eof()) {\n\t ch = this.source.charCodeAt(this.index);\n\t /* istanbul ignore else */\n\t if (character_1.Character.isIdentifierStart(ch) || character_1.Character.isDecimalDigit(ch)) {\n\t this.throwUnexpectedToken();\n\t }\n\t }\n\t return {\n\t type: 6 /* NumericLiteral */,\n\t value: parseInt(num, 2),\n\t lineNumber: this.lineNumber,\n\t lineStart: this.lineStart,\n\t start: start,\n\t end: this.index\n\t };\n\t };\n\t Scanner.prototype.scanOctalLiteral = function (prefix, start) {\n\t var num = '';\n\t var octal = false;\n\t if (character_1.Character.isOctalDigit(prefix.charCodeAt(0))) {\n\t octal = true;\n\t num = '0' + this.source[this.index++];\n\t }\n\t else {\n\t ++this.index;\n\t }\n\t while (!this.eof()) {\n\t if (!character_1.Character.isOctalDigit(this.source.charCodeAt(this.index))) {\n\t break;\n\t }\n\t num += this.source[this.index++];\n\t }\n\t if (!octal && num.length === 0) {\n\t // only 0o or 0O\n\t this.throwUnexpectedToken();\n\t }\n\t if (character_1.Character.isIdentifierStart(this.source.charCodeAt(this.index)) || character_1.Character.isDecimalDigit(this.source.charCodeAt(this.index))) {\n\t this.throwUnexpectedToken();\n\t }\n\t return {\n\t type: 6 /* NumericLiteral */,\n\t value: parseInt(num, 8),\n\t octal: octal,\n\t lineNumber: this.lineNumber,\n\t lineStart: this.lineStart,\n\t start: start,\n\t end: this.index\n\t };\n\t };\n\t Scanner.prototype.isImplicitOctalLiteral = function () {\n\t // Implicit octal, unless there is a non-octal digit.\n\t // (Annex B.1.1 on Numeric Literals)\n\t for (var i = this.index + 1; i < this.length; ++i) {\n\t var ch = this.source[i];\n\t if (ch === '8' || ch === '9') {\n\t return false;\n\t }\n\t if (!character_1.Character.isOctalDigit(ch.charCodeAt(0))) {\n\t return true;\n\t }\n\t }\n\t return true;\n\t };\n\t Scanner.prototype.scanNumericLiteral = function () {\n\t var start = this.index;\n\t var ch = this.source[start];\n\t assert_1.assert(character_1.Character.isDecimalDigit(ch.charCodeAt(0)) || (ch === '.'), 'Numeric literal must start with a decimal digit or a decimal point');\n\t var num = '';\n\t if (ch !== '.') {\n\t num = this.source[this.index++];\n\t ch = this.source[this.index];\n\t // Hex number starts with '0x'.\n\t // Octal number starts with '0'.\n\t // Octal number in ES6 starts with '0o'.\n\t // Binary number in ES6 starts with '0b'.\n\t if (num === '0') {\n\t if (ch === 'x' || ch === 'X') {\n\t ++this.index;\n\t return this.scanHexLiteral(start);\n\t }\n\t if (ch === 'b' || ch === 'B') {\n\t ++this.index;\n\t return this.scanBinaryLiteral(start);\n\t }\n\t if (ch === 'o' || ch === 'O') {\n\t return this.scanOctalLiteral(ch, start);\n\t }\n\t if (ch && character_1.Character.isOctalDigit(ch.charCodeAt(0))) {\n\t if (this.isImplicitOctalLiteral()) {\n\t return this.scanOctalLiteral(ch, start);\n\t }\n\t }\n\t }\n\t while (character_1.Character.isDecimalDigit(this.source.charCodeAt(this.index))) {\n\t num += this.source[this.index++];\n\t }\n\t ch = this.source[this.index];\n\t }\n\t if (ch === '.') {\n\t num += this.source[this.index++];\n\t while (character_1.Character.isDecimalDigit(this.source.charCodeAt(this.index))) {\n\t num += this.source[this.index++];\n\t }\n\t ch = this.source[this.index];\n\t }\n\t if (ch === 'e' || ch === 'E') {\n\t num += this.source[this.index++];\n\t ch = this.source[this.index];\n\t if (ch === '+' || ch === '-') {\n\t num += this.source[this.index++];\n\t }\n\t if (character_1.Character.isDecimalDigit(this.source.charCodeAt(this.index))) {\n\t while (character_1.Character.isDecimalDigit(this.source.charCodeAt(this.index))) {\n\t num += this.source[this.index++];\n\t }\n\t }\n\t else {\n\t this.throwUnexpectedToken();\n\t }\n\t }\n\t if (character_1.Character.isIdentifierStart(this.source.charCodeAt(this.index))) {\n\t this.throwUnexpectedToken();\n\t }\n\t return {\n\t type: 6 /* NumericLiteral */,\n\t value: parseFloat(num),\n\t lineNumber: this.lineNumber,\n\t lineStart: this.lineStart,\n\t start: start,\n\t end: this.index\n\t };\n\t };\n\t // https://tc39.github.io/ecma262/#sec-literals-string-literals\n\t Scanner.prototype.scanStringLiteral = function () {\n\t var start = this.index;\n\t var quote = this.source[start];\n\t assert_1.assert((quote === '\\'' || quote === '\"'), 'String literal must starts with a quote');\n\t ++this.index;\n\t var octal = false;\n\t var str = '';\n\t while (!this.eof()) {\n\t var ch = this.source[this.index++];\n\t if (ch === quote) {\n\t quote = '';\n\t break;\n\t }\n\t else if (ch === '\\\\') {\n\t ch = this.source[this.index++];\n\t if (!ch || !character_1.Character.isLineTerminator(ch.charCodeAt(0))) {\n\t switch (ch) {\n\t case 'u':\n\t if (this.source[this.index] === '{') {\n\t ++this.index;\n\t str += this.scanUnicodeCodePointEscape();\n\t }\n\t else {\n\t var unescaped_1 = this.scanHexEscape(ch);\n\t if (unescaped_1 === null) {\n\t this.throwUnexpectedToken();\n\t }\n\t str += unescaped_1;\n\t }\n\t break;\n\t case 'x':\n\t var unescaped = this.scanHexEscape(ch);\n\t if (unescaped === null) {\n\t this.throwUnexpectedToken(messages_1.Messages.InvalidHexEscapeSequence);\n\t }\n\t str += unescaped;\n\t break;\n\t case 'n':\n\t str += '\\n';\n\t break;\n\t case 'r':\n\t str += '\\r';\n\t break;\n\t case 't':\n\t str += '\\t';\n\t break;\n\t case 'b':\n\t str += '\\b';\n\t break;\n\t case 'f':\n\t str += '\\f';\n\t break;\n\t case 'v':\n\t str += '\\x0B';\n\t break;\n\t case '8':\n\t case '9':\n\t str += ch;\n\t this.tolerateUnexpectedToken();\n\t break;\n\t default:\n\t if (ch && character_1.Character.isOctalDigit(ch.charCodeAt(0))) {\n\t var octToDec = this.octalToDecimal(ch);\n\t octal = octToDec.octal || octal;\n\t str += String.fromCharCode(octToDec.code);\n\t }\n\t else {\n\t str += ch;\n\t }\n\t break;\n\t }\n\t }\n\t else {\n\t ++this.lineNumber;\n\t if (ch === '\\r' && this.source[this.index] === '\\n') {\n\t ++this.index;\n\t }\n\t this.lineStart = this.index;\n\t }\n\t }\n\t else if (character_1.Character.isLineTerminator(ch.charCodeAt(0))) {\n\t break;\n\t }\n\t else {\n\t str += ch;\n\t }\n\t }\n\t if (quote !== '') {\n\t this.index = start;\n\t this.throwUnexpectedToken();\n\t }\n\t return {\n\t type: 8 /* StringLiteral */,\n\t value: str,\n\t octal: octal,\n\t lineNumber: this.lineNumber,\n\t lineStart: this.lineStart,\n\t start: start,\n\t end: this.index\n\t };\n\t };\n\t // https://tc39.github.io/ecma262/#sec-template-literal-lexical-components\n\t Scanner.prototype.scanTemplate = function () {\n\t var cooked = '';\n\t var terminated = false;\n\t var start = this.index;\n\t var head = (this.source[start] === '`');\n\t var tail = false;\n\t var rawOffset = 2;\n\t ++this.index;\n\t while (!this.eof()) {\n\t var ch = this.source[this.index++];\n\t if (ch === '`') {\n\t rawOffset = 1;\n\t tail = true;\n\t terminated = true;\n\t break;\n\t }\n\t else if (ch === '$') {\n\t if (this.source[this.index] === '{') {\n\t this.curlyStack.push('${');\n\t ++this.index;\n\t terminated = true;\n\t break;\n\t }\n\t cooked += ch;\n\t }\n\t else if (ch === '\\\\') {\n\t ch = this.source[this.index++];\n\t if (!character_1.Character.isLineTerminator(ch.charCodeAt(0))) {\n\t switch (ch) {\n\t case 'n':\n\t cooked += '\\n';\n\t break;\n\t case 'r':\n\t cooked += '\\r';\n\t break;\n\t case 't':\n\t cooked += '\\t';\n\t break;\n\t case 'u':\n\t if (this.source[this.index] === '{') {\n\t ++this.index;\n\t cooked += this.scanUnicodeCodePointEscape();\n\t }\n\t else {\n\t var restore = this.index;\n\t var unescaped_2 = this.scanHexEscape(ch);\n\t if (unescaped_2 !== null) {\n\t cooked += unescaped_2;\n\t }\n\t else {\n\t this.index = restore;\n\t cooked += ch;\n\t }\n\t }\n\t break;\n\t case 'x':\n\t var unescaped = this.scanHexEscape(ch);\n\t if (unescaped === null) {\n\t this.throwUnexpectedToken(messages_1.Messages.InvalidHexEscapeSequence);\n\t }\n\t cooked += unescaped;\n\t break;\n\t case 'b':\n\t cooked += '\\b';\n\t break;\n\t case 'f':\n\t cooked += '\\f';\n\t break;\n\t case 'v':\n\t cooked += '\\v';\n\t break;\n\t default:\n\t if (ch === '0') {\n\t if (character_1.Character.isDecimalDigit(this.source.charCodeAt(this.index))) {\n\t // Illegal: \\01 \\02 and so on\n\t this.throwUnexpectedToken(messages_1.Messages.TemplateOctalLiteral);\n\t }\n\t cooked += '\\0';\n\t }\n\t else if (character_1.Character.isOctalDigit(ch.charCodeAt(0))) {\n\t // Illegal: \\1 \\2\n\t this.throwUnexpectedToken(messages_1.Messages.TemplateOctalLiteral);\n\t }\n\t else {\n\t cooked += ch;\n\t }\n\t break;\n\t }\n\t }\n\t else {\n\t ++this.lineNumber;\n\t if (ch === '\\r' && this.source[this.index] === '\\n') {\n\t ++this.index;\n\t }\n\t this.lineStart = this.index;\n\t }\n\t }\n\t else if (character_1.Character.isLineTerminator(ch.charCodeAt(0))) {\n\t ++this.lineNumber;\n\t if (ch === '\\r' && this.source[this.index] === '\\n') {\n\t ++this.index;\n\t }\n\t this.lineStart = this.index;\n\t cooked += '\\n';\n\t }\n\t else {\n\t cooked += ch;\n\t }\n\t }\n\t if (!terminated) {\n\t this.throwUnexpectedToken();\n\t }\n\t if (!head) {\n\t this.curlyStack.pop();\n\t }\n\t return {\n\t type: 10 /* Template */,\n\t value: this.source.slice(start + 1, this.index - rawOffset),\n\t cooked: cooked,\n\t head: head,\n\t tail: tail,\n\t lineNumber: this.lineNumber,\n\t lineStart: this.lineStart,\n\t start: start,\n\t end: this.index\n\t };\n\t };\n\t // https://tc39.github.io/ecma262/#sec-literals-regular-expression-literals\n\t Scanner.prototype.testRegExp = function (pattern, flags) {\n\t // The BMP character to use as a replacement for astral symbols when\n\t // translating an ES6 \"u\"-flagged pattern to an ES5-compatible\n\t // approximation.\n\t // Note: replacing with '\\uFFFF' enables false positives in unlikely\n\t // scenarios. For example, `[\\u{1044f}-\\u{10440}]` is an invalid\n\t // pattern that would not be detected by this substitution.\n\t var astralSubstitute = '\\uFFFF';\n\t var tmp = pattern;\n\t var self = this;\n\t if (flags.indexOf('u') >= 0) {\n\t tmp = tmp\n\t .replace(/\\\\u\\{([0-9a-fA-F]+)\\}|\\\\u([a-fA-F0-9]{4})/g, function ($0, $1, $2) {\n\t var codePoint = parseInt($1 || $2, 16);\n\t if (codePoint > 0x10FFFF) {\n\t self.throwUnexpectedToken(messages_1.Messages.InvalidRegExp);\n\t }\n\t if (codePoint <= 0xFFFF) {\n\t return String.fromCharCode(codePoint);\n\t }\n\t return astralSubstitute;\n\t })\n\t .replace(/[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/g, astralSubstitute);\n\t }\n\t // First, detect invalid regular expressions.\n\t try {\n\t RegExp(tmp);\n\t }\n\t catch (e) {\n\t this.throwUnexpectedToken(messages_1.Messages.InvalidRegExp);\n\t }\n\t // Return a regular expression object for this pattern-flag pair, or\n\t // `null` in case the current environment doesn't support the flags it\n\t // uses.\n\t try {\n\t return new RegExp(pattern, flags);\n\t }\n\t catch (exception) {\n\t /* istanbul ignore next */\n\t return null;\n\t }\n\t };\n\t Scanner.prototype.scanRegExpBody = function () {\n\t var ch = this.source[this.index];\n\t assert_1.assert(ch === '/', 'Regular expression literal must start with a slash');\n\t var str = this.source[this.index++];\n\t var classMarker = false;\n\t var terminated = false;\n\t while (!this.eof()) {\n\t ch = this.source[this.index++];\n\t str += ch;\n\t if (ch === '\\\\') {\n\t ch = this.source[this.index++];\n\t // https://tc39.github.io/ecma262/#sec-literals-regular-expression-literals\n\t if (character_1.Character.isLineTerminator(ch.charCodeAt(0))) {\n\t this.throwUnexpectedToken(messages_1.Messages.UnterminatedRegExp);\n\t }\n\t str += ch;\n\t }\n\t else if (character_1.Character.isLineTerminator(ch.charCodeAt(0))) {\n\t this.throwUnexpectedToken(messages_1.Messages.UnterminatedRegExp);\n\t }\n\t else if (classMarker) {\n\t if (ch === ']') {\n\t classMarker = false;\n\t }\n\t }\n\t else {\n\t if (ch === '/') {\n\t terminated = true;\n\t break;\n\t }\n\t else if (ch === '[') {\n\t classMarker = true;\n\t }\n\t }\n\t }\n\t if (!terminated) {\n\t this.throwUnexpectedToken(messages_1.Messages.UnterminatedRegExp);\n\t }\n\t // Exclude leading and trailing slash.\n\t return str.substr(1, str.length - 2);\n\t };\n\t Scanner.prototype.scanRegExpFlags = function () {\n\t var str = '';\n\t var flags = '';\n\t while (!this.eof()) {\n\t var ch = this.source[this.index];\n\t if (!character_1.Character.isIdentifierPart(ch.charCodeAt(0))) {\n\t break;\n\t }\n\t ++this.index;\n\t if (ch === '\\\\' && !this.eof()) {\n\t ch = this.source[this.index];\n\t if (ch === 'u') {\n\t ++this.index;\n\t var restore = this.index;\n\t var char = this.scanHexEscape('u');\n\t if (char !== null) {\n\t flags += char;\n\t for (str += '\\\\u'; restore < this.index; ++restore) {\n\t str += this.source[restore];\n\t }\n\t }\n\t else {\n\t this.index = restore;\n\t flags += 'u';\n\t str += '\\\\u';\n\t }\n\t this.tolerateUnexpectedToken();\n\t }\n\t else {\n\t str += '\\\\';\n\t this.tolerateUnexpectedToken();\n\t }\n\t }\n\t else {\n\t flags += ch;\n\t str += ch;\n\t }\n\t }\n\t return flags;\n\t };\n\t Scanner.prototype.scanRegExp = function () {\n\t var start = this.index;\n\t var pattern = this.scanRegExpBody();\n\t var flags = this.scanRegExpFlags();\n\t var value = this.testRegExp(pattern, flags);\n\t return {\n\t type: 9 /* RegularExpression */,\n\t value: '',\n\t pattern: pattern,\n\t flags: flags,\n\t regex: value,\n\t lineNumber: this.lineNumber,\n\t lineStart: this.lineStart,\n\t start: start,\n\t end: this.index\n\t };\n\t };\n\t Scanner.prototype.lex = function () {\n\t if (this.eof()) {\n\t return {\n\t type: 2 /* EOF */,\n\t value: '',\n\t lineNumber: this.lineNumber,\n\t lineStart: this.lineStart,\n\t start: this.index,\n\t end: this.index\n\t };\n\t }\n\t var cp = this.source.charCodeAt(this.index);\n\t if (character_1.Character.isIdentifierStart(cp)) {\n\t return this.scanIdentifier();\n\t }\n\t // Very common: ( and ) and ;\n\t if (cp === 0x28 || cp === 0x29 || cp === 0x3B) {\n\t return this.scanPunctuator();\n\t }\n\t // String literal starts with single quote (U+0027) or double quote (U+0022).\n\t if (cp === 0x27 || cp === 0x22) {\n\t return this.scanStringLiteral();\n\t }\n\t // Dot (.) U+002E can also start a floating-point number, hence the need\n\t // to check the next character.\n\t if (cp === 0x2E) {\n\t if (character_1.Character.isDecimalDigit(this.source.charCodeAt(this.index + 1))) {\n\t return this.scanNumericLiteral();\n\t }\n\t return this.scanPunctuator();\n\t }\n\t if (character_1.Character.isDecimalDigit(cp)) {\n\t return this.scanNumericLiteral();\n\t }\n\t // Template literals start with ` (U+0060) for template head\n\t // or } (U+007D) for template middle or template tail.\n\t if (cp === 0x60 || (cp === 0x7D && this.curlyStack[this.curlyStack.length - 1] === '${')) {\n\t return this.scanTemplate();\n\t }\n\t // Possible identifier start in a surrogate pair.\n\t if (cp >= 0xD800 && cp < 0xDFFF) {\n\t if (character_1.Character.isIdentifierStart(this.codePointAt(this.index))) {\n\t return this.scanIdentifier();\n\t }\n\t }\n\t return this.scanPunctuator();\n\t };\n\t return Scanner;\n\t}());\n\texports.Scanner = Scanner;\n\n\n/***/ },\n/* 13 */\n/***/ function(module, exports) {\n\n\t\"use strict\";\n\tObject.defineProperty(exports, \"__esModule\", { value: true });\n\texports.TokenName = {};\n\texports.TokenName[1 /* BooleanLiteral */] = 'Boolean';\n\texports.TokenName[2 /* EOF */] = '<end>';\n\texports.TokenName[3 /* Identifier */] = 'Identifier';\n\texports.TokenName[4 /* Keyword */] = 'Keyword';\n\texports.TokenName[5 /* NullLiteral */] = 'Null';\n\texports.TokenName[6 /* NumericLiteral */] = 'Numeric';\n\texports.TokenName[7 /* Punctuator */] = 'Punctuator';\n\texports.TokenName[8 /* StringLiteral */] = 'String';\n\texports.TokenName[9 /* RegularExpression */] = 'RegularExpression';\n\texports.TokenName[10 /* Template */] = 'Template';\n\n\n/***/ },\n/* 14 */\n/***/ function(module, exports) {\n\n\t\"use strict\";\n\t// Generated by generate-xhtml-entities.js. DO NOT MODIFY!\n\tObject.defineProperty(exports, \"__esModule\", { value: true });\n\texports.XHTMLEntities = {\n\t quot: '\\u0022',\n\t amp: '\\u0026',\n\t apos: '\\u0027',\n\t gt: '\\u003E',\n\t nbsp: '\\u00A0',\n\t iexcl: '\\u00A1',\n\t cent: '\\u00A2',\n\t pound: '\\u00A3',\n\t curren: '\\u00A4',\n\t yen: '\\u00A5',\n\t brvbar: '\\u00A6',\n\t sect: '\\u00A7',\n\t uml: '\\u00A8',\n\t copy: '\\u00A9',\n\t ordf: '\\u00AA',\n\t laquo: '\\u00AB',\n\t not: '\\u00AC',\n\t shy: '\\u00AD',\n\t reg: '\\u00AE',\n\t macr: '\\u00AF',\n\t deg: '\\u00B0',\n\t plusmn: '\\u00B1',\n\t sup2: '\\u00B2',\n\t sup3: '\\u00B3',\n\t acute: '\\u00B4',\n\t micro: '\\u00B5',\n\t para: '\\u00B6',\n\t middot: '\\u00B7',\n\t cedil: '\\u00B8',\n\t sup1: '\\u00B9',\n\t ordm: '\\u00BA',\n\t raquo: '\\u00BB',\n\t frac14: '\\u00BC',\n\t frac12: '\\u00BD',\n\t frac34: '\\u00BE',\n\t iquest: '\\u00BF',\n\t Agrave: '\\u00C0',\n\t Aacute: '\\u00C1',\n\t Acirc: '\\u00C2',\n\t Atilde: '\\u00C3',\n\t Auml: '\\u00C4',\n\t Aring: '\\u00C5',\n\t AElig: '\\u00C6',\n\t Ccedil: '\\u00C7',\n\t Egrave: '\\u00C8',\n\t Eacute: '\\u00C9',\n\t Ecirc: '\\u00CA',\n\t Euml: '\\u00CB',\n\t Igrave: '\\u00CC',\n\t Iacute: '\\u00CD',\n\t Icirc: '\\u00CE',\n\t Iuml: '\\u00CF',\n\t ETH: '\\u00D0',\n\t Ntilde: '\\u00D1',\n\t Ograve: '\\u00D2',\n\t Oacute: '\\u00D3',\n\t Ocirc: '\\u00D4',\n\t Otilde: '\\u00D5',\n\t Ouml: '\\u00D6',\n\t times: '\\u00D7',\n\t Oslash: '\\u00D8',\n\t Ugrave: '\\u00D9',\n\t Uacute: '\\u00DA',\n\t Ucirc: '\\u00DB',\n\t Uuml: '\\u00DC',\n\t Yacute: '\\u00DD',\n\t THORN: '\\u00DE',\n\t szlig: '\\u00DF',\n\t agrave: '\\u00E0',\n\t aacute: '\\u00E1',\n\t acirc: '\\u00E2',\n\t atilde: '\\u00E3',\n\t auml: '\\u00E4',\n\t aring: '\\u00E5',\n\t aelig: '\\u00E6',\n\t ccedil: '\\u00E7',\n\t egrave: '\\u00E8',\n\t eacute: '\\u00E9',\n\t ecirc: '\\u00EA',\n\t euml: '\\u00EB',\n\t igrave: '\\u00EC',\n\t iacute: '\\u00ED',\n\t icirc: '\\u00EE',\n\t iuml: '\\u00EF',\n\t eth: '\\u00F0',\n\t ntilde: '\\u00F1',\n\t ograve: '\\u00F2',\n\t oacute: '\\u00F3',\n\t ocirc: '\\u00F4',\n\t otilde: '\\u00F5',\n\t ouml: '\\u00F6',\n\t divide: '\\u00F7',\n\t oslash: '\\u00F8',\n\t ugrave: '\\u00F9',\n\t uacute: '\\u00FA',\n\t ucirc: '\\u00FB',\n\t uuml: '\\u00FC',\n\t yacute: '\\u00FD',\n\t thorn: '\\u00FE',\n\t yuml: '\\u00FF',\n\t OElig: '\\u0152',\n\t oelig: '\\u0153',\n\t Scaron: '\\u0160',\n\t scaron: '\\u0161',\n\t Yuml: '\\u0178',\n\t fnof: '\\u0192',\n\t circ: '\\u02C6',\n\t tilde: '\\u02DC',\n\t Alpha: '\\u0391',\n\t Beta: '\\u0392',\n\t Gamma: '\\u0393',\n\t Delta: '\\u0394',\n\t Epsilon: '\\u0395',\n\t Zeta: '\\u0396',\n\t Eta: '\\u0397',\n\t Theta: '\\u0398',\n\t Iota: '\\u0399',\n\t Kappa: '\\u039A',\n\t Lambda: '\\u039B',\n\t Mu: '\\u039C',\n\t Nu: '\\u039D',\n\t Xi: '\\u039E',\n\t Omicron: '\\u039F',\n\t Pi: '\\u03A0',\n\t Rho: '\\u03A1',\n\t Sigma: '\\u03A3',\n\t Tau: '\\u03A4',\n\t Upsilon: '\\u03A5',\n\t Phi: '\\u03A6',\n\t Chi: '\\u03A7',\n\t Psi: '\\u03A8',\n\t Omega: '\\u03A9',\n\t alpha: '\\u03B1',\n\t beta: '\\u03B2',\n\t gamma: '\\u03B3',\n\t delta: '\\u03B4',\n\t epsilon: '\\u03B5',\n\t zeta: '\\u03B6',\n\t eta: '\\u03B7',\n\t theta: '\\u03B8',\n\t iota: '\\u03B9',\n\t kappa: '\\u03BA',\n\t lambda: '\\u03BB',\n\t mu: '\\u03BC',\n\t nu: '\\u03BD',\n\t xi: '\\u03BE',\n\t omicron: '\\u03BF',\n\t pi: '\\u03C0',\n\t rho: '\\u03C1',\n\t sigmaf: '\\u03C2',\n\t sigma: '\\u03C3',\n\t tau: '\\u03C4',\n\t upsilon: '\\u03C5',\n\t phi: '\\u03C6',\n\t chi: '\\u03C7',\n\t psi: '\\u03C8',\n\t omega: '\\u03C9',\n\t thetasym: '\\u03D1',\n\t upsih: '\\u03D2',\n\t piv: '\\u03D6',\n\t ensp: '\\u2002',\n\t emsp: '\\u2003',\n\t thinsp: '\\u2009',\n\t zwnj: '\\u200C',\n\t zwj: '\\u200D',\n\t lrm: '\\u200E',\n\t rlm: '\\u200F',\n\t ndash: '\\u2013',\n\t mdash: '\\u2014',\n\t lsquo: '\\u2018',\n\t rsquo: '\\u2019',\n\t sbquo: '\\u201A',\n\t ldquo: '\\u201C',\n\t rdquo: '\\u201D',\n\t bdquo: '\\u201E',\n\t dagger: '\\u2020',\n\t Dagger: '\\u2021',\n\t bull: '\\u2022',\n\t hellip: '\\u2026',\n\t permil: '\\u2030',\n\t prime: '\\u2032',\n\t Prime: '\\u2033',\n\t lsaquo: '\\u2039',\n\t rsaquo: '\\u203A',\n\t oline: '\\u203E',\n\t frasl: '\\u2044',\n\t euro: '\\u20AC',\n\t image: '\\u2111',\n\t weierp: '\\u2118',\n\t real: '\\u211C',\n\t trade: '\\u2122',\n\t alefsym: '\\u2135',\n\t larr: '\\u2190',\n\t uarr: '\\u2191',\n\t rarr: '\\u2192',\n\t darr: '\\u2193',\n\t harr: '\\u2194',\n\t crarr: '\\u21B5',\n\t lArr: '\\u21D0',\n\t uArr: '\\u21D1',\n\t rArr: '\\u21D2',\n\t dArr: '\\u21D3',\n\t hArr: '\\u21D4',\n\t forall: '\\u2200',\n\t part: '\\u2202',\n\t exist: '\\u2203',\n\t empty: '\\u2205',\n\t nabla: '\\u2207',\n\t isin: '\\u2208',\n\t notin: '\\u2209',\n\t ni: '\\u220B',\n\t prod: '\\u220F',\n\t sum: '\\u2211',\n\t minus: '\\u2212',\n\t lowast: '\\u2217',\n\t radic: '\\u221A',\n\t prop: '\\u221D',\n\t infin: '\\u221E',\n\t ang: '\\u2220',\n\t and: '\\u2227',\n\t or: '\\u2228',\n\t cap: '\\u2229',\n\t cup: '\\u222A',\n\t int: '\\u222B',\n\t there4: '\\u2234',\n\t sim: '\\u223C',\n\t cong: '\\u2245',\n\t asymp: '\\u2248',\n\t ne: '\\u2260',\n\t equiv: '\\u2261',\n\t le: '\\u2264',\n\t ge: '\\u2265',\n\t sub: '\\u2282',\n\t sup: '\\u2283',\n\t nsub: '\\u2284',\n\t sube: '\\u2286',\n\t supe: '\\u2287',\n\t oplus: '\\u2295',\n\t otimes: '\\u2297',\n\t perp: '\\u22A5',\n\t sdot: '\\u22C5',\n\t lceil: '\\u2308',\n\t rceil: '\\u2309',\n\t lfloor: '\\u230A',\n\t rfloor: '\\u230B',\n\t loz: '\\u25CA',\n\t spades: '\\u2660',\n\t clubs: '\\u2663',\n\t hearts: '\\u2665',\n\t diams: '\\u2666',\n\t lang: '\\u27E8',\n\t rang: '\\u27E9'\n\t};\n\n\n/***/ },\n/* 15 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\tObject.defineProperty(exports, \"__esModule\", { value: true });\n\tvar error_handler_1 = __webpack_require__(10);\n\tvar scanner_1 = __webpack_require__(12);\n\tvar token_1 = __webpack_require__(13);\n\tvar Reader = (function () {\n\t function Reader() {\n\t this.values = [];\n\t this.curly = this.paren = -1;\n\t }\n\t // A function following one of those tokens is an expression.\n\t Reader.prototype.beforeFunctionExpression = function (t) {\n\t return ['(', '{', '[', 'in', 'typeof', 'instanceof', 'new',\n\t 'return', 'case', 'delete', 'throw', 'void',\n\t // assignment operators\n\t '=', '+=', '-=', '*=', '**=', '/=', '%=', '<<=', '>>=', '>>>=',\n\t '&=', '|=', '^=', ',',\n\t // binary/unary operators\n\t '+', '-', '*', '**', '/', '%', '++', '--', '<<', '>>', '>>>', '&',\n\t '|', '^', '!', '~', '&&', '||', '?', ':', '===', '==', '>=',\n\t '<=', '<', '>', '!=', '!=='].indexOf(t) >= 0;\n\t };\n\t // Determine if forward slash (/) is an operator or part of a regular expression\n\t // https://github.com/mozilla/sweet.js/wiki/design\n\t Reader.prototype.isRegexStart = function () {\n\t var previous = this.values[this.values.length - 1];\n\t var regex = (previous !== null);\n\t switch (previous) {\n\t case 'this':\n\t case ']':\n\t regex = false;\n\t break;\n\t case ')':\n\t var keyword = this.values[this.paren - 1];\n\t regex = (keyword === 'if' || keyword === 'while' || keyword === 'for' || keyword === 'with');\n\t break;\n\t case '}':\n\t // Dividing a function by anything makes little sense,\n\t // but we have to check for that.\n\t regex = false;\n\t if (this.values[this.curly - 3] === 'function') {\n\t // Anonymous function, e.g. function(){} /42\n\t var check = this.values[this.curly - 4];\n\t regex = check ? !this.beforeFunctionExpression(check) : false;\n\t }\n\t else if (this.values[this.curly - 4] === 'function') {\n\t // Named function, e.g. function f(){} /42/\n\t var check = this.values[this.curly - 5];\n\t regex = check ? !this.beforeFunctionExpression(check) : true;\n\t }\n\t break;\n\t default:\n\t break;\n\t }\n\t return regex;\n\t };\n\t Reader.prototype.push = function (token) {\n\t if (token.type === 7 /* Punctuator */ || token.type === 4 /* Keyword */) {\n\t if (token.value === '{') {\n\t this.curly = this.values.length;\n\t }\n\t else if (token.value === '(') {\n\t this.paren = this.values.length;\n\t }\n\t this.values.push(token.value);\n\t }\n\t else {\n\t this.values.push(null);\n\t }\n\t };\n\t return Reader;\n\t}());\n\tvar Tokenizer = (function () {\n\t function Tokenizer(code, config) {\n\t this.errorHandler = new error_handler_1.ErrorHandler();\n\t this.errorHandler.tolerant = config ? (typeof config.tolerant === 'boolean' && config.tolerant) : false;\n\t this.scanner = new scanner_1.Scanner(code, this.errorHandler);\n\t this.scanner.trackComment = config ? (typeof config.comment === 'boolean' && config.comment) : false;\n\t this.trackRange = config ? (typeof config.range === 'boolean' && config.range) : false;\n\t this.trackLoc = config ? (typeof config.loc === 'boolean' && config.loc) : false;\n\t this.buffer = [];\n\t this.reader = new Reader();\n\t }\n\t Tokenizer.prototype.errors = function () {\n\t return this.errorHandler.errors;\n\t };\n\t Tokenizer.prototype.getNextToken = function () {\n\t if (this.buffer.length === 0) {\n\t var comments = this.scanner.scanComments();\n\t if (this.scanner.trackComment) {\n\t for (var i = 0; i < comments.length; ++i) {\n\t var e = comments[i];\n\t var value = this.scanner.source.slice(e.slice[0], e.slice[1]);\n\t var comment = {\n\t type: e.multiLine ? 'BlockComment' : 'LineComment',\n\t value: value\n\t };\n\t if (this.trackRange) {\n\t comment.range = e.range;\n\t }\n\t if (this.trackLoc) {\n\t comment.loc = e.loc;\n\t }\n\t this.buffer.push(comment);\n\t }\n\t }\n\t if (!this.scanner.eof()) {\n\t var loc = void 0;\n\t if (this.trackLoc) {\n\t loc = {\n\t start: {\n\t line: this.scanner.lineNumber,\n\t column: this.scanner.index - this.scanner.lineStart\n\t },\n\t end: {}\n\t };\n\t }\n\t var startRegex = (this.scanner.source[this.scanner.index] === '/') && this.reader.isRegexStart();\n\t var token = startRegex ? this.scanner.scanRegExp() : this.scanner.lex();\n\t this.reader.push(token);\n\t var entry = {\n\t type: token_1.TokenName[token.type],\n\t value: this.scanner.source.slice(token.start, token.end)\n\t };\n\t if (this.trackRange) {\n\t entry.range = [token.start, token.end];\n\t }\n\t if (this.trackLoc) {\n\t loc.end = {\n\t line: this.scanner.lineNumber,\n\t column: this.scanner.index - this.scanner.lineStart\n\t };\n\t entry.loc = loc;\n\t }\n\t if (token.type === 9 /* RegularExpression */) {\n\t var pattern = token.pattern;\n\t var flags = token.flags;\n\t entry.regex = { pattern: pattern, flags: flags };\n\t }\n\t this.buffer.push(entry);\n\t }\n\t }\n\t return this.buffer.shift();\n\t };\n\t return Tokenizer;\n\t}());\n\texports.Tokenizer = Tokenizer;\n\n\n/***/ }\n/******/ ])\n});\n;","'use strict'\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction getLens (b64) {\n var len = b64.length\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=')\n if (validLen === -1) validLen = len\n\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4)\n\n return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\n var curByte = 0\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen\n\n var i\n for (i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)]\n arr[curByte++] = (tmp >> 16) & 0xFF\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF)\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n parts.push(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n )\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n )\n }\n\n return parts.join('')\n}\n","/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */\nexports.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var nBits = -7\n var i = isLE ? (nBytes - 1) : 0\n var d = isLE ? -1 : 1\n var s = buffer[offset + i]\n\n i += d\n\n e = s & ((1 << (-nBits)) - 1)\n s >>= (-nBits)\n nBits += eLen\n for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1)\n e >>= (-nBits)\n nBits += mLen\n for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen)\n e = e - eBias\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n var i = isLE ? 0 : (nBytes - 1)\n var d = isLE ? 1 : -1\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n value = Math.abs(value)\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0\n e = eMax\n } else {\n e = Math.floor(Math.log(value) / Math.LN2)\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--\n c *= 2\n }\n if (e + eBias >= 1) {\n value += rt / c\n } else {\n value += rt * Math.pow(2, 1 - eBias)\n }\n if (value * c >= 2) {\n e++\n c /= 2\n }\n\n if (e + eBias >= eMax) {\n m = 0\n e = eMax\n } else if (e + eBias >= 1) {\n m = ((value * c) - 1) * Math.pow(2, mLen)\n e = e + eBias\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n e = 0\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m\n eLen += mLen\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128\n}\n","/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh <https://feross.org>\n * @license MIT\n */\n/* eslint-disable no-proto */\n\n'use strict'\n\nconst base64 = require('base64-js')\nconst ieee754 = require('ieee754')\nconst customInspectSymbol =\n (typeof Symbol === 'function' && typeof Symbol['for'] === 'function') // eslint-disable-line dot-notation\n ? Symbol['for']('nodejs.util.inspect.custom') // eslint-disable-line dot-notation\n : null\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\nconst K_MAX_LENGTH = 0x7fffffff\nexports.kMaxLength = K_MAX_LENGTH\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Print warning and recommend using `buffer` v4.x which has an Object\n * implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * We report that the browser does not support typed arrays if the are not subclassable\n * using __proto__. Firefox 4-29 lacks support for adding new properties to `Uint8Array`\n * (See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438). IE 10 lacks support\n * for __proto__ and has a buggy typed array implementation.\n */\nBuffer.TYPED_ARRAY_SUPPORT = typedArraySupport()\n\nif (!Buffer.TYPED_ARRAY_SUPPORT && typeof console !== 'undefined' &&\n typeof console.error === 'function') {\n console.error(\n 'This browser lacks typed array (Uint8Array) support which is required by ' +\n '`buffer` v5.x. Use `buffer` v4.x if you require old browser support.'\n )\n}\n\nfunction typedArraySupport () {\n // Can typed array instances can be augmented?\n try {\n const arr = new Uint8Array(1)\n const proto = { foo: function () { return 42 } }\n Object.setPrototypeOf(proto, Uint8Array.prototype)\n Object.setPrototypeOf(arr, proto)\n return arr.foo() === 42\n } catch (e) {\n return false\n }\n}\n\nObject.defineProperty(Buffer.prototype, 'parent', {\n enumerable: true,\n get: function () {\n if (!Buffer.isBuffer(this)) return undefined\n return this.buffer\n }\n})\n\nObject.defineProperty(Buffer.prototype, 'offset', {\n enumerable: true,\n get: function () {\n if (!Buffer.isBuffer(this)) return undefined\n return this.byteOffset\n }\n})\n\nfunction createBuffer (length) {\n if (length > K_MAX_LENGTH) {\n throw new RangeError('The value \"' + length + '\" is invalid for option \"size\"')\n }\n // Return an augmented `Uint8Array` instance\n const buf = new Uint8Array(length)\n Object.setPrototypeOf(buf, Buffer.prototype)\n return buf\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new TypeError(\n 'The \"string\" argument must be of type string. Received type number'\n )\n }\n return allocUnsafe(arg)\n }\n return from(arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\nfunction from (value, encodingOrOffset, length) {\n if (typeof value === 'string') {\n return fromString(value, encodingOrOffset)\n }\n\n if (ArrayBuffer.isView(value)) {\n return fromArrayView(value)\n }\n\n if (value == null) {\n throw new TypeError(\n 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n 'or Array-like Object. Received type ' + (typeof value)\n )\n }\n\n if (isInstance(value, ArrayBuffer) ||\n (value && isInstance(value.buffer, ArrayBuffer))) {\n return fromArrayBuffer(value, encodingOrOffset, length)\n }\n\n if (typeof SharedArrayBuffer !== 'undefined' &&\n (isInstance(value, SharedArrayBuffer) ||\n (value && isInstance(value.buffer, SharedArrayBuffer)))) {\n return fromArrayBuffer(value, encodingOrOffset, length)\n }\n\n if (typeof value === 'number') {\n throw new TypeError(\n 'The \"value\" argument must not be of type number. Received type number'\n )\n }\n\n const valueOf = value.valueOf && value.valueOf()\n if (valueOf != null && valueOf !== value) {\n return Buffer.from(valueOf, encodingOrOffset, length)\n }\n\n const b = fromObject(value)\n if (b) return b\n\n if (typeof Symbol !== 'undefined' && Symbol.toPrimitive != null &&\n typeof value[Symbol.toPrimitive] === 'function') {\n return Buffer.from(value[Symbol.toPrimitive]('string'), encodingOrOffset, length)\n }\n\n throw new TypeError(\n 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n 'or Array-like Object. Received type ' + (typeof value)\n )\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(value, encodingOrOffset, length)\n}\n\n// Note: Change prototype *after* Buffer.from is defined to workaround Chrome bug:\n// https://github.com/feross/buffer/pull/148\nObject.setPrototypeOf(Buffer.prototype, Uint8Array.prototype)\nObject.setPrototypeOf(Buffer, Uint8Array)\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be of type number')\n } else if (size < 0) {\n throw new RangeError('The value \"' + size + '\" is invalid for option \"size\"')\n }\n}\n\nfunction alloc (size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpreted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(size).fill(fill, encoding)\n : createBuffer(size).fill(fill)\n }\n return createBuffer(size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(size, fill, encoding)\n}\n\nfunction allocUnsafe (size) {\n assertSize(size)\n return createBuffer(size < 0 ? 0 : checked(size) | 0)\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(size)\n}\n\nfunction fromString (string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n\n const length = byteLength(string, encoding) | 0\n let buf = createBuffer(length)\n\n const actual = buf.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n buf = buf.slice(0, actual)\n }\n\n return buf\n}\n\nfunction fromArrayLike (array) {\n const length = array.length < 0 ? 0 : checked(array.length) | 0\n const buf = createBuffer(length)\n for (let i = 0; i < length; i += 1) {\n buf[i] = array[i] & 255\n }\n return buf\n}\n\nfunction fromArrayView (arrayView) {\n if (isInstance(arrayView, Uint8Array)) {\n const copy = new Uint8Array(arrayView)\n return fromArrayBuffer(copy.buffer, copy.byteOffset, copy.byteLength)\n }\n return fromArrayLike(arrayView)\n}\n\nfunction fromArrayBuffer (array, byteOffset, length) {\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\"offset\" is outside of buffer bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\"length\" is outside of buffer bounds')\n }\n\n let buf\n if (byteOffset === undefined && length === undefined) {\n buf = new Uint8Array(array)\n } else if (length === undefined) {\n buf = new Uint8Array(array, byteOffset)\n } else {\n buf = new Uint8Array(array, byteOffset, length)\n }\n\n // Return an augmented `Uint8Array` instance\n Object.setPrototypeOf(buf, Buffer.prototype)\n\n return buf\n}\n\nfunction fromObject (obj) {\n if (Buffer.isBuffer(obj)) {\n const len = checked(obj.length) | 0\n const buf = createBuffer(len)\n\n if (buf.length === 0) {\n return buf\n }\n\n obj.copy(buf, 0, 0, len)\n return buf\n }\n\n if (obj.length !== undefined) {\n if (typeof obj.length !== 'number' || numberIsNaN(obj.length)) {\n return createBuffer(0)\n }\n return fromArrayLike(obj)\n }\n\n if (obj.type === 'Buffer' && Array.isArray(obj.data)) {\n return fromArrayLike(obj.data)\n }\n}\n\nfunction checked (length) {\n // Note: cannot use `length < K_MAX_LENGTH` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= K_MAX_LENGTH) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + K_MAX_LENGTH.toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return b != null && b._isBuffer === true &&\n b !== Buffer.prototype // so Buffer.isBuffer(Buffer.prototype) will be false\n}\n\nBuffer.compare = function compare (a, b) {\n if (isInstance(a, Uint8Array)) a = Buffer.from(a, a.offset, a.byteLength)\n if (isInstance(b, Uint8Array)) b = Buffer.from(b, b.offset, b.byteLength)\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError(\n 'The \"buf1\", \"buf2\" arguments must be one of type Buffer or Uint8Array'\n )\n }\n\n if (a === b) return 0\n\n let x = a.length\n let y = b.length\n\n for (let i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!Array.isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n let i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n const buffer = Buffer.allocUnsafe(length)\n let pos = 0\n for (i = 0; i < list.length; ++i) {\n let buf = list[i]\n if (isInstance(buf, Uint8Array)) {\n if (pos + buf.length > buffer.length) {\n if (!Buffer.isBuffer(buf)) buf = Buffer.from(buf)\n buf.copy(buffer, pos)\n } else {\n Uint8Array.prototype.set.call(\n buffer,\n buf,\n pos\n )\n }\n } else if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n } else {\n buf.copy(buffer, pos)\n }\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (ArrayBuffer.isView(string) || isInstance(string, ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n throw new TypeError(\n 'The \"string\" argument must be one of type string, Buffer, or ArrayBuffer. ' +\n 'Received type ' + typeof string\n )\n }\n\n const len = string.length\n const mustMatch = (arguments.length > 2 && arguments[2] === true)\n if (!mustMatch && len === 0) return 0\n\n // Use a for loop to avoid recursion\n let loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) {\n return mustMatch ? -1 : utf8ToBytes(string).length // assume utf8\n }\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n let loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coercion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// This property is used by `Buffer.isBuffer` (and the `is-buffer` npm package)\n// to detect a Buffer instance. It's not possible to use `instanceof Buffer`\n// reliably in a browserify context because there could be multiple different\n// copies of the 'buffer' package in use. This method works even for Buffer\n// instances that were created from another copy of the `buffer` package.\n// See: https://github.com/feross/buffer/issues/154\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n const i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n const len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (let i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n const len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (let i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n const len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (let i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n const length = this.length\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.toLocaleString = Buffer.prototype.toString\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n let str = ''\n const max = exports.INSPECT_MAX_BYTES\n str = this.toString('hex', 0, max).replace(/(.{2})/g, '$1 ').trim()\n if (this.length > max) str += ' ... '\n return '<Buffer ' + str + '>'\n}\nif (customInspectSymbol) {\n Buffer.prototype[customInspectSymbol] = Buffer.prototype.inspect\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (isInstance(target, Uint8Array)) {\n target = Buffer.from(target, target.offset, target.byteLength)\n }\n if (!Buffer.isBuffer(target)) {\n throw new TypeError(\n 'The \"target\" argument must be one of type Buffer or Uint8Array. ' +\n 'Received type ' + (typeof target)\n )\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n let x = thisEnd - thisStart\n let y = end - start\n const len = Math.min(x, y)\n\n const thisCopy = this.slice(thisStart, thisEnd)\n const targetCopy = target.slice(start, end)\n\n for (let i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (numberIsNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [val], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n let indexSize = 1\n let arrLength = arr.length\n let valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n let i\n if (dir) {\n let foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n let found = true\n for (let j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n const remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n const strLen = string.length\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n let i\n for (i = 0; i < length; ++i) {\n const parsed = parseInt(string.substr(i * 2, 2), 16)\n if (numberIsNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset >>> 0\n if (isFinite(length)) {\n length = length >>> 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n const remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n let loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n case 'latin1':\n case 'binary':\n return asciiWrite(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n const res = []\n\n let i = start\n while (i < end) {\n const firstByte = buf[i]\n let codePoint = null\n let bytesPerSequence = (firstByte > 0xEF)\n ? 4\n : (firstByte > 0xDF)\n ? 3\n : (firstByte > 0xBF)\n ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n let secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nconst MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n const len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n let res = ''\n let i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n let ret = ''\n end = Math.min(buf.length, end)\n\n for (let i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n let ret = ''\n end = Math.min(buf.length, end)\n\n for (let i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n const len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n let out = ''\n for (let i = start; i < end; ++i) {\n out += hexSliceLookupTable[buf[i]]\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n const bytes = buf.slice(start, end)\n let res = ''\n // If bytes.length is odd, the last 8 bits must be ignored (same as node.js)\n for (let i = 0; i < bytes.length - 1; i += 2) {\n res += String.fromCharCode(bytes[i] + (bytes[i + 1] * 256))\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n const len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n const newBuf = this.subarray(start, end)\n // Return an augmented `Uint8Array` instance\n Object.setPrototypeOf(newBuf, Buffer.prototype)\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUintLE =\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n let val = this[offset]\n let mul = 1\n let i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUintBE =\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n let val = this[offset + --byteLength]\n let mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUint8 =\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUint16LE =\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUint16BE =\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUint32LE =\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUint32BE =\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readBigUInt64LE = defineBigIntMethod(function readBigUInt64LE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const lo = first +\n this[++offset] * 2 ** 8 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 24\n\n const hi = this[++offset] +\n this[++offset] * 2 ** 8 +\n this[++offset] * 2 ** 16 +\n last * 2 ** 24\n\n return BigInt(lo) + (BigInt(hi) << BigInt(32))\n})\n\nBuffer.prototype.readBigUInt64BE = defineBigIntMethod(function readBigUInt64BE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const hi = first * 2 ** 24 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n this[++offset]\n\n const lo = this[++offset] * 2 ** 24 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n last\n\n return (BigInt(hi) << BigInt(32)) + BigInt(lo)\n})\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n let val = this[offset]\n let mul = 1\n let i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n let i = byteLength\n let mul = 1\n let val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n const val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n const val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readBigInt64LE = defineBigIntMethod(function readBigInt64LE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const val = this[offset + 4] +\n this[offset + 5] * 2 ** 8 +\n this[offset + 6] * 2 ** 16 +\n (last << 24) // Overflow\n\n return (BigInt(val) << BigInt(32)) +\n BigInt(first +\n this[++offset] * 2 ** 8 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 24)\n})\n\nBuffer.prototype.readBigInt64BE = defineBigIntMethod(function readBigInt64BE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const val = (first << 24) + // Overflow\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n this[++offset]\n\n return (BigInt(val) << BigInt(32)) +\n BigInt(this[++offset] * 2 ** 24 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n last)\n})\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUintLE =\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n const maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n let mul = 1\n let i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUintBE =\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n const maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n let i = byteLength - 1\n let mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUint8 =\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeUint16LE =\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n return offset + 2\n}\n\nBuffer.prototype.writeUint16BE =\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n return offset + 2\n}\n\nBuffer.prototype.writeUint32LE =\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n return offset + 4\n}\n\nBuffer.prototype.writeUint32BE =\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n return offset + 4\n}\n\nfunction wrtBigUInt64LE (buf, value, offset, min, max) {\n checkIntBI(value, min, max, buf, offset, 7)\n\n let lo = Number(value & BigInt(0xffffffff))\n buf[offset++] = lo\n lo = lo >> 8\n buf[offset++] = lo\n lo = lo >> 8\n buf[offset++] = lo\n lo = lo >> 8\n buf[offset++] = lo\n let hi = Number(value >> BigInt(32) & BigInt(0xffffffff))\n buf[offset++] = hi\n hi = hi >> 8\n buf[offset++] = hi\n hi = hi >> 8\n buf[offset++] = hi\n hi = hi >> 8\n buf[offset++] = hi\n return offset\n}\n\nfunction wrtBigUInt64BE (buf, value, offset, min, max) {\n checkIntBI(value, min, max, buf, offset, 7)\n\n let lo = Number(value & BigInt(0xffffffff))\n buf[offset + 7] = lo\n lo = lo >> 8\n buf[offset + 6] = lo\n lo = lo >> 8\n buf[offset + 5] = lo\n lo = lo >> 8\n buf[offset + 4] = lo\n let hi = Number(value >> BigInt(32) & BigInt(0xffffffff))\n buf[offset + 3] = hi\n hi = hi >> 8\n buf[offset + 2] = hi\n hi = hi >> 8\n buf[offset + 1] = hi\n hi = hi >> 8\n buf[offset] = hi\n return offset + 8\n}\n\nBuffer.prototype.writeBigUInt64LE = defineBigIntMethod(function writeBigUInt64LE (value, offset = 0) {\n return wrtBigUInt64LE(this, value, offset, BigInt(0), BigInt('0xffffffffffffffff'))\n})\n\nBuffer.prototype.writeBigUInt64BE = defineBigIntMethod(function writeBigUInt64BE (value, offset = 0) {\n return wrtBigUInt64BE(this, value, offset, BigInt(0), BigInt('0xffffffffffffffff'))\n})\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n const limit = Math.pow(2, (8 * byteLength) - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n let i = 0\n let mul = 1\n let sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n const limit = Math.pow(2, (8 * byteLength) - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n let i = byteLength - 1\n let mul = 1\n let sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n return offset + 4\n}\n\nBuffer.prototype.writeBigInt64LE = defineBigIntMethod(function writeBigInt64LE (value, offset = 0) {\n return wrtBigUInt64LE(this, value, offset, -BigInt('0x8000000000000000'), BigInt('0x7fffffffffffffff'))\n})\n\nBuffer.prototype.writeBigInt64BE = defineBigIntMethod(function writeBigInt64BE (value, offset = 0) {\n return wrtBigUInt64BE(this, value, offset, -BigInt('0x8000000000000000'), BigInt('0x7fffffffffffffff'))\n})\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!Buffer.isBuffer(target)) throw new TypeError('argument should be a Buffer')\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('Index out of range')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n const len = end - start\n\n if (this === target && typeof Uint8Array.prototype.copyWithin === 'function') {\n // Use built-in when available, missing from IE11\n this.copyWithin(targetStart, start, end)\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, end),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n if (val.length === 1) {\n const code = val.charCodeAt(0)\n if ((encoding === 'utf8' && code < 128) ||\n encoding === 'latin1') {\n // Fast path: If `val` fits into a single byte, use that numeric value.\n val = code\n }\n }\n } else if (typeof val === 'number') {\n val = val & 255\n } else if (typeof val === 'boolean') {\n val = Number(val)\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n let i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n const bytes = Buffer.isBuffer(val)\n ? val\n : Buffer.from(val, encoding)\n const len = bytes.length\n if (len === 0) {\n throw new TypeError('The value \"' + val +\n '\" is invalid for argument \"value\"')\n }\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// CUSTOM ERRORS\n// =============\n\n// Simplified versions from Node, changed for Buffer-only usage\nconst errors = {}\nfunction E (sym, getMessage, Base) {\n errors[sym] = class NodeError extends Base {\n constructor () {\n super()\n\n Object.defineProperty(this, 'message', {\n value: getMessage.apply(this, arguments),\n writable: true,\n configurable: true\n })\n\n // Add the error code to the name to include it in the stack trace.\n this.name = `${this.name} [${sym}]`\n // Access the stack to generate the error message including the error code\n // from the name.\n this.stack // eslint-disable-line no-unused-expressions\n // Reset the name to the actual name.\n delete this.name\n }\n\n get code () {\n return sym\n }\n\n set code (value) {\n Object.defineProperty(this, 'code', {\n configurable: true,\n enumerable: true,\n value,\n writable: true\n })\n }\n\n toString () {\n return `${this.name} [${sym}]: ${this.message}`\n }\n }\n}\n\nE('ERR_BUFFER_OUT_OF_BOUNDS',\n function (name) {\n if (name) {\n return `${name} is outside of buffer bounds`\n }\n\n return 'Attempt to access memory outside buffer bounds'\n }, RangeError)\nE('ERR_INVALID_ARG_TYPE',\n function (name, actual) {\n return `The \"${name}\" argument must be of type number. Received type ${typeof actual}`\n }, TypeError)\nE('ERR_OUT_OF_RANGE',\n function (str, range, input) {\n let msg = `The value of \"${str}\" is out of range.`\n let received = input\n if (Number.isInteger(input) && Math.abs(input) > 2 ** 32) {\n received = addNumericalSeparator(String(input))\n } else if (typeof input === 'bigint') {\n received = String(input)\n if (input > BigInt(2) ** BigInt(32) || input < -(BigInt(2) ** BigInt(32))) {\n received = addNumericalSeparator(received)\n }\n received += 'n'\n }\n msg += ` It must be ${range}. Received ${received}`\n return msg\n }, RangeError)\n\nfunction addNumericalSeparator (val) {\n let res = ''\n let i = val.length\n const start = val[0] === '-' ? 1 : 0\n for (; i >= start + 4; i -= 3) {\n res = `_${val.slice(i - 3, i)}${res}`\n }\n return `${val.slice(0, i)}${res}`\n}\n\n// CHECK FUNCTIONS\n// ===============\n\nfunction checkBounds (buf, offset, byteLength) {\n validateNumber(offset, 'offset')\n if (buf[offset] === undefined || buf[offset + byteLength] === undefined) {\n boundsError(offset, buf.length - (byteLength + 1))\n }\n}\n\nfunction checkIntBI (value, min, max, buf, offset, byteLength) {\n if (value > max || value < min) {\n const n = typeof min === 'bigint' ? 'n' : ''\n let range\n if (byteLength > 3) {\n if (min === 0 || min === BigInt(0)) {\n range = `>= 0${n} and < 2${n} ** ${(byteLength + 1) * 8}${n}`\n } else {\n range = `>= -(2${n} ** ${(byteLength + 1) * 8 - 1}${n}) and < 2 ** ` +\n `${(byteLength + 1) * 8 - 1}${n}`\n }\n } else {\n range = `>= ${min}${n} and <= ${max}${n}`\n }\n throw new errors.ERR_OUT_OF_RANGE('value', range, value)\n }\n checkBounds(buf, offset, byteLength)\n}\n\nfunction validateNumber (value, name) {\n if (typeof value !== 'number') {\n throw new errors.ERR_INVALID_ARG_TYPE(name, 'number', value)\n }\n}\n\nfunction boundsError (value, length, type) {\n if (Math.floor(value) !== value) {\n validateNumber(value, type)\n throw new errors.ERR_OUT_OF_RANGE(type || 'offset', 'an integer', value)\n }\n\n if (length < 0) {\n throw new errors.ERR_BUFFER_OUT_OF_BOUNDS()\n }\n\n throw new errors.ERR_OUT_OF_RANGE(type || 'offset',\n `>= ${type ? 1 : 0} and <= ${length}`,\n value)\n}\n\n// HELPER FUNCTIONS\n// ================\n\nconst INVALID_BASE64_RE = /[^+/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node takes equal signs as end of the Base64 encoding\n str = str.split('=')[0]\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = str.trim().replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n let codePoint\n const length = string.length\n let leadSurrogate = null\n const bytes = []\n\n for (let i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n const byteArray = []\n for (let i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n let c, hi, lo\n const byteArray = []\n for (let i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n let i\n for (i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\n// ArrayBuffer or Uint8Array objects from other contexts (i.e. iframes) do not pass\n// the `instanceof` check but they should be treated as of that type.\n// See: https://github.com/feross/buffer/issues/166\nfunction isInstance (obj, type) {\n return obj instanceof type ||\n (obj != null && obj.constructor != null && obj.constructor.name != null &&\n obj.constructor.name === type.name)\n}\nfunction numberIsNaN (obj) {\n // For IE11 support\n return obj !== obj // eslint-disable-line no-self-compare\n}\n\n// Create lookup table for `toString('hex')`\n// See: https://github.com/feross/buffer/issues/219\nconst hexSliceLookupTable = (function () {\n const alphabet = '0123456789abcdef'\n const table = new Array(256)\n for (let i = 0; i < 16; ++i) {\n const i16 = i * 16\n for (let j = 0; j < 16; ++j) {\n table[i16 + j] = alphabet[i] + alphabet[j]\n }\n }\n return table\n})()\n\n// Return not function with Error if BigInt not supported\nfunction defineBigIntMethod (fn) {\n return typeof BigInt === 'undefined' ? BufferBigIntNotDefined : fn\n}\n\nfunction BufferBigIntNotDefined () {\n throw new Error('BigInt not supported')\n}\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// NOTE: These type checking functions intentionally don't use `instanceof`\n// because it is fragile and can be easily faked with `Object.create()`.\n\nfunction isArray(arg) {\n if (Array.isArray) {\n return Array.isArray(arg);\n }\n return objectToString(arg) === '[object Array]';\n}\nexports.isArray = isArray;\n\nfunction isBoolean(arg) {\n return typeof arg === 'boolean';\n}\nexports.isBoolean = isBoolean;\n\nfunction isNull(arg) {\n return arg === null;\n}\nexports.isNull = isNull;\n\nfunction isNullOrUndefined(arg) {\n return arg == null;\n}\nexports.isNullOrUndefined = isNullOrUndefined;\n\nfunction isNumber(arg) {\n return typeof arg === 'number';\n}\nexports.isNumber = isNumber;\n\nfunction isString(arg) {\n return typeof arg === 'string';\n}\nexports.isString = isString;\n\nfunction isSymbol(arg) {\n return typeof arg === 'symbol';\n}\nexports.isSymbol = isSymbol;\n\nfunction isUndefined(arg) {\n return arg === void 0;\n}\nexports.isUndefined = isUndefined;\n\nfunction isRegExp(re) {\n return objectToString(re) === '[object RegExp]';\n}\nexports.isRegExp = isRegExp;\n\nfunction isObject(arg) {\n return typeof arg === 'object' && arg !== null;\n}\nexports.isObject = isObject;\n\nfunction isDate(d) {\n return objectToString(d) === '[object Date]';\n}\nexports.isDate = isDate;\n\nfunction isError(e) {\n return (objectToString(e) === '[object Error]' || e instanceof Error);\n}\nexports.isError = isError;\n\nfunction isFunction(arg) {\n return typeof arg === 'function';\n}\nexports.isFunction = isFunction;\n\nfunction isPrimitive(arg) {\n return arg === null ||\n typeof arg === 'boolean' ||\n typeof arg === 'number' ||\n typeof arg === 'string' ||\n typeof arg === 'symbol' || // ES6 symbol\n typeof arg === 'undefined';\n}\nexports.isPrimitive = isPrimitive;\n\nexports.isBuffer = require('buffer').Buffer.isBuffer;\n\nfunction objectToString(o) {\n return Object.prototype.toString.call(o);\n}\n","/**\n * Default minimum size of a run.\n */\nconst DEFAULT_MIN_MERGE = 32\n\n/**\n * Minimum ordered subsequece required to do galloping.\n */\nconst DEFAULT_MIN_GALLOPING = 7\n\n/**\n * Default tmp storage length. Can increase depending on the size of the\n * smallest run to merge.\n */\nconst DEFAULT_TMP_STORAGE_LENGTH = 256\n\n/**\n * Pre-computed powers of 10 for efficient lexicographic comparison of\n * small integers.\n */\nconst POWERS_OF_TEN = [1e0, 1e1, 1e2, 1e3, 1e4, 1e5, 1e6, 1e7, 1e8, 1e9]\n\nlet results\n\n/**\n * Estimate the logarithm base 10 of a small integer.\n *\n * @param {number} x - The integer to estimate the logarithm of.\n * @return {number} - The estimated logarithm of the integer.\n */\nconst log10 = x => x < 1e5\n ? x < 1e2\n ? x < 1e1\n ? 0\n : 1\n : x < 1e4\n ? x < 1e3\n ? 2\n : 3\n : 4\n : x < 1e7\n ? x < 1e6\n ? 5\n : 6\n : x < 1e9\n ? x < 1e8\n ? 7\n : 8\n : 9\n\n/**\n * Default alphabetical comparison of items.\n *\n * @param {string|object|number} a - First element to compare.\n * @param {string|object|number} b - Second element to compare.\n * @return {number} - A positive number if a.toString() > b.toString(), a\n * negative number if .toString() < b.toString(), 0 otherwise.\n */\nfunction alphabeticalCompare (a, b) {\n if (a === b) {\n return 0\n }\n\n if (~ ~ a === a && ~ ~ b === b) {\n if (a === 0 || b === 0) {\n return a < b ? - 1 : 1\n }\n\n if (a < 0 || b < 0) {\n if (b >= 0) {\n return - 1\n }\n\n if (a >= 0) {\n return 1\n }\n\n a = - a\n b = - b\n }\n\n const al = log10(a)\n const bl = log10(b)\n\n let t = 0\n\n if (al < bl) {\n a *= POWERS_OF_TEN[bl - al - 1]\n b /= 10\n t = - 1\n } else if (al > bl) {\n b *= POWERS_OF_TEN[al - bl - 1]\n a /= 10\n t = 1\n }\n\n if (a === b) {\n return t\n }\n\n return a < b ? - 1 : 1\n }\n\n const aStr = String(a)\n const bStr = String(b)\n\n if (aStr === bStr) {\n return 0\n }\n\n return aStr < bStr ? - 1 : 1\n}\n\n/**\n * Compute minimum run length for TimSort\n *\n * @param {number} n - The size of the array to sort.\n */\nfunction minRunLength (n) {\n let r = 0\n\n while (n >= DEFAULT_MIN_MERGE) {\n r |= (n & 1)\n n >>= 1\n }\n\n return n + r\n}\n\n/**\n * Counts the length of a monotonically ascending or strictly monotonically\n * descending sequence (run) starting at array[lo] in the range [lo, hi). If\n * the run is descending it is made ascending.\n *\n * @param {array} array - The array to reverse.\n * @param {number} lo - First element in the range (inclusive).\n * @param {number} hi - Last element in the range.\n * @param {function} compare - Item comparison function.\n * @return {number} - The length of the run.\n */\nfunction makeAscendingRun (array, lo, hi, compare) {\n let runHi = lo + 1\n\n if (runHi === hi) {\n return 1\n }\n\n // Descending\n if (compare(array[runHi ++], array[lo]) < 0) {\n while (runHi < hi && compare(array[runHi], array[runHi - 1]) < 0) {\n runHi ++\n }\n\n reverseRun(array, lo, runHi)\n reverseRun(results, lo, runHi)\n // Ascending\n } else {\n while (runHi < hi && compare(array[runHi], array[runHi - 1]) >= 0) {\n runHi ++\n }\n }\n\n return runHi - lo\n}\n\n/**\n * Reverse an array in the range [lo, hi).\n *\n * @param {array} array - The array to reverse.\n * @param {number} lo - First element in the range (inclusive).\n * @param {number} hi - Last element in the range.\n */\nfunction reverseRun (array, lo, hi) {\n hi --\n\n while (lo < hi) {\n const t = array[lo]\n array[lo ++] = array[hi]\n array[hi --] = t\n }\n}\n\n/**\n * Perform the binary sort of the array in the range [lo, hi) where start is\n * the first element possibly out of order.\n *\n * @param {array} array - The array to sort.\n * @param {number} lo - First element in the range (inclusive).\n * @param {number} hi - Last element in the range.\n * @param {number} start - First element possibly out of order.\n * @param {function} compare - Item comparison function.\n */\nfunction binaryInsertionSort (array, lo, hi, start, compare) {\n if (start === lo) {\n start ++\n }\n\n for (; start < hi; start ++) {\n const pivot = array[start]\n const pivotIndex = results[start]\n\n // Ranges of the array where pivot belongs\n let left = lo\n let right = start\n\n /*\n * pivot >= array[i] for i in [lo, left)\n * pivot < array[i] for i in in [right, start)\n */\n while (left < right) {\n const mid = (left + right) >>> 1\n\n if (compare(pivot, array[mid]) < 0) {\n right = mid\n } else {\n left = mid + 1\n }\n }\n\n /*\n * Move elements right to make room for the pivot. If there are elements\n * equal to pivot, left points to the first slot after them: this is also\n * a reason for which TimSort is stable\n */\n let n = start - left\n // Switch is just an optimization for small arrays\n switch (n) {\n case 3:\n array[left + 3] = array[left + 2]\n results[left + 3] = results[left + 2]\n /* falls through */\n case 2:\n array[left + 2] = array[left + 1]\n results[left + 2] = results[left + 1]\n /* falls through */\n case 1:\n array[left + 1] = array[left]\n results[left + 1] = results[left]\n break\n default:\n while (n > 0) {\n array[left + n] = array[left + n - 1]\n results[left + n] = results[left + n - 1]\n n --\n }\n }\n\n array[left] = pivot\n results[left] = pivotIndex\n }\n}\n\n/**\n * Find the position at which to insert a value in a sorted range. If the range\n * contains elements equal to the value the leftmost element index is returned\n * (for stability).\n *\n * @param {number} value - Value to insert.\n * @param {array} array - The array in which to insert value.\n * @param {number} start - First element in the range.\n * @param {number} length - Length of the range.\n * @param {number} hint - The index at which to begin the search.\n * @param {function} compare - Item comparison function.\n * @return {number} - The index where to insert value.\n */\nfunction gallopLeft (value, array, start, length, hint, compare) {\n let lastOffset = 0\n let maxOffset = 0\n let offset = 1\n\n if (compare(value, array[start + hint]) > 0) {\n maxOffset = length - hint\n\n while (\n offset < maxOffset\n && compare(value, array[start + hint + offset]) > 0\n ) {\n lastOffset = offset\n offset = (offset << 1) + 1\n\n if (offset <= 0) {\n offset = maxOffset\n }\n }\n\n if (offset > maxOffset) {\n offset = maxOffset\n }\n\n // Make offsets relative to start\n lastOffset += hint\n offset += hint\n\n // value <= array[start + hint]\n } else {\n maxOffset = hint + 1\n while (\n offset < maxOffset\n && compare(value, array[start + hint - offset]) <= 0\n ) {\n lastOffset = offset\n offset = (offset << 1) + 1\n\n if (offset <= 0) {\n offset = maxOffset\n }\n }\n if (offset > maxOffset) {\n offset = maxOffset\n }\n\n // Make offsets relative to start\n const tmp = lastOffset\n lastOffset = hint - offset\n offset = hint - tmp\n }\n\n /*\n * Now array[start+lastOffset] < value <= array[start+offset], so value\n * belongs somewhere in the range (start + lastOffset, start + offset]. Do a\n * binary search, with invariant array[start + lastOffset - 1] < value <=\n * array[start + offset].\n */\n lastOffset ++\n while (lastOffset < offset) {\n const m = lastOffset + ((offset - lastOffset) >>> 1)\n\n if (compare(value, array[start + m]) > 0) {\n lastOffset = m + 1\n } else {\n offset = m\n }\n }\n return offset\n}\n\n/**\n * Find the position at which to insert a value in a sorted range. If the range\n * contains elements equal to the value the rightmost element index is returned\n * (for stability).\n *\n * @param {number} value - Value to insert.\n * @param {array} array - The array in which to insert value.\n * @param {number} start - First element in the range.\n * @param {number} length - Length of the range.\n * @param {number} hint - The index at which to begin the search.\n * @param {function} compare - Item comparison function.\n * @return {number} - The index where to insert value.\n */\nfunction gallopRight (value, array, start, length, hint, compare) {\n let lastOffset = 0\n let maxOffset = 0\n let offset = 1\n\n if (compare(value, array[start + hint]) < 0) {\n maxOffset = hint + 1\n\n while (\n offset < maxOffset\n && compare(value, array[start + hint - offset]) < 0\n ) {\n lastOffset = offset\n offset = (offset << 1) + 1\n\n if (offset <= 0) {\n offset = maxOffset\n }\n }\n\n if (offset > maxOffset) {\n offset = maxOffset\n }\n\n // Make offsets relative to start\n const tmp = lastOffset\n lastOffset = hint - offset\n offset = hint - tmp\n\n // value >= array[start + hint]\n } else {\n maxOffset = length - hint\n\n while (\n offset < maxOffset\n && compare(value, array[start + hint + offset]) >= 0\n ) {\n lastOffset = offset\n offset = (offset << 1) + 1\n\n if (offset <= 0) {\n offset = maxOffset\n }\n }\n\n if (offset > maxOffset) {\n offset = maxOffset\n }\n\n // Make offsets relative to start\n lastOffset += hint\n offset += hint\n }\n\n /*\n * Now array[start+lastOffset] < value <= array[start+offset], so value\n * belongs somewhere in the range (start + lastOffset, start + offset]. Do a\n * binary search, with invariant array[start + lastOffset - 1] < value <=\n * array[start + offset].\n */\n lastOffset ++\n\n while (lastOffset < offset) {\n const m = lastOffset + ((offset - lastOffset) >>> 1)\n\n if (compare(value, array[start + m]) < 0) {\n offset = m\n } else {\n lastOffset = m + 1\n }\n }\n\n return offset\n}\n\nclass TimSort {\n constructor (array, compare) {\n this.array = array\n this.compare = compare\n\n const {length} = array\n\n this.length = length\n this.minGallop = DEFAULT_MIN_GALLOPING\n\n this.tmpStorageLength = length < 2 * DEFAULT_TMP_STORAGE_LENGTH\n ? length >>> 1\n : DEFAULT_TMP_STORAGE_LENGTH\n\n this.tmp = new Array(this.tmpStorageLength)\n this.tmpIndex = new Array(this.tmpStorageLength)\n\n this.stackLength = length < 120\n ? 5\n : length < 1542\n ? 10\n : length < 119151\n ? 19\n : 40\n\n this.runStart = new Array(this.stackLength)\n this.runLength = new Array(this.stackLength)\n\n this.stackSize = 0\n }\n\n /**\n * Push a new run on TimSort's stack.\n *\n * @param {number} runStart - Start index of the run in the original array.\n * @param {number} runLength - Length of the run;\n */\n pushRun (runStart, runLength) {\n this.runStart[this.stackSize] = runStart\n this.runLength[this.stackSize] = runLength\n this.stackSize += 1\n }\n\n /**\n * Merge runs on TimSort's stack so that the following holds for all i:\n * 1) runLength[i - 3] > runLength[i - 2] + runLength[i - 1]\n * 2) runLength[i - 2] > runLength[i - 1]\n */\n mergeRuns () {\n while (this.stackSize > 1) {\n let n = this.stackSize - 2\n\n if (\n (\n n >= 1\n && this.runLength[n - 1] <= this.runLength[n] + this.runLength[n + 1]\n )\n || (\n n >= 2\n && this.runLength[n - 2] <= this.runLength[n] + this.runLength[n - 1]\n )\n ) {\n if (this.runLength[n - 1] < this.runLength[n + 1]) {\n n --\n }\n } else if (this.runLength[n] > this.runLength[n + 1]) {\n break\n }\n this.mergeAt(n)\n }\n }\n\n /**\n * Merge all runs on TimSort's stack until only one remains.\n */\n forceMergeRuns () {\n while (this.stackSize > 1) {\n let n = this.stackSize - 2\n\n if (n > 0 && this.runLength[n - 1] < this.runLength[n + 1]) {\n n --\n }\n\n this.mergeAt(n)\n }\n }\n\n /**\n * Merge the runs on the stack at positions i and i+1. Must be always be called\n * with i=stackSize-2 or i=stackSize-3 (that is, we merge on top of the stack).\n *\n * @param {number} i - Index of the run to merge in TimSort's stack.\n */\n mergeAt (i) {\n const {compare} = this\n const {array} = this\n\n let start1 = this.runStart[i]\n let length1 = this.runLength[i]\n const start2 = this.runStart[i + 1]\n let length2 = this.runLength[i + 1]\n\n this.runLength[i] = length1 + length2\n\n if (i === this.stackSize - 3) {\n this.runStart[i + 1] = this.runStart[i + 2]\n this.runLength[i + 1] = this.runLength[i + 2]\n }\n\n this.stackSize --\n\n /*\n * Find where the first element in the second run goes in run1. Previous\n * elements in run1 are already in place\n */\n const k = gallopRight(array[start2], array, start1, length1, 0, compare)\n start1 += k\n length1 -= k\n\n if (length1 === 0) {\n return\n }\n\n /*\n * Find where the last element in the first run goes in run2. Next elements\n * in run2 are already in place\n */\n length2 = gallopLeft(\n array[start1 + length1 - 1],\n array,\n start2,\n length2,\n length2 - 1,\n compare\n )\n\n if (length2 === 0) {\n return\n }\n\n /*\n * Merge remaining runs. A tmp array with length = min(length1, length2) is\n * used\n */\n if (length1 <= length2) {\n this.mergeLow(start1, length1, start2, length2)\n } else {\n this.mergeHigh(start1, length1, start2, length2)\n }\n }\n\n /**\n * Merge two adjacent runs in a stable way. The runs must be such that the\n * first element of run1 is bigger than the first element in run2 and the\n * last element of run1 is greater than all the elements in run2.\n * The method should be called when run1.length <= run2.length as it uses\n * TimSort temporary array to store run1. Use mergeHigh if run1.length >\n * run2.length.\n *\n * @param {number} start1 - First element in run1.\n * @param {number} length1 - Length of run1.\n * @param {number} start2 - First element in run2.\n * @param {number} length2 - Length of run2.\n */\n mergeLow (start1, length1, start2, length2) {\n const {compare} = this\n const {array} = this\n const {tmp} = this\n const {tmpIndex} = this\n let i = 0\n\n for (i = 0; i < length1; i ++) {\n tmp[i] = array[start1 + i]\n tmpIndex[i] = results[start1 + i]\n }\n\n let cursor1 = 0\n let cursor2 = start2\n let dest = start1\n\n array[dest] = array[cursor2]\n results[dest] = results[cursor2]\n\n dest ++\n cursor2 ++\n\n if (-- length2 === 0) {\n for (i = 0; i < length1; i ++) {\n array[dest + i] = tmp[cursor1 + i]\n results[dest + i] = tmpIndex[cursor1 + i]\n }\n return\n }\n\n if (length1 === 1) {\n for (i = 0; i < length2; i ++) {\n array[dest + i] = array[cursor2 + i]\n results[dest + i] = results[cursor2 + i]\n }\n array[dest + length2] = tmp[cursor1]\n results[dest + length2] = tmpIndex[cursor1]\n return\n }\n\n let {minGallop} = this\n\n while (true) {\n let count1 = 0\n let count2 = 0\n let exit = false\n\n do {\n if (compare(array[cursor2], tmp[cursor1]) < 0) {\n array[dest] = array[cursor2]\n results[dest] = results[cursor2]\n dest ++\n cursor2 ++\n count2 ++\n count1 = 0\n\n if (-- length2 === 0) {\n exit = true\n break\n }\n } else {\n array[dest] = tmp[cursor1]\n results[dest] = tmpIndex[cursor1]\n dest ++\n cursor1 ++\n count1 ++\n count2 = 0\n if (-- length1 === 1) {\n exit = true\n break\n }\n }\n } while ((count1 | count2) < minGallop)\n\n if (exit) {\n break\n }\n\n do {\n count1 = gallopRight(array[cursor2], tmp, cursor1, length1, 0, compare)\n\n if (count1 !== 0) {\n for (i = 0; i < count1; i ++) {\n array[dest + i] = tmp[cursor1 + i]\n results[dest + i] = tmpIndex[cursor1 + i]\n }\n\n dest += count1\n cursor1 += count1\n length1 -= count1\n if (length1 <= 1) {\n exit = true\n break\n }\n }\n\n array[dest] = array[cursor2]\n results[dest] = results[cursor2]\n\n dest ++\n cursor2 ++\n\n if (-- length2 === 0) {\n exit = true\n break\n }\n\n count2 = gallopLeft(tmp[cursor1], array, cursor2, length2, 0, compare)\n\n if (count2 !== 0) {\n for (i = 0; i < count2; i ++) {\n array[dest + i] = array[cursor2 + i]\n results[dest + i] = results[cursor2 + i]\n }\n\n dest += count2\n cursor2 += count2\n length2 -= count2\n\n if (length2 === 0) {\n exit = true\n break\n }\n }\n array[dest] = tmp[cursor1]\n results[dest] = tmpIndex[cursor1]\n dest ++\n cursor1 ++\n\n if (-- length1 === 1) {\n exit = true\n break\n }\n\n minGallop --\n } while (\n count1 >= DEFAULT_MIN_GALLOPING\n || count2 >= DEFAULT_MIN_GALLOPING\n )\n\n if (exit) {\n break\n }\n\n if (minGallop < 0) {\n minGallop = 0\n }\n\n minGallop += 2\n }\n\n this.minGallop = minGallop\n\n if (minGallop < 1) {\n this.minGallop = 1\n }\n\n if (length1 === 1) {\n for (i = 0; i < length2; i ++) {\n array[dest + i] = array[cursor2 + i]\n results[dest + i] = results[cursor2 + i]\n }\n array[dest + length2] = tmp[cursor1]\n results[dest + length2] = tmpIndex[cursor1]\n } else if (length1 === 0) {\n throw new Error('mergeLow preconditions were not respected')\n } else {\n for (i = 0; i < length1; i ++) {\n array[dest + i] = tmp[cursor1 + i]\n results[dest + i] = tmpIndex[cursor1 + i]\n }\n }\n }\n\n /**\n * Merge two adjacent runs in a stable way. The runs must be such that the\n * first element of run1 is bigger than the first element in run2 and the\n * last element of run1 is greater than all the elements in run2.\n * The method should be called when run1.length > run2.length as it uses\n * TimSort temporary array to store run2. Use mergeLow if run1.length <=\n * run2.length.\n *\n * @param {number} start1 - First element in run1.\n * @param {number} length1 - Length of run1.\n * @param {number} start2 - First element in run2.\n * @param {number} length2 - Length of run2.\n */\n mergeHigh (start1, length1, start2, length2) {\n const {compare} = this\n const {array} = this\n const {tmp} = this\n const {tmpIndex} = this\n let i = 0\n\n for (i = 0; i < length2; i ++) {\n tmp[i] = array[start2 + i]\n tmpIndex[i] = results[start2 + i]\n }\n\n let cursor1 = start1 + length1 - 1\n let cursor2 = length2 - 1\n let dest = start2 + length2 - 1\n let customCursor = 0\n let customDest = 0\n\n array[dest] = array[cursor1]\n results[dest] = results[cursor1]\n\n dest --\n cursor1 --\n\n if (-- length1 === 0) {\n customCursor = dest - (length2 - 1)\n\n for (i = 0; i < length2; i ++) {\n array[customCursor + i] = tmp[i]\n results[customCursor + i] = tmpIndex[i]\n }\n\n return\n }\n\n if (length2 === 1) {\n dest -= length1\n cursor1 -= length1\n customDest = dest + 1\n customCursor = cursor1 + 1\n\n for (i = length1 - 1; i >= 0; i --) {\n array[customDest + i] = array[customCursor + i]\n results[customDest + i] = results[customCursor + i]\n }\n\n array[dest] = tmp[cursor2]\n results[dest] = tmpIndex[cursor2]\n return\n }\n\n let {minGallop} = this\n\n while (true) {\n let count1 = 0\n let count2 = 0\n let exit = false\n\n do {\n if (compare(tmp[cursor2], array[cursor1]) < 0) {\n array[dest] = array[cursor1]\n results[dest] = results[cursor1]\n dest --\n cursor1 --\n count1 ++\n count2 = 0\n if (-- length1 === 0) {\n exit = true\n break\n }\n } else {\n array[dest] = tmp[cursor2]\n results[dest] = tmpIndex[cursor2]\n dest --\n cursor2 --\n count2 ++\n count1 = 0\n if (-- length2 === 1) {\n exit = true\n break\n }\n }\n } while ((count1 | count2) < minGallop)\n\n if (exit) {\n break\n }\n\n do {\n count1 = length1 - gallopRight(\n tmp[cursor2],\n array,\n start1,\n length1,\n length1 - 1,\n compare\n )\n\n if (count1 !== 0) {\n dest -= count1\n cursor1 -= count1\n length1 -= count1\n customDest = dest + 1\n customCursor = cursor1 + 1\n\n for (i = count1 - 1; i >= 0; i --) {\n array[customDest + i] = array[customCursor + i]\n results[customDest + i] = results[customCursor + i]\n }\n\n if (length1 === 0) {\n exit = true\n break\n }\n }\n\n array[dest] = tmp[cursor2]\n results[dest] = tmpIndex[cursor2]\n dest --\n cursor2 --\n\n if (-- length2 === 1) {\n exit = true\n break\n }\n\n count2 = length2 - gallopLeft(\n array[cursor1],\n tmp,\n 0,\n length2,\n length2 - 1,\n compare\n )\n\n if (count2 !== 0) {\n dest -= count2\n cursor2 -= count2\n length2 -= count2\n customDest = dest + 1\n customCursor = cursor2 + 1\n\n for (i = 0; i < count2; i ++) {\n array[customDest + i] = tmp[customCursor + i]\n results[customDest + i] = tmpIndex[customCursor + i]\n }\n\n if (length2 <= 1) {\n exit = true\n break\n }\n }\n\n array[dest] = array[cursor1]\n results[dest] = results[cursor1]\n dest --\n cursor1 --\n\n if (-- length1 === 0) {\n exit = true\n break\n }\n\n minGallop --\n } while (\n count1 >= DEFAULT_MIN_GALLOPING\n || count2 >= DEFAULT_MIN_GALLOPING\n )\n\n if (exit) {\n break\n }\n\n if (minGallop < 0) {\n minGallop = 0\n }\n\n minGallop += 2\n }\n\n this.minGallop = minGallop\n\n if (minGallop < 1) {\n this.minGallop = 1\n }\n\n if (length2 === 1) {\n dest -= length1\n cursor1 -= length1\n customDest = dest + 1\n customCursor = cursor1 + 1\n\n for (i = length1 - 1; i >= 0; i --) {\n array[customDest + i] = array[customCursor + i]\n results[customDest + i] = results[customCursor + i]\n }\n\n array[dest] = tmp[cursor2]\n results[dest] = tmpIndex[cursor2]\n } else if (length2 === 0) {\n throw new Error('mergeHigh preconditions were not respected')\n } else {\n customCursor = dest - (length2 - 1)\n for (i = 0; i < length2; i ++) {\n array[customCursor + i] = tmp[i]\n results[customCursor + i] = tmpIndex[i]\n }\n }\n }\n}\n\n/**\n * Sort an array in the range [lo, hi) using TimSort.\n *\n * @param {array} array - The array to sort.\n * @param {function=} compare - Item comparison function. Default is\n * alphabetical\n * @param {number} lo - First element in the range (inclusive).\n * @param {number} hi - Last element in the range.\n * comparator.\n */\nfunction sort (array, compare, lo, hi) {\n if (!Array.isArray(array)) {\n throw new TypeError(\n `The \"array\" argument must be an array. Received ${array}`\n )\n }\n\n results = []\n\n const {length} = array\n\n let i = 0\n\n while (i < length) {\n results[i] = i ++\n }\n\n /*\n * Handle the case where a comparison function is not provided. We do\n * lexicographic sorting\n */\n if (!compare) {\n compare = alphabeticalCompare\n } else if (typeof compare !== 'function') {\n hi = lo\n lo = compare\n compare = alphabeticalCompare\n }\n\n if (!lo) {\n lo = 0\n }\n if (!hi) {\n hi = length\n }\n\n let remaining = hi - lo\n\n // The array is already sorted\n if (remaining < 2) {\n return results\n }\n\n let runLength = 0\n // On small arrays binary sort can be used directly\n if (remaining < DEFAULT_MIN_MERGE) {\n runLength = makeAscendingRun(array, lo, hi, compare)\n binaryInsertionSort(array, lo, hi, lo + runLength, compare)\n return results\n }\n\n const ts = new TimSort(array, compare)\n\n const minRun = minRunLength(remaining)\n\n do {\n runLength = makeAscendingRun(array, lo, hi, compare)\n if (runLength < minRun) {\n let force = remaining\n if (force > minRun) {\n force = minRun\n }\n\n binaryInsertionSort(array, lo, lo + force, lo + runLength, compare)\n runLength = force\n }\n // Push new run and merge if necessary\n ts.pushRun(lo, runLength)\n ts.mergeRuns()\n\n // Go find next run\n remaining -= runLength\n lo += runLength\n } while (remaining !== 0)\n\n // Force merging of remaining runs\n ts.forceMergeRuns()\n\n return results\n}\n\nmodule.exports = {\n sort\n}\n","'use strict';\nconst hasOwnProp = Object.prototype.hasOwnProperty;\n\nmodule.exports = (object, property) => hasOwnProp.call(object, property);\n","const hasOwnProperty = require('has-own-prop')\nconst {isObject, isArray} = require('core-util-is')\n\n\nconst PREFIX_BEFORE = 'before'\nconst PREFIX_AFTER_PROP = 'after-prop'\nconst PREFIX_AFTER_COLON = 'after-colon'\nconst PREFIX_AFTER_VALUE = 'after-value'\nconst PREFIX_AFTER = 'after'\n\nconst PREFIX_BEFORE_ALL = 'before-all'\nconst PREFIX_AFTER_ALL = 'after-all'\n\nconst BRACKET_OPEN = '['\nconst BRACKET_CLOSE = ']'\nconst CURLY_BRACKET_OPEN = '{'\nconst CURLY_BRACKET_CLOSE = '}'\nconst COMMA = ','\nconst EMPTY = ''\nconst MINUS = '-'\n\nconst SYMBOL_PREFIXES = [\n PREFIX_BEFORE,\n PREFIX_AFTER_PROP,\n PREFIX_AFTER_COLON,\n PREFIX_AFTER_VALUE,\n PREFIX_AFTER\n]\n\nconst NON_PROP_SYMBOL_KEYS = [\n PREFIX_BEFORE,\n PREFIX_BEFORE_ALL,\n PREFIX_AFTER_ALL\n].map(Symbol.for)\n\nconst COLON = ':'\nconst UNDEFINED = undefined\n\n\nconst symbol = (prefix, key) => Symbol.for(prefix + COLON + key)\n\nconst define = (target, key, value) => Object.defineProperty(target, key, {\n value,\n writable: true,\n configurable: true\n})\n\nconst copy_comments_by_kind = (\n target, source, target_key, source_key, prefix, remove_source\n) => {\n const source_prop = symbol(prefix, source_key)\n if (!hasOwnProperty(source, source_prop)) {\n return\n }\n\n const target_prop = target_key === source_key\n ? source_prop\n : symbol(prefix, target_key)\n\n define(target, target_prop, source[source_prop])\n\n if (remove_source) {\n delete source[source_prop]\n }\n}\n\nconst copy_comments = (\n target, source, target_key, source_key, remove_source\n) => {\n SYMBOL_PREFIXES.forEach(prefix => {\n copy_comments_by_kind(\n target, source, target_key, source_key, prefix, remove_source\n )\n })\n}\n\nconst swap_comments = (array, from, to) => {\n if (from === to) {\n return\n }\n\n SYMBOL_PREFIXES.forEach(prefix => {\n const target_prop = symbol(prefix, to)\n if (!hasOwnProperty(array, target_prop)) {\n copy_comments_by_kind(array, array, to, from, prefix, true)\n return\n }\n\n const comments = array[target_prop]\n delete array[target_prop]\n\n copy_comments_by_kind(array, array, to, from, prefix, true)\n define(array, symbol(prefix, from), comments)\n })\n}\n\nconst assign_non_prop_comments = (target, source) => {\n NON_PROP_SYMBOL_KEYS.forEach(key => {\n const comments = source[key]\n\n if (comments) {\n define(target, key, comments)\n }\n })\n}\n\n// Assign keys and comments\nconst assign = (target, source, keys) => {\n keys.forEach(key => {\n if (!hasOwnProperty(source, key)) {\n return\n }\n\n target[key] = source[key]\n copy_comments(target, source, key, key)\n })\n\n return target\n}\n\n\nmodule.exports = {\n SYMBOL_PREFIXES,\n\n PREFIX_BEFORE,\n PREFIX_AFTER_PROP,\n PREFIX_AFTER_COLON,\n PREFIX_AFTER_VALUE,\n PREFIX_AFTER,\n\n PREFIX_BEFORE_ALL,\n PREFIX_AFTER_ALL,\n\n BRACKET_OPEN,\n BRACKET_CLOSE,\n CURLY_BRACKET_OPEN,\n CURLY_BRACKET_CLOSE,\n\n COLON,\n COMMA,\n MINUS,\n EMPTY,\n\n UNDEFINED,\n\n symbol,\n define,\n copy_comments,\n swap_comments,\n assign_non_prop_comments,\n\n assign (target, source, keys) {\n if (!isObject(target)) {\n throw new TypeError('Cannot convert undefined or null to object')\n }\n\n if (!isObject(source)) {\n return target\n }\n\n if (keys === UNDEFINED) {\n keys = Object.keys(source)\n // We assign non-property comments\n // if argument `keys` is not specified\n assign_non_prop_comments(target, source)\n } else if (!isArray(keys)) {\n throw new TypeError('keys must be array or undefined')\n } else if (keys.length === 0) {\n // Or argument `keys` is an empty array\n assign_non_prop_comments(target, source)\n }\n\n return assign(target, source, keys)\n }\n}\n","const {isArray} = require('core-util-is')\nconst {sort} = require('array-timsort')\n\nconst {\n SYMBOL_PREFIXES,\n\n UNDEFINED,\n\n symbol,\n copy_comments,\n swap_comments\n} = require('./common')\n\n\nconst reverse_comments = array => {\n const {length} = array\n let i = 0\n const max = length / 2\n\n for (; i < max; i ++) {\n swap_comments(array, i, length - i - 1)\n }\n}\n\nconst move_comment = (target, source, i, offset, remove) => {\n copy_comments(target, source, i + offset, i, remove)\n}\n\nconst move_comments = (\n // `Array` target array\n target,\n // `Array` source array\n source,\n // `number` start index\n start,\n // `number` number of indexes to move\n count,\n // `number` offset to move\n offset,\n // `boolean` whether should remove the comments from source\n remove\n) => {\n if (offset > 0) {\n let i = count\n // | count | offset |\n // source: -------------\n // target: -------------\n // | remove |\n // => remove === offset\n\n // From [count - 1, 0]\n while (i -- > 0) {\n move_comment(target, source, start + i, offset, remove)\n }\n return\n }\n\n let i = 0\n // | remove | count |\n // -------------\n // -------------\n // | offset |\n\n // From [0, count - 1]\n while (i < count) {\n const ii = i ++\n move_comment(target, source, start + ii, offset, remove)\n }\n}\n\nconst remove_comments = (array, key) => {\n SYMBOL_PREFIXES.forEach(prefix => {\n const prop = symbol(prefix, key)\n delete array[prop]\n })\n}\n\nconst get_mapped = (map, key) => {\n let mapped = key\n\n while (mapped in map) {\n mapped = map[mapped]\n }\n\n return mapped\n}\n\n\nclass CommentArray extends Array {\n // - deleteCount + items.length\n\n // We should avoid `splice(begin, deleteCount, ...items)`,\n // because `splice(0, undefined)` is not equivalent to `splice(0)`,\n // as well as:\n // - slice\n splice (...args) {\n const {length} = this\n const ret = super.splice(...args)\n\n // #16\n // If no element removed, we might still need to move comments,\n // because splice could add new items\n\n // if (!ret.length) {\n // return ret\n // }\n\n // JavaScript syntax is silly\n // eslint-disable-next-line prefer-const\n let [begin, deleteCount, ...items] = args\n\n if (begin < 0) {\n begin += length\n }\n\n if (arguments.length === 1) {\n deleteCount = length - begin\n } else {\n deleteCount = Math.min(length - begin, deleteCount)\n }\n\n const {\n length: item_length\n } = items\n\n // itemsToDelete: -\n // itemsToAdd: +\n // | dc | count |\n // =======-------------============\n // =======++++++============\n // | il |\n const offset = item_length - deleteCount\n const start = begin + deleteCount\n const count = length - start\n\n move_comments(this, this, start, count, offset, true)\n\n return ret\n }\n\n slice (...args) {\n const {length} = this\n const array = super.slice(...args)\n if (!array.length) {\n return new CommentArray()\n }\n\n let [begin, before] = args\n\n // Ref:\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/slice\n if (before === UNDEFINED) {\n before = length\n } else if (before < 0) {\n before += length\n }\n\n if (begin < 0) {\n begin += length\n } else if (begin === UNDEFINED) {\n begin = 0\n }\n\n move_comments(array, this, begin, before - begin, - begin)\n\n return array\n }\n\n unshift (...items) {\n const {length} = this\n const ret = super.unshift(...items)\n const {\n length: items_length\n } = items\n\n if (items_length > 0) {\n move_comments(this, this, 0, length, items_length, true)\n }\n\n return ret\n }\n\n shift () {\n const ret = super.shift()\n const {length} = this\n\n remove_comments(this, 0)\n move_comments(this, this, 1, length, - 1, true)\n\n return ret\n }\n\n reverse () {\n super.reverse()\n\n reverse_comments(this)\n\n return this\n }\n\n pop () {\n const ret = super.pop()\n\n // Removes comments\n remove_comments(this, this.length)\n\n return ret\n }\n\n concat (...items) {\n let {length} = this\n const ret = super.concat(...items)\n\n if (!items.length) {\n return ret\n }\n\n move_comments(ret, this, 0, this.length, 0)\n\n items.forEach(item => {\n const prev = length\n length += isArray(item)\n ? item.length\n : 1\n\n if (!(item instanceof CommentArray)) {\n return\n }\n\n move_comments(ret, item, 0, item.length, prev)\n })\n\n return ret\n }\n\n sort (...args) {\n const result = sort(\n this,\n // Make sure there is no more than one argument\n ...args.slice(0, 1)\n )\n\n // For example,\n // if we sort ['b', 'd', 'c', 'a'],\n // then `result` will be [3, 0, 2, 1], and the array is ['a', 'b', 'c', 'd']\n\n // First, we swap index 0 (b) and index 3 (a), then the array comments are\n // ['a.comments', 'd.comments', 'c.comments', 'b.comments']\n // index 0 is finalized\n // index 3 is actually mapped to original index 0, we present as 0 -> 3\n\n // Then swap index 1 (d) and index 0 (-> 3, b)\n // 1 (index) -> 0 (new index) -> 3 (real_index)\n // ['d.comments', 'b.comments', 'c.comments', 'd.comments']\n // index 1 is finalized\n // index 3 is contains the item of original index 1\n // - we present as 1 -> 3\n // - it is ok that we don't remove mapping 0 -> 3\n\n // Then index 2 should be skipped\n\n // Then swap index 3 (d) and index 1 (-> 3, b), skipped\n\n const map = Object.create(null)\n\n result.forEach((source_index, index) => {\n if (source_index === index) {\n return\n }\n\n const real_source_index = get_mapped(map, source_index)\n\n if (real_source_index === index) {\n return\n }\n\n // The item of index `index` gets the final value\n // delete map[index]\n map[index] = real_source_index\n\n swap_comments(this, index, real_source_index)\n })\n\n return this\n }\n}\n\n\nmodule.exports = {\n CommentArray\n}\n","// JSON formatting\n\nconst esprima = require('esprima')\n\nconst {\n CommentArray,\n} = require('./array')\n\nconst {\n PREFIX_BEFORE,\n PREFIX_AFTER_PROP,\n PREFIX_AFTER_COLON,\n PREFIX_AFTER_VALUE,\n PREFIX_AFTER,\n\n PREFIX_BEFORE_ALL,\n PREFIX_AFTER_ALL,\n\n BRACKET_OPEN,\n BRACKET_CLOSE,\n CURLY_BRACKET_OPEN,\n CURLY_BRACKET_CLOSE,\n\n COLON,\n COMMA,\n MINUS,\n EMPTY,\n\n UNDEFINED,\n\n define,\n assign_non_prop_comments\n} = require('./common')\n\nconst tokenize = code => esprima.tokenize(code, {\n comment: true,\n loc: true\n})\n\nconst previous_hosts = []\nlet comments_host = null\nlet unassigned_comments = null\n\nconst previous_props = []\nlet last_prop\n\nlet remove_comments = false\nlet inline = false\nlet tokens = null\nlet last = null\nlet current = null\nlet index\nlet reviver = null\n\nconst clean = () => {\n previous_props.length =\n previous_hosts.length = 0\n\n last = null\n last_prop = UNDEFINED\n}\n\nconst free = () => {\n clean()\n\n tokens.length = 0\n\n unassigned_comments =\n comments_host =\n tokens =\n last =\n current =\n reviver = null\n}\n\nconst symbolFor = prefix => Symbol.for(\n last_prop !== UNDEFINED\n ? prefix + COLON + last_prop\n : prefix\n)\n\nconst transform = (k, v) => reviver\n ? reviver(k, v)\n : v\n\nconst unexpected = () => {\n const error = new SyntaxError(`Unexpected token ${current.value.slice(0, 1)}`)\n Object.assign(error, current.loc.start)\n\n throw error\n}\n\nconst unexpected_end = () => {\n const error = new SyntaxError('Unexpected end of JSON input')\n Object.assign(error, last\n ? last.loc.end\n // Empty string\n : {\n line: 1,\n column: 0\n })\n\n throw error\n}\n\n// Move the reader to the next\nconst next = () => {\n const new_token = tokens[++ index]\n inline = current\n && new_token\n && current.loc.end.line === new_token.loc.start.line\n || false\n\n last = current\n current = new_token\n}\n\nconst type = () => {\n if (!current) {\n unexpected_end()\n }\n\n return current.type === 'Punctuator'\n ? current.value\n : current.type\n}\n\nconst is = t => type() === t\n\nconst expect = a => {\n if (!is(a)) {\n unexpected()\n }\n}\n\nconst set_comments_host = new_host => {\n previous_hosts.push(comments_host)\n comments_host = new_host\n}\n\nconst restore_comments_host = () => {\n comments_host = previous_hosts.pop()\n}\n\nconst assign_after_comments = () => {\n if (!unassigned_comments) {\n return\n }\n\n const after_comments = []\n\n for (const comment of unassigned_comments) {\n // If the comment is inline, then it is an after-comma comment\n if (comment.inline) {\n after_comments.push(comment)\n // Otherwise, all comments are before:<next-prop> comment\n } else {\n break\n }\n }\n\n const {length} = after_comments\n if (!length) {\n return\n }\n\n if (length === unassigned_comments.length) {\n // If unassigned_comments are all consumed\n unassigned_comments = null\n } else {\n unassigned_comments.splice(0, length)\n }\n\n define(comments_host, symbolFor(PREFIX_AFTER), after_comments)\n}\n\nconst assign_comments = prefix => {\n if (!unassigned_comments) {\n return\n }\n\n define(comments_host, symbolFor(prefix), unassigned_comments)\n\n unassigned_comments = null\n}\n\nconst parse_comments = prefix => {\n const comments = []\n\n while (\n current\n && (\n is('LineComment')\n || is('BlockComment')\n )\n ) {\n const comment = {\n ...current,\n inline\n }\n\n // delete comment.loc\n comments.push(comment)\n\n next()\n }\n\n if (remove_comments) {\n return\n }\n\n if (!comments.length) {\n return\n }\n\n if (prefix) {\n define(comments_host, symbolFor(prefix), comments)\n return\n }\n\n unassigned_comments = comments\n}\n\nconst set_prop = (prop, push) => {\n if (push) {\n previous_props.push(last_prop)\n }\n\n last_prop = prop\n}\n\nconst restore_prop = () => {\n last_prop = previous_props.pop()\n}\n\nconst parse_object = () => {\n const obj = {}\n set_comments_host(obj)\n set_prop(UNDEFINED, true)\n\n let started = false\n let name\n\n parse_comments()\n\n while (!is(CURLY_BRACKET_CLOSE)) {\n if (started) {\n assign_comments(PREFIX_AFTER_VALUE)\n\n // key-value pair delimiter\n expect(COMMA)\n next()\n parse_comments()\n\n assign_after_comments()\n\n // If there is a trailing comma, we might reach the end\n // ```\n // {\n // \"a\": 1,\n // }\n // ```\n if (is(CURLY_BRACKET_CLOSE)) {\n break\n }\n }\n\n started = true\n expect('String')\n name = JSON.parse(current.value)\n\n set_prop(name)\n assign_comments(PREFIX_BEFORE)\n\n next()\n parse_comments(PREFIX_AFTER_PROP)\n\n expect(COLON)\n\n next()\n parse_comments(PREFIX_AFTER_COLON)\n\n obj[name] = transform(name, walk())\n parse_comments()\n }\n\n if (started) {\n // If there are properties,\n // then the unassigned comments are after comments\n assign_comments(PREFIX_AFTER)\n }\n\n // bypass }\n next()\n last_prop = undefined\n\n if (!started) {\n // Otherwise, they are before comments\n assign_comments(PREFIX_BEFORE)\n }\n\n restore_comments_host()\n restore_prop()\n\n return obj\n}\n\nconst parse_array = () => {\n const array = new CommentArray()\n set_comments_host(array)\n set_prop(UNDEFINED, true)\n\n let started = false\n let i = 0\n\n parse_comments()\n\n while (!is(BRACKET_CLOSE)) {\n if (started) {\n assign_comments(PREFIX_AFTER_VALUE)\n expect(COMMA)\n next()\n parse_comments()\n\n assign_after_comments()\n\n if (is(BRACKET_CLOSE)) {\n break\n }\n }\n\n started = true\n\n set_prop(i)\n assign_comments(PREFIX_BEFORE)\n\n array[i] = transform(i, walk())\n i ++\n\n parse_comments()\n }\n\n if (started) {\n assign_comments(PREFIX_AFTER)\n }\n\n next()\n last_prop = undefined\n\n if (!started) {\n assign_comments(PREFIX_BEFORE)\n }\n\n restore_comments_host()\n restore_prop()\n\n return array\n}\n\nfunction walk () {\n let tt = type()\n\n if (tt === CURLY_BRACKET_OPEN) {\n next()\n return parse_object()\n }\n\n if (tt === BRACKET_OPEN) {\n next()\n return parse_array()\n }\n\n let negative = EMPTY\n\n // -1\n if (tt === MINUS) {\n next()\n tt = type()\n negative = MINUS\n }\n\n let v\n\n switch (tt) {\n case 'String':\n case 'Boolean':\n case 'Null':\n case 'Numeric':\n v = current.value\n next()\n return JSON.parse(negative + v)\n default:\n }\n}\n\nconst isObject = subject => Object(subject) === subject\n\nconst parse = (code, rev, no_comments) => {\n // Clean variables in closure\n clean()\n\n tokens = tokenize(code)\n reviver = rev\n remove_comments = no_comments\n\n if (!tokens.length) {\n unexpected_end()\n }\n\n index = - 1\n next()\n\n set_comments_host({})\n\n parse_comments(PREFIX_BEFORE_ALL)\n\n let result = walk()\n\n parse_comments(PREFIX_AFTER_ALL)\n\n if (current) {\n unexpected()\n }\n\n if (!no_comments && result !== null) {\n if (!isObject(result)) {\n // 1 -> new Number(1)\n // true -> new Boolean(1)\n // \"foo\" -> new String(\"foo\")\n\n // eslint-disable-next-line no-new-object\n result = new Object(result)\n }\n\n assign_non_prop_comments(result, comments_host)\n }\n\n restore_comments_host()\n\n // reviver\n result = transform('', result)\n\n free()\n\n return result\n}\n\nmodule.exports = {\n parse,\n tokenize\n}\n","/*!\n * repeat-string <https://github.com/jonschlinkert/repeat-string>\n *\n * Copyright (c) 2014-2015, Jon Schlinkert.\n * Licensed under the MIT License.\n */\n\n'use strict';\n\n/**\n * Results cache\n */\n\nvar res = '';\nvar cache;\n\n/**\n * Expose `repeat`\n */\n\nmodule.exports = repeat;\n\n/**\n * Repeat the given `string` the specified `number`\n * of times.\n *\n * **Example:**\n *\n * ```js\n * var repeat = require('repeat-string');\n * repeat('A', 5);\n * //=> AAAAA\n * ```\n *\n * @param {String} `string` The string to repeat\n * @param {Number} `number` The number of times to repeat the string\n * @return {String} Repeated string\n * @api public\n */\n\nfunction repeat(str, num) {\n if (typeof str !== 'string') {\n throw new TypeError('expected a string');\n }\n\n // cover common, quick use cases\n if (num === 1) return str;\n if (num === 2) return str + str;\n\n var max = str.length * num;\n if (cache !== str || typeof cache === 'undefined') {\n cache = str;\n res = '';\n } else if (res.length >= max) {\n return res.substr(0, max);\n }\n\n while (max > res.length && num > 1) {\n if (num & 1) {\n res += str;\n }\n\n num >>= 1;\n str += str;\n }\n\n res += str;\n res = res.substr(0, max);\n return res;\n}\n","const {\n isArray, isObject, isFunction, isNumber, isString\n} = require('core-util-is')\nconst repeat = require('repeat-string')\n\nconst {\n PREFIX_BEFORE_ALL,\n PREFIX_BEFORE,\n PREFIX_AFTER_PROP,\n PREFIX_AFTER_COLON,\n PREFIX_AFTER_VALUE,\n PREFIX_AFTER,\n PREFIX_AFTER_ALL,\n\n BRACKET_OPEN,\n BRACKET_CLOSE,\n CURLY_BRACKET_OPEN,\n CURLY_BRACKET_CLOSE,\n COLON,\n COMMA,\n EMPTY,\n\n UNDEFINED\n} = require('./common')\n\n// eslint-disable-next-line no-control-regex, no-misleading-character-class\nconst ESCAPABLE = /[\\\\\"\\x00-\\x1f\\x7f-\\x9f\\u00ad\\u0600-\\u0604\\u070f\\u17b4\\u17b5\\u200c-\\u200f\\u2028-\\u202f\\u2060-\\u206f\\ufeff\\ufff0-\\uffff]/g\n\n// String constants\nconst SPACE = ' '\nconst LF = '\\n'\nconst STR_NULL = 'null'\n\n// Symbol tags\nconst BEFORE = prop => `${PREFIX_BEFORE}:${prop}`\nconst AFTER_PROP = prop => `${PREFIX_AFTER_PROP}:${prop}`\nconst AFTER_COLON = prop => `${PREFIX_AFTER_COLON}:${prop}`\nconst AFTER_VALUE = prop => `${PREFIX_AFTER_VALUE}:${prop}`\nconst AFTER = prop => `${PREFIX_AFTER}:${prop}`\n\n// table of character substitutions\nconst meta = {\n '\\b': '\\\\b',\n '\\t': '\\\\t',\n '\\n': '\\\\n',\n '\\f': '\\\\f',\n '\\r': '\\\\r',\n '\"': '\\\\\"',\n '\\\\': '\\\\\\\\'\n}\n\nconst escape = string => {\n ESCAPABLE.lastIndex = 0\n\n if (!ESCAPABLE.test(string)) {\n return string\n }\n\n return string.replace(ESCAPABLE, a => {\n const c = meta[a]\n return typeof c === 'string'\n ? c\n : a\n })\n}\n\n// Escape no control characters, no quote characters,\n// and no backslash characters,\n// then we can safely slap some quotes around it.\nconst quote = string => `\"${escape(string)}\"`\nconst comment_stringify = (value, line) => line\n ? `//${value}`\n : `/*${value}*/`\n\n// display_block `boolean` whether the\n// WHOLE block of comments is always a block group\nconst process_comments = (host, symbol_tag, deeper_gap, display_block) => {\n const comments = host[Symbol.for(symbol_tag)]\n if (!comments || !comments.length) {\n return EMPTY\n }\n\n let is_line_comment = false\n\n const str = comments.reduce((prev, {\n inline,\n type,\n value\n }) => {\n const delimiter = inline\n ? SPACE\n : LF + deeper_gap\n\n is_line_comment = type === 'LineComment'\n\n return prev + delimiter + comment_stringify(value, is_line_comment)\n }, EMPTY)\n\n\n return display_block\n // line comment should always end with a LF\n || is_line_comment\n ? str + LF + deeper_gap\n : str\n}\n\nlet replacer = null\nlet indent = EMPTY\n\nconst clean = () => {\n replacer = null\n indent = EMPTY\n}\n\nconst join = (one, two, gap) =>\n one\n ? two\n // Symbol.for('before') and Symbol.for('before:prop')\n // might both exist if user mannually add comments to the object\n // and make a mistake.\n // SO, we are not to only trimRight but trim for both sides\n ? one + two.trim() + LF + gap\n : one.trimRight() + LF + gap\n : two\n ? two.trimRight() + LF + gap\n : EMPTY\n\nconst join_content = (inside, value, gap) => {\n const comment = process_comments(value, PREFIX_BEFORE, gap + indent, true)\n\n return join(comment, inside, gap)\n}\n\n// | deeper_gap |\n// | gap | indent |\n// [\n// \"foo\",\n// \"bar\"\n// ]\nconst array_stringify = (value, gap) => {\n const deeper_gap = gap + indent\n\n const {length} = value\n\n // From the item to before close\n let inside = EMPTY\n let after_comma = EMPTY\n\n // Never use Array.prototype.forEach,\n // that we should iterate all items\n for (let i = 0; i < length; i ++) {\n if (i !== 0) {\n inside += COMMA\n }\n\n const before = join(\n after_comma,\n process_comments(value, BEFORE(i), deeper_gap),\n deeper_gap\n )\n\n inside += before || (LF + deeper_gap)\n\n // JSON.stringify([undefined]) => [null]\n inside += stringify(i, value, deeper_gap) || STR_NULL\n\n inside += process_comments(value, AFTER_VALUE(i), deeper_gap)\n\n after_comma = process_comments(value, AFTER(i), deeper_gap)\n }\n\n inside += join(\n after_comma,\n process_comments(value, PREFIX_AFTER, deeper_gap),\n deeper_gap\n )\n\n return BRACKET_OPEN\n + join_content(inside, value, gap)\n + BRACKET_CLOSE\n}\n\n// | deeper_gap |\n// | gap | indent |\n// {\n// \"foo\": 1,\n// \"bar\": 2\n// }\nconst object_stringify = (value, gap) => {\n // Due to a specification blunder in ECMAScript, typeof null is 'object',\n // so watch out for that case.\n if (!value) {\n return 'null'\n }\n\n const deeper_gap = gap + indent\n\n // From the first element to before close\n let inside = EMPTY\n let after_comma = EMPTY\n let first = true\n\n const keys = isArray(replacer)\n ? replacer\n : Object.keys(value)\n\n const iteratee = key => {\n // Stringified value\n const sv = stringify(key, value, deeper_gap)\n\n // If a value is undefined, then the key-value pair should be ignored\n if (sv === UNDEFINED) {\n return\n }\n\n // The treat ment\n if (!first) {\n inside += COMMA\n }\n\n first = false\n\n const before = join(\n after_comma,\n process_comments(value, BEFORE(key), deeper_gap),\n deeper_gap\n )\n\n inside += before || (LF + deeper_gap)\n\n inside += quote(key)\n + process_comments(value, AFTER_PROP(key), deeper_gap)\n + COLON\n + process_comments(value, AFTER_COLON(key), deeper_gap)\n + SPACE\n + sv\n + process_comments(value, AFTER_VALUE(key), deeper_gap)\n\n after_comma = process_comments(value, AFTER(key), deeper_gap)\n }\n\n keys.forEach(iteratee)\n\n // if (after_comma) {\n // inside += COMMA\n // }\n\n inside += join(\n after_comma,\n process_comments(value, PREFIX_AFTER, deeper_gap),\n deeper_gap\n )\n\n return CURLY_BRACKET_OPEN\n + join_content(inside, value, gap)\n + CURLY_BRACKET_CLOSE\n}\n\n// @param {string} key\n// @param {Object} holder\n// @param {function()|Array} replacer\n// @param {string} indent\n// @param {string} gap\nfunction stringify (key, holder, gap) {\n let value = holder[key]\n\n // If the value has a toJSON method, call it to obtain a replacement value.\n if (isObject(value) && isFunction(value.toJSON)) {\n value = value.toJSON(key)\n }\n\n // If we were called with a replacer function, then call the replacer to\n // obtain a replacement value.\n if (isFunction(replacer)) {\n value = replacer.call(holder, key, value)\n }\n\n switch (typeof value) {\n case 'string':\n return quote(value)\n\n case 'number':\n // JSON numbers must be finite. Encode non-finite numbers as null.\n return Number.isFinite(value) ? String(value) : STR_NULL\n\n case 'boolean':\n case 'null':\n\n // If the value is a boolean or null, convert it to a string. Note:\n // typeof null does not produce 'null'. The case is included here in\n // the remote chance that this gets fixed someday.\n return String(value)\n\n // If the type is 'object', we might be dealing with an object or an array or\n // null.\n case 'object':\n return isArray(value)\n ? array_stringify(value, gap)\n : object_stringify(value, gap)\n\n // undefined\n default:\n // JSON.stringify(undefined) === undefined\n // JSON.stringify('foo', () => undefined) === undefined\n }\n}\n\nconst get_indent = space => isString(space)\n // If the space parameter is a string, it will be used as the indent string.\n ? space\n : isNumber(space)\n ? repeat(SPACE, space)\n : EMPTY\n\nconst {toString} = Object.prototype\nconst PRIMITIVE_OBJECT_TYPES = [\n '[object Number]',\n '[object String]',\n '[object Boolean]'\n]\n\nconst is_primitive_object = subject => {\n if (typeof subject !== 'object') {\n return false\n }\n\n const str = toString.call(subject)\n return PRIMITIVE_OBJECT_TYPES.includes(str)\n}\n\n// @param {function()|Array} replacer\n// @param {string|number} space\nmodule.exports = (value, replacer_, space) => {\n // The stringify method takes a value and an optional replacer, and an optional\n // space parameter, and returns a JSON text. The replacer can be a function\n // that can replace values, or an array of strings that will select the keys.\n // A default replacer method can be provided. Use of the space parameter can\n // produce text that is more easily readable.\n\n // If the space parameter is a number, make an indent string containing that\n // many spaces.\n const indent_ = get_indent(space)\n\n if (!indent_) {\n return JSON.stringify(value, replacer_)\n }\n\n // vanilla `JSON.parse` allow invalid replacer\n if (!isFunction(replacer_) && !isArray(replacer_)) {\n replacer_ = null\n }\n\n replacer = replacer_\n indent = indent_\n\n const str = is_primitive_object(value)\n ? JSON.stringify(value)\n : stringify('', {'': value}, EMPTY)\n\n clean()\n\n return isObject(value)\n ? process_comments(value, PREFIX_BEFORE_ALL, EMPTY).trimLeft()\n + str\n + process_comments(value, PREFIX_AFTER_ALL, EMPTY).trimRight()\n : str\n}\n","const {parse, tokenize} = require('./parse')\nconst stringify = require('./stringify')\nconst {CommentArray} = require('./array')\nconst {assign} = require('./common')\n\nmodule.exports = {\n parse,\n stringify,\n tokenize,\n\n CommentArray,\n assign\n}\n"],"names":["this","require$$0","ieee754","require$$1","isArray","isNumber","isString","isObject","isFunction","src","sort","PREFIX_BEFORE","PREFIX_AFTER_PROP","PREFIX_AFTER_COLON","PREFIX_AFTER_VALUE","PREFIX_AFTER","PREFIX_BEFORE_ALL","PREFIX_AFTER_ALL","BRACKET_OPEN","BRACKET_CLOSE","CURLY_BRACKET_OPEN","CURLY_BRACKET_CLOSE","COMMA","EMPTY","MINUS","SYMBOL_PREFIXES","COLON","UNDEFINED","symbol","define","copy_comments","swap_comments","assign_non_prop_comments","assign","require$$2","remove_comments","CommentArray","tokenize","index","clean","parse","repeat","stringify","require$$3"],"mappings":"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"} \ No newline at end of file diff --git a/assets/index.b990f5f5.js.map b/assets/index.b990f5f5.js.map deleted file mode 100644 index a4723bc7..00000000 --- a/assets/index.b990f5f5.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"mappings":"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","names":["p","n","u","i","t","o","r","f","e","v","d","_","b","c","I","T","y","g","x","L","z","w","C","P","H","$","M","m","j","A","s","a","N","O","k","toChildArray","this$1","cloneElement","Component","createElement","h","useEffect","Path_1","Errors_1","escapeString","dec2hex","hexId","DataModel_1","require$$0","require$$1","utils_1","require$$2","BooleanNode_1","Node_1","ListNode_1","SwitchNode_1","MapNode_1","require$$3","require$$4","Reference_1","StringNode_1","isEnum","this","require$$5","require$$6","require$$7","require$$8","require$$9","require$$10","require$$11","require$$12","require$$13","require$$14","require$$15","common","isObject","YAMLException","Mark","Type","Schema","map","json","core","_require","require","_hasOwnProperty","_toString","DEFAULT_SAFE_SCHEMA","DEFAULT_FULL_SCHEMA","State","load","loader","dumper","jsYaml","deprecated","Path","cleanUrl","yaml","hashString","lerp","rfdc","useRef","useState","useCallback","useMemo","Versions","ChoiceNode","StringNode","Reference","DataModel","createContext","useContext","Project","wasm","crypt","cryptModule","md5","md5Module","NoiseChunkGenerator","LAYERS","clamp","square","lerp2","clampedLerp","OldNoiseChunkGenerator","ModelPath","relativePath","l","MapNode","ObjectNode","memo","ListNode","useErrorBoundary","unescape","escape","Response","hljs","render"],"sources":["../../vite/modulepreload-polyfill","../../node_modules/preact/dist/preact.module.js","../../node_modules/preact-router/dist/preact-router.es.js","../../src/app/Analytics.ts","../../node_modules/preact/hooks/dist/hooks.module.js","../../src/app/components/Ad.tsx","../../src/app/components/Btn.tsx","../../node_modules/@mcschema/core/lib/model/Path.js","../../node_modules/@mcschema/core/lib/model/Errors.js","../../node_modules/@mcschema/core/lib/utils.js","../../node_modules/@mcschema/core/lib/model/DataModel.js","../../node_modules/@mcschema/core/lib/nodes/Node.js","../../node_modules/@mcschema/core/lib/nodes/BooleanNode.js","../../node_modules/@mcschema/core/lib/nodes/ListNode.js","../../node_modules/@mcschema/core/lib/nodes/SwitchNode.js","../../node_modules/@mcschema/core/lib/nodes/ChoiceNode.js","../../node_modules/@mcschema/core/lib/nodes/MapNode.js","../../node_modules/@mcschema/core/lib/nodes/NumberNode.js","../../node_modules/@mcschema/core/lib/nodes/ObjectNode.js","../../node_modules/@mcschema/core/lib/nodes/Reference.js","../../node_modules/@mcschema/core/lib/nodes/StringNode.js","../../node_modules/@mcschema/core/lib/Hook.js","../../node_modules/@mcschema/core/lib/Registries.js","../../node_modules/@mcschema/core/lib/ValidationOption.js","../../node_modules/@mcschema/core/lib/index.js","../../node_modules/js-yaml/lib/js-yaml/common.js","../../node_modules/js-yaml/lib/js-yaml/exception.js","../../node_modules/js-yaml/lib/js-yaml/mark.js","../../node_modules/js-yaml/lib/js-yaml/type.js","../../node_modules/js-yaml/lib/js-yaml/schema.js","../../node_modules/js-yaml/lib/js-yaml/type/str.js","../../node_modules/js-yaml/lib/js-yaml/type/seq.js","../../node_modules/js-yaml/lib/js-yaml/type/map.js","../../node_modules/js-yaml/lib/js-yaml/schema/failsafe.js","../../node_modules/js-yaml/lib/js-yaml/type/null.js","../../node_modules/js-yaml/lib/js-yaml/type/bool.js","../../node_modules/js-yaml/lib/js-yaml/type/int.js","../../node_modules/js-yaml/lib/js-yaml/type/float.js","../../node_modules/js-yaml/lib/js-yaml/schema/json.js","../../node_modules/js-yaml/lib/js-yaml/schema/core.js","../../node_modules/js-yaml/lib/js-yaml/type/timestamp.js","../../node_modules/js-yaml/lib/js-yaml/type/merge.js","../../node_modules/js-yaml/lib/js-yaml/type/binary.js","../../node_modules/js-yaml/lib/js-yaml/type/omap.js","../../node_modules/js-yaml/lib/js-yaml/type/pairs.js","../../node_modules/js-yaml/lib/js-yaml/type/set.js","../../node_modules/js-yaml/lib/js-yaml/schema/default_safe.js","../../node_modules/js-yaml/lib/js-yaml/type/js/undefined.js","../../node_modules/js-yaml/lib/js-yaml/type/js/regexp.js","../../node_modules/js-yaml/lib/js-yaml/type/js/function.js","../../node_modules/js-yaml/lib/js-yaml/schema/default_full.js","../../node_modules/js-yaml/lib/js-yaml/loader.js","../../node_modules/js-yaml/lib/js-yaml/dumper.js","../../node_modules/js-yaml/lib/js-yaml.js","../../node_modules/js-yaml/index.js","../../node_modules/rfdc/index.js","../../src/app/Utils.ts","../../src/app/components/BtnInput.tsx","../../src/app/hooks/useActiveTimout.ts","../../src/app/hooks/useAsyncFn.ts","../../src/app/hooks/useAsync.ts","../../src/app/hooks/useCanvas.ts","../../src/app/hooks/useFocus.ts","../../src/app/hooks/useHash.ts","../../src/app/hooks/useMediaQuery.ts","../../src/app/hooks/useModel.ts","../../src/app/hooks/useSearchParam.ts","../../src/app/components/BtnMenu.tsx","../../vite/preload-helper","../../src/app/components/Octicon.tsx","../../src/app/components/ErrorPanel.tsx","../../src/app/components/forms/Checkbox.tsx","../../src/app/components/forms/Input.tsx","../../src/app/components/forms/SearchList.tsx","../../src/app/services/Changelogs.ts","../../src/app/services/DataFetcher.ts","../../src/app/services/Schemas.ts","../../node_modules/lz-string/libs/lz-string.js","../../src/app/services/Sharing.ts","../../src/app/Store.ts","../../src/app/contexts/Locale.tsx","../../src/app/contexts/Project.tsx","../../src/app/contexts/Theme.tsx","../../src/app/contexts/Title.tsx","../../src/app/contexts/Version.tsx","../../node_modules/deepslate-rs/deepslate_rs.js","../../node_modules/deepslate-rs/deepslate_rs_bg.wasm?url","../../node_modules/crypt/crypt.js","../../node_modules/charenc/charenc.js","../../node_modules/is-buffer/index.js","../../node_modules/md5/md5.js","../../node_modules/deepslate/worldgen/dist/worldgen.esm.js","../../src/app/previews/BiomeSource.ts","../../src/app/previews/Decorator.ts","../../src/app/previews/Deepslate.ts","../../src/app/previews/noise/NoiseChunkGenerator.ts","../../src/app/previews/NoiseSettings.ts","../../src/app/previews/NormalNoise.ts","../../src/app/components/previews/BiomeSourcePreview.tsx","../../src/app/components/previews/DecoratorPreview.tsx","../../src/app/components/previews/DensityFunctionPreview.tsx","../../src/app/components/previews/NoisePreview.tsx","../../src/app/components/previews/NoiseSettingsPreview.tsx","../../src/app/components/generator/PreviewPanel.tsx","../../src/app/schema/transformOutput.ts","../../src/app/components/generator/SourcePanel.tsx","../../node_modules/preact/compat/dist/compat.module.js","../../src/app/schema/ModelWrapper.ts","../../src/app/schema/renderHtml.tsx","../../src/app/components/generator/Tree.tsx","../../node_modules/@giscus/react/dist/index.es.js","../../src/app/components/Giscus.tsx","../../node_modules/marked/lib/marked.esm.js","../../src/app/components/versions/ChangelogEntry.tsx","../../src/app/components/versions/ChangelogTag.tsx","../../src/app/components/versions/ChangelogList.tsx","../../src/app/components/versions/VersionDetail.tsx","../../src/app/components/versions/VersionEntry.tsx","../../src/app/components/versions/VersionList.tsx","../../src/app/components/versions/VersionMetaData.tsx","../../src/app/components/GuideCard.tsx","../../src/app/components/Header.tsx","../../src/app/components/Icons.tsx","../../src/app/components/sounds/SoundConfig.tsx","../../src/app/components/ToolCard.tsx","../../src/app/components/TreeView.tsx","../../src/app/pages/Category.tsx","../../src/app/pages/Changelog.tsx","../../src/app/pages/Generator.tsx","../../node_modules/highlight.js/lib/core.js","../../node_modules/highlight.js/es/languages/json.js","../../src/app/pages/Guide.tsx","../../src/app/pages/Guides.tsx","../../src/app/pages/Home.tsx","../../src/app/pages/Project.tsx","../../src/app/pages/Sounds.tsx","../../src/app/pages/Versions.tsx","../../src/app/App.tsx","../../src/app/Main.tsx"],"sourcesContent":["const p = function polyfill() {\n const relList = document.createElement('link').relList;\n if (relList && relList.supports && relList.supports('modulepreload')) {\n return;\n }\n for (const link of document.querySelectorAll('link[rel=\"modulepreload\"]')) {\n processPreload(link);\n }\n new MutationObserver((mutations) => {\n for (const mutation of mutations) {\n if (mutation.type !== 'childList') {\n continue;\n }\n for (const node of mutation.addedNodes) {\n if (node.tagName === 'LINK' && node.rel === 'modulepreload')\n processPreload(node);\n }\n }\n }).observe(document, { childList: true, subtree: true });\n function getFetchOpts(script) {\n const fetchOpts = {};\n if (script.integrity)\n fetchOpts.integrity = script.integrity;\n if (script.referrerpolicy)\n fetchOpts.referrerPolicy = script.referrerpolicy;\n if (script.crossorigin === 'use-credentials')\n fetchOpts.credentials = 'include';\n else if (script.crossorigin === 'anonymous')\n fetchOpts.credentials = 'omit';\n else\n fetchOpts.credentials = 'same-origin';\n return fetchOpts;\n }\n function processPreload(link) {\n if (link.ep)\n // ep marker = processed\n return;\n link.ep = true;\n // prepopulate the load record\n const fetchOpts = getFetchOpts(link);\n fetch(link.href, fetchOpts);\n }\n};__VITE_IS_MODERN__&&p();","var n,l,u,i,t,o,r={},f=[],e=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i;function c(n,l){for(var u in l)n[u]=l[u];return n}function s(n){var l=n.parentNode;l&&l.removeChild(n)}function a(n,l,u){var i,t,o,r=arguments,f={};for(o in l)\"key\"==o?i=l[o]:\"ref\"==o?t=l[o]:f[o]=l[o];if(arguments.length>3)for(u=[u],o=3;o<arguments.length;o++)u.push(r[o]);if(null!=u&&(f.children=u),\"function\"==typeof n&&null!=n.defaultProps)for(o in n.defaultProps)void 0===f[o]&&(f[o]=n.defaultProps[o]);return v(n,f,i,t,null)}function v(l,u,i,t,o){var r={type:l,props:u,key:i,ref:t,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,__h:null,constructor:void 0,__v:null==o?++n.__v:o};return null!=n.vnode&&n.vnode(r),r}function h(){return{current:null}}function y(n){return n.children}function p(n,l){this.props=n,this.context=l}function d(n,l){if(null==l)return n.__?d(n.__,n.__.__k.indexOf(n)+1):null;for(var u;l<n.__k.length;l++)if(null!=(u=n.__k[l])&&null!=u.__e)return u.__e;return\"function\"==typeof n.type?d(n):null}function _(n){var l,u;if(null!=(n=n.__)&&null!=n.__c){for(n.__e=n.__c.base=null,l=0;l<n.__k.length;l++)if(null!=(u=n.__k[l])&&null!=u.__e){n.__e=n.__c.base=u.__e;break}return _(n)}}function k(l){(!l.__d&&(l.__d=!0)&&u.push(l)&&!b.__r++||t!==n.debounceRendering)&&((t=n.debounceRendering)||i)(b)}function b(){for(var n;b.__r=u.length;)n=u.sort(function(n,l){return n.__v.__b-l.__v.__b}),u=[],n.some(function(n){var l,u,i,t,o,r;n.__d&&(o=(t=(l=n).__v).__e,(r=l.__P)&&(u=[],(i=c({},t)).__v=t.__v+1,I(r,t,i,l.__n,void 0!==r.ownerSVGElement,null!=t.__h?[o]:null,u,null==o?d(t):o,t.__h),T(u,t),t.__e!=o&&_(t)))})}function m(n,l,u,i,t,o,e,c,s,a){var h,p,_,k,b,m,w,A=i&&i.__k||f,P=A.length;for(u.__k=[],h=0;h<l.length;h++)if(null!=(k=u.__k[h]=null==(k=l[h])||\"boolean\"==typeof k?null:\"string\"==typeof k||\"number\"==typeof k||\"bigint\"==typeof k?v(null,k,null,null,k):Array.isArray(k)?v(y,{children:k},null,null,null):k.__b>0?v(k.type,k.props,k.key,null,k.__v):k)){if(k.__=u,k.__b=u.__b+1,null===(_=A[h])||_&&k.key==_.key&&k.type===_.type)A[h]=void 0;else for(p=0;p<P;p++){if((_=A[p])&&k.key==_.key&&k.type===_.type){A[p]=void 0;break}_=null}I(n,k,_=_||r,t,o,e,c,s,a),b=k.__e,(p=k.ref)&&_.ref!=p&&(w||(w=[]),_.ref&&w.push(_.ref,null,k),w.push(p,k.__c||b,k)),null!=b?(null==m&&(m=b),\"function\"==typeof k.type&&null!=k.__k&&k.__k===_.__k?k.__d=s=g(k,s,n):s=x(n,k,_,A,b,s),a||\"option\"!==u.type?\"function\"==typeof u.type&&(u.__d=s):n.value=\"\"):s&&_.__e==s&&s.parentNode!=n&&(s=d(_))}for(u.__e=m,h=P;h--;)null!=A[h]&&(\"function\"==typeof u.type&&null!=A[h].__e&&A[h].__e==u.__d&&(u.__d=d(i,h+1)),L(A[h],A[h]));if(w)for(h=0;h<w.length;h++)z(w[h],w[++h],w[++h])}function g(n,l,u){var i,t;for(i=0;i<n.__k.length;i++)(t=n.__k[i])&&(t.__=n,l=\"function\"==typeof t.type?g(t,l,u):x(u,t,t,n.__k,t.__e,l));return l}function w(n,l){return l=l||[],null==n||\"boolean\"==typeof n||(Array.isArray(n)?n.some(function(n){w(n,l)}):l.push(n)),l}function x(n,l,u,i,t,o){var r,f,e;if(void 0!==l.__d)r=l.__d,l.__d=void 0;else if(null==u||t!=o||null==t.parentNode)n:if(null==o||o.parentNode!==n)n.appendChild(t),r=null;else{for(f=o,e=0;(f=f.nextSibling)&&e<i.length;e+=2)if(f==t)break n;n.insertBefore(t,o),r=o}return void 0!==r?r:t.nextSibling}function A(n,l,u,i,t){var o;for(o in u)\"children\"===o||\"key\"===o||o in l||C(n,o,null,u[o],i);for(o in l)t&&\"function\"!=typeof l[o]||\"children\"===o||\"key\"===o||\"value\"===o||\"checked\"===o||u[o]===l[o]||C(n,o,l[o],u[o],i)}function P(n,l,u){\"-\"===l[0]?n.setProperty(l,u):n[l]=null==u?\"\":\"number\"!=typeof u||e.test(l)?u:u+\"px\"}function C(n,l,u,i,t){var o;n:if(\"style\"===l)if(\"string\"==typeof u)n.style.cssText=u;else{if(\"string\"==typeof i&&(n.style.cssText=i=\"\"),i)for(l in i)u&&l in u||P(n.style,l,\"\");if(u)for(l in u)i&&u[l]===i[l]||P(n.style,l,u[l])}else if(\"o\"===l[0]&&\"n\"===l[1])o=l!==(l=l.replace(/Capture$/,\"\")),l=l.toLowerCase()in n?l.toLowerCase().slice(2):l.slice(2),n.l||(n.l={}),n.l[l+o]=u,u?i||n.addEventListener(l,o?H:$,o):n.removeEventListener(l,o?H:$,o);else if(\"dangerouslySetInnerHTML\"!==l){if(t)l=l.replace(/xlink[H:h]/,\"h\").replace(/sName$/,\"s\");else if(\"href\"!==l&&\"list\"!==l&&\"form\"!==l&&\"tabIndex\"!==l&&\"download\"!==l&&l in n)try{n[l]=null==u?\"\":u;break n}catch(n){}\"function\"==typeof u||(null!=u&&(!1!==u||\"a\"===l[0]&&\"r\"===l[1])?n.setAttribute(l,u):n.removeAttribute(l))}}function $(l){this.l[l.type+!1](n.event?n.event(l):l)}function H(l){this.l[l.type+!0](n.event?n.event(l):l)}function I(l,u,i,t,o,r,f,e,s){var a,v,h,d,_,k,b,g,w,x,A,P=u.type;if(void 0!==u.constructor)return null;null!=i.__h&&(s=i.__h,e=u.__e=i.__e,u.__h=null,r=[e]),(a=n.__b)&&a(u);try{n:if(\"function\"==typeof P){if(g=u.props,w=(a=P.contextType)&&t[a.__c],x=a?w?w.props.value:a.__:t,i.__c?b=(v=u.__c=i.__c).__=v.__E:(\"prototype\"in P&&P.prototype.render?u.__c=v=new P(g,x):(u.__c=v=new p(g,x),v.constructor=P,v.render=M),w&&w.sub(v),v.props=g,v.state||(v.state={}),v.context=x,v.__n=t,h=v.__d=!0,v.__h=[]),null==v.__s&&(v.__s=v.state),null!=P.getDerivedStateFromProps&&(v.__s==v.state&&(v.__s=c({},v.__s)),c(v.__s,P.getDerivedStateFromProps(g,v.__s))),d=v.props,_=v.state,h)null==P.getDerivedStateFromProps&&null!=v.componentWillMount&&v.componentWillMount(),null!=v.componentDidMount&&v.__h.push(v.componentDidMount);else{if(null==P.getDerivedStateFromProps&&g!==d&&null!=v.componentWillReceiveProps&&v.componentWillReceiveProps(g,x),!v.__e&&null!=v.shouldComponentUpdate&&!1===v.shouldComponentUpdate(g,v.__s,x)||u.__v===i.__v){v.props=g,v.state=v.__s,u.__v!==i.__v&&(v.__d=!1),v.__v=u,u.__e=i.__e,u.__k=i.__k,u.__k.forEach(function(n){n&&(n.__=u)}),v.__h.length&&f.push(v);break n}null!=v.componentWillUpdate&&v.componentWillUpdate(g,v.__s,x),null!=v.componentDidUpdate&&v.__h.push(function(){v.componentDidUpdate(d,_,k)})}v.context=x,v.props=g,v.state=v.__s,(a=n.__r)&&a(u),v.__d=!1,v.__v=u,v.__P=l,a=v.render(v.props,v.state,v.context),v.state=v.__s,null!=v.getChildContext&&(t=c(c({},t),v.getChildContext())),h||null==v.getSnapshotBeforeUpdate||(k=v.getSnapshotBeforeUpdate(d,_)),A=null!=a&&a.type===y&&null==a.key?a.props.children:a,m(l,Array.isArray(A)?A:[A],u,i,t,o,r,f,e,s),v.base=u.__e,u.__h=null,v.__h.length&&f.push(v),b&&(v.__E=v.__=null),v.__e=!1}else null==r&&u.__v===i.__v?(u.__k=i.__k,u.__e=i.__e):u.__e=j(i.__e,u,i,t,o,r,f,s);(a=n.diffed)&&a(u)}catch(l){u.__v=null,(s||null!=r)&&(u.__e=e,u.__h=!!s,r[r.indexOf(e)]=null),n.__e(l,u,i)}}function T(l,u){n.__c&&n.__c(u,l),l.some(function(u){try{l=u.__h,u.__h=[],l.some(function(n){n.call(u)})}catch(l){n.__e(l,u.__v)}})}function j(n,l,u,i,t,o,e,c){var a,v,h,y,p=u.props,d=l.props,_=l.type,k=0;if(\"svg\"===_&&(t=!0),null!=o)for(;k<o.length;k++)if((a=o[k])&&(a===n||(_?a.localName==_:3==a.nodeType))){n=a,o[k]=null;break}if(null==n){if(null===_)return document.createTextNode(d);n=t?document.createElementNS(\"http://www.w3.org/2000/svg\",_):document.createElement(_,d.is&&d),o=null,c=!1}if(null===_)p===d||c&&n.data===d||(n.data=d);else{if(o=o&&f.slice.call(n.childNodes),v=(p=u.props||r).dangerouslySetInnerHTML,h=d.dangerouslySetInnerHTML,!c){if(null!=o)for(p={},y=0;y<n.attributes.length;y++)p[n.attributes[y].name]=n.attributes[y].value;(h||v)&&(h&&(v&&h.__html==v.__html||h.__html===n.innerHTML)||(n.innerHTML=h&&h.__html||\"\"))}if(A(n,d,p,t,c),h)l.__k=[];else if(k=l.props.children,m(n,Array.isArray(k)?k:[k],l,u,i,t&&\"foreignObject\"!==_,o,e,n.firstChild,c),null!=o)for(k=o.length;k--;)null!=o[k]&&s(o[k]);c||(\"value\"in d&&void 0!==(k=d.value)&&(k!==n.value||\"progress\"===_&&!k)&&C(n,\"value\",k,p.value,!1),\"checked\"in d&&void 0!==(k=d.checked)&&k!==n.checked&&C(n,\"checked\",k,p.checked,!1))}return n}function z(l,u,i){try{\"function\"==typeof l?l(u):l.current=u}catch(l){n.__e(l,i)}}function L(l,u,i){var t,o,r;if(n.unmount&&n.unmount(l),(t=l.ref)&&(t.current&&t.current!==l.__e||z(t,null,u)),i||\"function\"==typeof l.type||(i=null!=(o=l.__e)),l.__e=l.__d=void 0,null!=(t=l.__c)){if(t.componentWillUnmount)try{t.componentWillUnmount()}catch(l){n.__e(l,u)}t.base=t.__P=null}if(t=l.__k)for(r=0;r<t.length;r++)t[r]&&L(t[r],u,i);null!=o&&s(o)}function M(n,l,u){return this.constructor(n,u)}function N(l,u,i){var t,o,e;n.__&&n.__(l,u),o=(t=\"function\"==typeof i)?null:i&&i.__k||u.__k,e=[],I(u,l=(!t&&i||u).__k=a(y,null,[l]),o||r,r,void 0!==u.ownerSVGElement,!t&&i?[i]:o?null:u.firstChild?f.slice.call(u.childNodes):null,e,!t&&i?i:o?o.__e:u.firstChild,t),T(e,l)}function O(n,l){N(n,l,O)}function S(n,l,u){var i,t,o,r=arguments,f=c({},n.props);for(o in l)\"key\"==o?i=l[o]:\"ref\"==o?t=l[o]:f[o]=l[o];if(arguments.length>3)for(u=[u],o=3;o<arguments.length;o++)u.push(r[o]);return null!=u&&(f.children=u),v(n.type,f,i||n.key,t||n.ref,null)}function q(n,l){var u={__c:l=\"__cC\"+o++,__:n,Consumer:function(n,l){return n.children(l)},Provider:function(n){var u,i;return this.getChildContext||(u=[],(i={})[l]=this,this.getChildContext=function(){return i},this.shouldComponentUpdate=function(n){this.props.value!==n.value&&u.some(k)},this.sub=function(n){u.push(n);var l=n.componentWillUnmount;n.componentWillUnmount=function(){u.splice(u.indexOf(n),1),l&&l.call(n)}}),n.children}};return u.Provider.__=u.Consumer.contextType=u}n={__e:function(n,l){for(var u,i,t;l=l.__;)if((u=l.__c)&&!u.__)try{if((i=u.constructor)&&null!=i.getDerivedStateFromError&&(u.setState(i.getDerivedStateFromError(n)),t=u.__d),null!=u.componentDidCatch&&(u.componentDidCatch(n),t=u.__d),t)return u.__E=u}catch(l){n=l}throw n},__v:0},l=function(n){return null!=n&&void 0===n.constructor},p.prototype.setState=function(n,l){var u;u=null!=this.__s&&this.__s!==this.state?this.__s:this.__s=c({},this.state),\"function\"==typeof n&&(n=n(c({},u),this.props)),n&&c(u,n),null!=n&&this.__v&&(l&&this.__h.push(l),k(this))},p.prototype.forceUpdate=function(n){this.__v&&(this.__e=!0,n&&this.__h.push(n),k(this))},p.prototype.render=y,u=[],i=\"function\"==typeof Promise?Promise.prototype.then.bind(Promise.resolve()):setTimeout,b.__r=0,o=0;export{N as render,O as hydrate,a as createElement,a as h,y as Fragment,h as createRef,l as isValidElement,p as Component,S as cloneElement,q as createContext,w as toChildArray,n as options};\n//# sourceMappingURL=preact.module.js.map\n","import { Component, cloneElement, createElement, toChildArray } from 'preact';\n\nvar EMPTY$1 = {};\n\nfunction assign(obj, props) {\n\t// eslint-disable-next-line guard-for-in\n\tfor (var i in props) {\n\t\tobj[i] = props[i];\n\t}\n\treturn obj;\n}\n\nfunction exec(url, route, opts) {\n\tvar reg = /(?:\\?([^#]*))?(#.*)?$/,\n\t\tc = url.match(reg),\n\t\tmatches = {},\n\t\tret;\n\tif (c && c[1]) {\n\t\tvar p = c[1].split('&');\n\t\tfor (var i=0; i<p.length; i++) {\n\t\t\tvar r = p[i].split('=');\n\t\t\tmatches[decodeURIComponent(r[0])] = decodeURIComponent(r.slice(1).join('='));\n\t\t}\n\t}\n\turl = segmentize(url.replace(reg, ''));\n\troute = segmentize(route || '');\n\tvar max = Math.max(url.length, route.length);\n\tfor (var i$1=0; i$1<max; i$1++) {\n\t\tif (route[i$1] && route[i$1].charAt(0)===':') {\n\t\t\tvar param = route[i$1].replace(/(^:|[+*?]+$)/g, ''),\n\t\t\t\tflags = (route[i$1].match(/[+*?]+$/) || EMPTY$1)[0] || '',\n\t\t\t\tplus = ~flags.indexOf('+'),\n\t\t\t\tstar = ~flags.indexOf('*'),\n\t\t\t\tval = url[i$1] || '';\n\t\t\tif (!val && !star && (flags.indexOf('?')<0 || plus)) {\n\t\t\t\tret = false;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tmatches[param] = decodeURIComponent(val);\n\t\t\tif (plus || star) {\n\t\t\t\tmatches[param] = url.slice(i$1).map(decodeURIComponent).join('/');\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\telse if (route[i$1]!==url[i$1]) {\n\t\t\tret = false;\n\t\t\tbreak;\n\t\t}\n\t}\n\tif (opts.default!==true && ret===false) { return false; }\n\treturn matches;\n}\n\nfunction pathRankSort(a, b) {\n\treturn (\n\t\t(a.rank < b.rank) ? 1 :\n\t\t\t(a.rank > b.rank) ? -1 :\n\t\t\t\t(a.index - b.index)\n\t);\n}\n\n// filter out VNodes without attributes (which are unrankeable), and add `index`/`rank` properties to be used in sorting.\nfunction prepareVNodeForRanking(vnode, index) {\n\tvnode.index = index;\n\tvnode.rank = rankChild(vnode);\n\treturn vnode.props;\n}\n\nfunction segmentize(url) {\n\treturn url.replace(/(^\\/+|\\/+$)/g, '').split('/');\n}\n\nfunction rankSegment(segment) {\n\treturn segment.charAt(0)==':' ? (1 + '*+?'.indexOf(segment.charAt(segment.length-1))) || 4 : 5;\n}\n\nfunction rank(path) {\n\treturn segmentize(path).map(rankSegment).join('');\n}\n\nfunction rankChild(vnode) {\n\treturn vnode.props.default ? 0 : rank(vnode.props.path);\n}\n\nvar customHistory = null;\n\nvar ROUTERS = [];\n\nvar subscribers = [];\n\nvar EMPTY = {};\n\nfunction setUrl(url, type) {\n\tif ( type === void 0 ) type='push';\n\n\tif (customHistory && customHistory[type]) {\n\t\tcustomHistory[type](url);\n\t}\n\telse if (typeof history!=='undefined' && history[type+'State']) {\n\t\thistory[type+'State'](null, null, url);\n\t}\n}\n\n\nfunction getCurrentUrl() {\n\tvar url;\n\tif (customHistory && customHistory.location) {\n\t\turl = customHistory.location;\n\t}\n\telse if (customHistory && customHistory.getCurrentLocation) {\n\t\turl = customHistory.getCurrentLocation();\n\t}\n\telse {\n\t\turl = typeof location!=='undefined' ? location : EMPTY;\n\t}\n\treturn (\"\" + (url.pathname || '') + (url.search || ''));\n}\n\n\n\nfunction route(url, replace) {\n\tif ( replace === void 0 ) replace=false;\n\n\tif (typeof url!=='string' && url.url) {\n\t\treplace = url.replace;\n\t\turl = url.url;\n\t}\n\n\t// only push URL into history if we can handle it\n\tif (canRoute(url)) {\n\t\tsetUrl(url, replace ? 'replace' : 'push');\n\t}\n\n\treturn routeTo(url);\n}\n\n\n/** Check if the given URL can be handled by any router instances. */\nfunction canRoute(url) {\n\tfor (var i=ROUTERS.length; i--; ) {\n\t\tif (ROUTERS[i].canRoute(url)) { return true; }\n\t}\n\treturn false;\n}\n\n\n/** Tell all router instances to handle the given URL. */\nfunction routeTo(url) {\n\tvar didRoute = false;\n\tfor (var i=0; i<ROUTERS.length; i++) {\n\t\tif (ROUTERS[i].routeTo(url)===true) {\n\t\t\tdidRoute = true;\n\t\t}\n\t}\n\tfor (var i$1=subscribers.length; i$1--; ) {\n\t\tsubscribers[i$1](url);\n\t}\n\treturn didRoute;\n}\n\n\nfunction routeFromLink(node) {\n\t// only valid elements\n\tif (!node || !node.getAttribute) { return; }\n\n\tvar href = node.getAttribute('href'),\n\t\ttarget = node.getAttribute('target');\n\n\t// ignore links with targets and non-path URLs\n\tif (!href || !href.match(/^\\//g) || (target && !target.match(/^_?self$/i))) { return; }\n\n\t// attempt to route, if no match simply cede control to browser\n\treturn route(href);\n}\n\n\nfunction handleLinkClick(e) {\n\tif (e.ctrlKey || e.metaKey || e.altKey || e.shiftKey || e.button!==0) { return; }\n\trouteFromLink(e.currentTarget || e.target || this);\n\treturn prevent(e);\n}\n\n\nfunction prevent(e) {\n\tif (e) {\n\t\tif (e.stopImmediatePropagation) { e.stopImmediatePropagation(); }\n\t\tif (e.stopPropagation) { e.stopPropagation(); }\n\t\te.preventDefault();\n\t}\n\treturn false;\n}\n\n\nfunction delegateLinkHandler(e) {\n\t// ignore events the browser takes care of already:\n\tif (e.ctrlKey || e.metaKey || e.altKey || e.shiftKey || e.button!==0) { return; }\n\n\tvar t = e.target;\n\tdo {\n\t\tif (String(t.nodeName).toUpperCase()==='A' && t.getAttribute('href')) {\n\t\t\tif (t.hasAttribute('native')) { return; }\n\t\t\t// if link is handled by the router, prevent browser defaults\n\t\t\tif (routeFromLink(t)) {\n\t\t\t\treturn prevent(e);\n\t\t\t}\n\t\t}\n\t} while ((t=t.parentNode));\n}\n\n\nvar eventListenersInitialized = false;\n\nfunction initEventListeners() {\n\tif (eventListenersInitialized) { return; }\n\n\tif (typeof addEventListener==='function') {\n\t\tif (!customHistory) {\n\t\t\taddEventListener('popstate', function () {\n\t\t\t\trouteTo(getCurrentUrl());\n\t\t\t});\n\t\t}\n\t\taddEventListener('click', delegateLinkHandler);\n\t}\n\teventListenersInitialized = true;\n}\n\n\nvar Router = (function (Component$$1) {\n\tfunction Router(props) {\n\t\tComponent$$1.call(this, props);\n\t\tif (props.history) {\n\t\t\tcustomHistory = props.history;\n\t\t}\n\n\t\tthis.state = {\n\t\t\turl: props.url || getCurrentUrl()\n\t\t};\n\n\t\tinitEventListeners();\n\t}\n\n\tif ( Component$$1 ) Router.__proto__ = Component$$1;\n\tRouter.prototype = Object.create( Component$$1 && Component$$1.prototype );\n\tRouter.prototype.constructor = Router;\n\n\tRouter.prototype.shouldComponentUpdate = function shouldComponentUpdate (props) {\n\t\tif (props.static!==true) { return true; }\n\t\treturn props.url!==this.props.url || props.onChange!==this.props.onChange;\n\t};\n\n\t/** Check if the given URL can be matched against any children */\n\tRouter.prototype.canRoute = function canRoute (url) {\n\t\tvar children = toChildArray(this.props.children);\n\t\treturn this.getMatchingChildren(children, url, false).length > 0;\n\t};\n\n\t/** Re-render children with a new URL to match against. */\n\tRouter.prototype.routeTo = function routeTo (url) {\n\t\tthis.setState({ url: url });\n\n\t\tvar didRoute = this.canRoute(url);\n\n\t\t// trigger a manual re-route if we're not in the middle of an update:\n\t\tif (!this.updating) { this.forceUpdate(); }\n\n\t\treturn didRoute;\n\t};\n\n\tRouter.prototype.componentWillMount = function componentWillMount () {\n\t\tROUTERS.push(this);\n\t\tthis.updating = true;\n\t};\n\n\tRouter.prototype.componentDidMount = function componentDidMount () {\n\t\tvar this$1 = this;\n\n\t\tif (customHistory) {\n\t\t\tthis.unlisten = customHistory.listen(function (location) {\n\t\t\t\tthis$1.routeTo((\"\" + (location.pathname || '') + (location.search || '')));\n\t\t\t});\n\t\t}\n\t\tthis.updating = false;\n\t};\n\n\tRouter.prototype.componentWillUnmount = function componentWillUnmount () {\n\t\tif (typeof this.unlisten==='function') { this.unlisten(); }\n\t\tROUTERS.splice(ROUTERS.indexOf(this), 1);\n\t};\n\n\tRouter.prototype.componentWillUpdate = function componentWillUpdate () {\n\t\tthis.updating = true;\n\t};\n\n\tRouter.prototype.componentDidUpdate = function componentDidUpdate () {\n\t\tthis.updating = false;\n\t};\n\n\tRouter.prototype.getMatchingChildren = function getMatchingChildren (children, url, invoke) {\n\t\treturn children\n\t\t\t.filter(prepareVNodeForRanking)\n\t\t\t.sort(pathRankSort)\n\t\t\t.map( function (vnode) {\n\t\t\t\tvar matches = exec(url, vnode.props.path, vnode.props);\n\t\t\t\tif (matches) {\n\t\t\t\t\tif (invoke !== false) {\n\t\t\t\t\t\tvar newProps = { url: url, matches: matches };\n\t\t\t\t\t\tassign(newProps, matches);\n\t\t\t\t\t\tdelete newProps.ref;\n\t\t\t\t\t\tdelete newProps.key;\n\t\t\t\t\t\treturn cloneElement(vnode, newProps);\n\t\t\t\t\t}\n\t\t\t\t\treturn vnode;\n\t\t\t\t}\n\t\t\t}).filter(Boolean);\n\t};\n\n\tRouter.prototype.render = function render (ref, ref$1) {\n\t\tvar children = ref.children;\n\t\tvar onChange = ref.onChange;\n\t\tvar url = ref$1.url;\n\n\t\tvar active = this.getMatchingChildren(toChildArray(children), url, true);\n\n\t\tvar current = active[0] || null;\n\n\t\tvar previous = this.previousUrl;\n\t\tif (url!==previous) {\n\t\t\tthis.previousUrl = url;\n\t\t\tif (typeof onChange==='function') {\n\t\t\t\tonChange({\n\t\t\t\t\trouter: this,\n\t\t\t\t\turl: url,\n\t\t\t\t\tprevious: previous,\n\t\t\t\t\tactive: active,\n\t\t\t\t\tcurrent: current\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\treturn current;\n\t};\n\n\treturn Router;\n}(Component));\n\nvar Link = function (props) { return (\n\tcreateElement('a', assign({ onClick: handleLinkClick }, props))\n); };\n\nvar Route = function (props) { return createElement(props.component, props); };\n\nRouter.subscribers = subscribers;\nRouter.getCurrentUrl = getCurrentUrl;\nRouter.route = route;\nRouter.Router = Router;\nRouter.Route = Route;\nRouter.Link = Link;\nRouter.exec = exec;\n\nexport { subscribers, getCurrentUrl, route, Router, Route, Link, exec };export default Router;\n//# sourceMappingURL=preact-router.es.js.map\n","import type { VersionId } from './services'\n\ntype Method = 'menu' | 'hotkey'\n\nexport namespace Analytics {\n\n\t/** Universal Analytics */\n\tconst ID_SITE = 'Site'\n\tconst ID_GENERATOR = 'Generator'\n\n\tconst DIM_THEME = 1\n\tconst DIM_VERSION = 3\n\tconst DIM_LANGUAGE = 4\n\tconst DIM_GENERATOR = 6\n\tconst DIM_PREFERS_COLOR_SCHEME = 7\n\n\tfunction event(category: string, action: string, label?: string) {\n\t\tga('send', 'event', category, action, label)\n\t}\n\n\tfunction dimension(index: number, value: string) {\n\t\tga('set', `dimension${index}`, value)\n\t}\n\n\texport function pageview(page: string) {\n\t\tga('set', 'page', page)\n\t\tga('send', 'pageview')\n\t}\n\n\t/**\n\t * @deprecated\n\t */\n\texport function generatorEvent(action: string, label?: string) {\n\t\tevent(ID_GENERATOR, action, label)\n\t}\n\n\tfunction legacyMethod(method: Method) {\n\t\treturn method === 'menu' ? 'Menu' : 'Hotkey'\n\t}\n\t/** END Universal Analytics 4 */\n\n\texport function setLocale(locale: string) {\n\t\tdimension(DIM_LANGUAGE, locale)\n\t\tevent(ID_SITE, 'set-language', locale)\n\t\tgtag('event', 'use_locale', {\n\t\t\tlocale,\n\t\t})\n\t}\n\n\texport function setTheme(theme: string) {\n\t\tdimension(DIM_THEME, theme)\n\t\tevent(ID_SITE, 'set-theme', theme)\n\t\tgtag('event', 'use_theme', {\n\t\t\ttheme,\n\t\t})\n\t}\n\n\texport function setVersion(version: string) {\n\t\tdimension(DIM_VERSION, version)\n\t\tevent(ID_GENERATOR, 'set-version', version)\n\t\tgtag('event', 'use_version', {\n\t\t\tversion,\n\t\t})\n\t}\n\n\texport function setGenerator(file_type: string, version: string) {\n\t\tdimension(DIM_GENERATOR, file_type)\n\t\tgtag('event', 'use_generator', {\n\t\t\tfile_type,\n\t\t\tversion,\n\t\t})\n\t}\n\n\texport function setPrefersColorScheme(color_scheme: string) {\n\t\tdimension(DIM_PREFERS_COLOR_SCHEME, color_scheme)\n\t\tgtag('event', 'prefers_color_scheme', {\n\t\t\tcolor_scheme,\n\t\t})\n\t}\n\n\texport function resetGenerator(file_type: string, history: number, method: Method) {\n\t\tevent(ID_GENERATOR, 'reset')\n\t\tgtag('event', 'reset_generator', {\n\t\t\tfile_type,\n\t\t\thistory,\n\t\t\tmethod,\n\t\t})\n\t}\n\n\texport function undoGenerator(file_type: string, history: number, method: Method) {\n\t\tevent(ID_GENERATOR, 'undo', legacyMethod(method))\n\t\tgtag('event', 'undo_generator', {\n\t\t\tfile_type,\n\t\t\thistory,\n\t\t\tmethod,\n\t\t})\n\t}\n\n\texport function redoGenerator(file_type: string, history: number, method: Method) {\n\t\tevent(ID_GENERATOR, 'undo', legacyMethod(method))\n\t\tgtag('event', 'redo_generator', {\n\t\t\tfile_type,\n\t\t\thistory,\n\t\t\tmethod,\n\t\t})\n\t}\n\n\texport function saveProjectFile(file_type: string, project_size: number, projects_count: number, method: Method) {\n\t\tevent(ID_GENERATOR, 'save-project-file', legacyMethod(method))\n\t\tgtag('event', 'save_project_file', {\n\t\t\tfile_type,\n\t\t\tproject_size,\n\t\t\tprojects_count,\n\t\t\tmethod,\n\t\t})\n\t}\n\n\texport function loadPreset(file_type: string, file_name: string) {\n\t\tevent(ID_GENERATOR, 'load-preset', file_name)\n\t\tgtag('event', 'load_generator_preset', {\n\t\t\tfile_type,\n\t\t\tfile_name,\n\t\t})\n\t}\n\n\texport function openPreset(file_type: string, file_name: string) {\n\t\tgtag('event', 'open_generator_preset', {\n\t\t\tfile_type,\n\t\t\tfile_name,\n\t\t})\n\t}\n\n\texport function createSnippet(file_type: string, snippet_id: string, version: VersionId, data_size: number, compressed_size: number, compression_rate: number) {\n\t\tgtag('event', 'create_generator_snippet', {\n\t\t\tfile_type,\n\t\t\tsnippet_id,\n\t\t\tversion,\n\t\t\tdata_size,\n\t\t\tcompressed_size,\n\t\t\tcompression_rate,\n\t\t})\n\t}\n\n\texport function openSnippet(file_type: string, snippet_id: string, version: VersionId) {\n\t\tgtag('event', 'open_generator_snippet', {\n\t\t\tfile_type,\n\t\t\tsnippet_id,\n\t\t\tversion,\n\t\t})\n\t}\n\n\texport function copyOutput(file_type: string, method: Method) {\n\t\tgtag('event', 'copy_generator_output', {\n\t\t\tfile_type,\n\t\t\tmethod,\n\t\t})\n\t}\n\n\texport function downloadOutput(file_type: string, method: Method) {\n\t\tgtag('event', 'download_generator_output', {\n\t\t\tfile_type,\n\t\t\tmethod,\n\t\t})\n\t}\n\n\texport function showOutput(file_type: string, method: Method) {\n\t\tevent(ID_GENERATOR, 'toggle-output', 'visible')\n\t\tgtag('event', 'show_generator_output', {\n\t\t\tfile_type,\n\t\t\tmethod,\n\t\t})\n\t}\n\n\texport function hideOutput(file_type: string, method: Method) {\n\t\tevent(ID_GENERATOR, 'toggle-output', 'hidden')\n\t\tgtag('event', 'hide_generator_output', {\n\t\t\tfile_type,\n\t\t\tmethod,\n\t\t})\n\t}\n\n\texport function showPreview(file_type: string, method: Method) {\n\t\tevent(ID_GENERATOR, 'toggle-preview', 'visible')\n\t\tgtag('event', 'show_generator_preview', {\n\t\t\tfile_type,\n\t\t\tmethod,\n\t\t})\n\t}\n\n\texport function hidePreview(file_type: string, method: Method) {\n\t\tevent(ID_GENERATOR, 'toggle-preview', 'hidden')\n\t\tgtag('event', 'hide_generator_preview', {\n\t\t\tfile_type,\n\t\t\tmethod,\n\t\t})\n\t}\n}\n","import{options as n}from\"preact\";var t,u,r,o=0,i=[],c=n.__b,f=n.__r,e=n.diffed,a=n.__c,v=n.unmount;function m(t,r){n.__h&&n.__h(u,t,o||r),o=0;var i=u.__H||(u.__H={__:[],__h:[]});return t>=i.__.length&&i.__.push({}),i.__[t]}function l(n){return o=1,p(w,n)}function p(n,r,o){var i=m(t++,2);return i.t=n,i.__c||(i.__=[o?o(r):w(void 0,r),function(n){var t=i.t(i.__[0],n);i.__[0]!==t&&(i.__=[t,i.__[1]],i.__c.setState({}))}],i.__c=u),i.__}function y(r,o){var i=m(t++,3);!n.__s&&k(i.__H,o)&&(i.__=r,i.__H=o,u.__H.__h.push(i))}function h(r,o){var i=m(t++,4);!n.__s&&k(i.__H,o)&&(i.__=r,i.__H=o,u.__h.push(i))}function s(n){return o=5,d(function(){return{current:n}},[])}function _(n,t,u){o=6,h(function(){\"function\"==typeof n?n(t()):n&&(n.current=t())},null==u?u:u.concat(n))}function d(n,u){var r=m(t++,7);return k(r.__H,u)&&(r.__=n(),r.__H=u,r.__h=n),r.__}function A(n,t){return o=8,d(function(){return n},t)}function F(n){var r=u.context[n.__c],o=m(t++,9);return o.__c=n,r?(null==o.__&&(o.__=!0,r.sub(u)),r.props.value):n.__}function T(t,u){n.useDebugValue&&n.useDebugValue(u?u(t):t)}function q(n){var r=m(t++,10),o=l();return r.__=n,u.componentDidCatch||(u.componentDidCatch=function(n){r.__&&r.__(n),o[1](n)}),[o[0],function(){o[1](void 0)}]}function x(){i.forEach(function(t){if(t.__P)try{t.__H.__h.forEach(g),t.__H.__h.forEach(j),t.__H.__h=[]}catch(u){t.__H.__h=[],n.__e(u,t.__v)}}),i=[]}n.__b=function(n){u=null,c&&c(n)},n.__r=function(n){f&&f(n),t=0;var r=(u=n.__c).__H;r&&(r.__h.forEach(g),r.__h.forEach(j),r.__h=[])},n.diffed=function(t){e&&e(t);var o=t.__c;o&&o.__H&&o.__H.__h.length&&(1!==i.push(o)&&r===n.requestAnimationFrame||((r=n.requestAnimationFrame)||function(n){var t,u=function(){clearTimeout(r),b&&cancelAnimationFrame(t),setTimeout(n)},r=setTimeout(u,100);b&&(t=requestAnimationFrame(u))})(x)),u=void 0},n.__c=function(t,u){u.some(function(t){try{t.__h.forEach(g),t.__h=t.__h.filter(function(n){return!n.__||j(n)})}catch(r){u.some(function(n){n.__h&&(n.__h=[])}),u=[],n.__e(r,t.__v)}}),a&&a(t,u)},n.unmount=function(t){v&&v(t);var u=t.__c;if(u&&u.__H)try{u.__H.__.forEach(g)}catch(t){n.__e(t,u.__v)}};var b=\"function\"==typeof requestAnimationFrame;function g(n){var t=u;\"function\"==typeof n.__c&&n.__c(),u=t}function j(n){var t=u;n.__c=n.__(),u=t}function k(n,t){return!n||n.length!==t.length||t.some(function(t,u){return t!==n[u]})}function w(n,t){return\"function\"==typeof t?t(n):t}export{l as useState,p as useReducer,y as useEffect,h as useLayoutEffect,s as useRef,_ as useImperativeHandle,d as useMemo,A as useCallback,F as useContext,T as useDebugValue,q as useErrorBoundary};\n//# sourceMappingURL=hooks.module.js.map\n","import { useEffect } from 'preact/hooks'\n\ndeclare const ethicalads: any\n\ntype AdProps = {\n\ttype: 'text' | 'image',\n\tid: string,\n}\nexport function Ad({ type, id }: AdProps) {\n\tuseEffect(() => {\n\t\tdocument.getElementById('ad-placeholder')?.remove()\n\t\tif ('ethicalads' in window) {\n\t\t\tethicalads.load()\n\t\t}\n\t}, [])\n\n\treturn <div data-ea-publisher=\"misode-github-io\" data-ea-type={type} class=\"ad dark flat\" id={id}></div>\n}\n","import { Octicon } from '.'\n\ntype BtnProps = {\n\ticon?: keyof typeof Octicon,\n\tlabel?: string,\n\tactive?: boolean,\n\ttooltip?: string,\n\ttooltipLoc?: 'se' | 'sw' | 'nw',\n\tshowTooltip?: boolean,\n\tclass?: string,\n\tonClick?: (event: MouseEvent) => unknown,\n}\nexport function Btn({ icon, label, active, class: clazz, tooltip, tooltipLoc, onClick }: BtnProps) {\n\treturn <div class={`btn${active ? ' active' : ''}${clazz ? ` ${clazz}` : ''}${tooltip ? ` tooltipped tip-${tooltipLoc ?? 'sw'}` : ''}${active ? ' tip-shown' : ''}`} onClick={onClick} aria-label={tooltip}>\n\t\t{icon && Octicon[icon]}\n\t\t{label && <span>{label}</span>}\n\t</div>\n}\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.ModelPath = exports.Path = exports.relativePath = void 0;\r\nfunction relativePath(start, relativePath) {\r\n return relativePath.reduce((path, e) => {\r\n if (e === 'pop') {\r\n return path.pop();\r\n }\r\n else {\r\n return path.push(e.push);\r\n }\r\n }, start);\r\n}\r\nexports.relativePath = relativePath;\r\n/**\r\n * Immutable helper class to represent a path in data\r\n */\r\nclass Path {\r\n /**\r\n * @param modelArr Initial array of path model elements. Empty if not given\r\n * @param contextArr Initial array of path context elements. Empty if not given\r\n */\r\n constructor(modelArr, contextArr) {\r\n this.modelArr = modelArr !== null && modelArr !== void 0 ? modelArr : [];\r\n this.contextArr = contextArr !== null && contextArr !== void 0 ? contextArr : [];\r\n }\r\n /**\r\n * The last model element of this path\r\n */\r\n last() {\r\n return this.modelArr[this.modelArr.length - 1];\r\n }\r\n /**\r\n * A new path with the specific sliced module elements\r\n */\r\n slice(start, end) {\r\n return new Path(this.modelArr.slice(start, end), this.contextArr);\r\n }\r\n /**\r\n * A new path with the first model element removed\r\n */\r\n shift() {\r\n return new Path(this.modelArr.slice(1), this.contextArr);\r\n }\r\n /**\r\n * A new path with the last model element removed\r\n */\r\n pop() {\r\n return new Path(this.modelArr.slice(0, -1), this.contextArr);\r\n }\r\n /**\r\n * A new path with an element added at the end\r\n * @param element element to push at the end of the array\r\n */\r\n push(element) {\r\n return this.modelPush(element).contextPush(element);\r\n }\r\n /**\r\n * Push an element exclusivly to the model array\r\n * @param element\r\n */\r\n modelPush(element) {\r\n return new Path([...this.modelArr, element], [...this.contextArr]);\r\n }\r\n /**\r\n * Push an element exclusivly to the context array\r\n * @param element\r\n */\r\n contextPush(element) {\r\n if (typeof element === 'number')\r\n return this.copy();\r\n const newElement = element.startsWith('minecraft:') ? element.slice(10) : element;\r\n return new Path([...this.modelArr], [...this.contextArr, newElement]);\r\n }\r\n copy() {\r\n return new Path([...this.modelArr], [...this.contextArr]);\r\n }\r\n getArray() {\r\n return this.modelArr;\r\n }\r\n /**\r\n * Attaches a model to this path and all paths created from this\r\n * @param model\r\n */\r\n withModel(model) {\r\n return new ModelPath(model, this);\r\n }\r\n getContext() {\r\n return this.contextArr;\r\n }\r\n /**\r\n * Checks path equality\r\n * @param other path to compare\r\n */\r\n equals(other) {\r\n return other.modelArr.length === this.modelArr.length\r\n && other.modelArr.every((v, i) => v === this.modelArr[i]);\r\n }\r\n /**\r\n * Checks if this path starts with another path\r\n * @param other path that this path should start with\r\n */\r\n startsWith(other) {\r\n if (this.modelArr.length < other.modelArr.length)\r\n return false;\r\n return other.modelArr.every((v, i) => v === this.modelArr[i]);\r\n }\r\n /**\r\n * Checks if this path ends with another path\r\n * @param other parent path where this path should end with\r\n */\r\n endsWith(other) {\r\n const offset = this.modelArr.length - other.modelArr.length;\r\n if (offset < 0)\r\n return false;\r\n return other.modelArr.every((v, i) => v === this.modelArr[offset + i]);\r\n }\r\n toString() {\r\n return this.modelArr\r\n .map(e => (typeof e === 'string') ? `.${e}` : `[${e}]`)\r\n .join('')\r\n .replace(/^\\./, '');\r\n }\r\n forEach(fn, thisArg) {\r\n return this.modelArr.forEach(fn, thisArg);\r\n }\r\n}\r\nexports.Path = Path;\r\nclass ModelPath extends Path {\r\n constructor(model, path) {\r\n super(path === null || path === void 0 ? void 0 : path.modelArr, path === null || path === void 0 ? void 0 : path.contextArr);\r\n this.model = model;\r\n }\r\n getModel() {\r\n return this.model;\r\n }\r\n /**\r\n * Gets the data from the model if it was attached\r\n * @returns undefined, if no model was attached\r\n */\r\n get() {\r\n var _a;\r\n return (_a = this.model) === null || _a === void 0 ? void 0 : _a.get(this);\r\n }\r\n /**\r\n * Sets the value to the model if it was attached\r\n */\r\n set(value) {\r\n var _a;\r\n (_a = this.model) === null || _a === void 0 ? void 0 : _a.set(this, value);\r\n }\r\n /**\r\n * A new path with the specific sliced module elements\r\n */\r\n slice(start, end) {\r\n return new ModelPath(this.model, super.slice(start, end));\r\n }\r\n /**\r\n * A new path with the first model element removed\r\n */\r\n shift() {\r\n return new ModelPath(this.model, super.shift());\r\n }\r\n /**\r\n * A new path with the last model element removed\r\n */\r\n pop() {\r\n return new ModelPath(this.model, super.pop());\r\n }\r\n /**\r\n * A new path with an element added at the end\r\n * @param element element to push at the end of the array\r\n */\r\n push(element) {\r\n return this.modelPush(element).contextPush(element);\r\n }\r\n /**\r\n * Push an element exclusivly to the model array\r\n * @param element\r\n */\r\n modelPush(element) {\r\n return new ModelPath(this.model, super.modelPush(element));\r\n }\r\n /**\r\n * Push an element exclusivly to the context array\r\n * @param element\r\n */\r\n contextPush(element) {\r\n return new ModelPath(this.model, super.contextPush(element));\r\n }\r\n copy() {\r\n return new ModelPath(this.model, super.copy());\r\n }\r\n}\r\nexports.ModelPath = ModelPath;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.Errors = void 0;\r\n/**\r\n * Collects errors from data paths\r\n */\r\nclass Errors {\r\n constructor() {\r\n this.errors = [];\r\n }\r\n add(path, error, ...params) {\r\n this.errors.push({ path, error, params });\r\n return false;\r\n }\r\n get(path, exact = false) {\r\n return exact ? this.errors.filter(e => e.path.equals(path))\r\n : this.errors.filter(e => e.path.startsWith(path));\r\n }\r\n getAll() {\r\n return this.errors;\r\n }\r\n clear() {\r\n this.errors = [];\r\n }\r\n count() {\r\n return this.errors.length;\r\n }\r\n *[Symbol.iterator]() {\r\n for (const e of this.errors) {\r\n yield e;\r\n }\r\n }\r\n}\r\nexports.Errors = Errors;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.hexId = exports.quoteString = exports.escapeString = void 0;\r\nfunction escapeString(str) {\r\n return str.replace(/(\\\\|\")/g, '\\\\$1');\r\n}\r\nexports.escapeString = escapeString;\r\nfunction quoteString(str) {\r\n return `\"${escapeString(str)}\"`;\r\n}\r\nexports.quoteString = quoteString;\r\nconst dec2hex = (dec) => ('0' + dec.toString(16)).substr(-2);\r\nfunction hexId(length = 12) {\r\n var arr = new Uint8Array(length / 2);\r\n window.crypto.getRandomValues(arr);\r\n return Array.from(arr, dec2hex).join('');\r\n}\r\nexports.hexId = hexId;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.DataModel = void 0;\r\nconst Path_1 = require(\"./Path\");\r\nconst Errors_1 = require(\"./Errors\");\r\nconst utils_1 = require(\"../utils\");\r\n/**\r\n * Holding the data linked to a given schema\r\n */\r\nclass DataModel {\r\n /**\r\n * @param schema node to use as schema for this model\r\n */\r\n constructor(schema, options) {\r\n var _a, _b, _c, _d;\r\n this.historyMax = (_a = options === null || options === void 0 ? void 0 : options.historyMax) !== null && _a !== void 0 ? _a : 50;\r\n this.verbose = (_b = options === null || options === void 0 ? void 0 : options.verbose) !== null && _b !== void 0 ? _b : false;\r\n this.wrapLists = (_c = options === null || options === void 0 ? void 0 : options.wrapLists) !== null && _c !== void 0 ? _c : false;\r\n this.schema = schema;\r\n const data = (_d = options === null || options === void 0 ? void 0 : options.initialData) !== null && _d !== void 0 ? _d : schema.default();\r\n this.data = this.wrapLists ? DataModel.wrapLists(data) : data;\r\n this.listeners = [];\r\n this.errors = new Errors_1.Errors();\r\n this.history = [JSON.stringify(this.data)];\r\n this.historyIndex = 0;\r\n }\r\n /**\r\n * Adds a listener to notify when the model is invalidated\r\n * @param listener the listener to be notified\r\n */\r\n addListener(listener) {\r\n this.listeners.push(listener);\r\n }\r\n /**\r\n * Removes a listener from this model\r\n * @param listener the listener to be removed\r\n */\r\n removeListener(listener) {\r\n const index = this.listeners.indexOf(listener);\r\n if (index > -1) {\r\n this.listeners.splice(index, 1);\r\n }\r\n }\r\n /**\r\n * Updates the history and notifies all\r\n * listeners that the model is invalidated\r\n */\r\n invalidate() {\r\n const newHistory = JSON.stringify(this.data);\r\n if (this.history[this.historyIndex] !== newHistory) {\r\n this.historyIndex += 1;\r\n this.history.splice(this.historyIndex, this.historyMax, newHistory);\r\n if (this.history.length > this.historyMax) {\r\n this.history.splice(0, 1);\r\n this.historyIndex -= 1;\r\n }\r\n }\r\n this.silentInvalidate();\r\n }\r\n /**\r\n * Notifies all listeners that the model is invalidated\r\n */\r\n silentInvalidate() {\r\n this.listeners.forEach(l => {\r\n if (l.invalidated)\r\n l.invalidated(this);\r\n if (l.errors)\r\n l.errors(this.errors);\r\n });\r\n }\r\n /**\r\n * Resets the full data and notifies listeners\r\n * @param value new model data\r\n */\r\n reset(value, loose) {\r\n this.data = value;\r\n this.validate(loose);\r\n this.invalidate();\r\n }\r\n /**\r\n * Gets the data at a specified path\r\n * @param path path at which to find the data\r\n * @returns undefined, if the the path does not exist in the data\r\n */\r\n get(path) {\r\n let node = this.data;\r\n path.forEach(e => {\r\n if (node === undefined)\r\n return node;\r\n if (this.wrapLists && typeof e === 'number') {\r\n node = node[e].node;\r\n }\r\n else {\r\n node = node[e];\r\n }\r\n });\r\n return node;\r\n }\r\n /**\r\n * Updates the data on a path. Node will be removed when value is undefined\r\n * @param path path to update\r\n * @param value new data at the specified path\r\n */\r\n set(path, value, silent) {\r\n if (path.getArray().length === 0) {\r\n this.reset(value, true);\r\n return;\r\n }\r\n let node = this.data;\r\n path.pop().forEach(e => {\r\n if (node[e] === undefined || typeof node[e] === 'string' || typeof node[e] === 'number') {\r\n if (this.wrapLists && typeof e === 'number') {\r\n node[e] = { node: {}, id: (0, utils_1.hexId)() };\r\n }\r\n else {\r\n node[e] = {};\r\n }\r\n }\r\n if (this.wrapLists && typeof e === 'number') {\r\n node = node[e].node;\r\n }\r\n else {\r\n node = node[e];\r\n }\r\n });\r\n if (node === null)\r\n return;\r\n if (value === undefined || (typeof value === 'number' && isNaN(value))) {\r\n if (typeof path.last() === 'number') {\r\n node.splice(path.last(), 1);\r\n }\r\n else {\r\n delete node[path.last()];\r\n }\r\n }\r\n else if (this.wrapLists && typeof path.last() === 'number') {\r\n node[path.last()] = { node: value, id: (0, utils_1.hexId)() };\r\n }\r\n else {\r\n node[path.last()] = value;\r\n }\r\n if (silent)\r\n return;\r\n if (this.verbose) {\r\n console.log('Set', path.toString(), JSON.stringify(value));\r\n }\r\n this.validate(true);\r\n this.invalidate();\r\n }\r\n /**\r\n * Go one step back in history\r\n */\r\n undo() {\r\n if (this.historyIndex > 0) {\r\n this.historyIndex -= 1;\r\n this.data = JSON.parse(this.history[this.historyIndex]);\r\n this.validate(false);\r\n this.silentInvalidate();\r\n }\r\n }\r\n /**\r\n * Go one step forward in history.\r\n */\r\n redo() {\r\n if (this.historyIndex < this.history.length - 1) {\r\n this.historyIndex += 1;\r\n this.data = JSON.parse(this.history[this.historyIndex]);\r\n this.validate(false);\r\n this.silentInvalidate();\r\n }\r\n }\r\n /**\r\n * Uses the schema to check whether the data is valid\r\n */\r\n validate(loose) {\r\n var _a;\r\n const path = new Path_1.Path().withModel(this);\r\n this.errors.clear();\r\n this.data = (_a = this.schema.validate(path, this.data, this.errors, { loose, wrapLists: this.wrapLists })) !== null && _a !== void 0 ? _a : {};\r\n }\r\n error(path, error, ...params) {\r\n const tempErrors = new Errors_1.Errors();\r\n tempErrors.add(path, error, params);\r\n this.listeners.forEach(l => {\r\n if (l.errors)\r\n l.errors(tempErrors);\r\n });\r\n }\r\n static wrapLists(value) {\r\n if (Array.isArray(value)) {\r\n const res = value.map(v => ({\r\n node: this.wrapLists(v),\r\n id: (0, utils_1.hexId)(),\r\n }));\r\n for (const a of Object.getOwnPropertySymbols(value)) {\r\n res[a] = value[a];\r\n }\r\n return res;\r\n }\r\n else if (typeof value === 'object' && value !== null) {\r\n const res = {};\r\n Object.entries(value).map(([k, v]) => {\r\n res[k] = this.wrapLists(v);\r\n });\r\n for (const a of Object.getOwnPropertySymbols(value)) {\r\n res[a] = value[a];\r\n }\r\n return res;\r\n }\r\n else {\r\n return value;\r\n }\r\n }\r\n static unwrapLists(value) {\r\n if (Array.isArray(value)) {\r\n const res = value.map(v => this.unwrapLists(v.node));\r\n for (const a of Object.getOwnPropertySymbols(value)) {\r\n res[a] = value[a];\r\n }\r\n return res;\r\n }\r\n else if (typeof value === 'object' && value !== null) {\r\n const res = {};\r\n Object.entries(value).map(([k, v]) => {\r\n res[k] = this.unwrapLists(v);\r\n });\r\n for (const a of Object.getOwnPropertySymbols(value)) {\r\n res[a] = value[a];\r\n }\r\n return res;\r\n }\r\n else {\r\n return value;\r\n }\r\n }\r\n}\r\nexports.DataModel = DataModel;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.Keep = exports.Opt = exports.Has = exports.Mod = exports.Base = void 0;\r\nexports.Base = ({\r\n type: () => 'base',\r\n category: () => undefined,\r\n default: () => undefined,\r\n enabled: () => true,\r\n keep: () => false,\r\n optional: () => false,\r\n navigate() { return this; },\r\n pathPush: (p) => p,\r\n suggest: () => [],\r\n validate: (_, v) => v,\r\n validationOption: () => undefined,\r\n hook(hook, path, ...args) { return hook.base({ node: this }, path, ...args); },\r\n canUpdate: () => false,\r\n update: () => []\r\n});\r\nconst Mod = (node, mods) => ({\r\n ...node, ...(typeof mods === 'function' ? mods(node) : mods)\r\n});\r\nexports.Mod = Mod;\r\nconst Has = (key, node) => (0, exports.Mod)(node, {\r\n enabled: (p) => p.push(key).get() !== undefined\r\n});\r\nexports.Has = Has;\r\nfunction Opt(node) {\r\n return {\r\n ...node,\r\n optional: () => true\r\n };\r\n}\r\nexports.Opt = Opt;\r\nfunction Keep(node) {\r\n return {\r\n ...node,\r\n keep: () => true\r\n };\r\n}\r\nexports.Keep = Keep;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.BooleanNode = void 0;\r\nconst DataModel_1 = require(\"../model/DataModel\");\r\nconst Node_1 = require(\"./Node\");\r\n/**\r\n * Boolean node with two buttons for true/false\r\n */\r\nconst BooleanNode = () => {\r\n return {\r\n ...Node_1.Base,\r\n type: () => 'boolean',\r\n default: () => false,\r\n suggest: () => ['false', 'true'],\r\n validate(path, value, errors, options) {\r\n if (options.loose && typeof value !== 'boolean') {\r\n value = options.wrapLists ? DataModel_1.DataModel.wrapLists(this.default()) : this.default();\r\n }\r\n if (typeof value !== 'boolean' || value === undefined) {\r\n errors.add(path, 'error.expected_boolean');\r\n }\r\n return value;\r\n },\r\n hook(hook, path, ...args) {\r\n var _a;\r\n return ((_a = hook.boolean) !== null && _a !== void 0 ? _a : hook.base).call(hook, { node: this }, path, ...args);\r\n }\r\n };\r\n};\r\nexports.BooleanNode = BooleanNode;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.ListNode = void 0;\r\nconst DataModel_1 = require(\"../model/DataModel\");\r\nconst Node_1 = require(\"./Node\");\r\nconst ListNode = (children, config) => {\r\n var _a, _b;\r\n const min = (_a = config === null || config === void 0 ? void 0 : config.minLength) !== null && _a !== void 0 ? _a : 0;\r\n const max = (_b = config === null || config === void 0 ? void 0 : config.maxLength) !== null && _b !== void 0 ? _b : Infinity;\r\n const between = (config === null || config === void 0 ? void 0 : config.minLength) && (config === null || config === void 0 ? void 0 : config.maxLength);\r\n return ({\r\n ...Node_1.Base,\r\n type: () => 'list',\r\n default: () => (config === null || config === void 0 ? void 0 : config.minLength) ? [...Array(min)].map(_ => children.default()) : [],\r\n navigate(path, index) {\r\n const nextIndex = index + 1;\r\n const pathElements = path.getArray();\r\n if (pathElements.length <= nextIndex) {\r\n return this;\r\n }\r\n return children.navigate(path, nextIndex);\r\n },\r\n pathPush(path, index) {\r\n return path.push(parseInt(index.toString())).contextPush('entry');\r\n },\r\n validate(path, value, errors, options) {\r\n if (options.loose && !Array.isArray(value)) {\r\n value = options.wrapLists ? DataModel_1.DataModel.wrapLists(this.default()) : this.default();\r\n }\r\n if (!Array.isArray(value)) {\r\n errors.add(path, 'error.expected_list');\r\n return value;\r\n }\r\n else if (between && (value.length < min || value.length > max)) {\r\n if (min === max) {\r\n errors.add(path, 'error.invalid_list_range.exact', value.length, min);\r\n }\r\n else {\r\n errors.add(path, 'error.invalid_list_range.between', value.length, min, max);\r\n }\r\n }\r\n else if (value.length < min) {\r\n errors.add(path, 'error.invalid_list_range.smaller', value.length, min);\r\n }\r\n else if (value.length > max) {\r\n errors.add(path, 'error.invalid_list_range.larger', value.length, max);\r\n }\r\n const res = value.map((obj, index) => {\r\n const newObj = children.validate(path.push(index), options.wrapLists ? obj.node : obj, errors, options);\r\n return options.wrapLists ? { node: newObj, id: obj.id } : newObj;\r\n });\r\n for (const a of Object.getOwnPropertySymbols(value)) {\r\n res[a] = value[a];\r\n }\r\n return res;\r\n },\r\n hook(hook, path, ...args) {\r\n var _a;\r\n return ((_a = hook.list) !== null && _a !== void 0 ? _a : hook.base).call(hook, { node: this, children, config: config !== null && config !== void 0 ? config : {} }, path, ...args);\r\n }\r\n });\r\n};\r\nexports.ListNode = ListNode;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.SwitchNode = void 0;\r\nconst Node_1 = require(\"./Node\");\r\n/**\r\n * Node that allows multiple types\r\n */\r\nconst SwitchNode = (cases) => {\r\n return {\r\n ...Node_1.Base,\r\n type(path) {\r\n return this.activeCase(path, true)\r\n .node.type(path);\r\n },\r\n category(path) {\r\n return this.activeCase(path, true)\r\n .node.category(path);\r\n },\r\n default: () => cases[0].node.default(),\r\n navigate(path, index) {\r\n var _a;\r\n const nextIndex = index + 1;\r\n return (_a = this.activeCase(path.slice(0, nextIndex))) === null || _a === void 0 ? void 0 : _a.node.navigate(path, index);\r\n },\r\n pathPush(path, key) {\r\n var _a, _b;\r\n return (_b = (_a = this.activeCase(path)) === null || _a === void 0 ? void 0 : _a.node.pathPush(path, key)) !== null && _b !== void 0 ? _b : path;\r\n },\r\n suggest(path, value) {\r\n var _a, _b;\r\n return (_b = (_a = this.activeCase(path)) === null || _a === void 0 ? void 0 : _a.node.suggest(path, value)) !== null && _b !== void 0 ? _b : cases\r\n .filter(c => c.match(path))\r\n .map(c => c.node.suggest(path, value))\r\n .reduce((p, c) => p.concat(c));\r\n },\r\n validate(path, value, errors, options) {\r\n let c = this.activeCase(path);\r\n if (c === undefined) {\r\n return value;\r\n }\r\n return c.node.validate(path, value, errors, options);\r\n },\r\n validationOption(path) {\r\n var _a;\r\n return (_a = this.activeCase(path)) === null || _a === void 0 ? void 0 : _a.node.validationOption(path);\r\n },\r\n activeCase(path, fallback) {\r\n const sorter = (a, b) => { var _a, _b; return ((_a = b.priority) !== null && _a !== void 0 ? _a : 0) - ((_b = a.priority) !== null && _b !== void 0 ? _b : 0); };\r\n const matchedCases = cases.filter(c => c.match(path)).sort(sorter);\r\n if (fallback && matchedCases.length === 0) {\r\n return cases.sort(sorter)[0];\r\n }\r\n return (matchedCases.length > 0 ? matchedCases[0] : undefined);\r\n },\r\n hook(hook, path, ...args) {\r\n return this.activeCase(path, true)\r\n .node.hook(hook, path, ...args);\r\n },\r\n };\r\n};\r\nexports.SwitchNode = SwitchNode;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.ObjectOrPreset = exports.StringOrList = exports.ObjectOrList = exports.ChoiceNode = void 0;\r\nconst ListNode_1 = require(\"./ListNode\");\r\nconst SwitchNode_1 = require(\"./SwitchNode\");\r\n/**\r\n * Node that allows multiple types\r\n */\r\nconst ChoiceNode = (choices, config) => {\r\n const isValid = (choice, value) => {\r\n if (choice.match) {\r\n return choice.match(value);\r\n }\r\n switch (choice.type) {\r\n case 'list': return Array.isArray(value);\r\n case 'object': return typeof value === 'object' && !Array.isArray(value);\r\n default: return typeof value === choice.type;\r\n }\r\n };\r\n const switchNode = (0, SwitchNode_1.SwitchNode)(choices.map(c => ({\r\n type: c.type,\r\n priority: c.priority,\r\n match: (path) => isValid(c, path.get()),\r\n node: c.node\r\n })));\r\n return {\r\n ...switchNode,\r\n validate(path, value, errors, options) {\r\n let choice = switchNode.activeCase(path, true);\r\n if (choice.node.optional()) {\r\n return value;\r\n }\r\n return choice.node.validate(path, value, errors, options);\r\n },\r\n hook(hook, path, ...args) {\r\n var _a;\r\n return ((_a = hook.choice) !== null && _a !== void 0 ? _a : hook.base).call(hook, { node: this, choices, config: config !== null && config !== void 0 ? config : {}, switchNode }, path, ...args);\r\n }\r\n };\r\n};\r\nexports.ChoiceNode = ChoiceNode;\r\nconst XOrList = (x) => ((node, config) => {\r\n return (0, exports.ChoiceNode)([\r\n {\r\n type: x,\r\n node,\r\n change: v => { var _a; return (_a = v[0]) !== null && _a !== void 0 ? _a : node.default(); }\r\n },\r\n {\r\n type: 'list',\r\n node: (0, ListNode_1.ListNode)(node),\r\n change: v => v ? [v] : []\r\n }\r\n ], config);\r\n});\r\nexports.ObjectOrList = XOrList('object');\r\nexports.StringOrList = XOrList('string');\r\nconst ObjectOrPreset = (presetNode, objectNode, presets) => {\r\n return (0, exports.ChoiceNode)([\r\n {\r\n type: 'string',\r\n priority: 1,\r\n node: presetNode,\r\n change: v => Object.keys(presets)[0]\r\n },\r\n {\r\n type: 'object',\r\n node: objectNode,\r\n change: v => { var _a; return (_a = presets[v]) !== null && _a !== void 0 ? _a : presets[Object.keys(presets)[0]]; }\r\n }\r\n ]);\r\n};\r\nexports.ObjectOrPreset = ObjectOrPreset;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.MapNode = void 0;\r\nconst Node_1 = require(\"./Node\");\r\nconst DataModel_1 = require(\"../model/DataModel\");\r\n/**\r\n * Map nodes similar to list nodes, but a string key is required to add children\r\n */\r\nconst MapNode = (keys, children, config) => {\r\n return {\r\n ...Node_1.Base,\r\n type: () => 'map',\r\n default: () => ({}),\r\n navigate(path, index) {\r\n const nextIndex = index + 1;\r\n const pathElements = path.getArray();\r\n if (pathElements.length <= nextIndex) {\r\n return this;\r\n }\r\n return children.navigate(path, nextIndex);\r\n },\r\n pathPush(path, key) {\r\n return path.modelPush(key);\r\n },\r\n suggest: (path) => keys.suggest(path, ''),\r\n validate(path, value, errors, options) {\r\n if (options.loose && typeof value !== 'object') {\r\n value = options.wrapLists ? DataModel_1.DataModel.wrapLists(this.default()) : this.default();\r\n }\r\n if (value === null || typeof value !== 'object') {\r\n errors.add(path, 'error.expected_object');\r\n return value;\r\n }\r\n const res = {};\r\n Object.keys(value).forEach(k => {\r\n keys.validate(path, k, errors, options);\r\n res[k] = children.validate(path.push(k), value[k], errors, options);\r\n });\r\n for (const a of Object.getOwnPropertySymbols(value)) {\r\n res[a] = value[a];\r\n }\r\n return res;\r\n },\r\n validationOption(path) {\r\n var _a;\r\n return (_a = config === null || config === void 0 ? void 0 : config.validation) !== null && _a !== void 0 ? _a : keys.validationOption(path.push(''));\r\n },\r\n hook(hook, path, ...args) {\r\n var _a;\r\n return ((_a = hook.map) !== null && _a !== void 0 ? _a : hook.base).call(hook, { node: this, keys, children, config: config !== null && config !== void 0 ? config : {} }, path, ...args);\r\n }\r\n };\r\n};\r\nexports.MapNode = MapNode;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.NumberEnum = exports.NumberNode = void 0;\r\nconst __1 = require(\"..\");\r\nconst DataModel_1 = require(\"../model/DataModel\");\r\nconst Node_1 = require(\"./Node\");\r\nconst NumberNode = (config) => {\r\n var _a, _b, _c;\r\n const integer = (config === null || config === void 0 ? void 0 : config.color) ? true : (_a = config === null || config === void 0 ? void 0 : config.integer) !== null && _a !== void 0 ? _a : false;\r\n const min = (config === null || config === void 0 ? void 0 : config.color) ? 0 : (_b = config === null || config === void 0 ? void 0 : config.min) !== null && _b !== void 0 ? _b : -Infinity;\r\n const max = (config === null || config === void 0 ? void 0 : config.color) ? 16777215 : (_c = config === null || config === void 0 ? void 0 : config.max) !== null && _c !== void 0 ? _c : Infinity;\r\n const between = (config === null || config === void 0 ? void 0 : config.min) !== undefined && (config === null || config === void 0 ? void 0 : config.max) !== undefined;\r\n return {\r\n ...Node_1.Base,\r\n type: () => 'number',\r\n default: () => min > 0 ? min : 0,\r\n validate(path, value, errors, options) {\r\n if (options.loose && typeof value !== 'number') {\r\n value = options.wrapLists ? DataModel_1.DataModel.wrapLists(this.default()) : this.default();\r\n }\r\n if (typeof value !== 'number') {\r\n errors.add(path, 'error.expected_number');\r\n }\r\n else if (integer && !Number.isInteger(value)) {\r\n errors.add(path, 'error.expected_integer');\r\n }\r\n else if (between && (value < min || value > max)) {\r\n errors.add(path, 'error.invalid_number_range.between', value, min, max);\r\n }\r\n else if (value < min) {\r\n errors.add(path, 'error.invalid_number_range.smaller', value, min);\r\n }\r\n else if (value > max) {\r\n errors.add(path, 'error.invalid_number_range.larger', value, max);\r\n }\r\n return value;\r\n },\r\n hook(hook, path, ...args) {\r\n var _a;\r\n return ((_a = hook.number) !== null && _a !== void 0 ? _a : hook.base).call(hook, { node: this, integer, min, max, between, config: config !== null && config !== void 0 ? config : {} }, path, ...args);\r\n }\r\n };\r\n};\r\nexports.NumberNode = NumberNode;\r\nconst NumberEnum = ({ integer, values }) => (0, __1.Mod)((0, exports.NumberNode)({ integer }), node => ({\r\n validate: (path, value, errors, options) => {\r\n value = node.validate(path, value, errors, options);\r\n if (!values.includes(value)) {\r\n errors.add(path, 'error.invalid_number_enum', values.join(', '));\r\n }\r\n return value;\r\n }\r\n}));\r\nexports.NumberEnum = NumberEnum;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.ObjectNode = exports.Case = exports.Switch = void 0;\r\nconst Node_1 = require(\"./Node\");\r\nconst Path_1 = require(\"../model/Path\");\r\nconst Errors_1 = require(\"../model/Errors\");\r\nconst utils_1 = require(\"../utils\");\r\nconst DataModel_1 = require(\"../model/DataModel\");\r\nexports.Switch = Symbol('switch');\r\nexports.Case = Symbol('case');\r\nconst ObjectNode = (fields, config) => {\r\n const { [exports.Switch]: filter, [exports.Case]: cases, ...defaultFields } = fields;\r\n const getActiveFields = (path) => {\r\n if (filter === undefined)\r\n return defaultFields;\r\n const switchValue = (0, Path_1.relativePath)(path, filter).get();\r\n const activeCase = cases[switchValue];\r\n return { ...defaultFields, ...activeCase };\r\n };\r\n const getChildModelPath = (path, childKey) => {\r\n var _a;\r\n const switchValue = filter ? (0, Path_1.relativePath)(path, filter).get() : undefined;\r\n const caseFields = filter ? ((_a = cases[switchValue]) !== null && _a !== void 0 ? _a : {}) : {};\r\n const caseKeys = Object.keys(caseFields);\r\n const pathWithContext = (config === null || config === void 0 ? void 0 : config.context) ?\r\n new Path_1.ModelPath(path.getModel(), new Path_1.Path(path.getArray(), [config.context])) : path;\r\n const pathWithFilter = !(config === null || config === void 0 ? void 0 : config.disableSwitchContext) && switchValue && caseKeys.includes(childKey) ?\r\n pathWithContext.contextPush(switchValue) : pathWithContext;\r\n return pathWithFilter.push(childKey);\r\n };\r\n return ({\r\n ...Node_1.Base,\r\n type: () => 'object',\r\n category: () => config === null || config === void 0 ? void 0 : config.category,\r\n default: () => ({}),\r\n keep() {\r\n return this.optional();\r\n },\r\n navigate(path, index) {\r\n const nextIndex = index + 1;\r\n const pathElements = path.getArray();\r\n if (pathElements.length <= nextIndex) {\r\n return this;\r\n }\r\n const activeFields = getActiveFields(path.slice(0, nextIndex));\r\n const node = activeFields[pathElements[nextIndex]];\r\n return node === null || node === void 0 ? void 0 : node.navigate(path, nextIndex);\r\n },\r\n pathPush(path, key) {\r\n return getChildModelPath(path, key.toString());\r\n },\r\n suggest(path, value) {\r\n const activeFields = getActiveFields(path);\r\n const existingKeys = Object.keys(typeof value === 'object' ? value : {});\r\n return Object.keys(activeFields)\r\n .filter(k => activeFields[k].enabled(path))\r\n .filter(k => !existingKeys.includes(k))\r\n .map(utils_1.quoteString);\r\n },\r\n validate(path, value, errors, options) {\r\n if (options.loose && typeof value !== 'object') {\r\n value = options.wrapLists ? DataModel_1.DataModel.wrapLists(this.default()) : this.default();\r\n }\r\n if (typeof value !== 'object' || value === null) {\r\n errors.add(path, 'error.expected_object');\r\n return value;\r\n }\r\n let activeFields = defaultFields;\r\n if (filter) {\r\n const filterPath = (0, Path_1.relativePath)(path, filter);\r\n let switchValue = filterPath.get();\r\n if (path.equals(filterPath.pop())) {\r\n const filterField = filterPath.last();\r\n switchValue = defaultFields[filterField].validate(path.push(filterField), value[filterField], new Errors_1.Errors(), options);\r\n }\r\n activeFields = { ...activeFields, ...cases[switchValue] };\r\n }\r\n const activeKeys = Object.keys(activeFields);\r\n const forcedKeys = activeKeys.filter(k => !activeFields[k].optional());\r\n const keys = new Set([...forcedKeys, ...Object.keys(value)]);\r\n const res = {};\r\n keys.forEach(k => {\r\n if (activeKeys.includes(k)) {\r\n if (!activeFields[k].enabled(path))\r\n return;\r\n const newValue = activeFields[k].validate(path.push(k), value[k], errors, options);\r\n if (!activeFields[k].keep() && activeFields[k].optional()\r\n && (newValue === undefined\r\n || (Array.isArray(newValue) && newValue.length === 0)\r\n || (newValue.constructor === Object && Object.keys(newValue).length === 0))) {\r\n delete res[k];\r\n }\r\n else {\r\n res[k] = newValue;\r\n path.getModel().set(path.push(k), newValue, true);\r\n }\r\n }\r\n else {\r\n res[k] = value[k];\r\n }\r\n });\r\n for (const a of Object.getOwnPropertySymbols(value)) {\r\n res[a] = value[a];\r\n }\r\n return res;\r\n },\r\n hook(hook, path, ...args) {\r\n var _a;\r\n return ((_a = hook.object) !== null && _a !== void 0 ? _a : hook.base).call(hook, { node: this, fields: defaultFields, config: config !== null && config !== void 0 ? config : {}, filter, cases, getActiveFields, getChildModelPath }, path, ...args);\r\n }\r\n });\r\n};\r\nexports.ObjectNode = ObjectNode;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.Reference = void 0;\r\nconst Reference = (schemas, schema) => ({\r\n type(path) {\r\n return schemas.get(schema).type.bind(this)(path);\r\n },\r\n category(path) {\r\n return schemas.get(schema).category.bind(this)(path);\r\n },\r\n default() {\r\n return schemas.get(schema).default.bind(this)();\r\n },\r\n transform(path, value) {\r\n return schemas.get(schema).transform(path, value);\r\n },\r\n enabled(path) {\r\n return schemas.get(schema).enabled.bind(this)(path);\r\n },\r\n keep() {\r\n return schemas.get(schema).keep.bind(this)();\r\n },\r\n optional() {\r\n return schemas.get(schema).optional.bind(this)();\r\n },\r\n navigate(path, index) {\r\n return schemas.get(schema).navigate.bind(this)(path, index);\r\n },\r\n pathPush(path, key) {\r\n return schemas.get(schema).pathPush.bind(this)(path, key);\r\n },\r\n suggest(path, value) {\r\n return schemas.get(schema).suggest.bind(this)(path, value);\r\n },\r\n validate(path, value, errors, options) {\r\n return schemas.get(schema).validate.bind(this)(path, value, errors, options);\r\n },\r\n validationOption(path) {\r\n return schemas.get(schema).validationOption.bind(this)(path);\r\n },\r\n hook(hook, path, ...args) {\r\n return schemas.get(schema).hook.bind(this)(hook, path, ...args);\r\n },\r\n activeCase(path, fallback) {\r\n return schemas.get(schema).activeCase.bind(this)(path, fallback);\r\n },\r\n canUpdate(path, value) {\r\n return schemas.get(schema).canUpdate.bind(this)(path, value);\r\n },\r\n update(path, value) {\r\n return schemas.get(schema).update.bind(this)(path, value);\r\n }\r\n});\r\nexports.Reference = Reference;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.StringNode = void 0;\r\nconst Node_1 = require(\"./Node\");\r\nconst utils_1 = require(\"../utils\");\r\nconst DataModel_1 = require(\"../model/DataModel\");\r\nconst isEnum = (value) => {\r\n return !!(value === null || value === void 0 ? void 0 : value.enum);\r\n};\r\nconst isValidator = (value) => {\r\n return !!(value === null || value === void 0 ? void 0 : value.validator);\r\n};\r\n/**\r\n * Simple string node with one text field\r\n */\r\nconst StringNode = (collections, config) => {\r\n const getValues = () => {\r\n var _a, _b, _c, _d;\r\n if (isEnum(config)) {\r\n if (typeof config.enum === 'string') {\r\n return (_a = collections === null || collections === void 0 ? void 0 : collections.get(config.enum)) !== null && _a !== void 0 ? _a : [];\r\n }\r\n return config.enum;\r\n }\r\n if ((config === null || config === void 0 ? void 0 : config.validator) === 'resource') {\r\n if (typeof config.params.pool === 'string') {\r\n if (config.params.requireTag) {\r\n return (_b = collections === null || collections === void 0 ? void 0 : collections.get(`tag/${config.params.pool}`).map(e => `#${e}`)) !== null && _b !== void 0 ? _b : [];\r\n }\r\n const registry = config.params.pool.replace(/^\\$/, '');\r\n return [\r\n ...config.params.allowTag ? (_c = collections === null || collections === void 0 ? void 0 : collections.get(`tag/${registry}`).map(e => `#${e}`)) !== null && _c !== void 0 ? _c : [] : [],\r\n ...(_d = collections === null || collections === void 0 ? void 0 : collections.get(registry)) !== null && _d !== void 0 ? _d : [],\r\n ];\r\n }\r\n return config.params.pool;\r\n }\r\n return [];\r\n };\r\n return {\r\n ...Node_1.Base,\r\n type: () => 'string',\r\n default: () => '',\r\n validate(path, value, errors, options) {\r\n if (options.loose && typeof value !== 'string') {\r\n value = (options.wrapLists ? DataModel_1.DataModel.wrapLists(this.default()) : this.default()) || undefined;\r\n }\r\n if (typeof value !== 'string') {\r\n errors.add(path, 'error.expected_string');\r\n return value;\r\n }\r\n if (isValidator(config)) {\r\n if (config.validator === 'resource' && value.length > 0 && !value.includes(':')) {\r\n value = value.startsWith('#')\r\n ? '#minecraft:' + value.slice(1)\r\n : 'minecraft:' + value;\r\n }\r\n if (config.validator === 'resource' && typeof value == 'string') {\r\n let id = value;\r\n if (value.startsWith('#')) {\r\n if (typeof config.params.pool === 'string' && config.params.pool.startsWith('$tag/')) {\r\n errors.add(path, 'error.disallowed_tag_prefix');\r\n return value;\r\n }\r\n else if (!config.params.allowTag && !config.params.requireTag) {\r\n errors.add(path, 'error.disallowed_tag');\r\n return value;\r\n }\r\n id = id.slice(1);\r\n }\r\n else if (config.params.requireTag) {\r\n errors.add(path, 'error.expected_tag');\r\n return value;\r\n }\r\n if (!id.match(/^(?:[_\\-a-z0-9.]*:)?[_\\-a-z0-9/.]*$/g)) {\r\n errors.add(path, 'error.invalid_resource_location');\r\n return value;\r\n }\r\n }\r\n if (config.validator === 'resource' && ((typeof config.params.pool === 'string' && config.params.pool.startsWith('$')) ||\r\n ((config.params.allowTag || config.params.requireTag) && value.startsWith('#')) ||\r\n config.params.isDefinition ||\r\n config.params.allowUnknown)) {\r\n return value;\r\n }\r\n }\r\n if ((isEnum(config) && config.additional)) {\r\n return value;\r\n }\r\n const values = getValues();\r\n if (values.length > 0 && !values.includes(value)) {\r\n errors.add(path, 'error.invalid_enum_option', value);\r\n }\r\n return value;\r\n },\r\n suggest: () => getValues().map(utils_1.quoteString),\r\n validationOption() {\r\n return isValidator(config) ? config : undefined;\r\n },\r\n hook(hook, path, ...args) {\r\n var _a;\r\n return ((_a = hook.string) !== null && _a !== void 0 ? _a : hook.base).call(hook, { node: this, getValues, config }, path, ...args);\r\n }\r\n };\r\n};\r\nexports.StringNode = StringNode;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.CollectionRegistry = exports.SchemaRegistry = void 0;\r\n/**\r\n * Registry for schemas\r\n */\r\nclass SchemaRegistry {\r\n constructor() {\r\n this.registry = {};\r\n }\r\n register(id, node) {\r\n this.registry[id] = node;\r\n }\r\n get(id) {\r\n const node = this.registry[id];\r\n if (node === undefined) {\r\n console.error(`Tried to access schema \"${id}\", but that doesn't exist.`);\r\n }\r\n return node;\r\n }\r\n}\r\nexports.SchemaRegistry = SchemaRegistry;\r\n/**\r\n * Registry for collections\r\n */\r\nclass CollectionRegistry {\r\n constructor() {\r\n this.registry = {};\r\n }\r\n register(id, list) {\r\n this.registry[id] = list;\r\n }\r\n get(id) {\r\n const list = this.registry[id];\r\n if (list === undefined) {\r\n console.warn(`Tried to access collection \"${id}\", but that doesn't exist.`);\r\n }\r\n return list !== null && list !== void 0 ? list : [];\r\n }\r\n}\r\nexports.CollectionRegistry = CollectionRegistry;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n","\"use strict\";\r\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}));\r\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__exportStar(require(\"./model/DataModel\"), exports);\r\n__exportStar(require(\"./model/Path\"), exports);\r\n__exportStar(require(\"./model/Errors\"), exports);\r\n__exportStar(require(\"./nodes/Node\"), exports);\r\n__exportStar(require(\"./nodes/BooleanNode\"), exports);\r\n__exportStar(require(\"./nodes/ChoiceNode\"), exports);\r\n__exportStar(require(\"./nodes/ListNode\"), exports);\r\n__exportStar(require(\"./nodes/MapNode\"), exports);\r\n__exportStar(require(\"./nodes/NumberNode\"), exports);\r\n__exportStar(require(\"./nodes/ObjectNode\"), exports);\r\n__exportStar(require(\"./nodes/Reference\"), exports);\r\n__exportStar(require(\"./nodes/StringNode\"), exports);\r\n__exportStar(require(\"./nodes/SwitchNode\"), exports);\r\n__exportStar(require(\"./Hook\"), exports);\r\n__exportStar(require(\"./Registries\"), exports);\r\n__exportStar(require(\"./ValidationOption\"), exports);\r\n","'use strict';\n\n\nfunction isNothing(subject) {\n return (typeof subject === 'undefined') || (subject === null);\n}\n\n\nfunction isObject(subject) {\n return (typeof subject === 'object') && (subject !== null);\n}\n\n\nfunction toArray(sequence) {\n if (Array.isArray(sequence)) return sequence;\n else if (isNothing(sequence)) return [];\n\n return [ sequence ];\n}\n\n\nfunction extend(target, source) {\n var index, length, key, sourceKeys;\n\n if (source) {\n sourceKeys = Object.keys(source);\n\n for (index = 0, length = sourceKeys.length; index < length; index += 1) {\n key = sourceKeys[index];\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\n\nfunction repeat(string, count) {\n var result = '', cycle;\n\n for (cycle = 0; cycle < count; cycle += 1) {\n result += string;\n }\n\n return result;\n}\n\n\nfunction isNegativeZero(number) {\n return (number === 0) && (Number.NEGATIVE_INFINITY === 1 / number);\n}\n\n\nmodule.exports.isNothing = isNothing;\nmodule.exports.isObject = isObject;\nmodule.exports.toArray = toArray;\nmodule.exports.repeat = repeat;\nmodule.exports.isNegativeZero = isNegativeZero;\nmodule.exports.extend = extend;\n","// YAML error class. http://stackoverflow.com/questions/8458984\n//\n'use strict';\n\nfunction YAMLException(reason, mark) {\n // Super constructor\n Error.call(this);\n\n this.name = 'YAMLException';\n this.reason = reason;\n this.mark = mark;\n this.message = (this.reason || '(unknown reason)') + (this.mark ? ' ' + this.mark.toString() : '');\n\n // Include stack trace in error object\n if (Error.captureStackTrace) {\n // Chrome and NodeJS\n Error.captureStackTrace(this, this.constructor);\n } else {\n // FF, IE 10+ and Safari 6+. Fallback for others\n this.stack = (new Error()).stack || '';\n }\n}\n\n\n// Inherit from Error\nYAMLException.prototype = Object.create(Error.prototype);\nYAMLException.prototype.constructor = YAMLException;\n\n\nYAMLException.prototype.toString = function toString(compact) {\n var result = this.name + ': ';\n\n result += this.reason || '(unknown reason)';\n\n if (!compact && this.mark) {\n result += ' ' + this.mark.toString();\n }\n\n return result;\n};\n\n\nmodule.exports = YAMLException;\n","'use strict';\n\n\nvar common = require('./common');\n\n\nfunction Mark(name, buffer, position, line, column) {\n this.name = name;\n this.buffer = buffer;\n this.position = position;\n this.line = line;\n this.column = column;\n}\n\n\nMark.prototype.getSnippet = function getSnippet(indent, maxLength) {\n var head, start, tail, end, snippet;\n\n if (!this.buffer) return null;\n\n indent = indent || 4;\n maxLength = maxLength || 75;\n\n head = '';\n start = this.position;\n\n while (start > 0 && '\\x00\\r\\n\\x85\\u2028\\u2029'.indexOf(this.buffer.charAt(start - 1)) === -1) {\n start -= 1;\n if (this.position - start > (maxLength / 2 - 1)) {\n head = ' ... ';\n start += 5;\n break;\n }\n }\n\n tail = '';\n end = this.position;\n\n while (end < this.buffer.length && '\\x00\\r\\n\\x85\\u2028\\u2029'.indexOf(this.buffer.charAt(end)) === -1) {\n end += 1;\n if (end - this.position > (maxLength / 2 - 1)) {\n tail = ' ... ';\n end -= 5;\n break;\n }\n }\n\n snippet = this.buffer.slice(start, end);\n\n return common.repeat(' ', indent) + head + snippet + tail + '\\n' +\n common.repeat(' ', indent + this.position - start + head.length) + '^';\n};\n\n\nMark.prototype.toString = function toString(compact) {\n var snippet, where = '';\n\n if (this.name) {\n where += 'in \"' + this.name + '\" ';\n }\n\n where += 'at line ' + (this.line + 1) + ', column ' + (this.column + 1);\n\n if (!compact) {\n snippet = this.getSnippet();\n\n if (snippet) {\n where += ':\\n' + snippet;\n }\n }\n\n return where;\n};\n\n\nmodule.exports = Mark;\n","'use strict';\n\nvar YAMLException = require('./exception');\n\nvar TYPE_CONSTRUCTOR_OPTIONS = [\n 'kind',\n 'resolve',\n 'construct',\n 'instanceOf',\n 'predicate',\n 'represent',\n 'defaultStyle',\n 'styleAliases'\n];\n\nvar YAML_NODE_KINDS = [\n 'scalar',\n 'sequence',\n 'mapping'\n];\n\nfunction compileStyleAliases(map) {\n var result = {};\n\n if (map !== null) {\n Object.keys(map).forEach(function (style) {\n map[style].forEach(function (alias) {\n result[String(alias)] = style;\n });\n });\n }\n\n return result;\n}\n\nfunction Type(tag, options) {\n options = options || {};\n\n Object.keys(options).forEach(function (name) {\n if (TYPE_CONSTRUCTOR_OPTIONS.indexOf(name) === -1) {\n throw new YAMLException('Unknown option \"' + name + '\" is met in definition of \"' + tag + '\" YAML type.');\n }\n });\n\n // TODO: Add tag format check.\n this.tag = tag;\n this.kind = options['kind'] || null;\n this.resolve = options['resolve'] || function () { return true; };\n this.construct = options['construct'] || function (data) { return data; };\n this.instanceOf = options['instanceOf'] || null;\n this.predicate = options['predicate'] || null;\n this.represent = options['represent'] || null;\n this.defaultStyle = options['defaultStyle'] || null;\n this.styleAliases = compileStyleAliases(options['styleAliases'] || null);\n\n if (YAML_NODE_KINDS.indexOf(this.kind) === -1) {\n throw new YAMLException('Unknown kind \"' + this.kind + '\" is specified for \"' + tag + '\" YAML type.');\n }\n}\n\nmodule.exports = Type;\n","'use strict';\n\n/*eslint-disable max-len*/\n\nvar common = require('./common');\nvar YAMLException = require('./exception');\nvar Type = require('./type');\n\n\nfunction compileList(schema, name, result) {\n var exclude = [];\n\n schema.include.forEach(function (includedSchema) {\n result = compileList(includedSchema, name, result);\n });\n\n schema[name].forEach(function (currentType) {\n result.forEach(function (previousType, previousIndex) {\n if (previousType.tag === currentType.tag && previousType.kind === currentType.kind) {\n exclude.push(previousIndex);\n }\n });\n\n result.push(currentType);\n });\n\n return result.filter(function (type, index) {\n return exclude.indexOf(index) === -1;\n });\n}\n\n\nfunction compileMap(/* lists... */) {\n var result = {\n scalar: {},\n sequence: {},\n mapping: {},\n fallback: {}\n }, index, length;\n\n function collectType(type) {\n result[type.kind][type.tag] = result['fallback'][type.tag] = type;\n }\n\n for (index = 0, length = arguments.length; index < length; index += 1) {\n arguments[index].forEach(collectType);\n }\n return result;\n}\n\n\nfunction Schema(definition) {\n this.include = definition.include || [];\n this.implicit = definition.implicit || [];\n this.explicit = definition.explicit || [];\n\n this.implicit.forEach(function (type) {\n if (type.loadKind && type.loadKind !== 'scalar') {\n throw new YAMLException('There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.');\n }\n });\n\n this.compiledImplicit = compileList(this, 'implicit', []);\n this.compiledExplicit = compileList(this, 'explicit', []);\n this.compiledTypeMap = compileMap(this.compiledImplicit, this.compiledExplicit);\n}\n\n\nSchema.DEFAULT = null;\n\n\nSchema.create = function createSchema() {\n var schemas, types;\n\n switch (arguments.length) {\n case 1:\n schemas = Schema.DEFAULT;\n types = arguments[0];\n break;\n\n case 2:\n schemas = arguments[0];\n types = arguments[1];\n break;\n\n default:\n throw new YAMLException('Wrong number of arguments for Schema.create function');\n }\n\n schemas = common.toArray(schemas);\n types = common.toArray(types);\n\n if (!schemas.every(function (schema) { return schema instanceof Schema; })) {\n throw new YAMLException('Specified list of super schemas (or a single Schema object) contains a non-Schema object.');\n }\n\n if (!types.every(function (type) { return type instanceof Type; })) {\n throw new YAMLException('Specified list of YAML types (or a single Type object) contains a non-Type object.');\n }\n\n return new Schema({\n include: schemas,\n explicit: types\n });\n};\n\n\nmodule.exports = Schema;\n","'use strict';\n\nvar Type = require('../type');\n\nmodule.exports = new Type('tag:yaml.org,2002:str', {\n kind: 'scalar',\n construct: function (data) { return data !== null ? data : ''; }\n});\n","'use strict';\n\nvar Type = require('../type');\n\nmodule.exports = new Type('tag:yaml.org,2002:seq', {\n kind: 'sequence',\n construct: function (data) { return data !== null ? data : []; }\n});\n","'use strict';\n\nvar Type = require('../type');\n\nmodule.exports = new Type('tag:yaml.org,2002:map', {\n kind: 'mapping',\n construct: function (data) { return data !== null ? data : {}; }\n});\n","// Standard YAML's Failsafe schema.\n// http://www.yaml.org/spec/1.2/spec.html#id2802346\n\n\n'use strict';\n\n\nvar Schema = require('../schema');\n\n\nmodule.exports = new Schema({\n explicit: [\n require('../type/str'),\n require('../type/seq'),\n require('../type/map')\n ]\n});\n","'use strict';\n\nvar Type = require('../type');\n\nfunction resolveYamlNull(data) {\n if (data === null) return true;\n\n var max = data.length;\n\n return (max === 1 && data === '~') ||\n (max === 4 && (data === 'null' || data === 'Null' || data === 'NULL'));\n}\n\nfunction constructYamlNull() {\n return null;\n}\n\nfunction isNull(object) {\n return object === null;\n}\n\nmodule.exports = new Type('tag:yaml.org,2002:null', {\n kind: 'scalar',\n resolve: resolveYamlNull,\n construct: constructYamlNull,\n predicate: isNull,\n represent: {\n canonical: function () { return '~'; },\n lowercase: function () { return 'null'; },\n uppercase: function () { return 'NULL'; },\n camelcase: function () { return 'Null'; }\n },\n defaultStyle: 'lowercase'\n});\n","'use strict';\n\nvar Type = require('../type');\n\nfunction resolveYamlBoolean(data) {\n if (data === null) return false;\n\n var max = data.length;\n\n return (max === 4 && (data === 'true' || data === 'True' || data === 'TRUE')) ||\n (max === 5 && (data === 'false' || data === 'False' || data === 'FALSE'));\n}\n\nfunction constructYamlBoolean(data) {\n return data === 'true' ||\n data === 'True' ||\n data === 'TRUE';\n}\n\nfunction isBoolean(object) {\n return Object.prototype.toString.call(object) === '[object Boolean]';\n}\n\nmodule.exports = new Type('tag:yaml.org,2002:bool', {\n kind: 'scalar',\n resolve: resolveYamlBoolean,\n construct: constructYamlBoolean,\n predicate: isBoolean,\n represent: {\n lowercase: function (object) { return object ? 'true' : 'false'; },\n uppercase: function (object) { return object ? 'TRUE' : 'FALSE'; },\n camelcase: function (object) { return object ? 'True' : 'False'; }\n },\n defaultStyle: 'lowercase'\n});\n","'use strict';\n\nvar common = require('../common');\nvar Type = require('../type');\n\nfunction isHexCode(c) {\n return ((0x30/* 0 */ <= c) && (c <= 0x39/* 9 */)) ||\n ((0x41/* A */ <= c) && (c <= 0x46/* F */)) ||\n ((0x61/* a */ <= c) && (c <= 0x66/* f */));\n}\n\nfunction isOctCode(c) {\n return ((0x30/* 0 */ <= c) && (c <= 0x37/* 7 */));\n}\n\nfunction isDecCode(c) {\n return ((0x30/* 0 */ <= c) && (c <= 0x39/* 9 */));\n}\n\nfunction resolveYamlInteger(data) {\n if (data === null) return false;\n\n var max = data.length,\n index = 0,\n hasDigits = false,\n ch;\n\n if (!max) return false;\n\n ch = data[index];\n\n // sign\n if (ch === '-' || ch === '+') {\n ch = data[++index];\n }\n\n if (ch === '0') {\n // 0\n if (index + 1 === max) return true;\n ch = data[++index];\n\n // base 2, base 8, base 16\n\n if (ch === 'b') {\n // base 2\n index++;\n\n for (; index < max; index++) {\n ch = data[index];\n if (ch === '_') continue;\n if (ch !== '0' && ch !== '1') return false;\n hasDigits = true;\n }\n return hasDigits && ch !== '_';\n }\n\n\n if (ch === 'x') {\n // base 16\n index++;\n\n for (; index < max; index++) {\n ch = data[index];\n if (ch === '_') continue;\n if (!isHexCode(data.charCodeAt(index))) return false;\n hasDigits = true;\n }\n return hasDigits && ch !== '_';\n }\n\n // base 8\n for (; index < max; index++) {\n ch = data[index];\n if (ch === '_') continue;\n if (!isOctCode(data.charCodeAt(index))) return false;\n hasDigits = true;\n }\n return hasDigits && ch !== '_';\n }\n\n // base 10 (except 0) or base 60\n\n // value should not start with `_`;\n if (ch === '_') return false;\n\n for (; index < max; index++) {\n ch = data[index];\n if (ch === '_') continue;\n if (ch === ':') break;\n if (!isDecCode(data.charCodeAt(index))) {\n return false;\n }\n hasDigits = true;\n }\n\n // Should have digits and should not end with `_`\n if (!hasDigits || ch === '_') return false;\n\n // if !base60 - done;\n if (ch !== ':') return true;\n\n // base60 almost not used, no needs to optimize\n return /^(:[0-5]?[0-9])+$/.test(data.slice(index));\n}\n\nfunction constructYamlInteger(data) {\n var value = data, sign = 1, ch, base, digits = [];\n\n if (value.indexOf('_') !== -1) {\n value = value.replace(/_/g, '');\n }\n\n ch = value[0];\n\n if (ch === '-' || ch === '+') {\n if (ch === '-') sign = -1;\n value = value.slice(1);\n ch = value[0];\n }\n\n if (value === '0') return 0;\n\n if (ch === '0') {\n if (value[1] === 'b') return sign * parseInt(value.slice(2), 2);\n if (value[1] === 'x') return sign * parseInt(value, 16);\n return sign * parseInt(value, 8);\n }\n\n if (value.indexOf(':') !== -1) {\n value.split(':').forEach(function (v) {\n digits.unshift(parseInt(v, 10));\n });\n\n value = 0;\n base = 1;\n\n digits.forEach(function (d) {\n value += (d * base);\n base *= 60;\n });\n\n return sign * value;\n\n }\n\n return sign * parseInt(value, 10);\n}\n\nfunction isInteger(object) {\n return (Object.prototype.toString.call(object)) === '[object Number]' &&\n (object % 1 === 0 && !common.isNegativeZero(object));\n}\n\nmodule.exports = new Type('tag:yaml.org,2002:int', {\n kind: 'scalar',\n resolve: resolveYamlInteger,\n construct: constructYamlInteger,\n predicate: isInteger,\n represent: {\n binary: function (obj) { return obj >= 0 ? '0b' + obj.toString(2) : '-0b' + obj.toString(2).slice(1); },\n octal: function (obj) { return obj >= 0 ? '0' + obj.toString(8) : '-0' + obj.toString(8).slice(1); },\n decimal: function (obj) { return obj.toString(10); },\n /* eslint-disable max-len */\n hexadecimal: function (obj) { return obj >= 0 ? '0x' + obj.toString(16).toUpperCase() : '-0x' + obj.toString(16).toUpperCase().slice(1); }\n },\n defaultStyle: 'decimal',\n styleAliases: {\n binary: [ 2, 'bin' ],\n octal: [ 8, 'oct' ],\n decimal: [ 10, 'dec' ],\n hexadecimal: [ 16, 'hex' ]\n }\n});\n","'use strict';\n\nvar common = require('../common');\nvar Type = require('../type');\n\nvar YAML_FLOAT_PATTERN = new RegExp(\n // 2.5e4, 2.5 and integers\n '^(?:[-+]?(?:0|[1-9][0-9_]*)(?:\\\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?' +\n // .2e4, .2\n // special case, seems not from spec\n '|\\\\.[0-9_]+(?:[eE][-+]?[0-9]+)?' +\n // 20:59\n '|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\\\.[0-9_]*' +\n // .inf\n '|[-+]?\\\\.(?:inf|Inf|INF)' +\n // .nan\n '|\\\\.(?:nan|NaN|NAN))$');\n\nfunction resolveYamlFloat(data) {\n if (data === null) return false;\n\n if (!YAML_FLOAT_PATTERN.test(data) ||\n // Quick hack to not allow integers end with `_`\n // Probably should update regexp & check speed\n data[data.length - 1] === '_') {\n return false;\n }\n\n return true;\n}\n\nfunction constructYamlFloat(data) {\n var value, sign, base, digits;\n\n value = data.replace(/_/g, '').toLowerCase();\n sign = value[0] === '-' ? -1 : 1;\n digits = [];\n\n if ('+-'.indexOf(value[0]) >= 0) {\n value = value.slice(1);\n }\n\n if (value === '.inf') {\n return (sign === 1) ? Number.POSITIVE_INFINITY : Number.NEGATIVE_INFINITY;\n\n } else if (value === '.nan') {\n return NaN;\n\n } else if (value.indexOf(':') >= 0) {\n value.split(':').forEach(function (v) {\n digits.unshift(parseFloat(v, 10));\n });\n\n value = 0.0;\n base = 1;\n\n digits.forEach(function (d) {\n value += d * base;\n base *= 60;\n });\n\n return sign * value;\n\n }\n return sign * parseFloat(value, 10);\n}\n\n\nvar SCIENTIFIC_WITHOUT_DOT = /^[-+]?[0-9]+e/;\n\nfunction representYamlFloat(object, style) {\n var res;\n\n if (isNaN(object)) {\n switch (style) {\n case 'lowercase': return '.nan';\n case 'uppercase': return '.NAN';\n case 'camelcase': return '.NaN';\n }\n } else if (Number.POSITIVE_INFINITY === object) {\n switch (style) {\n case 'lowercase': return '.inf';\n case 'uppercase': return '.INF';\n case 'camelcase': return '.Inf';\n }\n } else if (Number.NEGATIVE_INFINITY === object) {\n switch (style) {\n case 'lowercase': return '-.inf';\n case 'uppercase': return '-.INF';\n case 'camelcase': return '-.Inf';\n }\n } else if (common.isNegativeZero(object)) {\n return '-0.0';\n }\n\n res = object.toString(10);\n\n // JS stringifier can build scientific format without dots: 5e-100,\n // while YAML requres dot: 5.e-100. Fix it with simple hack\n\n return SCIENTIFIC_WITHOUT_DOT.test(res) ? res.replace('e', '.e') : res;\n}\n\nfunction isFloat(object) {\n return (Object.prototype.toString.call(object) === '[object Number]') &&\n (object % 1 !== 0 || common.isNegativeZero(object));\n}\n\nmodule.exports = new Type('tag:yaml.org,2002:float', {\n kind: 'scalar',\n resolve: resolveYamlFloat,\n construct: constructYamlFloat,\n predicate: isFloat,\n represent: representYamlFloat,\n defaultStyle: 'lowercase'\n});\n","// Standard YAML's JSON schema.\n// http://www.yaml.org/spec/1.2/spec.html#id2803231\n//\n// NOTE: JS-YAML does not support schema-specific tag resolution restrictions.\n// So, this schema is not such strict as defined in the YAML specification.\n// It allows numbers in binary notaion, use `Null` and `NULL` as `null`, etc.\n\n\n'use strict';\n\n\nvar Schema = require('../schema');\n\n\nmodule.exports = new Schema({\n include: [\n require('./failsafe')\n ],\n implicit: [\n require('../type/null'),\n require('../type/bool'),\n require('../type/int'),\n require('../type/float')\n ]\n});\n","// Standard YAML's Core schema.\n// http://www.yaml.org/spec/1.2/spec.html#id2804923\n//\n// NOTE: JS-YAML does not support schema-specific tag resolution restrictions.\n// So, Core schema has no distinctions from JSON schema is JS-YAML.\n\n\n'use strict';\n\n\nvar Schema = require('../schema');\n\n\nmodule.exports = new Schema({\n include: [\n require('./json')\n ]\n});\n","'use strict';\n\nvar Type = require('../type');\n\nvar YAML_DATE_REGEXP = new RegExp(\n '^([0-9][0-9][0-9][0-9])' + // [1] year\n '-([0-9][0-9])' + // [2] month\n '-([0-9][0-9])$'); // [3] day\n\nvar YAML_TIMESTAMP_REGEXP = new RegExp(\n '^([0-9][0-9][0-9][0-9])' + // [1] year\n '-([0-9][0-9]?)' + // [2] month\n '-([0-9][0-9]?)' + // [3] day\n '(?:[Tt]|[ \\\\t]+)' + // ...\n '([0-9][0-9]?)' + // [4] hour\n ':([0-9][0-9])' + // [5] minute\n ':([0-9][0-9])' + // [6] second\n '(?:\\\\.([0-9]*))?' + // [7] fraction\n '(?:[ \\\\t]*(Z|([-+])([0-9][0-9]?)' + // [8] tz [9] tz_sign [10] tz_hour\n '(?::([0-9][0-9]))?))?$'); // [11] tz_minute\n\nfunction resolveYamlTimestamp(data) {\n if (data === null) return false;\n if (YAML_DATE_REGEXP.exec(data) !== null) return true;\n if (YAML_TIMESTAMP_REGEXP.exec(data) !== null) return true;\n return false;\n}\n\nfunction constructYamlTimestamp(data) {\n var match, year, month, day, hour, minute, second, fraction = 0,\n delta = null, tz_hour, tz_minute, date;\n\n match = YAML_DATE_REGEXP.exec(data);\n if (match === null) match = YAML_TIMESTAMP_REGEXP.exec(data);\n\n if (match === null) throw new Error('Date resolve error');\n\n // match: [1] year [2] month [3] day\n\n year = +(match[1]);\n month = +(match[2]) - 1; // JS month starts with 0\n day = +(match[3]);\n\n if (!match[4]) { // no hour\n return new Date(Date.UTC(year, month, day));\n }\n\n // match: [4] hour [5] minute [6] second [7] fraction\n\n hour = +(match[4]);\n minute = +(match[5]);\n second = +(match[6]);\n\n if (match[7]) {\n fraction = match[7].slice(0, 3);\n while (fraction.length < 3) { // milli-seconds\n fraction += '0';\n }\n fraction = +fraction;\n }\n\n // match: [8] tz [9] tz_sign [10] tz_hour [11] tz_minute\n\n if (match[9]) {\n tz_hour = +(match[10]);\n tz_minute = +(match[11] || 0);\n delta = (tz_hour * 60 + tz_minute) * 60000; // delta in mili-seconds\n if (match[9] === '-') delta = -delta;\n }\n\n date = new Date(Date.UTC(year, month, day, hour, minute, second, fraction));\n\n if (delta) date.setTime(date.getTime() - delta);\n\n return date;\n}\n\nfunction representYamlTimestamp(object /*, style*/) {\n return object.toISOString();\n}\n\nmodule.exports = new Type('tag:yaml.org,2002:timestamp', {\n kind: 'scalar',\n resolve: resolveYamlTimestamp,\n construct: constructYamlTimestamp,\n instanceOf: Date,\n represent: representYamlTimestamp\n});\n","'use strict';\n\nvar Type = require('../type');\n\nfunction resolveYamlMerge(data) {\n return data === '<<' || data === null;\n}\n\nmodule.exports = new Type('tag:yaml.org,2002:merge', {\n kind: 'scalar',\n resolve: resolveYamlMerge\n});\n","'use strict';\n\n/*eslint-disable no-bitwise*/\n\nvar NodeBuffer;\n\ntry {\n // A trick for browserified version, to not include `Buffer` shim\n var _require = require;\n NodeBuffer = _require('buffer').Buffer;\n} catch (__) {}\n\nvar Type = require('../type');\n\n\n// [ 64, 65, 66 ] -> [ padding, CR, LF ]\nvar BASE64_MAP = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\\n\\r';\n\n\nfunction resolveYamlBinary(data) {\n if (data === null) return false;\n\n var code, idx, bitlen = 0, max = data.length, map = BASE64_MAP;\n\n // Convert one by one.\n for (idx = 0; idx < max; idx++) {\n code = map.indexOf(data.charAt(idx));\n\n // Skip CR/LF\n if (code > 64) continue;\n\n // Fail on illegal characters\n if (code < 0) return false;\n\n bitlen += 6;\n }\n\n // If there are any bits left, source was corrupted\n return (bitlen % 8) === 0;\n}\n\nfunction constructYamlBinary(data) {\n var idx, tailbits,\n input = data.replace(/[\\r\\n=]/g, ''), // remove CR/LF & padding to simplify scan\n max = input.length,\n map = BASE64_MAP,\n bits = 0,\n result = [];\n\n // Collect by 6*4 bits (3 bytes)\n\n for (idx = 0; idx < max; idx++) {\n if ((idx % 4 === 0) && idx) {\n result.push((bits >> 16) & 0xFF);\n result.push((bits >> 8) & 0xFF);\n result.push(bits & 0xFF);\n }\n\n bits = (bits << 6) | map.indexOf(input.charAt(idx));\n }\n\n // Dump tail\n\n tailbits = (max % 4) * 6;\n\n if (tailbits === 0) {\n result.push((bits >> 16) & 0xFF);\n result.push((bits >> 8) & 0xFF);\n result.push(bits & 0xFF);\n } else if (tailbits === 18) {\n result.push((bits >> 10) & 0xFF);\n result.push((bits >> 2) & 0xFF);\n } else if (tailbits === 12) {\n result.push((bits >> 4) & 0xFF);\n }\n\n // Wrap into Buffer for NodeJS and leave Array for browser\n if (NodeBuffer) {\n // Support node 6.+ Buffer API when available\n return NodeBuffer.from ? NodeBuffer.from(result) : new NodeBuffer(result);\n }\n\n return result;\n}\n\nfunction representYamlBinary(object /*, style*/) {\n var result = '', bits = 0, idx, tail,\n max = object.length,\n map = BASE64_MAP;\n\n // Convert every three bytes to 4 ASCII characters.\n\n for (idx = 0; idx < max; idx++) {\n if ((idx % 3 === 0) && idx) {\n result += map[(bits >> 18) & 0x3F];\n result += map[(bits >> 12) & 0x3F];\n result += map[(bits >> 6) & 0x3F];\n result += map[bits & 0x3F];\n }\n\n bits = (bits << 8) + object[idx];\n }\n\n // Dump tail\n\n tail = max % 3;\n\n if (tail === 0) {\n result += map[(bits >> 18) & 0x3F];\n result += map[(bits >> 12) & 0x3F];\n result += map[(bits >> 6) & 0x3F];\n result += map[bits & 0x3F];\n } else if (tail === 2) {\n result += map[(bits >> 10) & 0x3F];\n result += map[(bits >> 4) & 0x3F];\n result += map[(bits << 2) & 0x3F];\n result += map[64];\n } else if (tail === 1) {\n result += map[(bits >> 2) & 0x3F];\n result += map[(bits << 4) & 0x3F];\n result += map[64];\n result += map[64];\n }\n\n return result;\n}\n\nfunction isBinary(object) {\n return NodeBuffer && NodeBuffer.isBuffer(object);\n}\n\nmodule.exports = new Type('tag:yaml.org,2002:binary', {\n kind: 'scalar',\n resolve: resolveYamlBinary,\n construct: constructYamlBinary,\n predicate: isBinary,\n represent: representYamlBinary\n});\n","'use strict';\n\nvar Type = require('../type');\n\nvar _hasOwnProperty = Object.prototype.hasOwnProperty;\nvar _toString = Object.prototype.toString;\n\nfunction resolveYamlOmap(data) {\n if (data === null) return true;\n\n var objectKeys = [], index, length, pair, pairKey, pairHasKey,\n object = data;\n\n for (index = 0, length = object.length; index < length; index += 1) {\n pair = object[index];\n pairHasKey = false;\n\n if (_toString.call(pair) !== '[object Object]') return false;\n\n for (pairKey in pair) {\n if (_hasOwnProperty.call(pair, pairKey)) {\n if (!pairHasKey) pairHasKey = true;\n else return false;\n }\n }\n\n if (!pairHasKey) return false;\n\n if (objectKeys.indexOf(pairKey) === -1) objectKeys.push(pairKey);\n else return false;\n }\n\n return true;\n}\n\nfunction constructYamlOmap(data) {\n return data !== null ? data : [];\n}\n\nmodule.exports = new Type('tag:yaml.org,2002:omap', {\n kind: 'sequence',\n resolve: resolveYamlOmap,\n construct: constructYamlOmap\n});\n","'use strict';\n\nvar Type = require('../type');\n\nvar _toString = Object.prototype.toString;\n\nfunction resolveYamlPairs(data) {\n if (data === null) return true;\n\n var index, length, pair, keys, result,\n object = data;\n\n result = new Array(object.length);\n\n for (index = 0, length = object.length; index < length; index += 1) {\n pair = object[index];\n\n if (_toString.call(pair) !== '[object Object]') return false;\n\n keys = Object.keys(pair);\n\n if (keys.length !== 1) return false;\n\n result[index] = [ keys[0], pair[keys[0]] ];\n }\n\n return true;\n}\n\nfunction constructYamlPairs(data) {\n if (data === null) return [];\n\n var index, length, pair, keys, result,\n object = data;\n\n result = new Array(object.length);\n\n for (index = 0, length = object.length; index < length; index += 1) {\n pair = object[index];\n\n keys = Object.keys(pair);\n\n result[index] = [ keys[0], pair[keys[0]] ];\n }\n\n return result;\n}\n\nmodule.exports = new Type('tag:yaml.org,2002:pairs', {\n kind: 'sequence',\n resolve: resolveYamlPairs,\n construct: constructYamlPairs\n});\n","'use strict';\n\nvar Type = require('../type');\n\nvar _hasOwnProperty = Object.prototype.hasOwnProperty;\n\nfunction resolveYamlSet(data) {\n if (data === null) return true;\n\n var key, object = data;\n\n for (key in object) {\n if (_hasOwnProperty.call(object, key)) {\n if (object[key] !== null) return false;\n }\n }\n\n return true;\n}\n\nfunction constructYamlSet(data) {\n return data !== null ? data : {};\n}\n\nmodule.exports = new Type('tag:yaml.org,2002:set', {\n kind: 'mapping',\n resolve: resolveYamlSet,\n construct: constructYamlSet\n});\n","// JS-YAML's default schema for `safeLoad` function.\n// It is not described in the YAML specification.\n//\n// This schema is based on standard YAML's Core schema and includes most of\n// extra types described at YAML tag repository. (http://yaml.org/type/)\n\n\n'use strict';\n\n\nvar Schema = require('../schema');\n\n\nmodule.exports = new Schema({\n include: [\n require('./core')\n ],\n implicit: [\n require('../type/timestamp'),\n require('../type/merge')\n ],\n explicit: [\n require('../type/binary'),\n require('../type/omap'),\n require('../type/pairs'),\n require('../type/set')\n ]\n});\n","'use strict';\n\nvar Type = require('../../type');\n\nfunction resolveJavascriptUndefined() {\n return true;\n}\n\nfunction constructJavascriptUndefined() {\n /*eslint-disable no-undefined*/\n return undefined;\n}\n\nfunction representJavascriptUndefined() {\n return '';\n}\n\nfunction isUndefined(object) {\n return typeof object === 'undefined';\n}\n\nmodule.exports = new Type('tag:yaml.org,2002:js/undefined', {\n kind: 'scalar',\n resolve: resolveJavascriptUndefined,\n construct: constructJavascriptUndefined,\n predicate: isUndefined,\n represent: representJavascriptUndefined\n});\n","'use strict';\n\nvar Type = require('../../type');\n\nfunction resolveJavascriptRegExp(data) {\n if (data === null) return false;\n if (data.length === 0) return false;\n\n var regexp = data,\n tail = /\\/([gim]*)$/.exec(data),\n modifiers = '';\n\n // if regexp starts with '/' it can have modifiers and must be properly closed\n // `/foo/gim` - modifiers tail can be maximum 3 chars\n if (regexp[0] === '/') {\n if (tail) modifiers = tail[1];\n\n if (modifiers.length > 3) return false;\n // if expression starts with /, is should be properly terminated\n if (regexp[regexp.length - modifiers.length - 1] !== '/') return false;\n }\n\n return true;\n}\n\nfunction constructJavascriptRegExp(data) {\n var regexp = data,\n tail = /\\/([gim]*)$/.exec(data),\n modifiers = '';\n\n // `/foo/gim` - tail can be maximum 4 chars\n if (regexp[0] === '/') {\n if (tail) modifiers = tail[1];\n regexp = regexp.slice(1, regexp.length - modifiers.length - 1);\n }\n\n return new RegExp(regexp, modifiers);\n}\n\nfunction representJavascriptRegExp(object /*, style*/) {\n var result = '/' + object.source + '/';\n\n if (object.global) result += 'g';\n if (object.multiline) result += 'm';\n if (object.ignoreCase) result += 'i';\n\n return result;\n}\n\nfunction isRegExp(object) {\n return Object.prototype.toString.call(object) === '[object RegExp]';\n}\n\nmodule.exports = new Type('tag:yaml.org,2002:js/regexp', {\n kind: 'scalar',\n resolve: resolveJavascriptRegExp,\n construct: constructJavascriptRegExp,\n predicate: isRegExp,\n represent: representJavascriptRegExp\n});\n","'use strict';\n\nvar esprima;\n\n// Browserified version does not have esprima\n//\n// 1. For node.js just require module as deps\n// 2. For browser try to require mudule via external AMD system.\n// If not found - try to fallback to window.esprima. If not\n// found too - then fail to parse.\n//\ntry {\n // workaround to exclude package from browserify list.\n var _require = require;\n esprima = _require('esprima');\n} catch (_) {\n /* eslint-disable no-redeclare */\n /* global window */\n if (typeof window !== 'undefined') esprima = window.esprima;\n}\n\nvar Type = require('../../type');\n\nfunction resolveJavascriptFunction(data) {\n if (data === null) return false;\n\n try {\n var source = '(' + data + ')',\n ast = esprima.parse(source, { range: true });\n\n if (ast.type !== 'Program' ||\n ast.body.length !== 1 ||\n ast.body[0].type !== 'ExpressionStatement' ||\n (ast.body[0].expression.type !== 'ArrowFunctionExpression' &&\n ast.body[0].expression.type !== 'FunctionExpression')) {\n return false;\n }\n\n return true;\n } catch (err) {\n return false;\n }\n}\n\nfunction constructJavascriptFunction(data) {\n /*jslint evil:true*/\n\n var source = '(' + data + ')',\n ast = esprima.parse(source, { range: true }),\n params = [],\n body;\n\n if (ast.type !== 'Program' ||\n ast.body.length !== 1 ||\n ast.body[0].type !== 'ExpressionStatement' ||\n (ast.body[0].expression.type !== 'ArrowFunctionExpression' &&\n ast.body[0].expression.type !== 'FunctionExpression')) {\n throw new Error('Failed to resolve function');\n }\n\n ast.body[0].expression.params.forEach(function (param) {\n params.push(param.name);\n });\n\n body = ast.body[0].expression.body.range;\n\n // Esprima's ranges include the first '{' and the last '}' characters on\n // function expressions. So cut them out.\n if (ast.body[0].expression.body.type === 'BlockStatement') {\n /*eslint-disable no-new-func*/\n return new Function(params, source.slice(body[0] + 1, body[1] - 1));\n }\n // ES6 arrow functions can omit the BlockStatement. In that case, just return\n // the body.\n /*eslint-disable no-new-func*/\n return new Function(params, 'return ' + source.slice(body[0], body[1]));\n}\n\nfunction representJavascriptFunction(object /*, style*/) {\n return object.toString();\n}\n\nfunction isFunction(object) {\n return Object.prototype.toString.call(object) === '[object Function]';\n}\n\nmodule.exports = new Type('tag:yaml.org,2002:js/function', {\n kind: 'scalar',\n resolve: resolveJavascriptFunction,\n construct: constructJavascriptFunction,\n predicate: isFunction,\n represent: representJavascriptFunction\n});\n","// JS-YAML's default schema for `load` function.\n// It is not described in the YAML specification.\n//\n// This schema is based on JS-YAML's default safe schema and includes\n// JavaScript-specific types: !!js/undefined, !!js/regexp and !!js/function.\n//\n// Also this schema is used as default base schema at `Schema.create` function.\n\n\n'use strict';\n\n\nvar Schema = require('../schema');\n\n\nmodule.exports = Schema.DEFAULT = new Schema({\n include: [\n require('./default_safe')\n ],\n explicit: [\n require('../type/js/undefined'),\n require('../type/js/regexp'),\n require('../type/js/function')\n ]\n});\n","'use strict';\n\n/*eslint-disable max-len,no-use-before-define*/\n\nvar common = require('./common');\nvar YAMLException = require('./exception');\nvar Mark = require('./mark');\nvar DEFAULT_SAFE_SCHEMA = require('./schema/default_safe');\nvar DEFAULT_FULL_SCHEMA = require('./schema/default_full');\n\n\nvar _hasOwnProperty = Object.prototype.hasOwnProperty;\n\n\nvar CONTEXT_FLOW_IN = 1;\nvar CONTEXT_FLOW_OUT = 2;\nvar CONTEXT_BLOCK_IN = 3;\nvar CONTEXT_BLOCK_OUT = 4;\n\n\nvar CHOMPING_CLIP = 1;\nvar CHOMPING_STRIP = 2;\nvar CHOMPING_KEEP = 3;\n\n\nvar PATTERN_NON_PRINTABLE = /[\\x00-\\x08\\x0B\\x0C\\x0E-\\x1F\\x7F-\\x84\\x86-\\x9F\\uFFFE\\uFFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF]/;\nvar PATTERN_NON_ASCII_LINE_BREAKS = /[\\x85\\u2028\\u2029]/;\nvar PATTERN_FLOW_INDICATORS = /[,\\[\\]\\{\\}]/;\nvar PATTERN_TAG_HANDLE = /^(?:!|!!|![a-z\\-]+!)$/i;\nvar PATTERN_TAG_URI = /^(?:!|[^,\\[\\]\\{\\}])(?:%[0-9a-f]{2}|[0-9a-z\\-#;\\/\\?:@&=\\+\\$,_\\.!~\\*'\\(\\)\\[\\]])*$/i;\n\n\nfunction _class(obj) { return Object.prototype.toString.call(obj); }\n\nfunction is_EOL(c) {\n return (c === 0x0A/* LF */) || (c === 0x0D/* CR */);\n}\n\nfunction is_WHITE_SPACE(c) {\n return (c === 0x09/* Tab */) || (c === 0x20/* Space */);\n}\n\nfunction is_WS_OR_EOL(c) {\n return (c === 0x09/* Tab */) ||\n (c === 0x20/* Space */) ||\n (c === 0x0A/* LF */) ||\n (c === 0x0D/* CR */);\n}\n\nfunction is_FLOW_INDICATOR(c) {\n return c === 0x2C/* , */ ||\n c === 0x5B/* [ */ ||\n c === 0x5D/* ] */ ||\n c === 0x7B/* { */ ||\n c === 0x7D/* } */;\n}\n\nfunction fromHexCode(c) {\n var lc;\n\n if ((0x30/* 0 */ <= c) && (c <= 0x39/* 9 */)) {\n return c - 0x30;\n }\n\n /*eslint-disable no-bitwise*/\n lc = c | 0x20;\n\n if ((0x61/* a */ <= lc) && (lc <= 0x66/* f */)) {\n return lc - 0x61 + 10;\n }\n\n return -1;\n}\n\nfunction escapedHexLen(c) {\n if (c === 0x78/* x */) { return 2; }\n if (c === 0x75/* u */) { return 4; }\n if (c === 0x55/* U */) { return 8; }\n return 0;\n}\n\nfunction fromDecimalCode(c) {\n if ((0x30/* 0 */ <= c) && (c <= 0x39/* 9 */)) {\n return c - 0x30;\n }\n\n return -1;\n}\n\nfunction simpleEscapeSequence(c) {\n /* eslint-disable indent */\n return (c === 0x30/* 0 */) ? '\\x00' :\n (c === 0x61/* a */) ? '\\x07' :\n (c === 0x62/* b */) ? '\\x08' :\n (c === 0x74/* t */) ? '\\x09' :\n (c === 0x09/* Tab */) ? '\\x09' :\n (c === 0x6E/* n */) ? '\\x0A' :\n (c === 0x76/* v */) ? '\\x0B' :\n (c === 0x66/* f */) ? '\\x0C' :\n (c === 0x72/* r */) ? '\\x0D' :\n (c === 0x65/* e */) ? '\\x1B' :\n (c === 0x20/* Space */) ? ' ' :\n (c === 0x22/* \" */) ? '\\x22' :\n (c === 0x2F/* / */) ? '/' :\n (c === 0x5C/* \\ */) ? '\\x5C' :\n (c === 0x4E/* N */) ? '\\x85' :\n (c === 0x5F/* _ */) ? '\\xA0' :\n (c === 0x4C/* L */) ? '\\u2028' :\n (c === 0x50/* P */) ? '\\u2029' : '';\n}\n\nfunction charFromCodepoint(c) {\n if (c <= 0xFFFF) {\n return String.fromCharCode(c);\n }\n // Encode UTF-16 surrogate pair\n // https://en.wikipedia.org/wiki/UTF-16#Code_points_U.2B010000_to_U.2B10FFFF\n return String.fromCharCode(\n ((c - 0x010000) >> 10) + 0xD800,\n ((c - 0x010000) & 0x03FF) + 0xDC00\n );\n}\n\nvar simpleEscapeCheck = new Array(256); // integer, for fast access\nvar simpleEscapeMap = new Array(256);\nfor (var i = 0; i < 256; i++) {\n simpleEscapeCheck[i] = simpleEscapeSequence(i) ? 1 : 0;\n simpleEscapeMap[i] = simpleEscapeSequence(i);\n}\n\n\nfunction State(input, options) {\n this.input = input;\n\n this.filename = options['filename'] || null;\n this.schema = options['schema'] || DEFAULT_FULL_SCHEMA;\n this.onWarning = options['onWarning'] || null;\n this.legacy = options['legacy'] || false;\n this.json = options['json'] || false;\n this.listener = options['listener'] || null;\n\n this.implicitTypes = this.schema.compiledImplicit;\n this.typeMap = this.schema.compiledTypeMap;\n\n this.length = input.length;\n this.position = 0;\n this.line = 0;\n this.lineStart = 0;\n this.lineIndent = 0;\n\n this.documents = [];\n\n /*\n this.version;\n this.checkLineBreaks;\n this.tagMap;\n this.anchorMap;\n this.tag;\n this.anchor;\n this.kind;\n this.result;*/\n\n}\n\n\nfunction generateError(state, message) {\n return new YAMLException(\n message,\n new Mark(state.filename, state.input, state.position, state.line, (state.position - state.lineStart)));\n}\n\nfunction throwError(state, message) {\n throw generateError(state, message);\n}\n\nfunction throwWarning(state, message) {\n if (state.onWarning) {\n state.onWarning.call(null, generateError(state, message));\n }\n}\n\n\nvar directiveHandlers = {\n\n YAML: function handleYamlDirective(state, name, args) {\n\n var match, major, minor;\n\n if (state.version !== null) {\n throwError(state, 'duplication of %YAML directive');\n }\n\n if (args.length !== 1) {\n throwError(state, 'YAML directive accepts exactly one argument');\n }\n\n match = /^([0-9]+)\\.([0-9]+)$/.exec(args[0]);\n\n if (match === null) {\n throwError(state, 'ill-formed argument of the YAML directive');\n }\n\n major = parseInt(match[1], 10);\n minor = parseInt(match[2], 10);\n\n if (major !== 1) {\n throwError(state, 'unacceptable YAML version of the document');\n }\n\n state.version = args[0];\n state.checkLineBreaks = (minor < 2);\n\n if (minor !== 1 && minor !== 2) {\n throwWarning(state, 'unsupported YAML version of the document');\n }\n },\n\n TAG: function handleTagDirective(state, name, args) {\n\n var handle, prefix;\n\n if (args.length !== 2) {\n throwError(state, 'TAG directive accepts exactly two arguments');\n }\n\n handle = args[0];\n prefix = args[1];\n\n if (!PATTERN_TAG_HANDLE.test(handle)) {\n throwError(state, 'ill-formed tag handle (first argument) of the TAG directive');\n }\n\n if (_hasOwnProperty.call(state.tagMap, handle)) {\n throwError(state, 'there is a previously declared suffix for \"' + handle + '\" tag handle');\n }\n\n if (!PATTERN_TAG_URI.test(prefix)) {\n throwError(state, 'ill-formed tag prefix (second argument) of the TAG directive');\n }\n\n state.tagMap[handle] = prefix;\n }\n};\n\n\nfunction captureSegment(state, start, end, checkJson) {\n var _position, _length, _character, _result;\n\n if (start < end) {\n _result = state.input.slice(start, end);\n\n if (checkJson) {\n for (_position = 0, _length = _result.length; _position < _length; _position += 1) {\n _character = _result.charCodeAt(_position);\n if (!(_character === 0x09 ||\n (0x20 <= _character && _character <= 0x10FFFF))) {\n throwError(state, 'expected valid JSON character');\n }\n }\n } else if (PATTERN_NON_PRINTABLE.test(_result)) {\n throwError(state, 'the stream contains non-printable characters');\n }\n\n state.result += _result;\n }\n}\n\nfunction mergeMappings(state, destination, source, overridableKeys) {\n var sourceKeys, key, index, quantity;\n\n if (!common.isObject(source)) {\n throwError(state, 'cannot merge mappings; the provided source object is unacceptable');\n }\n\n sourceKeys = Object.keys(source);\n\n for (index = 0, quantity = sourceKeys.length; index < quantity; index += 1) {\n key = sourceKeys[index];\n\n if (!_hasOwnProperty.call(destination, key)) {\n destination[key] = source[key];\n overridableKeys[key] = true;\n }\n }\n}\n\nfunction storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, valueNode, startLine, startPos) {\n var index, quantity;\n\n // The output is a plain object here, so keys can only be strings.\n // We need to convert keyNode to a string, but doing so can hang the process\n // (deeply nested arrays that explode exponentially using aliases).\n if (Array.isArray(keyNode)) {\n keyNode = Array.prototype.slice.call(keyNode);\n\n for (index = 0, quantity = keyNode.length; index < quantity; index += 1) {\n if (Array.isArray(keyNode[index])) {\n throwError(state, 'nested arrays are not supported inside keys');\n }\n\n if (typeof keyNode === 'object' && _class(keyNode[index]) === '[object Object]') {\n keyNode[index] = '[object Object]';\n }\n }\n }\n\n // Avoid code execution in load() via toString property\n // (still use its own toString for arrays, timestamps,\n // and whatever user schema extensions happen to have @@toStringTag)\n if (typeof keyNode === 'object' && _class(keyNode) === '[object Object]') {\n keyNode = '[object Object]';\n }\n\n\n keyNode = String(keyNode);\n\n if (_result === null) {\n _result = {};\n }\n\n if (keyTag === 'tag:yaml.org,2002:merge') {\n if (Array.isArray(valueNode)) {\n for (index = 0, quantity = valueNode.length; index < quantity; index += 1) {\n mergeMappings(state, _result, valueNode[index], overridableKeys);\n }\n } else {\n mergeMappings(state, _result, valueNode, overridableKeys);\n }\n } else {\n if (!state.json &&\n !_hasOwnProperty.call(overridableKeys, keyNode) &&\n _hasOwnProperty.call(_result, keyNode)) {\n state.line = startLine || state.line;\n state.position = startPos || state.position;\n throwError(state, 'duplicated mapping key');\n }\n _result[keyNode] = valueNode;\n delete overridableKeys[keyNode];\n }\n\n return _result;\n}\n\nfunction readLineBreak(state) {\n var ch;\n\n ch = state.input.charCodeAt(state.position);\n\n if (ch === 0x0A/* LF */) {\n state.position++;\n } else if (ch === 0x0D/* CR */) {\n state.position++;\n if (state.input.charCodeAt(state.position) === 0x0A/* LF */) {\n state.position++;\n }\n } else {\n throwError(state, 'a line break is expected');\n }\n\n state.line += 1;\n state.lineStart = state.position;\n}\n\nfunction skipSeparationSpace(state, allowComments, checkIndent) {\n var lineBreaks = 0,\n ch = state.input.charCodeAt(state.position);\n\n while (ch !== 0) {\n while (is_WHITE_SPACE(ch)) {\n ch = state.input.charCodeAt(++state.position);\n }\n\n if (allowComments && ch === 0x23/* # */) {\n do {\n ch = state.input.charCodeAt(++state.position);\n } while (ch !== 0x0A/* LF */ && ch !== 0x0D/* CR */ && ch !== 0);\n }\n\n if (is_EOL(ch)) {\n readLineBreak(state);\n\n ch = state.input.charCodeAt(state.position);\n lineBreaks++;\n state.lineIndent = 0;\n\n while (ch === 0x20/* Space */) {\n state.lineIndent++;\n ch = state.input.charCodeAt(++state.position);\n }\n } else {\n break;\n }\n }\n\n if (checkIndent !== -1 && lineBreaks !== 0 && state.lineIndent < checkIndent) {\n throwWarning(state, 'deficient indentation');\n }\n\n return lineBreaks;\n}\n\nfunction testDocumentSeparator(state) {\n var _position = state.position,\n ch;\n\n ch = state.input.charCodeAt(_position);\n\n // Condition state.position === state.lineStart is tested\n // in parent on each call, for efficiency. No needs to test here again.\n if ((ch === 0x2D/* - */ || ch === 0x2E/* . */) &&\n ch === state.input.charCodeAt(_position + 1) &&\n ch === state.input.charCodeAt(_position + 2)) {\n\n _position += 3;\n\n ch = state.input.charCodeAt(_position);\n\n if (ch === 0 || is_WS_OR_EOL(ch)) {\n return true;\n }\n }\n\n return false;\n}\n\nfunction writeFoldedLines(state, count) {\n if (count === 1) {\n state.result += ' ';\n } else if (count > 1) {\n state.result += common.repeat('\\n', count - 1);\n }\n}\n\n\nfunction readPlainScalar(state, nodeIndent, withinFlowCollection) {\n var preceding,\n following,\n captureStart,\n captureEnd,\n hasPendingContent,\n _line,\n _lineStart,\n _lineIndent,\n _kind = state.kind,\n _result = state.result,\n ch;\n\n ch = state.input.charCodeAt(state.position);\n\n if (is_WS_OR_EOL(ch) ||\n is_FLOW_INDICATOR(ch) ||\n ch === 0x23/* # */ ||\n ch === 0x26/* & */ ||\n ch === 0x2A/* * */ ||\n ch === 0x21/* ! */ ||\n ch === 0x7C/* | */ ||\n ch === 0x3E/* > */ ||\n ch === 0x27/* ' */ ||\n ch === 0x22/* \" */ ||\n ch === 0x25/* % */ ||\n ch === 0x40/* @ */ ||\n ch === 0x60/* ` */) {\n return false;\n }\n\n if (ch === 0x3F/* ? */ || ch === 0x2D/* - */) {\n following = state.input.charCodeAt(state.position + 1);\n\n if (is_WS_OR_EOL(following) ||\n withinFlowCollection && is_FLOW_INDICATOR(following)) {\n return false;\n }\n }\n\n state.kind = 'scalar';\n state.result = '';\n captureStart = captureEnd = state.position;\n hasPendingContent = false;\n\n while (ch !== 0) {\n if (ch === 0x3A/* : */) {\n following = state.input.charCodeAt(state.position + 1);\n\n if (is_WS_OR_EOL(following) ||\n withinFlowCollection && is_FLOW_INDICATOR(following)) {\n break;\n }\n\n } else if (ch === 0x23/* # */) {\n preceding = state.input.charCodeAt(state.position - 1);\n\n if (is_WS_OR_EOL(preceding)) {\n break;\n }\n\n } else if ((state.position === state.lineStart && testDocumentSeparator(state)) ||\n withinFlowCollection && is_FLOW_INDICATOR(ch)) {\n break;\n\n } else if (is_EOL(ch)) {\n _line = state.line;\n _lineStart = state.lineStart;\n _lineIndent = state.lineIndent;\n skipSeparationSpace(state, false, -1);\n\n if (state.lineIndent >= nodeIndent) {\n hasPendingContent = true;\n ch = state.input.charCodeAt(state.position);\n continue;\n } else {\n state.position = captureEnd;\n state.line = _line;\n state.lineStart = _lineStart;\n state.lineIndent = _lineIndent;\n break;\n }\n }\n\n if (hasPendingContent) {\n captureSegment(state, captureStart, captureEnd, false);\n writeFoldedLines(state, state.line - _line);\n captureStart = captureEnd = state.position;\n hasPendingContent = false;\n }\n\n if (!is_WHITE_SPACE(ch)) {\n captureEnd = state.position + 1;\n }\n\n ch = state.input.charCodeAt(++state.position);\n }\n\n captureSegment(state, captureStart, captureEnd, false);\n\n if (state.result) {\n return true;\n }\n\n state.kind = _kind;\n state.result = _result;\n return false;\n}\n\nfunction readSingleQuotedScalar(state, nodeIndent) {\n var ch,\n captureStart, captureEnd;\n\n ch = state.input.charCodeAt(state.position);\n\n if (ch !== 0x27/* ' */) {\n return false;\n }\n\n state.kind = 'scalar';\n state.result = '';\n state.position++;\n captureStart = captureEnd = state.position;\n\n while ((ch = state.input.charCodeAt(state.position)) !== 0) {\n if (ch === 0x27/* ' */) {\n captureSegment(state, captureStart, state.position, true);\n ch = state.input.charCodeAt(++state.position);\n\n if (ch === 0x27/* ' */) {\n captureStart = state.position;\n state.position++;\n captureEnd = state.position;\n } else {\n return true;\n }\n\n } else if (is_EOL(ch)) {\n captureSegment(state, captureStart, captureEnd, true);\n writeFoldedLines(state, skipSeparationSpace(state, false, nodeIndent));\n captureStart = captureEnd = state.position;\n\n } else if (state.position === state.lineStart && testDocumentSeparator(state)) {\n throwError(state, 'unexpected end of the document within a single quoted scalar');\n\n } else {\n state.position++;\n captureEnd = state.position;\n }\n }\n\n throwError(state, 'unexpected end of the stream within a single quoted scalar');\n}\n\nfunction readDoubleQuotedScalar(state, nodeIndent) {\n var captureStart,\n captureEnd,\n hexLength,\n hexResult,\n tmp,\n ch;\n\n ch = state.input.charCodeAt(state.position);\n\n if (ch !== 0x22/* \" */) {\n return false;\n }\n\n state.kind = 'scalar';\n state.result = '';\n state.position++;\n captureStart = captureEnd = state.position;\n\n while ((ch = state.input.charCodeAt(state.position)) !== 0) {\n if (ch === 0x22/* \" */) {\n captureSegment(state, captureStart, state.position, true);\n state.position++;\n return true;\n\n } else if (ch === 0x5C/* \\ */) {\n captureSegment(state, captureStart, state.position, true);\n ch = state.input.charCodeAt(++state.position);\n\n if (is_EOL(ch)) {\n skipSeparationSpace(state, false, nodeIndent);\n\n // TODO: rework to inline fn with no type cast?\n } else if (ch < 256 && simpleEscapeCheck[ch]) {\n state.result += simpleEscapeMap[ch];\n state.position++;\n\n } else if ((tmp = escapedHexLen(ch)) > 0) {\n hexLength = tmp;\n hexResult = 0;\n\n for (; hexLength > 0; hexLength--) {\n ch = state.input.charCodeAt(++state.position);\n\n if ((tmp = fromHexCode(ch)) >= 0) {\n hexResult = (hexResult << 4) + tmp;\n\n } else {\n throwError(state, 'expected hexadecimal character');\n }\n }\n\n state.result += charFromCodepoint(hexResult);\n\n state.position++;\n\n } else {\n throwError(state, 'unknown escape sequence');\n }\n\n captureStart = captureEnd = state.position;\n\n } else if (is_EOL(ch)) {\n captureSegment(state, captureStart, captureEnd, true);\n writeFoldedLines(state, skipSeparationSpace(state, false, nodeIndent));\n captureStart = captureEnd = state.position;\n\n } else if (state.position === state.lineStart && testDocumentSeparator(state)) {\n throwError(state, 'unexpected end of the document within a double quoted scalar');\n\n } else {\n state.position++;\n captureEnd = state.position;\n }\n }\n\n throwError(state, 'unexpected end of the stream within a double quoted scalar');\n}\n\nfunction readFlowCollection(state, nodeIndent) {\n var readNext = true,\n _line,\n _tag = state.tag,\n _result,\n _anchor = state.anchor,\n following,\n terminator,\n isPair,\n isExplicitPair,\n isMapping,\n overridableKeys = {},\n keyNode,\n keyTag,\n valueNode,\n ch;\n\n ch = state.input.charCodeAt(state.position);\n\n if (ch === 0x5B/* [ */) {\n terminator = 0x5D;/* ] */\n isMapping = false;\n _result = [];\n } else if (ch === 0x7B/* { */) {\n terminator = 0x7D;/* } */\n isMapping = true;\n _result = {};\n } else {\n return false;\n }\n\n if (state.anchor !== null) {\n state.anchorMap[state.anchor] = _result;\n }\n\n ch = state.input.charCodeAt(++state.position);\n\n while (ch !== 0) {\n skipSeparationSpace(state, true, nodeIndent);\n\n ch = state.input.charCodeAt(state.position);\n\n if (ch === terminator) {\n state.position++;\n state.tag = _tag;\n state.anchor = _anchor;\n state.kind = isMapping ? 'mapping' : 'sequence';\n state.result = _result;\n return true;\n } else if (!readNext) {\n throwError(state, 'missed comma between flow collection entries');\n }\n\n keyTag = keyNode = valueNode = null;\n isPair = isExplicitPair = false;\n\n if (ch === 0x3F/* ? */) {\n following = state.input.charCodeAt(state.position + 1);\n\n if (is_WS_OR_EOL(following)) {\n isPair = isExplicitPair = true;\n state.position++;\n skipSeparationSpace(state, true, nodeIndent);\n }\n }\n\n _line = state.line;\n composeNode(state, nodeIndent, CONTEXT_FLOW_IN, false, true);\n keyTag = state.tag;\n keyNode = state.result;\n skipSeparationSpace(state, true, nodeIndent);\n\n ch = state.input.charCodeAt(state.position);\n\n if ((isExplicitPair || state.line === _line) && ch === 0x3A/* : */) {\n isPair = true;\n ch = state.input.charCodeAt(++state.position);\n skipSeparationSpace(state, true, nodeIndent);\n composeNode(state, nodeIndent, CONTEXT_FLOW_IN, false, true);\n valueNode = state.result;\n }\n\n if (isMapping) {\n storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, valueNode);\n } else if (isPair) {\n _result.push(storeMappingPair(state, null, overridableKeys, keyTag, keyNode, valueNode));\n } else {\n _result.push(keyNode);\n }\n\n skipSeparationSpace(state, true, nodeIndent);\n\n ch = state.input.charCodeAt(state.position);\n\n if (ch === 0x2C/* , */) {\n readNext = true;\n ch = state.input.charCodeAt(++state.position);\n } else {\n readNext = false;\n }\n }\n\n throwError(state, 'unexpected end of the stream within a flow collection');\n}\n\nfunction readBlockScalar(state, nodeIndent) {\n var captureStart,\n folding,\n chomping = CHOMPING_CLIP,\n didReadContent = false,\n detectedIndent = false,\n textIndent = nodeIndent,\n emptyLines = 0,\n atMoreIndented = false,\n tmp,\n ch;\n\n ch = state.input.charCodeAt(state.position);\n\n if (ch === 0x7C/* | */) {\n folding = false;\n } else if (ch === 0x3E/* > */) {\n folding = true;\n } else {\n return false;\n }\n\n state.kind = 'scalar';\n state.result = '';\n\n while (ch !== 0) {\n ch = state.input.charCodeAt(++state.position);\n\n if (ch === 0x2B/* + */ || ch === 0x2D/* - */) {\n if (CHOMPING_CLIP === chomping) {\n chomping = (ch === 0x2B/* + */) ? CHOMPING_KEEP : CHOMPING_STRIP;\n } else {\n throwError(state, 'repeat of a chomping mode identifier');\n }\n\n } else if ((tmp = fromDecimalCode(ch)) >= 0) {\n if (tmp === 0) {\n throwError(state, 'bad explicit indentation width of a block scalar; it cannot be less than one');\n } else if (!detectedIndent) {\n textIndent = nodeIndent + tmp - 1;\n detectedIndent = true;\n } else {\n throwError(state, 'repeat of an indentation width identifier');\n }\n\n } else {\n break;\n }\n }\n\n if (is_WHITE_SPACE(ch)) {\n do { ch = state.input.charCodeAt(++state.position); }\n while (is_WHITE_SPACE(ch));\n\n if (ch === 0x23/* # */) {\n do { ch = state.input.charCodeAt(++state.position); }\n while (!is_EOL(ch) && (ch !== 0));\n }\n }\n\n while (ch !== 0) {\n readLineBreak(state);\n state.lineIndent = 0;\n\n ch = state.input.charCodeAt(state.position);\n\n while ((!detectedIndent || state.lineIndent < textIndent) &&\n (ch === 0x20/* Space */)) {\n state.lineIndent++;\n ch = state.input.charCodeAt(++state.position);\n }\n\n if (!detectedIndent && state.lineIndent > textIndent) {\n textIndent = state.lineIndent;\n }\n\n if (is_EOL(ch)) {\n emptyLines++;\n continue;\n }\n\n // End of the scalar.\n if (state.lineIndent < textIndent) {\n\n // Perform the chomping.\n if (chomping === CHOMPING_KEEP) {\n state.result += common.repeat('\\n', didReadContent ? 1 + emptyLines : emptyLines);\n } else if (chomping === CHOMPING_CLIP) {\n if (didReadContent) { // i.e. only if the scalar is not empty.\n state.result += '\\n';\n }\n }\n\n // Break this `while` cycle and go to the funciton's epilogue.\n break;\n }\n\n // Folded style: use fancy rules to handle line breaks.\n if (folding) {\n\n // Lines starting with white space characters (more-indented lines) are not folded.\n if (is_WHITE_SPACE(ch)) {\n atMoreIndented = true;\n // except for the first content line (cf. Example 8.1)\n state.result += common.repeat('\\n', didReadContent ? 1 + emptyLines : emptyLines);\n\n // End of more-indented block.\n } else if (atMoreIndented) {\n atMoreIndented = false;\n state.result += common.repeat('\\n', emptyLines + 1);\n\n // Just one line break - perceive as the same line.\n } else if (emptyLines === 0) {\n if (didReadContent) { // i.e. only if we have already read some scalar content.\n state.result += ' ';\n }\n\n // Several line breaks - perceive as different lines.\n } else {\n state.result += common.repeat('\\n', emptyLines);\n }\n\n // Literal style: just add exact number of line breaks between content lines.\n } else {\n // Keep all line breaks except the header line break.\n state.result += common.repeat('\\n', didReadContent ? 1 + emptyLines : emptyLines);\n }\n\n didReadContent = true;\n detectedIndent = true;\n emptyLines = 0;\n captureStart = state.position;\n\n while (!is_EOL(ch) && (ch !== 0)) {\n ch = state.input.charCodeAt(++state.position);\n }\n\n captureSegment(state, captureStart, state.position, false);\n }\n\n return true;\n}\n\nfunction readBlockSequence(state, nodeIndent) {\n var _line,\n _tag = state.tag,\n _anchor = state.anchor,\n _result = [],\n following,\n detected = false,\n ch;\n\n if (state.anchor !== null) {\n state.anchorMap[state.anchor] = _result;\n }\n\n ch = state.input.charCodeAt(state.position);\n\n while (ch !== 0) {\n\n if (ch !== 0x2D/* - */) {\n break;\n }\n\n following = state.input.charCodeAt(state.position + 1);\n\n if (!is_WS_OR_EOL(following)) {\n break;\n }\n\n detected = true;\n state.position++;\n\n if (skipSeparationSpace(state, true, -1)) {\n if (state.lineIndent <= nodeIndent) {\n _result.push(null);\n ch = state.input.charCodeAt(state.position);\n continue;\n }\n }\n\n _line = state.line;\n composeNode(state, nodeIndent, CONTEXT_BLOCK_IN, false, true);\n _result.push(state.result);\n skipSeparationSpace(state, true, -1);\n\n ch = state.input.charCodeAt(state.position);\n\n if ((state.line === _line || state.lineIndent > nodeIndent) && (ch !== 0)) {\n throwError(state, 'bad indentation of a sequence entry');\n } else if (state.lineIndent < nodeIndent) {\n break;\n }\n }\n\n if (detected) {\n state.tag = _tag;\n state.anchor = _anchor;\n state.kind = 'sequence';\n state.result = _result;\n return true;\n }\n return false;\n}\n\nfunction readBlockMapping(state, nodeIndent, flowIndent) {\n var following,\n allowCompact,\n _line,\n _pos,\n _tag = state.tag,\n _anchor = state.anchor,\n _result = {},\n overridableKeys = {},\n keyTag = null,\n keyNode = null,\n valueNode = null,\n atExplicitKey = false,\n detected = false,\n ch;\n\n if (state.anchor !== null) {\n state.anchorMap[state.anchor] = _result;\n }\n\n ch = state.input.charCodeAt(state.position);\n\n while (ch !== 0) {\n following = state.input.charCodeAt(state.position + 1);\n _line = state.line; // Save the current line.\n _pos = state.position;\n\n //\n // Explicit notation case. There are two separate blocks:\n // first for the key (denoted by \"?\") and second for the value (denoted by \":\")\n //\n if ((ch === 0x3F/* ? */ || ch === 0x3A/* : */) && is_WS_OR_EOL(following)) {\n\n if (ch === 0x3F/* ? */) {\n if (atExplicitKey) {\n storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, null);\n keyTag = keyNode = valueNode = null;\n }\n\n detected = true;\n atExplicitKey = true;\n allowCompact = true;\n\n } else if (atExplicitKey) {\n // i.e. 0x3A/* : */ === character after the explicit key.\n atExplicitKey = false;\n allowCompact = true;\n\n } else {\n throwError(state, 'incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line');\n }\n\n state.position += 1;\n ch = following;\n\n //\n // Implicit notation case. Flow-style node as the key first, then \":\", and the value.\n //\n } else if (composeNode(state, flowIndent, CONTEXT_FLOW_OUT, false, true)) {\n\n if (state.line === _line) {\n ch = state.input.charCodeAt(state.position);\n\n while (is_WHITE_SPACE(ch)) {\n ch = state.input.charCodeAt(++state.position);\n }\n\n if (ch === 0x3A/* : */) {\n ch = state.input.charCodeAt(++state.position);\n\n if (!is_WS_OR_EOL(ch)) {\n throwError(state, 'a whitespace character is expected after the key-value separator within a block mapping');\n }\n\n if (atExplicitKey) {\n storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, null);\n keyTag = keyNode = valueNode = null;\n }\n\n detected = true;\n atExplicitKey = false;\n allowCompact = false;\n keyTag = state.tag;\n keyNode = state.result;\n\n } else if (detected) {\n throwError(state, 'can not read an implicit mapping pair; a colon is missed');\n\n } else {\n state.tag = _tag;\n state.anchor = _anchor;\n return true; // Keep the result of `composeNode`.\n }\n\n } else if (detected) {\n throwError(state, 'can not read a block mapping entry; a multiline key may not be an implicit key');\n\n } else {\n state.tag = _tag;\n state.anchor = _anchor;\n return true; // Keep the result of `composeNode`.\n }\n\n } else {\n break; // Reading is done. Go to the epilogue.\n }\n\n //\n // Common reading code for both explicit and implicit notations.\n //\n if (state.line === _line || state.lineIndent > nodeIndent) {\n if (composeNode(state, nodeIndent, CONTEXT_BLOCK_OUT, true, allowCompact)) {\n if (atExplicitKey) {\n keyNode = state.result;\n } else {\n valueNode = state.result;\n }\n }\n\n if (!atExplicitKey) {\n storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, valueNode, _line, _pos);\n keyTag = keyNode = valueNode = null;\n }\n\n skipSeparationSpace(state, true, -1);\n ch = state.input.charCodeAt(state.position);\n }\n\n if (state.lineIndent > nodeIndent && (ch !== 0)) {\n throwError(state, 'bad indentation of a mapping entry');\n } else if (state.lineIndent < nodeIndent) {\n break;\n }\n }\n\n //\n // Epilogue.\n //\n\n // Special case: last mapping's node contains only the key in explicit notation.\n if (atExplicitKey) {\n storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, null);\n }\n\n // Expose the resulting mapping.\n if (detected) {\n state.tag = _tag;\n state.anchor = _anchor;\n state.kind = 'mapping';\n state.result = _result;\n }\n\n return detected;\n}\n\nfunction readTagProperty(state) {\n var _position,\n isVerbatim = false,\n isNamed = false,\n tagHandle,\n tagName,\n ch;\n\n ch = state.input.charCodeAt(state.position);\n\n if (ch !== 0x21/* ! */) return false;\n\n if (state.tag !== null) {\n throwError(state, 'duplication of a tag property');\n }\n\n ch = state.input.charCodeAt(++state.position);\n\n if (ch === 0x3C/* < */) {\n isVerbatim = true;\n ch = state.input.charCodeAt(++state.position);\n\n } else if (ch === 0x21/* ! */) {\n isNamed = true;\n tagHandle = '!!';\n ch = state.input.charCodeAt(++state.position);\n\n } else {\n tagHandle = '!';\n }\n\n _position = state.position;\n\n if (isVerbatim) {\n do { ch = state.input.charCodeAt(++state.position); }\n while (ch !== 0 && ch !== 0x3E/* > */);\n\n if (state.position < state.length) {\n tagName = state.input.slice(_position, state.position);\n ch = state.input.charCodeAt(++state.position);\n } else {\n throwError(state, 'unexpected end of the stream within a verbatim tag');\n }\n } else {\n while (ch !== 0 && !is_WS_OR_EOL(ch)) {\n\n if (ch === 0x21/* ! */) {\n if (!isNamed) {\n tagHandle = state.input.slice(_position - 1, state.position + 1);\n\n if (!PATTERN_TAG_HANDLE.test(tagHandle)) {\n throwError(state, 'named tag handle cannot contain such characters');\n }\n\n isNamed = true;\n _position = state.position + 1;\n } else {\n throwError(state, 'tag suffix cannot contain exclamation marks');\n }\n }\n\n ch = state.input.charCodeAt(++state.position);\n }\n\n tagName = state.input.slice(_position, state.position);\n\n if (PATTERN_FLOW_INDICATORS.test(tagName)) {\n throwError(state, 'tag suffix cannot contain flow indicator characters');\n }\n }\n\n if (tagName && !PATTERN_TAG_URI.test(tagName)) {\n throwError(state, 'tag name cannot contain such characters: ' + tagName);\n }\n\n if (isVerbatim) {\n state.tag = tagName;\n\n } else if (_hasOwnProperty.call(state.tagMap, tagHandle)) {\n state.tag = state.tagMap[tagHandle] + tagName;\n\n } else if (tagHandle === '!') {\n state.tag = '!' + tagName;\n\n } else if (tagHandle === '!!') {\n state.tag = 'tag:yaml.org,2002:' + tagName;\n\n } else {\n throwError(state, 'undeclared tag handle \"' + tagHandle + '\"');\n }\n\n return true;\n}\n\nfunction readAnchorProperty(state) {\n var _position,\n ch;\n\n ch = state.input.charCodeAt(state.position);\n\n if (ch !== 0x26/* & */) return false;\n\n if (state.anchor !== null) {\n throwError(state, 'duplication of an anchor property');\n }\n\n ch = state.input.charCodeAt(++state.position);\n _position = state.position;\n\n while (ch !== 0 && !is_WS_OR_EOL(ch) && !is_FLOW_INDICATOR(ch)) {\n ch = state.input.charCodeAt(++state.position);\n }\n\n if (state.position === _position) {\n throwError(state, 'name of an anchor node must contain at least one character');\n }\n\n state.anchor = state.input.slice(_position, state.position);\n return true;\n}\n\nfunction readAlias(state) {\n var _position, alias,\n ch;\n\n ch = state.input.charCodeAt(state.position);\n\n if (ch !== 0x2A/* * */) return false;\n\n ch = state.input.charCodeAt(++state.position);\n _position = state.position;\n\n while (ch !== 0 && !is_WS_OR_EOL(ch) && !is_FLOW_INDICATOR(ch)) {\n ch = state.input.charCodeAt(++state.position);\n }\n\n if (state.position === _position) {\n throwError(state, 'name of an alias node must contain at least one character');\n }\n\n alias = state.input.slice(_position, state.position);\n\n if (!_hasOwnProperty.call(state.anchorMap, alias)) {\n throwError(state, 'unidentified alias \"' + alias + '\"');\n }\n\n state.result = state.anchorMap[alias];\n skipSeparationSpace(state, true, -1);\n return true;\n}\n\nfunction composeNode(state, parentIndent, nodeContext, allowToSeek, allowCompact) {\n var allowBlockStyles,\n allowBlockScalars,\n allowBlockCollections,\n indentStatus = 1, // 1: this>parent, 0: this=parent, -1: this<parent\n atNewLine = false,\n hasContent = false,\n typeIndex,\n typeQuantity,\n type,\n flowIndent,\n blockIndent;\n\n if (state.listener !== null) {\n state.listener('open', state);\n }\n\n state.tag = null;\n state.anchor = null;\n state.kind = null;\n state.result = null;\n\n allowBlockStyles = allowBlockScalars = allowBlockCollections =\n CONTEXT_BLOCK_OUT === nodeContext ||\n CONTEXT_BLOCK_IN === nodeContext;\n\n if (allowToSeek) {\n if (skipSeparationSpace(state, true, -1)) {\n atNewLine = true;\n\n if (state.lineIndent > parentIndent) {\n indentStatus = 1;\n } else if (state.lineIndent === parentIndent) {\n indentStatus = 0;\n } else if (state.lineIndent < parentIndent) {\n indentStatus = -1;\n }\n }\n }\n\n if (indentStatus === 1) {\n while (readTagProperty(state) || readAnchorProperty(state)) {\n if (skipSeparationSpace(state, true, -1)) {\n atNewLine = true;\n allowBlockCollections = allowBlockStyles;\n\n if (state.lineIndent > parentIndent) {\n indentStatus = 1;\n } else if (state.lineIndent === parentIndent) {\n indentStatus = 0;\n } else if (state.lineIndent < parentIndent) {\n indentStatus = -1;\n }\n } else {\n allowBlockCollections = false;\n }\n }\n }\n\n if (allowBlockCollections) {\n allowBlockCollections = atNewLine || allowCompact;\n }\n\n if (indentStatus === 1 || CONTEXT_BLOCK_OUT === nodeContext) {\n if (CONTEXT_FLOW_IN === nodeContext || CONTEXT_FLOW_OUT === nodeContext) {\n flowIndent = parentIndent;\n } else {\n flowIndent = parentIndent + 1;\n }\n\n blockIndent = state.position - state.lineStart;\n\n if (indentStatus === 1) {\n if (allowBlockCollections &&\n (readBlockSequence(state, blockIndent) ||\n readBlockMapping(state, blockIndent, flowIndent)) ||\n readFlowCollection(state, flowIndent)) {\n hasContent = true;\n } else {\n if ((allowBlockScalars && readBlockScalar(state, flowIndent)) ||\n readSingleQuotedScalar(state, flowIndent) ||\n readDoubleQuotedScalar(state, flowIndent)) {\n hasContent = true;\n\n } else if (readAlias(state)) {\n hasContent = true;\n\n if (state.tag !== null || state.anchor !== null) {\n throwError(state, 'alias node should not have any properties');\n }\n\n } else if (readPlainScalar(state, flowIndent, CONTEXT_FLOW_IN === nodeContext)) {\n hasContent = true;\n\n if (state.tag === null) {\n state.tag = '?';\n }\n }\n\n if (state.anchor !== null) {\n state.anchorMap[state.anchor] = state.result;\n }\n }\n } else if (indentStatus === 0) {\n // Special case: block sequences are allowed to have same indentation level as the parent.\n // http://www.yaml.org/spec/1.2/spec.html#id2799784\n hasContent = allowBlockCollections && readBlockSequence(state, blockIndent);\n }\n }\n\n if (state.tag !== null && state.tag !== '!') {\n if (state.tag === '?') {\n // Implicit resolving is not allowed for non-scalar types, and '?'\n // non-specific tag is only automatically assigned to plain scalars.\n //\n // We only need to check kind conformity in case user explicitly assigns '?'\n // tag, for example like this: \"!<?> [0]\"\n //\n if (state.result !== null && state.kind !== 'scalar') {\n throwError(state, 'unacceptable node kind for !<?> tag; it should be \"scalar\", not \"' + state.kind + '\"');\n }\n\n for (typeIndex = 0, typeQuantity = state.implicitTypes.length; typeIndex < typeQuantity; typeIndex += 1) {\n type = state.implicitTypes[typeIndex];\n\n if (type.resolve(state.result)) { // `state.result` updated in resolver if matched\n state.result = type.construct(state.result);\n state.tag = type.tag;\n if (state.anchor !== null) {\n state.anchorMap[state.anchor] = state.result;\n }\n break;\n }\n }\n } else if (_hasOwnProperty.call(state.typeMap[state.kind || 'fallback'], state.tag)) {\n type = state.typeMap[state.kind || 'fallback'][state.tag];\n\n if (state.result !== null && type.kind !== state.kind) {\n throwError(state, 'unacceptable node kind for !<' + state.tag + '> tag; it should be \"' + type.kind + '\", not \"' + state.kind + '\"');\n }\n\n if (!type.resolve(state.result)) { // `state.result` updated in resolver if matched\n throwError(state, 'cannot resolve a node with !<' + state.tag + '> explicit tag');\n } else {\n state.result = type.construct(state.result);\n if (state.anchor !== null) {\n state.anchorMap[state.anchor] = state.result;\n }\n }\n } else {\n throwError(state, 'unknown tag !<' + state.tag + '>');\n }\n }\n\n if (state.listener !== null) {\n state.listener('close', state);\n }\n return state.tag !== null || state.anchor !== null || hasContent;\n}\n\nfunction readDocument(state) {\n var documentStart = state.position,\n _position,\n directiveName,\n directiveArgs,\n hasDirectives = false,\n ch;\n\n state.version = null;\n state.checkLineBreaks = state.legacy;\n state.tagMap = {};\n state.anchorMap = {};\n\n while ((ch = state.input.charCodeAt(state.position)) !== 0) {\n skipSeparationSpace(state, true, -1);\n\n ch = state.input.charCodeAt(state.position);\n\n if (state.lineIndent > 0 || ch !== 0x25/* % */) {\n break;\n }\n\n hasDirectives = true;\n ch = state.input.charCodeAt(++state.position);\n _position = state.position;\n\n while (ch !== 0 && !is_WS_OR_EOL(ch)) {\n ch = state.input.charCodeAt(++state.position);\n }\n\n directiveName = state.input.slice(_position, state.position);\n directiveArgs = [];\n\n if (directiveName.length < 1) {\n throwError(state, 'directive name must not be less than one character in length');\n }\n\n while (ch !== 0) {\n while (is_WHITE_SPACE(ch)) {\n ch = state.input.charCodeAt(++state.position);\n }\n\n if (ch === 0x23/* # */) {\n do { ch = state.input.charCodeAt(++state.position); }\n while (ch !== 0 && !is_EOL(ch));\n break;\n }\n\n if (is_EOL(ch)) break;\n\n _position = state.position;\n\n while (ch !== 0 && !is_WS_OR_EOL(ch)) {\n ch = state.input.charCodeAt(++state.position);\n }\n\n directiveArgs.push(state.input.slice(_position, state.position));\n }\n\n if (ch !== 0) readLineBreak(state);\n\n if (_hasOwnProperty.call(directiveHandlers, directiveName)) {\n directiveHandlers[directiveName](state, directiveName, directiveArgs);\n } else {\n throwWarning(state, 'unknown document directive \"' + directiveName + '\"');\n }\n }\n\n skipSeparationSpace(state, true, -1);\n\n if (state.lineIndent === 0 &&\n state.input.charCodeAt(state.position) === 0x2D/* - */ &&\n state.input.charCodeAt(state.position + 1) === 0x2D/* - */ &&\n state.input.charCodeAt(state.position + 2) === 0x2D/* - */) {\n state.position += 3;\n skipSeparationSpace(state, true, -1);\n\n } else if (hasDirectives) {\n throwError(state, 'directives end mark is expected');\n }\n\n composeNode(state, state.lineIndent - 1, CONTEXT_BLOCK_OUT, false, true);\n skipSeparationSpace(state, true, -1);\n\n if (state.checkLineBreaks &&\n PATTERN_NON_ASCII_LINE_BREAKS.test(state.input.slice(documentStart, state.position))) {\n throwWarning(state, 'non-ASCII line breaks are interpreted as content');\n }\n\n state.documents.push(state.result);\n\n if (state.position === state.lineStart && testDocumentSeparator(state)) {\n\n if (state.input.charCodeAt(state.position) === 0x2E/* . */) {\n state.position += 3;\n skipSeparationSpace(state, true, -1);\n }\n return;\n }\n\n if (state.position < (state.length - 1)) {\n throwError(state, 'end of the stream or a document separator is expected');\n } else {\n return;\n }\n}\n\n\nfunction loadDocuments(input, options) {\n input = String(input);\n options = options || {};\n\n if (input.length !== 0) {\n\n // Add tailing `\\n` if not exists\n if (input.charCodeAt(input.length - 1) !== 0x0A/* LF */ &&\n input.charCodeAt(input.length - 1) !== 0x0D/* CR */) {\n input += '\\n';\n }\n\n // Strip BOM\n if (input.charCodeAt(0) === 0xFEFF) {\n input = input.slice(1);\n }\n }\n\n var state = new State(input, options);\n\n var nullpos = input.indexOf('\\0');\n\n if (nullpos !== -1) {\n state.position = nullpos;\n throwError(state, 'null byte is not allowed in input');\n }\n\n // Use 0 as string terminator. That significantly simplifies bounds check.\n state.input += '\\0';\n\n while (state.input.charCodeAt(state.position) === 0x20/* Space */) {\n state.lineIndent += 1;\n state.position += 1;\n }\n\n while (state.position < (state.length - 1)) {\n readDocument(state);\n }\n\n return state.documents;\n}\n\n\nfunction loadAll(input, iterator, options) {\n if (iterator !== null && typeof iterator === 'object' && typeof options === 'undefined') {\n options = iterator;\n iterator = null;\n }\n\n var documents = loadDocuments(input, options);\n\n if (typeof iterator !== 'function') {\n return documents;\n }\n\n for (var index = 0, length = documents.length; index < length; index += 1) {\n iterator(documents[index]);\n }\n}\n\n\nfunction load(input, options) {\n var documents = loadDocuments(input, options);\n\n if (documents.length === 0) {\n /*eslint-disable no-undefined*/\n return undefined;\n } else if (documents.length === 1) {\n return documents[0];\n }\n throw new YAMLException('expected a single document in the stream, but found more');\n}\n\n\nfunction safeLoadAll(input, iterator, options) {\n if (typeof iterator === 'object' && iterator !== null && typeof options === 'undefined') {\n options = iterator;\n iterator = null;\n }\n\n return loadAll(input, iterator, common.extend({ schema: DEFAULT_SAFE_SCHEMA }, options));\n}\n\n\nfunction safeLoad(input, options) {\n return load(input, common.extend({ schema: DEFAULT_SAFE_SCHEMA }, options));\n}\n\n\nmodule.exports.loadAll = loadAll;\nmodule.exports.load = load;\nmodule.exports.safeLoadAll = safeLoadAll;\nmodule.exports.safeLoad = safeLoad;\n","'use strict';\n\n/*eslint-disable no-use-before-define*/\n\nvar common = require('./common');\nvar YAMLException = require('./exception');\nvar DEFAULT_FULL_SCHEMA = require('./schema/default_full');\nvar DEFAULT_SAFE_SCHEMA = require('./schema/default_safe');\n\nvar _toString = Object.prototype.toString;\nvar _hasOwnProperty = Object.prototype.hasOwnProperty;\n\nvar CHAR_TAB = 0x09; /* Tab */\nvar CHAR_LINE_FEED = 0x0A; /* LF */\nvar CHAR_CARRIAGE_RETURN = 0x0D; /* CR */\nvar CHAR_SPACE = 0x20; /* Space */\nvar CHAR_EXCLAMATION = 0x21; /* ! */\nvar CHAR_DOUBLE_QUOTE = 0x22; /* \" */\nvar CHAR_SHARP = 0x23; /* # */\nvar CHAR_PERCENT = 0x25; /* % */\nvar CHAR_AMPERSAND = 0x26; /* & */\nvar CHAR_SINGLE_QUOTE = 0x27; /* ' */\nvar CHAR_ASTERISK = 0x2A; /* * */\nvar CHAR_COMMA = 0x2C; /* , */\nvar CHAR_MINUS = 0x2D; /* - */\nvar CHAR_COLON = 0x3A; /* : */\nvar CHAR_EQUALS = 0x3D; /* = */\nvar CHAR_GREATER_THAN = 0x3E; /* > */\nvar CHAR_QUESTION = 0x3F; /* ? */\nvar CHAR_COMMERCIAL_AT = 0x40; /* @ */\nvar CHAR_LEFT_SQUARE_BRACKET = 0x5B; /* [ */\nvar CHAR_RIGHT_SQUARE_BRACKET = 0x5D; /* ] */\nvar CHAR_GRAVE_ACCENT = 0x60; /* ` */\nvar CHAR_LEFT_CURLY_BRACKET = 0x7B; /* { */\nvar CHAR_VERTICAL_LINE = 0x7C; /* | */\nvar CHAR_RIGHT_CURLY_BRACKET = 0x7D; /* } */\n\nvar ESCAPE_SEQUENCES = {};\n\nESCAPE_SEQUENCES[0x00] = '\\\\0';\nESCAPE_SEQUENCES[0x07] = '\\\\a';\nESCAPE_SEQUENCES[0x08] = '\\\\b';\nESCAPE_SEQUENCES[0x09] = '\\\\t';\nESCAPE_SEQUENCES[0x0A] = '\\\\n';\nESCAPE_SEQUENCES[0x0B] = '\\\\v';\nESCAPE_SEQUENCES[0x0C] = '\\\\f';\nESCAPE_SEQUENCES[0x0D] = '\\\\r';\nESCAPE_SEQUENCES[0x1B] = '\\\\e';\nESCAPE_SEQUENCES[0x22] = '\\\\\"';\nESCAPE_SEQUENCES[0x5C] = '\\\\\\\\';\nESCAPE_SEQUENCES[0x85] = '\\\\N';\nESCAPE_SEQUENCES[0xA0] = '\\\\_';\nESCAPE_SEQUENCES[0x2028] = '\\\\L';\nESCAPE_SEQUENCES[0x2029] = '\\\\P';\n\nvar DEPRECATED_BOOLEANS_SYNTAX = [\n 'y', 'Y', 'yes', 'Yes', 'YES', 'on', 'On', 'ON',\n 'n', 'N', 'no', 'No', 'NO', 'off', 'Off', 'OFF'\n];\n\nfunction compileStyleMap(schema, map) {\n var result, keys, index, length, tag, style, type;\n\n if (map === null) return {};\n\n result = {};\n keys = Object.keys(map);\n\n for (index = 0, length = keys.length; index < length; index += 1) {\n tag = keys[index];\n style = String(map[tag]);\n\n if (tag.slice(0, 2) === '!!') {\n tag = 'tag:yaml.org,2002:' + tag.slice(2);\n }\n type = schema.compiledTypeMap['fallback'][tag];\n\n if (type && _hasOwnProperty.call(type.styleAliases, style)) {\n style = type.styleAliases[style];\n }\n\n result[tag] = style;\n }\n\n return result;\n}\n\nfunction encodeHex(character) {\n var string, handle, length;\n\n string = character.toString(16).toUpperCase();\n\n if (character <= 0xFF) {\n handle = 'x';\n length = 2;\n } else if (character <= 0xFFFF) {\n handle = 'u';\n length = 4;\n } else if (character <= 0xFFFFFFFF) {\n handle = 'U';\n length = 8;\n } else {\n throw new YAMLException('code point within a string may not be greater than 0xFFFFFFFF');\n }\n\n return '\\\\' + handle + common.repeat('0', length - string.length) + string;\n}\n\nfunction State(options) {\n this.schema = options['schema'] || DEFAULT_FULL_SCHEMA;\n this.indent = Math.max(1, (options['indent'] || 2));\n this.noArrayIndent = options['noArrayIndent'] || false;\n this.skipInvalid = options['skipInvalid'] || false;\n this.flowLevel = (common.isNothing(options['flowLevel']) ? -1 : options['flowLevel']);\n this.styleMap = compileStyleMap(this.schema, options['styles'] || null);\n this.sortKeys = options['sortKeys'] || false;\n this.lineWidth = options['lineWidth'] || 80;\n this.noRefs = options['noRefs'] || false;\n this.noCompatMode = options['noCompatMode'] || false;\n this.condenseFlow = options['condenseFlow'] || false;\n\n this.implicitTypes = this.schema.compiledImplicit;\n this.explicitTypes = this.schema.compiledExplicit;\n\n this.tag = null;\n this.result = '';\n\n this.duplicates = [];\n this.usedDuplicates = null;\n}\n\n// Indents every line in a string. Empty lines (\\n only) are not indented.\nfunction indentString(string, spaces) {\n var ind = common.repeat(' ', spaces),\n position = 0,\n next = -1,\n result = '',\n line,\n length = string.length;\n\n while (position < length) {\n next = string.indexOf('\\n', position);\n if (next === -1) {\n line = string.slice(position);\n position = length;\n } else {\n line = string.slice(position, next + 1);\n position = next + 1;\n }\n\n if (line.length && line !== '\\n') result += ind;\n\n result += line;\n }\n\n return result;\n}\n\nfunction generateNextLine(state, level) {\n return '\\n' + common.repeat(' ', state.indent * level);\n}\n\nfunction testImplicitResolving(state, str) {\n var index, length, type;\n\n for (index = 0, length = state.implicitTypes.length; index < length; index += 1) {\n type = state.implicitTypes[index];\n\n if (type.resolve(str)) {\n return true;\n }\n }\n\n return false;\n}\n\n// [33] s-white ::= s-space | s-tab\nfunction isWhitespace(c) {\n return c === CHAR_SPACE || c === CHAR_TAB;\n}\n\n// Returns true if the character can be printed without escaping.\n// From YAML 1.2: \"any allowed characters known to be non-printable\n// should also be escaped. [However,] This isn’t mandatory\"\n// Derived from nb-char - \\t - #x85 - #xA0 - #x2028 - #x2029.\nfunction isPrintable(c) {\n return (0x00020 <= c && c <= 0x00007E)\n || ((0x000A1 <= c && c <= 0x00D7FF) && c !== 0x2028 && c !== 0x2029)\n || ((0x0E000 <= c && c <= 0x00FFFD) && c !== 0xFEFF /* BOM */)\n || (0x10000 <= c && c <= 0x10FFFF);\n}\n\n// [34] ns-char ::= nb-char - s-white\n// [27] nb-char ::= c-printable - b-char - c-byte-order-mark\n// [26] b-char ::= b-line-feed | b-carriage-return\n// [24] b-line-feed ::= #xA /* LF */\n// [25] b-carriage-return ::= #xD /* CR */\n// [3] c-byte-order-mark ::= #xFEFF\nfunction isNsChar(c) {\n return isPrintable(c) && !isWhitespace(c)\n // byte-order-mark\n && c !== 0xFEFF\n // b-char\n && c !== CHAR_CARRIAGE_RETURN\n && c !== CHAR_LINE_FEED;\n}\n\n// Simplified test for values allowed after the first character in plain style.\nfunction isPlainSafe(c, prev) {\n // Uses a subset of nb-char - c-flow-indicator - \":\" - \"#\"\n // where nb-char ::= c-printable - b-char - c-byte-order-mark.\n return isPrintable(c) && c !== 0xFEFF\n // - c-flow-indicator\n && c !== CHAR_COMMA\n && c !== CHAR_LEFT_SQUARE_BRACKET\n && c !== CHAR_RIGHT_SQUARE_BRACKET\n && c !== CHAR_LEFT_CURLY_BRACKET\n && c !== CHAR_RIGHT_CURLY_BRACKET\n // - \":\" - \"#\"\n // /* An ns-char preceding */ \"#\"\n && c !== CHAR_COLON\n && ((c !== CHAR_SHARP) || (prev && isNsChar(prev)));\n}\n\n// Simplified test for values allowed as the first character in plain style.\nfunction isPlainSafeFirst(c) {\n // Uses a subset of ns-char - c-indicator\n // where ns-char = nb-char - s-white.\n return isPrintable(c) && c !== 0xFEFF\n && !isWhitespace(c) // - s-white\n // - (c-indicator ::=\n // “-” | “?” | “:” | “,” | “[” | “]” | “{” | “}”\n && c !== CHAR_MINUS\n && c !== CHAR_QUESTION\n && c !== CHAR_COLON\n && c !== CHAR_COMMA\n && c !== CHAR_LEFT_SQUARE_BRACKET\n && c !== CHAR_RIGHT_SQUARE_BRACKET\n && c !== CHAR_LEFT_CURLY_BRACKET\n && c !== CHAR_RIGHT_CURLY_BRACKET\n // | “#” | “&” | “*” | “!” | “|” | “=” | “>” | “'” | “\"”\n && c !== CHAR_SHARP\n && c !== CHAR_AMPERSAND\n && c !== CHAR_ASTERISK\n && c !== CHAR_EXCLAMATION\n && c !== CHAR_VERTICAL_LINE\n && c !== CHAR_EQUALS\n && c !== CHAR_GREATER_THAN\n && c !== CHAR_SINGLE_QUOTE\n && c !== CHAR_DOUBLE_QUOTE\n // | “%” | “@” | “`”)\n && c !== CHAR_PERCENT\n && c !== CHAR_COMMERCIAL_AT\n && c !== CHAR_GRAVE_ACCENT;\n}\n\n// Determines whether block indentation indicator is required.\nfunction needIndentIndicator(string) {\n var leadingSpaceRe = /^\\n* /;\n return leadingSpaceRe.test(string);\n}\n\nvar STYLE_PLAIN = 1,\n STYLE_SINGLE = 2,\n STYLE_LITERAL = 3,\n STYLE_FOLDED = 4,\n STYLE_DOUBLE = 5;\n\n// Determines which scalar styles are possible and returns the preferred style.\n// lineWidth = -1 => no limit.\n// Pre-conditions: str.length > 0.\n// Post-conditions:\n// STYLE_PLAIN or STYLE_SINGLE => no \\n are in the string.\n// STYLE_LITERAL => no lines are suitable for folding (or lineWidth is -1).\n// STYLE_FOLDED => a line > lineWidth and can be folded (and lineWidth != -1).\nfunction chooseScalarStyle(string, singleLineOnly, indentPerLevel, lineWidth, testAmbiguousType) {\n var i;\n var char, prev_char;\n var hasLineBreak = false;\n var hasFoldableLine = false; // only checked if shouldTrackWidth\n var shouldTrackWidth = lineWidth !== -1;\n var previousLineBreak = -1; // count the first line correctly\n var plain = isPlainSafeFirst(string.charCodeAt(0))\n && !isWhitespace(string.charCodeAt(string.length - 1));\n\n if (singleLineOnly) {\n // Case: no block styles.\n // Check for disallowed characters to rule out plain and single.\n for (i = 0; i < string.length; i++) {\n char = string.charCodeAt(i);\n if (!isPrintable(char)) {\n return STYLE_DOUBLE;\n }\n prev_char = i > 0 ? string.charCodeAt(i - 1) : null;\n plain = plain && isPlainSafe(char, prev_char);\n }\n } else {\n // Case: block styles permitted.\n for (i = 0; i < string.length; i++) {\n char = string.charCodeAt(i);\n if (char === CHAR_LINE_FEED) {\n hasLineBreak = true;\n // Check if any line can be folded.\n if (shouldTrackWidth) {\n hasFoldableLine = hasFoldableLine ||\n // Foldable line = too long, and not more-indented.\n (i - previousLineBreak - 1 > lineWidth &&\n string[previousLineBreak + 1] !== ' ');\n previousLineBreak = i;\n }\n } else if (!isPrintable(char)) {\n return STYLE_DOUBLE;\n }\n prev_char = i > 0 ? string.charCodeAt(i - 1) : null;\n plain = plain && isPlainSafe(char, prev_char);\n }\n // in case the end is missing a \\n\n hasFoldableLine = hasFoldableLine || (shouldTrackWidth &&\n (i - previousLineBreak - 1 > lineWidth &&\n string[previousLineBreak + 1] !== ' '));\n }\n // Although every style can represent \\n without escaping, prefer block styles\n // for multiline, since they're more readable and they don't add empty lines.\n // Also prefer folding a super-long line.\n if (!hasLineBreak && !hasFoldableLine) {\n // Strings interpretable as another type have to be quoted;\n // e.g. the string 'true' vs. the boolean true.\n return plain && !testAmbiguousType(string)\n ? STYLE_PLAIN : STYLE_SINGLE;\n }\n // Edge case: block indentation indicator can only have one digit.\n if (indentPerLevel > 9 && needIndentIndicator(string)) {\n return STYLE_DOUBLE;\n }\n // At this point we know block styles are valid.\n // Prefer literal style unless we want to fold.\n return hasFoldableLine ? STYLE_FOLDED : STYLE_LITERAL;\n}\n\n// Note: line breaking/folding is implemented for only the folded style.\n// NB. We drop the last trailing newline (if any) of a returned block scalar\n// since the dumper adds its own newline. This always works:\n// • No ending newline => unaffected; already using strip \"-\" chomping.\n// • Ending newline => removed then restored.\n// Importantly, this keeps the \"+\" chomp indicator from gaining an extra line.\nfunction writeScalar(state, string, level, iskey) {\n state.dump = (function () {\n if (string.length === 0) {\n return \"''\";\n }\n if (!state.noCompatMode &&\n DEPRECATED_BOOLEANS_SYNTAX.indexOf(string) !== -1) {\n return \"'\" + string + \"'\";\n }\n\n var indent = state.indent * Math.max(1, level); // no 0-indent scalars\n // As indentation gets deeper, let the width decrease monotonically\n // to the lower bound min(state.lineWidth, 40).\n // Note that this implies\n // state.lineWidth ≤ 40 + state.indent: width is fixed at the lower bound.\n // state.lineWidth > 40 + state.indent: width decreases until the lower bound.\n // This behaves better than a constant minimum width which disallows narrower options,\n // or an indent threshold which causes the width to suddenly increase.\n var lineWidth = state.lineWidth === -1\n ? -1 : Math.max(Math.min(state.lineWidth, 40), state.lineWidth - indent);\n\n // Without knowing if keys are implicit/explicit, assume implicit for safety.\n var singleLineOnly = iskey\n // No block styles in flow mode.\n || (state.flowLevel > -1 && level >= state.flowLevel);\n function testAmbiguity(string) {\n return testImplicitResolving(state, string);\n }\n\n switch (chooseScalarStyle(string, singleLineOnly, state.indent, lineWidth, testAmbiguity)) {\n case STYLE_PLAIN:\n return string;\n case STYLE_SINGLE:\n return \"'\" + string.replace(/'/g, \"''\") + \"'\";\n case STYLE_LITERAL:\n return '|' + blockHeader(string, state.indent)\n + dropEndingNewline(indentString(string, indent));\n case STYLE_FOLDED:\n return '>' + blockHeader(string, state.indent)\n + dropEndingNewline(indentString(foldString(string, lineWidth), indent));\n case STYLE_DOUBLE:\n return '\"' + escapeString(string, lineWidth) + '\"';\n default:\n throw new YAMLException('impossible error: invalid scalar style');\n }\n }());\n}\n\n// Pre-conditions: string is valid for a block scalar, 1 <= indentPerLevel <= 9.\nfunction blockHeader(string, indentPerLevel) {\n var indentIndicator = needIndentIndicator(string) ? String(indentPerLevel) : '';\n\n // note the special case: the string '\\n' counts as a \"trailing\" empty line.\n var clip = string[string.length - 1] === '\\n';\n var keep = clip && (string[string.length - 2] === '\\n' || string === '\\n');\n var chomp = keep ? '+' : (clip ? '' : '-');\n\n return indentIndicator + chomp + '\\n';\n}\n\n// (See the note for writeScalar.)\nfunction dropEndingNewline(string) {\n return string[string.length - 1] === '\\n' ? string.slice(0, -1) : string;\n}\n\n// Note: a long line without a suitable break point will exceed the width limit.\n// Pre-conditions: every char in str isPrintable, str.length > 0, width > 0.\nfunction foldString(string, width) {\n // In folded style, $k$ consecutive newlines output as $k+1$ newlines—\n // unless they're before or after a more-indented line, or at the very\n // beginning or end, in which case $k$ maps to $k$.\n // Therefore, parse each chunk as newline(s) followed by a content line.\n var lineRe = /(\\n+)([^\\n]*)/g;\n\n // first line (possibly an empty line)\n var result = (function () {\n var nextLF = string.indexOf('\\n');\n nextLF = nextLF !== -1 ? nextLF : string.length;\n lineRe.lastIndex = nextLF;\n return foldLine(string.slice(0, nextLF), width);\n }());\n // If we haven't reached the first content line yet, don't add an extra \\n.\n var prevMoreIndented = string[0] === '\\n' || string[0] === ' ';\n var moreIndented;\n\n // rest of the lines\n var match;\n while ((match = lineRe.exec(string))) {\n var prefix = match[1], line = match[2];\n moreIndented = (line[0] === ' ');\n result += prefix\n + (!prevMoreIndented && !moreIndented && line !== ''\n ? '\\n' : '')\n + foldLine(line, width);\n prevMoreIndented = moreIndented;\n }\n\n return result;\n}\n\n// Greedy line breaking.\n// Picks the longest line under the limit each time,\n// otherwise settles for the shortest line over the limit.\n// NB. More-indented lines *cannot* be folded, as that would add an extra \\n.\nfunction foldLine(line, width) {\n if (line === '' || line[0] === ' ') return line;\n\n // Since a more-indented line adds a \\n, breaks can't be followed by a space.\n var breakRe = / [^ ]/g; // note: the match index will always be <= length-2.\n var match;\n // start is an inclusive index. end, curr, and next are exclusive.\n var start = 0, end, curr = 0, next = 0;\n var result = '';\n\n // Invariants: 0 <= start <= length-1.\n // 0 <= curr <= next <= max(0, length-2). curr - start <= width.\n // Inside the loop:\n // A match implies length >= 2, so curr and next are <= length-2.\n while ((match = breakRe.exec(line))) {\n next = match.index;\n // maintain invariant: curr - start <= width\n if (next - start > width) {\n end = (curr > start) ? curr : next; // derive end <= length-2\n result += '\\n' + line.slice(start, end);\n // skip the space that was output as \\n\n start = end + 1; // derive start <= length-1\n }\n curr = next;\n }\n\n // By the invariants, start <= length-1, so there is something left over.\n // It is either the whole string or a part starting from non-whitespace.\n result += '\\n';\n // Insert a break if the remainder is too long and there is a break available.\n if (line.length - start > width && curr > start) {\n result += line.slice(start, curr) + '\\n' + line.slice(curr + 1);\n } else {\n result += line.slice(start);\n }\n\n return result.slice(1); // drop extra \\n joiner\n}\n\n// Escapes a double-quoted string.\nfunction escapeString(string) {\n var result = '';\n var char, nextChar;\n var escapeSeq;\n\n for (var i = 0; i < string.length; i++) {\n char = string.charCodeAt(i);\n // Check for surrogate pairs (reference Unicode 3.0 section \"3.7 Surrogates\").\n if (char >= 0xD800 && char <= 0xDBFF/* high surrogate */) {\n nextChar = string.charCodeAt(i + 1);\n if (nextChar >= 0xDC00 && nextChar <= 0xDFFF/* low surrogate */) {\n // Combine the surrogate pair and store it escaped.\n result += encodeHex((char - 0xD800) * 0x400 + nextChar - 0xDC00 + 0x10000);\n // Advance index one extra since we already used that char here.\n i++; continue;\n }\n }\n escapeSeq = ESCAPE_SEQUENCES[char];\n result += !escapeSeq && isPrintable(char)\n ? string[i]\n : escapeSeq || encodeHex(char);\n }\n\n return result;\n}\n\nfunction writeFlowSequence(state, level, object) {\n var _result = '',\n _tag = state.tag,\n index,\n length;\n\n for (index = 0, length = object.length; index < length; index += 1) {\n // Write only valid elements.\n if (writeNode(state, level, object[index], false, false)) {\n if (index !== 0) _result += ',' + (!state.condenseFlow ? ' ' : '');\n _result += state.dump;\n }\n }\n\n state.tag = _tag;\n state.dump = '[' + _result + ']';\n}\n\nfunction writeBlockSequence(state, level, object, compact) {\n var _result = '',\n _tag = state.tag,\n index,\n length;\n\n for (index = 0, length = object.length; index < length; index += 1) {\n // Write only valid elements.\n if (writeNode(state, level + 1, object[index], true, true)) {\n if (!compact || index !== 0) {\n _result += generateNextLine(state, level);\n }\n\n if (state.dump && CHAR_LINE_FEED === state.dump.charCodeAt(0)) {\n _result += '-';\n } else {\n _result += '- ';\n }\n\n _result += state.dump;\n }\n }\n\n state.tag = _tag;\n state.dump = _result || '[]'; // Empty sequence if no valid values.\n}\n\nfunction writeFlowMapping(state, level, object) {\n var _result = '',\n _tag = state.tag,\n objectKeyList = Object.keys(object),\n index,\n length,\n objectKey,\n objectValue,\n pairBuffer;\n\n for (index = 0, length = objectKeyList.length; index < length; index += 1) {\n\n pairBuffer = '';\n if (index !== 0) pairBuffer += ', ';\n\n if (state.condenseFlow) pairBuffer += '\"';\n\n objectKey = objectKeyList[index];\n objectValue = object[objectKey];\n\n if (!writeNode(state, level, objectKey, false, false)) {\n continue; // Skip this pair because of invalid key;\n }\n\n if (state.dump.length > 1024) pairBuffer += '? ';\n\n pairBuffer += state.dump + (state.condenseFlow ? '\"' : '') + ':' + (state.condenseFlow ? '' : ' ');\n\n if (!writeNode(state, level, objectValue, false, false)) {\n continue; // Skip this pair because of invalid value.\n }\n\n pairBuffer += state.dump;\n\n // Both key and value are valid.\n _result += pairBuffer;\n }\n\n state.tag = _tag;\n state.dump = '{' + _result + '}';\n}\n\nfunction writeBlockMapping(state, level, object, compact) {\n var _result = '',\n _tag = state.tag,\n objectKeyList = Object.keys(object),\n index,\n length,\n objectKey,\n objectValue,\n explicitPair,\n pairBuffer;\n\n // Allow sorting keys so that the output file is deterministic\n if (state.sortKeys === true) {\n // Default sorting\n objectKeyList.sort();\n } else if (typeof state.sortKeys === 'function') {\n // Custom sort function\n objectKeyList.sort(state.sortKeys);\n } else if (state.sortKeys) {\n // Something is wrong\n throw new YAMLException('sortKeys must be a boolean or a function');\n }\n\n for (index = 0, length = objectKeyList.length; index < length; index += 1) {\n pairBuffer = '';\n\n if (!compact || index !== 0) {\n pairBuffer += generateNextLine(state, level);\n }\n\n objectKey = objectKeyList[index];\n objectValue = object[objectKey];\n\n if (!writeNode(state, level + 1, objectKey, true, true, true)) {\n continue; // Skip this pair because of invalid key.\n }\n\n explicitPair = (state.tag !== null && state.tag !== '?') ||\n (state.dump && state.dump.length > 1024);\n\n if (explicitPair) {\n if (state.dump && CHAR_LINE_FEED === state.dump.charCodeAt(0)) {\n pairBuffer += '?';\n } else {\n pairBuffer += '? ';\n }\n }\n\n pairBuffer += state.dump;\n\n if (explicitPair) {\n pairBuffer += generateNextLine(state, level);\n }\n\n if (!writeNode(state, level + 1, objectValue, true, explicitPair)) {\n continue; // Skip this pair because of invalid value.\n }\n\n if (state.dump && CHAR_LINE_FEED === state.dump.charCodeAt(0)) {\n pairBuffer += ':';\n } else {\n pairBuffer += ': ';\n }\n\n pairBuffer += state.dump;\n\n // Both key and value are valid.\n _result += pairBuffer;\n }\n\n state.tag = _tag;\n state.dump = _result || '{}'; // Empty mapping if no valid pairs.\n}\n\nfunction detectType(state, object, explicit) {\n var _result, typeList, index, length, type, style;\n\n typeList = explicit ? state.explicitTypes : state.implicitTypes;\n\n for (index = 0, length = typeList.length; index < length; index += 1) {\n type = typeList[index];\n\n if ((type.instanceOf || type.predicate) &&\n (!type.instanceOf || ((typeof object === 'object') && (object instanceof type.instanceOf))) &&\n (!type.predicate || type.predicate(object))) {\n\n state.tag = explicit ? type.tag : '?';\n\n if (type.represent) {\n style = state.styleMap[type.tag] || type.defaultStyle;\n\n if (_toString.call(type.represent) === '[object Function]') {\n _result = type.represent(object, style);\n } else if (_hasOwnProperty.call(type.represent, style)) {\n _result = type.represent[style](object, style);\n } else {\n throw new YAMLException('!<' + type.tag + '> tag resolver accepts not \"' + style + '\" style');\n }\n\n state.dump = _result;\n }\n\n return true;\n }\n }\n\n return false;\n}\n\n// Serializes `object` and writes it to global `result`.\n// Returns true on success, or false on invalid object.\n//\nfunction writeNode(state, level, object, block, compact, iskey) {\n state.tag = null;\n state.dump = object;\n\n if (!detectType(state, object, false)) {\n detectType(state, object, true);\n }\n\n var type = _toString.call(state.dump);\n\n if (block) {\n block = (state.flowLevel < 0 || state.flowLevel > level);\n }\n\n var objectOrArray = type === '[object Object]' || type === '[object Array]',\n duplicateIndex,\n duplicate;\n\n if (objectOrArray) {\n duplicateIndex = state.duplicates.indexOf(object);\n duplicate = duplicateIndex !== -1;\n }\n\n if ((state.tag !== null && state.tag !== '?') || duplicate || (state.indent !== 2 && level > 0)) {\n compact = false;\n }\n\n if (duplicate && state.usedDuplicates[duplicateIndex]) {\n state.dump = '*ref_' + duplicateIndex;\n } else {\n if (objectOrArray && duplicate && !state.usedDuplicates[duplicateIndex]) {\n state.usedDuplicates[duplicateIndex] = true;\n }\n if (type === '[object Object]') {\n if (block && (Object.keys(state.dump).length !== 0)) {\n writeBlockMapping(state, level, state.dump, compact);\n if (duplicate) {\n state.dump = '&ref_' + duplicateIndex + state.dump;\n }\n } else {\n writeFlowMapping(state, level, state.dump);\n if (duplicate) {\n state.dump = '&ref_' + duplicateIndex + ' ' + state.dump;\n }\n }\n } else if (type === '[object Array]') {\n var arrayLevel = (state.noArrayIndent && (level > 0)) ? level - 1 : level;\n if (block && (state.dump.length !== 0)) {\n writeBlockSequence(state, arrayLevel, state.dump, compact);\n if (duplicate) {\n state.dump = '&ref_' + duplicateIndex + state.dump;\n }\n } else {\n writeFlowSequence(state, arrayLevel, state.dump);\n if (duplicate) {\n state.dump = '&ref_' + duplicateIndex + ' ' + state.dump;\n }\n }\n } else if (type === '[object String]') {\n if (state.tag !== '?') {\n writeScalar(state, state.dump, level, iskey);\n }\n } else {\n if (state.skipInvalid) return false;\n throw new YAMLException('unacceptable kind of an object to dump ' + type);\n }\n\n if (state.tag !== null && state.tag !== '?') {\n state.dump = '!<' + state.tag + '> ' + state.dump;\n }\n }\n\n return true;\n}\n\nfunction getDuplicateReferences(object, state) {\n var objects = [],\n duplicatesIndexes = [],\n index,\n length;\n\n inspectNode(object, objects, duplicatesIndexes);\n\n for (index = 0, length = duplicatesIndexes.length; index < length; index += 1) {\n state.duplicates.push(objects[duplicatesIndexes[index]]);\n }\n state.usedDuplicates = new Array(length);\n}\n\nfunction inspectNode(object, objects, duplicatesIndexes) {\n var objectKeyList,\n index,\n length;\n\n if (object !== null && typeof object === 'object') {\n index = objects.indexOf(object);\n if (index !== -1) {\n if (duplicatesIndexes.indexOf(index) === -1) {\n duplicatesIndexes.push(index);\n }\n } else {\n objects.push(object);\n\n if (Array.isArray(object)) {\n for (index = 0, length = object.length; index < length; index += 1) {\n inspectNode(object[index], objects, duplicatesIndexes);\n }\n } else {\n objectKeyList = Object.keys(object);\n\n for (index = 0, length = objectKeyList.length; index < length; index += 1) {\n inspectNode(object[objectKeyList[index]], objects, duplicatesIndexes);\n }\n }\n }\n }\n}\n\nfunction dump(input, options) {\n options = options || {};\n\n var state = new State(options);\n\n if (!state.noRefs) getDuplicateReferences(input, state);\n\n if (writeNode(state, 0, input, true, true)) return state.dump + '\\n';\n\n return '';\n}\n\nfunction safeDump(input, options) {\n return dump(input, common.extend({ schema: DEFAULT_SAFE_SCHEMA }, options));\n}\n\nmodule.exports.dump = dump;\nmodule.exports.safeDump = safeDump;\n","'use strict';\n\n\nvar loader = require('./js-yaml/loader');\nvar dumper = require('./js-yaml/dumper');\n\n\nfunction deprecated(name) {\n return function () {\n throw new Error('Function ' + name + ' is deprecated and cannot be used.');\n };\n}\n\n\nmodule.exports.Type = require('./js-yaml/type');\nmodule.exports.Schema = require('./js-yaml/schema');\nmodule.exports.FAILSAFE_SCHEMA = require('./js-yaml/schema/failsafe');\nmodule.exports.JSON_SCHEMA = require('./js-yaml/schema/json');\nmodule.exports.CORE_SCHEMA = require('./js-yaml/schema/core');\nmodule.exports.DEFAULT_SAFE_SCHEMA = require('./js-yaml/schema/default_safe');\nmodule.exports.DEFAULT_FULL_SCHEMA = require('./js-yaml/schema/default_full');\nmodule.exports.load = loader.load;\nmodule.exports.loadAll = loader.loadAll;\nmodule.exports.safeLoad = loader.safeLoad;\nmodule.exports.safeLoadAll = loader.safeLoadAll;\nmodule.exports.dump = dumper.dump;\nmodule.exports.safeDump = dumper.safeDump;\nmodule.exports.YAMLException = require('./js-yaml/exception');\n\n// Deprecated schema names from JS-YAML 2.0.x\nmodule.exports.MINIMAL_SCHEMA = require('./js-yaml/schema/failsafe');\nmodule.exports.SAFE_SCHEMA = require('./js-yaml/schema/default_safe');\nmodule.exports.DEFAULT_SCHEMA = require('./js-yaml/schema/default_full');\n\n// Deprecated functions from JS-YAML 1.x.x\nmodule.exports.scan = deprecated('scan');\nmodule.exports.parse = deprecated('parse');\nmodule.exports.compose = deprecated('compose');\nmodule.exports.addConstructor = deprecated('addConstructor');\n","'use strict';\n\n\nvar yaml = require('./lib/js-yaml.js');\n\n\nmodule.exports = yaml;\n","'use strict'\nmodule.exports = rfdc\n\nfunction copyBuffer (cur) {\n if (cur instanceof Buffer) {\n return Buffer.from(cur)\n }\n\n return new cur.constructor(cur.buffer.slice(), cur.byteOffset, cur.length)\n}\n\nfunction rfdc (opts) {\n opts = opts || {}\n\n if (opts.circles) return rfdcCircles(opts)\n return opts.proto ? cloneProto : clone\n\n function cloneArray (a, fn) {\n var keys = Object.keys(a)\n var a2 = new Array(keys.length)\n for (var i = 0; i < keys.length; i++) {\n var k = keys[i]\n var cur = a[k]\n if (typeof cur !== 'object' || cur === null) {\n a2[k] = cur\n } else if (cur instanceof Date) {\n a2[k] = new Date(cur)\n } else if (ArrayBuffer.isView(cur)) {\n a2[k] = copyBuffer(cur)\n } else {\n a2[k] = fn(cur)\n }\n }\n return a2\n }\n\n function clone (o) {\n if (typeof o !== 'object' || o === null) return o\n if (o instanceof Date) return new Date(o)\n if (Array.isArray(o)) return cloneArray(o, clone)\n if (o instanceof Map) return new Map(cloneArray(Array.from(o), clone))\n if (o instanceof Set) return new Set(cloneArray(Array.from(o), clone))\n var o2 = {}\n for (var k in o) {\n if (Object.hasOwnProperty.call(o, k) === false) continue\n var cur = o[k]\n if (typeof cur !== 'object' || cur === null) {\n o2[k] = cur\n } else if (cur instanceof Date) {\n o2[k] = new Date(cur)\n } else if (cur instanceof Map) {\n o2[k] = new Map(cloneArray(Array.from(cur), clone))\n } else if (cur instanceof Set) {\n o2[k] = new Set(cloneArray(Array.from(cur), clone))\n } else if (ArrayBuffer.isView(cur)) {\n o2[k] = copyBuffer(cur)\n } else {\n o2[k] = clone(cur)\n }\n }\n return o2\n }\n\n function cloneProto (o) {\n if (typeof o !== 'object' || o === null) return o\n if (o instanceof Date) return new Date(o)\n if (Array.isArray(o)) return cloneArray(o, cloneProto)\n if (o instanceof Map) return new Map(cloneArray(Array.from(o), cloneProto))\n if (o instanceof Set) return new Set(cloneArray(Array.from(o), cloneProto))\n var o2 = {}\n for (var k in o) {\n var cur = o[k]\n if (typeof cur !== 'object' || cur === null) {\n o2[k] = cur\n } else if (cur instanceof Date) {\n o2[k] = new Date(cur)\n } else if (cur instanceof Map) {\n o2[k] = new Map(cloneArray(Array.from(cur), cloneProto))\n } else if (cur instanceof Set) {\n o2[k] = new Set(cloneArray(Array.from(cur), cloneProto))\n } else if (ArrayBuffer.isView(cur)) {\n o2[k] = copyBuffer(cur)\n } else {\n o2[k] = cloneProto(cur)\n }\n }\n return o2\n }\n}\n\nfunction rfdcCircles (opts) {\n var refs = []\n var refsNew = []\n\n return opts.proto ? cloneProto : clone\n\n function cloneArray (a, fn) {\n var keys = Object.keys(a)\n var a2 = new Array(keys.length)\n for (var i = 0; i < keys.length; i++) {\n var k = keys[i]\n var cur = a[k]\n if (typeof cur !== 'object' || cur === null) {\n a2[k] = cur\n } else if (cur instanceof Date) {\n a2[k] = new Date(cur)\n } else if (ArrayBuffer.isView(cur)) {\n a2[k] = copyBuffer(cur)\n } else {\n var index = refs.indexOf(cur)\n if (index !== -1) {\n a2[k] = refsNew[index]\n } else {\n a2[k] = fn(cur)\n }\n }\n }\n return a2\n }\n\n function clone (o) {\n if (typeof o !== 'object' || o === null) return o\n if (o instanceof Date) return new Date(o)\n if (Array.isArray(o)) return cloneArray(o, clone)\n if (o instanceof Map) return new Map(cloneArray(Array.from(o), clone))\n if (o instanceof Set) return new Set(cloneArray(Array.from(o), clone))\n var o2 = {}\n refs.push(o)\n refsNew.push(o2)\n for (var k in o) {\n if (Object.hasOwnProperty.call(o, k) === false) continue\n var cur = o[k]\n if (typeof cur !== 'object' || cur === null) {\n o2[k] = cur\n } else if (cur instanceof Date) {\n o2[k] = new Date(cur)\n } else if (cur instanceof Map) {\n o2[k] = new Map(cloneArray(Array.from(cur), clone))\n } else if (cur instanceof Set) {\n o2[k] = new Set(cloneArray(Array.from(cur), clone))\n } else if (ArrayBuffer.isView(cur)) {\n o2[k] = copyBuffer(cur)\n } else {\n var i = refs.indexOf(cur)\n if (i !== -1) {\n o2[k] = refsNew[i]\n } else {\n o2[k] = clone(cur)\n }\n }\n }\n refs.pop()\n refsNew.pop()\n return o2\n }\n\n function cloneProto (o) {\n if (typeof o !== 'object' || o === null) return o\n if (o instanceof Date) return new Date(o)\n if (Array.isArray(o)) return cloneArray(o, cloneProto)\n if (o instanceof Map) return new Map(cloneArray(Array.from(o), cloneProto))\n if (o instanceof Set) return new Set(cloneArray(Array.from(o), cloneProto))\n var o2 = {}\n refs.push(o)\n refsNew.push(o2)\n for (var k in o) {\n var cur = o[k]\n if (typeof cur !== 'object' || cur === null) {\n o2[k] = cur\n } else if (cur instanceof Date) {\n o2[k] = new Date(cur)\n } else if (cur instanceof Map) {\n o2[k] = new Map(cloneArray(Array.from(cur), cloneProto))\n } else if (cur instanceof Set) {\n o2[k] = new Set(cloneArray(Array.from(cur), cloneProto))\n } else if (ArrayBuffer.isView(cur)) {\n o2[k] = copyBuffer(cur)\n } else {\n var i = refs.indexOf(cur)\n if (i !== -1) {\n o2[k] = refsNew[i]\n } else {\n o2[k] = cloneProto(cur)\n }\n }\n }\n refs.pop()\n refsNew.pop()\n return o2\n }\n}\n","import type { DataModel } from '@mcschema/core'\nimport { Path } from '@mcschema/core'\nimport yaml from 'js-yaml'\nimport { route } from 'preact-router'\nimport rfdc from 'rfdc'\nimport config from '../config.json'\n\nexport function isPromise(obj: any): obj is Promise<any> {\n\treturn typeof (obj as any)?.then === 'function' \n}\n\nexport function isObject(obj: any): obj is Record<string, any> {\n\treturn typeof obj === 'object' && obj !== null\n}\n\nconst dec2hex = (dec: number) => ('0' + dec.toString(16)).substr(-2)\n\nexport function hexId(length = 12) {\n\tvar arr = new Uint8Array(length / 2)\n\twindow.crypto.getRandomValues(arr)\n\treturn Array.from(arr, dec2hex).join('')\n}\n\nexport function randomSeed() {\n\treturn BigInt(Math.floor(Math.random() * Number.MAX_SAFE_INTEGER))\n}\n\nexport function newSeed(model: DataModel) {\n\tconst seed = Math.floor(Math.random() * (4294967296)) - 2147483648\n\tconst dimensions = model.get(new Path(['dimensions']))\n\tmodel.set(new Path(['seed']), seed, true)\n\tif (isObject(dimensions)) {\n\t\tObject.keys(dimensions).forEach(id => {\n\t\t\tmodel.set(new Path(['dimensions', id, 'generator', 'seed']), seed, true)\n\t\t\tmodel.set(new Path(['dimensions', id, 'generator', 'biome_source', 'seed']), seed, true)\n\t\t})\n\t}\n\tmodel.set(new Path(['placement', 'salt']), Math.abs(seed), true)\n\tmodel.set(new Path(['generator', 'seed']), seed, true)\n\tmodel.set(new Path(['generator', 'biome_source', 'seed']), seed)\n}\n\nexport function htmlEncode(str: string) {\n\treturn str.replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>')\n\t\t.replace(/\"/g, '"').replace(/'/g, ''').replace(/\\//g, '/')\n}\n\nexport function hashString(s: string) {\n\tlet h = 0\n\tfor(let i = 0; i < s.length; i++)\n\t\th = Math.imul(31, h) + s.charCodeAt(i) | 0\n\treturn h\n}\n\nexport function cleanUrl(url: string) {\n\treturn `/${url}/`.replaceAll('//', '/')\n}\n\nexport function getPath(url: string) {\n\tconst searchIndex = url.indexOf('?')\n\tif (searchIndex >= 0) {\n\t\turl = url.slice(0, searchIndex)\n\t}\n\treturn cleanUrl(url)\n}\n\nexport function getGenerator(url: string) {\n\tconst trimmedUrl = getPath(url).replace(/^\\//, '').replace(/\\/$/, '')\n\treturn config.generators.find(g => g.url === trimmedUrl)\n}\n\nexport function changeUrl({ path, search, hash, replace }: { path?: string, search?: string, hash?: string, replace?: boolean }) {\n\tconst url = (path !== undefined ? cleanUrl(path) : location.pathname)\n\t\t+ (search !== undefined ? (search.startsWith('?') || search.length === 0 ? search : '?' + search) : location.search)\n\t\t+ (hash !== undefined ? (hash.startsWith('#') ? hash : '#' + hash) : location.hash)\n\troute(url, replace)\n}\n\nexport function parseFrontMatter(source: string): Record<string, any> {\n\tconst data = yaml.load(source.substring(3, source.indexOf('---', 3)))\n\tif (!isObject(data)) return {}\n\treturn data\n}\n\nexport function versionContent(content: string, version: string) {\n\tlet cursor = 0\n\twhile (true) {\n\t\tconst start = content.indexOf('{#', cursor)\n\t\tif (start < 0) {\n\t\t\tbreak\n\t\t}\n\t\tconst end = findMatchingClose(content, start + 2)\n\t\tconst vStart = content.indexOf('#[', start + 1)\n\t\tlet sub = ''\n\t\tif (vStart >= 0 && vStart < end) {\n\t\t\tconst vEnd = content.indexOf(']', vStart + 2)\n\t\t\tconst v = content.substring(vStart + 2, vEnd)\n\t\t\tif (v === version) {\n\t\t\t\tsub = content.substring(vEnd + 1, end).trim()\n\t\t\t}\n\t\t} else {\n\t\t\tconst key = content.substring(start + 2, end)\n\t\t\tconst versionConfig = config.versions.find(v => v.id === version)\n\t\t\tsub = ({\n\t\t\t\tversion: versionConfig?.id,\n\t\t\t\tpack_format: versionConfig?.pack_format.toString(),\n\t\t\t} as Record<string, string | undefined>)[key] ?? ''\n\t\t}\n\t\tcontent = content.substring(0, start) + sub + content.substring(end + 2)\n\t\tcursor = start\n\t\t\n\t}\n\treturn content\n}\n\nfunction findMatchingClose(source: string, index: number) {\n\tlet depth = 0\n\tlet iteration = 0\n\twhile (iteration++ < 1000) {\n\t\tconst close = source.indexOf('#}', index)\n\t\tconst open = source.indexOf('{#', index)\n\t\tif (close < 0) {\n\t\t\tconsole.warn('Missing closing bracket')\n\t\t\treturn source.length\n\t\t}\n\t\tif (open < 0) {\n\t\t\tif (depth === 0) {\n\t\t\t\treturn close\n\t\t\t} else {\n\t\t\t\tdepth -= 1\n\t\t\t\tindex = close + 2\n\t\t\t}\n\t\t} else if (open < close) {\n\t\t\tdepth += 1\n\t\t\tindex = open + 2\n\t\t} else if (depth === 0) {\n\t\t\treturn close\n\t\t} else {\n\t\t\tdepth -= 1\n\t\t\tindex = close + 2\n\t\t}\n\t}\n\tconsole.warn('Exceeded max iterations while finding closing bracket')\n\treturn source.length\n}\n\nexport function stringToColor(str: string): [number, number, number] {\n\tconst h = Math.abs(hashString(str))\n\treturn [h % 256, (h >> 8) % 256, (h >> 16) % 256]\n}\n\nexport function square(a: number) {\n\treturn a * a\n}\n\nexport function clamp(a: number, b: number, c: number) {\n\treturn Math.max(a, Math.min(b, c))\n}\n\nexport function clampedLerp(a: number, b: number, c: number): number {\n\tif (c < 0) {\n\t\treturn a\n\t} else if (c > 1) {\n\t\treturn b\n\t} else {\n\t\treturn lerp(c, a, b)\n\t}\n}\n\nexport function lerp(a: number, b: number, c: number): number {\n\treturn b + a * (c - b)\n}\n\nexport function lerp2(a: number, b: number, c: number, d: number, e: number, f: number): number {\n\treturn lerp(b, lerp(a, c, d), lerp(a, e, f))\n}\n\nexport function lerp3(a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number) {\n\treturn lerp(c, lerp2(a, b, d, e, f, g), lerp2(a, b, h, i, j, k))\n}\n\nexport function smoothstep(x: number): number {\n\treturn x * x * x * (x * (x * 6 - 15) + 10)\n}\n\nexport function message(e: unknown): string {\n\tif (e instanceof Error) return e.message\n\treturn `${e}`\n}\n\nexport const deepClone = rfdc()\n\n/**\n * MIT License\n * \n * Copyright (c) 2017 Evgeny Poberezkin\n * \n * https://github.com/epoberezkin/fast-deep-equal/blob/master/LICENSE\n */\nexport function deepEqual(a: any, b: any) {\n\tif (a === b) return true\n\n\tif (a && b && typeof a == 'object' && typeof b == 'object') {\n\t\tif (a.constructor !== b.constructor) return false\n\t\tlet length, i\n\t\tif (Array.isArray(a)) {\n\t\t\tlength = a.length\n\t\t\tif (length != b.length) return false\n\t\t\tfor (i = 0; i < length; i++) {\n\t\t\t\tif (!deepEqual(a[i], b[i])) return false\n\t\t\t}\n\t\t\treturn true\n\t\t}\n\t\tif (a.valueOf !== Object.prototype.valueOf) return a.valueOf() === b.valueOf()\n\t\tif (a.toString !== Object.prototype.toString) return a.toString() === b.toString()\n\t\tconst keys = Object.keys(a)\n\t\tlength = keys.length\n\t\tif (length !== Object.keys(b).length) return false\n\t\tfor (i = length; i-- !== 0;)\n\t\t\tif (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false\n\t\tfor (i = length; i-- !== 0;) {\n\t\t\tconst key = keys[i]\n\t\t\tif (!deepEqual(a[key], b[key])) return false\n\t\t}\n\t\treturn true\n\t}\n\treturn a !== a && b !== b\n}\n\nexport class BiMap<A, B> {\n\tprivate readonly forward: Map<A, B>\n\tprivate readonly backward: Map<B, A>\n\n\tconstructor() {\n\t\tthis.forward = new Map()\n\t\tthis.backward = new Map()\n\t}\n\n\tpublic set(a: A, b: B) {\n\t\tthis.forward.set(a, b)\n\t\tthis.backward.set(b, a)\n\t}\n\n\tpublic getA(key: B) {\n\t\treturn this.backward.get(key)\n\t}\n\n\tpublic getB(key: A) {\n\t\treturn this.forward.get(key)\n\t}\n\n\tpublic getOrPut(key: A, defaultValue: B) {\n\t\tconst b = this.forward.get(key)\n\t\tif (b === undefined) {\n\t\t\tthis.set(key, defaultValue)\n\t\t\treturn defaultValue\n\t\t}\n\t\treturn b\n\t}\n}\n","import { useEffect, useRef } from 'preact/hooks'\nimport { Octicon } from '.'\nimport { hexId } from '../Utils'\n\ntype BtnInputProps = {\n\ticon?: keyof typeof Octicon,\n\tlabel?: string,\n\tlarge?: boolean,\n\tlarger?: boolean,\n\tdoSelect?: number,\n\tvalue?: string,\n\tplaceholder?: string,\n\tdataList?: string[],\n\tonChange?: (value: string) => unknown,\n}\nexport function BtnInput({ icon, label, large, larger, doSelect, value, placeholder, dataList, onChange }: BtnInputProps) {\n\tconst onInput = onChange === undefined ? () => {} : (e: any) => {\n\t\tconst value = (e.target as HTMLInputElement).value\n\t\tonChange?.(value)\n\t}\n\n\tconst ref = useRef<HTMLInputElement>(null)\n\tuseEffect(() => {\n\t\tif (doSelect && ref.current) {\n\t\t\tref.current.select()\n\t\t}\n\t}, [doSelect])\n\n\tconst dataListId = dataList && hexId()\n\n\treturn <div class={`btn btn-input ${large ? 'large-input' : ''} ${larger ? 'larger-input' : ''}`} onClick={e => e.stopPropagation()}>\n\t\t{icon && Octicon[icon]}\n\t\t{label && <span>{label}</span>}\n\t\t<input ref={ref} type=\"text\" value={value} onChange={onInput} placeholder={placeholder} list={dataListId} />\n\t\t{dataList && <datalist id={dataListId}>\n\t\t\t{dataList.map(e => <option value={e} />)}\n\t\t</datalist>}\n\t</div>\n}\n","import { useRef, useState } from 'preact/hooks'\n\ninterface ActiveTimeoutOptions {\n\tcooldown?: number,\n\tinvert?: boolean,\n\tinitial?: boolean,\n}\nexport function useActiveTimeout({ cooldown, invert, initial }: ActiveTimeoutOptions = {}): [boolean | undefined, () => unknown] {\n\tconst [active, setActive] = useState(initial)\n\tconst timeout = useRef<number | undefined>(undefined)\n\n\tconst trigger = () => {\n\t\tsetActive(invert ? false : true)\n\t\tif (timeout.current !== undefined) clearTimeout(timeout.current)\n\t\ttimeout.current = setTimeout(() => {\n\t\t\tsetActive(invert ? true : false)\n\t\t}, cooldown ?? 2000) as any\n\t}\n\n\treturn [active, trigger]\n}\n","import type { Inputs } from 'preact/hooks'\nimport { useCallback, useEffect, useRef, useState } from 'preact/hooks'\n\n\nexport type AsyncState<T> = {\n\tloading: boolean,\n\terror?: undefined,\n\tvalue?: undefined,\n} | {\n\tloading: true,\n\terror?: Error | undefined,\n\tvalue?: T,\n} | {\n\tloading: false,\n\terror: Error,\n\tvalue?: undefined,\n} | {\n\tloading: false,\n\terror?: undefined,\n\tvalue: T,\n}\n\nexport const AsyncCancel = Symbol('async-cancel')\n\nexport function useAsyncFn<R, T extends (...args: any[]) => Promise<R | typeof AsyncCancel>>(\n\tfn: T,\n\tinputs: Inputs = [],\n\tinitialState: AsyncState<R> = { loading: false },\n): [AsyncState<R>, (...args: Parameters<T>) => Promise<R | typeof AsyncCancel | undefined>] {\n\tconst [state, setState] = useState<AsyncState<R>>(initialState)\n\tconst isMounted = useRef<boolean>(false)\n\tconst lastCallId = useRef(0)\n\n\tuseEffect(() => {\n\t\tisMounted.current = true\n\t\treturn () => isMounted.current = false\n\t}, [])\n\n\tconst callback = useCallback((...args: Parameters<T>): Promise<R | typeof AsyncCancel | undefined> => {\n\t\tconst callId = ++lastCallId.current\n\t\tif (!state.loading) {\n\t\t\tsetState(prev => ({ ...prev, loading: true }))\n\t\t}\n\n\t\treturn fn(...args).then(\n\t\t\tvalue => {\n\t\t\t\tif (isMounted.current && callId === lastCallId.current && value !== AsyncCancel) {\n\t\t\t\t\tsetState({ value, loading: false })\n\t\t\t\t}\n\t\t\t\treturn value\n\t\t\t},\n\t\t\terror => {\n\t\t\t\tif (isMounted.current && callId === lastCallId.current) {\n\t\t\t\t\tsetState({ error, loading: false })\n\t\t\t\t}\n\t\t\t\treturn undefined\n\t\t\t})\n\t}, inputs)\n\n\treturn [state, callback]\n}\n","import type { Inputs } from 'preact/hooks'\nimport { useEffect } from 'preact/hooks'\nimport type { AsyncCancel, AsyncState } from './useAsyncFn'\nimport { useAsyncFn } from './useAsyncFn'\n\nexport function useAsync<R>(\n\tfn: () => Promise<R | typeof AsyncCancel>,\n\tinputs: Inputs = [],\n\tinitialState: AsyncState<R> = { loading: true },\n): AsyncState<R> {\n\tconst [state, callback] = useAsyncFn<R, () => Promise<R | typeof AsyncCancel>>(fn, inputs, initialState)\n\n\tuseEffect(() => {\n\t\tcallback()\n\t}, [callback])\n\n\treturn state\n}\n","import type { Inputs } from 'preact/hooks'\nimport { useEffect, useRef } from 'preact/hooks'\n\ntype Vec2 = [number, number]\n\nexport function useCanvas({ size, draw, onDrag, onHover, onLeave }: {\n\tsize: () => Vec2,\n\tdraw: (img: ImageData) => Promise<unknown>,\n\tonDrag?: (dx: number, dy: number) => Promise<unknown>,\n\tonHover?: (x: number, y: number) => unknown,\n\tonLeave?: () => unknown,\n}, inputs?: Inputs) {\n\tconst canvas = useRef<HTMLCanvasElement>(null)\n\n\tconst dragStart = useRef<Vec2 | undefined>()\n\tconst dragRequest = useRef<number>()\n\tconst dragPending = useRef<Vec2>([0, 0])\n\tconst dragBusy = useRef(false)\n\n\tuseEffect(() => {\n\t\tif (!canvas.current) return\n\t\tconst onMouseDown = (e: MouseEvent) => {\n\t\t\tdragStart.current = [e.offsetX, e.offsetY]\n\t\t}\n\t\tconst onMouseMove = (e: MouseEvent) => {\n\t\t\tif (dragStart.current === undefined) {\n\t\t\t\tif (!canvas.current) return\n\t\t\t\tconst x = e.offsetX / canvas.current.clientWidth\n\t\t\t\tconst y = e.offsetY / canvas.current.clientHeight\n\t\t\t\tonHover?.(x, y)\n\t\t\t\treturn\n\t\t\t}\n\t\t\tif (!onDrag) return\n\t\t\tconst dx = e.offsetX - dragStart.current[0]\n\t\t\tconst dy = e.offsetY - dragStart.current[1]\n\t\t\tif (!(dx === 0 && dy === 0)) {\n\t\t\t\tdragPending.current = [dragPending.current[0] + dx, dragPending.current[1] + dy]\n\t\t\t\tif (!dragBusy.current) {\n\t\t\t\t\tif (dragRequest.current) {\n\t\t\t\t\t\tcancelAnimationFrame(dragRequest.current)\n\t\t\t\t\t}\n\t\t\t\t\tdragRequest.current = requestAnimationFrame(async () => {\n\t\t\t\t\t\tif (!canvas.current) return\n\t\t\t\t\t\tdragBusy.current = true\n\t\t\t\t\t\tconst dx = dragPending.current[0] / canvas.current.clientWidth\n\t\t\t\t\t\tconst dy = dragPending.current[1] / canvas.current.clientHeight\n\t\t\t\t\t\tdragPending.current = [0, 0]\n\t\t\t\t\t\tawait onDrag?.(dx, dy)\n\t\t\t\t\t\tdragBusy.current = false\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t}\n\t\t\tdragStart.current = [e.offsetX, e.offsetY]\n\t\t}\n\t\tconst onMouseUp = () => {\n\t\t\tdragStart.current = undefined\n\t\t}\n\t\tconst onMouseLeave = () => {\n\t\t\tonLeave?.()\n\t\t}\n\n\t\tcanvas.current.addEventListener('mousedown', onMouseDown)\n\t\tcanvas.current.addEventListener('mousemove', onMouseMove)\n\t\tcanvas.current.addEventListener('mouseleave', onMouseLeave)\n\t\tdocument.body.addEventListener('mouseup', onMouseUp)\n\n\t\treturn () => {\n\t\t\tcanvas.current?.removeEventListener('mousedown', onMouseDown)\n\t\t\tcanvas.current?.removeEventListener('mousemove', onMouseMove)\n\t\t\tcanvas.current?.removeEventListener('mouseleave', onMouseLeave)\n\t\t\tdocument.body.removeEventListener('mouseup', onMouseUp)\n\t\t}\n\t}, [...inputs ?? [], canvas.current])\n\n\tconst redraw = useRef<() => Promise<unknown>>()\n\tconst redrawCount = useRef(0)\n\tredraw.current = async () => {\n\t\tif (!canvas.current) return\n\t\tconst ctx = canvas.current.getContext('2d')!\n\t\tconst s = size()\n\t\tcanvas.current.width = s[0]\n\t\tcanvas.current.height = s[1]\n\t\tconst img = ctx.getImageData(0, 0, s[0], s[1])\n\t\tconst ownCount = redrawCount.current += 1\n\t\ttry {\n\t\t\tawait draw(img)\n\t\t} catch (e) {\n\t\t\tthrow e\n\t\t}\n\t\tif (ownCount === redrawCount.current) {\n\t\t\tctx.putImageData(img, 0, 0)\n\t\t}\n\t}\n\n\treturn {\n\t\tcanvas,\n\t\tredraw: redraw.current,\n\t}\n}\n","import { useEffect, useState } from 'preact/hooks'\n\nexport function useFocus(): [boolean, () => unknown] {\n\tconst [active, setActive] = useState(false)\n\n\tconst hider = () => {\n\t\tsetActive(false)\n\t}\n\n\tuseEffect(() => {\n\t\tif (active) {\n\t\t\tdocument.body.addEventListener('click', hider)\n\t\t\tdocument.body.addEventListener('contextmenu', hider)\n\t\t}\n\t\treturn () => {\n\t\t\tdocument.body.removeEventListener('click', hider)\n\t\t\tdocument.body.removeEventListener('contextmenu', hider)\n\t\t}\n\t}, [active])\n\n\treturn [active, () => setActive(true)]\n}\n","import { useCallback, useEffect, useState } from 'preact/hooks'\nimport { changeUrl } from '../Utils'\n\nexport function useHash(): [string, (hash: string) => unknown] {\n\tconst [hash, setHash] = useState(window.location.hash)\n\n\tconst onChange = useCallback(() => {\n\t\tsetHash(window.location.hash)\n\t}, [])\n\n\tuseEffect(() => {\n\t\twindow.addEventListener('hashchange', onChange)\n\t\twindow.addEventListener('replacestate', onChange)\n\t\treturn () => {\n\t\t\twindow.removeEventListener('hashchange', onChange)\n\t\t\twindow.removeEventListener('replacestate', onChange)\n\t\t}\n\t}, [])\n\n\tconst changeHash = useCallback((newHash: string) => {\n\t\tif (newHash !== hash) {\n\t\t\tchangeUrl({ hash: newHash })\n\t\t}\n\t}, [hash])\n\n\treturn [hash, changeHash]\n}\n","import { useEffect, useState } from 'preact/hooks'\n\nexport function useMediaQuery(query: string): boolean {\n\tconst [prefers, setPrefers] = useState(matchMedia(query).matches)\n\n\tconst onChange = (e: MediaQueryListEvent) => {\n\t\tsetPrefers(e.matches)\n\t}\n\n\tuseEffect(() => {\n\t\tconst mediaQuery = matchMedia(query)\n\t\tmediaQuery.addEventListener('change', onChange)\n\t\treturn () => {\n\t\t\tmediaQuery.removeEventListener('change', onChange)\n\t\t}\n\t}, [query])\n\n\treturn prefers\n}\n","import type { DataModel } from '@mcschema/core'\nimport type { Inputs } from 'preact/hooks'\nimport { useEffect } from 'preact/hooks'\n\nexport function useModel(model: DataModel | undefined | null, invalidated: (model: DataModel) => unknown, inputs?: Inputs) {\n\tconst listener = {\n\t\tinvalidated() {\n\t\t\tif (model) {\n\t\t\t\tinvalidated(model)\n\t\t\t}\n\t\t},\n\t}\n\n\tuseEffect(() => {\n\t\tmodel?.addListener(listener)\n\t\treturn () => {\n\t\t\tmodel?.removeListener(listener)\n\t\t}\n\t}, [model, ...inputs ?? []])\n}\n","import { useCallback, useEffect, useState } from 'preact/hooks'\nimport { changeUrl } from '../Utils'\n\nconst getValue = (search: string, param: string) => new URLSearchParams(search).get(param) ?? undefined\n\nexport function useSearchParam(param: string): [string | undefined, (value: string | undefined, replace?: boolean) => unknown] {\n\tconst location = window.location\n\tconst [value, setValue] = useState<string | undefined>(getValue(location.search, param))\n\n\tuseEffect(() => {\n\t\tconst onChange = () => {\n\t\t\tsetValue(getValue(location.search, param))\n\t\t}\n\n\t\twindow.addEventListener('popstate', onChange)\n\t\twindow.addEventListener('pushstate', onChange)\n\t\twindow.addEventListener('replacestate', onChange)\n\n\t\treturn () => {\n\t\t\twindow.removeEventListener('popstate', onChange)\n\t\t\twindow.removeEventListener('pushstate', onChange)\n\t\t\twindow.removeEventListener('replacestate', onChange)\n\t\t}\n\t}, [])\n\n\tconst changeValue = useCallback((newValue: string | undefined, replace?: boolean) => {\n\t\tif (newValue !== value) {\n\t\t\tsetValue(newValue)\n\t\t\tconst params = new URLSearchParams(location.search)\n\t\t\tif (newValue === undefined || newValue.length === 0) {\n\t\t\t\tparams.delete(param)\n\t\t\t} else {\n\t\t\t\tparams.set(param, newValue)\n\t\t\t}\n\t\t\tchangeUrl({ search: params.toString().replaceAll('%7C', '|'), replace })\n\t\t}\n\t}, [value])\n\n\treturn [value, changeValue]\n};\n","import type { ComponentChildren } from 'preact'\nimport type { Octicon } from '.'\nimport { Btn } from '.'\nimport { useFocus } from '../hooks'\n\ninterface BtnMenuProps extends JSX.HTMLAttributes<HTMLDivElement> {\n\ticon?: keyof typeof Octicon,\n\tlabel?: string,\n\trelative?: boolean,\n\ttooltip?: string,\n\ttooltipLoc?: 'se' | 'sw' | 'nw',\n\tchildren: ComponentChildren,\n}\nexport function BtnMenu(props: BtnMenuProps) {\n\tconst { icon, label, relative, tooltip, tooltipLoc, children } = props\n\tconst [active, setActive] = useFocus()\n\n\treturn <div class={`btn-menu${relative === false ? ' no-relative' : ''}`} {...props}>\n\t\t<Btn {...{icon, label, tooltip, tooltipLoc}} onClick={setActive} />\n\t\t{active && <div class=\"btn-group\">\n\t\t\t{children}\n\t\t</div>}\n\t</div>\n}\n","const scriptRel = 'modulepreload';const seen = {};const base = '/';export const __vitePreload = function preload(baseModule, deps) {\n // @ts-ignore\n if (!__VITE_IS_MODERN__ || !deps || deps.length === 0) {\n return baseModule();\n }\n return Promise.all(deps.map((dep) => {\n // @ts-ignore\n dep = `${base}${dep}`;\n // @ts-ignore\n if (dep in seen)\n return;\n // @ts-ignore\n seen[dep] = true;\n const isCss = dep.endsWith('.css');\n const cssSelector = isCss ? '[rel=\"stylesheet\"]' : '';\n // @ts-ignore check if the file is already preloaded by SSR markup\n if (document.querySelector(`link[href=\"${dep}\"]${cssSelector}`)) {\n return;\n }\n // @ts-ignore\n const link = document.createElement('link');\n // @ts-ignore\n link.rel = isCss ? 'stylesheet' : scriptRel;\n if (!isCss) {\n link.as = 'script';\n link.crossOrigin = '';\n }\n link.href = dep;\n // @ts-ignore\n document.head.appendChild(link);\n if (isCss) {\n return new Promise((res, rej) => {\n link.addEventListener('load', res);\n link.addEventListener('error', () => rej(new Error(`Unable to preload CSS for ${dep}`)));\n });\n }\n })).then(() => baseModule());\n}","export const Octicon = {\n\talert: <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" width=\"16\" height=\"16\"><path fill-rule=\"evenodd\" d=\"M8.22 1.754a.25.25 0 00-.44 0L1.698 13.132a.25.25 0 00.22.368h12.164a.25.25 0 00.22-.368L8.22 1.754zm-1.763-.707c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0114.082 15H1.918a1.75 1.75 0 01-1.543-2.575L6.457 1.047zM9 11a1 1 0 11-2 0 1 1 0 012 0zm-.25-5.25a.75.75 0 00-1.5 0v2.5a.75.75 0 001.5 0v-2.5z\"></path></svg>,\n\tarchive: <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" width=\"16\" height=\"16\"><path fill-rule=\"evenodd\" d=\"M1.75 2.5a.25.25 0 00-.25.25v1.5c0 .138.112.25.25.25h12.5a.25.25 0 00.25-.25v-1.5a.25.25 0 00-.25-.25H1.75zM0 2.75C0 1.784.784 1 1.75 1h12.5c.966 0 1.75.784 1.75 1.75v1.5A1.75 1.75 0 0114.25 6H1.75A1.75 1.75 0 010 4.25v-1.5zM1.75 7a.75.75 0 01.75.75v5.5c0 .138.112.25.25.25h10.5a.25.25 0 00.25-.25v-5.5a.75.75 0 111.5 0v5.5A1.75 1.75 0 0113.25 15H2.75A1.75 1.75 0 011 13.25v-5.5A.75.75 0 011.75 7zm4.5 1a.75.75 0 000 1.5h3.5a.75.75 0 100-1.5h-3.5z\"></path></svg>,\n\tarrow_left: <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" width=\"16\" height=\"16\"><path fill-rule=\"evenodd\" d=\"M7.78 12.53a.75.75 0 01-1.06 0L2.47 8.28a.75.75 0 010-1.06l4.25-4.25a.75.75 0 011.06 1.06L4.81 7h7.44a.75.75 0 010 1.5H4.81l2.97 2.97a.75.75 0 010 1.06z\"></path></svg>,\n\tarrow_right: <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" width=\"16\" height=\"16\"><path fill-rule=\"evenodd\" d=\"M8.22 2.97a.75.75 0 011.06 0l4.25 4.25a.75.75 0 010 1.06l-4.25 4.25a.75.75 0 01-1.06-1.06l2.97-2.97H3.75a.75.75 0 010-1.5h7.44L8.22 4.03a.75.75 0 010-1.06z\"></path></svg>,\n\tcheck: <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" width=\"16\" height=\"16\"><path fill-rule=\"evenodd\" d=\"M13.78 4.22a.75.75 0 010 1.06l-7.25 7.25a.75.75 0 01-1.06 0L2.22 9.28a.75.75 0 011.06-1.06L6 10.94l6.72-6.72a.75.75 0 011.06 0z\"></path></svg>,\n\tchevron_down: <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" width=\"16\" height=\"16\"><path fill-rule=\"evenodd\" d=\"M12.78 6.22a.75.75 0 010 1.06l-4.25 4.25a.75.75 0 01-1.06 0L3.22 7.28a.75.75 0 011.06-1.06L8 9.94l3.72-3.72a.75.75 0 011.06 0z\"></path></svg>,\n\tchevron_right: <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" width=\"16\" height=\"16\"><path fill-rule=\"evenodd\" d=\"M6.22 3.22a.75.75 0 011.06 0l4.25 4.25a.75.75 0 010 1.06l-4.25 4.25a.75.75 0 01-1.06-1.06L9.94 8 6.22 4.28a.75.75 0 010-1.06z\"></path></svg>,\n\tchevron_up: <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" width=\"16\" height=\"16\"><path fill-rule=\"evenodd\" d=\"M3.22 9.78a.75.75 0 010-1.06l4.25-4.25a.75.75 0 011.06 0l4.25 4.25a.75.75 0 01-1.06 1.06L8 6.06 4.28 9.78a.75.75 0 01-1.06 0z\"></path></svg>,\n\tclippy: <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" width=\"16\" height=\"16\"><path fill-rule=\"evenodd\" d=\"M5.75 1a.75.75 0 00-.75.75v3c0 .414.336.75.75.75h4.5a.75.75 0 00.75-.75v-3a.75.75 0 00-.75-.75h-4.5zm.75 3V2.5h3V4h-3zm-2.874-.467a.75.75 0 00-.752-1.298A1.75 1.75 0 002 3.75v9.5c0 .966.784 1.75 1.75 1.75h8.5A1.75 1.75 0 0014 13.25v-9.5a1.75 1.75 0 00-.874-1.515.75.75 0 10-.752 1.298.25.25 0 01.126.217v9.5a.25.25 0 01-.25.25h-8.5a.25.25 0 01-.25-.25v-9.5a.25.25 0 01.126-.217z\"></path></svg>,\n\tcode: <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" width=\"16\" height=\"16\"><path fill-rule=\"evenodd\" d=\"M4.72 3.22a.75.75 0 011.06 1.06L2.06 8l3.72 3.72a.75.75 0 11-1.06 1.06L.47 8.53a.75.75 0 010-1.06l4.25-4.25zm6.56 0a.75.75 0 10-1.06 1.06L13.94 8l-3.72 3.72a.75.75 0 101.06 1.06l4.25-4.25a.75.75 0 000-1.06l-4.25-4.25z\"></path></svg>,\n\tdash: <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" width=\"16\" height=\"16\"><path fill-rule=\"evenodd\" d=\"M2 8a.75.75 0 01.75-.75h10.5a.75.75 0 010 1.5H2.75A.75.75 0 012 8z\"></path></svg>,\n\tdevice_desktop: <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" width=\"16\" height=\"16\"><path fill-rule=\"evenodd\" d=\"M1.75 2.5h12.5a.25.25 0 01.25.25v7.5a.25.25 0 01-.25.25H1.75a.25.25 0 01-.25-.25v-7.5a.25.25 0 01.25-.25zM14.25 1H1.75A1.75 1.75 0 000 2.75v7.5C0 11.216.784 12 1.75 12h3.727c-.1 1.041-.52 1.872-1.292 2.757A.75.75 0 004.75 16h6.5a.75.75 0 00.565-1.243c-.772-.885-1.193-1.716-1.292-2.757h3.727A1.75 1.75 0 0016 10.25v-7.5A1.75 1.75 0 0014.25 1zM9.018 12H6.982a5.72 5.72 0 01-.765 2.5h3.566a5.72 5.72 0 01-.765-2.5z\"></path></svg>,\n\tdot_fill: <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" width=\"16\" height=\"16\"><path fill-rule=\"evenodd\" d=\"M8 4a4 4 0 100 8 4 4 0 000-8z\"></path></svg>,\n\tdownload: <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" width=\"16\" height=\"16\"><path fill-rule=\"evenodd\" d=\"M7.47 10.78a.75.75 0 001.06 0l3.75-3.75a.75.75 0 00-1.06-1.06L8.75 8.44V1.75a.75.75 0 00-1.5 0v6.69L4.78 5.97a.75.75 0 00-1.06 1.06l3.75 3.75zM3.75 13a.75.75 0 000 1.5h8.5a.75.75 0 000-1.5h-8.5z\"></path></svg>,\n\tduplicate: <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" width=\"16\" height=\"16\"><path d=\"M10.5 3a.75.75 0 01.75.75v1h1a.75.75 0 010 1.5h-1v1a.75.75 0 01-1.5 0v-1h-1a.75.75 0 010-1.5h1v-1A.75.75 0 0110.5 3z\"></path><path fill-rule=\"evenodd\" d=\"M6.75 0A1.75 1.75 0 005 1.75v7.5c0 .966.784 1.75 1.75 1.75h7.5A1.75 1.75 0 0016 9.25v-7.5A1.75 1.75 0 0014.25 0h-7.5zM6.5 1.75a.25.25 0 01.25-.25h7.5a.25.25 0 01.25.25v7.5a.25.25 0 01-.25.25h-7.5a.25.25 0 01-.25-.25v-7.5z\"></path><path d=\"M1.75 5A1.75 1.75 0 000 6.75v7.5C0 15.216.784 16 1.75 16h7.5A1.75 1.75 0 0011 14.25v-1.5a.75.75 0 00-1.5 0v1.5a.25.25 0 01-.25.25h-7.5a.25.25 0 01-.25-.25v-7.5a.25.25 0 01.25-.25h1.5a.75.75 0 000-1.5h-1.5z\"></path></svg>,\n\teye: <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" width=\"16\" height=\"16\"><path fill-rule=\"evenodd\" d=\"M1.679 7.932c.412-.621 1.242-1.75 2.366-2.717C5.175 4.242 6.527 3.5 8 3.5c1.473 0 2.824.742 3.955 1.715 1.124.967 1.954 2.096 2.366 2.717a.119.119 0 010 .136c-.412.621-1.242 1.75-2.366 2.717C10.825 11.758 9.473 12.5 8 12.5c-1.473 0-2.824-.742-3.955-1.715C2.92 9.818 2.09 8.69 1.679 8.068a.119.119 0 010-.136zM8 2c-1.981 0-3.67.992-4.933 2.078C1.797 5.169.88 6.423.43 7.1a1.619 1.619 0 000 1.798c.45.678 1.367 1.932 2.637 3.024C4.329 13.008 6.019 14 8 14c1.981 0 3.67-.992 4.933-2.078 1.27-1.091 2.187-2.345 2.637-3.023a1.619 1.619 0 000-1.798c-.45-.678-1.367-1.932-2.637-3.023C11.671 2.992 9.981 2 8 2zm0 8a2 2 0 100-4 2 2 0 000 4z\"></path></svg>,\n\teye_closed: <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" width=\"16\" height=\"16\"><path fill-rule=\"evenodd\" d=\"M.143 2.31a.75.75 0 011.047-.167l14.5 10.5a.75.75 0 11-.88 1.214l-2.248-1.628C11.346 13.19 9.792 14 8 14c-1.981 0-3.67-.992-4.933-2.078C1.797 10.832.88 9.577.43 8.9a1.618 1.618 0 010-1.797c.353-.533.995-1.42 1.868-2.305L.31 3.357A.75.75 0 01.143 2.31zm3.386 3.378a14.21 14.21 0 00-1.85 2.244.12.12 0 00-.022.068c0 .021.006.045.022.068.412.621 1.242 1.75 2.366 2.717C5.175 11.758 6.527 12.5 8 12.5c1.195 0 2.31-.488 3.29-1.191L9.063 9.695A2 2 0 016.058 7.52l-2.53-1.832zM8 3.5c-.516 0-1.017.09-1.499.251a.75.75 0 11-.473-1.423A6.23 6.23 0 018 2c1.981 0 3.67.992 4.933 2.078 1.27 1.091 2.187 2.345 2.637 3.023a1.619 1.619 0 010 1.798c-.11.166-.248.365-.41.587a.75.75 0 11-1.21-.887c.148-.201.272-.382.371-.53a.119.119 0 000-.137c-.412-.621-1.242-1.75-2.366-2.717C10.825 4.242 9.473 3.5 8 3.5z\"></path></svg>,\n\tfile: <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" width=\"16\" height=\"16\"><path fill-rule=\"evenodd\" d=\"M3.75 1.5a.25.25 0 00-.25.25v11.5c0 .138.112.25.25.25h8.5a.25.25 0 00.25-.25V6H9.75A1.75 1.75 0 018 4.25V1.5H3.75zm5.75.56v2.19c0 .138.112.25.25.25h2.19L9.5 2.06zM2 1.75C2 .784 2.784 0 3.75 0h5.086c.464 0 .909.184 1.237.513l3.414 3.414c.329.328.513.773.513 1.237v8.086A1.75 1.75 0 0112.25 15h-8.5A1.75 1.75 0 012 13.25V1.75z\"></path></svg>,\n\tfile_directory: <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" width=\"16\" height=\"16\"><path fill-rule=\"evenodd\" d=\"M1.75 1A1.75 1.75 0 000 2.75v10.5C0 14.216.784 15 1.75 15h12.5A1.75 1.75 0 0016 13.25v-8.5A1.75 1.75 0 0014.25 3h-6.5a.25.25 0 01-.2-.1l-.9-1.2c-.33-.44-.85-.7-1.4-.7h-3.5z\"></path></svg>,\n\tgear: <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" width=\"16\" height=\"16\"><path fill-rule=\"evenodd\" d=\"M7.429 1.525a6.593 6.593 0 011.142 0c.036.003.108.036.137.146l.289 1.105c.147.56.55.967.997 1.189.174.086.341.183.501.29.417.278.97.423 1.53.27l1.102-.303c.11-.03.175.016.195.046.219.31.41.641.573.989.014.031.022.11-.059.19l-.815.806c-.411.406-.562.957-.53 1.456a4.588 4.588 0 010 .582c-.032.499.119 1.05.53 1.456l.815.806c.08.08.073.159.059.19a6.494 6.494 0 01-.573.99c-.02.029-.086.074-.195.045l-1.103-.303c-.559-.153-1.112-.008-1.529.27-.16.107-.327.204-.5.29-.449.222-.851.628-.998 1.189l-.289 1.105c-.029.11-.101.143-.137.146a6.613 6.613 0 01-1.142 0c-.036-.003-.108-.037-.137-.146l-.289-1.105c-.147-.56-.55-.967-.997-1.189a4.502 4.502 0 01-.501-.29c-.417-.278-.97-.423-1.53-.27l-1.102.303c-.11.03-.175-.016-.195-.046a6.492 6.492 0 01-.573-.989c-.014-.031-.022-.11.059-.19l.815-.806c.411-.406.562-.957.53-1.456a4.587 4.587 0 010-.582c.032-.499-.119-1.05-.53-1.456l-.815-.806c-.08-.08-.073-.159-.059-.19a6.44 6.44 0 01.573-.99c.02-.029.086-.075.195-.045l1.103.303c.559.153 1.112.008 1.529-.27.16-.107.327-.204.5-.29.449-.222.851-.628.998-1.189l.289-1.105c.029-.11.101-.143.137-.146zM8 0c-.236 0-.47.01-.701.03-.743.065-1.29.615-1.458 1.261l-.29 1.106c-.017.066-.078.158-.211.224a5.994 5.994 0 00-.668.386c-.123.082-.233.09-.3.071L3.27 2.776c-.644-.177-1.392.02-1.82.63a7.977 7.977 0 00-.704 1.217c-.315.675-.111 1.422.363 1.891l.815.806c.05.048.098.147.088.294a6.084 6.084 0 000 .772c.01.147-.038.246-.088.294l-.815.806c-.474.469-.678 1.216-.363 1.891.2.428.436.835.704 1.218.428.609 1.176.806 1.82.63l1.103-.303c.066-.019.176-.011.299.071.213.143.436.272.668.386.133.066.194.158.212.224l.289 1.106c.169.646.715 1.196 1.458 1.26a8.094 8.094 0 001.402 0c.743-.064 1.29-.614 1.458-1.26l.29-1.106c.017-.066.078-.158.211-.224a5.98 5.98 0 00.668-.386c.123-.082.233-.09.3-.071l1.102.302c.644.177 1.392-.02 1.82-.63.268-.382.505-.789.704-1.217.315-.675.111-1.422-.364-1.891l-.814-.806c-.05-.048-.098-.147-.088-.294a6.1 6.1 0 000-.772c-.01-.147.039-.246.088-.294l.814-.806c.475-.469.679-1.216.364-1.891a7.992 7.992 0 00-.704-1.218c-.428-.609-1.176-.806-1.82-.63l-1.103.303c-.066.019-.176.011-.299-.071a5.991 5.991 0 00-.668-.386c-.133-.066-.194-.158-.212-.224L10.16 1.29C9.99.645 9.444.095 8.701.031A8.094 8.094 0 008 0zm1.5 8a1.5 1.5 0 11-3 0 1.5 1.5 0 013 0zM11 8a3 3 0 11-6 0 3 3 0 016 0z\"></path></svg>,\n\tglobe: <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" width=\"16\" height=\"16\"><path fill-rule=\"evenodd\" d=\"M1.543 7.25h2.733c.144-2.074.866-3.756 1.58-4.948.12-.197.237-.381.353-.552a6.506 6.506 0 00-4.666 5.5zm2.733 1.5H1.543a6.506 6.506 0 004.666 5.5 11.13 11.13 0 01-.352-.552c-.715-1.192-1.437-2.874-1.581-4.948zm1.504 0h4.44a9.637 9.637 0 01-1.363 4.177c-.306.51-.612.919-.857 1.215a9.978 9.978 0 01-.857-1.215A9.637 9.637 0 015.78 8.75zm4.44-1.5H5.78a9.637 9.637 0 011.363-4.177c.306-.51.612-.919.857-1.215.245.296.55.705.857 1.215A9.638 9.638 0 0110.22 7.25zm1.504 1.5c-.144 2.074-.866 3.756-1.58 4.948-.12.197-.237.381-.353.552a6.506 6.506 0 004.666-5.5h-2.733zm2.733-1.5h-2.733c-.144-2.074-.866-3.756-1.58-4.948a11.738 11.738 0 00-.353-.552 6.506 6.506 0 014.666 5.5zM8 0a8 8 0 100 16A8 8 0 008 0z\"></path></svg>,\n\thistory: <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" width=\"16\" height=\"16\"><path fill-rule=\"evenodd\" d=\"M1.643 3.143L.427 1.927A.25.25 0 000 2.104V5.75c0 .138.112.25.25.25h3.646a.25.25 0 00.177-.427L2.715 4.215a6.5 6.5 0 11-1.18 4.458.75.75 0 10-1.493.154 8.001 8.001 0 101.6-5.684zM7.75 4a.75.75 0 01.75.75v2.992l2.028.812a.75.75 0 01-.557 1.392l-2.5-1A.75.75 0 017 8.25v-3.5A.75.75 0 017.75 4z\"></path></svg>,\n\tinfo: <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" width=\"16\" height=\"16\"><path fill-rule=\"evenodd\" d=\"M8 1.5a6.5 6.5 0 100 13 6.5 6.5 0 000-13zM0 8a8 8 0 1116 0A8 8 0 010 8zm6.5-.25A.75.75 0 017.25 7h1a.75.75 0 01.75.75v2.75h.25a.75.75 0 010 1.5h-2a.75.75 0 010-1.5h.25v-2h-.25a.75.75 0 01-.75-.75zM8 6a1 1 0 100-2 1 1 0 000 2z\"></path></svg>,\n\tissue_opened: <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" width=\"16\" height=\"16\"><path fill-rule=\"evenodd\" d=\"M8 1.5a6.5 6.5 0 100 13 6.5 6.5 0 000-13zM0 8a8 8 0 1116 0A8 8 0 010 8zm9 3a1 1 0 11-2 0 1 1 0 012 0zm-.25-6.25a.75.75 0 00-1.5 0v3.5a.75.75 0 001.5 0v-3.5z\"></path></svg>,\n\tkebab_horizontal: <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" width=\"16\" height=\"16\"><path d=\"M8 9a1.5 1.5 0 100-3 1.5 1.5 0 000 3zM1.5 9a1.5 1.5 0 100-3 1.5 1.5 0 000 3zm13 0a1.5 1.5 0 100-3 1.5 1.5 0 000 3z\"></path></svg>,\n\tlink: <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" width=\"16\" height=\"16\"><path fill-rule=\"evenodd\" d=\"M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z\"></path></svg>,\n\tlink_external: <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" width=\"16\" height=\"16\"><path fill-rule=\"evenodd\" d=\"M10.604 1h4.146a.25.25 0 01.25.25v4.146a.25.25 0 01-.427.177L13.03 4.03 9.28 7.78a.75.75 0 01-1.06-1.06l3.75-3.75-1.543-1.543A.25.25 0 0110.604 1zM3.75 2A1.75 1.75 0 002 3.75v8.5c0 .966.784 1.75 1.75 1.75h8.5A1.75 1.75 0 0014 12.25v-3.5a.75.75 0 00-1.5 0v3.5a.25.25 0 01-.25.25h-8.5a.25.25 0 01-.25-.25v-8.5a.25.25 0 01.25-.25h3.5a.75.75 0 000-1.5h-3.5z\"></path></svg>,\n\tmark_github: <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" width=\"16\" height=\"16\"><path fill-rule=\"evenodd\" d=\"M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z\"></path></svg>,\n\tmoon: <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" width=\"16\" height=\"16\"><path fill-rule=\"evenodd\" d=\"M9.598 1.591a.75.75 0 01.785-.175 7 7 0 11-8.967 8.967.75.75 0 01.961-.96 5.5 5.5 0 007.046-7.046.75.75 0 01.175-.786zm1.616 1.945a7 7 0 01-7.678 7.678 5.5 5.5 0 107.678-7.678z\"></path></svg>,\n\tplay: <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" width=\"16\" height=\"16\"><path fill-rule=\"evenodd\" d=\"M1.5 8a6.5 6.5 0 1113 0 6.5 6.5 0 01-13 0zM8 0a8 8 0 100 16A8 8 0 008 0zM6.379 5.227A.25.25 0 006 5.442v5.117a.25.25 0 00.379.214l4.264-2.559a.25.25 0 000-.428L6.379 5.227z\"></path></svg>,\n\tplus: <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" width=\"16\" height=\"16\"><path fill-rule=\"evenodd\" d=\"M8 2a.75.75 0 01.75.75v4.5h4.5a.75.75 0 010 1.5h-4.5v4.5a.75.75 0 01-1.5 0v-4.5h-4.5a.75.75 0 010-1.5h4.5v-4.5A.75.75 0 018 2z\"></path></svg>,\n\tplus_circle: <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" width=\"16\" height=\"16\"><path fill-rule=\"evenodd\" d=\"M1.5 8a6.5 6.5 0 1113 0 6.5 6.5 0 01-13 0zM8 0a8 8 0 100 16A8 8 0 008 0zm.75 4.75a.75.75 0 00-1.5 0v2.5h-2.5a.75.75 0 000 1.5h2.5v2.5a.75.75 0 001.5 0v-2.5h2.5a.75.75 0 000-1.5h-2.5v-2.5z\"></path></svg>,\n\trepo: <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" width=\"16\" height=\"16\"><path fill-rule=\"evenodd\" d=\"M2 2.5A2.5 2.5 0 014.5 0h8.75a.75.75 0 01.75.75v12.5a.75.75 0 01-.75.75h-2.5a.75.75 0 110-1.5h1.75v-2h-8a1 1 0 00-.714 1.7.75.75 0 01-1.072 1.05A2.495 2.495 0 012 11.5v-9zm10.5-1V9h-8c-.356 0-.694.074-1 .208V2.5a1 1 0 011-1h8zM5 12.25v3.25a.25.25 0 00.4.2l1.45-1.087a.25.25 0 01.3 0L8.6 15.7a.25.25 0 00.4-.2v-3.25a.25.25 0 00-.25-.25h-3.5a.25.25 0 00-.25.25z\"></path></svg>,\n\tsearch: <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" width=\"16\" height=\"16\"><path fill-rule=\"evenodd\" d=\"M11.5 7a4.499 4.499 0 11-8.998 0A4.499 4.499 0 0111.5 7zm-.82 4.74a6 6 0 111.06-1.06l3.04 3.04a.75.75 0 11-1.06 1.06l-3.04-3.04z\"></path></svg>,\n\tsort_asc: <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" width=\"16\" height=\"16\"><path fill-rule=\"evenodd\" d=\"M0 4.25a.75.75 0 01.75-.75h2.5a.75.75 0 010 1.5H.75A.75.75 0 010 4.25zm0 4a.75.75 0 01.75-.75h4.5a.75.75 0 010 1.5H.75A.75.75 0 010 8.25zm0 4a.75.75 0 01.75-.75h7.5a.75.75 0 010 1.5H.75a.75.75 0 01-.75-.75zm12.927-9.677a.25.25 0 00-.354 0l-3 3A.25.25 0 009.75 6H12v6.75a.75.75 0 001.5 0V6h2.25a.25.25 0 00.177-.427l-3-3z\"></path></svg>,\n\tsort_desc: <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" width=\"16\" height=\"16\"><path fill-rule=\"evenodd\" d=\"M0 4.25a.75.75 0 01.75-.75h7.5a.75.75 0 010 1.5H.75A.75.75 0 010 4.25zm0 4a.75.75 0 01.75-.75h4.5a.75.75 0 010 1.5H.75A.75.75 0 010 8.25zm0 4a.75.75 0 01.75-.75h2.5a.75.75 0 010 1.5H.75a.75.75 0 01-.75-.75z\"></path><path d=\"M13.5 10h2.25a.25.25 0 01.177.427l-3 3a.25.25 0 01-.354 0l-3-3A.25.25 0 019.75 10H12V3.75a.75.75 0 011.5 0V10z\"></path></svg>,\n\tsquare: <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" width=\"16\" height=\"16\"><path fill-rule=\"evenodd\" d=\"M4 5.75C4 4.784 4.784 4 5.75 4h4.5c.966 0 1.75.784 1.75 1.75v4.5A1.75 1.75 0 0110.25 12h-4.5A1.75 1.75 0 014 10.25v-4.5zm1.75-.25a.25.25 0 00-.25.25v4.5c0 .138.112.25.25.25h4.5a.25.25 0 00.25-.25v-4.5a.25.25 0 00-.25-.25h-4.5z\"></path></svg>,\n\tsquare_fill: <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" width=\"16\" height=\"16\"><path fill-rule=\"evenodd\" d=\"M5.75 4A1.75 1.75 0 004 5.75v4.5c0 .966.784 1.75 1.75 1.75h4.5A1.75 1.75 0 0012 10.25v-4.5A1.75 1.75 0 0010.25 4h-4.5z\"></path></svg>,\n\tstack: <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" width=\"16\" height=\"16\"><path fill-rule=\"evenodd\" d=\"M7.122.392a1.75 1.75 0 011.756 0l5.003 2.902c.83.481.83 1.68 0 2.162L8.878 8.358a1.75 1.75 0 01-1.756 0L2.119 5.456a1.25 1.25 0 010-2.162L7.122.392zM8.125 1.69a.25.25 0 00-.25 0l-4.63 2.685 4.63 2.685a.25.25 0 00.25 0l4.63-2.685-4.63-2.685zM1.601 7.789a.75.75 0 011.025-.273l5.249 3.044a.25.25 0 00.25 0l5.249-3.044a.75.75 0 01.752 1.298l-5.248 3.044a1.75 1.75 0 01-1.756 0L1.874 8.814A.75.75 0 011.6 7.789zm0 3.5a.75.75 0 011.025-.273l5.249 3.044a.25.25 0 00.25 0l5.249-3.044a.75.75 0 01.752 1.298l-5.248 3.044a1.75 1.75 0 01-1.756 0l-5.248-3.044a.75.75 0 01-.273-1.025z\"></path></svg>,\n\tsun: <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" width=\"16\" height=\"16\"><path fill-rule=\"evenodd\" d=\"M8 10.5a2.5 2.5 0 100-5 2.5 2.5 0 000 5zM8 12a4 4 0 100-8 4 4 0 000 8zM8 0a.75.75 0 01.75.75v1.5a.75.75 0 01-1.5 0V.75A.75.75 0 018 0zm0 13a.75.75 0 01.75.75v1.5a.75.75 0 01-1.5 0v-1.5A.75.75 0 018 13zM2.343 2.343a.75.75 0 011.061 0l1.06 1.061a.75.75 0 01-1.06 1.06l-1.06-1.06a.75.75 0 010-1.06zm9.193 9.193a.75.75 0 011.06 0l1.061 1.06a.75.75 0 01-1.06 1.061l-1.061-1.06a.75.75 0 010-1.061zM16 8a.75.75 0 01-.75.75h-1.5a.75.75 0 010-1.5h1.5A.75.75 0 0116 8zM3 8a.75.75 0 01-.75.75H.75a.75.75 0 010-1.5h1.5A.75.75 0 013 8zm10.657-5.657a.75.75 0 010 1.061l-1.061 1.06a.75.75 0 11-1.06-1.06l1.06-1.06a.75.75 0 011.06 0zm-9.193 9.193a.75.75 0 010 1.06l-1.06 1.061a.75.75 0 11-1.061-1.06l1.06-1.061a.75.75 0 011.061 0z\"></path></svg>,\n\tsync: <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" width=\"16\" height=\"16\"><path fill-rule=\"evenodd\" d=\"M8 2.5a5.487 5.487 0 00-4.131 1.869l1.204 1.204A.25.25 0 014.896 6H1.25A.25.25 0 011 5.75V2.104a.25.25 0 01.427-.177l1.38 1.38A7.001 7.001 0 0114.95 7.16a.75.75 0 11-1.49.178A5.501 5.501 0 008 2.5zM1.705 8.005a.75.75 0 01.834.656 5.501 5.501 0 009.592 2.97l-1.204-1.204a.25.25 0 01.177-.427h3.646a.25.25 0 01.25.25v3.646a.25.25 0 01-.427.177l-1.38-1.38A7.001 7.001 0 011.05 8.84a.75.75 0 01.656-.834z\"></path></svg>,\n\ttag: <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" width=\"16\" height=\"16\"><path fill-rule=\"evenodd\" d=\"M2.5 7.775V2.75a.25.25 0 01.25-.25h5.025a.25.25 0 01.177.073l6.25 6.25a.25.25 0 010 .354l-5.025 5.025a.25.25 0 01-.354 0l-6.25-6.25a.25.25 0 01-.073-.177zm-1.5 0V2.75C1 1.784 1.784 1 2.75 1h5.025c.464 0 .91.184 1.238.513l6.25 6.25a1.75 1.75 0 010 2.474l-5.026 5.026a1.75 1.75 0 01-2.474 0l-6.25-6.25A1.75 1.75 0 011 7.775zM6 5a1 1 0 100 2 1 1 0 000-2z\"></path></svg>,\n\tterminal: <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" width=\"16\" height=\"16\"><path fill-rule=\"evenodd\" d=\"M0 2.75C0 1.784.784 1 1.75 1h12.5c.966 0 1.75.784 1.75 1.75v10.5A1.75 1.75 0 0114.25 15H1.75A1.75 1.75 0 010 13.25V2.75zm1.75-.25a.25.25 0 00-.25.25v10.5c0 .138.112.25.25.25h12.5a.25.25 0 00.25-.25V2.75a.25.25 0 00-.25-.25H1.75zM7.25 8a.75.75 0 01-.22.53l-2.25 2.25a.75.75 0 11-1.06-1.06L5.44 8 3.72 6.28a.75.75 0 111.06-1.06l2.25 2.25c.141.14.22.331.22.53zm1.5 1.5a.75.75 0 000 1.5h3a.75.75 0 000-1.5h-3z\"></path></svg>,\n\tthree_bars: <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" width=\"16\" height=\"16\"><path fill-rule=\"evenodd\" d=\"M1 2.75A.75.75 0 011.75 2h12.5a.75.75 0 110 1.5H1.75A.75.75 0 011 2.75zm0 5A.75.75 0 011.75 7h12.5a.75.75 0 110 1.5H1.75A.75.75 0 011 7.75zM1.75 12a.75.75 0 100 1.5h12.5a.75.75 0 100-1.5H1.75z\"></path></svg>,\n\ttrashcan: <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" width=\"16\" height=\"16\"><path fill-rule=\"evenodd\" d=\"M6.5 1.75a.25.25 0 01.25-.25h2.5a.25.25 0 01.25.25V3h-3V1.75zm4.5 0V3h2.25a.75.75 0 010 1.5H2.75a.75.75 0 010-1.5H5V1.75C5 .784 5.784 0 6.75 0h2.5C10.216 0 11 .784 11 1.75zM4.496 6.675a.75.75 0 10-1.492.15l.66 6.6A1.75 1.75 0 005.405 15h5.19c.9 0 1.652-.681 1.741-1.576l.66-6.6a.75.75 0 00-1.492-.149l-.66 6.6a.25.25 0 01-.249.225h-5.19a.25.25 0 01-.249-.225l-.66-6.6z\"></path></svg>,\n\tunfold: <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" width=\"16\" height=\"16\"><path d=\"M8.177.677l2.896 2.896a.25.25 0 01-.177.427H8.75v1.25a.75.75 0 01-1.5 0V4H5.104a.25.25 0 01-.177-.427L7.823.677a.25.25 0 01.354 0zM7.25 10.75a.75.75 0 011.5 0V12h2.146a.25.25 0 01.177.427l-2.896 2.896a.25.25 0 01-.354 0l-2.896-2.896A.25.25 0 015.104 12H7.25v-1.25zm-5-2a.75.75 0 000-1.5h-.5a.75.75 0 000 1.5h.5zM6 8a.75.75 0 01-.75.75h-.5a.75.75 0 010-1.5h.5A.75.75 0 016 8zm2.25.75a.75.75 0 000-1.5h-.5a.75.75 0 000 1.5h.5zM12 8a.75.75 0 01-.75.75h-.5a.75.75 0 010-1.5h.5A.75.75 0 0112 8zm2.25.75a.75.75 0 000-1.5h-.5a.75.75 0 000 1.5h.5z\"></path></svg>,\n\tupload: <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" width=\"16\" height=\"16\"><path fill-rule=\"evenodd\" d=\"M8.53 1.22a.75.75 0 00-1.06 0L3.72 4.97a.75.75 0 001.06 1.06l2.47-2.47v6.69a.75.75 0 001.5 0V3.56l2.47 2.47a.75.75 0 101.06-1.06L8.53 1.22zM3.75 13a.75.75 0 000 1.5h8.5a.75.75 0 000-1.5h-8.5z\"></path></svg>,\n\tx: <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" width=\"16\" height=\"16\"><path fill-rule=\"evenodd\" d=\"M3.72 3.72a.75.75 0 011.06 0L8 6.94l3.22-3.22a.75.75 0 111.06 1.06L9.06 8l3.22 3.22a.75.75 0 11-1.06 1.06L8 9.06l-3.22 3.22a.75.75 0 01-1.06-1.06L6.94 8 3.72 4.78a.75.75 0 010-1.06z\"></path></svg>,\n\tx_circle: <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" width=\"16\" height=\"16\"><path fill-rule=\"evenodd\" d=\"M3.404 12.596a6.5 6.5 0 119.192-9.192 6.5 6.5 0 01-9.192 9.192zM2.344 2.343a8 8 0 1011.313 11.314A8 8 0 002.343 2.343zM6.03 4.97a.75.75 0 00-1.06 1.06L6.94 8 4.97 9.97a.75.75 0 101.06 1.06L8 9.06l1.97 1.97a.75.75 0 101.06-1.06L9.06 8l1.97-1.97a.75.75 0 10-1.06-1.06L8 6.94 6.03 4.97z\"></path></svg>,\n}\n","import { useEffect, useMemo, useState } from 'preact/hooks'\nimport { Octicon } from './Octicon'\n\ntype ErrorPanelProps = {\n\terror: string | Error,\n\tonDismiss?: () => unknown,\n}\nexport function ErrorPanel({ error, onDismiss }: ErrorPanelProps) {\n\tconst [stackVisible, setStackVisible] = useState(false)\n\tconst [stack, setStack] = useState<string | undefined>(undefined)\n\n\tuseEffect(() => {\n\t\tif (error instanceof Error) {\n\t\t\tconst stack = error.stack!.split('\\n').map(line => {\n\t\t\t\treturn line.replace(/^(\\s+)at (?:async )?(https?:.*)/, '$1at ($2)')\n\t\t\t})\n\t\t\tsetStack(stack.join('\\n'))\n\t\t\timport('sourcemapped-stacktrace').then(({ mapStackTrace }) => {\n\t\t\t\tmapStackTrace(stack.join('\\n'), (mapped) => {\n\t\t\t\t\tconst mappedStack = mapped.map(line => {\n\t\t\t\t\t\treturn line.replace(/..\\/..\\/src\\//, 'src/')\n\t\t\t\t\t}).join('\\n')\n\t\t\t\t\tsetStack(mappedStack)\n\t\t\t\t})\n\t\t\t})\n\t\t}\n\t}, [error])\n\n\tconst url = useMemo(() => {\n\t\tlet url ='https://github.com/misode/misode.github.io/issues/new'\n\t\tif (error instanceof Error) {\n\t\t\turl += `?title=${encodeURIComponent(`${error.name}: ${error.message}`)}`\n\t\t\tif (stack) {\n\t\t\t\turl += `&body=${encodeURIComponent(`\\`\\`\\`\\n${error.name}: ${error.message}\\n${stack}\\n\\`\\`\\`\\n`)}`\n\t\t\t}\n\t\t} else {\n\t\t\turl += `?title=${encodeURIComponent(error.toString())}`\n\t\t}\n\t\treturn url\n\t}, [error, stack])\n\n\treturn <div class=\"error\">\n\t\t{onDismiss && <div class=\"error-dismiss\" onClick={onDismiss}>{Octicon.x}</div>}\n\t\t<h3>\n\t\t\t{error instanceof Error ? error.message : error}\n\t\t\t{stack && <span onClick={() => setStackVisible(!stackVisible)}>\n\t\t\t\t{Octicon.info}\n\t\t\t</span>}\n\t\t</h3>\n\t\t{stack && stackVisible && <pre>{stack}</pre>}\n\t\t<p>If you think this is a bug, you can report it <a href={url} target=\"_blank\">on GitHub</a></p>\n\t</div>\n}\n","import { hexId } from '../../Utils'\n\ninterface Props {\n\tlabel: string,\n\tvalue: boolean,\n\tonChange: (value: boolean) => unknown,\n}\nexport function Checkbox({ label, value, onChange }: Props) {\n\tconst id = hexId()\n\treturn <label class=\"checkbox\">\n\t\t<input id={id} type=\"checkbox\" checked={value} onClick={() => onChange(!value)} />\n\t\t{label}\n\t</label>\n}\n","import type { JSXInternal } from 'preact/src/jsx'\n\ntype InputProps = JSXInternal.HTMLAttributes<HTMLInputElement>\n\ntype BaseInputProps<T> = Omit<InputProps, 'onChange' | 'type'> & {\n\tonChange?: (value: T) => unknown,\n\tonEnter?: (value: T) => unknown,\n}\nfunction BaseInput<T>(name: string, type: string, fn: (value: string) => T) {\n\tconst component = (props: BaseInputProps<T>) => {\n\t\tconst onChange = props.onChange && ((evt: Event) => {\n\t\t\tconst value = (evt.target as HTMLInputElement).value\n\t\t\tprops.onChange?.(fn(value))\n\t\t})\n\t\tconst onKeyDown = props.onEnter && ((evt: KeyboardEvent) => {\n\t\t\tif (evt.key === 'Enter') {\n\t\t\t\tconst value = (evt.target as HTMLInputElement).value\n\t\t\t\tprops.onEnter?.(fn(value))\n\t\t\t}\n\t\t})\n\t\treturn <input {...props} {...{ type, onChange, onKeyDown }} />\n\t}\n\tcomponent.displayName = name\n\treturn component\n}\n\nexport const TextInput = BaseInput('TextInput', 'text', v => v)\n\nexport const NumberInput = BaseInput('NumberInput', 'number', v => Number(v))\n\nexport const RangeInput = BaseInput('RangeInput', 'range', v => Number(v))\n","import { useMemo, useState } from 'preact/hooks'\nimport { Btn, BtnInput } from '..'\n\ninterface Props {\n\tvalues?: string[],\n\tonSelect?: (value: string) => unknown,\n\tsearchPlaceholder?: string,\n\tnoResults?: string,\n}\nexport function SearchList({ values, onSelect, searchPlaceholder, noResults }: Props) {\n\tconst [search, setSearch] = useState('')\n\tconst results = useMemo(() => {\n\t\tconst terms = search.trim().split(' ')\n\t\treturn values?.filter(v => terms.every(t => v.includes(t))) ?? []\n\t}, [values, search])\n\n\treturn <>\n\t\t<BtnInput icon=\"search\" large value={search} onChange={setSearch} doSelect={1} placeholder={searchPlaceholder ?? 'Search'} />\n\t\t<div class=\"result-list\">\n\t\t\t{results.map(v => <Btn key={v} label={v} onClick={() => onSelect?.(v)} />)}\n\t\t\t{results.length === 0 && <Btn label={noResults ?? 'No results'}/>}\n\t\t</div>\n\t</>\n}\n","import { isObject } from '../Utils'\n\nconst repo = 'https://raw.githubusercontent.com/misode/technical-changes/main'\n\nexport type Change = {\n\tgroup: ChangelogVersion,\n\tversion: ChangelogVersion,\n\torder: number,\n\ttags: string[],\n\tcontent: string,\n}\n\nexport type ChangelogVersion = {\n\tid: string,\n\tarticle: string | null,\n}\n\nlet Changelogs: Change[] | Promise<Change[]> | null = null\n\nexport async function getChangelogs() {\n\tif (!Changelogs) {\n\t\tconst index = await (await fetch(`${repo}/index.json`)).json() as string[]\n\t\tChangelogs = (await Promise.all(\n\t\t\tindex.map((group, i) => fetchGroup(parseVersion(group), i))\n\t\t)).flat().map<Change>(change => ({\n\t\t\t...change,\n\t\t\ttags: [change.group.id, ...change.tags],\n\t\t}))\n\t}\n\treturn Changelogs\n}\n\nasync function fetchGroup(group: ChangelogVersion, groupIndex: number) {\n\tconst index = await (await fetch(`${repo}/${group.id}/index.json`)).json() as string[]\n\treturn (await Promise.all(\n\t\tindex.map((version, i) => fetchChangelog(group, parseVersion(version), groupIndex, i))\n\t)).flat()\n}\n\nasync function fetchChangelog(group: ChangelogVersion, version: ChangelogVersion, groupIndex: number, versionIndex: number) {\n\tconst text = await (await fetch(`${repo}/${group.id}/${version.id}.md`)).text()\n\treturn parseChangelog(text).map(change => ({\n\t\tversion,\n\t\tgroup,\n\t\torder: groupIndex * 1000 + versionIndex,\n\t\t...change,\n\t}))\n}\n\nfunction parseChangelog(text: string) {\n\treturn text.split('\\n\\n')\n\t\t.map(entry => {\n\t\t\tconst i = entry.indexOf('|')\n\t\t\treturn {\n\t\t\t\ttags: entry.substring(0, i).trim().split(' '),\n\t\t\t\tcontent: entry.slice(i + 1).trim()\n\t\t\t\t\t.replaceAll('->', '→')\n\t\t\t\t\t.replaceAll('\\n...\\n', '\\n\\n'),\n\t\t\t}\n\t\t})\n}\n\nfunction parseVersion(version: unknown): ChangelogVersion {\n\tif (typeof version === 'string') {\n\t\treturn {\n\t\t\tid: version,\n\t\t\tarticle: version.match(/\\d\\dw\\d\\d[a-z]/) ? 'minecraft-snapshot-' + version : version.match(/\\d+\\.\\d+(\\.\\d+)?-pre[0-9]+/) ? 'minecraft-' + version.replaceAll('.', '-').replaceAll('pre', 'pre-release-') : null,\n\t\t}\n\t} else if (isObject(version)) {\n\t\treturn version as ChangelogVersion\n\t}\n\treturn { id: 'unknown', article: null }\n}\n","import type { CollectionRegistry } from '@mcschema/core'\nimport config from '../../config.json'\nimport { message } from '../Utils'\nimport type { BlockStateRegistry, VersionId } from './Schemas'\n\n// Cleanup old caches\n['1.15', '1.16', '1.17'].forEach(v => localStorage.removeItem(`cache_${v}`));\n['mcdata_master', 'vanilla_datapack_summary'].forEach(v => localStorage.removeItem(`cached_${v}`))\ncaches.delete('misode-v1')\n\nconst CACHE_NAME = 'misode-v2'\nconst CACHE_LATEST_VERSION = 'cached_latest_version'\n\ntype Version = {\n\tid: string,\n\tref?: string,\n\tdynamic?: boolean,\n}\n\ndeclare var __LATEST_VERSION__: string\nconst latestVersion = __LATEST_VERSION__ ?? ''\nconst mcmetaUrl = 'https://raw.githubusercontent.com/misode/mcmeta'\n\ntype McmetaTypes = 'summary' | 'data' | 'assets' | 'registries'\n\nfunction mcmeta(version: { dynamic: true } | { dynamic?: false, ref?: string}, type: McmetaTypes) {\n\treturn `${mcmetaUrl}/${version.dynamic ? type : `${version.ref}-${type}`}`\n}\n\nasync function validateCache(version: Version) {\n\tif (version.dynamic) {\n\t\tif (localStorage.getItem(CACHE_LATEST_VERSION) !== latestVersion) {\n\t\t\tawait deleteMatching(url => url.startsWith(`${mcmetaUrl}/summary/`) || url.startsWith(`${mcmetaUrl}/data/`) || url.startsWith(`${mcmetaUrl}/assets/`) || url.startsWith(`${mcmetaUrl}/registries/`))\n\t\t\tlocalStorage.setItem(CACHE_LATEST_VERSION, latestVersion)\n\t\t}\n\t\tversion.ref = latestVersion\n\t}\n}\n\nexport async function fetchData(versionId: string, collectionTarget: CollectionRegistry, blockStateTarget: BlockStateRegistry) {\n\tconst version = config.versions.find(v => v.id === versionId) as Version | undefined\n\tif (!version) {\n\t\tconsole.error(`[fetchData] Unknown version ${version} in ${JSON.stringify(config.versions)}`)\n\t\treturn\n\t}\n\n\tawait validateCache(version)\n\n\tawait Promise.all([\n\t\tfetchRegistries(version, collectionTarget),\n\t\tfetchBlockStateMap(version, blockStateTarget),\n\t])\n}\n\nasync function fetchRegistries(version: Version, target: CollectionRegistry) {\n\tconsole.debug(`[fetchRegistries] ${version.id}`)\n\ttry {\n\t\tconst data = await getData(`${mcmeta(version, 'summary')}/registries/data.min.json`)\n\t\tfor (const id in data) {\n\t\t\ttarget.register(id, data[id].map((e: string) => 'minecraft:' + e))\n\t\t}\n\t} catch (e) {\n\t\tconsole.warn('Error occurred while fetching registries:', message(e))\n\t}\n}\n\nasync function fetchBlockStateMap(version: Version, target: BlockStateRegistry) {\n\tconsole.debug(`[fetchBlockStateMap] ${version.id}`)\n\ttry {\n\t\tconst data = await getData(`${mcmeta(version, 'summary')}/blocks/data.min.json`)\n\t\tfor (const id in data) {\n\t\t\ttarget['minecraft:' + id] = {\n\t\t\t\tproperties: data[id][0],\n\t\t\t\tdefault: data[id][1],\n\t\t\t}\n\t\t}\n\t} catch (e) {\n\t\tconsole.warn('Error occurred while fetching block state map:', message(e))\n\t}\n}\n\nexport async function fetchPreset(versionId: VersionId, registry: string, id: string) {\n\tconsole.debug(`[fetchPreset] ${versionId} ${registry} ${id}`)\n\tconst version = config.versions.find(v => v.id === versionId)!\n\ttry {\n\t\tconst type = ['blockstates', 'models'].includes(registry) ? 'assets' : 'data'\n\t\tconst url = `${mcmeta(version, type)}/${type}/minecraft/${registry}/${id}.json`\n\t\tconst res = await fetch(url)\n\t\treturn await res.json()\n\t} catch (e) {\n\t\tthrow new Error(`Error occurred while fetching ${registry} preset ${id}: ${message(e)}`)\n\t}\n}\n\nexport async function fetchAllPresets(versionId: VersionId, registry: string) {\n\tconsole.debug(`[fetchAllPresets] ${versionId} ${registry}`)\n\tconst version = config.versions.find(v => v.id === versionId)!\n\tawait validateCache(version)\n\ttry {\n\t\tconst entries = await getData(`${mcmeta(version, 'registries')}/${registry}/data.min.json`)\n\t\treturn new Map<string, unknown>(await Promise.all(\n\t\t\tentries.map(async (e: string) =>\n\t\t\t\t[e, await getData(`${mcmeta(version, 'data')}/data/minecraft/${registry}/${e}.json`)])\n\t\t))\n\t} catch (e) {\n\t\tthrow new Error(`Error occurred while fetching all ${registry} presets: ${message(e)}`)\n\t}\n}\n\nexport type SoundEvents = {\n\t[key: string]: {\n\t\tsounds: (string | { name: string })[],\n\t},\n}\nexport async function fetchSounds(versionId: VersionId): Promise<SoundEvents> {\n\tconst version = config.versions.find(v => v.id === versionId)!\n\tawait validateCache(version)\n\ttry {\n\t\tconst url = `${mcmeta(version, 'summary')}/sounds/data.min.json`\n\t\treturn await getData(url)\n\t} catch (e) {\n\t\tthrow new Error(`Error occurred while fetching sounds for ${version}: ${message(e)}`)\n\t}\n}\n\nexport function getSoundUrl(versionId: VersionId, path: string) {\n\tconst version = config.versions.find(v => v.id === versionId)!\n\treturn `${mcmeta(version, 'assets')}/assets/minecraft/sounds/${path}.ogg`\n}\n\nexport type VersionMeta = {\n\tid: string,\n\tname: string,\n\trelease_target: string,\n\ttype: 'snapshot' | 'release',\n\tstable: boolean,\n\tdata_version: number,\n\tprotocol_version: number,\n\tdata_pack_version: number,\n\tresource_pack_version: number,\n\tbuild_time: string,\n\trelease_time: string,\n\tsha1: string,\n}\nexport async function fetchVersions(): Promise<VersionMeta[]> {\n\tconst version = config.versions[config.versions.length - 1]\n\tawait validateCache(version)\n\ttry {\n\t\treturn getData(`${mcmeta(version, 'summary')}/versions/data.min.json`)\n\t} catch (e) {\n\t\tthrow new Error(`Error occured while fetching versions: ${message(e)}`)\n\t}\n}\n\nasync function getData<T = any>(url: string, fn: (v: any) => T = (v: any) => v): Promise<T> {\n\ttry {\n\t\tconst cache = await caches.open(CACHE_NAME)\n\t\tconsole.debug(`[getData] Opened cache ${CACHE_NAME} ${url}`)\n\t\tconst cacheResponse = await cache.match(url)\n \n\t\tif (cacheResponse && cacheResponse.ok) {\n\t\t\tconsole.debug(`[getData] Retrieving cached data ${url}`)\n\t\t\treturn await cacheResponse.json()\n\t\t}\n \n\t\tconsole.debug(`[getData] fetching data ${url}`)\n\t\tconst fetchResponse = await fetch(url)\n\t\tconst responseData = fn(await fetchResponse.json())\n\t\tawait cache.put(url, new Response(JSON.stringify(responseData)))\n\t\treturn responseData\n\t} catch (e) {\n\t\tconsole.warn(`[getData] Failed to open cache ${CACHE_NAME}: ${message(e)}`)\n\n\t\tconsole.debug(`[getData] fetching data ${url}`)\n\t\tconst fetchResponse = await fetch(url)\n\t\tconst responseData = fn(await fetchResponse.json())\n\t\treturn responseData\n\t}\n}\n\nasync function deleteMatching(matches: (url: string) => boolean) {\n\ttry {\n\t\tconst cache = await caches.open(CACHE_NAME)\n\t\tconsole.debug(`[deleteMatching] Opened cache ${CACHE_NAME}`)\n\t\tconst promises: Promise<boolean>[] = []\n \n\t\tfor (const request of await cache.keys()) {\n\t\t\tif (matches(request.url)) {\n\t\t\t\tpromises.push(cache.delete(request))\n\t\t\t}\n\t\t}\n\t\tconsole.debug(`[deleteMatching] Removing ${promises.length} cache objects...`)\n\t\tawait Promise.all(promises)\n\t} catch (e) {\n\t\tconsole.warn(`[deleteMatching] Failed to open cache ${CACHE_NAME}: ${message(e)}`)\n\t}\n}\n","import type { CollectionRegistry, INode, SchemaRegistry } from '@mcschema/core'\nimport { ChoiceNode, DataModel, Reference, StringNode } from '@mcschema/core'\nimport config from '../../config.json'\nimport { message } from '../Utils'\nimport { fetchData } from './DataFetcher'\n\nexport const VersionIds = ['1.15', '1.16', '1.17', '1.18', '1.18.2', '1.19'] as const\nexport type VersionId = typeof VersionIds[number]\n\nexport type BlockStateRegistry = {\n\t[block: string]: {\n\t\tproperties?: {\n\t\t\t[key: string]: string[],\n\t\t},\n\t\tdefault?: {\n\t\t\t[key: string]: string,\n\t\t},\n\t},\n}\n\ntype VersionData = {\n\tcollections: CollectionRegistry,\n\tschemas: SchemaRegistry,\n\tblockStates: BlockStateRegistry,\n}\nconst Versions: Record<string, VersionData | Promise<VersionData>> = {}\n\ntype ModelData = {\n\tmodel: DataModel,\n\tversion: VersionId,\n}\nconst Models: Record<string, ModelData> = {}\n\nconst versionGetter: {\n\t[versionId in VersionId]: () => Promise<{\n\t\tgetCollections: () => CollectionRegistry,\n\t\tgetSchemas: (collections: CollectionRegistry) => SchemaRegistry,\n\t}>\n} = {\n\t1.15: () => import('@mcschema/java-1.15'),\n\t1.16: () => import('@mcschema/java-1.16'),\n\t1.17: () => import('@mcschema/java-1.17'),\n\t1.18: () => import('@mcschema/java-1.18'),\n\t'1.18.2': () => import('@mcschema/java-1.18.2'),\n\t1.19: () => import('@mcschema/java-1.19'),\n}\n\nexport let CachedDecorator: INode<any>\nexport let CachedFeature: INode<any>\nexport let CachedCollections: CollectionRegistry\n\nasync function getVersion(id: VersionId): Promise<VersionData> {\n\tif (!Versions[id]) {\n\t\tVersions[id] = (async () => {\n\t\t\ttry {\n\t\t\t\tconst mcschema = await versionGetter[id]()\n\t\t\t\tconst collections = mcschema.getCollections()\n\t\t\t\tconst blockStates: BlockStateRegistry = {}\n\t\t\t\tawait fetchData(id, collections, blockStates)\n\t\t\t\tconst schemas = mcschema.getSchemas(collections)\n\t\t\t\tVersions[id] = { collections, schemas, blockStates }\n\t\t\t\treturn Versions[id]\n\t\t\t} catch (e) {\n\t\t\t\tthrow new Error(`Cannot get version \"${id}\": ${message(e)}`)\n\t\t\t}\n\t\t})()\n\t\treturn Versions[id]\n\t}\n\treturn Versions[id]\n}\n\nexport async function getModel(version: VersionId, id: string): Promise<DataModel> {\n\tif (!Models[id] || Models[id].version !== version) {\n\t\tconst versionData = await getVersion(version)\n\t\t\n\t\tCachedDecorator = Reference(versionData.schemas, 'configured_decorator')\n\t\tCachedFeature = ChoiceNode([\n\t\t\t{\n\t\t\t\ttype: 'string',\n\t\t\t\tnode: StringNode(versionData.collections, { validator: 'resource', params: { pool: '$worldgen/configured_feature' } }),\n\t\t\t},\n\t\t\t{\n\t\t\t\ttype: 'object',\n\t\t\t\tnode: Reference(versionData.schemas, 'configured_feature'),\n\t\t\t},\n\t\t], { choiceContext: 'feature' })\n\n\t\tconst schemaName = config.generators.find(g => g.id === id)?.schema\n\t\tif (!schemaName) {\n\t\t\tthrow new Error(`Cannot find model ${id}`)\n\t\t}\n\t\ttry {\n\t\t\tconst schema = versionData.schemas.get(schemaName)\n\t\t\tconst model = new DataModel(schema, { wrapLists: true })\n\t\t\tif (Models[id]) {\n\t\t\t\tmodel.reset(Models[id].model.data, false)\n\t\t\t} else {\n\t\t\t\tmodel.validate(true)\n\t\t\t\tmodel.history = [JSON.stringify(model.data)]\n\t\t\t}\n\t\t\tModels[id] = { model, version }\n\t\t} catch (e) {\n\t\t\tconst err = new Error(`Cannot get generator \"${id}\" for version \"${version}\": ${message(e)}`)\n\t\t\tif (e instanceof Error) err.stack = e.stack\n\t\t\tthrow err\n\t\t}\n\t}\n\treturn Models[id].model\n}\n\nexport async function getCollections(version: VersionId): Promise<CollectionRegistry> {\n\tconst versionData = await getVersion(version)\n\tCachedCollections = versionData.collections\n\treturn versionData.collections\n}\n\nexport async function getBlockStates(version: VersionId): Promise<BlockStateRegistry> {\n\tconst versionData = await getVersion(version)\n\treturn versionData.blockStates\n}\n\nexport function checkVersion(versionId: string, minVersionId: string | undefined, maxVersionId?: string) {\n\tconst version = config.versions.findIndex(v => v.id === versionId)\n\tconst minVersion = minVersionId ? config.versions.findIndex(v => v.id === minVersionId) : 0\n\tconst maxVersion = maxVersionId ? config.versions.findIndex(v => v.id === maxVersionId) : config.versions.length - 1\n\treturn minVersion <= version && version <= maxVersion\n}\n","// Copyright (c) 2013 Pieroxy <pieroxy@pieroxy.net>\n// This work is free. You can redistribute it and/or modify it\n// under the terms of the WTFPL, Version 2\n// For more information see LICENSE.txt or http://www.wtfpl.net/\n//\n// For more information, the home page:\n// http://pieroxy.net/blog/pages/lz-string/testing.html\n//\n// LZ-based compression algorithm, version 1.4.4\nvar LZString = (function() {\n\n// private property\nvar f = String.fromCharCode;\nvar keyStrBase64 = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";\nvar keyStrUriSafe = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+-$\";\nvar baseReverseDic = {};\n\nfunction getBaseValue(alphabet, character) {\n if (!baseReverseDic[alphabet]) {\n baseReverseDic[alphabet] = {};\n for (var i=0 ; i<alphabet.length ; i++) {\n baseReverseDic[alphabet][alphabet.charAt(i)] = i;\n }\n }\n return baseReverseDic[alphabet][character];\n}\n\nvar LZString = {\n compressToBase64 : function (input) {\n if (input == null) return \"\";\n var res = LZString._compress(input, 6, function(a){return keyStrBase64.charAt(a);});\n switch (res.length % 4) { // To produce valid Base64\n default: // When could this happen ?\n case 0 : return res;\n case 1 : return res+\"===\";\n case 2 : return res+\"==\";\n case 3 : return res+\"=\";\n }\n },\n\n decompressFromBase64 : function (input) {\n if (input == null) return \"\";\n if (input == \"\") return null;\n return LZString._decompress(input.length, 32, function(index) { return getBaseValue(keyStrBase64, input.charAt(index)); });\n },\n\n compressToUTF16 : function (input) {\n if (input == null) return \"\";\n return LZString._compress(input, 15, function(a){return f(a+32);}) + \" \";\n },\n\n decompressFromUTF16: function (compressed) {\n if (compressed == null) return \"\";\n if (compressed == \"\") return null;\n return LZString._decompress(compressed.length, 16384, function(index) { return compressed.charCodeAt(index) - 32; });\n },\n\n //compress into uint8array (UCS-2 big endian format)\n compressToUint8Array: function (uncompressed) {\n var compressed = LZString.compress(uncompressed);\n var buf=new Uint8Array(compressed.length*2); // 2 bytes per character\n\n for (var i=0, TotalLen=compressed.length; i<TotalLen; i++) {\n var current_value = compressed.charCodeAt(i);\n buf[i*2] = current_value >>> 8;\n buf[i*2+1] = current_value % 256;\n }\n return buf;\n },\n\n //decompress from uint8array (UCS-2 big endian format)\n decompressFromUint8Array:function (compressed) {\n if (compressed===null || compressed===undefined){\n return LZString.decompress(compressed);\n } else {\n var buf=new Array(compressed.length/2); // 2 bytes per character\n for (var i=0, TotalLen=buf.length; i<TotalLen; i++) {\n buf[i]=compressed[i*2]*256+compressed[i*2+1];\n }\n\n var result = [];\n buf.forEach(function (c) {\n result.push(f(c));\n });\n return LZString.decompress(result.join(''));\n\n }\n\n },\n\n\n //compress into a string that is already URI encoded\n compressToEncodedURIComponent: function (input) {\n if (input == null) return \"\";\n return LZString._compress(input, 6, function(a){return keyStrUriSafe.charAt(a);});\n },\n\n //decompress from an output of compressToEncodedURIComponent\n decompressFromEncodedURIComponent:function (input) {\n if (input == null) return \"\";\n if (input == \"\") return null;\n input = input.replace(/ /g, \"+\");\n return LZString._decompress(input.length, 32, function(index) { return getBaseValue(keyStrUriSafe, input.charAt(index)); });\n },\n\n compress: function (uncompressed) {\n return LZString._compress(uncompressed, 16, function(a){return f(a);});\n },\n _compress: function (uncompressed, bitsPerChar, getCharFromInt) {\n if (uncompressed == null) return \"\";\n var i, value,\n context_dictionary= {},\n context_dictionaryToCreate= {},\n context_c=\"\",\n context_wc=\"\",\n context_w=\"\",\n context_enlargeIn= 2, // Compensate for the first entry which should not count\n context_dictSize= 3,\n context_numBits= 2,\n context_data=[],\n context_data_val=0,\n context_data_position=0,\n ii;\n\n for (ii = 0; ii < uncompressed.length; ii += 1) {\n context_c = uncompressed.charAt(ii);\n if (!Object.prototype.hasOwnProperty.call(context_dictionary,context_c)) {\n context_dictionary[context_c] = context_dictSize++;\n context_dictionaryToCreate[context_c] = true;\n }\n\n context_wc = context_w + context_c;\n if (Object.prototype.hasOwnProperty.call(context_dictionary,context_wc)) {\n context_w = context_wc;\n } else {\n if (Object.prototype.hasOwnProperty.call(context_dictionaryToCreate,context_w)) {\n if (context_w.charCodeAt(0)<256) {\n for (i=0 ; i<context_numBits ; i++) {\n context_data_val = (context_data_val << 1);\n if (context_data_position == bitsPerChar-1) {\n context_data_position = 0;\n context_data.push(getCharFromInt(context_data_val));\n context_data_val = 0;\n } else {\n context_data_position++;\n }\n }\n value = context_w.charCodeAt(0);\n for (i=0 ; i<8 ; i++) {\n context_data_val = (context_data_val << 1) | (value&1);\n if (context_data_position == bitsPerChar-1) {\n context_data_position = 0;\n context_data.push(getCharFromInt(context_data_val));\n context_data_val = 0;\n } else {\n context_data_position++;\n }\n value = value >> 1;\n }\n } else {\n value = 1;\n for (i=0 ; i<context_numBits ; i++) {\n context_data_val = (context_data_val << 1) | value;\n if (context_data_position ==bitsPerChar-1) {\n context_data_position = 0;\n context_data.push(getCharFromInt(context_data_val));\n context_data_val = 0;\n } else {\n context_data_position++;\n }\n value = 0;\n }\n value = context_w.charCodeAt(0);\n for (i=0 ; i<16 ; i++) {\n context_data_val = (context_data_val << 1) | (value&1);\n if (context_data_position == bitsPerChar-1) {\n context_data_position = 0;\n context_data.push(getCharFromInt(context_data_val));\n context_data_val = 0;\n } else {\n context_data_position++;\n }\n value = value >> 1;\n }\n }\n context_enlargeIn--;\n if (context_enlargeIn == 0) {\n context_enlargeIn = Math.pow(2, context_numBits);\n context_numBits++;\n }\n delete context_dictionaryToCreate[context_w];\n } else {\n value = context_dictionary[context_w];\n for (i=0 ; i<context_numBits ; i++) {\n context_data_val = (context_data_val << 1) | (value&1);\n if (context_data_position == bitsPerChar-1) {\n context_data_position = 0;\n context_data.push(getCharFromInt(context_data_val));\n context_data_val = 0;\n } else {\n context_data_position++;\n }\n value = value >> 1;\n }\n\n\n }\n context_enlargeIn--;\n if (context_enlargeIn == 0) {\n context_enlargeIn = Math.pow(2, context_numBits);\n context_numBits++;\n }\n // Add wc to the dictionary.\n context_dictionary[context_wc] = context_dictSize++;\n context_w = String(context_c);\n }\n }\n\n // Output the code for w.\n if (context_w !== \"\") {\n if (Object.prototype.hasOwnProperty.call(context_dictionaryToCreate,context_w)) {\n if (context_w.charCodeAt(0)<256) {\n for (i=0 ; i<context_numBits ; i++) {\n context_data_val = (context_data_val << 1);\n if (context_data_position == bitsPerChar-1) {\n context_data_position = 0;\n context_data.push(getCharFromInt(context_data_val));\n context_data_val = 0;\n } else {\n context_data_position++;\n }\n }\n value = context_w.charCodeAt(0);\n for (i=0 ; i<8 ; i++) {\n context_data_val = (context_data_val << 1) | (value&1);\n if (context_data_position == bitsPerChar-1) {\n context_data_position = 0;\n context_data.push(getCharFromInt(context_data_val));\n context_data_val = 0;\n } else {\n context_data_position++;\n }\n value = value >> 1;\n }\n } else {\n value = 1;\n for (i=0 ; i<context_numBits ; i++) {\n context_data_val = (context_data_val << 1) | value;\n if (context_data_position == bitsPerChar-1) {\n context_data_position = 0;\n context_data.push(getCharFromInt(context_data_val));\n context_data_val = 0;\n } else {\n context_data_position++;\n }\n value = 0;\n }\n value = context_w.charCodeAt(0);\n for (i=0 ; i<16 ; i++) {\n context_data_val = (context_data_val << 1) | (value&1);\n if (context_data_position == bitsPerChar-1) {\n context_data_position = 0;\n context_data.push(getCharFromInt(context_data_val));\n context_data_val = 0;\n } else {\n context_data_position++;\n }\n value = value >> 1;\n }\n }\n context_enlargeIn--;\n if (context_enlargeIn == 0) {\n context_enlargeIn = Math.pow(2, context_numBits);\n context_numBits++;\n }\n delete context_dictionaryToCreate[context_w];\n } else {\n value = context_dictionary[context_w];\n for (i=0 ; i<context_numBits ; i++) {\n context_data_val = (context_data_val << 1) | (value&1);\n if (context_data_position == bitsPerChar-1) {\n context_data_position = 0;\n context_data.push(getCharFromInt(context_data_val));\n context_data_val = 0;\n } else {\n context_data_position++;\n }\n value = value >> 1;\n }\n\n\n }\n context_enlargeIn--;\n if (context_enlargeIn == 0) {\n context_enlargeIn = Math.pow(2, context_numBits);\n context_numBits++;\n }\n }\n\n // Mark the end of the stream\n value = 2;\n for (i=0 ; i<context_numBits ; i++) {\n context_data_val = (context_data_val << 1) | (value&1);\n if (context_data_position == bitsPerChar-1) {\n context_data_position = 0;\n context_data.push(getCharFromInt(context_data_val));\n context_data_val = 0;\n } else {\n context_data_position++;\n }\n value = value >> 1;\n }\n\n // Flush the last char\n while (true) {\n context_data_val = (context_data_val << 1);\n if (context_data_position == bitsPerChar-1) {\n context_data.push(getCharFromInt(context_data_val));\n break;\n }\n else context_data_position++;\n }\n return context_data.join('');\n },\n\n decompress: function (compressed) {\n if (compressed == null) return \"\";\n if (compressed == \"\") return null;\n return LZString._decompress(compressed.length, 32768, function(index) { return compressed.charCodeAt(index); });\n },\n\n _decompress: function (length, resetValue, getNextValue) {\n var dictionary = [],\n next,\n enlargeIn = 4,\n dictSize = 4,\n numBits = 3,\n entry = \"\",\n result = [],\n i,\n w,\n bits, resb, maxpower, power,\n c,\n data = {val:getNextValue(0), position:resetValue, index:1};\n\n for (i = 0; i < 3; i += 1) {\n dictionary[i] = i;\n }\n\n bits = 0;\n maxpower = Math.pow(2,2);\n power=1;\n while (power!=maxpower) {\n resb = data.val & data.position;\n data.position >>= 1;\n if (data.position == 0) {\n data.position = resetValue;\n data.val = getNextValue(data.index++);\n }\n bits |= (resb>0 ? 1 : 0) * power;\n power <<= 1;\n }\n\n switch (next = bits) {\n case 0:\n bits = 0;\n maxpower = Math.pow(2,8);\n power=1;\n while (power!=maxpower) {\n resb = data.val & data.position;\n data.position >>= 1;\n if (data.position == 0) {\n data.position = resetValue;\n data.val = getNextValue(data.index++);\n }\n bits |= (resb>0 ? 1 : 0) * power;\n power <<= 1;\n }\n c = f(bits);\n break;\n case 1:\n bits = 0;\n maxpower = Math.pow(2,16);\n power=1;\n while (power!=maxpower) {\n resb = data.val & data.position;\n data.position >>= 1;\n if (data.position == 0) {\n data.position = resetValue;\n data.val = getNextValue(data.index++);\n }\n bits |= (resb>0 ? 1 : 0) * power;\n power <<= 1;\n }\n c = f(bits);\n break;\n case 2:\n return \"\";\n }\n dictionary[3] = c;\n w = c;\n result.push(c);\n while (true) {\n if (data.index > length) {\n return \"\";\n }\n\n bits = 0;\n maxpower = Math.pow(2,numBits);\n power=1;\n while (power!=maxpower) {\n resb = data.val & data.position;\n data.position >>= 1;\n if (data.position == 0) {\n data.position = resetValue;\n data.val = getNextValue(data.index++);\n }\n bits |= (resb>0 ? 1 : 0) * power;\n power <<= 1;\n }\n\n switch (c = bits) {\n case 0:\n bits = 0;\n maxpower = Math.pow(2,8);\n power=1;\n while (power!=maxpower) {\n resb = data.val & data.position;\n data.position >>= 1;\n if (data.position == 0) {\n data.position = resetValue;\n data.val = getNextValue(data.index++);\n }\n bits |= (resb>0 ? 1 : 0) * power;\n power <<= 1;\n }\n\n dictionary[dictSize++] = f(bits);\n c = dictSize-1;\n enlargeIn--;\n break;\n case 1:\n bits = 0;\n maxpower = Math.pow(2,16);\n power=1;\n while (power!=maxpower) {\n resb = data.val & data.position;\n data.position >>= 1;\n if (data.position == 0) {\n data.position = resetValue;\n data.val = getNextValue(data.index++);\n }\n bits |= (resb>0 ? 1 : 0) * power;\n power <<= 1;\n }\n dictionary[dictSize++] = f(bits);\n c = dictSize-1;\n enlargeIn--;\n break;\n case 2:\n return result.join('');\n }\n\n if (enlargeIn == 0) {\n enlargeIn = Math.pow(2, numBits);\n numBits++;\n }\n\n if (dictionary[c]) {\n entry = dictionary[c];\n } else {\n if (c === dictSize) {\n entry = w + w.charAt(0);\n } else {\n return null;\n }\n }\n result.push(entry);\n\n // Add w+entry[0] to the dictionary.\n dictionary[dictSize++] = w + entry.charAt(0);\n enlargeIn--;\n\n w = entry;\n\n if (enlargeIn == 0) {\n enlargeIn = Math.pow(2, numBits);\n numBits++;\n }\n\n }\n }\n};\n return LZString;\n})();\n\nif (typeof define === 'function' && define.amd) {\n define(function () { return LZString; });\n} else if( typeof module !== 'undefined' && module != null ) {\n module.exports = LZString\n}\n","import lz from 'lz-string'\nimport type { VersionId } from './Schemas'\n\nconst API_PREFIX = 'https://z15g7can.directus.app/items'\n\nconst ShareCache = new Map<string, string>()\n\nexport async function shareSnippet(type: string, version: VersionId, jsonData: any, show_preview: boolean) {\n\ttry {\n\t\tconst raw = JSON.stringify(jsonData)\n\t\tconst data = lz.compressToBase64(raw)\n\t\tconsole.log('Compression rate', raw.length / raw.length)\n\t\tconst body = JSON.stringify({ data, type, version, show_preview })\n\t\tlet id = ShareCache.get(body)\n\t\tif (!id) {\n\t\t\tconst snippet = await fetchApi('/snippets', body)\n\t\t\tShareCache.set(body, snippet.id)\n\t\t\tid = snippet.id as string\n\t\t}\n\t\treturn { id, length: raw.length, compressed: data.length, rate: raw.length / data.length }\n\t} catch (e) {\n\t\tif (e instanceof Error) {\n\t\t\te.message = `Error creating share link: ${e.message}`\n\t\t}\n\t\tthrow e\n\t}\n}\n\nexport async function getSnippet(id: string) {\n\ttry {\n\t\tconst snippet = await fetchApi(`/snippets/${id}`)\n\t\treturn {\n\t\t\t...snippet,\n\t\t\tdata: JSON.parse(lz.decompressFromBase64(snippet.data) ?? '{}'),\n\t\t}\n\t} catch (e) {\n\t\tif (e instanceof Error) {\n\t\t\te.message = `Error loading shared content: ${e.message}`\n\t\t}\n\t\tthrow e\n\t}\n}\n\nasync function fetchApi(url: string, body?: string) {\n\tconst res = await fetch(API_PREFIX + url, body ? {\n\t\tmethod: 'post',\n\t\theaders: { 'Content-Type': 'application/json' },\n\t\tbody,\n\t} : undefined)\n\tconst data = await res.json()\n\tif (data.data) {\n\t\treturn data.data\n\t}\n\tthrow new Error(data.errors?.[0]?.message ?? 'Unknown error')\n}\n","import type { Project } from './contexts'\nimport { DRAFT_PROJECT } from './contexts'\nimport type { VersionId } from './services'\nimport { VersionIds } from './services'\n\nexport namespace Store {\n\texport const ID_LANGUAGE = 'language'\n\texport const ID_THEME = 'theme'\n\texport const ID_VERSION = 'schema_version'\n\texport const ID_INDENT = 'indentation'\n\texport const ID_FORMAT = 'output_format'\n\texport const ID_HIGHLIGHTING = 'output_highlighting'\n\texport const ID_SOUNDS_VERSION = 'minecraft_sounds_version'\n\texport const ID_PROJECTS = 'misode_projects'\n\texport const ID_BACKUPS = 'misode_generator_backups'\n\n\texport function getLanguage() {\n\t\treturn localStorage.getItem(ID_LANGUAGE) ?? 'en'\n\t}\n\n\texport function getTheme() {\n\t\treturn localStorage.getItem(ID_THEME) ?? 'dark'\n\t}\n\n\texport function getVersion(): VersionId {\n\t\tconst version = localStorage.getItem(ID_VERSION)\n\t\tif (version && VersionIds.includes(version as VersionId)) {\n\t\t\treturn version as VersionId\n\t\t}\n\t\treturn '1.18.2'\n\t}\n\n\texport function getIndent() {\n\t\treturn localStorage.getItem(ID_INDENT) ?? '2_spaces'\n\t}\n\n\texport function getFormat() {\n\t\treturn localStorage.getItem(ID_FORMAT) ?? 'json'\n\t}\n\n\texport function getHighlighting() {\n\t\treturn localStorage.getItem(ID_HIGHLIGHTING) !== 'false'\n\t}\n\n\texport function getSoundsVersion() {\n\t\treturn localStorage.getItem(ID_SOUNDS_VERSION) ?? 'latest'\n\t}\n\n\texport function getProjects(): Project[] {\n\t\tconst projects = localStorage.getItem(ID_PROJECTS)\n\t\tif (projects) {\n\t\t\treturn JSON.parse(projects) as Project[]\n\t\t}\n\t\treturn [DRAFT_PROJECT]\n\t}\n\n\texport function getBackup(id: string): object | undefined {\n\t\tconst backups = JSON.parse(localStorage.getItem(ID_BACKUPS) ?? '{}')\n\t\treturn backups[id]\n\t}\n\n\texport function setLanguage(language: string | undefined) {\n\t\tif (language) localStorage.setItem(ID_LANGUAGE, language)\n\t}\n\n\texport function setTheme(theme: string | undefined) {\n\t\tif (theme) localStorage.setItem(ID_THEME, theme)\n\t}\n\n\texport function setVersion(version: VersionId | undefined) {\n\t\tif (version) localStorage.setItem(ID_VERSION, version)\n\t}\n\n\texport function setIndent(indent: string | undefined) {\n\t\tif (indent) localStorage.setItem(ID_INDENT, indent)\n\t}\n\n\texport function setFormat(format: string | undefined) {\n\t\tif (format) localStorage.setItem(ID_FORMAT, format)\n\t}\n\n\texport function setHighlighting(highlighting: boolean | undefined) {\n\t\tif (highlighting !== undefined) localStorage.setItem(ID_HIGHLIGHTING, highlighting.toString())\n\t}\n\n\texport function setSoundsVersion(version: string | undefined) {\n\t\tif (version) localStorage.setItem(ID_SOUNDS_VERSION, version)\n\t}\n\n\texport function setProjects(projects: Project[] | undefined) {\n\t\tif (projects) localStorage.setItem(ID_PROJECTS, JSON.stringify(projects))\n\t}\n\n\texport function setBackup(id: string, data: object | undefined) {\n\t\tconst backups = JSON.parse(localStorage.getItem(ID_BACKUPS) ?? '{}')\n\t\tif (data === undefined) {\n\t\t\tdelete backups[id]\n\t\t} else {\n\t\t\tbackups[id] = data\n\t\t}\n\t\tlocalStorage.setItem(ID_BACKUPS, JSON.stringify(backups))\n\t}\n}\n","import type { ComponentChildren } from 'preact'\nimport { createContext } from 'preact'\nimport { useCallback, useContext, useEffect, useState } from 'preact/hooks'\nimport config from '../../config.json'\nimport English from '../../locales/en.json'\nimport { Analytics } from '../Analytics'\nimport { Store } from '../Store'\n\ninterface Locale {\n\tlang: string,\n\tlocale: (key: string, ...params: string[]) => string,\n\tchangeLocale: (lang: string) => unknown,\n}\nconst Locale = createContext<Locale>({\n\tlang: 'none',\n\tlocale: key => key,\n\tchangeLocale: () => {},\n})\n\nexport const Locales: {\n\t[key: string]: {\n\t\t[key: string]: string,\n\t},\n} = {\n\tfallback: English,\n}\n\nexport function localize(lang: string, key: string, ...params: string[]) {\n\tconst value: string | undefined = Locales[lang]?.[key]\n\t?? Locales.en?.[key] ?? Locales.fallback[key] ?? key\n\treturn resolveLocaleParams(value, params)\n}\n\nfunction resolveLocaleParams(value: string, params?: string[]): string {\n\treturn value.replace(/%\\d+%/g, match => {\n\t\tconst index = parseInt(match.slice(1, -1))\n\t\treturn params?.[index] !== undefined ? params[index] : match\n\t})\n}\n\nasync function loadLocale(language: string) {\n\tif (Locales[language]) return\n\tconst langConfig = config.languages.find(lang => lang.code === language)\n\tif (!langConfig) return\n\tconst data = await import(`../../locales/${language}.json`)\n\tconst schema = langConfig.schemas !== false\n\t\t&& await import(`../../../node_modules/@mcschema/locales/src/${language}.json`)\n\tLocales[language] = { ...data.default, ...schema.default }\n}\n\nexport function useLocale() {\n\treturn useContext(Locale)\n}\n\nexport function LocaleProvider({ children }: { children: ComponentChildren }) {\n\tconst [lang, setLanguage] = useState('none')\n\n\tconst locale = useCallback((key: string, ...params: string[]) => {\n\t\treturn localize(lang, key, ...params)\n\t}, [lang])\n\n\tconst changeLocale = useCallback(async (lang: string) => {\n\t\tawait loadLocale(lang)\n\t\tAnalytics.setLocale(lang)\n\t\tStore.setLanguage(lang)\n\t\tsetLanguage(lang)\n\t}, [])\n\n\tuseEffect(() => {\n\t\t(async () => {\n\t\t\tconst target = Store.getLanguage()\n\t\t\tAnalytics.setLocale(target)\n\t\t\tawait Promise.all([\n\t\t\t\tloadLocale('en'),\n\t\t\t\t...(target !== 'en' ? [loadLocale(target)] : []),\n\t\t\t])\n\t\t\tsetLanguage(target)\n\t\t})()\n\t}, [])\n\n\tconst value: Locale = {\n\t\tlang,\n\t\tlocale,\n\t\tchangeLocale,\n\t}\n\n\treturn <Locale.Provider value={value}>\n\t\t{children}\n\t</Locale.Provider>\n}\n","import type { ComponentChildren } from 'preact'\nimport { createContext } from 'preact'\nimport { route } from 'preact-router'\nimport { useCallback, useContext, useMemo, useState } from 'preact/hooks'\nimport config from '../../config.json'\nimport type { VersionId } from '../services'\nimport { Store } from '../Store'\nimport { cleanUrl } from '../Utils'\n\nexport type Project = {\n\tname: string,\n\tnamespace: string,\n\tversion?: VersionId,\n\tfiles: ProjectFile[],\n}\nexport const DRAFT_PROJECT: Project = {\n\tname: 'Drafts',\n\tnamespace: 'draft',\n\tfiles: [],\n}\n\nexport type ProjectFile = {\n\ttype: string,\n\tid: string,\n\tdata: any,\n}\n\ninterface ProjectContext {\n\tprojects: Project[],\n\tproject: Project,\n\tfile?: ProjectFile,\n\tchangeProject: (name: string) => unknown,\n\tupdateProject: (project: Partial<Project>) => unknown,\n\tupdateFile: (type: string, id: string | undefined, file: Partial<ProjectFile>) => boolean,\n\topenFile: (type: string, id: string) => unknown,\n\tcloseFile: () => unknown,\n}\nconst Project = createContext<ProjectContext>({\n\tprojects: [DRAFT_PROJECT],\n\tproject: DRAFT_PROJECT,\n\tchangeProject: () => {},\n\tupdateProject: () => {},\n\tupdateFile: () => false,\n\topenFile: () => {},\n\tcloseFile: () => {},\n})\n\nexport function useProject() {\n\treturn useContext(Project)\n}\n\nexport function ProjectProvider({ children }: { children: ComponentChildren }) {\n\tconst [projects, setProjects] = useState<Project[]>(Store.getProjects())\n\n\tconst [projectName, setProjectName] = useState<string>(DRAFT_PROJECT.name)\n\tconst project = useMemo(() => {\n\t\treturn projects.find(p => p.name === projectName) ?? DRAFT_PROJECT\n\t}, [projects, projectName])\n\n\tconst [fileId, setFileId] = useState<[string, string] | undefined>(undefined)\n\tconst file = useMemo(() => {\n\t\tif (!fileId) return undefined\n\t\treturn project.files.find(f => f.type === fileId[0] && f.id === fileId[1])\n\t}, [project, fileId])\n\n\tconst changeProjects = useCallback((projects: Project[]) => {\n\t\tStore.setProjects(projects)\n\t\tsetProjects(projects)\n\t}, [])\n\n\tconst updateProject = useCallback((edits: Partial<Project>) => {\n\t\tchangeProjects(projects.map(p => p.name === projectName ?\t{ ...p, ...edits } : p))\n\t}, [projects, projectName])\n\n\tconst updateFile = useCallback((type: string, id: string | undefined, edits: Partial<ProjectFile>) => {\n\t\tif (!edits.id) { // remove\n\t\t\tupdateProject({ files: project.files.filter(f => f.type !== type || f.id !== id) })\n\t\t} else {\n\t\t\tconst newId = edits.id.includes(':') ? edits.id : `${project.namespace}:${edits.id}`\n\t\t\tconst exists = project.files.some(f => f.type === type && f.id === newId)\n\t\t\tif (!id) { // create\n\t\t\t\tif (exists) return false\n\t\t\t\tupdateProject({ files: [...project.files, { type, id: newId, data: edits.data ?? {} } ]})\n\t\t\t\tsetFileId([type, newId])\n\t\t\t} else { // rename or update data\n\t\t\t\tif (file?.id === id && id !== newId && exists) {\n\t\t\t\t\treturn false\n\t\t\t\t}\n\t\t\t\tupdateProject({ files: project.files.map(f => f.type === type && f.id === id ? { ...f, ...edits, id: newId } : f)})\n\t\t\t\tif (file?.id === id) setFileId([type, newId])\n\t\t\t}\n\t\t}\n\t\treturn true\n\t}, [updateProject, project, file])\n\n\tconst openFile = useCallback((type: string, id: string) => {\n\t\tconst gen = config.generators.find(g => g.id === type || g.path === type)\n\t\tif (!gen) {\n\t\t\tthrow new Error(`Cannot find generator of type ${type}`)\n\t\t}\n\t\tsetFileId([gen.id, id])\n\t\troute(cleanUrl(gen.url))\n\t}, [])\n\n\tconst closeFile = useCallback(() => {\n\t\tsetFileId(undefined)\n\t}, [])\n\n\tconst value: ProjectContext = {\n\t\tprojects,\n\t\tproject,\n\t\tfile,\n\t\tchangeProject: setProjectName,\n\t\tupdateProject,\n\t\tupdateFile,\n\t\topenFile,\n\t\tcloseFile,\n\t}\n\n\treturn <Project.Provider value={value}>\n\t\t{children}\n\t</Project.Provider>\n}\n\nexport function getFilePath(file: ProjectFile) {\n\tconst [namespace, id] = file.id.includes(':') ? file.id.split(':') : ['minecraft', file.id]\n\tconst gen = config.generators.find(g => g.id === file.type)\n\tif (!gen) {\n\t\tthrow new Error(`Cannot find generator of type ${file.type}`)\n\t}\n\treturn `data/${namespace}/${gen.path ?? gen.id}/${id}`\n}\n","import type { ComponentChildren } from 'preact'\nimport { createContext } from 'preact'\nimport { useCallback, useContext, useEffect, useState } from 'preact/hooks'\nimport { Analytics } from '../Analytics'\nimport { useMediaQuery } from '../hooks'\nimport { Store } from '../Store'\n\ninterface Theme {\n\ttheme: string,\n\tactualTheme: 'light' | 'dark',\n\tchangeTheme: (theme: string) => unknown,\n}\nconst Theme = createContext<Theme>({\n\ttheme: 'dark',\n\tactualTheme: 'dark',\n\tchangeTheme: () => {},\n})\n\nexport function useTheme() {\n\treturn useContext(Theme)\n}\n\nexport function ThemeProvider({ children }: { children: ComponentChildren }) {\n\tconst [theme, setTheme] = useState(Store.getTheme())\n\tconst prefersLight = useMediaQuery('(prefers-color-scheme: light)')\n\tconst prefersDark = useMediaQuery('(prefers-color-scheme: dark)')\n\n\tuseEffect(() => {\n\t\tdocument.documentElement.setAttribute('data-theme', theme)\n\t}, [theme])\n\n\tconst changeTheme = useCallback((theme: string) => {\n\t\tAnalytics.setTheme(theme)\n\t\tStore.setTheme(theme)\n\t\tsetTheme(theme)\n\t}, [])\n\n\tuseEffect(() => {\n\t\tAnalytics.setPrefersColorScheme(prefersLight ? 'light' : prefersDark ? 'dark' : 'none')\n\t}, [prefersLight, prefersDark])\n\n\tuseEffect(() => {\n\t\tAnalytics.setTheme(theme)\n\t}, [])\n\n\tconst value: Theme = {\n\t\ttheme,\n\t\tactualTheme: theme === 'light' || (theme !== 'dark' && prefersLight) ? 'light' : 'dark',\n\t\tchangeTheme,\n\t}\n\n\treturn <Theme.Provider value={value}>\n\t\t{children}\n\t</Theme.Provider>\n}\n","import type { ComponentChildren } from 'preact'\nimport { createContext } from 'preact'\nimport { useCallback, useContext, useEffect, useState } from 'preact/hooks'\nimport { useLocale } from '.'\nimport config from '../../config.json'\nimport type { VersionId } from '../services'\n\nconst VERSIONS_IN_TITLE = 3\n\ninterface Title {\n\ttitle: string,\n\tchangeTitle: (title: string, versions?: VersionId[]) => unknown,\n}\nconst Title = createContext<Title>({\n\ttitle: '',\n\tchangeTitle: () => {},\n})\n\nexport function useTitle(title?: string, versions?: VersionId[]) {\n\tconst context = useContext(Title)\n\tuseEffect(() => {\n\t\tif (title) {\n\t\t\tcontext.changeTitle(title, versions)\n\t\t}\n\t}, [title, versions])\n\treturn context\n}\n\nexport function TitleProvider({ children }: { children: ComponentChildren }) {\n\tconst { locale } = useLocale()\n\tconst [title, setTitle] = useState<string>(locale('title.home'))\n\n\tconst changeTitle = useCallback((title: string, versions?: VersionId[]) => {\n\t\tversions ??= config.versions.map(v => v.id as VersionId)\n\t\tconst titleVersions = versions.slice(-VERSIONS_IN_TITLE)\n\t\tdocument.title = `${title} Minecraft ${titleVersions.join(', ')}`\n\t\tsetTitle(title)\n\t}, [])\n\n\tconst value = {\n\t\ttitle,\n\t\tchangeTitle,\n\t}\n\n\treturn <Title.Provider value={value}>\n\t\t{children}\n\t</Title.Provider>\n}\n","import type { ComponentChildren } from 'preact'\nimport { createContext } from 'preact'\nimport { useCallback, useContext, useEffect, useState } from 'preact/hooks'\nimport { Analytics } from '../Analytics'\nimport { useSearchParam } from '../hooks'\nimport type { VersionId } from '../services'\nimport { VersionIds } from '../services'\nimport { Store } from '../Store'\n\nconst VERSION_PARAM = 'version'\n\ninterface Version {\n\tversion: VersionId,\n\tchangeVersion: (version: VersionId, store?: boolean, updateSearch?: boolean) => unknown,\n\tchangeTargetVersion: (version: VersionId, replace?: boolean) => unknown,\n}\nconst Version = createContext<Version>({\n\tversion: '1.18.2',\n\tchangeVersion: () => {},\n\tchangeTargetVersion: () => {},\n})\n\nexport function useVersion() {\n\treturn useContext(Version)\n}\n\nexport function VersionProvider({ children }: { children: ComponentChildren }) {\n\tconst [version, setVersion] = useState<VersionId>(Store.getVersion())\n\n\tconst [targetVersion, changeTargetVersion] = useSearchParam(VERSION_PARAM)\n\n\tuseEffect(() => {\n\t\tif (VersionIds.includes(targetVersion as VersionId) && version !== targetVersion) {\n\t\t\tAnalytics.setVersion(targetVersion as VersionId)\n\t\t\tsetVersion(targetVersion as VersionId)\n\t\t}\n\t}, [version, targetVersion])\n\n\tconst changeVersion = useCallback((newVersion: VersionId, store = true, updateSearch = false) => {\n\t\tif (updateSearch || targetVersion) {\n\t\t\tchangeTargetVersion(newVersion, true)\n\t\t}\n\t\tif (store) {\n\t\t\tAnalytics.setVersion(newVersion)\n\t\t\tStore.setVersion(newVersion)\n\t\t}\n\t\tsetVersion(newVersion)\n\t}, [targetVersion])\n\n\tuseEffect(() => {\n\t\tAnalytics.setVersion(version)\n\t}, [])\n\n\tconst value: Version = {\n\t\tversion,\n\t\tchangeVersion,\n\t\tchangeTargetVersion,\n\t}\n\n\treturn <Version.Provider value={value}>\n\t\t{children}\n\t</Version.Provider>\n}\n","\nlet wasm;\n\nlet cachedTextDecoder = new TextDecoder('utf-8', { ignoreBOM: true, fatal: true });\n\ncachedTextDecoder.decode();\n\nlet cachegetUint8Memory0 = null;\nfunction getUint8Memory0() {\n if (cachegetUint8Memory0 === null || cachegetUint8Memory0.buffer !== wasm.memory.buffer) {\n cachegetUint8Memory0 = new Uint8Array(wasm.memory.buffer);\n }\n return cachegetUint8Memory0;\n}\n\nfunction getStringFromWasm0(ptr, len) {\n return cachedTextDecoder.decode(getUint8Memory0().subarray(ptr, ptr + len));\n}\n\nconst u32CvtShim = new Uint32Array(2);\n\nconst int64CvtShim = new BigInt64Array(u32CvtShim.buffer);\n\nlet cachegetInt32Memory0 = null;\nfunction getInt32Memory0() {\n if (cachegetInt32Memory0 === null || cachegetInt32Memory0.buffer !== wasm.memory.buffer) {\n cachegetInt32Memory0 = new Int32Array(wasm.memory.buffer);\n }\n return cachegetInt32Memory0;\n}\n\nlet cachegetFloat64Memory0 = null;\nfunction getFloat64Memory0() {\n if (cachegetFloat64Memory0 === null || cachegetFloat64Memory0.buffer !== wasm.memory.buffer) {\n cachegetFloat64Memory0 = new Float64Array(wasm.memory.buffer);\n }\n return cachegetFloat64Memory0;\n}\n\nfunction getArrayF64FromWasm0(ptr, len) {\n return getFloat64Memory0().subarray(ptr / 8, ptr / 8 + len);\n}\n/**\n* @param {BigInt} seed\n* @param {number} x_from\n* @param {number} x_to\n* @param {number} x_step\n* @param {number} y_from\n* @param {number} y_to\n* @param {number} y_step\n* @param {number} z_from\n* @param {number} z_to\n* @param {number} z_step\n* @returns {Float64Array}\n*/\nexport function improved_noise(seed, x_from, x_to, x_step, y_from, y_to, y_step, z_from, z_to, z_step) {\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n int64CvtShim[0] = seed;\n const low0 = u32CvtShim[0];\n const high0 = u32CvtShim[1];\n wasm.improved_noise(retptr, low0, high0, x_from, x_to, x_step, y_from, y_to, y_step, z_from, z_to, z_step);\n var r0 = getInt32Memory0()[retptr / 4 + 0];\n var r1 = getInt32Memory0()[retptr / 4 + 1];\n var v1 = getArrayF64FromWasm0(r0, r1).slice();\n wasm.__wbindgen_free(r0, r1 * 8);\n return v1;\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n }\n}\n\nlet WASM_VECTOR_LEN = 0;\n\nfunction passArrayF64ToWasm0(arg, malloc) {\n const ptr = malloc(arg.length * 8);\n getFloat64Memory0().set(arg, ptr / 8);\n WASM_VECTOR_LEN = arg.length;\n return ptr;\n}\n/**\n* @param {BigInt} seed\n* @param {number} first_octave\n* @param {Float64Array} amplitudes\n* @param {number} x_from\n* @param {number} x_to\n* @param {number} x_step\n* @param {number} y_from\n* @param {number} y_to\n* @param {number} y_step\n* @param {number} z_from\n* @param {number} z_to\n* @param {number} z_step\n* @returns {Float64Array}\n*/\nexport function perlin_noise(seed, first_octave, amplitudes, x_from, x_to, x_step, y_from, y_to, y_step, z_from, z_to, z_step) {\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n int64CvtShim[0] = seed;\n const low0 = u32CvtShim[0];\n const high0 = u32CvtShim[1];\n var ptr1 = passArrayF64ToWasm0(amplitudes, wasm.__wbindgen_malloc);\n var len1 = WASM_VECTOR_LEN;\n wasm.perlin_noise(retptr, low0, high0, first_octave, ptr1, len1, x_from, x_to, x_step, y_from, y_to, y_step, z_from, z_to, z_step);\n var r0 = getInt32Memory0()[retptr / 4 + 0];\n var r1 = getInt32Memory0()[retptr / 4 + 1];\n var v2 = getArrayF64FromWasm0(r0, r1).slice();\n wasm.__wbindgen_free(r0, r1 * 8);\n return v2;\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n }\n}\n\n/**\n* @param {BigInt} seed\n* @param {number} first_octave\n* @param {Float64Array} amplitudes\n* @param {number} x_from\n* @param {number} x_to\n* @param {number} x_step\n* @param {number} y_from\n* @param {number} y_to\n* @param {number} y_step\n* @param {number} z_from\n* @param {number} z_to\n* @param {number} z_step\n* @returns {Float64Array}\n*/\nexport function normal_noise(seed, first_octave, amplitudes, x_from, x_to, x_step, y_from, y_to, y_step, z_from, z_to, z_step) {\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n int64CvtShim[0] = seed;\n const low0 = u32CvtShim[0];\n const high0 = u32CvtShim[1];\n var ptr1 = passArrayF64ToWasm0(amplitudes, wasm.__wbindgen_malloc);\n var len1 = WASM_VECTOR_LEN;\n wasm.normal_noise(retptr, low0, high0, first_octave, ptr1, len1, x_from, x_to, x_step, y_from, y_to, y_step, z_from, z_to, z_step);\n var r0 = getInt32Memory0()[retptr / 4 + 0];\n var r1 = getInt32Memory0()[retptr / 4 + 1];\n var v2 = getArrayF64FromWasm0(r0, r1).slice();\n wasm.__wbindgen_free(r0, r1 * 8);\n return v2;\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n }\n}\n\nlet cachegetUint32Memory0 = null;\nfunction getUint32Memory0() {\n if (cachegetUint32Memory0 === null || cachegetUint32Memory0.buffer !== wasm.memory.buffer) {\n cachegetUint32Memory0 = new Uint32Array(wasm.memory.buffer);\n }\n return cachegetUint32Memory0;\n}\n\nfunction passArray32ToWasm0(arg, malloc) {\n const ptr = malloc(arg.length * 4);\n getUint32Memory0().set(arg, ptr / 4);\n WASM_VECTOR_LEN = arg.length;\n return ptr;\n}\n/**\n* @param {Float64Array} t_min\n* @param {Float64Array} t_max\n* @param {Float64Array} h_min\n* @param {Float64Array} h_max\n* @param {Float64Array} c_min\n* @param {Float64Array} c_max\n* @param {Float64Array} e_min\n* @param {Float64Array} e_max\n* @param {Float64Array} w_min\n* @param {Float64Array} w_max\n* @param {Float64Array} d_min\n* @param {Float64Array} d_max\n* @param {Float64Array} offset\n* @param {Int32Array} biome\n* @returns {ParameterList}\n*/\nexport function biome_parameters(t_min, t_max, h_min, h_max, c_min, c_max, e_min, e_max, w_min, w_max, d_min, d_max, offset, biome) {\n var ptr0 = passArrayF64ToWasm0(t_min, wasm.__wbindgen_malloc);\n var len0 = WASM_VECTOR_LEN;\n var ptr1 = passArrayF64ToWasm0(t_max, wasm.__wbindgen_malloc);\n var len1 = WASM_VECTOR_LEN;\n var ptr2 = passArrayF64ToWasm0(h_min, wasm.__wbindgen_malloc);\n var len2 = WASM_VECTOR_LEN;\n var ptr3 = passArrayF64ToWasm0(h_max, wasm.__wbindgen_malloc);\n var len3 = WASM_VECTOR_LEN;\n var ptr4 = passArrayF64ToWasm0(c_min, wasm.__wbindgen_malloc);\n var len4 = WASM_VECTOR_LEN;\n var ptr5 = passArrayF64ToWasm0(c_max, wasm.__wbindgen_malloc);\n var len5 = WASM_VECTOR_LEN;\n var ptr6 = passArrayF64ToWasm0(e_min, wasm.__wbindgen_malloc);\n var len6 = WASM_VECTOR_LEN;\n var ptr7 = passArrayF64ToWasm0(e_max, wasm.__wbindgen_malloc);\n var len7 = WASM_VECTOR_LEN;\n var ptr8 = passArrayF64ToWasm0(w_min, wasm.__wbindgen_malloc);\n var len8 = WASM_VECTOR_LEN;\n var ptr9 = passArrayF64ToWasm0(w_max, wasm.__wbindgen_malloc);\n var len9 = WASM_VECTOR_LEN;\n var ptr10 = passArrayF64ToWasm0(d_min, wasm.__wbindgen_malloc);\n var len10 = WASM_VECTOR_LEN;\n var ptr11 = passArrayF64ToWasm0(d_max, wasm.__wbindgen_malloc);\n var len11 = WASM_VECTOR_LEN;\n var ptr12 = passArrayF64ToWasm0(offset, wasm.__wbindgen_malloc);\n var len12 = WASM_VECTOR_LEN;\n var ptr13 = passArray32ToWasm0(biome, wasm.__wbindgen_malloc);\n var len13 = WASM_VECTOR_LEN;\n var ret = wasm.biome_parameters(ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3, ptr4, len4, ptr5, len5, ptr6, len6, ptr7, len7, ptr8, len8, ptr9, len9, ptr10, len10, ptr11, len11, ptr12, len12, ptr13, len13);\n return ParameterList.__wrap(ret);\n}\n\n/**\n* @param {number} first_octave\n* @param {Float64Array} amplitudes\n* @returns {NoiseParameters}\n*/\nexport function noise_parameters(first_octave, amplitudes) {\n var ptr0 = passArrayF64ToWasm0(amplitudes, wasm.__wbindgen_malloc);\n var len0 = WASM_VECTOR_LEN;\n var ret = wasm.noise_parameters(first_octave, ptr0, len0);\n return NoiseParameters.__wrap(ret);\n}\n\n/**\n* @param {BigInt} seed\n* @param {number} t_first\n* @param {Float64Array} t_amplitudes\n* @param {number} h_first\n* @param {Float64Array} h_amplitudes\n* @param {number} c_first\n* @param {Float64Array} c_amplitudes\n* @param {number} e_first\n* @param {Float64Array} e_amplitudes\n* @param {number} w_first\n* @param {Float64Array} w_amplitudes\n* @param {number} s_first\n* @param {Float64Array} s_amplitudes\n* @returns {Sampler}\n*/\nexport function climate_sampler(seed, t_first, t_amplitudes, h_first, h_amplitudes, c_first, c_amplitudes, e_first, e_amplitudes, w_first, w_amplitudes, s_first, s_amplitudes) {\n int64CvtShim[0] = seed;\n const low0 = u32CvtShim[0];\n const high0 = u32CvtShim[1];\n var ptr1 = passArrayF64ToWasm0(t_amplitudes, wasm.__wbindgen_malloc);\n var len1 = WASM_VECTOR_LEN;\n var ptr2 = passArrayF64ToWasm0(h_amplitudes, wasm.__wbindgen_malloc);\n var len2 = WASM_VECTOR_LEN;\n var ptr3 = passArrayF64ToWasm0(c_amplitudes, wasm.__wbindgen_malloc);\n var len3 = WASM_VECTOR_LEN;\n var ptr4 = passArrayF64ToWasm0(e_amplitudes, wasm.__wbindgen_malloc);\n var len4 = WASM_VECTOR_LEN;\n var ptr5 = passArrayF64ToWasm0(w_amplitudes, wasm.__wbindgen_malloc);\n var len5 = WASM_VECTOR_LEN;\n var ptr6 = passArrayF64ToWasm0(s_amplitudes, wasm.__wbindgen_malloc);\n var len6 = WASM_VECTOR_LEN;\n var ret = wasm.climate_sampler(low0, high0, t_first, ptr1, len1, h_first, ptr2, len2, c_first, ptr3, len3, e_first, ptr4, len4, w_first, ptr5, len5, s_first, ptr6, len6);\n return Sampler.__wrap(ret);\n}\n\nfunction _assertClass(instance, klass) {\n if (!(instance instanceof klass)) {\n throw new Error(`expected instance of ${klass.name}`);\n }\n return instance.ptr;\n}\n/**\n* @param {ParameterList} parameters\n* @param {Float64Array} target\n* @returns {number}\n*/\nexport function find_biome(parameters, target) {\n _assertClass(parameters, ParameterList);\n var ptr0 = passArrayF64ToWasm0(target, wasm.__wbindgen_malloc);\n var len0 = WASM_VECTOR_LEN;\n var ret = wasm.find_biome(parameters.ptr, ptr0, len0);\n return ret;\n}\n\nfunction getArrayI32FromWasm0(ptr, len) {\n return getInt32Memory0().subarray(ptr / 4, ptr / 4 + len);\n}\n/**\n* @param {ParameterList} parameters\n* @param {Sampler} sampler\n* @param {number} x_from\n* @param {number} x_to\n* @param {number} x_step\n* @param {number} y_from\n* @param {number} y_to\n* @param {number} y_step\n* @param {number} z_from\n* @param {number} z_to\n* @param {number} z_step\n* @returns {Int32Array}\n*/\nexport function multi_noise(parameters, sampler, x_from, x_to, x_step, y_from, y_to, y_step, z_from, z_to, z_step) {\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n _assertClass(parameters, ParameterList);\n _assertClass(sampler, Sampler);\n wasm.multi_noise(retptr, parameters.ptr, sampler.ptr, x_from, x_to, x_step, y_from, y_to, y_step, z_from, z_to, z_step);\n var r0 = getInt32Memory0()[retptr / 4 + 0];\n var r1 = getInt32Memory0()[retptr / 4 + 1];\n var v0 = getArrayI32FromWasm0(r0, r1).slice();\n wasm.__wbindgen_free(r0, r1 * 4);\n return v0;\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n }\n}\n\n/**\n* @param {Sampler} sampler\n* @param {number} x_from\n* @param {number} x_to\n* @param {number} x_step\n* @param {number} y_from\n* @param {number} y_to\n* @param {number} y_step\n* @param {number} z_from\n* @param {number} z_to\n* @param {number} z_step\n* @returns {Float64Array}\n*/\nexport function climate_noise(sampler, x_from, x_to, x_step, y_from, y_to, y_step, z_from, z_to, z_step) {\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n _assertClass(sampler, Sampler);\n wasm.climate_noise(retptr, sampler.ptr, x_from, x_to, x_step, y_from, y_to, y_step, z_from, z_to, z_step);\n var r0 = getInt32Memory0()[retptr / 4 + 0];\n var r1 = getInt32Memory0()[retptr / 4 + 1];\n var v0 = getArrayF64FromWasm0(r0, r1).slice();\n wasm.__wbindgen_free(r0, r1 * 8);\n return v0;\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n }\n}\n\n/**\n* @param {number} x\n* @returns {Test}\n*/\nexport function create_test(x) {\n var ret = wasm.create_test(x);\n return Test.__wrap(ret);\n}\n\n/**\n* @param {Test} test\n* @returns {number}\n*/\nexport function calc_test(test) {\n _assertClass(test, Test);\n var ret = wasm.calc_test(test.ptr);\n return ret;\n}\n\n/**\n*/\nexport class ImprovedNoise {\n\n __destroy_into_raw() {\n const ptr = this.ptr;\n this.ptr = 0;\n\n return ptr;\n }\n\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_improvednoise_free(ptr);\n }\n}\n/**\n*/\nexport class NoiseOctaves {\n\n __destroy_into_raw() {\n const ptr = this.ptr;\n this.ptr = 0;\n\n return ptr;\n }\n\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_noiseoctaves_free(ptr);\n }\n}\n/**\n*/\nexport class NoiseParameters {\n\n static __wrap(ptr) {\n const obj = Object.create(NoiseParameters.prototype);\n obj.ptr = ptr;\n\n return obj;\n }\n\n __destroy_into_raw() {\n const ptr = this.ptr;\n this.ptr = 0;\n\n return ptr;\n }\n\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_noiseparameters_free(ptr);\n }\n}\n/**\n*/\nexport class NormalNoise {\n\n __destroy_into_raw() {\n const ptr = this.ptr;\n this.ptr = 0;\n\n return ptr;\n }\n\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_normalnoise_free(ptr);\n }\n}\n/**\n*/\nexport class ParameterList {\n\n static __wrap(ptr) {\n const obj = Object.create(ParameterList.prototype);\n obj.ptr = ptr;\n\n return obj;\n }\n\n __destroy_into_raw() {\n const ptr = this.ptr;\n this.ptr = 0;\n\n return ptr;\n }\n\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_parameterlist_free(ptr);\n }\n}\n/**\n*/\nexport class PerlinNoise {\n\n __destroy_into_raw() {\n const ptr = this.ptr;\n this.ptr = 0;\n\n return ptr;\n }\n\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_perlinnoise_free(ptr);\n }\n}\n/**\n*/\nexport class Sampler {\n\n static __wrap(ptr) {\n const obj = Object.create(Sampler.prototype);\n obj.ptr = ptr;\n\n return obj;\n }\n\n __destroy_into_raw() {\n const ptr = this.ptr;\n this.ptr = 0;\n\n return ptr;\n }\n\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_sampler_free(ptr);\n }\n}\n/**\n*/\nexport class Test {\n\n static __wrap(ptr) {\n const obj = Object.create(Test.prototype);\n obj.ptr = ptr;\n\n return obj;\n }\n\n __destroy_into_raw() {\n const ptr = this.ptr;\n this.ptr = 0;\n\n return ptr;\n }\n\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_test_free(ptr);\n }\n}\n\nasync function load(module, imports) {\n if (typeof Response === 'function' && module instanceof Response) {\n if (typeof WebAssembly.instantiateStreaming === 'function') {\n try {\n return await WebAssembly.instantiateStreaming(module, imports);\n\n } catch (e) {\n if (module.headers.get('Content-Type') != 'application/wasm') {\n console.warn(\"`WebAssembly.instantiateStreaming` failed because your server does not serve wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\\n\", e);\n\n } else {\n throw e;\n }\n }\n }\n\n const bytes = await module.arrayBuffer();\n return await WebAssembly.instantiate(bytes, imports);\n\n } else {\n const instance = await WebAssembly.instantiate(module, imports);\n\n if (instance instanceof WebAssembly.Instance) {\n return { instance, module };\n\n } else {\n return instance;\n }\n }\n}\n\nasync function init(input) {\n if (typeof input === 'undefined') {\n input = new URL('deepslate_rs_bg.wasm', import.meta.url);\n }\n const imports = {};\n imports.wbg = {};\n imports.wbg.__wbindgen_throw = function(arg0, arg1) {\n throw new Error(getStringFromWasm0(arg0, arg1));\n };\n\n if (typeof input === 'string' || (typeof Request === 'function' && input instanceof Request) || (typeof URL === 'function' && input instanceof URL)) {\n input = fetch(input);\n }\n\n\n\n const { instance, module } = await load(await input, imports);\n\n wasm = instance.exports;\n init.__wbindgen_wasm_module = module;\n\n return wasm;\n}\n\nexport default init;\n\n","export default \"__VITE_ASSET__4990c219__\"","(function() {\n var base64map\n = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',\n\n crypt = {\n // Bit-wise rotation left\n rotl: function(n, b) {\n return (n << b) | (n >>> (32 - b));\n },\n\n // Bit-wise rotation right\n rotr: function(n, b) {\n return (n << (32 - b)) | (n >>> b);\n },\n\n // Swap big-endian to little-endian and vice versa\n endian: function(n) {\n // If number given, swap endian\n if (n.constructor == Number) {\n return crypt.rotl(n, 8) & 0x00FF00FF | crypt.rotl(n, 24) & 0xFF00FF00;\n }\n\n // Else, assume array and swap all items\n for (var i = 0; i < n.length; i++)\n n[i] = crypt.endian(n[i]);\n return n;\n },\n\n // Generate an array of any length of random bytes\n randomBytes: function(n) {\n for (var bytes = []; n > 0; n--)\n bytes.push(Math.floor(Math.random() * 256));\n return bytes;\n },\n\n // Convert a byte array to big-endian 32-bit words\n bytesToWords: function(bytes) {\n for (var words = [], i = 0, b = 0; i < bytes.length; i++, b += 8)\n words[b >>> 5] |= bytes[i] << (24 - b % 32);\n return words;\n },\n\n // Convert big-endian 32-bit words to a byte array\n wordsToBytes: function(words) {\n for (var bytes = [], b = 0; b < words.length * 32; b += 8)\n bytes.push((words[b >>> 5] >>> (24 - b % 32)) & 0xFF);\n return bytes;\n },\n\n // Convert a byte array to a hex string\n bytesToHex: function(bytes) {\n for (var hex = [], i = 0; i < bytes.length; i++) {\n hex.push((bytes[i] >>> 4).toString(16));\n hex.push((bytes[i] & 0xF).toString(16));\n }\n return hex.join('');\n },\n\n // Convert a hex string to a byte array\n hexToBytes: function(hex) {\n for (var bytes = [], c = 0; c < hex.length; c += 2)\n bytes.push(parseInt(hex.substr(c, 2), 16));\n return bytes;\n },\n\n // Convert a byte array to a base-64 string\n bytesToBase64: function(bytes) {\n for (var base64 = [], i = 0; i < bytes.length; i += 3) {\n var triplet = (bytes[i] << 16) | (bytes[i + 1] << 8) | bytes[i + 2];\n for (var j = 0; j < 4; j++)\n if (i * 8 + j * 6 <= bytes.length * 8)\n base64.push(base64map.charAt((triplet >>> 6 * (3 - j)) & 0x3F));\n else\n base64.push('=');\n }\n return base64.join('');\n },\n\n // Convert a base-64 string to a byte array\n base64ToBytes: function(base64) {\n // Remove non-base-64 characters\n base64 = base64.replace(/[^A-Z0-9+\\/]/ig, '');\n\n for (var bytes = [], i = 0, imod4 = 0; i < base64.length;\n imod4 = ++i % 4) {\n if (imod4 == 0) continue;\n bytes.push(((base64map.indexOf(base64.charAt(i - 1))\n & (Math.pow(2, -2 * imod4 + 8) - 1)) << (imod4 * 2))\n | (base64map.indexOf(base64.charAt(i)) >>> (6 - imod4 * 2)));\n }\n return bytes;\n }\n };\n\n module.exports = crypt;\n})();\n","var charenc = {\n // UTF-8 encoding\n utf8: {\n // Convert a string to a byte array\n stringToBytes: function(str) {\n return charenc.bin.stringToBytes(unescape(encodeURIComponent(str)));\n },\n\n // Convert a byte array to a string\n bytesToString: function(bytes) {\n return decodeURIComponent(escape(charenc.bin.bytesToString(bytes)));\n }\n },\n\n // Binary encoding\n bin: {\n // Convert a string to a byte array\n stringToBytes: function(str) {\n for (var bytes = [], i = 0; i < str.length; i++)\n bytes.push(str.charCodeAt(i) & 0xFF);\n return bytes;\n },\n\n // Convert a byte array to a string\n bytesToString: function(bytes) {\n for (var str = [], i = 0; i < bytes.length; i++)\n str.push(String.fromCharCode(bytes[i]));\n return str.join('');\n }\n }\n};\n\nmodule.exports = charenc;\n","/*!\n * Determine if an object is a Buffer\n *\n * @author Feross Aboukhadijeh <https://feross.org>\n * @license MIT\n */\n\n// The _isBuffer check is for Safari 5-7 support, because it's missing\n// Object.prototype.constructor. Remove this eventually\nmodule.exports = function (obj) {\n return obj != null && (isBuffer(obj) || isSlowBuffer(obj) || !!obj._isBuffer)\n}\n\nfunction isBuffer (obj) {\n return !!obj.constructor && typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj)\n}\n\n// For Node v0.10 support. Remove this eventually.\nfunction isSlowBuffer (obj) {\n return typeof obj.readFloatLE === 'function' && typeof obj.slice === 'function' && isBuffer(obj.slice(0, 0))\n}\n","(function(){\r\n var crypt = require('crypt'),\r\n utf8 = require('charenc').utf8,\r\n isBuffer = require('is-buffer'),\r\n bin = require('charenc').bin,\r\n\r\n // The core\r\n md5 = function (message, options) {\r\n // Convert to byte array\r\n if (message.constructor == String)\r\n if (options && options.encoding === 'binary')\r\n message = bin.stringToBytes(message);\r\n else\r\n message = utf8.stringToBytes(message);\r\n else if (isBuffer(message))\r\n message = Array.prototype.slice.call(message, 0);\r\n else if (!Array.isArray(message) && message.constructor !== Uint8Array)\r\n message = message.toString();\r\n // else, assume byte array already\r\n\r\n var m = crypt.bytesToWords(message),\r\n l = message.length * 8,\r\n a = 1732584193,\r\n b = -271733879,\r\n c = -1732584194,\r\n d = 271733878;\r\n\r\n // Swap endian\r\n for (var i = 0; i < m.length; i++) {\r\n m[i] = ((m[i] << 8) | (m[i] >>> 24)) & 0x00FF00FF |\r\n ((m[i] << 24) | (m[i] >>> 8)) & 0xFF00FF00;\r\n }\r\n\r\n // Padding\r\n m[l >>> 5] |= 0x80 << (l % 32);\r\n m[(((l + 64) >>> 9) << 4) + 14] = l;\r\n\r\n // Method shortcuts\r\n var FF = md5._ff,\r\n GG = md5._gg,\r\n HH = md5._hh,\r\n II = md5._ii;\r\n\r\n for (var i = 0; i < m.length; i += 16) {\r\n\r\n var aa = a,\r\n bb = b,\r\n cc = c,\r\n dd = d;\r\n\r\n a = FF(a, b, c, d, m[i+ 0], 7, -680876936);\r\n d = FF(d, a, b, c, m[i+ 1], 12, -389564586);\r\n c = FF(c, d, a, b, m[i+ 2], 17, 606105819);\r\n b = FF(b, c, d, a, m[i+ 3], 22, -1044525330);\r\n a = FF(a, b, c, d, m[i+ 4], 7, -176418897);\r\n d = FF(d, a, b, c, m[i+ 5], 12, 1200080426);\r\n c = FF(c, d, a, b, m[i+ 6], 17, -1473231341);\r\n b = FF(b, c, d, a, m[i+ 7], 22, -45705983);\r\n a = FF(a, b, c, d, m[i+ 8], 7, 1770035416);\r\n d = FF(d, a, b, c, m[i+ 9], 12, -1958414417);\r\n c = FF(c, d, a, b, m[i+10], 17, -42063);\r\n b = FF(b, c, d, a, m[i+11], 22, -1990404162);\r\n a = FF(a, b, c, d, m[i+12], 7, 1804603682);\r\n d = FF(d, a, b, c, m[i+13], 12, -40341101);\r\n c = FF(c, d, a, b, m[i+14], 17, -1502002290);\r\n b = FF(b, c, d, a, m[i+15], 22, 1236535329);\r\n\r\n a = GG(a, b, c, d, m[i+ 1], 5, -165796510);\r\n d = GG(d, a, b, c, m[i+ 6], 9, -1069501632);\r\n c = GG(c, d, a, b, m[i+11], 14, 643717713);\r\n b = GG(b, c, d, a, m[i+ 0], 20, -373897302);\r\n a = GG(a, b, c, d, m[i+ 5], 5, -701558691);\r\n d = GG(d, a, b, c, m[i+10], 9, 38016083);\r\n c = GG(c, d, a, b, m[i+15], 14, -660478335);\r\n b = GG(b, c, d, a, m[i+ 4], 20, -405537848);\r\n a = GG(a, b, c, d, m[i+ 9], 5, 568446438);\r\n d = GG(d, a, b, c, m[i+14], 9, -1019803690);\r\n c = GG(c, d, a, b, m[i+ 3], 14, -187363961);\r\n b = GG(b, c, d, a, m[i+ 8], 20, 1163531501);\r\n a = GG(a, b, c, d, m[i+13], 5, -1444681467);\r\n d = GG(d, a, b, c, m[i+ 2], 9, -51403784);\r\n c = GG(c, d, a, b, m[i+ 7], 14, 1735328473);\r\n b = GG(b, c, d, a, m[i+12], 20, -1926607734);\r\n\r\n a = HH(a, b, c, d, m[i+ 5], 4, -378558);\r\n d = HH(d, a, b, c, m[i+ 8], 11, -2022574463);\r\n c = HH(c, d, a, b, m[i+11], 16, 1839030562);\r\n b = HH(b, c, d, a, m[i+14], 23, -35309556);\r\n a = HH(a, b, c, d, m[i+ 1], 4, -1530992060);\r\n d = HH(d, a, b, c, m[i+ 4], 11, 1272893353);\r\n c = HH(c, d, a, b, m[i+ 7], 16, -155497632);\r\n b = HH(b, c, d, a, m[i+10], 23, -1094730640);\r\n a = HH(a, b, c, d, m[i+13], 4, 681279174);\r\n d = HH(d, a, b, c, m[i+ 0], 11, -358537222);\r\n c = HH(c, d, a, b, m[i+ 3], 16, -722521979);\r\n b = HH(b, c, d, a, m[i+ 6], 23, 76029189);\r\n a = HH(a, b, c, d, m[i+ 9], 4, -640364487);\r\n d = HH(d, a, b, c, m[i+12], 11, -421815835);\r\n c = HH(c, d, a, b, m[i+15], 16, 530742520);\r\n b = HH(b, c, d, a, m[i+ 2], 23, -995338651);\r\n\r\n a = II(a, b, c, d, m[i+ 0], 6, -198630844);\r\n d = II(d, a, b, c, m[i+ 7], 10, 1126891415);\r\n c = II(c, d, a, b, m[i+14], 15, -1416354905);\r\n b = II(b, c, d, a, m[i+ 5], 21, -57434055);\r\n a = II(a, b, c, d, m[i+12], 6, 1700485571);\r\n d = II(d, a, b, c, m[i+ 3], 10, -1894986606);\r\n c = II(c, d, a, b, m[i+10], 15, -1051523);\r\n b = II(b, c, d, a, m[i+ 1], 21, -2054922799);\r\n a = II(a, b, c, d, m[i+ 8], 6, 1873313359);\r\n d = II(d, a, b, c, m[i+15], 10, -30611744);\r\n c = II(c, d, a, b, m[i+ 6], 15, -1560198380);\r\n b = II(b, c, d, a, m[i+13], 21, 1309151649);\r\n a = II(a, b, c, d, m[i+ 4], 6, -145523070);\r\n d = II(d, a, b, c, m[i+11], 10, -1120210379);\r\n c = II(c, d, a, b, m[i+ 2], 15, 718787259);\r\n b = II(b, c, d, a, m[i+ 9], 21, -343485551);\r\n\r\n a = (a + aa) >>> 0;\r\n b = (b + bb) >>> 0;\r\n c = (c + cc) >>> 0;\r\n d = (d + dd) >>> 0;\r\n }\r\n\r\n return crypt.endian([a, b, c, d]);\r\n };\r\n\r\n // Auxiliary functions\r\n md5._ff = function (a, b, c, d, x, s, t) {\r\n var n = a + (b & c | ~b & d) + (x >>> 0) + t;\r\n return ((n << s) | (n >>> (32 - s))) + b;\r\n };\r\n md5._gg = function (a, b, c, d, x, s, t) {\r\n var n = a + (b & d | c & ~d) + (x >>> 0) + t;\r\n return ((n << s) | (n >>> (32 - s))) + b;\r\n };\r\n md5._hh = function (a, b, c, d, x, s, t) {\r\n var n = a + (b ^ c ^ d) + (x >>> 0) + t;\r\n return ((n << s) | (n >>> (32 - s))) + b;\r\n };\r\n md5._ii = function (a, b, c, d, x, s, t) {\r\n var n = a + (c ^ (b | ~d)) + (x >>> 0) + t;\r\n return ((n << s) | (n >>> (32 - s))) + b;\r\n };\r\n\r\n // Package private blocksize\r\n md5._blocksize = 16;\r\n md5._digestsize = 16;\r\n\r\n module.exports = function (message, options) {\r\n if (message === undefined || message === null)\r\n throw new Error('Illegal argument ' + message);\r\n\r\n var digestbytes = crypt.wordsToBytes(md5(message, options));\r\n return options && options.asBytes ? digestbytes :\r\n options && options.asString ? bin.bytesToString(digestbytes) :\r\n crypt.bytesToHex(digestbytes);\r\n };\r\n\r\n})();\r\n","import md5 from 'md5';\n\nvar Json;\n(function(Json2) {\n function readNumber(obj) {\n return typeof obj === \"number\" ? obj : void 0;\n }\n Json2.readNumber = readNumber;\n function readInt(obj) {\n return typeof obj === \"number\" ? Math.floor(obj) : void 0;\n }\n Json2.readInt = readInt;\n function readString(obj) {\n return typeof obj === \"string\" ? obj : void 0;\n }\n Json2.readString = readString;\n function readBoolean(obj) {\n return typeof obj === \"boolean\" ? obj : void 0;\n }\n Json2.readBoolean = readBoolean;\n function readObject(obj) {\n return typeof obj === \"object\" && obj !== null ? obj : void 0;\n }\n Json2.readObject = readObject;\n function readArray(obj, parser) {\n if (!Array.isArray(obj))\n return void 0;\n return obj.map((el) => parser(el));\n }\n Json2.readArray = readArray;\n function readMap(obj, parser) {\n const root = readObject(obj) ?? {};\n return Object.fromEntries(Object.entries(root).map(([k, v]) => [k, parser(v)]));\n }\n Json2.readMap = readMap;\n function compose(obj, parser, mapper) {\n const result = parser(obj);\n return result ? mapper(result) : void 0;\n }\n Json2.compose = compose;\n function readEnum(obj, values) {\n if (typeof obj !== \"string\")\n return values[0];\n if (values.includes(obj))\n return obj;\n return values[0];\n }\n Json2.readEnum = readEnum;\n})(Json || (Json = {}));\n\nfunction lazy(getter) {\n let value = null;\n return () => {\n if (value == null) {\n value = getter();\n }\n return value;\n };\n}\nfunction computeIfAbsent(map, key, getter) {\n const existing = map.get(key);\n if (existing) {\n return existing;\n }\n const value = getter(key);\n map.set(key, value);\n return value;\n}\n\nfunction square(x) {\n return x * x;\n}\nfunction clamp(x, min, max) {\n return Math.max(min, Math.min(max, x));\n}\nfunction lerp(a, b, c) {\n return b + a * (c - b);\n}\nfunction lerp2(a, b, c, d, e, f) {\n return lerp(b, lerp(a, c, d), lerp(a, e, f));\n}\nfunction lerp3(a, b, c, d, e, f, g, h, i, j, k) {\n return lerp(c, lerp2(a, b, d, e, f, g), lerp2(a, b, h, i, j, k));\n}\nfunction lazyLerp(a, b, c) {\n if (a === 0)\n return b();\n if (a === 1)\n return c();\n return b() + a * (c() - b());\n}\nfunction lazyLerp2(a, b, c, d, e, f) {\n return lazyLerp(b, () => lazyLerp(a, c, d), () => lazyLerp(a, e, f));\n}\nfunction lazyLerp3(a, b, c, d, e, f, g, h, i, j, k) {\n return lazyLerp(c, () => lazyLerp2(a, b, d, e, f, g), () => lazyLerp2(a, b, h, i, j, k));\n}\nfunction clampedLerp(a, b, c) {\n if (c < 0) {\n return a;\n } else if (c > 1) {\n return b;\n } else {\n return lerp(c, a, b);\n }\n}\nfunction inverseLerp(a, b, c) {\n return (a - b) / (c - b);\n}\nfunction smoothstep(x) {\n return x * x * x * (x * (x * 6 - 15) + 10);\n}\nfunction map(a, b, c, d, e) {\n return lerp(inverseLerp(a, b, c), d, e);\n}\nfunction clampedMap(a, b, c, d, e) {\n return clampedLerp(d, e, inverseLerp(a, b, c));\n}\nfunction binarySearch(n, n2, predicate) {\n let n3 = n2 - n;\n while (n3 > 0) {\n const n4 = Math.floor(n3 / 2);\n const n5 = n + n4;\n if (predicate(n5)) {\n n3 = n4;\n continue;\n }\n n = n5 + 1;\n n3 -= n4 + 1;\n }\n return n;\n}\nfunction getSeed(x, y, z) {\n let seed = BigInt(x * 3129871) ^ BigInt(z) * BigInt(116129781) ^ BigInt(y);\n seed = seed * seed * BigInt(42317861) + seed * BigInt(11);\n return seed >> BigInt(16);\n}\nfunction longfromBytes(a, b, c, d, e, f, g, h) {\n return BigInt(a) << BigInt(56) | BigInt(b) << BigInt(48) | BigInt(c) << BigInt(40) | BigInt(d) << BigInt(32) | BigInt(e) << BigInt(24) | BigInt(f) << BigInt(16) | BigInt(g) << BigInt(8) | BigInt(h);\n}\nfunction isPowerOfTwo(x) {\n return (x & x - 1) === 0;\n}\nfunction upperPowerOfTwo(x) {\n x -= 1;\n x |= x >> 1;\n x |= x >> 2;\n x |= x >> 4;\n x |= x >> 8;\n x |= x >> 18;\n x |= x >> 32;\n return x + 1;\n}\n\nvar MinMaxNumberFunction;\n(function(MinMaxNumberFunction2) {\n function is(obj) {\n return typeof obj === \"object\" && obj !== null && \"minValue\" in obj && \"maxValue\" in obj;\n }\n MinMaxNumberFunction2.is = is;\n})(MinMaxNumberFunction || (MinMaxNumberFunction = {}));\nvar CubicSpline;\n(function(CubicSpline2) {\n function fromJson(obj, extractor) {\n if (typeof obj === \"number\") {\n return new Constant(obj);\n }\n const root = Json.readObject(obj) ?? {};\n const spline = new MultiPoint(extractor(root.coordinate));\n const points = Json.readArray(root.points, (e) => Json.readObject(e) ?? {}) ?? [];\n if (points.length === 0) {\n return new Constant(0);\n }\n for (const point of points) {\n const location = Json.readNumber(point.location) ?? 0;\n const value = fromJson(point.value, extractor);\n const derivative = Json.readNumber(point.derivative) ?? 0;\n spline.addPoint(location, value, derivative);\n }\n return spline;\n }\n CubicSpline2.fromJson = fromJson;\n class Constant {\n constructor(value) {\n this.value = value;\n }\n compute() {\n return this.value;\n }\n min() {\n return this.value;\n }\n max() {\n return this.value;\n }\n mapAll() {\n return this;\n }\n calculateMinMax() {\n }\n }\n CubicSpline2.Constant = Constant;\n class MultiPoint {\n constructor(coordinate, locations = [], values = [], derivatives = []) {\n this.coordinate = coordinate;\n this.locations = locations;\n this.values = values;\n this.derivatives = derivatives;\n this.calculatedMin = Number.NEGATIVE_INFINITY;\n this.calculatedMax = Number.POSITIVE_INFINITY;\n }\n compute(c) {\n const coordinate = this.coordinate.compute(c);\n const i = binarySearch(0, this.locations.length, (n2) => coordinate < this.locations[n2]) - 1;\n const n = this.locations.length - 1;\n if (i < 0) {\n return this.values[0].compute(c) + this.derivatives[0] * (coordinate - this.locations[0]);\n }\n if (i === n) {\n return this.values[n].compute(c) + this.derivatives[n] * (coordinate - this.locations[n]);\n }\n const loc0 = this.locations[i];\n const loc1 = this.locations[i + 1];\n const der0 = this.derivatives[i];\n const der1 = this.derivatives[i + 1];\n const f = (coordinate - loc0) / (loc1 - loc0);\n const val0 = this.values[i].compute(c);\n const val1 = this.values[i + 1].compute(c);\n const f8 = der0 * (loc1 - loc0) - (val1 - val0);\n const f9 = -der1 * (loc1 - loc0) + (val1 - val0);\n const f10 = lerp(f, val0, val1) + f * (1 - f) * lerp(f, f8, f9);\n return f10;\n }\n min() {\n return this.calculatedMin;\n }\n max() {\n return this.calculatedMax;\n }\n mapAll(visitor) {\n return new MultiPoint(visitor(this.coordinate), this.locations, this.values.map((v) => v.mapAll(visitor)), this.derivatives);\n }\n addPoint(location, value, derivative = 0) {\n this.locations.push(location);\n this.values.push(typeof value === \"number\" ? new CubicSpline2.Constant(value) : value);\n this.derivatives.push(derivative);\n return this;\n }\n calculateMinMax() {\n if (!MinMaxNumberFunction.is(this.coordinate)) {\n return;\n }\n const lastIdx = this.locations.length - 1;\n var splineMin = Number.POSITIVE_INFINITY;\n var splineMax = Number.NEGATIVE_INFINITY;\n const coordinateMin = this.coordinate.minValue();\n const coordinateMax = this.coordinate.maxValue();\n for (const innerSpline of this.values) {\n innerSpline.calculateMinMax();\n }\n if (coordinateMin < this.locations[0]) {\n const minExtend = MultiPoint.linearExtend(coordinateMin, this.locations, this.values[0].min(), this.derivatives, 0);\n const maxExtend = MultiPoint.linearExtend(coordinateMin, this.locations, this.values[0].max(), this.derivatives, 0);\n splineMin = Math.min(splineMin, Math.min(minExtend, maxExtend));\n splineMax = Math.max(splineMax, Math.max(minExtend, maxExtend));\n }\n if (coordinateMax > this.locations[lastIdx]) {\n const minExtend = MultiPoint.linearExtend(coordinateMax, this.locations, this.values[lastIdx].min(), this.derivatives, lastIdx);\n const maxExtend = MultiPoint.linearExtend(coordinateMax, this.locations, this.values[lastIdx].max(), this.derivatives, lastIdx);\n splineMin = Math.min(splineMin, Math.min(minExtend, maxExtend));\n splineMax = Math.max(splineMax, Math.max(minExtend, maxExtend));\n }\n for (const innerSpline of this.values) {\n splineMin = Math.min(splineMin, innerSpline.min());\n splineMax = Math.max(splineMax, innerSpline.max());\n }\n for (var i = 0; i < lastIdx; ++i) {\n const locationLeft = this.locations[i];\n const locationRight = this.locations[i + 1];\n const locationDelta = locationRight - locationLeft;\n const splineLeft = this.values[i];\n const splineRight = this.values[i + 1];\n const minLeft = splineLeft.min();\n const maxLeft = splineLeft.max();\n const minRight = splineRight.min();\n const maxRight = splineRight.max();\n const derivativeLeft = this.derivatives[i];\n const derivativeRight = this.derivatives[i + 1];\n if (derivativeLeft !== 0 || derivativeRight !== 0) {\n const maxValueDeltaLeft = derivativeLeft * locationDelta;\n const maxValueDeltaRight = derivativeRight * locationDelta;\n const minValue = Math.min(minLeft, minRight);\n const maxValue = Math.max(maxLeft, maxRight);\n const minDeltaLeft = maxValueDeltaLeft - maxRight + minLeft;\n const maxDeltaLeft = maxValueDeltaLeft - minRight + maxLeft;\n const minDeltaRight = -maxValueDeltaRight + minRight - maxLeft;\n const maxDeltaRight = -maxValueDeltaRight + maxRight - minLeft;\n const minDelta = Math.min(minDeltaLeft, minDeltaRight);\n const maxDelta = Math.max(maxDeltaLeft, maxDeltaRight);\n splineMin = Math.min(splineMin, minValue + 0.25 * minDelta);\n splineMax = Math.max(splineMax, maxValue + 0.25 * maxDelta);\n }\n }\n this.calculatedMin = splineMin;\n this.calculatedMax = splineMax;\n }\n static linearExtend(location, locations, value, derivatives, useIndex) {\n const derivative = derivatives[useIndex];\n return derivative == 0 ? value : value + derivative * (location - locations[useIndex]);\n }\n }\n CubicSpline2.MultiPoint = MultiPoint;\n})(CubicSpline || (CubicSpline = {}));\n\nconst _LegacyRandom = class {\n constructor(seed) {\n this.seed = BigInt(0);\n this.setSeed(seed);\n }\n fork() {\n return new _LegacyRandom(this.nextLong());\n }\n forkPositional() {\n return new LegacyPositionalRandom(this.nextLong());\n }\n setSeed(seed) {\n this.seed = seed ^ _LegacyRandom.MULTIPLIER & _LegacyRandom.MODULUS_MASK;\n }\n advance() {\n this.seed = this.seed * _LegacyRandom.MULTIPLIER + _LegacyRandom.INCREMENT & _LegacyRandom.MODULUS_MASK;\n }\n consume(count) {\n for (let i = 0; i < count; i += 1) {\n this.advance();\n }\n }\n next(bits) {\n this.advance();\n const out = Number(this.seed >> BigInt(_LegacyRandom.MODULUS_BITS - bits));\n return out > 2147483647 ? out - 4294967296 : out;\n }\n nextInt(max) {\n if (max === void 0) {\n return this.next(32);\n }\n if ((max & max - 1) == 0) {\n return Number(BigInt(max) * BigInt(this.next(31)) >> BigInt(31));\n }\n let a, b;\n while ((a = this.next(31)) - (b = a % max) + (max - 1) < 0) {\n }\n return b;\n }\n nextLong() {\n return (BigInt(this.next(32)) << BigInt(32)) + BigInt(this.next(32));\n }\n nextFloat() {\n return this.next(24) * _LegacyRandom.FLOAT_MULTIPLIER;\n }\n nextDouble() {\n const a = this.next(30);\n this.advance();\n return a * _LegacyRandom.DOUBLE_MULTIPLIER;\n }\n};\nlet LegacyRandom = _LegacyRandom;\nLegacyRandom.MODULUS_BITS = 48;\nLegacyRandom.MODULUS_MASK = BigInt(\"281474976710655\");\nLegacyRandom.MULTIPLIER = BigInt(\"25214903917\");\nLegacyRandom.INCREMENT = BigInt(\"11\");\nLegacyRandom.FLOAT_MULTIPLIER = 1 / Math.pow(2, 24);\nLegacyRandom.DOUBLE_MULTIPLIER = 1 / Math.pow(2, 30);\nclass LegacyPositionalRandom {\n constructor(seed) {\n this.seed = seed;\n }\n at(x, y, z) {\n const seed = getSeed(x, y, z);\n return new LegacyRandom(seed ^ this.seed);\n }\n fromHashOf(name) {\n const hash = md5(name, { asBytes: true });\n const seed = longfromBytes(hash[0], hash[1], hash[2], hash[3], hash[4], hash[5], hash[6], hash[7]);\n return new LegacyRandom(seed ^ this.seed);\n }\n seedKey() {\n return [this.seed, BigInt(0)];\n }\n}\n\nconst _XoroshiroRandom = class {\n constructor(seed) {\n this.seed = [BigInt(0), BigInt(0)];\n this.seed = seed;\n }\n static create(seed) {\n return new _XoroshiroRandom(_XoroshiroRandom.upgradeSeedTo128bit(seed));\n }\n static mixStafford13(value) {\n value = (value ^ value >> _XoroshiroRandom.BIGINT_30) * _XoroshiroRandom.STAFFORD_1 & _XoroshiroRandom.MAX_ULONG;\n value = (value ^ value >> _XoroshiroRandom.BIGINT_27) * _XoroshiroRandom.STAFFORD_2 & _XoroshiroRandom.MAX_ULONG;\n return (value ^ value >> _XoroshiroRandom.BIGINT_31) & _XoroshiroRandom.MAX_ULONG;\n }\n static upgradeSeedTo128bit(seed) {\n if (seed < 0) {\n seed += _XoroshiroRandom.POW2_60;\n }\n const seedLo = seed ^ _XoroshiroRandom.SILVER_RATIO_64;\n const seedHi = seedLo + _XoroshiroRandom.GOLDEN_RATIO_64 & _XoroshiroRandom.MAX_ULONG;\n return [_XoroshiroRandom.mixStafford13(seedLo), _XoroshiroRandom.mixStafford13(seedHi)];\n }\n static rotateLeft(value, shift) {\n return value << shift & _XoroshiroRandom.MAX_ULONG | value >> _XoroshiroRandom.BIGINT_64 - shift;\n }\n setSeed(seed) {\n this.seed = _XoroshiroRandom.upgradeSeedTo128bit(seed);\n }\n fork() {\n return new _XoroshiroRandom([this.next(), this.next()]);\n }\n forkPositional() {\n return new XoroshiroPositionalRandom(this.next(), this.next());\n }\n next() {\n const seedLo = this.seed[0];\n let seedHi = this.seed[1];\n const value = _XoroshiroRandom.rotateLeft(seedLo + seedHi & _XoroshiroRandom.MAX_ULONG, _XoroshiroRandom.BIGINT_17) + seedLo & _XoroshiroRandom.MAX_ULONG;\n seedHi ^= seedLo;\n this.seed = [\n _XoroshiroRandom.rotateLeft(seedLo, _XoroshiroRandom.BIGINT_49) ^ seedHi ^ seedHi << _XoroshiroRandom.BIGINT_21 & _XoroshiroRandom.MAX_ULONG,\n _XoroshiroRandom.rotateLeft(seedHi, _XoroshiroRandom.BIGINT_28)\n ];\n return value;\n }\n nextLong() {\n let value = this.next();\n if (value > _XoroshiroRandom.POW2_63)\n value -= _XoroshiroRandom.POW2_60;\n return value;\n }\n consume(count) {\n let seedLo = this.seed[0];\n let seedHi = this.seed[1];\n for (let i = 0; i < count; i += 1) {\n seedHi ^= seedLo;\n seedLo = _XoroshiroRandom.rotateLeft(seedLo, _XoroshiroRandom.BIGINT_49) ^ seedHi ^ seedHi << _XoroshiroRandom.BIGINT_21;\n seedHi = _XoroshiroRandom.rotateLeft(seedHi, _XoroshiroRandom.BIGINT_28);\n }\n this.seed = [seedLo, seedHi];\n }\n nextBits(bits) {\n return this.next() >> BigInt(64 - bits);\n }\n nextInt(max) {\n let value = this.next() & _XoroshiroRandom.MAX_UINT;\n if (!max) {\n let result = Number(value);\n if (result >= 2147483648) {\n result -= 4294967296;\n }\n return result;\n } else {\n const maxBigint = BigInt(max);\n let product = value * maxBigint;\n let productLo = product & _XoroshiroRandom.MAX_UINT;\n if (productLo < maxBigint) {\n const newMax = ((~maxBigint & _XoroshiroRandom.MAX_UINT) + _XoroshiroRandom.BIGINT_1) % maxBigint;\n while (productLo < newMax) {\n value = this.next() & _XoroshiroRandom.MAX_UINT;\n product = value * maxBigint;\n productLo = product & _XoroshiroRandom.MAX_UINT;\n }\n }\n const productHi = product >> _XoroshiroRandom.BIGINT_32;\n return Number(productHi);\n }\n }\n nextFloat() {\n return Number(this.nextBits(24)) * _XoroshiroRandom.FLOAT_MULTIPLIER;\n }\n nextDouble() {\n return Number(this.nextBits(53)) * _XoroshiroRandom.DOUBLE_MULTIPLIER;\n }\n parityConfigString() {\n return \"seedLo: \" + this.seed[0] + \", seedHi: \" + this.seed[1];\n }\n};\nlet XoroshiroRandom = _XoroshiroRandom;\nXoroshiroRandom.SILVER_RATIO_64 = BigInt(\"7640891576956012809\");\nXoroshiroRandom.GOLDEN_RATIO_64 = BigInt(\"-7046029254386353131\");\nXoroshiroRandom.FLOAT_MULTIPLIER = 1 / Math.pow(2, 24);\nXoroshiroRandom.DOUBLE_MULTIPLIER = 11102230246251565e-32;\nXoroshiroRandom.BIGINT_1 = BigInt(1);\nXoroshiroRandom.BIGINT_17 = BigInt(17);\nXoroshiroRandom.BIGINT_21 = BigInt(21);\nXoroshiroRandom.BIGINT_27 = BigInt(27);\nXoroshiroRandom.BIGINT_28 = BigInt(28);\nXoroshiroRandom.BIGINT_30 = BigInt(30);\nXoroshiroRandom.BIGINT_31 = BigInt(31);\nXoroshiroRandom.BIGINT_32 = BigInt(32);\nXoroshiroRandom.BIGINT_49 = BigInt(49);\nXoroshiroRandom.BIGINT_64 = BigInt(64);\nXoroshiroRandom.STAFFORD_1 = BigInt(\"-4658895280553007687\");\nXoroshiroRandom.STAFFORD_2 = BigInt(\"-7723592293110705685\");\nXoroshiroRandom.MAX_ULONG = BigInt(\"0xFFFFFFFFFFFFFFFF\");\nXoroshiroRandom.POW2_60 = BigInt(\"0x10000000000000000\");\nXoroshiroRandom.POW2_63 = BigInt(\"0x8000000000000000\");\nXoroshiroRandom.MAX_UINT = BigInt(4294967295);\nclass XoroshiroPositionalRandom {\n constructor(seedLo, seedHi) {\n this.seedLo = seedLo;\n this.seedHi = seedHi;\n }\n at(x, y, z) {\n const positionSeed = getSeed(x, y, z);\n const seedLo = positionSeed ^ this.seedLo;\n return new XoroshiroRandom([seedLo, this.seedHi]);\n }\n fromHashOf(name) {\n const hash = md5(name, { asBytes: true });\n const lo = longfromBytes(hash[0], hash[1], hash[2], hash[3], hash[4], hash[5], hash[6], hash[7]);\n const hi = longfromBytes(hash[8], hash[9], hash[10], hash[11], hash[12], hash[13], hash[14], hash[15]);\n return new XoroshiroRandom([lo ^ this.seedLo, hi ^ this.seedHi]);\n }\n seedKey() {\n return [this.seedLo, this.seedHi];\n }\n}\n\nconst _SimplexNoise = class {\n constructor(random) {\n this.xo = random.nextDouble() * 256;\n this.yo = random.nextDouble() * 256;\n this.zo = random.nextDouble() * 256;\n this.p = Array(256);\n for (let i = 0; i < 256; i += 1) {\n this.p[i] = i;\n }\n for (let i = 0; i < 256; i += 1) {\n const j = random.nextInt(256 - i);\n const b = this.p[i];\n this.p[i] = this.p[i + j];\n this.p[i + j] = b;\n }\n }\n sample2D(d, d2) {\n let d3;\n let n3;\n let d4;\n const d6 = (d + d2) * _SimplexNoise.F2;\n const n4 = Math.floor(d + d6);\n const d7 = n4 - (d3 = (n4 + (n3 = Math.floor(d2 + d6))) * _SimplexNoise.G2);\n const d8 = d - d7;\n let a;\n let b;\n if (d8 > (d4 = d2 - (n3 - d3))) {\n a = 1;\n b = 0;\n } else {\n a = 0;\n b = 1;\n }\n const d9 = d8 - a + _SimplexNoise.G2;\n const d10 = d4 - b + _SimplexNoise.G2;\n const d11 = d8 - 1 + 2 * _SimplexNoise.G2;\n const d12 = d4 - 1 + 2 * _SimplexNoise.G2;\n const n5 = n4 & 255;\n const n6 = n3 & 255;\n const n7 = this.P(n5 + this.P(n6)) % 12;\n const n8 = this.P(n5 + a + this.P(n6 + b)) % 12;\n const n9 = this.P(n5 + 1 + this.P(n6 + 1)) % 12;\n const d13 = this.getCornerNoise3D(n7, d8, d4, 0, 0.5);\n const d14 = this.getCornerNoise3D(n8, d9, d10, 0, 0.5);\n const d15 = this.getCornerNoise3D(n9, d11, d12, 0, 0.5);\n return 70 * (d13 + d14 + d15);\n }\n sample(x, y, z) {\n const d5 = (x + y + z) * 0.3333333333333333;\n const x2 = Math.floor(x + d5);\n const y2 = Math.floor(y + d5);\n const z2 = Math.floor(z + d5);\n const d7 = (x2 + y2 + z2) * 0.16666666666666666;\n const x3 = x - (x2 - d7);\n const y3 = y - (y2 - d7);\n const z3 = z - (z2 - d7);\n let a;\n let b;\n let c;\n let d;\n let e;\n let f;\n if (x3 >= y3) {\n if (y3 >= z3) {\n a = 1;\n b = 0;\n c = 0;\n d = 1;\n e = 1;\n f = 0;\n } else if (x3 >= z3) {\n a = 1;\n b = 0;\n c = 0;\n d = 1;\n e = 0;\n f = 1;\n } else {\n a = 0;\n b = 0;\n c = 1;\n d = 1;\n e = 0;\n f = 1;\n }\n } else if (y3 < z3) {\n a = 0;\n b = 0;\n c = 1;\n d = 0;\n e = 1;\n f = 1;\n } else if (x3 < z3) {\n a = 0;\n b = 1;\n c = 0;\n d = 0;\n e = 1;\n f = 1;\n } else {\n a = 0;\n b = 1;\n c = 0;\n d = 1;\n e = 1;\n f = 0;\n }\n const x4 = x3 - a + 0.16666666666666666;\n const y4 = y3 - b + 0.16666666666666666;\n const z4 = z3 - c + 0.16666666666666666;\n const x5 = x3 - d + 0.3333333333333333;\n const y5 = y3 - e + 0.3333333333333333;\n const z5 = z3 - f + 0.3333333333333333;\n const x6 = x3 - 0.5;\n const y6 = y3 - 0.5;\n const z6 = z3 - 0.5;\n const x7 = x2 & 255;\n const y7 = y2 & 255;\n const z7 = z2 & 255;\n const g = this.P(x7 + this.P(y7 + this.P(z7))) % 12;\n const h = this.P(x7 + a + this.P(y7 + b + this.P(z7 + c))) % 12;\n const i = this.P(x7 + d + this.P(y7 + e + this.P(z7 + f))) % 12;\n const j = this.P(x7 + 1 + this.P(y7 + 1 + this.P(z7 + 1))) % 12;\n const k = this.getCornerNoise3D(g, x3, y3, z3, 0.6);\n const l = this.getCornerNoise3D(h, x4, y4, z4, 0.6);\n const m = this.getCornerNoise3D(i, x5, y5, z5, 0.6);\n const n = this.getCornerNoise3D(j, x6, y6, z6, 0.6);\n return 32 * (k + l + m + n);\n }\n P(i) {\n return this.p[i & 255];\n }\n getCornerNoise3D(i, a, b, c, d) {\n let f;\n let e = d - a * a - b * b - c * c;\n if (e < 0) {\n f = 0;\n } else {\n e *= e;\n f = e * e * _SimplexNoise.gradDot(i, a, b, c);\n }\n return f;\n }\n static gradDot(a, b, c, d) {\n const grad = _SimplexNoise.GRADIENT[a & 15];\n return grad[0] * b + grad[1] * c + grad[2] * d;\n }\n};\nlet SimplexNoise = _SimplexNoise;\nSimplexNoise.GRADIENT = [[1, 1, 0], [-1, 1, 0], [1, -1, 0], [-1, -1, 0], [1, 0, 1], [-1, 0, 1], [1, 0, -1], [-1, 0, -1], [0, 1, 1], [0, -1, 1], [0, 1, -1], [0, -1, -1], [1, 1, 0], [0, -1, 1], [-1, 1, 0], [0, -1, -1]];\nSimplexNoise.F2 = 0.5 * (Math.sqrt(3) - 1);\nSimplexNoise.G2 = (3 - Math.sqrt(3)) / 6;\n\nclass ImprovedNoise {\n constructor(random) {\n this.xo = random.nextDouble() * 256;\n this.yo = random.nextDouble() * 256;\n this.zo = random.nextDouble() * 256;\n this.p = Array(256);\n for (let i = 0; i < 256; i += 1) {\n this.p[i] = i > 127 ? i - 256 : i;\n }\n for (let i = 0; i < 256; i += 1) {\n const j = random.nextInt(256 - i);\n const b = this.p[i];\n this.p[i] = this.p[i + j];\n this.p[i + j] = b;\n }\n }\n sample(x, y, z, yScale = 0, yLimit = 0) {\n const x2 = x + this.xo;\n const y2 = y + this.yo;\n const z2 = z + this.zo;\n const x3 = Math.floor(x2);\n const y3 = Math.floor(y2);\n const z3 = Math.floor(z2);\n const x4 = x2 - x3;\n const y4 = y2 - y3;\n const z4 = z2 - z3;\n let y6 = 0;\n if (yScale !== 0) {\n const t = yLimit >= 0 && yLimit < y4 ? yLimit : y4;\n y6 = Math.floor(t / yScale + 1e-7) * yScale;\n }\n return this.sampleAndLerp(x3, y3, z3, x4, y4 - y6, z4, y4);\n }\n sampleAndLerp(a, b, c, d, e, f, g) {\n const h = this.P(a);\n const i = this.P(a + 1);\n const j = this.P(h + b);\n const k = this.P(h + b + 1);\n const l = this.P(i + b);\n const m = this.P(i + b + 1);\n const n = SimplexNoise.gradDot(this.P(j + c), d, e, f);\n const o = SimplexNoise.gradDot(this.P(l + c), d - 1, e, f);\n const p = SimplexNoise.gradDot(this.P(k + c), d, e - 1, f);\n const q = SimplexNoise.gradDot(this.P(m + c), d - 1, e - 1, f);\n const r = SimplexNoise.gradDot(this.P(j + c + 1), d, e, f - 1);\n const s = SimplexNoise.gradDot(this.P(l + c + 1), d - 1, e, f - 1);\n const t = SimplexNoise.gradDot(this.P(k + c + 1), d, e - 1, f - 1);\n const u = SimplexNoise.gradDot(this.P(m + c + 1), d - 1, e - 1, f - 1);\n const v = smoothstep(d);\n const w = smoothstep(g);\n const x = smoothstep(f);\n return lerp3(v, w, x, n, o, p, q, r, s, t, u);\n }\n P(i) {\n return this.p[i & 255] & 255;\n }\n}\n\nclass PerlinNoise {\n constructor(random, firstOctave, amplitudes) {\n if (random instanceof XoroshiroRandom) {\n const forkedRandom = random.forkPositional();\n this.noiseLevels = Array(amplitudes.length);\n for (let i = 0; i < amplitudes.length; i++) {\n if (amplitudes[i] !== 0) {\n const octave = firstOctave + i;\n this.noiseLevels[i] = new ImprovedNoise(forkedRandom.fromHashOf(\"octave_\" + octave));\n }\n }\n } else {\n if (1 - firstOctave < amplitudes.length) {\n throw new Error(\"Positive octaves are not allowed when using LegacyRandom\");\n }\n this.noiseLevels = Array(amplitudes.length);\n for (let i = -firstOctave; i >= 0; i -= 1) {\n if (i < amplitudes.length && amplitudes[i] !== 0) {\n this.noiseLevels[i] = new ImprovedNoise(random);\n } else {\n random.consume(262);\n }\n }\n }\n this.amplitudes = amplitudes;\n this.lowestFreqInputFactor = Math.pow(2, firstOctave);\n this.lowestFreqValueFactor = Math.pow(2, amplitudes.length - 1) / (Math.pow(2, amplitudes.length) - 1);\n this.maxValue = this.edgeValue(2);\n }\n sample(x, y, z, yScale = 0, yLimit = 0, fixY = false) {\n let value = 0;\n let inputF = this.lowestFreqInputFactor;\n let valueF = this.lowestFreqValueFactor;\n for (let i = 0; i < this.noiseLevels.length; i += 1) {\n const noise = this.noiseLevels[i];\n if (noise) {\n value += this.amplitudes[i] * valueF * noise.sample(PerlinNoise.wrap(x * inputF), fixY ? -noise.yo : PerlinNoise.wrap(y * inputF), PerlinNoise.wrap(z * inputF), yScale * inputF, yLimit * inputF);\n }\n inputF *= 2;\n valueF /= 2;\n }\n return value;\n }\n getOctaveNoise(i) {\n return this.noiseLevels[this.noiseLevels.length - 1 - i];\n }\n edgeValue(x) {\n let value = 0;\n let valueF = this.lowestFreqValueFactor;\n for (let i = 0; i < this.noiseLevels.length; i += 1) {\n if (this.noiseLevels[i]) {\n value += this.amplitudes[i] * x * valueF;\n }\n valueF /= 2;\n }\n return value;\n }\n static wrap(value) {\n return value - Math.floor(value / 33554432 + 0.5) * 33554432;\n }\n}\n\nclass BlendedNoise {\n constructor(random, xzScale, yScale, xzFactor, yFactor, smearScaleMultiplier) {\n this.xzScale = xzScale;\n this.yScale = yScale;\n this.xzFactor = xzFactor;\n this.yFactor = yFactor;\n this.smearScaleMultiplier = smearScaleMultiplier;\n this.minLimitNoise = new PerlinNoise(random, -15, [1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0]);\n this.maxLimitNoise = new PerlinNoise(random, -15, [1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0]);\n this.mainNoise = new PerlinNoise(random, -7, [1, 1, 1, 1, 1, 0, 0, 0]);\n this.xzMultiplier = 684.412 * xzScale;\n this.yMultiplier = 684.412 * yScale;\n this.maxValue = this.minLimitNoise.edgeValue(this.yScale + 2);\n }\n sample(x, y, z) {\n const scaledX = x * this.xzMultiplier;\n const scaledY = y * this.yMultiplier;\n const scaledZ = z * this.xzMultiplier;\n const factoredX = scaledX / this.xzFactor;\n const factoredY = scaledY / this.yFactor;\n const factoredZ = scaledZ / this.xzFactor;\n const smear = this.yMultiplier * this.smearScaleMultiplier;\n const factoredSmear = smear / this.yFactor;\n let noise;\n let value = 0;\n let factor = 1;\n for (let i = 0; i < 8; i += 1) {\n noise = this.mainNoise.getOctaveNoise(i);\n if (noise) {\n const xx = PerlinNoise.wrap(factoredX * factor);\n const yy = PerlinNoise.wrap(factoredY * factor);\n const zz = PerlinNoise.wrap(factoredZ * factor);\n value += noise.sample(xx, yy, zz, factoredSmear * factor, factoredY * factor) / factor;\n }\n factor /= 2;\n }\n value = (value / 10 + 1) / 2;\n factor = 1;\n let min = 0;\n let max = 0;\n for (let i = 0; i < 16; i += 1) {\n const xx = PerlinNoise.wrap(scaledX * factor);\n const yy = PerlinNoise.wrap(scaledY * factor);\n const zz = PerlinNoise.wrap(scaledZ * factor);\n const smearsmear = smear * factor;\n if (value < 1 && (noise = this.minLimitNoise.getOctaveNoise(i))) {\n min += noise.sample(xx, yy, zz, smearsmear, scaledY * factor) / factor;\n }\n if (value > 0 && (noise = this.maxLimitNoise.getOctaveNoise(i))) {\n max += noise.sample(xx, yy, zz, smearsmear, scaledY * factor) / factor;\n }\n factor /= 2;\n }\n return clampedLerp(min / 512, max / 512, value) / 128;\n }\n}\n\nconst _NormalNoise = class {\n constructor(random, { firstOctave, amplitudes }) {\n this.first = new PerlinNoise(random, firstOctave, amplitudes);\n this.second = new PerlinNoise(random, firstOctave, amplitudes);\n let min = Infinity;\n let max = -Infinity;\n for (let i = 0; i < amplitudes.length; i += 1) {\n if (amplitudes[i] !== 0) {\n min = Math.min(min, i);\n max = Math.max(max, i);\n }\n }\n const expectedDeviation = 0.1 * (1 + 1 / (max - min + 1));\n this.valueFactor = 1 / 6 / expectedDeviation;\n this.maxValue = (this.first.maxValue + this.second.maxValue) * this.valueFactor;\n }\n sample(x, y, z) {\n const x2 = x * _NormalNoise.INPUT_FACTOR;\n const y2 = y * _NormalNoise.INPUT_FACTOR;\n const z2 = z * _NormalNoise.INPUT_FACTOR;\n return (this.first.sample(x, y, z) + this.second.sample(x2, y2, z2)) * this.valueFactor;\n }\n};\nlet NormalNoise = _NormalNoise;\nNormalNoise.INPUT_FACTOR = 1.0181268882175227;\nvar NoiseParameters;\n(function(NoiseParameters2) {\n function create(firstOctave, amplitudes) {\n return { firstOctave, amplitudes };\n }\n NoiseParameters2.create = create;\n function fromJson(obj) {\n const root = Json.readObject(obj) ?? {};\n return {\n firstOctave: Json.readInt(root.firstOctave) ?? 0,\n amplitudes: Json.readArray(root.amplitudes, (e) => Json.readNumber(e) ?? 0) ?? []\n };\n }\n NoiseParameters2.fromJson = fromJson;\n})(NoiseParameters || (NoiseParameters = {}));\n\nclass PerlinSimplexNoise {\n constructor(random, octaves) {\n const lastOctave = octaves[octaves.length - 1];\n const negFirstOctave = -octaves[0];\n const range = negFirstOctave + lastOctave + 1;\n const octavesSet = new Set(octaves);\n const noise = new SimplexNoise(random);\n this.noiseLevels = Array(range);\n if (lastOctave >= 0 && lastOctave < range && octavesSet.has(0)) {\n this.noiseLevels[lastOctave] = noise;\n }\n for (let i = lastOctave + 1; i < range; i += 1) {\n if (i >= 0 && octavesSet.has(lastOctave - i)) {\n this.noiseLevels[i] = new SimplexNoise(random);\n } else {\n random.consume(262);\n }\n }\n if (lastOctave > 0) {\n throw new Error(\"Positive octaves are not allowed\");\n }\n this.highestFreqInputFactor = Math.pow(2, lastOctave);\n this.highestFreqValueFactor = 1 / (Math.pow(2, range) - 1);\n }\n sample(x, y, useOffsets) {\n let value = 0;\n let inputF = this.highestFreqInputFactor;\n let valueF = this.highestFreqValueFactor;\n for (let i = 0; i < this.noiseLevels.length; i += 1) {\n const noise = this.noiseLevels[i];\n if (noise) {\n value += valueF * noise.sample2D(x * inputF + (useOffsets ? noise.xo : 0), y * inputF + (useOffsets ? noise.yo : 0));\n }\n inputF /= 2;\n valueF *= 2;\n }\n return value;\n }\n}\n\nvar Direction;\n(function(Direction2) {\n Direction2[\"UP\"] = \"up\";\n Direction2[\"DOWN\"] = \"down\";\n Direction2[\"NORTH\"] = \"north\";\n Direction2[\"EAST\"] = \"east\";\n Direction2[\"SOUTH\"] = \"south\";\n Direction2[\"WEST\"] = \"west\";\n})(Direction || (Direction = {}));\nconst directionNormals = {\n [Direction.UP]: [0, 1, 0],\n [Direction.DOWN]: [0, -1, 0],\n [Direction.NORTH]: [0, 0, -1],\n [Direction.EAST]: [1, 0, 0],\n [Direction.SOUTH]: [0, 0, 1],\n [Direction.WEST]: [-1, 0, 0]\n};\n(function(Direction2) {\n Direction2.ALL = [Direction2.UP, Direction2.DOWN, Direction2.NORTH, Direction2.EAST, Direction2.SOUTH, Direction2.WEST];\n function normal(dir) {\n return directionNormals[dir];\n }\n Direction2.normal = normal;\n})(Direction || (Direction = {}));\n\nvar BlockPos$1;\n(function(BlockPos2) {\n function create(x, y, z) {\n return [x, y, z];\n }\n BlockPos2.create = create;\n BlockPos2.ZERO = BlockPos2.create(0, 0, 0);\n function offset(pos, dx, dy, dz) {\n return [pos[0] + dx, pos[1] + dy, pos[2] + dz];\n }\n BlockPos2.offset = offset;\n function towards(pos, dir) {\n return BlockPos2.offset(pos, ...Direction.normal(dir));\n }\n BlockPos2.towards = towards;\n function equals(a, b) {\n if (a === b)\n return true;\n return a[0] === b[0] && a[1] === b[1] && a[2] === b[2];\n }\n BlockPos2.equals = equals;\n function magnitude(pos) {\n return pos[0] * pos[0] + pos[1] * pos[1] + pos[2] * pos[2];\n }\n BlockPos2.magnitude = magnitude;\n})(BlockPos$1 || (BlockPos$1 = {}));\n\nfunction getTag(tags, name, type) {\n if (!tags[name]) {\n throw new Error(`Missing ${name} tag`);\n }\n if (tags[name].type !== type) {\n throw new Error(`Expected ${name} to be of type ${type}, but found ${tags[name].type}`);\n }\n return tags[name].value;\n}\nfunction getListTag(tags, name, type, length) {\n const value = getTag(tags, name, \"list\");\n if (value.type !== type) {\n throw new Error(`Expected ${name} to be a list of ${type}s, but found ${value.type}s`);\n }\n if (length && value.value.length !== length) {\n throw new Error(`Expected ${name} to be a list of length ${length}, but found length ${value.value.length}`);\n }\n return value.value;\n}\nfunction getOptional(readResult, fallback) {\n try {\n return readResult();\n } catch (e) {\n return fallback;\n }\n}\n\nconst _Identifier = class {\n constructor(namespace, path) {\n this.namespace = namespace;\n this.path = path;\n if (!namespace.match(/^[a-z0-9._-]+$/)) {\n throw new Error(`Non [a-z0-9._-] character in namespace of ${namespace}:${path}`);\n }\n if (!path.match(/^[a-z0-9/._-]+$/)) {\n throw new Error(`Non [a-z0-9/._-] character in path of ${namespace}:${path}`);\n }\n }\n equals(other) {\n if (this === other) {\n return true;\n }\n return this.namespace === other.namespace && this.path === other.path;\n }\n toString() {\n return `${this.namespace}:${this.path}`;\n }\n static create(path) {\n return new _Identifier(this.DEFAULT_NAMESPACE, path);\n }\n static parse(id) {\n const sep = id.indexOf(this.SEPARATOR);\n if (sep >= 0) {\n const namespace = sep >= 1 ? id.substring(0, sep) : this.DEFAULT_NAMESPACE;\n const path = id.substring(sep + 1);\n return new _Identifier(namespace, path);\n }\n return new _Identifier(this.DEFAULT_NAMESPACE, id);\n }\n};\nlet Identifier = _Identifier;\nIdentifier.DEFAULT_NAMESPACE = \"minecraft\";\nIdentifier.SEPARATOR = \":\";\n\nconst _BlockState = class {\n constructor(name, properties = {}) {\n this.properties = properties;\n this.name = typeof name === \"string\" ? Identifier.parse(name) : name;\n }\n getName() {\n return this.name;\n }\n getProperties() {\n return this.properties;\n }\n getProperty(key) {\n return this.properties[key];\n }\n isFluid() {\n return this.is(_BlockState.WATER) || this.is(_BlockState.LAVA);\n }\n equals(other) {\n if (!this.name.equals(other.name)) {\n return false;\n }\n return Object.keys(this.properties).every((p) => {\n return other.properties[p] === this.properties[p];\n });\n }\n is(other) {\n return this.name.equals(other.name);\n }\n toString() {\n if (Object.keys(this.properties).length === 0) {\n return this.name.toString();\n }\n return `${this.name.toString()}[${Object.entries(this.properties).map(([k, v]) => k + \"=\" + v).join(\",\")}]`;\n }\n static fromNbt(nbt) {\n const name = Identifier.parse(getTag(nbt.value, \"Name\", \"string\"));\n const propsTag = getOptional(() => getTag(nbt.value, \"Properties\", \"compound\"), {});\n const properties = Object.keys(propsTag).reduce((acc, k) => ({ ...acc, [k]: getTag(propsTag, k, \"string\") }), {});\n return new _BlockState(name, properties);\n }\n static fromJson(obj) {\n const root = Json.readObject(obj) ?? {};\n const name = Identifier.parse(Json.readString(root.Name) ?? _BlockState.STONE.name.toString());\n const properties = Json.readMap(root.Properties, (p) => Json.readString(p) ?? \"\");\n return new _BlockState(name, properties);\n }\n};\nlet BlockState = _BlockState;\nBlockState.AIR = new _BlockState(Identifier.create(\"air\"));\nBlockState.STONE = new _BlockState(Identifier.create(\"stone\"));\nBlockState.WATER = new _BlockState(Identifier.create(\"water\"), { level: \"0\" });\nBlockState.LAVA = new _BlockState(Identifier.create(\"lava\"), { level: \"0\" });\n\nconst _ChunkSection = class {\n constructor(minY) {\n this.minY = minY;\n this.storage = Array(_ChunkSection.SIZE).fill(0);\n this.palette = [BlockState.AIR];\n }\n get minBlockY() {\n return this.minY << 4;\n }\n index(x, y, z) {\n return (x << 8) + (y << 4) + z;\n }\n getBlockState(x, y, z) {\n const id = this.storage[this.index(x, y, z)];\n return this.palette[id] ?? BlockState.AIR;\n }\n setBlockState(x, y, z, state) {\n let id = this.palette.findIndex((b) => b.equals(state));\n if (id === -1) {\n id = this.palette.length;\n this.palette.push(state);\n }\n this.storage[this.index(x, y, z)] = id;\n }\n};\nlet ChunkSection = _ChunkSection;\nChunkSection.WIDTH = 16;\nChunkSection.SIZE = _ChunkSection.WIDTH * _ChunkSection.WIDTH * _ChunkSection.WIDTH;\n\nclass Chunk {\n constructor(minY, height, pos) {\n this.minY = minY;\n this.height = height;\n this.pos = pos;\n this.sections = Array(this.sectionsCount).fill(null);\n }\n get maxY() {\n return this.minY + this.height;\n }\n get minSection() {\n return this.minY >> 4;\n }\n get maxSection() {\n return (this.maxY - 1 >> 4) + 1;\n }\n get sectionsCount() {\n return this.maxSection - this.minSection;\n }\n getSectionIndex(y) {\n return (y >> 4) - this.minSection;\n }\n getBlockState(pos) {\n const [x, y, z] = pos;\n const section = this.sections[this.getSectionIndex(y)];\n return section?.getBlockState(x & 15, y & 15, z & 15) ?? BlockState.AIR;\n }\n setBlockState(pos, state) {\n const [x, y, z] = pos;\n const sectionIndex = this.getSectionIndex(y);\n let section = this.sections[sectionIndex];\n if (section === null) {\n if (state.equals(BlockState.AIR))\n return;\n section = this.getOrCreateSection(sectionIndex);\n }\n section.setBlockState(x & 15, y & 15, z & 15, state);\n }\n getOrCreateSection(index) {\n if (this.sections[index] == null) {\n this.sections[index] = new ChunkSection(this.minSection + index);\n }\n return this.sections[index];\n }\n}\n\nvar ChunkPos;\n(function(ChunkPos2) {\n function create(x, z) {\n return [x, z];\n }\n ChunkPos2.create = create;\n function fromBlockPos(blockPos) {\n return [blockPos[0] >> 4, blockPos[2] >> 4];\n }\n ChunkPos2.fromBlockPos = fromBlockPos;\n function fromLong(long) {\n return [Number(long) & 4294967295, Number(long >> BigInt(32))];\n }\n ChunkPos2.fromLong = fromLong;\n function toLong(chunkPos) {\n return asLong(chunkPos[0], chunkPos[1]);\n }\n ChunkPos2.toLong = toLong;\n function asLong(x, z) {\n return BigInt(x & 4294967295) | BigInt(z & 4294967295) << BigInt(32);\n }\n ChunkPos2.asLong = asLong;\n function minBlockX(chunkPos) {\n return chunkPos[0] << 4;\n }\n ChunkPos2.minBlockX = minBlockX;\n function minBlockZ(chunkPos) {\n return chunkPos[1] << 4;\n }\n ChunkPos2.minBlockZ = minBlockZ;\n function maxBlockX(chunkPos) {\n return (chunkPos[0] << 4) + 15;\n }\n ChunkPos2.maxBlockX = maxBlockX;\n function maxBlockZ(chunkPos) {\n return (chunkPos[1] << 4) + 15;\n }\n ChunkPos2.maxBlockZ = maxBlockZ;\n})(ChunkPos || (ChunkPos = {}));\n\nvar Holder;\n(function(Holder2) {\n function parser(registry, directParser) {\n return (obj) => {\n if (typeof obj === \"string\") {\n return reference(registry, Identifier.parse(obj));\n } else {\n return direct(directParser(obj));\n }\n };\n }\n Holder2.parser = parser;\n function direct(value) {\n return {\n value: () => value,\n key: () => void 0\n };\n }\n Holder2.direct = direct;\n function reference(registry, id) {\n return {\n value: () => registry.getOrThrow(id),\n key: () => id\n };\n }\n Holder2.reference = reference;\n})(Holder || (Holder = {}));\n\nconst _Registry = class {\n constructor(key, parser) {\n this.key = key;\n this.parser = parser;\n this.storage = new Map();\n this.builtin = new Map();\n }\n register(id, value, builtin) {\n this.storage.set(id.toString(), value);\n if (builtin) {\n this.builtin.set(id.toString(), value);\n }\n return Holder.reference(this, id);\n }\n keys() {\n return [...this.storage.keys()].map((e) => Identifier.parse(e));\n }\n get(id) {\n return this.storage.get(id.toString());\n }\n getOrThrow(id) {\n const value = this.storage.get(id.toString());\n if (value === void 0) {\n throw new Error(`Missing key in ${this.key.toString()}: ${id.toString()}`);\n }\n return value;\n }\n parse(obj) {\n if (!this.parser) {\n throw new Error(`No parser exists for ${this.key.toString()}`);\n }\n return this.parser(obj);\n }\n clear() {\n this.storage.clear();\n for (const [key, value] of this.builtin.entries()) {\n this.storage.set(key, value);\n }\n return this;\n }\n assign(other) {\n if (!this.key.equals(other.key)) {\n throw new Error(`Cannot assign registry of type ${other.key.toString()} to registry of type ${this.key.toString()}`);\n }\n for (const key of other.keys()) {\n this.storage.set(key.toString(), other.getOrThrow(key));\n }\n return this;\n }\n cloneEmpty() {\n return new _Registry(this.key, this.parser);\n }\n};\nlet Registry = _Registry;\nRegistry.REGISTRY = new _Registry(Identifier.create(\"root\"));\n\nclass Structure {\n constructor(size, palette = [], blocks = []) {\n this.size = size;\n this.palette = palette;\n this.blocks = blocks;\n this.blocksMap = [];\n blocks.forEach((block) => {\n if (!this.isInside(block.pos)) {\n throw new Error(`Found block at ${block.pos} which is outside the structure bounds ${this.size}`);\n }\n this.blocksMap[block.pos[0] * size[1] * size[2] + block.pos[1] * size[2] + block.pos[2]] = block;\n });\n }\n getSize() {\n return this.size;\n }\n addBlock(pos, name, properties, nbt) {\n if (!this.isInside(pos)) {\n throw new Error(`Cannot add block at ${pos} outside the structure bounds ${this.size}`);\n }\n const blockState = new BlockState(name, properties);\n let state = this.palette.findIndex((b) => b.equals(blockState));\n if (state === -1) {\n state = this.palette.length;\n this.palette.push(blockState);\n }\n this.blocks.push({ pos, state, nbt });\n this.blocksMap[pos[0] * this.size[1] * this.size[2] + pos[1] * this.size[2] + pos[2]] = { pos, state, nbt };\n return this;\n }\n getBlocks() {\n return this.blocks.map((b) => ({\n pos: b.pos,\n state: this.palette[b.state],\n nbt: b.nbt\n }));\n }\n getBlock(pos) {\n if (!this.isInside(pos))\n return null;\n const block = this.blocksMap[pos[0] * this.size[1] * this.size[2] + pos[1] * this.size[2] + pos[2]];\n if (!block)\n return null;\n const placedBlock = {\n pos: block.pos,\n state: this.palette[block.state],\n nbt: block.nbt\n };\n return placedBlock;\n }\n isInside(pos) {\n return pos[0] >= 0 && pos[0] < this.size[0] && pos[1] >= 0 && pos[1] < this.size[1] && pos[2] >= 0 && pos[2] < this.size[2];\n }\n static fromNbt(nbt) {\n const size = getListTag(nbt.value, \"size\", \"int\", 3);\n const palette = getListTag(nbt.value, \"palette\", \"compound\").map((tags) => BlockState.fromNbt({ name: \"\", value: tags }));\n const blocks = getListTag(nbt.value, \"blocks\", \"compound\").map((tags) => {\n const pos = getListTag(tags, \"pos\", \"int\", 3);\n const state = getTag(tags, \"state\", \"int\");\n const nbt2 = getOptional(() => getTag(tags, \"nbt\", \"compound\"), void 0);\n return { pos, state, nbt: nbt2 };\n });\n return new Structure(size, palette, blocks);\n }\n}\n\nvar WorldgenRegistries;\n(function(WorldgenRegistries2) {\n WorldgenRegistries2.NOISE = register(\"worldgen/noise\");\n WorldgenRegistries2.DENSITY_FUNCTION = register(\"worldgen/density_function\");\n function register(name) {\n const registry = new Registry(Identifier.create(name));\n Registry.REGISTRY.register(registry.key, registry);\n return registry;\n }\n})(WorldgenRegistries || (WorldgenRegistries = {}));\n\nclass DensityFunction {\n minValue() {\n return -this.maxValue();\n }\n mapAll(visitor) {\n return visitor.map(this);\n }\n}\n(function(DensityFunction2) {\n function context(x, y, z) {\n return {\n x,\n y,\n z\n };\n }\n DensityFunction2.context = context;\n class Transformer extends DensityFunction2 {\n constructor(input) {\n super();\n this.input = input;\n }\n compute(context2) {\n return this.transform(context2, this.input.compute(context2));\n }\n }\n const NoiseParser = Holder.parser(WorldgenRegistries.NOISE, NoiseParameters.fromJson);\n function fromJson(obj, inputParser = fromJson) {\n if (typeof obj === \"string\") {\n return new HolderHolder(Holder.reference(WorldgenRegistries.DENSITY_FUNCTION, Identifier.parse(obj)));\n }\n if (typeof obj === \"number\") {\n return new Constant(obj);\n }\n const root = Json.readObject(obj) ?? {};\n const type = Json.readString(root.type)?.replace(/^minecraft:/, \"\");\n switch (type) {\n case \"blend_alpha\":\n return new ConstantMinMax(1, 0, 1);\n case \"blend_offset\":\n return new ConstantMinMax(0, -Infinity, Infinity);\n case \"beardifier\":\n return new ConstantMinMax(0, -Infinity, Infinity);\n case \"old_blended_noise\":\n return new OldBlendedNoise(Json.readNumber(root.xz_scale) ?? 1, Json.readNumber(root.y_scale) ?? 1, Json.readNumber(root.xz_factor) ?? 80, Json.readNumber(root.y_factor) ?? 160, Json.readNumber(root.smear_scale_multiplier) ?? 8);\n case \"flat_cache\":\n return new FlatCache(inputParser(root.argument));\n case \"interpolated\":\n return new Interpolated(inputParser(root.argument));\n case \"cache_2d\":\n return new Cache2D(inputParser(root.argument));\n case \"cache_once\":\n return new CacheOnce(inputParser(root.argument));\n case \"cache_all_in_cell\":\n return new CacheAllInCell(inputParser(root.argument));\n case \"noise\":\n return new Noise(Json.readNumber(root.xz_scale) ?? 1, Json.readNumber(root.y_scale) ?? 1, NoiseParser(root.noise));\n case \"end_islands\":\n return new EndIslands();\n case \"weird_scaled_sampler\":\n return new WeirdScaledSampler(inputParser(root.input), Json.readEnum(root.rarity_value_mapper, RarityValueMapper), NoiseParser(root.noise));\n case \"shifted_noise\":\n return new ShiftedNoise(inputParser(root.shift_x), inputParser(root.shift_y), inputParser(root.shift_z), Json.readNumber(root.xz_scale) ?? 1, Json.readNumber(root.y_scale) ?? 1, NoiseParser(root.noise));\n case \"range_choice\":\n return new RangeChoice(inputParser(root.input), Json.readNumber(root.min_inclusive) ?? 0, Json.readNumber(root.max_exclusive) ?? 1, inputParser(root.when_in_range), inputParser(root.when_out_of_range));\n case \"shift_a\":\n return new ShiftA(NoiseParser(root.argument));\n case \"shift_b\":\n return new ShiftB(NoiseParser(root.argument));\n case \"shift\":\n return new Shift(NoiseParser(root.argument));\n case \"blend_density\":\n return new BlendDensity(inputParser(root.argument));\n case \"clamp\":\n return new Clamp(inputParser(root.input), Json.readNumber(root.min) ?? 0, Json.readNumber(root.max) ?? 1);\n case \"abs\":\n case \"square\":\n case \"cube\":\n case \"half_negative\":\n case \"quarter_negative\":\n case \"squeeze\":\n return new Mapped(type, inputParser(root.argument));\n case \"add\":\n case \"mul\":\n case \"min\":\n case \"max\":\n return new Ap2(Json.readEnum(type, Ap2Type), inputParser(root.argument1), inputParser(root.argument2));\n case \"spline\":\n return new Spline(CubicSpline.fromJson(root.spline, inputParser));\n case \"constant\":\n return new Constant(Json.readNumber(root.argument) ?? 0);\n case \"y_clamped_gradient\":\n return new YClampedGradient(Json.readInt(root.from_y) ?? -4064, Json.readInt(root.to_y) ?? 4062, Json.readNumber(root.from_value) ?? -4064, Json.readNumber(root.to_value) ?? 4062);\n }\n return Constant.ZERO;\n }\n DensityFunction2.fromJson = fromJson;\n const _Constant = class extends DensityFunction2 {\n constructor(value) {\n super();\n this.value = value;\n }\n compute() {\n return this.value;\n }\n minValue() {\n return this.value;\n }\n maxValue() {\n return this.value;\n }\n };\n let Constant = _Constant;\n Constant.ZERO = new _Constant(0);\n Constant.ONE = new _Constant(1);\n DensityFunction2.Constant = Constant;\n class HolderHolder extends DensityFunction2 {\n constructor(holder) {\n super();\n this.holder = holder;\n }\n compute(context2) {\n return this.holder.value().compute(context2);\n }\n minValue() {\n return this.holder.value().minValue();\n }\n maxValue() {\n return this.holder.value().maxValue();\n }\n }\n DensityFunction2.HolderHolder = HolderHolder;\n class ConstantMinMax extends DensityFunction2.Constant {\n constructor(value, min, max) {\n super(value);\n this.min = min;\n this.max = max;\n }\n minValue() {\n return this.min;\n }\n maxValue() {\n return this.max;\n }\n }\n DensityFunction2.ConstantMinMax = ConstantMinMax;\n class OldBlendedNoise extends DensityFunction2 {\n constructor(xzScale, yScale, xzFactor, yFactor, smearScaleMultiplier, blendedNoise) {\n super();\n this.xzScale = xzScale;\n this.yScale = yScale;\n this.xzFactor = xzFactor;\n this.yFactor = yFactor;\n this.smearScaleMultiplier = smearScaleMultiplier;\n this.blendedNoise = blendedNoise;\n }\n compute(context2) {\n return this.blendedNoise?.sample(context2.x, context2.y, context2.z) ?? 0;\n }\n maxValue() {\n return this.blendedNoise?.maxValue ?? 0;\n }\n }\n DensityFunction2.OldBlendedNoise = OldBlendedNoise;\n class Wrapper extends DensityFunction2 {\n constructor(wrapped) {\n super();\n this.wrapped = wrapped;\n }\n minValue() {\n return this.wrapped.minValue();\n }\n maxValue() {\n return this.wrapped.maxValue();\n }\n }\n class FlatCache extends Wrapper {\n constructor(wrapped) {\n super(wrapped);\n this.lastValue = 0;\n }\n compute(context2) {\n const quartX = context2.x >> 2;\n const quartZ = context2.z >> 2;\n if (this.lastQuartX !== quartX || this.lastQuartZ !== quartZ) {\n this.lastValue = this.wrapped.compute(DensityFunction2.context(quartX << 2, 0, quartZ << 2));\n this.lastQuartX = quartX;\n this.lastQuartZ = quartZ;\n }\n return this.lastValue;\n }\n mapAll(visitor) {\n return visitor.map(new FlatCache(this.wrapped.mapAll(visitor)));\n }\n }\n DensityFunction2.FlatCache = FlatCache;\n class CacheAllInCell extends Wrapper {\n constructor(wrapped) {\n super(wrapped);\n }\n compute(context2) {\n return this.wrapped.compute(context2);\n }\n mapAll(visitor) {\n return visitor.map(new CacheAllInCell(this.wrapped.mapAll(visitor)));\n }\n }\n DensityFunction2.CacheAllInCell = CacheAllInCell;\n class Cache2D extends Wrapper {\n constructor(wrapped) {\n super(wrapped);\n this.lastValue = 0;\n }\n compute(context2) {\n const blockX = context2.x;\n const blockZ = context2.z;\n if (this.lastBlockX !== blockX || this.lastBlockZ !== blockZ) {\n this.lastValue = this.wrapped.compute(context2);\n this.lastBlockX = blockX;\n this.lastBlockZ = blockZ;\n }\n return this.lastValue;\n }\n mapAll(visitor) {\n return visitor.map(new Cache2D(this.wrapped.mapAll(visitor)));\n }\n }\n DensityFunction2.Cache2D = Cache2D;\n class CacheOnce extends Wrapper {\n constructor(wrapped) {\n super(wrapped);\n this.lastValue = 0;\n }\n compute(context2) {\n const blockX = context2.x;\n const blockY = context2.y;\n const blockZ = context2.z;\n if (this.lastBlockX !== blockX || this.lastBlockY !== blockY || this.lastBlockZ !== blockZ) {\n this.lastValue = this.wrapped.compute(context2);\n this.lastBlockX = blockX;\n this.lastBlockY = blockY;\n this.lastBlockZ = blockZ;\n }\n return this.lastValue;\n }\n mapAll(visitor) {\n return visitor.map(new CacheOnce(this.wrapped.mapAll(visitor)));\n }\n }\n DensityFunction2.CacheOnce = CacheOnce;\n class Interpolated extends Wrapper {\n constructor(wrapped, cellWidth = 4, cellHeight = 4) {\n super(wrapped);\n this.cellWidth = cellWidth;\n this.cellHeight = cellHeight;\n this.values = new Map();\n }\n compute({ x: blockX, y: blockY, z: blockZ }) {\n const w = this.cellWidth;\n const h = this.cellHeight;\n const x = (blockX % w + w) % w / w;\n const y = (blockY % h + h) % h / h;\n const z = (blockZ % w + w) % w / w;\n const firstX = Math.floor(blockX / w) * w;\n const firstY = Math.floor(blockY / h) * h;\n const firstZ = Math.floor(blockZ / w) * w;\n const noise000 = () => this.computeCorner(firstX, firstY, firstZ);\n const noise001 = () => this.computeCorner(firstX, firstY, firstZ + w);\n const noise010 = () => this.computeCorner(firstX, firstY + h, firstZ);\n const noise011 = () => this.computeCorner(firstX, firstY + h, firstZ + w);\n const noise100 = () => this.computeCorner(firstX + w, firstY, firstZ);\n const noise101 = () => this.computeCorner(firstX + w, firstY, firstZ + w);\n const noise110 = () => this.computeCorner(firstX + w, firstY + h, firstZ);\n const noise111 = () => this.computeCorner(firstX + w, firstY + h, firstZ + w);\n return lazyLerp3(x, y, z, noise000, noise100, noise010, noise110, noise001, noise101, noise011, noise111);\n }\n computeCorner(x, y, z) {\n return computeIfAbsent(this.values, `${x} ${y} ${z}`, () => {\n return this.wrapped.compute(DensityFunction2.context(x, y, z));\n });\n }\n mapAll(visitor) {\n return visitor.map(new Interpolated(this.wrapped.mapAll(visitor)));\n }\n withCellSize(cellWidth, cellHeight) {\n return new Interpolated(this.wrapped, cellWidth, cellHeight);\n }\n }\n DensityFunction2.Interpolated = Interpolated;\n class Noise extends DensityFunction2 {\n constructor(xzScale, yScale, noiseData, noise) {\n super();\n this.xzScale = xzScale;\n this.yScale = yScale;\n this.noiseData = noiseData;\n this.noise = noise;\n }\n compute(context2) {\n return this.noise?.sample(context2.x * this.xzScale, context2.y * this.yScale, context2.z * this.xzScale) ?? 0;\n }\n maxValue() {\n return this.noise?.maxValue ?? 2;\n }\n }\n DensityFunction2.Noise = Noise;\n class EndIslands extends DensityFunction2 {\n compute() {\n return 0;\n }\n minValue() {\n return -0.84375;\n }\n maxValue() {\n return 0.5625;\n }\n }\n const RarityValueMapper = [\"type_1\", \"type_2\"];\n const _WeirdScaledSampler = class extends Transformer {\n constructor(input, rarityValueMapper, noiseData, noise) {\n super(input);\n this.rarityValueMapper = rarityValueMapper;\n this.noiseData = noiseData;\n this.noise = noise;\n this.mapper = _WeirdScaledSampler.ValueMapper[this.rarityValueMapper];\n }\n transform(context2, density) {\n if (!this.noise) {\n return 0;\n }\n const rarity = this.mapper(density);\n return rarity * Math.abs(this.noise.sample(context2.x / rarity, context2.y / rarity, context2.z / rarity));\n }\n mapAll(visitor) {\n return visitor.map(new _WeirdScaledSampler(this.input.mapAll(visitor), this.rarityValueMapper, this.noiseData, this.noise));\n }\n minValue() {\n return 0;\n }\n maxValue() {\n return this.rarityValueMapper === \"type_1\" ? 2 : 3;\n }\n static rarityValueMapper1(value) {\n if (value < -0.5) {\n return 0.75;\n } else if (value < 0) {\n return 1;\n } else if (value < 0.5) {\n return 1.5;\n } else {\n return 2;\n }\n }\n static rarityValueMapper2(value) {\n if (value < -0.75) {\n return 0.5;\n } else if (value < -0.5) {\n return 0.75;\n } else if (value < 0.5) {\n return 1;\n } else if (value < 0.75) {\n return 2;\n } else {\n return 3;\n }\n }\n };\n let WeirdScaledSampler = _WeirdScaledSampler;\n WeirdScaledSampler.ValueMapper = {\n type_1: _WeirdScaledSampler.rarityValueMapper1,\n type_2: _WeirdScaledSampler.rarityValueMapper2\n };\n DensityFunction2.WeirdScaledSampler = WeirdScaledSampler;\n class ShiftedNoise extends Noise {\n constructor(shiftX, shiftY, shiftZ, xzScale, yScale, noiseData, noise) {\n super(xzScale, yScale, noiseData, noise);\n this.shiftX = shiftX;\n this.shiftY = shiftY;\n this.shiftZ = shiftZ;\n }\n compute(context2) {\n const xx = context2.x * this.xzScale + this.shiftX.compute(context2);\n const yy = context2.y * this.yScale + this.shiftY.compute(context2);\n const zz = context2.z * this.xzScale + this.shiftZ.compute(context2);\n return this.noise?.sample(xx, yy, zz) ?? 0;\n }\n mapAll(visitor) {\n return visitor.map(new ShiftedNoise(this.shiftX.mapAll(visitor), this.shiftY.mapAll(visitor), this.shiftZ.mapAll(visitor), this.xzScale, this.yScale, this.noiseData, this.noise));\n }\n }\n DensityFunction2.ShiftedNoise = ShiftedNoise;\n class RangeChoice extends DensityFunction2 {\n constructor(input, minInclusive, maxExclusive, whenInRange, whenOutOfRange) {\n super();\n this.input = input;\n this.minInclusive = minInclusive;\n this.maxExclusive = maxExclusive;\n this.whenInRange = whenInRange;\n this.whenOutOfRange = whenOutOfRange;\n }\n compute(context2) {\n const x = this.input.compute(context2);\n return this.minInclusive <= x && x < this.maxExclusive ? this.whenInRange.compute(context2) : this.whenOutOfRange.compute(context2);\n }\n mapAll(visitor) {\n return visitor.map(new RangeChoice(this.input.mapAll(visitor), this.minInclusive, this.maxExclusive, this.whenInRange.mapAll(visitor), this.whenOutOfRange.mapAll(visitor)));\n }\n minValue() {\n return Math.min(this.whenInRange.minValue(), this.whenOutOfRange.minValue());\n }\n maxValue() {\n return Math.max(this.whenInRange.maxValue(), this.whenOutOfRange.maxValue());\n }\n }\n DensityFunction2.RangeChoice = RangeChoice;\n class ShiftNoise extends DensityFunction2 {\n constructor(noiseData, offsetNoise) {\n super();\n this.noiseData = noiseData;\n this.offsetNoise = offsetNoise;\n }\n compute(context2) {\n return this.offsetNoise?.sample(context2.x * 0.25, context2.y * 0.25, context2.z * 0.25) ?? 0;\n }\n maxValue() {\n return (this.offsetNoise?.maxValue ?? 2) * 4;\n }\n }\n DensityFunction2.ShiftNoise = ShiftNoise;\n class ShiftA extends ShiftNoise {\n constructor(noiseData, offsetNoise) {\n super(noiseData, offsetNoise);\n }\n compute(context2) {\n return super.compute(DensityFunction2.context(context2.x, 0, context2.z));\n }\n withNewNoise(newNoise) {\n return new ShiftA(this.noiseData, newNoise);\n }\n }\n DensityFunction2.ShiftA = ShiftA;\n class ShiftB extends ShiftNoise {\n constructor(noiseData, offsetNoise) {\n super(noiseData, offsetNoise);\n }\n compute(context2) {\n return super.compute(DensityFunction2.context(context2.z, context2.x, 0));\n }\n withNewNoise(newNoise) {\n return new ShiftB(this.noiseData, newNoise);\n }\n }\n DensityFunction2.ShiftB = ShiftB;\n class Shift extends ShiftNoise {\n constructor(noiseData, offsetNoise) {\n super(noiseData, offsetNoise);\n }\n withNewNoise(newNoise) {\n return new Shift(this.noiseData, newNoise);\n }\n }\n DensityFunction2.Shift = Shift;\n class BlendDensity extends Transformer {\n constructor(input) {\n super(input);\n }\n transform(context2, density) {\n return density;\n }\n mapAll(visitor) {\n return visitor.map(new BlendDensity(this.input.mapAll(visitor)));\n }\n minValue() {\n return -Infinity;\n }\n maxValue() {\n return Infinity;\n }\n }\n DensityFunction2.BlendDensity = BlendDensity;\n class Clamp extends Transformer {\n constructor(input, min, max) {\n super(input);\n this.min = min;\n this.max = max;\n }\n transform(context2, density) {\n return clamp(density, this.min, this.max);\n }\n mapAll(visitor) {\n return visitor.map(new Clamp(this.input.mapAll(visitor), this.min, this.max));\n }\n minValue() {\n return this.min;\n }\n maxValue() {\n return this.max;\n }\n }\n DensityFunction2.Clamp = Clamp;\n const _Mapped = class extends Transformer {\n constructor(type, input, min, max) {\n super(input);\n this.type = type;\n this.min = min;\n this.max = max;\n this.transformer = _Mapped.MappedTypes[this.type];\n }\n transform(context2, density) {\n return this.transformer(density);\n }\n mapAll(visitor) {\n return visitor.map(new _Mapped(this.type, this.input.mapAll(visitor)));\n }\n minValue() {\n return this.min ?? -Infinity;\n }\n maxValue() {\n return this.max ?? Infinity;\n }\n withMinMax() {\n const minInput = this.input.minValue();\n let min = this.transformer(minInput);\n let max = this.transformer(this.input.maxValue());\n if (this.type === \"abs\" || this.type === \"square\") {\n max = Math.max(min, max);\n min = Math.max(0, minInput);\n }\n return new _Mapped(this.type, this.input, min, max);\n }\n };\n let Mapped = _Mapped;\n Mapped.MappedTypes = {\n abs: (d) => Math.abs(d),\n square: (d) => d * d,\n cube: (d) => d * d * d,\n half_negative: (d) => d > 0 ? d : d * 0.5,\n quarter_negative: (d) => d > 0 ? d : d * 0.25,\n squeeze: (d) => {\n const c = clamp(d, -1, 1);\n return c / 2 - c * c * c / 24;\n }\n };\n DensityFunction2.Mapped = Mapped;\n const Ap2Type = [\"add\", \"mul\", \"min\", \"max\"];\n class Ap2 extends DensityFunction2 {\n constructor(type, argument1, argument2, min, max) {\n super();\n this.type = type;\n this.argument1 = argument1;\n this.argument2 = argument2;\n this.min = min;\n this.max = max;\n }\n compute(context2) {\n const a = this.argument1.compute(context2);\n switch (this.type) {\n case \"add\":\n return a + this.argument2.compute(context2);\n case \"mul\":\n return a === 0 ? 0 : a * this.argument2.compute(context2);\n case \"min\":\n return a < this.argument2.minValue() ? a : Math.min(a, this.argument2.compute(context2));\n case \"max\":\n return a > this.argument2.maxValue() ? a : Math.max(a, this.argument2.compute(context2));\n }\n }\n mapAll(visitor) {\n return visitor.map(new Ap2(this.type, this.argument1.mapAll(visitor), this.argument2.mapAll(visitor)));\n }\n minValue() {\n return this.min ?? -Infinity;\n }\n maxValue() {\n return this.max ?? Infinity;\n }\n withMinMax() {\n const min1 = this.argument1.minValue();\n const min2 = this.argument2.minValue();\n const max1 = this.argument1.maxValue();\n const max2 = this.argument2.maxValue();\n if ((this.type === \"min\" || this.type === \"max\") && (min1 >= max2 || min2 >= max1)) {\n console.warn(`Creating a ${this.type} function between two non-overlapping inputs`);\n }\n let min, max;\n switch (this.type) {\n case \"add\":\n min = min1 + min2;\n max = max1 + max2;\n break;\n case \"mul\":\n min = min1 > 0 && min2 > 0 ? min1 * min2 || 0 : max1 < 0 && max2 < 0 ? max1 * max2 || 0 : Math.min(min1 * max2 || 0, min2 * max1 || 0);\n max = min1 > 0 && min2 > 0 ? max1 * max2 || 0 : max1 < 0 && max2 < 0 ? min1 * min2 || 0 : Math.max(min1 * min2 || 0, max1 * max2 || 0);\n break;\n case \"min\":\n min = Math.min(min1, min2);\n max = Math.min(max1, max2);\n break;\n case \"max\":\n min = Math.max(min1, min2);\n max = Math.max(max1, max2);\n break;\n }\n return new Ap2(this.type, this.argument1, this.argument2, min, max);\n }\n }\n DensityFunction2.Ap2 = Ap2;\n class Spline extends DensityFunction2 {\n constructor(spline) {\n super();\n this.spline = spline;\n }\n compute(context2) {\n return this.spline.compute(context2);\n }\n mapAll(visitor) {\n const newCubicSpline = this.spline.mapAll((fn) => {\n if (fn instanceof DensityFunction2) {\n return fn.mapAll(visitor);\n }\n return fn;\n });\n newCubicSpline.calculateMinMax();\n return visitor.map(new Spline(newCubicSpline));\n }\n minValue() {\n return this.spline.min();\n }\n maxValue() {\n return this.spline.max();\n }\n }\n DensityFunction2.Spline = Spline;\n class YClampedGradient extends DensityFunction2 {\n constructor(fromY, toY, fromValue, toValue) {\n super();\n this.fromY = fromY;\n this.toY = toY;\n this.fromValue = fromValue;\n this.toValue = toValue;\n }\n compute(context2) {\n return clampedMap(context2.y, this.fromY, this.toY, this.fromValue, this.toValue);\n }\n minValue() {\n return Math.min(this.fromValue, this.toValue);\n }\n maxValue() {\n return Math.max(this.fromValue, this.toValue);\n }\n }\n DensityFunction2.YClampedGradient = YClampedGradient;\n})(DensityFunction || (DensityFunction = {}));\n\nclass FluidStatus {\n constructor(level, type) {\n this.level = level;\n this.type = type;\n }\n at(level) {\n return level < this.level ? this.type : BlockState.AIR;\n }\n}\nvar Aquifer;\n(function(Aquifer2) {\n function createDisabled(fluidPicker) {\n return {\n compute({ x, y, z }, density) {\n if (density > 0) {\n return void 0;\n }\n return fluidPicker(x, y, z).at(y);\n }\n };\n }\n Aquifer2.createDisabled = createDisabled;\n})(Aquifer || (Aquifer = {}));\nconst _NoiseAquifer = class {\n constructor(noiseChunk, chunkPos, barrierNoise, fluidLevelFloodednessNoise, fluidLevelSpreadNoise, lavaNoise, random, minY, height, globalFluidPicker) {\n this.noiseChunk = noiseChunk;\n this.barrierNoise = barrierNoise;\n this.fluidLevelFloodednessNoise = fluidLevelFloodednessNoise;\n this.fluidLevelSpreadNoise = fluidLevelSpreadNoise;\n this.lavaNoise = lavaNoise;\n this.random = random;\n this.globalFluidPicker = globalFluidPicker;\n this.minGridX = this.gridX(ChunkPos.minBlockX(chunkPos)) - 1;\n this.gridSizeX = this.gridX(ChunkPos.maxBlockX(chunkPos)) + 1 - this.minGridX + 1;\n this.minGridY = this.gridY(minY) - 1;\n this.minGridZ = this.gridZ(ChunkPos.minBlockZ(chunkPos)) - 1;\n this.gridSizeZ = this.gridZ(ChunkPos.maxBlockZ(chunkPos)) + 1 - this.minGridZ + 1;\n const gridSizeY = this.gridY(minY + height) + 1 - this.minGridY + 1;\n this.gridSize = this.gridSizeX * gridSizeY * this.gridSizeZ;\n this.aquiferCache = Array(this.gridSize).fill(void 0);\n this.aquiferLocationCache = Array(this.gridSize).fill(BlockPos$1.ZERO);\n }\n compute({ x, y, z }, density) {\n if (density <= 0) {\n if (this.globalFluidPicker(x, y, z).at(y).is(BlockState.LAVA)) {\n return BlockState.LAVA;\n } else {\n const gridX = this.gridX(x - 5);\n const gridY = this.gridY(y + 1);\n const gridZ = this.gridZ(z - 5);\n let mag1 = Number.MAX_SAFE_INTEGER;\n let mag2 = Number.MAX_SAFE_INTEGER;\n let mag3 = Number.MAX_SAFE_INTEGER;\n let loc1 = BlockPos$1.ZERO;\n let loc2 = BlockPos$1.ZERO;\n let loc3 = BlockPos$1.ZERO;\n for (let xOffset = 0; xOffset <= 1; xOffset += 1) {\n for (let yOffset = -1; yOffset <= 1; yOffset += 1) {\n for (let zOffset = 0; zOffset <= 1; zOffset += 1) {\n const location = this.getLocation(gridX + xOffset, gridY + yOffset, gridZ + zOffset);\n const magnitude = BlockPos$1.magnitude(location);\n if (mag1 >= magnitude) {\n loc3 = loc2;\n loc2 = loc1;\n loc1 = location;\n mag3 = mag2;\n mag2 = mag1;\n mag1 = magnitude;\n } else if (mag2 >= magnitude) {\n loc3 = loc2;\n loc2 = location;\n mag3 = mag2;\n mag2 = magnitude;\n } else if (mag3 >= magnitude) {\n loc3 = location;\n mag3 = magnitude;\n }\n }\n }\n }\n const status1 = this.getStatus(loc1);\n const status2 = this.getStatus(loc2);\n const status3 = this.getStatus(loc3);\n const similarity12 = _NoiseAquifer.similarity(mag1, mag2);\n const similarity13 = _NoiseAquifer.similarity(mag1, mag3);\n const similarity23 = _NoiseAquifer.similarity(mag2, mag3);\n let pressure;\n if (status1.at(y).is(BlockState.WATER) && this.globalFluidPicker(x, y - 1, z).at(y - 1).is(BlockState.LAVA)) {\n pressure = 1;\n } else if (similarity12 > -1) {\n const barrier = lazy(() => this.barrierNoise.compute(DensityFunction.context(x, y * 0.5, z)));\n const pressure12 = this.calculatePressure(y, status1, status2, barrier);\n const pressure13 = this.calculatePressure(y, status1, status3, barrier);\n const pressure23 = this.calculatePressure(y, status2, status3, barrier);\n const n = Math.max(pressure12, pressure13 * Math.max(0, similarity13), pressure23 * Math.max(similarity23));\n pressure = Math.max(0, 2 * Math.max(0, similarity12) * n);\n } else {\n pressure = 0;\n }\n if (density + pressure <= 0) {\n return status1.at(y);\n }\n }\n }\n return void 0;\n }\n static similarity(a, b) {\n return 1 - Math.abs(b - a) / 25;\n }\n calculatePressure(y, status1, status2, barrier) {\n const fluid1 = status1.at(y);\n const fluid2 = status2.at(y);\n if (fluid1.is(BlockState.LAVA) && fluid2.is(BlockState.WATER) || fluid1.is(BlockState.WATER) && fluid2.is(BlockState.LAVA)) {\n return 1;\n }\n const levelDiff = Math.abs(status1.level - status2.level);\n if (levelDiff === 0) {\n return 0;\n }\n const levelAvg = (status1.level + status2.level) / 2;\n const levelAvgDiff = y + 0.5 - levelAvg;\n const p = levelDiff / 2 - Math.abs(levelAvgDiff);\n const pressure = levelAvgDiff > 0 ? p > 0 ? p / 1.5 : p / 2.5 : p > -3 ? (p + 3) / 3 : (p + 3) / 10;\n if (pressure < -2 || pressure > 2) {\n return pressure;\n }\n return pressure + barrier();\n }\n getStatus(location) {\n const [x, y, z] = location;\n const index = this.getIndex(this.gridX(x), this.gridY(y), this.gridZ(z));\n const cachedStatus = this.aquiferCache[index];\n if (cachedStatus !== void 0) {\n return cachedStatus;\n }\n const status = this.computeStatus(x, y, z);\n this.aquiferCache[index] = status;\n return status;\n }\n computeStatus(x, y, z) {\n const globalStatus = this.globalFluidPicker(x, y, z);\n let minPreliminarySurface = Number.MAX_SAFE_INTEGER;\n let isAquifer = false;\n for (const [xOffset, zOffset] of _NoiseAquifer.SURFACE_SAMPLING) {\n const blockX = x + (zOffset << 4);\n const blockZ = z + (zOffset << 4);\n const preliminarySurface = this.noiseChunk.getPreliminarySurfaceLevel(blockX, blockZ);\n minPreliminarySurface = Math.min(minPreliminarySurface, preliminarySurface);\n const noOffset = xOffset === 0 && zOffset === 0;\n if (noOffset && y - 12 > preliminarySurface + 8) {\n return globalStatus;\n }\n if (noOffset || y + 12 > preliminarySurface + 8) {\n const newStatus = this.globalFluidPicker(blockX, preliminarySurface + 8, blockZ);\n if (!newStatus.at(preliminarySurface + 8).is(BlockState.AIR)) {\n if (noOffset) {\n return newStatus;\n } else {\n isAquifer = true;\n }\n }\n }\n }\n const allowedFloodedness = isAquifer ? clampedMap(minPreliminarySurface + 8 - y, 0, 64, 1, 0) : 0;\n const floodedness = clamp(this.fluidLevelFloodednessNoise.compute(DensityFunction.context(x, y * 0.67, z)), -1, 1);\n if (floodedness > map(allowedFloodedness, 1, 0, -0.3, 0.8)) {\n return globalStatus;\n }\n if (floodedness <= map(allowedFloodedness, 1, 0, -0.8, 0.4)) {\n return new FluidStatus(Number.MIN_SAFE_INTEGER, globalStatus.type);\n }\n const gridY = Math.floor(y / 40);\n const spread = this.fluidLevelSpreadNoise.compute(DensityFunction.context(Math.floor(x / 16), gridY, Math.floor(z / 16)));\n const level = gridY * 40 + 20 + Math.floor(spread / 3) * 3;\n const statusLevel = Math.min(minPreliminarySurface, level);\n const fluid = this.getFluidType(x, y, z, globalStatus.type, level);\n return new FluidStatus(statusLevel, fluid);\n }\n getFluidType(x, y, z, global, level) {\n if (level <= -10) {\n const lava = this.lavaNoise.compute(DensityFunction.context(Math.floor(x / 64), Math.floor(y / 40), Math.floor(z / 64)));\n if (Math.abs(lava) > 0.3) {\n return BlockState.LAVA;\n }\n }\n return global;\n }\n getLocation(x, y, z) {\n const index = this.getIndex(x, y, z);\n const cachedLocation = this.aquiferLocationCache[index];\n if (BlockPos$1.equals(cachedLocation, BlockPos$1.ZERO)) {\n return cachedLocation;\n }\n const random = this.random.at(x, y, z);\n const location = BlockPos$1.create(x * _NoiseAquifer.X_SPACING + random.nextInt(10), y * _NoiseAquifer.Y_SPACING + random.nextInt(9), z * _NoiseAquifer.Z_SPACING + random.nextInt(10));\n this.aquiferLocationCache[index] = location;\n return location;\n }\n getIndex(x, y, z) {\n const gridX = x - this.minGridX;\n const gridY = y - this.minGridY;\n const gridZ = z - this.minGridZ;\n const index = (gridY * this.gridSizeZ + gridZ) * this.gridSizeX + gridX;\n if (index < 0 || index >= this.gridSize) {\n throw new Error(`Invalid aquifer index at ${x} ${y} ${z}: 0 <= ${index} < ${this.gridSize}`);\n }\n return index;\n }\n gridX(x) {\n return Math.floor(x / _NoiseAquifer.X_SPACING);\n }\n gridY(y) {\n return Math.floor(y / _NoiseAquifer.Y_SPACING);\n }\n gridZ(z) {\n return Math.floor(z / _NoiseAquifer.Z_SPACING);\n }\n};\nlet NoiseAquifer$1 = _NoiseAquifer;\nNoiseAquifer$1.X_SPACING = 16;\nNoiseAquifer$1.Y_SPACING = 12;\nNoiseAquifer$1.Z_SPACING = 16;\nNoiseAquifer$1.SURFACE_SAMPLING = [[-2, -1], [-1, -1], [0, -1], [1, -1], [-3, 0], [-2, 0], [-1, 0], [0, 0], [1, 0], [-2, 1], [-1, 1], [0, 1], [1, 1]];\n\nvar Climate;\n(function(Climate2) {\n const PARAMETER_SPACE = 7;\n function target(temperature, humidity, continentalness, erosion, depth, weirdness) {\n return new TargetPoint(temperature, humidity, continentalness, erosion, depth, weirdness);\n }\n Climate2.target = target;\n function parameters(temperature, humidity, continentalness, erosion, depth, weirdness, offset) {\n return new ParamPoint(param(temperature), param(humidity), param(continentalness), param(erosion), param(depth), param(weirdness), offset);\n }\n Climate2.parameters = parameters;\n function param(value, max) {\n if (typeof value === \"number\") {\n return new Param(value, max ?? value);\n }\n return value;\n }\n Climate2.param = param;\n class Param {\n constructor(min, max) {\n this.min = min;\n this.max = max;\n }\n distance(param2) {\n const diffMax = (typeof param2 === \"number\" ? param2 : param2.min) - this.max;\n const diffMin = this.min - (typeof param2 === \"number\" ? param2 : param2.max);\n if (diffMax > 0) {\n return diffMax;\n }\n return Math.max(diffMin, 0);\n }\n union(param2) {\n return new Param(Math.min(this.min, param2.min), Math.max(this.max, param2.max));\n }\n static fromJson(obj) {\n if (typeof obj === \"number\")\n return new Param(obj, obj);\n const [min, max] = Json.readArray(obj, (e) => Json.readNumber(e)) ?? [];\n return new Param(min ?? 0, max ?? 0);\n }\n }\n Climate2.Param = Param;\n class ParamPoint {\n constructor(temperature, humidity, continentalness, erosion, depth, weirdness, offset) {\n this.temperature = temperature;\n this.humidity = humidity;\n this.continentalness = continentalness;\n this.erosion = erosion;\n this.depth = depth;\n this.weirdness = weirdness;\n this.offset = offset;\n }\n fittness(point) {\n return square(this.temperature.distance(point.temperature)) + square(this.humidity.distance(point.humidity)) + square(this.continentalness.distance(point.continentalness)) + square(this.erosion.distance(point.erosion)) + square(this.depth.distance(point.depth)) + square(this.weirdness.distance(point.weirdness)) + square(this.offset - point.offset);\n }\n space() {\n return [this.temperature, this.humidity, this.continentalness, this.erosion, this.depth, this.weirdness, new Param(this.offset, this.offset)];\n }\n static fromJson(obj) {\n const root = Json.readObject(obj) ?? {};\n return new ParamPoint(Param.fromJson(root.temperature), Param.fromJson(root.humidity), Param.fromJson(root.continentalness), Param.fromJson(root.erosion), Param.fromJson(root.depth), Param.fromJson(root.weirdness), Json.readInt(root.offset) ?? 0);\n }\n }\n Climate2.ParamPoint = ParamPoint;\n class TargetPoint {\n constructor(temperature, humidity, continentalness, erosion, depth, weirdness) {\n this.temperature = temperature;\n this.humidity = humidity;\n this.continentalness = continentalness;\n this.erosion = erosion;\n this.depth = depth;\n this.weirdness = weirdness;\n }\n get offset() {\n return 0;\n }\n toArray() {\n return [this.temperature, this.humidity, this.continentalness, this.erosion, this.depth, this.weirdness, this.offset];\n }\n }\n Climate2.TargetPoint = TargetPoint;\n class Parameters {\n constructor(things) {\n this.things = things;\n this.index = new RTree(things);\n }\n find(target2) {\n return this.index.search(target2, (node, values) => node.distance(values));\n }\n }\n Climate2.Parameters = Parameters;\n class Sampler {\n constructor(temperature, humidity, continentalness, erosion, depth, weirdness) {\n this.temperature = temperature;\n this.humidity = humidity;\n this.continentalness = continentalness;\n this.erosion = erosion;\n this.depth = depth;\n this.weirdness = weirdness;\n }\n static fromRouter(router) {\n return new Climate2.Sampler(router.temperature, router.vegetation, router.continents, router.erosion, router.depth, router.ridges);\n }\n sample(x, y, z) {\n const context = DensityFunction.context(x << 2, y << 2, z << 2);\n return Climate2.target(this.temperature.compute(context), this.humidity.compute(context), this.continentalness.compute(context), this.erosion.compute(context), this.depth.compute(context), this.weirdness.compute(context));\n }\n }\n Climate2.Sampler = Sampler;\n const _RTree = class {\n constructor(points) {\n this.root = _RTree.build(points.map(([point, thing]) => new RLeaf(point, thing)));\n }\n static build(nodes) {\n if (nodes.length === 1) {\n return nodes[0];\n }\n if (nodes.length <= _RTree.CHILDREN_PER_NODE) {\n const sortedNodes = nodes.map((node) => {\n let key = 0;\n for (let i = 0; i < PARAMETER_SPACE; i += 1) {\n const param2 = node.space[i];\n key += Math.abs((param2.min + param2.max) / 2);\n }\n return { key, node };\n }).sort((a, b) => a.key - b.key).map(({ node }) => node);\n return new RSubTree(sortedNodes);\n }\n let f = Infinity;\n let n3 = -1;\n let result = [];\n for (let n2 = 0; n2 < PARAMETER_SPACE; ++n2) {\n nodes = _RTree.sort(nodes, n2, false);\n result = _RTree.bucketize(nodes);\n let f2 = 0;\n for (const subTree2 of result) {\n f2 += _RTree.area(subTree2.space);\n }\n if (!(f > f2))\n continue;\n f = f2;\n n3 = n2;\n }\n nodes = _RTree.sort(nodes, n3, false);\n result = _RTree.bucketize(nodes);\n result = _RTree.sort(result, n3, true);\n return new RSubTree(result.map((subTree) => _RTree.build(subTree.children)));\n }\n static sort(nodes, i, abs) {\n return nodes.map((node) => {\n const param2 = node.space[i];\n const f = (param2.min + param2.max) / 2;\n const key = abs ? Math.abs(f) : f;\n return { key, node };\n }).sort((a, b) => a.key - b.key).map(({ node }) => node);\n }\n static bucketize(nodes) {\n const arrayList = [];\n let arrayList2 = [];\n const n = Math.pow(10, Math.floor(Math.log(nodes.length - 0.01) / Math.log(10)));\n for (const node of nodes) {\n arrayList2.push(node);\n if (arrayList2.length < n)\n continue;\n arrayList.push(new RSubTree(arrayList2));\n arrayList2 = [];\n }\n if (arrayList2.length !== 0) {\n arrayList.push(new RSubTree(arrayList2));\n }\n return arrayList;\n }\n static area(params) {\n let f = 0;\n for (const param2 of params) {\n f += Math.abs(param2.max - param2.min);\n }\n return f;\n }\n search(target2, distance) {\n const leaf = this.root.search(target2.toArray(), distance);\n return leaf.thing();\n }\n };\n let RTree = _RTree;\n RTree.CHILDREN_PER_NODE = 10;\n Climate2.RTree = RTree;\n class RNode {\n constructor(space) {\n this.space = space;\n }\n distance(values) {\n let result = 0;\n for (let i = 0; i < PARAMETER_SPACE; i += 1) {\n result += square(this.space[i].distance(values[i]));\n }\n return result;\n }\n }\n Climate2.RNode = RNode;\n class RSubTree extends RNode {\n constructor(children) {\n super(RSubTree.buildSpace(children));\n this.children = children;\n }\n static buildSpace(nodes) {\n let space = [...Array(PARAMETER_SPACE)].map(() => new Param(Infinity, -Infinity));\n for (const node of nodes) {\n space = [...Array(PARAMETER_SPACE)].map((_, i) => space[i].union(node.space[i]));\n }\n return space;\n }\n search(values, distance) {\n let dist = Infinity;\n let leaf = null;\n for (const node of this.children) {\n const d1 = distance(node, values);\n if (dist <= d1)\n continue;\n const leaf2 = node.search(values, distance);\n const d2 = node == leaf2 ? d1 : distance(leaf2, values);\n if (dist <= d2)\n continue;\n dist = d2;\n leaf = leaf2;\n }\n return leaf;\n }\n }\n Climate2.RSubTree = RSubTree;\n class RLeaf extends RNode {\n constructor(point, thing) {\n super(point.space());\n this.thing = thing;\n }\n search() {\n return this;\n }\n }\n Climate2.RLeaf = RLeaf;\n})(Climate || (Climate = {}));\n\nclass FixedBiome {\n constructor(biome) {\n this.biome = biome;\n }\n getBiome() {\n return this.biome;\n }\n static fromJson(obj) {\n const root = Json.readObject(obj) ?? {};\n const biome = Identifier.parse(Json.readString(root.biome) ?? \"minecraft:the_void\");\n return new FixedBiome(biome);\n }\n}\n\nclass MultiNoise {\n constructor(parameters) {\n this.parameters = parameters;\n }\n getBiome(x, y, z, climateSampler) {\n const target = climateSampler.sample(x, y, z);\n return this.parameters.find(target);\n }\n static fromJson(obj) {\n const root = Json.readObject(obj) ?? {};\n const biomes = Json.readArray(root.biomes, (b) => ((b2) => ({\n biome: Identifier.parse(Json.readString(b2.biome) ?? \"minecraft:the_void\"),\n parameters: Climate.ParamPoint.fromJson(b2.parameters)\n }))(Json.readObject(b) ?? {})) ?? [];\n const parameters = biomes.map((b) => [b.parameters, () => b.biome]);\n return new MultiNoise(new Climate.Parameters(parameters));\n }\n}\n\nvar Noises;\n(function(Noises2) {\n Noises2.TEMPERATURE = create(\"temperature\", -10, [1.5, 0, 1, 0, 0, 0]);\n Noises2.VEGETATION = create(\"vegetation\", -8, [1, 1, 0, 0, 0, 0]);\n Noises2.CONTINENTALNESS = create(\"continentalness\", -9, [1, 1, 2, 2, 2, 1, 1, 1, 1]);\n Noises2.EROSION = create(\"erosion\", -9, [1, 1, 0, 1, 1]);\n Noises2.TEMPERATURE_LARGE = create(\"temperature_large\", -12, [1.5, 0, 1, 0, 0, 0]);\n Noises2.VEGETATION_LARGE = create(\"vegetation_large\", -10, [1, 1, 0, 0, 0, 0]);\n Noises2.CONTINENTALNESS_LARGE = create(\"continentalness_large\", -11, [1, 1, 2, 2, 2, 1, 1, 1, 1]);\n Noises2.EROSION_LARGE = create(\"erosion_large\", -11, [1, 1, 0, 1, 1]);\n Noises2.RIDGE = create(\"ridge\", -7, [1, 2, 1, 0, 0, 0]);\n Noises2.SHIFT = create(\"offset\", -3, [1, 1, 1, 0]);\n Noises2.AQUIFER_BARRIER = create(\"aquifer_barrier\", -3, [1]);\n Noises2.AQUIFER_FLUID_LEVEL_FLOODEDNESS = create(\"aquifer_fluid_level_floodedness\", -7, [1]);\n Noises2.AQUIFER_FLUID_LEVEL_SPREAD = create(\"aquifer_fluid_level_spread\", -5, [1]);\n Noises2.AQUIFER_LAVA = create(\"aquifer_lava\", -1, [1]);\n Noises2.PILLAR = create(\"pillar\", -7, [1, 1]);\n Noises2.PILLAR_RARENESS = create(\"pillar_rareness\", -8, [1]);\n Noises2.PILLAR_THICKNESS = create(\"pillar_thickness\", -8, [1]);\n Noises2.SPAGHETTI_2D = create(\"spaghetti_2d\", -8, [1]);\n Noises2.SPAGHETTI_2D_ELEVATION = create(\"spaghetti_2d_elevation\", -8, [1]);\n Noises2.SPAGHETTI_2D_MODULATOR = create(\"spaghetti_2d_modulator\", -8, [1]);\n Noises2.SPAGHETTI_2D_THICKNESS = create(\"spaghetti_2d_thickness\", -8, [1]);\n Noises2.SPAGHETTI_3D_1 = create(\"spaghetti_3d_1\", -8, [1]);\n Noises2.SPAGHETTI_3D_2 = create(\"spaghetti_3d_2\", -8, [1]);\n Noises2.SPAGHETTI_3D_RARITY = create(\"spaghetti_3d_rarity\", -8, [1]);\n Noises2.SPAGHETTI_3D_THICKNESS = create(\"spaghetti_3d_thickness\", -8, [1]);\n Noises2.SPAGHETTI_ROUGHNESS = create(\"spaghetti_roughness\", -8, [1]);\n Noises2.SPAGHETTI_ROUGHNESS_MODULATOR = create(\"spaghetti_roughness_modulator\", -8, [1]);\n Noises2.CAVE_ENTRANCE = create(\"cave_entrance\", -7, [0.4, 0.5, 1]);\n Noises2.CAVE_LAYER = create(\"cave_layer\", -8, [1]);\n Noises2.CAVE_CHEESE = create(\"cave_cheese\", -8, [0.5, 1, 2, 1, 2, 1, 0, 2, 0]);\n Noises2.NOODLE = create(\"noodle\", -8, [1]);\n Noises2.NOODLE_THICKNESS = create(\"noodle_thickness\", -8, [1]);\n Noises2.NOODLE_RIDGE_A = create(\"noodle_ridge_a\", -7, [1]);\n Noises2.NOODLE_RIDGE_B = create(\"noodle_ridge_b\", -7, [1]);\n Noises2.JAGGED = create(\"jagged\", -16, [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]);\n Noises2.SURFACE = create(\"surface\", -6, [1, 1, 1]);\n Noises2.SURFACE_SECONDARY = create(\"surface_secondary\", -6, [1, 1, 0, 1]);\n function create(name, firstOctave, amplitudes) {\n return WorldgenRegistries.NOISE.register(Identifier.create(name), NoiseParameters.create(firstOctave, amplitudes));\n }\n const noiseCache = new Map();\n function instantiate(random, noise) {\n const key = noise.key()?.toString();\n if (!key) {\n throw new Error(\"Cannot instantiate noise from direct holder\");\n }\n const randomKey = random.seedKey();\n const cached = noiseCache.get(key);\n if (cached && cached[0] === randomKey[0] && cached[1] === randomKey[1]) {\n return cached[2];\n }\n const result = new NormalNoise(random.fromHashOf(key), noise.value());\n noiseCache.set(key, [randomKey[0], randomKey[1], result]);\n return result;\n }\n Noises2.instantiate = instantiate;\n})(Noises || (Noises = {}));\n\nvar NoiseSettings;\n(function(NoiseSettings2) {\n function fromJson(obj) {\n const root = Json.readObject(obj) ?? {};\n return {\n minY: Json.readInt(root.min_y) ?? 0,\n height: Json.readInt(root.height) ?? 256,\n xzSize: Json.readInt(root.size_horizontal) ?? 1,\n ySize: Json.readInt(root.size_vertical) ?? 1\n };\n }\n NoiseSettings2.fromJson = fromJson;\n function cellHeight(settings) {\n return settings.ySize << 2;\n }\n NoiseSettings2.cellHeight = cellHeight;\n function cellWidth(settings) {\n return settings.xzSize << 2;\n }\n NoiseSettings2.cellWidth = cellWidth;\n function cellCountY(settings) {\n return settings.height / cellHeight(settings);\n }\n NoiseSettings2.cellCountY = cellCountY;\n function minCellY(settings) {\n return Math.floor(settings.minY / cellHeight(settings));\n }\n NoiseSettings2.minCellY = minCellY;\n})(NoiseSettings || (NoiseSettings = {}));\nvar NoiseSlideSettings;\n(function(NoiseSlideSettings2) {\n function fromJson(obj) {\n const root = Json.readObject(obj) ?? {};\n return {\n target: Json.readNumber(root.target) ?? 0,\n size: Json.readInt(root.size) ?? 0,\n offset: Json.readInt(root.offset) ?? 0\n };\n }\n NoiseSlideSettings2.fromJson = fromJson;\n function apply(slide, density, y) {\n if (slide.size <= 0)\n return density;\n const t = (y - slide.offset) / slide.size;\n return clampedLerp(slide.target, density, t);\n }\n NoiseSlideSettings2.apply = apply;\n})(NoiseSlideSettings || (NoiseSlideSettings = {}));\n\nvar NoiseRouter;\n(function(NoiseRouter2) {\n const parser = (obj) => Holder.parser(WorldgenRegistries.DENSITY_FUNCTION, DensityFunction.fromJson)(obj).value();\n function fromJson(obj) {\n const root = Json.readObject(obj) ?? {};\n return {\n barrier: parser(root.barrier),\n fluidLevelFloodedness: parser(root.fluid_level_floodedness),\n fluidLevelSpread: parser(root.fluid_level_spread),\n lava: parser(root.lava),\n temperature: parser(root.temperature),\n vegetation: parser(root.vegetation),\n continents: parser(root.continents),\n erosion: parser(root.erosion),\n depth: parser(root.depth),\n ridges: parser(root.ridges),\n initialDensityWithoutJaggedness: parser(root.initial_density_without_jaggedness),\n finalDensity: parser(root.final_density),\n veinToggle: parser(root.vein_toggle),\n veinRidged: parser(root.vein_ridged),\n veinGap: parser(root.vein_gap)\n };\n }\n NoiseRouter2.fromJson = fromJson;\n function create(router) {\n return {\n barrier: DensityFunction.Constant.ZERO,\n fluidLevelFloodedness: DensityFunction.Constant.ZERO,\n fluidLevelSpread: DensityFunction.Constant.ZERO,\n lava: DensityFunction.Constant.ZERO,\n temperature: DensityFunction.Constant.ZERO,\n vegetation: DensityFunction.Constant.ZERO,\n continents: DensityFunction.Constant.ZERO,\n erosion: DensityFunction.Constant.ZERO,\n depth: DensityFunction.Constant.ZERO,\n ridges: DensityFunction.Constant.ZERO,\n initialDensityWithoutJaggedness: DensityFunction.Constant.ZERO,\n finalDensity: DensityFunction.Constant.ZERO,\n veinToggle: DensityFunction.Constant.ZERO,\n veinRidged: DensityFunction.Constant.ZERO,\n veinGap: DensityFunction.Constant.ZERO,\n ...router\n };\n }\n NoiseRouter2.create = create;\n function withSettings(simple, settings, seed, legacyRandomSource = false) {\n const random = (legacyRandomSource ? new LegacyRandom(seed) : XoroshiroRandom.create(seed)).forkPositional();\n const visitor = new Visitor(random, settings);\n return {\n ...visitor.mapAll(simple),\n aquiferPositionalRandomFactory: random.fromHashOf(Identifier.create(\"aquifer\").toString()).forkPositional(),\n oreVeinsPositionalRandomFactory: random.fromHashOf(Identifier.create(\"ore\").toString()).forkPositional()\n };\n }\n NoiseRouter2.withSettings = withSettings;\n class Visitor {\n constructor(random, settings) {\n this.random = random;\n this.settings = settings;\n this.mapped = new Map();\n }\n map(fn) {\n if (fn instanceof DensityFunction.HolderHolder) {\n const key = fn.holder.key();\n if (key !== void 0 && this.mapped.has(key.toString())) {\n return this.mapped.get(key.toString());\n } else {\n const value = fn.holder.value().mapAll(this);\n if (key !== void 0) {\n this.mapped.set(key.toString(), value);\n }\n return value;\n }\n }\n if (fn instanceof DensityFunction.Interpolated) {\n return fn.withCellSize(NoiseSettings.cellWidth(this.settings), NoiseSettings.cellHeight(this.settings));\n }\n if (fn instanceof DensityFunction.ShiftedNoise) {\n const noise = Noises.instantiate(this.random, fn.noiseData);\n return new DensityFunction.ShiftedNoise(fn.shiftX, fn.shiftY, fn.shiftZ, fn.xzScale, fn.yScale, fn.noiseData, noise);\n }\n if (fn instanceof DensityFunction.Noise) {\n return new DensityFunction.Noise(fn.xzScale, fn.yScale, fn.noiseData, Noises.instantiate(this.random, fn.noiseData));\n }\n if (fn instanceof DensityFunction.ShiftNoise) {\n return fn.withNewNoise(Noises.instantiate(this.random, fn.noiseData));\n }\n if (fn instanceof DensityFunction.WeirdScaledSampler) {\n return new DensityFunction.WeirdScaledSampler(fn.input, fn.rarityValueMapper, fn.noiseData, Noises.instantiate(this.random, fn.noiseData));\n }\n if (fn instanceof DensityFunction.OldBlendedNoise) {\n return new DensityFunction.OldBlendedNoise(fn.xzScale, fn.yScale, fn.xzFactor, fn.yFactor, fn.smearScaleMultiplier, new BlendedNoise(this.random.fromHashOf(Identifier.create(\"terrain\").toString()), fn.xzScale, fn.yScale, fn.xzFactor, fn.yFactor, fn.smearScaleMultiplier));\n }\n if (fn instanceof DensityFunction.Mapped) {\n return fn.withMinMax();\n }\n if (fn instanceof DensityFunction.Ap2) {\n return fn.withMinMax();\n }\n return fn;\n }\n mapAll(router) {\n return {\n barrier: router.barrier.mapAll(this),\n fluidLevelFloodedness: router.fluidLevelFloodedness.mapAll(this),\n fluidLevelSpread: router.fluidLevelSpread.mapAll(this),\n lava: router.lava.mapAll(this),\n temperature: router.temperature.mapAll(this),\n vegetation: router.vegetation.mapAll(this),\n continents: router.continents.mapAll(this),\n erosion: router.erosion.mapAll(this),\n depth: router.depth.mapAll(this),\n ridges: router.ridges.mapAll(this),\n initialDensityWithoutJaggedness: router.initialDensityWithoutJaggedness.mapAll(this),\n finalDensity: router.finalDensity.mapAll(this),\n veinToggle: router.veinToggle.mapAll(this),\n veinRidged: router.veinRidged.mapAll(this),\n veinGap: router.veinGap.mapAll(this)\n };\n }\n }\n NoiseRouter2.Visitor = Visitor;\n function computePreliminarySurfaceLevelScanning(settings, initialDensity, x, z) {\n const maxCellY = NoiseSettings.minCellY(settings) + NoiseSettings.cellCountY(settings);\n const minCellY = NoiseSettings.minCellY(settings);\n const cellHeight = NoiseSettings.cellHeight(settings);\n for (let yCell = maxCellY; yCell >= minCellY; yCell -= 1) {\n const y = yCell * cellHeight;\n const density = clamp(initialDensity.compute(DensityFunction.context(x, y, z)), -64, 64);\n if (density >= 0.390625) {\n return y;\n }\n }\n return Number.MAX_SAFE_INTEGER;\n }\n NoiseRouter2.computePreliminarySurfaceLevelScanning = computePreliminarySurfaceLevelScanning;\n})(NoiseRouter || (NoiseRouter = {}));\n\nclass NoiseChunk {\n constructor(cellCountXZ, cellCountY, cellNoiseMinY, router, minX, minZ, settings, aquifersEnabled, fluidPicker) {\n this.cellCountXZ = cellCountXZ;\n this.cellCountY = cellCountY;\n this.cellNoiseMinY = cellNoiseMinY;\n this.router = router;\n this.minX = minX;\n this.minZ = minZ;\n this.settings = settings;\n this.preliminarySurfaceLevel = new Map();\n this.cellWidth = NoiseSettings.cellWidth(settings);\n this.cellHeight = NoiseSettings.cellHeight(settings);\n this.firstCellX = Math.floor(minX / this.cellWidth);\n this.firstCellZ = Math.floor(minZ / this.cellWidth);\n this.firstNoiseX = minX >> 2;\n this.firstNoiseZ = minZ >> 2;\n this.noiseSizeXZ = cellCountXZ * this.cellWidth >> 2;\n if (!aquifersEnabled || true) {\n this.aquifer = Aquifer.createDisabled(fluidPicker);\n } else {\n const chunkPos = ChunkPos.fromBlockPos(BlockPos.create(minX, 0, minZ));\n const minY = cellNoiseMinY * NoiseSettings.cellHeight(settings);\n const height = cellCountY * NoiseSettings.cellHeight(settings);\n this.aquifer = new NoiseAquifer(this, chunkPos, router.barrier, router.fluidLevelFloodedness, router.fluidLevelSpread, router.lava, router.aquiferPositionalRandomFactory, minY, height, fluidPicker);\n }\n const finalDensity = this.router.finalDensity;\n this.materialRule = MaterialRule.fromList([\n (context) => this.aquifer.compute(context, finalDensity.compute(context))\n ]);\n this.initialDensityWithoutJaggedness = this.router.initialDensityWithoutJaggedness;\n }\n getFinalState(x, y, z) {\n return this.materialRule({ x, y, z });\n }\n getPreliminarySurfaceLevel(x, z) {\n return computeIfAbsent(this.preliminarySurfaceLevel, ChunkPos.asLong(x, z), () => {\n const level = NoiseRouter.computePreliminarySurfaceLevelScanning(this.settings, this.initialDensityWithoutJaggedness, x << 2, z << 2);\n return level;\n });\n }\n getAquifer() {\n return this.aquifer;\n }\n}\nvar MaterialRule;\n(function(MaterialRule2) {\n function fromList(rules) {\n return (context) => {\n for (const rule of rules) {\n const state = rule(context);\n if (state)\n return state;\n }\n return void 0;\n };\n }\n MaterialRule2.fromList = fromList;\n})(MaterialRule || (MaterialRule = {}));\n\nvar VerticalAnchor;\n(function(VerticalAnchor2) {\n function fromJson(obj) {\n const root = Json.readObject(obj) ?? {};\n if (root.absolute !== void 0) {\n return absolute(Json.readNumber(root.absolute) ?? 0);\n } else if (root.above_bottom !== void 0) {\n return aboveBottom(Json.readNumber(root.above_bottom) ?? 0);\n } else if (root.below_top !== void 0) {\n return belowTop(Json.readNumber(root.below_top) ?? 0);\n }\n return () => 0;\n }\n VerticalAnchor2.fromJson = fromJson;\n function absolute(value) {\n return () => value;\n }\n function aboveBottom(value) {\n return (context) => context.minY + value;\n }\n function belowTop(value) {\n return (context) => context.maxY - value;\n }\n})(VerticalAnchor || (VerticalAnchor = {}));\nvar WorldgenContext;\n(function(WorldgenContext2) {\n function create(minY, height) {\n return {\n minY,\n height,\n maxY: minY + height - 1\n };\n }\n WorldgenContext2.create = create;\n})(WorldgenContext || (WorldgenContext = {}));\n\nclass SurfaceSystem {\n constructor(rule, defaultBlock, seed) {\n this.rule = rule;\n this.defaultBlock = defaultBlock;\n this.random = XoroshiroRandom.create(seed).forkPositional();\n this.surfaceNoise = Noises.instantiate(this.random, Noises.SURFACE);\n this.surfaceSecondaryNoise = Noises.instantiate(this.random, Noises.SURFACE_SECONDARY);\n this.positionalRandoms = new Map();\n }\n buildSurface(chunk, noiseChunk, worldgenContext, getBiome) {\n const minX = ChunkPos.minBlockX(chunk.pos);\n const minZ = ChunkPos.minBlockZ(chunk.pos);\n const surfaceContext = new SurfaceContext(this, chunk, noiseChunk, worldgenContext, getBiome);\n const ruleWithContext = this.rule(surfaceContext);\n for (let x = 0; x < 16; x += 1) {\n const worldX = minX + x;\n for (let z = 0; z < 1; z += 1) {\n const worldZ = minZ + z;\n surfaceContext.updateXZ(worldX, worldZ);\n let stoneDepthAbove = 0;\n let waterHeight = Number.MIN_SAFE_INTEGER;\n let stoneDepthOffset = Number.MAX_SAFE_INTEGER;\n for (let y = chunk.maxY; y >= chunk.minY; y -= 1) {\n const worldPos = BlockPos$1.create(worldX, y, worldZ);\n const oldState = chunk.getBlockState(worldPos);\n if (oldState.equals(BlockState.AIR)) {\n stoneDepthAbove = 0;\n waterHeight = Number.MIN_SAFE_INTEGER;\n continue;\n }\n if (oldState.isFluid()) {\n if (waterHeight === Number.MIN_SAFE_INTEGER) {\n waterHeight = y + 1;\n }\n continue;\n }\n if (stoneDepthOffset >= y) {\n stoneDepthOffset = Number.MIN_SAFE_INTEGER;\n for (let i = y - 1; i >= chunk.minY; i -= 1) {\n const state = chunk.getBlockState(BlockPos$1.create(worldX, i, worldZ));\n if (state.equals(BlockState.AIR) || state.isFluid()) {\n stoneDepthOffset = i + 1;\n break;\n }\n }\n }\n stoneDepthAbove += 1;\n const stoneDepthBelow = y - stoneDepthOffset + 1;\n if (!oldState.equals(this.defaultBlock)) {\n continue;\n }\n surfaceContext.updateY(stoneDepthAbove, stoneDepthBelow, waterHeight, y);\n const newState = ruleWithContext(worldX, y, worldZ);\n if (newState) {\n chunk.setBlockState(worldPos, newState);\n }\n }\n }\n }\n }\n getSurfaceDepth(x, z) {\n const noise = this.surfaceNoise.sample(x, 0, z);\n const offset = this.random.at(x, 0, z).nextDouble() * 0.25;\n return noise * 2.75 + 3 + offset;\n }\n getSurfaceSecondary(x, z) {\n return this.surfaceSecondaryNoise.sample(x, 0, z);\n }\n getRandom(name) {\n return computeIfAbsent(this.positionalRandoms, name, () => {\n return this.random.fromHashOf(name);\n });\n }\n}\nclass SurfaceContext {\n constructor(system, chunk, noiseChunk, context, getBiome) {\n this.system = system;\n this.chunk = chunk;\n this.noiseChunk = noiseChunk;\n this.context = context;\n this.getBiome = getBiome;\n this.blockX = 0;\n this.blockY = 0;\n this.blockZ = 0;\n this.stoneDepthAbove = 0;\n this.stoneDepthBelow = 0;\n this.surfaceDepth = 0;\n this.waterHeight = 0;\n this.biome = () => \"\";\n this.surfaceSecondary = () => 0;\n this.minSurfaceLevel = () => 0;\n }\n updateXZ(x, z) {\n this.blockX = x;\n this.blockZ = z;\n this.surfaceDepth = this.system.getSurfaceDepth(x, z);\n this.surfaceSecondary = lazy(() => this.system.getSurfaceSecondary(x, z));\n this.minSurfaceLevel = lazy(() => this.calculateMinSurfaceLevel(x, z));\n }\n updateY(stoneDepthAbove, stoneDepthBelow, waterHeight, y) {\n this.blockY = y;\n this.stoneDepthAbove = stoneDepthAbove;\n this.stoneDepthBelow = stoneDepthBelow;\n this.waterHeight = waterHeight;\n this.biome = lazy(() => this.getBiome(BlockPos$1.create(this.blockX, this.blockY, this.blockZ)));\n }\n calculateMinSurfaceLevel(x, z) {\n const cellX = x >> 4;\n const cellZ = z >> 4;\n const level00 = this.noiseChunk.getPreliminarySurfaceLevel(cellX << 4, cellZ << 4);\n const level10 = this.noiseChunk.getPreliminarySurfaceLevel(cellX + 1 << 4, cellZ << 4);\n const level01 = this.noiseChunk.getPreliminarySurfaceLevel(cellX << 4, cellZ + 1 << 4);\n const level11 = this.noiseChunk.getPreliminarySurfaceLevel(cellX + 1 << 4, cellZ + 1 << 4);\n const level = Math.floor(lerp2((x & 15) / 16, (z & 15) / 16, level00, level10, level01, level11));\n return level + this.surfaceDepth - 8;\n }\n}\nvar SurfaceRule;\n(function(SurfaceRule2) {\n SurfaceRule2.NOOP = () => () => void 0;\n function fromJson(obj) {\n const root = Json.readObject(obj) ?? {};\n const type = Json.readString(root.type)?.replace(/^minecraft:/, \"\");\n switch (type) {\n case \"block\":\n return block(BlockState.fromJson(root.result_state));\n case \"sequence\":\n return sequence(Json.readArray(root.sequence, SurfaceRule2.fromJson) ?? []);\n case \"condition\":\n return condition(SurfaceCondition.fromJson(root.if_true), SurfaceRule2.fromJson(root.then_run));\n }\n return SurfaceRule2.NOOP;\n }\n SurfaceRule2.fromJson = fromJson;\n function block(state) {\n return () => () => state;\n }\n SurfaceRule2.block = block;\n function sequence(rules) {\n return (context) => {\n const rulesWithContext = rules.map((rule) => rule(context));\n return (x, y, z) => {\n for (const rule of rulesWithContext) {\n const result = rule(x, y, z);\n if (result)\n return result;\n }\n return void 0;\n };\n };\n }\n SurfaceRule2.sequence = sequence;\n function condition(ifTrue, thenRun) {\n return (context) => (x, y, z) => {\n if (ifTrue(context)) {\n return thenRun(context)(x, y, z);\n }\n return void 0;\n };\n }\n SurfaceRule2.condition = condition;\n})(SurfaceRule || (SurfaceRule = {}));\nvar SurfaceCondition;\n(function(SurfaceCondition2) {\n SurfaceCondition2.FALSE = () => false;\n SurfaceCondition2.TRUE = () => true;\n function fromJson(obj) {\n const root = Json.readObject(obj) ?? {};\n const type = Json.readString(root.type)?.replace(/^minecraft:/, \"\");\n switch (type) {\n case \"above_preliminary_surface\":\n return abovePreliminarySurface();\n case \"biome\":\n return biome(Json.readArray(root.biome_is, (e) => Json.readString(e) ?? \"\") ?? []);\n case \"not\":\n return not(SurfaceCondition2.fromJson(root.invert));\n case \"stone_depth\":\n return stoneDepth(Json.readInt(root.offset) ?? 0, Json.readBoolean(root.add_surface_depth) ?? false, Json.readInt(root.secondary_depth_range) ?? 0, Json.readString(root.surface_type) === \"ceiling\");\n case \"vertical_gradient\":\n return verticalGradient(Json.readString(root.random_name) ?? \"\", VerticalAnchor.fromJson(root.true_at_and_below), VerticalAnchor.fromJson(root.false_at_and_above));\n case \"water\":\n return water(Json.readInt(root.offset) ?? 0, Json.readInt(root.surface_depth_multiplier) ?? 0, Json.readBoolean(root.add_surface_depth) ?? false);\n case \"y_above\":\n return yAbove(VerticalAnchor.fromJson(root.anchor), Json.readInt(root.surface_depth_multiplier) ?? 0, Json.readBoolean(root.add_surface_depth) ?? false);\n }\n return SurfaceCondition2.FALSE;\n }\n SurfaceCondition2.fromJson = fromJson;\n function abovePreliminarySurface() {\n return (context) => context.blockY >= context.minSurfaceLevel();\n }\n SurfaceCondition2.abovePreliminarySurface = abovePreliminarySurface;\n function biome(biomes) {\n const biomeSet = new Set(biomes);\n return (context) => biomeSet.has(context.biome());\n }\n SurfaceCondition2.biome = biome;\n function not(invert) {\n return (context) => !invert(context);\n }\n SurfaceCondition2.not = not;\n function stoneDepth(offset, addSurfaceDepth, secondaryDepthRange, ceiling) {\n return (context) => {\n const depth = ceiling ? context.stoneDepthBelow : context.stoneDepthAbove;\n const surfaceDepth = addSurfaceDepth ? context.surfaceDepth : 0;\n const secondaryDepth = secondaryDepthRange === 0 ? 0 : map(context.surfaceSecondary(), -1, 1, 0, secondaryDepthRange);\n return depth <= 1 + offset + surfaceDepth + secondaryDepth;\n };\n }\n SurfaceCondition2.stoneDepth = stoneDepth;\n function verticalGradient(randomName, trueAtAndBelow, falseAtAndAbove) {\n return (context) => {\n const trueAtAndBelowY = trueAtAndBelow(context.context);\n const falseAtAndAboveY = falseAtAndAbove(context.context);\n if (context.blockY <= trueAtAndBelowY) {\n return true;\n }\n if (context.blockY >= falseAtAndAboveY) {\n return false;\n }\n const random = context.system.getRandom(randomName);\n const chance = map(context.blockY, trueAtAndBelowY, falseAtAndAboveY, 1, 0);\n return random.nextFloat() < chance;\n };\n }\n SurfaceCondition2.verticalGradient = verticalGradient;\n function water(offset, surfaceDepthMultiplier, addStoneDepth) {\n return (context) => {\n if (context.waterHeight === Number.MIN_SAFE_INTEGER) {\n return true;\n }\n const stoneDepth2 = addStoneDepth ? context.stoneDepthAbove : 0;\n return context.blockY + stoneDepth2 >= context.waterHeight + offset + context.surfaceDepth * surfaceDepthMultiplier;\n };\n }\n SurfaceCondition2.water = water;\n function yAbove(anchor, surfaceDepthMultiplier, addStoneDepth) {\n return (context) => {\n const stoneDepth2 = addStoneDepth ? context.stoneDepthAbove : 0;\n return context.blockY + stoneDepth2 >= anchor(context.context) + context.surfaceDepth * surfaceDepthMultiplier;\n };\n }\n SurfaceCondition2.yAbove = yAbove;\n})(SurfaceCondition || (SurfaceCondition = {}));\n\nclass NoiseChunkGenerator {\n constructor(seed, biomeSource, settings) {\n this.biomeSource = biomeSource;\n this.settings = settings;\n this.router = NoiseRouter.withSettings(settings.noiseRouter, settings.noise, seed, settings.legacyRandomSource);\n this.noiseChunkCache = new Map();\n this.surfaceSystem = new SurfaceSystem(settings.surfaceRule, settings.defaultBlock, seed);\n const lavaFluid = new FluidStatus(-54, BlockState.LAVA);\n const defaultFluid = new FluidStatus(settings.seaLevel, settings.defaultFluid);\n this.globalFluidPicker = (x, y, z) => {\n if (y < Math.min(-54, settings.seaLevel)) {\n return lavaFluid;\n }\n return defaultFluid;\n };\n }\n fill(chunk, onlyFirstZ = false) {\n const minY = Math.max(chunk.minY, this.settings.noise.minY);\n const maxY = Math.min(chunk.maxY, this.settings.noise.minY + this.settings.noise.height);\n const cellWidth = NoiseSettings.cellWidth(this.settings.noise);\n const cellHeight = NoiseSettings.cellHeight(this.settings.noise);\n const cellCountXZ = Math.floor(16 / cellWidth);\n const minCellY = Math.floor(minY / cellHeight);\n const cellCountY = Math.floor((maxY - minY) / cellHeight);\n const minX = ChunkPos.minBlockX(chunk.pos);\n const minZ = ChunkPos.minBlockZ(chunk.pos);\n const noiseChunk = this.getNoiseChunk(chunk);\n for (let cellX = 0; cellX < cellCountXZ; cellX += 1) {\n for (let cellZ = 0; cellZ < (onlyFirstZ ? 1 : cellCountXZ); cellZ += 1) {\n let section = chunk.getOrCreateSection(chunk.sectionsCount - 1);\n for (let cellY = cellCountY - 1; cellY >= 0; cellY -= 1) {\n for (let offY = cellHeight - 1; offY >= 0; offY -= 1) {\n const blockY = (minCellY + cellY) * cellHeight + offY;\n const sectionY = blockY & 15;\n const sectionIndex = chunk.getSectionIndex(blockY);\n if (chunk.getSectionIndex(section.minBlockY) !== sectionIndex) {\n section = chunk.getOrCreateSection(sectionIndex);\n }\n for (let offX = 0; offX < cellWidth; offX += 1) {\n const blockX = minX + cellX * cellWidth + offX;\n const sectionX = blockX & 15;\n for (let offZ = 0; offZ < (onlyFirstZ ? 1 : cellWidth); offZ += 1) {\n const blockZ = minZ + cellZ * cellWidth + offZ;\n const sectionZ = blockZ & 15;\n const state = noiseChunk.getFinalState(blockX, blockY, blockZ) ?? this.settings.defaultBlock;\n section.setBlockState(sectionX, sectionY, sectionZ, state);\n }\n }\n }\n }\n }\n }\n }\n buildSurface(chunk, biome = \"minecraft:plains\") {\n const noiseChunk = this.getNoiseChunk(chunk);\n const context = WorldgenContext.create(this.settings.noise.minY, this.settings.noise.height);\n this.surfaceSystem.buildSurface(chunk, noiseChunk, context, () => biome);\n }\n getNoiseChunk(chunk) {\n return computeIfAbsent(this.noiseChunkCache, ChunkPos.toLong(chunk.pos), () => {\n const minY = Math.max(chunk.minY, this.settings.noise.minY);\n const maxY = Math.min(chunk.maxY, this.settings.noise.minY + this.settings.noise.height);\n const cellWidth = NoiseSettings.cellWidth(this.settings.noise);\n const cellHeight = NoiseSettings.cellHeight(this.settings.noise);\n const cellCountXZ = Math.floor(16 / cellWidth);\n const minCellY = Math.floor(minY / cellHeight);\n const cellCountY = Math.floor((maxY - minY) / cellHeight);\n const minX = ChunkPos.minBlockX(chunk.pos);\n const minZ = ChunkPos.minBlockZ(chunk.pos);\n return new NoiseChunk(cellCountXZ, cellCountY, minCellY, this.router, minX, minZ, this.settings.noise, this.settings.aquifersEnabled, this.globalFluidPicker);\n });\n }\n}\n\nvar NoiseGeneratorSettings;\n(function(NoiseGeneratorSettings2) {\n function fromJson(obj) {\n const root = Json.readObject(obj) ?? {};\n return {\n surfaceRule: SurfaceRule.fromJson(root.surface_rule),\n noise: NoiseSettings.fromJson(root.noise),\n defaultBlock: BlockState.fromJson(root.default_block),\n defaultFluid: BlockState.fromJson(root.default_fluid),\n noiseRouter: NoiseRouter.fromJson(root.noise_router),\n seaLevel: Json.readInt(root.sea_level) ?? 0,\n disableMobGeneration: Json.readBoolean(root.disable_mob_generation) ?? false,\n aquifersEnabled: Json.readBoolean(root.aquifers_enabled) ?? false,\n oreVeinsEnabled: Json.readBoolean(root.ore_veins_enabled) ?? false,\n legacyRandomSource: Json.readBoolean(root.legacy_random_source) ?? false\n };\n }\n NoiseGeneratorSettings2.fromJson = fromJson;\n})(NoiseGeneratorSettings || (NoiseGeneratorSettings = {}));\n\nexport { Aquifer, BlendedNoise, BlockPos$1 as BlockPos, BlockState, Chunk, ChunkPos, ChunkSection, Climate, CubicSpline, DensityFunction, Direction, FixedBiome, FluidStatus, Holder, Identifier, ImprovedNoise, Json, LegacyPositionalRandom, LegacyRandom, MaterialRule, MinMaxNumberFunction, MultiNoise, NoiseAquifer$1 as NoiseAquifer, NoiseChunk, NoiseChunkGenerator, NoiseGeneratorSettings, NoiseParameters, NoiseRouter, NoiseSettings, NoiseSlideSettings, Noises, NormalNoise, PerlinNoise, PerlinSimplexNoise, Registry, SimplexNoise, Structure, SurfaceCondition, SurfaceContext, SurfaceRule, SurfaceSystem, VerticalAnchor, WorldgenContext, WorldgenRegistries, XoroshiroPositionalRandom, XoroshiroRandom, binarySearch, clamp, clampedLerp, clampedMap, computeIfAbsent, getSeed, inverseLerp, isPowerOfTwo, lazy, lazyLerp, lazyLerp2, lazyLerp3, lerp, lerp2, lerp3, longfromBytes, map, smoothstep, square, upperPowerOfTwo };\n//# sourceMappingURL=worldgen.esm.js.map\n","import { DataModel } from '@mcschema/core'\nimport init, { biome_parameters, climate_noise, climate_sampler, multi_noise } from 'deepslate-rs'\n// @ts-expect-error\nimport wasm from 'deepslate-rs/deepslate_rs_bg.wasm?url'\nimport type { NoiseParameters } from 'deepslate/worldgen'\nimport { FixedBiome, Identifier, LegacyRandom, NormalNoise } from 'deepslate/worldgen'\nimport type { VersionId } from '../services'\nimport { checkVersion, fetchPreset } from '../services'\nimport { BiMap, clamp, deepClone, deepEqual, square, stringToColor } from '../Utils'\n\nlet ready = false\nasync function loadWasm() {\n\tif (ready) return\n\tawait init(wasm)\n\tready = true\n\tconsole.debug(`Loaded deepslate-rs from \"${wasm}\"`)\n}\n\nconst LAYERS = {\n\ttemperature: [-1, 1],\n\thumidity: [-1, 1],\n\tcontinentalness: [-1.1, 1],\n\terosion: [-1, 1],\n\tweirdness: [-1, 1],\n\toffset: [-1, 1],\n\tfactor: [0, 12],\n\tjaggedness: [0, 1],\n}\n\ntype Triple = [number, number, number]\ntype BiomeColors = Record<string, Triple>\ntype BiomeSourceOptions = {\n\toctaves: Record<string, NoiseParameters>,\n\tbiomeColors: BiomeColors,\n\toffset: [number, number],\n\tscale: number,\n\tres: number,\n\tseed: bigint,\n\tversion: VersionId,\n\tlayers: Set<keyof typeof LAYERS | 'biomes'>,\n}\n\ninterface CachedBiomeSource {\n\tgetBiome(x: number, y: number, z: number): Identifier\n\tgetBiomes?(xFrom: number, xTo: number, xStep: number, yFrom: number, yTo: number, yStep: number, zFrom: number, zTo: number, zStep: number): Identifier[]\n\tgetClimate?(x: number, y: number, z: number): {[k: string]: number}\n\tgetClimates?(xFrom: number, xTo: number, xStep: number, yFrom: number, yTo: number, yStep: number, zFrom: number, zTo: number, zStep: number): {[k: string]: number}[]\n}\n\nlet cacheState: any\nlet biomeSourceCache: CachedBiomeSource\n\nexport async function biomeMap(state: any, img: ImageData, options: BiomeSourceOptions) {\n\tconst { biomeSource } = await getCached(state, options)\n\n\tconst data = img.data\n\tconst ox = -Math.round(options.offset[0]) - 100 + options.res / 2\n\tconst oz = -Math.round(options.offset[1]) - 100 + options.res / 2\n\tconst row = img.width * 4 / options.res\n\tconst col = 4 / options.res\n\n\tconst xRange: Triple = [ox * options.scale, (200 + ox) * options.scale, options.res * options.scale]\n\tconst zRange: Triple = [oz * options.scale, (200 + oz) * options.scale, options.res * options.scale]\n\n\tconst biomes = !options.layers.has('biomes') ? undefined : biomeSource.getBiomes?.(...xRange, 64, 65, 1, ...zRange)\n\tconst layers = [...options.layers].filter(l => l !== 'biomes') as (keyof typeof LAYERS)[]\n\tconst noise = layers.length === 0 ? undefined : biomeSource.getClimates?.(...xRange, 64, 65, 1, ...zRange)\n\n\tfor (let x = 0; x < 200; x += options.res) {\n\t\tfor (let z = 0; z < 200; z += options.res) {\n\t\t\tconst i = z * row + x * col\n\t\t\tconst j = (x / options.res) * 200 / options.res + z / options.res\n\t\t\tconst worldX = (x + ox) * options.scale\n\t\t\tconst worldZ = (z + oz) * options.scale\n\t\t\tlet color: Triple = [50, 50, 50]\n\t\t\tif (options.layers.has('biomes')) {\n\t\t\t\tconst biome = biomes?.[j] ?? biomeSource.getBiome(worldX, 64, worldZ)\n\t\t\t\tcolor = getBiomeColor(biome.toString(), options.biomeColors)\n\t\t\t} else if (noise && layers[0]) {\n\t\t\t\tconst value = noise[j][layers[0]]\n\t\t\t\tconst [min, max] = LAYERS[layers[0]]\n\t\t\t\tconst brightness = (value - min) / (max - min) * 256\n\t\t\t\tcolor = [brightness, brightness, brightness]\n\t\t\t}\n\t\t\tdata[i] = color[0]\n\t\t\tdata[i + 1] = color[1]\n\t\t\tdata[i + 2] = color[2]\n\t\t\tdata[i + 3] = 255\n\t\t}\n\t}\n}\n\nexport async function getBiome(state: any, x: number, z: number, options: BiomeSourceOptions): Promise<{[k: string]: number | string} | undefined> {\n\tconst { biomeSource } = await getCached(state, options)\n\n\tconst [xx, zz] = toWorld([x, z], options)\n\treturn {\n\t\tbiome: biomeSource.getBiome(xx, 64, zz).toString(),\n\t\t...biomeSource.getClimate?.(xx, 64, zz),\n\t}\n}\n\nasync function getCached(state: any, options: BiomeSourceOptions): Promise<{ biomeSource: CachedBiomeSource}> {\n\tconst newState = [state, options.octaves, `${options.seed}`, options.version]\n\tif (!deepEqual(newState, cacheState)) {\n\t\tcacheState = deepClone(newState)\n\n\t\tbiomeSourceCache = await getBiomeSource(state, options)\n\t}\n\treturn {\n\t\tbiomeSource: biomeSourceCache,\n\t} \n}\n\nasync function getBiomeSource(state: any, options: BiomeSourceOptions): Promise<CachedBiomeSource> {\n\tswitch (state?.type?.replace(/^minecraft:/, '')) {\n\t\tcase 'fixed':\n\t\t\treturn new FixedBiome(Identifier.parse(state.biome as string))\n\n\t\tcase 'checkerboard':\n\t\t\tconst shift = (state.scale ?? 2) + 2\n\t\t\tconst numBiomes = state.biomes?.length ?? 0\n\t\t\treturn {\n\t\t\t\tgetBiome(x: number, _y: number, z: number) {\n\t\t\t\t\tconst i = (((x >> shift) + (z >> shift)) % numBiomes + numBiomes) % numBiomes\n\t\t\t\t\treturn Identifier.parse(state.biomes?.[i].node as string)\n\t\t\t\t},\n\t\t\t}\n\n\t\tcase 'multi_noise':\n\t\t\tswitch(state.preset?.replace(/^minecraft:/, '')) {\n\t\t\t\tcase 'nether':\n\t\t\t\t\tstate = checkVersion(options.version, '1.18') ? NetherPreset18 : NetherPreset\n\t\t\t\t\tbreak\n\t\t\t\tcase 'overworld':\n\t\t\t\t\tstate = checkVersion(options.version, '1.18') ? await OverworldPreset18() : state\n\t\t\t\t\tbreak\n\t\t\t}\n\t\t\tstate = DataModel.unwrapLists(state)\n\t\t\tif (checkVersion(options.version, '1.18')) {\n\t\t\t\tawait loadWasm()\n\t\t\t\tconst BiomeIds = new BiMap<string, number>()\n\t\t\t\tconst param = (p: number | number[]) => {\n\t\t\t\t\treturn typeof p === 'number' ? [p, p] : p\n\t\t\t\t}\n\t\t\t\tconst [t0, t1, h0, h1, c0, c1, e0, e1, w0, w1, d0, d1, o, b] = [[], [], [], [], [], [], [], [], [], [], [], [], [], []] as number[][]\n\t\t\t\tfor (const i of state.biomes) {\n\t\t\t\t\tconst { temperature, humidity, continentalness, erosion, weirdness, depth, offset } = i.parameters\n\t\t\t\t\tt0.push(param(temperature)[0])\n\t\t\t\t\tt1.push(param(temperature)[1])\n\t\t\t\t\th0.push(param(humidity)[0])\n\t\t\t\t\th1.push(param(humidity)[1])\n\t\t\t\t\tc0.push(param(continentalness)[0])\n\t\t\t\t\tc1.push(param(continentalness)[1])\n\t\t\t\t\te0.push(param(erosion)[0])\n\t\t\t\t\te1.push(param(erosion)[1])\n\t\t\t\t\tw0.push(param(weirdness)[0])\n\t\t\t\t\tw1.push(param(weirdness)[1])\n\t\t\t\t\td0.push(param(depth)[0])\n\t\t\t\t\td1.push(param(depth)[1])\n\t\t\t\t\to.push(offset)\n\t\t\t\t\tb.push(BiomeIds.getOrPut(i.biome, Math.floor(Math.random() * 2147483647)))\n\t\t\t\t}\n\t\t\t\tconst parameters = biome_parameters(new Float64Array(t0), new Float64Array(t1), new Float64Array(h0), new Float64Array(h1), new Float64Array(c0), new Float64Array(c1), new Float64Array(e0), new Float64Array(e1), new Float64Array(w0), new Float64Array(w1), new Float64Array(d0), new Float64Array(d1), new Float64Array(o), new Int32Array(b))\n\t\t\t\tconst sampler = climate_sampler(options.seed, options.octaves.temperature.firstOctave, new Float64Array(options.octaves.temperature.amplitudes), options.octaves.humidity.firstOctave, new Float64Array(options.octaves.humidity.amplitudes), options.octaves.continentalness.firstOctave, new Float64Array(options.octaves.continentalness.amplitudes), options.octaves.erosion.firstOctave, new Float64Array(options.octaves.erosion.amplitudes), options.octaves.weirdness.firstOctave, new Float64Array(options.octaves.weirdness.amplitudes), options.octaves.shift.firstOctave, new Float64Array(options.octaves.shift.amplitudes))\n\t\t\t\treturn {\n\t\t\t\t\tgetBiome(x, y, z) {\n\t\t\t\t\t\tconst ids = multi_noise(parameters, sampler, x, x + 1, 1, y, y + 1, 1, z, z + 1, 1)\n\t\t\t\t\t\treturn Identifier.parse(BiomeIds.getA(ids[0]) ?? 'unknown')\n\t\t\t\t\t},\n\t\t\t\t\tgetBiomes(xFrom, xTo, xStep, yFrom, yTo, yStep, zFrom, zTo, zStep) {\n\t\t\t\t\t\tconst ids = multi_noise(parameters, sampler, xFrom, xTo, xStep, yFrom, yTo, yStep, zFrom, zTo, zStep)\n\t\t\t\t\t\treturn [...ids].map(id => Identifier.parse(BiomeIds.getA(id) ?? 'unknown'))\n\t\t\t\t\t},\n\t\t\t\t\tgetClimate(x, y, z) {\n\t\t\t\t\t\tconst climate = climate_noise(sampler, x, x + 1, 1, y, y + 1, 1, z, z + 1, 1)\n\t\t\t\t\t\tconst [t, h, c, e, w] = climate.slice(0, 5)\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\ttemperature: t,\n\t\t\t\t\t\t\thumidity: h,\n\t\t\t\t\t\t\tcontinentalness: c,\n\t\t\t\t\t\t\terosion: e,\n\t\t\t\t\t\t\tweirdness: w,\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\tgetClimates(xFrom, xTo, xStep, yFrom, yTo, yStep, zFrom, zTo, zStep) {\n\t\t\t\t\t\tconst climate = climate_noise(sampler, xFrom, xTo, xStep, yFrom, yTo, yStep, zFrom, zTo, zStep)\n\t\t\t\t\t\tconst result = []\n\t\t\t\t\t\tfor (let i = 0; i < climate.length; i += 7) {\n\t\t\t\t\t\t\tconst [t, h, c, e, w] = climate.slice(i, i + 5)\n\t\t\t\t\t\t\tresult.push({\n\t\t\t\t\t\t\t\ttemperature: t,\n\t\t\t\t\t\t\t\thumidity: h,\n\t\t\t\t\t\t\t\tcontinentalness: c,\n\t\t\t\t\t\t\t\terosion: e,\n\t\t\t\t\t\t\t\tweirdness: w,\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn result\n\t\t\t\t\t},\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tconst noise = ['altitude', 'temperature', 'humidity', 'weirdness']\n\t\t\t\t\t.map((id, i) => {\n\t\t\t\t\t\tconst config = state[`${id}_noise`]\n\t\t\t\t\t\tconfig.firstOctave = clamp(config.firstOctave ?? -7, -100, -1)\n\t\t\t\t\t\treturn new NormalNoise(new LegacyRandom(options.seed + BigInt(i)), config)\n\t\t\t\t\t})\n\t\t\t\tif (!Array.isArray(state.biomes) || state.biomes.length === 0) {\n\t\t\t\t\treturn new FixedBiome(Identifier.create('unknown'))\n\t\t\t\t}\n\t\t\t\treturn {\n\t\t\t\t\tgetBiome(x: number, _y: number, z: number): Identifier {\n\t\t\t\t\t\tconst n = noise.map(n => n.sample(x, z, 0))\n\t\t\t\t\t\tlet minDist = Infinity\n\t\t\t\t\t\tlet minBiome = ''\n\t\t\t\t\t\tfor (const { biome, parameters: p } of state.biomes) {\n\t\t\t\t\t\t\tconst dist = square(p.altitude - n[0]) + square(p.temperature - n[1]) + square(p.humidity - n[2]) + square(p.weirdness - n[3]) + square(p.offset)\n\t\t\t\t\t\t\tif (dist < minDist) {\n\t\t\t\t\t\t\t\tminDist = dist\n\t\t\t\t\t\t\t\tminBiome = biome\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn Identifier.parse(minBiome)\n\t\t\t\t\t},\n\t\t\t\t}\n\t\t\t}\n\t}\n\tthrow new Error('Unknown biome source')\n}\n\nfunction getBiomeColor(biome: string, biomeColors: BiomeColors): Triple {\n\tif (!biome) {\n\t\treturn [128, 128, 128]\n\t}\n\tconst color = biomeColors[biome] ?? VanillaColors[biome]\n\tif (color === undefined) {\n\t\treturn stringToColor(biome)\n\t}\n\treturn color\n}\n\nfunction toWorld([x, z]: [number, number], options: BiomeSourceOptions) {\n\tconst xx = (x - options.offset[0] - 100 + options.res / 2) * options.scale\n\tconst zz = (z - options.offset[1] - 100 + options.res / 2) * options.scale\n\treturn [xx, zz]\n}\n\nconst VanillaColors: Record<string, Triple> = {\n\t'minecraft:badlands': [217,69,21],\n\t'minecraft:badlands_plateau': [202,140,101],\n\t'minecraft:bamboo_jungle': [118,142,20],\n\t'minecraft:bamboo_jungle_hills': [59,71,10],\n\t'minecraft:basalt_deltas': [64,54,54],\n\t'minecraft:beach': [250,222,85],\n\t'minecraft:birch_forest': [48,116,68],\n\t'minecraft:birch_forest_hills': [31,95,50],\n\t'minecraft:cold_ocean': [32,32,112],\n\t'minecraft:crimson_forest': [221,8,8],\n\t'minecraft:dark_forest': [64,81,26],\n\t'minecraft:dark_forest_hills': [104,121,66],\n\t'minecraft:deep_cold_ocean': [32,32,56],\n\t'minecraft:deep_frozen_ocean': [64,64,144],\n\t'minecraft:deep_lukewarm_ocean': [0,0,64],\n\t'minecraft:deep_ocean': [0,0,48],\n\t'minecraft:deep_warm_ocean': [0,0,80],\n\t'minecraft:desert': [250,148,24],\n\t'minecraft:desert_hills': [210,95,18],\n\t'minecraft:desert_lakes': [255,188,64],\n\t'minecraft:end_barrens': [128,128,255],\n\t'minecraft:end_highlands': [128,128,255],\n\t'minecraft:end_midlands': [128,128,255],\n\t'minecraft:eroded_badlands': [255,109,61],\n\t'minecraft:flower_forest': [45,142,73],\n\t'minecraft:forest': [5,102,33],\n\t'minecraft:frozen_ocean': [112,112,214],\n\t'minecraft:frozen_river': [160,160,255],\n\t'minecraft:giant_spruce_taiga': [129,142,121],\n\t'minecraft:old_growth_spruce_taiga': [129,142,121],\n\t'minecraft:giant_spruce_taiga_hills': [109,119,102],\n\t'minecraft:giant_tree_taiga': [89,102,81],\n\t'minecraft:old_growth_pine_taiga': [89,102,81],\n\t'minecraft:giant_tree_taiga_hills': [69,79,62],\n\t'minecraft:gravelly_hills': [136,136,136],\n\t'minecraft:gravelly_mountains': [136,136,136],\n\t'minecraft:windswept_gravelly_hills': [136,136,136],\n\t'minecraft:ice_spikes': [180,220,220],\n\t'minecraft:jungle': [83,123,9],\n\t'minecraft:jungle_edge': [98,139,23],\n\t'minecraft:sparse_jungle': [98,139,23],\n\t'minecraft:jungle_hills': [44,66,5],\n\t'minecraft:lukewarm_ocean': [0,0,144],\n\t'minecraft:modified_badlands_plateau': [242,180,141],\n\t'minecraft:modified_gravelly_mountains': [120,152,120],\n\t'minecraft:modified_jungle': [123,163,49],\n\t'minecraft:modified_jungle_edge': [138,179,63],\n\t'minecraft:modified_wooded_badlands_plateau': [216,191,141],\n\t'minecraft:mountain_edge': [114,120,154],\n\t'minecraft:extreme_hills': [96,96,96],\n\t'minecraft:mountains': [96,96,96],\n\t'minecraft:windswept_hills': [96,96,96],\n\t'minecraft:mushroom_field_shore': [160,0,255],\n\t'minecraft:mushroom_fields': [255,0,255],\n\t'minecraft:nether_wastes': [191,59,59],\n\t'minecraft:ocean': [0,0,112],\n\t'minecraft:plains': [141,179,96],\n\t'minecraft:river': [0,0,255],\n\t'minecraft:savanna': [189,178,95],\n\t'minecraft:savanna_plateau': [167,157,100],\n\t'minecraft:shattered_savanna': [229,218,135],\n\t'minecraft:windswept_savanna': [229,218,135],\n\t'minecraft:shattered_savanna_plateau': [207,197,140],\n\t'minecraft:small_end_islands': [128,128,255],\n\t'minecraft:snowy_beach': [250,240,192],\n\t'minecraft:snowy_mountains': [160,160,160],\n\t'minecraft:snowy_taiga': [49,85,74],\n\t'minecraft:snowy_taiga_hills': [36,63,54],\n\t'minecraft:snowy_taiga_mountains': [89,125,114],\n\t'minecraft:snowy_tundra': [255,255,255],\n\t'minecraft:snowy_plains': [255,255,255],\n\t'minecraft:soul_sand_valley': [94,56,48],\n\t'minecraft:stone_shore': [162,162,132],\n\t'minecraft:stony_shore': [162,162,132],\n\t'minecraft:sunflower_plains': [181,219,136],\n\t'minecraft:swamp': [7,249,178],\n\t'minecraft:swamp_hills': [47,255,218],\n\t'minecraft:taiga': [11,102,89],\n\t'minecraft:taiga_hills': [22,57,51],\n\t'minecraft:taiga_mountains': [51,142,129],\n\t'minecraft:tall_birch_forest': [88,156,108],\n\t'minecraft:old_growth_birch_forest': [88,156,108],\n\t'minecraft:tall_birch_hills': [71,135,90],\n\t'minecraft:the_end': [128,128,255],\n\t'minecraft:the_void': [0,0,0],\n\t'minecraft:warm_ocean': [0,0,172],\n\t'minecraft:warped_forest': [73,144,123],\n\t'minecraft:wooded_badlands_plateau': [176,151,101],\n\t'minecraft:wooded_badlands': [176,151,101],\n\t'minecraft:wooded_hills': [34,85,28],\n\t'minecraft:wooded_mountains': [80,112,80],\n\t'minecraft:windswept_forest': [80,112,80],\n\t'minecraft:snowy_slopes': [140, 195, 222],\n\t'minecraft:lofty_peaks': [196, 168, 193],\n\t'minecraft:jagged_peaks': [196, 168, 193],\n\t'minecraft:snowcapped_peaks': [200, 198, 200],\n\t'minecraft:frozen_peaks': [200, 198, 200],\n\t'minecraft:stony_peaks': [82, 92, 103],\n\t'minecraft:grove': [150, 150, 189],\n\t'minecraft:meadow': [169, 197, 80],\n\t'minecraft:lush_caves': [112, 255, 79],\n\t'minecraft:dripstone_caves': [140, 124, 0],\n}\n\nconst NetherPreset = {type:'minecraft:multi_noise',seed:0,altitude_noise:{firstOctave:-7,amplitudes:[1,1]},temperature_noise:{firstOctave:-7,amplitudes:[1,1]},humidity_noise:{firstOctave:-7,amplitudes:[1,1]},weirdness_noise:{firstOctave:-7,amplitudes:[1,1]},biomes:[{biome:'minecraft:nether_wastes',parameters:{altitude:0,temperature:0,humidity:0,weirdness:0,offset:0}},{biome:'minecraft:soul_sand_valley',parameters:{altitude:0,temperature:0,humidity:-0.5,weirdness:0,offset:0}},{biome:'minecraft:crimson_forest',parameters:{altitude:0,temperature:0.4,humidity:0,weirdness:0,offset:0}},{biome:'minecraft:warped_forest',parameters:{altitude:0,temperature:0,humidity:0.5,weirdness:0,offset:0.375}},{biome:'minecraft:basalt_deltas',parameters:{altitude:0,temperature:-0.5,humidity:0,weirdness:0,offset:0.175}}]}\n\nconst NetherPreset18 = {type:'minecraft:multi_noise',biomes:[{biome:'minecraft:nether_wastes',parameters:{temperature:0,humidity:0,continentalness:0,erosion:0,depth:0,weirdness:0,offset:0}},{biome:'minecraft:soul_sand_valley',parameters:{temperature:0,humidity:-0.5,continentalness:0,erosion:0,depth:0,weirdness:0,offset:0}},{biome:'minecraft:crimson_forest',parameters:{temperature:0.4,humidity:0,continentalness:0,erosion:0,depth:0,weirdness:0,offset:0}},{biome:'minecraft:warped_forest',parameters:{temperature:0,humidity:0.5,continentalness:0,erosion:0,depth:0,weirdness:0,offset:0.375}},{biome:'minecraft:basalt_deltas',parameters:{temperature:-0.5,humidity:0,continentalness:0,erosion:0,depth:0,weirdness:0,offset:0.175}}]}\n\nasync function OverworldPreset18() {\n\tconst overworld = await fetchPreset('1.18', 'dimension', 'overworld')\n\treturn overworld.generator.biome_source\n}\n","import { DataModel } from '@mcschema/core'\nimport type { Random } from 'deepslate/worldgen'\nimport { LegacyRandom, PerlinNoise } from 'deepslate/worldgen'\nimport type { VersionId } from '../services'\nimport { checkVersion } from '../services'\nimport { clamp, isObject, stringToColor } from '../Utils'\n\ntype BlockPos = [number, number, number]\ntype Placement = [BlockPos, number]\n\ntype PlacementContext = {\n\tplacements: Placement[],\n\tfeatures: string[],\n\trandom: Random,\n\tbiomeInfoNoise: PerlinNoise,\n\tseaLevel: number,\n\tversion: VersionId,\n\tnextFloat(): number,\n\tnextInt(max: number): number,\n\tnextGaussian(): number,\n\tsampleInt(provider: any): number,\n}\n\nconst terrain = [50, 50, 51, 51, 52, 52, 53, 54, 56, 57, 57, 58, 58, 59, 60, 60, 60, 59, 59, 59, 60, 61, 61, 62, 63, 63, 64, 64, 64, 65, 65, 66, 66, 65, 65, 66, 66, 67, 67, 67, 68, 69, 71, 73, 74, 76, 79, 80, 81, 81, 82, 83, 83, 82, 82, 81, 81, 80, 80, 80, 81, 81, 82, 82] \n\nconst featureColors = [\n\t[255, 77, 54], // red\n\t[59, 118, 255], // blue\n\t[91, 207, 25], // green\n\t[217, 32, 245], // magenta\n\t[255, 209, 41], // yellow\n\t[52, 204, 209], // cyan\n]\n\nexport type DecoratorOptions = {\n\tsize: [number, number, number],\n\tseed: bigint,\n\tversion: VersionId,\n}\nexport function decorator(state: any, img: ImageData, options: DecoratorOptions) {\n\tconst random = new LegacyRandom(options.seed)\n\tconst ctx: PlacementContext = {\n\t\tplacements: [],\n\t\tfeatures: [],\n\t\trandom,\n\t\tbiomeInfoNoise: new PerlinNoise(random.fork(), 0, [1]),\n\t\tseaLevel: 63,\n\t\tversion: options.version,\n\t\tnextFloat: () => random.nextFloat(),\n\t\tnextInt: (max: number) => random.nextInt(max),\n\t\tnextGaussian: () => Math.sqrt(-2 * Math.log(1 - random.nextFloat())) * Math.cos(2 * Math.PI * random.nextFloat()),\n\t\tsampleInt(value) { return sampleInt(value, this) },\n\t}\n\n\tfor (let x = 0; x < options.size[0] / 16; x += 1) {\n\t\tfor (let z = 0; z < options.size[2] / 16; z += 1) {\n\t\t\tif (checkVersion(options.version, undefined, '1.17')) {\n\t\t\t\tgetPlacements([x * 16, 0, z * 16], DataModel.unwrapLists(state), ctx)\n\t\t\t} else {\n\t\t\t\tmodifyPlacement([x * 16, 0, z * 16], DataModel.unwrapLists(state.placement), ctx)\n\t\t\t}\n\t\t}\n\t}\n\n\tconst data = img.data\n\timg.data.fill(255)\n\n\tfor (const [pos, feature] of ctx.placements) {\n\t\tif (pos[0] < 0 || pos[1] < 0 || pos[2] < 0 || pos[0] >= options.size[0] || pos[1] >= options.size[1] || pos[2] >= options.size[2]) continue\n\t\tconst i = (pos[2] * (img.width * 4)) + (pos[0] * 4)\n\t\tconst color = feature < featureColors.length ? featureColors[feature] : stringToColor(ctx.features[feature])\n\t\tdata[i] = clamp(50, 205, color[0])\n\t\tdata[i + 1] = clamp(50, 205, color[1])\n\t\tdata[i + 2] = clamp(50, 205, color[2])\n\t\tdata[i + 3] = 255\n\t}\n\n\tfor (let x = 0; x < options.size[0]; x += 1) {\n\t\tfor (let y = 0; y < options.size[2]; y += 1) {\n\t\t\tif ((Math.floor(x / 16) + Math.floor(y / 16)) % 2 === 0) continue\n\t\t\tconst i = (y * (img.width * 4)) + (x * 4)\n\t\t\tfor (let j = 0; j < 3; j += 1) {\n\t\t\t\tdata[i + j] = 0.85 * data[i + j] \n\t\t\t}\n\t\t}\n\t}\n}\n\nfunction normalize(id: string) {\n\treturn id.startsWith('minecraft:') ? id.slice(10) : id\n}\n\nfunction decorateY(pos: BlockPos, y: number): BlockPos[] {\n\treturn [[ pos[0], y, pos[2] ]]\n}\n\nfunction sampleInt(value: any, ctx: PlacementContext): number {\n\tif (typeof value === 'number') {\n\t\treturn value\n\t} else if (value.base) {\n\t\treturn value.base ?? 1 + ctx.nextInt(1 + (value.spread ?? 0))\n\t} else {\n\t\tswitch (normalize(value.type)) {\n\t\t\tcase 'constant': return value.value\n\t\t\tcase 'uniform': return value.value.min_inclusive + ctx.nextInt(value.value.max_inclusive - value.value.min_inclusive + 1)\n\t\t\tcase 'biased_to_bottom': return value.value.min_inclusive + ctx.nextInt(ctx.nextInt(value.value.max_inclusive - value.value.min_inclusive + 1) + 1)\n\t\t\tcase 'clamped': return clamp(ctx.sampleInt(value.value.source), value.value.min_inclusive, value.value.max_inclusive)\n\t\t\tcase 'clamped_normal':\n\t\t\t\tconst normal = value.value.mean + ctx.nextGaussian() * value.value.deviation\n\t\t\t\treturn Math.floor(clamp(value.value.min_inclusive, value.value.max_inclusive, normal))\n\t\t\tcase 'weighted_list':\n\t\t\t\tconst totalWeight = (value.distribution as any[]).reduce<number>((sum, e) => sum + e.weight, 0)\n\t\t\t\tlet i = ctx.nextInt(totalWeight)\n\t\t\t\tfor (const e of value.distribution) {\n\t\t\t\t\ti -= e.weight\n\t\t\t\t\tif (i < 0) return ctx.sampleInt(e.data)\n\t\t\t\t}\n\t\t\t\treturn 0\n\t\t}\n\t\treturn 1\n\t}\n}\n\nfunction resolveAnchor(anchor: any, _ctx: PlacementContext): number {\n\tif (!isObject(anchor)) throw new Error('Invalid vertical anchor')\n\tif (anchor.absolute) return anchor.absolute\n\tif (anchor.above_bottom) return anchor.above_bottom\n\tif (anchor.below_top) return 256 - anchor.below_top\n\tthrow new Error('Invalid vertical anchor')\n}\n\nfunction sampleHeight(height: any, ctx: PlacementContext): number {\n\tif (!isObject(height)) throw new Error('Invalid height provider')\n\tif (typeof height.type !== 'string') {\n\t\treturn resolveAnchor(height, ctx)\n\t}\n\tswitch (normalize(height.type)) {\n\t\tcase 'constant': return resolveAnchor(height.value, ctx)\n\t\tcase 'uniform': {\n\t\t\tconst min = resolveAnchor(height.min_inclusive, ctx)\n\t\t\tconst max = resolveAnchor(height.max_inclusive, ctx)\n\t\t\treturn min + ctx.nextInt(max - min + 1)\n\t\t}\n\t\tcase 'biased_to_bottom': {\n\t\t\tconst min = resolveAnchor(height.min_inclusive, ctx)\n\t\t\tconst max = resolveAnchor(height.max_inclusive, ctx)\n\t\t\tconst n = ctx.nextInt(max - min - (height.inner ?? 1) + 1)\n\t\t\treturn min + ctx.nextInt(n + (height.inner ?? 1))\n\t\t}\n\t\tcase 'very_biased_to_bottom': {\n\t\t\tconst min = resolveAnchor(height.min_inclusive, ctx)\n\t\t\tconst max = resolveAnchor(height.max_inclusive, ctx)\n\t\t\tconst inner = height.inner ?? 1\n\t\t\tconst n1 = min + inner + ctx.nextInt(max - min - inner + 1)\n\t\t\tconst n2 = min + ctx.nextInt(n1 - min)\n\t\t\treturn min + ctx.nextInt(n2 - min + inner)\n\t\t}\n\t\tcase 'trapezoid': {\n\t\t\tconst min = resolveAnchor(height.min_inclusive, ctx)\n\t\t\tconst max = resolveAnchor(height.max_inclusive, ctx)\n\t\t\tconst plateau = height.plateau ?? 0\n\t\t\tif (plateau >= max - min) {\n\t\t\t\treturn min + ctx.nextInt(max - min + 1)\n\t\t\t}\n\t\t\tconst n1 = (max - min - plateau) / 2\n\t\t\tconst n2 = (max - min) - n1\n\t\t\treturn min + ctx.nextInt(n2 + 1) + ctx.nextInt(n1 + 1)\n\t\t}\n\t\tdefault: throw new Error(`Invalid height provider ${height.type}`)\n\t}\n}\n\n// 1.17 and before\nfunction useFeature(s: string, ctx: PlacementContext) {\n\tconst i = ctx.features.indexOf(s)\n\tif (i != -1) return i\n\tctx.features.push(s)\n\treturn ctx.features.length - 1\n}\n\nfunction getPlacements(pos: BlockPos, feature: any, ctx: PlacementContext): void {\n\tif (typeof feature === 'string') {\n\t\tctx.placements.push([pos, useFeature(feature, ctx)])\n\t\treturn\n\t}\n\tconst type = normalize(feature?.type ?? 'no_op')\n\tconst featureFn = Features[type]\n\tif (featureFn) {\n\t\tfeatureFn(feature.config, pos, ctx)\n\t} else {\n\t\tctx.placements.push([pos, useFeature(JSON.stringify(feature), ctx)])\n\t}\n}\n\nfunction getPositions(pos: BlockPos, decorator: any, ctx: PlacementContext): BlockPos[] {\n\tconst type = normalize(decorator?.type ?? 'nope')\n\tconst decoratorFn = Decorators[type]\n\tif (!decoratorFn) {\n\t\treturn [pos]\n\t}\n\treturn decoratorFn(decorator?.config, pos, ctx)\n}\n\nconst Features: {\n\t[key: string]: (config: any, pos: BlockPos, ctx: PlacementContext) => void,\n} = {\n\tdecorated: (config, pos, ctx) => {\n\t\tconst positions = getPositions(pos, config?.decorator, ctx)\n\t\tpositions.forEach(p => getPlacements(p, config?.feature, ctx))\n\t},\n\trandom_boolean_selector: (config, pos, ctx) => {\n\t\tconst feature = ctx.nextFloat() < 0.5 ? config?.feature_true : config?.feature_false\n\t\tgetPlacements(pos, feature, ctx)\n\t},\n\trandom_selector: (config, pos, ctx) => {\n\t\tfor (const f of config?.features ?? []) {\n\t\t\tif (ctx.nextFloat() < (f?.chance ?? 0)) {\n\t\t\t\tgetPlacements(pos, f.feature, ctx)\n\t\t\t\treturn\n\t\t\t}\n\t\t}\n\t\tgetPlacements(pos, config?.default, ctx)\n\t},\n\tsimple_random_selector: (config, pos, ctx) => {\n\t\tconst feature = config?.features?.[ctx.nextInt(config?.features?.length ?? 0)]\n\t\tgetPlacements(pos, feature, ctx)\n\t},\n}\n\nconst Decorators: {\n\t[key: string]: (config: any, pos: BlockPos, ctx: PlacementContext) => BlockPos[],\n} = {\n\tchance: (config, pos, ctx) => {\n\t\treturn ctx.nextFloat() < 1 / (config?.chance ?? 1) ? [pos] : []\n\t},\n\tcount: (config, pos, ctx) => {\n\t\treturn new Array(ctx.sampleInt(config?.count ?? 1)).fill(pos)\n\t},\n\tcount_extra: (config, pos, ctx) => {\n\t\tlet count = config?.count ?? 1\n\t\tif (ctx.nextFloat() < config.extra_chance ?? 0){\n\t\t\tcount += config.extra_count ?? 0\n\t\t}\n\t\treturn new Array(count).fill(pos)\n\t},\n\tcount_multilayer: (config, pos, ctx) => {\n\t\treturn new Array(ctx.sampleInt(config?.count ?? 1)).fill(pos)\n\t\t\t.map(p => [\n\t\t\t\tp[0] + ctx.nextInt(16),\n\t\t\t\tp[1], \n\t\t\t\tp[2] + ctx.nextInt(16),\n\t\t\t])\n\t},\n\tcount_noise: (config, pos, ctx) => {\n\t\tconst noise = ctx.biomeInfoNoise.sample(pos[0] / 200, 0, pos[2] / 200)\n\t\tconst count = noise < config.noise_level ? config.below_noise : config.above_noise\n\t\treturn new Array(count).fill(pos)\n\t},\n\tcount_noise_biased: (config, pos, ctx) => {\n\t\tconst factor = Math.max(1, config.noise_factor)\n\t\tconst noise = ctx.biomeInfoNoise.sample(pos[0] / factor, 0, pos[2] / factor)\n\t\tconst count = Math.max(0, Math.ceil((noise + (config.noise_offset ?? 0)) * config.noise_to_count_ratio))\n\t\treturn new Array(count).fill(pos)\n\t},\n\tdark_oak_tree: (_config, pos, ctx) => {\n\t\treturn [...new Array(16)].map((_, i) => {\n\t\t\tconst x = Math.floor(i / 4) * 4 + 1 + ctx.nextInt(3) + pos[0]\n\t\t\tconst y = Math.max(ctx.seaLevel, terrain[clamp(0, 63, x)])\n\t\t\tconst z = Math.floor(i % 4) * 4 + 1 + ctx.nextInt(3) + pos[2]\n\t\t\treturn [x, y, z]\n\t\t})\n\t},\n\tdecorated: (config, pos, ctx) => {\n\t\treturn getPositions(pos, config?.outer, ctx).flatMap(p => {\n\t\t\treturn getPositions(p, config?.inner, ctx)\n\t\t})\n\t},\n\tdepth_average: (config, pos, ctx) => {\n\t\tconst y = ctx.nextInt(config?.spread ?? 0) + ctx.nextInt(config?.spread ?? 0) - (config.spread ?? 0) + (config?.baseline ?? 0)\n\t\treturn decorateY(pos, y)\n\t},\n\temerald_ore: (_config, pos, ctx) => {\n\t\tconst count = 3 + ctx.nextInt(6)\n\t\treturn [...new Array(count)].map(() => [\n\t\t\tpos[0] + ctx.nextInt(16),\n\t\t\t4 + ctx.nextInt(28),\n\t\t\tpos[2] + ctx.nextInt(16),\n\t\t])\n\t},\n\tfire: (config, pos, ctx) => {\n\t\tconst count = 1 + ctx.nextInt(ctx.nextInt(ctx.sampleInt(config?.count)))\n\t\treturn [...new Array(count)].map(() => [\n\t\t\tpos[0] + ctx.nextInt(16),\n\t\t\tctx.nextInt(128),\n\t\t\tpos[2] + ctx.nextInt(16),\n\t\t])\n\t},\n\tglowstone: (config, pos, ctx) => {\n\t\tconst count = ctx.nextInt(1 + ctx.nextInt(ctx.sampleInt(config?.count)))\n\t\treturn [...new Array(count)].map(() => [\n\t\t\tpos[0] + ctx.nextInt(16),\n\t\t\tctx.nextInt(128),\n\t\t\tpos[2] + ctx.nextInt(16),\n\t\t])\n\t},\n\theightmap: (_config, pos, ctx) => {\n\t\tconst y = Math.max(ctx.seaLevel, terrain[clamp(0, 63, pos[0])])\n\t\treturn decorateY(pos, y)\n\t},\n\theightmap_spread_double: (_config, pos, ctx) => {\n\t\tconst y = Math.max(ctx.seaLevel, terrain[clamp(0, 63, pos[0])])\n\t\treturn decorateY(pos, ctx.nextInt(y * 2))\n\t},\n\theightmap_world_surface: (_config, pos, ctx) => {\n\t\tconst y = Math.max(ctx.seaLevel, terrain[clamp(0, 63, pos[0])])\n\t\treturn decorateY(pos, y)\n\t},\n\ticeberg: (_config, pos, ctx) => {\n\t\treturn [[\n\t\t\tpos[0] + 4 + ctx.nextInt(8),\n\t\t\tpos[1],\n\t\t\tpos[2] + 4 + ctx.nextInt(8),\n\t\t]]\n\t},\n\tlava_lake: (config, pos, ctx) => {\n\t\tif (ctx.nextInt((config.chance ?? 1) / 10) === 0) {\n\t\t\tconst y = ctx.nextInt(ctx.nextInt(256 - 8) + 8)\n\t\t\tif (y < ctx.seaLevel || ctx.nextInt((config?.chance ?? 1) / 8) == 0) {\n\t\t\t\tconst x = ctx.nextInt(16) + pos[0]\n\t\t\t\tconst z = ctx.nextInt(16) + pos[2]\n\t\t\t\treturn [[x, y, z]]\n\t\t\t}\n\t\t}\n\t\treturn []\n\t},\n\tnope: (_config, pos) => {\n\t\treturn [pos]\n\t},\n\trange: (config, pos, ctx) => {\n\t\tconst y = ctx.nextInt((config?.maximum ?? 1) - (config?.top_offset ?? 0)) + (config?.bottom_offset ?? 0)\n\t\treturn decorateY(pos, y)\n\t},\n\trange_biased: (config, pos, ctx) => {\n\t\tconst y = ctx.nextInt(ctx.nextInt((config?.maximum ?? 1) - (config?.top_offset ?? 0)) + (config?.bottom_offset ?? 0))\n\t\treturn decorateY(pos, y)\n\t},\n\trange_very_biased: (config, pos, ctx) => {\n\t\tconst y = ctx.nextInt(ctx.nextInt(ctx.nextInt((config?.maximum ?? 1) - (config?.top_offset ?? 0)) + (config?.bottom_offset ?? 0)) + (config?.bottom_offset ?? 0))\n\t\treturn decorateY(pos, y)\n\t},\n\tspread_32_above: (_config, pos, ctx) => {\n\t\tconst y = ctx.nextInt(pos[1] + 32)\n\t\treturn decorateY(pos, y)\n\t},\n\ttop_solid_heightmap: (_config, pos) => {\n\t\tconst y = terrain[clamp(0, 63, pos[0])]\n\t\treturn decorateY(pos, y)\n\t},\n\tmagma: (_config, pos, ctx) => {\n\t\tconst y = ctx.nextInt(pos[1] + 32)\n\t\treturn decorateY(pos, y)\n\t},\n\tsquare: (_config, pos, ctx) => {\n\t\treturn [[\n\t\t\tpos[0] + ctx.nextInt(16),\n\t\t\tpos[1],\n\t\t\tpos[2] + ctx.nextInt(16),\n\t\t]]\n\t},\n\tsurface_relative_threshold: (config, pos) => {\n\t\tconst height = terrain[clamp(0, 63, pos[0])]\n\t\tconst min = height + (config?.min_inclusive ?? -Infinity)\n\t\tconst max = height + (config?.max_inclusive ?? Infinity)\n\t\treturn (pos[1] < min || pos[1] > max) ? [pos] : []\n\t},\n\twater_lake: (config, pos, ctx) => {\n\t\tif (ctx.nextInt(config.chance ?? 1) === 0) {\n\t\t\treturn [[\n\t\t\t\tpos[0] + ctx.nextInt(16),\n\t\t\t\tctx.nextInt(256),\n\t\t\t\tpos[2] + ctx.nextInt(16),\n\t\t\t]]\n\t\t}\n\t\treturn []\n\t},\n}\n\n// 1.18 and after\nfunction modifyPlacement(pos: BlockPos, placement: any[], ctx: PlacementContext) {\n\tlet positions = [pos]\n\tfor (const modifier of placement) {\n\t\tconst modifierFn = PlacementModifiers[normalize(modifier?.type ?? 'nope')]\n\t\tif (!modifierFn) continue\n\t\tpositions = positions.flatMap(pos =>\n\t\t\tPlacementModifiers[normalize(modifier.type)](modifier, pos, ctx)\n\t\t)\n\t}\n\tfor (const pos of positions) {\n\t\tctx.placements.push([pos, 0])\n\t}\n}\n\nconst PlacementModifiers: {\n\t[key: string]: (config: any, pos: BlockPos, ctx: PlacementContext) => BlockPos[],\n} = {\n\tcount: ({ count }, pos, ctx) => {\n\t\treturn new Array(ctx.sampleInt(count ?? 1)).fill(pos)\n\t},\n\tcount_on_every_layer: ({ count }, pos, ctx) => {\n\t\treturn new Array(ctx.sampleInt(count ?? 1)).fill(pos)\n\t\t\t.map(p => [\n\t\t\t\tp[0] + ctx.nextInt(16),\n\t\t\t\tp[1], \n\t\t\t\tp[2] + ctx.nextInt(16),\n\t\t\t])\n\t},\n\tenvironment_scan: ({}, pos) => {\n\t\treturn [pos]\n\t},\n\theight_range: ({ height }, pos, ctx) => {\n\t\treturn decorateY(pos, sampleHeight(height, ctx))\n\t},\n\theightmap: ({}, pos, ctx) => {\n\t\tconst y = Math.max(ctx.seaLevel, terrain[clamp(0, 63, pos[0])])\n\t\treturn decorateY(pos, y)\n\t},\n\tin_square: ({}, pos, ctx) => {\n\t\treturn [[\n\t\t\tpos[0] + ctx.nextInt(16),\n\t\t\tpos[1],\n\t\t\tpos[2] + ctx.nextInt(16),\n\t\t]]\n\t},\n\tnoise_based_count: ({ noise_to_count_ratio, noise_factor, noise_offset }, pos, ctx) => {\n\t\tconst factor = Math.max(1, noise_factor)\n\t\tconst noise = ctx.biomeInfoNoise.sample(pos[0] / factor, 0, pos[2] / factor)\n\t\tconst count = Math.max(0, Math.ceil((noise + (noise_offset ?? 0)) * noise_to_count_ratio))\n\t\treturn new Array(count).fill(pos)\n\t},\n\tnoise_threshold_count: ({ noise_level, below_noise, above_noise }, pos, ctx) => {\n\t\tconst noise = ctx.biomeInfoNoise.sample(pos[0] / 200, 0, pos[2] / 200)\n\t\tconst count = noise < noise_level ? below_noise : above_noise\n\t\treturn new Array(count).fill(pos)\n\t},\n\trandom_offset: ({ xz_spread, y_spread }, pos, ctx) => {\n\t\treturn [[\n\t\t\tpos[0] + ctx.sampleInt(xz_spread),\n\t\t\tpos[1] + ctx.sampleInt(y_spread),\n\t\t\tpos[2] + ctx.sampleInt(xz_spread),\n\t\t]]\n\t},\n\trarity_filter: ({ chance }, pos, ctx) => {\n\t\treturn ctx.nextFloat() < 1 / (chance ?? 1) ? [pos] : []\n\t},\n}\n","import { DataModel } from '@mcschema/core'\nimport * as deepslate19 from 'deepslate/worldgen'\nimport type { VersionId } from '../services'\nimport { checkVersion, fetchAllPresets } from '../services'\nimport { deepClone, deepEqual } from '../Utils'\n\nexport class Deepslate {\n\tprivate d = deepslate19\n\tprivate loadedVersion: VersionId | undefined\n\tprivate loadingVersion: VersionId | undefined\n\tprivate loadingPromise: Promise<void> | undefined\n\tprivate readonly deepslateCache = new Map<VersionId, typeof deepslate19>()\n\tprivate readonly Z = 0\n\n\tprivate cacheState: unknown\n\tprivate settingsCache: NoiseSettings | undefined\n\tprivate generatorCache: ChunkGenerator | undefined\n\tprivate chunksCache: Chunk[] = []\n\n\tpublic async loadVersion(version: VersionId) {\n\t\tif (this.loadedVersion === version) {\n\t\t\treturn\n\t\t}\n\t\tif (this.loadingVersion !== version || !this.loadingPromise) {\n\t\t\tthis.loadingVersion = version\n\t\t\tthis.loadingPromise = this.doLoadVersion(version)\n\t\t}\n\t\treturn this.loadingPromise\n\t}\n\n\tprivate async doLoadVersion(version: VersionId) {\n\t\tconst cachedDeepslate = this.deepslateCache.get(version)\n\t\tif (cachedDeepslate) {\n\t\t\tthis.d = cachedDeepslate\n\t\t} else {\n\t\t\tif (checkVersion(version, '1.19')) {\n\t\t\t\tthis.d = deepslate19\n\t\t\t} else if (checkVersion(version, '1.18.2')) {\n\t\t\t\tthis.d = await import('deepslate-1.18.2') as any\n\t\t\t} else {\n\t\t\t\tthis.d = await import('deepslate-1.18') as any\n\t\t\t}\n\t\t\tif (this.d.WorldgenRegistries) {\n\t\t\t\tconst REGISTRIES: [string, keyof typeof deepslate19.WorldgenRegistries, { fromJson(obj: unknown): any}][] = [\n\t\t\t\t\t['worldgen/noise', 'NOISE', this.d.NoiseParameters],\n\t\t\t\t\t['worldgen/density_function', 'DENSITY_FUNCTION', this.d.DensityFunction],\n\t\t\t\t]\n\t\t\t\tawait Promise.all(REGISTRIES.map(async ([id, name, parser]) => {\n\t\t\t\t\tconst entries = await fetchAllPresets(version, id)\n\t\t\t\t\tconst registry = new this.d.Registry<typeof parser>(this.d.Identifier.create(id))\n\t\t\t\t\tfor (const [key, value] of entries.entries()) {\n\t\t\t\t\t\tregistry.register(this.d.Identifier.parse(key), parser.fromJson(value))\n\t\t\t\t\t}\n\t\t\t\t\tthis.d.WorldgenRegistries[name].assign(registry as any)\n\t\t\t\t}))\n\t\t\t}\n\t\t\tthis.deepslateCache.set(version, this.d)\n\t\t}\n\t\tthis.loadedVersion = version\n\t\tthis.loadingVersion = undefined\n\t}\n\n\tpublic loadChunkGenerator(settings: unknown, seed: bigint, biome = 'unknown') {\n\t\tif (!this.loadedVersion) {\n\t\t\tthrow new Error('No deepslate version loaded')\n\t\t}\n\t\tconst newCacheState = [settings, `${seed}`, biome]\n\t\tif (!deepEqual(this.cacheState, newCacheState)) {\n\t\t\tconst biomeSource = new this.d.FixedBiome(checkVersion(this.loadedVersion, '1.18.2') ? this.d.Identifier.parse(biome) : biome as any)\n\t\t\tconsole.log(this.d)\n\t\t\tconst noiseSettings = this.d.NoiseGeneratorSettings.fromJson(DataModel.unwrapLists(settings))\n\t\t\tconst chunkGenerator = new this.d.NoiseChunkGenerator(seed, biomeSource, noiseSettings)\n\t\t\tthis.settingsCache = noiseSettings.noise\n\t\t\tthis.generatorCache = chunkGenerator\n\t\t\tthis.chunksCache = []\n\t\t\tthis.cacheState = deepClone(newCacheState)\n\t\t}\n\t}\n\n\tpublic generateChunks(minX: number, width: number, biome = 'unknown') {\n\t\tminX = Math.floor(minX)\n\t\tif (!this.settingsCache) {\n\t\t\tthrow new Error('Tried to generate chunks before settings are loaded')\n\t\t}\n\t\tconst minY = this.settingsCache.minY\n\t\tconst height = this.settingsCache.height\n\n\t\treturn [...Array(Math.ceil(width / 16) + 1)].map((_, i) => {\n\t\t\tconst x = (minX >> 4) + i\n\t\t\tconst cached = this.chunksCache.find(c => c.pos[0] === x)\n\t\t\tif (cached) {\n\t\t\t\treturn cached\n\t\t\t}\n\t\t\tconst chunk = new this.d.Chunk(minY, height, this.d.ChunkPos.create(x, this.Z >> 4))\n\t\t\tif (!this.generatorCache) {\n\t\t\t\tthrow new Error('Tried to generate chunks before generator is loaded')\n\t\t\t}\n\t\t\tthis.generatorCache.fill(chunk, true)\n\t\t\tthis.generatorCache.buildSurface(chunk, biome)\n\t\t\tthis.chunksCache.push(chunk)\n\t\t\treturn chunk\n\t\t})\n\t}\n\n\tpublic loadDensityFunction(state: unknown, seed: bigint) {\n\t\tconst random = this.d.XoroshiroRandom.create(seed).forkPositional()\n\t\tconst settings = this.d.NoiseSettings.fromJson({\n\t\t\tmin_y: -64,\n\t\t\theight: 384,\n\t\t\tsize_horizontal: 1,\n\t\t\tsize_vertical: 2,\n\t\t\tsampling: { xz_scale: 1, y_scale: 1, xz_factor: 80, y_factor: 160 },\n\t\t\tbottom_slide: { target: 0.1171875, size: 3, offset: 0 },\n\t\t\ttop_slide: { target: -0.078125, size: 2, offset: 8 },\n\t\t\tterrain_shaper: { offset: 0.044, factor: 4, jaggedness: 0 },\n\t\t})\n\t\tthis.settingsCache = settings\n\t\tconst originalFn = this.d.DensityFunction.fromJson(state)\n\t\treturn originalFn.mapAll(new this.d.NoiseRouter.Visitor(random, settings))\n\t}\n\n\tpublic getNoiseSettings(): NoiseSettings {\n\t\tif (!this.settingsCache) {\n\t\t\tthrow new Error('Tried to access noise settings when they are not loaded')\n\t\t}\n\t\treturn this.settingsCache\n\t}\n\n\tpublic getBlockState(x: number, y: number) {\n\t\tx = Math.floor(x)\n\t\ty = Math.floor(y)\n\t\tconst chunk = this.chunksCache.find(c => this.d.ChunkPos.minBlockX(c.pos) <= x && this.d.ChunkPos.maxBlockX(c.pos) >= x)\n\t\treturn chunk?.getBlockState(this.d.BlockPos.create(x, y, this.Z))\n\t}\n}\n\ninterface NoiseSettings {\n\tminY: number,\n\theight: number,\n}\n\ninterface ChunkGenerator {\n\tfill(chunk: Chunk, onlyFirstZ?: boolean): void\n\tbuildSurface(chunk: Chunk, biome: string): void\n}\n\ninterface Chunk {\n\treadonly pos: deepslate19.ChunkPos;\n\tgetBlockState(pos: deepslate19.BlockPos): deepslate19.BlockState;\n}\n","import { LegacyRandom, PerlinNoise } from 'deepslate/worldgen'\nimport { clampedLerp, lerp2 } from '../../Utils'\n\nexport class NoiseChunkGenerator {\n\tprivate readonly minLimitPerlinNoise: PerlinNoise\n\tprivate readonly maxLimitPerlinNoise: PerlinNoise\n\tprivate readonly mainPerlinNoise: PerlinNoise\n\tprivate readonly depthNoise: PerlinNoise\n\n\tprivate settings: any = {}\n\tprivate chunkWidth: number = 4\n\tprivate chunkHeight: number = 4\n\tprivate chunkCountY: number = 32\n\tprivate biomeDepth: number = 0.1\n\tprivate biomeScale: number = 0.2\n\n\tprivate noiseColumnCache: (number[] | null)[] = []\n\tprivate xOffset: number = 0\n\n\tconstructor(seed: bigint) {\n\t\tconst random = new LegacyRandom(seed)\n\t\tthis.minLimitPerlinNoise = new PerlinNoise(random, -15, [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1])\n\t\tthis.maxLimitPerlinNoise = new PerlinNoise(random, -15, [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1])\n\t\tthis.mainPerlinNoise = new PerlinNoise(random, -7, [1, 1, 1, 1, 1, 1, 1, 1])\n\t\tthis.depthNoise = new PerlinNoise(random, -15, [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1])\n\t}\n\n\tpublic reset(settings: any, depth: number, scale: number, xOffset: number, width: number) {\n\t\tthis.settings = settings\n\t\tthis.chunkWidth = settings.size_horizontal * 4\n\t\tthis.chunkHeight = settings.size_vertical * 4\n\t\tthis.chunkCountY = Math.floor(settings.height / this.chunkHeight)\n\n\t\tif (settings.amplified && depth > 0) {\n\t\t\tdepth = 1 + depth * 2\n\t\t\tscale = 1 + scale * 4\n\t\t}\n\t\tthis.biomeDepth = 0.265625 * (depth * 0.5 - 0.125)\n\t\tthis.biomeScale = 96.0 / (scale * 0.9 + 0.1)\n\n\t\tthis.noiseColumnCache = Array(width).fill(null)\n\t\tthis.xOffset = xOffset\n\t}\n \n\tpublic iterateNoiseColumn(x: number): number[] {\n\t\tconst data = Array(this.chunkCountY * this.chunkHeight)\n\t\tconst cx = Math.floor(x / this.chunkWidth)\n\t\tconst ox = Math.floor(x % this.chunkWidth) / this.chunkWidth\n\t\tconst noise1 = this.fillNoiseColumn(cx)\n\t\tconst noise2 = this.fillNoiseColumn(cx + 1)\n\n\t\tfor (let y = this.chunkCountY - 1; y >= 0; y -= 1) {\n\t\t\tfor (let yy = this.chunkHeight; yy >= 0; yy -= 1) {\n\t\t\t\tconst oy = yy / this.chunkHeight\n\t\t\t\tconst i = y * this.chunkHeight + yy\n\t\t\t\tdata[i] = lerp2(oy, ox, noise1[y], noise1[y+1], noise2[y], noise2[y+1])\n\t\t\t}\n\t\t}\n\t\treturn data\n\t}\n\n\tprivate fillNoiseColumn(x: number): number[] {\n\t\tconst cachedColumn = this.noiseColumnCache[x - this.xOffset]\n\t\tif (cachedColumn) return cachedColumn\n\n\t\tconst data = Array(this.chunkCountY + 1)\n\n\t\tconst xzScale = 684.412 * this.settings.sampling.xz_scale\n\t\tconst yScale = 684.412 * this.settings.sampling.y_scale\n\t\tconst xzFactor = xzScale / this.settings.sampling.xz_factor\n\t\tconst yFactor = yScale / this.settings.sampling.y_factor\n\t\tconst randomDensity = this.settings.random_density_offset ? this.getRandomDensity(x) : 0\n\n\t\tfor (let y = 0; y <= this.chunkCountY; y += 1) {\n\t\t\tlet noise = this.sampleAndClampNoise(x, y, this.mainPerlinNoise.getOctaveNoise(0)!.zo, xzScale, yScale, xzFactor, yFactor)\n\t\t\tconst yOffset = 1 - y * 2 / this.chunkCountY + randomDensity\n\t\t\tconst density = yOffset * this.settings.density_factor + this.settings.density_offset\n\t\t\tconst falloff = (density + this.biomeDepth) * this.biomeScale\n\t\t\tnoise += falloff * (falloff > 0 ? 4 : 1)\n\n\t\t\tif (this.settings.top_slide.size > 0) {\n\t\t\t\tnoise = clampedLerp(\n\t\t\t\t\tthis.settings.top_slide.target,\n\t\t\t\t\tnoise,\n\t\t\t\t\t(this.chunkCountY - y - (this.settings.top_slide.offset)) / (this.settings.top_slide.size)\n\t\t\t\t)\n\t\t\t}\n\n\t\t\tif (this.settings.bottom_slide.size > 0) {\n\t\t\t\tnoise = clampedLerp(\n\t\t\t\t\tthis.settings.bottom_slide.target,\n\t\t\t\t\tnoise,\n\t\t\t\t\t(y - (this.settings.bottom_slide.offset)) / (this.settings.bottom_slide.size)\n\t\t\t\t)\n\t\t\t}\n\t\t\tdata[y] = noise\n\t\t}\n\n\t\tthis.noiseColumnCache[x - this.xOffset] = data\n\t\treturn data\n\t}\n\n\tprivate getRandomDensity(x: number): number {\n\t\tconst noise = this.depthNoise.sample(x * 200, 10, this.depthNoise.getOctaveNoise(0)!.zo, 1, 0, true)\n\t\tconst a = (noise < 0) ? -noise * 0.3 : noise\n\t\tconst b = a * 24.575625 - 2\n\t\treturn (b < 0) ? b * 0.009486607142857142 : Math.min(b, 1) * 0.006640625\n\t}\n\n\tprivate sampleAndClampNoise(x: number, y: number, z: number, xzScale: number, yScale: number, xzFactor: number, yFactor: number): number {\n\t\tlet a = 0\n\t\tlet b = 0\n\t\tlet c = 0\n\t\tlet d = 1\n\n\t\tfor (let i = 0; i < 16; i += 1) {\n\t\t\tconst x2 = PerlinNoise.wrap(x * xzScale * d)\n\t\t\tconst y2 = PerlinNoise.wrap(y * yScale * d)\n\t\t\tconst z2 = PerlinNoise.wrap(z * xzScale * d)\n\t\t\tconst e = yScale * d\n\n\t\t\tconst minLimitNoise = this.minLimitPerlinNoise.getOctaveNoise(i)\n\t\t\tif (minLimitNoise) {\n\t\t\t\ta += minLimitNoise.sample(x2, y2, z2, e, y * e) / d\n\t\t\t}\n\n\t\t\tconst maxLimitNoise = this.maxLimitPerlinNoise.getOctaveNoise(i)\n\t\t\tif (maxLimitNoise) {\n\t\t\t\tb += maxLimitNoise.sample(x2, y2, z2, e, y * e) / d\n\t\t\t}\n\n\t\t\tif (i < 8) {\n\t\t\t\tconst mainNoise = this.mainPerlinNoise.getOctaveNoise(i)\n\t\t\t\tif (mainNoise) {\n\t\t\t\t\tc += mainNoise.sample(\n\t\t\t\t\t\tPerlinNoise.wrap(x * xzFactor * d),\n\t\t\t\t\t\tPerlinNoise.wrap(y * yFactor * d),\n\t\t\t\t\t\tPerlinNoise.wrap(z * xzFactor * d),\n\t\t\t\t\t\tyFactor * d,\n\t\t\t\t\t\ty * yFactor * d \n\t\t\t\t\t) / d\n\t\t\t\t}\n\t\t\t}\n\n\t\t\td /= 2\n\t\t}\n\n\t\treturn clampedLerp(a / 512, b / 512, (c / 10 + 1) / 2)\n\t}\n}\n","import { BlockState, clampedMap, DensityFunction } from 'deepslate/worldgen'\nimport type { VersionId } from '../services'\nimport { checkVersion } from '../services'\nimport { Deepslate } from './Deepslate'\nimport { NoiseChunkGenerator as OldNoiseChunkGenerator } from './noise/NoiseChunkGenerator'\n\nexport type NoiseSettingsOptions = {\n\tbiome?: string,\n\tbiomeScale?: number,\n\tbiomeDepth?: number,\n\toffset: number,\n\twidth: number,\n\tseed: bigint,\n\tversion: VersionId,\n}\n\nconst colors: Record<string, [number, number, number]> = {\n\t'minecraft:air': [150, 160, 170],\n\t'minecraft:water': [20, 80, 170],\n\t'minecraft:lava': [200, 100, 0],\n\t'minecraft:stone': [55, 55, 55],\n\t'minecraft:deepslate': [34, 34, 36],\n\t'minecraft:bedrock': [10, 10, 10],\n\t'minecraft:grass_block': [47, 120, 23],\n\t'minecraft:dirt': [64, 40, 8],\n\t'minecraft:gravel': [70, 70, 70],\n\t'minecraft:sand': [196, 180, 77],\n\t'minecraft:sandstone': [148, 135, 52],\n\t'minecraft:netherrack': [100, 40, 40],\n\t'minecraft:crimson_nylium': [144, 22, 22],\n\t'minecraft:warped_nylium': [28, 115, 113],\n\t'minecraft:basalt': [73, 74, 85],\n\t'minecraft:end_stone': [200, 200, 140],\n}\n\nconst DEEPSLATE = new Deepslate()\n\nexport async function noiseSettings(state: any, img: ImageData, options: NoiseSettingsOptions) {\n\tif (checkVersion(options.version, '1.18')) {\n\n\t\tawait DEEPSLATE.loadVersion(options.version)\n\t\tDEEPSLATE.loadChunkGenerator(state, options.seed, options.biome)\n\t\tDEEPSLATE.generateChunks(-options.offset, options.width, options.biome)\n\t\tconst noise = DEEPSLATE.getNoiseSettings()\n\n\t\tconst data = img.data\n\t\tfor (let x = 0; x < options.width; x += 1) {\n\t\t\tfor (let y = 0; y < noise.height; y += 1) {\n\t\t\t\tconst i = x * 4 + (noise.height-y-1) * 4 * img.width\n\t\t\t\tconst state = DEEPSLATE.getBlockState(x - options.offset, y + noise.minY) ?? BlockState.AIR\n\t\t\t\tconst color = colors[state.getName().toString()] ?? [0, 0, 0]\n\t\t\t\tdata[i] = color[0]\n\t\t\t\tdata[i + 1] = color[1]\n\t\t\t\tdata[i + 2] = color[2]\n\t\t\t\tdata[i + 3] = 255\n\t\t\t}\n\t\t}\n\t\treturn\n\t}\n\n\tconst generator = new OldNoiseChunkGenerator(options.seed)\n\tgenerator.reset(state.noise, options.biomeDepth ?? 0, options.biomeScale ?? 0, options.offset, options.width)\n\tconst data = img.data\n\tconst row = img.width * 4\n\tfor (let x = 0; x < options.width; x += 1) {\n\t\tconst noise = generator.iterateNoiseColumn(x - options.offset).reverse()\n\t\tfor (let y = 0; y < state.noise.height; y += 1) {\n\t\t\tconst i = y * row + x * 4\n\t\t\tconst color = getColor(noise, y)\n\t\t\tdata[i] = color\n\t\t\tdata[i + 1] = color\n\t\t\tdata[i + 2] = color\n\t\t\tdata[i + 3] = 255\n\t\t}\n\t}\n}\n\nexport function getNoiseBlock(x: number, y: number) {\n\treturn DEEPSLATE.getBlockState(x, y)\n}\n\nexport async function densityFunction(state: any, img: ImageData, options: NoiseSettingsOptions) {\n\tawait DEEPSLATE.loadVersion(options.version)\n\tconst fn = DEEPSLATE.loadDensityFunction(state, options.seed)\n\tconst noise = DEEPSLATE.getNoiseSettings()\n\n\tconst arr = Array(options.width * noise.height)\n\tlet min = Infinity\n\tlet max = -Infinity\n\tfor (let x = 0; x < options.width; x += 1) {\n\t\tfor (let y = 0; y < noise.height; y += 1) {\n\t\t\tconst i = x + (noise.height-y-1) * options.width\n\t\t\tconst density = fn.compute(DensityFunction.context(x - options.offset, y, 0))\n\t\t\tmin = Math.min(min, density)\n\t\t\tmax = Math.max(max, density)\n\t\t\tarr[i] = density\n\t\t}\n\t}\n\n\tconst data = img.data\n\tfor (let i = 0; i < options.width * noise.height; i += 1) {\n\t\tconst color = Math.floor(clampedMap(arr[i], min, max, 0, 256))\n\t\tdata[4 * i] = color\n\t\tdata[4 * i + 1] = color\n\t\tdata[4 * i + 2] = color\n\t\tdata[4 * i + 3] = 255\n\t}\n}\n\nfunction getColor(noise: number[], y: number): number {\n\tif (noise[y] > 0) {\n\t\treturn 0\n\t}\n\tif (noise[y+1] > 0) {\n\t\treturn 150\n\t}\n\treturn 255\n}\n","import { DataModel } from '@mcschema/core'\nimport { LegacyRandom, NoiseParameters, NormalNoise } from 'deepslate/worldgen'\nimport type { VersionId } from '../services'\n\nexport type NoiseOptions = {\n\toffset: [number, number],\n\tscale: number,\n\tseed: bigint,\n\tversion: VersionId,\n}\n\nexport function normalNoise(state: any, img: ImageData, options: NoiseOptions) {\n\tconst random = new LegacyRandom(options.seed)\n\tconst params = NoiseParameters.fromJson(DataModel.unwrapLists(state))\n\tconst noise = new NormalNoise(random, params)\n\n\tconst ox = -options.offset[0] - 100\n\tconst oz = -options.offset[1] - 100\n\tconst data = img.data\n\tfor (let x = 0; x < 256; x += 1) {\n\t\tfor (let y = 0; y < 256; y += 1) {\n\t\t\tconst i = x * 4 + y * 4 * 256\n\t\t\tconst xx = (x + ox) * options.scale\n\t\t\tconst yy = (y + oz) * options.scale\n\t\t\tconst color = (noise.sample(xx, yy, 0) + 1) * 128\n\t\t\tdata[i] = color\n\t\t\tdata[i + 1] = color\n\t\t\tdata[i + 2] = color\n\t\t\tdata[i + 3] = 255\n\t\t}\n\t}\n}\n","import { Path } from '@mcschema/core'\nimport type { NoiseParameters } from 'deepslate/worldgen'\nimport { useEffect, useMemo, useRef, useState } from 'preact/hooks'\nimport type { PreviewProps } from '.'\nimport { Btn, BtnMenu } from '..'\nimport { useLocale } from '../../contexts'\nimport { useCanvas } from '../../hooks'\nimport { biomeMap, getBiome } from '../../previews'\nimport { newSeed, randomSeed } from '../../Utils'\n\nconst LAYERS = ['biomes', 'temperature', 'humidity', 'continentalness', 'erosion', 'weirdness'] as const\n\nexport const BiomeSourcePreview = ({ model, data, shown, version }: PreviewProps) => {\n\tconst { locale } = useLocale()\n\tconst [configuredSeed] = useState(randomSeed())\n\tconst [scale, setScale] = useState(2)\n\tconst [focused, setFocused] = useState<{[k: string]: number | string} | undefined>(undefined)\n\tconst [layers, setLayers] = useState(new Set<typeof LAYERS[number]>(['biomes']))\n\tconst offset = useRef<[number, number]>([0, 0])\n\tconst res = useRef(1)\n\tconst refineTimeout = useRef<number>()\n\n\tconst seed = BigInt(model.get(new Path(['generator', 'seed'])) ?? configuredSeed)\n\tconst octaves = useMemo(() => {\n\t\tif (!shown) return undefined\n\t\treturn getOctaves(model.get(new Path(['generator', 'settings'])))\n\t}, [shown])\n\tconst state = shown ? calculateState(data, octaves!) : ''\n\tconst type: string = data.type?.replace(/^minecraft:/, '')\n\n\tconst { canvas, redraw } = useCanvas({\n\t\tsize() {\n\t\t\treturn [200 / res.current, 200 / res.current]\n\t\t},\n\t\tasync draw(img) {\n\t\t\tconst options = { octaves: octaves!, biomeColors: {}, layers, offset: offset.current, scale, seed, res: res.current, version }\n\t\t\tawait biomeMap(data, img, options)\n\t\t\tif (res.current === 4) {\n\t\t\t\tclearTimeout(refineTimeout.current)\n\t\t\t\trefineTimeout.current = setTimeout(() => {\n\t\t\t\t\tres.current = 1\n\t\t\t\t\tredraw()\n\t\t\t\t}, 150) as any\n\t\t\t}\n\t\t},\n\t\tasync onDrag(dx, dy) {\n\t\t\toffset.current[0] = offset.current[0] + dx * 200\n\t\t\toffset.current[1] = offset.current[1] + dy * 200\n\t\t\tclearTimeout(refineTimeout.current)\n\t\t\tres.current = type === 'multi_noise' ? 4 : 1\n\t\t\tredraw()\n\t\t},\n\t\tasync onHover(x, y) {\n\t\t\tconst options = { octaves: octaves!, biomeColors: {}, layers, offset: offset.current, scale, seed: configuredSeed, res: 1, version }\n\t\t\tconst biome = await getBiome(data, Math.floor(x * 200), Math.floor(y * 200), options)\n\t\t\tsetFocused(biome)\n\t\t},\n\t\tonLeave() {\n\t\t\tsetFocused(undefined)\n\t\t},\n\t}, [version, state, scale, configuredSeed, layers])\n\n\tuseEffect(() => {\n\t\tif (shown) {\n\t\t\tres.current = type === 'multi_noise' ? 4 : 1\n\t\t\tredraw()\n\t\t}\n\t}, [version, state, scale, configuredSeed, layers, shown])\n\n\tconst changeScale = (newScale: number) => {\n\t\toffset.current[0] = offset.current[0] * scale / newScale\n\t\toffset.current[1] = offset.current[1] * scale / newScale\n\t\tsetScale(newScale)\n\t}\n\n\treturn <>\n\t\t<div class=\"controls preview-controls\">\n\t\t\t{focused && <Btn label={focused.biome as string} class=\"no-pointer\" />}\n\t\t\t{type === 'multi_noise' &&\n\t\t\t\t<BtnMenu icon=\"stack\" tooltip={locale('configure_layers')}>\n\t\t\t\t\t{LAYERS.map(name => {\n\t\t\t\t\t\tconst enabled = layers.has(name)\n\t\t\t\t\t\treturn <Btn label={locale(`layer.${name}`)} \n\t\t\t\t\t\t\tactive={enabled}\n\t\t\t\t\t\t\ttooltip={enabled ? locale('enabled') : locale('disabled')}\n\t\t\t\t\t\t\tonClick={(e) => {\n\t\t\t\t\t\t\t\tsetLayers(new Set([name]))\n\t\t\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\t\t}} />\n\t\t\t\t\t})}\n\t\t\t\t</BtnMenu>}\n\t\t\t{(type === 'multi_noise' || type === 'checkerboard') && <>\n\t\t\t\t<Btn icon=\"dash\" tooltip={locale('zoom_out')}\n\t\t\t\t\tonClick={() => changeScale(scale * 1.5)} />\n\t\t\t\t<Btn icon=\"plus\" tooltip={locale('zoom_in')}\n\t\t\t\t\tonClick={() => changeScale(scale / 1.5)} />\n\t\t\t</>}\n\t\t\t{type === 'multi_noise' &&\n\t\t\t\t<Btn icon=\"sync\" tooltip={locale('generate_new_seed')}\n\t\t\t\t\tonClick={() => newSeed(model)} />}\n\t\t</div>\n\t\t{focused?.temperature !== undefined && <div class=\"controls secondary-controls\">\n\t\t\t<Btn class=\"no-pointer\" label={Object.entries(focused)\n\t\t\t\t.filter(([k]) => k !== 'biome')\n\t\t\t\t.map(([k, v]) => `${k[0].toUpperCase()}: ${(v as number).toFixed(2)}`).join(' ')}/>\n\t\t</div>}\n\t\t<canvas ref={canvas} width=\"200\" height=\"200\"></canvas>\n\t</>\n}\n\nfunction calculateState(data: any, octaves: Record<string, NoiseParameters>) {\n\treturn JSON.stringify([data, octaves])\n}\n\nexport function getOctaves(obj: any): Record<string, NoiseParameters> {\n\tif (typeof obj !== 'string') {\n\t\tobj = obj.legacy_random_source ? 'minecraft:nether' : 'minecraft:overworld'\n\t}\n\tswitch (obj.replace(/^minecraft:/, '')) {\n\t\tcase 'overworld':\n\t\tcase 'amplified':\n\t\t\treturn {\n\t\t\t\ttemperature: { firstOctave: -9, amplitudes: [1.5, 0, 1, 0, 0, 0] },\n\t\t\t\thumidity: { firstOctave: -7, amplitudes: [1, 1, 0, 0, 0, 0] },\n\t\t\t\tcontinentalness: { firstOctave: -9, amplitudes: [1, 1, 2, 2, 2, 1, 1, 1, 1] },\n\t\t\t\terosion: { firstOctave: -9, amplitudes: [1, 1, 0, 1, 1] },\n\t\t\t\tweirdness: { firstOctave: -7, amplitudes: [1, 2, 1, 0, 0, 0] },\n\t\t\t\tshift: { firstOctave: -3, amplitudes: [1, 1, 1, 0] },\n\t\t\t}\n\t\tcase 'end':\n\t\tcase 'floating_islands':\n\t\t\treturn {\n\t\t\t\ttemperature: { firstOctave: 0, amplitudes: [0] },\n\t\t\t\thumidity: { firstOctave: 0, amplitudes: [0] },\n\t\t\t\tcontinentalness: { firstOctave: 0, amplitudes: [0] },\n\t\t\t\terosion: { firstOctave: 0, amplitudes: [0] },\n\t\t\t\tweirdness: { firstOctave: 0, amplitudes: [0] },\n\t\t\t\tshift: { firstOctave: 0, amplitudes: [0] },\n\t\t\t}\n\t\tdefault:\n\t\t\treturn {\n\t\t\t\ttemperature: { firstOctave: -7, amplitudes: [1, 1] },\n\t\t\t\thumidity: { firstOctave: -7, amplitudes: [1, 1] },\n\t\t\t\tcontinentalness: { firstOctave: -7, amplitudes: [1, 1] },\n\t\t\t\terosion: { firstOctave: -7, amplitudes: [1, 1] },\n\t\t\t\tweirdness: { firstOctave: -7, amplitudes: [1, 1] },\n\t\t\t\tshift: { firstOctave: 0, amplitudes: [0] },\n\t\t\t}\n\t}\n}\n","import { useEffect, useState } from 'preact/hooks'\nimport type { PreviewProps } from '.'\nimport { Btn } from '..'\nimport { useLocale } from '../../contexts'\nimport { useCanvas } from '../../hooks'\nimport { decorator } from '../../previews'\nimport { randomSeed } from '../../Utils'\n\nexport const DecoratorPreview = ({ data, version, shown }: PreviewProps) => {\n\tconst { locale } = useLocale()\n\tconst [scale, setScale] = useState(4)\n\tconst [seed, setSeed] = useState(randomSeed())\n\n\tconst state = JSON.stringify(data)\n\n\tconst { canvas, redraw } = useCanvas({\n\t\tsize() {\n\t\t\treturn [scale * 16, scale * 16]\n\t\t},\n\t\tasync draw(img) {\n\t\t\tdecorator(data, img, { seed, version, size: [scale * 16, 128, scale * 16] })\n\t\t},\n\t}, [version, state, seed])\n\n\tuseEffect(() => {\n\t\tif (shown) {\n\t\t\tredraw()\n\t\t}\n\t}, [version, state, scale, seed, shown])\n\n\treturn <>\n\t\t<div class=\"controls preview-controls\">\n\t\t\t<Btn icon=\"dash\" tooltip={locale('zoom_out')}\n\t\t\t\tonClick={() => setScale(Math.min(16, scale + 1))} />\n\t\t\t<Btn icon=\"plus\" tooltip={locale('zoom_in')}\n\t\t\t\tonClick={() => setScale(Math.max(1, scale - 1))} />\n\t\t\t<Btn icon=\"sync\" tooltip={locale('generate_new_seed')}\n\t\t\t\tonClick={() => setSeed(randomSeed())} />\n\t\t</div>\n\t\t<canvas ref={canvas} width=\"64\" height=\"64\"></canvas>\n\t</>\n}\n","import { useEffect, useRef, useState } from 'preact/hooks'\nimport type { PreviewProps } from '.'\nimport { Btn, BtnMenu } from '..'\nimport { useLocale } from '../../contexts'\nimport { useCanvas } from '../../hooks'\nimport { densityFunction } from '../../previews'\nimport { randomSeed } from '../../Utils'\n\nexport const DensityFunctionPreview = ({ data, shown, version }: PreviewProps) => {\n\tconst { locale } = useLocale()\n\tconst [seed, setSeed] = useState(randomSeed())\n\tconst [autoScroll, setAutoScroll] = useState(false)\n\tconst [focused, setFocused] = useState<string | undefined>(undefined)\n\tconst offset = useRef(0)\n\tconst scrollInterval = useRef<number | undefined>(undefined)\n\tconst state = JSON.stringify([data])\n\n\tconst size = data?.noise?.height ?? 256\n\tconst { canvas, redraw } = useCanvas({\n\t\tsize() {\n\t\t\treturn [size, size]\n\t\t},\n\t\tasync draw(img) {\n\t\t\tconst options = { offset: offset.current, width: img.width, seed, version }\n\t\t\tawait densityFunction(data, img, options)\n\t\t},\n\t\tasync onDrag(dx) {\n\t\t\toffset.current += dx * size\n\t\t\tredraw()\n\t\t},\n\t\tasync onHover(x, y) {\n\t\t\tconst worldX = Math.floor(x * size - offset.current)\n\t\t\tconst worldY = size - Math.max(1, Math.ceil(y * size)) + (data?.noise?.min_y ?? 0)\n\t\t\tsetFocused(`X=${worldX} Y=${worldY}`)\n\t\t},\n\t\tonLeave() {\n\t\t\tsetFocused(undefined)\n\t\t},\n\t}, [version, state, seed])\n\n\tuseEffect(() => {\n\t\tif (scrollInterval.current) {\n\t\t\tclearInterval(scrollInterval.current)\n\t\t}\n\t\tif (shown) {\n\t\t\tredraw()\n\t\t\tif (autoScroll) {\n\t\t\t\tscrollInterval.current = setInterval(() => {\n\t\t\t\t\toffset.current -= 8\n\t\t\t\t\tredraw()\n\t\t\t\t}, 100) as any\n\t\t\t}\n\t\t}\n\t}, [version, state, seed, shown, autoScroll])\n\n\treturn <>\n\t\t<div class=\"controls preview-controls\">\n\t\t\t{focused && <Btn label={focused} class=\"no-pointer\" />}\n\t\t\t<BtnMenu icon=\"gear\" tooltip={locale('terrain_settings')}>\n\t\t\t\t<Btn icon={autoScroll ? 'square_fill' : 'square'} label={locale('preview.auto_scroll')} onClick={() => setAutoScroll(!autoScroll)} />\n\t\t\t</BtnMenu>\n\t\t\t<Btn icon=\"sync\" tooltip={locale('generate_new_seed')}\n\t\t\t\tonClick={() => setSeed(randomSeed())} />\n\t\t</div>\n\t\t<canvas ref={canvas} width={size} height={size}></canvas>\n\t</>\n}\n","import { useEffect, useRef, useState } from 'preact/hooks'\nimport type { PreviewProps } from '.'\nimport { Btn } from '..'\nimport { useLocale } from '../../contexts'\nimport { useCanvas } from '../../hooks'\nimport { normalNoise } from '../../previews'\nimport { randomSeed } from '../../Utils'\n\nexport const NoisePreview = ({ data, shown, version }: PreviewProps) => {\n\tconst { locale } = useLocale()\n\tconst [seed, setSeed] = useState(randomSeed())\n\tconst [scale, setScale] = useState(2)\n\tconst offset = useRef<[number, number]>([0, 0])\n\tconst state = JSON.stringify([data])\n\n\tconst { canvas, redraw } = useCanvas({\n\t\tsize() {\n\t\t\treturn [256, 256]\n\t\t},\n\t\tasync draw(img) {\n\t\t\tconst options = { offset: offset.current, scale, seed, version }\n\t\t\tnormalNoise(data, img, options)\n\t\t},\n\t\tasync onDrag(dx, dy) {\n\t\t\toffset.current[0] = offset.current[0] + dx * 256\n\t\t\toffset.current[1] = offset.current[1] + dy * 256\n\t\t\tredraw()\n\t\t},\n\t}, [version, state, scale, seed])\n\n\tuseEffect(() => {\n\t\tif (shown) {\n\t\t\tredraw()\n\t\t}\n\t}, [version, state, scale, seed, shown])\n\n\tconst changeScale = (newScale: number) => {\n\t\toffset.current[0] = offset.current[0] * scale / newScale\n\t\toffset.current[1] = offset.current[1] * scale / newScale\n\t\tsetScale(newScale)\n\t}\n\n\treturn <>\n\t\t<div class=\"controls preview-controls\">\n\t\t\t<Btn icon=\"dash\" tooltip={locale('zoom_out')}\n\t\t\t\tonClick={() => changeScale(scale * 1.5)} />\n\t\t\t<Btn icon=\"plus\" tooltip={locale('zoom_in')}\n\t\t\t\tonClick={() => changeScale(scale / 1.5)} />\n\t\t\t<Btn icon=\"sync\" tooltip={locale('generate_new_seed')}\n\t\t\t\tonClick={() => setSeed(randomSeed())} />\n\t\t</div>\n\t\t<canvas ref={canvas} width=\"256\" height=\"256\"></canvas>\n\t</>\n}\n","import { useEffect, useMemo, useRef, useState } from 'preact/hooks'\nimport type { PreviewProps } from '.'\nimport { Btn, BtnInput, BtnMenu } from '..'\nimport { useLocale } from '../../contexts'\nimport { useCanvas } from '../../hooks'\nimport { getNoiseBlock, noiseSettings } from '../../previews'\nimport { CachedCollections, checkVersion } from '../../services'\nimport { randomSeed } from '../../Utils'\n\nexport const NoiseSettingsPreview = ({ data, shown, version }: PreviewProps) => {\n\tconst { locale } = useLocale()\n\tconst [seed, setSeed] = useState(randomSeed())\n\tconst [biome, setBiome] = useState('minecraft:plains')\n\tconst [biomeScale, setBiomeScale] = useState(0.2)\n\tconst [biomeDepth, setBiomeDepth] = useState(0.1)\n\tconst [autoScroll, setAutoScroll] = useState(false)\n\tconst [focused, setFocused] = useState<string | undefined>(undefined)\n\tconst offset = useRef(0)\n\tconst scrollInterval = useRef<number | undefined>(undefined)\n\tconst state = JSON.stringify([data, biomeScale, biomeDepth])\n\n\tconst size = data?.noise?.height ?? 256\n\tconst { canvas, redraw } = useCanvas({\n\t\tsize() {\n\t\t\treturn [size, size]\n\t\t},\n\t\tasync draw(img) {\n\t\t\tconst options = { biome, biomeDepth, biomeScale, offset: offset.current, width: img.width, seed, version }\n\t\t\tawait noiseSettings(data, img, options)\n\t\t},\n\t\tasync onDrag(dx) {\n\t\t\toffset.current += dx * size\n\t\t\tredraw()\n\t\t},\n\t\tasync onHover(x, y) {\n\t\t\tconst worldX = Math.floor(x * size - offset.current)\n\t\t\tconst worldY = size - Math.max(1, Math.ceil(y * size)) + (data?.noise?.min_y ?? 0)\n\t\t\tconst block = getNoiseBlock(worldX, worldY)\n\t\t\tsetFocused(block ? `Y=${worldY} (${block.getName().path})` : `Y=${worldY}`)\n\t\t},\n\t\tonLeave() {\n\t\t\tsetFocused(undefined)\n\t\t},\n\t}, [state, seed])\n\n\tuseEffect(() => {\n\t\tif (scrollInterval.current) {\n\t\t\tclearInterval(scrollInterval.current)\n\t\t}\n\t\tif (shown) {\n\t\t\t(async () => {\n\t\t\t\ttry {\n\t\t\t\t\tawait redraw()\n\t\t\t\t\tif (autoScroll) {\n\t\t\t\t\t\tscrollInterval.current = setInterval(() => {\n\t\t\t\t\t\t\toffset.current -= 8\n\t\t\t\t\t\t\tredraw()\n\t\t\t\t\t\t}, 100) as any\n\t\t\t\t\t}\n\t\t\t\t} catch (e) {\n\t\t\t\t\tthrow e\n\t\t\t\t}\n\t\t\t})()\n\t\t}\n\t}, [version, state, seed, shown, biome, biomeScale, biomeDepth, autoScroll])\n\n\tconst allBiomes = useMemo(() => CachedCollections?.get('worldgen/biome') ?? [], [version])\n\n\treturn <>\n\t\t<div class=\"controls preview-controls\">\n\t\t\t{focused && <Btn label={focused} class=\"no-pointer\" />}\n\t\t\t<BtnMenu icon=\"gear\" tooltip={locale('terrain_settings')}>\n\t\t\t\t{checkVersion(version, undefined, '1.17') ? <>\n\t\t\t\t\t<BtnInput label={locale('preview.scale')} value={`${biomeScale}`} onChange={v => setBiomeScale(Number(v))} />\n\t\t\t\t\t<BtnInput label={locale('preview.depth')} value={`${biomeDepth}`} onChange={v => setBiomeDepth(Number(v))} />\n\t\t\t\t</> :\n\t\t\t\t\t<BtnInput label={locale('preview.biome')} value={biome} onChange={setBiome} dataList={allBiomes} larger />\n\t\t\t\t}\n\t\t\t\t<Btn icon={autoScroll ? 'square_fill' : 'square'} label={locale('preview.auto_scroll')} onClick={() => setAutoScroll(!autoScroll)} />\n\t\t\t</BtnMenu>\n\t\t\t<Btn icon=\"sync\" tooltip={locale('generate_new_seed')}\n\t\t\t\tonClick={() => setSeed(randomSeed())} />\n\t\t</div>\n\t\t<canvas ref={canvas} width={size} height={size}></canvas>\n\t</>\n}\n","import type { DataModel } from '@mcschema/core'\nimport { Path } from '@mcschema/core'\nimport { useState } from 'preact/hooks'\nimport { useModel } from '../../hooks'\nimport type { VersionId } from '../../services'\nimport { checkVersion } from '../../services'\nimport { BiomeSourcePreview, DecoratorPreview, DensityFunctionPreview, NoisePreview, NoiseSettingsPreview } from '../previews'\n\nexport const HasPreview = ['dimension', 'worldgen/density_function', 'worldgen/noise', 'worldgen/noise_settings', 'worldgen/configured_feature', 'worldgen/placed_feature']\n\ntype PreviewPanelProps = {\n\tmodel: DataModel | undefined,\n\tversion: VersionId,\n\tid: string,\n\tshown: boolean,\n\tonError: (message: string) => unknown,\n}\nexport function PreviewPanel({ model, version, id, shown }: PreviewPanelProps) {\n\tconst [, setCount] = useState(0)\n\n\tuseModel(model, () => {\n\t\tsetCount(count => count + 1)\n\t})\n\n\tif (!model) return <></>\n\n\tif (id === 'dimension' && model.get(new Path(['generator', 'type']))?.endsWith('noise')) {\n\t\tconst data = model.get(new Path(['generator', 'biome_source']))\n\t\tif (data) return <BiomeSourcePreview {...{ model, version, shown, data }} />\n\t}\n\n\tif (id === 'worldgen/density_function') {\n\t\tconst data = model.get(new Path([]))\n\t\tif (data) return <DensityFunctionPreview {...{ model, version, shown, data }} />\n\t}\n\n\tif (id === 'worldgen/noise') {\n\t\tconst data = model.get(new Path([]))\n\t\tif (data) return <NoisePreview {...{ model, version, shown, data }} />\n\t}\n\n\tif (id === 'worldgen/noise_settings') {\n\t\tconst data = model.get(new Path([]))\n\t\tif (data) return <NoiseSettingsPreview {...{ model, version, shown, data }} />\n\t}\n\n\tif ((id === 'worldgen/placed_feature' || (id === 'worldgen/configured_feature' && checkVersion(version, '1.16', '1.17')))) {\n\t\tconst data = model.get(new Path([]))\n\t\tif (data) return <DecoratorPreview {...{ model, version, shown, data }} />\n\t}\n\n\treturn <></>\n}\n","import type { DataModel, Hook } from '@mcschema/core'\nimport { ModelPath, relativePath } from '@mcschema/core'\nimport type { BlockStateRegistry } from '../services'\n\nexport function getOutput(model: DataModel, blockStates: BlockStateRegistry): any {\n\treturn model.schema.hook(transformOutput, new ModelPath(model), model.data, { blockStates })\n}\n\nexport type OutputProps = {\n\tblockStates: BlockStateRegistry,\n}\nexport const transformOutput: Hook<[any, OutputProps], any> = {\n\tbase({}, _, value) {\n\t\treturn value\n\t},\n\n\tchoice({ switchNode }, path, value, props) {\n\t\treturn switchNode.hook(this, path, value, props)\n\t},\n\n\tlist({ children }, path, value, props) {\n\t\tif (!Array.isArray(value)) return value\n\t\tconst res = value.map((obj, index) =>\n\t\t\tchildren.hook(this, path.push(index), obj.node, props)\n\t\t)\n\t\tfor (const a of Object.getOwnPropertySymbols(value)) {\n\t\t\tres[a as any] = value[a as any]\n\t\t}\n\t\treturn res\n\t},\n\n\tmap({ children, config }, path, value, props) {\n\t\tif (value === undefined) return undefined\n\t\tconst blockState = config.validation?.validator === 'block_state_map'? props.blockStates?.[relativePath(path, config.validation.params.id).get()] : null\n\t\tconst res: any = {}\n\t\tObject.keys(value).forEach(f => {\n\t\t\tif (blockState) {\n\t\t\t\tif (!Object.keys(blockState.properties ?? {}).includes(f)) return\n\t\t\t}\n\t\t\tres[f] = children.hook(this, path.push(f), value[f], props)\n\t\t})\n\t\tfor (const a of Object.getOwnPropertySymbols(value)) {\n\t\t\tres[a as any] = value[a]\n\t\t}\n\t\treturn res\n\t},\n\n\tobject({ getActiveFields }, path, value, props) {\n\t\tif (value === undefined || value === null || typeof value !== 'object') {\n\t\t\treturn value\n\t\t}\n\t\tconst res: any = {}\n\t\tconst activeFields = getActiveFields(path)\n\t\tObject.keys(activeFields)\n\t\t\t.filter(k => activeFields[k].enabled(path))\n\t\t\t.forEach(f => {\n\t\t\t\tconst out = activeFields[f].hook(this, path.push(f), value[f], props)\n\t\t\t\tif (out !== undefined && out !== null) {\n\t\t\t\t\tres[f] = out\n\t\t\t\t}\n\t\t\t})\n\t\tfor (const a of Object.getOwnPropertySymbols(value)) {\n\t\t\tres[a as any] = value[a]\n\t\t}\n\t\treturn res\n\t},\n}\n","import { DataModel } from '@mcschema/core'\nimport yaml from 'js-yaml'\nimport { useCallback, useEffect, useRef, useState } from 'preact/hooks'\nimport { Btn, BtnMenu } from '..'\nimport { useLocale } from '../../contexts'\nimport { useModel } from '../../hooks'\nimport { getOutput } from '../../schema/transformOutput'\nimport type { BlockStateRegistry } from '../../services'\nimport { Store } from '../../Store'\nimport { message } from '../../Utils'\n\n\nconst INDENT: Record<string, number | string | undefined> = {\n\t'2_spaces': 2,\n\t'4_spaces': 4,\n\ttabs: '\\t',\n\tminified: undefined,\n}\n\nlet commentJson: typeof import('comment-json') | null = null\n\nconst FORMATS: Record<string, {\n\tparse: (v: string) => Promise<any>,\n\tstringify: (v: any, indentation: string | number | undefined) => string,\n}> = {\n\tjson: {\n\t\tparse: async (v) => {\n\t\t\ttry {\n\t\t\t\treturn JSON.parse(v)\n\t\t\t} catch (e) {\n\t\t\t\tcommentJson = await import('comment-json')\n\t\t\t\treturn commentJson.parse(v)\n\t\t\t}\n\t\t},\n\t\tstringify: (v, i) => (commentJson ?? JSON).stringify(v, null, i) + '\\n',\n\t},\n\tyaml: {\n\t\tparse: async (v) => yaml.load(v),\n\t\tstringify: (v, i) => yaml.dump(v, {\n\t\t\tflowLevel: i === undefined ? 0 : -1,\n\t\t\tindent: typeof i === 'string' ? 4 : i,\n\t\t}),\n\t},\n}\n\ninterface Editor {\n\tgetValue(): string\n\tsetValue(value: string): void\n\tconfigure(indent: string, format: string): void\n\tselect(): void\n}\n\ntype SourcePanelProps = {\n\tname: string,\n\tmodel: DataModel | undefined,\n\tblockStates: BlockStateRegistry | undefined,\n\tdoCopy?: number,\n\tdoDownload?: number,\n\tdoImport?: number,\n\tcopySuccess: () => unknown,\n\tonError: (message: string | Error) => unknown,\n}\nexport function SourcePanel({ name, model, blockStates, doCopy, doDownload, doImport, copySuccess, onError }: SourcePanelProps) {\n\tconst { locale } = useLocale()\n\tconst [indent, setIndent] = useState(Store.getIndent())\n\tconst [format, setFormat] = useState(Store.getFormat())\n\tconst [highlighting, setHighlighting] = useState(Store.getHighlighting())\n\tconst [braceLoaded, setBraceLoaded] = useState(false)\n\tconst download = useRef<HTMLAnchorElement>(null)\n\tconst retransform = useRef<Function>(() => {})\n\tconst onImport = useRef<() => Promise<void>>(async () => {})\n\n\tconst textarea = useRef<HTMLTextAreaElement>(null)\n\tconst editor = useRef<Editor>()\n\n\tconst getSerializedOutput = useCallback((model: DataModel, blockStates: BlockStateRegistry) => {\n\t\tconst data = getOutput(model, blockStates)\n\t\treturn FORMATS[format].stringify(data, INDENT[indent])\n\t}, [indent, format])\n\n\tuseEffect(() => {\n\t\tretransform.current = () => {\n\t\t\tif (!editor.current) return\n\t\t\tif (!model || !blockStates) return\n\t\t\ttry {\n\t\t\t\tconst output = getSerializedOutput(model, blockStates)\n\t\t\t\teditor.current.setValue(output)\n\t\t\t} catch (e) {\n\t\t\t\tif (e instanceof Error) {\n\t\t\t\t\te.message = `Error getting JSON output: ${e.message}`\n\t\t\t\t\tonError(e)\n\t\t\t\t} else {\n\t\t\t\t\tonError(`Error getting JSON output: ${message(e)}`)\n\t\t\t\t}\n\t\t\t\tconsole.error(e)\n\t\t\t\teditor.current.setValue('')\n\t\t\t}\n\t\t}\n\n\t\tonImport.current = async () => {\n\t\t\tif (!editor.current) return\n\t\t\tconst value = editor.current.getValue()\n\t\t\tif (value.length === 0) return\n\t\t\ttry {\n\t\t\t\tconst data = await FORMATS[format].parse(value)\n\t\t\t\tmodel?.reset(DataModel.wrapLists(data), false)\n\t\t\t} catch (e) {\n\t\t\t\tif (e instanceof Error) {\n\t\t\t\t\te.message = `Error importing: ${e.message}`\n\t\t\t\t\tonError(e)\n\t\t\t\t} else {\n\t\t\t\t\tonError(`Error importing: ${message(e)}`)\n\t\t\t\t}\n\t\t\t\tconsole.error(e)\n\t\t\t}\n\t\t}\n\t}, [model, blockStates, indent, format, highlighting])\n\n\tuseEffect(() => {\n\t\tif (highlighting) {\n\t\t\tsetBraceLoaded(false)\n\t\t\teditor.current = {\n\t\t\t\tgetValue() { return ''},\n\t\t\t\tsetValue() {},\n\t\t\t\tconfigure() {},\n\t\t\t\tselect() {},\n\t\t\t}\n\t\t\timport('brace').then(async (brace) => {\n\t\t\t\tawait Promise.all([\n\t\t\t\t\timport('brace/mode/json'),\n\t\t\t\t\timport('brace/mode/yaml'),\n\t\t\t\t])\n\t\t\t\tconst braceEditor = brace.edit('editor')\n\t\t\t\tbraceEditor.setOptions({\n\t\t\t\t\tfontSize: 14,\n\t\t\t\t\tshowFoldWidgets: false,\n\t\t\t\t\thighlightSelectedWord: false,\n\t\t\t\t})\n\t\t\t\tbraceEditor.$blockScrolling = Infinity\n\t\t\t\tbraceEditor.on('blur', () => onImport.current())\n\t\t\t\tbraceEditor.getSession().setMode('ace/mode/json')\n\n\t\t\t\teditor.current = {\n\t\t\t\t\tgetValue() {\n\t\t\t\t\t\treturn braceEditor.getSession().getValue()\n\t\t\t\t\t},\n\t\t\t\t\tsetValue(value) {\n\t\t\t\t\t\tbraceEditor.getSession().setValue(value)\n\t\t\t\t\t},\n\t\t\t\t\tconfigure(indent, format) {\n\t\t\t\t\t\tbraceEditor.setOption('useSoftTabs', indent !== 'tabs')\n\t\t\t\t\t\tbraceEditor.setOption('tabSize', indent === 'tabs' ? 4 : INDENT[indent])\n\t\t\t\t\t\tbraceEditor.getSession().setMode(`ace/mode/${format}`)\n\t\t\t\t\t},\n\t\t\t\t\tselect() {\n\t\t\t\t\t\tbraceEditor.selectAll()\n\t\t\t\t\t},\n\t\t\t\t}\n\t\t\t\tsetBraceLoaded(true)\n\t\t\t})\n\t\t} else {\n\t\t\teditor.current = {\n\t\t\t\tgetValue() {\n\t\t\t\t\tif (!textarea.current) return ''\n\t\t\t\t\treturn textarea.current.value\n\t\t\t\t},\n\t\t\t\tsetValue(value: string) {\n\t\t\t\t\tif (!textarea.current) return\n\t\t\t\t\ttextarea.current.value = value\n\t\t\t\t},\n\t\t\t\tconfigure() {},\n\t\t\t\tselect() {},\n\t\t\t}\n\t\t}\n\t}, [highlighting])\n\n\tuseModel(model, () => {\n\t\tif (!retransform.current) return\n\t\tretransform.current()\n\t})\n\tuseEffect(() => {\n\t\tif (!retransform.current) return\n\t\tif (model) retransform.current()\n\t}, [model])\n\n\tuseEffect(() => {\n\t\tif (!editor.current || !retransform.current) return\n\t\tif (!highlighting || braceLoaded) {\n\t\t\teditor.current.configure(indent, format)\n\t\t\tretransform.current()\n\t\t}\n\t}, [indent, format, highlighting, braceLoaded])\n\n\tuseEffect(() => {\n\t\tif (doCopy && model && blockStates) {\n\t\t\tnavigator.clipboard.writeText(getSerializedOutput(model, blockStates)).then(() => {\n\t\t\t\tcopySuccess()\n\t\t\t})\n\t\t}\n\t}, [doCopy])\n\n\tuseEffect(() => {\n\t\tif (doDownload && model && blockStates && download.current) {\n\t\t\tconst content = encodeURIComponent(getSerializedOutput(model, blockStates))\n\t\t\tdownload.current.setAttribute('href', `data:text/json;charset=utf-8,${content}`)\n\t\t\tdownload.current.setAttribute('download', `${name}.${format}`)\n\t\t\tdownload.current.click()\n\t\t}\n\t}, [doDownload])\n\n\tuseEffect(() => {\n\t\tif (doImport && editor.current) {\n\t\t\teditor.current.setValue('')\n\t\t\teditor.current.select()\n\t\t}\n\t}, [doImport])\n\n\tconst changeIndent = (value: string) => {\n\t\tStore.setIndent(value)\n\t\tsetIndent(value)\n\t}\n\n\tconst changeFormat = (value: string) => {\n\t\tStore.setFormat(value)\n\t\tsetFormat(value)\n\t}\n\n\tconst changeHighlighting = (value: boolean) => {\n\t\tStore.setHighlighting(value)\n\t\tsetHighlighting(value)\n\t}\n\n\treturn <> \n\t\t<div class=\"controls source-controls\">\n\t\t\t<BtnMenu icon=\"gear\" tooltip={locale('output_settings')} data-cy=\"source-controls\">\n\t\t\t\t{Object.entries(INDENT).map(([key]) =>\n\t\t\t\t\t<Btn label={locale(`indentation.${key}`)} active={indent === key}\n\t\t\t\t\t\tonClick={() => changeIndent(key)}/>\n\t\t\t\t)}\n\t\t\t\t<hr />\n\t\t\t\t{Object.keys(FORMATS).map(key =>\n\t\t\t\t\t<Btn label={locale(`format.${key}`)} active={format === key}\n\t\t\t\t\t\tonClick={() => changeFormat(key)} />)}\n\t\t\t\t<hr />\n\t\t\t\t<Btn icon={highlighting ? 'square_fill' : 'square'} label={locale('highlighting')}\n\t\t\t\t\tonClick={() => changeHighlighting(!highlighting)} />\n\t\t\t</BtnMenu>\n\t\t</div>\n\t\t{highlighting\n\t\t\t? <pre id=\"editor\" class=\"source\"></pre>\n\t\t\t: <textarea ref={textarea} class=\"source\" spellcheck={false} autocorrect=\"off\" onBlur={onImport.current}></textarea>}\n\t\t<a ref={download} style=\"display: none;\"></a>\n\t</>\n}\n","import{useState as n,useReducer as t,useEffect as e,useLayoutEffect as r,useRef as u,useImperativeHandle as o,useMemo as i,useCallback as l,useContext as f,useDebugValue as c}from\"preact/hooks\";export*from\"preact/hooks\";import{Component as a,createElement as s,options as h,toChildArray as p,Fragment as v,render as d,hydrate as m,cloneElement as y,createRef as b,createContext as _}from\"preact\";export{createElement,createContext,createRef,Fragment,Component}from\"preact\";function C(n,t){for(var e in t)n[e]=t[e];return n}function S(n,t){for(var e in n)if(\"__source\"!==e&&!(e in t))return!0;for(var r in t)if(\"__source\"!==r&&n[r]!==t[r])return!0;return!1}function E(n){this.props=n}function g(n,t){function e(n){var e=this.props.ref,r=e==n.ref;return!r&&e&&(e.call?e(null):e.current=null),t?!t(this.props,n)||!r:S(this.props,n)}function r(t){return this.shouldComponentUpdate=e,s(n,t)}return r.displayName=\"Memo(\"+(n.displayName||n.name)+\")\",r.prototype.isReactComponent=!0,r.__f=!0,r}(E.prototype=new a).isPureReactComponent=!0,E.prototype.shouldComponentUpdate=function(n,t){return S(this.props,n)||S(this.state,t)};var w=h.__b;h.__b=function(n){n.type&&n.type.__f&&n.ref&&(n.props.ref=n.ref,n.ref=null),w&&w(n)};var R=\"undefined\"!=typeof Symbol&&Symbol.for&&Symbol.for(\"react.forward_ref\")||3911;function x(n){function t(t,e){var r=C({},t);return delete r.ref,n(r,(e=t.ref||e)&&(\"object\"!=typeof e||\"current\"in e)?e:null)}return t.$$typeof=R,t.render=t,t.prototype.isReactComponent=t.__f=!0,t.displayName=\"ForwardRef(\"+(n.displayName||n.name)+\")\",t}var N=function(n,t){return null==n?null:p(p(n).map(t))},k={map:N,forEach:N,count:function(n){return n?p(n).length:0},only:function(n){var t=p(n);if(1!==t.length)throw\"Children.only\";return t[0]},toArray:p},A=h.__e;h.__e=function(n,t,e){if(n.then)for(var r,u=t;u=u.__;)if((r=u.__c)&&r.__c)return null==t.__e&&(t.__e=e.__e,t.__k=e.__k),r.__c(n,t);A(n,t,e)};var O=h.unmount;function L(){this.__u=0,this.t=null,this.__b=null}function U(n){var t=n.__.__c;return t&&t.__e&&t.__e(n)}function D(n){var t,e,r;function u(u){if(t||(t=n()).then(function(n){e=n.default||n},function(n){r=n}),r)throw r;if(!e)throw t;return s(e,u)}return u.displayName=\"Lazy\",u.__f=!0,u}function F(){this.u=null,this.o=null}h.unmount=function(n){var t=n.__c;t&&t.__R&&t.__R(),t&&!0===n.__h&&(n.type=null),O&&O(n)},(L.prototype=new a).__c=function(n,t){var e=t.__c,r=this;null==r.t&&(r.t=[]),r.t.push(e);var u=U(r.__v),o=!1,i=function(){o||(o=!0,e.__R=null,u?u(l):l())};e.__R=i;var l=function(){if(!--r.__u){if(r.state.__e){var n=r.state.__e;r.__v.__k[0]=function n(t,e,r){return t&&(t.__v=null,t.__k=t.__k&&t.__k.map(function(t){return n(t,e,r)}),t.__c&&t.__c.__P===e&&(t.__e&&r.insertBefore(t.__e,t.__d),t.__c.__e=!0,t.__c.__P=r)),t}(n,n.__c.__P,n.__c.__O)}var t;for(r.setState({__e:r.__b=null});t=r.t.pop();)t.forceUpdate()}},f=!0===t.__h;r.__u++||f||r.setState({__e:r.__b=r.__v.__k[0]}),n.then(i,i)},L.prototype.componentWillUnmount=function(){this.t=[]},L.prototype.render=function(n,t){if(this.__b){if(this.__v.__k){var e=document.createElement(\"div\"),r=this.__v.__k[0].__c;this.__v.__k[0]=function n(t,e,r){return t&&(t.__c&&t.__c.__H&&(t.__c.__H.__.forEach(function(n){\"function\"==typeof n.__c&&n.__c()}),t.__c.__H=null),null!=(t=C({},t)).__c&&(t.__c.__P===r&&(t.__c.__P=e),t.__c=null),t.__k=t.__k&&t.__k.map(function(t){return n(t,e,r)})),t}(this.__b,e,r.__O=r.__P)}this.__b=null}var u=t.__e&&s(v,null,n.fallback);return u&&(u.__h=null),[s(v,null,t.__e?null:n.children),u]};var M=function(n,t,e){if(++e[1]===e[0]&&n.o.delete(t),n.props.revealOrder&&(\"t\"!==n.props.revealOrder[0]||!n.o.size))for(e=n.u;e;){for(;e.length>3;)e.pop()();if(e[1]<e[0])break;n.u=e=e[2]}};function T(n){return this.getChildContext=function(){return n.context},n.children}function j(n){var t=this,e=n.i;t.componentWillUnmount=function(){d(null,t.l),t.l=null,t.i=null},t.i&&t.i!==e&&t.componentWillUnmount(),n.__v?(t.l||(t.i=e,t.l={nodeType:1,parentNode:e,childNodes:[],appendChild:function(n){this.childNodes.push(n),t.i.appendChild(n)},insertBefore:function(n,e){this.childNodes.push(n),t.i.appendChild(n)},removeChild:function(n){this.childNodes.splice(this.childNodes.indexOf(n)>>>1,1),t.i.removeChild(n)}}),d(s(T,{context:t.context},n.__v),t.l)):t.l&&t.componentWillUnmount()}function I(n,t){return s(j,{__v:n,i:t})}(F.prototype=new a).__e=function(n){var t=this,e=U(t.__v),r=t.o.get(n);return r[0]++,function(u){var o=function(){t.props.revealOrder?(r.push(u),M(t,n,r)):u()};e?e(o):o()}},F.prototype.render=function(n){this.u=null,this.o=new Map;var t=p(n.children);n.revealOrder&&\"b\"===n.revealOrder[0]&&t.reverse();for(var e=t.length;e--;)this.o.set(t[e],this.u=[1,0,this.u]);return n.children},F.prototype.componentDidUpdate=F.prototype.componentDidMount=function(){var n=this;this.o.forEach(function(t,e){M(n,e,t)})};var W=\"undefined\"!=typeof Symbol&&Symbol.for&&Symbol.for(\"react.element\")||60103,P=/^(?:accent|alignment|arabic|baseline|cap|clip(?!PathU)|color|fill|flood|font|glyph(?!R)|horiz|marker(?!H|W|U)|overline|paint|stop|strikethrough|stroke|text(?!L)|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/,V=function(n){return(\"undefined\"!=typeof Symbol&&\"symbol\"==typeof Symbol()?/fil|che|rad/i:/fil|che|ra/i).test(n)};function z(n,t,e){return null==t.__k&&(t.textContent=\"\"),d(n,t),\"function\"==typeof e&&e(),n?n.__c:null}function B(n,t,e){return m(n,t),\"function\"==typeof e&&e(),n?n.__c:null}a.prototype.isReactComponent={},[\"componentWillMount\",\"componentWillReceiveProps\",\"componentWillUpdate\"].forEach(function(n){Object.defineProperty(a.prototype,n,{configurable:!0,get:function(){return this[\"UNSAFE_\"+n]},set:function(t){Object.defineProperty(this,n,{configurable:!0,writable:!0,value:t})}})});var H=h.event;function Z(){}function Y(){return this.cancelBubble}function $(){return this.defaultPrevented}h.event=function(n){return H&&(n=H(n)),n.persist=Z,n.isPropagationStopped=Y,n.isDefaultPrevented=$,n.nativeEvent=n};var q,G={configurable:!0,get:function(){return this.class}},J=h.vnode;h.vnode=function(n){var t=n.type,e=n.props,r=e;if(\"string\"==typeof t){for(var u in r={},e){var o=e[u];\"value\"===u&&\"defaultValue\"in e&&null==o||(\"defaultValue\"===u&&\"value\"in e&&null==e.value?u=\"value\":\"download\"===u&&!0===o?o=\"\":/ondoubleclick/i.test(u)?u=\"ondblclick\":/^onchange(textarea|input)/i.test(u+t)&&!V(e.type)?u=\"oninput\":/^on(Ani|Tra|Tou|BeforeInp)/.test(u)?u=u.toLowerCase():P.test(u)?u=u.replace(/[A-Z0-9]/,\"-$&\").toLowerCase():null===o&&(o=void 0),r[u]=o)}\"select\"==t&&r.multiple&&Array.isArray(r.value)&&(r.value=p(e.children).forEach(function(n){n.props.selected=-1!=r.value.indexOf(n.props.value)})),\"select\"==t&&null!=r.defaultValue&&(r.value=p(e.children).forEach(function(n){n.props.selected=r.multiple?-1!=r.defaultValue.indexOf(n.props.value):r.defaultValue==n.props.value})),n.props=r}t&&e.class!=e.className&&(G.enumerable=\"className\"in e,null!=e.className&&(r.class=e.className),Object.defineProperty(r,\"className\",G)),n.$$typeof=W,J&&J(n)};var K=h.__r;h.__r=function(n){K&&K(n),q=n.__c};var Q={ReactCurrentDispatcher:{current:{readContext:function(n){return q.__n[n.__c].props.value}}}},X=1,nn=2,tn=3,en=4,rn=5;function un(n,t){return t()}var on=\"object\"==typeof performance&&\"function\"==typeof performance.now?performance.now.bind(performance):function(){return Date.now()},ln=\"16.8.0\";function fn(n){return s.bind(null,n)}function cn(n){return!!n&&n.$$typeof===W}function an(n){return cn(n)?y.apply(null,arguments):n}function sn(n){return!!n.__k&&(d(null,n),!0)}function hn(n){return n&&(n.base||1===n.nodeType&&n)||null}var pn=function(n,t){return n(t)},vn=v;export default{useState:n,useReducer:t,useEffect:e,useLayoutEffect:r,useRef:u,useImperativeHandle:o,useMemo:i,useCallback:l,useContext:f,useDebugValue:c,version:\"16.8.0\",Children:k,render:z,hydrate:B,unmountComponentAtNode:sn,createPortal:I,createElement:s,createContext:_,createFactory:fn,cloneElement:an,createRef:b,Fragment:v,isValidElement:cn,findDOMNode:hn,Component:a,PureComponent:E,memo:g,forwardRef:x,unstable_batchedUpdates:pn,StrictMode:v,Suspense:L,SuspenseList:F,lazy:D,__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:Q};export{ln as version,k as Children,z as render,B as hydrate,sn as unmountComponentAtNode,I as createPortal,fn as createFactory,an as cloneElement,cn as isValidElement,hn as findDOMNode,E as PureComponent,g as memo,x as forwardRef,pn as unstable_batchedUpdates,vn as StrictMode,L as Suspense,F as SuspenseList,D as lazy,Q as __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,X as unstable_ImmediatePriority,nn as unstable_UserBlockingPriority,tn as unstable_NormalPriority,en as unstable_LowPriority,rn as unstable_IdlePriority,un as unstable_runWithPriority,on as unstable_now};\n//# sourceMappingURL=compat.module.js.map\n","import type { INode, Path } from '@mcschema/core'\nimport { DataModel } from '@mcschema/core'\n\nexport class ModelWrapper extends DataModel {\n\tconstructor(\n\t\tschema: INode<any>,\n\t\tprivate readonly mapper: (path: Path) => Path,\n\t\tprivate readonly getter: (path: Path) => any,\n\t\tprivate readonly setter: (path: Path, value: any, silent?: boolean) => any,\n\t) {\n\t\tsuper(schema)\n\t}\n\n\tmap(path: Path) {\n\t\treturn this.mapper(path)\n\t}\n\n\tget(path: Path) {\n\t\treturn this.getter(path)\n\t}\n\n\tset(path: Path, value: any, silent?: boolean) {\n\t\treturn this.setter(path, value, silent)\n\t}\n}\n","import type { BooleanHookParams, EnumOption, Hook, INode, NodeChildren, NumberHookParams, StringHookParams, ValidationOption } from '@mcschema/core'\nimport { DataModel, ListNode, MapNode, ModelPath, ObjectNode, Path, relativePath, StringNode } from '@mcschema/core'\nimport type { ComponentChildren, JSX } from 'preact'\nimport { memo } from 'preact/compat'\nimport { useState } from 'preact/hooks'\nimport config from '../../config.json'\nimport { Btn, Octicon } from '../components'\nimport { localize } from '../contexts'\nimport { useFocus } from '../hooks'\nimport type { BlockStateRegistry, VersionId } from '../services'\nimport { CachedDecorator, CachedFeature } from '../services'\nimport { deepClone, deepEqual, hexId, isObject, newSeed } from '../Utils'\nimport { ModelWrapper } from './ModelWrapper'\n\nconst selectRegistries = ['loot_table.type', 'loot_entry.type', 'function.function', 'condition.condition', 'criterion.trigger', 'recipe.type', 'dimension.generator.type', 'dimension.generator.biome_source.type', 'dimension.generator.biome_source.preset', 'carver.type', 'feature.type', 'decorator.type', 'feature.tree.minimum_size.type', 'block_state_provider.type', 'trunk_placer.type', 'foliage_placer.type', 'tree_decorator.type', 'int_provider.type', 'float_provider.type', 'height_provider.type', 'structure_feature.type', 'surface_builder.type', 'processor.processor_type', 'rule_test.predicate_type', 'pos_rule_test.predicate_type', 'template_element.element_type', 'block_placer.type', 'block_predicate.type', 'material_rule.type', 'material_condition.type', 'structure_placement.type', 'density_function.type', 'root_placer.type', 'entity.type_specific.cat.variant', 'entity.type_specific.frog.variant']\nconst hiddenFields = ['number_provider.type', 'score_provider.type', 'nbt_provider.type', 'int_provider.type', 'float_provider.type', 'height_provider.type']\nconst flattenedFields = ['feature.config', 'decorator.config', 'int_provider.value', 'float_provider.value', 'block_state_provider.simple_state_provider.state', 'block_state_provider.rotated_block_provider.state', 'block_state_provider.weighted_state_provider.entries.entry.data', 'rule_test.block_state', 'structure_feature.config', 'surface_builder.config', 'template_pool.elements.entry.element', 'decorator.block_survives_filter.state', 'material_rule.block.result_state']\nconst inlineFields = ['loot_entry.type', 'function.function', 'condition.condition', 'criterion.trigger', 'dimension.generator.type', 'dimension.generator.biome_source.type', 'feature.type', 'decorator.type', 'block_state_provider.type', 'feature.tree.minimum_size.type', 'trunk_placer.type', 'foliage_placer.type', 'tree_decorator.type', 'block_placer.type', 'rule_test.predicate_type', 'processor.processor_type', 'template_element.element_type', 'nbt_operation.op', 'number_provider.value', 'score_provider.name', 'score_provider.target', 'nbt_provider.source', 'nbt_provider.target', 'generator_biome.biome', 'block_predicate.type', 'material_rule.type', 'material_condition.type', 'density_function.type', 'root_placer.type', 'entity.type_specific.type']\nconst nbtFields = ['function.set_nbt.tag', 'advancement.display.icon.nbt', 'text_component_object.nbt', 'entity.nbt', 'block.nbt', 'item.nbt']\nconst fixedLists = ['generator_biome.parameters.temperature', 'generator_biome.parameters.humidity', 'generator_biome.parameters.continentalness', 'generator_biome.parameters.erosion', 'generator_biome.parameters.depth', 'generator_biome.parameters.weirdness', 'feature.end_spike.crystal_beam_target', 'feature.end_gateway.exit', 'decorator.block_filter.offset', 'block_predicate.matching_blocks.offset', 'block_predicate.matching_fluids.offset', 'model_element.from', 'model_element.to', 'model_element.rotation.origin', 'model_element.faces.uv', 'item_transform.rotation', 'item_transform.translation', 'item_transform.scale', 'generator_structure.random_spread.locate_offset']\nconst collapsedFields = ['noise_settings.surface_rule', 'noise_settings.noise.terrain_shaper']\nconst collapsableFields = ['density_function.argument', 'density_function.argument1', 'density_function.argument2', 'density_function.input', 'density_function.when_in_range', 'density_function.when_out_of_range']\n\nconst findGenerator = (id: string) => {\n\treturn config.generators.find(g => g.id === id.replace(/^\\$/, ''))\n}\n\n/**\n * Secondary model used to remember the keys of a map\n */\nconst keysModel = new DataModel(MapNode(\n\tStringNode(),\n\tStringNode()\n), { historyMax: 0 })\n\ntype JSXTriple = [JSX.Element | null, JSX.Element | null, JSX.Element | null]\ntype RenderHook = Hook<[any, string, VersionId, BlockStateRegistry, Record<string, any>], JSXTriple>\n\ntype NodeProps<T> = T & {\n\tnode: INode<any>,\n\tpath: ModelPath,\n\tvalue: any,\n\tlang: string,\n\tversion: VersionId,\n\tstates: BlockStateRegistry,\n\tctx: Record<string, any>,\n}\n\nexport function FullNode({ model, lang, version, blockStates }: { model: DataModel, lang: string, version: VersionId, blockStates: BlockStateRegistry }) {\n\tconst path = new ModelPath(model)\n\tconst [prefix, suffix, body] = model.schema.hook(renderHtml, path, deepClone(model.data), lang, version, blockStates, {})\n\treturn suffix?.props?.children.some((c: any) => c) ? <div class={`node ${model.schema.type(path)}-node`} data-category={model.schema.category(path)}>\n\t\t<div class=\"node-header\">{prefix}{suffix}</div>\n\t\t<div class=\"node-body\">{body}</div>\n\t</div> : body\n}\n\nconst renderHtml: RenderHook = {\n\tbase() {\n\t\treturn [null, null, null]\n\t},\n\n\tboolean(params, path, value, lang, version, states, ctx) {\n\t\treturn [null, <BooleanSuffix {...{...params, path, value, lang, version, states, ctx}} />, null]\n\t},\n\n\tchoice({ choices, config, switchNode }, path, value, lang, version, states, ctx) {\n\t\tconst choice = switchNode.activeCase(path, true) as typeof choices[number]\n\t\tconst contextPath = (config?.context) ? new ModelPath(path.getModel(), new Path(path.getArray(), [config.context])) : path\n\t\tconst [prefix, suffix, body] = choice.node.hook(this, contextPath, value, lang, version, states, ctx)\n\t\tif (choices.length === 1) {\n\t\t\treturn [prefix, suffix, body]\n\t\t}\n\t\tconst choiceContextPath = config?.choiceContext ? new Path([], [config.choiceContext]) : config?.context ? new Path([], [config.context]) : path\n\t\tconst set = (type: string) => {\n\t\t\tconst c = choices.find(c => c.type === type) ?? choice\n\t\t\tconst def = c.node.default()\n\t\t\tconst newValue = c.change\n\t\t\t\t? c.change(DataModel.unwrapLists(value))\n\t\t\t\t: config.choiceContext === 'feature' && def?.type === 'minecraft:decorated' ? def.config.feature : def\n\t\t\tpath.model.set(path, DataModel.wrapLists(newValue))\n\t\t}\n\t\tconst inject = <select value={choice.type} onChange={(e) => set((e.target as HTMLSelectElement).value)}>\n\t\t\t{choices.map(c => <option value={c.type}>\n\t\t\t\t{pathLocale(lang, choiceContextPath.contextPush(c.type))}\n\t\t\t</option>)}\n\t\t</select>\n\t\treturn [prefix, <>{inject}{suffix}</>, body]\n\t},\n\n\tlist({ children, config }, path, value, lang, version, states, ctx) {\n\t\tconst { expand, collapse, isToggled } = useToggles()\n\t\tconst [maxShown, setMaxShown] = useState(50)\n\n\t\tconst context = path.getContext().join('.')\n\t\tif (fixedLists.includes(context)) {\n\t\t\tconst prefix = <>\n\t\t\t\t{[...Array(config.maxLength!)].map((_, i) =>\n\t\t\t\t\t<ErrorPopup lang={lang} path={path.modelPush(i)} />)}\n\t\t\t\t<div class=\"fixed-list\"></div>\n\t\t\t</>\n\t\t\tconst suffix = <>{[...Array(config.maxLength)].map((_, i) => {\n\t\t\t\tconst child = children.hook(this, path.modelPush(i), value?.[i]?.node, lang, version, states, ctx)\n\t\t\t\treturn child[1]\n\t\t\t})}</>\n\t\t\treturn [prefix, suffix, null]\n\t\t}\n\n\t\tconst onAdd = () => {\n\t\t\tif (!Array.isArray(value)) value = []\n\t\t\tconst node = DataModel.wrapLists(children.default())\n\t\t\tpath.model.set(path, [{ node, id: hexId() }, ...value])\n\t\t}\n\t\tconst onAddBottom = () => {\n\t\t\tif (!Array.isArray(value)) value = []\n\t\t\tconst node = DataModel.wrapLists(children.default())\n\t\t\tpath.model.set(path, [...value, { node, id: hexId() }])\n\t\t}\n\t\tconst suffix = <button class=\"add tooltipped tip-se\" aria-label={localize(lang, 'add_top')} onClick={onAdd}>{Octicon.plus_circle}</button>\n\t\tconst body = <>\n\t\t\t{(value && Array.isArray(value)) && value.map(({ node: cValue, id: cId }, index) => {\n\t\t\t\tif (index === maxShown) {\n\t\t\t\t\treturn <div class=\"node node-header\">\n\t\t\t\t\t\t<label>{localize(lang, 'entries_hidden', `${value.length - maxShown}`)}</label>\n\t\t\t\t\t\t<button onClick={() => setMaxShown(Math.min(maxShown + 50, value.length))}>{localize(lang, 'entries_hidden.more', '50')}</button>\n\t\t\t\t\t\t<button onClick={() => setMaxShown(value.length)}>{localize(lang, 'entries_hidden.all')}</button>\n\t\t\t\t\t</div>\n\t\t\t\t}\n\t\t\t\tif (index > maxShown) {\n\t\t\t\t\treturn null\n\t\t\t\t}\n\n\t\t\t\tconst cPath = path.push(index).contextPush('entry')\n\t\t\t\tconst canToggle = children.type(cPath) === 'object'\n\t\t\t\tconst toggle = isToggled(cId)\n\t\t\t\tif (canToggle && (toggle === false || (toggle === undefined && value.length > 20))) {\n\t\t\t\t\treturn <div class=\"node node-header\" data-category={children.category(cPath)}>\n\t\t\t\t\t\t<ErrorPopup lang={lang} path={cPath} nested />\n\t\t\t\t\t\t<button class=\"toggle tooltipped tip-se\" aria-label={`${localize(lang, 'expand')}\\n${localize(lang, 'expand_all', 'Ctrl')}`} onClick={expand(cId)}>{Octicon.chevron_right}</button>\n\t\t\t\t\t\t<label>{pathLocale(lang, cPath, `${index}`)}</label>\n\t\t\t\t\t\t<Collapsed key={cId} path={cPath} value={cValue} schema={children} />\n\t\t\t\t\t</div>\n\t\t\t\t}\n\n\t\t\t\tconst onRemove = () => cPath.set(undefined)\n\t\t\t\tconst onMoveUp = () => {\n\t\t\t\t\tconst v = [...path.get()];\n\t\t\t\t\t[v[index - 1], v[index]] = [v[index], v[index - 1]]\n\t\t\t\t\tpath.model.set(path, v)\n\t\t\t\t}\n\t\t\t\tconst onMoveDown = () => {\n\t\t\t\t\tconst v = [...path.get()];\n\t\t\t\t\t[v[index + 1], v[index]] = [v[index], v[index + 1]]\n\t\t\t\t\tpath.model.set(path, v)\n\t\t\t\t}\n\t\t\t\tconst actions: MenuAction[] = [\n\t\t\t\t\t{\n\t\t\t\t\t\ticon: 'duplicate',\n\t\t\t\t\t\tlabel: 'duplicate',\n\t\t\t\t\t\tonSelect: () => {\n\t\t\t\t\t\t\tconst v = [...path.get()]\n\t\t\t\t\t\t\tv.splice(index, 0, { id: hexId(), node: deepClone(cValue) })\n\t\t\t\t\t\t\tpath.model.set(path, v)\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t]\n\t\t\t\treturn <MemoedTreeNode key={cId} path={cPath} schema={children} value={cValue} {...{lang, version, states, actions}} ctx={{...ctx, index: (index === 0 ? 1 : 0) + (index === value.length - 1 ? 2 : 0)}}>\n\t\t\t\t\t{canToggle && <button class=\"toggle tooltipped tip-se\" aria-label={`${localize(lang, 'collapse')}\\n${localize(lang, 'collapse_all', 'Ctrl')}`} onClick={collapse(cId)}>{Octicon.chevron_down}</button>}\n\t\t\t\t\t<button class=\"remove tooltipped tip-se\" aria-label={localize(lang, 'remove')} onClick={onRemove}>{Octicon.trashcan}</button>\n\t\t\t\t\t{value.length > 1 && <div class=\"node-move\">\n\t\t\t\t\t\t<button class=\"move tooltipped tip-se\" aria-label={localize(lang, 'move_up')} onClick={onMoveUp} disabled={index === 0}>{Octicon.chevron_up}</button>\n\t\t\t\t\t\t<button class=\"move tooltipped tip-se\" aria-label={localize(lang, 'move_down')} onClick={onMoveDown} disabled={index === value.length - 1}>{Octicon.chevron_down}</button>\n\t\t\t\t\t</div>}\n\t\t\t\t</MemoedTreeNode>\n\t\t\t})}\n\t\t\t{(value && value.length > 0 && value.length <= maxShown) && <div class=\"node node-header\">\n\t\t\t\t<button class=\"add tooltipped tip-se\" aria-label={localize(lang, 'add_bottom')} onClick={onAddBottom}>{Octicon.plus_circle}</button>\n\t\t\t</div>}\n\t\t</>\n\t\treturn [null, suffix, body]\n\t},\n\n\tmap({ children, keys, config }, path, value, lang, version, states, ctx) {\n\t\tconst { expand, collapse, isToggled } = useToggles()\n\n\t\tconst keyPath = new ModelPath(keysModel, new Path([hashString(path.toString())]))\n\t\tconst onAdd = () => {\n\t\t\tconst key = keyPath.get()\n\t\t\tpath.model.set(path.push(key), DataModel.wrapLists(children.default()))\n\t\t}\n\t\tconst blockState = config.validation?.validator === 'block_state_map' ? states?.[relativePath(path, config.validation.params.id).get()] : null\n\t\tconst keysSchema = blockState?.properties\n\t\t\t? StringNode(null!, { enum: Object.keys(blockState.properties ?? {}) })\n\t\t\t: keys\n\t\tif (blockState && path.last() === 'Properties') {\n\t\t\tif (typeof value !== 'object') value = {}\n\t\t\tconst properties = Object.entries(blockState.properties ?? {})\n\t\t\t\t.map(([key, values]) => [key, StringNode(null!, { enum: values })])\n\t\t\tObject.entries(blockState.properties ?? {}).forEach(([key, values]) => {\n\t\t\t\tif (typeof value[key] !== 'string') {\n\t\t\t\t\tpath.model.errors.add(path.push(key), 'error.expected_string')\n\t\t\t\t} else if (!values.includes(value[key])) {\n\t\t\t\t\tpath.model.errors.add(path.push(key), 'error.invalid_enum_option', value[key])\n\t\t\t\t}\n\t\t\t})\n\t\t\treturn ObjectNode(Object.fromEntries(properties)).hook(this, path, value, lang, version, states, ctx)\n\t\t}\n\t\tconst suffix = <>\n\t\t\t{keysSchema.hook(this, keyPath, keyPath.get() ?? '', lang, version, states, ctx)[1]}\n\t\t\t<button class=\"add tooltipped tip-se\" aria-label={localize(lang, 'add')} onClick={onAdd}>{Octicon.plus_circle}</button>\n\t\t</>\n\t\tconst body = <>\n\t\t\t{typeof value === 'object' && Object.entries(value).map(([key, cValue]) => {\n\n\t\t\t\tconst cPath = path.modelPush(key)\n\t\t\t\tconst canToggle = children.type(cPath) === 'object'\n\t\t\t\tconst toggle = isToggled(key)\n\t\t\t\tif (canToggle && (toggle === false || (toggle === undefined && value.length > 20))) {\n\t\t\t\t\treturn <div class=\"node node-header\" data-category={children.category(cPath)}>\n\t\t\t\t\t\t<ErrorPopup lang={lang} path={cPath} nested />\n\t\t\t\t\t\t<button class=\"toggle tooltipped tip-se\" aria-label={`${localize(lang, 'expand')}\\n${localize(lang, 'expand_all', 'Ctrl')}`} onClick={expand(key)}>{Octicon.chevron_right}</button>\n\t\t\t\t\t\t<label>{key}</label>\n\t\t\t\t\t\t<Collapsed key={key} path={cPath} value={cValue} schema={children} />\n\t\t\t\t\t</div>\n\t\t\t\t}\n\t\t\t\tconst cSchema = blockState\n\t\t\t\t\t? StringNode(null!, { enum: blockState.properties?.[key] ?? [] })\n\t\t\t\t\t: children\n\t\t\t\tif (blockState?.properties?.[key] && typeof cValue === 'string'\n\t\t\t\t\t&& !blockState.properties?.[key].includes(cValue)) {\n\t\t\t\t\tpath.model.errors.add(cPath, 'error.invalid_enum_option', cValue)\n\t\t\t\t}\n\t\t\t\tconst onRemove = () => cPath.set(undefined)\n\t\t\t\treturn <MemoedTreeNode key={key} schema={cSchema} path={cPath} value={cValue} {...{lang, version, states, ctx}} label={key}>\n\t\t\t\t\t{canToggle && <button class=\"toggle tooltipped tip-se\" aria-label={`${localize(lang, 'collapse')}\\n${localize(lang, 'collapse_all', 'Ctrl')}`} onClick={collapse(key)}>{Octicon.chevron_down}</button>}\n\t\t\t\t\t<button class=\"remove tooltipped tip-se\" aria-label={localize(lang, 'remove')} onClick={onRemove}>{Octicon.trashcan}</button>\n\t\t\t\t</MemoedTreeNode>\n\t\t\t})}\n\t\t</>\n\t\treturn [null, suffix, body]\n\t},\n\n\tnumber(params, path, value, lang, version, states, ctx) {\n\t\treturn [null, <NumberSuffix {...{...params, path, value, lang, version, states, ctx}} />, null]\n\t},\n\n\tobject({ node, config, getActiveFields, getChildModelPath }, path, value, lang, version, states, ctx) {\n\t\tconst { expand, collapse, isToggled } = useToggles()\n\n\t\tif (path.getArray().length == 0 && isDecorated(config.context, value)) {\n\t\t\tconst { wrapper, fields } = createDecoratorsWrapper(getActiveFields(path), path, value)\n\t\t\tvalue = wrapper.data\n\t\t\tgetActiveFields = () => fields\n\t\t\tgetChildModelPath = (path, key) => new ModelPath(wrapper, new Path(path.getArray(), ['feature'])).push(key)\n\t\t}\n\n\t\tlet prefix: JSX.Element | null = null\n\t\tlet suffix: JSX.Element | null = null\n\t\tif (node.optional()) {\n\t\t\tif (value === undefined) {\n\t\t\t\tconst onExpand = () => path.set(DataModel.wrapLists(node.default()))\n\t\t\t\tsuffix = <button class=\"collapse closed tooltipped tip-se\" aria-label={localize(lang, 'expand')} onClick={onExpand}>{Octicon.plus_circle}</button>\n\t\t\t} else {\n\t\t\t\tconst onCollapse = () => path.set(undefined)\n\t\t\t\tsuffix = <button class=\"collapse open tooltipped tip-se\" aria-label={localize(lang, 'remove')} onClick={onCollapse}>{Octicon.trashcan}</button>\n\t\t\t}\n\t\t}\n\t\tconst context = path.getContext().join('.')\n\t\tif (collapsableFields.includes(context) || collapsedFields.includes(context)) {\n\t\t\tconst toggled = isToggled('')\n\t\t\tconst expanded = collapsedFields.includes(context) ? toggled : !toggled\n\t\t\tprefix = <>\n\t\t\t\t<button class=\"toggle tooltipped tip-se\" aria-label={localize(lang, expanded ? 'collapse' : 'expand')} onClick={toggled ? collapse('') : expand('')}>{expanded ? Octicon.chevron_down : Octicon.chevron_right}</button>\n\t\t\t</>\n\t\t\tif (!expanded) {\n\t\t\t\treturn [prefix, suffix, null]\n\t\t\t}\n\t\t}\n\n\t\tconst newCtx = (typeof value === 'object' && value !== null && node.default()?.pools)\n\t\t\t? { ...ctx, loot: value?.type } : ctx\n\t\tconst body = <>\n\t\t\t{(typeof value === 'object' && value !== null && !(node.optional() && value === undefined)) &&\n\t\t\t\tObject.entries(getActiveFields(path))\n\t\t\t\t\t.filter(([_, child]) => child.enabled(path))\n\t\t\t\t\t.map(([key, child]) => {\n\t\t\t\t\t\tconst cPath = getChildModelPath(path, key)\n\t\t\t\t\t\tconst context = cPath.getContext().join('.')\n\t\t\t\t\t\tif (hiddenFields.includes(context)) return null\n\t\t\t\t\t\tconst [cPrefix, cSuffix, cBody] = child.hook(this, cPath, value[key], lang, version, states, newCtx)\n\t\t\t\t\t\tconst isFlattened = child.type(cPath) === 'object' && flattenedFields.includes(context)\n\t\t\t\t\t\tconst isInlined = inlineFields.includes(context)\n\t\t\t\t\t\tif (isFlattened || isInlined) {\n\t\t\t\t\t\t\tprefix = <>{prefix}<ErrorPopup lang={lang} path={cPath} /><HelpPopup lang={lang} path={cPath} />{cPrefix}</>\n\t\t\t\t\t\t\tsuffix = <>{suffix}{cSuffix}</>\n\t\t\t\t\t\t\treturn isFlattened ? cBody : null\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn <MemoedTreeNode key={key} schema={child} path={cPath} value={value[key]} {...{lang, version, states, ctx: newCtx}} />\n\t\t\t\t\t})\n\t\t\t}\n\t\t</>\n\t\treturn [prefix, suffix, body]\n\t},\n\n\tstring(params, path, value, lang, version, states, ctx) {\n\t\treturn [null, <StringSuffix {...{...params, path, value, lang, version, states, ctx}} />, null]\n\t},\n}\n\nfunction Collapsed({ path, value }: { path: ModelPath, value: any, schema: INode<any> }) {\n\tconst context = path.getContext().join('.')\n\tswitch (context) {\n\t\tcase 'loot_table.pools.entry':\n\t\t\treturn <label>{value?.entries?.length ?? 0} entries</label>\n\t\tcase 'function.set_contents.entries.entry':\n\t\tcase 'loot_pool.entries.entry':\n\t\t\treturn <label>{value?.name?.replace(/^minecraft:/, '') ?? value?.type?.replace(/^minecraft:/, '')}</label>\n\t}\n\tfor (const child of Object.values(value ?? {})) {\n\t\tif (typeof child === 'string') {\n\t\t\treturn <label>{child.replace(/^minecraft:/, '')}</label>\n\t\t}\n\t}\n\treturn null\n}\n\nfunction useToggles() {\n\tconst [toggleState, setToggleState] = useState(new Map<string, boolean>())\n\tconst [toggleAll, setToggleAll] = useState<boolean | undefined>(undefined)\n\n\tconst expand = (key: string) => (evt: MouseEvent) => {\n\t\tif (evt.ctrlKey) {\n\t\t\tsetToggleState(new Map())\n\t\t\tsetToggleAll(true)\n\t\t} else {\n\t\t\tsetToggleState(state => new Map(state.set(key, true)))\n\t\t}\n\t}\n\tconst collapse = (key: string) => (evt: MouseEvent) => {\n\t\tif (evt.ctrlKey) {\n\t\t\tsetToggleState(new Map())\n\t\t\tsetToggleAll(false)\n\t\t} else {\n\t\t\tsetToggleState(state => new Map(state.set(key, false)))\n\t\t}\n\t}\n\t\n\tconst isToggled = (key: string) => {\n\t\tif (!(toggleState instanceof Map)) return false\n\t\treturn toggleState.get(key) ?? toggleAll\n\t}\n\n\treturn { expand, collapse, isToggled }\n}\n\nfunction BooleanSuffix({ path, node, value, lang }: NodeProps<BooleanHookParams>) {\n\tconst set = (target: boolean) => {\n\t\tpath.model.set(path, node.optional() && value === target ? undefined : target)\n\t}\n\treturn <>\n\t\t<button class={value === false ? 'selected' : ''} onClick={() => set(false)}>{localize(lang, 'false')}</button>\n\t\t<button class={value === true ? 'selected' : ''} onClick={() => set(true)}>{localize(lang, 'true')}</button>\n\t</>\n}\n\nfunction NumberSuffix({ path, config, integer, value, lang }: NodeProps<NumberHookParams>) {\n\tconst onChange = (evt: Event) => {\n\t\tconst value = (evt.target as HTMLInputElement).value\n\t\tconst parsed = integer ? parseInt(value) : parseFloat(value)\n\t\tpath.model.set(path, parsed)\n\t}\n\tconst onColor = (evt: Event) => {\n\t\tconst value = (evt.target as HTMLInputElement).value\n\t\tconst parsed = parseInt(value.slice(1), 16)\n\t\tpath.model.set(path, parsed)\n\t}\n\treturn <>\n\t\t<input type=\"text\" value={value ?? ''} onBlur={onChange} onKeyDown={evt => {if (evt.key === 'Enter') onChange(evt)}} />\n\t\t{config?.color && <input type=\"color\" value={'#' + (value?.toString(16).padStart(6, '0') ?? '000000')} onChange={onColor} />}\n\t\t{['dimension.generator.seed', 'dimension.generator.biome_source.seed', 'world_settings.seed', 'structure_placement.salt'].includes(path.getContext().join('.')) && <button onClick={() => newSeed(path.model)} class=\"tooltipped tip-se\" aria-label={localize(lang, 'generate_new_seed')}>{Octicon.sync}</button>}\n\t</>\n}\n\nfunction StringSuffix({ path, getValues, config, node, value, lang, version, states }: NodeProps<StringHookParams>) {\n\tconst onChange = (evt: Event) => {\n\t\tevt.stopPropagation()\n\t\tconst newValue = (evt.target as HTMLSelectElement).value\n\t\tif (newValue === value) return\n\t\tpath.model.set(path, newValue.length === 0 ? undefined : newValue)\n\t}\n\tconst values = getValues()\n\tconst context = path.getContext().join('.')\n\tconst id = !isEnum(config) && config?.validator === 'resource' && typeof config.params.pool === 'string' ? config.params.pool : undefined\n\n\tif (nbtFields.includes(context)) {\n\t\treturn <textarea value={value ?? ''} onBlur={onChange}></textarea>\n\t} else if ((isEnum(config) && !config.additional) || selectRegistries.includes(context)) {\n\t\tlet context = new Path([])\n\t\tif (isEnum(config) && typeof config.enum === 'string') {\n\t\t\tcontext = context.contextPush(config.enum)\n\t\t} else if (id) {\n\t\t\tcontext = context.contextPush(id)\n\t\t} else if (isEnum(config)) {\n\t\t\tcontext = path\n\t\t}\n\t\treturn <select value={value ?? ''} onChange={onChange}>\n\t\t\t{node.optional() && <option value=\"\">{localize(lang, 'unset')}</option>}\n\t\t\t{values.map(v => <option value={v}>\n\t\t\t\t{pathLocale(lang, context.contextPush(v.replace(/^minecraft:/, '')))}\n\t\t\t</option>)}\n\t\t</select>\n\t} else if (!isEnum(config) && config?.validator === 'block_state_key') {\n\t\tconst blockState = states?.[relativePath(path, config.params.id).get()]\n\t\tconst values = Object.keys(blockState?.properties ?? {})\n\t\treturn <select value={value ?? ''} onChange={onChange}>\n\t\t\t{values.map(v => <option>{v}</option>)}\n\t\t</select>\n\t} else {\n\t\tconst datalistId = hexId()\n\t\tconst gen = id ? findGenerator(id) : undefined\n\t\treturn <>\n\t\t\t<input value={value ?? ''} onBlur={onChange} onKeyDown={evt => {if (evt.key === 'Enter') onChange(evt)}}\n\t\t\t\tlist={values.length > 0 ? datalistId : ''} />\n\t\t\t{values.length > 0 && <datalist id={datalistId}>\n\t\t\t\t{values.map(v => <option value={v} />)}\n\t\t\t</datalist>}\n\t\t\t{gen && values.includes(value) && value.startsWith('minecraft:') &&\n\t\t\t\t<a href={`/${gen.url}/?version=${version}&preset=${value.replace(/^minecraft:/, '')}`} class=\"tooltipped tip-se\" aria-label={localize(lang, 'follow_reference')}>{Octicon.link_external}</a>}\n\t\t</>\n\t}\n}\n\ntype MenuAction = {\n\tlabel: string,\n\tdescription?: string,\n\ticon: keyof typeof Octicon,\n\tonSelect: () => unknown,\n}\n\ntype TreeNodeProps = {\n\tschema: INode<any>,\n\tpath: ModelPath,\n\tvalue: any,\n\tlang: string,\n\tversion: VersionId,\n\tstates: BlockStateRegistry,\n\tctx: Record<string, any>,\n\tcompare?: any,\n\tlabel?: string,\n\tactions?: MenuAction[],\n\tchildren?: ComponentChildren,\n}\nfunction TreeNode({ label, schema, path, value, lang, version, states, ctx, actions, children }: TreeNodeProps) {\n\tconst type = schema.type(path)\n\tconst category = schema.category(path)\n\tconst context = path.getContext().join('.')\n\n\tconst [active, setActive] = useFocus()\n\tconst onContextMenu = (evt: MouseEvent) => {\n\t\tevt.preventDefault()\n\t\tsetActive()\n\t}\n\n\tconst newCtx: Record<string, any> = { ...ctx, depth: (ctx.depth ?? 0) + 1 }\n\tdelete newCtx.index\n\tconst [prefix, suffix, body] = schema.hook(renderHtml, path, value, lang, version, states, newCtx)\n\treturn <div class={`node ${type}-node`} data-category={category}>\n\t\t<div class=\"node-header\" onContextMenu={onContextMenu}>\n\t\t\t<ErrorPopup lang={lang} path={path} />\n\t\t\t<HelpPopup lang={lang} path={path} />\n\t\t\t{children}\n\t\t\t{prefix}\n\t\t\t<label>\n\t\t\t\t{label ?? pathLocale(lang, path, `${path.last()}`)}\n\t\t\t\t{active && <div class=\"node-menu\">\n\t\t\t\t\t{actions?.map(a => <div key={a.label} class=\"menu-item\">\n\t\t\t\t\t\t<Btn icon={a.icon} tooltip={localize(lang, a.label)} tooltipLoc=\"se\" onClick={() => a.onSelect()}/>\n\t\t\t\t\t\t<span>{a.description ?? localize(lang, a.label)}</span>\n\t\t\t\t\t</div>)}\n\t\t\t\t\t<div class=\"menu-item\">\n\t\t\t\t\t\t<Btn icon=\"clippy\" tooltip={localize(lang, 'copy_context')} tooltipLoc=\"se\" onClick={() => navigator.clipboard.writeText(context)} />\n\t\t\t\t\t\t<span>{context}</span>\n\t\t\t\t\t</div>\n\t\t\t\t</div>}\n\t\t\t</label>\n\t\t\t{suffix}\n\t\t</div>\n\t\t{body && <div class=\"node-body\">{body}</div>}\n\t</div>\n}\n\nconst MemoedTreeNode = memo(TreeNode, (prev, next) => {\n\treturn prev.schema === next.schema\n\t\t&& prev.lang === next.lang\n\t\t&& prev.path.equals(next.path)\n\t\t&& deepEqual(prev.ctx, next.ctx)\n\t\t&& deepEqual(prev.value, next.value)\n})\n\nfunction isEnum(value?: ValidationOption | EnumOption): value is EnumOption {\n\treturn !!(value as any)?.enum\n}\n\nfunction hashString(str: string) {\n\tvar hash = 0, i, chr\n\tfor (i = 0; i < str.length; i++) {\n\t\tchr = str.charCodeAt(i)\n\t\thash = ((hash << 5) - hash) + chr\n\t\thash |= 0\n\t}\n\treturn hash\n}\n\nfunction pathLocale(lang: string, path: Path, ...params: string[]) {\n\tconst ctx = path.getContext()\n\tfor (let i = 0; i < ctx.length; i += 1) {\n\t\tconst key = ctx.slice(i).join('.')\n\t\tconst result = localize(lang, key, ...params)\n\t\tif (key !== result) {\n\t\t\treturn result\n\t\t}\n\t}\n\treturn ctx[ctx.length - 1]\n}\n\nfunction ErrorPopup({ lang, path, nested }: { lang: string, path: ModelPath, nested?: boolean }) {\n\tif (path.model instanceof ModelWrapper) {\n\t\tpath = path.model.map(path).withModel(path.model)\n\t}\n\tconst e = nested\n\t\t?\tpath.model.errors.getAll().filter(e => e.path.startsWith(path))\n\t\t: path.model.errors.get(path, true)\n\tif (e.length === 0) return null\n\tconst message = localize(lang, e[0].error, ...(e[0].params ?? []))\n\treturn popupIcon('node-error', 'issue_opened', message)\n}\n\nfunction HelpPopup({ lang, path }: { lang: string, path: Path }) {\n\tconst key = path.contextPush('help').getContext().join('.')\n\tconst message = localize(lang, key)\n\tif (message === key) return null\n\treturn popupIcon('node-help', 'info', message)\n}\n\nconst popupIcon = (type: string, icon: keyof typeof Octicon, popup: string) => {\n\tconst [active, setActive] = useFocus()\n\n\treturn <div class={`node-icon ${type}${active ? ' show' : ''}`} onClick={setActive}>\n\t\t{Octicon[icon]}\n\t\t<span class=\"icon-popup\">{popup}</span>\n\t</div>\n}\n\nfunction isDecorated(context: string | undefined, value: any) {\n\treturn context === 'feature'\n\t\t&& value?.type?.replace(/^minecraft:/, '') === 'decorated'\n\t\t&& isObject(value?.config)\n}\n\nfunction createDecoratorsWrapper(originalFields: NodeChildren, path: ModelPath, value: any) {\n\tconst decorators: any[] = []\n\tconst feature = iterateNestedDecorators(value, decorators)\n\tconst fields = {\n\t\ttype: originalFields.type,\n\t\tconfig: ObjectNode({\n\t\t\tdecorators: ListNode(CachedDecorator),\n\t\t\tfeature: CachedFeature,\n\t\t}, { context: 'feature.decorated' }),\n\t}\n\tconst schema = ObjectNode(fields, { context: 'feature' })\n\tconst featurePath = new Path(['config', 'feature'])\n\tconst decoratorsPath = new Path(['config', 'decorators'])\n\tconst model = path.getModel()\n\tconst wrapper: ModelWrapper = new ModelWrapper(schema, path => {\n\t\tif (path.startsWith(featurePath)) {\n\t\t\treturn new Path([...[...Array(decorators.length - 1)].flatMap(() => ['config', 'feature']), ...path.modelArr])\n\t\t} else if (path.startsWith(decoratorsPath)) {\n\t\t\tif (path.modelArr.length === 2) {\n\t\t\t\treturn new Path([])\n\t\t\t}\n\t\t\tconst index = path.modelArr[2]\n\t\t\tif (typeof index === 'number') {\n\t\t\t\treturn new Path([...[...Array(index)].flatMap(() => ['config', 'feature']), 'config', 'decorator', ...path.modelArr.slice(3)])\n\t\t\t}\n\t\t}\n\t\treturn path\n\t}, path => {\n\t\tif (path.equals(decoratorsPath)) {\n\t\t\tconst newDecorators: any[] = []\n\t\t\titerateNestedDecorators(model.data, newDecorators)\n\t\t\treturn newDecorators\n\t\t}\n\t\treturn model.get(wrapper.map(path))\n\t}, (path, value, silent) => {\n\t\tif (path.startsWith(featurePath)) {\n\t\t\tconst newDecorators: any[] = []\n\t\t\titerateNestedDecorators(model.data, newDecorators)\n\t\t\tconst newPath =new Path([...[...Array(newDecorators.length - 1)].flatMap(() => ['config', 'feature']), ...path.modelArr])\n\t\t\treturn model.set(newPath, value, silent)\n\t\t} else if (path.startsWith(decoratorsPath)) {\n\t\t\tconst index = path.modelArr[2]\n\t\t\tif (path.modelArr.length === 2) {\n\t\t\t\tconst feature = wrapper.get(featurePath)\n\t\t\t\treturn model.set(new Path(), produceNestedDecorators(feature, value), silent)\n\t\t\t} else if (typeof index === 'number') {\n\t\t\t\tif (path.modelArr.length === 3 && value === undefined) {\n\t\t\t\t\tconst feature = wrapper.get(featurePath)\n\t\t\t\t\tconst newDecorators: any[] = []\n\t\t\t\t\titerateNestedDecorators(model.data, newDecorators)\n\t\t\t\t\tnewDecorators.splice(index, 1)\n\t\t\t\t\tconst newValue = produceNestedDecorators(feature, newDecorators)\n\t\t\t\t\treturn model.set(new Path(), newValue, silent)\n\t\t\t\t} else {\n\t\t\t\t\tconst newPath = new Path([...[...Array(index)].flatMap(() => ['config', 'feature']), 'config', 'decorator', ...path.modelArr.slice(3)])\n\t\t\t\t\treturn model.set(newPath, value, silent)\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tmodel.set(path, value, silent)\n\t})\n\twrapper.data = {\n\t\ttype: model.data.type,\n\t\tconfig: {\n\t\t\tdecorators,\n\t\t\tfeature,\n\t\t},\n\t}\n\twrapper.errors = model.errors\n\treturn { fields, wrapper }\n}\n\nfunction iterateNestedDecorators(value: any, decorators: any[]): any {\n\tif (value?.type?.replace(/^minecraft:/, '') !== 'decorated') {\n\t\treturn value\n\t}\n\tif (!isObject(value?.config)) {\n\t\treturn value\n\t}\n\tdecorators.push({ id: decorators.length, node: value.config.decorator })\n\treturn iterateNestedDecorators(value.config.feature ?? '', decorators)\n}\n\nfunction produceNestedDecorators(feature: any, decorators: any[]): any {\n\tif (decorators.length === 0) return feature\n\treturn {\n\t\ttype: 'minecraft:decorated',\n\t\tconfig: {\n\t\t\tdecorator: decorators.shift().node,\n\t\t\tfeature: produceNestedDecorators(feature, decorators),\n\t\t},\n\t}\n}\n","import type { DataModel } from '@mcschema/core'\nimport { useErrorBoundary, useState } from 'preact/hooks'\nimport { useLocale } from '../../contexts'\nimport { useModel } from '../../hooks'\nimport { FullNode } from '../../schema/renderHtml'\nimport type { BlockStateRegistry, VersionId } from '../../services'\n\ntype TreePanelProps = {\n\tversion: VersionId,\n\tmodel: DataModel | undefined,\n\tblockStates: BlockStateRegistry | undefined,\n\tonError: (message: string) => unknown,\n}\nexport function Tree({ version, model, blockStates, onError }: TreePanelProps) {\n\tconst { lang } = useLocale()\n\tif (!model || !blockStates || lang === 'none') return <></>\n\n\tconst [error] = useErrorBoundary(e => {\n\t\tonError(`Error rendering the tree: ${e.message}`)\n\t\tconsole.error(e)\n\t})\n\tif (error) return <></>\n\n\tconst [, setState] = useState(0)\n\tuseModel(model, () => {\n\t\tsetState(state => state + 1)\n\t})\n\n\treturn <div class=\"tree\" data-cy=\"tree\">\n\t\t<FullNode {...{model, lang, version, blockStates}}/>\n\t</div>\n}\n","var e=Object.defineProperty,t=Object.defineProperties,s=Object.getOwnPropertyDescriptors,r=Object.getOwnPropertySymbols,n=Object.prototype.hasOwnProperty,o=Object.prototype.propertyIsEnumerable,i=(t,s,r)=>s in t?e(t,s,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[s]=r,c=(e,t)=>{for(var s in t||(t={}))n.call(t,s)&&i(e,s,t[s]);if(r)for(var s of r(t))o.call(t,s)&&i(e,s,t[s]);return e};import a,{useState as l,useEffect as u,useRef as m}from\"react\";const g=\"Please consider reporting this error at https://github.com/laymonage/giscus/issues/new.\";function d(e){return`[giscus] An error occurred. Error message: \"${e}\".`}function p(e){const t=document.querySelector(`meta[property='og:${e}'],meta[name='${e}']`);return t?t.content:\"\"}function f(){const e=document.getElementById(\"giscus-css\")||document.createElement(\"style\");e.id=\"giscus-css\",e.textContent=\"\\n .giscus, .giscus-frame {\\n width: 100%;\\n }\\n .giscus-frame {\\n border: none;\\n color-scheme: normal;\\n }\\n \",document.head.prepend(e)}function h(e){const[r,n]=l(\"\"),o=function({repo:e,repoId:t,category:s=\"\",categoryId:r=\"\",mapping:n,term:o=\"\",theme:i=\"light\",reactionsEnabled:c=\"1\",emitMetadata:a=\"0\",inputPosition:l=\"bottom\",lang:u=\"en\",session:m,origin:g}){const d=new URL(location.href);d.searchParams.delete(\"giscus\");const f=d.toString(),h={origin:g=g||f,session:m,theme:i,reactionsEnabled:c,emitMetadata:a,inputPosition:l,repo:e,repoId:t,category:s,categoryId:r,description:p(\"description\")};switch(n){case\"url\":h.term=f;break;case\"title\":h.term=document.title;break;case\"og:title\":h.term=p(\"title\");break;case\"specific\":h.term=o;break;case\"number\":h.number=o;break;case\"pathname\":default:h.term=location.pathname.length<2?\"index\":location.pathname.substring(1).replace(/\\.\\w+$/,\"\")}return`https://giscus.app/${u}/widget?${new URLSearchParams(h)}`}((i=c({},e),t(i,s({session:r}))));var i;const h=m(null);return u((()=>{const e=location.href,t=new URL(e),s=localStorage.getItem(\"giscus-session\"),r=t.searchParams.get(\"giscus\")||\"\";if(r)return localStorage.setItem(\"giscus-session\",JSON.stringify(r)),n(r),t.searchParams.delete(\"giscus\"),void history.replaceState(void 0,document.title,t.toString());if(s)try{n(JSON.parse(s||\"\")||\"\")}catch(o){n(\"\"),localStorage.removeItem(\"giscus-session\"),console.warn(`${d(null==o?void 0:o.message)} Session has been cleared.`)}}),[]),u(f,[]),u((()=>{const e=function(e,t=null){return function(s){if(\"https://giscus.app\"!==s.origin)return;const{data:r}=s;if(\"object\"!=typeof r||!r.giscus)return;if(t&&r.giscus.resizeHeight&&(t.style.height=`${r.giscus.resizeHeight}px`),!r.giscus.error)return;const n=r.giscus.error;if(n.includes(\"Bad credentials\")||n.includes(\"Invalid state value\")){if(null!==localStorage.getItem(\"giscus-session\"))return localStorage.removeItem(\"giscus-session\"),e(),void console.warn(`${d(n)} Session has been cleared.`);console.error(`${d(n)} No session is stored initially. ${g}`)}n.includes(\"Discussion not found\")?console.warn(`[giscus] ${n}. A new discussion will be created if a comment/reaction is submitted.`):console.error(`${d(n)} ${g}`)}}((()=>n(\"\")),h.current);return window.addEventListener(\"message\",e),()=>window.removeEventListener(\"message\",e)}),[]),a.createElement(\"div\",{className:\"giscus\"},a.createElement(\"iframe\",{className:\"giscus-frame\",title:\"Comments\",scrolling:\"no\",src:o,ref:h}))}function b(e){const[t,s]=l(!1);return u((()=>s(!0)),[]),t?a.createElement(h,c({},e)):null}export{b as Giscus};\n","import { Giscus as GiscusReact } from '@giscus/react'\nimport { useTheme } from '../contexts'\n\ninterface Props {\n\tterm?: string,\n}\nexport function Giscus({ term }: Props) {\n\tconst { actualTheme } = useTheme()\n\tconst themeSuffix = actualTheme === 'light' ? '-burn' : ''\n\tconst themeUrl = (import.meta as any).env.DEV\n\t\t? `http://localhost:3000/src/styles/giscus${themeSuffix}.css`\n\t\t: `${location.protocol}//${location.host}/assets/giscus${themeSuffix}.css`\n\n\treturn <GiscusReact\n\t\trepo=\"misode/misode.github.io\"\n\t\trepoId=\"MDEwOlJlcG9zaXRvcnkxOTIyNTQyMzA=\"\n\t\tcategory=\"Site\"\n\t\tcategoryId=\"DIC_kwDOC3WRFs4COB8r\"\n\t\tmapping={term ? 'specific' : 'pathname'}\n\t\tterm={term}\n\t\treactionsEnabled=\"1\"\n\t\temitMetadata=\"0\"\n\t\tinputPosition=\"top\"\n\t\ttheme={themeUrl}\n\t\tlang=\"en\" />\n}\n","/**\n * marked - a markdown parser\n * Copyright (c) 2011-2022, Christopher Jeffrey. (MIT Licensed)\n * https://github.com/markedjs/marked\n */\n\n/**\n * DO NOT EDIT THIS FILE\n * The code in this file is generated from files in ./src/\n */\n\nfunction getDefaults() {\n return {\n baseUrl: null,\n breaks: false,\n extensions: null,\n gfm: true,\n headerIds: true,\n headerPrefix: '',\n highlight: null,\n langPrefix: 'language-',\n mangle: true,\n pedantic: false,\n renderer: null,\n sanitize: false,\n sanitizer: null,\n silent: false,\n smartLists: false,\n smartypants: false,\n tokenizer: null,\n walkTokens: null,\n xhtml: false\n };\n}\n\nlet defaults = getDefaults();\n\nfunction changeDefaults(newDefaults) {\n defaults = newDefaults;\n}\n\n/**\n * Helpers\n */\nconst escapeTest = /[&<>\"']/;\nconst escapeReplace = /[&<>\"']/g;\nconst escapeTestNoEncode = /[<>\"']|&(?!#?\\w+;)/;\nconst escapeReplaceNoEncode = /[<>\"']|&(?!#?\\w+;)/g;\nconst escapeReplacements = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": '''\n};\nconst getEscapeReplacement = (ch) => escapeReplacements[ch];\nfunction escape(html, encode) {\n if (encode) {\n if (escapeTest.test(html)) {\n return html.replace(escapeReplace, getEscapeReplacement);\n }\n } else {\n if (escapeTestNoEncode.test(html)) {\n return html.replace(escapeReplaceNoEncode, getEscapeReplacement);\n }\n }\n\n return html;\n}\n\nconst unescapeTest = /&(#(?:\\d+)|(?:#x[0-9A-Fa-f]+)|(?:\\w+));?/ig;\n\nfunction unescape(html) {\n // explicitly match decimal, hex, and named HTML entities\n return html.replace(unescapeTest, (_, n) => {\n n = n.toLowerCase();\n if (n === 'colon') return ':';\n if (n.charAt(0) === '#') {\n return n.charAt(1) === 'x'\n ? String.fromCharCode(parseInt(n.substring(2), 16))\n : String.fromCharCode(+n.substring(1));\n }\n return '';\n });\n}\n\nconst caret = /(^|[^\\[])\\^/g;\nfunction edit(regex, opt) {\n regex = regex.source || regex;\n opt = opt || '';\n const obj = {\n replace: (name, val) => {\n val = val.source || val;\n val = val.replace(caret, '$1');\n regex = regex.replace(name, val);\n return obj;\n },\n getRegex: () => {\n return new RegExp(regex, opt);\n }\n };\n return obj;\n}\n\nconst nonWordAndColonTest = /[^\\w:]/g;\nconst originIndependentUrl = /^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;\nfunction cleanUrl(sanitize, base, href) {\n if (sanitize) {\n let prot;\n try {\n prot = decodeURIComponent(unescape(href))\n .replace(nonWordAndColonTest, '')\n .toLowerCase();\n } catch (e) {\n return null;\n }\n if (prot.indexOf('javascript:') === 0 || prot.indexOf('vbscript:') === 0 || prot.indexOf('data:') === 0) {\n return null;\n }\n }\n if (base && !originIndependentUrl.test(href)) {\n href = resolveUrl(base, href);\n }\n try {\n href = encodeURI(href).replace(/%25/g, '%');\n } catch (e) {\n return null;\n }\n return href;\n}\n\nconst baseUrls = {};\nconst justDomain = /^[^:]+:\\/*[^/]*$/;\nconst protocol = /^([^:]+:)[\\s\\S]*$/;\nconst domain = /^([^:]+:\\/*[^/]*)[\\s\\S]*$/;\n\nfunction resolveUrl(base, href) {\n if (!baseUrls[' ' + base]) {\n // we can ignore everything in base after the last slash of its path component,\n // but we might need to add _that_\n // https://tools.ietf.org/html/rfc3986#section-3\n if (justDomain.test(base)) {\n baseUrls[' ' + base] = base + '/';\n } else {\n baseUrls[' ' + base] = rtrim(base, '/', true);\n }\n }\n base = baseUrls[' ' + base];\n const relativeBase = base.indexOf(':') === -1;\n\n if (href.substring(0, 2) === '//') {\n if (relativeBase) {\n return href;\n }\n return base.replace(protocol, '$1') + href;\n } else if (href.charAt(0) === '/') {\n if (relativeBase) {\n return href;\n }\n return base.replace(domain, '$1') + href;\n } else {\n return base + href;\n }\n}\n\nconst noopTest = { exec: function noopTest() {} };\n\nfunction merge(obj) {\n let i = 1,\n target,\n key;\n\n for (; i < arguments.length; i++) {\n target = arguments[i];\n for (key in target) {\n if (Object.prototype.hasOwnProperty.call(target, key)) {\n obj[key] = target[key];\n }\n }\n }\n\n return obj;\n}\n\nfunction splitCells(tableRow, count) {\n // ensure that every cell-delimiting pipe has a space\n // before it to distinguish it from an escaped pipe\n const row = tableRow.replace(/\\|/g, (match, offset, str) => {\n let escaped = false,\n curr = offset;\n while (--curr >= 0 && str[curr] === '\\\\') escaped = !escaped;\n if (escaped) {\n // odd number of slashes means | is escaped\n // so we leave it alone\n return '|';\n } else {\n // add space before unescaped |\n return ' |';\n }\n }),\n cells = row.split(/ \\|/);\n let i = 0;\n\n // First/last cell in a row cannot be empty if it has no leading/trailing pipe\n if (!cells[0].trim()) { cells.shift(); }\n if (!cells[cells.length - 1].trim()) { cells.pop(); }\n\n if (cells.length > count) {\n cells.splice(count);\n } else {\n while (cells.length < count) cells.push('');\n }\n\n for (; i < cells.length; i++) {\n // leading or trailing whitespace is ignored per the gfm spec\n cells[i] = cells[i].trim().replace(/\\\\\\|/g, '|');\n }\n return cells;\n}\n\n// Remove trailing 'c's. Equivalent to str.replace(/c*$/, '').\n// /c*$/ is vulnerable to REDOS.\n// invert: Remove suffix of non-c chars instead. Default falsey.\nfunction rtrim(str, c, invert) {\n const l = str.length;\n if (l === 0) {\n return '';\n }\n\n // Length of suffix matching the invert condition.\n let suffLen = 0;\n\n // Step left until we fail to match the invert condition.\n while (suffLen < l) {\n const currChar = str.charAt(l - suffLen - 1);\n if (currChar === c && !invert) {\n suffLen++;\n } else if (currChar !== c && invert) {\n suffLen++;\n } else {\n break;\n }\n }\n\n return str.substr(0, l - suffLen);\n}\n\nfunction findClosingBracket(str, b) {\n if (str.indexOf(b[1]) === -1) {\n return -1;\n }\n const l = str.length;\n let level = 0,\n i = 0;\n for (; i < l; i++) {\n if (str[i] === '\\\\') {\n i++;\n } else if (str[i] === b[0]) {\n level++;\n } else if (str[i] === b[1]) {\n level--;\n if (level < 0) {\n return i;\n }\n }\n }\n return -1;\n}\n\nfunction checkSanitizeDeprecation(opt) {\n if (opt && opt.sanitize && !opt.silent) {\n console.warn('marked(): sanitize and sanitizer parameters are deprecated since version 0.7.0, should not be used and will be removed in the future. Read more here: https://marked.js.org/#/USING_ADVANCED.md#options');\n }\n}\n\n// copied from https://stackoverflow.com/a/5450113/806777\nfunction repeatString(pattern, count) {\n if (count < 1) {\n return '';\n }\n let result = '';\n while (count > 1) {\n if (count & 1) {\n result += pattern;\n }\n count >>= 1;\n pattern += pattern;\n }\n return result + pattern;\n}\n\nfunction outputLink(cap, link, raw, lexer) {\n const href = link.href;\n const title = link.title ? escape(link.title) : null;\n const text = cap[1].replace(/\\\\([\\[\\]])/g, '$1');\n\n if (cap[0].charAt(0) !== '!') {\n lexer.state.inLink = true;\n const token = {\n type: 'link',\n raw,\n href,\n title,\n text,\n tokens: lexer.inlineTokens(text, [])\n };\n lexer.state.inLink = false;\n return token;\n } else {\n return {\n type: 'image',\n raw,\n href,\n title,\n text: escape(text)\n };\n }\n}\n\nfunction indentCodeCompensation(raw, text) {\n const matchIndentToCode = raw.match(/^(\\s+)(?:```)/);\n\n if (matchIndentToCode === null) {\n return text;\n }\n\n const indentToCode = matchIndentToCode[1];\n\n return text\n .split('\\n')\n .map(node => {\n const matchIndentInNode = node.match(/^\\s+/);\n if (matchIndentInNode === null) {\n return node;\n }\n\n const [indentInNode] = matchIndentInNode;\n\n if (indentInNode.length >= indentToCode.length) {\n return node.slice(indentToCode.length);\n }\n\n return node;\n })\n .join('\\n');\n}\n\n/**\n * Tokenizer\n */\nclass Tokenizer {\n constructor(options) {\n this.options = options || defaults;\n }\n\n space(src) {\n const cap = this.rules.block.newline.exec(src);\n if (cap && cap[0].length > 0) {\n return {\n type: 'space',\n raw: cap[0]\n };\n }\n }\n\n code(src) {\n const cap = this.rules.block.code.exec(src);\n if (cap) {\n const text = cap[0].replace(/^ {1,4}/gm, '');\n return {\n type: 'code',\n raw: cap[0],\n codeBlockStyle: 'indented',\n text: !this.options.pedantic\n ? rtrim(text, '\\n')\n : text\n };\n }\n }\n\n fences(src) {\n const cap = this.rules.block.fences.exec(src);\n if (cap) {\n const raw = cap[0];\n const text = indentCodeCompensation(raw, cap[3] || '');\n\n return {\n type: 'code',\n raw,\n lang: cap[2] ? cap[2].trim() : cap[2],\n text\n };\n }\n }\n\n heading(src) {\n const cap = this.rules.block.heading.exec(src);\n if (cap) {\n let text = cap[2].trim();\n\n // remove trailing #s\n if (/#$/.test(text)) {\n const trimmed = rtrim(text, '#');\n if (this.options.pedantic) {\n text = trimmed.trim();\n } else if (!trimmed || / $/.test(trimmed)) {\n // CommonMark requires space before trailing #s\n text = trimmed.trim();\n }\n }\n\n const token = {\n type: 'heading',\n raw: cap[0],\n depth: cap[1].length,\n text: text,\n tokens: []\n };\n this.lexer.inline(token.text, token.tokens);\n return token;\n }\n }\n\n hr(src) {\n const cap = this.rules.block.hr.exec(src);\n if (cap) {\n return {\n type: 'hr',\n raw: cap[0]\n };\n }\n }\n\n blockquote(src) {\n const cap = this.rules.block.blockquote.exec(src);\n if (cap) {\n const text = cap[0].replace(/^ *> ?/gm, '');\n\n return {\n type: 'blockquote',\n raw: cap[0],\n tokens: this.lexer.blockTokens(text, []),\n text\n };\n }\n }\n\n list(src) {\n let cap = this.rules.block.list.exec(src);\n if (cap) {\n let raw, istask, ischecked, indent, i, blankLine, endsWithBlankLine,\n line, nextLine, rawLine, itemContents, endEarly;\n\n let bull = cap[1].trim();\n const isordered = bull.length > 1;\n\n const list = {\n type: 'list',\n raw: '',\n ordered: isordered,\n start: isordered ? +bull.slice(0, -1) : '',\n loose: false,\n items: []\n };\n\n bull = isordered ? `\\\\d{1,9}\\\\${bull.slice(-1)}` : `\\\\${bull}`;\n\n if (this.options.pedantic) {\n bull = isordered ? bull : '[*+-]';\n }\n\n // Get next list item\n const itemRegex = new RegExp(`^( {0,3}${bull})((?: [^\\\\n]*)?(?:\\\\n|$))`);\n\n // Check if current bullet point can start a new List Item\n while (src) {\n endEarly = false;\n if (!(cap = itemRegex.exec(src))) {\n break;\n }\n\n if (this.rules.block.hr.test(src)) { // End list if bullet was actually HR (possibly move into itemRegex?)\n break;\n }\n\n raw = cap[0];\n src = src.substring(raw.length);\n\n line = cap[2].split('\\n', 1)[0];\n nextLine = src.split('\\n', 1)[0];\n\n if (this.options.pedantic) {\n indent = 2;\n itemContents = line.trimLeft();\n } else {\n indent = cap[2].search(/[^ ]/); // Find first non-space char\n indent = indent > 4 ? 1 : indent; // Treat indented code blocks (> 4 spaces) as having only 1 indent\n itemContents = line.slice(indent);\n indent += cap[1].length;\n }\n\n blankLine = false;\n\n if (!line && /^ *$/.test(nextLine)) { // Items begin with at most one blank line\n raw += nextLine + '\\n';\n src = src.substring(nextLine.length + 1);\n endEarly = true;\n }\n\n if (!endEarly) {\n const nextBulletRegex = new RegExp(`^ {0,${Math.min(3, indent - 1)}}(?:[*+-]|\\\\d{1,9}[.)])`);\n\n // Check if following lines should be included in List Item\n while (src) {\n rawLine = src.split('\\n', 1)[0];\n line = rawLine;\n\n // Re-align to follow commonmark nesting rules\n if (this.options.pedantic) {\n line = line.replace(/^ {1,4}(?=( {4})*[^ ])/g, ' ');\n }\n\n // End list item if found start of new bullet\n if (nextBulletRegex.test(line)) {\n break;\n }\n\n if (line.search(/[^ ]/) >= indent || !line.trim()) { // Dedent if possible\n itemContents += '\\n' + line.slice(indent);\n } else if (!blankLine) { // Until blank line, item doesn't need indentation\n itemContents += '\\n' + line;\n } else { // Otherwise, improper indentation ends this item\n break;\n }\n\n if (!blankLine && !line.trim()) { // Check if current line is blank\n blankLine = true;\n }\n\n raw += rawLine + '\\n';\n src = src.substring(rawLine.length + 1);\n }\n }\n\n if (!list.loose) {\n // If the previous item ended with a blank line, the list is loose\n if (endsWithBlankLine) {\n list.loose = true;\n } else if (/\\n *\\n *$/.test(raw)) {\n endsWithBlankLine = true;\n }\n }\n\n // Check for task list items\n if (this.options.gfm) {\n istask = /^\\[[ xX]\\] /.exec(itemContents);\n if (istask) {\n ischecked = istask[0] !== '[ ] ';\n itemContents = itemContents.replace(/^\\[[ xX]\\] +/, '');\n }\n }\n\n list.items.push({\n type: 'list_item',\n raw: raw,\n task: !!istask,\n checked: ischecked,\n loose: false,\n text: itemContents\n });\n\n list.raw += raw;\n }\n\n // Do not consume newlines at end of final item. Alternatively, make itemRegex *start* with any newlines to simplify/speed up endsWithBlankLine logic\n list.items[list.items.length - 1].raw = raw.trimRight();\n list.items[list.items.length - 1].text = itemContents.trimRight();\n list.raw = list.raw.trimRight();\n\n const l = list.items.length;\n\n // Item child tokens handled here at end because we needed to have the final item to trim it first\n for (i = 0; i < l; i++) {\n this.lexer.state.top = false;\n list.items[i].tokens = this.lexer.blockTokens(list.items[i].text, []);\n const spacers = list.items[i].tokens.filter(t => t.type === 'space');\n const hasMultipleLineBreaks = spacers.every(t => {\n const chars = t.raw.split('');\n let lineBreaks = 0;\n for (const char of chars) {\n if (char === '\\n') {\n lineBreaks += 1;\n }\n if (lineBreaks > 1) {\n return true;\n }\n }\n\n return false;\n });\n\n if (!list.loose && spacers.length && hasMultipleLineBreaks) {\n // Having a single line break doesn't mean a list is loose. A single line break is terminating the last list item\n list.loose = true;\n list.items[i].loose = true;\n }\n }\n\n return list;\n }\n }\n\n html(src) {\n const cap = this.rules.block.html.exec(src);\n if (cap) {\n const token = {\n type: 'html',\n raw: cap[0],\n pre: !this.options.sanitizer\n && (cap[1] === 'pre' || cap[1] === 'script' || cap[1] === 'style'),\n text: cap[0]\n };\n if (this.options.sanitize) {\n token.type = 'paragraph';\n token.text = this.options.sanitizer ? this.options.sanitizer(cap[0]) : escape(cap[0]);\n token.tokens = [];\n this.lexer.inline(token.text, token.tokens);\n }\n return token;\n }\n }\n\n def(src) {\n const cap = this.rules.block.def.exec(src);\n if (cap) {\n if (cap[3]) cap[3] = cap[3].substring(1, cap[3].length - 1);\n const tag = cap[1].toLowerCase().replace(/\\s+/g, ' ');\n return {\n type: 'def',\n tag,\n raw: cap[0],\n href: cap[2],\n title: cap[3]\n };\n }\n }\n\n table(src) {\n const cap = this.rules.block.table.exec(src);\n if (cap) {\n const item = {\n type: 'table',\n header: splitCells(cap[1]).map(c => { return { text: c }; }),\n align: cap[2].replace(/^ *|\\| *$/g, '').split(/ *\\| */),\n rows: cap[3] ? cap[3].replace(/\\n[ \\t]*$/, '').split('\\n') : []\n };\n\n if (item.header.length === item.align.length) {\n item.raw = cap[0];\n\n let l = item.align.length;\n let i, j, k, row;\n for (i = 0; i < l; i++) {\n if (/^ *-+: *$/.test(item.align[i])) {\n item.align[i] = 'right';\n } else if (/^ *:-+: *$/.test(item.align[i])) {\n item.align[i] = 'center';\n } else if (/^ *:-+ *$/.test(item.align[i])) {\n item.align[i] = 'left';\n } else {\n item.align[i] = null;\n }\n }\n\n l = item.rows.length;\n for (i = 0; i < l; i++) {\n item.rows[i] = splitCells(item.rows[i], item.header.length).map(c => { return { text: c }; });\n }\n\n // parse child tokens inside headers and cells\n\n // header child tokens\n l = item.header.length;\n for (j = 0; j < l; j++) {\n item.header[j].tokens = [];\n this.lexer.inlineTokens(item.header[j].text, item.header[j].tokens);\n }\n\n // cell child tokens\n l = item.rows.length;\n for (j = 0; j < l; j++) {\n row = item.rows[j];\n for (k = 0; k < row.length; k++) {\n row[k].tokens = [];\n this.lexer.inlineTokens(row[k].text, row[k].tokens);\n }\n }\n\n return item;\n }\n }\n }\n\n lheading(src) {\n const cap = this.rules.block.lheading.exec(src);\n if (cap) {\n const token = {\n type: 'heading',\n raw: cap[0],\n depth: cap[2].charAt(0) === '=' ? 1 : 2,\n text: cap[1],\n tokens: []\n };\n this.lexer.inline(token.text, token.tokens);\n return token;\n }\n }\n\n paragraph(src) {\n const cap = this.rules.block.paragraph.exec(src);\n if (cap) {\n const token = {\n type: 'paragraph',\n raw: cap[0],\n text: cap[1].charAt(cap[1].length - 1) === '\\n'\n ? cap[1].slice(0, -1)\n : cap[1],\n tokens: []\n };\n this.lexer.inline(token.text, token.tokens);\n return token;\n }\n }\n\n text(src) {\n const cap = this.rules.block.text.exec(src);\n if (cap) {\n const token = {\n type: 'text',\n raw: cap[0],\n text: cap[0],\n tokens: []\n };\n this.lexer.inline(token.text, token.tokens);\n return token;\n }\n }\n\n escape(src) {\n const cap = this.rules.inline.escape.exec(src);\n if (cap) {\n return {\n type: 'escape',\n raw: cap[0],\n text: escape(cap[1])\n };\n }\n }\n\n tag(src) {\n const cap = this.rules.inline.tag.exec(src);\n if (cap) {\n if (!this.lexer.state.inLink && /^<a /i.test(cap[0])) {\n this.lexer.state.inLink = true;\n } else if (this.lexer.state.inLink && /^<\\/a>/i.test(cap[0])) {\n this.lexer.state.inLink = false;\n }\n if (!this.lexer.state.inRawBlock && /^<(pre|code|kbd|script)(\\s|>)/i.test(cap[0])) {\n this.lexer.state.inRawBlock = true;\n } else if (this.lexer.state.inRawBlock && /^<\\/(pre|code|kbd|script)(\\s|>)/i.test(cap[0])) {\n this.lexer.state.inRawBlock = false;\n }\n\n return {\n type: this.options.sanitize\n ? 'text'\n : 'html',\n raw: cap[0],\n inLink: this.lexer.state.inLink,\n inRawBlock: this.lexer.state.inRawBlock,\n text: this.options.sanitize\n ? (this.options.sanitizer\n ? this.options.sanitizer(cap[0])\n : escape(cap[0]))\n : cap[0]\n };\n }\n }\n\n link(src) {\n const cap = this.rules.inline.link.exec(src);\n if (cap) {\n const trimmedUrl = cap[2].trim();\n if (!this.options.pedantic && /^</.test(trimmedUrl)) {\n // commonmark requires matching angle brackets\n if (!(/>$/.test(trimmedUrl))) {\n return;\n }\n\n // ending angle bracket cannot be escaped\n const rtrimSlash = rtrim(trimmedUrl.slice(0, -1), '\\\\');\n if ((trimmedUrl.length - rtrimSlash.length) % 2 === 0) {\n return;\n }\n } else {\n // find closing parenthesis\n const lastParenIndex = findClosingBracket(cap[2], '()');\n if (lastParenIndex > -1) {\n const start = cap[0].indexOf('!') === 0 ? 5 : 4;\n const linkLen = start + cap[1].length + lastParenIndex;\n cap[2] = cap[2].substring(0, lastParenIndex);\n cap[0] = cap[0].substring(0, linkLen).trim();\n cap[3] = '';\n }\n }\n let href = cap[2];\n let title = '';\n if (this.options.pedantic) {\n // split pedantic href and title\n const link = /^([^'\"]*[^\\s])\\s+(['\"])(.*)\\2/.exec(href);\n\n if (link) {\n href = link[1];\n title = link[3];\n }\n } else {\n title = cap[3] ? cap[3].slice(1, -1) : '';\n }\n\n href = href.trim();\n if (/^</.test(href)) {\n if (this.options.pedantic && !(/>$/.test(trimmedUrl))) {\n // pedantic allows starting angle bracket without ending angle bracket\n href = href.slice(1);\n } else {\n href = href.slice(1, -1);\n }\n }\n return outputLink(cap, {\n href: href ? href.replace(this.rules.inline._escapes, '$1') : href,\n title: title ? title.replace(this.rules.inline._escapes, '$1') : title\n }, cap[0], this.lexer);\n }\n }\n\n reflink(src, links) {\n let cap;\n if ((cap = this.rules.inline.reflink.exec(src))\n || (cap = this.rules.inline.nolink.exec(src))) {\n let link = (cap[2] || cap[1]).replace(/\\s+/g, ' ');\n link = links[link.toLowerCase()];\n if (!link || !link.href) {\n const text = cap[0].charAt(0);\n return {\n type: 'text',\n raw: text,\n text\n };\n }\n return outputLink(cap, link, cap[0], this.lexer);\n }\n }\n\n emStrong(src, maskedSrc, prevChar = '') {\n let match = this.rules.inline.emStrong.lDelim.exec(src);\n if (!match) return;\n\n // _ can't be between two alphanumerics. \\p{L}\\p{N} includes non-english alphabet/numbers as well\n if (match[3] && prevChar.match(/[\\p{L}\\p{N}]/u)) return;\n\n const nextChar = match[1] || match[2] || '';\n\n if (!nextChar || (nextChar && (prevChar === '' || this.rules.inline.punctuation.exec(prevChar)))) {\n const lLength = match[0].length - 1;\n let rDelim, rLength, delimTotal = lLength, midDelimTotal = 0;\n\n const endReg = match[0][0] === '*' ? this.rules.inline.emStrong.rDelimAst : this.rules.inline.emStrong.rDelimUnd;\n endReg.lastIndex = 0;\n\n // Clip maskedSrc to same section of string as src (move to lexer?)\n maskedSrc = maskedSrc.slice(-1 * src.length + lLength);\n\n while ((match = endReg.exec(maskedSrc)) != null) {\n rDelim = match[1] || match[2] || match[3] || match[4] || match[5] || match[6];\n\n if (!rDelim) continue; // skip single * in __abc*abc__\n\n rLength = rDelim.length;\n\n if (match[3] || match[4]) { // found another Left Delim\n delimTotal += rLength;\n continue;\n } else if (match[5] || match[6]) { // either Left or Right Delim\n if (lLength % 3 && !((lLength + rLength) % 3)) {\n midDelimTotal += rLength;\n continue; // CommonMark Emphasis Rules 9-10\n }\n }\n\n delimTotal -= rLength;\n\n if (delimTotal > 0) continue; // Haven't found enough closing delimiters\n\n // Remove extra characters. *a*** -> *a*\n rLength = Math.min(rLength, rLength + delimTotal + midDelimTotal);\n\n // Create `em` if smallest delimiter has odd char count. *a***\n if (Math.min(lLength, rLength) % 2) {\n const text = src.slice(1, lLength + match.index + rLength);\n return {\n type: 'em',\n raw: src.slice(0, lLength + match.index + rLength + 1),\n text,\n tokens: this.lexer.inlineTokens(text, [])\n };\n }\n\n // Create 'strong' if smallest delimiter has even char count. **a***\n const text = src.slice(2, lLength + match.index + rLength - 1);\n return {\n type: 'strong',\n raw: src.slice(0, lLength + match.index + rLength + 1),\n text,\n tokens: this.lexer.inlineTokens(text, [])\n };\n }\n }\n }\n\n codespan(src) {\n const cap = this.rules.inline.code.exec(src);\n if (cap) {\n let text = cap[2].replace(/\\n/g, ' ');\n const hasNonSpaceChars = /[^ ]/.test(text);\n const hasSpaceCharsOnBothEnds = /^ /.test(text) && / $/.test(text);\n if (hasNonSpaceChars && hasSpaceCharsOnBothEnds) {\n text = text.substring(1, text.length - 1);\n }\n text = escape(text, true);\n return {\n type: 'codespan',\n raw: cap[0],\n text\n };\n }\n }\n\n br(src) {\n const cap = this.rules.inline.br.exec(src);\n if (cap) {\n return {\n type: 'br',\n raw: cap[0]\n };\n }\n }\n\n del(src) {\n const cap = this.rules.inline.del.exec(src);\n if (cap) {\n return {\n type: 'del',\n raw: cap[0],\n text: cap[2],\n tokens: this.lexer.inlineTokens(cap[2], [])\n };\n }\n }\n\n autolink(src, mangle) {\n const cap = this.rules.inline.autolink.exec(src);\n if (cap) {\n let text, href;\n if (cap[2] === '@') {\n text = escape(this.options.mangle ? mangle(cap[1]) : cap[1]);\n href = 'mailto:' + text;\n } else {\n text = escape(cap[1]);\n href = text;\n }\n\n return {\n type: 'link',\n raw: cap[0],\n text,\n href,\n tokens: [\n {\n type: 'text',\n raw: text,\n text\n }\n ]\n };\n }\n }\n\n url(src, mangle) {\n let cap;\n if (cap = this.rules.inline.url.exec(src)) {\n let text, href;\n if (cap[2] === '@') {\n text = escape(this.options.mangle ? mangle(cap[0]) : cap[0]);\n href = 'mailto:' + text;\n } else {\n // do extended autolink path validation\n let prevCapZero;\n do {\n prevCapZero = cap[0];\n cap[0] = this.rules.inline._backpedal.exec(cap[0])[0];\n } while (prevCapZero !== cap[0]);\n text = escape(cap[0]);\n if (cap[1] === 'www.') {\n href = 'http://' + text;\n } else {\n href = text;\n }\n }\n return {\n type: 'link',\n raw: cap[0],\n text,\n href,\n tokens: [\n {\n type: 'text',\n raw: text,\n text\n }\n ]\n };\n }\n }\n\n inlineText(src, smartypants) {\n const cap = this.rules.inline.text.exec(src);\n if (cap) {\n let text;\n if (this.lexer.state.inRawBlock) {\n text = this.options.sanitize ? (this.options.sanitizer ? this.options.sanitizer(cap[0]) : escape(cap[0])) : cap[0];\n } else {\n text = escape(this.options.smartypants ? smartypants(cap[0]) : cap[0]);\n }\n return {\n type: 'text',\n raw: cap[0],\n text\n };\n }\n }\n}\n\n/**\n * Block-Level Grammar\n */\nconst block = {\n newline: /^(?: *(?:\\n|$))+/,\n code: /^( {4}[^\\n]+(?:\\n(?: *(?:\\n|$))*)?)+/,\n fences: /^ {0,3}(`{3,}(?=[^`\\n]*\\n)|~{3,})([^\\n]*)\\n(?:|([\\s\\S]*?)\\n)(?: {0,3}\\1[~`]* *(?=\\n|$)|$)/,\n hr: /^ {0,3}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)/,\n heading: /^ {0,3}(#{1,6})(?=\\s|$)(.*)(?:\\n+|$)/,\n blockquote: /^( {0,3}> ?(paragraph|[^\\n]*)(?:\\n|$))+/,\n list: /^( {0,3}bull)( [^\\n]+?)?(?:\\n|$)/,\n html: '^ {0,3}(?:' // optional indentation\n + '<(script|pre|style|textarea)[\\\\s>][\\\\s\\\\S]*?(?:</\\\\1>[^\\\\n]*\\\\n+|$)' // (1)\n + '|comment[^\\\\n]*(\\\\n+|$)' // (2)\n + '|<\\\\?[\\\\s\\\\S]*?(?:\\\\?>\\\\n*|$)' // (3)\n + '|<![A-Z][\\\\s\\\\S]*?(?:>\\\\n*|$)' // (4)\n + '|<!\\\\[CDATA\\\\[[\\\\s\\\\S]*?(?:\\\\]\\\\]>\\\\n*|$)' // (5)\n + '|</?(tag)(?: +|\\\\n|/?>)[\\\\s\\\\S]*?(?:(?:\\\\n *)+\\\\n|$)' // (6)\n + '|<(?!script|pre|style|textarea)([a-z][\\\\w-]*)(?:attribute)*? */?>(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:(?:\\\\n *)+\\\\n|$)' // (7) open tag\n + '|</(?!script|pre|style|textarea)[a-z][\\\\w-]*\\\\s*>(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:(?:\\\\n *)+\\\\n|$)' // (7) closing tag\n + ')',\n def: /^ {0,3}\\[(label)\\]: *(?:\\n *)?<?([^\\s>]+)>?(?:(?: +(?:\\n *)?| *\\n *)(title))? *(?:\\n+|$)/,\n table: noopTest,\n lheading: /^([^\\n]+)\\n {0,3}(=+|-+) *(?:\\n+|$)/,\n // regex template, placeholders will be replaced according to different paragraph\n // interruption rules of commonmark and the original markdown spec:\n _paragraph: /^([^\\n]+(?:\\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\\n)[^\\n]+)*)/,\n text: /^[^\\n]+/\n};\n\nblock._label = /(?!\\s*\\])(?:\\\\.|[^\\[\\]\\\\])+/;\nblock._title = /(?:\"(?:\\\\\"?|[^\"\\\\])*\"|'[^'\\n]*(?:\\n[^'\\n]+)*\\n?'|\\([^()]*\\))/;\nblock.def = edit(block.def)\n .replace('label', block._label)\n .replace('title', block._title)\n .getRegex();\n\nblock.bullet = /(?:[*+-]|\\d{1,9}[.)])/;\nblock.listItemStart = edit(/^( *)(bull) */)\n .replace('bull', block.bullet)\n .getRegex();\n\nblock.list = edit(block.list)\n .replace(/bull/g, block.bullet)\n .replace('hr', '\\\\n+(?=\\\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\\\* *){3,})(?:\\\\n+|$))')\n .replace('def', '\\\\n+(?=' + block.def.source + ')')\n .getRegex();\n\nblock._tag = 'address|article|aside|base|basefont|blockquote|body|caption'\n + '|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption'\n + '|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe'\n + '|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option'\n + '|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr'\n + '|track|ul';\nblock._comment = /<!--(?!-?>)[\\s\\S]*?(?:-->|$)/;\nblock.html = edit(block.html, 'i')\n .replace('comment', block._comment)\n .replace('tag', block._tag)\n .replace('attribute', / +[a-zA-Z:_][\\w.:-]*(?: *= *\"[^\"\\n]*\"| *= *'[^'\\n]*'| *= *[^\\s\"'=<>`]+)?/)\n .getRegex();\n\nblock.paragraph = edit(block._paragraph)\n .replace('hr', block.hr)\n .replace('heading', ' {0,3}#{1,6} ')\n .replace('|lheading', '') // setex headings don't interrupt commonmark paragraphs\n .replace('|table', '')\n .replace('blockquote', ' {0,3}>')\n .replace('fences', ' {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n')\n .replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt\n .replace('html', '</?(?:tag)(?: +|\\\\n|/?>)|<(?:script|pre|style|textarea|!--)')\n .replace('tag', block._tag) // pars can be interrupted by type (6) html blocks\n .getRegex();\n\nblock.blockquote = edit(block.blockquote)\n .replace('paragraph', block.paragraph)\n .getRegex();\n\n/**\n * Normal Block Grammar\n */\n\nblock.normal = merge({}, block);\n\n/**\n * GFM Block Grammar\n */\n\nblock.gfm = merge({}, block.normal, {\n table: '^ *([^\\\\n ].*\\\\|.*)\\\\n' // Header\n + ' {0,3}(?:\\\\| *)?(:?-+:? *(?:\\\\| *:?-+:? *)*)(?:\\\\| *)?' // Align\n + '(?:\\\\n((?:(?! *\\\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\\\n|$))*)\\\\n*|$)' // Cells\n});\n\nblock.gfm.table = edit(block.gfm.table)\n .replace('hr', block.hr)\n .replace('heading', ' {0,3}#{1,6} ')\n .replace('blockquote', ' {0,3}>')\n .replace('code', ' {4}[^\\\\n]')\n .replace('fences', ' {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n')\n .replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt\n .replace('html', '</?(?:tag)(?: +|\\\\n|/?>)|<(?:script|pre|style|textarea|!--)')\n .replace('tag', block._tag) // tables can be interrupted by type (6) html blocks\n .getRegex();\n\nblock.gfm.paragraph = edit(block._paragraph)\n .replace('hr', block.hr)\n .replace('heading', ' {0,3}#{1,6} ')\n .replace('|lheading', '') // setex headings don't interrupt commonmark paragraphs\n .replace('table', block.gfm.table) // interrupt paragraphs with table\n .replace('blockquote', ' {0,3}>')\n .replace('fences', ' {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n')\n .replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt\n .replace('html', '</?(?:tag)(?: +|\\\\n|/?>)|<(?:script|pre|style|textarea|!--)')\n .replace('tag', block._tag) // pars can be interrupted by type (6) html blocks\n .getRegex();\n/**\n * Pedantic grammar (original John Gruber's loose markdown specification)\n */\n\nblock.pedantic = merge({}, block.normal, {\n html: edit(\n '^ *(?:comment *(?:\\\\n|\\\\s*$)'\n + '|<(tag)[\\\\s\\\\S]+?</\\\\1> *(?:\\\\n{2,}|\\\\s*$)' // closed tag\n + '|<tag(?:\"[^\"]*\"|\\'[^\\']*\\'|\\\\s[^\\'\"/>\\\\s]*)*?/?> *(?:\\\\n{2,}|\\\\s*$))')\n .replace('comment', block._comment)\n .replace(/tag/g, '(?!(?:'\n + 'a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub'\n + '|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)'\n + '\\\\b)\\\\w+(?!:|[^\\\\w\\\\s@]*@)\\\\b')\n .getRegex(),\n def: /^ *\\[([^\\]]+)\\]: *<?([^\\s>]+)>?(?: +([\"(][^\\n]+[\")]))? *(?:\\n+|$)/,\n heading: /^(#{1,6})(.*)(?:\\n+|$)/,\n fences: noopTest, // fences not supported\n paragraph: edit(block.normal._paragraph)\n .replace('hr', block.hr)\n .replace('heading', ' *#{1,6} *[^\\n]')\n .replace('lheading', block.lheading)\n .replace('blockquote', ' {0,3}>')\n .replace('|fences', '')\n .replace('|list', '')\n .replace('|html', '')\n .getRegex()\n});\n\n/**\n * Inline-Level Grammar\n */\nconst inline = {\n escape: /^\\\\([!\"#$%&'()*+,\\-./:;<=>?@\\[\\]\\\\^_`{|}~])/,\n autolink: /^<(scheme:[^\\s\\x00-\\x1f<>]*|email)>/,\n url: noopTest,\n tag: '^comment'\n + '|^</[a-zA-Z][\\\\w:-]*\\\\s*>' // self-closing tag\n + '|^<[a-zA-Z][\\\\w-]*(?:attribute)*?\\\\s*/?>' // open tag\n + '|^<\\\\?[\\\\s\\\\S]*?\\\\?>' // processing instruction, e.g. <?php ?>\n + '|^<![a-zA-Z]+\\\\s[\\\\s\\\\S]*?>' // declaration, e.g. <!DOCTYPE html>\n + '|^<!\\\\[CDATA\\\\[[\\\\s\\\\S]*?\\\\]\\\\]>', // CDATA section\n link: /^!?\\[(label)\\]\\(\\s*(href)(?:\\s+(title))?\\s*\\)/,\n reflink: /^!?\\[(label)\\]\\[(ref)\\]/,\n nolink: /^!?\\[(ref)\\](?:\\[\\])?/,\n reflinkSearch: 'reflink|nolink(?!\\\\()',\n emStrong: {\n lDelim: /^(?:\\*+(?:([punct_])|[^\\s*]))|^_+(?:([punct*])|([^\\s_]))/,\n // (1) and (2) can only be a Right Delimiter. (3) and (4) can only be Left. (5) and (6) can be either Left or Right.\n // () Skip orphan delim inside strong (1) #*** (2) a***#, a*** (3) #***a, ***a (4) ***# (5) #***# (6) a***a\n rDelimAst: /^[^_*]*?\\_\\_[^_*]*?\\*[^_*]*?(?=\\_\\_)|[punct_](\\*+)(?=[\\s]|$)|[^punct*_\\s](\\*+)(?=[punct_\\s]|$)|[punct_\\s](\\*+)(?=[^punct*_\\s])|[\\s](\\*+)(?=[punct_])|[punct_](\\*+)(?=[punct_])|[^punct*_\\s](\\*+)(?=[^punct*_\\s])/,\n rDelimUnd: /^[^_*]*?\\*\\*[^_*]*?\\_[^_*]*?(?=\\*\\*)|[punct*](\\_+)(?=[\\s]|$)|[^punct*_\\s](\\_+)(?=[punct*\\s]|$)|[punct*\\s](\\_+)(?=[^punct*_\\s])|[\\s](\\_+)(?=[punct*])|[punct*](\\_+)(?=[punct*])/ // ^- Not allowed for _\n },\n code: /^(`+)([^`]|[^`][\\s\\S]*?[^`])\\1(?!`)/,\n br: /^( {2,}|\\\\)\\n(?!\\s*$)/,\n del: noopTest,\n text: /^(`+|[^`])(?:(?= {2,}\\n)|[\\s\\S]*?(?:(?=[\\\\<!\\[`*_]|\\b_|$)|[^ ](?= {2,}\\n)))/,\n punctuation: /^([\\spunctuation])/\n};\n\n// list of punctuation marks from CommonMark spec\n// without * and _ to handle the different emphasis markers * and _\ninline._punctuation = '!\"#$%&\\'()+\\\\-.,/:;<=>?@\\\\[\\\\]`^{|}~';\ninline.punctuation = edit(inline.punctuation).replace(/punctuation/g, inline._punctuation).getRegex();\n\n// sequences em should skip over [title](link), `code`, <html>\ninline.blockSkip = /\\[[^\\]]*?\\]\\([^\\)]*?\\)|`[^`]*?`|<[^>]*?>/g;\ninline.escapedEmSt = /\\\\\\*|\\\\_/g;\n\ninline._comment = edit(block._comment).replace('(?:-->|$)', '-->').getRegex();\n\ninline.emStrong.lDelim = edit(inline.emStrong.lDelim)\n .replace(/punct/g, inline._punctuation)\n .getRegex();\n\ninline.emStrong.rDelimAst = edit(inline.emStrong.rDelimAst, 'g')\n .replace(/punct/g, inline._punctuation)\n .getRegex();\n\ninline.emStrong.rDelimUnd = edit(inline.emStrong.rDelimUnd, 'g')\n .replace(/punct/g, inline._punctuation)\n .getRegex();\n\ninline._escapes = /\\\\([!\"#$%&'()*+,\\-./:;<=>?@\\[\\]\\\\^_`{|}~])/g;\n\ninline._scheme = /[a-zA-Z][a-zA-Z0-9+.-]{1,31}/;\ninline._email = /[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/;\ninline.autolink = edit(inline.autolink)\n .replace('scheme', inline._scheme)\n .replace('email', inline._email)\n .getRegex();\n\ninline._attribute = /\\s+[a-zA-Z:_][\\w.:-]*(?:\\s*=\\s*\"[^\"]*\"|\\s*=\\s*'[^']*'|\\s*=\\s*[^\\s\"'=<>`]+)?/;\n\ninline.tag = edit(inline.tag)\n .replace('comment', inline._comment)\n .replace('attribute', inline._attribute)\n .getRegex();\n\ninline._label = /(?:\\[(?:\\\\.|[^\\[\\]\\\\])*\\]|\\\\.|`[^`]*`|[^\\[\\]\\\\`])*?/;\ninline._href = /<(?:\\\\.|[^\\n<>\\\\])+>|[^\\s\\x00-\\x1f]*/;\ninline._title = /\"(?:\\\\\"?|[^\"\\\\])*\"|'(?:\\\\'?|[^'\\\\])*'|\\((?:\\\\\\)?|[^)\\\\])*\\)/;\n\ninline.link = edit(inline.link)\n .replace('label', inline._label)\n .replace('href', inline._href)\n .replace('title', inline._title)\n .getRegex();\n\ninline.reflink = edit(inline.reflink)\n .replace('label', inline._label)\n .replace('ref', block._label)\n .getRegex();\n\ninline.nolink = edit(inline.nolink)\n .replace('ref', block._label)\n .getRegex();\n\ninline.reflinkSearch = edit(inline.reflinkSearch, 'g')\n .replace('reflink', inline.reflink)\n .replace('nolink', inline.nolink)\n .getRegex();\n\n/**\n * Normal Inline Grammar\n */\n\ninline.normal = merge({}, inline);\n\n/**\n * Pedantic Inline Grammar\n */\n\ninline.pedantic = merge({}, inline.normal, {\n strong: {\n start: /^__|\\*\\*/,\n middle: /^__(?=\\S)([\\s\\S]*?\\S)__(?!_)|^\\*\\*(?=\\S)([\\s\\S]*?\\S)\\*\\*(?!\\*)/,\n endAst: /\\*\\*(?!\\*)/g,\n endUnd: /__(?!_)/g\n },\n em: {\n start: /^_|\\*/,\n middle: /^()\\*(?=\\S)([\\s\\S]*?\\S)\\*(?!\\*)|^_(?=\\S)([\\s\\S]*?\\S)_(?!_)/,\n endAst: /\\*(?!\\*)/g,\n endUnd: /_(?!_)/g\n },\n link: edit(/^!?\\[(label)\\]\\((.*?)\\)/)\n .replace('label', inline._label)\n .getRegex(),\n reflink: edit(/^!?\\[(label)\\]\\s*\\[([^\\]]*)\\]/)\n .replace('label', inline._label)\n .getRegex()\n});\n\n/**\n * GFM Inline Grammar\n */\n\ninline.gfm = merge({}, inline.normal, {\n escape: edit(inline.escape).replace('])', '~|])').getRegex(),\n _extended_email: /[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,\n url: /^((?:ftp|https?):\\/\\/|www\\.)(?:[a-zA-Z0-9\\-]+\\.?)+[^\\s<]*|^email/,\n _backpedal: /(?:[^?!.,:;*_~()&]+|\\([^)]*\\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,\n del: /^(~~?)(?=[^\\s~])([\\s\\S]*?[^\\s~])\\1(?=[^~]|$)/,\n text: /^([`~]+|[^`~])(?:(?= {2,}\\n)|(?=[a-zA-Z0-9.!#$%&'*+\\/=?_`{\\|}~-]+@)|[\\s\\S]*?(?:(?=[\\\\<!\\[`*~_]|\\b_|https?:\\/\\/|ftp:\\/\\/|www\\.|$)|[^ ](?= {2,}\\n)|[^a-zA-Z0-9.!#$%&'*+\\/=?_`{\\|}~-](?=[a-zA-Z0-9.!#$%&'*+\\/=?_`{\\|}~-]+@)))/\n});\n\ninline.gfm.url = edit(inline.gfm.url, 'i')\n .replace('email', inline.gfm._extended_email)\n .getRegex();\n/**\n * GFM + Line Breaks Inline Grammar\n */\n\ninline.breaks = merge({}, inline.gfm, {\n br: edit(inline.br).replace('{2,}', '*').getRegex(),\n text: edit(inline.gfm.text)\n .replace('\\\\b_', '\\\\b_| {2,}\\\\n')\n .replace(/\\{2,\\}/g, '*')\n .getRegex()\n});\n\n/**\n * smartypants text replacement\n */\nfunction smartypants(text) {\n return text\n // em-dashes\n .replace(/---/g, '\\u2014')\n // en-dashes\n .replace(/--/g, '\\u2013')\n // opening singles\n .replace(/(^|[-\\u2014/(\\[{\"\\s])'/g, '$1\\u2018')\n // closing singles & apostrophes\n .replace(/'/g, '\\u2019')\n // opening doubles\n .replace(/(^|[-\\u2014/(\\[{\\u2018\\s])\"/g, '$1\\u201c')\n // closing doubles\n .replace(/\"/g, '\\u201d')\n // ellipses\n .replace(/\\.{3}/g, '\\u2026');\n}\n\n/**\n * mangle email addresses\n */\nfunction mangle(text) {\n let out = '',\n i,\n ch;\n\n const l = text.length;\n for (i = 0; i < l; i++) {\n ch = text.charCodeAt(i);\n if (Math.random() > 0.5) {\n ch = 'x' + ch.toString(16);\n }\n out += '&#' + ch + ';';\n }\n\n return out;\n}\n\n/**\n * Block Lexer\n */\nclass Lexer {\n constructor(options) {\n this.tokens = [];\n this.tokens.links = Object.create(null);\n this.options = options || defaults;\n this.options.tokenizer = this.options.tokenizer || new Tokenizer();\n this.tokenizer = this.options.tokenizer;\n this.tokenizer.options = this.options;\n this.tokenizer.lexer = this;\n this.inlineQueue = [];\n this.state = {\n inLink: false,\n inRawBlock: false,\n top: true\n };\n\n const rules = {\n block: block.normal,\n inline: inline.normal\n };\n\n if (this.options.pedantic) {\n rules.block = block.pedantic;\n rules.inline = inline.pedantic;\n } else if (this.options.gfm) {\n rules.block = block.gfm;\n if (this.options.breaks) {\n rules.inline = inline.breaks;\n } else {\n rules.inline = inline.gfm;\n }\n }\n this.tokenizer.rules = rules;\n }\n\n /**\n * Expose Rules\n */\n static get rules() {\n return {\n block,\n inline\n };\n }\n\n /**\n * Static Lex Method\n */\n static lex(src, options) {\n const lexer = new Lexer(options);\n return lexer.lex(src);\n }\n\n /**\n * Static Lex Inline Method\n */\n static lexInline(src, options) {\n const lexer = new Lexer(options);\n return lexer.inlineTokens(src);\n }\n\n /**\n * Preprocessing\n */\n lex(src) {\n src = src\n .replace(/\\r\\n|\\r/g, '\\n')\n .replace(/\\t/g, ' ');\n\n this.blockTokens(src, this.tokens);\n\n let next;\n while (next = this.inlineQueue.shift()) {\n this.inlineTokens(next.src, next.tokens);\n }\n\n return this.tokens;\n }\n\n /**\n * Lexing\n */\n blockTokens(src, tokens = []) {\n if (this.options.pedantic) {\n src = src.replace(/^ +$/gm, '');\n }\n let token, lastToken, cutSrc, lastParagraphClipped;\n\n while (src) {\n if (this.options.extensions\n && this.options.extensions.block\n && this.options.extensions.block.some((extTokenizer) => {\n if (token = extTokenizer.call({ lexer: this }, src, tokens)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n return true;\n }\n return false;\n })) {\n continue;\n }\n\n // newline\n if (token = this.tokenizer.space(src)) {\n src = src.substring(token.raw.length);\n if (token.raw.length === 1 && tokens.length > 0) {\n // if there's a single \\n as a spacer, it's terminating the last line,\n // so move it there so that we don't get unecessary paragraph tags\n tokens[tokens.length - 1].raw += '\\n';\n } else {\n tokens.push(token);\n }\n continue;\n }\n\n // code\n if (token = this.tokenizer.code(src)) {\n src = src.substring(token.raw.length);\n lastToken = tokens[tokens.length - 1];\n // An indented code block cannot interrupt a paragraph.\n if (lastToken && (lastToken.type === 'paragraph' || lastToken.type === 'text')) {\n lastToken.raw += '\\n' + token.raw;\n lastToken.text += '\\n' + token.text;\n this.inlineQueue[this.inlineQueue.length - 1].src = lastToken.text;\n } else {\n tokens.push(token);\n }\n continue;\n }\n\n // fences\n if (token = this.tokenizer.fences(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n\n // heading\n if (token = this.tokenizer.heading(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n\n // hr\n if (token = this.tokenizer.hr(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n\n // blockquote\n if (token = this.tokenizer.blockquote(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n\n // list\n if (token = this.tokenizer.list(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n\n // html\n if (token = this.tokenizer.html(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n\n // def\n if (token = this.tokenizer.def(src)) {\n src = src.substring(token.raw.length);\n lastToken = tokens[tokens.length - 1];\n if (lastToken && (lastToken.type === 'paragraph' || lastToken.type === 'text')) {\n lastToken.raw += '\\n' + token.raw;\n lastToken.text += '\\n' + token.raw;\n this.inlineQueue[this.inlineQueue.length - 1].src = lastToken.text;\n } else if (!this.tokens.links[token.tag]) {\n this.tokens.links[token.tag] = {\n href: token.href,\n title: token.title\n };\n }\n continue;\n }\n\n // table (gfm)\n if (token = this.tokenizer.table(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n\n // lheading\n if (token = this.tokenizer.lheading(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n\n // top-level paragraph\n // prevent paragraph consuming extensions by clipping 'src' to extension start\n cutSrc = src;\n if (this.options.extensions && this.options.extensions.startBlock) {\n let startIndex = Infinity;\n const tempSrc = src.slice(1);\n let tempStart;\n this.options.extensions.startBlock.forEach(function(getStartIndex) {\n tempStart = getStartIndex.call({ lexer: this }, tempSrc);\n if (typeof tempStart === 'number' && tempStart >= 0) { startIndex = Math.min(startIndex, tempStart); }\n });\n if (startIndex < Infinity && startIndex >= 0) {\n cutSrc = src.substring(0, startIndex + 1);\n }\n }\n if (this.state.top && (token = this.tokenizer.paragraph(cutSrc))) {\n lastToken = tokens[tokens.length - 1];\n if (lastParagraphClipped && lastToken.type === 'paragraph') {\n lastToken.raw += '\\n' + token.raw;\n lastToken.text += '\\n' + token.text;\n this.inlineQueue.pop();\n this.inlineQueue[this.inlineQueue.length - 1].src = lastToken.text;\n } else {\n tokens.push(token);\n }\n lastParagraphClipped = (cutSrc.length !== src.length);\n src = src.substring(token.raw.length);\n continue;\n }\n\n // text\n if (token = this.tokenizer.text(src)) {\n src = src.substring(token.raw.length);\n lastToken = tokens[tokens.length - 1];\n if (lastToken && lastToken.type === 'text') {\n lastToken.raw += '\\n' + token.raw;\n lastToken.text += '\\n' + token.text;\n this.inlineQueue.pop();\n this.inlineQueue[this.inlineQueue.length - 1].src = lastToken.text;\n } else {\n tokens.push(token);\n }\n continue;\n }\n\n if (src) {\n const errMsg = 'Infinite loop on byte: ' + src.charCodeAt(0);\n if (this.options.silent) {\n console.error(errMsg);\n break;\n } else {\n throw new Error(errMsg);\n }\n }\n }\n\n this.state.top = true;\n return tokens;\n }\n\n inline(src, tokens) {\n this.inlineQueue.push({ src, tokens });\n }\n\n /**\n * Lexing/Compiling\n */\n inlineTokens(src, tokens = []) {\n let token, lastToken, cutSrc;\n\n // String with links masked to avoid interference with em and strong\n let maskedSrc = src;\n let match;\n let keepPrevChar, prevChar;\n\n // Mask out reflinks\n if (this.tokens.links) {\n const links = Object.keys(this.tokens.links);\n if (links.length > 0) {\n while ((match = this.tokenizer.rules.inline.reflinkSearch.exec(maskedSrc)) != null) {\n if (links.includes(match[0].slice(match[0].lastIndexOf('[') + 1, -1))) {\n maskedSrc = maskedSrc.slice(0, match.index) + '[' + repeatString('a', match[0].length - 2) + ']' + maskedSrc.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex);\n }\n }\n }\n }\n // Mask out other blocks\n while ((match = this.tokenizer.rules.inline.blockSkip.exec(maskedSrc)) != null) {\n maskedSrc = maskedSrc.slice(0, match.index) + '[' + repeatString('a', match[0].length - 2) + ']' + maskedSrc.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);\n }\n\n // Mask out escaped em & strong delimiters\n while ((match = this.tokenizer.rules.inline.escapedEmSt.exec(maskedSrc)) != null) {\n maskedSrc = maskedSrc.slice(0, match.index) + '++' + maskedSrc.slice(this.tokenizer.rules.inline.escapedEmSt.lastIndex);\n }\n\n while (src) {\n if (!keepPrevChar) {\n prevChar = '';\n }\n keepPrevChar = false;\n\n // extensions\n if (this.options.extensions\n && this.options.extensions.inline\n && this.options.extensions.inline.some((extTokenizer) => {\n if (token = extTokenizer.call({ lexer: this }, src, tokens)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n return true;\n }\n return false;\n })) {\n continue;\n }\n\n // escape\n if (token = this.tokenizer.escape(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n\n // tag\n if (token = this.tokenizer.tag(src)) {\n src = src.substring(token.raw.length);\n lastToken = tokens[tokens.length - 1];\n if (lastToken && token.type === 'text' && lastToken.type === 'text') {\n lastToken.raw += token.raw;\n lastToken.text += token.text;\n } else {\n tokens.push(token);\n }\n continue;\n }\n\n // link\n if (token = this.tokenizer.link(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n\n // reflink, nolink\n if (token = this.tokenizer.reflink(src, this.tokens.links)) {\n src = src.substring(token.raw.length);\n lastToken = tokens[tokens.length - 1];\n if (lastToken && token.type === 'text' && lastToken.type === 'text') {\n lastToken.raw += token.raw;\n lastToken.text += token.text;\n } else {\n tokens.push(token);\n }\n continue;\n }\n\n // em & strong\n if (token = this.tokenizer.emStrong(src, maskedSrc, prevChar)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n\n // code\n if (token = this.tokenizer.codespan(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n\n // br\n if (token = this.tokenizer.br(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n\n // del (gfm)\n if (token = this.tokenizer.del(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n\n // autolink\n if (token = this.tokenizer.autolink(src, mangle)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n\n // url (gfm)\n if (!this.state.inLink && (token = this.tokenizer.url(src, mangle))) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n\n // text\n // prevent inlineText consuming extensions by clipping 'src' to extension start\n cutSrc = src;\n if (this.options.extensions && this.options.extensions.startInline) {\n let startIndex = Infinity;\n const tempSrc = src.slice(1);\n let tempStart;\n this.options.extensions.startInline.forEach(function(getStartIndex) {\n tempStart = getStartIndex.call({ lexer: this }, tempSrc);\n if (typeof tempStart === 'number' && tempStart >= 0) { startIndex = Math.min(startIndex, tempStart); }\n });\n if (startIndex < Infinity && startIndex >= 0) {\n cutSrc = src.substring(0, startIndex + 1);\n }\n }\n if (token = this.tokenizer.inlineText(cutSrc, smartypants)) {\n src = src.substring(token.raw.length);\n if (token.raw.slice(-1) !== '_') { // Track prevChar before string of ____ started\n prevChar = token.raw.slice(-1);\n }\n keepPrevChar = true;\n lastToken = tokens[tokens.length - 1];\n if (lastToken && lastToken.type === 'text') {\n lastToken.raw += token.raw;\n lastToken.text += token.text;\n } else {\n tokens.push(token);\n }\n continue;\n }\n\n if (src) {\n const errMsg = 'Infinite loop on byte: ' + src.charCodeAt(0);\n if (this.options.silent) {\n console.error(errMsg);\n break;\n } else {\n throw new Error(errMsg);\n }\n }\n }\n\n return tokens;\n }\n}\n\n/**\n * Renderer\n */\nclass Renderer {\n constructor(options) {\n this.options = options || defaults;\n }\n\n code(code, infostring, escaped) {\n const lang = (infostring || '').match(/\\S*/)[0];\n if (this.options.highlight) {\n const out = this.options.highlight(code, lang);\n if (out != null && out !== code) {\n escaped = true;\n code = out;\n }\n }\n\n code = code.replace(/\\n$/, '') + '\\n';\n\n if (!lang) {\n return '<pre><code>'\n + (escaped ? code : escape(code, true))\n + '</code></pre>\\n';\n }\n\n return '<pre><code class=\"'\n + this.options.langPrefix\n + escape(lang, true)\n + '\">'\n + (escaped ? code : escape(code, true))\n + '</code></pre>\\n';\n }\n\n blockquote(quote) {\n return '<blockquote>\\n' + quote + '</blockquote>\\n';\n }\n\n html(html) {\n return html;\n }\n\n heading(text, level, raw, slugger) {\n if (this.options.headerIds) {\n return '<h'\n + level\n + ' id=\"'\n + this.options.headerPrefix\n + slugger.slug(raw)\n + '\">'\n + text\n + '</h'\n + level\n + '>\\n';\n }\n // ignore IDs\n return '<h' + level + '>' + text + '</h' + level + '>\\n';\n }\n\n hr() {\n return this.options.xhtml ? '<hr/>\\n' : '<hr>\\n';\n }\n\n list(body, ordered, start) {\n const type = ordered ? 'ol' : 'ul',\n startatt = (ordered && start !== 1) ? (' start=\"' + start + '\"') : '';\n return '<' + type + startatt + '>\\n' + body + '</' + type + '>\\n';\n }\n\n listitem(text) {\n return '<li>' + text + '</li>\\n';\n }\n\n checkbox(checked) {\n return '<input '\n + (checked ? 'checked=\"\" ' : '')\n + 'disabled=\"\" type=\"checkbox\"'\n + (this.options.xhtml ? ' /' : '')\n + '> ';\n }\n\n paragraph(text) {\n return '<p>' + text + '</p>\\n';\n }\n\n table(header, body) {\n if (body) body = '<tbody>' + body + '</tbody>';\n\n return '<table>\\n'\n + '<thead>\\n'\n + header\n + '</thead>\\n'\n + body\n + '</table>\\n';\n }\n\n tablerow(content) {\n return '<tr>\\n' + content + '</tr>\\n';\n }\n\n tablecell(content, flags) {\n const type = flags.header ? 'th' : 'td';\n const tag = flags.align\n ? '<' + type + ' align=\"' + flags.align + '\">'\n : '<' + type + '>';\n return tag + content + '</' + type + '>\\n';\n }\n\n // span level renderer\n strong(text) {\n return '<strong>' + text + '</strong>';\n }\n\n em(text) {\n return '<em>' + text + '</em>';\n }\n\n codespan(text) {\n return '<code>' + text + '</code>';\n }\n\n br() {\n return this.options.xhtml ? '<br/>' : '<br>';\n }\n\n del(text) {\n return '<del>' + text + '</del>';\n }\n\n link(href, title, text) {\n href = cleanUrl(this.options.sanitize, this.options.baseUrl, href);\n if (href === null) {\n return text;\n }\n let out = '<a href=\"' + escape(href) + '\"';\n if (title) {\n out += ' title=\"' + title + '\"';\n }\n out += '>' + text + '</a>';\n return out;\n }\n\n image(href, title, text) {\n href = cleanUrl(this.options.sanitize, this.options.baseUrl, href);\n if (href === null) {\n return text;\n }\n\n let out = '<img src=\"' + href + '\" alt=\"' + text + '\"';\n if (title) {\n out += ' title=\"' + title + '\"';\n }\n out += this.options.xhtml ? '/>' : '>';\n return out;\n }\n\n text(text) {\n return text;\n }\n}\n\n/**\n * TextRenderer\n * returns only the textual part of the token\n */\nclass TextRenderer {\n // no need for block level renderers\n strong(text) {\n return text;\n }\n\n em(text) {\n return text;\n }\n\n codespan(text) {\n return text;\n }\n\n del(text) {\n return text;\n }\n\n html(text) {\n return text;\n }\n\n text(text) {\n return text;\n }\n\n link(href, title, text) {\n return '' + text;\n }\n\n image(href, title, text) {\n return '' + text;\n }\n\n br() {\n return '';\n }\n}\n\n/**\n * Slugger generates header id\n */\nclass Slugger {\n constructor() {\n this.seen = {};\n }\n\n serialize(value) {\n return value\n .toLowerCase()\n .trim()\n // remove html tags\n .replace(/<[!\\/a-z].*?>/ig, '')\n // remove unwanted chars\n .replace(/[\\u2000-\\u206F\\u2E00-\\u2E7F\\\\'!\"#$%&()*+,./:;<=>?@[\\]^`{|}~]/g, '')\n .replace(/\\s/g, '-');\n }\n\n /**\n * Finds the next safe (unique) slug to use\n */\n getNextSafeSlug(originalSlug, isDryRun) {\n let slug = originalSlug;\n let occurenceAccumulator = 0;\n if (this.seen.hasOwnProperty(slug)) {\n occurenceAccumulator = this.seen[originalSlug];\n do {\n occurenceAccumulator++;\n slug = originalSlug + '-' + occurenceAccumulator;\n } while (this.seen.hasOwnProperty(slug));\n }\n if (!isDryRun) {\n this.seen[originalSlug] = occurenceAccumulator;\n this.seen[slug] = 0;\n }\n return slug;\n }\n\n /**\n * Convert string to unique id\n * @param {object} options\n * @param {boolean} options.dryrun Generates the next unique slug without updating the internal accumulator.\n */\n slug(value, options = {}) {\n const slug = this.serialize(value);\n return this.getNextSafeSlug(slug, options.dryrun);\n }\n}\n\n/**\n * Parsing & Compiling\n */\nclass Parser {\n constructor(options) {\n this.options = options || defaults;\n this.options.renderer = this.options.renderer || new Renderer();\n this.renderer = this.options.renderer;\n this.renderer.options = this.options;\n this.textRenderer = new TextRenderer();\n this.slugger = new Slugger();\n }\n\n /**\n * Static Parse Method\n */\n static parse(tokens, options) {\n const parser = new Parser(options);\n return parser.parse(tokens);\n }\n\n /**\n * Static Parse Inline Method\n */\n static parseInline(tokens, options) {\n const parser = new Parser(options);\n return parser.parseInline(tokens);\n }\n\n /**\n * Parse Loop\n */\n parse(tokens, top = true) {\n let out = '',\n i,\n j,\n k,\n l2,\n l3,\n row,\n cell,\n header,\n body,\n token,\n ordered,\n start,\n loose,\n itemBody,\n item,\n checked,\n task,\n checkbox,\n ret;\n\n const l = tokens.length;\n for (i = 0; i < l; i++) {\n token = tokens[i];\n\n // Run any renderer extensions\n if (this.options.extensions && this.options.extensions.renderers && this.options.extensions.renderers[token.type]) {\n ret = this.options.extensions.renderers[token.type].call({ parser: this }, token);\n if (ret !== false || !['space', 'hr', 'heading', 'code', 'table', 'blockquote', 'list', 'html', 'paragraph', 'text'].includes(token.type)) {\n out += ret || '';\n continue;\n }\n }\n\n switch (token.type) {\n case 'space': {\n continue;\n }\n case 'hr': {\n out += this.renderer.hr();\n continue;\n }\n case 'heading': {\n out += this.renderer.heading(\n this.parseInline(token.tokens),\n token.depth,\n unescape(this.parseInline(token.tokens, this.textRenderer)),\n this.slugger);\n continue;\n }\n case 'code': {\n out += this.renderer.code(token.text,\n token.lang,\n token.escaped);\n continue;\n }\n case 'table': {\n header = '';\n\n // header\n cell = '';\n l2 = token.header.length;\n for (j = 0; j < l2; j++) {\n cell += this.renderer.tablecell(\n this.parseInline(token.header[j].tokens),\n { header: true, align: token.align[j] }\n );\n }\n header += this.renderer.tablerow(cell);\n\n body = '';\n l2 = token.rows.length;\n for (j = 0; j < l2; j++) {\n row = token.rows[j];\n\n cell = '';\n l3 = row.length;\n for (k = 0; k < l3; k++) {\n cell += this.renderer.tablecell(\n this.parseInline(row[k].tokens),\n { header: false, align: token.align[k] }\n );\n }\n\n body += this.renderer.tablerow(cell);\n }\n out += this.renderer.table(header, body);\n continue;\n }\n case 'blockquote': {\n body = this.parse(token.tokens);\n out += this.renderer.blockquote(body);\n continue;\n }\n case 'list': {\n ordered = token.ordered;\n start = token.start;\n loose = token.loose;\n l2 = token.items.length;\n\n body = '';\n for (j = 0; j < l2; j++) {\n item = token.items[j];\n checked = item.checked;\n task = item.task;\n\n itemBody = '';\n if (item.task) {\n checkbox = this.renderer.checkbox(checked);\n if (loose) {\n if (item.tokens.length > 0 && item.tokens[0].type === 'paragraph') {\n item.tokens[0].text = checkbox + ' ' + item.tokens[0].text;\n if (item.tokens[0].tokens && item.tokens[0].tokens.length > 0 && item.tokens[0].tokens[0].type === 'text') {\n item.tokens[0].tokens[0].text = checkbox + ' ' + item.tokens[0].tokens[0].text;\n }\n } else {\n item.tokens.unshift({\n type: 'text',\n text: checkbox\n });\n }\n } else {\n itemBody += checkbox;\n }\n }\n\n itemBody += this.parse(item.tokens, loose);\n body += this.renderer.listitem(itemBody, task, checked);\n }\n\n out += this.renderer.list(body, ordered, start);\n continue;\n }\n case 'html': {\n // TODO parse inline content if parameter markdown=1\n out += this.renderer.html(token.text);\n continue;\n }\n case 'paragraph': {\n out += this.renderer.paragraph(this.parseInline(token.tokens));\n continue;\n }\n case 'text': {\n body = token.tokens ? this.parseInline(token.tokens) : token.text;\n while (i + 1 < l && tokens[i + 1].type === 'text') {\n token = tokens[++i];\n body += '\\n' + (token.tokens ? this.parseInline(token.tokens) : token.text);\n }\n out += top ? this.renderer.paragraph(body) : body;\n continue;\n }\n\n default: {\n const errMsg = 'Token with \"' + token.type + '\" type was not found.';\n if (this.options.silent) {\n console.error(errMsg);\n return;\n } else {\n throw new Error(errMsg);\n }\n }\n }\n }\n\n return out;\n }\n\n /**\n * Parse Inline Tokens\n */\n parseInline(tokens, renderer) {\n renderer = renderer || this.renderer;\n let out = '',\n i,\n token,\n ret;\n\n const l = tokens.length;\n for (i = 0; i < l; i++) {\n token = tokens[i];\n\n // Run any renderer extensions\n if (this.options.extensions && this.options.extensions.renderers && this.options.extensions.renderers[token.type]) {\n ret = this.options.extensions.renderers[token.type].call({ parser: this }, token);\n if (ret !== false || !['escape', 'html', 'link', 'image', 'strong', 'em', 'codespan', 'br', 'del', 'text'].includes(token.type)) {\n out += ret || '';\n continue;\n }\n }\n\n switch (token.type) {\n case 'escape': {\n out += renderer.text(token.text);\n break;\n }\n case 'html': {\n out += renderer.html(token.text);\n break;\n }\n case 'link': {\n out += renderer.link(token.href, token.title, this.parseInline(token.tokens, renderer));\n break;\n }\n case 'image': {\n out += renderer.image(token.href, token.title, token.text);\n break;\n }\n case 'strong': {\n out += renderer.strong(this.parseInline(token.tokens, renderer));\n break;\n }\n case 'em': {\n out += renderer.em(this.parseInline(token.tokens, renderer));\n break;\n }\n case 'codespan': {\n out += renderer.codespan(token.text);\n break;\n }\n case 'br': {\n out += renderer.br();\n break;\n }\n case 'del': {\n out += renderer.del(this.parseInline(token.tokens, renderer));\n break;\n }\n case 'text': {\n out += renderer.text(token.text);\n break;\n }\n default: {\n const errMsg = 'Token with \"' + token.type + '\" type was not found.';\n if (this.options.silent) {\n console.error(errMsg);\n return;\n } else {\n throw new Error(errMsg);\n }\n }\n }\n }\n return out;\n }\n}\n\n/**\n * Marked\n */\nfunction marked(src, opt, callback) {\n // throw error in case of non string input\n if (typeof src === 'undefined' || src === null) {\n throw new Error('marked(): input parameter is undefined or null');\n }\n if (typeof src !== 'string') {\n throw new Error('marked(): input parameter is of type '\n + Object.prototype.toString.call(src) + ', string expected');\n }\n\n if (typeof opt === 'function') {\n callback = opt;\n opt = null;\n }\n\n opt = merge({}, marked.defaults, opt || {});\n checkSanitizeDeprecation(opt);\n\n if (callback) {\n const highlight = opt.highlight;\n let tokens;\n\n try {\n tokens = Lexer.lex(src, opt);\n } catch (e) {\n return callback(e);\n }\n\n const done = function(err) {\n let out;\n\n if (!err) {\n try {\n if (opt.walkTokens) {\n marked.walkTokens(tokens, opt.walkTokens);\n }\n out = Parser.parse(tokens, opt);\n } catch (e) {\n err = e;\n }\n }\n\n opt.highlight = highlight;\n\n return err\n ? callback(err)\n : callback(null, out);\n };\n\n if (!highlight || highlight.length < 3) {\n return done();\n }\n\n delete opt.highlight;\n\n if (!tokens.length) return done();\n\n let pending = 0;\n marked.walkTokens(tokens, function(token) {\n if (token.type === 'code') {\n pending++;\n setTimeout(() => {\n highlight(token.text, token.lang, function(err, code) {\n if (err) {\n return done(err);\n }\n if (code != null && code !== token.text) {\n token.text = code;\n token.escaped = true;\n }\n\n pending--;\n if (pending === 0) {\n done();\n }\n });\n }, 0);\n }\n });\n\n if (pending === 0) {\n done();\n }\n\n return;\n }\n\n try {\n const tokens = Lexer.lex(src, opt);\n if (opt.walkTokens) {\n marked.walkTokens(tokens, opt.walkTokens);\n }\n return Parser.parse(tokens, opt);\n } catch (e) {\n e.message += '\\nPlease report this to https://github.com/markedjs/marked.';\n if (opt.silent) {\n return '<p>An error occurred:</p><pre>'\n + escape(e.message + '', true)\n + '</pre>';\n }\n throw e;\n }\n}\n\n/**\n * Options\n */\n\nmarked.options =\nmarked.setOptions = function(opt) {\n merge(marked.defaults, opt);\n changeDefaults(marked.defaults);\n return marked;\n};\n\nmarked.getDefaults = getDefaults;\n\nmarked.defaults = defaults;\n\n/**\n * Use Extension\n */\n\nmarked.use = function(...args) {\n const opts = merge({}, ...args);\n const extensions = marked.defaults.extensions || { renderers: {}, childTokens: {} };\n let hasExtensions;\n\n args.forEach((pack) => {\n // ==-- Parse \"addon\" extensions --== //\n if (pack.extensions) {\n hasExtensions = true;\n pack.extensions.forEach((ext) => {\n if (!ext.name) {\n throw new Error('extension name required');\n }\n if (ext.renderer) { // Renderer extensions\n const prevRenderer = extensions.renderers ? extensions.renderers[ext.name] : null;\n if (prevRenderer) {\n // Replace extension with func to run new extension but fall back if false\n extensions.renderers[ext.name] = function(...args) {\n let ret = ext.renderer.apply(this, args);\n if (ret === false) {\n ret = prevRenderer.apply(this, args);\n }\n return ret;\n };\n } else {\n extensions.renderers[ext.name] = ext.renderer;\n }\n }\n if (ext.tokenizer) { // Tokenizer Extensions\n if (!ext.level || (ext.level !== 'block' && ext.level !== 'inline')) {\n throw new Error(\"extension level must be 'block' or 'inline'\");\n }\n if (extensions[ext.level]) {\n extensions[ext.level].unshift(ext.tokenizer);\n } else {\n extensions[ext.level] = [ext.tokenizer];\n }\n if (ext.start) { // Function to check for start of token\n if (ext.level === 'block') {\n if (extensions.startBlock) {\n extensions.startBlock.push(ext.start);\n } else {\n extensions.startBlock = [ext.start];\n }\n } else if (ext.level === 'inline') {\n if (extensions.startInline) {\n extensions.startInline.push(ext.start);\n } else {\n extensions.startInline = [ext.start];\n }\n }\n }\n }\n if (ext.childTokens) { // Child tokens to be visited by walkTokens\n extensions.childTokens[ext.name] = ext.childTokens;\n }\n });\n }\n\n // ==-- Parse \"overwrite\" extensions --== //\n if (pack.renderer) {\n const renderer = marked.defaults.renderer || new Renderer();\n for (const prop in pack.renderer) {\n const prevRenderer = renderer[prop];\n // Replace renderer with func to run extension, but fall back if false\n renderer[prop] = (...args) => {\n let ret = pack.renderer[prop].apply(renderer, args);\n if (ret === false) {\n ret = prevRenderer.apply(renderer, args);\n }\n return ret;\n };\n }\n opts.renderer = renderer;\n }\n if (pack.tokenizer) {\n const tokenizer = marked.defaults.tokenizer || new Tokenizer();\n for (const prop in pack.tokenizer) {\n const prevTokenizer = tokenizer[prop];\n // Replace tokenizer with func to run extension, but fall back if false\n tokenizer[prop] = (...args) => {\n let ret = pack.tokenizer[prop].apply(tokenizer, args);\n if (ret === false) {\n ret = prevTokenizer.apply(tokenizer, args);\n }\n return ret;\n };\n }\n opts.tokenizer = tokenizer;\n }\n\n // ==-- Parse WalkTokens extensions --== //\n if (pack.walkTokens) {\n const walkTokens = marked.defaults.walkTokens;\n opts.walkTokens = function(token) {\n pack.walkTokens.call(this, token);\n if (walkTokens) {\n walkTokens.call(this, token);\n }\n };\n }\n\n if (hasExtensions) {\n opts.extensions = extensions;\n }\n\n marked.setOptions(opts);\n });\n};\n\n/**\n * Run callback for every token\n */\n\nmarked.walkTokens = function(tokens, callback) {\n for (const token of tokens) {\n callback.call(marked, token);\n switch (token.type) {\n case 'table': {\n for (const cell of token.header) {\n marked.walkTokens(cell.tokens, callback);\n }\n for (const row of token.rows) {\n for (const cell of row) {\n marked.walkTokens(cell.tokens, callback);\n }\n }\n break;\n }\n case 'list': {\n marked.walkTokens(token.items, callback);\n break;\n }\n default: {\n if (marked.defaults.extensions && marked.defaults.extensions.childTokens && marked.defaults.extensions.childTokens[token.type]) { // Walk any extensions\n marked.defaults.extensions.childTokens[token.type].forEach(function(childTokens) {\n marked.walkTokens(token[childTokens], callback);\n });\n } else if (token.tokens) {\n marked.walkTokens(token.tokens, callback);\n }\n }\n }\n }\n};\n\n/**\n * Parse Inline\n */\nmarked.parseInline = function(src, opt) {\n // throw error in case of non string input\n if (typeof src === 'undefined' || src === null) {\n throw new Error('marked.parseInline(): input parameter is undefined or null');\n }\n if (typeof src !== 'string') {\n throw new Error('marked.parseInline(): input parameter is of type '\n + Object.prototype.toString.call(src) + ', string expected');\n }\n\n opt = merge({}, marked.defaults, opt || {});\n checkSanitizeDeprecation(opt);\n\n try {\n const tokens = Lexer.lexInline(src, opt);\n if (opt.walkTokens) {\n marked.walkTokens(tokens, opt.walkTokens);\n }\n return Parser.parseInline(tokens, opt);\n } catch (e) {\n e.message += '\\nPlease report this to https://github.com/markedjs/marked.';\n if (opt.silent) {\n return '<p>An error occurred:</p><pre>'\n + escape(e.message + '', true)\n + '</pre>';\n }\n throw e;\n }\n};\n\n/**\n * Expose\n */\nmarked.Parser = Parser;\nmarked.parser = Parser.parse;\nmarked.Renderer = Renderer;\nmarked.TextRenderer = TextRenderer;\nmarked.Lexer = Lexer;\nmarked.lexer = Lexer.lex;\nmarked.Tokenizer = Tokenizer;\nmarked.Slugger = Slugger;\nmarked.parse = marked;\n\nconst options = marked.options;\nconst setOptions = marked.setOptions;\nconst use = marked.use;\nconst walkTokens = marked.walkTokens;\nconst parseInline = marked.parseInline;\nconst parse = marked;\nconst parser = Parser.parse;\nconst lexer = Lexer.lex;\n\nexport { Lexer, Parser, Renderer, Slugger, TextRenderer, Tokenizer, defaults, getDefaults, lexer, marked, options, parse, parseInline, parser, setOptions, use, walkTokens };\n","import { marked } from 'marked'\nimport { ChangelogTag } from '.'\nimport type { Change, ChangelogVersion } from '../../services'\n\ntype Props = {\n\tchange: Change,\n\tactiveTags?: string[],\n\ttoggleTag?: (tag: string) => unknown,\n}\nexport function ChangelogEntry({ change, activeTags, toggleTag }: Props) {\n\treturn <div class=\"changelog-entry\">\n\t\t<div class=\"changelog-version\">\n\t\t\t<ArticleLink {...change.version}/>\n\t\t\t<ArticleLink {...change.group}/>\n\t\t</div>\n\t\t<div class=\"changelog-tags\">\n\t\t\t{change.tags.map(tag => <ChangelogTag label={tag} onClick={toggleTag ? () => toggleTag(tag) : undefined} active={activeTags?.includes(tag)} />)}\n\t\t</div>\n\t\t<div class=\"changelog-content\" dangerouslySetInnerHTML={{ __html: marked(change.content) }} />\n\t</div>\n}\n\nfunction ArticleLink({ id, article }: ChangelogVersion) {\n\treturn article === null\n\t\t? <span>{id}</span>\n\t\t: <a href={`https://www.minecraft.net/en-us/article/${article}`} target=\"_blank\">{id}</a>\n}\n","import { Octicon } from '..'\nimport { hashString } from '../../Utils'\n\ntype TagProps = {\n\tlabel: string,\n\tactive?: boolean,\n\tonClick?: (e: MouseEvent) => unknown,\n}\nexport function ChangelogTag({ label, active, onClick }: TagProps) {\n\tconst color = label === 'breaking' ? 5 : hashString(label) % 360\n\treturn <div class={`changelog-tag${active ? ' active' : ''}${onClick ? ' clickable' : ''}`} style={`--tint: ${color}`} onClick={onClick}>\n\t\t{label === 'breaking' && Octicon.alert}\n\t\t{label}\n\t</div>\n}\n","import { useMemo, useState } from 'preact/hooks'\nimport { Btn, TextInput } from '..'\nimport { useLocale } from '../../contexts'\nimport type { Change } from '../../services'\nimport { ChangelogEntry } from './ChangelogEntry'\nimport { ChangelogTag } from './ChangelogTag'\n\ninterface Props {\n\tchanges: Change[] | undefined,\n\tdefaultOrder: 'asc' | 'desc',\n}\nexport function ChangelogList({ changes, defaultOrder }: Props) {\n\tconst { locale } = useLocale()\n\t\n\tconst [search, setSearch] = useState('')\n\tconst [tags, setTags] = useState<string[]>([])\n\tconst toggleTag = (tag: string) => {\n\t\tif (!tags.includes(tag)) {\n\t\t\tsetTags([...tags, tag])\n\t\t} else {\n\t\t\tsetTags(tags.filter(t => t !== tag))\n\t\t}\n\t}\n\n\tconst filteredChangelogs = useMemo(() => {\n\t\tconst query = search.split(' ').map(q => q.trim().toLowerCase()).filter(q => q.length > 0)\n\t\tif (query.length === 0 && tags.length === 0) return changes\n\t\treturn changes?.filter(change => {\n\t\t\tif (!tags.every(tag => change.tags.includes(tag))) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t\tconst content = change.tags.join(' ') + ' ' + change.content.toLowerCase()\n\t\t\treturn query.every(q => {\n\t\t\t\tif (q.startsWith('!')) {\n\t\t\t\t\treturn q.length === 1 || !content.includes(q.slice(1))\n\t\t\t\t}\n\t\t\t\treturn content.includes(q)\n\t\t\t})\n\t\t})\n\t}, [changes, search, tags])\n\n\tconst [sort, setSort] = useState(defaultOrder === 'desc')\n\n\tconst sortedChangelogs = useMemo(() => {\n\t\treturn filteredChangelogs?.sort((a, b) => sort ? b.order - a.order : a.order - b.order)\n\t}, [filteredChangelogs, sort])\n\n\treturn <>\n\t\t<div class=\"changelog-query\">\n\t\t\t<TextInput class=\"btn btn-input changelog-search\" list=\"sound-list\" placeholder={locale('changelog.search')}\n\t\t\t\tvalue={search} onChange={setSearch} />\n\t\t\t<Btn icon={sort ? 'sort_desc' : 'sort_asc'} label={sort ? 'Newest first' : 'Oldest first'} onClick={() => setSort(!sort)} />\n\t\t</div>\n\t\t{tags.length > 0 && <div class=\"changelog-tags\">\n\t\t\t{tags.map(tag => <ChangelogTag label={tag} onClick={() => setTags(tags.filter(t => t !== tag))} />)}\n\t\t</div>}\n\t\t<div class=\"changelog-list\">\n\t\t\t{sortedChangelogs === undefined\n\t\t\t\t? <span class=\"note\">{locale('loading')}</span>\n\t\t\t\t: sortedChangelogs.length === 0\n\t\t\t\t\t? <span class=\"note\">{locale('changelog.no_results')}</span>\n\t\t\t\t\t:\tsortedChangelogs.map(change =>\n\t\t\t\t\t\t<ChangelogEntry change={change} activeTags={tags} toggleTag={toggleTag} />)}\n\t\t</div>\n\t</>\n}\n","import { useEffect, useMemo, useState } from 'preact/hooks'\nimport { VersionMetaData } from '.'\nimport { useLocale } from '../../contexts'\nimport type { Change, VersionMeta } from '../../services'\nimport { getChangelogs } from '../../services'\nimport { Giscus } from '../Giscus'\nimport { ChangelogList } from './ChangelogList'\n\ntype Tab = 'changelog' | 'discussion' \n\ninterface Props {\n\tversion: VersionMeta\n}\nexport function VersionDetail({ version }: Props) {\n\tconst { locale } = useLocale()\n\n\tconst [tab, setTab] = useState<Tab>('changelog')\n\n\tconst [changelogs, setChangelogs] = useState<Change[] | undefined>(undefined)\n\tuseEffect(() => {\n\t\tgetChangelogs()\n\t\t\t.then(changelogs => setChangelogs(\n\t\t\t\tchangelogs.map(c => ({ ...c, tags: c.tags.filter(t => t !== c.group.id) }))\n\t\t\t))\n\t\t\t.catch(e => console.error(e))\n\t}, [])\n\n\tconst filteredChangelogs = useMemo(() =>\n\t\tchangelogs?.filter(c => c.version.id === version.id || c.group.id === version.id),\n\t[version.id, changelogs])\n\n\treturn <>\n\t\t<div class=\"version-detail\">\n\t\t\t<h2>{version.name}</h2>\n\t\t\t<div class=\"version-info\">\n\t\t\t\t<VersionMetaData label={locale('versions.released')} value={releaseDate(version)} />\n\t\t\t\t<VersionMetaData label={locale('versions.release_target')} value={version.release_target} link={version.id !== version.release_target ? `/versions/?id=${version.release_target}` : undefined} />\n\t\t\t\t<VersionMetaData label={locale('versions.data_version')} value={version.data_version} />\n\t\t\t\t<VersionMetaData label={locale('versions.protocol_version')} value={version.protocol_version} />\n\t\t\t\t<VersionMetaData label={locale('versions.data_pack_format')} value={version.data_pack_version} />\n\t\t\t\t<VersionMetaData label={locale('versions.resource_pack_format')} value={version.resource_pack_version} />\n\t\t\t</div>\n\t\t\t<div class=\"version-tabs\">\n\t\t\t\t<span class={tab === 'changelog' ? 'selected' : ''} onClick={() => setTab('changelog')}>{locale('versions.technical_changes')}</span>\n\t\t\t\t<span class={tab === 'discussion' ? 'selected' : ''} onClick={() => setTab('discussion')}>{locale('versions.discussion')}</span>\n\t\t\t</div>\n\t\t\t<div class=\"version-tab\">\n\t\t\t\t{tab === 'changelog' && <ChangelogList changes={filteredChangelogs} defaultOrder=\"asc\" />}\n\t\t\t\t{tab === 'discussion' && <Giscus term={`version/${version.id}`} />}\n\t\t\t</div>\n\t\t</div>\n\t</>\n}\n\nexport function releaseDate(version: VersionMeta) {\n\treturn new Date(version.release_time).toLocaleDateString(undefined, { day: 'numeric', month: 'short', year: 'numeric' })\n}\n","import { releaseDate, VersionMetaData } from '.'\nimport { useLocale } from '../../contexts'\nimport type { VersionMeta } from '../../services'\n\ninterface Props {\n\tversion: VersionMeta,\n\tlink?: string,\n}\nexport function VersionEntry({ version, link }: Props) {\n\tconst { locale } = useLocale()\n\n\treturn <a class=\"version-entry\" href={link}>\n\t\t<span class=\"version-id\">{version.id}</span>\n\t\t<VersionMetaData label={locale('versions.released')} value={releaseDate(version)} compact />\n\t\t<VersionMetaData label={locale('versions.data_version')} value={version.data_version} optional />\n\t\t<VersionMetaData label={locale('versions.pack_format')} value={version.data_pack_version} optional />\n\t</a>\n}\n","import { useMemo, useState } from 'preact/hooks'\nimport { Checkbox, TextInput } from '..'\nimport { useLocale } from '../../contexts'\nimport type { VersionMeta } from '../../services'\nimport { VersionEntry } from './VersionEntry'\n\ninterface Props {\n\tversions: VersionMeta[]\n\tlink?: (id: string) => string\n}\nexport function VersionList({ versions, link }: Props) {\n\tconst { locale } = useLocale()\n\t\n\tconst [snapshots, setSnapshots] = useState(true)\n\tconst [search, setSearch] = useState('')\n\n\tconst filteredVersions = useMemo(() => versions.filter(v => {\n\t\tif (v.type === 'snapshot' && !snapshots) return false\n\t\treturn v.id.includes(search)\n\t}), [versions, snapshots, search])\n\n\n\treturn <>\n\t\t<div class=\"versions-controls\">\n\t\t\t<TextInput class=\"btn btn-input version-search\" placeholder={locale('versions.search')}\n\t\t\t\tvalue={search} onChange={setSearch} />\n\t\t\t<Checkbox label=\"Include snapshots\" value={snapshots} onChange={setSnapshots} />\n\t\t</div>\n\t\t<div class=\"version-list\">\n\t\t\t{filteredVersions.map(v => <VersionEntry version={v} link={link?.(v.id)} />)}\n\t\t\t{filteredVersions.length === 0 && <span>\n\t\t\t\t{locale('versions.no_results')}\n\t\t\t</span>}\n\t\t</div>\n\t</>\n}\n","import { Octicon } from '..'\n\ninterface Props {\n\tlabel: string,\n\tvalue: string | number,\n\tlink?: string,\n\tcompact?: boolean,\n\toptional?: boolean,\n}\nexport function VersionMetaData({ label, value, link, compact, optional }: Props) {\n\treturn <div class={`version-metadata${optional ? ' version-metadata-hide' : ''}`}>\n\t\t<span class={compact ? 'version-metadata-hide' : undefined}>{label}: </span>\n\t\t<span class=\"version-metadata-value\">{value}</span>\n\t\t{link && <a href={link} class=\"version-metadata-link\">{Octicon.link_external}</a>}\n\t</div>\n}\n","import { ChangelogTag } from './versions'\n\ninterface Props {\n\ttitle: string,\n\tlink: string,\n\tversions: string[],\n\ttags: string[],\n\tactiveTags?: string[],\n\ttoggleTag?: (tag: string) => unknown,\n}\nexport function GuideCard({ title, link, versions, tags, activeTags, toggleTag }: Props) {\n\tconst onToggleTag = (tag: string) => (e: MouseEvent) => {\n\t\tif (toggleTag) toggleTag(tag)\n\t\te.preventDefault()\n\t\te.stopImmediatePropagation()\n\t}\n\n\treturn <a class=\"guide-card\" href={link} >\n\t\t<span class=\"guide-versions\">{versions.join(' • ')}</span>\n\t\t<h3>{title}</h3>\n\t\t<div class=\"guide-tags\">\n\t\t\t{tags.sort().map(tag => <ChangelogTag label={tag} onClick={onToggleTag(tag)} active={activeTags?.includes(tag)} />)}\n\t\t</div>\n\t</a>\n}\n","import { getCurrentUrl, Link, route } from 'preact-router'\nimport { Btn, BtnMenu, Icons, Octicon } from '.'\nimport config from '../../config.json'\nimport { useLocale, useTheme, useTitle, useVersion } from '../contexts'\nimport { checkVersion } from '../services'\nimport { cleanUrl, getGenerator } from '../Utils'\n\nconst Themes: Record<string, keyof typeof Octicon> = {\n\tsystem: 'device_desktop',\n\tdark: 'moon',\n\tlight: 'sun',\n}\n\nexport function Header() {\n\tconst { lang, locale, changeLocale: changeLanguage } = useLocale()\n\tconst { theme, changeTheme } = useTheme()\n\tconst { version } = useVersion()\n\tconst { title } = useTitle()\n\tconst gen = getGenerator(getCurrentUrl())\n\n\treturn <header>\n\t\t<div class=\"title\">\n\t\t\t<Link class=\"home-link\" href=\"/\" aria-label={locale('home')} data-cy=\"home-link\">{Icons.home}</Link>\n\t\t\t<h1>{title}</h1>\n\t\t\t{gen && <BtnMenu icon=\"chevron_down\" tooltip={locale('switch_generator')} data-cy=\"generator-switcher\">\n\t\t\t\t{config.generators\n\t\t\t\t\t.filter(g => g.category === gen?.category && checkVersion(version, g.minVersion))\n\t\t\t\t\t.map(g =>\n\t\t\t\t\t\t<Btn label={locale(g.id)} active={g.id === gen.id} onClick={() => route(cleanUrl(g.url))} />\n\t\t\t\t\t)}\n\t\t\t</BtnMenu>}\n\t\t</div>\n\t\t<nav>\n\t\t\t<ul>\n\t\t\t\t<li data-cy=\"language-switcher\">\n\t\t\t\t\t<BtnMenu icon=\"globe\" tooltip={locale('language')}>\n\t\t\t\t\t\t{config.languages.map(({ code, name }) =>\n\t\t\t\t\t\t\t<Btn label={name} active={code === lang}\n\t\t\t\t\t\t\t\tonClick={() => changeLanguage(code)} />\n\t\t\t\t\t\t)}\n\t\t\t\t\t</BtnMenu>\n\t\t\t\t</li>\n\t\t\t\t<li data-cy=\"theme-switcher\">\n\t\t\t\t\t<BtnMenu icon={Themes[theme]} tooltip={locale('theme')}>\n\t\t\t\t\t\t{Object.entries(Themes).map(([th, icon]) =>\n\t\t\t\t\t\t\t<Btn icon={icon} label={locale(`theme.${th}`)} active={th === theme}\n\t\t\t\t\t\t\t\tonClick={() => changeTheme(th)} />\n\t\t\t\t\t\t)}\n\t\t\t\t\t</BtnMenu>\n\t\t\t\t</li>\n\t\t\t\t<li class=\"dimmed\">\n\t\t\t\t\t<a href=\"https://github.com/misode/misode.github.io\" target=\"_blank\" rel=\"noreferrer\" class=\"tooltipped tip-sw\" aria-label={locale('github')}>\n\t\t\t\t\t\t{Octicon.mark_github}\n\t\t\t\t\t</a>\n\t\t\t\t</li>\n\t\t\t</ul>\n\t\t</nav>\n\t</header>\n}\n","export const Icons = {\n\thome: <svg width=\"32\" height=\"28\" viewBox=\"0 0 32 28\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><rect width=\"26\" height=\"6\" rx=\"3\" fill=\"#7CB45C\"/><rect x=\"8\" width=\"18\" height=\"6\" rx=\"3\" fill=\"#4BA041\"/><rect y=\"11\" width=\"32\" height=\"6\" rx=\"3\" fill=\"#AAA8A8\"/><rect x=\"11\" y=\"11\" width=\"21\" height=\"6\" rx=\"3\" fill=\"#91908F\"/><rect x=\"11\" y=\"22\" width=\"21\" height=\"6\" rx=\"3\" fill=\"#70B5C3\"/><rect x=\"17\" y=\"22\" width=\"15\" height=\"6\" rx=\"3\" fill=\"#4D989B\"/></svg>,\n\treport: <svg width=\"30\" height=\"36\" viewBox=\"0 0 30 36\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M0 16C0 13.7909 1.79086 12 4 12V12C6.20914 12 8 13.7909 8 16V32C8 34.2091 6.20914 36 4 36V36C1.79086 36 0 34.2091 0 32V16Z\" fill=\"#6ACC5D\"/><path d=\"M11 4C11 1.79086 12.7909 0 15 0V0C17.2091 0 19 1.79086 19 4V32C19 34.2091 17.2091 36 15 36V36C12.7909 36 11 34.2091 11 32V4Z\" fill=\"#FF4C4C\"/><path d=\"M22 10C22 7.79086 23.7909 6 26 6V6C28.2091 6 30 7.79086 30 10V32C30 34.2091 28.2091 36 26 36V36C23.7909 36 22 34.2091 22 32V10Z\" fill=\"#E5B442\"/><path d=\"M0 23C0 20.7909 1.79086 19 4 19V19C6.20914 19 8 20.7909 8 23V32C8 34.2091 6.20914 36 4 36V36C1.79086 36 0 34.2091 0 32V23Z\" fill=\"#2BAD1D\"/><path d=\"M11 15C11 12.7909 12.7909 11 15 11V11C17.2091 11 19 12.7909 19 15V32C19 34.2091 17.2091 36 15 36V36C12.7909 36 11 34.2091 11 32V15Z\" fill=\"#C10B0B\"/><path d=\"M22 19C22 16.7909 23.7909 15 26 15V15C28.2091 15 30 16.7909 30 19V32C30 34.2091 28.2091 36 26 36V36C23.7909 36 22 34.2091 22 32V19Z\" fill=\"#CC8E00\"/></svg>,\n\tsounds: <svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><circle cx=\"10\" cy=\"10\" r=\"10\" fill=\"#451475\"/><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M3.5 10C3.5 8.27609 4.18482 6.62279 5.40381 5.40381C6.62279 4.18482 8.27609 3.5 10 3.5C11.7239 3.5 13.3772 4.18482 14.5962 5.40381C15.8152 6.62279 16.5 8.27609 16.5 10C16.5 11.7239 15.8152 13.3772 14.5962 14.5962C13.3772 15.8152 11.7239 16.5 10 16.5C8.27609 16.5 6.62279 15.8152 5.40381 14.5962C4.18482 13.3772 3.5 11.7239 3.5 10V10ZM10 2C7.87827 2 5.84344 2.84285 4.34315 4.34315C2.84285 5.84344 2 7.87827 2 10C2 12.1217 2.84285 14.1566 4.34315 15.6569C5.84344 17.1571 7.87827 18 10 18C12.1217 18 14.1566 17.1571 15.6569 15.6569C17.1571 14.1566 18 12.1217 18 10C18 7.87827 17.1571 5.84344 15.6569 4.34315C14.1566 2.84285 12.1217 2 10 2V2ZM8.379 7.227C8.34101 7.20412 8.29762 7.19175 8.25327 7.19117C8.20892 7.19059 8.16522 7.20181 8.12664 7.2237C8.08807 7.24558 8.05601 7.27733 8.03375 7.3157C8.0115 7.35406 7.99985 7.39765 8 7.442V12.559C8.00003 12.6033 8.0118 12.6467 8.03413 12.685C8.05646 12.7232 8.08854 12.7548 8.12708 12.7765C8.16563 12.7983 8.20926 12.8095 8.25352 12.8088C8.29778 12.8082 8.34108 12.7958 8.379 12.773L12.643 10.214C12.6798 10.1917 12.7103 10.1604 12.7315 10.1229C12.7526 10.0854 12.7638 10.043 12.7638 10C12.7638 9.95695 12.7526 9.91463 12.7315 9.87714C12.7103 9.83965 12.6798 9.80825 12.643 9.786L8.379 7.227Z\" fill=\"#C5A5E6\"/></svg>,\n}\n","import type { Howl, HowlOptions } from 'howler'\nimport { useEffect, useRef, useState } from 'preact/hooks'\nimport { Btn, NumberInput, RangeInput, TextInput } from '..'\nimport { useLocale, useVersion } from '../../contexts'\nimport type { SoundEvents } from '../../services'\nimport { getSoundUrl } from '../../services'\n\nexport interface SoundConfig {\n\tid: string,\n\tsound: string,\n\tdelay: number,\n\tpitch: number,\n\tvolume: number,\n}\ntype SoundConfigProps = SoundConfig & {\n\thowler: (options: HowlOptions) => Howl,\n\tsounds: SoundEvents,\n\tonEdit: (changes: Partial<SoundConfig>) => unknown,\n\tonDelete: () => unknown,\n\tdelayedPlay?: number,\n}\nexport function SoundConfig({ howler, sounds, sound, delay, pitch, volume, onEdit, onDelete, delayedPlay }: SoundConfigProps) {\n\tconst { locale } = useLocale()\n\tconst { version } = useVersion()\n\tconst [loading, setLoading] = useState(true)\n\tconst [playing, setPlaying] = useState(false)\n\tconst [invalid, setInvalid] = useState(false)\n\tconst howls = useRef<Howl[]>([])\n\tconst command = `playsound minecraft:${sound} master @s ~ ~ ~ ${volume} ${pitch}`\n\n\tuseEffect(() => {\n\t\tconst soundEvent = sounds[sound]\n\t\tsetInvalid((soundEvent?.sounds?.length ?? 0) === 0)\n\t\thowls.current.forEach(h => h.stop())\n\t\thowls.current = (soundEvent?.sounds ?? []).map(entry => {\n\t\t\tconst soundPath = typeof entry === 'string' ? entry : entry.name\n\t\t\tconst url = getSoundUrl(version, soundPath)\n\t\t\tconst howl = howler({\n\t\t\t\tsrc: [url],\n\t\t\t\tformat: ['ogg'],\n\t\t\t\tvolume,\n\t\t\t\trate: pitch,\n\t\t\t})\n\t\t\thowl.on('end', () => {\n\t\t\t\tsetPlaying(false)\n\t\t\t})\n\t\t\tconst completed = () => {\n\t\t\t\tif (loading && howls.current.every(h => h.state() === 'loaded')) {\n\t\t\t\t\tsetLoading(false)\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (howl.state() === 'loaded') {\n\t\t\t\tsetTimeout(() => completed())\n\t\t\t} else {\n\t\t\t\thowl.on('load', () => {\n\t\t\t\t\tcompleted()\n\t\t\t\t})\n\t\t\t}\n\t\t\treturn howl\n\t\t})\n\t\tsetLoading(true)\n\t}, [sound, sounds])\n\n\tuseEffect(() => {\n\t\thowls.current.forEach(h => h.rate(pitch))\n\t}, [pitch])\n\n\tuseEffect(() => {\n\t\thowls.current.forEach(h => h.volume(volume))\n\t}, [volume])\n\n\tconst play = () => {\n\t\tif (loading || invalid) return\n\t\tstop()\n\t\tconst howl = Math.floor(Math.random() * howls.current.length)\n\t\thowls.current[howl].play()\n\t\tsetPlaying(true)\n\t}\n\tconst stop = () => {\n\t\thowls.current.forEach(h => h.stop())\n\t}\n\tuseEffect(() => {\n\t\tif (delayedPlay) setTimeout(() => play(), delay * 50)\n\t}, [delayedPlay])\n\n\tuseEffect(() => {\n\t\treturn () => stop()\n\t}, [])\n\n\tconst [copyActive, setCopyActive] = useState(false)\n\tconst copyTimeout = useRef<number | undefined>(undefined)\n\tconst copy = () => {\n\t\tnavigator.clipboard.writeText(command)\n\t\tsetCopyActive(true)\n\t\tif (copyTimeout.current !== undefined) clearTimeout(copyTimeout.current)\n\t\tcopyTimeout.current = setTimeout(() => {\n\t\t\tsetCopyActive(false)\n\t\t}, 2000) as any\n\t}\n\n\treturn <div class={`sound-config${loading ? ' loading' : playing ? ' playing' : ''}${invalid ? ' invalid' : ''}`}>\n\t\t<Btn class=\"play\" icon={invalid ? 'alert' : loading ? 'sync' : 'play'} label={locale('sounds.play')} onClick={play} tooltip={invalid ? locale('sounds.unknown_sound') : loading ? locale('sounds.loading_sound') : locale('sounds.play_sound')} tooltipLoc=\"se\" />\n\t\t<TextInput class=\"btn btn-input sound\" list=\"sound-list\" spellcheck={false}\n\t\t\tvalue={sound} onChange={sound => onEdit({ sound })} />\n\t\t<label class=\"delay-label\">{locale('sounds.delay')}: </label>\n\t\t<NumberInput class=\"btn btn-input delay\" min={0}\n\t\t\tvalue={delay} onChange={delay => onEdit({ delay })} />\n\t\t<label class=\"pitch-label\">{locale('sounds.pitch')}: </label>\n\t\t<RangeInput class=\"pitch tooltipped tip-s\" min={0.5} max={2} step={0.01}\n\t\t\taria-label={pitch.toFixed(2)} style={`--x: ${(pitch - 0.5) * (100 / 1.5)}%`}\n\t\t\tvalue={pitch} onChange={pitch => onEdit({ pitch })} />\n\t\t<label class=\"volume-label\">{locale('sounds.volume')}: </label>\n\t\t<RangeInput class=\"volume tooltipped tip-s\" min={0} max={1} step={0.01}\n\t\t\taria-label={volume.toFixed(2)} style={`--x: ${volume * 100}%`}\n\t\t\tvalue={volume} onChange={volume => onEdit({ volume })} />\n\t\t<Btn class={`copy${copyActive ? ' active' : ''}`} icon={copyActive ? 'check' : 'terminal'} label={locale('copy')} tooltip={copyActive ? locale('copied') : locale('sounds.copy_command')}\n\t\t\tonClick={copy} />\n\t\t<Btn class=\"remove\" icon=\"trashcan\" tooltip={locale('sounds.remove_sound')}\n\t\t\tonClick={() => {onDelete(); stop()}} />\n\t</div>\n}\n","import type { ComponentChildren } from 'preact'\nimport { Icons } from './Icons'\n\ntype ToolCardProps = {\n\ttitle: string,\n\tdesc?: string,\n\tlink?: string,\n\ticon?: keyof typeof Icons,\n\tchildren?: ComponentChildren,\n}\nexport function ToolCard({ title, desc, link, icon, children }: ToolCardProps) {\n\tconst content = <>\n\t\t<div class=\"tool-head\">\n\t\t\t{icon && Icons[icon]}\n\t\t\t<div>\n\t\t\t\t<h3>{title}</h3>\n\t\t\t\t<p>{desc}</p>\n\t\t\t</div>\n\t\t</div>\n\t\t{children && <div class=\"tool-body\">\n\t\t\t{children}\n\t\t</div>}\n\t</>\n\treturn link\n\t\t? <a class=\"tool-card\" href={link}>{content}</a>\n\t\t: <div class=\"tool-card\">{content}</div>\n}\n","import { useMemo, useState } from 'preact/hooks'\nimport { Octicon } from '.'\n\nconst SEPARATOR = '/'\n\ninterface Props {\n\tentries: string[],\n\tonSelect: (entry: string) => unknown,\n\tindent?: number,\n}\nexport function TreeView({ entries, onSelect, indent }: Props) {\n\tconst roots = useMemo(() => {\n\t\tconst groups: Record<string, string[]> = {}\n\t\tfor (const entry of entries) {\n\t\t\tconst i = entry.indexOf(SEPARATOR)\n\t\t\tif (i >= 0) {\n\t\t\t\tconst root = entry.slice(0, i)\n\t\t\t\t;(groups[root] ??= []).push(entry.slice(i + 1))\n\t\t\t}\n\t\t}\n\t\treturn Object.entries(groups)\n\t}, entries)\n\n\tconst leaves = useMemo(() => {\n\t\treturn entries.filter(e => !e.includes(SEPARATOR))\n\t}, entries)\n\n\tconst [hidden, setHidden] = useState(new Set<string>())\n\tconst toggle = (root: string) => {\n\t\tif (hidden.has(root)) {\n\t\t\thidden.delete(root)\n\t\t} else {\n\t\t\thidden.add(root)\n\t\t}\n\t\tsetHidden(new Set(hidden))\n\t}\n\n\treturn <div class=\"tree-view\" style={`--indent: ${indent ?? 0};`}>\n\t\t{roots.map(([r, entries]) => <div>\n\t\t\t<TreeViewEntry icon={hidden.has(r) ? 'chevron_right' : 'chevron_down'} key={r} label={r} onClick={() => toggle(r)}/>\n\t\t\t{!hidden.has(r) &&\n\t\t\t\t<TreeView entries={entries} onSelect={e => onSelect(`${r}/${e}`)} indent={(indent ?? 0) + 1} />}\n\t\t</div>)}\n\t\t{leaves.map(e => <TreeViewEntry icon=\"file\" key={e} label={e} onClick={() => onSelect(e)} />)}\n\t</div>\n}\n\ninterface TreeViewEntryProps {\n\ticon: keyof typeof Octicon,\n\tlabel: string,\n\tonClick?: () => unknown,\n}\nfunction TreeViewEntry({ icon, label, onClick }: TreeViewEntryProps) {\n\treturn <div class=\"entry\" onClick={onClick} >\n\t\t{Octicon[icon]}\n\t\t{label}\n\t</div>\n}\n","import config from '../../config.json'\nimport { ToolCard } from '../components'\nimport { useLocale, useTitle } from '../contexts'\nimport { cleanUrl } from '../Utils'\n\ninterface Props {\n\tcategory: string,\n\tpath?: string,\n}\nexport function Category({ category }: Props) {\n\tconst { locale } = useLocale()\n\tuseTitle(locale('title.generator_category', locale(category)))\n\treturn <main>\n\t\t<div class=\"category\">\n\t\t\t{config.generators.filter(g => g.category === category).map(g => \n\t\t\t\t<ToolCard title={locale(g.id)} link={cleanUrl(g.url)} />\n\t\t\t)}\n\t\t</div>\n\t</main>\n}\n","import { Ad, ChangelogList, ErrorPanel } from '../components'\nimport { useLocale, useTitle } from '../contexts'\nimport { useAsync } from '../hooks'\nimport { getChangelogs } from '../services'\n\ninterface Props {\n\tpath?: string,\n}\nexport function Changelog({}: Props) {\n\tconst { locale } = useLocale()\n\tuseTitle(locale('title.changelog'))\n\n\tconst { value: changelogs, error } = useAsync(getChangelogs, [])\n\n\treturn <main>\n\t\t<Ad type=\"text\" id=\"changelog\" />\n\t\t{error && <ErrorPanel error={error} />}\n\t\t<div class=\"changelog\">\n\t\t\t<ChangelogList changes={changelogs} defaultOrder=\"desc\" />\n\t\t</div>\n\t</main>\n}\n","import { DataModel, Path } from '@mcschema/core'\nimport { getCurrentUrl, route } from 'preact-router'\nimport { useEffect, useErrorBoundary, useMemo, useRef, useState } from 'preact/hooks'\nimport config from '../../config.json'\nimport { Analytics } from '../Analytics'\nimport { Ad, Btn, BtnMenu, ErrorPanel, HasPreview, Octicon, PreviewPanel, SearchList, SourcePanel, TextInput, Tree } from '../components'\nimport { useLocale, useProject, useTitle, useVersion } from '../contexts'\nimport { AsyncCancel, useActiveTimeout, useAsync, useModel, useSearchParam } from '../hooks'\nimport { getOutput } from '../schema/transformOutput'\nimport type { VersionId } from '../services'\nimport { checkVersion, fetchPreset, getBlockStates, getCollections, getModel, getSnippet, shareSnippet } from '../services'\nimport { Store } from '../Store'\nimport { cleanUrl, deepEqual, getGenerator } from '../Utils'\n\nexport const SHARE_KEY = 'share'\n\ninterface Props {\n\tdefault?: true,\n}\nexport function Generator({}: Props) {\n\tconst { locale } = useLocale()\n\tconst { version, changeVersion, changeTargetVersion } = useVersion()\n\tconst { projects, project, file, updateFile, openFile, closeFile } = useProject()\n\tconst [error, setError] = useState<Error | string | null>(null)\n\tconst [errorBoundary, errorRetry] = useErrorBoundary()\n\tif (errorBoundary) {\n\t\terrorBoundary.message = `Something went wrong rendering the generator: ${errorBoundary.message}`\n\t\treturn <main><ErrorPanel error={errorBoundary} onDismiss={errorRetry} /></main>\n\t}\n\n\tconst gen = getGenerator(getCurrentUrl())\n\tif (!gen) {\n\t\treturn <main><ErrorPanel error={`Cannot find generator \"${getCurrentUrl()}\"`} /></main>\n\t}\n\n\tconst allowedVersions = useMemo(() => {\n\t\treturn config.versions\n\t\t\t.filter(v => checkVersion(v.id, gen.minVersion, gen.maxVersion))\n\t\t\t.map(v => v.id as VersionId)\n\t\t\t.reverse()\n\t}, [gen.minVersion, gen.maxVersion])\n\n\tuseTitle(locale('title.generator', locale(gen.id)), allowedVersions)\n\n\tif (!checkVersion(version, gen.minVersion)) {\n\t\tsetError(`The minimum version for this generator is ${gen.minVersion}`)\n\t}\n\tif (!checkVersion(version, undefined, gen.maxVersion)) {\n\t\tsetError(`This generator is not available in versions above ${gen.maxVersion}`)\n\t}\n\n\tconst [currentPreset, setCurrentPreset] = useSearchParam('preset')\n\tconst [sharedSnippetId, setSharedSnippetId] = useSearchParam(SHARE_KEY)\n\tconst ignoreChange = useRef(false)\n\tconst backup = useMemo(() => Store.getBackup(gen.id), [gen.id])\n\n\tconst loadBackup = () => {\n\t\tif (backup !== undefined) {\n\t\t\tmodel?.reset(DataModel.wrapLists(backup), false)\n\t\t}\n\t}\n\n\tconst { value } = useAsync(async () => {\n\t\tlet data: unknown = undefined\n\t\tif (currentPreset && sharedSnippetId) {\n\t\t\tsetSharedSnippetId(undefined)\n\t\t\treturn AsyncCancel\n\t\t}\n\t\tif (currentPreset) {\n\t\t\tdata = await loadPreset(currentPreset)\n\t\t} else if (sharedSnippetId) {\n\t\t\tconst snippet = await getSnippet(sharedSnippetId)\n\t\t\tlet cancel = false\n\t\t\tif (snippet.version && snippet.version !== version) {\n\t\t\t\tchangeVersion(snippet.version, false)\n\t\t\t\tcancel = true\n\t\t\t}\n\t\t\tif (snippet.type && snippet.type !== gen.id) {\n\t\t\t\tconst snippetGen = config.generators.find(g => g.id === snippet.type)\n\t\t\t\tif (snippetGen) {\n\t\t\t\t\troute(`${cleanUrl(snippetGen.url)}?${SHARE_KEY}=${snippet.id}`)\n\t\t\t\t\tcancel = true\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (cancel) {\n\t\t\t\treturn AsyncCancel\n\t\t\t}\n\t\t\tif (snippet.show_preview && !previewShown) {\n\t\t\t\tsetPreviewShown(true)\n\t\t\t\tsetSourceShown(false)\n\t\t\t}\n\t\t\tAnalytics.openSnippet(gen.id, sharedSnippetId, version)\n\t\t\tdata = snippet.data\n\t\t}\n\t\tconst [model, blockStates] = await Promise.all([\n\t\t\tgetModel(version, gen.id),\n\t\t\tgetBlockStates(version),\n\t\t])\n\t\tif (data) {\n\t\t\tignoreChange.current = true\n\t\t\tmodel.reset(DataModel.wrapLists(data), false)\n\t\t}\n\t\tAnalytics.setGenerator(gen.id, version)\n\t\treturn { model, blockStates }\n\t}, [gen.id, version, sharedSnippetId, currentPreset])\n\n\tconst model = value?.model\n\tconst blockStates = value?.blockStates\n\n\tconst [dirty, setDirty] = useState(false)\n\tuseModel(model, () => {\n\t\tif (!ignoreChange.current) {\n\t\t\tsetCurrentPreset(undefined, true)\n\t\t\tsetSharedSnippetId(undefined, true)\n\t\t}\n\t\tignoreChange.current = false\n\t\tStore.setBackup(gen.id, DataModel.unwrapLists(model?.data))\n\t\tsetError(null)\n\t\tsetDirty(true)\n\t}, [gen.id, setCurrentPreset, setSharedSnippetId])\n\n\tconst [fileRename, setFileRename] = useState('')\n\tconst [fileSaved, doSave] = useActiveTimeout()\n\tconst [fileError, doFileError] = useActiveTimeout()\n\n\tconst doFileRename = () => {\n\t\tif (fileRename !== file?.id && fileRename && model && blockStates) {\n\t\t\tconst data = getOutput(model, blockStates)\n\t\t\tconst success = updateFile(gen.id, file?.id, { id: fileRename, data })\n\t\t\tif (success) {\n\t\t\t\tdoSave()\n\t\t\t} else {\n\t\t\t\tdoFileError()\n\t\t\t\tif (file) {\n\t\t\t\t\tsetFileRename(file?.id)\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (file) {\n\t\t\tsetFileRename(file?.id)\n\t\t}\n\t}\n\n\tconst deleteFile = () => {\n\t\tif (file) {\n\t\t\tupdateFile(gen.id, file.id, {})\n\t\t}\n\t}\n\n\tuseEffect(() => {\n\t\tif (file) {\n\t\t\tsetFileRename(file.id)\n\t\t}\n\t}, [file])\n\n\tuseEffect(() => {\n\t\tif (model) {\n\t\t\tsetFileRename(file?.id ?? '')\n\t\t\tif (file && gen.id === file.type) {\n\t\t\t\tmodel.reset(DataModel.wrapLists(file.data))\n\t\t\t}\n\t\t\tsetDirty(false)\n\t\t}\n\t}, [file, model])\n\n\tconst reset = () => {\n\t\tAnalytics.resetGenerator(gen.id, model?.historyIndex ?? 1, 'menu')\n\t\tmodel?.reset(DataModel.wrapLists(model.schema.default()), true)\n\t}\n\tconst undo = (e: MouseEvent) => {\n\t\te.stopPropagation()\n\t\tAnalytics.undoGenerator(gen.id, model?.historyIndex ?? 1, 'menu')\n\t\tmodel?.undo()\n\t}\n\tconst redo = (e: MouseEvent) => {\n\t\te.stopPropagation()\n\t\tAnalytics.redoGenerator(gen.id, model?.historyIndex ?? 1, 'menu')\n\t\tmodel?.redo()\n\t}\n\n\tconst onKeyUp = (e: KeyboardEvent) => {\n\t\tif (e.ctrlKey && e.key === 'z') {\n\t\t\tAnalytics.undoGenerator(gen.id, model?.historyIndex ?? 1, 'hotkey')\n\t\t\tmodel?.undo()\n\t\t} else if (e.ctrlKey && e.key === 'y') {\n\t\t\tAnalytics.redoGenerator(gen.id, model?.historyIndex ?? 1, 'hotkey')\n\t\t\tmodel?.redo()\n\t\t}\n\t}\n\tconst onKeyDown = (e: KeyboardEvent) => {\n\t\tif (e.ctrlKey && e.key === 's') {\n\t\t\te.preventDefault()\n\t\t\tif (model && blockStates && file) {\n\t\t\t\tAnalytics.saveProjectFile(gen.id, project.files.length, projects.length, 'hotkey')\n\t\t\t\tconst data = getOutput(model, blockStates)\n\t\t\t\tupdateFile(gen.id, file?.id, { id: file?.id, data })\n\t\t\t\tsetDirty(false)\n\t\t\t\tdoSave()\n\t\t\t}\n\t\t}\n\t}\n\tuseEffect(() => {\n\t\tdocument.addEventListener('keyup', onKeyUp)\n\t\tdocument.addEventListener('keydown', onKeyDown)\n\t\treturn () => {\n\t\t\tdocument.removeEventListener('keyup', onKeyUp)\n\t\t\tdocument.removeEventListener('keydown', onKeyDown)\n\t\t}\n\t}, [model, blockStates, file])\n\n\tconst [presets, setPresets] = useState<string[]>([])\n\tuseEffect(() => {\n\t\tgetCollections(version).then(collections => {\n\t\t\tsetPresets(collections.get(gen.id).map(p => p.slice(10)))\n\t\t})\n\t\t\t.catch(e => { console.error(e); setError(e) })\n\t}, [version, gen.id])\n\n\tconst selectPreset = (id: string) => {\n\t\tAnalytics.loadPreset(gen.id, id)\n\t\tsetSharedSnippetId(undefined, true)\n\t\tchangeTargetVersion(version, true)\n\t\tsetCurrentPreset(id)\n\t}\n\n\tconst loadPreset = async (id: string) => {\n\t\ttry {\n\t\t\tconst preset = await fetchPreset(version, gen.path ?? gen.id, id)\n\t\t\tconst seed = model?.get(new Path(['generator', 'seed']))\n\t\t\tif (preset?.generator?.seed !== undefined && seed !== undefined) {\n\t\t\t\tpreset.generator.seed = seed\n\t\t\t\tif (preset.generator.biome_source?.seed !== undefined) {\n\t\t\t\t\tpreset.generator.biome_source.seed = seed\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn preset\n\t\t} catch (e) {\n\t\t\tsetError(`Cannot load preset ${id} in ${version}`)\n\t\t\tsetCurrentPreset(undefined, true)\n\t\t}\n\t}\n\n\tconst selectVersion = (version: VersionId) => {\n\t\tsetSharedSnippetId(undefined, true)\n\t\tchangeVersion(version)\n\t}\n\n\tconst [shareUrl, setShareUrl] = useState<string | undefined>(undefined)\n\tconst [shareShown, setShareShown] = useState(false)\n\tconst [shareCopyActive, shareCopySuccess] = useActiveTimeout({ cooldown: 3000 })\n\tconst share = () => {\n\t\tif (shareShown) {\n\t\t\tsetShareShown(false)\n\t\t\treturn\n\t\t}\n\t\tif (currentPreset) {\n\t\t\tsetShareUrl(`${location.origin}/${gen.url}/?version=${version}&preset=${currentPreset}`)\n\t\t\tsetShareShown(true)\n\t\t\tcopySharedId()\n\t\t} else if (model && blockStates) {\n\t\t\tconst output = getOutput(model, blockStates)\n\t\t\tif (deepEqual(output, model.schema.default())) {\n\t\t\t\tsetShareUrl(`${location.origin}/${gen.url}/?version=${version}`)\n\t\t\t\tsetShareShown(true)\n\t\t\t} else {\n\t\t\t\tshareSnippet(gen.id, version, output, previewShown)\n\t\t\t\t\t.then(({ id, length, compressed, rate }) => {\n\t\t\t\t\t\tAnalytics.createSnippet(gen.id, id, version, length, compressed, rate)\n\t\t\t\t\t\tconst url = `${location.origin}/${gen.url}/?${SHARE_KEY}=${id}`\n\t\t\t\t\t\tsetShareUrl(url)\n\t\t\t\t\t\tsetShareShown(true)\n\t\t\t\t\t})\n\t\t\t\t\t.catch(e => {\n\t\t\t\t\t\tif (e instanceof Error) {\n\t\t\t\t\t\t\tsetError(e)\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t}\n\t\t}\n\t}\n\tconst copySharedId = () => {\n\t\tnavigator.clipboard.writeText(shareUrl ?? '')\n\t\tshareCopySuccess()\n\t}\n\tuseEffect(() => {\n\t\tif (!shareCopyActive) {\n\t\t\tsetShareUrl(undefined)\n\t\t\tsetShareShown(false)\n\t\t}\n\t}, [shareCopyActive])\n\n\tconst [sourceShown, setSourceShown] = useState(window.innerWidth > 820)\n\tconst [doCopy, setCopy] = useState(0)\n\tconst [doDownload, setDownload] = useState(0)\n\tconst [doImport, setImport] = useState(0)\n\n\tconst copySource = () => {\n\t\tAnalytics.copyOutput(gen.id, 'menu')\n\t\tsetCopy(doCopy + 1)\n\t}\n\tconst downloadSource = () => {\n\t\tAnalytics.downloadOutput(gen.id, 'menu')\n\t\tsetDownload(doDownload + 1)\n\t}\n\tconst importSource = () => {\n\t\tAnalytics.generatorEvent('import')\n\t\tsetSourceShown(true)\n\t\tsetImport(doImport + 1)\n\t}\n\tconst toggleSource = () => {\n\t\tif (sourceShown) {\n\t\t\tAnalytics.hideOutput(gen.id, 'menu')\n\t\t} else {\n\t\t\tAnalytics.showOutput(gen.id, 'menu')\n\t\t}\n\t\tsetSourceShown(!sourceShown)\n\t\tsetCopy(0)\n\t\tsetDownload(0)\n\t\tsetImport(0)\n\t}\n\n\tconst [copyActive, copySuccess] = useActiveTimeout()\n\n\tconst [previewShown, setPreviewShown] = useState(false)\n\tconst hasPreview = HasPreview.includes(gen.id) && !(gen.id === 'worldgen/configured_feature' && checkVersion(version, '1.18'))\n\tif (previewShown && !hasPreview) setPreviewShown(false)\n\tlet actionsShown = 2\n\tif (hasPreview) actionsShown += 1\n\tif (sourceShown) actionsShown += 2\n\n\tconst togglePreview = () => {\n\t\tif (sourceShown) {\n\t\t\tAnalytics.hidePreview(gen.id, 'menu')\n\t\t} else {\n\t\t\tAnalytics.showPreview(gen.id, 'menu')\n\t\t}\n\t\tsetPreviewShown(!previewShown)\n\t\tif (!previewShown && sourceShown) {\n\t\t\tsetSourceShown(false)\n\t\t}\n\t}\n\n\treturn <>\n\t\t<main class={previewShown ? 'has-preview' : ''}>\n\t\t\t<Ad id=\"data-pack-generator\" type=\"text\" />\n\t\t\t<div class=\"controls\">\n\t\t\t\t<div class={`project-controls ${file && 'has-file'}`}>\n\t\t\t\t\t<div class=\"btn-row\">\n\t\t\t\t\t\t<BtnMenu icon=\"repo\" label={project.name} relative={false}>\n\t\t\t\t\t\t\t<Btn icon=\"arrow_left\" label={locale('project.go_to')} onClick={() => route('/project')} />\n\t\t\t\t\t\t\t{file && <Btn icon=\"file\" label={locale('project.new_file')} onClick={closeFile} />}\n\t\t\t\t\t\t\t{backup !== undefined && <Btn icon=\"history\" label={locale('restore_backup')} onClick={loadBackup} />}\n\t\t\t\t\t\t\t<SearchList searchPlaceholder={locale(project.name === 'Drafts' ? 'project.search_drafts' : 'project.search')} noResults={locale('project.no_files')} values={project.files.filter(f => f.type === gen.id).map(f => f.id)} onSelect={(id) => openFile(gen.id, id)} />\n\t\t\t\t\t\t</BtnMenu>\n\t\t\t\t\t\t<TextInput class=\"btn btn-input\" placeholder={locale('project.unsaved_file')} value={fileRename} onChange={setFileRename} onEnter={doFileRename} onBlur={doFileRename} />\n\t\t\t\t\t\t{file && <Btn icon=\"trashcan\" tooltip={locale('project.delete_file')} onClick={deleteFile} />}\n\t\t\t\t\t</div>\n\t\t\t\t\t{dirty ? <div class=\"status-icon\">{Octicon.dot_fill}</div>\n\t\t\t\t\t\t: fileSaved ? <div class=\"status-icon active\">{Octicon.check}</div>\n\t\t\t\t\t\t\t: fileError && <div class=\"status-icon danger\">{Octicon.x}</div> }\n\t\t\t\t</div>\n\t\t\t\t<div class=\"generator-controls\">\n\t\t\t\t\t<Btn icon=\"upload\" label={locale('import')} onClick={importSource} />\n\t\t\t\t\t<BtnMenu icon=\"archive\" label={locale('presets')} relative={false}>\n\t\t\t\t\t\t<SearchList searchPlaceholder={locale('search')} noResults={locale('no_presets')} values={presets} onSelect={selectPreset}/>\n\t\t\t\t\t</BtnMenu>\n\t\t\t\t\t<BtnMenu icon=\"tag\" label={version} tooltip={locale('switch_version')} data-cy=\"version-switcher\">\n\t\t\t\t\t\t{allowedVersions.map(v =>\n\t\t\t\t\t\t\t<Btn label={v} active={v === version} onClick={() => selectVersion(v)} />\n\t\t\t\t\t\t)}\n\t\t\t\t\t</BtnMenu>\n\t\t\t\t\t<BtnMenu icon=\"kebab_horizontal\" tooltip={locale('more')}>\n\t\t\t\t\t\t<Btn icon=\"history\" label={locale('reset')} onClick={reset} />\n\t\t\t\t\t\t<Btn icon=\"arrow_left\" label={locale('undo')} onClick={undo} />\n\t\t\t\t\t\t<Btn icon=\"arrow_right\" label={locale('redo')} onClick={redo} />\n\t\t\t\t\t</BtnMenu>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t{error && <ErrorPanel error={error} onDismiss={() => setError(null)} />}\n\t\t\t<Tree {...{model, version, blockStates}} onError={setError} />\n\t\t</main>\n\t\t<div class=\"popup-actions\" style={`--offset: -${8 + actionsShown * 50}px;`}>\n\t\t\t<div class={`popup-action action-preview${hasPreview ? ' shown' : ''} tooltipped tip-nw`} aria-label={locale(previewShown ? 'hide_preview' : 'show_preview')} onClick={togglePreview}>\n\t\t\t\t{previewShown ? Octicon.x_circle : Octicon.play}\n\t\t\t</div>\n\t\t\t<div class={'popup-action action-share shown tooltipped tip-nw'} aria-label={locale('share')} onClick={share}>\n\t\t\t\t{Octicon.link}\n\t\t\t</div>\n\t\t\t<div class={`popup-action action-download${sourceShown ? ' shown' : ''} tooltipped tip-nw`} aria-label={locale('download')} onClick={downloadSource}>\n\t\t\t\t{Octicon.download}\n\t\t\t</div>\n\t\t\t<div class={`popup-action action-copy${sourceShown ? ' shown' : ''}${copyActive ? ' active' : ''} tooltipped tip-nw`} aria-label={locale(copyActive ? 'copied' : 'copy')} onClick={copySource}>\n\t\t\t\t{copyActive ? Octicon.check : Octicon.clippy}\n\t\t\t</div>\n\t\t\t<div class={'popup-action action-code shown tooltipped tip-nw'} aria-label={locale(sourceShown ? 'hide_output' : 'show_output')} onClick={toggleSource}>\n\t\t\t\t{sourceShown ? Octicon.chevron_right : Octicon.code}\n\t\t\t</div>\n\t\t</div>\n\t\t<div class={`popup-preview${previewShown ? ' shown' : ''}`}>\n\t\t\t<PreviewPanel {...{model, version, id: gen.id}} shown={previewShown} onError={setError} />\n\t\t</div>\n\t\t<div class={`popup-source${sourceShown ? ' shown' : ''}`}>\n\t\t\t<SourcePanel {...{model, blockStates, doCopy, doDownload, doImport}} name={gen.schema ?? 'data'} copySuccess={copySuccess} onError={setError} />\n\t\t</div>\n\t\t<div class={`popup-share${shareShown ? ' shown' : ''}`}>\n\t\t\t<TextInput value={shareUrl} readonly />\n\t\t\t<Btn icon={shareCopyActive ? 'check' : 'clippy'} onClick={copySharedId} tooltip={locale(shareCopyActive ? 'copied' : 'copy_share')} tooltipLoc=\"nw\" active={shareCopyActive} showTooltip={shareCopyActive} />\n\t\t</div>\n\t</>\n}\n","var deepFreezeEs6 = {exports: {}};\n\nfunction deepFreeze(obj) {\n if (obj instanceof Map) {\n obj.clear = obj.delete = obj.set = function () {\n throw new Error('map is read-only');\n };\n } else if (obj instanceof Set) {\n obj.add = obj.clear = obj.delete = function () {\n throw new Error('set is read-only');\n };\n }\n\n // Freeze self\n Object.freeze(obj);\n\n Object.getOwnPropertyNames(obj).forEach(function (name) {\n var prop = obj[name];\n\n // Freeze prop if it is an object\n if (typeof prop == 'object' && !Object.isFrozen(prop)) {\n deepFreeze(prop);\n }\n });\n\n return obj;\n}\n\ndeepFreezeEs6.exports = deepFreeze;\ndeepFreezeEs6.exports.default = deepFreeze;\n\nvar deepFreeze$1 = deepFreezeEs6.exports;\n\n/** @typedef {import('highlight.js').CallbackResponse} CallbackResponse */\n/** @typedef {import('highlight.js').CompiledMode} CompiledMode */\n/** @implements CallbackResponse */\n\nclass Response {\n /**\n * @param {CompiledMode} mode\n */\n constructor(mode) {\n // eslint-disable-next-line no-undefined\n if (mode.data === undefined) mode.data = {};\n\n this.data = mode.data;\n this.isMatchIgnored = false;\n }\n\n ignoreMatch() {\n this.isMatchIgnored = true;\n }\n}\n\n/**\n * @param {string} value\n * @returns {string}\n */\nfunction escapeHTML(value) {\n return value\n .replace(/&/g, '&')\n .replace(/</g, '<')\n .replace(/>/g, '>')\n .replace(/\"/g, '"')\n .replace(/'/g, ''');\n}\n\n/**\n * performs a shallow merge of multiple objects into one\n *\n * @template T\n * @param {T} original\n * @param {Record<string,any>[]} objects\n * @returns {T} a single new object\n */\nfunction inherit$1(original, ...objects) {\n /** @type Record<string,any> */\n const result = Object.create(null);\n\n for (const key in original) {\n result[key] = original[key];\n }\n objects.forEach(function(obj) {\n for (const key in obj) {\n result[key] = obj[key];\n }\n });\n return /** @type {T} */ (result);\n}\n\n/**\n * @typedef {object} Renderer\n * @property {(text: string) => void} addText\n * @property {(node: Node) => void} openNode\n * @property {(node: Node) => void} closeNode\n * @property {() => string} value\n */\n\n/** @typedef {{kind?: string, sublanguage?: boolean}} Node */\n/** @typedef {{walk: (r: Renderer) => void}} Tree */\n/** */\n\nconst SPAN_CLOSE = '</span>';\n\n/**\n * Determines if a node needs to be wrapped in <span>\n *\n * @param {Node} node */\nconst emitsWrappingTags = (node) => {\n return !!node.kind;\n};\n\n/**\n *\n * @param {string} name\n * @param {{prefix:string}} options\n */\nconst expandScopeName = (name, { prefix }) => {\n if (name.includes(\".\")) {\n const pieces = name.split(\".\");\n return [\n `${prefix}${pieces.shift()}`,\n ...(pieces.map((x, i) => `${x}${\"_\".repeat(i + 1)}`))\n ].join(\" \");\n }\n return `${prefix}${name}`;\n};\n\n/** @type {Renderer} */\nclass HTMLRenderer {\n /**\n * Creates a new HTMLRenderer\n *\n * @param {Tree} parseTree - the parse tree (must support `walk` API)\n * @param {{classPrefix: string}} options\n */\n constructor(parseTree, options) {\n this.buffer = \"\";\n this.classPrefix = options.classPrefix;\n parseTree.walk(this);\n }\n\n /**\n * Adds texts to the output stream\n *\n * @param {string} text */\n addText(text) {\n this.buffer += escapeHTML(text);\n }\n\n /**\n * Adds a node open to the output stream (if needed)\n *\n * @param {Node} node */\n openNode(node) {\n if (!emitsWrappingTags(node)) return;\n\n let scope = node.kind;\n if (node.sublanguage) {\n scope = `language-${scope}`;\n } else {\n scope = expandScopeName(scope, { prefix: this.classPrefix });\n }\n this.span(scope);\n }\n\n /**\n * Adds a node close to the output stream (if needed)\n *\n * @param {Node} node */\n closeNode(node) {\n if (!emitsWrappingTags(node)) return;\n\n this.buffer += SPAN_CLOSE;\n }\n\n /**\n * returns the accumulated buffer\n */\n value() {\n return this.buffer;\n }\n\n // helpers\n\n /**\n * Builds a span element\n *\n * @param {string} className */\n span(className) {\n this.buffer += `<span class=\"${className}\">`;\n }\n}\n\n/** @typedef {{kind?: string, sublanguage?: boolean, children: Node[]} | string} Node */\n/** @typedef {{kind?: string, sublanguage?: boolean, children: Node[]} } DataNode */\n/** @typedef {import('highlight.js').Emitter} Emitter */\n/** */\n\nclass TokenTree {\n constructor() {\n /** @type DataNode */\n this.rootNode = { children: [] };\n this.stack = [this.rootNode];\n }\n\n get top() {\n return this.stack[this.stack.length - 1];\n }\n\n get root() { return this.rootNode; }\n\n /** @param {Node} node */\n add(node) {\n this.top.children.push(node);\n }\n\n /** @param {string} kind */\n openNode(kind) {\n /** @type Node */\n const node = { kind, children: [] };\n this.add(node);\n this.stack.push(node);\n }\n\n closeNode() {\n if (this.stack.length > 1) {\n return this.stack.pop();\n }\n // eslint-disable-next-line no-undefined\n return undefined;\n }\n\n closeAllNodes() {\n while (this.closeNode());\n }\n\n toJSON() {\n return JSON.stringify(this.rootNode, null, 4);\n }\n\n /**\n * @typedef { import(\"./html_renderer\").Renderer } Renderer\n * @param {Renderer} builder\n */\n walk(builder) {\n // this does not\n return this.constructor._walk(builder, this.rootNode);\n // this works\n // return TokenTree._walk(builder, this.rootNode);\n }\n\n /**\n * @param {Renderer} builder\n * @param {Node} node\n */\n static _walk(builder, node) {\n if (typeof node === \"string\") {\n builder.addText(node);\n } else if (node.children) {\n builder.openNode(node);\n node.children.forEach((child) => this._walk(builder, child));\n builder.closeNode(node);\n }\n return builder;\n }\n\n /**\n * @param {Node} node\n */\n static _collapse(node) {\n if (typeof node === \"string\") return;\n if (!node.children) return;\n\n if (node.children.every(el => typeof el === \"string\")) {\n // node.text = node.children.join(\"\");\n // delete node.children;\n node.children = [node.children.join(\"\")];\n } else {\n node.children.forEach((child) => {\n TokenTree._collapse(child);\n });\n }\n }\n}\n\n/**\n Currently this is all private API, but this is the minimal API necessary\n that an Emitter must implement to fully support the parser.\n\n Minimal interface:\n\n - addKeyword(text, kind)\n - addText(text)\n - addSublanguage(emitter, subLanguageName)\n - finalize()\n - openNode(kind)\n - closeNode()\n - closeAllNodes()\n - toHTML()\n\n*/\n\n/**\n * @implements {Emitter}\n */\nclass TokenTreeEmitter extends TokenTree {\n /**\n * @param {*} options\n */\n constructor(options) {\n super();\n this.options = options;\n }\n\n /**\n * @param {string} text\n * @param {string} kind\n */\n addKeyword(text, kind) {\n if (text === \"\") { return; }\n\n this.openNode(kind);\n this.addText(text);\n this.closeNode();\n }\n\n /**\n * @param {string} text\n */\n addText(text) {\n if (text === \"\") { return; }\n\n this.add(text);\n }\n\n /**\n * @param {Emitter & {root: DataNode}} emitter\n * @param {string} name\n */\n addSublanguage(emitter, name) {\n /** @type DataNode */\n const node = emitter.root;\n node.kind = name;\n node.sublanguage = true;\n this.add(node);\n }\n\n toHTML() {\n const renderer = new HTMLRenderer(this, this.options);\n return renderer.value();\n }\n\n finalize() {\n return true;\n }\n}\n\n/**\n * @param {string} value\n * @returns {RegExp}\n * */\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction source(re) {\n if (!re) return null;\n if (typeof re === \"string\") return re;\n\n return re.source;\n}\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction lookahead(re) {\n return concat('(?=', re, ')');\n}\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction anyNumberOfTimes(re) {\n return concat('(?:', re, ')*');\n}\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction optional(re) {\n return concat('(?:', re, ')?');\n}\n\n/**\n * @param {...(RegExp | string) } args\n * @returns {string}\n */\nfunction concat(...args) {\n const joined = args.map((x) => source(x)).join(\"\");\n return joined;\n}\n\n/**\n * @param { Array<string | RegExp | Object> } args\n * @returns {object}\n */\nfunction stripOptionsFromArgs(args) {\n const opts = args[args.length - 1];\n\n if (typeof opts === 'object' && opts.constructor === Object) {\n args.splice(args.length - 1, 1);\n return opts;\n } else {\n return {};\n }\n}\n\n/** @typedef { {capture?: boolean} } RegexEitherOptions */\n\n/**\n * Any of the passed expresssions may match\n *\n * Creates a huge this | this | that | that match\n * @param {(RegExp | string)[] | [...(RegExp | string)[], RegexEitherOptions]} args\n * @returns {string}\n */\nfunction either(...args) {\n /** @type { object & {capture?: boolean} } */\n const opts = stripOptionsFromArgs(args);\n const joined = '('\n + (opts.capture ? \"\" : \"?:\")\n + args.map((x) => source(x)).join(\"|\") + \")\";\n return joined;\n}\n\n/**\n * @param {RegExp | string} re\n * @returns {number}\n */\nfunction countMatchGroups(re) {\n return (new RegExp(re.toString() + '|')).exec('').length - 1;\n}\n\n/**\n * Does lexeme start with a regular expression match at the beginning\n * @param {RegExp} re\n * @param {string} lexeme\n */\nfunction startsWith(re, lexeme) {\n const match = re && re.exec(lexeme);\n return match && match.index === 0;\n}\n\n// BACKREF_RE matches an open parenthesis or backreference. To avoid\n// an incorrect parse, it additionally matches the following:\n// - [...] elements, where the meaning of parentheses and escapes change\n// - other escape sequences, so we do not misparse escape sequences as\n// interesting elements\n// - non-matching or lookahead parentheses, which do not capture. These\n// follow the '(' with a '?'.\nconst BACKREF_RE = /\\[(?:[^\\\\\\]]|\\\\.)*\\]|\\(\\??|\\\\([1-9][0-9]*)|\\\\./;\n\n// **INTERNAL** Not intended for outside usage\n// join logically computes regexps.join(separator), but fixes the\n// backreferences so they continue to match.\n// it also places each individual regular expression into it's own\n// match group, keeping track of the sequencing of those match groups\n// is currently an exercise for the caller. :-)\n/**\n * @param {(string | RegExp)[]} regexps\n * @param {{joinWith: string}} opts\n * @returns {string}\n */\nfunction _rewriteBackreferences(regexps, { joinWith }) {\n let numCaptures = 0;\n\n return regexps.map((regex) => {\n numCaptures += 1;\n const offset = numCaptures;\n let re = source(regex);\n let out = '';\n\n while (re.length > 0) {\n const match = BACKREF_RE.exec(re);\n if (!match) {\n out += re;\n break;\n }\n out += re.substring(0, match.index);\n re = re.substring(match.index + match[0].length);\n if (match[0][0] === '\\\\' && match[1]) {\n // Adjust the backreference.\n out += '\\\\' + String(Number(match[1]) + offset);\n } else {\n out += match[0];\n if (match[0] === '(') {\n numCaptures++;\n }\n }\n }\n return out;\n }).map(re => `(${re})`).join(joinWith);\n}\n\n/** @typedef {import('highlight.js').Mode} Mode */\n/** @typedef {import('highlight.js').ModeCallback} ModeCallback */\n\n// Common regexps\nconst MATCH_NOTHING_RE = /\\b\\B/;\nconst IDENT_RE = '[a-zA-Z]\\\\w*';\nconst UNDERSCORE_IDENT_RE = '[a-zA-Z_]\\\\w*';\nconst NUMBER_RE = '\\\\b\\\\d+(\\\\.\\\\d+)?';\nconst C_NUMBER_RE = '(-?)(\\\\b0[xX][a-fA-F0-9]+|(\\\\b\\\\d+(\\\\.\\\\d*)?|\\\\.\\\\d+)([eE][-+]?\\\\d+)?)'; // 0x..., 0..., decimal, float\nconst BINARY_NUMBER_RE = '\\\\b(0b[01]+)'; // 0b...\nconst RE_STARTERS_RE = '!|!=|!==|%|%=|&|&&|&=|\\\\*|\\\\*=|\\\\+|\\\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\\\?|\\\\[|\\\\{|\\\\(|\\\\^|\\\\^=|\\\\||\\\\|=|\\\\|\\\\||~';\n\n/**\n* @param { Partial<Mode> & {binary?: string | RegExp} } opts\n*/\nconst SHEBANG = (opts = {}) => {\n const beginShebang = /^#![ ]*\\//;\n if (opts.binary) {\n opts.begin = concat(\n beginShebang,\n /.*\\b/,\n opts.binary,\n /\\b.*/);\n }\n return inherit$1({\n scope: 'meta',\n begin: beginShebang,\n end: /$/,\n relevance: 0,\n /** @type {ModeCallback} */\n \"on:begin\": (m, resp) => {\n if (m.index !== 0) resp.ignoreMatch();\n }\n }, opts);\n};\n\n// Common modes\nconst BACKSLASH_ESCAPE = {\n begin: '\\\\\\\\[\\\\s\\\\S]', relevance: 0\n};\nconst APOS_STRING_MODE = {\n scope: 'string',\n begin: '\\'',\n end: '\\'',\n illegal: '\\\\n',\n contains: [BACKSLASH_ESCAPE]\n};\nconst QUOTE_STRING_MODE = {\n scope: 'string',\n begin: '\"',\n end: '\"',\n illegal: '\\\\n',\n contains: [BACKSLASH_ESCAPE]\n};\nconst PHRASAL_WORDS_MODE = {\n begin: /\\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\\b/\n};\n/**\n * Creates a comment mode\n *\n * @param {string | RegExp} begin\n * @param {string | RegExp} end\n * @param {Mode | {}} [modeOptions]\n * @returns {Partial<Mode>}\n */\nconst COMMENT = function(begin, end, modeOptions = {}) {\n const mode = inherit$1(\n {\n scope: 'comment',\n begin,\n end,\n contains: []\n },\n modeOptions\n );\n mode.contains.push({\n scope: 'doctag',\n // hack to avoid the space from being included. the space is necessary to\n // match here to prevent the plain text rule below from gobbling up doctags\n begin: '[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)',\n end: /(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,\n excludeBegin: true,\n relevance: 0\n });\n const ENGLISH_WORD = either(\n // list of common 1 and 2 letter words in English\n \"I\",\n \"a\",\n \"is\",\n \"so\",\n \"us\",\n \"to\",\n \"at\",\n \"if\",\n \"in\",\n \"it\",\n \"on\",\n // note: this is not an exhaustive list of contractions, just popular ones\n /[A-Za-z]+['](d|ve|re|ll|t|s|n)/, // contractions - can't we'd they're let's, etc\n /[A-Za-z]+[-][a-z]+/, // `no-way`, etc.\n /[A-Za-z][a-z]{2,}/ // allow capitalized words at beginning of sentences\n );\n // looking like plain text, more likely to be a comment\n mode.contains.push(\n {\n // TODO: how to include \", (, ) without breaking grammars that use these for\n // comment delimiters?\n // begin: /[ ]+([()\"]?([A-Za-z'-]{3,}|is|a|I|so|us|[tT][oO]|at|if|in|it|on)[.]?[()\":]?([.][ ]|[ ]|\\))){3}/\n // ---\n\n // this tries to find sequences of 3 english words in a row (without any\n // \"programming\" type syntax) this gives us a strong signal that we've\n // TRULY found a comment - vs perhaps scanning with the wrong language.\n // It's possible to find something that LOOKS like the start of the\n // comment - but then if there is no readable text - good chance it is a\n // false match and not a comment.\n //\n // for a visual example please see:\n // https://github.com/highlightjs/highlight.js/issues/2827\n\n begin: concat(\n /[ ]+/, // necessary to prevent us gobbling up doctags like /* @author Bob Mcgill */\n '(',\n ENGLISH_WORD,\n /[.]?[:]?([.][ ]|[ ])/,\n '){3}') // look for 3 words in a row\n }\n );\n return mode;\n};\nconst C_LINE_COMMENT_MODE = COMMENT('//', '$');\nconst C_BLOCK_COMMENT_MODE = COMMENT('/\\\\*', '\\\\*/');\nconst HASH_COMMENT_MODE = COMMENT('#', '$');\nconst NUMBER_MODE = {\n scope: 'number',\n begin: NUMBER_RE,\n relevance: 0\n};\nconst C_NUMBER_MODE = {\n scope: 'number',\n begin: C_NUMBER_RE,\n relevance: 0\n};\nconst BINARY_NUMBER_MODE = {\n scope: 'number',\n begin: BINARY_NUMBER_RE,\n relevance: 0\n};\nconst REGEXP_MODE = {\n // this outer rule makes sure we actually have a WHOLE regex and not simply\n // an expression such as:\n //\n // 3 / something\n //\n // (which will then blow up when regex's `illegal` sees the newline)\n begin: /(?=\\/[^/\\n]*\\/)/,\n contains: [{\n scope: 'regexp',\n begin: /\\//,\n end: /\\/[gimuy]*/,\n illegal: /\\n/,\n contains: [\n BACKSLASH_ESCAPE,\n {\n begin: /\\[/,\n end: /\\]/,\n relevance: 0,\n contains: [BACKSLASH_ESCAPE]\n }\n ]\n }]\n};\nconst TITLE_MODE = {\n scope: 'title',\n begin: IDENT_RE,\n relevance: 0\n};\nconst UNDERSCORE_TITLE_MODE = {\n scope: 'title',\n begin: UNDERSCORE_IDENT_RE,\n relevance: 0\n};\nconst METHOD_GUARD = {\n // excludes method names from keyword processing\n begin: '\\\\.\\\\s*' + UNDERSCORE_IDENT_RE,\n relevance: 0\n};\n\n/**\n * Adds end same as begin mechanics to a mode\n *\n * Your mode must include at least a single () match group as that first match\n * group is what is used for comparison\n * @param {Partial<Mode>} mode\n */\nconst END_SAME_AS_BEGIN = function(mode) {\n return Object.assign(mode,\n {\n /** @type {ModeCallback} */\n 'on:begin': (m, resp) => { resp.data._beginMatch = m[1]; },\n /** @type {ModeCallback} */\n 'on:end': (m, resp) => { if (resp.data._beginMatch !== m[1]) resp.ignoreMatch(); }\n });\n};\n\nvar MODES = /*#__PURE__*/Object.freeze({\n __proto__: null,\n MATCH_NOTHING_RE: MATCH_NOTHING_RE,\n IDENT_RE: IDENT_RE,\n UNDERSCORE_IDENT_RE: UNDERSCORE_IDENT_RE,\n NUMBER_RE: NUMBER_RE,\n C_NUMBER_RE: C_NUMBER_RE,\n BINARY_NUMBER_RE: BINARY_NUMBER_RE,\n RE_STARTERS_RE: RE_STARTERS_RE,\n SHEBANG: SHEBANG,\n BACKSLASH_ESCAPE: BACKSLASH_ESCAPE,\n APOS_STRING_MODE: APOS_STRING_MODE,\n QUOTE_STRING_MODE: QUOTE_STRING_MODE,\n PHRASAL_WORDS_MODE: PHRASAL_WORDS_MODE,\n COMMENT: COMMENT,\n C_LINE_COMMENT_MODE: C_LINE_COMMENT_MODE,\n C_BLOCK_COMMENT_MODE: C_BLOCK_COMMENT_MODE,\n HASH_COMMENT_MODE: HASH_COMMENT_MODE,\n NUMBER_MODE: NUMBER_MODE,\n C_NUMBER_MODE: C_NUMBER_MODE,\n BINARY_NUMBER_MODE: BINARY_NUMBER_MODE,\n REGEXP_MODE: REGEXP_MODE,\n TITLE_MODE: TITLE_MODE,\n UNDERSCORE_TITLE_MODE: UNDERSCORE_TITLE_MODE,\n METHOD_GUARD: METHOD_GUARD,\n END_SAME_AS_BEGIN: END_SAME_AS_BEGIN\n});\n\n/**\n@typedef {import('highlight.js').CallbackResponse} CallbackResponse\n@typedef {import('highlight.js').CompilerExt} CompilerExt\n*/\n\n// Grammar extensions / plugins\n// See: https://github.com/highlightjs/highlight.js/issues/2833\n\n// Grammar extensions allow \"syntactic sugar\" to be added to the grammar modes\n// without requiring any underlying changes to the compiler internals.\n\n// `compileMatch` being the perfect small example of now allowing a grammar\n// author to write `match` when they desire to match a single expression rather\n// than being forced to use `begin`. The extension then just moves `match` into\n// `begin` when it runs. Ie, no features have been added, but we've just made\n// the experience of writing (and reading grammars) a little bit nicer.\n\n// ------\n\n// TODO: We need negative look-behind support to do this properly\n/**\n * Skip a match if it has a preceding dot\n *\n * This is used for `beginKeywords` to prevent matching expressions such as\n * `bob.keyword.do()`. The mode compiler automatically wires this up as a\n * special _internal_ 'on:begin' callback for modes with `beginKeywords`\n * @param {RegExpMatchArray} match\n * @param {CallbackResponse} response\n */\nfunction skipIfHasPrecedingDot(match, response) {\n const before = match.input[match.index - 1];\n if (before === \".\") {\n response.ignoreMatch();\n }\n}\n\n/**\n *\n * @type {CompilerExt}\n */\nfunction scopeClassName(mode, _parent) {\n // eslint-disable-next-line no-undefined\n if (mode.className !== undefined) {\n mode.scope = mode.className;\n delete mode.className;\n }\n}\n\n/**\n * `beginKeywords` syntactic sugar\n * @type {CompilerExt}\n */\nfunction beginKeywords(mode, parent) {\n if (!parent) return;\n if (!mode.beginKeywords) return;\n\n // for languages with keywords that include non-word characters checking for\n // a word boundary is not sufficient, so instead we check for a word boundary\n // or whitespace - this does no harm in any case since our keyword engine\n // doesn't allow spaces in keywords anyways and we still check for the boundary\n // first\n mode.begin = '\\\\b(' + mode.beginKeywords.split(' ').join('|') + ')(?!\\\\.)(?=\\\\b|\\\\s)';\n mode.__beforeBegin = skipIfHasPrecedingDot;\n mode.keywords = mode.keywords || mode.beginKeywords;\n delete mode.beginKeywords;\n\n // prevents double relevance, the keywords themselves provide\n // relevance, the mode doesn't need to double it\n // eslint-disable-next-line no-undefined\n if (mode.relevance === undefined) mode.relevance = 0;\n}\n\n/**\n * Allow `illegal` to contain an array of illegal values\n * @type {CompilerExt}\n */\nfunction compileIllegal(mode, _parent) {\n if (!Array.isArray(mode.illegal)) return;\n\n mode.illegal = either(...mode.illegal);\n}\n\n/**\n * `match` to match a single expression for readability\n * @type {CompilerExt}\n */\nfunction compileMatch(mode, _parent) {\n if (!mode.match) return;\n if (mode.begin || mode.end) throw new Error(\"begin & end are not supported with match\");\n\n mode.begin = mode.match;\n delete mode.match;\n}\n\n/**\n * provides the default 1 relevance to all modes\n * @type {CompilerExt}\n */\nfunction compileRelevance(mode, _parent) {\n // eslint-disable-next-line no-undefined\n if (mode.relevance === undefined) mode.relevance = 1;\n}\n\n// allow beforeMatch to act as a \"qualifier\" for the match\n// the full match begin must be [beforeMatch][begin]\nconst beforeMatchExt = (mode, parent) => {\n if (!mode.beforeMatch) return;\n // starts conflicts with endsParent which we need to make sure the child\n // rule is not matched multiple times\n if (mode.starts) throw new Error(\"beforeMatch cannot be used with starts\");\n\n const originalMode = Object.assign({}, mode);\n Object.keys(mode).forEach((key) => { delete mode[key]; });\n\n mode.keywords = originalMode.keywords;\n mode.begin = concat(originalMode.beforeMatch, lookahead(originalMode.begin));\n mode.starts = {\n relevance: 0,\n contains: [\n Object.assign(originalMode, { endsParent: true })\n ]\n };\n mode.relevance = 0;\n\n delete originalMode.beforeMatch;\n};\n\n// keywords that should have no default relevance value\nconst COMMON_KEYWORDS = [\n 'of',\n 'and',\n 'for',\n 'in',\n 'not',\n 'or',\n 'if',\n 'then',\n 'parent', // common variable name\n 'list', // common variable name\n 'value' // common variable name\n];\n\nconst DEFAULT_KEYWORD_SCOPE = \"keyword\";\n\n/**\n * Given raw keywords from a language definition, compile them.\n *\n * @param {string | Record<string,string|string[]> | Array<string>} rawKeywords\n * @param {boolean} caseInsensitive\n */\nfunction compileKeywords(rawKeywords, caseInsensitive, scopeName = DEFAULT_KEYWORD_SCOPE) {\n /** @type KeywordDict */\n const compiledKeywords = Object.create(null);\n\n // input can be a string of keywords, an array of keywords, or a object with\n // named keys representing scopeName (which can then point to a string or array)\n if (typeof rawKeywords === 'string') {\n compileList(scopeName, rawKeywords.split(\" \"));\n } else if (Array.isArray(rawKeywords)) {\n compileList(scopeName, rawKeywords);\n } else {\n Object.keys(rawKeywords).forEach(function(scopeName) {\n // collapse all our objects back into the parent object\n Object.assign(\n compiledKeywords,\n compileKeywords(rawKeywords[scopeName], caseInsensitive, scopeName)\n );\n });\n }\n return compiledKeywords;\n\n // ---\n\n /**\n * Compiles an individual list of keywords\n *\n * Ex: \"for if when while|5\"\n *\n * @param {string} scopeName\n * @param {Array<string>} keywordList\n */\n function compileList(scopeName, keywordList) {\n if (caseInsensitive) {\n keywordList = keywordList.map(x => x.toLowerCase());\n }\n keywordList.forEach(function(keyword) {\n const pair = keyword.split('|');\n compiledKeywords[pair[0]] = [scopeName, scoreForKeyword(pair[0], pair[1])];\n });\n }\n}\n\n/**\n * Returns the proper score for a given keyword\n *\n * Also takes into account comment keywords, which will be scored 0 UNLESS\n * another score has been manually assigned.\n * @param {string} keyword\n * @param {string} [providedScore]\n */\nfunction scoreForKeyword(keyword, providedScore) {\n // manual scores always win over common keywords\n // so you can force a score of 1 if you really insist\n if (providedScore) {\n return Number(providedScore);\n }\n\n return commonKeyword(keyword) ? 0 : 1;\n}\n\n/**\n * Determines if a given keyword is common or not\n *\n * @param {string} keyword */\nfunction commonKeyword(keyword) {\n return COMMON_KEYWORDS.includes(keyword.toLowerCase());\n}\n\n/*\n\nFor the reasoning behind this please see:\nhttps://github.com/highlightjs/highlight.js/issues/2880#issuecomment-747275419\n\n*/\n\n/**\n * @type {Record<string, boolean>}\n */\nconst seenDeprecations = {};\n\n/**\n * @param {string} message\n */\nconst error = (message) => {\n console.error(message);\n};\n\n/**\n * @param {string} message\n * @param {any} args\n */\nconst warn = (message, ...args) => {\n console.log(`WARN: ${message}`, ...args);\n};\n\n/**\n * @param {string} version\n * @param {string} message\n */\nconst deprecated = (version, message) => {\n if (seenDeprecations[`${version}/${message}`]) return;\n\n console.log(`Deprecated as of ${version}. ${message}`);\n seenDeprecations[`${version}/${message}`] = true;\n};\n\n/* eslint-disable no-throw-literal */\n\n/**\n@typedef {import('highlight.js').CompiledMode} CompiledMode\n*/\n\nconst MultiClassError = new Error();\n\n/**\n * Renumbers labeled scope names to account for additional inner match\n * groups that otherwise would break everything.\n *\n * Lets say we 3 match scopes:\n *\n * { 1 => ..., 2 => ..., 3 => ... }\n *\n * So what we need is a clean match like this:\n *\n * (a)(b)(c) => [ \"a\", \"b\", \"c\" ]\n *\n * But this falls apart with inner match groups:\n *\n * (a)(((b)))(c) => [\"a\", \"b\", \"b\", \"b\", \"c\" ]\n *\n * Our scopes are now \"out of alignment\" and we're repeating `b` 3 times.\n * What needs to happen is the numbers are remapped:\n *\n * { 1 => ..., 2 => ..., 5 => ... }\n *\n * We also need to know that the ONLY groups that should be output\n * are 1, 2, and 5. This function handles this behavior.\n *\n * @param {CompiledMode} mode\n * @param {Array<RegExp | string>} regexes\n * @param {{key: \"beginScope\"|\"endScope\"}} opts\n */\nfunction remapScopeNames(mode, regexes, { key }) {\n let offset = 0;\n const scopeNames = mode[key];\n /** @type Record<number,boolean> */\n const emit = {};\n /** @type Record<number,string> */\n const positions = {};\n\n for (let i = 1; i <= regexes.length; i++) {\n positions[i + offset] = scopeNames[i];\n emit[i + offset] = true;\n offset += countMatchGroups(regexes[i - 1]);\n }\n // we use _emit to keep track of which match groups are \"top-level\" to avoid double\n // output from inside match groups\n mode[key] = positions;\n mode[key]._emit = emit;\n mode[key]._multi = true;\n}\n\n/**\n * @param {CompiledMode} mode\n */\nfunction beginMultiClass(mode) {\n if (!Array.isArray(mode.begin)) return;\n\n if (mode.skip || mode.excludeBegin || mode.returnBegin) {\n error(\"skip, excludeBegin, returnBegin not compatible with beginScope: {}\");\n throw MultiClassError;\n }\n\n if (typeof mode.beginScope !== \"object\" || mode.beginScope === null) {\n error(\"beginScope must be object\");\n throw MultiClassError;\n }\n\n remapScopeNames(mode, mode.begin, { key: \"beginScope\" });\n mode.begin = _rewriteBackreferences(mode.begin, { joinWith: \"\" });\n}\n\n/**\n * @param {CompiledMode} mode\n */\nfunction endMultiClass(mode) {\n if (!Array.isArray(mode.end)) return;\n\n if (mode.skip || mode.excludeEnd || mode.returnEnd) {\n error(\"skip, excludeEnd, returnEnd not compatible with endScope: {}\");\n throw MultiClassError;\n }\n\n if (typeof mode.endScope !== \"object\" || mode.endScope === null) {\n error(\"endScope must be object\");\n throw MultiClassError;\n }\n\n remapScopeNames(mode, mode.end, { key: \"endScope\" });\n mode.end = _rewriteBackreferences(mode.end, { joinWith: \"\" });\n}\n\n/**\n * this exists only to allow `scope: {}` to be used beside `match:`\n * Otherwise `beginScope` would necessary and that would look weird\n\n {\n match: [ /def/, /\\w+/ ]\n scope: { 1: \"keyword\" , 2: \"title\" }\n }\n\n * @param {CompiledMode} mode\n */\nfunction scopeSugar(mode) {\n if (mode.scope && typeof mode.scope === \"object\" && mode.scope !== null) {\n mode.beginScope = mode.scope;\n delete mode.scope;\n }\n}\n\n/**\n * @param {CompiledMode} mode\n */\nfunction MultiClass(mode) {\n scopeSugar(mode);\n\n if (typeof mode.beginScope === \"string\") {\n mode.beginScope = { _wrap: mode.beginScope };\n }\n if (typeof mode.endScope === \"string\") {\n mode.endScope = { _wrap: mode.endScope };\n }\n\n beginMultiClass(mode);\n endMultiClass(mode);\n}\n\n/**\n@typedef {import('highlight.js').Mode} Mode\n@typedef {import('highlight.js').CompiledMode} CompiledMode\n@typedef {import('highlight.js').Language} Language\n@typedef {import('highlight.js').HLJSPlugin} HLJSPlugin\n@typedef {import('highlight.js').CompiledLanguage} CompiledLanguage\n*/\n\n// compilation\n\n/**\n * Compiles a language definition result\n *\n * Given the raw result of a language definition (Language), compiles this so\n * that it is ready for highlighting code.\n * @param {Language} language\n * @returns {CompiledLanguage}\n */\nfunction compileLanguage(language) {\n /**\n * Builds a regex with the case sensitivity of the current language\n *\n * @param {RegExp | string} value\n * @param {boolean} [global]\n */\n function langRe(value, global) {\n return new RegExp(\n source(value),\n 'm'\n + (language.case_insensitive ? 'i' : '')\n + (language.unicodeRegex ? 'u' : '')\n + (global ? 'g' : '')\n );\n }\n\n /**\n Stores multiple regular expressions and allows you to quickly search for\n them all in a string simultaneously - returning the first match. It does\n this by creating a huge (a|b|c) regex - each individual item wrapped with ()\n and joined by `|` - using match groups to track position. When a match is\n found checking which position in the array has content allows us to figure\n out which of the original regexes / match groups triggered the match.\n\n The match object itself (the result of `Regex.exec`) is returned but also\n enhanced by merging in any meta-data that was registered with the regex.\n This is how we keep track of which mode matched, and what type of rule\n (`illegal`, `begin`, end, etc).\n */\n class MultiRegex {\n constructor() {\n this.matchIndexes = {};\n // @ts-ignore\n this.regexes = [];\n this.matchAt = 1;\n this.position = 0;\n }\n\n // @ts-ignore\n addRule(re, opts) {\n opts.position = this.position++;\n // @ts-ignore\n this.matchIndexes[this.matchAt] = opts;\n this.regexes.push([opts, re]);\n this.matchAt += countMatchGroups(re) + 1;\n }\n\n compile() {\n if (this.regexes.length === 0) {\n // avoids the need to check length every time exec is called\n // @ts-ignore\n this.exec = () => null;\n }\n const terminators = this.regexes.map(el => el[1]);\n this.matcherRe = langRe(_rewriteBackreferences(terminators, { joinWith: '|' }), true);\n this.lastIndex = 0;\n }\n\n /** @param {string} s */\n exec(s) {\n this.matcherRe.lastIndex = this.lastIndex;\n const match = this.matcherRe.exec(s);\n if (!match) { return null; }\n\n // eslint-disable-next-line no-undefined\n const i = match.findIndex((el, i) => i > 0 && el !== undefined);\n // @ts-ignore\n const matchData = this.matchIndexes[i];\n // trim off any earlier non-relevant match groups (ie, the other regex\n // match groups that make up the multi-matcher)\n match.splice(0, i);\n\n return Object.assign(match, matchData);\n }\n }\n\n /*\n Created to solve the key deficiently with MultiRegex - there is no way to\n test for multiple matches at a single location. Why would we need to do\n that? In the future a more dynamic engine will allow certain matches to be\n ignored. An example: if we matched say the 3rd regex in a large group but\n decided to ignore it - we'd need to started testing again at the 4th\n regex... but MultiRegex itself gives us no real way to do that.\n\n So what this class creates MultiRegexs on the fly for whatever search\n position they are needed.\n\n NOTE: These additional MultiRegex objects are created dynamically. For most\n grammars most of the time we will never actually need anything more than the\n first MultiRegex - so this shouldn't have too much overhead.\n\n Say this is our search group, and we match regex3, but wish to ignore it.\n\n regex1 | regex2 | regex3 | regex4 | regex5 ' ie, startAt = 0\n\n What we need is a new MultiRegex that only includes the remaining\n possibilities:\n\n regex4 | regex5 ' ie, startAt = 3\n\n This class wraps all that complexity up in a simple API... `startAt` decides\n where in the array of expressions to start doing the matching. It\n auto-increments, so if a match is found at position 2, then startAt will be\n set to 3. If the end is reached startAt will return to 0.\n\n MOST of the time the parser will be setting startAt manually to 0.\n */\n class ResumableMultiRegex {\n constructor() {\n // @ts-ignore\n this.rules = [];\n // @ts-ignore\n this.multiRegexes = [];\n this.count = 0;\n\n this.lastIndex = 0;\n this.regexIndex = 0;\n }\n\n // @ts-ignore\n getMatcher(index) {\n if (this.multiRegexes[index]) return this.multiRegexes[index];\n\n const matcher = new MultiRegex();\n this.rules.slice(index).forEach(([re, opts]) => matcher.addRule(re, opts));\n matcher.compile();\n this.multiRegexes[index] = matcher;\n return matcher;\n }\n\n resumingScanAtSamePosition() {\n return this.regexIndex !== 0;\n }\n\n considerAll() {\n this.regexIndex = 0;\n }\n\n // @ts-ignore\n addRule(re, opts) {\n this.rules.push([re, opts]);\n if (opts.type === \"begin\") this.count++;\n }\n\n /** @param {string} s */\n exec(s) {\n const m = this.getMatcher(this.regexIndex);\n m.lastIndex = this.lastIndex;\n let result = m.exec(s);\n\n // The following is because we have no easy way to say \"resume scanning at the\n // existing position but also skip the current rule ONLY\". What happens is\n // all prior rules are also skipped which can result in matching the wrong\n // thing. Example of matching \"booger\":\n\n // our matcher is [string, \"booger\", number]\n //\n // ....booger....\n\n // if \"booger\" is ignored then we'd really need a regex to scan from the\n // SAME position for only: [string, number] but ignoring \"booger\" (if it\n // was the first match), a simple resume would scan ahead who knows how\n // far looking only for \"number\", ignoring potential string matches (or\n // future \"booger\" matches that might be valid.)\n\n // So what we do: We execute two matchers, one resuming at the same\n // position, but the second full matcher starting at the position after:\n\n // /--- resume first regex match here (for [number])\n // |/---- full match here for [string, \"booger\", number]\n // vv\n // ....booger....\n\n // Which ever results in a match first is then used. So this 3-4 step\n // process essentially allows us to say \"match at this position, excluding\n // a prior rule that was ignored\".\n //\n // 1. Match \"booger\" first, ignore. Also proves that [string] does non match.\n // 2. Resume matching for [number]\n // 3. Match at index + 1 for [string, \"booger\", number]\n // 4. If #2 and #3 result in matches, which came first?\n if (this.resumingScanAtSamePosition()) {\n if (result && result.index === this.lastIndex) ; else { // use the second matcher result\n const m2 = this.getMatcher(0);\n m2.lastIndex = this.lastIndex + 1;\n result = m2.exec(s);\n }\n }\n\n if (result) {\n this.regexIndex += result.position + 1;\n if (this.regexIndex === this.count) {\n // wrap-around to considering all matches again\n this.considerAll();\n }\n }\n\n return result;\n }\n }\n\n /**\n * Given a mode, builds a huge ResumableMultiRegex that can be used to walk\n * the content and find matches.\n *\n * @param {CompiledMode} mode\n * @returns {ResumableMultiRegex}\n */\n function buildModeRegex(mode) {\n const mm = new ResumableMultiRegex();\n\n mode.contains.forEach(term => mm.addRule(term.begin, { rule: term, type: \"begin\" }));\n\n if (mode.terminatorEnd) {\n mm.addRule(mode.terminatorEnd, { type: \"end\" });\n }\n if (mode.illegal) {\n mm.addRule(mode.illegal, { type: \"illegal\" });\n }\n\n return mm;\n }\n\n /** skip vs abort vs ignore\n *\n * @skip - The mode is still entered and exited normally (and contains rules apply),\n * but all content is held and added to the parent buffer rather than being\n * output when the mode ends. Mostly used with `sublanguage` to build up\n * a single large buffer than can be parsed by sublanguage.\n *\n * - The mode begin ands ends normally.\n * - Content matched is added to the parent mode buffer.\n * - The parser cursor is moved forward normally.\n *\n * @abort - A hack placeholder until we have ignore. Aborts the mode (as if it\n * never matched) but DOES NOT continue to match subsequent `contains`\n * modes. Abort is bad/suboptimal because it can result in modes\n * farther down not getting applied because an earlier rule eats the\n * content but then aborts.\n *\n * - The mode does not begin.\n * - Content matched by `begin` is added to the mode buffer.\n * - The parser cursor is moved forward accordingly.\n *\n * @ignore - Ignores the mode (as if it never matched) and continues to match any\n * subsequent `contains` modes. Ignore isn't technically possible with\n * the current parser implementation.\n *\n * - The mode does not begin.\n * - Content matched by `begin` is ignored.\n * - The parser cursor is not moved forward.\n */\n\n /**\n * Compiles an individual mode\n *\n * This can raise an error if the mode contains certain detectable known logic\n * issues.\n * @param {Mode} mode\n * @param {CompiledMode | null} [parent]\n * @returns {CompiledMode | never}\n */\n function compileMode(mode, parent) {\n const cmode = /** @type CompiledMode */ (mode);\n if (mode.isCompiled) return cmode;\n\n [\n scopeClassName,\n // do this early so compiler extensions generally don't have to worry about\n // the distinction between match/begin\n compileMatch,\n MultiClass,\n beforeMatchExt\n ].forEach(ext => ext(mode, parent));\n\n language.compilerExtensions.forEach(ext => ext(mode, parent));\n\n // __beforeBegin is considered private API, internal use only\n mode.__beforeBegin = null;\n\n [\n beginKeywords,\n // do this later so compiler extensions that come earlier have access to the\n // raw array if they wanted to perhaps manipulate it, etc.\n compileIllegal,\n // default to 1 relevance if not specified\n compileRelevance\n ].forEach(ext => ext(mode, parent));\n\n mode.isCompiled = true;\n\n let keywordPattern = null;\n if (typeof mode.keywords === \"object\" && mode.keywords.$pattern) {\n // we need a copy because keywords might be compiled multiple times\n // so we can't go deleting $pattern from the original on the first\n // pass\n mode.keywords = Object.assign({}, mode.keywords);\n keywordPattern = mode.keywords.$pattern;\n delete mode.keywords.$pattern;\n }\n keywordPattern = keywordPattern || /\\w+/;\n\n if (mode.keywords) {\n mode.keywords = compileKeywords(mode.keywords, language.case_insensitive);\n }\n\n cmode.keywordPatternRe = langRe(keywordPattern, true);\n\n if (parent) {\n if (!mode.begin) mode.begin = /\\B|\\b/;\n cmode.beginRe = langRe(cmode.begin);\n if (!mode.end && !mode.endsWithParent) mode.end = /\\B|\\b/;\n if (mode.end) cmode.endRe = langRe(cmode.end);\n cmode.terminatorEnd = source(cmode.end) || '';\n if (mode.endsWithParent && parent.terminatorEnd) {\n cmode.terminatorEnd += (mode.end ? '|' : '') + parent.terminatorEnd;\n }\n }\n if (mode.illegal) cmode.illegalRe = langRe(/** @type {RegExp | string} */ (mode.illegal));\n if (!mode.contains) mode.contains = [];\n\n mode.contains = [].concat(...mode.contains.map(function(c) {\n return expandOrCloneMode(c === 'self' ? mode : c);\n }));\n mode.contains.forEach(function(c) { compileMode(/** @type Mode */ (c), cmode); });\n\n if (mode.starts) {\n compileMode(mode.starts, parent);\n }\n\n cmode.matcher = buildModeRegex(cmode);\n return cmode;\n }\n\n if (!language.compilerExtensions) language.compilerExtensions = [];\n\n // self is not valid at the top-level\n if (language.contains && language.contains.includes('self')) {\n throw new Error(\"ERR: contains `self` is not supported at the top-level of a language. See documentation.\");\n }\n\n // we need a null object, which inherit will guarantee\n language.classNameAliases = inherit$1(language.classNameAliases || {});\n\n return compileMode(/** @type Mode */ (language));\n}\n\n/**\n * Determines if a mode has a dependency on it's parent or not\n *\n * If a mode does have a parent dependency then often we need to clone it if\n * it's used in multiple places so that each copy points to the correct parent,\n * where-as modes without a parent can often safely be re-used at the bottom of\n * a mode chain.\n *\n * @param {Mode | null} mode\n * @returns {boolean} - is there a dependency on the parent?\n * */\nfunction dependencyOnParent(mode) {\n if (!mode) return false;\n\n return mode.endsWithParent || dependencyOnParent(mode.starts);\n}\n\n/**\n * Expands a mode or clones it if necessary\n *\n * This is necessary for modes with parental dependenceis (see notes on\n * `dependencyOnParent`) and for nodes that have `variants` - which must then be\n * exploded into their own individual modes at compile time.\n *\n * @param {Mode} mode\n * @returns {Mode | Mode[]}\n * */\nfunction expandOrCloneMode(mode) {\n if (mode.variants && !mode.cachedVariants) {\n mode.cachedVariants = mode.variants.map(function(variant) {\n return inherit$1(mode, { variants: null }, variant);\n });\n }\n\n // EXPAND\n // if we have variants then essentially \"replace\" the mode with the variants\n // this happens in compileMode, where this function is called from\n if (mode.cachedVariants) {\n return mode.cachedVariants;\n }\n\n // CLONE\n // if we have dependencies on parents then we need a unique\n // instance of ourselves, so we can be reused with many\n // different parents without issue\n if (dependencyOnParent(mode)) {\n return inherit$1(mode, { starts: mode.starts ? inherit$1(mode.starts) : null });\n }\n\n if (Object.isFrozen(mode)) {\n return inherit$1(mode);\n }\n\n // no special dependency issues, just return ourselves\n return mode;\n}\n\nvar version = \"11.5.1\";\n\nclass HTMLInjectionError extends Error {\n constructor(reason, html) {\n super(reason);\n this.name = \"HTMLInjectionError\";\n this.html = html;\n }\n}\n\n/*\nSyntax highlighting with language autodetection.\nhttps://highlightjs.org/\n*/\n\n/**\n@typedef {import('highlight.js').Mode} Mode\n@typedef {import('highlight.js').CompiledMode} CompiledMode\n@typedef {import('highlight.js').CompiledScope} CompiledScope\n@typedef {import('highlight.js').Language} Language\n@typedef {import('highlight.js').HLJSApi} HLJSApi\n@typedef {import('highlight.js').HLJSPlugin} HLJSPlugin\n@typedef {import('highlight.js').PluginEvent} PluginEvent\n@typedef {import('highlight.js').HLJSOptions} HLJSOptions\n@typedef {import('highlight.js').LanguageFn} LanguageFn\n@typedef {import('highlight.js').HighlightedHTMLElement} HighlightedHTMLElement\n@typedef {import('highlight.js').BeforeHighlightContext} BeforeHighlightContext\n@typedef {import('highlight.js/private').MatchType} MatchType\n@typedef {import('highlight.js/private').KeywordData} KeywordData\n@typedef {import('highlight.js/private').EnhancedMatch} EnhancedMatch\n@typedef {import('highlight.js/private').AnnotatedError} AnnotatedError\n@typedef {import('highlight.js').AutoHighlightResult} AutoHighlightResult\n@typedef {import('highlight.js').HighlightOptions} HighlightOptions\n@typedef {import('highlight.js').HighlightResult} HighlightResult\n*/\n\n\nconst escape = escapeHTML;\nconst inherit = inherit$1;\nconst NO_MATCH = Symbol(\"nomatch\");\nconst MAX_KEYWORD_HITS = 7;\n\n/**\n * @param {any} hljs - object that is extended (legacy)\n * @returns {HLJSApi}\n */\nconst HLJS = function(hljs) {\n // Global internal variables used within the highlight.js library.\n /** @type {Record<string, Language>} */\n const languages = Object.create(null);\n /** @type {Record<string, string>} */\n const aliases = Object.create(null);\n /** @type {HLJSPlugin[]} */\n const plugins = [];\n\n // safe/production mode - swallows more errors, tries to keep running\n // even if a single syntax or parse hits a fatal error\n let SAFE_MODE = true;\n const LANGUAGE_NOT_FOUND = \"Could not find the language '{}', did you forget to load/include a language module?\";\n /** @type {Language} */\n const PLAINTEXT_LANGUAGE = { disableAutodetect: true, name: 'Plain text', contains: [] };\n\n // Global options used when within external APIs. This is modified when\n // calling the `hljs.configure` function.\n /** @type HLJSOptions */\n let options = {\n ignoreUnescapedHTML: false,\n throwUnescapedHTML: false,\n noHighlightRe: /^(no-?highlight)$/i,\n languageDetectRe: /\\blang(?:uage)?-([\\w-]+)\\b/i,\n classPrefix: 'hljs-',\n cssSelector: 'pre code',\n languages: null,\n // beta configuration options, subject to change, welcome to discuss\n // https://github.com/highlightjs/highlight.js/issues/1086\n __emitter: TokenTreeEmitter\n };\n\n /* Utility functions */\n\n /**\n * Tests a language name to see if highlighting should be skipped\n * @param {string} languageName\n */\n function shouldNotHighlight(languageName) {\n return options.noHighlightRe.test(languageName);\n }\n\n /**\n * @param {HighlightedHTMLElement} block - the HTML element to determine language for\n */\n function blockLanguage(block) {\n let classes = block.className + ' ';\n\n classes += block.parentNode ? block.parentNode.className : '';\n\n // language-* takes precedence over non-prefixed class names.\n const match = options.languageDetectRe.exec(classes);\n if (match) {\n const language = getLanguage(match[1]);\n if (!language) {\n warn(LANGUAGE_NOT_FOUND.replace(\"{}\", match[1]));\n warn(\"Falling back to no-highlight mode for this block.\", block);\n }\n return language ? match[1] : 'no-highlight';\n }\n\n return classes\n .split(/\\s+/)\n .find((_class) => shouldNotHighlight(_class) || getLanguage(_class));\n }\n\n /**\n * Core highlighting function.\n *\n * OLD API\n * highlight(lang, code, ignoreIllegals, continuation)\n *\n * NEW API\n * highlight(code, {lang, ignoreIllegals})\n *\n * @param {string} codeOrLanguageName - the language to use for highlighting\n * @param {string | HighlightOptions} optionsOrCode - the code to highlight\n * @param {boolean} [ignoreIllegals] - whether to ignore illegal matches, default is to bail\n *\n * @returns {HighlightResult} Result - an object that represents the result\n * @property {string} language - the language name\n * @property {number} relevance - the relevance score\n * @property {string} value - the highlighted HTML code\n * @property {string} code - the original raw code\n * @property {CompiledMode} top - top of the current mode stack\n * @property {boolean} illegal - indicates whether any illegal matches were found\n */\n function highlight(codeOrLanguageName, optionsOrCode, ignoreIllegals) {\n let code = \"\";\n let languageName = \"\";\n if (typeof optionsOrCode === \"object\") {\n code = codeOrLanguageName;\n ignoreIllegals = optionsOrCode.ignoreIllegals;\n languageName = optionsOrCode.language;\n } else {\n // old API\n deprecated(\"10.7.0\", \"highlight(lang, code, ...args) has been deprecated.\");\n deprecated(\"10.7.0\", \"Please use highlight(code, options) instead.\\nhttps://github.com/highlightjs/highlight.js/issues/2277\");\n languageName = codeOrLanguageName;\n code = optionsOrCode;\n }\n\n // https://github.com/highlightjs/highlight.js/issues/3149\n // eslint-disable-next-line no-undefined\n if (ignoreIllegals === undefined) { ignoreIllegals = true; }\n\n /** @type {BeforeHighlightContext} */\n const context = {\n code,\n language: languageName\n };\n // the plugin can change the desired language or the code to be highlighted\n // just be changing the object it was passed\n fire(\"before:highlight\", context);\n\n // a before plugin can usurp the result completely by providing it's own\n // in which case we don't even need to call highlight\n const result = context.result\n ? context.result\n : _highlight(context.language, context.code, ignoreIllegals);\n\n result.code = context.code;\n // the plugin can change anything in result to suite it\n fire(\"after:highlight\", result);\n\n return result;\n }\n\n /**\n * private highlight that's used internally and does not fire callbacks\n *\n * @param {string} languageName - the language to use for highlighting\n * @param {string} codeToHighlight - the code to highlight\n * @param {boolean?} [ignoreIllegals] - whether to ignore illegal matches, default is to bail\n * @param {CompiledMode?} [continuation] - current continuation mode, if any\n * @returns {HighlightResult} - result of the highlight operation\n */\n function _highlight(languageName, codeToHighlight, ignoreIllegals, continuation) {\n const keywordHits = Object.create(null);\n\n /**\n * Return keyword data if a match is a keyword\n * @param {CompiledMode} mode - current mode\n * @param {string} matchText - the textual match\n * @returns {KeywordData | false}\n */\n function keywordData(mode, matchText) {\n return mode.keywords[matchText];\n }\n\n function processKeywords() {\n if (!top.keywords) {\n emitter.addText(modeBuffer);\n return;\n }\n\n let lastIndex = 0;\n top.keywordPatternRe.lastIndex = 0;\n let match = top.keywordPatternRe.exec(modeBuffer);\n let buf = \"\";\n\n while (match) {\n buf += modeBuffer.substring(lastIndex, match.index);\n const word = language.case_insensitive ? match[0].toLowerCase() : match[0];\n const data = keywordData(top, word);\n if (data) {\n const [kind, keywordRelevance] = data;\n emitter.addText(buf);\n buf = \"\";\n\n keywordHits[word] = (keywordHits[word] || 0) + 1;\n if (keywordHits[word] <= MAX_KEYWORD_HITS) relevance += keywordRelevance;\n if (kind.startsWith(\"_\")) {\n // _ implied for relevance only, do not highlight\n // by applying a class name\n buf += match[0];\n } else {\n const cssClass = language.classNameAliases[kind] || kind;\n emitter.addKeyword(match[0], cssClass);\n }\n } else {\n buf += match[0];\n }\n lastIndex = top.keywordPatternRe.lastIndex;\n match = top.keywordPatternRe.exec(modeBuffer);\n }\n buf += modeBuffer.substr(lastIndex);\n emitter.addText(buf);\n }\n\n function processSubLanguage() {\n if (modeBuffer === \"\") return;\n /** @type HighlightResult */\n let result = null;\n\n if (typeof top.subLanguage === 'string') {\n if (!languages[top.subLanguage]) {\n emitter.addText(modeBuffer);\n return;\n }\n result = _highlight(top.subLanguage, modeBuffer, true, continuations[top.subLanguage]);\n continuations[top.subLanguage] = /** @type {CompiledMode} */ (result._top);\n } else {\n result = highlightAuto(modeBuffer, top.subLanguage.length ? top.subLanguage : null);\n }\n\n // Counting embedded language score towards the host language may be disabled\n // with zeroing the containing mode relevance. Use case in point is Markdown that\n // allows XML everywhere and makes every XML snippet to have a much larger Markdown\n // score.\n if (top.relevance > 0) {\n relevance += result.relevance;\n }\n emitter.addSublanguage(result._emitter, result.language);\n }\n\n function processBuffer() {\n if (top.subLanguage != null) {\n processSubLanguage();\n } else {\n processKeywords();\n }\n modeBuffer = '';\n }\n\n /**\n * @param {CompiledScope} scope\n * @param {RegExpMatchArray} match\n */\n function emitMultiClass(scope, match) {\n let i = 1;\n const max = match.length - 1;\n while (i <= max) {\n if (!scope._emit[i]) { i++; continue; }\n const klass = language.classNameAliases[scope[i]] || scope[i];\n const text = match[i];\n if (klass) {\n emitter.addKeyword(text, klass);\n } else {\n modeBuffer = text;\n processKeywords();\n modeBuffer = \"\";\n }\n i++;\n }\n }\n\n /**\n * @param {CompiledMode} mode - new mode to start\n * @param {RegExpMatchArray} match\n */\n function startNewMode(mode, match) {\n if (mode.scope && typeof mode.scope === \"string\") {\n emitter.openNode(language.classNameAliases[mode.scope] || mode.scope);\n }\n if (mode.beginScope) {\n // beginScope just wraps the begin match itself in a scope\n if (mode.beginScope._wrap) {\n emitter.addKeyword(modeBuffer, language.classNameAliases[mode.beginScope._wrap] || mode.beginScope._wrap);\n modeBuffer = \"\";\n } else if (mode.beginScope._multi) {\n // at this point modeBuffer should just be the match\n emitMultiClass(mode.beginScope, match);\n modeBuffer = \"\";\n }\n }\n\n top = Object.create(mode, { parent: { value: top } });\n return top;\n }\n\n /**\n * @param {CompiledMode } mode - the mode to potentially end\n * @param {RegExpMatchArray} match - the latest match\n * @param {string} matchPlusRemainder - match plus remainder of content\n * @returns {CompiledMode | void} - the next mode, or if void continue on in current mode\n */\n function endOfMode(mode, match, matchPlusRemainder) {\n let matched = startsWith(mode.endRe, matchPlusRemainder);\n\n if (matched) {\n if (mode[\"on:end\"]) {\n const resp = new Response(mode);\n mode[\"on:end\"](match, resp);\n if (resp.isMatchIgnored) matched = false;\n }\n\n if (matched) {\n while (mode.endsParent && mode.parent) {\n mode = mode.parent;\n }\n return mode;\n }\n }\n // even if on:end fires an `ignore` it's still possible\n // that we might trigger the end node because of a parent mode\n if (mode.endsWithParent) {\n return endOfMode(mode.parent, match, matchPlusRemainder);\n }\n }\n\n /**\n * Handle matching but then ignoring a sequence of text\n *\n * @param {string} lexeme - string containing full match text\n */\n function doIgnore(lexeme) {\n if (top.matcher.regexIndex === 0) {\n // no more regexes to potentially match here, so we move the cursor forward one\n // space\n modeBuffer += lexeme[0];\n return 1;\n } else {\n // no need to move the cursor, we still have additional regexes to try and\n // match at this very spot\n resumeScanAtSamePosition = true;\n return 0;\n }\n }\n\n /**\n * Handle the start of a new potential mode match\n *\n * @param {EnhancedMatch} match - the current match\n * @returns {number} how far to advance the parse cursor\n */\n function doBeginMatch(match) {\n const lexeme = match[0];\n const newMode = match.rule;\n\n const resp = new Response(newMode);\n // first internal before callbacks, then the public ones\n const beforeCallbacks = [newMode.__beforeBegin, newMode[\"on:begin\"]];\n for (const cb of beforeCallbacks) {\n if (!cb) continue;\n cb(match, resp);\n if (resp.isMatchIgnored) return doIgnore(lexeme);\n }\n\n if (newMode.skip) {\n modeBuffer += lexeme;\n } else {\n if (newMode.excludeBegin) {\n modeBuffer += lexeme;\n }\n processBuffer();\n if (!newMode.returnBegin && !newMode.excludeBegin) {\n modeBuffer = lexeme;\n }\n }\n startNewMode(newMode, match);\n return newMode.returnBegin ? 0 : lexeme.length;\n }\n\n /**\n * Handle the potential end of mode\n *\n * @param {RegExpMatchArray} match - the current match\n */\n function doEndMatch(match) {\n const lexeme = match[0];\n const matchPlusRemainder = codeToHighlight.substr(match.index);\n\n const endMode = endOfMode(top, match, matchPlusRemainder);\n if (!endMode) { return NO_MATCH; }\n\n const origin = top;\n if (top.endScope && top.endScope._wrap) {\n processBuffer();\n emitter.addKeyword(lexeme, top.endScope._wrap);\n } else if (top.endScope && top.endScope._multi) {\n processBuffer();\n emitMultiClass(top.endScope, match);\n } else if (origin.skip) {\n modeBuffer += lexeme;\n } else {\n if (!(origin.returnEnd || origin.excludeEnd)) {\n modeBuffer += lexeme;\n }\n processBuffer();\n if (origin.excludeEnd) {\n modeBuffer = lexeme;\n }\n }\n do {\n if (top.scope) {\n emitter.closeNode();\n }\n if (!top.skip && !top.subLanguage) {\n relevance += top.relevance;\n }\n top = top.parent;\n } while (top !== endMode.parent);\n if (endMode.starts) {\n startNewMode(endMode.starts, match);\n }\n return origin.returnEnd ? 0 : lexeme.length;\n }\n\n function processContinuations() {\n const list = [];\n for (let current = top; current !== language; current = current.parent) {\n if (current.scope) {\n list.unshift(current.scope);\n }\n }\n list.forEach(item => emitter.openNode(item));\n }\n\n /** @type {{type?: MatchType, index?: number, rule?: Mode}}} */\n let lastMatch = {};\n\n /**\n * Process an individual match\n *\n * @param {string} textBeforeMatch - text preceding the match (since the last match)\n * @param {EnhancedMatch} [match] - the match itself\n */\n function processLexeme(textBeforeMatch, match) {\n const lexeme = match && match[0];\n\n // add non-matched text to the current mode buffer\n modeBuffer += textBeforeMatch;\n\n if (lexeme == null) {\n processBuffer();\n return 0;\n }\n\n // we've found a 0 width match and we're stuck, so we need to advance\n // this happens when we have badly behaved rules that have optional matchers to the degree that\n // sometimes they can end up matching nothing at all\n // Ref: https://github.com/highlightjs/highlight.js/issues/2140\n if (lastMatch.type === \"begin\" && match.type === \"end\" && lastMatch.index === match.index && lexeme === \"\") {\n // spit the \"skipped\" character that our regex choked on back into the output sequence\n modeBuffer += codeToHighlight.slice(match.index, match.index + 1);\n if (!SAFE_MODE) {\n /** @type {AnnotatedError} */\n const err = new Error(`0 width match regex (${languageName})`);\n err.languageName = languageName;\n err.badRule = lastMatch.rule;\n throw err;\n }\n return 1;\n }\n lastMatch = match;\n\n if (match.type === \"begin\") {\n return doBeginMatch(match);\n } else if (match.type === \"illegal\" && !ignoreIllegals) {\n // illegal match, we do not continue processing\n /** @type {AnnotatedError} */\n const err = new Error('Illegal lexeme \"' + lexeme + '\" for mode \"' + (top.scope || '<unnamed>') + '\"');\n err.mode = top;\n throw err;\n } else if (match.type === \"end\") {\n const processed = doEndMatch(match);\n if (processed !== NO_MATCH) {\n return processed;\n }\n }\n\n // edge case for when illegal matches $ (end of line) which is technically\n // a 0 width match but not a begin/end match so it's not caught by the\n // first handler (when ignoreIllegals is true)\n if (match.type === \"illegal\" && lexeme === \"\") {\n // advance so we aren't stuck in an infinite loop\n return 1;\n }\n\n // infinite loops are BAD, this is a last ditch catch all. if we have a\n // decent number of iterations yet our index (cursor position in our\n // parsing) still 3x behind our index then something is very wrong\n // so we bail\n if (iterations > 100000 && iterations > match.index * 3) {\n const err = new Error('potential infinite loop, way more iterations than matches');\n throw err;\n }\n\n /*\n Why might be find ourselves here? An potential end match that was\n triggered but could not be completed. IE, `doEndMatch` returned NO_MATCH.\n (this could be because a callback requests the match be ignored, etc)\n\n This causes no real harm other than stopping a few times too many.\n */\n\n modeBuffer += lexeme;\n return lexeme.length;\n }\n\n const language = getLanguage(languageName);\n if (!language) {\n error(LANGUAGE_NOT_FOUND.replace(\"{}\", languageName));\n throw new Error('Unknown language: \"' + languageName + '\"');\n }\n\n const md = compileLanguage(language);\n let result = '';\n /** @type {CompiledMode} */\n let top = continuation || md;\n /** @type Record<string,CompiledMode> */\n const continuations = {}; // keep continuations for sub-languages\n const emitter = new options.__emitter(options);\n processContinuations();\n let modeBuffer = '';\n let relevance = 0;\n let index = 0;\n let iterations = 0;\n let resumeScanAtSamePosition = false;\n\n try {\n top.matcher.considerAll();\n\n for (;;) {\n iterations++;\n if (resumeScanAtSamePosition) {\n // only regexes not matched previously will now be\n // considered for a potential match\n resumeScanAtSamePosition = false;\n } else {\n top.matcher.considerAll();\n }\n top.matcher.lastIndex = index;\n\n const match = top.matcher.exec(codeToHighlight);\n // console.log(\"match\", match[0], match.rule && match.rule.begin)\n\n if (!match) break;\n\n const beforeMatch = codeToHighlight.substring(index, match.index);\n const processedCount = processLexeme(beforeMatch, match);\n index = match.index + processedCount;\n }\n processLexeme(codeToHighlight.substr(index));\n emitter.closeAllNodes();\n emitter.finalize();\n result = emitter.toHTML();\n\n return {\n language: languageName,\n value: result,\n relevance: relevance,\n illegal: false,\n _emitter: emitter,\n _top: top\n };\n } catch (err) {\n if (err.message && err.message.includes('Illegal')) {\n return {\n language: languageName,\n value: escape(codeToHighlight),\n illegal: true,\n relevance: 0,\n _illegalBy: {\n message: err.message,\n index: index,\n context: codeToHighlight.slice(index - 100, index + 100),\n mode: err.mode,\n resultSoFar: result\n },\n _emitter: emitter\n };\n } else if (SAFE_MODE) {\n return {\n language: languageName,\n value: escape(codeToHighlight),\n illegal: false,\n relevance: 0,\n errorRaised: err,\n _emitter: emitter,\n _top: top\n };\n } else {\n throw err;\n }\n }\n }\n\n /**\n * returns a valid highlight result, without actually doing any actual work,\n * auto highlight starts with this and it's possible for small snippets that\n * auto-detection may not find a better match\n * @param {string} code\n * @returns {HighlightResult}\n */\n function justTextHighlightResult(code) {\n const result = {\n value: escape(code),\n illegal: false,\n relevance: 0,\n _top: PLAINTEXT_LANGUAGE,\n _emitter: new options.__emitter(options)\n };\n result._emitter.addText(code);\n return result;\n }\n\n /**\n Highlighting with language detection. Accepts a string with the code to\n highlight. Returns an object with the following properties:\n\n - language (detected language)\n - relevance (int)\n - value (an HTML string with highlighting markup)\n - secondBest (object with the same structure for second-best heuristically\n detected language, may be absent)\n\n @param {string} code\n @param {Array<string>} [languageSubset]\n @returns {AutoHighlightResult}\n */\n function highlightAuto(code, languageSubset) {\n languageSubset = languageSubset || options.languages || Object.keys(languages);\n const plaintext = justTextHighlightResult(code);\n\n const results = languageSubset.filter(getLanguage).filter(autoDetection).map(name =>\n _highlight(name, code, false)\n );\n results.unshift(plaintext); // plaintext is always an option\n\n const sorted = results.sort((a, b) => {\n // sort base on relevance\n if (a.relevance !== b.relevance) return b.relevance - a.relevance;\n\n // always award the tie to the base language\n // ie if C++ and Arduino are tied, it's more likely to be C++\n if (a.language && b.language) {\n if (getLanguage(a.language).supersetOf === b.language) {\n return 1;\n } else if (getLanguage(b.language).supersetOf === a.language) {\n return -1;\n }\n }\n\n // otherwise say they are equal, which has the effect of sorting on\n // relevance while preserving the original ordering - which is how ties\n // have historically been settled, ie the language that comes first always\n // wins in the case of a tie\n return 0;\n });\n\n const [best, secondBest] = sorted;\n\n /** @type {AutoHighlightResult} */\n const result = best;\n result.secondBest = secondBest;\n\n return result;\n }\n\n /**\n * Builds new class name for block given the language name\n *\n * @param {HTMLElement} element\n * @param {string} [currentLang]\n * @param {string} [resultLang]\n */\n function updateClassName(element, currentLang, resultLang) {\n const language = (currentLang && aliases[currentLang]) || resultLang;\n\n element.classList.add(\"hljs\");\n element.classList.add(`language-${language}`);\n }\n\n /**\n * Applies highlighting to a DOM node containing code.\n *\n * @param {HighlightedHTMLElement} element - the HTML element to highlight\n */\n function highlightElement(element) {\n /** @type HTMLElement */\n let node = null;\n const language = blockLanguage(element);\n\n if (shouldNotHighlight(language)) return;\n\n fire(\"before:highlightElement\",\n { el: element, language: language });\n\n // we should be all text, no child nodes (unescaped HTML) - this is possibly\n // an HTML injection attack - it's likely too late if this is already in\n // production (the code has likely already done its damage by the time\n // we're seeing it)... but we yell loudly about this so that hopefully it's\n // more likely to be caught in development before making it to production\n if (element.children.length > 0) {\n if (!options.ignoreUnescapedHTML) {\n console.warn(\"One of your code blocks includes unescaped HTML. This is a potentially serious security risk.\");\n console.warn(\"https://github.com/highlightjs/highlight.js/wiki/security\");\n console.warn(\"The element with unescaped HTML:\");\n console.warn(element);\n }\n if (options.throwUnescapedHTML) {\n const err = new HTMLInjectionError(\n \"One of your code blocks includes unescaped HTML.\",\n element.innerHTML\n );\n throw err;\n }\n }\n\n node = element;\n const text = node.textContent;\n const result = language ? highlight(text, { language, ignoreIllegals: true }) : highlightAuto(text);\n\n element.innerHTML = result.value;\n updateClassName(element, language, result.language);\n element.result = {\n language: result.language,\n // TODO: remove with version 11.0\n re: result.relevance,\n relevance: result.relevance\n };\n if (result.secondBest) {\n element.secondBest = {\n language: result.secondBest.language,\n relevance: result.secondBest.relevance\n };\n }\n\n fire(\"after:highlightElement\", { el: element, result, text });\n }\n\n /**\n * Updates highlight.js global options with the passed options\n *\n * @param {Partial<HLJSOptions>} userOptions\n */\n function configure(userOptions) {\n options = inherit(options, userOptions);\n }\n\n // TODO: remove v12, deprecated\n const initHighlighting = () => {\n highlightAll();\n deprecated(\"10.6.0\", \"initHighlighting() deprecated. Use highlightAll() now.\");\n };\n\n // TODO: remove v12, deprecated\n function initHighlightingOnLoad() {\n highlightAll();\n deprecated(\"10.6.0\", \"initHighlightingOnLoad() deprecated. Use highlightAll() now.\");\n }\n\n let wantsHighlight = false;\n\n /**\n * auto-highlights all pre>code elements on the page\n */\n function highlightAll() {\n // if we are called too early in the loading process\n if (document.readyState === \"loading\") {\n wantsHighlight = true;\n return;\n }\n\n const blocks = document.querySelectorAll(options.cssSelector);\n blocks.forEach(highlightElement);\n }\n\n function boot() {\n // if a highlight was requested before DOM was loaded, do now\n if (wantsHighlight) highlightAll();\n }\n\n // make sure we are in the browser environment\n if (typeof window !== 'undefined' && window.addEventListener) {\n window.addEventListener('DOMContentLoaded', boot, false);\n }\n\n /**\n * Register a language grammar module\n *\n * @param {string} languageName\n * @param {LanguageFn} languageDefinition\n */\n function registerLanguage(languageName, languageDefinition) {\n let lang = null;\n try {\n lang = languageDefinition(hljs);\n } catch (error$1) {\n error(\"Language definition for '{}' could not be registered.\".replace(\"{}\", languageName));\n // hard or soft error\n if (!SAFE_MODE) { throw error$1; } else { error(error$1); }\n // languages that have serious errors are replaced with essentially a\n // \"plaintext\" stand-in so that the code blocks will still get normal\n // css classes applied to them - and one bad language won't break the\n // entire highlighter\n lang = PLAINTEXT_LANGUAGE;\n }\n // give it a temporary name if it doesn't have one in the meta-data\n if (!lang.name) lang.name = languageName;\n languages[languageName] = lang;\n lang.rawDefinition = languageDefinition.bind(null, hljs);\n\n if (lang.aliases) {\n registerAliases(lang.aliases, { languageName });\n }\n }\n\n /**\n * Remove a language grammar module\n *\n * @param {string} languageName\n */\n function unregisterLanguage(languageName) {\n delete languages[languageName];\n for (const alias of Object.keys(aliases)) {\n if (aliases[alias] === languageName) {\n delete aliases[alias];\n }\n }\n }\n\n /**\n * @returns {string[]} List of language internal names\n */\n function listLanguages() {\n return Object.keys(languages);\n }\n\n /**\n * @param {string} name - name of the language to retrieve\n * @returns {Language | undefined}\n */\n function getLanguage(name) {\n name = (name || '').toLowerCase();\n return languages[name] || languages[aliases[name]];\n }\n\n /**\n *\n * @param {string|string[]} aliasList - single alias or list of aliases\n * @param {{languageName: string}} opts\n */\n function registerAliases(aliasList, { languageName }) {\n if (typeof aliasList === 'string') {\n aliasList = [aliasList];\n }\n aliasList.forEach(alias => { aliases[alias.toLowerCase()] = languageName; });\n }\n\n /**\n * Determines if a given language has auto-detection enabled\n * @param {string} name - name of the language\n */\n function autoDetection(name) {\n const lang = getLanguage(name);\n return lang && !lang.disableAutodetect;\n }\n\n /**\n * Upgrades the old highlightBlock plugins to the new\n * highlightElement API\n * @param {HLJSPlugin} plugin\n */\n function upgradePluginAPI(plugin) {\n // TODO: remove with v12\n if (plugin[\"before:highlightBlock\"] && !plugin[\"before:highlightElement\"]) {\n plugin[\"before:highlightElement\"] = (data) => {\n plugin[\"before:highlightBlock\"](\n Object.assign({ block: data.el }, data)\n );\n };\n }\n if (plugin[\"after:highlightBlock\"] && !plugin[\"after:highlightElement\"]) {\n plugin[\"after:highlightElement\"] = (data) => {\n plugin[\"after:highlightBlock\"](\n Object.assign({ block: data.el }, data)\n );\n };\n }\n }\n\n /**\n * @param {HLJSPlugin} plugin\n */\n function addPlugin(plugin) {\n upgradePluginAPI(plugin);\n plugins.push(plugin);\n }\n\n /**\n *\n * @param {PluginEvent} event\n * @param {any} args\n */\n function fire(event, args) {\n const cb = event;\n plugins.forEach(function(plugin) {\n if (plugin[cb]) {\n plugin[cb](args);\n }\n });\n }\n\n /**\n * DEPRECATED\n * @param {HighlightedHTMLElement} el\n */\n function deprecateHighlightBlock(el) {\n deprecated(\"10.7.0\", \"highlightBlock will be removed entirely in v12.0\");\n deprecated(\"10.7.0\", \"Please use highlightElement now.\");\n\n return highlightElement(el);\n }\n\n /* Interface definition */\n Object.assign(hljs, {\n highlight,\n highlightAuto,\n highlightAll,\n highlightElement,\n // TODO: Remove with v12 API\n highlightBlock: deprecateHighlightBlock,\n configure,\n initHighlighting,\n initHighlightingOnLoad,\n registerLanguage,\n unregisterLanguage,\n listLanguages,\n getLanguage,\n registerAliases,\n autoDetection,\n inherit,\n addPlugin\n });\n\n hljs.debugMode = function() { SAFE_MODE = false; };\n hljs.safeMode = function() { SAFE_MODE = true; };\n hljs.versionString = version;\n\n hljs.regex = {\n concat: concat,\n lookahead: lookahead,\n either: either,\n optional: optional,\n anyNumberOfTimes: anyNumberOfTimes\n };\n\n for (const key in MODES) {\n // @ts-ignore\n if (typeof MODES[key] === \"object\") {\n // @ts-ignore\n deepFreeze$1(MODES[key]);\n }\n }\n\n // merge all the modes/regexes into our main object\n Object.assign(hljs, MODES);\n\n return hljs;\n};\n\n// export an \"instance\" of the highlighter\nvar highlight = HLJS({});\n\nmodule.exports = highlight;\nhighlight.HighlightJS = highlight;\nhighlight.default = highlight;\n","/*\nLanguage: JSON\nDescription: JSON (JavaScript Object Notation) is a lightweight data-interchange format.\nAuthor: Ivan Sagalaev <maniac@softwaremaniacs.org>\nWebsite: http://www.json.org\nCategory: common, protocols, web\n*/\n\nfunction json(hljs) {\n const ATTRIBUTE = {\n className: 'attr',\n begin: /\"(\\\\.|[^\\\\\"\\r\\n])*\"(?=\\s*:)/,\n relevance: 1.01\n };\n const PUNCTUATION = {\n match: /[{}[\\],:]/,\n className: \"punctuation\",\n relevance: 0\n };\n // normally we would rely on `keywords` for this but using a mode here allows us\n // to use the very tight `illegal: \\S` rule later to flag any other character\n // as illegal indicating that despite looking like JSON we do not truly have\n // JSON and thus improve false-positively greatly since JSON will try and claim\n // all sorts of JSON looking stuff\n const LITERALS = { beginKeywords: [\n \"true\",\n \"false\",\n \"null\"\n ].join(\" \") };\n\n return {\n name: 'JSON',\n contains: [\n ATTRIBUTE,\n PUNCTUATION,\n hljs.QUOTE_STRING_MODE,\n LITERALS,\n hljs.C_NUMBER_MODE,\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE\n ],\n illegal: '\\\\S'\n };\n}\n\nexport { json as default };\n","import hljs from 'highlight.js/lib/core'\nimport json from 'highlight.js/lib/languages/json'\nimport { marked } from 'marked'\nimport { route } from 'preact-router'\nimport { useCallback, useEffect, useMemo, useState } from 'preact/hooks'\nimport config from '../../config.json'\nimport { Ad, Btn, BtnMenu, ChangelogTag, Giscus, Octicon } from '../components'\nimport { useLocale, useTitle, useVersion } from '../contexts'\nimport { useActiveTimeout, useAsync, useHash } from '../hooks'\nimport type { VersionId } from '../services'\nimport { parseFrontMatter, versionContent } from '../Utils'\n\nconst HASH = '<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" width=\"16\" height=\"16\"><path fill-rule=\"evenodd\" d=\"M6.368 1.01a.75.75 0 01.623.859L6.57 4.5h3.98l.46-2.868a.75.75 0 011.48.237L12.07 4.5h2.18a.75.75 0 010 1.5h-2.42l-.64 4h2.56a.75.75 0 010 1.5h-2.8l-.46 2.869a.75.75 0 01-1.48-.237l.42-2.632H5.45l-.46 2.869a.75.75 0 01-1.48-.237l.42-2.632H1.75a.75.75 0 010-1.5h2.42l.64-4H2.25a.75.75 0 010-1.5h2.8l.46-2.868a.75.75 0 01.858-.622zM9.67 10l.64-4H6.33l-.64 4h3.98z\"></path></svg>'\n\nhljs.registerLanguage('json', json)\n\nmarked.use({\n\thighlight: (code, lang) => {\n\t\tif (lang === '') return undefined\n\t\treturn hljs.highlight(code, { language: lang }).value\n\t},\n})\n\ninterface Props {\n\tpath?: string\n\tid?: string\n}\nexport function Guide({ id }: Props) {\n\tconst { locale } = useLocale()\n\tconst { version, changeVersion } = useVersion()\n\tconst { changeTitle } = useTitle()\n\n\tconst { value: content } = useAsync(async () => {\n\t\tconst res = await fetch(`../../guides/${id}.md`)\n\t\treturn await res.text()\n\t}, [id])\n\n\tconst frontMatter = useMemo(() => {\n\t\tif (!content) return undefined\n\t\tconst data = parseFrontMatter(content)\n\t\tchangeTitle(data?.title, data?.versions)\n\t\treturn data\n\t}, [content])\n\n\tconst allowedVersions = useMemo(() => {\n\t\tconst orderedVersions = config.versions.map(v => v.id)\n\t\treturn (frontMatter?.versions as string[])\n\t\t\t?.sort((a, b) => orderedVersions.indexOf(b) - orderedVersions.indexOf(a))\n\t}, [frontMatter?.versions])\n\n\tconst guideVersion = useMemo(() => {\n\t\tif (!allowedVersions) return version\n\t\tif (allowedVersions.includes(version)) return version\n\t\treturn allowedVersions[0]\n\t}, [version, frontMatter?.versions])\n\n\tconst html = useMemo(() => {\n\t\tif (!content) return undefined\n\t\tmarked.use({ renderer: {\n\t\t\tlink(href, title, text) {\n\t\t\t\tif (href === null) return text\n\t\t\t\tconst title2 = title ? ` title=\"${title}\"` : '' \n\t\t\t\tconst target = href?.match(/^https?:\\/\\//) ? ' target=\"_blank\"' : ''\n\t\t\t\treturn `<a href=\"${href}\"${title2}${target}>${text}</a>`\n\t\t\t},\n\t\t\theading(text, level, raw, slugger) {\n\t\t\t\tconst id = slugger.slug(raw)\n\t\t\t\tconst link = `<span id=\"guide-${id}\" href=\"?version=${version}#${id}\">${HASH}</span>`\n\t\t\t\treturn `<h${level}>${link}${text}</h${level}>`\n\t\t\t},\n\t\t}})\n\t\tconst guide = content.substring(content.indexOf('---', 3) + 3)\n\t\tconst versionedContent = versionContent(guide, guideVersion)\n\t\treturn marked(versionedContent, { version: '1.19' } as any)\n\t}, [guideVersion, content])\n\n\tconst [hash, setHash] = useHash()\n\n\tconst scrollToHeading = useCallback(() => {\n\t\tif (!html) return\n\t\tconst heading = document.querySelector(`[id=guide-${hash.slice(1)}]`)\n\t\tif (heading) {\n\t\t\tconst top = heading.getBoundingClientRect().top + window.scrollY\n\t\t\twindow.scrollTo({ top: top - 68, behavior: 'smooth' })\n\t\t}\n\t}, [html, hash])\n\n\tuseEffect(() => {\n\t\tscrollToHeading()\n\t}, [html === undefined, hash])\n\n\tconst clickGuideContent = useCallback((e: MouseEvent) => {\n\t\tif (!(e.target instanceof HTMLSpanElement)) return\n\t\tconst targetHash = '#' + e.target.id.replace(/^guide-/, '')\n\t\tchangeVersion(version, false, true)\n\t\tsetHash(targetHash)\n\t\tif (targetHash === hash) {\n\t\t\tscrollToHeading()\n\t\t}\n\t}, [scrollToHeading, hash, version])\n\n\tconst [shareActive, shareSuccess] = useActiveTimeout()\n\n\tconst onShare = useCallback(() => {\n\t\tconst url = `${location.origin}/guides/${id}/?version=${version}`\n\t\tnavigator.clipboard.writeText(url)\n\t\tshareSuccess()\n\t}, [id, version])\n\n\tconst onClickTag = useCallback((tag: string) => {\n\t\troute(`/guides/?tags=${tag}`)\n\t}, [])\n\n\tconst [largeWidth] = useState(window.innerWidth > 600)\n\n\treturn <main>\n\t\t<div class=\"guide\">\n\t\t\t<div class=\"navigation\">\n\t\t\t\t<a class=\"btn btn-link\" href=\"/guides/\">\n\t\t\t\t\t{Octicon.arrow_left}\n\t\t\t\t\t{locale('guides.all')}\n\t\t\t\t</a>\n\t\t\t\t<Btn icon={shareActive ? 'check' : 'link'} label={locale('share')} onClick={onShare} active={shareActive} tooltip={locale(shareActive ? 'copied' : 'copy_share')} class=\"guide-share\" />\n\t\t\t\t{allowedVersions && <BtnMenu icon=\"tag\" label={guideVersion} tooltip={locale('switch_version')}>\n\t\t\t\t\t{allowedVersions.map((v: string) => \n\t\t\t\t\t\t<Btn label={v} active={v === guideVersion} onClick={() => changeVersion(v as VersionId)} />)}\n\t\t\t\t</BtnMenu>}\n\t\t\t</div>\n\t\t\t{(frontMatter?.tags && frontMatter.tags.length > 0) && <div class=\"guide-tags\">\n\t\t\t\t{frontMatter.tags.map((tag: string) =>\n\t\t\t\t\t<ChangelogTag label={tag} active onClick={() => onClickTag(tag)} />\n\t\t\t\t)}\n\t\t\t</div>}\n\t\t\t{html && <>\n\t\t\t\t<Ad id=\"guide\" type={largeWidth ? 'image' : 'text'} />\n\t\t\t\t<div class=\"guide-content\" dangerouslySetInnerHTML={{ __html: html }} onClick={clickGuideContent}></div>\n\t\t\t\t<Giscus />\n\t\t\t</>}\n\t\t</div>\n\t</main>\n}\n","import { useMemo, useState } from 'preact/hooks'\nimport config from '../../config.json'\nimport { Btn, BtnMenu, ChangelogTag, GuideCard, TextInput } from '../components'\nimport { useLocale, useTitle, useVersion } from '../contexts'\nimport { useSearchParam } from '../hooks'\nimport type { VersionId } from '../services'\n\ninterface Guide {\n\tid: string,\n\ttitle: string,\n\tversions?: string[],\n\ttags?: string[],\n}\n\ndeclare var __GUIDES__: Guide[]\n\nconst TAG_KEY = 'tags'\nconst TAG_SEP = '|'\n\ninterface Props {\n\tpath?: string\n}\nexport function Guides({}: Props) {\n\tconst { locale } = useLocale()\n\tconst { version, changeVersion } = useVersion()\n\tuseTitle(locale('title.guides'))\n\n\tconst [search, setSearch] = useState('')\n\tconst [tags, setTags] = useSearchParam(TAG_KEY)\n\tconst activeTags = useMemo(() => tags?.split(TAG_SEP) ?? [], [tags])\n\tconst toggleTag = (tag: string) => {\n\t\tif (activeTags.includes(tag)) {\n\t\t\tsetTags(activeTags.filter(t => t !== tag).join(TAG_SEP))\n\t\t} else {\n\t\t\tsetTags([...activeTags, tag].sort().join(TAG_SEP))\n\t\t}\n\t}\n\n\tconst [versionFilter, setVersionFiler] = useState(false)\n\n\tconst versionedGuides = useMemo(() => {\n\t\tif (versionFilter === false) return __GUIDES__\n\t\treturn __GUIDES__.filter(guide => {\n\t\t\treturn guide.versions?.includes(version)\n\t\t})\n\t}, [version, versionFilter])\n\n\tconst filteredGuides = useMemo(() => {\n\t\tconst query = search.split(' ').map(q => q.trim().toLowerCase()).filter(q => q.length > 0)\n\t\treturn versionedGuides.filter(guide => {\n\t\t\tif (!activeTags.every(tag => guide.tags?.includes(tag))) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t\tconst content = guide.tags?.join(' ') + ' ' + guide.title.toLowerCase()\n\t\t\treturn query.every(q => {\n\t\t\t\tif (q.startsWith('!')) {\n\t\t\t\t\treturn q.length === 1 || !content.includes(q.slice(1))\n\t\t\t\t}\n\t\t\t\treturn content.includes(q)\n\t\t\t})\n\t\t})\n\t}, [versionedGuides, search, tags])\n\n\treturn <main>\n\t\t<div class=\"guides\">\n\t\t\t<div class=\"changelog-query\">\n\t\t\t\t<TextInput class=\"btn btn-input changelog-search\" placeholder={locale('guides.search')} value={search} onChange={setSearch} />\n\t\t\t\t<BtnMenu icon=\"tag\" label={versionFilter ? version : locale('any_version')} tooltip={locale('switch_version')}>\n\t\t\t\t\t<Btn label={locale('any_version')} active={!versionFilter} onClick={() => setVersionFiler(!versionFilter)} />\n\t\t\t\t\t{config.versions.slice().reverse().map(v =>\n\t\t\t\t\t\t<Btn label={v.id} active={versionFilter && v.id === version} onClick={() => {changeVersion(v.id as VersionId); setVersionFiler(true)}} />\n\t\t\t\t\t)}\n\t\t\t\t</BtnMenu>\n\t\t\t</div>\n\t\t\t{activeTags.length > 0 && <div class=\"changelog-tags\">\n\t\t\t\t{activeTags.map(tag => <ChangelogTag label={tag} onClick={() => toggleTag(tag)} />)}\n\t\t\t</div>}\n\t\t\t{versionedGuides.length === 0 ? <>\n\t\t\t\t<span class=\"note\">{locale('guides.no_results.version')}</span>\n\t\t\t</> : filteredGuides.length === 0 ? <>\n\t\t\t\t<span class=\"note\">{locale('guides.no_results.query')}</span>\n\t\t\t</> : filteredGuides.map(g =>\n\t\t\t\t<GuideCard title={g.title} link={`/guides/${g.id}/`} tags={g.tags ?? []} versions={g.versions ?? []} activeTags={activeTags} toggleTag={toggleTag} />\n\t\t\t)}\n\t\t</div>\n\t</main>\n}\n","import config from '../../config.json'\nimport { Giscus, ToolCard } from '../components'\nimport { useLocale, useTitle } from '../contexts'\nimport { cleanUrl } from '../Utils'\n\ninterface Props {\n\tpath?: string,\n}\nexport function Home({}: Props) {\n\tconst { locale } = useLocale()\n\tuseTitle(locale('title.home'))\n\treturn <main>\n\t\t<div class=\"home\">\n\t\t\t<ToolCard title=\"Data packs\">\n\t\t\t\t{config.generators.filter(g => !g.category).map(g => \n\t\t\t\t\t<ToolCard title={locale(g.id)} link={cleanUrl(g.url)} />\n\t\t\t\t)}\n\t\t\t\t<ToolCard title={locale('worldgen')} link=\"/worldgen/\" />\n\t\t\t</ToolCard>\n\t\t\t<ToolCard title=\"Resource packs\">\n\t\t\t\t{config.generators.filter(g => g.category === 'assets').map(g =>\n\t\t\t\t\t<ToolCard title={locale(g.id)} link={cleanUrl(g.url)} />\n\t\t\t\t)}\n\t\t\t</ToolCard>\n\t\t\t<ToolCard title=\"Report Inspector\" icon=\"report\"\n\t\t\t\tlink=\"https://misode.github.io/report/\"\n\t\t\t\tdesc=\"Analyse your performance reports\" />\n\t\t\t<ToolCard title=\"Minecraft Sounds\" icon=\"sounds\"\n\t\t\t\tlink=\"/sounds/\"\n\t\t\t\tdesc=\"Browse through and mix all the vanilla sounds\" />\n\t\t\t<ToolCard title=\"Data Pack Upgrader\"\n\t\t\t\tlink=\"https://misode.github.io/upgrader/\"\n\t\t\t\tdesc=\"Convert your data packs from 1.16 to 1.17 to 1.18\" />\n\t\t\t<ToolCard title=\"Technical Changelog\" link=\"/changelog/\" />\n\t\t\t<ToolCard title=\"Minecraft Versions\" link=\"/versions/\" />\n\t\t\t<ToolCard title=\"Data Pack Guides\" link=\"/guides/\" />\n\t\t\t<Giscus />\n\t\t</div>\n\t</main>\n}\n","import { useCallback, useMemo } from 'preact/hooks'\nimport { Ad, TreeView } from '../components'\nimport { getFilePath, useLocale, useProject, useTitle } from '../contexts'\n\ninterface Props {\n\tpath?: string,\n}\nexport function Project({}: Props) {\n\tconst { locale } = useLocale()\n\tconst { project, openFile } = useProject()\n\tuseTitle(locale('title.project', project.name))\n\tconst entries = useMemo(() => project.files.map(getFilePath), project.files)\n\n\tconst selectFile = useCallback((entry: string) => {\n\t\tconst [, namespace, type, ...id] = entry.split('/')\n\t\topenFile(type, `${namespace}:${id}`)\n\t}, [openFile])\n\n\treturn <main>\n\t\t<Ad id=\"data-pack-project\" type=\"text\" />\n\t\t<div class=\"project\">\n\t\t\t<h2>{project.name}</h2>\n\t\t\t<div class=\"file-view\">\n\t\t\t\t<TreeView entries={entries} onSelect={selectFile}/>\n\t\t\t</div>\n\t\t</div>\n\t</main>\n}\n","import type { Howl, HowlOptions } from 'howler'\nimport { useEffect, useMemo, useRef, useState } from 'preact/hooks'\nimport config from '../../config.json'\nimport { Btn, BtnMenu, ErrorPanel, SoundConfig, TextInput } from '../components'\nimport { useLocale, useTitle, useVersion } from '../contexts'\nimport { useAsync } from '../hooks'\nimport type { VersionId } from '../services'\nimport { fetchSounds } from '../services'\nimport { hexId } from '../Utils'\n\ninterface Props {\n\tpath?: string,\n}\nexport function Sounds({}: Props) {\n\tconst { locale } = useLocale()\n\tconst { version, changeVersion } = useVersion()\n\tuseTitle(locale('title.sounds'))\n\n\tconst [howler, setHowler] = useState<undefined | ((options: HowlOptions) => Howl)>(undefined)\n\tuseEffect(() => {\n\t\t(async () => {\n\t\t\tconst howler = await import('howler')\n\t\t\tsetHowler(() => (options: HowlOptions) => new howler.Howl(options))\n\t\t})()\n\t}, [])\n\n\tconst { value: sounds, error } = useAsync(async () => {\n\t\treturn await fetchSounds(version)\n\t}, [version])\n\tconst soundKeys = useMemo(() => Object.keys(sounds ?? {}), [sounds])\n\n\tconst [search, setSearch] = useState('')\n\tconst [configs, setConfigs] = useState<SoundConfig[]>([])\n\tconst addConfig = () => {\n\t\tsetConfigs([{ id: hexId(), sound: search, delay: 0, pitch: 1, volume: 1 }, ...configs])\n\t}\n\tconst editConfig = (id: string) => (changes: Partial<SoundConfig>) => {\n\t\tsetConfigs(configs.map(c => c.id === id ? { ...c, ...changes } : c))\n\t}\n\tconst deleteConfig = (id: string) => () => {\n\t\tsetConfigs(configs.filter(c => c.id !== id))\n\t}\n\n\tconst [delayedPlay, setDelayedPlay] = useState(0)\n\tconst playAll = () => {\n\t\tsetDelayedPlay(delayedPlay + 1)\n\t}\n\n\tconst download = useRef<HTMLAnchorElement>(null)\n\tconst downloadFunction = () => {\n\t\tif (!download.current) return\n\t\tconst hasDelay = configs.some(c => c.delay > 0)\n\t\tconst content = configs\n\t\t\t.sort((a, b) => a.delay - b.delay)\n\t\t\t.map(c => `${hasDelay ? `execute if score @s delay matches ${c.delay} run ` : ''}playsound minecraft:${c.sound} master @s ~ ~ ~ ${c.volume} ${c.pitch}`)\n\t\t\t.join('\\n')\n\t\tdownload.current.setAttribute('href', 'data:text/plain;charset=utf-8,' + content + '%0A')\n\t\tdownload.current.setAttribute('download', 'sounds.mcfunction')\n\t\tdownload.current.click()\n\t}\n\n\treturn <main>\n\t\t{error && <ErrorPanel error={error} />}\n\t\t{soundKeys.length > 0 && <>\n\t\t\t<div class=\"controls sounds-controls\">\n\t\t\t\t<div class=\"sound-search-group\">\n\t\t\t\t\t<TextInput class=\"btn btn-input sound-search\" list=\"sound-list\" placeholder={locale('sounds.search')}\n\t\t\t\t\t\tvalue={search} onChange={setSearch} onEnter={addConfig} />\n\t\t\t\t\t<Btn icon=\"plus\" tooltip={locale('sounds.add_sound')} class=\"add-sound\" onClick={addConfig} />\n\t\t\t\t</div>\n\t\t\t\t{configs.length > 1 && <Btn icon=\"play\" label={ locale('sounds.play_all')} class=\"play-all-sounds\" onClick={playAll} />}\n\t\t\t\t<div class=\"spacer\"></div>\n\t\t\t\t<Btn icon=\"download\" label={locale('download')} tooltip={locale('sounds.download_function')} tooltipLoc=\"se\" class=\"download-sounds\" onClick={downloadFunction} />\n\t\t\t\t<BtnMenu icon=\"tag\" label={version} tooltip={locale('switch_version')}>\n\t\t\t\t\t{config.versions.slice().reverse().map(v =>\n\t\t\t\t\t\t<Btn label={v.id} active={v.id === version} onClick={() => changeVersion(v.id as VersionId)} />\n\t\t\t\t\t)}\n\t\t\t\t</BtnMenu>\n\t\t\t</div>\n\t\t\t<div class=\"sounds\">\n\t\t\t\t{sounds && howler && configs.map(c =>\n\t\t\t\t\t<SoundConfig key={c.id} {...c} {...{ howler, sounds, delayedPlay }} onEdit={editConfig(c.id)} onDelete={deleteConfig(c.id)} />\n\t\t\t\t)}\n\t\t\t</div>\n\t\t\t<a ref={download} style=\"display: none;\"></a>\n\t\t\t<datalist id=\"sound-list\">\n\t\t\t\t{soundKeys.map(s => <option key={s} value={s} />)}\n\t\t\t</datalist>\n\t\t</>}\n\t</main>\n}\n","import { Ad, ErrorPanel, Octicon, VersionDetail, VersionList } from '../components'\nimport { useLocale, useTitle } from '../contexts'\nimport { useAsync, useSearchParam } from '../hooks'\nimport type { VersionMeta } from '../services'\nimport { fetchVersions } from '../services'\n\ninterface Props {\n\tpath?: string,\n}\nexport function Versions({}: Props) {\n\tconst { locale } = useLocale()\n\tuseTitle(locale('title.versions'))\n\n\tconst { value: versions, error } = useAsync(fetchVersions, [])\n\n\tconst [selectedId] = useSearchParam('id')\n\tconst selected = (versions ?? []).find(v => v.id === selectedId)\n\n\tuseTitle(selected ? selected.name : 'Versions Explorer', selected ? [] : undefined)\n\n\tconst nextVersion = selected && getOffsetVersion(versions ?? [], selected, -1)\n\tconst previousVersion = selected && getOffsetVersion(versions ?? [], selected, 1)\n\n\treturn <main>\n\t\t<Ad type=\"text\" id=\"versions\" />\n\t\t{error && <ErrorPanel error={error} />}\n\t\t<div class=\"versions\">\n\t\t\t{selectedId ? <>\n\t\t\t\t<div class=\"navigation\">\n\t\t\t\t\t<a class=\"btn btn-link\" href=\"/versions/\">\n\t\t\t\t\t\t{Octicon.three_bars}\n\t\t\t\t\t\t{locale('versions.all')}\n\t\t\t\t\t</a>\n\t\t\t\t\t<a class=\"btn btn-link\" {...previousVersion ? {href: `/versions/?id=${previousVersion.id}`} : {disabled: true}}>\n\t\t\t\t\t\t{Octicon.arrow_left}\n\t\t\t\t\t\t{locale('versions.previous')}\n\t\t\t\t\t</a>\n\t\t\t\t\t<a class=\"btn btn-link\" {...nextVersion ? {href: `/versions/?id=${nextVersion.id}`} : {disabled: true}}>\n\t\t\t\t\t\t{locale('versions.next')}\n\t\t\t\t\t\t{Octicon.arrow_right}\n\t\t\t\t\t</a>\n\t\t\t\t</div>\n\t\t\t\t{selected ? <VersionDetail version={selected} />\n\t\t\t\t\t: <div class=\"version-detail\">\n\t\t\t\t\t\t<h2>{selectedId}</h2>\n\t\t\t\t\t\t<div class=\"version-info\">\n\t\t\t\t\t\t\t<p>This version does not exist. Only versions since 1.14 are tracked, or it may be too recent.</p>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>}\n\t\t\t</> : <VersionList versions={versions ?? []} link={id => `/versions/?id=${id}`} />}\n\t\t</div>\n\t</main>\n}\n\nfunction getOffsetVersion(versions: VersionMeta[], current: VersionMeta, offset: number) {\n\tconst currentIndex = versions.findIndex(v => v.id === current.id)\n\tconst offsetIndex = currentIndex + offset\n\tif (offsetIndex < 0 || offsetIndex >= versions.length) {\n\t\treturn undefined\n\t}\n\treturn versions[offsetIndex]\n}\n","import type { RouterOnChangeArgs } from 'preact-router'\nimport { Router } from 'preact-router'\nimport '../styles/global.css'\nimport '../styles/nodes.css'\nimport { Analytics } from './Analytics'\nimport { Header } from './components'\nimport { Category, Changelog, Generator, Guide, Guides, Home, Project, Sounds, Versions } from './pages'\nimport { cleanUrl } from './Utils'\n\nexport function App() {\n\tconst changeRoute = (e: RouterOnChangeArgs) => {\n\t\twindow.dispatchEvent(new CustomEvent('replacestate'))\n\t\t// Needs a timeout to ensure the title is set correctly\n\t\tsetTimeout(() => Analytics.pageview(cleanUrl(e.url)))\n\t}\n\n\treturn <>\n\t\t<Header />\n\t\t<Router onChange={changeRoute}>\n\t\t\t<Home path=\"/\" />\n\t\t\t<Category path=\"/worldgen\" category=\"worldgen\" />\n\t\t\t<Category path=\"/assets\" category=\"assets\" />\n\t\t\t<Sounds path=\"/sounds\" />\n\t\t\t<Changelog path=\"/changelog\" />\n\t\t\t<Versions path=\"/versions\" />\n\t\t\t<Project path=\"/project\" />\n\t\t\t<Guides path=\"/guides/\" />\n\t\t\t<Guide path=\"/guides/:id\" />\n\t\t\t<Generator default />\n\t\t</Router>\n\t</>\n}\n","import { render } from 'preact'\nimport '../styles/global.css'\nimport '../styles/nodes.css'\nimport { App } from './App'\nimport { LocaleProvider, ProjectProvider, ThemeProvider, TitleProvider, VersionProvider } from './contexts'\n\nfunction Main() {\n\treturn <LocaleProvider>\n\t\t<ThemeProvider>\n\t\t\t<VersionProvider>\n\t\t\t\t<TitleProvider>\n\t\t\t\t\t<ProjectProvider>\n\t\t\t\t\t\t<App />\n\t\t\t\t\t</ProjectProvider>\n\t\t\t\t</TitleProvider>\n\t\t\t</VersionProvider>\n\t\t</ThemeProvider>\n\t</LocaleProvider>\n}\n\nrender(<Main />, document.body)\n"],"file":"assets/index.b990f5f5.js"} \ No newline at end of file diff --git a/assets/index.html b/assets/index.html index af230c03..2350bb93 100644 --- a/assets/index.html +++ b/assets/index.html @@ -7,7 +7,12 @@ window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); - gtag('config', 'G-S982VZS08T'); + gtag('config', 'G-S982VZS08T', { + theme: localStorage.getItem('theme') || 'default', + version: localStorage.getItem('schema_version') || '1.18.2', + locale: localStorage.getItem('language') || 'en', + prefers_color_scheme: matchMedia('(prefers-color-scheme: light)').matches ? 'light' : matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'none', + }); </script> <script> (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ @@ -26,7 +31,7 @@ </script> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> - <title>Assets Generators Minecraft 1.18, 1.18.2, 1.19 + Assets Generators - Minecraft 1.18, 1.18.2, 1.19 - + diff --git a/assets/model/index.html b/assets/model/index.html index c11094a6..0a577e05 100644 --- a/assets/model/index.html +++ b/assets/model/index.html @@ -7,7 +7,12 @@ window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); - gtag('config', 'G-S982VZS08T'); + gtag('config', 'G-S982VZS08T', { + theme: localStorage.getItem('theme') || 'default', + version: localStorage.getItem('schema_version') || '1.18.2', + locale: localStorage.getItem('language') || 'en', + prefers_color_scheme: matchMedia('(prefers-color-scheme: light)').matches ? 'light' : matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'none', + }); - Model Generator Minecraft 1.18, 1.18.2, 1.19 + Model Generator - Minecraft 1.18, 1.18.2, 1.19 - + diff --git a/assets/sourcemapped-stacktrace.c3be0085.js b/assets/sourcemapped-stacktrace.342f925b.js similarity index 99% rename from assets/sourcemapped-stacktrace.c3be0085.js rename to assets/sourcemapped-stacktrace.342f925b.js index 5246c4ec..197add6e 100644 --- a/assets/sourcemapped-stacktrace.c3be0085.js +++ b/assets/sourcemapped-stacktrace.342f925b.js @@ -1,3 +1,3 @@ -import{c as U}from"./index.b990f5f5.js";function B(D,I){return I.forEach(function(b){b&&typeof b!="string"&&!Array.isArray(b)&&Object.keys(b).forEach(function(v){if(v!=="default"&&!(v in D)){var y=Object.getOwnPropertyDescriptor(b,v);Object.defineProperty(D,v,y.get?y:{enumerable:!0,get:function(){return b[v]}})}})}),Object.freeze(Object.defineProperty(D,Symbol.toStringTag,{value:"Module"}))}var j={exports:{}};(function(D,I){(function(v,y){D.exports=y()})(U,function(){return function(b){var v={};function y(t){if(v[t])return v[t].exports;var C=v[t]={exports:{},id:t,loaded:!1};return b[t].call(C.exports,C,C.exports,y),C.loaded=!0,C.exports}return y.m=b,y.c=v,y.p="",y(0)}([function(b,v,y){var t,C;t=[y(1)],C=function(f){var m={},d=function(i,o,p){var L,E,w={},S,R,M,T,x,G=new r(p),F=p&&p.traceFormat;if(F!=="chrome"&&F!=="firefox"){if(F)throw new Error('unknown traceFormat "'+F+'" :(');if(u()||O())F="chrome";else if(_()||A())F="firefox";else throw new Error("unknown browser :(")}F==="chrome"?(T=/^ +at.+\((.*):([0-9]+):([0-9]+)/,M=4,x=1):(T=/@(.*):([0-9]+):([0-9]+)/,M=4,x=0),L=i.split(` +import{c as U}from"./index.38fdde83.js";function B(D,I){return I.forEach(function(b){b&&typeof b!="string"&&!Array.isArray(b)&&Object.keys(b).forEach(function(v){if(v!=="default"&&!(v in D)){var y=Object.getOwnPropertyDescriptor(b,v);Object.defineProperty(D,v,y.get?y:{enumerable:!0,get:function(){return b[v]}})}})}),Object.freeze(Object.defineProperty(D,Symbol.toStringTag,{value:"Module"}))}var j={exports:{}};(function(D,I){(function(v,y){D.exports=y()})(U,function(){return function(b){var v={};function y(t){if(v[t])return v[t].exports;var C=v[t]={exports:{},id:t,loaded:!1};return b[t].call(C.exports,C,C.exports,y),C.loaded=!0,C.exports}return y.m=b,y.c=v,y.p="",y(0)}([function(b,v,y){var t,C;t=[y(1)],C=function(f){var m={},d=function(i,o,p){var L,E,w={},S,R,M,T,x,G=new r(p),F=p&&p.traceFormat;if(F!=="chrome"&&F!=="firefox"){if(F)throw new Error('unknown traceFormat "'+F+'" :(');if(u()||O())F="chrome";else if(_()||A())F="firefox";else throw new Error("unknown browser :(")}F==="chrome"?(T=/^ +at.+\((.*):([0-9]+):([0-9]+)/,M=4,x=1):(T=/@(.*):([0-9]+):([0-9]+)/,M=4,x=0),L=i.split(` `).slice(x);for(var P=0;P/)||G.fetchScript(R)));G.sem.whenReady(function(){var N=l(L,w,G.mapForUri,F);o(N)})},u=function(){return navigator.userAgent.toLowerCase().indexOf("chrome")>-1},_=function(){return navigator.userAgent.toLowerCase().indexOf("firefox")>-1},A=function(){return navigator.userAgent.toLowerCase().indexOf("safari")>-1},O=function(){return document.documentMode&&document.documentMode>=11},a=function(){this.count=0,this.pending=[]};a.prototype.incr=function(){this.count++},a.prototype.decr=function(){this.count--,this.flush()},a.prototype.whenReady=function(i){this.pending.push(i),this.flush()},a.prototype.flush=function(){this.count===0&&(this.pending.forEach(function(i){i()}),this.pending=[])};var r=function(i){this.sem=new a,this.sync=i&&i.sync,this.mapForUri=i&&i.cacheGlobally?m:{}};r.prototype.ajax=function(i,o){var p=n(),L=this;p.onreadystatechange=function(){p.readyState==4&&o.call(L,p,i)},p.open("GET",i,!this.sync),p.send()},r.prototype.fetchScript=function(i){if(!(i in this.mapForUri))this.sem.incr(),this.mapForUri[i]=null;else return;this.ajax(i,this.onScriptLoad)};var s=new RegExp("^(?:[a-z]+:)?//","i");r.prototype.onScriptLoad=function(i,o){if(i.status===200||o.slice(0,7)==="file://"&&i.status===0){var p=i.responseText.match("//# [s]ourceMappingURL=(.*)[\\s]*$","m");if(p&&p.length===2){var L=p[1],E=L.match("data:application/json;(charset=[^;]+;)?base64,(.*)");if(E&&E[2])this.mapForUri[o]=new f.SourceMapConsumer(atob(E[2])),this.sem.decr();else{if(!s.test(L)){var w,S=o.lastIndexOf("/");S!==-1&&(w=o.slice(0,S+1),L=w+L)}this.ajax(L,function(R){(R.status===200||L.slice(0,7)==="file://"&&R.status===0)&&(this.mapForUri[o]=new f.SourceMapConsumer(R.responseText)),this.sem.decr()})}}else this.sem.decr()}else this.sem.decr()};var l=function(i,o,p,L){for(var E=[],w,S=L==="chrome"?c:h,R=0;R=0){var g=this._originalMappings[h];if(r.column===void 0)for(var e=g.originalLine;g&&g.originalLine===e;)c.push({line:t.getArg(g,"generatedLine",null),column:t.getArg(g,"generatedColumn",null),lastColumn:t.getArg(g,"lastGeneratedColumn",null)}),g=this._originalMappings[++h];else for(var n=g.originalColumn;g&&g.originalLine===s&&g.originalColumn==n;)c.push({line:t.getArg(g,"generatedLine",null),column:t.getArg(g,"generatedColumn",null),lastColumn:t.getArg(g,"lastGeneratedColumn",null)}),g=this._originalMappings[++h]}return c},v.SourceMapConsumer=u;function _(a){var r=a;typeof a=="string"&&(r=JSON.parse(a.replace(/^\)\]\}'/,"")));var s=t.getArg(r,"version"),l=t.getArg(r,"sources"),c=t.getArg(r,"names",[]),h=t.getArg(r,"sourceRoot",null),g=t.getArg(r,"sourcesContent",null),e=t.getArg(r,"mappings"),n=t.getArg(r,"file",null);if(s!=this._version)throw new Error("Unsupported version: "+s);l=l.map(String).map(t.normalize).map(function(i){return h&&t.isAbsolute(h)&&t.isAbsolute(i)?t.relative(h,i):i}),this._names=f.fromArray(c.map(String),!0),this._sources=f.fromArray(l,!0),this.sourceRoot=h,this.sourcesContent=g,this._mappings=e,this.file=n}_.prototype=Object.create(u.prototype),_.prototype.consumer=u,_.fromSourceMap=function(r){var s=Object.create(_.prototype),l=s._names=f.fromArray(r._names.toArray(),!0),c=s._sources=f.fromArray(r._sources.toArray(),!0);s.sourceRoot=r._sourceRoot,s.sourcesContent=r._generateSourcesContent(s._sources.toArray(),s.sourceRoot),s.file=r._file;for(var h=r._mappings.toArray().slice(),g=s.__generatedMappings=[],e=s.__originalMappings=[],n=0,i=h.length;n1&&(S.source=e+M[1],e+=M[1],S.originalLine=h+M[2],h=S.originalLine,S.originalLine+=1,S.originalColumn=g+M[3],g=S.originalColumn,M.length>4&&(S.name=n+M[4],n+=M[4])),w.push(S),typeof S.originalLine=="number"&&E.push(S)}d(w,t.compareByGeneratedPositionsDeflated),this.__generatedMappings=w,d(E,t.compareByOriginalPositions),this.__originalMappings=E},_.prototype._findMapping=function(r,s,l,c,h,g){if(r[l]<=0)throw new TypeError("Line must be greater than or equal to 1, got "+r[l]);if(r[c]<0)throw new TypeError("Column must be greater than or equal to 0, got "+r[c]);return C.search(r,s,h,g)},_.prototype.computeColumnSpans=function(){for(var r=0;r=0){var c=this._generatedMappings[l];if(c.generatedLine===s.generatedLine){var h=t.getArg(c,"source",null);h!==null&&(h=this._sources.at(h),this.sourceRoot!=null&&(h=t.join(this.sourceRoot,h)));var g=t.getArg(c,"name",null);return g!==null&&(g=this._names.at(g)),{source:h,line:t.getArg(c,"originalLine",null),column:t.getArg(c,"originalColumn",null),name:g}}}return{source:null,line:null,column:null,name:null}},_.prototype.hasContentsOfAllSources=function(){return this.sourcesContent?this.sourcesContent.length>=this._sources.size()&&!this.sourcesContent.some(function(r){return r==null}):!1},_.prototype.sourceContentFor=function(r,s){if(!this.sourcesContent)return null;if(this.sourceRoot!=null&&(r=t.relative(this.sourceRoot,r)),this._sources.has(r))return this.sourcesContent[this._sources.indexOf(r)];var l;if(this.sourceRoot!=null&&(l=t.urlParse(this.sourceRoot))){var c=r.replace(/^file:\/\//,"");if(l.scheme=="file"&&this._sources.has(c))return this.sourcesContent[this._sources.indexOf(c)];if((!l.path||l.path=="/")&&this._sources.has("/"+r))return this.sourcesContent[this._sources.indexOf("/"+r)]}if(s)return null;throw new Error('"'+r+'" is not in the SourceMap.')},_.prototype.generatedPositionFor=function(r){var s=t.getArg(r,"source");if(this.sourceRoot!=null&&(s=t.relative(this.sourceRoot,s)),!this._sources.has(s))return{line:null,column:null,lastColumn:null};s=this._sources.indexOf(s);var l={source:s,originalLine:t.getArg(r,"line"),originalColumn:t.getArg(r,"column")},c=this._findMapping(l,this._originalMappings,"originalLine","originalColumn",t.compareByOriginalPositions,t.getArg(r,"bias",u.GREATEST_LOWER_BOUND));if(c>=0){var h=this._originalMappings[c];if(h.source===l.source)return{line:t.getArg(h,"generatedLine",null),column:t.getArg(h,"generatedColumn",null),lastColumn:t.getArg(h,"lastGeneratedColumn",null)}}return{line:null,column:null,lastColumn:null}},v.BasicSourceMapConsumer=_;function O(a){var r=a;typeof a=="string"&&(r=JSON.parse(a.replace(/^\)\]\}'/,"")));var s=t.getArg(r,"version"),l=t.getArg(r,"sections");if(s!=this._version)throw new Error("Unsupported version: "+s);this._sources=new f,this._names=new f;var c={line:-1,column:0};this._sections=l.map(function(h){if(h.url)throw new Error("Support for url field in sections not implemented.");var g=t.getArg(h,"offset"),e=t.getArg(g,"line"),n=t.getArg(g,"column");if(e=0;w--)L=p[w],L==="."?p.splice(w,1):L===".."?E++:E>0&&(L===""?(p.splice(w+1,E),E=0):(p.splice(w,2),E--));return n=p.join("/"),n===""&&(n=o?"/":"."),i?(i.path=n,m(i)):n}v.normalize=d;function u(e,n){e===""&&(e="."),n===""&&(n=".");var i=f(n),o=f(e);if(o&&(e=o.path||"/"),i&&!i.scheme)return o&&(i.scheme=o.scheme),m(i);if(i||n.match(C))return n;if(o&&!o.host&&!o.path)return o.host=n,m(o);var p=n.charAt(0)==="/"?n:d(e.replace(/\/+$/,"")+"/"+n);return o?(o.path=p,m(o)):p}v.join=u,v.isAbsolute=function(e){return e.charAt(0)==="/"||!!e.match(t)};function _(e,n){e===""&&(e="."),e=e.replace(/\/$/,"");for(var i=0;n.indexOf(e+"/")!==0;){var o=e.lastIndexOf("/");if(o<0||(e=e.slice(0,o),e.match(/^([^\/]+:\/)?\/*$/)))return n;++i}return Array(i+1).join("../")+n.substr(e.length+1)}v.relative=_;var A=function(){var e=Object.create(null);return!("__proto__"in e)}();function O(e){return e}function a(e){return s(e)?"$"+e:e}v.toSetString=A?O:a;function r(e){return s(e)?e.slice(1):e}v.fromSetString=A?O:r;function s(e){if(!e)return!1;var n=e.length;if(n<9||e.charCodeAt(n-1)!==95||e.charCodeAt(n-2)!==95||e.charCodeAt(n-3)!==111||e.charCodeAt(n-4)!==116||e.charCodeAt(n-5)!==111||e.charCodeAt(n-6)!==114||e.charCodeAt(n-7)!==112||e.charCodeAt(n-8)!==95||e.charCodeAt(n-9)!==95)return!1;for(var i=n-10;i>=0;i--)if(e.charCodeAt(i)!==36)return!1;return!0}function l(e,n,i){var o=e.source-n.source;return o!==0||(o=e.originalLine-n.originalLine,o!==0)||(o=e.originalColumn-n.originalColumn,o!==0||i)||(o=e.generatedColumn-n.generatedColumn,o!==0)||(o=e.generatedLine-n.generatedLine,o!==0)?o:e.name-n.name}v.compareByOriginalPositions=l;function c(e,n,i){var o=e.generatedLine-n.generatedLine;return o!==0||(o=e.generatedColumn-n.generatedColumn,o!==0||i)||(o=e.source-n.source,o!==0)||(o=e.originalLine-n.originalLine,o!==0)||(o=e.originalColumn-n.originalColumn,o!==0)?o:e.name-n.name}v.compareByGeneratedPositionsDeflated=c;function h(e,n){return e===n?0:e>n?1:-1}function g(e,n){var i=e.generatedLine-n.generatedLine;return i!==0||(i=e.generatedColumn-n.generatedColumn,i!==0)||(i=h(e.source,n.source),i!==0)||(i=e.originalLine-n.originalLine,i!==0)||(i=e.originalColumn-n.originalColumn,i!==0)?i:h(e.name,n.name)}v.compareByGeneratedPositionsInflated=g},function(b,v){v.GREATEST_LOWER_BOUND=1,v.LEAST_UPPER_BOUND=2;function y(t,C,f,m,d,u){var _=Math.floor((C-t)/2)+t,A=d(f,m[_],!0);return A===0?_:A>0?C-_>1?y(_,C,f,m,d,u):u==v.LEAST_UPPER_BOUND?C1?y(t,_,f,m,d,u):u==v.LEAST_UPPER_BOUND?_:t<0?-1:t}v.search=function(C,f,m,d){if(f.length===0)return-1;var u=y(-1,f.length,C,f,m,d||v.GREATEST_LOWER_BOUND);if(u<0)return-1;for(;u-1>=0&&m(f[u],f[u-1],!0)===0;)--u;return u}},function(b,v,y){var t=y(2),C=Object.prototype.hasOwnProperty;function f(){this._array=[],this._set=Object.create(null)}f.fromArray=function(d,u){for(var _=new f,A=0,O=d.length;A=0&&d>1;return O?-a:a}v.encode=function(O){var a="",r,s=u(O);do r=s&m,s>>>=C,s>0&&(r|=d),a+=t.encode(r);while(s>0);return a},v.decode=function(O,a,r){var s=O.length,l=0,c=0,h,g;do{if(a>=s)throw new Error("Expected more digits in base 64 VLQ value.");if(g=t.decode(O.charCodeAt(a++)),g===-1)throw new Error("Invalid base64 digit: "+O.charAt(a-1));h=!!(g&d),g&=m,l=l+(g< (2014)\n\t *\n\t * https://github.com/novocaine/sourcemapped-stacktrace\n\t *\n\t * Licensed under the New BSD license. See LICENSE or:\n\t * http://opensource.org/licenses/BSD-3-Clause\n\t */\n\n\t/*global define */\n\n\t// note we only include source-map-consumer, not the whole source-map library,\n\t// which includes gear for generating source maps that we don't need\n\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(1)], __WEBPACK_AMD_DEFINE_RESULT__ = function(source_map_consumer) {\n\n\t var global_mapForUri = {};\n\n\t /**\n\t * Re-map entries in a stacktrace using sourcemaps if available.\n\t *\n\t * @param {str} stack - The stacktrace from the browser.\n\t * @param {function} done - Callback invoked with the transformed stacktrace\n\t * (an Array of Strings) passed as the first\n\t * argument\n\t * @param {Object} [opts] - Optional options object.\n\t * @param {Function} [opts.filter] - Filter function applied to each stackTrace line.\n\t * Lines which do not pass the filter won't be processesd.\n\t * @param {boolean} [opts.cacheGlobally] - Whether to cache sourcemaps globally across multiple calls.\n\t * @param {boolean} [opts.sync] - Whether to use synchronous ajax to load the sourcemaps.\n\t * @param {string} [opts.traceFormat] - If `error.stack` is formatted according to chrome or\n\t * Firefox's style. Can be either `\"chrome\"`, `\"firefox\"`\n\t * or `undefined` (default). If `undefined`, this library\n\t * will guess based on `navigator.userAgent`.\n\t */\n\t var mapStackTrace = function(stack, done, opts) {\n\t var lines;\n\t var line;\n\t var mapForUri = {};\n\t var rows = {};\n\t var fields;\n\t var uri;\n\t var expected_fields;\n\t var regex;\n\t var skip_lines;\n\n\t var fetcher = new Fetcher(opts);\n\n\t var traceFormat = opts && opts.traceFormat;\n\t if (traceFormat !== \"chrome\" && traceFormat !== \"firefox\") {\n\t if (traceFormat) {\n\t throw new Error(\"unknown traceFormat \\\"\" + traceFormat + \"\\\" :(\");\n\t } else if (isChromeOrEdge() || isIE11Plus()) {\n\t traceFormat = \"chrome\";\n\t } else if (isFirefox() || isSafari()) {\n\t traceFormat = \"firefox\";\n\t } else {\n\t throw new Error(\"unknown browser :(\");\n\t }\n\t }\n\n\t if (traceFormat === \"chrome\") {\n\t regex = /^ +at.+\\((.*):([0-9]+):([0-9]+)/;\n\t expected_fields = 4;\n\t // (skip first line containing exception message)\n\t skip_lines = 1;\n\t } else {\n\t regex = /@(.*):([0-9]+):([0-9]+)/;\n\t expected_fields = 4;\n\t skip_lines = 0;\n\t }\n\n\t lines = stack.split(\"\\n\").slice(skip_lines);\n\n\t for (var i=0; i < lines.length; i++) {\n\t line = lines[i];\n\t if ( opts && opts.filter && !opts.filter(line) ) continue;\n\t \n\t fields = line.match(regex);\n\t if (fields && fields.length === expected_fields) {\n\t rows[i] = fields;\n\t uri = fields[1];\n\t if (!uri.match(//)) {\n\t fetcher.fetchScript(uri);\n\t }\n\t }\n\t }\n\n\t fetcher.sem.whenReady(function() {\n\t var result = processSourceMaps(lines, rows, fetcher.mapForUri, traceFormat);\n\t done(result);\n\t });\n\t };\n\n\t var isChromeOrEdge = function() {\n\t return navigator.userAgent.toLowerCase().indexOf('chrome') > -1;\n\t };\n\n\t var isFirefox = function() {\n\t return navigator.userAgent.toLowerCase().indexOf('firefox') > -1;\n\t }; \n\n\t var isSafari = function() {\n\t return navigator.userAgent.toLowerCase().indexOf('safari') > -1;\n\t };\n\t\t\t\n\t var isIE11Plus = function() {\n\t \treturn document.documentMode && document.documentMode >= 11;\n\t };\n\n\n\t var Semaphore = function() {\n\t this.count = 0;\n\t this.pending = [];\n\t };\n\n\t Semaphore.prototype.incr = function() {\n\t this.count++;\n\t };\n\n\t Semaphore.prototype.decr = function() {\n\t this.count--;\n\t this.flush();\n\t };\n\n\t Semaphore.prototype.whenReady = function(fn) {\n\t this.pending.push(fn);\n\t this.flush();\n\t };\n\n\t Semaphore.prototype.flush = function() {\n\t if (this.count === 0) {\n\t this.pending.forEach(function(fn) { fn(); });\n\t this.pending = [];\n\t }\n\t };\n\n\n\t var Fetcher = function(opts) {\n\t this.sem = new Semaphore();\n\t this.sync = opts && opts.sync;\n\t this.mapForUri = opts && opts.cacheGlobally ? global_mapForUri : {};\n\t };\n\n\t Fetcher.prototype.ajax = function(uri, callback) {\n\t var xhr = createXMLHTTPObject();\n\t var that = this;\n\t xhr.onreadystatechange = function() {\n\t if (xhr.readyState == 4) {\n\t callback.call(that, xhr, uri);\n\t }\n\t };\n\t xhr.open(\"GET\", uri, !this.sync);\n\t xhr.send();\n\t }\n\n\t Fetcher.prototype.fetchScript = function(uri) {\n\t if (!(uri in this.mapForUri)) {\n\t this.sem.incr();\n\t this.mapForUri[uri] = null;\n\t } else {\n\t return;\n\t }\n\n\t this.ajax(uri, this.onScriptLoad);\n\t };\n\n\t var absUrlRegex = new RegExp('^(?:[a-z]+:)?//', 'i');\n\n\t Fetcher.prototype.onScriptLoad = function(xhr, uri) {\n\t if (xhr.status === 200 || (uri.slice(0, 7) === \"file://\" && xhr.status === 0)) {\n\t // find .map in file.\n\t //\n\t // attempt to find it at the very end of the file, but tolerate trailing\n\t // whitespace inserted by some packers.\n\t var match = xhr.responseText.match(\"//# [s]ourceMappingURL=(.*)[\\\\s]*$\", \"m\");\n\t if (match && match.length === 2) {\n\t // get the map\n\t var mapUri = match[1];\n\n\t var embeddedSourceMap = mapUri.match(\"data:application/json;(charset=[^;]+;)?base64,(.*)\");\n\n\t if (embeddedSourceMap && embeddedSourceMap[2]) {\n\t this.mapForUri[uri] = new source_map_consumer.SourceMapConsumer(atob(embeddedSourceMap[2]));\n\t this.sem.decr();\n\t } else {\n\t if (!absUrlRegex.test(mapUri)) {\n\t // relative url; according to sourcemaps spec is 'source origin'\n\t var origin;\n\t var lastSlash = uri.lastIndexOf('/');\n\t if (lastSlash !== -1) {\n\t origin = uri.slice(0, lastSlash + 1);\n\t mapUri = origin + mapUri;\n\t // note if lastSlash === -1, actual script uri has no slash\n\t // somehow, so no way to use it as a prefix... we give up and try\n\t // as absolute\n\t }\n\t }\n\n\t this.ajax(mapUri, function(xhr) {\n\t if (xhr.status === 200 || (mapUri.slice(0, 7) === \"file://\" && xhr.status === 0)) {\n\t this.mapForUri[uri] = new source_map_consumer.SourceMapConsumer(xhr.responseText);\n\t }\n\t this.sem.decr();\n\t });\n\t }\n\t } else {\n\t // no map\n\t this.sem.decr();\n\t }\n\t } else {\n\t // HTTP error fetching uri of the script\n\t this.sem.decr();\n\t }\n\t };\n\n\t var processSourceMaps = function(lines, rows, mapForUri, traceFormat) {\n\t var result = [];\n\t var map;\n\t var origName = traceFormat === \"chrome\" ? origNameChrome : origNameFirefox;\n\t for (var i=0; i < lines.length; i++) {\n\t var row = rows[i];\n\t if (row) {\n\t var uri = row[1];\n\t var line = parseInt(row[2], 10);\n\t var column = parseInt(row[3], 10);\n\t map = mapForUri[uri];\n\n\t if (map) {\n\t // we think we have a map for that uri. call source-map library\n\t var origPos = map.originalPositionFor(\n\t { line: line, column: column });\n\t result.push(formatOriginalPosition(origPos.source,\n\t origPos.line, origPos.column, origPos.name || origName(lines[i])));\n\t } else {\n\t // we can't find a map for that url, but we parsed the row.\n\t // reformat unchanged line for consistency with the sourcemapped\n\t // lines.\n\t result.push(formatOriginalPosition(uri, line, column, origName(lines[i])));\n\t }\n\t } else {\n\t // we weren't able to parse the row, push back what we were given\n\t result.push(lines[i]);\n\t }\n\t }\n\n\t return result;\n\t };\n\n\t function origNameChrome(origLine) {\n\t var match = / +at +([^ ]*).*/.exec(origLine);\n\t return match && match[1];\n\t }\n\n\t function origNameFirefox(origLine) {\n\t var match = /([^@]*)@.*/.exec(origLine);\n\t return match && match[1];\n\t }\n\n\t var formatOriginalPosition = function(source, line, column, name) {\n\t // mimic chrome's format\n\t return \" at \" + (name ? name : \"(unknown)\") +\n\t \" (\" + source + \":\" + line + \":\" + column + \")\";\n\t };\n\n\t // xmlhttprequest boilerplate\n\t var XMLHttpFactories = [\n\t\tfunction () {return new XMLHttpRequest();},\n\t\tfunction () {return new ActiveXObject(\"Msxml2.XMLHTTP\");},\n\t\tfunction () {return new ActiveXObject(\"Msxml3.XMLHTTP\");},\n\t\tfunction () {return new ActiveXObject(\"Microsoft.XMLHTTP\");}\n\t ];\n\n\t function createXMLHTTPObject() {\n\t var xmlhttp = false;\n\t for (var i=0;i= 0) {\n\t var mapping = this._originalMappings[index];\n\n\t if (aArgs.column === undefined) {\n\t var originalLine = mapping.originalLine;\n\n\t // Iterate until either we run out of mappings, or we run into\n\t // a mapping for a different line than the one we found. Since\n\t // mappings are sorted, this is guaranteed to find all mappings for\n\t // the line we found.\n\t while (mapping && mapping.originalLine === originalLine) {\n\t mappings.push({\n\t line: util.getArg(mapping, 'generatedLine', null),\n\t column: util.getArg(mapping, 'generatedColumn', null),\n\t lastColumn: util.getArg(mapping, 'lastGeneratedColumn', null)\n\t });\n\n\t mapping = this._originalMappings[++index];\n\t }\n\t } else {\n\t var originalColumn = mapping.originalColumn;\n\n\t // Iterate until either we run out of mappings, or we run into\n\t // a mapping for a different line than the one we were searching for.\n\t // Since mappings are sorted, this is guaranteed to find all mappings for\n\t // the line we are searching for.\n\t while (mapping &&\n\t mapping.originalLine === line &&\n\t mapping.originalColumn == originalColumn) {\n\t mappings.push({\n\t line: util.getArg(mapping, 'generatedLine', null),\n\t column: util.getArg(mapping, 'generatedColumn', null),\n\t lastColumn: util.getArg(mapping, 'lastGeneratedColumn', null)\n\t });\n\n\t mapping = this._originalMappings[++index];\n\t }\n\t }\n\t }\n\n\t return mappings;\n\t };\n\n\texports.SourceMapConsumer = SourceMapConsumer;\n\n\t/**\n\t * A BasicSourceMapConsumer instance represents a parsed source map which we can\n\t * query for information about the original file positions by giving it a file\n\t * position in the generated source.\n\t *\n\t * The only parameter is the raw source map (either as a JSON string, or\n\t * already parsed to an object). According to the spec, source maps have the\n\t * following attributes:\n\t *\n\t * - version: Which version of the source map spec this map is following.\n\t * - sources: An array of URLs to the original source files.\n\t * - names: An array of identifiers which can be referrenced by individual mappings.\n\t * - sourceRoot: Optional. The URL root from which all sources are relative.\n\t * - sourcesContent: Optional. An array of contents of the original source files.\n\t * - mappings: A string of base64 VLQs which contain the actual mappings.\n\t * - file: Optional. The generated file this source map is associated with.\n\t *\n\t * Here is an example source map, taken from the source map spec[0]:\n\t *\n\t * {\n\t * version : 3,\n\t * file: \"out.js\",\n\t * sourceRoot : \"\",\n\t * sources: [\"foo.js\", \"bar.js\"],\n\t * names: [\"src\", \"maps\", \"are\", \"fun\"],\n\t * mappings: \"AA,AB;;ABCDE;\"\n\t * }\n\t *\n\t * [0]: https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit?pli=1#\n\t */\n\tfunction BasicSourceMapConsumer(aSourceMap) {\n\t var sourceMap = aSourceMap;\n\t if (typeof aSourceMap === 'string') {\n\t sourceMap = JSON.parse(aSourceMap.replace(/^\\)\\]\\}'/, ''));\n\t }\n\n\t var version = util.getArg(sourceMap, 'version');\n\t var sources = util.getArg(sourceMap, 'sources');\n\t // Sass 3.3 leaves out the 'names' array, so we deviate from the spec (which\n\t // requires the array) to play nice here.\n\t var names = util.getArg(sourceMap, 'names', []);\n\t var sourceRoot = util.getArg(sourceMap, 'sourceRoot', null);\n\t var sourcesContent = util.getArg(sourceMap, 'sourcesContent', null);\n\t var mappings = util.getArg(sourceMap, 'mappings');\n\t var file = util.getArg(sourceMap, 'file', null);\n\n\t // Once again, Sass deviates from the spec and supplies the version as a\n\t // string rather than a number, so we use loose equality checking here.\n\t if (version != this._version) {\n\t throw new Error('Unsupported version: ' + version);\n\t }\n\n\t sources = sources\n\t .map(String)\n\t // Some source maps produce relative source paths like \"./foo.js\" instead of\n\t // \"foo.js\". Normalize these first so that future comparisons will succeed.\n\t // See bugzil.la/1090768.\n\t .map(util.normalize)\n\t // Always ensure that absolute sources are internally stored relative to\n\t // the source root, if the source root is absolute. Not doing this would\n\t // be particularly problematic when the source root is a prefix of the\n\t // source (valid, but why??). See github issue #199 and bugzil.la/1188982.\n\t .map(function (source) {\n\t return sourceRoot && util.isAbsolute(sourceRoot) && util.isAbsolute(source)\n\t ? util.relative(sourceRoot, source)\n\t : source;\n\t });\n\n\t // Pass `true` below to allow duplicate names and sources. While source maps\n\t // are intended to be compressed and deduplicated, the TypeScript compiler\n\t // sometimes generates source maps with duplicates in them. See Github issue\n\t // #72 and bugzil.la/889492.\n\t this._names = ArraySet.fromArray(names.map(String), true);\n\t this._sources = ArraySet.fromArray(sources, true);\n\n\t this.sourceRoot = sourceRoot;\n\t this.sourcesContent = sourcesContent;\n\t this._mappings = mappings;\n\t this.file = file;\n\t}\n\n\tBasicSourceMapConsumer.prototype = Object.create(SourceMapConsumer.prototype);\n\tBasicSourceMapConsumer.prototype.consumer = SourceMapConsumer;\n\n\t/**\n\t * Create a BasicSourceMapConsumer from a SourceMapGenerator.\n\t *\n\t * @param SourceMapGenerator aSourceMap\n\t * The source map that will be consumed.\n\t * @returns BasicSourceMapConsumer\n\t */\n\tBasicSourceMapConsumer.fromSourceMap =\n\t function SourceMapConsumer_fromSourceMap(aSourceMap) {\n\t var smc = Object.create(BasicSourceMapConsumer.prototype);\n\n\t var names = smc._names = ArraySet.fromArray(aSourceMap._names.toArray(), true);\n\t var sources = smc._sources = ArraySet.fromArray(aSourceMap._sources.toArray(), true);\n\t smc.sourceRoot = aSourceMap._sourceRoot;\n\t smc.sourcesContent = aSourceMap._generateSourcesContent(smc._sources.toArray(),\n\t smc.sourceRoot);\n\t smc.file = aSourceMap._file;\n\n\t // Because we are modifying the entries (by converting string sources and\n\t // names to indices into the sources and names ArraySets), we have to make\n\t // a copy of the entry or else bad things happen. Shared mutable state\n\t // strikes again! See github issue #191.\n\n\t var generatedMappings = aSourceMap._mappings.toArray().slice();\n\t var destGeneratedMappings = smc.__generatedMappings = [];\n\t var destOriginalMappings = smc.__originalMappings = [];\n\n\t for (var i = 0, length = generatedMappings.length; i < length; i++) {\n\t var srcMapping = generatedMappings[i];\n\t var destMapping = new Mapping;\n\t destMapping.generatedLine = srcMapping.generatedLine;\n\t destMapping.generatedColumn = srcMapping.generatedColumn;\n\n\t if (srcMapping.source) {\n\t destMapping.source = sources.indexOf(srcMapping.source);\n\t destMapping.originalLine = srcMapping.originalLine;\n\t destMapping.originalColumn = srcMapping.originalColumn;\n\n\t if (srcMapping.name) {\n\t destMapping.name = names.indexOf(srcMapping.name);\n\t }\n\n\t destOriginalMappings.push(destMapping);\n\t }\n\n\t destGeneratedMappings.push(destMapping);\n\t }\n\n\t quickSort(smc.__originalMappings, util.compareByOriginalPositions);\n\n\t return smc;\n\t };\n\n\t/**\n\t * The version of the source mapping spec that we are consuming.\n\t */\n\tBasicSourceMapConsumer.prototype._version = 3;\n\n\t/**\n\t * The list of original sources.\n\t */\n\tObject.defineProperty(BasicSourceMapConsumer.prototype, 'sources', {\n\t get: function () {\n\t return this._sources.toArray().map(function (s) {\n\t return this.sourceRoot != null ? util.join(this.sourceRoot, s) : s;\n\t }, this);\n\t }\n\t});\n\n\t/**\n\t * Provide the JIT with a nice shape / hidden class.\n\t */\n\tfunction Mapping() {\n\t this.generatedLine = 0;\n\t this.generatedColumn = 0;\n\t this.source = null;\n\t this.originalLine = null;\n\t this.originalColumn = null;\n\t this.name = null;\n\t}\n\n\t/**\n\t * Parse the mappings in a string in to a data structure which we can easily\n\t * query (the ordered arrays in the `this.__generatedMappings` and\n\t * `this.__originalMappings` properties).\n\t */\n\tBasicSourceMapConsumer.prototype._parseMappings =\n\t function SourceMapConsumer_parseMappings(aStr, aSourceRoot) {\n\t var generatedLine = 1;\n\t var previousGeneratedColumn = 0;\n\t var previousOriginalLine = 0;\n\t var previousOriginalColumn = 0;\n\t var previousSource = 0;\n\t var previousName = 0;\n\t var length = aStr.length;\n\t var index = 0;\n\t var cachedSegments = {};\n\t var temp = {};\n\t var originalMappings = [];\n\t var generatedMappings = [];\n\t var mapping, str, segment, end, value;\n\n\t while (index < length) {\n\t if (aStr.charAt(index) === ';') {\n\t generatedLine++;\n\t index++;\n\t previousGeneratedColumn = 0;\n\t }\n\t else if (aStr.charAt(index) === ',') {\n\t index++;\n\t }\n\t else {\n\t mapping = new Mapping();\n\t mapping.generatedLine = generatedLine;\n\n\t // Because each offset is encoded relative to the previous one,\n\t // many segments often have the same encoding. We can exploit this\n\t // fact by caching the parsed variable length fields of each segment,\n\t // allowing us to avoid a second parse if we encounter the same\n\t // segment again.\n\t for (end = index; end < length; end++) {\n\t if (this._charIsMappingSeparator(aStr, end)) {\n\t break;\n\t }\n\t }\n\t str = aStr.slice(index, end);\n\n\t segment = cachedSegments[str];\n\t if (segment) {\n\t index += str.length;\n\t } else {\n\t segment = [];\n\t while (index < end) {\n\t base64VLQ.decode(aStr, index, temp);\n\t value = temp.value;\n\t index = temp.rest;\n\t segment.push(value);\n\t }\n\n\t if (segment.length === 2) {\n\t throw new Error('Found a source, but no line and column');\n\t }\n\n\t if (segment.length === 3) {\n\t throw new Error('Found a source and line, but no column');\n\t }\n\n\t cachedSegments[str] = segment;\n\t }\n\n\t // Generated column.\n\t mapping.generatedColumn = previousGeneratedColumn + segment[0];\n\t previousGeneratedColumn = mapping.generatedColumn;\n\n\t if (segment.length > 1) {\n\t // Original source.\n\t mapping.source = previousSource + segment[1];\n\t previousSource += segment[1];\n\n\t // Original line.\n\t mapping.originalLine = previousOriginalLine + segment[2];\n\t previousOriginalLine = mapping.originalLine;\n\t // Lines are stored 0-based\n\t mapping.originalLine += 1;\n\n\t // Original column.\n\t mapping.originalColumn = previousOriginalColumn + segment[3];\n\t previousOriginalColumn = mapping.originalColumn;\n\n\t if (segment.length > 4) {\n\t // Original name.\n\t mapping.name = previousName + segment[4];\n\t previousName += segment[4];\n\t }\n\t }\n\n\t generatedMappings.push(mapping);\n\t if (typeof mapping.originalLine === 'number') {\n\t originalMappings.push(mapping);\n\t }\n\t }\n\t }\n\n\t quickSort(generatedMappings, util.compareByGeneratedPositionsDeflated);\n\t this.__generatedMappings = generatedMappings;\n\n\t quickSort(originalMappings, util.compareByOriginalPositions);\n\t this.__originalMappings = originalMappings;\n\t };\n\n\t/**\n\t * Find the mapping that best matches the hypothetical \"needle\" mapping that\n\t * we are searching for in the given \"haystack\" of mappings.\n\t */\n\tBasicSourceMapConsumer.prototype._findMapping =\n\t function SourceMapConsumer_findMapping(aNeedle, aMappings, aLineName,\n\t aColumnName, aComparator, aBias) {\n\t // To return the position we are searching for, we must first find the\n\t // mapping for the given position and then return the opposite position it\n\t // points to. Because the mappings are sorted, we can use binary search to\n\t // find the best mapping.\n\n\t if (aNeedle[aLineName] <= 0) {\n\t throw new TypeError('Line must be greater than or equal to 1, got '\n\t + aNeedle[aLineName]);\n\t }\n\t if (aNeedle[aColumnName] < 0) {\n\t throw new TypeError('Column must be greater than or equal to 0, got '\n\t + aNeedle[aColumnName]);\n\t }\n\n\t return binarySearch.search(aNeedle, aMappings, aComparator, aBias);\n\t };\n\n\t/**\n\t * Compute the last column for each generated mapping. The last column is\n\t * inclusive.\n\t */\n\tBasicSourceMapConsumer.prototype.computeColumnSpans =\n\t function SourceMapConsumer_computeColumnSpans() {\n\t for (var index = 0; index < this._generatedMappings.length; ++index) {\n\t var mapping = this._generatedMappings[index];\n\n\t // Mappings do not contain a field for the last generated columnt. We\n\t // can come up with an optimistic estimate, however, by assuming that\n\t // mappings are contiguous (i.e. given two consecutive mappings, the\n\t // first mapping ends where the second one starts).\n\t if (index + 1 < this._generatedMappings.length) {\n\t var nextMapping = this._generatedMappings[index + 1];\n\n\t if (mapping.generatedLine === nextMapping.generatedLine) {\n\t mapping.lastGeneratedColumn = nextMapping.generatedColumn - 1;\n\t continue;\n\t }\n\t }\n\n\t // The last mapping for each line spans the entire line.\n\t mapping.lastGeneratedColumn = Infinity;\n\t }\n\t };\n\n\t/**\n\t * Returns the original source, line, and column information for the generated\n\t * source's line and column positions provided. The only argument is an object\n\t * with the following properties:\n\t *\n\t * - line: The line number in the generated source.\n\t * - column: The column number in the generated source.\n\t * - bias: Either 'SourceMapConsumer.GREATEST_LOWER_BOUND' or\n\t * 'SourceMapConsumer.LEAST_UPPER_BOUND'. Specifies whether to return the\n\t * closest element that is smaller than or greater than the one we are\n\t * searching for, respectively, if the exact element cannot be found.\n\t * Defaults to 'SourceMapConsumer.GREATEST_LOWER_BOUND'.\n\t *\n\t * and an object is returned with the following properties:\n\t *\n\t * - source: The original source file, or null.\n\t * - line: The line number in the original source, or null.\n\t * - column: The column number in the original source, or null.\n\t * - name: The original identifier, or null.\n\t */\n\tBasicSourceMapConsumer.prototype.originalPositionFor =\n\t function SourceMapConsumer_originalPositionFor(aArgs) {\n\t var needle = {\n\t generatedLine: util.getArg(aArgs, 'line'),\n\t generatedColumn: util.getArg(aArgs, 'column')\n\t };\n\n\t var index = this._findMapping(\n\t needle,\n\t this._generatedMappings,\n\t \"generatedLine\",\n\t \"generatedColumn\",\n\t util.compareByGeneratedPositionsDeflated,\n\t util.getArg(aArgs, 'bias', SourceMapConsumer.GREATEST_LOWER_BOUND)\n\t );\n\n\t if (index >= 0) {\n\t var mapping = this._generatedMappings[index];\n\n\t if (mapping.generatedLine === needle.generatedLine) {\n\t var source = util.getArg(mapping, 'source', null);\n\t if (source !== null) {\n\t source = this._sources.at(source);\n\t if (this.sourceRoot != null) {\n\t source = util.join(this.sourceRoot, source);\n\t }\n\t }\n\t var name = util.getArg(mapping, 'name', null);\n\t if (name !== null) {\n\t name = this._names.at(name);\n\t }\n\t return {\n\t source: source,\n\t line: util.getArg(mapping, 'originalLine', null),\n\t column: util.getArg(mapping, 'originalColumn', null),\n\t name: name\n\t };\n\t }\n\t }\n\n\t return {\n\t source: null,\n\t line: null,\n\t column: null,\n\t name: null\n\t };\n\t };\n\n\t/**\n\t * Return true if we have the source content for every source in the source\n\t * map, false otherwise.\n\t */\n\tBasicSourceMapConsumer.prototype.hasContentsOfAllSources =\n\t function BasicSourceMapConsumer_hasContentsOfAllSources() {\n\t if (!this.sourcesContent) {\n\t return false;\n\t }\n\t return this.sourcesContent.length >= this._sources.size() &&\n\t !this.sourcesContent.some(function (sc) { return sc == null; });\n\t };\n\n\t/**\n\t * Returns the original source content. The only argument is the url of the\n\t * original source file. Returns null if no original source content is\n\t * available.\n\t */\n\tBasicSourceMapConsumer.prototype.sourceContentFor =\n\t function SourceMapConsumer_sourceContentFor(aSource, nullOnMissing) {\n\t if (!this.sourcesContent) {\n\t return null;\n\t }\n\n\t if (this.sourceRoot != null) {\n\t aSource = util.relative(this.sourceRoot, aSource);\n\t }\n\n\t if (this._sources.has(aSource)) {\n\t return this.sourcesContent[this._sources.indexOf(aSource)];\n\t }\n\n\t var url;\n\t if (this.sourceRoot != null\n\t && (url = util.urlParse(this.sourceRoot))) {\n\t // XXX: file:// URIs and absolute paths lead to unexpected behavior for\n\t // many users. We can help them out when they expect file:// URIs to\n\t // behave like it would if they were running a local HTTP server. See\n\t // https://bugzilla.mozilla.org/show_bug.cgi?id=885597.\n\t var fileUriAbsPath = aSource.replace(/^file:\\/\\//, \"\");\n\t if (url.scheme == \"file\"\n\t && this._sources.has(fileUriAbsPath)) {\n\t return this.sourcesContent[this._sources.indexOf(fileUriAbsPath)]\n\t }\n\n\t if ((!url.path || url.path == \"/\")\n\t && this._sources.has(\"/\" + aSource)) {\n\t return this.sourcesContent[this._sources.indexOf(\"/\" + aSource)];\n\t }\n\t }\n\n\t // This function is used recursively from\n\t // IndexedSourceMapConsumer.prototype.sourceContentFor. In that case, we\n\t // don't want to throw if we can't find the source - we just want to\n\t // return null, so we provide a flag to exit gracefully.\n\t if (nullOnMissing) {\n\t return null;\n\t }\n\t else {\n\t throw new Error('\"' + aSource + '\" is not in the SourceMap.');\n\t }\n\t };\n\n\t/**\n\t * Returns the generated line and column information for the original source,\n\t * line, and column positions provided. The only argument is an object with\n\t * the following properties:\n\t *\n\t * - source: The filename of the original source.\n\t * - line: The line number in the original source.\n\t * - column: The column number in the original source.\n\t * - bias: Either 'SourceMapConsumer.GREATEST_LOWER_BOUND' or\n\t * 'SourceMapConsumer.LEAST_UPPER_BOUND'. Specifies whether to return the\n\t * closest element that is smaller than or greater than the one we are\n\t * searching for, respectively, if the exact element cannot be found.\n\t * Defaults to 'SourceMapConsumer.GREATEST_LOWER_BOUND'.\n\t *\n\t * and an object is returned with the following properties:\n\t *\n\t * - line: The line number in the generated source, or null.\n\t * - column: The column number in the generated source, or null.\n\t */\n\tBasicSourceMapConsumer.prototype.generatedPositionFor =\n\t function SourceMapConsumer_generatedPositionFor(aArgs) {\n\t var source = util.getArg(aArgs, 'source');\n\t if (this.sourceRoot != null) {\n\t source = util.relative(this.sourceRoot, source);\n\t }\n\t if (!this._sources.has(source)) {\n\t return {\n\t line: null,\n\t column: null,\n\t lastColumn: null\n\t };\n\t }\n\t source = this._sources.indexOf(source);\n\n\t var needle = {\n\t source: source,\n\t originalLine: util.getArg(aArgs, 'line'),\n\t originalColumn: util.getArg(aArgs, 'column')\n\t };\n\n\t var index = this._findMapping(\n\t needle,\n\t this._originalMappings,\n\t \"originalLine\",\n\t \"originalColumn\",\n\t util.compareByOriginalPositions,\n\t util.getArg(aArgs, 'bias', SourceMapConsumer.GREATEST_LOWER_BOUND)\n\t );\n\n\t if (index >= 0) {\n\t var mapping = this._originalMappings[index];\n\n\t if (mapping.source === needle.source) {\n\t return {\n\t line: util.getArg(mapping, 'generatedLine', null),\n\t column: util.getArg(mapping, 'generatedColumn', null),\n\t lastColumn: util.getArg(mapping, 'lastGeneratedColumn', null)\n\t };\n\t }\n\t }\n\n\t return {\n\t line: null,\n\t column: null,\n\t lastColumn: null\n\t };\n\t };\n\n\texports.BasicSourceMapConsumer = BasicSourceMapConsumer;\n\n\t/**\n\t * An IndexedSourceMapConsumer instance represents a parsed source map which\n\t * we can query for information. It differs from BasicSourceMapConsumer in\n\t * that it takes \"indexed\" source maps (i.e. ones with a \"sections\" field) as\n\t * input.\n\t *\n\t * The only parameter is a raw source map (either as a JSON string, or already\n\t * parsed to an object). According to the spec for indexed source maps, they\n\t * have the following attributes:\n\t *\n\t * - version: Which version of the source map spec this map is following.\n\t * - file: Optional. The generated file this source map is associated with.\n\t * - sections: A list of section definitions.\n\t *\n\t * Each value under the \"sections\" field has two fields:\n\t * - offset: The offset into the original specified at which this section\n\t * begins to apply, defined as an object with a \"line\" and \"column\"\n\t * field.\n\t * - map: A source map definition. This source map could also be indexed,\n\t * but doesn't have to be.\n\t *\n\t * Instead of the \"map\" field, it's also possible to have a \"url\" field\n\t * specifying a URL to retrieve a source map from, but that's currently\n\t * unsupported.\n\t *\n\t * Here's an example source map, taken from the source map spec[0], but\n\t * modified to omit a section which uses the \"url\" field.\n\t *\n\t * {\n\t * version : 3,\n\t * file: \"app.js\",\n\t * sections: [{\n\t * offset: {line:100, column:10},\n\t * map: {\n\t * version : 3,\n\t * file: \"section.js\",\n\t * sources: [\"foo.js\", \"bar.js\"],\n\t * names: [\"src\", \"maps\", \"are\", \"fun\"],\n\t * mappings: \"AAAA,E;;ABCDE;\"\n\t * }\n\t * }],\n\t * }\n\t *\n\t * [0]: https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit#heading=h.535es3xeprgt\n\t */\n\tfunction IndexedSourceMapConsumer(aSourceMap) {\n\t var sourceMap = aSourceMap;\n\t if (typeof aSourceMap === 'string') {\n\t sourceMap = JSON.parse(aSourceMap.replace(/^\\)\\]\\}'/, ''));\n\t }\n\n\t var version = util.getArg(sourceMap, 'version');\n\t var sections = util.getArg(sourceMap, 'sections');\n\n\t if (version != this._version) {\n\t throw new Error('Unsupported version: ' + version);\n\t }\n\n\t this._sources = new ArraySet();\n\t this._names = new ArraySet();\n\n\t var lastOffset = {\n\t line: -1,\n\t column: 0\n\t };\n\t this._sections = sections.map(function (s) {\n\t if (s.url) {\n\t // The url field will require support for asynchronicity.\n\t // See https://github.com/mozilla/source-map/issues/16\n\t throw new Error('Support for url field in sections not implemented.');\n\t }\n\t var offset = util.getArg(s, 'offset');\n\t var offsetLine = util.getArg(offset, 'line');\n\t var offsetColumn = util.getArg(offset, 'column');\n\n\t if (offsetLine < lastOffset.line ||\n\t (offsetLine === lastOffset.line && offsetColumn < lastOffset.column)) {\n\t throw new Error('Section offsets must be ordered and non-overlapping.');\n\t }\n\t lastOffset = offset;\n\n\t return {\n\t generatedOffset: {\n\t // The offset fields are 0-based, but we use 1-based indices when\n\t // encoding/decoding from VLQ.\n\t generatedLine: offsetLine + 1,\n\t generatedColumn: offsetColumn + 1\n\t },\n\t consumer: new SourceMapConsumer(util.getArg(s, 'map'))\n\t }\n\t });\n\t}\n\n\tIndexedSourceMapConsumer.prototype = Object.create(SourceMapConsumer.prototype);\n\tIndexedSourceMapConsumer.prototype.constructor = SourceMapConsumer;\n\n\t/**\n\t * The version of the source mapping spec that we are consuming.\n\t */\n\tIndexedSourceMapConsumer.prototype._version = 3;\n\n\t/**\n\t * The list of original sources.\n\t */\n\tObject.defineProperty(IndexedSourceMapConsumer.prototype, 'sources', {\n\t get: function () {\n\t var sources = [];\n\t for (var i = 0; i < this._sections.length; i++) {\n\t for (var j = 0; j < this._sections[i].consumer.sources.length; j++) {\n\t sources.push(this._sections[i].consumer.sources[j]);\n\t }\n\t }\n\t return sources;\n\t }\n\t});\n\n\t/**\n\t * Returns the original source, line, and column information for the generated\n\t * source's line and column positions provided. The only argument is an object\n\t * with the following properties:\n\t *\n\t * - line: The line number in the generated source.\n\t * - column: The column number in the generated source.\n\t *\n\t * and an object is returned with the following properties:\n\t *\n\t * - source: The original source file, or null.\n\t * - line: The line number in the original source, or null.\n\t * - column: The column number in the original source, or null.\n\t * - name: The original identifier, or null.\n\t */\n\tIndexedSourceMapConsumer.prototype.originalPositionFor =\n\t function IndexedSourceMapConsumer_originalPositionFor(aArgs) {\n\t var needle = {\n\t generatedLine: util.getArg(aArgs, 'line'),\n\t generatedColumn: util.getArg(aArgs, 'column')\n\t };\n\n\t // Find the section containing the generated position we're trying to map\n\t // to an original position.\n\t var sectionIndex = binarySearch.search(needle, this._sections,\n\t function(needle, section) {\n\t var cmp = needle.generatedLine - section.generatedOffset.generatedLine;\n\t if (cmp) {\n\t return cmp;\n\t }\n\n\t return (needle.generatedColumn -\n\t section.generatedOffset.generatedColumn);\n\t });\n\t var section = this._sections[sectionIndex];\n\n\t if (!section) {\n\t return {\n\t source: null,\n\t line: null,\n\t column: null,\n\t name: null\n\t };\n\t }\n\n\t return section.consumer.originalPositionFor({\n\t line: needle.generatedLine -\n\t (section.generatedOffset.generatedLine - 1),\n\t column: needle.generatedColumn -\n\t (section.generatedOffset.generatedLine === needle.generatedLine\n\t ? section.generatedOffset.generatedColumn - 1\n\t : 0),\n\t bias: aArgs.bias\n\t });\n\t };\n\n\t/**\n\t * Return true if we have the source content for every source in the source\n\t * map, false otherwise.\n\t */\n\tIndexedSourceMapConsumer.prototype.hasContentsOfAllSources =\n\t function IndexedSourceMapConsumer_hasContentsOfAllSources() {\n\t return this._sections.every(function (s) {\n\t return s.consumer.hasContentsOfAllSources();\n\t });\n\t };\n\n\t/**\n\t * Returns the original source content. The only argument is the url of the\n\t * original source file. Returns null if no original source content is\n\t * available.\n\t */\n\tIndexedSourceMapConsumer.prototype.sourceContentFor =\n\t function IndexedSourceMapConsumer_sourceContentFor(aSource, nullOnMissing) {\n\t for (var i = 0; i < this._sections.length; i++) {\n\t var section = this._sections[i];\n\n\t var content = section.consumer.sourceContentFor(aSource, true);\n\t if (content) {\n\t return content;\n\t }\n\t }\n\t if (nullOnMissing) {\n\t return null;\n\t }\n\t else {\n\t throw new Error('\"' + aSource + '\" is not in the SourceMap.');\n\t }\n\t };\n\n\t/**\n\t * Returns the generated line and column information for the original source,\n\t * line, and column positions provided. The only argument is an object with\n\t * the following properties:\n\t *\n\t * - source: The filename of the original source.\n\t * - line: The line number in the original source.\n\t * - column: The column number in the original source.\n\t *\n\t * and an object is returned with the following properties:\n\t *\n\t * - line: The line number in the generated source, or null.\n\t * - column: The column number in the generated source, or null.\n\t */\n\tIndexedSourceMapConsumer.prototype.generatedPositionFor =\n\t function IndexedSourceMapConsumer_generatedPositionFor(aArgs) {\n\t for (var i = 0; i < this._sections.length; i++) {\n\t var section = this._sections[i];\n\n\t // Only consider this section if the requested source is in the list of\n\t // sources of the consumer.\n\t if (section.consumer.sources.indexOf(util.getArg(aArgs, 'source')) === -1) {\n\t continue;\n\t }\n\t var generatedPosition = section.consumer.generatedPositionFor(aArgs);\n\t if (generatedPosition) {\n\t var ret = {\n\t line: generatedPosition.line +\n\t (section.generatedOffset.generatedLine - 1),\n\t column: generatedPosition.column +\n\t (section.generatedOffset.generatedLine === generatedPosition.line\n\t ? section.generatedOffset.generatedColumn - 1\n\t : 0)\n\t };\n\t return ret;\n\t }\n\t }\n\n\t return {\n\t line: null,\n\t column: null\n\t };\n\t };\n\n\t/**\n\t * Parse the mappings in a string in to a data structure which we can easily\n\t * query (the ordered arrays in the `this.__generatedMappings` and\n\t * `this.__originalMappings` properties).\n\t */\n\tIndexedSourceMapConsumer.prototype._parseMappings =\n\t function IndexedSourceMapConsumer_parseMappings(aStr, aSourceRoot) {\n\t this.__generatedMappings = [];\n\t this.__originalMappings = [];\n\t for (var i = 0; i < this._sections.length; i++) {\n\t var section = this._sections[i];\n\t var sectionMappings = section.consumer._generatedMappings;\n\t for (var j = 0; j < sectionMappings.length; j++) {\n\t var mapping = sectionMappings[j];\n\n\t var source = section.consumer._sources.at(mapping.source);\n\t if (section.consumer.sourceRoot !== null) {\n\t source = util.join(section.consumer.sourceRoot, source);\n\t }\n\t this._sources.add(source);\n\t source = this._sources.indexOf(source);\n\n\t var name = section.consumer._names.at(mapping.name);\n\t this._names.add(name);\n\t name = this._names.indexOf(name);\n\n\t // The mappings coming from the consumer for the section have\n\t // generated positions relative to the start of the section, so we\n\t // need to offset them to be relative to the start of the concatenated\n\t // generated file.\n\t var adjustedMapping = {\n\t source: source,\n\t generatedLine: mapping.generatedLine +\n\t (section.generatedOffset.generatedLine - 1),\n\t generatedColumn: mapping.generatedColumn +\n\t (section.generatedOffset.generatedLine === mapping.generatedLine\n\t ? section.generatedOffset.generatedColumn - 1\n\t : 0),\n\t originalLine: mapping.originalLine,\n\t originalColumn: mapping.originalColumn,\n\t name: name\n\t };\n\n\t this.__generatedMappings.push(adjustedMapping);\n\t if (typeof adjustedMapping.originalLine === 'number') {\n\t this.__originalMappings.push(adjustedMapping);\n\t }\n\t }\n\t }\n\n\t quickSort(this.__generatedMappings, util.compareByGeneratedPositionsDeflated);\n\t quickSort(this.__originalMappings, util.compareByOriginalPositions);\n\t };\n\n\texports.IndexedSourceMapConsumer = IndexedSourceMapConsumer;\n\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports) {\n\n\t/* -*- Mode: js; js-indent-level: 2; -*- */\n\t/*\n\t * Copyright 2011 Mozilla Foundation and contributors\n\t * Licensed under the New BSD license. See LICENSE or:\n\t * http://opensource.org/licenses/BSD-3-Clause\n\t */\n\n\t/**\n\t * This is a helper function for getting values from parameter/options\n\t * objects.\n\t *\n\t * @param args The object we are extracting values from\n\t * @param name The name of the property we are getting.\n\t * @param defaultValue An optional value to return if the property is missing\n\t * from the object. If this is not specified and the property is missing, an\n\t * error will be thrown.\n\t */\n\tfunction getArg(aArgs, aName, aDefaultValue) {\n\t if (aName in aArgs) {\n\t return aArgs[aName];\n\t } else if (arguments.length === 3) {\n\t return aDefaultValue;\n\t } else {\n\t throw new Error('\"' + aName + '\" is a required argument.');\n\t }\n\t}\n\texports.getArg = getArg;\n\n\tvar urlRegexp = /^(?:([\\w+\\-.]+):)?\\/\\/(?:(\\w+:\\w+)@)?([\\w.]*)(?::(\\d+))?(\\S*)$/;\n\tvar dataUrlRegexp = /^data:.+\\,.+$/;\n\n\tfunction urlParse(aUrl) {\n\t var match = aUrl.match(urlRegexp);\n\t if (!match) {\n\t return null;\n\t }\n\t return {\n\t scheme: match[1],\n\t auth: match[2],\n\t host: match[3],\n\t port: match[4],\n\t path: match[5]\n\t };\n\t}\n\texports.urlParse = urlParse;\n\n\tfunction urlGenerate(aParsedUrl) {\n\t var url = '';\n\t if (aParsedUrl.scheme) {\n\t url += aParsedUrl.scheme + ':';\n\t }\n\t url += '//';\n\t if (aParsedUrl.auth) {\n\t url += aParsedUrl.auth + '@';\n\t }\n\t if (aParsedUrl.host) {\n\t url += aParsedUrl.host;\n\t }\n\t if (aParsedUrl.port) {\n\t url += \":\" + aParsedUrl.port\n\t }\n\t if (aParsedUrl.path) {\n\t url += aParsedUrl.path;\n\t }\n\t return url;\n\t}\n\texports.urlGenerate = urlGenerate;\n\n\t/**\n\t * Normalizes a path, or the path portion of a URL:\n\t *\n\t * - Replaces consecutive slashes with one slash.\n\t * - Removes unnecessary '.' parts.\n\t * - Removes unnecessary '/..' parts.\n\t *\n\t * Based on code in the Node.js 'path' core module.\n\t *\n\t * @param aPath The path or url to normalize.\n\t */\n\tfunction normalize(aPath) {\n\t var path = aPath;\n\t var url = urlParse(aPath);\n\t if (url) {\n\t if (!url.path) {\n\t return aPath;\n\t }\n\t path = url.path;\n\t }\n\t var isAbsolute = exports.isAbsolute(path);\n\n\t var parts = path.split(/\\/+/);\n\t for (var part, up = 0, i = parts.length - 1; i >= 0; i--) {\n\t part = parts[i];\n\t if (part === '.') {\n\t parts.splice(i, 1);\n\t } else if (part === '..') {\n\t up++;\n\t } else if (up > 0) {\n\t if (part === '') {\n\t // The first part is blank if the path is absolute. Trying to go\n\t // above the root is a no-op. Therefore we can remove all '..' parts\n\t // directly after the root.\n\t parts.splice(i + 1, up);\n\t up = 0;\n\t } else {\n\t parts.splice(i, 2);\n\t up--;\n\t }\n\t }\n\t }\n\t path = parts.join('/');\n\n\t if (path === '') {\n\t path = isAbsolute ? '/' : '.';\n\t }\n\n\t if (url) {\n\t url.path = path;\n\t return urlGenerate(url);\n\t }\n\t return path;\n\t}\n\texports.normalize = normalize;\n\n\t/**\n\t * Joins two paths/URLs.\n\t *\n\t * @param aRoot The root path or URL.\n\t * @param aPath The path or URL to be joined with the root.\n\t *\n\t * - If aPath is a URL or a data URI, aPath is returned, unless aPath is a\n\t * scheme-relative URL: Then the scheme of aRoot, if any, is prepended\n\t * first.\n\t * - Otherwise aPath is a path. If aRoot is a URL, then its path portion\n\t * is updated with the result and aRoot is returned. Otherwise the result\n\t * is returned.\n\t * - If aPath is absolute, the result is aPath.\n\t * - Otherwise the two paths are joined with a slash.\n\t * - Joining for example 'http://' and 'www.example.com' is also supported.\n\t */\n\tfunction join(aRoot, aPath) {\n\t if (aRoot === \"\") {\n\t aRoot = \".\";\n\t }\n\t if (aPath === \"\") {\n\t aPath = \".\";\n\t }\n\t var aPathUrl = urlParse(aPath);\n\t var aRootUrl = urlParse(aRoot);\n\t if (aRootUrl) {\n\t aRoot = aRootUrl.path || '/';\n\t }\n\n\t // `join(foo, '//www.example.org')`\n\t if (aPathUrl && !aPathUrl.scheme) {\n\t if (aRootUrl) {\n\t aPathUrl.scheme = aRootUrl.scheme;\n\t }\n\t return urlGenerate(aPathUrl);\n\t }\n\n\t if (aPathUrl || aPath.match(dataUrlRegexp)) {\n\t return aPath;\n\t }\n\n\t // `join('http://', 'www.example.com')`\n\t if (aRootUrl && !aRootUrl.host && !aRootUrl.path) {\n\t aRootUrl.host = aPath;\n\t return urlGenerate(aRootUrl);\n\t }\n\n\t var joined = aPath.charAt(0) === '/'\n\t ? aPath\n\t : normalize(aRoot.replace(/\\/+$/, '') + '/' + aPath);\n\n\t if (aRootUrl) {\n\t aRootUrl.path = joined;\n\t return urlGenerate(aRootUrl);\n\t }\n\t return joined;\n\t}\n\texports.join = join;\n\n\texports.isAbsolute = function (aPath) {\n\t return aPath.charAt(0) === '/' || !!aPath.match(urlRegexp);\n\t};\n\n\t/**\n\t * Make a path relative to a URL or another path.\n\t *\n\t * @param aRoot The root path or URL.\n\t * @param aPath The path or URL to be made relative to aRoot.\n\t */\n\tfunction relative(aRoot, aPath) {\n\t if (aRoot === \"\") {\n\t aRoot = \".\";\n\t }\n\n\t aRoot = aRoot.replace(/\\/$/, '');\n\n\t // It is possible for the path to be above the root. In this case, simply\n\t // checking whether the root is a prefix of the path won't work. Instead, we\n\t // need to remove components from the root one by one, until either we find\n\t // a prefix that fits, or we run out of components to remove.\n\t var level = 0;\n\t while (aPath.indexOf(aRoot + '/') !== 0) {\n\t var index = aRoot.lastIndexOf(\"/\");\n\t if (index < 0) {\n\t return aPath;\n\t }\n\n\t // If the only part of the root that is left is the scheme (i.e. http://,\n\t // file:///, etc.), one or more slashes (/), or simply nothing at all, we\n\t // have exhausted all components, so the path is not relative to the root.\n\t aRoot = aRoot.slice(0, index);\n\t if (aRoot.match(/^([^\\/]+:\\/)?\\/*$/)) {\n\t return aPath;\n\t }\n\n\t ++level;\n\t }\n\n\t // Make sure we add a \"../\" for each component we removed from the root.\n\t return Array(level + 1).join(\"../\") + aPath.substr(aRoot.length + 1);\n\t}\n\texports.relative = relative;\n\n\tvar supportsNullProto = (function () {\n\t var obj = Object.create(null);\n\t return !('__proto__' in obj);\n\t}());\n\n\tfunction identity (s) {\n\t return s;\n\t}\n\n\t/**\n\t * Because behavior goes wacky when you set `__proto__` on objects, we\n\t * have to prefix all the strings in our set with an arbitrary character.\n\t *\n\t * See https://github.com/mozilla/source-map/pull/31 and\n\t * https://github.com/mozilla/source-map/issues/30\n\t *\n\t * @param String aStr\n\t */\n\tfunction toSetString(aStr) {\n\t if (isProtoString(aStr)) {\n\t return '$' + aStr;\n\t }\n\n\t return aStr;\n\t}\n\texports.toSetString = supportsNullProto ? identity : toSetString;\n\n\tfunction fromSetString(aStr) {\n\t if (isProtoString(aStr)) {\n\t return aStr.slice(1);\n\t }\n\n\t return aStr;\n\t}\n\texports.fromSetString = supportsNullProto ? identity : fromSetString;\n\n\tfunction isProtoString(s) {\n\t if (!s) {\n\t return false;\n\t }\n\n\t var length = s.length;\n\n\t if (length < 9 /* \"__proto__\".length */) {\n\t return false;\n\t }\n\n\t if (s.charCodeAt(length - 1) !== 95 /* '_' */ ||\n\t s.charCodeAt(length - 2) !== 95 /* '_' */ ||\n\t s.charCodeAt(length - 3) !== 111 /* 'o' */ ||\n\t s.charCodeAt(length - 4) !== 116 /* 't' */ ||\n\t s.charCodeAt(length - 5) !== 111 /* 'o' */ ||\n\t s.charCodeAt(length - 6) !== 114 /* 'r' */ ||\n\t s.charCodeAt(length - 7) !== 112 /* 'p' */ ||\n\t s.charCodeAt(length - 8) !== 95 /* '_' */ ||\n\t s.charCodeAt(length - 9) !== 95 /* '_' */) {\n\t return false;\n\t }\n\n\t for (var i = length - 10; i >= 0; i--) {\n\t if (s.charCodeAt(i) !== 36 /* '$' */) {\n\t return false;\n\t }\n\t }\n\n\t return true;\n\t}\n\n\t/**\n\t * Comparator between two mappings where the original positions are compared.\n\t *\n\t * Optionally pass in `true` as `onlyCompareGenerated` to consider two\n\t * mappings with the same original source/line/column, but different generated\n\t * line and column the same. Useful when searching for a mapping with a\n\t * stubbed out mapping.\n\t */\n\tfunction compareByOriginalPositions(mappingA, mappingB, onlyCompareOriginal) {\n\t var cmp = mappingA.source - mappingB.source;\n\t if (cmp !== 0) {\n\t return cmp;\n\t }\n\n\t cmp = mappingA.originalLine - mappingB.originalLine;\n\t if (cmp !== 0) {\n\t return cmp;\n\t }\n\n\t cmp = mappingA.originalColumn - mappingB.originalColumn;\n\t if (cmp !== 0 || onlyCompareOriginal) {\n\t return cmp;\n\t }\n\n\t cmp = mappingA.generatedColumn - mappingB.generatedColumn;\n\t if (cmp !== 0) {\n\t return cmp;\n\t }\n\n\t cmp = mappingA.generatedLine - mappingB.generatedLine;\n\t if (cmp !== 0) {\n\t return cmp;\n\t }\n\n\t return mappingA.name - mappingB.name;\n\t}\n\texports.compareByOriginalPositions = compareByOriginalPositions;\n\n\t/**\n\t * Comparator between two mappings with deflated source and name indices where\n\t * the generated positions are compared.\n\t *\n\t * Optionally pass in `true` as `onlyCompareGenerated` to consider two\n\t * mappings with the same generated line and column, but different\n\t * source/name/original line and column the same. Useful when searching for a\n\t * mapping with a stubbed out mapping.\n\t */\n\tfunction compareByGeneratedPositionsDeflated(mappingA, mappingB, onlyCompareGenerated) {\n\t var cmp = mappingA.generatedLine - mappingB.generatedLine;\n\t if (cmp !== 0) {\n\t return cmp;\n\t }\n\n\t cmp = mappingA.generatedColumn - mappingB.generatedColumn;\n\t if (cmp !== 0 || onlyCompareGenerated) {\n\t return cmp;\n\t }\n\n\t cmp = mappingA.source - mappingB.source;\n\t if (cmp !== 0) {\n\t return cmp;\n\t }\n\n\t cmp = mappingA.originalLine - mappingB.originalLine;\n\t if (cmp !== 0) {\n\t return cmp;\n\t }\n\n\t cmp = mappingA.originalColumn - mappingB.originalColumn;\n\t if (cmp !== 0) {\n\t return cmp;\n\t }\n\n\t return mappingA.name - mappingB.name;\n\t}\n\texports.compareByGeneratedPositionsDeflated = compareByGeneratedPositionsDeflated;\n\n\tfunction strcmp(aStr1, aStr2) {\n\t if (aStr1 === aStr2) {\n\t return 0;\n\t }\n\n\t if (aStr1 > aStr2) {\n\t return 1;\n\t }\n\n\t return -1;\n\t}\n\n\t/**\n\t * Comparator between two mappings with inflated source and name strings where\n\t * the generated positions are compared.\n\t */\n\tfunction compareByGeneratedPositionsInflated(mappingA, mappingB) {\n\t var cmp = mappingA.generatedLine - mappingB.generatedLine;\n\t if (cmp !== 0) {\n\t return cmp;\n\t }\n\n\t cmp = mappingA.generatedColumn - mappingB.generatedColumn;\n\t if (cmp !== 0) {\n\t return cmp;\n\t }\n\n\t cmp = strcmp(mappingA.source, mappingB.source);\n\t if (cmp !== 0) {\n\t return cmp;\n\t }\n\n\t cmp = mappingA.originalLine - mappingB.originalLine;\n\t if (cmp !== 0) {\n\t return cmp;\n\t }\n\n\t cmp = mappingA.originalColumn - mappingB.originalColumn;\n\t if (cmp !== 0) {\n\t return cmp;\n\t }\n\n\t return strcmp(mappingA.name, mappingB.name);\n\t}\n\texports.compareByGeneratedPositionsInflated = compareByGeneratedPositionsInflated;\n\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports) {\n\n\t/* -*- Mode: js; js-indent-level: 2; -*- */\n\t/*\n\t * Copyright 2011 Mozilla Foundation and contributors\n\t * Licensed under the New BSD license. See LICENSE or:\n\t * http://opensource.org/licenses/BSD-3-Clause\n\t */\n\n\texports.GREATEST_LOWER_BOUND = 1;\n\texports.LEAST_UPPER_BOUND = 2;\n\n\t/**\n\t * Recursive implementation of binary search.\n\t *\n\t * @param aLow Indices here and lower do not contain the needle.\n\t * @param aHigh Indices here and higher do not contain the needle.\n\t * @param aNeedle The element being searched for.\n\t * @param aHaystack The non-empty array being searched.\n\t * @param aCompare Function which takes two elements and returns -1, 0, or 1.\n\t * @param aBias Either 'binarySearch.GREATEST_LOWER_BOUND' or\n\t * 'binarySearch.LEAST_UPPER_BOUND'. Specifies whether to return the\n\t * closest element that is smaller than or greater than the one we are\n\t * searching for, respectively, if the exact element cannot be found.\n\t */\n\tfunction recursiveSearch(aLow, aHigh, aNeedle, aHaystack, aCompare, aBias) {\n\t // This function terminates when one of the following is true:\n\t //\n\t // 1. We find the exact element we are looking for.\n\t //\n\t // 2. We did not find the exact element, but we can return the index of\n\t // the next-closest element.\n\t //\n\t // 3. We did not find the exact element, and there is no next-closest\n\t // element than the one we are searching for, so we return -1.\n\t var mid = Math.floor((aHigh - aLow) / 2) + aLow;\n\t var cmp = aCompare(aNeedle, aHaystack[mid], true);\n\t if (cmp === 0) {\n\t // Found the element we are looking for.\n\t return mid;\n\t }\n\t else if (cmp > 0) {\n\t // Our needle is greater than aHaystack[mid].\n\t if (aHigh - mid > 1) {\n\t // The element is in the upper half.\n\t return recursiveSearch(mid, aHigh, aNeedle, aHaystack, aCompare, aBias);\n\t }\n\n\t // The exact needle element was not found in this haystack. Determine if\n\t // we are in termination case (3) or (2) and return the appropriate thing.\n\t if (aBias == exports.LEAST_UPPER_BOUND) {\n\t return aHigh < aHaystack.length ? aHigh : -1;\n\t } else {\n\t return mid;\n\t }\n\t }\n\t else {\n\t // Our needle is less than aHaystack[mid].\n\t if (mid - aLow > 1) {\n\t // The element is in the lower half.\n\t return recursiveSearch(aLow, mid, aNeedle, aHaystack, aCompare, aBias);\n\t }\n\n\t // we are in termination case (3) or (2) and return the appropriate thing.\n\t if (aBias == exports.LEAST_UPPER_BOUND) {\n\t return mid;\n\t } else {\n\t return aLow < 0 ? -1 : aLow;\n\t }\n\t }\n\t}\n\n\t/**\n\t * This is an implementation of binary search which will always try and return\n\t * the index of the closest element if there is no exact hit. This is because\n\t * mappings between original and generated line/col pairs are single points,\n\t * and there is an implicit region between each of them, so a miss just means\n\t * that you aren't on the very start of a region.\n\t *\n\t * @param aNeedle The element you are looking for.\n\t * @param aHaystack The array that is being searched.\n\t * @param aCompare A function which takes the needle and an element in the\n\t * array and returns -1, 0, or 1 depending on whether the needle is less\n\t * than, equal to, or greater than the element, respectively.\n\t * @param aBias Either 'binarySearch.GREATEST_LOWER_BOUND' or\n\t * 'binarySearch.LEAST_UPPER_BOUND'. Specifies whether to return the\n\t * closest element that is smaller than or greater than the one we are\n\t * searching for, respectively, if the exact element cannot be found.\n\t * Defaults to 'binarySearch.GREATEST_LOWER_BOUND'.\n\t */\n\texports.search = function search(aNeedle, aHaystack, aCompare, aBias) {\n\t if (aHaystack.length === 0) {\n\t return -1;\n\t }\n\n\t var index = recursiveSearch(-1, aHaystack.length, aNeedle, aHaystack,\n\t aCompare, aBias || exports.GREATEST_LOWER_BOUND);\n\t if (index < 0) {\n\t return -1;\n\t }\n\n\t // We have found either the exact element, or the next-closest element than\n\t // the one we are searching for. However, there may be more than one such\n\t // element. Make sure we always return the smallest of these.\n\t while (index - 1 >= 0) {\n\t if (aCompare(aHaystack[index], aHaystack[index - 1], true) !== 0) {\n\t break;\n\t }\n\t --index;\n\t }\n\n\t return index;\n\t};\n\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t/* -*- Mode: js; js-indent-level: 2; -*- */\n\t/*\n\t * Copyright 2011 Mozilla Foundation and contributors\n\t * Licensed under the New BSD license. See LICENSE or:\n\t * http://opensource.org/licenses/BSD-3-Clause\n\t */\n\n\tvar util = __webpack_require__(2);\n\tvar has = Object.prototype.hasOwnProperty;\n\n\t/**\n\t * A data structure which is a combination of an array and a set. Adding a new\n\t * member is O(1), testing for membership is O(1), and finding the index of an\n\t * element is O(1). Removing elements from the set is not supported. Only\n\t * strings are supported for membership.\n\t */\n\tfunction ArraySet() {\n\t this._array = [];\n\t this._set = Object.create(null);\n\t}\n\n\t/**\n\t * Static method for creating ArraySet instances from an existing array.\n\t */\n\tArraySet.fromArray = function ArraySet_fromArray(aArray, aAllowDuplicates) {\n\t var set = new ArraySet();\n\t for (var i = 0, len = aArray.length; i < len; i++) {\n\t set.add(aArray[i], aAllowDuplicates);\n\t }\n\t return set;\n\t};\n\n\t/**\n\t * Return how many unique items are in this ArraySet. If duplicates have been\n\t * added, than those do not count towards the size.\n\t *\n\t * @returns Number\n\t */\n\tArraySet.prototype.size = function ArraySet_size() {\n\t return Object.getOwnPropertyNames(this._set).length;\n\t};\n\n\t/**\n\t * Add the given string to this set.\n\t *\n\t * @param String aStr\n\t */\n\tArraySet.prototype.add = function ArraySet_add(aStr, aAllowDuplicates) {\n\t var sStr = util.toSetString(aStr);\n\t var isDuplicate = has.call(this._set, sStr);\n\t var idx = this._array.length;\n\t if (!isDuplicate || aAllowDuplicates) {\n\t this._array.push(aStr);\n\t }\n\t if (!isDuplicate) {\n\t this._set[sStr] = idx;\n\t }\n\t};\n\n\t/**\n\t * Is the given string a member of this set?\n\t *\n\t * @param String aStr\n\t */\n\tArraySet.prototype.has = function ArraySet_has(aStr) {\n\t var sStr = util.toSetString(aStr);\n\t return has.call(this._set, sStr);\n\t};\n\n\t/**\n\t * What is the index of the given string in the array?\n\t *\n\t * @param String aStr\n\t */\n\tArraySet.prototype.indexOf = function ArraySet_indexOf(aStr) {\n\t var sStr = util.toSetString(aStr);\n\t if (has.call(this._set, sStr)) {\n\t return this._set[sStr];\n\t }\n\t throw new Error('\"' + aStr + '\" is not in the set.');\n\t};\n\n\t/**\n\t * What is the element at the given index?\n\t *\n\t * @param Number aIdx\n\t */\n\tArraySet.prototype.at = function ArraySet_at(aIdx) {\n\t if (aIdx >= 0 && aIdx < this._array.length) {\n\t return this._array[aIdx];\n\t }\n\t throw new Error('No element indexed by ' + aIdx);\n\t};\n\n\t/**\n\t * Returns the array representation of this set (which has the proper indices\n\t * indicated by indexOf). Note that this is a copy of the internal array used\n\t * for storing the members so that no one can mess with internal state.\n\t */\n\tArraySet.prototype.toArray = function ArraySet_toArray() {\n\t return this._array.slice();\n\t};\n\n\texports.ArraySet = ArraySet;\n\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t/* -*- Mode: js; js-indent-level: 2; -*- */\n\t/*\n\t * Copyright 2011 Mozilla Foundation and contributors\n\t * Licensed under the New BSD license. See LICENSE or:\n\t * http://opensource.org/licenses/BSD-3-Clause\n\t *\n\t * Based on the Base 64 VLQ implementation in Closure Compiler:\n\t * https://code.google.com/p/closure-compiler/source/browse/trunk/src/com/google/debugging/sourcemap/Base64VLQ.java\n\t *\n\t * Copyright 2011 The Closure Compiler Authors. All rights reserved.\n\t * Redistribution and use in source and binary forms, with or without\n\t * modification, are permitted provided that the following conditions are\n\t * met:\n\t *\n\t * * Redistributions of source code must retain the above copyright\n\t * notice, this list of conditions and the following disclaimer.\n\t * * Redistributions in binary form must reproduce the above\n\t * copyright notice, this list of conditions and the following\n\t * disclaimer in the documentation and/or other materials provided\n\t * with the distribution.\n\t * * Neither the name of Google Inc. nor the names of its\n\t * contributors may be used to endorse or promote products derived\n\t * from this software without specific prior written permission.\n\t *\n\t * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n\t * \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n\t * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n\t * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n\t * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n\t * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n\t * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n\t * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n\t * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n\t * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n\t * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\t */\n\n\tvar base64 = __webpack_require__(6);\n\n\t// A single base 64 digit can contain 6 bits of data. For the base 64 variable\n\t// length quantities we use in the source map spec, the first bit is the sign,\n\t// the next four bits are the actual value, and the 6th bit is the\n\t// continuation bit. The continuation bit tells us whether there are more\n\t// digits in this value following this digit.\n\t//\n\t// Continuation\n\t// | Sign\n\t// | |\n\t// V V\n\t// 101011\n\n\tvar VLQ_BASE_SHIFT = 5;\n\n\t// binary: 100000\n\tvar VLQ_BASE = 1 << VLQ_BASE_SHIFT;\n\n\t// binary: 011111\n\tvar VLQ_BASE_MASK = VLQ_BASE - 1;\n\n\t// binary: 100000\n\tvar VLQ_CONTINUATION_BIT = VLQ_BASE;\n\n\t/**\n\t * Converts from a two-complement value to a value where the sign bit is\n\t * placed in the least significant bit. For example, as decimals:\n\t * 1 becomes 2 (10 binary), -1 becomes 3 (11 binary)\n\t * 2 becomes 4 (100 binary), -2 becomes 5 (101 binary)\n\t */\n\tfunction toVLQSigned(aValue) {\n\t return aValue < 0\n\t ? ((-aValue) << 1) + 1\n\t : (aValue << 1) + 0;\n\t}\n\n\t/**\n\t * Converts to a two-complement value from a value where the sign bit is\n\t * placed in the least significant bit. For example, as decimals:\n\t * 2 (10 binary) becomes 1, 3 (11 binary) becomes -1\n\t * 4 (100 binary) becomes 2, 5 (101 binary) becomes -2\n\t */\n\tfunction fromVLQSigned(aValue) {\n\t var isNegative = (aValue & 1) === 1;\n\t var shifted = aValue >> 1;\n\t return isNegative\n\t ? -shifted\n\t : shifted;\n\t}\n\n\t/**\n\t * Returns the base 64 VLQ encoded value.\n\t */\n\texports.encode = function base64VLQ_encode(aValue) {\n\t var encoded = \"\";\n\t var digit;\n\n\t var vlq = toVLQSigned(aValue);\n\n\t do {\n\t digit = vlq & VLQ_BASE_MASK;\n\t vlq >>>= VLQ_BASE_SHIFT;\n\t if (vlq > 0) {\n\t // There are still more digits in this value, so we must make sure the\n\t // continuation bit is marked.\n\t digit |= VLQ_CONTINUATION_BIT;\n\t }\n\t encoded += base64.encode(digit);\n\t } while (vlq > 0);\n\n\t return encoded;\n\t};\n\n\t/**\n\t * Decodes the next base 64 VLQ value from the given string and returns the\n\t * value and the rest of the string via the out parameter.\n\t */\n\texports.decode = function base64VLQ_decode(aStr, aIndex, aOutParam) {\n\t var strLen = aStr.length;\n\t var result = 0;\n\t var shift = 0;\n\t var continuation, digit;\n\n\t do {\n\t if (aIndex >= strLen) {\n\t throw new Error(\"Expected more digits in base 64 VLQ value.\");\n\t }\n\n\t digit = base64.decode(aStr.charCodeAt(aIndex++));\n\t if (digit === -1) {\n\t throw new Error(\"Invalid base64 digit: \" + aStr.charAt(aIndex - 1));\n\t }\n\n\t continuation = !!(digit & VLQ_CONTINUATION_BIT);\n\t digit &= VLQ_BASE_MASK;\n\t result = result + (digit << shift);\n\t shift += VLQ_BASE_SHIFT;\n\t } while (continuation);\n\n\t aOutParam.value = fromVLQSigned(result);\n\t aOutParam.rest = aIndex;\n\t};\n\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports) {\n\n\t/* -*- Mode: js; js-indent-level: 2; -*- */\n\t/*\n\t * Copyright 2011 Mozilla Foundation and contributors\n\t * Licensed under the New BSD license. See LICENSE or:\n\t * http://opensource.org/licenses/BSD-3-Clause\n\t */\n\n\tvar intToCharMap = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'.split('');\n\n\t/**\n\t * Encode an integer in the range of 0 to 63 to a single base 64 digit.\n\t */\n\texports.encode = function (number) {\n\t if (0 <= number && number < intToCharMap.length) {\n\t return intToCharMap[number];\n\t }\n\t throw new TypeError(\"Must be between 0 and 63: \" + number);\n\t};\n\n\t/**\n\t * Decode a single base 64 character code digit to an integer. Returns -1 on\n\t * failure.\n\t */\n\texports.decode = function (charCode) {\n\t var bigA = 65; // 'A'\n\t var bigZ = 90; // 'Z'\n\n\t var littleA = 97; // 'a'\n\t var littleZ = 122; // 'z'\n\n\t var zero = 48; // '0'\n\t var nine = 57; // '9'\n\n\t var plus = 43; // '+'\n\t var slash = 47; // '/'\n\n\t var littleOffset = 26;\n\t var numberOffset = 52;\n\n\t // 0 - 25: ABCDEFGHIJKLMNOPQRSTUVWXYZ\n\t if (bigA <= charCode && charCode <= bigZ) {\n\t return (charCode - bigA);\n\t }\n\n\t // 26 - 51: abcdefghijklmnopqrstuvwxyz\n\t if (littleA <= charCode && charCode <= littleZ) {\n\t return (charCode - littleA + littleOffset);\n\t }\n\n\t // 52 - 61: 0123456789\n\t if (zero <= charCode && charCode <= nine) {\n\t return (charCode - zero + numberOffset);\n\t }\n\n\t // 62: +\n\t if (charCode == plus) {\n\t return 62;\n\t }\n\n\t // 63: /\n\t if (charCode == slash) {\n\t return 63;\n\t }\n\n\t // Invalid base64 digit.\n\t return -1;\n\t};\n\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports) {\n\n\t/* -*- Mode: js; js-indent-level: 2; -*- */\n\t/*\n\t * Copyright 2011 Mozilla Foundation and contributors\n\t * Licensed under the New BSD license. See LICENSE or:\n\t * http://opensource.org/licenses/BSD-3-Clause\n\t */\n\n\t// It turns out that some (most?) JavaScript engines don't self-host\n\t// `Array.prototype.sort`. This makes sense because C++ will likely remain\n\t// faster than JS when doing raw CPU-intensive sorting. However, when using a\n\t// custom comparator function, calling back and forth between the VM's C++ and\n\t// JIT'd JS is rather slow *and* loses JIT type information, resulting in\n\t// worse generated code for the comparator function than would be optimal. In\n\t// fact, when sorting with a comparator, these costs outweigh the benefits of\n\t// sorting in C++. By using our own JS-implemented Quick Sort (below), we get\n\t// a ~3500ms mean speed-up in `bench/bench.html`.\n\n\t/**\n\t * Swap the elements indexed by `x` and `y` in the array `ary`.\n\t *\n\t * @param {Array} ary\n\t * The array.\n\t * @param {Number} x\n\t * The index of the first item.\n\t * @param {Number} y\n\t * The index of the second item.\n\t */\n\tfunction swap(ary, x, y) {\n\t var temp = ary[x];\n\t ary[x] = ary[y];\n\t ary[y] = temp;\n\t}\n\n\t/**\n\t * Returns a random integer within the range `low .. high` inclusive.\n\t *\n\t * @param {Number} low\n\t * The lower bound on the range.\n\t * @param {Number} high\n\t * The upper bound on the range.\n\t */\n\tfunction randomIntInRange(low, high) {\n\t return Math.round(low + (Math.random() * (high - low)));\n\t}\n\n\t/**\n\t * The Quick Sort algorithm.\n\t *\n\t * @param {Array} ary\n\t * An array to sort.\n\t * @param {function} comparator\n\t * Function to use to compare two items.\n\t * @param {Number} p\n\t * Start index of the array\n\t * @param {Number} r\n\t * End index of the array\n\t */\n\tfunction doQuickSort(ary, comparator, p, r) {\n\t // If our lower bound is less than our upper bound, we (1) partition the\n\t // array into two pieces and (2) recurse on each half. If it is not, this is\n\t // the empty array and our base case.\n\n\t if (p < r) {\n\t // (1) Partitioning.\n\t //\n\t // The partitioning chooses a pivot between `p` and `r` and moves all\n\t // elements that are less than or equal to the pivot to the before it, and\n\t // all the elements that are greater than it after it. The effect is that\n\t // once partition is done, the pivot is in the exact place it will be when\n\t // the array is put in sorted order, and it will not need to be moved\n\t // again. This runs in O(n) time.\n\n\t // Always choose a random pivot so that an input array which is reverse\n\t // sorted does not cause O(n^2) running time.\n\t var pivotIndex = randomIntInRange(p, r);\n\t var i = p - 1;\n\n\t swap(ary, pivotIndex, r);\n\t var pivot = ary[r];\n\n\t // Immediately after `j` is incremented in this loop, the following hold\n\t // true:\n\t //\n\t // * Every element in `ary[p .. i]` is less than or equal to the pivot.\n\t //\n\t // * Every element in `ary[i+1 .. j-1]` is greater than the pivot.\n\t for (var j = p; j < r; j++) {\n\t if (comparator(ary[j], pivot) <= 0) {\n\t i += 1;\n\t swap(ary, i, j);\n\t }\n\t }\n\n\t swap(ary, i + 1, j);\n\t var q = i + 1;\n\n\t // (2) Recurse on each half.\n\n\t doQuickSort(ary, comparator, p, q - 1);\n\t doQuickSort(ary, comparator, q + 1, r);\n\t }\n\t}\n\n\t/**\n\t * Sort the given array in-place with the given comparator function.\n\t *\n\t * @param {Array} ary\n\t * An array to sort.\n\t * @param {function} comparator\n\t * Function to use to compare two items.\n\t */\n\texports.quickSort = function (ary, comparator) {\n\t doQuickSort(ary, comparator, 0, ary.length - 1);\n\t};\n\n\n/***/ })\n/******/ ])\n});\n;"],"names":["this"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"sourcemapped-stacktrace.342f925b.js","sources":["../../node_modules/sourcemapped-stacktrace/dist/sourcemapped-stacktrace.js"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"sourceMappedStackTrace\"] = factory();\n\telse\n\t\troot[\"sourceMappedStackTrace\"] = factory();\n})(this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId])\n/******/ \t\t\treturn installedModules[moduleId].exports;\n\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\texports: {},\n/******/ \t\t\tid: moduleId,\n/******/ \t\t\tloaded: false\n/******/ \t\t};\n\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.loaded = true;\n\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n\n\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(0);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*\n\t * sourcemapped-stacktrace.js\n\t * created by James Salter (2014)\n\t *\n\t * https://github.com/novocaine/sourcemapped-stacktrace\n\t *\n\t * Licensed under the New BSD license. See LICENSE or:\n\t * http://opensource.org/licenses/BSD-3-Clause\n\t */\n\n\t/*global define */\n\n\t// note we only include source-map-consumer, not the whole source-map library,\n\t// which includes gear for generating source maps that we don't need\n\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(1)], __WEBPACK_AMD_DEFINE_RESULT__ = function(source_map_consumer) {\n\n\t var global_mapForUri = {};\n\n\t /**\n\t * Re-map entries in a stacktrace using sourcemaps if available.\n\t *\n\t * @param {str} stack - The stacktrace from the browser.\n\t * @param {function} done - Callback invoked with the transformed stacktrace\n\t * (an Array of Strings) passed as the first\n\t * argument\n\t * @param {Object} [opts] - Optional options object.\n\t * @param {Function} [opts.filter] - Filter function applied to each stackTrace line.\n\t * Lines which do not pass the filter won't be processesd.\n\t * @param {boolean} [opts.cacheGlobally] - Whether to cache sourcemaps globally across multiple calls.\n\t * @param {boolean} [opts.sync] - Whether to use synchronous ajax to load the sourcemaps.\n\t * @param {string} [opts.traceFormat] - If `error.stack` is formatted according to chrome or\n\t * Firefox's style. Can be either `\"chrome\"`, `\"firefox\"`\n\t * or `undefined` (default). If `undefined`, this library\n\t * will guess based on `navigator.userAgent`.\n\t */\n\t var mapStackTrace = function(stack, done, opts) {\n\t var lines;\n\t var line;\n\t var mapForUri = {};\n\t var rows = {};\n\t var fields;\n\t var uri;\n\t var expected_fields;\n\t var regex;\n\t var skip_lines;\n\n\t var fetcher = new Fetcher(opts);\n\n\t var traceFormat = opts && opts.traceFormat;\n\t if (traceFormat !== \"chrome\" && traceFormat !== \"firefox\") {\n\t if (traceFormat) {\n\t throw new Error(\"unknown traceFormat \\\"\" + traceFormat + \"\\\" :(\");\n\t } else if (isChromeOrEdge() || isIE11Plus()) {\n\t traceFormat = \"chrome\";\n\t } else if (isFirefox() || isSafari()) {\n\t traceFormat = \"firefox\";\n\t } else {\n\t throw new Error(\"unknown browser :(\");\n\t }\n\t }\n\n\t if (traceFormat === \"chrome\") {\n\t regex = /^ +at.+\\((.*):([0-9]+):([0-9]+)/;\n\t expected_fields = 4;\n\t // (skip first line containing exception message)\n\t skip_lines = 1;\n\t } else {\n\t regex = /@(.*):([0-9]+):([0-9]+)/;\n\t expected_fields = 4;\n\t skip_lines = 0;\n\t }\n\n\t lines = stack.split(\"\\n\").slice(skip_lines);\n\n\t for (var i=0; i < lines.length; i++) {\n\t line = lines[i];\n\t if ( opts && opts.filter && !opts.filter(line) ) continue;\n\t \n\t fields = line.match(regex);\n\t if (fields && fields.length === expected_fields) {\n\t rows[i] = fields;\n\t uri = fields[1];\n\t if (!uri.match(//)) {\n\t fetcher.fetchScript(uri);\n\t }\n\t }\n\t }\n\n\t fetcher.sem.whenReady(function() {\n\t var result = processSourceMaps(lines, rows, fetcher.mapForUri, traceFormat);\n\t done(result);\n\t });\n\t };\n\n\t var isChromeOrEdge = function() {\n\t return navigator.userAgent.toLowerCase().indexOf('chrome') > -1;\n\t };\n\n\t var isFirefox = function() {\n\t return navigator.userAgent.toLowerCase().indexOf('firefox') > -1;\n\t }; \n\n\t var isSafari = function() {\n\t return navigator.userAgent.toLowerCase().indexOf('safari') > -1;\n\t };\n\t\t\t\n\t var isIE11Plus = function() {\n\t \treturn document.documentMode && document.documentMode >= 11;\n\t };\n\n\n\t var Semaphore = function() {\n\t this.count = 0;\n\t this.pending = [];\n\t };\n\n\t Semaphore.prototype.incr = function() {\n\t this.count++;\n\t };\n\n\t Semaphore.prototype.decr = function() {\n\t this.count--;\n\t this.flush();\n\t };\n\n\t Semaphore.prototype.whenReady = function(fn) {\n\t this.pending.push(fn);\n\t this.flush();\n\t };\n\n\t Semaphore.prototype.flush = function() {\n\t if (this.count === 0) {\n\t this.pending.forEach(function(fn) { fn(); });\n\t this.pending = [];\n\t }\n\t };\n\n\n\t var Fetcher = function(opts) {\n\t this.sem = new Semaphore();\n\t this.sync = opts && opts.sync;\n\t this.mapForUri = opts && opts.cacheGlobally ? global_mapForUri : {};\n\t };\n\n\t Fetcher.prototype.ajax = function(uri, callback) {\n\t var xhr = createXMLHTTPObject();\n\t var that = this;\n\t xhr.onreadystatechange = function() {\n\t if (xhr.readyState == 4) {\n\t callback.call(that, xhr, uri);\n\t }\n\t };\n\t xhr.open(\"GET\", uri, !this.sync);\n\t xhr.send();\n\t }\n\n\t Fetcher.prototype.fetchScript = function(uri) {\n\t if (!(uri in this.mapForUri)) {\n\t this.sem.incr();\n\t this.mapForUri[uri] = null;\n\t } else {\n\t return;\n\t }\n\n\t this.ajax(uri, this.onScriptLoad);\n\t };\n\n\t var absUrlRegex = new RegExp('^(?:[a-z]+:)?//', 'i');\n\n\t Fetcher.prototype.onScriptLoad = function(xhr, uri) {\n\t if (xhr.status === 200 || (uri.slice(0, 7) === \"file://\" && xhr.status === 0)) {\n\t // find .map in file.\n\t //\n\t // attempt to find it at the very end of the file, but tolerate trailing\n\t // whitespace inserted by some packers.\n\t var match = xhr.responseText.match(\"//# [s]ourceMappingURL=(.*)[\\\\s]*$\", \"m\");\n\t if (match && match.length === 2) {\n\t // get the map\n\t var mapUri = match[1];\n\n\t var embeddedSourceMap = mapUri.match(\"data:application/json;(charset=[^;]+;)?base64,(.*)\");\n\n\t if (embeddedSourceMap && embeddedSourceMap[2]) {\n\t this.mapForUri[uri] = new source_map_consumer.SourceMapConsumer(atob(embeddedSourceMap[2]));\n\t this.sem.decr();\n\t } else {\n\t if (!absUrlRegex.test(mapUri)) {\n\t // relative url; according to sourcemaps spec is 'source origin'\n\t var origin;\n\t var lastSlash = uri.lastIndexOf('/');\n\t if (lastSlash !== -1) {\n\t origin = uri.slice(0, lastSlash + 1);\n\t mapUri = origin + mapUri;\n\t // note if lastSlash === -1, actual script uri has no slash\n\t // somehow, so no way to use it as a prefix... we give up and try\n\t // as absolute\n\t }\n\t }\n\n\t this.ajax(mapUri, function(xhr) {\n\t if (xhr.status === 200 || (mapUri.slice(0, 7) === \"file://\" && xhr.status === 0)) {\n\t this.mapForUri[uri] = new source_map_consumer.SourceMapConsumer(xhr.responseText);\n\t }\n\t this.sem.decr();\n\t });\n\t }\n\t } else {\n\t // no map\n\t this.sem.decr();\n\t }\n\t } else {\n\t // HTTP error fetching uri of the script\n\t this.sem.decr();\n\t }\n\t };\n\n\t var processSourceMaps = function(lines, rows, mapForUri, traceFormat) {\n\t var result = [];\n\t var map;\n\t var origName = traceFormat === \"chrome\" ? origNameChrome : origNameFirefox;\n\t for (var i=0; i < lines.length; i++) {\n\t var row = rows[i];\n\t if (row) {\n\t var uri = row[1];\n\t var line = parseInt(row[2], 10);\n\t var column = parseInt(row[3], 10);\n\t map = mapForUri[uri];\n\n\t if (map) {\n\t // we think we have a map for that uri. call source-map library\n\t var origPos = map.originalPositionFor(\n\t { line: line, column: column });\n\t result.push(formatOriginalPosition(origPos.source,\n\t origPos.line, origPos.column, origPos.name || origName(lines[i])));\n\t } else {\n\t // we can't find a map for that url, but we parsed the row.\n\t // reformat unchanged line for consistency with the sourcemapped\n\t // lines.\n\t result.push(formatOriginalPosition(uri, line, column, origName(lines[i])));\n\t }\n\t } else {\n\t // we weren't able to parse the row, push back what we were given\n\t result.push(lines[i]);\n\t }\n\t }\n\n\t return result;\n\t };\n\n\t function origNameChrome(origLine) {\n\t var match = / +at +([^ ]*).*/.exec(origLine);\n\t return match && match[1];\n\t }\n\n\t function origNameFirefox(origLine) {\n\t var match = /([^@]*)@.*/.exec(origLine);\n\t return match && match[1];\n\t }\n\n\t var formatOriginalPosition = function(source, line, column, name) {\n\t // mimic chrome's format\n\t return \" at \" + (name ? name : \"(unknown)\") +\n\t \" (\" + source + \":\" + line + \":\" + column + \")\";\n\t };\n\n\t // xmlhttprequest boilerplate\n\t var XMLHttpFactories = [\n\t\tfunction () {return new XMLHttpRequest();},\n\t\tfunction () {return new ActiveXObject(\"Msxml2.XMLHTTP\");},\n\t\tfunction () {return new ActiveXObject(\"Msxml3.XMLHTTP\");},\n\t\tfunction () {return new ActiveXObject(\"Microsoft.XMLHTTP\");}\n\t ];\n\n\t function createXMLHTTPObject() {\n\t var xmlhttp = false;\n\t for (var i=0;i= 0) {\n\t var mapping = this._originalMappings[index];\n\n\t if (aArgs.column === undefined) {\n\t var originalLine = mapping.originalLine;\n\n\t // Iterate until either we run out of mappings, or we run into\n\t // a mapping for a different line than the one we found. Since\n\t // mappings are sorted, this is guaranteed to find all mappings for\n\t // the line we found.\n\t while (mapping && mapping.originalLine === originalLine) {\n\t mappings.push({\n\t line: util.getArg(mapping, 'generatedLine', null),\n\t column: util.getArg(mapping, 'generatedColumn', null),\n\t lastColumn: util.getArg(mapping, 'lastGeneratedColumn', null)\n\t });\n\n\t mapping = this._originalMappings[++index];\n\t }\n\t } else {\n\t var originalColumn = mapping.originalColumn;\n\n\t // Iterate until either we run out of mappings, or we run into\n\t // a mapping for a different line than the one we were searching for.\n\t // Since mappings are sorted, this is guaranteed to find all mappings for\n\t // the line we are searching for.\n\t while (mapping &&\n\t mapping.originalLine === line &&\n\t mapping.originalColumn == originalColumn) {\n\t mappings.push({\n\t line: util.getArg(mapping, 'generatedLine', null),\n\t column: util.getArg(mapping, 'generatedColumn', null),\n\t lastColumn: util.getArg(mapping, 'lastGeneratedColumn', null)\n\t });\n\n\t mapping = this._originalMappings[++index];\n\t }\n\t }\n\t }\n\n\t return mappings;\n\t };\n\n\texports.SourceMapConsumer = SourceMapConsumer;\n\n\t/**\n\t * A BasicSourceMapConsumer instance represents a parsed source map which we can\n\t * query for information about the original file positions by giving it a file\n\t * position in the generated source.\n\t *\n\t * The only parameter is the raw source map (either as a JSON string, or\n\t * already parsed to an object). According to the spec, source maps have the\n\t * following attributes:\n\t *\n\t * - version: Which version of the source map spec this map is following.\n\t * - sources: An array of URLs to the original source files.\n\t * - names: An array of identifiers which can be referrenced by individual mappings.\n\t * - sourceRoot: Optional. The URL root from which all sources are relative.\n\t * - sourcesContent: Optional. An array of contents of the original source files.\n\t * - mappings: A string of base64 VLQs which contain the actual mappings.\n\t * - file: Optional. The generated file this source map is associated with.\n\t *\n\t * Here is an example source map, taken from the source map spec[0]:\n\t *\n\t * {\n\t * version : 3,\n\t * file: \"out.js\",\n\t * sourceRoot : \"\",\n\t * sources: [\"foo.js\", \"bar.js\"],\n\t * names: [\"src\", \"maps\", \"are\", \"fun\"],\n\t * mappings: \"AA,AB;;ABCDE;\"\n\t * }\n\t *\n\t * [0]: https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit?pli=1#\n\t */\n\tfunction BasicSourceMapConsumer(aSourceMap) {\n\t var sourceMap = aSourceMap;\n\t if (typeof aSourceMap === 'string') {\n\t sourceMap = JSON.parse(aSourceMap.replace(/^\\)\\]\\}'/, ''));\n\t }\n\n\t var version = util.getArg(sourceMap, 'version');\n\t var sources = util.getArg(sourceMap, 'sources');\n\t // Sass 3.3 leaves out the 'names' array, so we deviate from the spec (which\n\t // requires the array) to play nice here.\n\t var names = util.getArg(sourceMap, 'names', []);\n\t var sourceRoot = util.getArg(sourceMap, 'sourceRoot', null);\n\t var sourcesContent = util.getArg(sourceMap, 'sourcesContent', null);\n\t var mappings = util.getArg(sourceMap, 'mappings');\n\t var file = util.getArg(sourceMap, 'file', null);\n\n\t // Once again, Sass deviates from the spec and supplies the version as a\n\t // string rather than a number, so we use loose equality checking here.\n\t if (version != this._version) {\n\t throw new Error('Unsupported version: ' + version);\n\t }\n\n\t sources = sources\n\t .map(String)\n\t // Some source maps produce relative source paths like \"./foo.js\" instead of\n\t // \"foo.js\". Normalize these first so that future comparisons will succeed.\n\t // See bugzil.la/1090768.\n\t .map(util.normalize)\n\t // Always ensure that absolute sources are internally stored relative to\n\t // the source root, if the source root is absolute. Not doing this would\n\t // be particularly problematic when the source root is a prefix of the\n\t // source (valid, but why??). See github issue #199 and bugzil.la/1188982.\n\t .map(function (source) {\n\t return sourceRoot && util.isAbsolute(sourceRoot) && util.isAbsolute(source)\n\t ? util.relative(sourceRoot, source)\n\t : source;\n\t });\n\n\t // Pass `true` below to allow duplicate names and sources. While source maps\n\t // are intended to be compressed and deduplicated, the TypeScript compiler\n\t // sometimes generates source maps with duplicates in them. See Github issue\n\t // #72 and bugzil.la/889492.\n\t this._names = ArraySet.fromArray(names.map(String), true);\n\t this._sources = ArraySet.fromArray(sources, true);\n\n\t this.sourceRoot = sourceRoot;\n\t this.sourcesContent = sourcesContent;\n\t this._mappings = mappings;\n\t this.file = file;\n\t}\n\n\tBasicSourceMapConsumer.prototype = Object.create(SourceMapConsumer.prototype);\n\tBasicSourceMapConsumer.prototype.consumer = SourceMapConsumer;\n\n\t/**\n\t * Create a BasicSourceMapConsumer from a SourceMapGenerator.\n\t *\n\t * @param SourceMapGenerator aSourceMap\n\t * The source map that will be consumed.\n\t * @returns BasicSourceMapConsumer\n\t */\n\tBasicSourceMapConsumer.fromSourceMap =\n\t function SourceMapConsumer_fromSourceMap(aSourceMap) {\n\t var smc = Object.create(BasicSourceMapConsumer.prototype);\n\n\t var names = smc._names = ArraySet.fromArray(aSourceMap._names.toArray(), true);\n\t var sources = smc._sources = ArraySet.fromArray(aSourceMap._sources.toArray(), true);\n\t smc.sourceRoot = aSourceMap._sourceRoot;\n\t smc.sourcesContent = aSourceMap._generateSourcesContent(smc._sources.toArray(),\n\t smc.sourceRoot);\n\t smc.file = aSourceMap._file;\n\n\t // Because we are modifying the entries (by converting string sources and\n\t // names to indices into the sources and names ArraySets), we have to make\n\t // a copy of the entry or else bad things happen. Shared mutable state\n\t // strikes again! See github issue #191.\n\n\t var generatedMappings = aSourceMap._mappings.toArray().slice();\n\t var destGeneratedMappings = smc.__generatedMappings = [];\n\t var destOriginalMappings = smc.__originalMappings = [];\n\n\t for (var i = 0, length = generatedMappings.length; i < length; i++) {\n\t var srcMapping = generatedMappings[i];\n\t var destMapping = new Mapping;\n\t destMapping.generatedLine = srcMapping.generatedLine;\n\t destMapping.generatedColumn = srcMapping.generatedColumn;\n\n\t if (srcMapping.source) {\n\t destMapping.source = sources.indexOf(srcMapping.source);\n\t destMapping.originalLine = srcMapping.originalLine;\n\t destMapping.originalColumn = srcMapping.originalColumn;\n\n\t if (srcMapping.name) {\n\t destMapping.name = names.indexOf(srcMapping.name);\n\t }\n\n\t destOriginalMappings.push(destMapping);\n\t }\n\n\t destGeneratedMappings.push(destMapping);\n\t }\n\n\t quickSort(smc.__originalMappings, util.compareByOriginalPositions);\n\n\t return smc;\n\t };\n\n\t/**\n\t * The version of the source mapping spec that we are consuming.\n\t */\n\tBasicSourceMapConsumer.prototype._version = 3;\n\n\t/**\n\t * The list of original sources.\n\t */\n\tObject.defineProperty(BasicSourceMapConsumer.prototype, 'sources', {\n\t get: function () {\n\t return this._sources.toArray().map(function (s) {\n\t return this.sourceRoot != null ? util.join(this.sourceRoot, s) : s;\n\t }, this);\n\t }\n\t});\n\n\t/**\n\t * Provide the JIT with a nice shape / hidden class.\n\t */\n\tfunction Mapping() {\n\t this.generatedLine = 0;\n\t this.generatedColumn = 0;\n\t this.source = null;\n\t this.originalLine = null;\n\t this.originalColumn = null;\n\t this.name = null;\n\t}\n\n\t/**\n\t * Parse the mappings in a string in to a data structure which we can easily\n\t * query (the ordered arrays in the `this.__generatedMappings` and\n\t * `this.__originalMappings` properties).\n\t */\n\tBasicSourceMapConsumer.prototype._parseMappings =\n\t function SourceMapConsumer_parseMappings(aStr, aSourceRoot) {\n\t var generatedLine = 1;\n\t var previousGeneratedColumn = 0;\n\t var previousOriginalLine = 0;\n\t var previousOriginalColumn = 0;\n\t var previousSource = 0;\n\t var previousName = 0;\n\t var length = aStr.length;\n\t var index = 0;\n\t var cachedSegments = {};\n\t var temp = {};\n\t var originalMappings = [];\n\t var generatedMappings = [];\n\t var mapping, str, segment, end, value;\n\n\t while (index < length) {\n\t if (aStr.charAt(index) === ';') {\n\t generatedLine++;\n\t index++;\n\t previousGeneratedColumn = 0;\n\t }\n\t else if (aStr.charAt(index) === ',') {\n\t index++;\n\t }\n\t else {\n\t mapping = new Mapping();\n\t mapping.generatedLine = generatedLine;\n\n\t // Because each offset is encoded relative to the previous one,\n\t // many segments often have the same encoding. We can exploit this\n\t // fact by caching the parsed variable length fields of each segment,\n\t // allowing us to avoid a second parse if we encounter the same\n\t // segment again.\n\t for (end = index; end < length; end++) {\n\t if (this._charIsMappingSeparator(aStr, end)) {\n\t break;\n\t }\n\t }\n\t str = aStr.slice(index, end);\n\n\t segment = cachedSegments[str];\n\t if (segment) {\n\t index += str.length;\n\t } else {\n\t segment = [];\n\t while (index < end) {\n\t base64VLQ.decode(aStr, index, temp);\n\t value = temp.value;\n\t index = temp.rest;\n\t segment.push(value);\n\t }\n\n\t if (segment.length === 2) {\n\t throw new Error('Found a source, but no line and column');\n\t }\n\n\t if (segment.length === 3) {\n\t throw new Error('Found a source and line, but no column');\n\t }\n\n\t cachedSegments[str] = segment;\n\t }\n\n\t // Generated column.\n\t mapping.generatedColumn = previousGeneratedColumn + segment[0];\n\t previousGeneratedColumn = mapping.generatedColumn;\n\n\t if (segment.length > 1) {\n\t // Original source.\n\t mapping.source = previousSource + segment[1];\n\t previousSource += segment[1];\n\n\t // Original line.\n\t mapping.originalLine = previousOriginalLine + segment[2];\n\t previousOriginalLine = mapping.originalLine;\n\t // Lines are stored 0-based\n\t mapping.originalLine += 1;\n\n\t // Original column.\n\t mapping.originalColumn = previousOriginalColumn + segment[3];\n\t previousOriginalColumn = mapping.originalColumn;\n\n\t if (segment.length > 4) {\n\t // Original name.\n\t mapping.name = previousName + segment[4];\n\t previousName += segment[4];\n\t }\n\t }\n\n\t generatedMappings.push(mapping);\n\t if (typeof mapping.originalLine === 'number') {\n\t originalMappings.push(mapping);\n\t }\n\t }\n\t }\n\n\t quickSort(generatedMappings, util.compareByGeneratedPositionsDeflated);\n\t this.__generatedMappings = generatedMappings;\n\n\t quickSort(originalMappings, util.compareByOriginalPositions);\n\t this.__originalMappings = originalMappings;\n\t };\n\n\t/**\n\t * Find the mapping that best matches the hypothetical \"needle\" mapping that\n\t * we are searching for in the given \"haystack\" of mappings.\n\t */\n\tBasicSourceMapConsumer.prototype._findMapping =\n\t function SourceMapConsumer_findMapping(aNeedle, aMappings, aLineName,\n\t aColumnName, aComparator, aBias) {\n\t // To return the position we are searching for, we must first find the\n\t // mapping for the given position and then return the opposite position it\n\t // points to. Because the mappings are sorted, we can use binary search to\n\t // find the best mapping.\n\n\t if (aNeedle[aLineName] <= 0) {\n\t throw new TypeError('Line must be greater than or equal to 1, got '\n\t + aNeedle[aLineName]);\n\t }\n\t if (aNeedle[aColumnName] < 0) {\n\t throw new TypeError('Column must be greater than or equal to 0, got '\n\t + aNeedle[aColumnName]);\n\t }\n\n\t return binarySearch.search(aNeedle, aMappings, aComparator, aBias);\n\t };\n\n\t/**\n\t * Compute the last column for each generated mapping. The last column is\n\t * inclusive.\n\t */\n\tBasicSourceMapConsumer.prototype.computeColumnSpans =\n\t function SourceMapConsumer_computeColumnSpans() {\n\t for (var index = 0; index < this._generatedMappings.length; ++index) {\n\t var mapping = this._generatedMappings[index];\n\n\t // Mappings do not contain a field for the last generated columnt. We\n\t // can come up with an optimistic estimate, however, by assuming that\n\t // mappings are contiguous (i.e. given two consecutive mappings, the\n\t // first mapping ends where the second one starts).\n\t if (index + 1 < this._generatedMappings.length) {\n\t var nextMapping = this._generatedMappings[index + 1];\n\n\t if (mapping.generatedLine === nextMapping.generatedLine) {\n\t mapping.lastGeneratedColumn = nextMapping.generatedColumn - 1;\n\t continue;\n\t }\n\t }\n\n\t // The last mapping for each line spans the entire line.\n\t mapping.lastGeneratedColumn = Infinity;\n\t }\n\t };\n\n\t/**\n\t * Returns the original source, line, and column information for the generated\n\t * source's line and column positions provided. The only argument is an object\n\t * with the following properties:\n\t *\n\t * - line: The line number in the generated source.\n\t * - column: The column number in the generated source.\n\t * - bias: Either 'SourceMapConsumer.GREATEST_LOWER_BOUND' or\n\t * 'SourceMapConsumer.LEAST_UPPER_BOUND'. Specifies whether to return the\n\t * closest element that is smaller than or greater than the one we are\n\t * searching for, respectively, if the exact element cannot be found.\n\t * Defaults to 'SourceMapConsumer.GREATEST_LOWER_BOUND'.\n\t *\n\t * and an object is returned with the following properties:\n\t *\n\t * - source: The original source file, or null.\n\t * - line: The line number in the original source, or null.\n\t * - column: The column number in the original source, or null.\n\t * - name: The original identifier, or null.\n\t */\n\tBasicSourceMapConsumer.prototype.originalPositionFor =\n\t function SourceMapConsumer_originalPositionFor(aArgs) {\n\t var needle = {\n\t generatedLine: util.getArg(aArgs, 'line'),\n\t generatedColumn: util.getArg(aArgs, 'column')\n\t };\n\n\t var index = this._findMapping(\n\t needle,\n\t this._generatedMappings,\n\t \"generatedLine\",\n\t \"generatedColumn\",\n\t util.compareByGeneratedPositionsDeflated,\n\t util.getArg(aArgs, 'bias', SourceMapConsumer.GREATEST_LOWER_BOUND)\n\t );\n\n\t if (index >= 0) {\n\t var mapping = this._generatedMappings[index];\n\n\t if (mapping.generatedLine === needle.generatedLine) {\n\t var source = util.getArg(mapping, 'source', null);\n\t if (source !== null) {\n\t source = this._sources.at(source);\n\t if (this.sourceRoot != null) {\n\t source = util.join(this.sourceRoot, source);\n\t }\n\t }\n\t var name = util.getArg(mapping, 'name', null);\n\t if (name !== null) {\n\t name = this._names.at(name);\n\t }\n\t return {\n\t source: source,\n\t line: util.getArg(mapping, 'originalLine', null),\n\t column: util.getArg(mapping, 'originalColumn', null),\n\t name: name\n\t };\n\t }\n\t }\n\n\t return {\n\t source: null,\n\t line: null,\n\t column: null,\n\t name: null\n\t };\n\t };\n\n\t/**\n\t * Return true if we have the source content for every source in the source\n\t * map, false otherwise.\n\t */\n\tBasicSourceMapConsumer.prototype.hasContentsOfAllSources =\n\t function BasicSourceMapConsumer_hasContentsOfAllSources() {\n\t if (!this.sourcesContent) {\n\t return false;\n\t }\n\t return this.sourcesContent.length >= this._sources.size() &&\n\t !this.sourcesContent.some(function (sc) { return sc == null; });\n\t };\n\n\t/**\n\t * Returns the original source content. The only argument is the url of the\n\t * original source file. Returns null if no original source content is\n\t * available.\n\t */\n\tBasicSourceMapConsumer.prototype.sourceContentFor =\n\t function SourceMapConsumer_sourceContentFor(aSource, nullOnMissing) {\n\t if (!this.sourcesContent) {\n\t return null;\n\t }\n\n\t if (this.sourceRoot != null) {\n\t aSource = util.relative(this.sourceRoot, aSource);\n\t }\n\n\t if (this._sources.has(aSource)) {\n\t return this.sourcesContent[this._sources.indexOf(aSource)];\n\t }\n\n\t var url;\n\t if (this.sourceRoot != null\n\t && (url = util.urlParse(this.sourceRoot))) {\n\t // XXX: file:// URIs and absolute paths lead to unexpected behavior for\n\t // many users. We can help them out when they expect file:// URIs to\n\t // behave like it would if they were running a local HTTP server. See\n\t // https://bugzilla.mozilla.org/show_bug.cgi?id=885597.\n\t var fileUriAbsPath = aSource.replace(/^file:\\/\\//, \"\");\n\t if (url.scheme == \"file\"\n\t && this._sources.has(fileUriAbsPath)) {\n\t return this.sourcesContent[this._sources.indexOf(fileUriAbsPath)]\n\t }\n\n\t if ((!url.path || url.path == \"/\")\n\t && this._sources.has(\"/\" + aSource)) {\n\t return this.sourcesContent[this._sources.indexOf(\"/\" + aSource)];\n\t }\n\t }\n\n\t // This function is used recursively from\n\t // IndexedSourceMapConsumer.prototype.sourceContentFor. In that case, we\n\t // don't want to throw if we can't find the source - we just want to\n\t // return null, so we provide a flag to exit gracefully.\n\t if (nullOnMissing) {\n\t return null;\n\t }\n\t else {\n\t throw new Error('\"' + aSource + '\" is not in the SourceMap.');\n\t }\n\t };\n\n\t/**\n\t * Returns the generated line and column information for the original source,\n\t * line, and column positions provided. The only argument is an object with\n\t * the following properties:\n\t *\n\t * - source: The filename of the original source.\n\t * - line: The line number in the original source.\n\t * - column: The column number in the original source.\n\t * - bias: Either 'SourceMapConsumer.GREATEST_LOWER_BOUND' or\n\t * 'SourceMapConsumer.LEAST_UPPER_BOUND'. Specifies whether to return the\n\t * closest element that is smaller than or greater than the one we are\n\t * searching for, respectively, if the exact element cannot be found.\n\t * Defaults to 'SourceMapConsumer.GREATEST_LOWER_BOUND'.\n\t *\n\t * and an object is returned with the following properties:\n\t *\n\t * - line: The line number in the generated source, or null.\n\t * - column: The column number in the generated source, or null.\n\t */\n\tBasicSourceMapConsumer.prototype.generatedPositionFor =\n\t function SourceMapConsumer_generatedPositionFor(aArgs) {\n\t var source = util.getArg(aArgs, 'source');\n\t if (this.sourceRoot != null) {\n\t source = util.relative(this.sourceRoot, source);\n\t }\n\t if (!this._sources.has(source)) {\n\t return {\n\t line: null,\n\t column: null,\n\t lastColumn: null\n\t };\n\t }\n\t source = this._sources.indexOf(source);\n\n\t var needle = {\n\t source: source,\n\t originalLine: util.getArg(aArgs, 'line'),\n\t originalColumn: util.getArg(aArgs, 'column')\n\t };\n\n\t var index = this._findMapping(\n\t needle,\n\t this._originalMappings,\n\t \"originalLine\",\n\t \"originalColumn\",\n\t util.compareByOriginalPositions,\n\t util.getArg(aArgs, 'bias', SourceMapConsumer.GREATEST_LOWER_BOUND)\n\t );\n\n\t if (index >= 0) {\n\t var mapping = this._originalMappings[index];\n\n\t if (mapping.source === needle.source) {\n\t return {\n\t line: util.getArg(mapping, 'generatedLine', null),\n\t column: util.getArg(mapping, 'generatedColumn', null),\n\t lastColumn: util.getArg(mapping, 'lastGeneratedColumn', null)\n\t };\n\t }\n\t }\n\n\t return {\n\t line: null,\n\t column: null,\n\t lastColumn: null\n\t };\n\t };\n\n\texports.BasicSourceMapConsumer = BasicSourceMapConsumer;\n\n\t/**\n\t * An IndexedSourceMapConsumer instance represents a parsed source map which\n\t * we can query for information. It differs from BasicSourceMapConsumer in\n\t * that it takes \"indexed\" source maps (i.e. ones with a \"sections\" field) as\n\t * input.\n\t *\n\t * The only parameter is a raw source map (either as a JSON string, or already\n\t * parsed to an object). According to the spec for indexed source maps, they\n\t * have the following attributes:\n\t *\n\t * - version: Which version of the source map spec this map is following.\n\t * - file: Optional. The generated file this source map is associated with.\n\t * - sections: A list of section definitions.\n\t *\n\t * Each value under the \"sections\" field has two fields:\n\t * - offset: The offset into the original specified at which this section\n\t * begins to apply, defined as an object with a \"line\" and \"column\"\n\t * field.\n\t * - map: A source map definition. This source map could also be indexed,\n\t * but doesn't have to be.\n\t *\n\t * Instead of the \"map\" field, it's also possible to have a \"url\" field\n\t * specifying a URL to retrieve a source map from, but that's currently\n\t * unsupported.\n\t *\n\t * Here's an example source map, taken from the source map spec[0], but\n\t * modified to omit a section which uses the \"url\" field.\n\t *\n\t * {\n\t * version : 3,\n\t * file: \"app.js\",\n\t * sections: [{\n\t * offset: {line:100, column:10},\n\t * map: {\n\t * version : 3,\n\t * file: \"section.js\",\n\t * sources: [\"foo.js\", \"bar.js\"],\n\t * names: [\"src\", \"maps\", \"are\", \"fun\"],\n\t * mappings: \"AAAA,E;;ABCDE;\"\n\t * }\n\t * }],\n\t * }\n\t *\n\t * [0]: https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit#heading=h.535es3xeprgt\n\t */\n\tfunction IndexedSourceMapConsumer(aSourceMap) {\n\t var sourceMap = aSourceMap;\n\t if (typeof aSourceMap === 'string') {\n\t sourceMap = JSON.parse(aSourceMap.replace(/^\\)\\]\\}'/, ''));\n\t }\n\n\t var version = util.getArg(sourceMap, 'version');\n\t var sections = util.getArg(sourceMap, 'sections');\n\n\t if (version != this._version) {\n\t throw new Error('Unsupported version: ' + version);\n\t }\n\n\t this._sources = new ArraySet();\n\t this._names = new ArraySet();\n\n\t var lastOffset = {\n\t line: -1,\n\t column: 0\n\t };\n\t this._sections = sections.map(function (s) {\n\t if (s.url) {\n\t // The url field will require support for asynchronicity.\n\t // See https://github.com/mozilla/source-map/issues/16\n\t throw new Error('Support for url field in sections not implemented.');\n\t }\n\t var offset = util.getArg(s, 'offset');\n\t var offsetLine = util.getArg(offset, 'line');\n\t var offsetColumn = util.getArg(offset, 'column');\n\n\t if (offsetLine < lastOffset.line ||\n\t (offsetLine === lastOffset.line && offsetColumn < lastOffset.column)) {\n\t throw new Error('Section offsets must be ordered and non-overlapping.');\n\t }\n\t lastOffset = offset;\n\n\t return {\n\t generatedOffset: {\n\t // The offset fields are 0-based, but we use 1-based indices when\n\t // encoding/decoding from VLQ.\n\t generatedLine: offsetLine + 1,\n\t generatedColumn: offsetColumn + 1\n\t },\n\t consumer: new SourceMapConsumer(util.getArg(s, 'map'))\n\t }\n\t });\n\t}\n\n\tIndexedSourceMapConsumer.prototype = Object.create(SourceMapConsumer.prototype);\n\tIndexedSourceMapConsumer.prototype.constructor = SourceMapConsumer;\n\n\t/**\n\t * The version of the source mapping spec that we are consuming.\n\t */\n\tIndexedSourceMapConsumer.prototype._version = 3;\n\n\t/**\n\t * The list of original sources.\n\t */\n\tObject.defineProperty(IndexedSourceMapConsumer.prototype, 'sources', {\n\t get: function () {\n\t var sources = [];\n\t for (var i = 0; i < this._sections.length; i++) {\n\t for (var j = 0; j < this._sections[i].consumer.sources.length; j++) {\n\t sources.push(this._sections[i].consumer.sources[j]);\n\t }\n\t }\n\t return sources;\n\t }\n\t});\n\n\t/**\n\t * Returns the original source, line, and column information for the generated\n\t * source's line and column positions provided. The only argument is an object\n\t * with the following properties:\n\t *\n\t * - line: The line number in the generated source.\n\t * - column: The column number in the generated source.\n\t *\n\t * and an object is returned with the following properties:\n\t *\n\t * - source: The original source file, or null.\n\t * - line: The line number in the original source, or null.\n\t * - column: The column number in the original source, or null.\n\t * - name: The original identifier, or null.\n\t */\n\tIndexedSourceMapConsumer.prototype.originalPositionFor =\n\t function IndexedSourceMapConsumer_originalPositionFor(aArgs) {\n\t var needle = {\n\t generatedLine: util.getArg(aArgs, 'line'),\n\t generatedColumn: util.getArg(aArgs, 'column')\n\t };\n\n\t // Find the section containing the generated position we're trying to map\n\t // to an original position.\n\t var sectionIndex = binarySearch.search(needle, this._sections,\n\t function(needle, section) {\n\t var cmp = needle.generatedLine - section.generatedOffset.generatedLine;\n\t if (cmp) {\n\t return cmp;\n\t }\n\n\t return (needle.generatedColumn -\n\t section.generatedOffset.generatedColumn);\n\t });\n\t var section = this._sections[sectionIndex];\n\n\t if (!section) {\n\t return {\n\t source: null,\n\t line: null,\n\t column: null,\n\t name: null\n\t };\n\t }\n\n\t return section.consumer.originalPositionFor({\n\t line: needle.generatedLine -\n\t (section.generatedOffset.generatedLine - 1),\n\t column: needle.generatedColumn -\n\t (section.generatedOffset.generatedLine === needle.generatedLine\n\t ? section.generatedOffset.generatedColumn - 1\n\t : 0),\n\t bias: aArgs.bias\n\t });\n\t };\n\n\t/**\n\t * Return true if we have the source content for every source in the source\n\t * map, false otherwise.\n\t */\n\tIndexedSourceMapConsumer.prototype.hasContentsOfAllSources =\n\t function IndexedSourceMapConsumer_hasContentsOfAllSources() {\n\t return this._sections.every(function (s) {\n\t return s.consumer.hasContentsOfAllSources();\n\t });\n\t };\n\n\t/**\n\t * Returns the original source content. The only argument is the url of the\n\t * original source file. Returns null if no original source content is\n\t * available.\n\t */\n\tIndexedSourceMapConsumer.prototype.sourceContentFor =\n\t function IndexedSourceMapConsumer_sourceContentFor(aSource, nullOnMissing) {\n\t for (var i = 0; i < this._sections.length; i++) {\n\t var section = this._sections[i];\n\n\t var content = section.consumer.sourceContentFor(aSource, true);\n\t if (content) {\n\t return content;\n\t }\n\t }\n\t if (nullOnMissing) {\n\t return null;\n\t }\n\t else {\n\t throw new Error('\"' + aSource + '\" is not in the SourceMap.');\n\t }\n\t };\n\n\t/**\n\t * Returns the generated line and column information for the original source,\n\t * line, and column positions provided. The only argument is an object with\n\t * the following properties:\n\t *\n\t * - source: The filename of the original source.\n\t * - line: The line number in the original source.\n\t * - column: The column number in the original source.\n\t *\n\t * and an object is returned with the following properties:\n\t *\n\t * - line: The line number in the generated source, or null.\n\t * - column: The column number in the generated source, or null.\n\t */\n\tIndexedSourceMapConsumer.prototype.generatedPositionFor =\n\t function IndexedSourceMapConsumer_generatedPositionFor(aArgs) {\n\t for (var i = 0; i < this._sections.length; i++) {\n\t var section = this._sections[i];\n\n\t // Only consider this section if the requested source is in the list of\n\t // sources of the consumer.\n\t if (section.consumer.sources.indexOf(util.getArg(aArgs, 'source')) === -1) {\n\t continue;\n\t }\n\t var generatedPosition = section.consumer.generatedPositionFor(aArgs);\n\t if (generatedPosition) {\n\t var ret = {\n\t line: generatedPosition.line +\n\t (section.generatedOffset.generatedLine - 1),\n\t column: generatedPosition.column +\n\t (section.generatedOffset.generatedLine === generatedPosition.line\n\t ? section.generatedOffset.generatedColumn - 1\n\t : 0)\n\t };\n\t return ret;\n\t }\n\t }\n\n\t return {\n\t line: null,\n\t column: null\n\t };\n\t };\n\n\t/**\n\t * Parse the mappings in a string in to a data structure which we can easily\n\t * query (the ordered arrays in the `this.__generatedMappings` and\n\t * `this.__originalMappings` properties).\n\t */\n\tIndexedSourceMapConsumer.prototype._parseMappings =\n\t function IndexedSourceMapConsumer_parseMappings(aStr, aSourceRoot) {\n\t this.__generatedMappings = [];\n\t this.__originalMappings = [];\n\t for (var i = 0; i < this._sections.length; i++) {\n\t var section = this._sections[i];\n\t var sectionMappings = section.consumer._generatedMappings;\n\t for (var j = 0; j < sectionMappings.length; j++) {\n\t var mapping = sectionMappings[j];\n\n\t var source = section.consumer._sources.at(mapping.source);\n\t if (section.consumer.sourceRoot !== null) {\n\t source = util.join(section.consumer.sourceRoot, source);\n\t }\n\t this._sources.add(source);\n\t source = this._sources.indexOf(source);\n\n\t var name = section.consumer._names.at(mapping.name);\n\t this._names.add(name);\n\t name = this._names.indexOf(name);\n\n\t // The mappings coming from the consumer for the section have\n\t // generated positions relative to the start of the section, so we\n\t // need to offset them to be relative to the start of the concatenated\n\t // generated file.\n\t var adjustedMapping = {\n\t source: source,\n\t generatedLine: mapping.generatedLine +\n\t (section.generatedOffset.generatedLine - 1),\n\t generatedColumn: mapping.generatedColumn +\n\t (section.generatedOffset.generatedLine === mapping.generatedLine\n\t ? section.generatedOffset.generatedColumn - 1\n\t : 0),\n\t originalLine: mapping.originalLine,\n\t originalColumn: mapping.originalColumn,\n\t name: name\n\t };\n\n\t this.__generatedMappings.push(adjustedMapping);\n\t if (typeof adjustedMapping.originalLine === 'number') {\n\t this.__originalMappings.push(adjustedMapping);\n\t }\n\t }\n\t }\n\n\t quickSort(this.__generatedMappings, util.compareByGeneratedPositionsDeflated);\n\t quickSort(this.__originalMappings, util.compareByOriginalPositions);\n\t };\n\n\texports.IndexedSourceMapConsumer = IndexedSourceMapConsumer;\n\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports) {\n\n\t/* -*- Mode: js; js-indent-level: 2; -*- */\n\t/*\n\t * Copyright 2011 Mozilla Foundation and contributors\n\t * Licensed under the New BSD license. See LICENSE or:\n\t * http://opensource.org/licenses/BSD-3-Clause\n\t */\n\n\t/**\n\t * This is a helper function for getting values from parameter/options\n\t * objects.\n\t *\n\t * @param args The object we are extracting values from\n\t * @param name The name of the property we are getting.\n\t * @param defaultValue An optional value to return if the property is missing\n\t * from the object. If this is not specified and the property is missing, an\n\t * error will be thrown.\n\t */\n\tfunction getArg(aArgs, aName, aDefaultValue) {\n\t if (aName in aArgs) {\n\t return aArgs[aName];\n\t } else if (arguments.length === 3) {\n\t return aDefaultValue;\n\t } else {\n\t throw new Error('\"' + aName + '\" is a required argument.');\n\t }\n\t}\n\texports.getArg = getArg;\n\n\tvar urlRegexp = /^(?:([\\w+\\-.]+):)?\\/\\/(?:(\\w+:\\w+)@)?([\\w.]*)(?::(\\d+))?(\\S*)$/;\n\tvar dataUrlRegexp = /^data:.+\\,.+$/;\n\n\tfunction urlParse(aUrl) {\n\t var match = aUrl.match(urlRegexp);\n\t if (!match) {\n\t return null;\n\t }\n\t return {\n\t scheme: match[1],\n\t auth: match[2],\n\t host: match[3],\n\t port: match[4],\n\t path: match[5]\n\t };\n\t}\n\texports.urlParse = urlParse;\n\n\tfunction urlGenerate(aParsedUrl) {\n\t var url = '';\n\t if (aParsedUrl.scheme) {\n\t url += aParsedUrl.scheme + ':';\n\t }\n\t url += '//';\n\t if (aParsedUrl.auth) {\n\t url += aParsedUrl.auth + '@';\n\t }\n\t if (aParsedUrl.host) {\n\t url += aParsedUrl.host;\n\t }\n\t if (aParsedUrl.port) {\n\t url += \":\" + aParsedUrl.port\n\t }\n\t if (aParsedUrl.path) {\n\t url += aParsedUrl.path;\n\t }\n\t return url;\n\t}\n\texports.urlGenerate = urlGenerate;\n\n\t/**\n\t * Normalizes a path, or the path portion of a URL:\n\t *\n\t * - Replaces consecutive slashes with one slash.\n\t * - Removes unnecessary '.' parts.\n\t * - Removes unnecessary '/..' parts.\n\t *\n\t * Based on code in the Node.js 'path' core module.\n\t *\n\t * @param aPath The path or url to normalize.\n\t */\n\tfunction normalize(aPath) {\n\t var path = aPath;\n\t var url = urlParse(aPath);\n\t if (url) {\n\t if (!url.path) {\n\t return aPath;\n\t }\n\t path = url.path;\n\t }\n\t var isAbsolute = exports.isAbsolute(path);\n\n\t var parts = path.split(/\\/+/);\n\t for (var part, up = 0, i = parts.length - 1; i >= 0; i--) {\n\t part = parts[i];\n\t if (part === '.') {\n\t parts.splice(i, 1);\n\t } else if (part === '..') {\n\t up++;\n\t } else if (up > 0) {\n\t if (part === '') {\n\t // The first part is blank if the path is absolute. Trying to go\n\t // above the root is a no-op. Therefore we can remove all '..' parts\n\t // directly after the root.\n\t parts.splice(i + 1, up);\n\t up = 0;\n\t } else {\n\t parts.splice(i, 2);\n\t up--;\n\t }\n\t }\n\t }\n\t path = parts.join('/');\n\n\t if (path === '') {\n\t path = isAbsolute ? '/' : '.';\n\t }\n\n\t if (url) {\n\t url.path = path;\n\t return urlGenerate(url);\n\t }\n\t return path;\n\t}\n\texports.normalize = normalize;\n\n\t/**\n\t * Joins two paths/URLs.\n\t *\n\t * @param aRoot The root path or URL.\n\t * @param aPath The path or URL to be joined with the root.\n\t *\n\t * - If aPath is a URL or a data URI, aPath is returned, unless aPath is a\n\t * scheme-relative URL: Then the scheme of aRoot, if any, is prepended\n\t * first.\n\t * - Otherwise aPath is a path. If aRoot is a URL, then its path portion\n\t * is updated with the result and aRoot is returned. Otherwise the result\n\t * is returned.\n\t * - If aPath is absolute, the result is aPath.\n\t * - Otherwise the two paths are joined with a slash.\n\t * - Joining for example 'http://' and 'www.example.com' is also supported.\n\t */\n\tfunction join(aRoot, aPath) {\n\t if (aRoot === \"\") {\n\t aRoot = \".\";\n\t }\n\t if (aPath === \"\") {\n\t aPath = \".\";\n\t }\n\t var aPathUrl = urlParse(aPath);\n\t var aRootUrl = urlParse(aRoot);\n\t if (aRootUrl) {\n\t aRoot = aRootUrl.path || '/';\n\t }\n\n\t // `join(foo, '//www.example.org')`\n\t if (aPathUrl && !aPathUrl.scheme) {\n\t if (aRootUrl) {\n\t aPathUrl.scheme = aRootUrl.scheme;\n\t }\n\t return urlGenerate(aPathUrl);\n\t }\n\n\t if (aPathUrl || aPath.match(dataUrlRegexp)) {\n\t return aPath;\n\t }\n\n\t // `join('http://', 'www.example.com')`\n\t if (aRootUrl && !aRootUrl.host && !aRootUrl.path) {\n\t aRootUrl.host = aPath;\n\t return urlGenerate(aRootUrl);\n\t }\n\n\t var joined = aPath.charAt(0) === '/'\n\t ? aPath\n\t : normalize(aRoot.replace(/\\/+$/, '') + '/' + aPath);\n\n\t if (aRootUrl) {\n\t aRootUrl.path = joined;\n\t return urlGenerate(aRootUrl);\n\t }\n\t return joined;\n\t}\n\texports.join = join;\n\n\texports.isAbsolute = function (aPath) {\n\t return aPath.charAt(0) === '/' || !!aPath.match(urlRegexp);\n\t};\n\n\t/**\n\t * Make a path relative to a URL or another path.\n\t *\n\t * @param aRoot The root path or URL.\n\t * @param aPath The path or URL to be made relative to aRoot.\n\t */\n\tfunction relative(aRoot, aPath) {\n\t if (aRoot === \"\") {\n\t aRoot = \".\";\n\t }\n\n\t aRoot = aRoot.replace(/\\/$/, '');\n\n\t // It is possible for the path to be above the root. In this case, simply\n\t // checking whether the root is a prefix of the path won't work. Instead, we\n\t // need to remove components from the root one by one, until either we find\n\t // a prefix that fits, or we run out of components to remove.\n\t var level = 0;\n\t while (aPath.indexOf(aRoot + '/') !== 0) {\n\t var index = aRoot.lastIndexOf(\"/\");\n\t if (index < 0) {\n\t return aPath;\n\t }\n\n\t // If the only part of the root that is left is the scheme (i.e. http://,\n\t // file:///, etc.), one or more slashes (/), or simply nothing at all, we\n\t // have exhausted all components, so the path is not relative to the root.\n\t aRoot = aRoot.slice(0, index);\n\t if (aRoot.match(/^([^\\/]+:\\/)?\\/*$/)) {\n\t return aPath;\n\t }\n\n\t ++level;\n\t }\n\n\t // Make sure we add a \"../\" for each component we removed from the root.\n\t return Array(level + 1).join(\"../\") + aPath.substr(aRoot.length + 1);\n\t}\n\texports.relative = relative;\n\n\tvar supportsNullProto = (function () {\n\t var obj = Object.create(null);\n\t return !('__proto__' in obj);\n\t}());\n\n\tfunction identity (s) {\n\t return s;\n\t}\n\n\t/**\n\t * Because behavior goes wacky when you set `__proto__` on objects, we\n\t * have to prefix all the strings in our set with an arbitrary character.\n\t *\n\t * See https://github.com/mozilla/source-map/pull/31 and\n\t * https://github.com/mozilla/source-map/issues/30\n\t *\n\t * @param String aStr\n\t */\n\tfunction toSetString(aStr) {\n\t if (isProtoString(aStr)) {\n\t return '$' + aStr;\n\t }\n\n\t return aStr;\n\t}\n\texports.toSetString = supportsNullProto ? identity : toSetString;\n\n\tfunction fromSetString(aStr) {\n\t if (isProtoString(aStr)) {\n\t return aStr.slice(1);\n\t }\n\n\t return aStr;\n\t}\n\texports.fromSetString = supportsNullProto ? identity : fromSetString;\n\n\tfunction isProtoString(s) {\n\t if (!s) {\n\t return false;\n\t }\n\n\t var length = s.length;\n\n\t if (length < 9 /* \"__proto__\".length */) {\n\t return false;\n\t }\n\n\t if (s.charCodeAt(length - 1) !== 95 /* '_' */ ||\n\t s.charCodeAt(length - 2) !== 95 /* '_' */ ||\n\t s.charCodeAt(length - 3) !== 111 /* 'o' */ ||\n\t s.charCodeAt(length - 4) !== 116 /* 't' */ ||\n\t s.charCodeAt(length - 5) !== 111 /* 'o' */ ||\n\t s.charCodeAt(length - 6) !== 114 /* 'r' */ ||\n\t s.charCodeAt(length - 7) !== 112 /* 'p' */ ||\n\t s.charCodeAt(length - 8) !== 95 /* '_' */ ||\n\t s.charCodeAt(length - 9) !== 95 /* '_' */) {\n\t return false;\n\t }\n\n\t for (var i = length - 10; i >= 0; i--) {\n\t if (s.charCodeAt(i) !== 36 /* '$' */) {\n\t return false;\n\t }\n\t }\n\n\t return true;\n\t}\n\n\t/**\n\t * Comparator between two mappings where the original positions are compared.\n\t *\n\t * Optionally pass in `true` as `onlyCompareGenerated` to consider two\n\t * mappings with the same original source/line/column, but different generated\n\t * line and column the same. Useful when searching for a mapping with a\n\t * stubbed out mapping.\n\t */\n\tfunction compareByOriginalPositions(mappingA, mappingB, onlyCompareOriginal) {\n\t var cmp = mappingA.source - mappingB.source;\n\t if (cmp !== 0) {\n\t return cmp;\n\t }\n\n\t cmp = mappingA.originalLine - mappingB.originalLine;\n\t if (cmp !== 0) {\n\t return cmp;\n\t }\n\n\t cmp = mappingA.originalColumn - mappingB.originalColumn;\n\t if (cmp !== 0 || onlyCompareOriginal) {\n\t return cmp;\n\t }\n\n\t cmp = mappingA.generatedColumn - mappingB.generatedColumn;\n\t if (cmp !== 0) {\n\t return cmp;\n\t }\n\n\t cmp = mappingA.generatedLine - mappingB.generatedLine;\n\t if (cmp !== 0) {\n\t return cmp;\n\t }\n\n\t return mappingA.name - mappingB.name;\n\t}\n\texports.compareByOriginalPositions = compareByOriginalPositions;\n\n\t/**\n\t * Comparator between two mappings with deflated source and name indices where\n\t * the generated positions are compared.\n\t *\n\t * Optionally pass in `true` as `onlyCompareGenerated` to consider two\n\t * mappings with the same generated line and column, but different\n\t * source/name/original line and column the same. Useful when searching for a\n\t * mapping with a stubbed out mapping.\n\t */\n\tfunction compareByGeneratedPositionsDeflated(mappingA, mappingB, onlyCompareGenerated) {\n\t var cmp = mappingA.generatedLine - mappingB.generatedLine;\n\t if (cmp !== 0) {\n\t return cmp;\n\t }\n\n\t cmp = mappingA.generatedColumn - mappingB.generatedColumn;\n\t if (cmp !== 0 || onlyCompareGenerated) {\n\t return cmp;\n\t }\n\n\t cmp = mappingA.source - mappingB.source;\n\t if (cmp !== 0) {\n\t return cmp;\n\t }\n\n\t cmp = mappingA.originalLine - mappingB.originalLine;\n\t if (cmp !== 0) {\n\t return cmp;\n\t }\n\n\t cmp = mappingA.originalColumn - mappingB.originalColumn;\n\t if (cmp !== 0) {\n\t return cmp;\n\t }\n\n\t return mappingA.name - mappingB.name;\n\t}\n\texports.compareByGeneratedPositionsDeflated = compareByGeneratedPositionsDeflated;\n\n\tfunction strcmp(aStr1, aStr2) {\n\t if (aStr1 === aStr2) {\n\t return 0;\n\t }\n\n\t if (aStr1 > aStr2) {\n\t return 1;\n\t }\n\n\t return -1;\n\t}\n\n\t/**\n\t * Comparator between two mappings with inflated source and name strings where\n\t * the generated positions are compared.\n\t */\n\tfunction compareByGeneratedPositionsInflated(mappingA, mappingB) {\n\t var cmp = mappingA.generatedLine - mappingB.generatedLine;\n\t if (cmp !== 0) {\n\t return cmp;\n\t }\n\n\t cmp = mappingA.generatedColumn - mappingB.generatedColumn;\n\t if (cmp !== 0) {\n\t return cmp;\n\t }\n\n\t cmp = strcmp(mappingA.source, mappingB.source);\n\t if (cmp !== 0) {\n\t return cmp;\n\t }\n\n\t cmp = mappingA.originalLine - mappingB.originalLine;\n\t if (cmp !== 0) {\n\t return cmp;\n\t }\n\n\t cmp = mappingA.originalColumn - mappingB.originalColumn;\n\t if (cmp !== 0) {\n\t return cmp;\n\t }\n\n\t return strcmp(mappingA.name, mappingB.name);\n\t}\n\texports.compareByGeneratedPositionsInflated = compareByGeneratedPositionsInflated;\n\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports) {\n\n\t/* -*- Mode: js; js-indent-level: 2; -*- */\n\t/*\n\t * Copyright 2011 Mozilla Foundation and contributors\n\t * Licensed under the New BSD license. See LICENSE or:\n\t * http://opensource.org/licenses/BSD-3-Clause\n\t */\n\n\texports.GREATEST_LOWER_BOUND = 1;\n\texports.LEAST_UPPER_BOUND = 2;\n\n\t/**\n\t * Recursive implementation of binary search.\n\t *\n\t * @param aLow Indices here and lower do not contain the needle.\n\t * @param aHigh Indices here and higher do not contain the needle.\n\t * @param aNeedle The element being searched for.\n\t * @param aHaystack The non-empty array being searched.\n\t * @param aCompare Function which takes two elements and returns -1, 0, or 1.\n\t * @param aBias Either 'binarySearch.GREATEST_LOWER_BOUND' or\n\t * 'binarySearch.LEAST_UPPER_BOUND'. Specifies whether to return the\n\t * closest element that is smaller than or greater than the one we are\n\t * searching for, respectively, if the exact element cannot be found.\n\t */\n\tfunction recursiveSearch(aLow, aHigh, aNeedle, aHaystack, aCompare, aBias) {\n\t // This function terminates when one of the following is true:\n\t //\n\t // 1. We find the exact element we are looking for.\n\t //\n\t // 2. We did not find the exact element, but we can return the index of\n\t // the next-closest element.\n\t //\n\t // 3. We did not find the exact element, and there is no next-closest\n\t // element than the one we are searching for, so we return -1.\n\t var mid = Math.floor((aHigh - aLow) / 2) + aLow;\n\t var cmp = aCompare(aNeedle, aHaystack[mid], true);\n\t if (cmp === 0) {\n\t // Found the element we are looking for.\n\t return mid;\n\t }\n\t else if (cmp > 0) {\n\t // Our needle is greater than aHaystack[mid].\n\t if (aHigh - mid > 1) {\n\t // The element is in the upper half.\n\t return recursiveSearch(mid, aHigh, aNeedle, aHaystack, aCompare, aBias);\n\t }\n\n\t // The exact needle element was not found in this haystack. Determine if\n\t // we are in termination case (3) or (2) and return the appropriate thing.\n\t if (aBias == exports.LEAST_UPPER_BOUND) {\n\t return aHigh < aHaystack.length ? aHigh : -1;\n\t } else {\n\t return mid;\n\t }\n\t }\n\t else {\n\t // Our needle is less than aHaystack[mid].\n\t if (mid - aLow > 1) {\n\t // The element is in the lower half.\n\t return recursiveSearch(aLow, mid, aNeedle, aHaystack, aCompare, aBias);\n\t }\n\n\t // we are in termination case (3) or (2) and return the appropriate thing.\n\t if (aBias == exports.LEAST_UPPER_BOUND) {\n\t return mid;\n\t } else {\n\t return aLow < 0 ? -1 : aLow;\n\t }\n\t }\n\t}\n\n\t/**\n\t * This is an implementation of binary search which will always try and return\n\t * the index of the closest element if there is no exact hit. This is because\n\t * mappings between original and generated line/col pairs are single points,\n\t * and there is an implicit region between each of them, so a miss just means\n\t * that you aren't on the very start of a region.\n\t *\n\t * @param aNeedle The element you are looking for.\n\t * @param aHaystack The array that is being searched.\n\t * @param aCompare A function which takes the needle and an element in the\n\t * array and returns -1, 0, or 1 depending on whether the needle is less\n\t * than, equal to, or greater than the element, respectively.\n\t * @param aBias Either 'binarySearch.GREATEST_LOWER_BOUND' or\n\t * 'binarySearch.LEAST_UPPER_BOUND'. Specifies whether to return the\n\t * closest element that is smaller than or greater than the one we are\n\t * searching for, respectively, if the exact element cannot be found.\n\t * Defaults to 'binarySearch.GREATEST_LOWER_BOUND'.\n\t */\n\texports.search = function search(aNeedle, aHaystack, aCompare, aBias) {\n\t if (aHaystack.length === 0) {\n\t return -1;\n\t }\n\n\t var index = recursiveSearch(-1, aHaystack.length, aNeedle, aHaystack,\n\t aCompare, aBias || exports.GREATEST_LOWER_BOUND);\n\t if (index < 0) {\n\t return -1;\n\t }\n\n\t // We have found either the exact element, or the next-closest element than\n\t // the one we are searching for. However, there may be more than one such\n\t // element. Make sure we always return the smallest of these.\n\t while (index - 1 >= 0) {\n\t if (aCompare(aHaystack[index], aHaystack[index - 1], true) !== 0) {\n\t break;\n\t }\n\t --index;\n\t }\n\n\t return index;\n\t};\n\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t/* -*- Mode: js; js-indent-level: 2; -*- */\n\t/*\n\t * Copyright 2011 Mozilla Foundation and contributors\n\t * Licensed under the New BSD license. See LICENSE or:\n\t * http://opensource.org/licenses/BSD-3-Clause\n\t */\n\n\tvar util = __webpack_require__(2);\n\tvar has = Object.prototype.hasOwnProperty;\n\n\t/**\n\t * A data structure which is a combination of an array and a set. Adding a new\n\t * member is O(1), testing for membership is O(1), and finding the index of an\n\t * element is O(1). Removing elements from the set is not supported. Only\n\t * strings are supported for membership.\n\t */\n\tfunction ArraySet() {\n\t this._array = [];\n\t this._set = Object.create(null);\n\t}\n\n\t/**\n\t * Static method for creating ArraySet instances from an existing array.\n\t */\n\tArraySet.fromArray = function ArraySet_fromArray(aArray, aAllowDuplicates) {\n\t var set = new ArraySet();\n\t for (var i = 0, len = aArray.length; i < len; i++) {\n\t set.add(aArray[i], aAllowDuplicates);\n\t }\n\t return set;\n\t};\n\n\t/**\n\t * Return how many unique items are in this ArraySet. If duplicates have been\n\t * added, than those do not count towards the size.\n\t *\n\t * @returns Number\n\t */\n\tArraySet.prototype.size = function ArraySet_size() {\n\t return Object.getOwnPropertyNames(this._set).length;\n\t};\n\n\t/**\n\t * Add the given string to this set.\n\t *\n\t * @param String aStr\n\t */\n\tArraySet.prototype.add = function ArraySet_add(aStr, aAllowDuplicates) {\n\t var sStr = util.toSetString(aStr);\n\t var isDuplicate = has.call(this._set, sStr);\n\t var idx = this._array.length;\n\t if (!isDuplicate || aAllowDuplicates) {\n\t this._array.push(aStr);\n\t }\n\t if (!isDuplicate) {\n\t this._set[sStr] = idx;\n\t }\n\t};\n\n\t/**\n\t * Is the given string a member of this set?\n\t *\n\t * @param String aStr\n\t */\n\tArraySet.prototype.has = function ArraySet_has(aStr) {\n\t var sStr = util.toSetString(aStr);\n\t return has.call(this._set, sStr);\n\t};\n\n\t/**\n\t * What is the index of the given string in the array?\n\t *\n\t * @param String aStr\n\t */\n\tArraySet.prototype.indexOf = function ArraySet_indexOf(aStr) {\n\t var sStr = util.toSetString(aStr);\n\t if (has.call(this._set, sStr)) {\n\t return this._set[sStr];\n\t }\n\t throw new Error('\"' + aStr + '\" is not in the set.');\n\t};\n\n\t/**\n\t * What is the element at the given index?\n\t *\n\t * @param Number aIdx\n\t */\n\tArraySet.prototype.at = function ArraySet_at(aIdx) {\n\t if (aIdx >= 0 && aIdx < this._array.length) {\n\t return this._array[aIdx];\n\t }\n\t throw new Error('No element indexed by ' + aIdx);\n\t};\n\n\t/**\n\t * Returns the array representation of this set (which has the proper indices\n\t * indicated by indexOf). Note that this is a copy of the internal array used\n\t * for storing the members so that no one can mess with internal state.\n\t */\n\tArraySet.prototype.toArray = function ArraySet_toArray() {\n\t return this._array.slice();\n\t};\n\n\texports.ArraySet = ArraySet;\n\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t/* -*- Mode: js; js-indent-level: 2; -*- */\n\t/*\n\t * Copyright 2011 Mozilla Foundation and contributors\n\t * Licensed under the New BSD license. See LICENSE or:\n\t * http://opensource.org/licenses/BSD-3-Clause\n\t *\n\t * Based on the Base 64 VLQ implementation in Closure Compiler:\n\t * https://code.google.com/p/closure-compiler/source/browse/trunk/src/com/google/debugging/sourcemap/Base64VLQ.java\n\t *\n\t * Copyright 2011 The Closure Compiler Authors. All rights reserved.\n\t * Redistribution and use in source and binary forms, with or without\n\t * modification, are permitted provided that the following conditions are\n\t * met:\n\t *\n\t * * Redistributions of source code must retain the above copyright\n\t * notice, this list of conditions and the following disclaimer.\n\t * * Redistributions in binary form must reproduce the above\n\t * copyright notice, this list of conditions and the following\n\t * disclaimer in the documentation and/or other materials provided\n\t * with the distribution.\n\t * * Neither the name of Google Inc. nor the names of its\n\t * contributors may be used to endorse or promote products derived\n\t * from this software without specific prior written permission.\n\t *\n\t * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n\t * \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n\t * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n\t * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n\t * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n\t * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n\t * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n\t * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n\t * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n\t * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n\t * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\t */\n\n\tvar base64 = __webpack_require__(6);\n\n\t// A single base 64 digit can contain 6 bits of data. For the base 64 variable\n\t// length quantities we use in the source map spec, the first bit is the sign,\n\t// the next four bits are the actual value, and the 6th bit is the\n\t// continuation bit. The continuation bit tells us whether there are more\n\t// digits in this value following this digit.\n\t//\n\t// Continuation\n\t// | Sign\n\t// | |\n\t// V V\n\t// 101011\n\n\tvar VLQ_BASE_SHIFT = 5;\n\n\t// binary: 100000\n\tvar VLQ_BASE = 1 << VLQ_BASE_SHIFT;\n\n\t// binary: 011111\n\tvar VLQ_BASE_MASK = VLQ_BASE - 1;\n\n\t// binary: 100000\n\tvar VLQ_CONTINUATION_BIT = VLQ_BASE;\n\n\t/**\n\t * Converts from a two-complement value to a value where the sign bit is\n\t * placed in the least significant bit. For example, as decimals:\n\t * 1 becomes 2 (10 binary), -1 becomes 3 (11 binary)\n\t * 2 becomes 4 (100 binary), -2 becomes 5 (101 binary)\n\t */\n\tfunction toVLQSigned(aValue) {\n\t return aValue < 0\n\t ? ((-aValue) << 1) + 1\n\t : (aValue << 1) + 0;\n\t}\n\n\t/**\n\t * Converts to a two-complement value from a value where the sign bit is\n\t * placed in the least significant bit. For example, as decimals:\n\t * 2 (10 binary) becomes 1, 3 (11 binary) becomes -1\n\t * 4 (100 binary) becomes 2, 5 (101 binary) becomes -2\n\t */\n\tfunction fromVLQSigned(aValue) {\n\t var isNegative = (aValue & 1) === 1;\n\t var shifted = aValue >> 1;\n\t return isNegative\n\t ? -shifted\n\t : shifted;\n\t}\n\n\t/**\n\t * Returns the base 64 VLQ encoded value.\n\t */\n\texports.encode = function base64VLQ_encode(aValue) {\n\t var encoded = \"\";\n\t var digit;\n\n\t var vlq = toVLQSigned(aValue);\n\n\t do {\n\t digit = vlq & VLQ_BASE_MASK;\n\t vlq >>>= VLQ_BASE_SHIFT;\n\t if (vlq > 0) {\n\t // There are still more digits in this value, so we must make sure the\n\t // continuation bit is marked.\n\t digit |= VLQ_CONTINUATION_BIT;\n\t }\n\t encoded += base64.encode(digit);\n\t } while (vlq > 0);\n\n\t return encoded;\n\t};\n\n\t/**\n\t * Decodes the next base 64 VLQ value from the given string and returns the\n\t * value and the rest of the string via the out parameter.\n\t */\n\texports.decode = function base64VLQ_decode(aStr, aIndex, aOutParam) {\n\t var strLen = aStr.length;\n\t var result = 0;\n\t var shift = 0;\n\t var continuation, digit;\n\n\t do {\n\t if (aIndex >= strLen) {\n\t throw new Error(\"Expected more digits in base 64 VLQ value.\");\n\t }\n\n\t digit = base64.decode(aStr.charCodeAt(aIndex++));\n\t if (digit === -1) {\n\t throw new Error(\"Invalid base64 digit: \" + aStr.charAt(aIndex - 1));\n\t }\n\n\t continuation = !!(digit & VLQ_CONTINUATION_BIT);\n\t digit &= VLQ_BASE_MASK;\n\t result = result + (digit << shift);\n\t shift += VLQ_BASE_SHIFT;\n\t } while (continuation);\n\n\t aOutParam.value = fromVLQSigned(result);\n\t aOutParam.rest = aIndex;\n\t};\n\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports) {\n\n\t/* -*- Mode: js; js-indent-level: 2; -*- */\n\t/*\n\t * Copyright 2011 Mozilla Foundation and contributors\n\t * Licensed under the New BSD license. See LICENSE or:\n\t * http://opensource.org/licenses/BSD-3-Clause\n\t */\n\n\tvar intToCharMap = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'.split('');\n\n\t/**\n\t * Encode an integer in the range of 0 to 63 to a single base 64 digit.\n\t */\n\texports.encode = function (number) {\n\t if (0 <= number && number < intToCharMap.length) {\n\t return intToCharMap[number];\n\t }\n\t throw new TypeError(\"Must be between 0 and 63: \" + number);\n\t};\n\n\t/**\n\t * Decode a single base 64 character code digit to an integer. Returns -1 on\n\t * failure.\n\t */\n\texports.decode = function (charCode) {\n\t var bigA = 65; // 'A'\n\t var bigZ = 90; // 'Z'\n\n\t var littleA = 97; // 'a'\n\t var littleZ = 122; // 'z'\n\n\t var zero = 48; // '0'\n\t var nine = 57; // '9'\n\n\t var plus = 43; // '+'\n\t var slash = 47; // '/'\n\n\t var littleOffset = 26;\n\t var numberOffset = 52;\n\n\t // 0 - 25: ABCDEFGHIJKLMNOPQRSTUVWXYZ\n\t if (bigA <= charCode && charCode <= bigZ) {\n\t return (charCode - bigA);\n\t }\n\n\t // 26 - 51: abcdefghijklmnopqrstuvwxyz\n\t if (littleA <= charCode && charCode <= littleZ) {\n\t return (charCode - littleA + littleOffset);\n\t }\n\n\t // 52 - 61: 0123456789\n\t if (zero <= charCode && charCode <= nine) {\n\t return (charCode - zero + numberOffset);\n\t }\n\n\t // 62: +\n\t if (charCode == plus) {\n\t return 62;\n\t }\n\n\t // 63: /\n\t if (charCode == slash) {\n\t return 63;\n\t }\n\n\t // Invalid base64 digit.\n\t return -1;\n\t};\n\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports) {\n\n\t/* -*- Mode: js; js-indent-level: 2; -*- */\n\t/*\n\t * Copyright 2011 Mozilla Foundation and contributors\n\t * Licensed under the New BSD license. See LICENSE or:\n\t * http://opensource.org/licenses/BSD-3-Clause\n\t */\n\n\t// It turns out that some (most?) JavaScript engines don't self-host\n\t// `Array.prototype.sort`. This makes sense because C++ will likely remain\n\t// faster than JS when doing raw CPU-intensive sorting. However, when using a\n\t// custom comparator function, calling back and forth between the VM's C++ and\n\t// JIT'd JS is rather slow *and* loses JIT type information, resulting in\n\t// worse generated code for the comparator function than would be optimal. In\n\t// fact, when sorting with a comparator, these costs outweigh the benefits of\n\t// sorting in C++. By using our own JS-implemented Quick Sort (below), we get\n\t// a ~3500ms mean speed-up in `bench/bench.html`.\n\n\t/**\n\t * Swap the elements indexed by `x` and `y` in the array `ary`.\n\t *\n\t * @param {Array} ary\n\t * The array.\n\t * @param {Number} x\n\t * The index of the first item.\n\t * @param {Number} y\n\t * The index of the second item.\n\t */\n\tfunction swap(ary, x, y) {\n\t var temp = ary[x];\n\t ary[x] = ary[y];\n\t ary[y] = temp;\n\t}\n\n\t/**\n\t * Returns a random integer within the range `low .. high` inclusive.\n\t *\n\t * @param {Number} low\n\t * The lower bound on the range.\n\t * @param {Number} high\n\t * The upper bound on the range.\n\t */\n\tfunction randomIntInRange(low, high) {\n\t return Math.round(low + (Math.random() * (high - low)));\n\t}\n\n\t/**\n\t * The Quick Sort algorithm.\n\t *\n\t * @param {Array} ary\n\t * An array to sort.\n\t * @param {function} comparator\n\t * Function to use to compare two items.\n\t * @param {Number} p\n\t * Start index of the array\n\t * @param {Number} r\n\t * End index of the array\n\t */\n\tfunction doQuickSort(ary, comparator, p, r) {\n\t // If our lower bound is less than our upper bound, we (1) partition the\n\t // array into two pieces and (2) recurse on each half. If it is not, this is\n\t // the empty array and our base case.\n\n\t if (p < r) {\n\t // (1) Partitioning.\n\t //\n\t // The partitioning chooses a pivot between `p` and `r` and moves all\n\t // elements that are less than or equal to the pivot to the before it, and\n\t // all the elements that are greater than it after it. The effect is that\n\t // once partition is done, the pivot is in the exact place it will be when\n\t // the array is put in sorted order, and it will not need to be moved\n\t // again. This runs in O(n) time.\n\n\t // Always choose a random pivot so that an input array which is reverse\n\t // sorted does not cause O(n^2) running time.\n\t var pivotIndex = randomIntInRange(p, r);\n\t var i = p - 1;\n\n\t swap(ary, pivotIndex, r);\n\t var pivot = ary[r];\n\n\t // Immediately after `j` is incremented in this loop, the following hold\n\t // true:\n\t //\n\t // * Every element in `ary[p .. i]` is less than or equal to the pivot.\n\t //\n\t // * Every element in `ary[i+1 .. j-1]` is greater than the pivot.\n\t for (var j = p; j < r; j++) {\n\t if (comparator(ary[j], pivot) <= 0) {\n\t i += 1;\n\t swap(ary, i, j);\n\t }\n\t }\n\n\t swap(ary, i + 1, j);\n\t var q = i + 1;\n\n\t // (2) Recurse on each half.\n\n\t doQuickSort(ary, comparator, p, q - 1);\n\t doQuickSort(ary, comparator, q + 1, r);\n\t }\n\t}\n\n\t/**\n\t * Sort the given array in-place with the given comparator function.\n\t *\n\t * @param {Array} ary\n\t * An array to sort.\n\t * @param {function} comparator\n\t * Function to use to compare two items.\n\t */\n\texports.quickSort = function (ary, comparator) {\n\t doQuickSort(ary, comparator, 0, ary.length - 1);\n\t};\n\n\n/***/ })\n/******/ ])\n});\n;"],"names":["this"],"mappings":"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"} \ No newline at end of file diff --git a/changelog/index.html b/changelog/index.html index bfe65f6c..f9fe7684 100644 --- a/changelog/index.html +++ b/changelog/index.html @@ -7,7 +7,12 @@ window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); - gtag('config', 'G-S982VZS08T'); + gtag('config', 'G-S982VZS08T', { + theme: localStorage.getItem('theme') || 'default', + version: localStorage.getItem('schema_version') || '1.18.2', + locale: localStorage.getItem('language') || 'en', + prefers_color_scheme: matchMedia('(prefers-color-scheme: light)').matches ? 'light' : matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'none', + }); - Technical Changelog Minecraft 1.18, 1.18.2, 1.19 + Technical Changelog - Minecraft 1.18, 1.18.2, 1.19 - + diff --git a/chat-type/index.html b/chat-type/index.html index 36111f0d..f1514ef2 100644 --- a/chat-type/index.html +++ b/chat-type/index.html @@ -7,7 +7,12 @@ window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); - gtag('config', 'G-S982VZS08T'); + gtag('config', 'G-S982VZS08T', { + theme: localStorage.getItem('theme') || 'default', + version: localStorage.getItem('schema_version') || '1.18.2', + locale: localStorage.getItem('language') || 'en', + prefers_color_scheme: matchMedia('(prefers-color-scheme: light)').matches ? 'light' : matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'none', + }); - Chat Type Generator Minecraft 1.19 + Chat Type Generator - Minecraft 1.19 - + diff --git a/dimension-type/index.html b/dimension-type/index.html index 49625c6a..64129c9d 100644 --- a/dimension-type/index.html +++ b/dimension-type/index.html @@ -7,7 +7,12 @@ window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); - gtag('config', 'G-S982VZS08T'); + gtag('config', 'G-S982VZS08T', { + theme: localStorage.getItem('theme') || 'default', + version: localStorage.getItem('schema_version') || '1.18.2', + locale: localStorage.getItem('language') || 'en', + prefers_color_scheme: matchMedia('(prefers-color-scheme: light)').matches ? 'light' : matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'none', + }); - Dimension Type Generator Minecraft 1.18, 1.18.2, 1.19 + Dimension Type Generator - Minecraft 1.18, 1.18.2, 1.19 - + diff --git a/dimension/index.html b/dimension/index.html index 1b2b4711..baf1384d 100644 --- a/dimension/index.html +++ b/dimension/index.html @@ -7,7 +7,12 @@ window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); - gtag('config', 'G-S982VZS08T'); + gtag('config', 'G-S982VZS08T', { + theme: localStorage.getItem('theme') || 'default', + version: localStorage.getItem('schema_version') || '1.18.2', + locale: localStorage.getItem('language') || 'en', + prefers_color_scheme: matchMedia('(prefers-color-scheme: light)').matches ? 'light' : matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'none', + }); - Dimension Generator Minecraft 1.18, 1.18.2, 1.19 + Dimension Generator - Minecraft 1.18, 1.18.2, 1.19 - + diff --git a/guides/adding-custom-structures/index.html b/guides/adding-custom-structures/index.html index 1e0af810..0a337617 100644 --- a/guides/adding-custom-structures/index.html +++ b/guides/adding-custom-structures/index.html @@ -7,7 +7,12 @@ window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); - gtag('config', 'G-S982VZS08T'); + gtag('config', 'G-S982VZS08T', { + theme: localStorage.getItem('theme') || 'default', + version: localStorage.getItem('schema_version') || '1.18.2', + locale: localStorage.getItem('language') || 'en', + prefers_color_scheme: matchMedia('(prefers-color-scheme: light)').matches ? 'light' : matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'none', + }); - Adding custom structures Minecraft 1.18.2 1.19 + Adding custom structures - Minecraft 1.18.2 1.19 - + diff --git a/guides/index.html b/guides/index.html index 040b3fec..0d81911a 100644 --- a/guides/index.html +++ b/guides/index.html @@ -7,7 +7,12 @@ window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); - gtag('config', 'G-S982VZS08T'); + gtag('config', 'G-S982VZS08T', { + theme: localStorage.getItem('theme') || 'default', + version: localStorage.getItem('schema_version') || '1.18.2', + locale: localStorage.getItem('language') || 'en', + prefers_color_scheme: matchMedia('(prefers-color-scheme: light)').matches ? 'light' : matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'none', + }); - Data Pack Guides Minecraft 1.18, 1.18.2, 1.19 + Data Pack Guides - Minecraft 1.18, 1.18.2, 1.19 - + diff --git a/index.html b/index.html index 4a690aa5..412e5e38 100644 --- a/index.html +++ b/index.html @@ -7,7 +7,12 @@ window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); - gtag('config', 'G-S982VZS08T'); + gtag('config', 'G-S982VZS08T', { + theme: localStorage.getItem('theme') || 'default', + version: localStorage.getItem('schema_version') || '1.18.2', + locale: localStorage.getItem('language') || 'en', + prefers_color_scheme: matchMedia('(prefers-color-scheme: light)').matches ? 'light' : matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'none', + }); - + diff --git a/item-modifier/index.html b/item-modifier/index.html index 99aa217c..ee0c64f2 100644 --- a/item-modifier/index.html +++ b/item-modifier/index.html @@ -7,7 +7,12 @@ window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); - gtag('config', 'G-S982VZS08T'); + gtag('config', 'G-S982VZS08T', { + theme: localStorage.getItem('theme') || 'default', + version: localStorage.getItem('schema_version') || '1.18.2', + locale: localStorage.getItem('language') || 'en', + prefers_color_scheme: matchMedia('(prefers-color-scheme: light)').matches ? 'light' : matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'none', + }); - Item Modifier Generator Minecraft 1.18, 1.18.2, 1.19 + Item Modifier Generator - Minecraft 1.18, 1.18.2, 1.19 - + diff --git a/loot-table/index.html b/loot-table/index.html index b8a570b0..38a02285 100644 --- a/loot-table/index.html +++ b/loot-table/index.html @@ -7,7 +7,12 @@ window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); - gtag('config', 'G-S982VZS08T'); + gtag('config', 'G-S982VZS08T', { + theme: localStorage.getItem('theme') || 'default', + version: localStorage.getItem('schema_version') || '1.18.2', + locale: localStorage.getItem('language') || 'en', + prefers_color_scheme: matchMedia('(prefers-color-scheme: light)').matches ? 'light' : matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'none', + }); - Loot Table Generator Minecraft 1.18, 1.18.2, 1.19 + Loot Table Generator - Minecraft 1.18, 1.18.2, 1.19 - + diff --git a/predicate/index.html b/predicate/index.html index f95fd08d..4cb7fd66 100644 --- a/predicate/index.html +++ b/predicate/index.html @@ -7,7 +7,12 @@ window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); - gtag('config', 'G-S982VZS08T'); + gtag('config', 'G-S982VZS08T', { + theme: localStorage.getItem('theme') || 'default', + version: localStorage.getItem('schema_version') || '1.18.2', + locale: localStorage.getItem('language') || 'en', + prefers_color_scheme: matchMedia('(prefers-color-scheme: light)').matches ? 'light' : matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'none', + }); - Predicate Generator Minecraft 1.18, 1.18.2, 1.19 + Predicate Generator - Minecraft 1.18, 1.18.2, 1.19 - + diff --git a/recipe/index.html b/recipe/index.html index 8dc55d3d..9069ca9a 100644 --- a/recipe/index.html +++ b/recipe/index.html @@ -7,7 +7,12 @@ window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); - gtag('config', 'G-S982VZS08T'); + gtag('config', 'G-S982VZS08T', { + theme: localStorage.getItem('theme') || 'default', + version: localStorage.getItem('schema_version') || '1.18.2', + locale: localStorage.getItem('language') || 'en', + prefers_color_scheme: matchMedia('(prefers-color-scheme: light)').matches ? 'light' : matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'none', + }); - Recipe Generator Minecraft 1.18, 1.18.2, 1.19 + Recipe Generator - Minecraft 1.18, 1.18.2, 1.19 - + diff --git a/sounds/index.html b/sounds/index.html index dcf2b0ad..df49705f 100644 --- a/sounds/index.html +++ b/sounds/index.html @@ -7,7 +7,12 @@ window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); - gtag('config', 'G-S982VZS08T'); + gtag('config', 'G-S982VZS08T', { + theme: localStorage.getItem('theme') || 'default', + version: localStorage.getItem('schema_version') || '1.18.2', + locale: localStorage.getItem('language') || 'en', + prefers_color_scheme: matchMedia('(prefers-color-scheme: light)').matches ? 'light' : matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'none', + }); - Sound Explorer Minecraft 1.18, 1.18.2, 1.19 + Sound Explorer - Minecraft 1.18, 1.18.2, 1.19 - + diff --git a/text-component/index.html b/text-component/index.html index dc3a125f..8a2c80b9 100644 --- a/text-component/index.html +++ b/text-component/index.html @@ -7,7 +7,12 @@ window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); - gtag('config', 'G-S982VZS08T'); + gtag('config', 'G-S982VZS08T', { + theme: localStorage.getItem('theme') || 'default', + version: localStorage.getItem('schema_version') || '1.18.2', + locale: localStorage.getItem('language') || 'en', + prefers_color_scheme: matchMedia('(prefers-color-scheme: light)').matches ? 'light' : matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'none', + }); - Text Component Generator Minecraft 1.18, 1.18.2, 1.19 + Text Component Generator - Minecraft 1.18, 1.18.2, 1.19 - + diff --git a/versions/index.html b/versions/index.html index 7041317c..2494b830 100644 --- a/versions/index.html +++ b/versions/index.html @@ -7,7 +7,12 @@ window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); - gtag('config', 'G-S982VZS08T'); + gtag('config', 'G-S982VZS08T', { + theme: localStorage.getItem('theme') || 'default', + version: localStorage.getItem('schema_version') || '1.18.2', + locale: localStorage.getItem('language') || 'en', + prefers_color_scheme: matchMedia('(prefers-color-scheme: light)').matches ? 'light' : matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'none', + }); - Versions Explorer Minecraft 1.18, 1.18.2, 1.19 + Versions Explorer - Minecraft 1.18, 1.18.2, 1.19 - + diff --git a/world/index.html b/world/index.html index 8e18b533..3f72c7b2 100644 --- a/world/index.html +++ b/world/index.html @@ -7,7 +7,12 @@ window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); - gtag('config', 'G-S982VZS08T'); + gtag('config', 'G-S982VZS08T', { + theme: localStorage.getItem('theme') || 'default', + version: localStorage.getItem('schema_version') || '1.18.2', + locale: localStorage.getItem('language') || 'en', + prefers_color_scheme: matchMedia('(prefers-color-scheme: light)').matches ? 'light' : matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'none', + }); - World Settings Generator Minecraft 1.18, 1.18.2, 1.19 + World Settings Generator - Minecraft 1.18, 1.18.2, 1.19 - + diff --git a/worldgen/biome/index.html b/worldgen/biome/index.html index 588493a4..ce0e0fc3 100644 --- a/worldgen/biome/index.html +++ b/worldgen/biome/index.html @@ -7,7 +7,12 @@ window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); - gtag('config', 'G-S982VZS08T'); + gtag('config', 'G-S982VZS08T', { + theme: localStorage.getItem('theme') || 'default', + version: localStorage.getItem('schema_version') || '1.18.2', + locale: localStorage.getItem('language') || 'en', + prefers_color_scheme: matchMedia('(prefers-color-scheme: light)').matches ? 'light' : matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'none', + }); - Biome Generator Minecraft 1.18, 1.18.2, 1.19 + Biome Generator - Minecraft 1.18, 1.18.2, 1.19 - + diff --git a/worldgen/carver/index.html b/worldgen/carver/index.html index 20623dcf..d4426066 100644 --- a/worldgen/carver/index.html +++ b/worldgen/carver/index.html @@ -7,7 +7,12 @@ window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); - gtag('config', 'G-S982VZS08T'); + gtag('config', 'G-S982VZS08T', { + theme: localStorage.getItem('theme') || 'default', + version: localStorage.getItem('schema_version') || '1.18.2', + locale: localStorage.getItem('language') || 'en', + prefers_color_scheme: matchMedia('(prefers-color-scheme: light)').matches ? 'light' : matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'none', + }); - Carver Generator Minecraft 1.18, 1.18.2, 1.19 + Carver Generator - Minecraft 1.18, 1.18.2, 1.19 - + diff --git a/worldgen/density-function/index.html b/worldgen/density-function/index.html index 6531f603..18f92d49 100644 --- a/worldgen/density-function/index.html +++ b/worldgen/density-function/index.html @@ -7,7 +7,12 @@ window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); - gtag('config', 'G-S982VZS08T'); + gtag('config', 'G-S982VZS08T', { + theme: localStorage.getItem('theme') || 'default', + version: localStorage.getItem('schema_version') || '1.18.2', + locale: localStorage.getItem('language') || 'en', + prefers_color_scheme: matchMedia('(prefers-color-scheme: light)').matches ? 'light' : matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'none', + }); - Density Function Generator Minecraft 1.18.2, 1.19 + Density Function Generator - Minecraft 1.18.2, 1.19 - + diff --git a/worldgen/feature/index.html b/worldgen/feature/index.html index da61c6f2..bd51af93 100644 --- a/worldgen/feature/index.html +++ b/worldgen/feature/index.html @@ -7,7 +7,12 @@ window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); - gtag('config', 'G-S982VZS08T'); + gtag('config', 'G-S982VZS08T', { + theme: localStorage.getItem('theme') || 'default', + version: localStorage.getItem('schema_version') || '1.18.2', + locale: localStorage.getItem('language') || 'en', + prefers_color_scheme: matchMedia('(prefers-color-scheme: light)').matches ? 'light' : matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'none', + }); - Feature Generator Minecraft 1.18, 1.18.2, 1.19 + Feature Generator - Minecraft 1.18, 1.18.2, 1.19 - + diff --git a/worldgen/flat-world-preset/index.html b/worldgen/flat-world-preset/index.html index 0eb398b0..3c39b644 100644 --- a/worldgen/flat-world-preset/index.html +++ b/worldgen/flat-world-preset/index.html @@ -7,7 +7,12 @@ window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); - gtag('config', 'G-S982VZS08T'); + gtag('config', 'G-S982VZS08T', { + theme: localStorage.getItem('theme') || 'default', + version: localStorage.getItem('schema_version') || '1.18.2', + locale: localStorage.getItem('language') || 'en', + prefers_color_scheme: matchMedia('(prefers-color-scheme: light)').matches ? 'light' : matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'none', + }); - Flat World Preset Generator Minecraft 1.19 + Flat World Preset Generator - Minecraft 1.19 - + diff --git a/worldgen/index.html b/worldgen/index.html index a0fd3d26..f311d533 100644 --- a/worldgen/index.html +++ b/worldgen/index.html @@ -7,7 +7,12 @@ window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); - gtag('config', 'G-S982VZS08T'); + gtag('config', 'G-S982VZS08T', { + theme: localStorage.getItem('theme') || 'default', + version: localStorage.getItem('schema_version') || '1.18.2', + locale: localStorage.getItem('language') || 'en', + prefers_color_scheme: matchMedia('(prefers-color-scheme: light)').matches ? 'light' : matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'none', + }); - Worldgen Generators Minecraft 1.18, 1.18.2, 1.19 + Worldgen Generators - Minecraft 1.18, 1.18.2, 1.19 - + diff --git a/worldgen/noise-settings/index.html b/worldgen/noise-settings/index.html index 470242c0..bbe41820 100644 --- a/worldgen/noise-settings/index.html +++ b/worldgen/noise-settings/index.html @@ -7,7 +7,12 @@ window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); - gtag('config', 'G-S982VZS08T'); + gtag('config', 'G-S982VZS08T', { + theme: localStorage.getItem('theme') || 'default', + version: localStorage.getItem('schema_version') || '1.18.2', + locale: localStorage.getItem('language') || 'en', + prefers_color_scheme: matchMedia('(prefers-color-scheme: light)').matches ? 'light' : matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'none', + }); - Noise Settings Generator Minecraft 1.18, 1.18.2, 1.19 + Noise Settings Generator - Minecraft 1.18, 1.18.2, 1.19 - + diff --git a/worldgen/noise/index.html b/worldgen/noise/index.html index 858fb436..568b331e 100644 --- a/worldgen/noise/index.html +++ b/worldgen/noise/index.html @@ -7,7 +7,12 @@ window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); - gtag('config', 'G-S982VZS08T'); + gtag('config', 'G-S982VZS08T', { + theme: localStorage.getItem('theme') || 'default', + version: localStorage.getItem('schema_version') || '1.18.2', + locale: localStorage.getItem('language') || 'en', + prefers_color_scheme: matchMedia('(prefers-color-scheme: light)').matches ? 'light' : matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'none', + }); - Noise Generator Minecraft 1.18, 1.18.2, 1.19 + Noise Generator - Minecraft 1.18, 1.18.2, 1.19 - + diff --git a/worldgen/placed-feature/index.html b/worldgen/placed-feature/index.html index 71b8dc68..ffbc869b 100644 --- a/worldgen/placed-feature/index.html +++ b/worldgen/placed-feature/index.html @@ -7,7 +7,12 @@ window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); - gtag('config', 'G-S982VZS08T'); + gtag('config', 'G-S982VZS08T', { + theme: localStorage.getItem('theme') || 'default', + version: localStorage.getItem('schema_version') || '1.18.2', + locale: localStorage.getItem('language') || 'en', + prefers_color_scheme: matchMedia('(prefers-color-scheme: light)').matches ? 'light' : matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'none', + }); - Placed Feature Generator Minecraft 1.18, 1.18.2, 1.19 + Placed Feature Generator - Minecraft 1.18, 1.18.2, 1.19 - + diff --git a/worldgen/processor-list/index.html b/worldgen/processor-list/index.html index 5511a62f..a7fa907c 100644 --- a/worldgen/processor-list/index.html +++ b/worldgen/processor-list/index.html @@ -7,7 +7,12 @@ window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); - gtag('config', 'G-S982VZS08T'); + gtag('config', 'G-S982VZS08T', { + theme: localStorage.getItem('theme') || 'default', + version: localStorage.getItem('schema_version') || '1.18.2', + locale: localStorage.getItem('language') || 'en', + prefers_color_scheme: matchMedia('(prefers-color-scheme: light)').matches ? 'light' : matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'none', + }); - Processor List Generator Minecraft 1.18, 1.18.2, 1.19 + Processor List Generator - Minecraft 1.18, 1.18.2, 1.19 - + diff --git a/worldgen/structure-feature/index.html b/worldgen/structure-feature/index.html index 2f35587a..a5154c0b 100644 --- a/worldgen/structure-feature/index.html +++ b/worldgen/structure-feature/index.html @@ -7,7 +7,12 @@ window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); - gtag('config', 'G-S982VZS08T'); + gtag('config', 'G-S982VZS08T', { + theme: localStorage.getItem('theme') || 'default', + version: localStorage.getItem('schema_version') || '1.18.2', + locale: localStorage.getItem('language') || 'en', + prefers_color_scheme: matchMedia('(prefers-color-scheme: light)').matches ? 'light' : matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'none', + }); - Structure Feature Generator Minecraft 1.18, 1.18.2, 1.19 + Structure Feature Generator - Minecraft 1.18, 1.18.2, 1.19 - + diff --git a/worldgen/structure-set/index.html b/worldgen/structure-set/index.html index 07d52219..7658ab42 100644 --- a/worldgen/structure-set/index.html +++ b/worldgen/structure-set/index.html @@ -7,7 +7,12 @@ window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); - gtag('config', 'G-S982VZS08T'); + gtag('config', 'G-S982VZS08T', { + theme: localStorage.getItem('theme') || 'default', + version: localStorage.getItem('schema_version') || '1.18.2', + locale: localStorage.getItem('language') || 'en', + prefers_color_scheme: matchMedia('(prefers-color-scheme: light)').matches ? 'light' : matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'none', + }); - Structure Set Generator Minecraft 1.18.2, 1.19 + Structure Set Generator - Minecraft 1.18.2, 1.19 - + diff --git a/worldgen/structure/index.html b/worldgen/structure/index.html index ca290066..a90c8c54 100644 --- a/worldgen/structure/index.html +++ b/worldgen/structure/index.html @@ -7,7 +7,12 @@ window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); - gtag('config', 'G-S982VZS08T'); + gtag('config', 'G-S982VZS08T', { + theme: localStorage.getItem('theme') || 'default', + version: localStorage.getItem('schema_version') || '1.18.2', + locale: localStorage.getItem('language') || 'en', + prefers_color_scheme: matchMedia('(prefers-color-scheme: light)').matches ? 'light' : matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'none', + }); - Structure Generator Minecraft 1.19 + Structure Generator - Minecraft 1.19 - + diff --git a/worldgen/surface-builder/index.html b/worldgen/surface-builder/index.html index 0cedc468..f2e08b77 100644 --- a/worldgen/surface-builder/index.html +++ b/worldgen/surface-builder/index.html @@ -7,7 +7,12 @@ window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); - gtag('config', 'G-S982VZS08T'); + gtag('config', 'G-S982VZS08T', { + theme: localStorage.getItem('theme') || 'default', + version: localStorage.getItem('schema_version') || '1.18.2', + locale: localStorage.getItem('language') || 'en', + prefers_color_scheme: matchMedia('(prefers-color-scheme: light)').matches ? 'light' : matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'none', + }); - Surface Builder Generator Minecraft 1.18, 1.18.2, 1.19 + Surface Builder Generator - Minecraft 1.18, 1.18.2, 1.19 - + diff --git a/worldgen/template-pool/index.html b/worldgen/template-pool/index.html index b09a8401..fe4056da 100644 --- a/worldgen/template-pool/index.html +++ b/worldgen/template-pool/index.html @@ -7,7 +7,12 @@ window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); - gtag('config', 'G-S982VZS08T'); + gtag('config', 'G-S982VZS08T', { + theme: localStorage.getItem('theme') || 'default', + version: localStorage.getItem('schema_version') || '1.18.2', + locale: localStorage.getItem('language') || 'en', + prefers_color_scheme: matchMedia('(prefers-color-scheme: light)').matches ? 'light' : matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'none', + }); - Template Pool Generator Minecraft 1.18, 1.18.2, 1.19 + Template Pool Generator - Minecraft 1.18, 1.18.2, 1.19 - + diff --git a/worldgen/world-preset/index.html b/worldgen/world-preset/index.html index dfbe838a..4da9bf6f 100644 --- a/worldgen/world-preset/index.html +++ b/worldgen/world-preset/index.html @@ -7,7 +7,12 @@ window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); - gtag('config', 'G-S982VZS08T'); + gtag('config', 'G-S982VZS08T', { + theme: localStorage.getItem('theme') || 'default', + version: localStorage.getItem('schema_version') || '1.18.2', + locale: localStorage.getItem('language') || 'en', + prefers_color_scheme: matchMedia('(prefers-color-scheme: light)').matches ? 'light' : matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'none', + }); - World Preset Generator Minecraft 1.19 + World Preset Generator - Minecraft 1.19 - +